Page MenuHomeFreeBSD

No OneTemporary

This file is larger than 256 KB, so syntax highlighting was skipped.
This document is not UTF8. It was detected as ISO-8859-1 (Latin 1) and converted to UTF8 for display.
Index: projects/zfsupdate-201307/de_DE.ISO8859-1/htdocs/where.xml
===================================================================
--- projects/zfsupdate-201307/de_DE.ISO8859-1/htdocs/where.xml (revision 42803)
+++ projects/zfsupdate-201307/de_DE.ISO8859-1/htdocs/where.xml (revision 42804)
@@ -1,265 +1,263 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY dedate "$FreeBSDde$">
-<!ENTITY reference "basiert auf: r41269">
+<!ENTITY reference "basiert auf: r42767">
<!ENTITY title "FreeBSD Bezugsquellen">
<!ENTITY url.rel "ftp://ftp.FreeBSD.org/pub/FreeBSD/releases">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.download">
<a name="releases"></a>
<h2><a href="&base;/releases/index.html">Release Information</a></h2>
<p>Detaillierte Beschreibung früherer, aktueller und
künftiger Releases. Schauen Sie zuerst auf dieser
Seite nach, wenn Sie die aktuelle FreeBSD-Version suchen.</p>
<a name="install"></a>
<h2><a href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/install.html">FreeBSD installieren</a></h2>
<p>FreeBSD kann von mehreren Medien installiert werden,
beispielsweise von CD-ROM, DVD, Disketten, einer MS-DOS&reg;-Partition,
Bandlaufwerken, Anonymous-FTP und NFS. Bevor Sie FreeBSD
herunterladen, lesen Sie bitte die <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/install.html">Installationsanleitung</a>.</p>
<a name="distribution"></a>
<h2>FreeBSD kaufen</h2>
<p>FreeBSD-CD-ROMs oder DVDs können bei <a
href="http://www.freebsdmall.com/">FreeBSD Mall</a> oder
einem der anderen <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors.html">CD-ROM
und DVD-Verleger</a> erworben werden.</p>
<a name="download"></a>
<h2>FreeBSD herunterladen</h2>
<p>Wenn Sie FreeBSD über FTP oder HTTP beziehen wollen, suchen Sie in der <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html"><strong>Liste
der FTP-Spiegelserver</strong></a> des Handbuchs einen Spiegelserver in
Ihrer Nähe.</p>
<table class="tblbasic">
<thead>
<tr style="text-align: center;">
<td colspan="2">Version &amp; Plattform</td>
<td>Distribution</td>
<td title="ISO9660 CD image"><a href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/install-diff-media.html#install-cdrom">ISO</a></td>
<td>Release<br/>Notes</td>
<td>Hardware<br/>Notes</td>
<td>Installation<br/>Notes</td>
<td>Errata</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">FreeBSD &rel.current;-RELEASE</td>
<td colspan="2"></td>
- <td rowspan="5"><a href="&enbase;/releases/&rel.current;R/relnotes.html">[Lesen]</a></td>
- <td rowspan="5"><a href="&enbase;/releases/&rel.current;R/hardware.html">[Lesen]</a></td>
- <td rowspan="5"><a href="&enbase;/releases/&rel.current;R/installation.html">[Lesen]</a></td>
- <td rowspan="5"><a href="&enbase;/releases/&rel.current;R/errata.html">[Lesen]</a></td>
+ <td rowspan="7"><a href="&enbase;/releases/&rel.current;R/relnotes.html">[Lesen]</a></td>
+ <td rowspan="7"><a href="&enbase;/releases/&rel.current;R/hardware.html">[Lesen]</a></td>
+ <td rowspan="7"><a href="&enbase;/releases/&rel.current;R/installation.html">[Lesen]</a></td>
+ <td rowspan="7"><a href="&enbase;/releases/&rel.current;R/errata.html">[Lesen]</a></td>
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/amd64/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/amd64/amd64/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/i386/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/i386/i386/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
- <!--
<tr>
<td></td>
<td>ia64</td>
<td><a href="&url.rel;/ia64/ia64/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/ia64/ia64/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc</td>
<td><a href="&url.rel;/powerpc/powerpc/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
- -->
<tr>
<td></td>
<td>powerpc64</td>
<td><a href="&url.rel;/powerpc/powerpc64/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc64/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/sparc64/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/sparc64/sparc64/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
<tr>
<td colspan="2">FreeBSD &rel2.current;-RELEASE</td>
<td colspan="2"></td>
<td rowspan="5"><a href="&enbase;/releases/&rel2.current;R/relnotes.html">[Lesen]</a></td>
<td rowspan="5"><a href="&enbase;/releases/&rel2.current;R/hardware.html">[Lesen]</a></td>
<td rowspan="5"><a href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/install.html">[Lesen]</a></td>
<td rowspan="5"><a href="&enbase;/releases/&rel2.current;R/errata.html">[Lesen]</a></td>
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/&rel2.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/amd64/ISO-IMAGES/&rel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/&rel2.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/i386/ISO-IMAGES/&rel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>pc98</td>
<td><a href="&url.rel;/pc98/&rel2.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/pc98/ISO-IMAGES/&rel2.current;/">[ISO]</a></td>
</tr>
<!--
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/&rel2.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/sparc64/ISO-IMAGES/&rel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td colspan="2">FreeBSD &rel3.current;-RELEASE</td>
<td colspan="2"></td>
<td rowspan="7"><a href="&enbase;/releases/&rel3.current;R/relnotes.html">[Lesen]</a></td>
<td rowspan="7"><a href="&enbase;/releases/&rel3.current;R/hardware.html">[Lesen]</a></td>
<td rowspan="7"><a href="&enbase;/doc/en_US.ISO8859-1/books/handbook/install.html">[Lesen]</a></td>
<td rowspan="7"><a href="&enbase;/releases/&rel3.current;R/errata.html">[Lesen]</a></td>
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/&rel3.current;-RELEASE">[Distribution]</a></td>
<td colspan="2" align="right"><a href="&url.rel;/amd64/ISO-IMAGES/&rel3.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/&rel3.current;-RELEASE">[Distribution]</a></td>
<td colspan="2" align="right"><a href="&url.rel;/i386/ISO-IMAGES/&rel3.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>pc98</td>
<td><a href="&url.rel;/pc98/&rel3.current;-RELEASE">[Distribution]</a></td>
<td colspan="2" align="right"><a href="&url.rel;/pc98/ISO-IMAGES/&rel3.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><<a href="&url.rel;/sparc64/&rel3.current;-RELEASE">[Distribution]</a></td>
<td colspan="2" align="right"><a href="&url.rel;/sparc64/ISO-IMAGES/&rel3.current;/">[ISO]</a></td>
</tr>
-->
</tbody>
</table>
<p><em>Hinweis:</em> Wenn Sie nicht sicher sind, welche
Plattform/Architektur Sie haben: Ist Ihr Rechner bereits
mehrere Jahre alt, so brauchen Sie höchstwahrscheinlich die
<em>i386</em>-Version. Ist hier Rechner hingegen aktueller,
brauchen Sie vermutlich die <em>amd64</em>-Version.</p>
&beta.desc;
<p>Experimentelle <strong>Schnappschüsse</strong> von
FreeBSD-CURRENT (&rel.head;-CURRENT) für Entwickler
und Tester werden auf der Seite <a
href="&base;/snapshots/">&os; Snapshot Releases</a>
zur Verfügung gestellt. Die Seite <a
href="&base;/releases/index.html">Release Information</a>
enthält Informationen über
frühere, aktuelle und künftige Releases.</p>
<a name="past"></a>
<h2>Alte (nicht mehr unterstützte) Versionen</h2>
<p>Alte (nicht mehr unterstützte Versionen können vom <a
href="http://ftp-archive.FreeBSD.org/pub/FreeBSD-Archive/old-releases/">
FTP-Archiv</a> herunterladen werden.</p>
<a name="derived"></a>
<h2>Auf FreeBSD basierende Betriebssysteme</h2>
<p>FreeBSD bildet die Basis für diverse kommerzielle oder
als Open Source verfügbare Betriebssysteme. Die im
Folgenden beschriebenen Systeme werden sehr
häufig eingesetzt und sind für FreeBSD-Anwender
besonders interessant.</p>
<ul>
<li><p><a href="http://www.freenas.org">FreeNAS</a> ist eine
frei verfügbare und auf FreeBSD basierende
Speicherplattform, die die gemeinsame Nutzung von Daten durch
Windows-, Apple- und UNIX-artige Systeme erlaubt.</p></li>
<li><p><a href="http://www.pcbsd.org">PC-BSD</a> ist eine
angepasste FreeBSD-Version, die um ein grafisches
Installationsprogramm sowie um verschiedene mächtige
Konfigurationswerkzeuge erweitert wurde, um die Arbeit
mit dem System zu vereinfachen.</p></li>
<li><p><a href="http://www.pfsense.org">pfSense</a> ist eine
frei verfügbare und angepasste Version von FreeBSD, die
als Firewall und Router eingesetzt wird.</p></li>
</ul>
<a name="apps"></a>
<h2>Anwendungen und Werkzeuge</h2>
<h3>Die Ports-Sammlung</h3>
<p>Die Ports-Sammlung enthält Anwendungen und Werkzeuge,
die nach FreeBSD portiert wurden.</p>
<ul>
<li><a href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/">FreeBSD
Ports-Sammlung</a></li>
<li><a href="&base;/ports/index.html">WWW-Schnittstelle der
Ports-Sammlung</a></li>
<li><a href="http://www.freshports.org/">FreshPorts</a> - eine
verbesserte WWW-Schnittstelle für den Zugriff auf
die Ports-Sammlung.</li>
</ul>
<p>Wie <em>Sie</em> Ihre Lieblings-Software in die Ports-Sammlung
integrieren, wird in <em><a
href="&enbase;/doc/&url.doc.langcode;/books/porters-handbook/index.html">Das
FreeBSD Porter-Handbuch</a></em> und in <em><a
href="&enbase;/doc/&url.doc.langcode;/articles/contributing/index.html">FreeBSD
unterstützen</a></em> beschrieben.</p>
</body>
</html>
Index: projects/zfsupdate-201307/de_DE.ISO8859-1/share/xml/news.xml
===================================================================
--- projects/zfsupdate-201307/de_DE.ISO8859-1/share/xml/news.xml (revision 42803)
+++ projects/zfsupdate-201307/de_DE.ISO8859-1/share/xml/news.xml (revision 42804)
@@ -1,2829 +1,2952 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE news PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for News//EN"
"http://www.FreeBSD.org/XML/www/share/xml/news.dtd">
<!--
$FreeBSD$
$FreeBSDde$
- basiert auf: r42555
+ basiert auf: r42766
-->
<!-- Simple schema for FreeBSD Project news.
Divide time in to <year>, <month>, and <day> elements, each of which
has a <name>.
each <day> element contains one or more <event> elements.
Each <event> contains an optional <title>, and then a <p>. <p> elements
can contain <a> anchors. Within the "href" attribute of the anchor
&base; or &enbase; will be replaced with the base URI necessary to reach the FreeBSD
document root, and should always be used to start URLs at www.FreeBSD.org
or one of the mirrors.
Use the <title> element if the <p> content is lengthy. When generating
synopses of this information (e.g., for syndication using RDF files),
the contents of <title> will be preferred over <p>.
*** Former Summer of Code Students: Please note that you are an
SoC alumnus when you add your new committer announcement.
Also, don't feel shy to add more information about what you
would like to work on. ***
-->
<news>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">
$FreeBSD$
</cvs:keyword>
<year>
<name>2013</name>
<month>
+ <name>9</name>
+
+ <day>
+ <name>30</name>
+
+ <event>
+ <title>&os; 9.2-RELEASE verfügbar</title>
+
+ <p><a href="&enbase;/releases/9.2R/announce.html">&os;&nbsp;
+ 9.2-RELEASE</a> ist verfügbar. Lesen Sie unbedingt
+ die <a
+ href="&enbase;/releases/9.2R/relnotes.html">Release Notes</a>
+ sowie die <a
+ href="&enbase;/releases/9.2R/errata.html">Release Errata</a>,
+ bevor Sie mit der Installation beginnen, um
+ sich über aktuelle Neuigkeiten und/oder eventuelle
+ Probleme im Umgang mit 9.2-RELEASE zu informieren.
+ Weitere Informationen zu verschiedenen FreeBSD-Versionen
+ finden Sie auf der Seite <a
+ href="&base;/releases/index.html">Release Information</a>.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>29</name>
+
+ <event>
+ <title>&os;&nbsp;10.0-ALPHA4 verfügbar</title>
+
+ <p>Die vierte ALPHA-Version aus dem &os;-10.0-Releasezyklus ist
+ <a href="&lists.current;/2013-September/044951.html">verfügbar</a>.
+ ISO-Images für die Architekturen amd64, i386, ia64, powerpc
+ sowie sparc64 sind inzwischen auf den meisten <a
+ href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
+ Spiegelservern</a> vorhanden.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>23</name>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:danilo@FreeBSD.org">Danilo Eg&ecirc;a Gondolfo</a> (ports)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>18</name>
+
+ <event>
+ <title>&os;&nbsp;10.0-ALPHA2 verfügbar</title>
+
+ <p>Die zweite ALPHA-Version aus dem &os;-10.0-Releasezyklus ist
+ <a href="&lists.current;/2013-September/044676.html">verfügbar</a>.
+ ISO-Images für die Architekturen amd64, i386, ia64, powerpc
+ sowie sparc64 sind inzwischen auf den meisten <a
+ href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
+ Spiegelservern</a> vorhanden.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>13</name>
+
+ <event>
+ <title>&os;&nbsp;10.0-ALPHA1 verfügbar</title>
+
+ <p>Die erste ALPHA-Version aus dem &os;-10.0-Releasezyklus ist
+ <a href="&lists.current;/2013-September/044522.html">verfügbar</a>.
+ ISO-Images für die Architekturen amd64, i386, ia64, powerpc
+ sowie sparc64 sind inzwischen auf den meisten <a
+ href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
+ Spiegelservern</a> vorhanden.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>12</name>
+
+ <event>
+ <title>&os;&nbsp;9.2-RC4 verfügbar</title>
+
+ <p>Der vierte Release Candidate aus dem &os;-9.2 Releasezyklus ist
+ <a href="&lists.stable;/2013-September/075163.html">verfügbar</a>.
+ ISO-Images für die Architekturen amd64, i386, ia64, powerpc,
+ powerpc64 sowie sparc64 sind inzwischen auf den meisten <a
+ href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
+ Spiegelservern</a> vorhanden.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>2</name>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:br@FreeBSD.org">Ruslan Bukin</a> (src)</p>
+ </event>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:zbb@FreeBSD.org">Zbigniew Bodek</a> (src)</p>
+ </event>
+ </day>
+ </month>
+
+ <month>
<name>8</name>
+
+ <day>
+ <name>26</name>
+
+ <event>
+ <title>&os;&nbsp;9.2-RC3 verfügbar</title>
+
+ <p>Der dritte Release Candidate aus dem &os;-9.2 Releasezyklus ist
+ <a href="&lists.stable;/2013-August/074920.html">verfügbar</a>.
+ ISO-Images für die Architekturen amd64, i386, ia64, powerpc,
+ powerpc64 sowie sparc64 sind inzwischen auf den meisten <a
+ href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
+ Spiegelservern</a> vorhanden.</p>
+ </event>
+ </day>
<day>
<name>16</name>
<event>
<title>&os;&nbsp;9.2-RC2 verfügbar</title>
<p>Der zweite Release Candidate aus dem &os;-9.2 Releasezyklus ist
<a href="&lists.stable;/2013-August/074756.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386, ia64, powerpc,
powerpc64 sowie sparc64 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden.</p>
</event>
</day>
<day>
<name>6</name>
<event>
<title>Halbjahres-Newsletter der &os;&nbsp;Foundation
verfügbar</title>
<p>Wir freuen uns, bekanntgeben zu dürfen, dass wir unseren
Newsletter für das erste Halbjahr 2013 veröffentlicht
haben. Lesen Sie den Newsletter, um sich darüber zu
informieren, wie die Foundation dabei hilft, &os; zum
besten verfügbaren Betriebssystem zu machen.</p>
<p>Informieren Sie sich über von uns gesponserte
Entwicklungsprojekte und Konferenzen sowie über
Entwickler- und Verkäufertreffen zur direkten
Kommunikation, über den Stand unserer Spendenkampagne
und vieles andere mehr.</p>
<p>Der Newsletter für das erste Halbjahr 2013 ist ab sofort
<a
href="http://www.freebsdfoundation.org/press/2013Jul-newsletter">hier</a>
verfügbar.</p>
</event>
</day>
<day>
<name>5</name>
<event>
<title>&os;&nbsp;9.2-RC1 verfügbar</title>
<p>Der erste Release Candidate aus dem &os;-9.2-Releasezyklus ist
<a href="&lists.stable;/2013-August/074589.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386, ia64, powerpc,
powerpc64 sowie sparc64 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden.</p>
</event>
</day>
</month>
<month>
<name>7</name>
<day>
<name>31</name>
<event>
<p>Neuer Committer: <a
href="mailto:nemysis@FreeBSD.org">Rusmir Dusko</a> (ports)</p>
</event>
</day>
<day>
<name>29</name>
<event>
<title>&os;&nbsp;9.2-BETA2 verfügbar</title>
<p>Die zweite Betaversion aus dem &os;-9.2-Releasezyklus ist
<a href="&lists.stable;/2013-July/074440.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386, powerpc64
sowie sparc64 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden.</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>&os;&nbsp;9.2-BETA1 verfügbar</title>
<p>Die erste Betaversion aus dem &os;-9.2-Releasezyklus ist
<a href="&lists.stable;/2013-July/074377.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386 sowie ia64
sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden.</p>
</event>
</day>
<day>
<name>16</name>
<event>
<title>Statusreport April-Juni 2013</title>
<p>Der Statusreport für die Monate April bis Juni 2013 mit
33 Einträgen ist <a
href="&enbase;/news/status/report-2013-04-2013-06.html">verfügbar</a>.</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>Neuer Committer: <a
href="mailto:marino@FreeBSD.org">John Marino</a> (ports)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>Neuer Committer: <a
href="mailto:loos@FreeBSD.org">Luiz Otavio O Souza</a> (src)</p>
</event>
</day>
<day>
<name>2</name>
<event>
<title>Bericht: BSDCan 2013 DevSummit</title>
<p>Ein Statusreport mit den Ergebnissen des BSDCan 2013
&os; Developer Summits mit 6 Einträgen ist <a
href="&enbase;/news/status/report-2013-05-devsummit.html">verfügbar</a>.</p>
</event>
</day>
</month>
<month>
<name>6</name>
<day>
<name>25</name>
<event>
<p>Neuer Committer: <a
href="mailto:feld@FreeBSD.org">Mark Felder</a> (ports)</p>
</event>
</day>
<day>
<name>19</name>
<event>
<title>Happy Birthday &os;!</title>
<p>&os; ist seit heute <a
href="http://FreeBSD.org/news/1993/freebsd-coined.html">20 Jahre alt</a>.
Am 19. Juni 1993 kündigten Jordan Hubbard, Rod Grimes sowie
and David Greenman die Entwicklung eines auf BSD 4.3
basierenden Betriebssystems an.</p>
<p>&os; 1.0 basiert auf 386BSD 0.1 von Bill und Lynne Jolitz
und wurde im November 1993 veröffentlicht. Als Projektziel
wurde die Entwicklung eines schnellen, stabilen und
zuverlässigen Serverbetriebssystems für i386-Systeme
angegeben.</p>
<p>Seit damals hat sich &os; zur Basis von unzähligen Produkten
weiterentwickelt und unterstützt nun auch 64-Bit-Architekturen,
eingebundene Geräte sowie Desktopbenutzer.</p>
</event>
</day>
<day>
<name>11</name>
<event>
<p>Neuer Committer: <a
href="mailto:vg@FreeBSD.org">Veniamin Gvozdikov</a> (ports)</p>
</event>
</day>
<day>
<name>7</name>
<event>
<title>&os; 8.4-RELEASE verfügbar</title>
<p><a href="&enbase;/releases/8.4R/announce.html">&os;&nbsp;
8.4-RELEASE</a> ist verfügbar. Lesen Sie unbedingt
die <a
href="&enbase;/releases/8.4R/relnotes.html">Release Notes</a>
(<a
href="&enbase;/releases/8.4R/relnotes-detailed.html">ausführliche
Version</a>) sowie die <a
href="&enbase;/releases/8.4R/errata.html">Release Errata</a>,
bevor Sie mit der Installation beginnen, um
sich über aktuelle Neuigkeiten und/oder eventuelle
Probleme im Umgang mit 8.4-RELEASE zu informieren.
Weitere Informationen zu verschiedenen FreeBSD-Versionen
finden Sie auf der Seite <a
href="&base;/releases/index.html">Release Information</a>.</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:gjb@FreeBSD.org">Glen Barber</a> (doc, ports, src)</p>
</event>
</day>
</month>
<month>
<name>5</name>
<day>
<name>27</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:crees@FreeBSD.org">Chris Rees</a> (doc, ports)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<title>Binärpakete wieder verfügbar</title>
<p>Sechs Monate sind seit dem Angriffsversuch auf die
FreeBSD-Infrastruktur vergangen, als Folge dessen die
Produktion von Binärpakete vorübergehend eingestellt werden
musste. Wir freuen uns daher, bekanntgeben zu dürfen, dass
nun alle Dienste (inklusive der Produktion von
Binärpaketen) vollständig wiederhergestellt wurden.</p>
<p>Lesen Sie dazu bitte auch die offizielle <a
href="&lists.announce;/2013-May/001476.html">Ankündigung</a>.</p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>Statusreport Januar - März 2013</title>
<p>Der Statusreport für die Monate Januar bis März 2013 mit
31 Einträgen ist ab sofort <a
href="&enbase;/news/status/report-2013-01-2013-03.html">verfügbar</a>.</p>
</event>
</day>
<day>
<name>9</name>
<event>
<title>&os;&nbsp;Foundation: Ed Maste ist neuer
Director of Project Development</title>
<p>Die &os;&nbsp;Foundation freut sich, bekanntgeben zu
dürfen, dass Ed Maste ab sofort in Teilzeit als
Director of Project Development für die FreeBSD Foundation
tätig ist. Ed war die zwei letzten Jahre im Vorstand der
Foundation und hat den Vorstand verlassen, um seinen
neuen Aufgabenbereich zu übernehmen.</p>
<p>Weitere Informationen zu dieser Neubesetzung finden Sie <a
href="http://freebsdfoundation.blogspot.com/2013/05/freebsd-foundation-announces-ed-maste.html">hier</a>.</p>
</event>
</day>
<day>
<name>8</name>
<event>
<title>&os;&nbsp;8.4-RC3 verfügbar</title>
<p>Der dritte Release Candidate aus dem &os;-8.4-Releasezyklus
ist <a
href="&lists.stable;/2013-May/073389.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386 sowie
pc98 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden.</p>
</event>
</day>
</month>
<month>
<name>4</name>
<day>
<name>29</name>
<event>
<title>Neuer technischer Mitarbeiter für die &os; Foundation:
Edward Tomasz Napiera&#322;a</title>
<p>Die &os;&nbsp;Foundation freut sich, bekanntgeben zu dürfen,
dass mit Edward Tomasz Napiera&#322;a ein weiterer
technischer Mitarbeiter in Vollzeit für die Foundation tätig
sein wird. Damit setzt die Foundation die für 2013 geplanten
Investitionen in Personal fort.</p>
<p>Weitere Informationen hierzu finden Sie <a
href="http://freebsdfoundation.blogspot.com/2013/04/freebsd-foundation-announces-second.html">hier</a>.</p>
</event>
</day>
<day>
<name>24</name>
<event>
<p>Neuer Committer: <a
href="mailto:asomers@FreeBSD.org">Alan Somers</a> (src)</p>
</event>
<event>
<title>Das FreeBSD Project nimmt am Google Summer of
Code 2013 teil</title>
<p>Das FreeBSD Project freut sich, bekanntgeben zu dürfen,
das es auch dieses Jahr an Google's Summer of Code-Programm
teilnimmt. Durch dieses Programm wird die Arbeit von Studenten
im Rahmen von Open Source-Projekten gefördert. Das
FreeBSD Project nimmt bereits zum neunten Mal hintereinander
an diesem Programm teil und hat seit der ersten Teilnahme 2005
mehr als 150 Studenten erfolgreich durch deren Arbeiten
begleitet.</p>
<p>Zu den erfolgreich abgeschlossenen Projekten gehören
Verbesserungen an der Linux-ABI-Emulation, NFSv4 ACLs,
TCP-Regressionstests, die Unterstützung für das
FUSE-Dateisytem sowie zahlreiche andere Projekte. Viele
Studenten, die an diesem Programm teilnahmen, sind inzwischen
aktive FreeBSD-Entwickler und/oder nehmen (nicht zuletzt
dank der Unterstützung der FreeBSD Foundation) weiterhin
aktiv an verschiedenen FreeBSD-Veranstaltungen auf der
ganzen Welt teil.</p>
<p>Wir laden alle Studenten ein, während des Sommers gegen
Bezahlung an der Weiterentwicklung von &os; zu arbeiten!
Weitere Informationen zu möglichen Projektvorschlägen
sowie zum Ablauf finden sich auf der Seite <a
href="&enbase;/projects/summerofcode.html">FreeBSD Summer
Projects</a>.</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>&os;&nbsp;8.4-RC2 verfügbar</title>
<p>Der zweite Release Candidate aus dem &os;-8.4-Releasezyklus
ist <a
href="&lists.stable;/2013-April/073198.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386 sowie
pc98 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden.</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:cy@FreeBSD.org">Cy Schubert</a> (src, ports)</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>Neuer Committer: <a
href="mailto:hiren@FreeBSD.org">Hiren Panchasara</a> (src)</p>
</event>
</day>
<day>
<name>10</name>
<event>
<title>&os;&nbsp;8.4-RC1 verfügbar</title>
<p>Der erste Release Candidate aus dem &os;-8.4-Releasezyklus
ist <a
href="&lists.stable;/2013-April/073070.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386 sowie
pc98 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden.</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:antoine@FreeBSD.org">Antoine Brodin</a> (src, ports)</p>
</event>
</day>
<day>
<name>1</name>
<event>
<p>Neuer Committer: <a
href="mailto:wg@FreeBSD.org">William Grzybowski</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>3</name>
<day>
<name>27</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:tijl@FreeBSD.org">Tijl Coosemans</a> (src, ports)</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>&os;&nbsp;8.4-BETA1 verfügbar</title>
<p>Die erste BETA-Version aus dem &os;-8.4-Releasezyklus ist
<a href="&lists.stable;/2013-March/072913.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386 sowie
pc98 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden.</p>
</event>
</day>
<day>
<name>14</name>
<event>
<title>Neuer technischer Mitarbeiter für die &os; Foundation:
Konstantin Belousov</title>
<p>Die &os;&nbsp;Foundation freut sich, bekanntgeben zu dürfen,
dass Konstantin Belousov als erster technischer Mitarbeiter
in Vollzeit für die Foundation tätig sein wird. Dies ist
ein wichtiger Meilenstein auf unserem Weg, FreeBSD auch 2013
zu unterstützen.</p>
<p>Weitere Informationen hierzu finden Sie <a
href="http://freebsdfoundation.blogspot.com/2013/03/foundation-announces-new-technical.html">hier</a>.</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>Neues Mitglied im Ports Management Team: <a
href="mailto:bdrewery@FreeBSD.org">Bryan Drewery</a></p>
</event>
</day>
<day>
<name>3</name>
<event>
<title>Statusreport Oktober-Dezember 2012</title>
<p>Der Statusreport für die Monate Oktober bis Dezember 2012
mit 27 Einträgen ist <a
href="&enbase;/news/status/report-2012-10-2012-12.html">
verfügbar</a>.</p>
</event>
<event>
<title>Statusreport Juli-September 2012</title>
<p>Der Statusreport für die Monate Juli bis September 2012
mit 12 Einträgen ist <a
href="&enbase;/news/status/report-2012-07-2012-09.html">
verfügbar</a>.</p>
</event>
</day>
</month>
<month>
<name>2</name>
<day>
<name>10</name>
<event>
<p>Neuer Committer: <a
href="mailto:pclin@FreeBSD.org">Po-Chien Lin</a> (ports)</p>
</event>
</day>
<day>
<name>1</name>
<event>
<p>Neuer Committer: <a
href="mailto:tmseck@FreeBSD.org">Thomas-Martin Seck</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>1</name>
<day>
<name>23</name>
<event>
<p>Neuer Committer: <a
href="mailto:achim@FreeBSD.org">Achim Leubner</a> (src)</p>
</event>
</day>
<day>
<name>22</name>
<event>
<p>Neuer Committer: <a
href="mailto:dru@FreeBSD.org">Dru Lavigne</a> (doc)</p>
</event>
</day>
<day>
<name>16</name>
<event>
<p>Neuer Committer: <a
href="mailto:carl@FreeBSD.org">Carl Delsey</a> (src)</p>
</event>
</day>
<day>
<name>15</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:rene@FreeBSD.org">Ren&eacute; Ladan</a> (ports,
full doc/www)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<p>Neuer Committer: <a
href="mailto:dbn@FreeBSD.org">David Naylor</a> (ports)</p>
</event>
</day>
<day>
<name>13</name>
<event>
<title>Statusreport April-Juni 2012</title>
<p>Der Statusreport für die Monate April bis Juni 2012 mit
17 Einträgen ist ab sofort <a
href="&enbase;/news/status/report-2012-04-2012-06.html">verfügbar</a>.</p>
</event>
</day>
<day>
<name>10</name>
<event>
<title>Ports-CVS: End-of-Life am 28. Februar 2013</title>
<p>Die Entwicklung von &os;-Ports erfolgt seit einiger Zeit
ausschließlich in Subversion. Ab 28. Februar 2013 wird
daher der &os;-Portsbaum nicht mehr nach CVS exportiert
werden. Ab diesem Zeitpunkt wird es nicht mehr möglich
sein, den Portsbaum via CVS, CVSup oder csup(1) zu
aktualisieren. Anwendern, die diese Programme derzeit
noch nutzen, wird empfohlen, künftig portsnap(8)
einzusetzen. Alternativ können Sie Subversion auch
direkt verwenden. Weitere Informationen zu diesem Thema
finden sich in der offiziellen <a
href="&lists.ports-announce;/2012-September/000026.html">Ankündigung</a>
auf der Mailingliste freebsd-ports-announce.</p>
<p>Eine Anleitung zur Migration von CVSup oder csup(1) nach
portsnap(8) finden Sie im <a
href="&enbase;/doc/en_US.ISO8859-1/books/handbook/ports-using.html#cvsup-migration">&os;-Handbuch</a>.</p>
</event>
</day>
<day>
<name>8</name>
<event>
<title>Faces of &os; &dash; Thomas Abthorpe</title>
<p>Wir freuen uns, Ihnen unsere nächste Geschichte aus der
Reihe "Faces of &os;" präsentieren zu können. Diese Reihe
erlaubt es uns zu zeigen, wie wir verschiedene Personen
bei Ihrer Arbeit an/für &os; unterstützen.
Diese Unterstützung besteht beispielsweise in der
Finanzierung von Entwicklungsprojekten, der Organisation
von Konferenzen, der Übernahme von Reisekosten sowie
der allgemeinen Förderung von &os;.</p>
<p>Diesmal stellen wir Ihnen Thomas Abthorpe vor. Wir haben
es ihm ermöglicht, an der BSDCan 2009, 2011 und 2012
teilzunehmen, indem wir uns an seinen Reisekosten
beteiligt haben. Lesen Sie seine Geschichte <a
href="http://freebsdfoundation.blogspot.com/2013/01/faces-of-freebsd-thomas-abthorpe.html">hier.</a></p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>Neuer Committer: <a
href="mailto:ian@FreeBSD.org">Ian Lepore</a> (src)</p>
</event>
</day>
</month>
</year>
<year>
<name>2012</name>
<month>
<name>12</name>
<day>
<name>31</name>
<event>
<title>&os; 9.1-RELEASE verfügbar</title>
<p><a href="&enbase;/releases/9.1R/announce.html">FreeBSD
9.1-RELEASE</a> ist ab sofort verfügbar. Lesen Sie unbedingt
die <a
href="&enbase;/releases/9.1R/relnotes.html">Release Notes</a>
(<a
href="&enbase;/releases/9.1R/relnotes-detailed.html">ausführliche
Version</a>) sowie die <a
href="&enbase;/releases/9.1R/errata.html">Release Errata</a>,
bevor Sie mit der Installation beginnen, um
sich über aktuelle Neuigkeiten und/oder eventuelle
Probleme im Umgang mit 9.1-RELEASE zu informieren.
Weitere Informationen zu verschiedenen FreeBSD-Versionen
finden Sie auf der Seite <a
href="&base;/releases/index.html">Release Information</a>.</p>
</event>
</day>
<day>
<name>24</name>
<event>
<p>Neuer Committer: <a
href="mailto:koobs@FreeBSD.org">Kubilay Kocak</a> (ports)</p>
</event>
</day>
<day>
<name>20</name>
<event>
<title>T&os; Foundation Newsletter Dezember 2012.</title>
<p>Die &os; Foundation hat ihren <a
href="http://www.freebsdfoundation.org/press/2012Dec-newsletter.shtml">End-of-Year Newsletter</a>
für das Jahr 2012 veröffentlicht.</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>Neuer Committer: <a
href="mailto:markj@FreeBSD.org">Mark Johnston</a> (src)</p>
</event>
<event>
<title>PC-BSD&nbsp;9.1 ist verfügbar</title>
<p>Das PC-BSD Team hat PC-BSD&nbsp;9.1 <a
href="http://blog.pcbsd.org/2012/12/pc-bsd-9-1-now-available/">veröffentlicht</a>.</p>
</event>
<event>
<p>Neuer Committer: <a
href="mailto:smh@FreeBSD.org">Steven Hartland</a> (src)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<title>Faces of &os; &dash; Dan Langille</title>
<p>Wir freuen uns, Ihnen unsere nächste Geschichte aus der
Reihe "Faces of &os;" präsentieren zu können. Diese Reihe
erlaubt es uns zu zeigen, wie wir verschiedene Personen
bei Ihrer Arbeit an/für &os; unterstützen.
Diese Unterstützung besteht beispielsweise in der
Finanzierung von Entwicklungsprojekten, der Organisation
von Konferenzen, der Übernahme von Reisekosten sowie
der allgemeinen Förderung von &os;.</p>
<p>Diesmal stellen wir Ihnen Dan Langille vor. Wir
unterstützen ihn seit 2006 durch das Sponsering der jährlichen
BSDCan. Lesen Sie seine Geschichte <a
href="http://freebsdfoundation.blogspot.com/2012/12/faces-of-freebsd-dan-langille_17.html">hier.</a></p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>Neuer Spendenrekord:&nbsp;Mehr als 650 neue
Spenden über insgesamt $43.200 in nur 3 Tagen!</title>
<p>Aufmerksame Leser des Blogs der FreeBSD Foundation
wissen, dass wir letzte Woche mit unserer jährlichen
Spendenaktion begonnen haben, mit der wir in der Regel
mehr als 50 Prozent aller Spenden erzielen. Weitere
Informationen zu dieser Aktion finden Sie <a
href="http://freebsdfoundation.blogspot.com/2012/12/stunning-news-website-fundraising.html">hier</a>.</p>
</event>
</day>
<day>
<name>10</name>
<event>
<title>Faces of &os; &dash; Alberto Mijares</title>
<p>Wissen Sie, wie die &os; Foundation die &os;-Gemeinde im
letzten Jahr unterstützt hat? Im Rahmen unserer jährlichen
Spendenkampagne stellen wir Ihnen auf unserer Webseite, in
unserem Blog sowie auf Facebook verschiedene Personen vor,
die wir durch die Finanzierung von Entwicklungsprojekten,
die Organisation von Konferenzen, die Übernahme von
Reisekosten sowie die generelle Förderung von &os;
unterstützt haben. Weitere Information finden Sie <a
href="http://freebsdfoundation.blogspot.com/2012/12/faces-of-freebsd-alberto-mijares.html">hier</a>.</p>
</event>
</day>
<day>
<name>5</name>
<event>
<title>&os;-Spendenkampagne</title>
<p>Ihre Spenden haben uns dabei geholfen, &os; zum besten
derzeit verfügbaren Betriebssystem zu machen. Indem Sie
die &os;&nbsp;Foundation unterstützen, helfen Sie uns dabei,
&os; als leistungsfähiges, sicheres und stabiles
Betriebssystem weiterzuentwickeln.</p>
<p>Dank Personen wie Ihnen konnte die &os;&nbsp;Foundation das
&os;&nbsp;Project sowie die &os;-Gemeinde in den letzten
zwölf Jahren kontinuierlich unterstützen. Weitere Informationen
zu unserer jährlichen Spendenkampagne finden Sie <a
href="http://freebsdfoundation.blogspot.com/2012/12/year-end-fundraising-campaign.html">hier</a>.</p>
</event>
<event>
<title>Die Webseite des &os;&nbsp;Projects verwendet ab sofort
Google Analytics</title>
<p>Das &os;&nbsp;Project hat Google Analytics aktiviert, um
anonymisierte Statistiken über die Nutzung der Webseiten
zu erhalten. Weitere Informationen zu dieser Umstellung
finden Sie in der offiziellen <a
href="&lists.announce;/2012-December/001441.html">Ankündigung</a>.</p>
</event>
</day>
</month>
<month>
<name>11</name>
<day>
<name>26</name>
<event>
<p>Neuer Committer: <a
href="mailto:syuu@FreeBSD.org">Takuya ASADA</a> (src)</p>
</event>
</day>
<day>
<name>25</name>
<event>
<p>Neuer Committer: <a
href="mailto:bar@FreeBSD.org">Barbara Guida</a> (ports)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<title>Angriffsversuch auf die FreeBSD-Infrastruktur</title>
<p>Am 11. November 2012 wurde ein unerlaubter Zugriff auf zwei
Systeme innerhalb des FreeBSD.org-Clusters entdeckt. Wir
konnten zwar keinen Hinweis darauf finden, dass Dateien
manipuliert wurden, dennoch empfehlen wir allen Benutzern,
den dazu erstellten <a
href="&enbase;/news/2012-compromise.html">Bericht</a>
zu lesen und selbst zu entscheiden, ob Handlungsbedarf
besteht.</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>Neuer Committer: <a
href="mailto:bryanv@FreeBSD.org">Bryan Venteicher</a> (src)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>Neuer Committer: <a
href="mailto:gblach@FreeBSD.org">Grzegorz Blach</a> (ports)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<title>&os;&nbsp;9.1-RC3 verfügbar</title>
<p>Der dritte Release Candidate aus dem &os;-9.1-Releasezyklus
ist <a
href="&lists.stable;/2012-November/070401.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386, sparc64 sowie
powerpc64 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden.</p>
</event>
</day>
</month>
<month>
<name>10</name>
<day>
<name>24</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:erwin@FreeBSD.org">Erwin Lansing</a> (src, ports)</p>
</event>
</day>
<day>
<name>23</name>
<event>
<p>Neuer Committer: <a
href="mailto:sjg@FreeBSD.org">Simon J. Gerraty</a> (src)</p>
</event>
</day>
<day>
<name>20</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:eadler@FreeBSD.org">Eitan Adler</a> (src, ports, doc)</p>
</event>
</day>
<day>
<name>19</name>
<event>
<p>Neues Mitglied im Ports Management Team: <a
href="mailto:decke@FreeBSD.org">Bernhard Fröhlich</a></p>
</event>
</day>
<day>
<name>10</name>
<event>
<title>&os;&nbsp;9.1-RC2 verfügbar</title>
<p>Der zweite Release Candidate aus dem &os;-9.1-Releasezyklus
ist <a
href="&lists.stable;/2012-October/069998.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386, ia64, powerpc
sowie powerpc64 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden.</p>
</event>
</day>
</month>
<month>
<name>9</name>
<day>
<name>15</name>
<event>
<p>Neuer Committer: <a
href="mailto:peterj@FreeBSD.org">Peter Jeremy</a> (src)</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>Neuer Committer: <a
href="mailto:ebrandi@FreeBSD.org">Edson Brandi</a> (doc/pt_BR, www/pt_BR)</p>
</event>
</day>
<day>
<name>10</name>
<event>
<p>Neuer Committer: <a
href="mailto:jhale@FreeBSD.org">Jason E. Hale</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>8</name>
<day>
<name>23</name>
<event>
<title>&os;&nbsp;9.1-RC1 verfügbar</title>
<p>Der erste Release Candidate aus dem &os;-9.1-Releasezyklus
ist <a
href="&lists.stable;/2012-August/069233.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386, powerpc64 sowie
sparc64 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden.</p>
</event>
</day>
<day>
<name>21</name>
<event>
<p>Neuer Committer: <a
href="mailto:zont@FreeBSD.org">Andrey Zonov</a> (src)</p>
</event>
</day>
<day>
<name>1</name>
<event>
<p>Neuer Committer: <a
href="mailto:bdrewery@FreeBSD.org">Bryan Drewery</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>7</name>
<day>
<name>24</name>
<event>
<title>Neuer Core Team Secretary: <a
href="mailto:pgj@FreeBSD.org">G&aacute;bor P&aacute;li</a></title>
<p>Das &os; Core Team freut sich, bekanntgeben zu dürfen, dass
<a href="mailto:pgj@FreeBSD.org">G&aacute;bor P&aacute;li</a> die
Position des <a href="mailto:core-secretary@FreeBSD.org">Core
Team Secretary</a> übernommen hat.</p>
</event>
</day>
<day>
<name>16</name>
<event>
<title>&os; 9.1-BETA1 verfügbar</title>
<p>Die erste Testversion aus dem &os;-9.1-Releasezyklus ist ab
sofort <a
href="&lists.stable;/2012-July/068830.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386, powerpc64
sowie sparc64 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden.</p>
</event>
</day>
<day>
<name>11</name>
<event>
<title>Neues &os; Core Team gewählt</title>
<p>Das &os; Project freut sich, die Wahl des Core Teams 2012
bekanntgeben zu dürfen. Das &os; Core Team bildet den
"Vorstand" des Projekts und ist für die Aufnahme neuer
src-Committer, die Klärung von
Meinungsverschiedenheiten unter den Committern, Politik und
Verwaltung des Projekts sowie die Einrichtung von
Unter-Komitees für verschiedene Aufgabenbereiche (Security
Officer, Release Engineers, Port Managers, Webmasters und andere
mehr) verantwortlich. Seit 2000 wird das Core Team alle zwei
Jahre demokratisch durch die aktiven &os; Committer
gewählt.</p>
<p>Weitere Informationen zur Wahl (sowie eine Liste der neuen
Mitglieder des &os; Core Teams) finden Sie in der offiziellen <a
href="http://docs.FreeBSD.org/cgi/mid.cgi?1342030291.6001.80.camel">Ankündigung</a>.</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>Neuer Committer: <a
href="mailto:zeising@FreeBSD.org">Niclas Zeising</a> (doc/www, ports)</p>
</event>
</day>
</month>
<month>
<name>6</name>
<day>
<name>19</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:gjb@FreeBSD.org">Glen Barber</a> (doc, ports)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>Neuer Committer: <a
href="mailto:mjg@FreeBSD.org">Mateusz Guzik</a> (src)</p>
</event>
</day>
</month>
<month>
<name>5</name>
<day>
<name>30</name>
<event>
<p>Neuer Committer: <a
href="mailto:jase@FreeBSD.org">Jase Thew</a> (ports)</p>
</event>
</day>
<day>
<name>29</name>
<event>
<p>Neuer Committer: <a
href="mailto:olivierd@FreeBSD.org">Olivier Duchateau</a> (ports)</p>
</event>
</day>
<day>
<name>28</name>
<event>
<p>Neuer Committer: <a
href="mailto:tj@FreeBSD.org">Tom Judge</a> (ports)</p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>Statusreport Januar-März 2012</title>
<p>Der Statusreport für die Monate Januar bis März 2012
mit 27 Einträgen ist ab sofort <a
href="&enbase;/news/status/report-2012-01-2012-03.html">verfügbar</a>.</p>
</event>
</day>
</month>
<month>
<name>4</name>
<day>
<name>26</name>
<event>
<p>Neuer Committer: <a
href="mailto:issyl0@FreeBSD.org">Isabell Long</a> (doc/www)</p>
</event>
</day>
<day>
<name>22</name>
<event>
<p>Neuer Committer: <a
href="mailto:jlh@FreeBSD.org">Jeremie Le Hen</a> (src)</p>
</event>
</day>
<day>
<name>18</name>
<event>
<title>&os; 8.3-RELEASE verfügbar</title>
<p><a href="&enbase;/releases/8.3R/announce.html">FreeBSD
8.3-RELEASE</a> ist erschienen. Lesen Sie bitte die <a
href="&enbase;/releases/8.3R/relnotes-detailed.html">Release
Notes</a> und die <a
href="&enbase;/releases/8.3R/errata.html">Release Errata</a>,
bevor Sie mit der Installation beginnen, um
sich über aktuelle Neuigkeiten und/oder eventuelle
Probleme im Umgang mit 8.3-RELEASE zu informieren.
Weitere Informationen zu verschiedenen FreeBSD-Versionen
finden Sie auf der Seite <a
href="&base;/releases/index.html">Release Information</a>.</p>
</event>
<event>
<p>Neuer Committer: <a
href="mailto:dteske@FreeBSD.org">Devin Teske</a> (src)</p>
</event>
</day>
<day>
<name>15</name>
<event>
<p>Neuer Committer: <a
href="mailto:sperber@FreeBSD.org">Armin Pirkovitsch</a> (ports)</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>Neuer Committer: <a
href="mailto:monthadar@FreeBSD.org">Monthadar Al Jaberi</a> (src)</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>Neuer Committer: <a
href="mailto:madpilot@FreeBSD.org">Guido Falsi</a> (ports)</p>
</event>
</day>
<day>
<name>2</name>
<event>
<title>&os;&nbsp;8.3-RC2 Available</title>
<p>Der zweite Release Candidate aus dem &os;-8.3-Releasezyklus
ist verfügbar. ISO-Images für die Architekturen
amd64, i386 sowie pc98 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> <a
href="&lists.stable;/2012-April/067067.html">verfügbar</a>.</p>
</event>
</day>
</month>
<month>
<name>3</name>
<day>
<name>23</name>
<event>
<p>Neuer Committer: <a
href="mailto:cherry@FreeBSD.org">Cherry G. Mathew</a> (src)</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>Neuer Committer: <a
href="mailto:bjk@FreeBSD.org">Benjamin Kaduk</a> (doc/www)</p>
</event>
</day>
<day>
<name>6</name>
<event>
<title>&os;&nbsp;8.3-RC1 verfügbar</title>
<p>Der erste Release Candidate aus dem &os;-8.3-Releasezyklus
ist verfügbar. ISO-Images für die Architekturen
amd64, i386 sowie pc98 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> <a
href="&lists.stable;/2012-March/066722.html">verfügbar</a>.</p>
</event>
</day>
<day>
<name>01</name>
<event>
<p>Neuer Committer: <a
href="mailto:ak@FreeBSD.org">Alex Kozlov</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>2</name>
<day>
<name>20</name>
<event>
<title>&os;&nbsp;8.3-BETA1 verfügbar</title>
<p>Die erste Testversion aus dem &os;-8.3-Releasezyklus ist ab
sofort <a
href="&lists.stable;/2012-February/066340.html">verfügbar</a>.
ISO-Images für die Plattformen amd64, i386 sowie pc98 sind
inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden.</p>
</event>
</day>
<day>
<name>16</name>
<event>
<p>Neuer Committer: <a
href="mailto:dmarion@FreeBSD.org">Damjan Marion</a> (src)</p>
</event>
<event>
<p>Neuer Committer: <a
href="mailto:bgray@FreeBSD.org">Ben Gray</a> (src)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:pluknet@FreeBSD.org">Sergey Kandaurov</a> (src, doc)</p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>Neuer Committer: <a
href="mailto:matthew@FreeBSD.org">Matthew Seaman</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>1</name>
<day>
<name>27</name>
<event>
<p>Neuer Committer: <a
href="mailto:davide@FreeBSD.org">Davide Italiano</a> (src)</p>
</event>
<event>
<title>Statusreport Oktober-Dezember 2011</title>
<p>Der Statusreport für die Monate Oktober bis Dezember 2011
mit 32 Einträgen ist ab sofort <a
href="&enbase;/news/status/report-2011-10-2011-12.html">verfügbar</a>.</p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>&os; 9.0-RELEASE verfügbar</title>
<p><a href="&enbase;/releases/9.0R/announce.html">FreeBSD
9.0-RELEASE</a> ist verfügbar. Lesen Sie
bitte die <a
href="&enbase;/releases/9.0R/relnotes.html">Release
Notes</a> und die <a
href="&enbase;/releases/9.0R/errata.html">Release
Errata</a>, bevor Sie mit der Installation beginnen, um
sich über aktuelle Neuigkeiten und/oder eventuelle
Probleme im Umgang mit 9.0-RELEASE zu informieren.
Weitere Informationen zu verschiedenen FreeBSD-Versionen
finden Sie auf der Seite <a
href="&base;/releases/index.html">Release Information</a>.</p>
</event>
</day>
</month>
</year>
<year>
<name>2011</name>
<month>
<name>12</name>
<day>
<name>16</name>
<event>
<p>Neuer Committer: <a
href="mailto:jgh@FreeBSD.org">Jason Helfman</a> (ports)</p>
</event>
</day>
<day>
<name>9</name>
<event>
<title>&os; 9.0-RC3 verfügbar</title>
<p>Der dritte (und voraussichtlich letzte) Release Candidate aus dem
&os;-9.0-Releasezyklus ist ab sofort <a
href="&lists.stable;/2011-December/064770.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386, ia64, powerpc,
powerpc64 sowie sparc64 finden Sie wie immer auf unseren <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a>. Eine der zahlreichen neuen
Funktionen in &os; 9.0 ist das neue Installationsprogramm. Wir
bitten daher unser Nutzer, dieses zu testen, und eine
Neuinstallation durchzuführen. Alternativ ist es aber auch
möglich, ein System über freebsd-update(8) zu
aktualisieren.</p>
</event>
</day>
<day>
<name>8</name>
<event>
<p>Neuer Committer: <a
href="mailto:pfg@FreeBSD.org">Pedro Giffuni</a> (src)</p>
</event>
</day>
<day>
<name>2</name>
<event>
<p>Neues Mitglied im Ports Management Team: <a
href="mailto:beat@FreeBSD.org">Beat Gätzi</a></p>
</event>
</day>
</month>
<month>
<name>11</name>
<day>
<name>30</name>
<event>
<p>Neuer Committer: <a
href="mailto:jhibbits@FreeBSD.org">Justin Hibbits</a> (src)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<title>&os; 9.0-RC2 verfügbar</title>
<p>Der zweite Release Candidate aus dem &os;-9.0-Releasezyklus ist
ab sofort <a
href="&lists.stable;/2011-November/064609.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386, ia64, powerpc,
powerpc64 sowie sparc64 finden Sie wie immer auf unseren <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a>. Eine der zahlreichen neuen
Funktionen in &os; 9.0 ist das neue Installationsprogramm. Wir
bitten daher unser Nutzer, dieses zu testen, und eine
Neuinstallation durchzuführen. Alternativ ist es aber auch
möglich, ein System über freebsd-update(8) zu
aktualisieren.</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>Neuer Committer: <a
href="mailto:scheidell@FreeBSD.org">Michael Scheidell</a> (ports)</p>
</event>
</day>
<day>
<name>11</name>
<event>
<p>Neuer Committer: <a
href="mailto:theraven@FreeBSD.org">David Chisnall</a> (src)</p>
</event>
</day>
<day>
<name>9</name>
<event>
<p>Neuer Committer: <a
href="mailto:rm@FreeBSD.org">Ruslan Makhmatkhanov</a> (ports)</p>
</event>
</day>
<day>
<name>8</name>
<event>
<title>Statusreport Juli-September 2011</title>
<p>Der Statusreport für die Monate Juli bis September 2011
mit 28 Einträgen ist ab sofort <a
href="&enbase;/news/status/report-2011-07-2011-09.html">verfügbar</a>.</p>
</event>
</day>
</month>
<month>
<name>10</name>
<day>
<name>23</name>
<event>
<title>&os; 9.0-RC1 verfügbar</title>
<p>Der erste Release Candidate aus dem &os;-9.0-Releasezyklus ist
ab sofort <a
href="&lists.stable;/2011-October/064321.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386, ia64, powerpc,
powerpc64 sowie sparc64 finden Sie wie immer auf unseren <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a>. Eine der zahlreichen neuen
Funktionen in &os; 9.0 ist das neue Installationsprogramm. Wir
bitten daher unser Nutzer, dieses zu testen, und eine
Neuinstallation durchzuführen. Alternativ ist es aber auch
möglich, ein System über freebsd-update(8) zu
aktualisieren.</p>
</event>
</day>
<day>
<name>6</name>
<event>
<p>Neuer Committer: <a
href="mailto:melifaro@FreeBSD.org">Alexander V. Chernikov</a> (src)</p>
</event>
</day>
</month>
<month>
<name>9</name>
<day>
<name>28</name>
<event>
<title>&os; 9.0-BETA3 verfügbar</title>
<p>Die dritte BETA-Version aus dem
&os;-9.0-Releasezyklus ist ab sofort <a
href="&lists.stable;/2011-September/064030.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386, ia64, powerpc,
powerpc64 sowie sparc64 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden. Eine der zahlreichen neuen
Funktionen in &os; 9.0 ist das neue Installationsprogramm. Wir
bitten daher unser Nutzer, dieses zu testen, und eine
Neuinstallation durchzuführen.</p>
</event>
</day>
<day>
<name>27</name>
<event>
<p>Neuer Committer: <a
href="mailto:jceel@FreeBSD.org">Jakub Klama</a> (src)</p>
</event>
</day>
<day>
<name>19</name>
<event>
<p>Neuer Committer: <a
href="mailto:gleb@FreeBSD.org">Gleb Kurtsou</a> (src)</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>Neuer Committer: <a
href="mailto:rmh@FreeBSD.org">Robert Millan</a> (src)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<p>Neuer Committer: <a
href="mailto:wblock@FreeBSD.org">Warren Block</a> (doc/www)</p>
</event>
<event>
<title>Statusreport April-Juni 2011</title>
<p>Der Statusreport für die Monate April bis Juni 2011
mit 36 Einträgen ist ab sofort <a
href="&enbase;/news/status/report-2011-04-2011-06.html">
verfügbar</a>.</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>Neuer Committer: <a
href="mailto:cs@FreeBSD.org">Carlo Strub</a> (ports)</p>
</event>
</day>
<day>
<name>7</name>
<event>
<title>&os; 9.0-BETA2 verfügbar</title>
<p>Die zweite BETA-Version aus dem
&os;-9.0-Releasezyklus ist nun <a
href="&lists.stable;/2011-September/063841.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386, powerpc,
powerpc64 sowie sparc64 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden. Eine der zahlreichen neuen
Funktionen in &os; 9.0 ist das neue Installationsprogramm. Wir
bitten daher unser Nutzer, dieses zu testen, und eine
Neuinstallation durchzuführen.</p>
</event>
</day>
</month>
<month>
<name>8</name>
<day>
<name>22</name>
<event>
<p>Neuer Committer: <a
href="mailto:rakuco@FreeBSD.org">Raphael Kubo da Costa</a> (ports)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<p>Neuer Committer: <a
href="mailto:eadler@FreeBSD.org">Eitan Adler</a> (ports)</p>
</event>
</day>
<day>
<name>9</name>
<event>
<title>&os; Foundation Newsletter August 2011</title>
<p>Die &os; Foundation hat ihren ersten <a
href="http://www.freebsdfoundation.org/press/2011Aug-newsletter.shtml">
Newsletter für 2011</a> veröffentlicht, in dem
sie beschreibt, wie sie das &os; Project seit
Jahresbeginn unterstützt hat.</p>
</event>
</day>
<day>
<name>1</name>
<event>
<title>&os; 9.0-BETA1 verfügbar</title>
<p>Die erste BETA-Version aus dem
&os;-9.0-Releasezyklus ist nun <a
href="&lists.stable;/2011-August/063457.html">verfügbar</a>.
ISO-Images für die Architekturen amd64, i386, ia64,
powerpc, powerpc64 sowie sparc64 sind inzwischen auf den
meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden. Eine der zahlreichen neuen
Funktionen in &os; 9.0 ist das neue Installationsprogramm. Wir
bitten daher unser Nutzer, dieses zu testen, und eine
Neuinstallation durchzuführen.</p>
</event>
</day>
</month>
<month>
<name>7</name>
<day>
<name>17</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:gavin@FreeBSD.org">Gavin Atkinson</a> (src, doc)</p>
</event>
</day>
<day>
<name>15</name>
<event>
<p>Neuer Committer: <a
href="mailto:zi@FreeBSD.org">Ryan Steinmetz</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>6</name>
<day>
<name>14</name>
<event>
<p>Neuer Committer: <a
href="mailto:gber@FreeBSD.org">Grzegorz Bernacki</a> (src)</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>Neuer Committer: <a
href="mailto:stephen@FreeBSD.org">Stephen Montgomery-Smith</a> (ports)</p>
</event>
</day>
<day>
<name>11</name>
<event>
<p>Neuer Committer: <a
href="mailto:crees@FreeBSD.org">Chris Rees</a> (ports)</p>
</event>
</day>
<day>
<name>6</name>
<event>
<title>IPv6-Test-Images für &os;</title>
<p>Die &os; Foundation und iXsystems haben reine
IPv6-Test-Images für &os; und PC-BSD <a
href="http://www.prweb.com/releases/2011/6/prweb8529718.htm">
bereitgestellt</a>.</p>
</event>
<event>
<p>Neuer Committer: <a
href="mailto:jlaffaye@FreeBSD.org">Julien Laffaye</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>5</name>
<day>
<name>25</name>
<event>
<p>Neuer Committer: <a
href="mailto:ray@FreeBSD.org">Aleksandr Rybalko</a> (src)</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>Neuer Committer: <a
href="mailto:benl@FreeBSD.org">Ben Laurie</a> (src)</p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>Neuer Ports-Manager</title>
<p>Das Ports Management Team freut sich bekanntgeben zu
können, dass <a
href="mailto:bapt@FreeBSD.org">Baptiste Daroussin</a>
als neues Mitglied in das Team aufgenommen wurde.</p>
</event>
</day>
</month>
<month>
<name>4</name>
<day>
<name>27</name>
<event>
<title>Statusreport Januar-März 2011</title>
<p>Der Statusreport für die Monate Januar bis März 2011
mit 34 Einträgen ist ab sofort <a
href="&enbase;/news/status/report-2011-01-2011-03.html">verfügbar</a>.</p>.
</event>
</day>
</month>
<month>
<name>3</name>
<day>
<name>29</name>
<event>
<p>Neuer Committer: <a
href="mailto:art@FreeBSD.org">Artem Belevich</a> (src)</p>
</event>
</day>
<day>
<name>27</name>
<event>
<title>Das FreeBSD Project nimmt am Google Summer of
Code 2011 teil</title>
<p>Das FreeBSD Project freut sich, bekanntgeben zu dürfen,
das es auch dieses Jahr an Google's Summer of Code-Programm
teilnimmt. Durch dieses Programm wird die Arbeit von Studenten
im Rahmen von Open Source-Projekten gefördert. Das
FreeBSD Project nimmt bereits zum siebten Mal hintereinander
an diesem Programm teil und hat seit der ersten Teilnahme 2005
mehr als 100 Studenten erfolgreich durch deren Arbeiten
begleitet.</p>
<p>Zu den erfolgreich abgeschlossenen Projekten gehören
Verbesserungen an der Linux-ABI-Emulation, NFSv4 ACLs,
TCP-Regressionstests, die Unterstützung für das
FUSE-Dateisytem sowie zahlreiche andere Projekte. Viele
Studenten, die an diesem Programm teilnahmen, sind inzwischen
aktive FreeBSD-Entwickler und/oder nehmen (nicht zuletzt
dank der Unterstützung der FreeBSD Foundation) weiterhin
aktiv an verschiedenen FreeBSD-Veranstaltungen auf der
ganzen Welt teil.</p>
<p>Wir laden alle Studenten ein, während des Sommers gegen
Bezahlung an der Weiterentwicklung von &os; zu arbeiten!
Weitere Informationen zu möglichen Projektvorschlägen
sowie zum Ablauf finden sich auf der Seite <a
href="&enbase;/projects/summerofcode.html">FreeBSD Summer
Projects</a>.</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>Neuer Committer: <a
href="mailto:sbz@FreeBSD.org">Sofian Brabez</a> (ports)</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>Neuer Committer: <a
href="mailto:pawel@FreeBSD.org">Pawel Pekala</a> (ports)</p>
</event>
</day>
<day>
<name>10</name>
<event>
<p>Das FreeBSD Ports Management Team freut sich, bekannt geben
zu dürfen, dass <a
href="mailto:tabthorpe@FreeBSD.org">Thomas Abthorpe</a>
ab sofort Mitglied des Teams ist.</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>Neuer Committer: <a
href="mailto:kargl@FreeBSD.org">Steven G. Kargl</a> (src)</p>
</event>
</day>
</month>
<month>
<name>2</name>
<day>
<name>24</name>
<event>
<title>FreeBSD 8.2-RELEASE verfügbar</title>
<p><a href="&enbase;/releases/8.2R/announce.html">FreeBSD
8.2-RELEASE</a> wurde veröffentlicht. Lesen Sie
bitte die <a
href="&enbase;/releases/8.2R/relnotes.html">Release
Notes</a> und die <a
href="&enbase;/releases/8.2R/errata.html">Release
Errata</a>, bevor Sie mit der Installation beginnen, um
sich über aktuelle Neuigkeiten und/oder eventuelle
Probleme im Umgang mit 8.2-RELEASE zu informieren.
Weitere Informationen zu verschiedenen FreeBSD-Versionen
finden Sie auf der Seite <a
href="&base;/releases/index.html">Release Information</a>.</p>
</event>
<event>
<title>FreeBSD 7.4-RELEASE verfügbar</title>
<p><a href="&enbase;/releases/7.4R/announce.html">FreeBSD
7.4-RELEASE</a> wurde veröffentlicht. Lesen Sie
bitte die <a
href="&enbase;/releases/7.4R/relnotes.html">Release
Notes</a> und die <a
href="&enbase;/releases/7.4R/errata.html">Release
Errata</a>, bevor Sie mit der Installation beginnen, um
sich über aktuelle Neuigkeiten und/oder eventuelle
Probleme im Umgang mit 7.4-RELEASE zu informieren.
Weitere Informationen zu verschiedenen FreeBSD-Versionen
finden Sie auf der Seite <a
href="&base;/releases/index.html">Release Information</a>.</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:miwi@FreeBSD.org">Martin Wilke</a> (src, ports, doc)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<title>&os; 7.4/8.2-RC3 verfügbar</title>
<p>Die dritten (und voraussichtlich letzten) Release Candidates
der Releasezyklen von &os;-7.4/8.2 sind ab sofort
verfügbar. 8.2-RC3 steht für die Architekturen
amd64, i386, ia64, pc98, powerpc, sowie sparc64 bereit.
7.4-RC3 ist für die Architekturen amd64, i386, pc98,
sowie sparc64 verfügbar. ISO-Images für diese
Architekturen stehen inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">
&os; Spiegelservern</a> zum Download bereit. Weitere
Informationen entnehmen Sie bitte der offiziellen <a
href="&lists.stable;/2011-February/061353.html">Ankündigung</a>.</p>
</event>
</day>
</month>
<month>
<name>1</name>
<day>
<name>25</name>
<event>
<title>Statusreport Oktober-Dezember 2010 verfügbar</title>
<p>Der Statusreport für die Monate Oktober bis
December 2010 mit 37 Einträgen ist ab sofort <a
href="&enbase;/news/status/report-2010-10-2010-12.html">verfügbar</a>.</p>
</event>
</day>
<day>
<name>23</name>
<event>
<title>&os; 7.4-RC2 verfügbar</title>
<p>Der zweite Release Candidate aus dem &os;-7.4
Releasezyklus ist ab sofort verfügbar. ISO-Images
für Tier-1-Architekturen stehen inzwischen auf den
meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">
&os; Spiegelservern</a> zum Download bereit. Weitere
Informationen entnehmen Sie bitte der offiziellen <a
href="&lists.stable;/2011-January/061218.html">Ankündigung</a>.</p>
</event>
</day>
<day>
<name>16</name>
<event>
<title>&os; 8.2-RC2 verfügbar</title>
<p>Der zweite Release Candidate aus dem &os;-8.2
Releasezyklus ist ab sofort verfügbar. ISO-Images
für Tier-1-Architekturen stehen inzwischen auf den
meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">
&os; Spiegelservern</a> zum Download bereit. Weitere
Informationen entnehmen Sie bitte der offiziellen <a
href="&lists.stable;/2011-January/061131.html">Ankündigung</a>.</p>
</event>
</day>
</month>
</year>
<year>
<name>2010</name>
<month>
<name>12</name>
<day>
<name>27</name>
<event>
<title>&os; 7.4/8.2-RC1 verfügbar</title>
<p>Die ersten Release Candidates der Releasezyklen von
&os;-7.4/8.2 sind ab sofort verfügbar. ISO-Images für
Tier-1-Architekturen stehen inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">
&os; Spiegelservern</a> zum Download bereit. Weitere
Informationen entnehmen Sie bitte der offiziellen <a
href="&lists.stable;/2010-December/060757.html">Ankündigung</a>.</p>
</event>
</day>
<day>
<name>16</name>
<event>
<title>&os; Foundation Newsletter Dezember 2010</title>
<p>Die &os; Foundation hat ihren <a
href="http://www.freebsdfoundation.org/press/2010Dec-newsletter.shtml">End-of-Year Newsletter</a>
veröffentlicht, in dem sie beschreibt, wie sie das
&os; Project und die &os;-Gemeinde 2010 unterstützt
hat.</p>
</event>
</day>
<day>
<name>11</name>
<event>
<title>&os; 7.4/8.2-BETA1 verfügbar</title>
<p>Die ersten Testversionen der Releasezyklen von
&os;-7.4/8.2 sind ab sofort <a
href="&lists.stable;/2010-December/060541.html">verfügbar</a>.
ISO-Images für Tier-1-Architekturen stehen inzwischen
auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">
&os; Spiegelservern</a> zum Download bereit.</p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>Neuer Committer: <a
href="mailto:flo@FreeBSD.org">Florian Smeets</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>11</name>
<day>
<name>15</name>
<event>
<p>Neuer Committer: <a
href="mailto:rea@FreeBSD.org">Eygene Ryabinkin</a> (ports)</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>Neuer Committer: <a
href="mailto:zack@FreeBSD.org">Zack Kirsch</a> (src)</p>
</event>
</day>
</month>
<month>
<name>10</name>
<day>
<name>27</name>
<event>
<title>Statusreport Juli-September 2010 verfügbar</title>
<p>Der Statusreport für die Monate Juli bis September 2010
mit 55 Einträgen ist ab sofort <a
href="&enbase;/news/status/report-2010-07-2010-09.html">verfügbar</a>.</p>
</event>
</day>
<day>
<name>16</name>
<event>
<p>Neuer Committer: <a
href="mailto:culot@FreeBSD.org">Frederic Culot</a> (ports)</p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>Neuer Committer: <a
href="mailto:jonathan@FreeBSD.org">Jonathan Anderson</a> (src)</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>Neuer Committer: <a
href="mailto:pluknet@FreeBSD.org">Sergey Kandaurov</a> (src)</p>
</event>
</day>
</month>
<month>
<name>9</name>
<day>
<name>25</name>
<event>
<p>Neuer Committer: <a
href="mailto:martymac@FreeBSD.org">Ganael Laplanche</a> (ports)</p>
</event>
</day>
<day>
<name>21</name>
<event>
<p>Neuer Committer: <a
href="mailto:sunpoet@FreeBSD.org">Po-Chuan Hsieh</a> (ports)</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>Neuer Committer: <a
href="mailto:andreast@FreeBSD.org">Andreas Tobler</a> (src)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>Neuer Committer: <a
href="mailto:swills@FreeBSD.org">Steve Wills</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>8</name>
<day>
<name>31</name>
<event>
<p>Neuer Committer: <a
href="mailto:gjb@FreeBSD.org">Glen Barber</a> (full doc/www)</p>
</event>
</day>
<day>
<name>30</name>
<event>
<p>Neuer Committer: <a
href="mailto:dim@FreeBSD.org">Dimitry Andric</a> (src)</p>
</event>
</day>
<day>
<name>1</name>
<event>
<p>Neuer Committer: <a
href="mailto:ohauer@FreeBSD.org">Oliver Hauer</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>7</name>
<day>
<name>27</name>
<event>
<title>&os; Foundation Newsletter Juli 2010</title>
<p>Die &os; Foundation hat ihren <a
href="http://www.freebsdfoundation.org/press/2010Jul-newsletter.shtml">
Newsletter für Juli 2010</a> veröffentlicht, in dem sie
beschreibt, wie sie das &os; Project und die &os;-Gemeinde in diesem
Jahr bisher unterstützt hat.</p>
</event>
<event>
<p>Neuer Committer: <a
href="mailto:bapt@FreeBSD.org">Baptiste Daroussin</a> (ports)</p>
</event>
</day>
<day>
<name>23</name>
<event>
<title>FreeBSD 8.1-RELEASE verfügbar</title>
<p><a href="&enbase;/releases/8.1R/announce.html">FreeBSD
8.1-RELEASE</a> ist ab sofort verfügbar. Bitte
lesen Sie die <a
href="&enbase;/releases/8.1R/relnotes.html">Release
Notes</a> sowie die <a
href="&enbase;/releases/8.1R/errata.html">Release
Errata</a>, bevor Sie die Installation beginnen, um sich
über aktuelle Neuigkeiten oder Probleme beim Einsatz
von &os; 8.1 zu informieren. Weitere Informationen zu
den verschiedenen &os;-Versionen finden Sie auf der Seite
<a href="&base;/releases/index.html">Release
Information</a>.</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>Statusreport April-Juni 2010 verfügbar</title>
<p>Der Statusreport für die Monate April bis Juni 2010
mit 47 Einträgen ist ab sofort <a
href="&enbase;/news/status/report-2010-04-2010-06.html">verfügbar</a>.</p>
</event>
</day>
<day>
<name>21</name>
<event>
<p>Neuer Committer: <a
href="mailto:andrew@FreeBSD.org">Andrew Turner</a> (src)</p>
</event>
</day>
<day>
<name>20</name>
<event>
<title>PC-BSD 8.1 verfügbar</title>
<p>PC-BSD 8.1 ist erschienen. Bei PC-BSD handelt es sich um ein
erfolgreiches, auf FreeBSD basierendes Desktop-Betriebssystem,
dessen Ziel es ist, einen einfach zu verwendenden Desktop
bereitzustellen. Eine Liste aller neuen Funktionen bzw.
aller Aktualisierungen seit der letzten Version finden Sie <a
href="http://www.pcbsd.org/content/view/170/11/">hier</a>.</p>
<p>Die neue Version kann von der Projektseite <a
href="http://www.pcbsd.org">heruntergeladen</a> oder als DVD <a
href="http://www.freebsdmall.com">gekauft</a> werden.</p>
</event>
</day>
<day>
<name>17</name>
<event>
<p>Neuer Committer: <a
href="mailto:tijl@FreeBSD.org">Tijl Coosemans</a> (src)</p>
</event>
</day>
<day>
<name>15</name>
<event>
<p>Neuer Committer: <a
href="mailto:jsa@FreeBSD.org">Joseph S. Atkinson</a> (ports)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<title>Neues &os; Core Team gewählt</title>
<p>Das &os; Project freut sich, die Wahl des Core Teams 2010
bekanntgeben zu dürfen. Das &os; Core Team bildet den
"Vorstand" des Projekts und ist für die Aufnahme neuer
src-Committer, die Klärung von
Meinungsverschiedenheiten unter den Committern, Politik und
Verwaltung des Projekts sowie die Einrichtung von
Unter-Komitees für verschiedene Aufgabenbereiche (Security
Officer, Release Engineers, Port Managers, Webmasters und andere
mehr) verantwortlich. Seit 2000 wird das Core Team alle zwei
Jahre demokratisch durch die aktiven &os; Committer
gewählt.</p>
<p>Weitere Informationen zur Wahl (sowie eine Liste der neuen
Mitglieder des &os; Core Teams) finden Sie in der offiziellen <a
href="http://docs.freebsd.org/cgi/mid.cgi?20100714193552.GS32232">Ankündigung</a>.</p>
</event>
</day>
<day>
<name>2</name>
<event>
<title>&os; 8.1-RC2 verfügbar</title>
<p>Der zweite (und voraussichtlich letzte) Release Candidate aus
dem &os;-8.1-Releasezyklus ist nun verfügbar. CD-ISO-Images
für die Architekturen amd64, i386, ia64, powerpc, sowie
sparc64 sind inzwischen auf den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> vorhanden. Lesen Sie bitte auch die offizielle <a
href="&lists.stable;/2010-July/057552.html">Ankündigung</a>
für weitere Informationen zu dieser neuen Version.</p>
</event>
</day>
</month>
<month>
<name>6</name>
<day>
<name>18</name>
<event>
<title>&os; 8.1-RC1 verfügbar</title>
<p>Der erste Release Candidate aus dem
&os;-8.1-Releasezyklus ist nun verfügbar. ISO-Images
für Tier-1-Architekturen finden Sie wie immer auf den
verschiedenen <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a>. Lesen Sie bitte auch die offizielle <a
href="&lists.stable;/2010-June/057320.html">Ankündigung</a>
für weitere Informationen zu dieser neuen Version.</p>
</event>
</day>
<day>
<name>10</name>
<event>
<p>Neuer Committer: <a
href="mailto:ashish@FreeBSD.org">Ashish SHUKLA</a> (ports)</p>
</event>
</day>
<day>
<name>9</name>
<event>
<p>Neuer Committer: <a
href="mailto:bf@FreeBSD.org">Brendan Fabeny</a> (ports)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>Neuer Committer: <a
href="mailto:mdf@FreeBSD.org">Matthew Fleming</a> (src)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>Neuer Committer: <a
href="mailto:ae@FreeBSD.org">Andrey V. Elsukov</a> (src)</p>
</event>
<event>
<p>Neuer Committer: <a
href="mailto:taras@FreeBSD.org">Taras Korenko</a> (doc/ru, www/ru)</p>
</event>
</day>
</month>
<month>
<name>5</name>
<day>
<name>29</name>
<event>
<title>&os; 8.1-BETA1 verfügbar</title>
<p>Die erste BETA-Version des &os;-8.1-Releasezyklus ist
nun <a
href="&lists.stable;/2010-May/057040.html">
verfügbar</a>. ISO-Images für Tier-1-Architekturen
finden Sie wie immer auf den verschiedenen <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a>.</p>
</event>
</day>
<day>
<name>24</name>
<event>
<title>Google's Summer of Code gestartet</title>
<p>Das FreeBSD Project hat erneut zahlreiche qualitativ
hochwertige Bewerbungen für eine Teilnahme an <a
href="http://code.google.com/soc">Google's Summer of
Code</a> erhalten. Heuer wurden 18 Projektvorschläge
ausgewählt, die im Rahmen dieses Programms bearbeitet
werden sollen. Bewerber, deren Projekte nicht ausgewählt
wurden, möchten wir daran erinnern, dass das FreeBSD Project
jederzeit dazu bereit ist, Studenten, die etwas über die
Entwicklung von Betriebssystemen lernen wollen, über die
Mailinglisten und Entwicklerforen des FreeBSD Projects zu
unterstützen.</p>
<p>Weitere Informationen finden Sie in der offiziellen <a
href="http://docs.freebsd.org/cgi/mid.cgi?20100526034329.GA40980">Ankündigung</a>,
die komplette Liste aller unterstützten Projekte
hingegen im FreeBSD <a
href="http://wiki.freebsd.org/SummerOfCode2010Projects">Summer
of Code Wiki</a>. Die Arbeit an den verschiedenen Projekten
hat am 24. Mai 2010 begonnen. Wir möchten daher alle 18
neuen Studenten herzlich in unserer Gemeinschaft willkommen
heißen.</p>
</event>
</day>
<day>
<name>19</name>
<event>
<p>Neuer Committer: <a
href="mailto:jchandra@FreeBSD.org">Jayachandran C.</a> (src)</p>
</event>
</day>
</month>
<month>
<name>4</name>
<day>
<name>29</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:mm@FreeBSD.org">Martin Matu&scaron;ka</a> (src, ports)</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>Statusreport Januar-März 2010 verfügbar</title>
<p>Der Statusreport für die Monate Januar bis März 2010
mit 46 Einträgen ist ab sofort <a
href="&enbase;/news/status/report-2010-01-2010-03.html">verfügbar</a>.</p>
</event>
</day>
<day>
<name>20</name>
<event>
<p>Neuer Committer: <a
href="mailto:randi@FreeBSD.org">Randi Harper</a> (src)</p>
</event>
</day>
<day>
<name>19</name>
<event>
<p>Neuer Committer: <a
href="mailto:rstone@FreeBSD.org">Ryan Stone</a> (src)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<p>Neuer Committer: <a
href="mailto:anchie@FreeBSD.org">Ana Kukec</a> (src)</p>
</event>
</day>
<day>
<name>11</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:rene@FreeBSD.org">Ren&eacute; Ladan</a>
(doc-nl, ports)</p>
</event>
<event>
<p>Neuer Committer: <a
href="mailto:sahil@FreeBSD.org">Sahil Tandon</a> (ports)</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>Neuer Committer: <a
href="mailto:jacula@FreeBSD.org">Giuseppe Pilichi</a> (ports)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<title>Das &os; Project beteiligt sich auch 2010 an Google's
Summer of Code-Programm</title>
<p>Das &os; Project nimmt zum bereits sechsten Mal an <a
href="http://docs.freebsd.org/cgi/getmsg.cgi?fetch=0+0+archive/2010/freebsd-announce/20100404.freebsd-announce">
Google's Summer of Code-Programm</a> teil. Wir laden
alle Studenten ein, während des Sommers gegen
Bezahlung an der Weiterentwicklung von &os; zu arbeiten!
Weitere Informationen (sowie ein Poster, das Sie an Ihrer
Universität aufhängen können) finden sich
auf der Seite <a
href="&enbase;/projects/summerofcode.html">&os; Summer
Projects</a>.</p>
</event>
</day>
</month>
<month>
<name>3</name>
<day>
<name>31</name>
<event>
<p>Neuer Committer: <a
href="mailto:decke@FreeBSD.org">Bernhard Fröhlich</a> (ports)</p>
</event>
</day>
<day>
<name>23</name>
<event>
<title>&os; 7.3-RELEASE verfügbar</title>
<p><a href="&enbase;/releases/7.3R/announce.html">&os;
7.3-RELEASE</a> ist ab sofort verfügbar. Lesen Sie
bitte die <a
href="&enbase;/releases/7.3R/relnotes.html">Release
Notes</a> und <a
href="&enbase;/releases/7.3R/errata.html">Release
Errata</a>, um sich über aktuelle Neuigkeiten und/oder
eventuelle Probleme im Umgang mit &os; 7.3-RELEASE zu
informieren. Weitere Informationen zu verschiedenen
FreeBSD-Versionen finden Sie auf der Seite <a
href="&base;/releases/index.html">Release Information</a>.</p>
</event>
</day>
<day>
<name>18</name>
<event>
<title>Neuer Ports Management Team Secretary:
Thomas Abthorpe</title>
<p>Das &os; Ports Management Team freut sich, bekanntgeben zu
dürfen, dass <a
href="mailto:tabthorpe@FreeBSD.org">Thomas Abthorpe</a> ab
sofort die Postition des <a
href="mailto:portmgr-secretary@FreeBSD.org">Ports
Management Team Secretary</a> bekleidet.</p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>Reaktiviertes Commit-Bit: <a
href="mailto:niels@FreeBSD.org">Niels Heinen</a> (ports)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<title>&os; 7.3-RC2 verfügbar</title>
<p>Der zweite Release Candidate des &os;-7.3-Releasezyklus
ist <a
href="&lists.stable;/2010-March/055596.html">
verfügbar</a>. ISO-Images für Tier-1-Architekturen
finden Sie wie immer auf den verschiedenen <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a>.</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>Neuer Committer: <a
href="mailto:neel@FreeBSD.org">Neel Natu</a> (src)</p>
</event>
</day>
</month>
<month>
<name>2</name>
<day>
<name>22</name>
<event>
<title>PC-BSD 8.0 verfügbar</title>
<p>PC-BSD 8.0 ist erschienen. Bei PC-BSD handelt es sich um ein
erfolgreiches, auf FreeBSD basierendes Desktop-Betriebssystem,
dessen Ziel es ist, einen einfach zu verwendenden Desktop
bereitzustellen. Eine Liste aller neuen Funktionen bzw.
aller Aktualisierungen seit der letzten Version finden Sie <a
href="http://www.pcbsd.org/content/view/151/11/">hier</a>.</p>
<p>Die neue Version kann von der Projektseite <a
href="http://www.pcbsd.org">heruntergeladen</a> oder als DVD <a
href="http://www.freebsdmall.com">gekauft</a> werden.</p>
</event>
</day>
<day>
<name>15</name>
<event>
<title>&os; 7.3-RC1 verfügbar</title>
<p>Der erste Release Candidate des &os;-7.3-Releasezyklus ist
nun <a
href="&lists.stable;/2010-February/055146.html">
verfügbar</a>. ISO-Images für Tier-1-Architekturen
finden Sie wie immer auf den verschiedenen <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a>.</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>Erweiterte Commit-Privilegien: <a
href="mailto:bcr@FreeBSD.org">Benedict Reuschling</a> (kompletter
doc/www-Bereich)</p>
</event>
</day>
<day>
<name>6</name>
<event>
<p>Neuer Committer: <a
href="mailto:bschmidt@FreeBSD.org">Bernhard Schmidt</a> (src)</p>
</event>
</day>
<day>
<name>2</name>
<event>
<title>Erweiterte Commit-Privilegien: <a
href="mailto:gabor@FreeBSD.org">G&aacute;bor
Kövesd&aacute;n</a> (src, ports, doc)</title>
<p><a href="mailto:gabor@FreeBSD.org">G&aacute;bor
Kövesd&aacute;n</a> nahm 2008/2009 an <a
href="http://code.google.com/soc">Google's Summer of Code</a>
teil. Für seine Beiträge hat er nun Commit-Rechte
für den Quellcode erhalten. Seine erste Aufgabe wird es
sein, die Ergebnisse seiner Arbeit in den &os;-Quellcodebaum
einzubringen.</p>
</event>
</day>
</month>
<month>
<name>1</name>
<day>
<name>30</name>
<event>
<title>&os; 7.3-BETA1 verfügbar</title>
<p>Die erste BETA-Version für &os; 7.3 ist ab sofort <a
href="&lists.stable;/2010-January/054608.html">verfügbar</a>.
ISO-Images für Tier-1-Architekturen sind inzwischen auf
den meisten <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
Spiegelservern</a> verfügbar.</p>
</event>
</day>
<day>
<name>29</name>
<event>
<p>Neuer Committer: <a
href="mailto:brucec@FreeBSD.org">Bruce Cran</a> (src)</p>
</event>
</day>
<day>
<name>28</name>
<event>
<p>Neuer Committer: <a
href="mailto:uqs@FreeBSD.org">Ulrich Spörlein</a> (src)</p>
</event>
</day>
<day>
<name>26</name>
<event>
<p>Neuer Committer: <a
href="mailto:romain@FreeBSD.org">Romain Tarti&egrave;re</a> (ports)</p>
</event>
<event>
<p>Neuer Committer: <a
href="mailto:avilla@FreeBSD.org">Alberto Villa</a> (ports)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<title>Statusreport Oktober-Dezember 2009</title>
<p>Der Statusreport für die Monate Oktober-Dezember 2009 mit
38 Einträgen ist ab sofort <a
href="&enbase;/news/status/report-2009-10-2009-12.html">verfügbar</a>.</p>
</event>
</day>
</month>
</year>
</news>
Index: projects/zfsupdate-201307/de_DE.ISO8859-1/share/xml/release.l10n.ent
===================================================================
--- projects/zfsupdate-201307/de_DE.ISO8859-1/share/xml/release.l10n.ent (revision 42803)
+++ projects/zfsupdate-201307/de_DE.ISO8859-1/share/xml/release.l10n.ent (revision 42804)
@@ -1,153 +1,155 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
$FreeBSD$
$FreeBSDde$
- basiert auf: r42493
+ basiert auf: r42658
-->
<![%beta2.testing;[
<!ENTITY beta.plural 'en'>
]]>
<!ENTITY beta.plural ''>
<![%beta2.testing;[
<!ENTITY beta.second '
<table xmlns="http://www.w3.org/1999/xhtml" class="tblbasic">
<thead>
<tr style="text-align: center;">
<td colspan="2">Version &amp; Plattform</td>
<td>Distribution</td>
<td title="ISO9660 CD image"><a href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/install-diff-media.html#install-cdrom">ISO</a></td>
- <td>Statusseite</td>
+ <!--<td>Statusseite</td>-->
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">FreeBSD &betarel2.current;-&betarel2.vers;</td>
- <td colspan="2"></td>
- <td rowspan="7"><a href="http://wiki.freebsd.org/Releng/7.4TODO">[Lesen]</a></td>
-
+ <td colspan="2"></td>
+ <!--<td><a href="&base;/releases/&betarel2.current;R/todo.html">[View]</a></td>-->
+ <!--<td rowspan="7"><a href="http://wiki.freebsd.org/Releng/7.4TODO">[Lesen]</a></td>-->
</tr>
<tr>
<td></td>
<td>amd64</td>
<td><a href="&url.rel;/amd64/amd64/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/amd64/amd64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/i386/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/i386/i386/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>ia64</td>
<td><a href="&url.rel;/ia64/ia64/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/ia64/ia64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc</td>
<td><a href="&url.rel;/powerpc/powerpc/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
+ <!--
<tr>
<td></td>
<td>powerpc64</td>
<td><a href="&url.rel;/powerpc/powerpc64/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
+ -->
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/sparc64/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/sparc64/sparc64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
</tbody>
</table>
'>
]]>
<!ENTITY beta.second ''>
<![%beta.testing;[
<!ENTITY beta.desc '
<div xmlns="http://www.w3.org/1999/xhtml">
<a name="helptest"></a>
<h2>Beim Test der nächsten FreeBSD-Version&beta.plural; helfen</h2>
<p>Unsere Entwickler und Release-Ingenieure bereiten die
Veröffentlichung der nächsten
FreeBSD-Version&beta.plural; vor. Wenn Sie beim Test der
neuen Version&beta.plural; helfen wollen, können Sie
diese herunterladen. Beachten Sie dabei aber, dass
diese Versionen noch getestet werden müssen und daher für
eine Produktivumgebung nicht geeignet sind.</p>
<table class="tblbasic">
<thead>
<tr style="text-align: center;">
<td colspan="2">Version &amp; Plattform</td>
<td>Distribution</td>
<td title="ISO9660 CD image"><a href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/install-diff-media.html#install-cdrom">ISO</a></td>
<!--<td>Statusseite</td>-->
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">FreeBSD &betarel.current;-&betarel.vers;</td>
<td colspan="2"></td>
<!--<td rowspan="7"><a href="http://wiki.freebsd.org/Releng/&betarel.current;TODO">[View]</a></td>-->
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/amd64/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/amd64/amd64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/i386/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/i386/i386/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>ia64</td>
<td><a href="&url.rel;/ia64/ia64/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/ia64/ia64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<!--
<tr>
<td></td>
<td>pc98</td>
<td><a href="&url.rel;/pc98/i386/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/pc98/i386/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
-->
<tr>
<td></td>
<td>powerpc</td>
<td><a href="&url.rel;/powerpc/powerpc/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc64</td>
<td><a href="&url.rel;/powerpc/powerpc64/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/sparc64/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/sparc64/sparc64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
</tbody>
</table>
&beta.second;
</div>
'>
]]>
<!ENTITY beta.desc ''>
Index: projects/zfsupdate-201307/de_DE.ISO8859-1
===================================================================
--- projects/zfsupdate-201307/de_DE.ISO8859-1 (revision 42803)
+++ projects/zfsupdate-201307/de_DE.ISO8859-1 (revision 42804)
Property changes on: projects/zfsupdate-201307/de_DE.ISO8859-1
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
Merged /head/de_DE.ISO8859-1:r42573-42802
Index: projects/zfsupdate-201307/el_GR.ISO8859-7/share/xml/teams.ent
===================================================================
--- projects/zfsupdate-201307/el_GR.ISO8859-7/share/xml/teams.ent (revision 42803)
+++ projects/zfsupdate-201307/el_GR.ISO8859-7/share/xml/teams.ent (revision 42804)
@@ -1,63 +1,65 @@
<?xml version="1.0" encoding="iso-8859-7"?>
<!--
Ôá ïíüìáôá êáé ïé äéåõèýóåéò ôùí ïìÜäùí ðïõ Ý÷ïõí óõãêåêñéìÝíç
åñãáóßá. ÓõíÞèùò åßíáé áðëþò aliases óôï hub.FreeBSD.org
Íá ÷ñçóéìïðïéåßôå áõôÝò ôéò entities üôáí áíáöÝñåóôå óå êÜðïéá
óõãêåêñéìÝíç ïìÜäá.
Ðáñáêáëþ êñáôÞóôå áõôÞ ôç ëßóôá óôçí ßäéá óåéñÜ ðïõ Ý÷ïõí ïé email
äéåõèýíóåéò óôï Áããëéêü ðñùôüôõðï. ¸ôóé ìåéþíïíôáé ôá conflicts üôáí
êÜíåôå merge ôéò áëëáãÝò áðü ÁããëéêÜ -> ÅëëçíéêÜ.
ÓÇÌÁÍÔÉÊÏ: Áí óâÞóåôå êÜðïéá áðü áõôÝò ôéò ïíôüôçôåò èá ðñÝðåé íá
áöáéñÝóåôå êáé ïðïéåóäÞðïôå ÷ñÞóåéò ôùí entities
õðÜñ÷ïõí óôá êåßìåíá. Áí äåí ôï êÜíåôå, èá Ý÷åé
*ðñüâëçìá* ç äçìéïõñãßá ôùí óôáôéêþí web óåëßäùí óôï
www.FreeBSD.org.
$FreeBSD$
%SOURCE% en_US.ISO8859-1/share/xml/teams.ent
%SRCID% 1.18
-->
<!ENTITY a.admins "Äéá÷åéñéóôÝò ÓõóôçìÜôùí ôïõ FreeBSD <email>admins@FreeBSD.org</email>">
<!ENTITY a.bugmeister "Äéá÷åéñéóôÝò ôçò ÂÜóçò Áíáöïñþí ÐñïâëçìÜôùí <email>bugmeister@FreeBSD.org</email>">
<!ENTITY a.core-secretary "ÃñáììáôÝáò ôçò ÏìÜäáò Core <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.cvsadm "Äéá÷åéñéóôÝò ôïõ CVS Repository <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.cvsup-master "ÓõíôïíéóôÞò Åîõðçñåôçôþí CVSup <email>cvs@FreeBSD.org</email>">
<!ENTITY a.dcvs "Äéá÷åéñéóôÝò ôïõ CVS doc Repository <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.doceng "ÏìÜäá Áñ÷éôåêôïíéêÞò ôçò Ôåêìçñßùóçò <email>doceng@FreeBSD.org</email>">
<!ENTITY a.donations "ÓõíôïíéóôÞò Äùñåþí <email>donations@FreeBSD.org</email>">
<!ENTITY a.faq "ÓõíôçñçôÞò FAQ <email>faq@FreeBSD.org</email>">
<!ENTITY a.ftp-master "ÓõíôïíéóôÞò Åîõðçñåôçôþí FTP <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.mirror-admin "ÓõíôïíéóôÞò Åîõðçñåôçôþí FTP/WWW <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.ncvs "Äéá÷åéñéóôÝò ôïõ CVS src Repository <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.perforce-admin "Äéá÷åéñéóôÝò ôïõ Perforce Repository <email>perforce-admin@FreeBSD.org</email>">
<!ENTITY a.pcvs "Äéá÷åéñéóôÝò ôïõ CVS ports Repository <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.portmgr "ÏìÜäá Äéá÷åßñéóçò ôùí Ports <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.portmgr-secretary "ÃñáììáôÝáò ÏìÜäáò Äéá÷åßñéóçò ôùí Ports <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.projcvs "Äéá÷åéñéóôÝò ôïõ CVS Third-Party Projects Repository <email>projcvs@FreeBSD.org</email>">
<!ENTITY a.re "ÏìÜäá ÏñãÜíùóçò ôùí Åêäüóåùí <email>re@FreeBSD.org</email>">
<!ENTITY a.security-officer "ÏìÜäá ÁóöÜëåéáò <email>security-officer@FreeBSD.org</email>">
+
+<!ENTITY a.secteam-secretary "Security Team Secretary <email>secteam-secretary@FreeBSD.org</email>">
Index: projects/zfsupdate-201307/el_GR.ISO8859-7
===================================================================
--- projects/zfsupdate-201307/el_GR.ISO8859-7 (revision 42803)
+++ projects/zfsupdate-201307/el_GR.ISO8859-7 (revision 42804)
Property changes on: projects/zfsupdate-201307/el_GR.ISO8859-7
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
Merged /head/el_GR.ISO8859-7:r42573-42802
Index: projects/zfsupdate-201307/en_US.ISO8859-1/articles/committers-guide/article.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/articles/committers-guide/article.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/articles/committers-guide/article.xml (revision 42804)
@@ -1,4658 +1,4697 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
"../../../share/xml/freebsd45.dtd" [
<!ENTITY ga "Google Analytics">
]>
<article lang='en'>
<articleinfo>
<title>Committer's Guide</title>
<corpauthor>The &os; Documentation Project</corpauthor>
<copyright>
<year>1999</year>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<year>2007</year>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<year>2012</year>
<year>2013</year>
<holder>The &os; Documentation Project</holder>
</copyright>
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.coverity;
&tm-attrib.ibm;
&tm-attrib.intel;
&tm-attrib.sparc;
&tm-attrib.general;
</legalnotice>
<pubdate>$FreeBSD$</pubdate>
<releaseinfo>$FreeBSD$</releaseinfo>
<abstract>
<para>This document provides information for the &os;
committer community. All new committers should read this
document before they start, and existing committers are
strongly encouraged to review it from time to time.</para>
<para>Almost all &os; developers have commit rights to one or
more repositories. However, a few developers do not, and some
of the information here applies to them as well. (For
instance, some people only have rights to work with the
Problem Report database). Please see <xref
linkend="non-committers"/> for more information.</para>
<para>This document may also be of interest to members of the
&os; community who want to learn more about how the project
works.</para>
</abstract>
</articleinfo>
<sect1 id="admin">
<title>Administrative Details</title>
<informaltable frame="none" orient="port" pgwide="1">
<tgroup cols="2">
<colspec colwidth="20*"/>
<colspec colwidth="80*"/>
<tbody>
<row>
<entry><emphasis>Login Methods</emphasis></entry>
<entry>&man.ssh.1;, protocol 2 only</entry>
</row>
<row>
<entry><emphasis>Main Shell Host</emphasis></entry>
<entry><hostid
role="fqdn">freefall.FreeBSD.org</hostid></entry>
</row>
<row>
<entry><emphasis><literal>src/</literal> Subversion
Root</emphasis></entry>
<entry><literal>svn+ssh://</literal><hostid
role="fqdn">svn.FreeBSD.org</hostid><filename>/base</filename>
(see also <xref
linkend="svn-getting-started-base-layout"/>).</entry>
</row>
<row>
<entry><emphasis><literal>doc/</literal> Subversion
Root</emphasis></entry>
<entry><literal>svn+ssh://</literal><hostid
role="fqdn">svn.FreeBSD.org</hostid><filename>/doc</filename>
(see also <xref
linkend="svn-getting-started-doc-layout"/>).</entry>
</row>
<row>
<entry><emphasis><literal>ports/</literal> Subversion
Root</emphasis></entry>
<entry><literal>svn+ssh://</literal><hostid
role="fqdn">svn.FreeBSD.org</hostid><filename>/ports</filename>
(see also <xref
linkend="svn-getting-started-ports-layout"/>).</entry>
</row>
<row>
<entry><emphasis>Internal Mailing Lists</emphasis></entry>
<entry>developers (technically called all-developers),
doc-developers, doc-committers, ports-developers,
ports-committers, src-developers, src-committers. (Each
project repository has its own -developers and
-committers mailing lists. Archives for these lists may
be found in files
<filename>/home/mail/<replaceable>repository-name</replaceable>-developers-archive</filename>
and
<filename>/home/mail/<replaceable>repository-name</replaceable>-committers-archive</filename>
on the <hostid role="domainname">FreeBSD.org</hostid>
cluster.)</entry>
</row>
<row>
<entry><emphasis>Core Team monthly
reports</emphasis></entry>
<entry><filename>/home/core/public/monthly-reports</filename>
on the <hostid role="domainname">FreeBSD.org</hostid>
cluster.</entry>
</row>
<row>
<entry><emphasis>Ports Management Team monthly
reports</emphasis></entry>
<entry><filename>/home/portmgr/public/monthly-reports</filename>
on the <hostid role="domainname">FreeBSD.org</hostid>
cluster.</entry>
</row>
<row>
<entry><emphasis>Noteworthy <literal>src/</literal> SVN
Branches</emphasis></entry>
<entry>
<literal>stable/8</literal> (8.X-STABLE),
<literal>stable/9</literal> (9.X-STABLE),
<literal>head</literal> (-CURRENT)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>&man.ssh.1; is required to connect to the project hosts.
For more information, see <xref linkend="ssh.guide"/>.</para>
<para>Useful links:</para>
<itemizedlist>
<listitem>
<para><ulink url="&url.base;/internal/">&os;
Project Internal Pages</ulink></para>
</listitem>
<listitem>
<para><ulink
url="&url.base;/internal/machines.html">&os; Project
Hosts</ulink></para>
</listitem>
<listitem>
<para><ulink
url="&url.base;/administration.html">&os; Project
Administrative Groups</ulink></para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="committer.types">
<title>Commit Bit Types</title>
<para>The &os; repository has a number of components which,
when combined, support the basic operating system source,
documentation, third party application ports infrastructure, and
various maintained utilities. When &os; commit bits are
allocated, the areas of the tree where the bit may be used are
specified. Generally, the areas associated with a bit reflect
who authorized the allocation of the commit bit. Additional
areas of authority may be added at a later date: when this
occurs, the committer should follow normal commit bit allocation
procedures for that area of the tree, seeking approval from the
appropriate entity and possibly getting a mentor for that area
for some period of time.</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="3">
<tbody>
<row>
<entry><emphasis>Committer Type</emphasis></entry>
<entry><emphasis>Responsible</emphasis></entry>
<entry><emphasis>Tree Components</emphasis></entry>
</row>
<row>
<entry>src</entry>
<entry>core@</entry>
<entry>src/, doc/ subject to appropriate review</entry>
</row>
<row>
<entry>doc</entry>
<entry>doceng@</entry>
<entry>doc/, src/ documentation</entry>
</row>
<row>
<entry>ports</entry>
<entry>portmgr@</entry>
<entry>ports/</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Commit bits allocated prior to the development of the notion
of areas of authority may be appropriate for use in many parts
of the tree. However, common sense dictates that a committer
who has not previously worked in an area of the tree seek review
prior to committing, seek approval from the appropriate
responsible party, and/or work with a mentor. Since the rules
regarding code maintenance differ by area of the tree, this is
as much for the benefit of the committer working in an area of
less familiarity as it is for others working on the tree.</para>
<para>Committers are encouraged to seek review for their work as
part of the normal development process, regardless of the area
of the tree where the work is occurring.</para>
<sect2>
<title>Policy for <filename>doc/</filename> Committer Activity
in <filename>src/</filename></title>
<itemizedlist>
<listitem>
<para>doc committers may commit documentation changes to src
files, such as man pages, READMEs, fortune databases,
calendar files, and comment fixes without approval from a
src committer, subject to the normal care and tending of
commits.</para>
</listitem>
<listitem>
<para>doc committers may commit minor src changes and fixes,
such as build fixes, small features, etc, with an
"Approved by" from a src committer.</para>
</listitem>
<listitem>
<para>doc committers may seek an upgrade to a src commit bit
by acquiring a mentor, who will propose the doc committer
to core. When approved, they will be added to 'access'
and the normal mentoring period will ensue, which will
involve a continuing of <quote>Approved by</quote> for
some period.</para>
</listitem>
<listitem>
<para>"Approved by" is only acceptable from non-mentored src
committers -- mentored committers can provide a "Reviewed
by" but not an "Approved by".</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="subversion-primer">
<title>Subversion Primer</title>
<para>It is assumed that you are already familiar with the basic
operation of the version control systems in use. Traditionally
this was CVS. Subversion is used for the <literal>src</literal>
tree as of May 2008, the <literal>doc/www</literal> tree as of
May 2012 and the <literal>ports</literal> tree as of July
2012.</para>
<para><ulink url="http://wiki.freebsd.org/SubversionMissing">There
is a list of things missing in Subversion when compared to
CVS</ulink>. The notes at <ulink
url="http://people.freebsd.org/~peter/svn_notes.txt"></ulink>
might also be useful.</para>
<sect2 id="svn-intro">
<title>Introduction</title>
<para>The &os; source repository switched from
<acronym>CVS</acronym> to Subversion on May 31st, 2008. The
first real <acronym>SVN</acronym> commit is
<emphasis>r179447</emphasis>.</para>
<para>The &os; <literal>doc/www</literal> repository switched
from <acronym>CVS</acronym> to Subversion on May 19th, 2012.
The first real <acronym>SVN</acronym> commit is
<emphasis>r38821</emphasis>.</para>
<note>
<para>Part of the <literal>doc/www</literal>
<acronym>CVS</acronym> to <acronym>SVN</acronym> conversion
included an infrastructural change to the build process.
The most notable change is the location of the
&os;&nbsp;website <literal>www</literal> tree, which has
been moved from
<literal>www/<replaceable>lang</replaceable>/</literal> to
<literal>head/<replaceable>lang</replaceable>/htdocs/</literal>.</para>
</note>
<para>The &os; <literal>ports</literal> repository switched
from <acronym>CVS</acronym> to Subversion on July 14th, 2012.
The first real <acronym>SVN</acronym> commit is
<emphasis>r300894</emphasis>.</para>
<para>There are mechanisms in place to automatically merge
changes back from the Subversion <literal>src</literal>
repository to the <acronym>CVS</acronym> repository for
some &os; branches (<literal>releng/6</literal> through
<literal>releng/9</literal>), however this is purely to
support pre-existing end-user installs and should not be
relied upon, recommended or advertised. Future branches
will not be exported to CVS at all. The
<literal>ports</literal> repository was exported to CVS
for a period of time to aid end user migration, but as of
28th February 2013 is no longer exported.</para>
<para>Subversion is not that different from
<acronym>CVS</acronym> when it comes to daily use, but there
are differences. Subversion has a number of features that
should make developers' lives easier. The most important
advantage to Subversion (and the reason why &os; switched) is
that it handles branches and merging much better than CVS
does. Some of the principal differences are:</para>
<itemizedlist>
<listitem>
<para>Commits are atomic.</para>
</listitem>
<listitem>
<para>Revision numbers apply across the repository&mdash;all
files that were modified in the same commit have the same
revision number.</para>
</listitem>
<listitem>
<para>Branching and tagging are namespace operations.</para>
</listitem>
<listitem>
<para>Directories are versioned.</para>
</listitem>
<listitem>
<para>Files and directories can have arbitrary, versioned
metadata attached to them.</para>
</listitem>
<listitem>
<para>Files and directories can be copied, with full history
tracking.</para>
</listitem>
<listitem>
<para>No more contortions due to <acronym>CVS</acronym>
weakness such as applying &man.patch.1; files at compile
time in order to avoid touching vendor branch code.</para>
</listitem>
<listitem>
<para>No more repo-copies.</para>
</listitem>
</itemizedlist>
<para>Subversion can be installed from the &os; Ports
Collection by issuing these commands:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/devel/subversion</userinput>
&prompt.root; <userinput>make clean install</userinput></screen>
</sect2>
<sect2 id="svn-getting-started">
<title>Getting Started</title>
<para>There are a few ways to obtain a working copy of the tree
from Subversion. This section will explain them.</para>
<sect3 id="svn-getting-started-direct-checkout">
<title>Direct Checkout</title>
<para>The first is to check out directly from the main
repository. For the <literal>src</literal> tree,
use:</para>
<screen>&prompt.user; <userinput>svn checkout svn+ssh://svn.freebsd.org/base/head /usr/src</userinput></screen>
<para>For the <literal>doc</literal> tree, use:</para>
<screen>&prompt.user; <userinput>svn checkout svn+ssh://svn.freebsd.org/doc/head /usr/doc</userinput></screen>
<para>For the <literal>ports</literal> tree, use:</para>
<screen>&prompt.user; <userinput>svn checkout svn+ssh://svn.freebsd.org/ports/head /usr/ports</userinput></screen>
<note>
<para>Though the remaining examples in this document are
written with the workflow of working with the
<literal>src</literal> tree in mind, the underlying
concepts are the same for working with the
<literal>doc</literal> and the <literal>ports</literal>
tree.
Ports related Subversion operations are listed in
<xref linkend="ports"/>.</para>
</note>
<para>The above command will check out a
<literal>CURRENT</literal> source tree as <filename
class="directory"><replaceable>/usr/src/</replaceable></filename>,
which can be any target directory on the local filesystem.
Omitting the final argument of that command causes the
working copy, in this case, to be named <quote>head</quote>,
but that can be renamed safely.</para>
<para><literal>svn+ssh</literal> means the
<acronym>SVN</acronym> protocol tunnelled over
<acronym>SSH</acronym>. The name of the server is
<literal>svn.freebsd.org</literal>, <literal>base</literal>
is the path to the repository, and <literal>head</literal>
is the subdirectory within the repository.</para>
<para>If your &os; login name is different from your login
name on your local machine, you must either include it in
the <acronym>URL</acronym> (for example
<literal>svn+ssh://jarjar@svn.freebsd.org/base/head</literal>),
or add an entry to your <filename>~/.ssh/config</filename>
in the form:</para>
<programlisting>Host svn.freebsd.org
User jarjar</programlisting>
<para>This is the simplest method, but it's hard to tell just
yet how much load it will place on the repository.
Subversion is much faster than <acronym>CVS</acronym>,
however.</para>
<note>
<para>The <command>svn diff</command> does not require
access to the server as <acronym>SVN</acronym> stores a
reference copy of every file in the working copy. This,
however, means that Subversion working copies are very
large in size.</para>
</note>
</sect3>
<sect3 id="svn-getting-started-checkout-from-a-mirror">
<title>Checkout from a Mirror</title>
<para>Check out a working copy from a mirror by
substituting the mirror's <acronym>URL</acronym> for
<literal>svn+ssh://svn.freebsd.org/base</literal>. This can
be an official mirror or a mirror maintained by
using <command>svnsync</command>.</para>
<para>There is a serious disadvantage to this method: every
time something is to be committed, a
<command>svn relocate</command> to the master repository has
to be done, remembering to <command>svn relocate</command>
back to the mirror after the commit. Also, since
<command>svn relocate</command> only works between
repositories that have the same UUID, some hacking of the
local repository's UUID has to occur before it is possible
to start using it.</para>
<para>Unlike with <acronym>CVS</acronym>,
the hassle of a local
<command>svnsync</command> mirror probably is not worth it
unless the network connectivity situation or other factors
demand it. If it is needed, see the end of this chapter for
information on how to set one up.</para>
</sect3>
<sect3 id="svn-getting-started-base-layout">
<title><literal>RELENG_*</literal> Branches and General
Layout</title>
<para>In <literal>svn+ssh://svn.freebsd.org/base</literal>,
<emphasis>base</emphasis> refers to the source tree.
Similarly, <emphasis>ports</emphasis> refers to the ports
tree, and so on. These are separate repositories with their
own change number sequences, access controls and commit
mail.</para>
<para>For the base repository, HEAD refers to the -CURRENT
tree. For example, <filename>head/bin/ls</filename> is what
would go into <filename>/usr/src/bin/ls</filename> in a
release. Some key locations are:</para>
<itemizedlist>
<listitem>
<para><emphasis>/head/</emphasis> which corresponds to
<literal>HEAD</literal>, also known as
<literal>-CURRENT</literal>.</para>
</listitem>
<listitem>
<para><emphasis>/stable/<replaceable>n</replaceable></emphasis>
which corresponds to
<literal>RELENG_<replaceable>n</replaceable></literal>.</para>
</listitem>
<listitem>
<para><emphasis>/releng/<replaceable>n.n</replaceable></emphasis>
which corresponds to
<literal>RELENG_<replaceable>n_n</replaceable></literal>.</para>
</listitem>
<listitem>
<para><emphasis>/release/<replaceable>n.n.n</replaceable></emphasis>
which corresponds to
<literal>RELENG_<replaceable>n_n_n</replaceable>_RELEASE</literal>.</para>
</listitem>
<listitem>
<para><emphasis>/vendor*</emphasis> is the vendor branch
import work area. This directory itself does not
contain branches, however its subdirectories do. This
contrasts with the <emphasis>stable</emphasis>,
<emphasis>releng</emphasis> and
<emphasis>release</emphasis> directories.</para>
</listitem>
<listitem>
<para><emphasis>/projects</emphasis> and
<emphasis>/user</emphasis> feature a branch work area,
like in Perforce. As above, the
<emphasis>/user</emphasis> directory does not contain
branches itself.</para>
</listitem>
</itemizedlist>
</sect3>
<sect3 id="svn-getting-started-doc-layout">
<title>&os; Documentation Project Branches and
Layout</title>
<para>In <literal>svn+ssh://svn.freebsd.org/doc</literal>,
<emphasis>doc</emphasis> refers to the repository root of
the source tree.</para>
<para>In general, most &os; Documentation Project work will be
done within the <filename>head/</filename> branch of the
documentation source tree.</para>
<para>&os; documentation is written and/or translated to
various languages, each in a separate
directory in the <filename>head/</filename>
branch.</para>
<para>Each translation set contains several subdirectories for
the various parts of the &os; Documentation Project. A few
noteworthy directories are:</para>
<itemizedlist>
<listitem>
<para><emphasis>/articles/</emphasis> contains the source
code for articles written by various &os;
contributors.</para>
</listitem>
<listitem>
<para><emphasis>/books/</emphasis> contains the source
code for the different books, such as the
&os;&nbsp;Handbook.</para>
</listitem>
<listitem>
<para><emphasis>/htdocs/</emphasis> contains the source
code for the &os;&nbsp;website.</para>
</listitem>
</itemizedlist>
</sect3>
<sect3 id="svn-getting-started-ports-layout">
<title>&os; Ports Tree Branches and Layout</title>
<para>In <literal>svn+ssh://svn.freebsd.org/ports</literal>,
<emphasis>ports</emphasis> refers to the repository root of the
ports tree.</para>
<para>In general, most &os; port work will be done within
the <filename>head/</filename> branch of the ports tree
which is the actual ports tree used to install software.
Some other key locations are:</para>
<itemizedlist>
<listitem>
<para><emphasis>/branches/RELENG_<replaceable>n_n_n</replaceable></emphasis>
which corresponds to
<literal>RELENG_<replaceable>n_n_n</replaceable></literal>
is used to merge back security updates in preparation
for a release.</para>
</listitem>
<listitem>
<para><emphasis>/tags/RELEASE_<replaceable>n_n_n</replaceable></emphasis>
which corresponds to
<literal>RELEASE_<replaceable>n_n_n</replaceable></literal>
represents a release tag of the ports tree.</para>
</listitem>
<listitem>
<para><emphasis>/tags/RELEASE_<replaceable>n</replaceable>_EOL</emphasis>
represents the end of life tag of a specific &os;
branch.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="svn-daily-use">
<title>Daily Use</title>
<para>This section will explain how to perform common day-to-day
operations with Subversion.</para>
<sect3 id="svn-daily-use-help">
<title>Help</title>
<para><acronym>SVN</acronym> has built in help documentation.
It can be accessed by typing the following command:</para>
<screen>&prompt.user; <userinput>svn help</userinput></screen>
<para>Additional information can be found in the
<ulink url="http://svnbook.red-bean.com/">Subversion
Book</ulink>.</para>
</sect3>
<sect3 id="svn-daily-use-checkout">
<title>Checkout</title>
<para>As seen earlier, to check out the &os; head
branch:</para>
<screen>&prompt.user; <userinput>svn checkout svn+ssh://svn.freebsd.org/base/head /usr/src</userinput></screen>
<para>At some point, more than just <literal>HEAD</literal>
will probably be useful, for instance when merging changes
to stable/7. Therefore, it may be useful to have a partial
checkout of the complete tree (a full checkout would be very
painful).</para>
<para>To do this, first check out the root of the
repository:</para>
<screen>&prompt.user; <userinput>svn checkout --depth=immediates svn+ssh://svn.freebsd.org/base</userinput></screen>
<para>This will give <literal>base</literal> with all the
files it contains (at the time of writing, just
<filename>ROADMAP.txt</filename>) and empty subdirectories
for <literal>head</literal>, <literal>stable</literal>,
<literal>vendor</literal> and so on.</para>
<para>Expanding the working copy is possible. Just change the
depth of the various subdirectories:</para>
<screen>&prompt.user; <userinput>svn up --set-depth=infinity base/head</userinput>
&prompt.user; <userinput>svn up --set-depth=immediates base/release base/releng base/stable</userinput></screen>
<para>The above command will pull down a full copy of
<literal>head</literal>, plus empty copies of every
<literal>release</literal> tag, every
<literal>releng</literal> branch, and every
<literal>stable</literal> branch.</para>
<para>If at a later date merging to
<literal>7-STABLE</literal> is required, expand the working
copy:</para>
<screen>&prompt.user; <userinput>svn up --set-depth=infinity base/stable/7</userinput></screen>
<para>Subtrees do not have to be expanded completely. For
instance, expanding only <literal>stable/7/sys</literal> and
then later expand the rest of
<literal>stable/7</literal>:</para>
<screen>&prompt.user; <userinput>svn up --set-depth=infinity base/stable/7/sys</userinput>
&prompt.user; <userinput>svn up --set-depth=infinity base/stable/7</userinput></screen>
<para>Updating the tree with <command>svn update</command>
will only update what was previously asked for (in this
case, <literal>head</literal> and
<literal>stable/7</literal>; it will not pull down the whole
tree.</para>
<note>
<para>Decreasing the depth of a working copy is not
possible.</para>
</note>
</sect3>
<sect3 id="svn-daily-use-anonymous-checkout">
<title>Anonymous Checkout</title>
<para>It is possible to anonymously check out the &os;
repository with Subversion. This will give access to a
read-only tree that can be updated, but not committed back
to the main repository. To do this, use the following command:</para>
<screen>&prompt.user; <userinput>svn co <replaceable>https://svn0.us-west.FreeBSD.org</replaceable>/base/head /usr/src</userinput></screen>
<para>Select the closest mirror and verify the mirror server
certificate from the list of <ulink
url="&url.books.handbook;/svn-mirrors.html">Subversion
mirror sites</ulink>.</para>
</sect3>
<sect3 id="svn-daily-use-updating-the-tree">
<title>Updating the Tree</title>
<para>To update a working copy to either the latest revision,
or a specific revision:</para>
<screen>&prompt.user; <userinput>svn update</userinput>
&prompt.user; <userinput>svn update -<replaceable>r12345</replaceable></userinput></screen>
</sect3>
<sect3 id="svn-daily-use-status">
<title>Status</title>
<para>To view the local changes that have been made to the
working copy:</para>
<screen>&prompt.user; <userinput>svn status</userinput></screen>
<para>To show local changes and files that are out-of-date
do:</para>
<screen>&prompt.user; <userinput>svn status --show-updates</userinput></screen>
</sect3>
<sect3 id="svn-daily-use-editing-and-committing">
<title>Editing and Committing</title>
<para>Unlike Perforce, <acronym>SVN</acronym> does not need to
be told in advance about file editing.</para>
<para><command>svn commit</command> works like the equivalent
<acronym>CVS</acronym> command. To commit all changes in
the current directory and all subdirectories:</para>
<screen>&prompt.user; <userinput>svn commit</userinput></screen>
<para>To commit all changes in, for example, <filename
class="directory"><replaceable>lib/libfetch/</replaceable></filename>
and <filename
class="directory"><replaceable>usr/bin/fetch/</replaceable></filename>
in a single operation:</para>
<screen>&prompt.user; <userinput>svn commit <replaceable>lib/libfetch</replaceable> <replaceable>usr/bin/fetch</replaceable></userinput></screen>
<para>There is also a commit wrapper for the ports tree to
handle the properties and sanity checking your
changes:</para>
<screen>&prompt.user; <userinput>/usr/ports/Tools/scripts/psvn commit
</userinput></screen>
</sect3>
<sect3 id="svn-daily-use-adding-and-removing">
<title>Adding and Removing Files</title>
<note>
<para>Before adding files, get a copy of <ulink
url="http://people.freebsd.org/~peter/auto-props.txt">auto-props.txt</ulink>
(there is also a <ulink
url="http://people.freebsd.org/~beat/cvs2svn/auto-props.txt">
ports tree specific version</ulink>)
and add it to <filename>~/.subversion/config</filename>
according to the instructions in the file. If you added
something before reading this, use
<command>svn rm --keep-local</command> for just added
files, fix your config file and re-add them again. The
initial config file is created when you first run a svn
command, even something as simple as
<command>svn help</command>.</para>
</note>
<para>Files are added to a
<acronym>SVN</acronym> repository with <command>svn
add</command>. To add a file named
<emphasis>foo</emphasis>, edit it, then:</para>
<screen>&prompt.user; <userinput>svn add <replaceable>foo</replaceable></userinput></screen>
<note>
<para>Most new source files should include a
<literal>&dollar;&os;&dollar;</literal> string near the start of the
file. On commit, <command>svn</command> will expand
the <literal>&dollar;&os;&dollar;</literal> string,
adding the file path, revision number, date and time of
commit, and the username of the committer. Files which
cannot be modified may be committed without the
<literal>&dollar;&os;&dollar;</literal> string.</para>
</note>
<para>Files can be removed with <command>svn
remove</command>:</para>
<screen>&prompt.user; <userinput>svn remove <replaceable>foo</replaceable></userinput></screen>
<para>Subversion does not require deleting the file before
using <command>svn rm</command>, and indeed complains if
that happens.</para>
<para>It is possible to add directories with
<command>svn add</command>:</para>
<screen>&prompt.user; <userinput>mkdir <replaceable>bar</replaceable></userinput>
&prompt.user; <userinput>svn add <replaceable>bar</replaceable></userinput></screen>
<para>Although <command>svn mkdir</command> makes this easier
by combining the creation of the directory and the adding of
it:</para>
<screen>&prompt.user; <userinput>svn mkdir <replaceable>bar</replaceable></userinput></screen>
<para>Like files, directories are removed with
<command>svn rm</command>. There is no separate command
specifically for removing directories.</para>
<screen>&prompt.user; <userinput>svn rm <replaceable>bar</replaceable></userinput></screen>
</sect3>
<sect3 id="svn-daily-use-copying-and-moving">
<title>Copying and Moving Files</title>
<para>This command creates a copy of
<filename>foo.c</filename> named <filename>bar.c</filename>,
with the new file also under version control:</para>
<screen>&prompt.user; <userinput>svn copy <replaceable>foo.c</replaceable> <replaceable>bar.c</replaceable></userinput></screen>
<para>The example above is equivalent to:</para>
<screen>&prompt.user; <userinput>cp foo.c bar.c</userinput>
&prompt.user; <userinput>svn add bar.c</userinput></screen>
<para>To move and rename a file:</para>
<screen>&prompt.user; <userinput>svn move <replaceable>foo.c</replaceable> <replaceable>bar.c</replaceable></userinput></screen>
</sect3>
<sect3 id="svn-daily-use-log-and-annotate">
<title>Log and Annotate</title>
<para><command>svn log</command> shows revisions and commit
messages, most recent first, for files or directories. When
used on a directory, all revisions that affected the
directory and files within that directory are shown.</para>
<para><command>svn annotate</command>, or equally <command>svn
praise</command> or <command>svn blame</command>, shows
the most recent revision number and who committed that
revision for each line of a file.</para>
</sect3>
<sect3 id="svn-daily-use-diffs">
<title>Diffs</title>
<para><command>svn diff</command> displays changes to the
working copy. Diffs generated by <acronym>SVN</acronym> are
unified and include new files by default in the diff
output.</para>
<para><command>svn diff</command> can show the changes between
two revisions of the same file:</para>
<screen>&prompt.user; <userinput>svn diff -r179453:179454 ROADMAP.txt</userinput></screen>
<para>It can also show all changes for a specific changeset.
The following will show what changes were made to the
current directory and all subdirectories in changeset
179454:</para>
<screen>&prompt.user; <userinput>svn diff -c179454 .</userinput></screen>
</sect3>
<sect3 id="svn-daily-use-reverting">
<title>Reverting</title>
<para>Local changes (including additions and deletions) can be
reverted using <command>svn revert</command>. It does not
update out-of-date files, but just replaces them with
pristine copies of the original version.</para>
</sect3>
<sect3 id="svn-daily-use-conflicts">
<title>Conflicts</title>
<para>If an <command>svn update</command> resulted in a merge
conflict, Subversion will remember which files have
conflicts and refuse to commit any changes to those files
until explicitly told that the conflicts have been resolved.
The simple, not yet deprecated procedure is the
following:</para>
<screen>&prompt.user; <userinput>svn resolved <replaceable>foo</replaceable></userinput></screen>
<para>However, the preferred procedure is:</para>
<screen>&prompt.user; <userinput>svn resolve --accept=working <replaceable>foo</replaceable></userinput></screen>
<para>The two examples are equivalent. Possible values for
<literal>--accept</literal> are:</para>
<itemizedlist>
<listitem>
<para><literal>working</literal>: use the version in your
working directory (which one presumes has been edited to
resolve the conflicts).</para>
</listitem>
<listitem>
<para><literal>base</literal>: use a pristine copy of the
version you had before <command>svn update</command>,
discarding your own changes, the conflicting changes,
and possibly other intervening changes as well.</para>
</listitem>
<listitem>
<para><literal>mine-full</literal>: use what you had
before <command>svn update</command>, including your own
changes, but discarding the conflicting changes, and
possibly other intervening changes as well.</para>
</listitem>
<listitem>
<para><literal>theirs-full</literal>: use the version that
was retrieved when you did
<command>svn update</command>, discarding your own
changes.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2>
<title>Advanced Use</title>
<sect3 id="svn-advanced-use-sparse-checkouts">
<title>Sparse Checkouts</title>
<para><acronym>SVN</acronym> allows
<emphasis>sparse</emphasis>, or partial checkouts of a
directory by adding <option>--depth</option> to a
<command>svn checkout</command>.</para>
<para>Valid arguments to <option>--depth</option>
are:</para>
<itemizedlist>
<listitem>
<para><literal>empty</literal>: the directory itself
without any of its contents.</para>
</listitem>
<listitem>
<para><literal>files</literal>: the directory and any
files it contains.</para>
</listitem>
<listitem>
<para><literal>immediates</literal>: the directory and any
files and directories it contains, but none of the
subdirectories' contents.</para>
</listitem>
<listitem>
<para><literal>infinity</literal>: anything.</para>
</listitem>
</itemizedlist>
<para>The <literal>--depth</literal> option applies to many
other commands, including <command>svn commit</command>,
<command>svn revert</command>, and <command>svn
diff</command>.</para>
<para>Since <literal>--depth</literal> is sticky, there is a
<literal>--set-depth</literal> option for <command>svn
update</command> that will change the selected depth.
Thus, given the working copy produced by the previous
example:</para>
<screen>&prompt.user; <userinput>cd <replaceable>~/freebsd</replaceable></userinput>
&prompt.user; <userinput>svn update --set-depth=immediates .</userinput></screen>
<para>The above command will populate the working copy in
<replaceable>~/freebsd</replaceable> with
<filename>ROADMAP.txt</filename> and empty subdirectories,
and nothing will happen when <command>svn update</command>
is executed on the subdirectories. However, the following
command will set the depth for
<replaceable>head</replaceable> (in this case) to infinity,
and fully populate it:</para>
<screen>&prompt.user; <userinput>svn update --set-depth=infinity <replaceable>head</replaceable></userinput></screen>
</sect3>
<sect3 id="svn-advanced-use-direct-operation">
<title>Direct Operation</title>
<para>Certain operations can be performed directly on the
repository without touching the working copy. Specifically,
this applies to any operation that does not require editing
a file, including:</para>
<itemizedlist>
<listitem>
<para><literal>log</literal>,
<literal>diff</literal></para>
</listitem>
<listitem>
<para><literal>mkdir</literal></para>
</listitem>
<listitem>
<para><literal>remove</literal>, <literal>copy</literal>,
<literal>rename</literal></para>
</listitem>
<listitem>
<para><literal>propset</literal>,
<literal>propedit</literal>,
<literal>propdel</literal></para>
</listitem>
<listitem>
<para><literal>merge</literal></para>
</listitem>
</itemizedlist>
<para>Branching is very fast. The following command would be
used to branch <literal>RELENG_8</literal>:</para>
<screen>&prompt.user; <userinput>svn copy svn+ssh://svn.freebsd.org/base/head svn+ssh://svn.freebsd.org/base/stable/8</userinput></screen>
<para>This is equivalent to the following set of commands
which take minutes and hours as opposed to seconds,
depending on your network connection:</para>
<screen>&prompt.user; <userinput>svn checkout --depth=immediates svn+ssh://svn.freebsd.org/base</userinput>
&prompt.user; <userinput>cd base</userinput>
&prompt.user; <userinput>svn update --depth=infinity head</userinput>
&prompt.user; <userinput>svn copy head stable/8</userinput>
&prompt.user; <userinput>svn commit stable/8</userinput></screen>
</sect3>
<sect3 id="svn-advanced-use-merging">
<title>Merging with <acronym>SVN</acronym></title>
<para>This section deals with merging code from one branch to
another (typically, from head to a stable branch).</para>
<note>
<para>In all examples below, <literal>&dollar;FSVN</literal>
refers to the location of the &os; Subversion repository,
<literal>svn+ssh://svn.freebsd.org/base/</literal>.</para>
</note>
<sect4>
<title>About Merge Tracking</title>
<para>From the user's perspective, merge tracking
information (or mergeinfo) is stored in a property called
<literal>svn:mergeinfo</literal>, which is a
comma-separated list of revisions and ranges of revisions
that have been merged. When set on a file, it applies
only to that file. When set on a directory, it applies to
that directory and its descendants (files and directories)
except for those that have their own
<literal>svn:mergeinfo</literal>.</para>
<para>It is <emphasis>not</emphasis> inherited. For
instance, <filename
class="directory">stable/6/contrib/openpam/</filename>
does not implicitly inherit mergeinfo from
<filename class="directory">stable/6/</filename>, or
<filename class="directory">stable/6/contrib/</filename>.
Doing so would make partial checkouts very hard to manage.
Instead, mergeinfo is explicitly propagated down the tree.
For merging something into
<filename class="directory">branch/foo/bar/</filename>,
the following rules apply:</para>
<orderedlist>
<listitem>
<para>If
<filename class="directory">branch/foo/bar/</filename>
does not already have a mergeinfo record, but a direct
ancestor (for instance,
<filename class="directory">branch/foo/</filename>)
does, then that record will be propagated down to
<filename class="directory">branch/foo/bar/</filename>
before information about the current merge is
recorded.</para>
</listitem>
<listitem>
<para>Information about the current merge will
<emphasis>not</emphasis> be propagated back up that
ancestor.</para>
</listitem>
<listitem>
<para>If a direct descendant of
<filename class="directory">branch/foo/bar/</filename>
(for instance, <filename
class="directory">branch/foo/bar/baz/</filename>)
already has a mergeinfo record, information about the
current merge will be propagated down to it.</para>
</listitem>
</orderedlist>
<para>If you consider the case where a revision changes
several separate parts of the tree (for example, <filename
class="directory">branch/foo/bar/</filename> and
<filename class="directory">branch/foo/quux/</filename>),
but you only want to merge some of it (for example,
<filename class="directory">branch/foo/bar/</filename>),
you will see that these rules make sense. If mergeinfo
was propagated up, it would seem like that revision had
also been merged to <filename
class="directory">branch/foo/quux/</filename>, when in
fact it had not been.</para>
</sect4>
<sect4>
<title>Selecting the Source and Target</title>
<para>Because of mergeinfo propagation, it is important to
choose the source and target for the merge carefully to
minimise property changes on unrelated directories.</para>
<para>The rules for selecting the merge target (the
directory that you will merge the changes to) can be
summarized as follows:</para>
<orderedlist>
<listitem>
<para>Never merge directly to a file.</para>
</listitem>
<listitem>
<para>Never, ever merge directly to a file.</para>
</listitem>
<listitem>
<para><emphasis>Never, ever, ever</emphasis> merge
directly to a file.</para>
</listitem>
<listitem>
<para>Changes to kernel code should be merged to
<filename class="directory">sys/</filename>. For
instance, a change to the &man.ichwd.4; driver should
be merged to
<filename class="directory">sys/</filename>, not
<filename class="directory">sys/dev/ichwd/</filename>.
Likewise, a change to the TCP/IP stack should be
merged to <filename class="directory">sys/</filename>,
not <filename
class="directory">sys/netinet/</filename>.</para>
</listitem>
<listitem>
<para>Changes to code under
<filename class="directory">etc/</filename> should be
merged at <filename class="directory">etc/</filename>,
not below it.</para>
</listitem>
<listitem>
<para>Changes to vendor code (code in
<filename class="directory">contrib/</filename>,
<filename class="directory">crypto/</filename> and so
on) should be merged to the directory where vendor
imports happen. For instance, a change to <filename
class="directory">crypto/openssl/util/</filename>
should be merged to <filename
class="directory">crypto/openssl/</filename>. This
is rarely an issue, however, since changes to vendor
code are usually merged wholesale.</para>
</listitem>
<listitem>
<para>Changes to userland programs should as a general
rule be merged to the directory that contains the
Makefile for that program. For instance, a change to
<filename
class="directory">usr.bin/xlint/arch/i386/</filename>
should be merged to <filename
class="directory">usr.bin/xlint/</filename>.</para>
</listitem>
<listitem>
<para>Changes to userland libraries should as a general
rule be merged to the directory that contains the
Makefile for that library. For instance, a change to
<filename class="directory">lib/libc/gen/</filename>
should be merged to <filename
class="directory">lib/libc/</filename>.</para>
</listitem>
<listitem>
<para>There may be cases where it makes sense to deviate
from the rules for userland programs and libraries.
For instance, everything under <filename
class="directory">lib/libpam/</filename> is merged
to <filename class="directory">lib/libpam/</filename>,
even though the library itself and all of the modules
each have their own Makefile.</para>
</listitem>
<listitem>
<para>Changes to manual pages should be merged to
<filename
class="directory">share/man/man<replaceable>N</replaceable>/</filename>,
for the appropriate value of
<literal>N</literal>.</para>
</listitem>
<listitem>
<para>Other changes to
<filename class="directory">share/</filename> should
be merged to the appropriate subdirectory and not to
<filename class="directory">share/</filename>
directly.</para>
</listitem>
<listitem>
<para>Changes to a top-level file in the source tree
such as <filename>UPDATING</filename> or
<filename>Makefile.inc1</filename> should be merged
directly to that file rather than to the root of the
whole tree. Yes, this is an exception to the first
three rules.</para>
</listitem>
<listitem>
<para>When in doubt, ask.</para>
</listitem>
</orderedlist>
<para>If you need to merge changes to several places at once
(for instance, changing a kernel interface and every
userland program that uses it), merge each target
separately, then commit them together. For instance, if
you merge a revision that changed a kernel
<acronym>API</acronym> and updated all the userland bits
that used that <acronym>API</acronym>, you would merge the
kernel change to sys, and the userland bits to the
appropriate userland directories, then commit all of these
in one go.</para>
<para>The source will almost invariably be the same as the
target. For instance, you will always merge <filename
class="directory">stable/7/lib/libc/</filename> from
<filename class="directory">head/lib/libc/</filename>.
The only exception would be when merging changes to code
that has moved in the source branch but not in the parent
branch. For instance, a change to &man.pkill.1; would be
merged from <filename
class="directory">bin/pkill/</filename> in head to
<filename class="directory">usr.bin/pkill/</filename> in
stable/7.</para>
</sect4>
<sect4>
<title>Preparing the Merge Target</title>
<para>Because of the mergeinfo propagation issues described
earlier, it is very important that you never merge changes
into a sparse working copy. You must always have a full
checkout of the branch you will merge into. For instance,
when merging from HEAD to 7, you must have a full checkout
of stable/7:</para>
<screen>&prompt.user; <userinput>cd stable/7</userinput>
&prompt.user; <userinput>svn up --set-depth=infinity</userinput></screen>
<para>The target directory must also be up-to-date and must
not contain any uncommitted changes or stray files.</para>
</sect4>
<sect4>
<title>Identifying Revisions</title>
<para>Identifying revisions to be merged is a must. If the
target already has complete mergeinfo, ask
<acronym>SVN</acronym> for a list:</para>
<screen>&prompt.user; <userinput>cd stable/6/contrib/openpam</userinput>
&prompt.user; <userinput>svn mergeinfo --show-revs=eligible $FSVN/head/contrib/openpam</userinput></screen>
<para>If the target does not have complete mergeinfo, check
the log for the merge source.</para>
</sect4>
<sect4>
<title>Merging</title>
<para>Now, let us start merging!</para>
<sect5>
<title>The Principles</title>
<para>Say you would like to merge:</para>
<itemizedlist>
<listitem>
<para>revision <literal>&dollar;R</literal></para>
</listitem>
<listitem>
<para>in directory &dollar;target in stable branch
&dollar;B</para>
</listitem>
<listitem>
<para>from directory &dollar;source in head</para>
</listitem>
<listitem>
<para>&dollar;FSVN is
<literal>svn+ssh://svn.freebsd.org/base</literal></para>
</listitem>
</itemizedlist>
<para>Assuming that revisions &dollar;P and &dollar;Q have
already been merged, and that the current directory is
an up-to-date working copy of stable/&dollar;B, the
existing mergeinfo looks like this:</para>
<screen>&prompt.user; <userinput>svn propget svn:mergeinfo -R $target</userinput>
$target - /head/$source:$P,$Q</screen>
<para>Merging is done like so:</para>
<screen>&prompt.user; <userinput>svn merge -c$R $FSVN/head/$source $target</userinput></screen>
<para>Checking the results of this is possible with
<command>svn diff</command>.</para>
<para>The svn:mergeinfo now looks like:</para>
<screen>&prompt.user; <userinput>svn propget svn:mergeinfo -R $target</userinput>
$target - head/$source:$P,$Q,$R</screen>
<para>If the results are not exactly as shown, assistance
may be required before committing as mistakes may have
been made, or there may be something wrong with the
existing mergeinfo, or there may be a bug in
Subversion.</para>
</sect5>
<sect5>
<title>Practical Example</title>
<para>As a practical example, consider the following
scenario: The changes to <filename>netmap.4</filename>
in r238987 is to be merged from CURRENT to 9-STABLE.
The file resides in <filename
class="directory">head/share/man/man4</filename> and
according to <xref linkend="svn-advanced-use-merging"/>
this is also where to do the merge. Note that in this
example all paths are relative to the top of the svn
repository. For more information on the directory
layout, see <xref
linkend="svn-getting-started-base-layout"/>.</para>
<para>The first step is to inspect the existing
mergeinfo.</para>
<screen>&prompt.user; <userinput>svn propget svn:mergeinfo -R stable/9/share/man/man4</userinput></screen>
<para>Take a quick note of how it looks before moving on
to the next step; doing the actual merge:</para>
<screen>&prompt.user; <userinput>svn merge -c r238987 svn+ssh://svn.freebsd.org/base/head/share/man/man4 stable/9/share/man/man4</userinput>
--- Merging r238987 into 'stable/9/share/man/man4':
U stable/9/share/man/man4/netmap.4
--- Recording mergeinfo for merge of r238987 into
'stable/9/share/man/man4':
U stable/9/share/man/man4</screen>
<para>Check that the revision number of the merged
revision has been added. Once this is verified, the
only thing left is the actual commit.</para>
<screen>&prompt.user; <userinput>svn commit stable/9/share/man/man4</userinput></screen>
</sect5>
<sect5>
<title>Merging into the Kernel
(<filename class="directory">sys/</filename>)</title>
<para>As stated above, merging into the kernel is
different from merging in the rest of the tree. In many
ways merging to the kernel is simpler because there is
always the same merge target
(<filename class="directory">sys/</filename>).</para>
<para>Once <command>svn merge</command> has been executed,
<command>svn diff</command> has to be run on the
directory to check the changes. This may show some
unrelated property changes, but these can be ignored.
Next, build and test the kernel, and, once the tests are
complete, commit the code as normal, making sure that
the commit message starts with <quote>Merge
<replaceable>r226222</replaceable> from head</quote>,
or similar.</para>
</sect5>
</sect4>
<sect4>
<title>Precautions Before Committing</title>
<para>As always, build world (or appropriate parts of
it).</para>
<para>Check the changes with <command>svn diff</command> and
<command>svn stat</command>. Make sure all the files that
should have been added or deleted were in fact added or
deleted.</para>
<para>Take a closer look at any property change (marked by a
<literal>M</literal> in the second column of <command>svn
stat</command>). Normally, no svn:mergeinfo properties
should be anywhere except the target directory (or
directories).</para>
<para>If something looks fishy, ask for help.</para>
</sect4>
<sect4>
<title>Committing</title>
<para>Make sure to commit a top level directory to have the
mergeinfo included as well. Do not specify individual
files on the command line. For more information about
committing files in general, see the relevant section of
this primer.</para>
</sect4>
</sect3>
<sect3 id="svn-advanced-use-vendor-imports">
<title>Vendor Imports with <acronym>SVN</acronym></title>
<important>
<para>Please read this entire section before starting a
vendor import.</para>
</important>
<note>
<para>Patches to vendor code fall into two
categories:</para>
<itemizedlist>
<listitem>
<para>Vendor patches: these are patches that have been
issued by the vendor, or that have been extracted from
the vendor's version control system, which address
issues which in your opinion cannot wait until the
next vendor release.</para>
</listitem>
<listitem>
<para>&os; patches: these are patches that modify the
vendor code to address &os;-specific issues.</para>
</listitem>
</itemizedlist>
<para>The nature of a patch dictates where it should be
committed:</para>
<itemizedlist>
<listitem>
<para>Vendor patches should be committed to the vendor
branch, and merged from there to head. If the patch
addresses an issue in a new release that is currently
being imported, it <emphasis>must not</emphasis> be
committed along with the new release: the release must
be imported and tagged first, then the patch can be
applied and committed. There is no need to re-tag the
vendor sources after committing the patch.</para>
</listitem>
<listitem>
<para>&os; patches should be committed directly to
head.</para>
</listitem>
</itemizedlist>
</note>
<sect4>
<title>Preparing the Tree</title>
<para>If importing for the first time after the switch to
Subversion, flattening and cleaning up the vendor tree is
necessary, as well as bootstrapping the merge history in
the main tree.</para>
<sect5>
<title>Flattening</title>
<para>During the conversion from <acronym>CVS</acronym> to
Subversion, vendor branches were imported with the same
layout as the main tree. This means that the
<literal>pf</literal> vendor sources ended up in
<filename>vendor/pf/dist/contrib/pf</filename>. The
vendor source is best directly in
<filename>vendor/pf/dist</filename>.</para>
<para>To flatten the <literal>pf</literal> tree:</para>
<screen>&prompt.user; <userinput>cd <replaceable>vendor/pf/dist/contrib/pf</replaceable></userinput>
&prompt.user; <userinput>svn mv $(svn list) ../..</userinput>
&prompt.user; <userinput>cd ../..</userinput>
&prompt.user; <userinput>svn rm contrib</userinput>
&prompt.user; <userinput>svn propdel -R svn:mergeinfo .</userinput>
&prompt.user; <userinput>svn commit</userinput></screen>
<para>The <literal>propdel</literal> bit is necessary
because starting with 1.5, Subversion will automatically
add <literal>svn:mergeinfo</literal> to any directory
that is copied or moved. In this case, as nothing is
being merged from the deleted tree, they just get in the
way.</para>
<para>Tags may be flattened as well (3, 4, 3.5 etc.); the
procedure is exactly the same, only changing
<literal>dist</literal> to <literal>3.5</literal> or
similar, and putting the <command>svn commit</command>
off until the end of the process.</para>
</sect5>
<sect5>
<title>Cleaning Up</title>
<para>The <literal>dist</literal> tree can be cleaned up
as necessary. Disabling keyword expansion is
recommended, as it makes no sense on unmodified vendor
code and in some cases it can even be harmful.
<application>OpenSSH</application>, for example,
includes two files that originated with &os; and still
contain the original version tags. To do this:</para>
<screen>&prompt.user; <userinput>svn propdel svn:keywords -R .</userinput>
-&prompt.root; <userinput>svn commit</userinput></screen>
+&prompt.user; <userinput>svn commit</userinput></screen>
</sect5>
<sect5>
<title>Bootstrapping Merge History</title>
<para>If importing for the first time after the switch to
Subversion, bootstrap <literal>svn:mergeinfo</literal>
on the target directory in the main tree to the revision
that corresponds to the last related change to the
vendor tree, prior to importing new sources:</para>
<screen>&prompt.user; <userinput>cd <replaceable>head/contrib/pf</replaceable></userinput>
&prompt.user; <userinput>svn merge --record-only svn+ssh://svn.freebsd.org/base/<replaceable>vendor/pf/dist@180876</replaceable> .</userinput>
&prompt.user; <userinput>svn commit</userinput></screen>
</sect5>
</sect4>
<sect4>
<title>Importing New Sources</title>
<para>With two commits&mdash;one for the import itself and
one for the tag&mdash;this step can optionally be repeated
for every upstream release between the last import and the
current import.</para>
<sect5>
<title>Preparing the Vendor Sources</title>
<para>Unlike in <acronym>CVS</acronym> where only the
needed parts were imported into the vendor tree to avoid
bloating the main tree, Subversion is able to store a
full distribution in the vendor tree. So, import
everything, but merge only what is required.</para>
<para>A <command>svn add</command> is required to add any
files that were added since the last vendor import, and
<command>svn rm</command> is required to remove any that
were removed since. Preparing sorted lists of the
contents of the vendor tree and of the sources that are
about to be imported is recommended, to facilitate the
process.</para>
<screen>&prompt.user; <userinput>cd <replaceable>vendor/pf/dist</replaceable></userinput>
&prompt.user; <userinput>svn list -R | grep -v '/$' | sort >../old</userinput>
&prompt.user; <userinput>cd <replaceable>../pf-4.3</replaceable></userinput>
&prompt.user; <userinput>find . -type f | cut -c 3- | sort >../new</userinput></screen>
<para>With these two files,
<command>comm -23 ../old ../new</command> will list
removed files (files only in <filename>old</filename>),
while <command>comm -13 ../old ../new</command> will
list added files only in
<filename>new</filename>.</para>
</sect5>
<sect5>
<title>Importing into the Vendor Tree</title>
<para>Now, the sources must be copied into
<filename><replaceable>dist</replaceable></filename> and
the <command>svn add</command> and
<command>svn rm</command> commands should be used as
needed:</para>
<screen>&prompt.user; <userinput>cd <replaceable>vendor/pf/pf-4.3</replaceable></userinput>
&prompt.user; <userinput>tar cf - . | tar xf - -C ../dist</userinput>
&prompt.user; <userinput>cd <replaceable>../dist</replaceable></userinput>
&prompt.user; <userinput>comm -23 ../old ../new | xargs svn rm</userinput>
&prompt.user; <userinput>comm -13 ../old ../new | xargs svn --parents add</userinput></screen>
<para>If any directories were removed, they will have to
be <command>svn rm</command>ed manually. Nothing will
break if they are not, but they will remain in the
tree.</para>
<para>Check properties on any new files. All text files
should have <literal>svn:eol-style</literal> set to
<literal>native</literal>. All binary files should have
<literal>svn:mime-type</literal> set to
<literal>application/octet-stream</literal> unless there
is a more appropriate media type. Executable files
should have <literal>svn:executable</literal> set to
<literal>*</literal>. No other properties should exist
on any file in the tree.</para>
<para>Committing is now possible, however it is good
practice to make sure that everything is OK by using the
<command>svn stat</command> and
<command>svn diff</command> commands.</para>
</sect5>
<sect5>
<title>Tagging</title>
<para>Once committed, vendor releases should be tagged for
future reference. The best and quickest way to do this
is directly in the repository:</para>
<screen>&prompt.user; <userinput>svn cp svn+ssh://svn.freebsd.org/base/<replaceable>vendor/pf/dist</replaceable> svn+ssh://svn.freebsd.org/base/<replaceable>vendor/pf/4.3</replaceable></userinput></screen>
<para>Once that is complete, <command>svn up</command> the
working copy of
<filename><replaceable>vendor/pf</replaceable></filename>
to get the new tag, although this is rarely
needed.</para>
<para>If creating the tag in the working copy of the tree,
<command>svn:mergeinfo</command> results must be
removed:</para>
<screen>&prompt.user; <userinput>cd <replaceable>vendor/pf</replaceable></userinput>
&prompt.user; <userinput>svn cp dist 4.3</userinput>
&prompt.user; <userinput>svn propdel svn:mergeinfo -R 4.3</userinput></screen>
</sect5>
</sect4>
<sect4>
<title>Merging to Head</title>
<screen>&prompt.user; <userinput>cd <replaceable>head/contrib/pf</replaceable></userinput>
&prompt.user; <userinput>svn up</userinput>
&prompt.user; <userinput>svn merge --accept=postpone svn+ssh://svn.freebsd.org/base/<replaceable>vendor/pf/dist</replaceable> .</userinput></screen>
<para>The <literal>--accept=postpone</literal> tells
Subversion that it should not complain because merge
conflicts will be taken care of manually.</para>
<para>It is necessary to resolve any merge conflicts.
This process is the same in <acronym>SVN</acronym> as in
<acronym>CVS</acronym>.</para>
<para>Make sure that any files that were added or removed in
the vendor tree have been properly added or removed in the
main tree. To check diffs against the vendor
branch:</para>
<screen>&prompt.user; <userinput>svn diff --no-diff-deleted --old=svn+ssh://svn.freebsd.org/base/<replaceable>vendor/pf/dist</replaceable> --new=.</userinput></screen>
<para>The <literal>--no-diff-deleted</literal> tells
Subversion not to complain about files that are in the
vendor tree but not in the main tree, i.e., things that
would have previously been removed before the vendor
import, like for example the vendor's makefiles
and configure scripts.</para>
<para>Using <acronym>CVS</acronym>, once a file was off the
vendor branch, it was not able to be put back. With
Subversion, there is no concept of on or off the vendor
branch. If a file that previously had local
modifications, to make it not show up in diffs in the
vendor tree, all that has to be done is remove any
left-over cruft like &os; version tags, which is much
easier.</para>
<para>If any changes are required for the world to build
with the new sources, make them now, and keep testing
until everything builds and runs perfectly.</para>
</sect4>
<sect4>
<title>Committing the Vendor Import</title>
<para>Committing is now possible! Everything must be
committed in one go. If done properly, the tree will move
from a consistent state with old code, to a consistent
state with new code.</para>
</sect4>
<sect4>
<title>From Scratch</title>
<sect5>
<title>Importing into the Vendor Tree</title>
<para>This section is an example of importing and tagging
<application>byacc</application> into
<filename class="directory">head</filename>.</para>
<para>First, prepare the directory in
<filename class="directory">vendor</filename>:</para>
<screen>&prompt.user; <userinput>svn co --depth immediates <replaceable>$FSVN/vendor</replaceable></userinput>
&prompt.user; <userinput>cd <replaceable>vendor</replaceable></userinput>
&prompt.user; <userinput>svn mkdir <replaceable>byacc</replaceable></userinput>
&prompt.user; <userinput>svn mkdir <replaceable>byacc/dist</replaceable></userinput></screen>
<para>Now, import the sources into the
<filename class="directory">dist</filename> directory.
Once the files are in place, <command>svn add</command>
the new ones, then <command>svn commit</command> and tag
the imported version. To save time and bandwidth,
direct remote committing and tagging is possible:</para>
<screen>&prompt.user; <userinput>svn cp -m <replaceable>"Tag byacc 20120115"</replaceable> <replaceable>$FSVN/vendor/byacc/dist</replaceable> <replaceable>$FSVN/vendor/byacc/20120115</replaceable></userinput></screen>
</sect5>
<sect5>
<title>Merging to <literal>head</literal></title>
<para>Due to this being a new file, copy it for the
merge:</para>
<screen>&prompt.user; <userinput>svn cp -m <replaceable>"Import byacc to contrib"</replaceable> <replaceable>$FSVN/vendor/byacc/dist</replaceable> <replaceable>$FSVN/head/contrib/byacc</replaceable></userinput></screen>
<para>Working normally on newly imported sources is still
possible.</para>
</sect5>
</sect4>
</sect3>
<sect3 id="svn-advanced-use-reverting-a-commit">
<title>Reverting a Commit</title>
<para>Reverting a commit to a previous version is fairly
easy:</para>
<screen>&prompt.user; <userinput>svn merge -r179454:179453 ROADMAP.txt</userinput>
&prompt.user; <userinput>svn commit</userinput></screen>
<para>Change number syntax, with negative meaning a reverse
change, can also be used:</para>
<screen>&prompt.user; <userinput>svn merge -c -179454 ROADMAP.txt</userinput>
&prompt.user; <userinput>svn commit</userinput></screen>
<para>This can also be done directly in the repository:</para>
<screen>&prompt.user; <userinput>svn merge -r179454:179453 svn+ssh://svn.freebsd.org/base/ROADMAP.txt</userinput></screen>
<note>
<para>It is important to ensure that the mergeinfo
is correct when reverting a file in order to permit
<command>svn mergeinfo --eligible</command> to work as
expected.</para>
</note>
<para>Reverting the deletion of a file is slightly different.
Copying the version of the file that predates the deletion
is required. For example, to restore a file that was
deleted in revision N, restore version N-1:</para>
<screen>&prompt.user; <userinput>svn copy svn+ssh://svn.freebsd.org/base/ROADMAP.txt@179454</userinput>
&prompt.user; <userinput>svn commit</userinput></screen>
<para>or, equally:</para>
<screen>&prompt.user; <userinput>svn copy svn+ssh://svn.freebsd.org/base/ROADMAP.txt@179454 svn+ssh://svn.freebsd.org/base</userinput></screen>
<para>Do <emphasis>not</emphasis> simply recreate the file
manually and <command>svn add</command> it&mdash;this will
cause history to be lost.</para>
</sect3>
<sect3 id="svn-advanced-use-fixing-mistakes">
<title>Fixing Mistakes</title>
<para>While we can do surgery in an emergency, do not plan on
having mistakes fixed behind the scenes. Plan on mistakes
remaining in the logs forever. Be sure to check the output
of <command>svn status</command> and <command>svn
diff</command> before committing.</para>
<para>Mistakes will happen but,
they can generally be fixed without
disruption.</para>
<para>Take a case of adding a file in the wrong location. The
right thing to do is to <command>svn move</command> the file
to the correct location and commit. This causes just a
couple of lines of metadata in the repository journal, and
the logs are all linked up correctly.</para>
<para>The wrong thing to do is to delete the file and then
<command>svn add</command> an independent copy in the
correct location. Instead of a couple of lines of text, the
repository journal grows an entire new copy of the file.
This is a waste.</para>
</sect3>
<sect3 id="svn-advanced-use-setting-up-svnsync">
<title>Setting up a <application>svnsync</application>
Mirror</title>
<para>You probably do not want to do this unless there is a
good reason for it. Such reasons might be to support many
multiple local read-only client machines, or if your network
bandwidth is limited. Starting a fresh mirror from empty
would take a very long time. Expect a minimum of 10 hours
for high speed connectivity. If you have international
links, expect this to take 4 to 10 times longer.</para>
<para>A far better option is to grab a seed file. It is large
(~1GB) but will consume less network traffic and take less
time to fetch than a svnsync will. This is possible in one
of the following three ways:</para>
<screen>&prompt.user; <userinput>rsync -va --partial --progress freefall:/home/peter/svnmirror-base-r179637.tbz2 .</userinput></screen>
<screen>&prompt.user; <userinput>rsync -va --partial --progress rsync://repoman.freebsd.org:50873/svnseed/svnmirror-base-r215629.tar.xz .</userinput></screen>
<screen>&prompt.user; <userinput>fetch ftp://ftp.freebsd.org/pub/FreeBSD/development/subversion/svnmirror-base-r221445.tar.xz</userinput></screen>
<para>Once you have the file, extract it to somewhere like
<filename class="directory">home/svnmirror/base/</filename>.
Then, update it, so that it fetches changes since the last
revision in the archive:</para>
<screen>&prompt.user; <userinput>svnsync sync file:///home/svnmirror/base</userinput></screen>
<para>You can then set that up to run from &man.cron.8;, do
checkouts locally, set up a svnserve server for your local
machines to talk to, etc.</para>
<para>The seed mirror is set to fetch from
<literal>svn://svn.freebsd.org/base</literal>. The
configuration for the mirror is stored in
<literal>revprop 0</literal> on the local mirror. To see
the configuration, try:</para>
<screen>&prompt.user; <userinput>svn proplist -v --revprop -r 0 file:///home/svnmirror/base</userinput></screen>
<para>Use <literal>propset</literal> to change things.</para>
</sect3>
<sect3 id="svn-advanced-use-committing-high-ascii-data">
<title>Committing High-<acronym>ASCII</acronym> Data</title>
<para>Files that have high-<acronym>ASCII</acronym> bits are
considered binary files in <acronym>SVN</acronym>, so the
pre-commit checks fail and indicate that the
<literal>mime-type</literal> property should be set to
<literal>application/octet-stream</literal>. However, the
use of this is discouraged, so please do not set it. The
best way is always avoiding high-<acronym>ASCII</acronym>
data, so that it can be read everywhere with any text editor
but if it is not avoidable, instead of changing the
mime-type, set the <literal>fbsd:notbinary</literal>
property with <literal>propset</literal>:</para>
<screen>&prompt.user; <userinput>svn propset fbsd:notbinary yes foo.data</userinput></screen>
</sect3>
<sect3 id="svn-advanced-use-maintaining-a-project-branch">
<title>Maintaining a Project Branch</title>
<para>A project branch is one that is synced to head (or
another branch) is used to develop a project then commit it
back to head. In <acronym>SVN</acronym>,
<quote>dolphin</quote> branching is used for this. A
<quote>dolphin</quote> branch is one that diverges for a
while and is finally committed back to the original branch.
During development code migration in one direction (from
head to the branch only). No code is committed back to head
until the end. Once you commit back at the end, the branch
is dead (although you can have a new branch with the same
name after you delete the branch if you want).</para>
<para>As per <ulink
url="http://people.freebsd.org/~peter/svn_notes.txt">http://people.freebsd.org/~peter/svn_notes.txt</ulink>,
work that is intended to be merged back into HEAD should be
in <filename class="directory">base/projects/</filename>.
If you are doing work that is beneficial to the &os;
community in some way but not intended to be merged directly
back into HEAD then the proper location is <filename
class="directory">base/user/<replaceable>your-name</replaceable>/</filename>.
<ulink
url="http://svnweb.freebsd.org/base/projects/GUIDELINES.txt">This
page</ulink> contains further details.</para>
<para>To create a project branch:</para>
<screen>&prompt.user; <userinput>svn copy svn+ssh://svn.freebsd.org/base/head svn+ssh://svn.freebsd.org/base/projects/spif</userinput></screen>
<para>To merge changes from HEAD back into the project
branch:</para>
<screen>&prompt.user; <userinput>cd copy_of_spif</userinput>
&prompt.user; <userinput>svn merge svn+ssh://svn.freebsd.org/base/head</userinput>
&prompt.user; <userinput>svn commit</userinput></screen>
<para>It is important to resolve any merge conflicts before
committing.</para>
<!--
<para>To collapse everything back at the end:</para>
<screen>&prompt.user; <userinput>svn write me</userinput></screen>
-->
</sect3>
</sect2>
<sect2>
<title>Some Tips</title>
<para>In commit logs etc., <quote>rev 179872</quote> should be
spelled <quote>r179872</quote> as per convention.</para>
<para>Do not remove and re-add the same file in a single commit
as this will break the CVS exporter.</para>
<para>Speeding up svn is possible by adding the following to
<filename>~/.ssh/config</filename>:</para>
<screen>Host *
ControlPath ~/.ssh/sockets/master-%l-%r@%h:%p
ControlMaster auto
ControlPersist yes</screen>
<para>and then typing</para>
<screen><userinput>mkdir ~/.ssh/sockets</userinput></screen>
<para>Checking out a working copy with a stock Subversion client
without &os;-specific patches
(<makevar>OPTIONS_SET=FREEBSD_TEMPLATE</makevar>) will mean
that <literal>&dollar;FreeBSD&dollar;</literal> tags will not
be expanded. Once the correct version has been installed,
trick Subversion into expanding them like so:</para>
<screen>&prompt.user; <userinput>svn propdel -R svn:keywords .</userinput>
&prompt.user; <userinput>svn revert -R .</userinput></screen>
<para>This will wipe out uncommitted patches.</para>
</sect2>
</sect1>
<sect1 id="conventions">
<title>Conventions and Traditions</title>
<para>As a new developer there are a number of things you should
do first. The first set is specific to committers only. (If
you are not a committer, e.g., have GNATS-only access, then your
mentor needs to do these things for you.)</para>
<sect2 id="conventions-committers">
<title>Guidelines for Committers</title>
<note>
<para>The <literal>.ent</literal>, <literal>.xml</literal>,
and <literal>.xml</literal> files listed below exist in the
&os; Documentation Project SVN repository at
<hostid role="fqdn">svn.FreeBSD.org/doc/</hostid>.</para>
</note>
<para>If you have been given commit rights to one or more of the
repositories:</para>
<itemizedlist>
<listitem>
<para>Add your author entity to
<filename>head/share/xml/authors.ent</filename>; this
should be done first since an omission of this commit will
cause the next commits to break the doc/ build.</para>
<para>This is a relatively easy task, but remains a good
first test of your version control skills.</para>
<important>
<para>New files that do not have the
<literal>FreeBSD=%H</literal>
<command>svn:keywords</command> property will be
rejected when attempting to commit them to the
repository. Be sure to read
<xref linkend="svn-daily-use-adding-and-removing"/>
regarding adding and removing files, in addition to
verifying that <filename>~/.subversion/config</filename>
contains the necessary &quot;auto-props&quot; entries
from <filename>auto-props.txt</filename> mentioned
there.</para>
</important>
<note>
<para>Do not forget to get mentor approval for these
patches!</para>
</note>
</listitem>
<listitem>
<para>Add yourself to the <quote>Developers</quote> section
of the <ulink
url="&url.articles.contributors;/index.html">Contributors
List</ulink>
(<filename>head/en_US.ISO8859-1/articles/contributors/contrib.committers.xml</filename>)
and remove yourself from the
<quote>Additional Contributors</quote> section
(<filename>head/en_US.ISO8859-1/articles/contributors/contrib.additional.xml</filename>).
Please note that entries are sorted by last name.</para>
</listitem>
<listitem>
<para>Add an entry for yourself to
<filename>head/share/xml/news.xml</filename>. Look for
the other entries that look like
<quote>A new committer</quote> and follow the
format.</para>
</listitem>
<listitem>
<para>You should add your PGP or GnuPG key to
<filename>head/share/pgpkeys</filename> (and if you do not
have a key, you should create one). Do not forget to
commit the updated
<filename>head/share/pgpkeys/pgpkeys.ent</filename> and
<filename>head/share/pgpkeys/pgpkeys-developers.xml</filename>.
Please note that entries are sorted by last name.</para>
<para>&a.des.email; has written a shell script
(<filename>head/share/pgpkeys/addkey.sh</filename>) to
make this extremely simple. See the <ulink
url="http://svnweb.FreeBSD.org/doc/head/share/pgpkeys/README">README</ulink>
file for more information.</para>
<note>
<para>It is important to have an up-to-date PGP/GnuPG key
in the Handbook, since the key may be required for
positive identification of a committer, e.g., by the
&a.admins; for account recovery. A complete keyring of
<hostid role="domainname">FreeBSD.org</hostid> users is
available for download from <ulink
url="&url.base;/doc/pgpkeyring.txt">http://www.FreeBSD.org/doc/pgpkeyring.txt</ulink>.</para>
</note>
</listitem>
<listitem>
<para>Add an entry for yourself to
<filename>src/share/misc/committers-<replaceable>repository</replaceable>.dot</filename>,
where repository is either doc, ports or src, depending on
the commit privileges you obtained.</para>
</listitem>
<listitem>
<para>Some people add an entry for themselves to
<filename>ports/astro/xearth/files/freebsd.committers.markers</filename>.</para>
</listitem>
<listitem>
<para>Some people add an entry for themselves to
<filename>src/usr.bin/calendar/calendars/calendar.freebsd</filename>.</para>
</listitem>
<listitem>
<para>If you already have an account at the
<ulink url="http://wiki.freebsd.org">&os; wiki</ulink>,
make sure your mentor moves you from the <ulink
url="http://wiki.freebsd.org/ContributorsGroup">Contributors
group</ulink> to the <ulink
url="http://wiki.freebsd.org/DevelopersGroup">Developers
group</ulink>. Otherwise, consider signing up for an
account so you can publish projects and ideas you are
working on.</para>
</listitem>
<listitem>
<para>Once you get access to the wiki, you may add yourself
to the
<ulink url="http://wiki.freebsd.org/HowWeGotHere">How We
Got Here</ulink> and
<ulink url="http://wiki.freebsd.org/IrcNicks">Irc
Nicks</ulink> pages.</para>
</listitem>
<listitem>
<para>If you subscribe to &a.svn-src-all.name;,
&a.svn-ports-all.name; or &a.svn-doc-all.name;, you will
probably want to unsubscribe to avoid receiving duplicate
copies of commit messages and their followups.</para>
</listitem>
</itemizedlist>
<note>
<para>All <filename>src</filename> commits should go to
&os.current; first before being merged to &os.stable;. No
major new features or high-risk modifications should be made
to the &os.stable; branch.</para>
</note>
</sect2>
<sect2 id="conventions-everyone">
<title>Guidelines for Everyone</title>
<para>Whether or not you have commit rights:</para>
<itemizedlist>
<listitem>
<para>Introduce yourself to the other developers, otherwise
no one will have any idea who you are or what you are
working on. You do not have to write a comprehensive
biography, just write a paragraph or two about who you are
and what you plan to be working on as a developer in
&os;. (You should also mention who your mentor will
be). Email this to the &a.developers; and you will be on
your way!</para>
</listitem>
<listitem>
<para>Log into <hostid>hub.FreeBSD.org</hostid> and create a
<filename>/var/forward/<replaceable>user</replaceable></filename>
(where <replaceable>user</replaceable> is your username)
file containing the e-mail address where you want mail
addressed to
<replaceable>yourusername</replaceable>@FreeBSD.org to be
forwarded. This includes all of the commit messages as
well as any other mail addressed to the &a.committers; and
the &a.developers;. Really large mailboxes which have
taken up permanent residence on <hostid>hub</hostid> often
get <quote>accidentally</quote> truncated without warning,
so forward it or read it and you will not lose it.</para>
<para>Due to the severe load dealing with SPAM places on the
central mail servers that do the mailing list processing
the front-end server does do some basic checks and will
drop some messages based on these checks. At the moment
proper DNS information for the connecting host is the only
check in place but that may change. Some people blame
these checks for bouncing valid email. If you want these
checks turned off for your email you can place a file
named <filename>.spam_lover</filename> in your home
directory on
<hostid role="fqdn">freefall.FreeBSD.org</hostid> to
disable the checks for your email.</para>
</listitem>
</itemizedlist>
<note>
<para>If you are a developer but not a committer, you will
not be subscribed to the committers or developers mailing
lists; the subscriptions are derived from the access
rights.</para>
</note>
</sect2>
<sect2 id="mentors">
<title>Mentors</title>
<para>All new developers also have a mentor assigned to them for
the first few months. Your mentor is responsible for teaching
you the rules and conventions of the project and guiding your
first steps in the developer community. Your mentor is also
personally responsible for your actions during this initial
period.</para>
<para>For committers: until your mentor decides (and announces
with a forced commit to <filename>access</filename>) that you
have learned the ropes and are ready to commit on your own,
you should not commit anything without first getting your
mentor's review and approval, and you should document that
approval with an <literal>Approved by:</literal> line in the
commit message.</para>
</sect2>
</sect1>
<sect1 id="pref-license">
<title>Preferred License for New Files</title>
<para>Currently the &os; Project suggests and uses the following
text as the preferred license scheme:</para>
<programlisting>/*-
* Copyright (c) [year] [your name]
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form 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 SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* [id for your version control system, if any]
*/</programlisting>
<para>The &os; project strongly discourages the so-called
"advertising clause" in new code. Due to the large number of
contributors to the &os; project, complying with this clause for
many commercial vendors has become difficult. If you have code
in the tree with the advertising clause, please consider
removing it. In fact, please consider using the above license
for your code.</para>
<para>The &os; project discourages completely new licenses and
variations on the standard licenses. New licenses require the
approval of the &a.core; to reside in the
main repository. The more different licenses that are used in
the tree, the more problems that this causes to those wishing to
utilize this code, typically from unintended consequences from a
poorly worded license.</para>
<para>Project policy dictates that code under some non-BSD
licenses must be placed only in specific sections of the
repository, and in some cases, compilation must be conditional
or even disabled by default. For example, the GENERIC kernel
must be compiled under only licenses identical to or
substantially similar to the BSD license. GPL, APSL, CDDL, etc,
licensed software must not be compiled into GENERIC.</para>
<para>Developers are reminded that in open source, getting "open"
right is just as important as getting "source" right, as
improper handling of intellectual property has serious
consequences. Any questions or concerns should immediately be
brought to the attention of the core team.</para>
</sect1>
<sect1 id="developer.relations">
<title>Developer Relations</title>
<para>If you are working directly on your own code or on code
which is already well established as your responsibility, then
there is probably little need to check with other committers
before jumping in with a commit. If you see a bug in an area of
the system which is clearly orphaned (and there are a few such
areas, to our shame), the same applies. If, however, you are
about to modify something which is clearly being actively
maintained by someone else (and it is only by watching the
<literal><replaceable>repository</replaceable>-committers</literal>
mailing list that you can really get a feel for just what is and
is not) then consider sending the change to them instead, just
as you would have before becoming a committer. For ports, you
should contact the listed <makevar>MAINTAINER</makevar> in the
<filename>Makefile</filename>. For other parts of the
repository, if you are unsure who the active maintainer might
be, it may help to scan the revision history to see who has
committed changes in the past. &a.fenner.email; has written a nice
shell script that can help determine who the active maintainer
might be. It lists each person who has committed to a given
file along with the number of commits each person has made. It
can be found on <hostid>freefall</hostid> at
<filename>~fenner/bin/whodid</filename>. If your queries go
unanswered or the committer otherwise indicates a lack of
interest in the area affected, go ahead and commit it.</para>
<para>If you are unsure about a commit for any reason at
all, have it reviewed by <literal>-hackers</literal>
before committing. Better to have it flamed then and there
rather than when it is part of the repository. If you do
happen to commit something which results in controversy
erupting, you may also wish to consider backing the change out
again until the matter is settled. Remember &ndash; with a
version control system we can always change it back.</para>
<para>Do not impugn the intentions of someone you disagree with.
If they see a different solution to a problem than you, or even
a different problem, it is not because they are stupid, because
they have questionable parentage, or because they are trying to
destroy your hard work, personal image, or &os;, but simply
because they have a different outlook on the world. Different
is good.</para>
<para>Disagree honestly. Argue your position from its merits,
be honest about any shortcomings it may have, and be open to
seeing their solution, or even their vision of the problem,
with an open mind.</para>
<para>Accept correction. We are all fallible. When you have made
a mistake, apologize and get on with life. Do not beat up
yourself, and certainly do not beat up others for your mistake.
Do not waste time on embarrassment or recrimination, just fix
the problem and move on.</para>
<para>Ask for help. Seek out (and give) peer reviews. One of
the ways open source software is supposed to excel is in the
number of eyeballs applied to it; this does not apply if nobody
will review code.</para>
+ </sect1>
+
+ <sect1 id="if-in-doubt">
+ <title>If in doubt...</title>
+
+ <para>When you are not sure about something, whether it be a
+ technical issue or a project convention be sure to ask. If you
+ stay silent you will never make progress.</para>
+
+ <para>If it relates to a technical issue ask on the public
+ mailing lists. Avoid the temptation to email the individual
+ person that knows the answer. This way everyone will be able to
+ learn from the question and the answer.</para>
+
+ <para>For project specific or administrative questions you should
+ ask, in order: </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Your mentor or former mentor.</para>
+ </listitem>
+
+ <listitem>
+ <para>An experienced committer on IRC, email, etc.</para>
+ </listitem>
+
+ <listitem>
+ <para>Any team with a "hat", as they should give you a
+ definitive answer.</para>
+ </listitem>
+
+ <listitem>
+ <para>If still not sure, ask on &a.developers;.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Once your question is answered, if no one pointed you to
+ documentation that spelled out the answer to your question,
+ document it, as others will have the same question.</para>
</sect1>
<sect1 id="gnats">
<title>GNATS</title>
<para>The &os; Project utilizes
<application>GNATS</application> for tracking bugs and change
requests. Be sure that if you commit a fix or suggestion found
in a <application>GNATS</application> PR, you use
<command>edit-pr <replaceable>pr-number</replaceable></command>
on <hostid>freefall</hostid> to close it. It is also considered
nice if you take time to close any PRs associated with your
commits, if appropriate. You can also make use of
&man.send-pr.1; yourself for proposing any change which you feel
should probably be made, pending a more extensive peer-review
first.</para>
<para>You can find out more about <application>GNATS</application>
at:</para>
<itemizedlist>
<listitem>
<para><ulink
url="&url.articles.pr-guidelines;/index.html">&os;
Problem Report Handling Guidelines</ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://www.cs.utah.edu/csinfo/texinfo/gnats/gnats.html"></ulink></para>
</listitem>
<listitem>
<para><ulink
url="&url.base;/support.html">http://www.FreeBSD.org/support.html</ulink></para>
</listitem>
<listitem>
<para>&man.send-pr.1;</para>
</listitem>
</itemizedlist>
<para>You can run a local copy of GNATS, and then integrate the
&os; GNATS tree by creating an
<application>rsync</application> mirror. Then you can run GNATS
commands locally, allowing you to query the PR database without
an Internet connection.</para>
<sect2>
<title>Mirroring the GNATS Tree</title>
<para>It is possible to mirror the GNATS database by installing
<filename role="package">net/rsync</filename>, and
executing:</para>
<screen>&prompt.user; <userinput>rsync -va rsync://bit0.us-west.freebsd.org/FreeBSD-bit/gnats .</userinput></screen>
</sect2>
<sect2 id="gnatstools">
<title>Useful Tools</title>
<para>Other than <command>edit-pr</command> there are a
collection of tools in <filename>~gnats/tools/</filename>
on <hostid>freefall</hostid> which can make working with PRs
much easier.</para>
<para><command>open-pr</command>, <command>close-pr</command>,
<command>take-pr</command>, and <command>feedback-pr</command>
take PR numbers as arguments and then ask you to select from a
preexisting list of change reasons or let you type in your
own.</para>
<para><command>change-pr</command> is a multi purpose tool
that lets you make multiple changes at the same time with one
command.</para>
<para>For example, to assign PR 123456 to yourself type
<command>take-pr <replaceable>123456</replaceable></command>.
If you want to set the PR to patched awaiting an MFC at
the same time use:
<command>change-pr -t -p -m "awaiting MFC"
<replaceable>123456</replaceable></command></para>
</sect2>
</sect1>
<sect1 id="people">
<title>Who's Who</title>
<para>Besides the repository meisters, there are other &os;
project members and teams whom you will probably get to know in
your role as a committer. Briefly, and by no means
all-inclusively, these are:</para>
<variablelist>
<varlistentry>
<term>&a.doceng;</term>
<listitem>
<para>doceng is the group responsible for the documentation
build infrastructure, approving new documentation
committers, and ensuring that the &os; website and
documentation on the FTP site is up to date with respect
to the CVS tree. It is not a conflict resolution body.
The vast majority of documentation related discussion
takes place on the &a.doc;. More details regarding the
doceng team can be found in its <ulink
url="http://www.FreeBSD.org/internal/doceng.html">charter</ulink>.
Committers interested in contributing to the documentation
should familiarize themselves with the <ulink
url="&url.books.fdp-primer;/index.html">Documentation
Project Primer</ulink>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&a.ru.email;</term>
<listitem>
<para>Ruslan is Mister &man.mdoc.7;. If you are writing a
manual page and need some advice on the structure, or the
markup, ask Ruslan.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&a.bde.email;</term>
<listitem>
<para>Bruce is the Style Police-Meister. When you do a
commit that could have been done better, Bruce will be
there to tell you. Be thankful that someone is. Bruce is
also very knowledgeable on the various standards
applicable to &os;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&a.re.members.email;</term>
<listitem>
<para>These are the members of the &a.re;. This team is
responsible for setting release deadlines and controlling
the release process. During code freezes, the release
engineers have final authority on all changes to the
system for whichever branch is pending release status. If
there is something you want merged from &os.current; to
&os.stable; (whatever values those may have at any given
time), these are the people to talk to about it.</para>
<para>Hiroki is also the keeper of the release documentation
(<filename>src/release/doc/*</filename>). If you commit a
change that you think is worthy of mention in the release
notes, please make sure he knows about it. Better still,
send him a patch with your suggested commentary.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&a.des.email;</term>
<listitem>
<para>Dag-Erling is the
<ulink url="&url.base;/security/">&os; Security
Officer</ulink> and oversees the
&a.security-officer;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&a.wollman.email;</term>
<listitem>
<para>If you need advice on obscure network internals or
are not sure of some potential change to the networking
subsystem you have in mind, Garrett is someone to talk
to. Garrett is also very knowledgeable on the various
standards applicable to &os;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&a.committers;</term>
<listitem>
<para>&a.svn-src-all.name;, &a.svn-ports-all.name; and
&a.svn-doc-all.name; are the mailing lists that the
version control system uses to send commit messages to.
You should <emphasis>never</emphasis> send email directly
to these lists. You should only send replies to this list
when they are short and are directly related to a
commit.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&a.developers;</term>
<listitem>
<para>All committers are subscribed to -developers. This
list was created to be a forum for the committers
<quote>community</quote> issues. Examples are Core
voting, announcements, etc.</para>
<para>The &a.developers; is for the exclusive use of &os;
committers. In order to develop &os;, committers must
have the ability to openly discuss matters that will be
resolved before they are publicly announced. Frank
discussions of work in progress are not suitable for open
publication and may harm &os;.</para>
<para>All &os; committers are reminded to obey the
copyright of the original author(s) of &a.developers;
mail. Do not publish or forward messages from the
&a.developers; outside the list membership without
permission of all of the authors.</para>
<para>Copyright violators will be removed from the
&a.developers;, resulting in a suspension of commit
privileges. Repeated or flagrant violations may result in
permanent revocation of commit privileges.</para>
<para>This list is <emphasis>not</emphasis> intended as a
place for code reviews or a replacement for the &a.arch;.
In fact using it as such hurts the &os; Project as it
gives a sense of a closed list where general decisions
affecting all of the &os; using community are made
without being <quote>open</quote>. Last, but not least
<emphasis>never, never ever, email the &a.developers; and
CC:/BCC: another &os; list</emphasis>. Never, ever
email another &os; email list and CC:/BCC: the
&a.developers;. Doing so can greatly diminish the
benefits of this list.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="ssh.guide">
<title>SSH Quick-Start Guide</title>
<procedure>
<step>
<para>If you do not wish to type your password in every
time you use &man.ssh.1;, and you use RSA or DSA keys to
authenticate, &man.ssh-agent.1; is there for your
convenience. If you want to use &man.ssh-agent.1;, make
sure that you run it before running other applications. X
users, for example, usually do this from their
<filename>.xsession</filename> or
<filename>.xinitrc</filename>. See &man.ssh-agent.1;
for details.</para>
</step>
<step>
<para>Generate a key pair using &man.ssh-keygen.1;. The key
pair will wind up in your
<filename><envar>$HOME</envar>/.ssh/</filename>
directory.</para>
</step>
<step>
<para>Send your public key
(<filename><envar>$HOME</envar>/.ssh/id_dsa.pub</filename>
or
<filename><envar>$HOME</envar>/.ssh/id_rsa.pub</filename>)
to the person setting you up as a committer so it can be put
into the
<filename><replaceable>yourlogin</replaceable></filename>
file in
<filename class="directory">/etc/ssh-keys/</filename> on
<hostid>freefall</hostid>.</para>
</step>
</procedure>
<para>Now you should be able to use &man.ssh-add.1; for
authentication once per session. This will prompt you for
your private key's pass phrase, and then store it in your
authentication agent (&man.ssh-agent.1;). If you no longer
wish to have your key stored in the agent, issuing
<command>ssh-add -d</command> will remove it.</para>
<para>Test by doing something such as <command>ssh
freefall.FreeBSD.org ls /usr</command>.</para>
<para>For more information, see
<filename role="package">security/openssh</filename>,
&man.ssh.1;, &man.ssh-add.1;, &man.ssh-agent.1;,
&man.ssh-keygen.1;, and &man.scp.1;.</para>
</sect1>
<sect1 id="coverity">
<title>&coverity.prevent; Availability for &os; Committers</title>
<para>In January 2006, the &os;&nbsp;Foundation obtained a license
for &coverity.prevent; from &coverity;&nbsp;Ltd. With this
donation, all &os; developers can obtain access to
<application>Coverity Prevent</application> analysis results of
all &os; Project software.</para>
<para>&os; developers who are interested in obtaining access to
the analysis results of the automated
<application>Coverity Prevent</application> runs, can find out
more by logging into <hostid>freefall</hostid> and reading the
relevant bits of the files:</para>
<variablelist>
<varlistentry>
<term><filename>/usr/local/coverity/coverity_license.txt</filename></term>
<listitem>
<para>The license terms to which the &os; developers will
have to agree in order to use &coverity.prevent; analysis
results.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>/usr/local/coverity/coverity_announcement.txt</filename></term>
<listitem>
<para>The announcement posted to the developers' mailing
list of the &os; Project. It contains useful information
about the &os; Foundation and &coverity;&nbsp;Ltd., as
well as signup information for registering with the
&coverity.prevent; installation of the &os;
Cluster.</para>
<para>After reading and understanding the license terms
of <filename>coverity_license.txt</filename>, all &os;
developers who are interested in using the analysis
results of &coverity.prevent; should read this
file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>/usr/local/coverity/coverity_readme.txt</filename></term>
<listitem>
<para>A short guide about fixes which are committed to the
&os; source tree after being detected by
&coverity.prevent; and analyzed by a &os;
developer.</para>
</listitem>
</varlistentry>
</variablelist>
<para>The &os; Wiki includes a mini-guide for developers who are
interested in working with the &coverity.prevent; analysis
reports:
<ulink url="http://wiki.freebsd.org/CoverityPrevent"></ulink>.
Please note that this mini-guide is only readable by &os;
developers, so if you cannot access this page, you will have to
ask someone to add you to the appropriate Wiki access
list.</para>
<para>Finally, all &os; developers who are going to use
&coverity.prevent; are always encouraged to ask for more details
and usage information, by posting any questions to the mailing
list of the &os; developers.</para>
</sect1>
<sect1 id="rules">
<title>The &os; Committers' Big List of Rules</title>
<orderedlist>
<listitem>
<para>Respect other committers.</para>
</listitem>
<listitem>
<para>Respect other contributors.</para>
</listitem>
<listitem>
<para>Discuss any significant change
<emphasis>before</emphasis> committing.</para>
</listitem>
<listitem>
<para>Respect existing maintainers (if listed in the
<makevar>MAINTAINER</makevar> field in
<filename>Makefile</filename> or in the
<filename>MAINTAINER</filename> file in the top-level
directory).</para>
</listitem>
<listitem>
<para>Any disputed change must be backed out pending
resolution of the dispute if requested by a maintainer.
Security related changes may
override a maintainer's wishes at the Security Officer's
discretion.</para>
</listitem>
<listitem>
<para>Changes go to &os.current; before
&os.stable; unless specifically permitted by
the release engineer or unless they are not applicable to
&os.current;. Any non-trivial or non-urgent
change which is applicable should also be allowed to sit in
&os.current; for at least 3 days before
merging so that it can be given sufficient testing. The
release engineer has the same authority over the
&os.stable; branch as outlined for the
maintainer in rule #5.</para>
</listitem>
<listitem>
<para>Do not fight in public with other committers; it looks
bad. If you must <quote>strongly disagree</quote> about
something, do so only in private.</para>
</listitem>
<listitem>
<para>Respect all code freezes and read the
<literal>committers</literal> and
<literal>developers</literal> mailing lists in a timely
manner so you know when a code freeze is in effect.</para>
</listitem>
<listitem>
<para>When in doubt on any procedure, ask first!</para>
</listitem>
<listitem>
<para>Test your changes before committing them.</para>
</listitem>
<listitem>
<para>Do not commit to anything under the
<filename>src/contrib</filename>,
<filename>src/crypto</filename>, or
<filename>src/sys/contrib</filename> trees without
<emphasis>explicit</emphasis> approval from the respective
maintainer(s).</para>
</listitem>
</orderedlist>
<para>As noted, breaking some of these rules can be grounds for
suspension or, upon repeated offense, permanent removal of
commit privileges. Individual members of core have the power to
temporarily suspend commit privileges until core as a whole has
the chance to review the issue. In case of an
<quote>emergency</quote> (a committer doing damage to the
repository), a temporary suspension may also be done by the
repository meisters. Only a 2/3 majority of core has the
authority to suspend commit privileges for longer than a week or
to remove them permanently. This rule does not exist to set
core up as a bunch of cruel dictators who can dispose of
committers as casually as empty soda cans, but to give the
project a kind of safety fuse. If someone is out of control, it
is important to be able to deal with this immediately rather
than be paralyzed by debate. In all cases, a committer whose
privileges are suspended or revoked is entitled to a
<quote>hearing</quote> by core, the total duration of the
suspension being determined at that time. A committer whose
privileges are suspended may also request a review of the
decision after 30 days and every 30 days thereafter (unless the
total suspension period is less than 30 days). A committer
whose privileges have been revoked entirely may request a review
after a period of 6 months has elapsed. This review policy is
<emphasis>strictly informal</emphasis> and, in all cases, core
reserves the right to either act on or disregard requests for
review if they feel their original decision to be the right
one.</para>
<para>In all other aspects of project operation, core is a subset
of committers and is bound by the
<emphasis>same rules</emphasis>. Just because someone is in
core this does not mean that they have special dispensation to
step outside any of the lines painted here; core's
<quote>special powers</quote> only kick in when it acts as a
group, not on an individual basis. As individuals, the core
team members are all committers first and core second.</para>
<sect2>
<title>Details</title>
<orderedlist>
<listitem id="respect">
<para>Respect other committers.</para>
<para>This means that you need to treat other committers as
the peer-group developers that they are. Despite our
occasional attempts to prove the contrary, one does not
get to be a committer by being stupid and nothing rankles
more than being treated that way by one of your peers.
Whether we always feel respect for one another or not (and
everyone has off days), we still have to
<emphasis>treat</emphasis> other committers with respect
at all times, on public forums and in private
email.</para>
<para>Being able to work together long term is this
project's greatest asset, one far more important than any
set of changes to the code, and turning arguments about
code into issues that affect our long-term ability to work
harmoniously together is just not worth the trade-off by
any conceivable stretch of the imagination.</para>
<para>To comply with this rule, do not send email when you
are angry or otherwise behave in a manner which is likely
to strike others as needlessly confrontational. First
calm down, then think about how to communicate in the most
effective fashion for convincing the other person(s) that
your side of the argument is correct, do not just blow off
some steam so you can feel better in the short term at the
cost of a long-term flame war. Not only is this very bad
<quote>energy economics</quote>, but repeated displays of
public aggression which impair our ability to work well
together will be dealt with severely by the project
leadership and may result in suspension or termination of
your commit privileges. The project leadership will take
into account both public and private communications
brought before it. It will not seek the disclosure of
private communications, but it will take it into account
if it is volunteered by the committers involved in the
complaint.</para>
<para>All of this is never an option which the project's
leadership enjoys in the slightest, but unity comes first.
No amount of code or good advice is worth trading that
away.</para>
</listitem>
<listitem>
<para>Respect other contributors.</para>
<para>You were not always a committer. At one time you were
a contributor. Remember that at all times. Remember what
it was like trying to get help and attention. Do not
forget that your work as a contributor was very important
to you. Remember what it was like. Do not discourage,
belittle, or demean contributors. Treat them with
respect. They are our committers in waiting. They are
every bit as important to the project as committers.
Their contributions are as valid and as important as your
own. After all, you made many contributions before you
became a committer. Always remember that.</para>
<para>Consider the points raised under
<xref linkend="respect"/> and apply them also to
contributors.</para>
</listitem>
<listitem>
<para>Discuss any significant change
<emphasis>before</emphasis> committing.</para>
<para>The repository is not where changes should be
initially submitted for correctness or argued over, that
should happen first in the mailing lists and the commit
should only happen once something resembling consensus has
been reached. This does not mean that you have to ask
permission before correcting every obvious syntax error or
manual page misspelling, simply that you should try to
develop a feel for when a proposed change is not quite
such a no-brainer and requires some feedback first.
People really do not mind sweeping changes if the result
is something clearly better than what they had before,
they just do not like being <emphasis>surprized</emphasis>
by those changes. The very best way of making sure that
you are on the right track is to have your code reviewed
by one or more other committers.</para>
<para>When in doubt, ask for review!</para>
</listitem>
<listitem>
<para>Respect existing maintainers if listed.</para>
<para>Many parts of &os; are not <quote>owned</quote> in
the sense that any specific individual will jump up and
yell if you commit a change to <quote>their</quote> area,
but it still pays to check first. One convention we use
is to put a maintainer line in the
<filename>Makefile</filename> for any package or subtree
which is being actively maintained by one or more people;
see <ulink
url="&url.books.developers-handbook;/policies.html">http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/developers-handbook/policies.html</ulink>
for documentation on this. Where sections of code have
several maintainers, commits to affected areas by one
maintainer need to be reviewed by at least one other
maintainer. In cases where the
<quote>maintainer-ship</quote> of something is not clear,
you can also look at the repository logs for the file(s)
in question and see if someone has been working recently
or predominantly in that area.</para>
<para>Other areas of &os; fall under the control of
someone who manages an overall category of &os;
evolution, such as internationalization or networking.
See <ulink
url="&url.base;/administration.html">http://www.FreeBSD.org/administration.html</ulink>
for more information on this.</para>
</listitem>
<listitem>
<para>Any disputed change must be backed out pending
resolution of the dispute if requested by a maintainer.
Security related changes may
override a maintainer's wishes at the Security Officer's
discretion.</para>
<para>This may be hard to swallow in times of conflict (when
each side is convinced that they are in the right, of
course) but a version control system makes it unnecessary
to have an ongoing dispute raging when it is far easier to
simply reverse the disputed change, get everyone calmed
down again and then try to figure out what is the best way
to proceed. If the change turns out to be the best thing
after all, it can be easily brought back. If it turns out
not to be, then the users did not have to live with the
bogus change in the tree while everyone was busily
debating its merits. People <emphasis>very</emphasis>
rarely call for back-outs in the repository since
discussion generally exposes bad or controversial changes
before the commit even happens, but on such rare occasions
the back-out should be done without argument so that we
can get immediately on to the topic of figuring out
whether it was bogus or not.</para>
</listitem>
<listitem>
<para>Changes go to &os.current; before &os.stable; unless
specifically permitted by the release engineer or unless
they are not applicable to &os.current;. Any non-trivial
or non-urgent change which is applicable should also be
allowed to sit in &os.current; for at least 3 days before
merging so that it can be given sufficient testing. The
release engineer has the same authority over the
&os.stable; branch as outlined in rule #5.</para>
<para>This is another <quote>do not argue about it</quote>
issue since it is the release engineer who is ultimately
responsible (and gets beaten up) if a change turns out to
be bad. Please respect this and give the release engineer
your full cooperation when it comes to the &os.stable;
branch. The management of &os.stable; may frequently seem
to be overly conservative to the casual observer, but also
bear in mind the fact that conservatism is supposed to be
the hallmark of &os.stable; and different rules apply
there than in &os.current;. There is also really no point
in having &os.current; be a testing ground if changes are
merged over to &os.stable; immediately. Changes need a
chance to be tested by the &os.current; developers, so
allow some time to elapse before merging unless the
&os.stable; fix is critical, time sensitive or so obvious
as to make further testing unnecessary (spelling fixes to
manual pages, obvious bug/typo fixes, etc.) In other
words, apply common sense.</para>
<para>Changes to the security branches (for example,
<literal>RELENG_7_0</literal>) must be approved by a
member of the &a.security-officer;, or in some cases, by a
member of the &a.re;.</para>
</listitem>
<listitem>
<para>Do not fight in public with other committers; it looks
bad. If you must <quote>strongly disagree</quote> about
something, do so only in private.</para>
<para>This project has a public image to uphold and that
image is very important to all of us, especially if we are
to continue to attract new members. There will be
occasions when, despite everyone's very best attempts at
self-control, tempers are lost and angry words are
exchanged. The best thing that can be done in such cases
is to minimize the effects of this until everyone has
cooled back down. That means that you should not air your
angry words in public and you should not forward private
correspondence to public mailing lists or aliases. What
people say one-to-one is often much less sugar-coated than
what they would say in public, and such communications
therefore have no place there - they only serve to inflame
an already bad situation. If the person sending you a
flame-o-gram at least had the grace to send it privately,
then have the grace to keep it private yourself. If you
feel you are being unfairly treated by another developer,
and it is causing you anguish, bring the matter up with
core rather than taking it public. Core will do its best
to play peace makers and get things back to sanity. In
cases where the dispute involves a change to the codebase
and the participants do not appear to be reaching an
amicable agreement, core may appoint a mutually-agreeable
3rd party to resolve the dispute. All parties involved
must then agree to be bound by the decision reached by
this 3rd party.</para>
</listitem>
<listitem>
<para>Respect all code freezes and read the
<literal>committers</literal> and
<literal>developers</literal> mailing list on a timely
basis so you know when a code freeze is in effect.</para>
<para>Committing unapproved changes during a code freeze is
a really big mistake and committers are expected to keep
up-to-date on what is going on before jumping in after a
long absence and committing 10 megabytes worth of
accumulated stuff. People who abuse this on a regular
basis will have their commit privileges suspended until
they get back from the &os; Happy Reeducation Camp we
run in Greenland.</para>
</listitem>
<listitem>
<para>When in doubt on any procedure, ask first!</para>
<para>Many mistakes are made because someone is in a hurry
and just assumes they know the right way of doing
something. If you have not done it before, chances are
good that you do not actually know the way we do things
and really need to ask first or you are going to
completely embarrass yourself in public. There is no
shame in asking
<quote>how in the heck do I do this?</quote> We already
know you are an intelligent person; otherwise, you would
not be a committer.</para>
</listitem>
<listitem>
<para>Test your changes before committing them.</para>
<!-- XXX Needs update re sparc64 + pc98
Also, needs more details on which machines are available for testing
-->
<para>This may sound obvious, but if it really were so
obvious then we probably would not see so many cases of
people clearly not doing this. If your changes are to the
kernel, make sure you can still compile both GENERIC and
LINT. If your changes are anywhere else, make sure you
can still make world. If your changes are to a branch,
make sure your testing occurs with a machine which is
running that code. If you have a change which also may
break another architecture, be sure and test on all
supported architectures. Please refer to the
<ulink url="http://www.FreeBSD.org/internal/">&os;
Internal Page</ulink> for a list of available resources.
As other architectures are added to the &os; supported
platforms list, the appropriate shared testing resources
will be made available.</para>
</listitem>
<listitem>
<para>Do not commit to anything under the
<filename>src/contrib</filename>,
<filename>src/crypto</filename>, and
<filename>src/sys/contrib</filename> trees without
<emphasis>explicit</emphasis> approval from the respective
maintainer(s).</para>
<para>The trees mentioned above are for contributed software
usually imported onto a vendor branch. Committing
something there, even if it does not take the file off the
vendor branch, may cause unnecessary headaches for those
responsible for maintaining that particular piece of
software. Thus, unless you have
<emphasis>explicit</emphasis> approval from the maintainer
(or you are the maintainer), do <emphasis>not</emphasis>
commit there!</para>
<para>Please note that this does not mean you should not try
to improve the software in question; you are still more
than welcome to do so. Ideally, you should submit your
patches to the vendor. If your changes are
&os;-specific, talk to the maintainer; they may be
willing to apply them locally. But whatever you do, do
<emphasis>not</emphasis> commit there by yourself!</para>
<para>Contact the &a.core; if you wish to take up
maintainership of an unmaintained part of the tree.</para>
</listitem>
</orderedlist>
</sect2>
<sect2>
<title>Policy on Multiple Architectures</title>
<para>&os; has added several new architecture ports during
recent release cycles and is truly no longer an &i386; centric
operating system. In an effort to make it easier to keep
&os; portable across the platforms we support, core has
developed the following mandate:</para>
<blockquote>
<para>Our 32-bit reference platform is &arch.i386;, and our
64-bit reference platform is &arch.sparc64;. Major design
work (including major API and ABI changes) must prove
itself on at least one 32-bit and at least one 64-bit
platform, preferably the primary reference platforms,
before it may be committed to the source tree.</para>
</blockquote>
<para>The &arch.i386; and &arch.sparc64; platforms were chosen
due to being more readily available to developers and as
representatives of more diverse processor and system designs -
big versus little endian, register file versus register stack,
different DMA and cache implementations, hardware page tables
versus software TLB management etc.</para>
<para>The &arch.ia64; platform has many of the same
complications that &arch.sparc64; has, but is still limited in
availability to developers.</para>
<para>We will continue to re-evaluate this policy as cost and
availability of the 64-bit platforms change.</para>
<para>Developers should also be aware of our Tier Policy for
the long term support of hardware architectures. The rules
here are intended to provide guidance during the development
process, and are distinct from the requirements for features
and architectures listed in that section. The Tier rules for
feature support on architectures at release-time are more
strict than the rules for changes during the development
process.</para>
</sect2>
<sect2>
<title>Other Suggestions</title>
<para>When committing documentation changes, use a spell checker
before committing. For all SGML docs, you should also
verify that your formatting directives are correct by running
<command>make lint</command>.</para>
<para>For all on-line manual pages, run <command>manck</command>
(from ports) over the manual page to verify all of the cross
references and file references are correct and that the man
page has all of the appropriate <makevar>MLINK</makevar>s
installed.</para>
<para>Do not mix style fixes with new functionality. A style
fix is any change which does not modify the functionality of
the code. Mixing the changes obfuscates the functionality
change when asking for differences between revisions, which
can hide any new bugs. Do not include whitespace changes with
content changes in commits to <filename>doc/</filename> or
<filename>www/</filename>. The extra clutter in the diffs
makes the translators' job much more difficult. Instead, make
any style or whitespace changes in separate commits that are
clearly labeled as such in the commit message.</para>
</sect2>
<sect2>
<title>Deprecating Features</title>
<para>When it is necessary to remove functionality from software
in the base system the following guidelines should be followed
whenever possible:</para>
<orderedlist>
<listitem>
<para>Mention is made in the manual page and possibly the
release notes that the option, utility, or interface is
deprecated. Use of the deprecated feature generates a
warning.</para>
</listitem>
<listitem>
<para>The option, utility, or interface is preserved until
the next major (point zero) release.</para>
</listitem>
<listitem>
<para>The option, utility, or interface is removed and no
longer documented. It is now obsolete. It is also
generally a good idea to note its removal in the release
notes.</para>
</listitem>
</orderedlist>
</sect2>
</sect1>
<sect1 id="archs">
<title>Support for Multiple Architectures</title>
<para>&os; is a highly portable operating system intended to
function on many different types of hardware architectures.
Maintaining clean separation of Machine Dependent (MD) and
Machine Independent (MI) code, as well as minimizing MD code, is
an important part of our strategy to remain agile with regards
to current hardware trends. Each new hardware architecture
supported by &os; adds substantially to the cost of code
maintenance, toolchain support, and release engineering. It
also dramatically increases the cost of effective testing of
kernel changes. As such, there is strong motivation to
differentiate between classes of support for various
architectures while remaining strong in a few key architectures
that are seen as the &os; <quote>target audience</quote>.</para>
<sect2>
<title>Statement of General Intent</title>
<para>The &os; Project targets "production quality commercial
off-the-shelf (COTS) workstation, server, and high-end
embedded systems". By retaining a focus on a narrow set of
architectures of interest in these environments, the &os;
Project is able to maintain high levels of quality, stability,
and performance, as well as minimize the load on various
support teams on the project, such as the ports team,
documentation team, security officer, and release engineering
teams. Diversity in hardware support broadens the options for
&os; consumers by offering new features and usage
opportunities (such as support for 64-bit CPUs, use in
embedded environments, etc.), but these benefits must always
be carefully considered in terms of the real-world maintenance
cost associated with additional platform support.</para>
<para>The &os; Project differentiates platform targets into
four tiers. Each tier includes a specification of the
requirements for an architecture to be in that tier,
as well as specifying the obligations of developers with
regards to the platform. In addition, a policy is defined
regarding the circumstances required to change the tier
of an architecture.</para>
</sect2>
<sect2>
<title>Tier 1: Fully Supported Architectures</title>
<para>Tier 1 platforms are fully supported by the security
officer, release engineering, and toolchain maintenance staff.
New features added to the operating system must be fully
functional across all Tier 1 architectures for every release
(features which are inherently architecture-specific, such as
support for hardware device drivers, may be exempt from this
requirement). In general, all Tier 1 platforms must have
build and Tinderbox support either in the FreeBSD.org cluster,
or be easily available for all developers. Embedded platforms
may substitute an emulator available in the &os; cluster
for actual hardware.</para>
<para>Tier 1 architectures are expected to be Production Quality
with respects to all aspects of the &os; operating system,
including installation and development environments.</para>
<para>Tier 1 architectures are expected to be completely
integrated into the source tree and have all features
necessary to produce an entire system relevant for that target
architecture. Tier 1 architectures generally have at least 6
active developers.</para>
<para>Tier 1 architectures are expected to be fully supported by
the ports system. All the ports should build on a Tier 1
platform, or have the appropriate filters to prevent the
inappropriate ones from building there. The packaging system
must support all Tier 1 architectures. To ensure an
architecture's Tier 1 status, proponents of that architecture
must show that all relevant packages can be built on that
platform.</para>
<para>Tier 1 embedded architectures must be able to cross-build
packages on at least one other Tier 1 architecture. The
packages must be the most relevant for the platform, but may
be a non-empty subset of those that build natively.</para>
<para>Tier 1 architectures must be fully documented. All basic
operations need to be covered by the handbook or other
documents. All relevant integration documentation must also
be integrated into the tree, or readily available.</para>
<para>Current Tier 1 platforms are &arch.i386; and
&arch.amd64;.</para>
</sect2>
<sect2>
<title>Tier 2: Developmental Architectures</title>
<para>Tier 2 platforms are not supported by the security officer
and release engineering teams. Platform maintainers are
responsible for toolchain support in the tree. The toolchain
maintainer is expected to work with the platform maintainers
to refine these changes. Major new toolchain components are
allowed to break support for Tier 2 architectures if the
&os;-local changes have not been incorporated upstream.
The toolchain maintainers are expected to provide prompt
review of any proposed changes and cannot block, through their
inaction, changes going into the tree. New features added to
&os; should be feasible to implement on these platforms,
but an implementation is not required before the feature may
be added to the &os; source tree. New features that may be
difficult to implement on Tier 2 architectures should provide
a means of disabling them on those architectures. The
implementation of a Tier 2 architecture may be committed to
the main &os; tree as long as it does not interfere with
production work on Tier 1 platforms, or substantially with
other Tier 2 platforms. Before a Tier 2 platform can be added
to the &os; base source tree, the platform must be able to
boot multi-user on actual hardware. Generally, there must be
at least three active developers working on the
platform.</para>
<para>Tier 2 architectures are usually systems targeted at Tier
1 support, but that are still under development.
Architectures reaching end of life may also be moved from Tier
1 status to Tier 2 status as the availability of resources to
continue to maintain the system in a Production Quality state
diminishes. Well supported niche architectures may also be
Tier 2.</para>
<para>Tier 2 architectures may have some support for them
integrated into the ports infrastructure. They may have cross
compilation support added, at the discretion of portmgr. Some
ports must built natively into packages if the package system
supports that architecture. If not integrated into the base
system, some external patches for the architecture for ports
must be available.</para>
<para>Tier 2 architectures can be integrated into the &os;
handbook. The basics for how to get a system running must be
documented, although not necessarily for every single board or
system a Tier 2 architecture supports. The supported hardware
list must exist and should be no more than a couple of months
old. It should be integrated into the &os;
documentation.</para>
<para>Current Tier 2 platforms are &arch.arm;, &arch.ia64;,
&arch.pc98;, &arch.powerpc;, and &arch.sparc64;.</para>
</sect2>
<sect2>
<title>Tier 3: Experimental Architectures</title>
<para>Tier 3 platforms are not supported by the security officer
and release engineering teams. At the discretion of the
toolchain maintainer, they may be supported in the toolchain.
Tier 3 platforms are architectures in the early stages of
development, for non-mainstream hardware platforms, or which
are considered legacy systems unlikely to see broad future
use. New Tier 3 systems will not be committed to the base
source tree. Support for Tier 3 systems may be worked on in
the &os; Perforce Repository, providing source control and
easier change integration from the main &os; tree.
Platforms that transition to Tier 3 status may be removed from
the tree if they are no longer actively supported by the
&os; developer community at the discretion of the release
engineer.</para>
<para>Tier 3 platforms may have ports support, either integrated
or external, but do not require it.</para>
<para>Tier 3 platforms must have the basics documented for how
to build a kernel and how to boot it on at least one target
hardware or emulation environment. This documentation need
not be integrated into the &os; tree.</para>
<para>Current Tier 3 platforms are &arch.mips; and
&s390;.</para>
</sect2>
<sect2>
<title>Tier 4: Unsupported Architectures</title>
<para>Tier 4 systems are not supported in any form by the
project.</para>
<para>All systems not otherwise classified into a support tier
are Tier 4 systems.</para>
</sect2>
<sect2>
<title>Policy on Changing the Tier of an Architecture</title>
<para>Systems may only be moved from one tier to another by
approval of the &os; Core Team, which shall make that
decision in collaboration with the Security Officer, Release
Engineering, and toolchain maintenance teams.</para>
</sect2>
</sect1>
<sect1 id="ports">
<title>Ports Specific FAQ</title>
<qandaset>
<qandadiv>
<title>Adding a New Port</title>
<qandaentry>
<question>
<para>How do I add a new port?</para>
</question>
<answer>
<para>First, please read the section about repository
copies.</para>
<para>The easiest way to add a new port is to use the
<command>addport</command> script from your machine
(located in the <filename>ports/Tools/scripts</filename>
directory). It will add a port from the directory you
specify, determining the category automatically from the
port <filename>Makefile</filename>. It will also add an
entry to the port's category
<filename>Makefile</filename>. It was written by
&a.mharo.email;, &a.will.email;, and &a.garga.email;.
When sending
questions about this script to the &a.ports;, please
also CC &a.crees.email;, the current maintainer.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Any other things I need to know when I add a new
port?</para>
</question>
<answer>
<para>Check the port, preferably to make sure it compiles
and packages correctly. This is the recommended
sequence:</para>
<screen>&prompt.root; <userinput>make install</userinput>
&prompt.root; <userinput>make package</userinput>
&prompt.root; <userinput>make deinstall</userinput>
&prompt.root; <userinput>pkg_add <replaceable>package you built above</replaceable></userinput>
&prompt.root; <userinput>make deinstall</userinput>
&prompt.root; <userinput>make reinstall</userinput>
&prompt.root; <userinput>make package</userinput></screen>
<para>The <ulink
url="&url.books.porters-handbook;/index.html">Porters
Handbook</ulink> contains more detailed
instructions.</para>
<para>Use &man.portlint.1; to check the syntax of the
port. You do not necessarily have to eliminate all
warnings but make sure you have fixed the simple
ones.</para>
<para>If the port came from a submitter who has not
contributed to the Project before, add that person's
name to the <ulink
url="&url.articles.contributors;/contrib-additional.html">Additional
Contributors</ulink> section of the &os;
Contributors List.</para>
<para>Close the PR if the port came in as a PR. To close
a PR, just do <userinput>edit-pr
<replaceable>PR#</replaceable></userinput> on
<hostid>freefall</hostid> and change the
<varname>state</varname> from <constant>open</constant>
to <constant>closed</constant>. You will be asked to
enter a log message and then you are done.</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv>
<title>Removing an Existing Port</title>
<qandaentry>
<question>
<para>How do I remove an existing port?</para>
</question>
<answer>
<para>First, please read the section about repository
copies. Before you remove the port, you have to verify
there are no other ports depending on it.</para>
<itemizedlist>
<listitem>
<para>Make sure there is no dependency on the port
in the ports collection:</para>
<itemizedlist>
<listitem>
<para>The port's PKGNAME should appear in exactly
one line in a recent INDEX file.</para>
</listitem>
<listitem>
<para>No other ports should contain any reference
to the port's directory or PKGNAME in their
Makefiles</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Then, remove the port:</para>
<procedure>
<step>
<para>Remove the port's files and directory with
<command>svn remove</command>.</para>
</step>
<step>
<para>Remove the <makevar>SUBDIR</makevar> listing
of the port in the parent directory
<filename>Makefile</filename>.</para>
</step>
<step>
<para>Add an entry to
<filename>ports/MOVED</filename>.</para>
</step>
<step>
<para>Remove the port from
<filename>ports/LEGAL</filename> if it is
there.</para>
</step>
</procedure>
</listitem>
</itemizedlist>
<para>Alternatively, you can use the
<command>rmport</command> script, from <filename
class="directory">ports/Tools/scripts</filename>.
This script was written by &a.vd.email;. When sending
questions about this script to the &a.ports;, please
also CC &a.crees.email;, the current maintainer.</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv>
<title>Re-adding a Deleted Port</title>
<qandaentry>
<question>
<para>How do I re-add a deleted port?</para>
</question>
<answer>
<para>This is essentially the reverse of deleting a
port.</para>
<procedure>
<step>
<para>Figure out when the port was removed. Use this
<ulink
url="http://people.freebsd.org/~crees/removed_ports/index.xml">list</ulink>
and then copy the last living revision of the port:
<screen>&prompt.user; <userinput>cd /usr/ports/<replaceable>category
</replaceable></userinput>
&prompt.user; <userinput>svn cp 'svn+ssh://svn.freebsd.org/ports/<replaceable>category</replaceable>/<replaceable>portname</replaceable>/@{<replaceable>YYYY-MM-DD</replaceable>}' <replaceable>portname</replaceable>
</userinput></screen>
Pick a date that is before the removal but after the
last true commit.</para>
</step>
<step>
<para>Perform whatever changes are necessary to make
the port work again. If it was deleted because the
distfiles are no longer available you will need to
volunteer to host them yourself, or find someone
else to do so.</para>
</step>
<step>
<para><command>svn add</command> or
<command>svn remove</command> any appropriate
files.</para>
</step>
<step>
<para>Restore the <makevar>SUBDIR</makevar> listing of
the port in the parent directory
<filename>Makefile</filename>, and delete the entry
from <filename>ports/MOVED</filename>.</para>
</step>
<step>
<para>If the port had an entry in
<filename>ports/LEGAL</filename>, restore it.</para>
</step>
<step>
<para><command>svn commit</command> these changes,
preferably in one step.</para>
</step>
</procedure>
<tip>
<para><command>addport</command> now detects when the
port to add has previously existed, and should handle
all except the <filename>ports/LEGAL</filename> step
automatically.</para>
</tip>
</answer>
</qandaentry>
</qandadiv>
<qandadiv>
<title>Repository Copies</title>
<qandaentry>
<question>
<para>When do we need a repository copy?</para>
</question>
<answer>
<para>When you want to add a port that is related to
any port that is already in the tree in a separate
directory, you have to do a repository copy.
Here <wordasword>related</wordasword> means
it is a different version or a slightly modified
version. Examples are
<filename>print/ghostscript*</filename> (different
versions) and <filename>x11-wm/windowmaker*</filename>
(English-only and internationalized version).</para>
<para>Another example is when a port is moved from one
subdirectory to another, or when you want to change the
name of a directory because the author(s) renamed their
software even though it is a
descendant of a port already in a tree.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>What do I need to do?</para>
</question>
<answer>
<para>With Subversion, a repo copy can be done by any
committer:</para>
<itemizedlist>
<listitem>
<para>Doing a repo copy:</para>
<procedure>
<step>
<para>First make sure that you were using an up to
date ports tree and the target directory does
not exist.</para>
</step>
<step>
<para>Use <command>svn move</command> or
<command>svn copy</command> to do the repo
copy.</para>
</step>
<step>
<para>Upgrade the copied port to the new version.
Remember to change the
<makevar>LATEST_LINK</makevar> so there are no
duplicate ports with the same name. In some
rare cases it may be necessary to change the
<makevar>PORTNAME</makevar> instead of
<makevar>LATEST_LINK</makevar>, but this should
only be done when it is really needed &mdash;
e.g., using an existing port as the base for a
very similar program with a different name, or
upgrading a port to a new upstream version which
actually changes the distribution name, like the
transition from
<filename>textproc/libxml</filename> to
<filename>textproc/libxml2</filename>. In most
cases, changing <makevar>LATEST_LINK</makevar>
should suffice.</para>
</step>
<step>
<para>Add the new subdirectory to the
<makevar>SUBDIR</makevar> listing in the parent
directory <filename>Makefile</filename>. You
can run <command>make checksubdirs</command> in
the parent directory to check this.</para>
</step>
<step>
<para>If the port changed categories, modify the
<makevar>CATEGORIES</makevar> line of the port's
<filename>Makefile</filename> accordingly</para>
</step>
<step>
<para>Add an entry to
<filename>ports/MOVED</filename>, if you remove
the original port.</para>
</step>
<step>
<para>Commit all changes on one commit. A forced
commit is no longer needed with
Subversion.</para>
</step>
</procedure>
</listitem>
<listitem>
<para>When removing a port:</para>
<procedure>
<step>
<para>Perform a thorough check of the ports
collection for any dependencies on the old port
location/name, and update them. Running
<command>grep</command> on
<filename>INDEX</filename> is not enough because
some ports have dependencies enabled by
compile-time options. A full
<command>grep -r</command> of the ports
collection is recommended.</para>
</step>
<step>
<para>Remove the old port and the
old <makevar>SUBDIR</makevar> entry.</para>
</step>
<step>
<para>Add an entry to
<filename>ports/MOVED</filename>.</para>
</step>
</procedure>
</listitem>
<listitem>
<para>After repo moves (<quote>rename</quote>
operations where a port is copied and the old
location is removed):</para>
<procedure>
<step>
<para>Follow the same steps that are outlined in
the previous two entries, to activate the new
location of the port and remove the old
one.</para>
</step>
</procedure>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
</qandadiv>
<qandadiv>
<title>Ports Freeze</title>
<qandaentry>
<question>
<para>What is a <quote>ports freeze</quote>?</para>
</question>
<answer>
<para>Before a release, it is necessary to restrict
commits to the ports tree for a short period of time
while the packages and the release itself are being
built. This is to ensure consistency among the various
parts of the release, and is called the
<quote>ports freeze</quote>.</para>
<para>For more information on the background and
policies surrounding a ports freeze, see the
<ulink url="&url.base;/portmgr/qa.html">Portmgr
Quality Assurance page</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>What is a <quote>ports slush</quote> or
<quote>feature freeze</quote>?</para>
</question>
<answer>
<para>During a release cycle the ports tree may be in a
<quote>slush</quote> state instead of in a hard freeze.
The goal during a slush is to reach a stable ports tree
to avoid rebuilding large sets of packages for the
release and to tag the tree. During this time
<quote>sweeping changes</quote> are prohibited unless
specifically permitted by portmgr. Complete details
about what qualifies as a sweeping change can be found
on the <ulink
url="&url.base;/portmgr/implementation.html">Portmgr
Implementation page</ulink>.</para>
<para>The benefit of a slush as opposed to a complete
freeze is that it allows maintainers to continue adding
new ports, making routine version updates, and bug fixes
to most existing ports, as long as the number of
affected ports is minimal. For example, updating the
shared library version on a port that many other ports
depend on.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>How long is a ports freeze or slush?</para>
</question>
<answer>
<para>A freeze only lasts long enough to tag the tree.
A slush usually lasts a week or two, but may last
longer.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>What does it mean to me?</para>
</question>
<answer>
<para>During a ports freeze, you are not allowed to
commit anything to the tree without explicit approval
from the Ports Management Team. <quote>Explicit
approval</quote> here means that you send a patch to
the Ports Management Team for review and get a reply
saying, <quote>Go ahead and commit it.</quote></para>
<para>Not everything is allowed to be committed during
a freeze. Please see the <ulink
url="&url.base;/portmgr/qa.html">Portmgr Quality
Assurance page</ulink> for more information.</para>
<para>Note that you do not have implicit permission to fix
a port during the freeze just because it is
broken.</para>
<para>During a ports slush, you are still allowed to
commit but you must exercise more caution in what you
commit. Furthermore a special note (typically
<quote>Feature Safe: yes</quote>) must be added to the
commit message.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>How do I know when the ports slush starts?</para>
</question>
<answer>
<para>The Ports Management Team will send out warning
messages to the &a.ports; and &a.committers;
announcing the start of the impending release, usually
two or three weeks in advance. The exact starting time
will not be determined until a few days before the
actual release. This is because the ports slush has to
be synchronized with the release, and it is usually not
known until then when exactly the release will be
rolled.</para>
<para>When the slush starts, there will be another
announcement to the &a.ports; and &a.committers;, of
course.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>How do I know when the freeze or slush ends?</para>
</question>
<answer>
<para>A few hours after the release, the Ports Management
Team will send out a mail to the &a.ports; and
&a.committers; announcing the end of the ports freeze or
slush. Note that the release being cut does not
automatically indicate the end of the freeze. We have
to make sure there will be no last minute snafus that
result in an immediate re-rolling of the release.</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv>
<title>Creating a New Category</title>
<qandaentry>
<question>
<para>What is the procedure for creating a new
category?</para>
</question>
<answer>
<para>Please see <ulink
url="&url.books.porters-handbook;/makefile-categories.html#PROPOSING-CATEGORIES">
Proposing a New Category</ulink> in the Porter's
Handbook. Once that procedure has been followed and the
PR has been assigned to &a.portmgr;, it is their
decision whether or not to approve it. If they do, it
is their responsibility to do the following:</para>
<procedure>
<step>
<para>Perform any needed moves. (This only applies
to physical categories.)</para>
</step>
<step>
<para>Update the <makevar>VALID_CATEGORIES</makevar>
definition in
<filename>ports/Mk/bsd.port.mk</filename>.</para>
</step>
<step>
<para>Assign the PR back to you.</para>
</step>
</procedure>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>What do I need to do to implement a new physical
category?</para>
</question>
<answer>
<procedure>
<step>
<para>Upgrade each moved port's
<filename>Makefile</filename>. Do not connect the
new category to the build yet.</para>
<para>To do this, you will need to:</para>
<procedure>
<step>
<para>Change the port's
<makevar>CATEGORIES</makevar> (this was the
point of the exercise, remember?) The new
category should be listed
<emphasis>first</emphasis>. This will help to
ensure that the <makevar>PKGORIGIN</makevar> is
correct.</para>
</step>
<step>
<para>Run a <command>make describe</command>.
Since the top-level
<command>make index</command> that you will be
running in a few steps is an iteration of
<command>make describe</command> over the entire
ports hierarchy, catching any errors here will
save you having to re-run that step later
on.</para>
</step>
<step>
<para>If you want to be really thorough, now
might be a good time to run
&man.portlint.1;.</para>
</step>
</procedure>
</step>
<step>
<para>Check that the <makevar>PKGORIGIN</makevar>s are
correct. The ports system uses each port's
<makevar>CATEGORIES</makevar> entry to create its
<makevar>PKGORIGIN</makevar>, which is used to
connect installed packages to the port directory
they were built from. If this entry is wrong,
common port tools like &man.pkg.version.1; and
&man.portupgrade.1; fail.</para>
<para>To do this, use the
<filename>chkorigin.sh</filename> tool, as follows:
<command>env
PORTSDIR=<replaceable>/path/to/ports</replaceable>
sh -e
<replaceable>/path/to/ports</replaceable>/Tools/scripts/chkorigin.sh</command>.
This will check <emphasis>every</emphasis> port in
the ports tree, even those not connected to the
build, so you can run it directly after the move
operation. Hint: do not forget to look at the
<makevar>PKGORIGIN</makevar>s of any slave ports of
the ports you just moved!</para>
</step>
<step>
<para>On your own local system, test the proposed
changes: first, comment out the
<makevar>SUBDIR</makevar> entries in the old ports'
categories' <filename>Makefile</filename>s; then
enable building the new category in
<filename>ports/Makefile</filename>. Run
<command>make checksubdirs</command> in the affected
category directories to check the
<makevar>SUBDIR</makevar> entries. Next, in the
<filename class="directory">ports/</filename>
directory, run <command>make index</command>. This
can take over 40 minutes on even modern systems;
however, it is a necessary step to prevent problems
for other people.</para>
</step>
<step>
<para>Once this is done, you can commit the updated
<filename>ports/Makefile</filename> to connect the
new category to the build and also commit the
<filename>Makefile</filename> changes for the old
category or categories.</para>
</step>
<step>
<para>Add appropriate entries to
<filename>ports/MOVED</filename>.</para>
</step>
<step>
<para>Update the documentation by modifying the
following:</para>
<itemizedlist>
<listitem>
<para>the <ulink
url="&url.books.porters-handbook;/makefile-categories.html#PORTING-CATEGORIES">list
of categories</ulink> in the Porter's
Handbook</para>
</listitem>
<listitem>
<para>
<filename>www/en/ports/categories</filename>.
Note that these are now displayed by sub-groups,
as specified in
<filename>www/en/ports/categories.descriptions</filename>.</para>
</listitem>
</itemizedlist>
<para>(Note: these are in the docs, not the ports,
repository). If you are not a docs committer, you
will need to submit a PR for this.</para>
</step>
<step>
<para>Only once all the above have been done, and no
one is any longer reporting problems with the new
ports, should the old ports be deleted from their
previous locations in the repository.</para>
</step>
</procedure>
<para>It is not necessary to manually update the
<ulink url="&url.base;/ports/index.html">ports web
pages</ulink> to reflect the new category. This is
now done automatically via your change to
<filename>www/en/ports/categories</filename> and the
daily automated rebuild of
<filename>INDEX</filename>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>What do I need to do to implement a new virtual
category?</para>
</question>
<answer>
<para>This is much simpler than a physical category. You
only need to modify the following:</para>
<itemizedlist>
<listitem>
<para>the <ulink
url="&url.books.porters-handbook;/makefile-categories.html#PORTING-CATEGORIES">list
of categories</ulink> in the Porter's
Handbook</para>
</listitem>
<listitem>
<para><filename>www/en/ports/categories</filename></para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
</qandadiv>
<qandadiv>
<title>Miscellaneous Questions</title>
<qandaentry>
<question>
<para>How do I know if my port is building correctly or
not?</para>
</question>
<answer>
<para>First, go check <ulink
url="http://pointyhat.FreeBSD.org/errorlogs/"></ulink>.
There you will find error logs from the latest package
building runs on all supported platforms for the most
recent branches.</para>
<para>However, just because the port does not show up
there does not mean it is building correctly. (One of
the dependencies may have failed, for instance.) The
relevant directories are available on
<hostid>pointyhat</hostid> under <filename
class="directory">/a/portbuild/&lt;arch&gt;/&lt;major_version&gt;</filename>
so feel free to dig around. Each architecture and
version has the following subdirectories:</para>
<programlisting>errors error logs from latest &lt;major_version&gt; run on &lt;arch&gt;
logs all logs from latest &lt;major_version&gt; run on &lt;arch&gt;
packages packages from latest &lt;major_version&gt; run on &lt;arch&gt;
bak/errors error logs from last complete &lt;major_version&gt; run on &lt;arch&gt;
bak/logs all logs from last complete &lt;major_version&gt; run on &lt;arch&gt;
bak/packages packages from last complete &lt;major_version&gt; run on &lt;arch&gt;</programlisting>
<para>Basically, if the port shows up in
<filename>packages</filename>, or it is in
<filename>logs</filename> but not in
<filename>errors</filename>, it built fine. (The
<filename>errors</filename> directories are what you get
from the web page.)</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I added a new port. Do I need to add it to the
<filename>INDEX</filename>?</para>
</question>
<answer>
<para>No, <filename>INDEX</filename> is no longer stored
in the SVN repository. The file can either be generated
by running <command>make index</command>, or a
pre-generated version can be downloaded with
<command>make fetchindex</command>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Are there any other files I am not allowed to
touch?</para>
</question>
<answer>
<para>Any file directly under <filename>ports/</filename>,
or any file under a subdirectory that starts with an
uppercase letter (<filename>Mk/</filename>,
<filename>Tools/</filename>, etc.). In particular, the
Ports Management Team is very protective of
<filename>ports/Mk/bsd.port*.mk</filename> so do not
commit changes to those files unless you want to face
his wra(i)th.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>What is the proper procedure for updating the
checksum for a port's distfile when the file changes
without a version change?</para>
</question>
<answer>
<para>When the checksum for a port's distfile is updated
due to the author updating the file without changing the
port's revision, the commit message should include a
summary of the relevant diffs between the original and
new distfile to ensure that the distfile has not been
corrupted or maliciously altered. If the current
version of the port has been in the ports tree for a
while, a copy of the old distfile will usually be
available on the ftp servers; otherwise the author or
maintainer should be contacted to find out why the
distfile has changed.</para>
</answer>
</qandaentry>
</qandadiv>
</qandaset>
</sect1>
<sect1 id="non-committers">
<title>Issues Specific to Developers Who Are Not
Committers</title>
<para>A few people who have access to the &os; machines do not
have commit bits. For instance, the project is willing to give
access to the GNATS database to contributors who have shown
interest and dedication in working on Problem Reports.</para>
<para>Almost all of this document will apply to these developers
as well (except things specific to commits and the mailing list
memberships that go with them). In particular, we recommend
that you read:</para>
<itemizedlist>
<listitem>
<para><link linkend="admin">Administrative
Details</link></para>
</listitem>
<listitem>
<para><link
linkend="conventions-everyone">Conventions</link></para>
<note>
<para>You should get your mentor to add you to the
<quote>Additional Contributors</quote>
(<filename>doc/en_US.ISO8859-1/articles/contributors/contrib.additional.xml</filename>),
if you are not already listed there.</para>
</note>
</listitem>
<listitem>
<para><link
linkend="developer.relations">Developer
Relations</link></para>
</listitem>
<listitem>
<para><link linkend="ssh.guide">SSH Quick-Start
Guide</link></para>
</listitem>
<listitem>
<para><link linkend="rules">The &os; Committers' Big List
of Rules</link></para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="google-analytics">
<title>Information About &ga;</title>
<para>As of December 12, 2012, &ga; was enabled on the
&os;&nbsp;Project website to collect anonymized usage statistics
regarding usage of the site. The information collected is
valuable to the &os;&nbsp;Documentation Project, in order to
identify various problems on the &os; website.</para>
<sect2 id="google-analytics-policy">
<title>&ga; General Policy</title>
<para>The &os;&nbsp;Project takes visitor privacy very
seriously. As such, the &os;&nbsp;Project website honors the
<quote>Do Not Track</quote> header <emphasis>before</emphasis>
fetching the tracking code from Google. For more information,
please see the
<ulink url="http://www.FreeBSD.org/privacy.html">&os; Privacy
Policy</ulink>.</para>
<para>&ga; access is <emphasis>not</emphasis> arbitrarily
allowed &mdash; access must be requested, voted on by the
&a.doceng;, and explicitly granted.</para>
<para>Requests for &ga; data must include a specific purpose.
For example, a valid reason for requesting access would be
<quote>to see the most frequently used web browsers when
viewing &os; web pages to ensure page rendering speeds are
acceptable.</quote></para>
<para>Conversely, <quote>to see what web browsers are most
frequently used</quote> (without stating
<emphasis>why</emphasis>) would be rejected.</para>
<para>All requests must include the timeframe for which the data
would be required. For example, it must be explicitly stated
if the requested data would be needed for a timeframe covering
a span of 3 weeks, or if the request would be one-time
only.</para>
<para>Any request for &ga; data without a clear, reasonable
reason beneficial to the &os;&nbsp;Project will be
rejected.</para>
</sect2>
<sect2 id="google-analytics-data">
<title>Data Available Through &ga;</title>
<para>A few examples of the types of &ga; data available
include:</para>
<itemizedlist>
<listitem>
<para>Commonly used web browsers</para>
</listitem>
<listitem>
<para>Page load times</para>
</listitem>
<listitem>
<para>Site access by language</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="perks">
<title>Perks of the Job</title>
<para>Unfortunately, there are not many perks involved with being
a committer. Recognition as a competent software engineer is
probably the only thing that will be of benefit in the long run.
However, there are at least some perks:</para>
<variablelist>
<varlistentry>
<term>Free 4-CD and DVD Sets</term>
<listitem>
<para>&os; committers can get a free 4-CD or DVD set at
conferences from <ulink url="http://www.freebsdmall.com">
&os; Mall, Inc.</ulink>. The sets are no longer
available as a subscription due to the high shipment costs
to countries outside the USA.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Freenode IRC Cloaks</term>
<listitem>
<para>&os; developers may request a cloaked hostmask for
their account on the Freenode IRC network in the form of
<literal>freebsd/developer/</literal><replaceable>freefall
name</replaceable> or
<literal>freebsd/developer/</literal><replaceable>NickServ
name</replaceable>. To request a cloak, send an email to
&a.eadler.email; with your requested hostmask and NickServ
account name.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="misc">
<title>Miscellaneous Questions</title>
<qandaset>
<qandaentry>
<question>
<para>Why are trivial or cosmetic changes to files on a
vendor branch a bad idea?</para>
</question>
<answer>
<itemizedlist>
<listitem>
<para>From now on, every new vendor release of that file
will need to have patches merged in by hand.</para>
</listitem>
<listitem>
<para>From now on, every new vendor release of that file
will need to have patches
<emphasis>verified</emphasis> by hand.</para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>How do I add a new file to a branch?</para>
</question>
<answer>
<para>To add a file onto a branch, simply checkout or update
to the branch you want to add to and then add the file
using the add operation as you normally would. This works
fine for the <literal>doc</literal> and
<literal>ports</literal> trees. The
<literal>src</literal> tree uses SVN and requires more
care because of the <literal>mergeinfo</literal>
properties. See section 1.4.6 of the <ulink
url="http://wiki.freebsd.org/SubversionPrimer">Subversion
Primer</ulink> for details. Refer to <ulink
url="http://wiki.freebsd.org/SubversionPrimer/Merging">SubversionPrimer/Merging</ulink>
for details on how to perform an MFC.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>What <quote>meta</quote> information should I include
in a commit message?</para>
</question>
<answer>
<para>As well as including an informative message with each
commit you may need to include some additional information
as well.</para>
<para>This information consists of one or more lines
containing the key word or phrase, a colon, tabs for
formatting, and then the additional information.</para>
<para>The key words or phrases are:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<tbody>
<row>
<entry><literal>PR:</literal></entry>
<entry>The problem report (if any) which is affected
(typically, by being closed) by this
commit.</entry>
</row>
<row>
<entry><literal>Submitted by:</literal></entry>
<entry>The name and e-mail address of the person
that submitted the fix; for committers, just the
username on the &os; cluster.</entry>
</row>
<row>
<entry><literal>Reviewed by:</literal></entry>
<entry>The name and e-mail address of the person or
people that reviewed the change; for committers,
just the username on the &os; cluster. If a
patch was submitted to a mailing list for review,
and the review was favorable, then just include
the list name.</entry>
</row>
<row>
<entry><literal>Approved by:</literal></entry>
<entry>The name and e-mail address of the person or
people that approved the change; for committers,
just the username on the &os; cluster. It is
customary to get prior approval for a commit if it
is to an area of the tree to which you do not
usually commit. In addition, during the run up to
a new release all commits
<emphasis>must</emphasis> be approved by the
release engineering team. If these are your first
commits then you should have passed them past your
mentor first, and you should list your mentor, as
in ``<replaceable>username-of-mentor</replaceable>
<literal>(mentor)</literal>''.</entry>
</row>
<row>
<entry><literal>Obtained from:</literal></entry>
<entry>The name of the project (if any) from which
the code was obtained.</entry>
</row>
<row>
<entry><literal>MFC after:</literal></entry>
<entry>If you wish to receive an e-mail reminder to
<acronym>MFC</acronym> at a later date, specify
the number of days, weeks, or months after which
an <acronym>MFC</acronym> is planned.</entry>
</row>
<row>
<entry><literal>Security:</literal></entry>
<entry>If the change is related to a security
vulnerability or security exposure, include one or
more references or a description of the
issue.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<example>
<title>Commit Log for a Commit Based on a PR</title>
<para>You want to commit a change based on a PR submitted
by John Smith containing a patch. The end of the commit
message should look something like this.</para>
<programlisting>...
PR: foo/12345
Submitted by: John Smith &lt;John.Smith@example.com></programlisting>
</example>
<example>
<title>Commit Log for a Commit Needing Review</title>
<para>You want to change the virtual memory system. You
have posted patches to the appropriate mailing list (in
this case, <literal>freebsd-arch</literal>) and the
changes have been approved.</para>
<programlisting>...
Reviewed by: -arch</programlisting>
</example>
<example>
<title>Commit Log for a Commit Needing Approval</title>
<para>You want to commit a change to a section of the tree
with a MAINTAINER assigned. You have collaborated with
the listed MAINTAINER, who has told you to go ahead and
commit.</para>
<programlisting>...
Approved by: <replaceable>abc</replaceable></programlisting>
<para>Where <replaceable>abc</replaceable> is the account
name of the person who approved.</para>
</example>
<example>
<title>Commit Log for a Commit Bringing in Code from
OpenBSD</title>
<para>You want to commit some code based on work done in
the OpenBSD project.</para>
<programlisting>...
Obtained from: OpenBSD</programlisting>
</example>
<example>
<title>Commit Log for a Change to &os.current; with a
Planned Commit to &os.stable; to Follow at a Later
Date.</title>
<para>You want to commit some code which will be merged
from &os.current; into the &os.stable; branch after two
weeks.</para>
<programlisting>...
MFC after: <replaceable>2 weeks</replaceable></programlisting>
<para>Where <replaceable>2</replaceable> is the number of
days, weeks, or months after which an
<acronym>MFC</acronym> is planned. The
<replaceable>weeks</replaceable> option may be
<literal>day</literal>, <literal>days</literal>,
<literal>week</literal>, <literal>weeks</literal>,
<literal>month</literal>, <literal>months</literal>, or
may be left off (in which case, days will be
assumed).</para>
</example>
<para>In some cases you may need to combine some of
these.</para>
<para>Consider the situation where a user has submitted a PR
containing code from the NetBSD project. You are looking
at the PR, but it is not an area of the tree you normally
work in, so you have decided to get the change reviewed by
the <literal>arch</literal> mailing list. Since the
change is complex, you opt to <acronym>MFC</acronym> after
one month to allow adequate testing.</para>
<para>The extra information to include in the commit would
look something like</para>
<programlisting>PR: foo/54321
Submitted by: John Smith &lt;John.Smith@example.com>
Reviewed by: -arch
Obtained from: NetBSD
MFC after: 1 month</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>How do I access
<hostid role="fqdn">people.FreeBSD.org</hostid> to put up
personal or project information?</para>
</question>
<answer>
<para><hostid role="fqdn">people.FreeBSD.org</hostid> is the
same as
<hostid role="fqdn">freefall.FreeBSD.org</hostid>. Just
create a <filename>public_html</filename> directory.
Anything you place in that directory will automatically be
visible under <ulink
url="http://people.FreeBSD.org/"></ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Where are the mailing list archives stored?</para>
</question>
<answer>
<para>The mailing lists are archived under
<filename>/g/mail</filename> which will show up as
<filename>/hub/g/mail</filename> with &man.pwd.1;. This
location is accessible from any machine on the &os;
cluster.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I would like to mentor a new committer. What process
do I need to follow?</para>
</question>
<answer>
<para>See the <ulink
url="http://www.freebsd.org/internal/new-account.html">New
Account Creation Procedure</ulink> document on the
internal pages.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>
</article>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/articles/contributors/contrib.additional.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/articles/contributors/contrib.additional.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/articles/contributors/contrib.additional.xml (revision 42804)
@@ -1,11159 +1,11159 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $FreeBSD$ -->
<!--
NOTE TO COMMITTERS: Contributors lists are sorted in alphabetical
order by first name.
-->
<itemizedlist>
<listitem>
<para>ABURAYA Ryushirou
<email>rewsirow@ff.iij4u.or.jp</email></para>
</listitem>
<listitem>
<para>AIDA Shinra
<email>aida-s@jcom.home.ne.jp</email></para>
</listitem>
<listitem>
<para>AMAGAI Yoshiji
<email>amagai@nue.org</email></para>
</listitem>
<listitem>
<para>Aaron Bornstein
<email>aaronb@j51.com</email></para>
</listitem>
<listitem>
<para>Aaron Myles Landwehr
<email>aaron@snaphat.com</email></para>
</listitem>
<listitem>
<para>Aaron Smith
<email>aaron@mutex.org</email></para>
</listitem>
<listitem>
<para>Aaron Straup Cope
<email>ascope@cpan.org</email></para>
</listitem>
<listitem>
<para>Aaron Voisine
<email>voisine@gmail.com</email></para>
</listitem>
<listitem>
<para>Aaron Zauner
<email>az_mail@gmx.at</email></para>
</listitem>
<listitem>
<para>Aasmund Eikli
<email>inter@o12a.com</email></para>
</listitem>
<listitem>
<para>Achim Patzner
<email>ap@noses.com</email></para>
</listitem>
<listitem>
<para>Ada T Lim
<email>ada@bsd.org</email></para>
</listitem>
<listitem>
<para>Adam Baran
<email>badam@mw.mil.pl</email></para>
</listitem>
<listitem>
<para>Adam C. Migus
<email>adam@migus.org</email></para>
</listitem>
<listitem>
<para>Adam Glass
<email>glass@postgres.berkeley.edu</email></para>
</listitem>
<listitem>
<para>Adam Herzog
<email>adam@herzogdesigns.com</email></para>
</listitem>
<listitem>
<para>Adam Jette
<email>jettea46@yahoo.com</email></para>
</listitem>
<listitem>
<para>Adam Kranzel
<email>adam@alameda.edu</email></para>
</listitem>
<listitem>
<para>Adam McDougall
<email>mcdouga9@egr.msu.edu</email></para>
</listitem>
<listitem>
<para>Adam McLaurin
<email>adam.freebsd@fastmail.fm</email></para>
</listitem>
<listitem>
<para>Adam Strohl
<email>troll@digitalspark.net</email></para>
</listitem>
<listitem>
<para>Adam Wight
<email>adamw@tulum.brsys.com</email></para>
</listitem>
<listitem>
<para>Adoal Xu
<email>adoal@iname.com</email></para>
</listitem>
<listitem>
<para>Adrian Colley
<email>aecolley@ois.ie</email></para>
</listitem>
<listitem>
<para>Adrian Filipi-Martin
<email>adrian@ubergeeks.com</email></para>
</listitem>
<listitem>
<para>Adrian Hall
<email>ahall@mirapoint.com</email></para>
</listitem>
<listitem>
<para>Adrian Mariano
<email>adrian@cam.cornell.edu</email></para>
</listitem>
<listitem>
<para>Adrian Pircalabu
<email>apircalabu@bitdefender.com</email></para>
</listitem>
<listitem>
<para>Adrian Steinmann
<email>ast@marabu.ch</email></para>
</listitem>
<listitem>
<para>Adrian T. Filipi-Martin
<email>atf3r@agate.cs.virginia.edu</email></para>
</listitem>
<listitem>
<para>Aftab Jahan Subedar
<email>jahan@bol-online.com</email></para>
</listitem>
<listitem>
<para>Ajit Thyagarajan</para>
</listitem>
<listitem>
<para>Akinori YAMADA
<email>yamada-a@nextcom.co.jp</email></para>
</listitem>
<listitem>
<para>Akira Ikeuchi
<email>a_ikeuchi@mic.mitsumi.co.jp</email></para>
</listitem>
<listitem>
<para>Akira SAWADA</para>
</listitem>
<listitem>
<para>Akira Watanabe
<email>akira@myaw.ei.meisei-u.ac.jp</email></para>
</listitem>
<listitem>
<para>Akito Fujita
<email>fujita@zoo.ncl.omron.co.jp</email></para>
</listitem>
<listitem>
<para>Al Hoang
<email>hoanga@mac.com</email></para>
</listitem>
<listitem>
<para>Alain Kalker
<email>A.C.P.M.Kalker@student.utwente.nl</email></para>
</listitem>
<listitem>
<para>Alan Amesbury
<email>amesbury@indefi.net</email></para>
</listitem>
<listitem>
<para>Alan Bawden
<email>alan@curry.epilogue.com</email></para>
</listitem>
<listitem>
<para>Alan Snelson
<email>Alan@Wave2.co.uk</email></para>
</listitem>
<listitem>
<para>Albert Graef
<email>Dr.Graef@t-online.de</email></para>
</listitem>
<listitem>
<para>Aldert Nooitgedagt
<email>aldert@nooitgedagt.net</email></para>
</listitem>
<listitem>
<para>Aldis Berjoza
<email>killasmurf86@gmail.com</email></para>
</listitem>
<listitem>
<para>Alec Wolman
<email>wolman@cs.washington.edu</email></para>
</listitem>
<listitem>
<para>Aled Morris
<email>aledm@routers.co.uk</email></para>
</listitem>
<listitem>
<para>Aleksander Fafula
<email>alex@fafula.com</email></para>
</listitem>
<listitem>
<para>Aleksandr A Babaylov
<email>.@babolo.ru</email></para>
</listitem>
<listitem>
<para>Aleksandr S. Goncharov
<email>mraleks@bk.ru</email></para>
</listitem>
<listitem>
<para>Alex D. Chen
<email>dhchen@elearning.nsysu.edu.tw</email></para>
</listitem>
<listitem>
<para>Alex Deiter
<email>tiamat@komi.mts.ru</email></para>
</listitem>
<listitem>
<para>Alex G. Bulushev
<email>bag@demos.su</email></para>
</listitem>
<listitem>
<para>Alex Kapranoff
<email>alex@kapranoff.ru</email></para>
</listitem>
<listitem>
<para>Alex Keda
<email>admin@lissyara.su</email></para>
</listitem>
<listitem>
<para>Alex Kiesel
<email>kiesel@schlund.de</email></para>
</listitem>
<listitem>
<para>Alex Le Heux
<email>alexlh@funk.org</email></para>
</listitem>
<listitem>
<para>Alex M
<email>alex@myzona.net</email></para>
</listitem>
<listitem>
<para>Alex Miller
<email>asm@asm.kiev.ua</email></para>
</listitem>
<listitem>
<para>Alex Perel
<email>veers@disturbed.net</email></para>
</listitem>
<listitem>
<para>Alex Pesternikov
<email>ap@page2rss.com</email></para>
</listitem>
<listitem>
<para>Alex Rodioukov
<email>simuran@shaw.ca</email></para>
</listitem>
<listitem>
<para>Alex Rousskov
<email>rousskov@measurement-factory.com</email></para>
</listitem>
<listitem>
<para>Alex Samorukov
<email>samm@os2.kiev.ua</email></para>
</listitem>
<listitem>
<para>Alex Semenyaka
<email>alex@rinet.ru</email></para>
</listitem>
<listitem>
<para>Alex Steiner
<email>ast@treibsand.com</email></para>
</listitem>
<listitem>
<para>Alex Trull
<email>alexander@trull.com</email></para>
</listitem>
<listitem>
<para>Alex Varju
<email>freebsd-ports@varju.ca</email></para>
</listitem>
<listitem>
<para>Alex Vasylenko
<email>lxv@omut.org</email></para>
</listitem>
<listitem>
<para>Alex Wilkinson
<email>alex.wilkinson@dsto.defence.gov.au</email></para>
</listitem>
<listitem>
<para>Alex Zepeda
<email>garbanzo@hooked.net</email></para>
</listitem>
<listitem>
<para>Alexander Bechikov
<email>goo@t72.ru</email></para>
</listitem>
<listitem>
<para>&a.arundel.email;</para>
</listitem>
<listitem>
<para>Alexander Churanov
<email>alexanderchuranov@gmail.com</email></para>
</listitem>
<listitem>
<para>Alexander B. Povolotsky
<email>tarkhil@mgt.msk.ru</email></para>
</listitem>
<listitem>
<para>Alexander Gelfenbain
<email>mail@gelf.com</email></para>
</listitem>
<listitem>
<para>Alexander Pereira Girald
<email>girald@etcom.ufrgs.br</email></para>
</listitem>
<listitem>
<para>Alexander Grigoryev
<email>alexander.4mail@gmail.com</email></para>
</listitem>
<listitem>
<para>Alexander Gromnizki
<email>gromnizki@unixdev.net</email></para>
</listitem>
<listitem>
<para>Alexander Haderer
<email>alexander.haderer@charite.de</email></para>
</listitem>
<listitem>
<para>Alexander Koch
<email>fbsd@meersau.de</email></para>
</listitem>
<listitem>
<para>Alexander Kojevnikov
<email>alexander@kojevnikov.com</email></para>
</listitem>
<listitem>
<para>Alexander Kovalenko
<email>never@nevermind.kiev.ua</email></para>
</listitem>
<listitem>
<para>Alexander Novitsky
<email>alecn2002@yandex.ru</email></para>
</listitem>
<listitem>
<para>Alexander Peresunko
<email>alex@freeman.org.ua</email></para>
</listitem>
<listitem>
<para>Alexander Pohoyda
<email>alexander.pohoyda@gmx.net</email></para>
</listitem>
<listitem>
<para>Alexander Pyhalov
<email>alp@sfedu.ru</email></para>
</listitem>
<listitem>
<para>alexander smishlajev
<email>alex@ank-sia.com</email></para>
</listitem>
<listitem>
<para>Alexander V. Ribchansky
<email>triosoft@triosoft.com.ua</email></para>
</listitem>
<listitem>
<para>Alexander Yerenkow
<email>yerenkow@gmail.com</email></para>
</listitem>
<listitem>
<para>Alexander Zagrebin
<email>alexz@visp.ru</email></para>
</listitem>
<listitem>
<para>Alexander Zhuravlev
<email>zaa@zaa.pp.ru</email></para>
</listitem>
<listitem>
<para>Alexandre Peixoto
<email>alexandref@tcoip.com.br</email></para>
</listitem>
<listitem>
<para>Alexandre Snarskii
<email>snar@paranoia.ru</email></para>
</listitem>
<listitem>
<para>Alexandros Kosiaris
<email>akosiaris+ports@gmail.com</email></para>
</listitem>
<listitem>
<para>Alexey Illarionov
<email>littlesavage@rambler.ru</email></para>
</listitem>
<listitem>
<para>Alexey V. Antipovsky
<email>kemm@in-line.ru</email></para>
</listitem>
<listitem>
<para>Alexey V. Neyman
<email>alex.neyman@auriga.ru</email></para>
</listitem>
<listitem>
<para>Alexey Y. Mikhailov
<email>karma@ez.pereslavl.ru</email></para>
</listitem>
<listitem>
<para>Alexey Shuvaev
<email>shuvaev@physik.uni-wuerzburg.de</email></para>
</listitem>
<listitem>
<para>Alexey Zaytsev
<email>mangoost@inetcomm.ru</email></para>
</listitem>
<listitem>
<para>Alexis Yushin
<email>alexis@forest.NLnetLabs.nl</email></para>
</listitem>
<listitem>
<para>Ali Mashtizadeh
<email>mashtizadeh@gmail.com</email></para>
</listitem>
<listitem>
<para>Alistair G. Crooks
<email>agc@uts.amdahl.com</email></para>
</listitem>
<listitem>
<para>Allan Bowhill
<email>bowhill@bowhill.vservers.com</email></para>
</listitem>
<listitem>
<para>Allan Saddi
<email>asaddi@philosophysw.com</email></para>
</listitem>
<listitem>
<para>Allen Campbell
<email>allenc@verinet.com</email></para>
</listitem>
<listitem>
<para>Amakawa Shuhei
<email>amakawa@hoh.t.u-tokyo.ac.jp</email></para>
</listitem>
<listitem>
<para>Amar Takhar
<email>verm@drunkmonk.net</email></para>
</listitem>
<listitem>
<para>Amir Farah
<email>amir@comtrol.com</email></para>
</listitem>
<listitem>
<para>Amir Shalem
<email>amir@boom.org.il</email></para>
</listitem>
<listitem>
<para>Amarendra Godbole
<email>amarendra.godbole@gmail.com</email></para>
</listitem>
<listitem>
<para>Amy Baron
<email>amee@beer.org</email></para>
</listitem>
<listitem>
<para>Anthony Garcia
<email>agarcia@experts-exchange.com</email></para>
</listitem>
<listitem>
<para>Anatoliy Dmytriyev
<email>tolid@plab.ku.dk</email></para>
</listitem>
<listitem>
<para>Anatoly A. Orehovsky
<email>tolik@mpeks.tomsk.su</email></para>
</listitem>
<listitem>
<para>Anatoly Borodin
<email>anatoly.borodin@gmail.com</email></para>
</listitem>
<listitem>
<para>Anatoly Vorobey
<email>mellon@pobox.com</email></para>
</listitem>
<listitem>
<para>Anatoly Zherdev
<email>tolyar@mx.ru</email></para>
</listitem>
<listitem>
<para>Anders Andersson
<email>anders@codefactory.se</email></para>
</listitem>
<listitem>
<para>Anders Nor Berle
<email>debolaz@debolaz.com</email></para>
</listitem>
<listitem>
<para>Anders Thulin
<email>Anders.X.Thulin@telia.se</email></para>
</listitem>
<listitem>
<para>Anders Troback
<email>freebsd@troback.com</email></para>
</listitem>
<listitem>
<para>Anderson S. Ferreira
<email>anderson@cnpm.embrapa.br</email></para>
</listitem>
<listitem>
<para>Andi Payn
<email>andi_payn@speedymail.org</email></para>
</listitem>
<listitem>
<para>Andre Albsmeier
<email>Andre.Albsmeier@mchp.siemens.de</email></para>
</listitem>
<listitem>
<para>Andre Goeree
<email>abgoeree@uwnet.nl</email></para>
</listitem>
<listitem>
<para>Andre Yelistratov
<email>andre@andre.net.ru</email></para>
</listitem>
<listitem>
<para>Andrea Venturoli
<email>a.ventu@flashnet.it</email></para>
</listitem>
<listitem>
<para>Andreas Berg
<email>aberg@doomnet.de</email></para>
</listitem>
<listitem>
<para>Andreas Fehlner
<email>fehlner@gmx.de</email></para>
</listitem>
<listitem>
<para>Andreas Fuchs
<email>asf@boinkor.net</email></para>
</listitem>
<listitem>
<para>Andreas Gustafsson
<email>gson@araneus.fi</email></para>
</listitem>
<listitem>
<para>Andreas Haakh
<email>ah@alman.robin.de</email></para>
</listitem>
<listitem>
<para>Andreas Heil
<email>ah@linux-hq.de</email></para>
</listitem>
<listitem>
<para>Andreas K Foerster
<email>akf3@akfoerster.de</email></para>
</listitem>
<listitem>
<para>Andreas Kasparz
<email>andy@interface-business.de</email></para>
</listitem>
<listitem>
<para>Andreas Kohn
<email>andreas@syndrom23.de</email></para>
</listitem>
<listitem>
<para>Andreas Kohout
<email>shanee@rabbit.augusta.de</email></para>
</listitem>
<listitem>
<para>Andreas Lohr
<email>andreas@marvin.RoBIN.de</email></para>
</listitem>
<listitem>
<para>Andreas M&ouml;ller
<email>segfault@gmx.net</email></para>
</listitem>
<listitem>
<para>Andreas Riedel
<email>rian@hrz.tu-chemnitz.de</email></para>
</listitem>
<listitem>
<para>Andreas Wetzel
<email>mickey@deadline.snafu.de</email></para>
</listitem>
<listitem>
<para>Andreas Wrede
<email>andreas@planix.com</email></para>
</listitem>
<listitem>
<para>Andrei V. Shetuhin
<email>shetuhin@corp.mail.ru</email></para>
</listitem>
<listitem>
<para>Andres Vega Garcia</para>
</listitem>
<listitem>
<para>Andrew Arensburger
<email>arensb@ooblick.com</email></para>
</listitem>
<listitem>
<para>Andrew Atrens
<email>atreand@statcan.ca</email></para>
</listitem>
<listitem>
<para>Andrew Boothman
<email>andrew@cream.org</email></para>
</listitem>
<listitem>
<para>Andrew Gillham
<email>gillham@andrews.edu</email></para>
</listitem>
<listitem>
<para>Andrew Gordon
<email>andrew.gordon@net-tel.co.uk</email></para>
</listitem>
<listitem>
<para>Andrew Greenwood
<email>greenwood.andy@gmail.com</email></para>
</listitem>
<listitem>
<para>Andrew Herbert
<email>andrew@werple.apana.org.au</email></para>
</listitem>
<listitem>
<para>Andrew J. Caines
<email>A.J.Caines@halplant.com</email></para>
</listitem>
<listitem>
<para>Andrew J. Korty
<email>ajk@iu.edu</email></para>
</listitem>
<listitem>
<para>Andrew Khlebutin
<email>andrey@hm.perm.ru</email></para>
</listitem>
<listitem>
<para>Andrew Kochetkov
<email>kochetkov.andrew@gmail.com</email></para>
</listitem>
<listitem>
<para>Andrew Kolchoogin
<email>andrew@rinet.ru</email></para>
</listitem>
<listitem>
<para>Andrew L. Kilpatrick
<email>tiger@whitetigersd.com</email></para>
</listitem>
<listitem>
<para>Andrew L. Neporada
<email>andrew@chg.ru</email></para>
</listitem>
<listitem>
<para>Andrew Marks
<email>andrew@amrx.net</email></para>
</listitem>
<listitem>
<para>Andrew McKay
<email>andy@openirc.co.uk</email></para>
</listitem>
<listitem>
<para>Andrew McNaughton
<email>andrew@scoop.co.nz</email></para>
</listitem>
<listitem>
<para>Andrew McRae
<email>amcrae@cisco.com</email></para>
</listitem>
<listitem>
<para>Andrew Morton
<email>drewish@katherinehouse.com</email></para>
</listitem>
<listitem>
<para>Andrew P. Lentvorski
<email>bsder@allcaps.org</email></para>
</listitem>
<listitem>
<para>Andrew Predoehl
<email>predoehl@mail.kg</email></para>
</listitem>
<listitem>
<para>Andrew Reilly
<email>a.reilly@lake.com</email></para>
</listitem>
<listitem>
<para>Andrew Romanenko
<email>melanhit@gmail.com</email></para>
</listitem>
<listitem>
<para>Andrew S. Midthune
<email>amidthune@cableone.net</email></para>
</listitem>
<listitem>
<para>Andrew Shevtsov
<email>nyxo@dnuc.polyn.kiae.su</email></para>
</listitem>
<listitem>
<para>Andrew Stevenson
<email>andrew@ugh.net.au</email></para>
</listitem>
<listitem>
<para>Andrew Timonin
<email>tim@pool1.convey.ru</email></para>
</listitem>
<listitem>
<para>Andrew V. Stesin
<email>stesin@elvisti.kiev.ua</email></para>
</listitem>
<listitem>
<para>Andrew V. Stikheev
<email>sand@links.ru</email></para>
</listitem>
<listitem>
<para>Andrew Webster
<email>awebster@dataradio.com</email></para>
</listitem>
<listitem>
<para>Andrey Novikov
<email>andrey@novikov.com</email></para>
</listitem>
<listitem>
<para>Andrey Simonenko
<email>simon@comsys.ntu-kpi.kiev.ua</email></para>
</listitem>
<listitem>
<para>Andrey Surkov
<email>nsand@sura.ru</email></para>
</listitem>
<listitem>
<para>Andrey Sverdlichenko
<email>rblaze@users.sourceforge.net</email></para>
</listitem>
<listitem>
<para>Andrey Tchoritch
<email>andy@venus.sympad.net</email></para>
</listitem>
<listitem>
<para>Andy Farkas
<email>andyf@speednet.com.au</email></para>
</listitem>
<listitem>
<para>Andy Fawcett
<email>andy@athame.co.uk</email></para>
</listitem>
<listitem>
<para>Andy Gilligan
<email>andy@evo6.org</email></para>
</listitem>
<listitem>
<para>Andy Kosela
<email>andy.kosela@gmail.com</email></para>
</listitem>
<listitem>
<para>Andy Miller
<email>andy@trit.org</email></para>
</listitem>
<listitem>
<para>Andy Newman
<email>atrn@zeta.org.au</email></para>
</listitem>
<listitem>
<para>Andy Pavlo
<email>amp0928@rit.edu</email></para>
</listitem>
<listitem>
<para>Andy Sparrow
<email>spadger@best.com</email></para>
</listitem>
<listitem>
<para>Andy Valencia
<email>ajv@csd.mot.com</email></para>
</listitem>
<listitem>
<para>Andy Whitcroft
<email>andy@sarc.city.ac.uk</email></para>
</listitem>
<listitem>
<para>Anes Muhametov
<email>anes@anes.su</email></para>
</listitem>
<listitem>
<para>Angel Todorov
<email>todorov_bg@gmx.net</email></para>
</listitem>
<listitem>
<para>Angelo Turetta
<email>aturetta@commit.it</email></para>
</listitem>
<listitem>
<para>Anish Mistry
<email>amistry@am-productions.biz</email></para>
</listitem>
<listitem>
<para>Anthony C. Chavez
<email>acc@anthonychavez.org</email></para>
</listitem>
<listitem>
<para>Anthony Ginepro
<email>anthony.ginepro@laposte.net</email></para>
</listitem>
<listitem>
<para>Anthony Mawer
<email>gnats@mawer.org</email></para>
</listitem>
<listitem>
<para>Anthony Yee-Hang Chan
<email>yeehang@netcom.com</email></para>
</listitem>
<listitem>
<para>Antoine Beaupre
<email>anarcat@anarcat.ath.cx</email></para>
</listitem>
<listitem>
<para>Antoine Pelisse
<email>apelisse@gmail.com</email></para>
</listitem>
<listitem>
<para>Anton Hryciuk
<email>gnixua@gmail.com</email></para>
</listitem>
<listitem>
<para>Anton N. Bruesov
<email>antonz@library.ntu-kpi.kiev.ua</email></para>
</listitem>
<listitem>
<para>Anton Shterenlikht
<email>mexas@bris.ac.uk</email></para>
</listitem>
<listitem>
<para>Anton Voronin
<email>anton@urc.ac.ru</email></para>
</listitem>
<listitem>
<para>Antonio Bonifati
<email>ant@monitor.deis.unical.it</email></para>
</listitem>
<listitem>
<para>Antonio Carlos Venancio Junior
<email>antonio@php.net</email></para>
</listitem>
<listitem>
<para>Antti Kaipila
<email>anttik@iki.fi</email></para>
</listitem>
<listitem>
<para>Aragon Gouveia
<email>aragon@phat.za.net</email></para>
</listitem>
<listitem>
<para>Are Bryne
<email>are.bryne@communique.no</email></para>
</listitem>
<listitem>
<para>Ari Suutari
<email>ari@suutari.iki.fi</email></para>
</listitem>
<listitem>
<para>Arindum Mukerji
<email>raja@moselle.com</email></para>
</listitem>
<listitem>
<para>Arjan de Vet
<email>devet@devet.nl</email></para>
</listitem>
<listitem>
<para>Arnaud Berthomier
<email>oz@cyprio.net</email></para>
</listitem>
<listitem>
<para>Arnaud Launay
<email>asl@launay.org</email></para>
</listitem>
<listitem>
<para>Arne Henrik Juul
<email>arnej@Lise.Unit.NO</email></para>
</listitem>
<listitem>
<para>Aron Schlesinger
<email>as@bsdgroup.de</email></para>
</listitem>
<listitem>
<para>Aron Stansvik
<email>elvstone@gmail.com</email></para>
</listitem>
<listitem>
<para>Artem Kazakov
<email>kazakov@gmail.com</email></para>
</listitem>
<listitem>
<para>Artem Naluzhnyy
<email>tut@nhamon.com.ua</email></para>
</listitem>
<listitem>
<para>Artem Nosov
<email>chip-set@mail.ru</email></para>
</listitem>
<listitem>
<para>Ashley Penney
<email>ashp@unloved.org</email></para>
</listitem>
<listitem>
<para>Ask Bjoern Hansen
<email>ask@valueclick.com</email></para>
</listitem>
<listitem>
<para>Atsushi Furuta
<email>furuta@sra.co.jp</email></para>
</listitem>
<listitem>
<para>Attila Nagy
<email>bra@fsn.hu</email></para>
</listitem>
<listitem>
<para>Atushi Sakauchi
<email>sakauchi@yamame.to</email></para>
</listitem>
<listitem>
<para>Autrijus Tang
<email>autrijus@autrijus.org</email></para>
</listitem>
<listitem>
<para>Axel Gonzalez
<email>loox@e-shell.net</email></para>
</listitem>
<listitem>
<para>Bal&aacute;zs Nagy
<email>js@iksz.hu</email></para>
</listitem>
<listitem>
<para>Barry Bierbauch
<email>pivrnec@vszbr.cz</email></para>
</listitem>
<listitem>
<para>Barry Lustig
<email>barry@ictv.com</email></para>
</listitem>
<listitem>
<para>Bartek Rutkowski
<email>r@robakdesign.com</email></para>
</listitem>
<listitem>
<para>Bartosz Fabianowski
<email>freebsd@chillt.de</email></para>
</listitem>
<listitem>
<para>Bayanzul Lodoysamba
<email>baynaa@yahoo.com</email></para>
</listitem>
<listitem>
<para>Ben Hutchinson
<email>benhutch@xfiles.org.uk</email></para>
</listitem>
<listitem>
<para>Ben Jackson</para>
</listitem>
<listitem>
<para>Ben Walter
<email>bwalter@itachi.swcp.com</email></para>
</listitem>
<listitem>
<para>Ben Woolley
<email>ports@tautology.org</email></para>
</listitem>
<listitem>
<para>Benedikt K&ouml;hler
<email>benedikt@furukama.de</email></para>
</listitem>
<listitem>
<para>Beni Keller
<email>navigium@grindcore.ch</email></para>
</listitem>
<listitem>
<para>Benjamin Lewis
<email>bhlewis@gte.net</email></para>
</listitem>
<listitem>
<para>Benjamin Lutz
<email>benlutz@datacomm.ch</email></para>
</listitem>
<listitem>
<para>Benny Kjrgaard
<email>benny@catpipe.net</email></para>
</listitem>
<listitem>
<para>Benoit Calvez
<email>benoit@litchis.org</email></para>
</listitem>
<listitem>
<para>Berend de Boer
<email>berend@pobox.com</email></para>
</listitem>
<listitem>
<para>Bernd Luevelsmeyer
<email>bdluevel@heitec.net</email></para>
</listitem>
<listitem>
<para>Bernd Rosauer
<email>br@schiele-ct.de</email></para>
</listitem>
<listitem>
<para>Bill Cadwallader
<email>hurbold@yahoo.com</email></para>
</listitem>
<listitem>
<para>Bill Kish
<email>kish@osf.org</email></para>
</listitem>
<listitem>
<para>Bill Lloyd
<email>wlloyd@mpd.ca</email></para>
</listitem>
<listitem>
<para>Bill Moran
<email>wmoran@collaborativefusion.com</email></para>
</listitem>
<listitem>
<para>Bill Trost
<email>trost@cloud.rain.com</email></para>
</listitem>
<listitem>
<para>Bj&ouml;rn K&ouml;nig
<email>bkoenig@cs.tu-berlin.de</email></para>
</listitem>
<listitem>
<para>Bj&ouml;rn Lindstr&ouml;m
<email>bkhl@elektrubadur.se</email></para>
</listitem>
<listitem>
<para>Blaz Zupan
<email>blaz@amis.net</email></para>
</listitem>
<listitem>
<para>BluePex Security Solutions
<email>freebsd-ports@bluepex.com</email></para>
</listitem>
<listitem>
<para>Bob Eager
<email>bob@eager.cx</email></para>
</listitem>
<listitem>
<para>Bob Frazier
<email>bobf@mrp3.com</email></para>
</listitem>
<listitem>
<para>Bob Van Valzah
<email>Bob@whitebarn.com</email></para>
</listitem>
<listitem>
<para>Bob Willcox
<email>bob@luke.pmr.com</email></para>
</listitem>
<listitem>
<para>Boris Kovalenko
<email>boris@tagnet.ru</email></para>
</listitem>
<listitem>
<para>Boris Lytochkin
<email>lytboris@gmail.com</email></para>
</listitem>
<listitem>
<para>Boris Staeblow
<email>balu@dva.in-berlin.de</email></para>
</listitem>
<listitem>
<para>Boyd R. Faulkner
<email>faulkner@asgard.bga.com</email></para>
</listitem>
<listitem>
<para>Brad Chapman
<email>chapmanb@arches.uga.edu</email></para>
</listitem>
<listitem>
<para>Brad Hendrickse
<email>bradh@uunet.co.za</email></para>
</listitem>
<listitem>
<para>Brad Jones
<email>brad@kazrak.com</email></para>
</listitem>
<listitem>
<para>Brad Karp
<email>karp@eecs.harvard.edu</email></para>
</listitem>
<listitem>
<para>Brad Lanam
<email>bll@gentoo.com</email></para>
</listitem>
<listitem>
<para>Bradley Dunn
<email>bradley@dunn.org</email></para>
</listitem>
<listitem>
<para>Bram Moolenaar
<email>bram@moolenaar.net</email></para>
</listitem>
<listitem>
<para>Brandon Fosdick
<email>bfoz@glue.umd.edu</email></para>
</listitem>
<listitem>
<para>Brandon Gillespie
<email>brandon@roguetrader.com</email></para>
</listitem>
<listitem>
<para>Brent B. Powers
<email>bbp2006@columbia.edu</email></para>
</listitem>
<listitem>
<para>Brent J. Nordquist
<email>bjn@visi.com</email></para>
</listitem>
<listitem>
<para>Brett Lymn
<email>blymn@mulga.awadi.com.AU</email></para>
</listitem>
<listitem>
<para>Brett Taylor
<email>brett@peloton.runet.edu</email></para>
</listitem>
<listitem>
<para>Brian Campbell
<email>brianc@pobox.com</email></para>
</listitem>
<listitem>
<para>Brian Cully
<email>shmit@kublai.com</email></para>
</listitem>
<listitem>
<para>Brian Gardner
<email>brian@getsnappy.com</email></para>
</listitem>
<listitem>
<para>Brian Handy
<email>handy@lambic.space.lockheed.com</email></para>
</listitem>
<listitem>
<para>Brian Litzinger
<email>brian@MediaCity.com</email></para>
</listitem>
<listitem>
<para>Brian M. Clapper
<email>bmc@clapper.com</email></para>
</listitem>
<listitem>
<para>Brian McGovern
<email>bmcgover@cisco.com</email></para>
</listitem>
<listitem>
<para>Brian Moore
<email>ziff@houdini.eecs.umich.edu</email></para>
</listitem>
<listitem>
<para>Brian R. Gaeke
<email>brg@dgate.org</email></para>
</listitem>
<listitem>
<para>Brian R. Haug
<email>haug@conterra.com</email></para>
</listitem>
<listitem>
<para>Brian Skrab
<email>brian@quynh-and-brian.org</email></para>
</listitem>
<listitem>
<para>Brian Tao
<email>taob@risc.org</email></para>
</listitem>
<listitem>
<para>Brion Moss
<email>brion@queeg.com</email></para>
</listitem>
<listitem>
<para>Bruce Albrecht
<email>bruce@zuhause.mn.org</email></para>
</listitem>
<listitem>
<para>Bruce Gingery
<email>bgingery@gtcs.com</email></para>
</listitem>
<listitem>
<para>Bruce J. Keeler
<email>loodvrij@gridpoint.com</email></para>
</listitem>
<listitem>
<para>Bruce Murphy
<email>packrat@iinet.net.au</email></para>
</listitem>
<listitem>
<para>Bruce Walter
<email>walter@fortean.com</email></para>
</listitem>
<listitem>
<para>Bruno Schwander
<email>bruno@tinkerbox.org</email></para>
</listitem>
<listitem>
<para>Byung-Hee HWANG
<email> bh@izb.knu.ac.kr</email></para>
</listitem>
<listitem>
<para>Camson Huynh
<email>chuynh@biolateral.com.au</email></para>
</listitem>
<listitem>
<para>Carey Jones
<email>mcj@acquiesce.org</email></para>
</listitem>
<listitem>
<para>Carl Fongheiser
<email>kf0yn@mchsi.com</email></para>
</listitem>
<listitem>
<para>Carl Makin
<email>carl@stagecraft.cx</email></para>
</listitem>
<listitem>
<para>Carl Mascott
<email>cmascott@world.std.com</email></para>
</listitem>
<listitem>
<para>Carl Schmidt
<email>carl@perlpimp.codersluts.net</email></para>
</listitem>
<listitem>
<para>Carlos A. M. dos Santos
<email>unixmania@gmail.com</email></para>
</listitem>
<listitem>
<para>Carlos Eduardo G. Carvalho
<email>cartola@openit.com.br</email></para>
</listitem>
<listitem>
<para>Casper
<email>casper@acc.am</email></para>
</listitem>
<listitem>
<para>Castor Fu
<email>castor@geocast.com</email></para>
</listitem>
<listitem>
<para>C&eacute;dric Lamalle
<email>cedric@cedric.trix.net</email></para>
</listitem>
<listitem>
<para>Cezary Morga
<email>cm@therek.net</email></para>
</listitem>
<listitem>
<para>Chad Castleberry
<email>crcastle@ius.edu</email></para>
</listitem>
<listitem>
<para>Chain Lee
<email>chain@110.net</email></para>
</listitem>
<listitem>
<para>Charles Hannum
<email>mycroft@ai.mit.edu</email></para>
</listitem>
<listitem>
<para>Charles Henrich
<email>henrich@msu.edu</email></para>
</listitem>
<listitem>
<para>Charles Mott
<email>cmott@scientech.com</email></para>
</listitem>
<listitem>
<para>Charles Owens
<email>owensc@enc.edu</email></para>
</listitem>
<listitem>
<para>Charles Swiger
<email>chuck@pkix.net</email></para>
</listitem>
<listitem>
<para>Cheng-Tao Lin
<email>b89605222@ntu.edu.tw</email></para>
</listitem>
<listitem>
<para>ChenGuang LI
<email>horus.li@gmail.com</email></para>
</listitem>
<listitem>
<para>Chess Griffin
<email>chess@chessgriffin.com</email></para>
</listitem>
<listitem>
<para>Chet Ramey
<email>chet@odin.INS.CWRU.Edu</email></para>
</listitem>
<listitem>
<para>Chi-Feng QU
<email>chifeng@gmail.com</email></para>
</listitem>
<listitem>
<para>Chia-Hsing Yu
<email>davidyu@ucsd.edu</email></para>
</listitem>
<listitem>
<para>Chia-liang Kao
<email>clkao@CirX.ORG</email></para>
</listitem>
<listitem>
<para>Chiang Cheng-Hsiung
<email>elvis@sslab.cs.ccu.edu.tw</email></para>
</listitem>
<listitem>
<para>Chiharu Shibata
<email>chi@bd.mbn.or.jp</email></para>
</listitem>
<listitem>
<para>Chip Norkus</para>
</listitem>
<listitem>
<para>Choe, Cheng-Dae
<email>whitekid@netian.com</email></para>
</listitem>
<listitem>
<para>Chris Burkert
<email>chris@chrisburkert.de</email></para>
</listitem>
<listitem>
<para>Chris Csanady
<email>cc@tarsier.ca.sandia.gov</email></para>
</listitem>
<listitem>
<para>Chris Dabrowski
<email>chris@vader.org</email></para>
</listitem>
<listitem>
<para>Chris Dillon
<email>cdillon@wolves.k12.mo.us</email></para>
</listitem>
<listitem>
<para>Chris Howells
<email>howells@kde.org</email></para>
</listitem>
<listitem>
<para>Chris Jones
<email>chris.jones@ualberta.ca</email></para>
</listitem>
<listitem>
<para>Chris Knight
<email>chris@e-easy.com.au</email></para>
</listitem>
<listitem>
<para>Chris Larsen
<email>darth@vader.dk</email></para>
</listitem>
<listitem>
<para>Chris Laverdure
<email>dashevil@gmail.com</email></para>
</listitem>
<listitem>
<para>Chris Pepper
<email>pepper@mail.rockefeller.edu</email></para>
</listitem>
<listitem>
<para>Chris Petrik
<email>c.petrik.sosa@gmail.com</email></para>
</listitem>
<listitem>
<para>Chris Pressey
<email>chris_pressey@yahoo.ca</email></para>
</listitem>
<listitem>
<para>Chris Shenton
<email>cshenton@angst.it.hq.nasa.gov</email></para>
</listitem>
<listitem>
<para>Chris Stenton
<email>jacs@gnome.co.uk</email></para>
</listitem>
<listitem>
<para>Chris Torek
<email>torek@ee.lbl.gov</email></para>
</listitem>
<listitem>
<para>Christian Gusenbauer
<email>c47g@gmx.at</email></para>
</listitem>
<listitem>
<para>Christian Haury
<email>Christian.Haury@sagem.fr</email></para>
</listitem>
<listitem>
<para>Christian Heckendorf
<email>heckend@bu.edu</email></para>
</listitem>
<listitem>
<para>Christian Lackas
<email>delta@lackas.net</email></para>
</listitem>
<listitem>
<para>Christian Laursen
<email>xi@borderworlds.dk</email></para>
</listitem>
<listitem>
<para>Christian Schade
<email>christian.schade@interface-projects.de</email></para>
</listitem>
<listitem>
<para>Christian Zander
<email>zander@minion.de</email></para>
</listitem>
<listitem>
<para>&a.kuku.email;</para>
</listitem>
<listitem>
<para>Christoph Robitschko
<email>chmr@edvz.tu-graz.ac.at</email></para>
</listitem>
<listitem>
<para>Christoph Weber-Fahr
<email>wefa@callcenter.systemhaus.net</email></para>
</listitem>
<listitem>
<para>Christophe Juniet
<email>cjuniet@entreview.com</email></para>
</listitem>
<listitem>
<para>Christopher Boumenot
<email>boumenot@gmail.com</email></para>
</listitem>
<listitem>
<para>Christopher G. Demetriou
<email>cgd@postgres.berkeley.edu</email></para>
</listitem>
<listitem>
<para>Christopher Illies
<email>christopher.illies@ki.se</email></para>
</listitem>
<listitem>
<para>Christopher J. Ruwe
<email>cjr@cruwe.de</email></para>
</listitem>
<listitem>
<para>Christopher K. Davis
<email>ckd-freebsd@ckdhr.com</email></para>
</listitem>
<listitem>
<para>Christopher Key
<email>cjk32@cam.ac.uk</email></para>
</listitem>
<listitem>
<para>Christopher Knaust
<email>jigboe@gmx.de</email></para>
</listitem>
<listitem>
<para>Christopher N. Harrell
<email>cnh@ivmg.net</email></para>
</listitem>
<listitem>
<para>Christopher Nehren
<email>apeiron@comcast.net</email></para>
</listitem>
<listitem>
<para>Christopher Preston
<email>rbg@gayteenresource.org</email></para>
</listitem>
<listitem>
<para>Christopher T. Johnson
<email>cjohnson@neunacht.netgsi.com</email></para>
</listitem>
<listitem>
<para>Christopher Vance
<email>vance@aurema.com</email></para>
</listitem>
<listitem>
<para>Chrisy Luke
<email>chrisy@flix.net</email></para>
</listitem>
<listitem>
<para>Chuck Hein
<email>chein@cisco.com</email></para>
</listitem>
<listitem>
<para>Clayton Rollins
<email>crollins666@hotmail.com</email></para>
</listitem>
<listitem>
<para>Clement MOULIN
<email>moeti-freebsd@ouestil.com</email></para>
</listitem>
<listitem>
<para>Cliff Rowley
<email>dozprompt@onsea.com</email></para>
</listitem>
<listitem>
<para>Clive Crous
<email>clive@darkarts.co.za</email></para>
</listitem>
<listitem>
<para>Colman Reilly
<email>careilly@tcd.ie</email></para>
</listitem>
<listitem>
<para>Conor McDermottroe
<email>ports@mcdermottroe.com</email></para>
</listitem>
<listitem>
<para>Conrad Sabatier
<email>conrads@cox.net</email></para>
</listitem>
<listitem>
<para>Constantin S. Svintsoff
<email>kostik@iclub.nsu.ru</email></para>
</listitem>
<listitem>
<para>Coranth Gryphon
<email>gryphon@healer.com</email></para>
</listitem>
<listitem>
<para>Corey Smith
<email>corsmith@gmail.com</email></para>
</listitem>
<listitem>
<para>Cornelis van der Laan
<email>nils@guru.ims.uni-stuttgart.de</email></para>
</listitem>
<listitem>
<para>Cosmin Stroe
<email>cstroe1@uic.edu</email></para>
</listitem>
<listitem>
<para>Cove Schneider
<email>cove@brazil.nbn.com</email></para>
</listitem>
<listitem>
<para>Craig Boston
<email>craig@yekse.gank.org</email></para>
</listitem>
<listitem>
<para>Craig Butler
<email>craig001@lerwick.hopto.org</email></para>
</listitem>
<listitem>
<para>Craig Leres
<email>leres@ee.lbl.gov</email></para>
</listitem>
<listitem>
<para>Craig Loomis</para>
</listitem>
<listitem>
<para>Craig Metz
<email>cmetz@inner.net</email></para>
</listitem>
<listitem>
<para>Craig Spannring
<email>cts@internetcds.com</email></para>
</listitem>
<listitem>
<para>Craig Struble
<email>cstruble@vt.edu</email></para>
</listitem>
<listitem>
<para>Cristian Ferretti
<email>cfs@riemann.mat.puc.cl</email></para>
</listitem>
<listitem>
<para>Cristiano Rolim Pereira
<email>cristianorolim@hotmail.com</email></para>
</listitem>
<listitem>
<para>Curt Mayer
<email>curt@toad.com</email></para>
</listitem>
<listitem>
<para>Cyril Guibourg
<email>aragorn+ports@teaser.fr</email></para>
</listitem>
<listitem>
<para>Cyrille Lefevre
<email>clefevre@citeweb.net</email></para>
</listitem>
<listitem>
<para>Cyrus Rahman
<email>cr@jcmax.com</email></para>
</listitem>
<listitem>
<para>Daan Vreeken
<email>Danovitsch@Vitsch.net</email></para>
</listitem>
<listitem>
<para>Dai Ishijima
<email>ishijima@tri.pref.osaka.jp</email></para>
</listitem>
<listitem>
<para>Daisuke Aoyama
<email>aoyama@peach.ne.jp</email></para>
</listitem>
<listitem>
<para>Daisuke Watanabe
<email>NU7D-WTNB@asahi-net.or.jp</email></para>
</listitem>
<listitem>
<para>Damian Gerow
<email>dgerow@afflictions.org</email></para>
</listitem>
<listitem>
<para>Damian Hamill
<email>damian@cablenet.net</email></para>
</listitem>
<listitem>
<para>Damien Tougas
<email>damien@tougas.net</email></para>
</listitem>
<listitem>
<para>Dan Angelescu
<email>mrhsaacdoh@yahoo.com</email></para>
</listitem>
<listitem>
<para>Dan Caescu
<email>daniel@freebsd.ro</email></para>
</listitem>
<listitem>
<para>Dan Cross
<email>tenser@spitfire.ecsel.psu.edu</email></para>
</listitem>
<listitem>
<para>Dan Langille
<email>dan@freebsddiary.org</email></para>
</listitem>
<listitem>
<para>Dan Lukes
<email>dan@obluda.cz</email></para>
</listitem>
<listitem>
<para>Dan Nelson
<email>dnelson@allantgroup.com</email></para>
</listitem>
<listitem>
<para>Dan Papasian
<email>bugg@bugg.strangled.net</email></para>
</listitem>
<listitem>
<para>Dan Pelleg
<email>dpelleg+unison@cs.cmu.edu</email></para>
</listitem>
<listitem>
<para>Dan Piponi
<email>wmtop@tanelorn.demon.co.uk</email></para>
</listitem>
<listitem>
<para>Dan Rench
<email>citric@cubicone.tmetic.com</email></para>
</listitem>
<listitem>
<para>Dan Smith
<email>dan@algenta.com</email></para>
</listitem>
<listitem>
<para>Dan Walters
<email>hannibal@cyberstation.net</email></para>
</listitem>
<listitem>
<para>Daniel B. Hemmerich
<email>dan@spot.org</email></para>
</listitem>
<listitem>
<para>Daniel Blankensteiner
<email>db@TruNet.dk</email></para>
</listitem>
<listitem>
<para>Daniel Bretoi
<email>daniel@netwalk.org</email></para>
</listitem>
<listitem>
<para>Daniel Bryan
<email>sisko@bsdmail.com</email></para>
</listitem>
<listitem>
<para>Daniel Hagan
<email>dhagan@acm.vt.edu</email></para>
</listitem>
<listitem>
<para>Daniel Levai
<email>leva@ecentrum.hu</email></para>
</listitem>
<listitem>
<para>Daniel J. O'Connor
<email>darius@dons.net.au</email></para>
</listitem>
<listitem>
<para>Daniel O'Connor
<email>doconnor@gsoft.com.au</email></para>
</listitem>
<listitem>
<para>Daniel Poirot
<email>poirot@aio.jsc.nasa.gov</email></para>
</listitem>
<listitem>
<para>Daniel Rock
<email>rock@cs.uni-sb.de</email></para>
</listitem>
<listitem>
<para>Daniel Roethlisberger
<email>daniel@roe.ch</email></para>
</listitem>
<listitem>
<para>Daniel W. McRobb
<email>dwm@caimis.com</email></para>
</listitem>
<listitem>
<para>Daniel W. Steinbrook
<email>dsteinbr@fas.harvard.edu</email></para>
</listitem>
<listitem>
<para>Daniel Wijnands
<email>daniel@itxl.nl</email></para>
</listitem>
<listitem>
- <para>Danilo Eg&ecirc;a Gondolfo
- <email>danilogondolfo@gmail.com</email></para>
- </listitem>
-
- <listitem>
<para>Danny Braniss
<email>danny@cs.huji.ac.il</email></para>
</listitem>
<listitem>
<para>Danny Egen</para>
</listitem>
<listitem>
<para>Danny Howard
<email>dannyman@toldme.com</email></para>
</listitem>
<listitem>
<para>Danny J. Zerkel
<email>dzerkel@phofarm.com</email></para>
</listitem>
<listitem>
<para>Danny Pansters
<email>danny@ricin.com</email></para>
</listitem>
<listitem>
<para>Dario Freni
<email>saturnero@gufi.org</email></para>
</listitem>
<listitem>
<para>Darren Pilgrim
<email>ports.maintainer@evilphi.com</email></para>
</listitem>
<listitem>
<para>Dave Adkins
<email>adkin003@tc.umn.edu</email></para>
</listitem>
<listitem>
<para>Dave Andersen
<email>angio@aros.net</email></para>
</listitem>
<listitem>
<para>Dave Blizzard
<email>dblizzar@sprynet.com</email></para>
</listitem>
<listitem>
<para>Dave Bodenstab
<email>imdave@synet.net</email></para>
</listitem>
<listitem>
<para>Dave Burgess
<email>burgess@hrd769.brooks.af.mil</email></para>
</listitem>
<listitem>
<para>Dave Chapeskie
<email>dchapes@ddm.on.ca</email></para>
</listitem>
<listitem>
<para>Dave Cornejo
<email>dave@dogwood.com</email></para>
</listitem>
<listitem>
<para>Dave Edmondson
<email>davided@sco.com</email></para>
</listitem>
<listitem>
<para>Dave Glowacki
<email>dglo@ssec.wisc.edu</email></para>
</listitem>
<listitem>
<para>Dave Marquardt
<email>marquard@austin.ibm.com</email></para>
</listitem>
<listitem>
<para>&a.tweten.email;</para>
</listitem>
<listitem>
<para>David A. Adkins
<email>adkin003@tc.umn.edu</email></para>
</listitem>
<listitem>
<para>David A. Bader
<email>dbader@eece.unm.edu</email></para>
</listitem>
<listitem>
<para>David Borman
<email>dab@bsdi.com</email></para>
</listitem>
<listitem>
<para>David Bremner
<email>bremner@unb.ca</email></para>
</listitem>
<listitem>
<para>David Bushong
<email>david+ports@bushong.net</email></para>
</listitem>
<listitem>
<para>David Chaplin-Loebell
<email>direct@klatha.com</email></para>
</listitem>
<listitem>
<para>David Dawes
<email>dawes@XFree86.org</email></para>
</listitem>
<listitem>
<para>David Demelier
<email>markand@malikania.fr</email></para>
</listitem>
<listitem>
<para>David Filo</para>
</listitem>
<listitem>
<para>David G. Holm
<email>harbour@netfang.net</email></para>
</listitem>
<listitem>
<para>David Gardner
<email>david@pinko.net</email></para>
</listitem>
<listitem>
<para>David Gilbert
<email>dave@daveg.ca</email></para>
</listitem>
<listitem>
<para>David H. Munro
<email>munro1@llnl.gov</email></para>
</listitem>
<listitem>
<para>David Holland
<email>dholland@eecs.harvard.edu</email></para>
</listitem>
<listitem>
<para>David Holloway
<email>daveh@gwythaint.tamis.com</email></para>
</listitem>
<listitem>
<para>David Horwitt
<email>dhorwitt@ucsd.edu</email></para>
</listitem>
<listitem>
<para>David Hovemeyer
<email>daveho@infocom.com</email></para>
</listitem>
<listitem>
<para>David Johnson
<email>david@usermode.org</email></para>
</listitem>
<listitem>
<para>David Jones
<email>dej@qpoint.torfree.net</email></para>
</listitem>
<listitem>
<para>David Julien
<email>david.julien@gmail.com</email></para>
</listitem>
<listitem>
<para>David K. Gerry
<email>David.K.Gerry@GMail.com</email></para>
</listitem>
<listitem>
<para>David Kelly
<email>dkelly@tomcat1.tbe.com</email></para>
</listitem>
<listitem>
<para>David Kirchner
<email>dpk@dpk.net</email></para>
</listitem>
<listitem>
<para>David Kulp
<email>dkulp@neomorphic.com</email></para>
</listitem>
<listitem>
<para>David L. Nugent
<email>davidn@blaze.net.au</email></para>
</listitem>
<listitem>
<para>David Landgren
<email>david@landgren.net</email></para>
</listitem>
<listitem>
<para>David Lay
<email>dsl@webize.com.au</email></para>
</listitem>
<listitem>
<para>David Le Brun
<email>david@trucs.org</email></para>
</listitem>
<listitem>
<para>David Leonard
<email>d@scry.dstc.edu.au</email></para>
</listitem>
<listitem>
<para>David Magda
<email>dmagda@magda.ca</email></para>
</listitem>
<listitem>
<para>David Muir Sharnoff
<email>muir@idiom.com</email></para>
</listitem>
<listitem>
<para>David Otto
<email>ottodavid@gmx.net</email></para>
</listitem>
<listitem>
<para>David Quattlebaum
<email>drq@drqware.com</email></para>
</listitem>
<listitem>
<para>David Romano
<email>unobe@cpan.org</email></para>
</listitem>
<listitem>
<para>David S. Miller
<email>davem@jenolan.rutgers.edu</email></para>
</listitem>
<listitem>
<para>David Sieb&ouml;rger
<email>drs@rucus.ru.ac.za</email></para>
</listitem>
<listitem>
<para>David Sugar
<email>dyfet@gnu.org</email></para>
</listitem>
<listitem>
<para>David Syphers
<email>dsyphers@u.washington.edu</email></para>
</listitem>
<listitem>
<para>David Sze
<email>dsze@alumni.uwaterloo.ca</email></para>
</listitem>
<listitem>
<para>David Terry
<email>dterry@digifonica.com</email></para>
</listitem>
<listitem>
<para>David Vachulka
<email>arch_dvx@users.sourceforge.net</email></para>
</listitem>
<listitem>
<para>David Wolfskill
<email>david@catwhisker.org</email></para>
</listitem>
<listitem>
<para>David Yeske
<email>dyeske@yahoo.com</email></para>
</listitem>
<listitem>
<para>Dax Labrador
<email>semprix@bsdmail.org</email></para>
</listitem>
<listitem>
<para>Dean Gaudet
<email>dgaudet@arctic.org</email></para>
</listitem>
<listitem>
<para>Dean Hollister
<email>dean@odyssey.apana.org.au</email></para>
</listitem>
<listitem>
<para>Dean Huxley
<email>dean@fsa.ca</email></para>
</listitem>
<listitem>
<para>Denis Barov
<email>dindin@dindin.ru</email></para>
</listitem>
<listitem>
<para>Denis Fortin</para>
</listitem>
<listitem>
<para>Denis Generalov
<email>gd@rambler-co.ru></email></para>
</listitem>
<listitem>
<para>Denis Philippov
<email>for_spam@mezon.ru</email></para>
</listitem>
<listitem>
<para>Denis E. Podolskiy
<email>bytestore@yandex.ru</email></para>
</listitem>
<listitem>
<para>Denis Pokataev
<email>catone@cpan.org</email></para>
</listitem>
<listitem>
<para>Denis Shaposhnikov
<email>dsh@vlink.ru</email></para>
</listitem>
<listitem>
<para>Dennis Cabooter
<email>dennis@rootxs.org</email></para>
</listitem>
<listitem>
<para>Dennis Glatting
<email>dennis.glatting@software-munitions.com</email></para>
</listitem>
<listitem>
<para>Dennis S. Davidoff
<email>null@cvs.1system.ru</email></para>
</listitem>
<listitem>
<para>Denton Gentry
<email>denny1@home.com</email></para>
</listitem>
<listitem>
<para>Derek Inksetter
<email>derek@saidev.com</email></para>
</listitem>
<listitem>
<para>Derik van Zuetphen
<email>dz@426.ch</email></para>
</listitem>
<listitem>
<para>Dermot Tynan
<email>dtynan@kalopa.com</email></para>
</listitem>
<listitem>
<para>Diego Depaoli
<email>trebestie@gmail.com</email></para>
</listitem>
<listitem>
<para>Dikshie
<email>dikshie@lapi.itb.ac.id</email></para>
</listitem>
<listitem>
<para>Dikshie
<email>dikshie@sfc.wide.ad.jp</email></para>
</listitem>
<listitem>
<para>Dierk Sacher
<email>dierk@blaxxtarz.de</email></para>
</listitem>
<listitem>
<para>Dirk Gouders
<email>gouders@et.bocholt.fh-gelsenkirchen.de</email></para>
</listitem>
<listitem>
<para>Dirk Jagdmann
<email>doj@cubic.org</email></para>
</listitem>
<listitem>
<para>Dirk Keunecke
<email>dk@panda.rhein-main.de</email></para>
</listitem>
<listitem>
<para>Dirk Nehrling
<email>nerle@pdv.de</email></para>
</listitem>
<listitem>
<para>Dirk-Willem van Gulik
<email>dirkx@webweaving.org</email></para>
</listitem>
<listitem>
<para>Dishanker Rajakulendren
<email>draj@oceanfree.net</email></para>
</listitem>
<listitem>
<para>Ditesh Shashikant Gathani
<email>ditesh@gathani.org</email></para>
</listitem>
<listitem>
<para>Dmitri Nikulin
<email>setagllib@optusnet.com.au</email></para>
</listitem>
<listitem>
<para>Dmitriy Limonov
<email>earl1k@mail.ru</email></para>
</listitem>
<listitem>
<para>Dmitry A. Yanko
<email>fm@astral.ntu-kpi.kiev.ua</email></para>
</listitem>
<listitem>
<para>Dmitry Afanasiev
<email>KOT@MATPOCKuH.Ru</email></para>
</listitem>
<listitem>
<para>Dmitry Dyomin
<email>old@old.com.ua</email></para>
</listitem>
<listitem>
<para>Dmitry Karasik
<email>dmitry@karasik.eu.org</email></para>
</listitem>
<listitem>
<para>Dmitry Kazarov
<email>d.y.kazarov@mail.ru</email></para>
</listitem>
<listitem>
<para>Dmitry Khrustalev
<email>dima@xyzzy.machaon.ru</email></para>
</listitem>
<listitem>
<para>Dmitry Kohmanyuk
<email>dk@farm.org</email></para>
</listitem>
<listitem>
<para>Dmitry Pryadko
<email>d.pryadko@rambler-co.ru</email></para>
</listitem>
<listitem>
<para>Dmitry Semkin
<email>ds@tic-tac.ru</email></para>
</listitem>
<listitem>
<para>Dmitry V. Sukhodoyev
<email>raven428@gmail.com</email></para>
</listitem>
<listitem>
<para>Dmytro Rud
<email>unixoid@yahoo.com</email></para>
</listitem>
<listitem>
<para>Dom Mitchell
<email>dom@myrddin.demon.co.uk</email></para>
</listitem>
<listitem>
<para>Domas Mituzas
<email>midom@dammit.lt</email></para>
</listitem>
<listitem>
<para>Dominic Fandrey
<email>lon_kamikaze@gmx.de</email></para>
</listitem>
<listitem>
<para>Dominic Marks
<email>dominic_marks@btinternet.com</email></para>
</listitem>
<listitem>
<para>Dominic Mitchell
<email>dom@happygiraffe.net</email></para>
</listitem>
<listitem>
<para>Dominik Brettnacher
<email>domi@saargate.de</email></para>
</listitem>
<listitem>
<para>Dominik Rothert
<email>dr@domix.de</email></para>
</listitem>
<listitem>
<para>Dominique Goncalves
<email>dominique.goncalves@gmail.com</email></para>
</listitem>
<listitem>
<para>Don Croyle
<email>croyle@gelemna.org</email></para>
</listitem>
<listitem>
<para>Don Morrison
<email>dmorrisn@u.washington.edu</email></para>
</listitem>
<listitem>
<para>Don Owens
<email>don@regexguy.com</email></para>
</listitem>
<listitem>
<para>&a.whiteside.email;</para>
</listitem>
<listitem>
<para>Don Yuniskis
<email>dgy@rtd.com</email></para>
</listitem>
<listitem>
<para>Donald Maddox
<email>dmaddox099@yahoo.com</email></para>
</listitem>
<listitem>
<para>Donn Miller
<email>dmmiller@cvzoom.net</email></para>
</listitem>
<listitem>
<para>Doug Harple
<email>dharple@nycap.rr.com</email></para>
</listitem>
<listitem>
<para>Doug Penner
<email>darwinsurvivor@gmail.com</email></para>
</listitem>
<listitem>
<para>Douglas A. Maske
<email>maske@rungepaper.com</email></para>
</listitem>
<listitem>
<para>Douglas Carmichael
<email>dcarmich@mcs.com</email></para>
</listitem>
<listitem>
<para>Douglas Crosher
<email>dtc@scrooge.ee.swin.oz.au</email></para>
</listitem>
<listitem>
<para>Douglas K. Rand
<email>rand@meridian-enviro.com</email></para>
</listitem>
<listitem>
<para>Douglas W. Thrift
<email>douglas@douglasthrift.net</email></para>
</listitem>
<listitem>
<para>Drew Derbyshire
<email>ahd@kew.com</email></para>
</listitem>
<listitem>
<para>Dustin Sallings
<email>dustin@spy.net</email></para>
</listitem>
<listitem>
<para>Dylan Carlson
<email>absinthe@retrovertigo.com</email></para>
</listitem>
<listitem>
<para>Dylan Simon
<email>dylan@dylex.net</email></para>
</listitem>
<listitem>
<para>ELISA Font Project</para>
</listitem>
<listitem>
<para>Eckart "Isegrim" Hofmann
<email>Isegrim@Wunder-Nett.org</email></para>
</listitem>
<listitem>
<para>Ed Gold
<email>vegold01@starbase.spd.louisville.edu</email></para>
</listitem>
<listitem>
<para>Ed Hudson
<email>elh@p5.spnet.com</email></para>
</listitem>
<listitem>
<para>Ederson de Moura
<email>ederbs@ederbs.org</email></para>
</listitem>
<listitem>
<para>Edgardo Garcia Hoeffler
<email>edybsd@yahoo.com.ar</email></para>
</listitem>
<listitem>
<para>Edmondas Girkantas
<email>eg@fbsd.lt</email></para>
</listitem>
<listitem>
<para>Eduard Martinescu
<email>martines@rochester.rr.com</email></para>
</listitem>
<listitem>
<para>Edward Chuang
<email>edwardc@firebird.org.tw</email></para>
</listitem>
<listitem>
<para>Edward Wang
<email>edward@edcom.com</email></para>
</listitem>
<listitem>
<para>Edwin Mons
<email>e@ik.nu</email></para>
</listitem>
<listitem>
<para>Ege Rekk
<email>aagero@aage.priv.no</email></para>
</listitem>
<listitem>
<para>Eiji-usagi-MATSUmoto
<email>usagi@clave.gr.jp</email></para>
</listitem>
<listitem>
<para>Eijiro Shibusawa
<email>ej-sib@ice.uec.ac.jp</email></para>
</listitem>
<listitem>
<para>Eike Bernhardt
<email>eike.bernhardt@gmx.de</email></para>
</listitem>
<listitem>
<para>Eintisy Chuang
<email>eintisy@gmail.com</email></para>
</listitem>
<listitem>
<para>Elias Mandouvalos
<email>ocean@mail.gr</email></para>
</listitem>
<listitem>
<para>Elisey Savateev
<email>b3k@mail.ru</email></para>
</listitem>
<listitem>
<para>Elmar Bartel
<email>bartel@informatik.tu-muenchen.de</email></para>
</listitem>
<listitem>
<para>Emily Boyd
<email>emily@emilyboyd.com</email></para>
</listitem>
<listitem>
<para>Eoin Lawless
<email>eoin@maths.tcd.ie</email></para>
</listitem>
<listitem>
<para>Eric A. Griff
<email>eric@talesfromthereal.com</email></para>
</listitem>
<listitem>
<para>Eric Anderson
<email>anderson@centtech.com</email></para>
</listitem>
<listitem>
<para>Eric Blood
<email>eblood@cs.unr.edu</email></para>
</listitem>
<listitem>
<para>Eric Cronin
<email>ecronin@eecs.umich.edu</email></para>
</listitem>
<listitem>
<para>Eric D. Futch
<email>efutch@nyct.net</email></para>
</listitem>
<listitem>
<para>Eric F. Crist
<email>ecrist@secure-computing.net</email></para>
</listitem>
<listitem>
<para>Eric Freeman
<email>freebsdports@chillibear.com</email></para>
</listitem>
<listitem>
<para>Eric J. Haug
<email>ejh@slustl.slu.edu</email></para>
</listitem>
<listitem>
<para>Eric J. Schwertfeger
<email>eric@cybernut.com</email></para>
</listitem>
<listitem>
<para>Eric Kjeldergaard
<email>kjelderg@gmail.com</email></para>
</listitem>
<listitem>
<para>Eric L. Hernes
<email>erich@lodgenet.com</email></para>
</listitem>
<listitem>
<para>Eric Masson
<email>e-masson@kisoft-services.com</email></para>
</listitem>
<listitem>
<para>Eric Ogren
<email>eogren@stanford.edu</email></para>
</listitem>
<listitem>
<para>Eric P. Scott
<email>eps@sirius.com</email></para>
</listitem>
<listitem>
<para>Eric S. Van Gyzen
<email>esv@vangyzen.net</email></para>
</listitem>
<listitem>
<para>Eric Schnoebelen
<email>eric@cirr.com</email></para>
</listitem>
<listitem>
<para>Eric Shao-yu Cheng
<email>eric@fractal.csie.org</email></para>
</listitem>
<listitem>
<para>Eric Sprinkle
<email>eric@ennovatenetworks.com</email></para>
</listitem>
<listitem>
<para>Eric W. Bates
<email>ericx@vineyard.net</email></para>
</listitem>
<listitem>
<para>Eric Yu
<email>ericyu@mail2000.com.tw</email></para>
</listitem>
<listitem>
<para>Eric van Gyzen
<email>vangyzen@stat.duke.edu</email></para>
</listitem>
<listitem>
<para>Erich Stefan Boleyn
<email>erich@uruk.org</email></para>
</listitem>
<listitem>
<para>Erich Zigler
<email>erich@tacni.net</email></para>
</listitem>
<listitem>
<para>Erik E. Rantapaa
<email>rantapaa@math.umn.edu</email></para>
</listitem>
<listitem>
<para>Erik Greenwald
<email>erik@smluc.org</email></para>
</listitem>
<listitem>
<para>Erik H. Bakke
<email>erikhb@bgnett.no</email></para>
</listitem>
<listitem>
<para>Erik H. Moe
<email>ehm@cris.com</email></para>
</listitem>
<listitem>
<para>Erik L. Chen
<email>d9364104@mail.nchu.edu.tw</email></para>
</listitem>
<listitem>
<para>Ernie Smallis
<email>esmallis@stbernard.com</email></para>
</listitem>
<listitem>
<para>Ernst Winter (<ulink
url="http://berklix.org/ewinter/">Deceased</ulink>)</para>
</listitem>
<listitem>
<para>Espen Skoglund
<email>esk@ira.uka.de</email></para>
</listitem>
<listitem>
<para>Espen Tagestad
<email>espen@tagestad.no</email></para>
</listitem>
<listitem>
<para>Eugene Grosbein
<email>eugen@grosbein.pp.ru</email></para>
</listitem>
<listitem>
<para>Eugene M. Kim
<email>astralblue@usa.net</email></para>
</listitem>
<listitem>
<para>Eugene Ossintsev
<email>eugos@gmx.net</email></para>
</listitem>
<listitem>
<para>Eugene Radchenko
<email>genie@qsar.chem.msu.su</email></para>
</listitem>
<listitem>
<para>Eugene Ray
<email>pal@paladin7.net</email></para>
</listitem>
<listitem>
<para>Eugeney Ryzhyk
<email>rzheka@users.sourceforge.net</email></para>
</listitem>
<listitem>
<para>Eugeny Kuzakov
<email>CoreDumped@coredumped.null.ru</email></para>
</listitem>
<listitem>
<para>Evan Champion
<email>evanc@synapse.net</email></para>
</listitem>
<listitem>
<para>Evan Sarmiento
<email>esarmiento@wayfair.com</email></para>
</listitem>
<listitem>
<para>Evgueni V. Gavrilov
<email>aquatique@rusunix.org</email></para>
</listitem>
<listitem>
<para>Ewgenij Gawrilow
<email>gawrilow@math.tu-berlin.de</email></para>
</listitem>
<listitem>
<para>FUJIMOTO Kensaku
<email>fujimoto@oscar.elec.waseda.ac.jp</email></para>
</listitem>
<listitem>
<para>FURUSAWA Kazuhisa
<email>furusawa@com.cs.osakafu-u.ac.jp</email></para>
</listitem>
<listitem>
<para>Fabian Keil
<email>fk@fabiankeil.de</email></para>
</listitem>
<listitem>
<para>Fabian M. Borschel
<email>fmb@onibox.net</email></para>
</listitem>
<listitem>
<para>Fabien Devaux
<email>fab@gcu.info</email></para>
</listitem>
<listitem>
<para>Fabio Tosques
<email>fabio.tosques@rz.hu-berlin.de</email></para>
</listitem>
<listitem>
<para>Fanying Jen
<email>fanying@fynet.com</email></para>
</listitem>
<listitem>
<para>Faried Nawaz
<email>fn@Hungry.COM</email></para>
</listitem>
<listitem>
<para>Fernan Aguero
<email>fernan@iib.unsam.edu.ar</email></para>
</listitem>
<listitem>
<para>Fernando Apesteguia
<email>fernando.apesteguia@gmail.com</email></para>
</listitem>
<listitem>
<para>Ferruccio Vitale
<email>vitale@cs.tin.it</email></para>
</listitem>
<listitem>
<para>Filipe Rocha
<email>filiperocha@gmail.com</email></para>
</listitem>
<listitem>
<para>Filippo Natali
<email>filippo@widestore.net</email></para>
</listitem>
<listitem>
<para>Flemming Jacobsen
<email>fj@batmule.dk</email></para>
</listitem>
<listitem>
<para>Florian Unglaub
<email>usenet04@rootofallevil.net</email></para>
</listitem>
<listitem>
<para>Fong-Ching Liaw
<email>fong@juniper.net</email></para>
</listitem>
<listitem>
<para>Francis M J Hsieh
<email>mjshieh@life.nthu.edu.tw</email></para>
</listitem>
<listitem>
<para>Francisco Cabrita
<email>include@npf.pt.freebsd.org</email></para>
</listitem>
<listitem>
<para>Francisco Gomez
<email>francisco@gomezmarin.com</email></para>
</listitem>
<listitem>
<para>Francisco Reyes
<email>fjrm@yahoo.com</email></para>
</listitem>
<listitem>
<para>Fran&ccedil;ois Tamone
<email>tamone@eig.unige.ch</email></para>
</listitem>
<listitem>
<para>Frank Bartels
<email>knarf@camelot.de</email></para>
</listitem>
<listitem>
<para>Frank Behrens
<email>frank@pinky.sax.de</email></para>
</listitem>
<listitem>
<para>Frank B&ouml;rner
<email>frank-freebsd@online.de</email></para>
</listitem>
<listitem>
<para>Frank Chen Hsiung Chan
<email>frankch@waru.life.nthu.edu.tw</email></para>
</listitem>
<listitem>
<para>Frank Denis
<email>j@pureftpd.org</email></para>
</listitem>
<listitem>
<para>Frank Gr&uuml;nder
<email>elwood@mc5sys.in-berlin.de</email></para>
</listitem>
<listitem>
<para>Frank MacLachlan
<email>fpm@n2.net</email></para>
</listitem>
<listitem>
<para>Frank Mayhar
<email>frank@exit.com</email></para>
</listitem>
<listitem>
<para>Frank Nobis
<email>fn@Radio-do.de</email></para>
</listitem>
<listitem>
<para>Frank Ruell
<email>stoerte@dreamwarrior.net</email></para>
</listitem>
<listitem>
<para>Frank Steinborn
<email>steinex@nognu.de</email></para>
</listitem>
<listitem>
<para>Frank Volf
<email>volf@oasis.IAEhv.nl</email></para>
</listitem>
<listitem>
<para>Frank Wall
<email>fw@moov.de</email></para>
</listitem>
<listitem>
<para>Frank W. Josellis
<email>frank@dynamical-systems.org</email></para>
</listitem>
<listitem>
<para>Frank ten Wolde
<email>franky@pinewood.nl</email></para>
</listitem>
<listitem>
<para>Frank van der Linden
<email>frank@fwi.uva.nl</email></para>
</listitem>
<listitem>
<para>Franz Klammer
<email>klammer@webonaut.com</email></para>
</listitem>
<listitem>
<para>Fraser Tweedale
<email>frase@frase.id.au</email></para>
</listitem>
<listitem>
<para>Fred Cawthorne
<email>fcawth@jjarray.umn.edu</email></para>
</listitem>
<listitem>
<para>Fred Gilham
<email>gilham@csl.sri.com</email></para>
</listitem>
<listitem>
<para>Fred Templin
<email>templin@erg.sri.com</email></para>
</listitem>
<listitem>
<para>Freddie Cash
<email>fcash@bigfoot.com</email></para>
</listitem>
<listitem>
<para>Frederic Dubuy
<email>fdubuy@free.fr</email></para>
</listitem>
<listitem>
<para>Fr&eacute;d&eacute;ric Praca
<email>frederic.praca@freebsd-fr.org</email></para>
</listitem>
<listitem>
<para>Frederick Earl Gray
<email>fgray@rice.edu</email></para>
</listitem>
<listitem>
<para>Fredrik Lindberg
<email>fli@shapeshifter.se</email></para>
</listitem>
<listitem>
<para>Frerich Raabe
<email>frerich.raabe@gmx.de</email></para>
</listitem>
<listitem>
<para>Fumihiko Kimura
<email>jfkimura@yahoo.co.jp</email></para>
</listitem>
<listitem>
<para>Fuyuhiko Maruyama
<email>fuyuhik8@is.titech.ac.jp</email></para>
</listitem>
<listitem>
<para>&a.stanislav.email;</para>
</listitem>
<listitem>
<para>G&aacute;bor Kincses
<email>gabor@acm.org</email></para>
</listitem>
<listitem>
<para>G&aacute;bor Zahemszky
<email>zgabor@CoDe.hu</email></para>
</listitem>
<listitem>
<para>Gasol Wu
<email>gasol.wu@gmail.com</email></para>
</listitem>
<listitem>
<para>Gareth McCaughan
<email>gjm11@dpmms.cam.ac.uk</email></para>
</listitem>
<listitem>
<para>Garrett Rooney
<email>rooneg@electricjellyfish.net</email></para>
</listitem>
<listitem>
<para>Gary A. Browning
<email>gab10@griffcd.amdahl.com</email></para>
</listitem>
<listitem>
<para>Gary Hayers
<email>gary@hayers.org</email></para>
</listitem>
<listitem>
<para>Gary Howland
<email>gary@hotlava.com</email></para>
</listitem>
<listitem>
<para>Gary J.
<email>garyj@rks32.pcs.dec.com</email></para>
</listitem>
<listitem>
<para>Gary Kline
<email>kline@thought.org</email></para>
</listitem>
<listitem>
<para>Gaspar Chilingarov
<email>nightmar@lemming.acc.am</email></para>
</listitem>
<listitem>
<para>Gautam Mani
<email>execve@gmail.com</email></para>
</listitem>
<listitem>
<para>Gavin McDonald
<email>gavin@16degrees.com.au</email></para>
</listitem>
<listitem>
<para>Gavin Mu
<email>gavin@FreeBSDChina.org</email></para>
</listitem>
<listitem>
<para>Gea-Suan Lin
<email>gslin@gslin.org</email></para>
</listitem>
<listitem>
<para>Geoff Glasson
<email>g_glasson@jimali.dyndns.org</email></para>
</listitem>
<listitem>
<para>Geoff Rehmet
<email>csgr@alpha.ru.ac.za</email></para>
</listitem>
<listitem>
<para>Geoffrey Mainland
<email>mainland@apeiron.net</email></para>
</listitem>
<listitem>
<para>Geoffroy Rivat
<email>grivat@sicfa.net</email></para>
</listitem>
<listitem>
<para>Georg Graf
<email>georg@graf.priv.at</email></para>
</listitem>
<listitem>
<para>Georg Wagner
<email>georg.wagner@ubs.com</email></para>
</listitem>
<listitem>
<para>George Hartzell
<email>hartzell@kestrel.alerce.com</email></para>
</listitem>
<listitem>
<para>George Liaskos
<email>geo.liaskos@gmail.com</email></para>
</listitem>
<listitem>
<para>Gerasimos Dimitriadis
<email>gedimitr@auth.gr</email></para>
</listitem>
<listitem>
<para>Geraud Continsouzas
<email>geraud@gcu.info</email></para>
</listitem>
<listitem>
<para>Gerhard Gonter
<email>g.gonter@ieee.org</email></para>
</listitem>
<listitem>
<para>Gerrit Beine
<email>tux@pinguru.net</email></para>
</listitem>
<listitem>
<para>Giacomo Mariani
<email>giacomomariani@yahoo.it</email></para>
</listitem>
<listitem>
<para>Gianlorenzo Masini
<email>masini@uniroma3.it</email></para>
</listitem>
<listitem>
<para>Gianmarco Giovannelli
<email>gmarco@giovannelli.it</email></para>
</listitem>
<listitem>
<para>Gil Kloepfer Jr.
<email>gil@limbic.ssdl.com</email></para>
</listitem>
<listitem>
<para>Gilad Rom
<email>rom_glsa@ein-hashofet.co.il</email></para>
</listitem>
<listitem>
<para>Giles Lean
<email>giles@nemeton.com.au</email></para>
</listitem>
<listitem>
<para>Ginga Kawaguti
<email>ginga@amalthea.phys.s.u-tokyo.ac.jp</email></para>
</listitem>
<listitem>
<para>Gleb Sushko
<email>neuroworker@gmail.com</email></para>
</listitem>
<listitem>
<para>Glen Foster
<email>gfoster@gfoster.com</email></para>
</listitem>
<listitem>
<para>Giel van Schijndel
<email>me@mortis.eu</email></para>
</listitem>
<listitem>
<para>Glenn Johnson
<email>gljohns@bellsouth.net</email></para>
</listitem>
<listitem>
<para>Godmar Back
<email>gback@facility.cs.utah.edu</email></para>
</listitem>
<listitem>
<para>Goran Hammarback
<email>goran@astro.uu.se</email></para>
</listitem>
<listitem>
<para>Gord Matzigkeit
<email>gord@enci.ucalgary.ca</email></para>
</listitem>
<listitem>
<para>Gordon Greeff
<email>gvg@uunet.co.za</email></para>
</listitem>
<listitem>
<para>Graham Wheeler
<email>gram@cdsec.com</email></para>
</listitem>
<listitem>
<para>Greg A. Woods
<email>woods@zeus.leitch.com</email></para>
</listitem>
<listitem>
<para>Greg Albrecht
<email>gregoryba@gmail.com</email></para>
</listitem>
<listitem>
<para>Greg Ansley
<email>gja@ansley.com</email></para>
</listitem>
<listitem>
<para>Greg Becker
<email>greg@codeconcepts.com</email></para>
</listitem>
<listitem>
<para>Greg J.
<email>xcas@cox.net</email></para>
</listitem>
<listitem>
<para>Greg Kennedy
<email>kennedy.greg@gmail.com</email></para>
</listitem>
<listitem>
<para>Greg Robinson
<email>greg@rosevale.com.au</email></para>
</listitem>
<listitem>
<para>Greg Troxel
<email>gdt@ir.bbn.com</email></para>
</listitem>
<listitem>
<para>Greg Ungerer
<email>gerg@stallion.oz.au</email></para>
</listitem>
<listitem>
<para>Gregory Bond
<email>gnb@itga.com.au</email></para>
</listitem>
<listitem>
<para>Gregory D. Moncreaff
<email>moncrg@bt340707.res.ray.com</email></para>
</listitem>
<listitem>
<para>Gr&uuml;n Christian-Rolf
<email>kiki@bsdro.org</email></para>
</listitem>
<listitem>
<para>Guillaume Paquet
<email>amyfoub@videotron.ca</email></para>
</listitem>
<listitem>
<para>Gurkan Sengun
<email>grknsngn@gmail.com</email></para>
</listitem>
<listitem>
<para>Gustavo Fukao
<email>gustavofukao@gmail.com</email></para>
</listitem>
<listitem>
<para>Guy Brand
<email>gb@isis.u-strasbg.fr</email></para>
</listitem>
<listitem>
<para>Guy Coleman
<email>gtchask@mm.st</email></para>
</listitem>
<listitem>
<para>Guy Harris
<email>guy@netapp.com</email></para>
</listitem>
<listitem>
<para>Guy Poizat
<email>guy@device.dyndns.org</email></para>
</listitem>
<listitem>
<para>H. Wade Minter
<email>minter@lunenburg.org</email></para>
</listitem>
<listitem>
<para>HAMADA Naoki
<email>hamada@astec.co.jp</email></para>
</listitem>
<listitem>
<para>HATANOU Tomomi
<email>hatanou@infolab.ne.jp</email></para>
</listitem>
<listitem>
<para>HIYAMA Takeshi
<email>gibbon@cocoa.freemail.ne.jp</email></para>
</listitem>
<listitem>
<para>HONDA Yasuhiro
<email>honda@kashio.info.mie-u.ac.jp</email></para>
</listitem>
<listitem>
<para>HOSOBUCHI Noriyuki
<email>hoso@buchi.tama.or.jp</email></para>
</listitem>
<listitem>
<para>HOTARU-YA
<email>hotaru@tail.net</email></para>
</listitem>
<listitem>
<para>Haesu Jeon
<email>haesu@towardex.com</email></para>
</listitem>
<listitem>
<para>Hakisho Nukama
<email>nukama@gmail.com</email></para>
</listitem>
<listitem>
<para>Hammurabi Mendes
<email>hmendes_br@yahoo.com</email></para>
</listitem>
<listitem>
<para>Hannes Frederic Sowa
<email>hannes@stressinduktion.org</email></para>
</listitem>
<listitem>
<para>Hannu Savolainen
<email>hannu@voxware.pp.fi</email></para>
</listitem>
<listitem>
<para>Hans Huebner
<email>hans@artcom.de</email></para>
</listitem>
<listitem>
<para>Hans Petter Bieker
<email>zerium@webindex.no</email></para>
</listitem>
<listitem>
<para>Hans Petter Selasky
<email>hselasky@c2i.net</email></para>
</listitem>
<listitem>
<para>Hans Zuidam
<email>hans@brandinnovators.com</email></para>
</listitem>
<listitem>
<para>Hans-Christian Ebke
<email>hans-christian_ebke@gmx.de</email></para>
</listitem>
<listitem>
<para>Hansjoerg Pehofer
<email>hansjoerg.pehofer@uibk.ac.at</email></para>
</listitem>
<listitem>
<para>Harald Schmalzbauer
<email>h.schmalzbauer@omnisec.de</email></para>
</listitem>
<listitem>
<para>Harald Wille
<email>harald.wille@students.jku.at</email></para>
</listitem>
<listitem>
<para>Hardy Schumacher
<email>hardy.schumacher@gmx.de</email></para>
</listitem>
<listitem>
<para>Harlan Stenn
<email>Harlan.Stenn@pfcs.com</email></para>
</listitem>
<listitem>
<para>Harold Barker
<email>hbarker@dsms.com</email></para>
</listitem>
<listitem>
<para>Harry Coin
<email>harrycoin@qconline.com</email></para>
</listitem>
<listitem>
<para>Harry Newton
<email>harry_newton@telinco.co.uk</email></para>
</listitem>
<listitem>
<para>Havard Eidnes
<email>Havard.Eidnes@runit.sintef.no</email></para>
</listitem>
<listitem>
<para>Heath Nielson
<email>heath@cs.byu.edu</email></para>
</listitem>
<listitem>
<para>Heikki Suonsivu
<email>hsu@cs.hut.fi</email></para>
</listitem>
<listitem>
<para>Heiko W. Rupp</para>
</listitem>
<listitem>
<para>Heiner Eichmann
<email>h.eichmann@gmx.de</email></para>
</listitem>
<listitem>
<para>Heiner Strauss
<email>heiner@bilch.com</email></para>
</listitem>
<listitem>
<para>Helko Glathe
<email>glathe.helko@googlemail.com</email></para>
</listitem>
<listitem>
<para>Helmut F. Wirth
<email>hfwirth@ping.at</email></para>
</listitem>
<listitem>
<para>Hendrik Scholz
<email>hendrik@scholz.net</email></para>
</listitem>
<listitem>
<para>Henri Michelon
<email>michelon@e-cml.org</email></para>
</listitem>
<listitem>
<para>Henrik Brautaset Aronsen
<email>freebsd-ports@henrik.synth.no</email></para>
</listitem>
<listitem>
<para>Henrik Friedrichsen
<email>hrkfrd@googlemail.com</email></para>
</listitem>
<listitem>
<para>Henrik Motakef
<email>henrik.motakef@web.de</email></para>
</listitem>
<listitem>
<para>Henrik Nymann Jensen
<email>henriknj@0xmilk.org</email></para>
</listitem>
<listitem>
<para>Henrik Vestergaard Draboel
<email>hvd@terry.ping.dk</email></para>
</listitem>
<listitem>
<para>Henry Whincup
<email>henry@techiebod.com</email></para>
</listitem>
<listitem>
<para>Herb Peyerl
<email>hpeyerl@NetBSD.org</email></para>
</listitem>
<listitem>
<para>Herbert J. Skuhra
<email>herbert.skuhra@gmx.at</email></para>
</listitem>
<listitem>
<para>Hernan Di Pietro
<email>hernan.di.pietro@gmail.com</email></para>
</listitem>
<listitem>
<para>Hideaki Machida
<email>hido@coreblack.com</email></para>
</listitem>
<listitem>
<para>Hideaki Ohmon
<email>ohmon@tom.sfc.keio.ac.jp</email></para>
</listitem>
<listitem>
<para>Hidekazu Kuroki
<email>hidekazu@cs.titech.ac.jp</email></para>
</listitem>
<listitem>
<para>Hideki Yamamoto
<email>hyama@acm.org</email></para>
</listitem>
<listitem>
<para>Hideyuki Suzuki
<email>hideyuki@sat.t.u-tokyo.ac.jp</email></para>
</listitem>
<listitem>
<para>Hirayama Issei
<email>iss@mail.wbs.ne.jp</email></para>
</listitem>
<listitem>
<para>Hiroaki Sakai
<email>sakai@miya.ee.kagu.sut.ac.jp</email></para>
</listitem>
<listitem>
<para>Hiroharu Tamaru
<email>tamaru@ap.t.u-tokyo.ac.jp</email></para>
</listitem>
<listitem>
<para>Hirohisa Yamaguchi
<email>umq@ueo.co.jp</email></para>
</listitem>
<listitem>
<para>Hironori Ikura
<email>hikura@kaisei.org</email></para>
</listitem>
<listitem>
<para>Hiroshi Nishikawa
<email>nis@pluto.dti.ne.jp</email></para>
</listitem>
<listitem>
<para>Hiroto Kagotani
<email>hiroto.kagotani@gmail.com</email></para>
</listitem>
<listitem>
<para>Hiroya Tsubakimoto</para>
</listitem>
<listitem>
<para>Holger Lamm
<email>holger@eit.uni-kl.de</email></para>
</listitem>
<listitem>
<para>Holger Veit
<email>Holger.Veit@gmd.de</email></para>
</listitem>
<listitem>
<para>Holm Tiffe
<email>holm@geophysik.tu-freiberg.de</email></para>
</listitem>
<listitem>
<para>Horance Chou
<email>horance@freedom.ie.cycu.edu.tw</email></para>
</listitem>
<listitem>
<para>Horihiro Kumagai
<email>kuma@jp.FreeBSD.org</email></para>
</listitem>
<listitem>
<para>Hr.Ladavac
<email>lada@ws2301.gud.siemens.co.at</email></para>
</listitem>
<listitem>
<para>Hsin-Hsiung Chang
<email>sexbear@tmu.edu.tw</email></para>
</listitem>
<listitem>
<para>Hubert Feyrer
<email>hubertf@NetBSD.ORG</email></para>
</listitem>
<listitem>
<para>Hubert Tournier
<email>hubert@frbsd.org</email></para>
</listitem>
<listitem>
<para>Hugh Mahon
<email>h_mahon@fc.hp.com</email></para>
</listitem>
<listitem>
<para>Hugo Leisink
<email>hugo@leisink.net</email></para>
</listitem>
<listitem>
<para>Hung-Chi Chu
<email>hcchu@r350.ee.ntu.edu.tw</email></para>
</listitem>
<listitem>
<para>Hung-Yi Chen
<email>gaod.chen@gmail.com</email></para>
</listitem>
<listitem>
<para>Hyogeol Lee
<email>hyogeollee@gmail.com</email></para>
</listitem>
<listitem>
<para>IMAI Takeshi
<email>take-i@ceres.dti.ne.jp</email></para>
</listitem>
<listitem>
<para>IMAMURA Tomoaki
<email>tomoak-i@is.aist-nara.ac.jp</email></para>
</listitem>
<listitem>
<para>IWASHITA Yoji
<email>shuna@pop16.odn.ne.jp</email></para>
</listitem>
<listitem>
<para>IWATSUKI Hiroyuki
<email>don@na.rim.or.jp</email></para>
</listitem>
<listitem>
<para>Ian Holland
<email>ianh@tortuga.com.au</email></para>
</listitem>
<listitem>
<para>Ian Struble
<email>ian@broken.net</email></para>
</listitem>
<listitem>
<para>Ian Vaudrey
<email>i.vaudrey@bigfoot.com</email></para>
</listitem>
<listitem>
<para>Igor Artemiev
<email>ai@kliksys.ru</email></para>
</listitem>
<listitem>
<para>Igor Khasilev
<email>igor@jabber.paco.odessa.ua</email></para>
</listitem>
<listitem>
<para>Igor Leonenko
<email>bananaz@bk.ru</email></para>
</listitem>
<listitem>
<para>Igor Pokrovsky
<email>ip@doom.homeunix.org</email></para>
</listitem>
<listitem>
<para>Igor Roshchin
<email>str@giganda.komkon.org</email></para>
</listitem>
<listitem>
<para>Igor Serikov
<email>bt@turtle.pangeatech.com</email></para>
</listitem>
<listitem>
<para>Igor Sviridov
<email>siac@ua.net</email></para>
</listitem>
<listitem>
<para>Igor Vinokurov
<email>igor@zynaps.ru</email></para>
</listitem>
<listitem>
<para>Ikuo Nakagawa
<email>ikuo@isl.intec.co.jp</email></para>
</listitem>
<listitem>
<para>Ildar Hizbulin
<email>hizel@vyborg.ru</email></para>
</listitem>
<listitem>
<para>Ilia Chipitsine
<email>ilia@rediska.ru</email></para>
</listitem>
<listitem>
<para>Ilya Bakulin
<email>webmaster@kibab.com</email></para>
</listitem>
<listitem>
<para>Ilya Khamushkin
<email>ilya@space.rootshell.ru</email></para>
</listitem>
<listitem>
<para>Ilya V. Komarov
<email>mur@lynx.ru</email></para>
</listitem>
<listitem>
<para>Ismail Yenigul
<email>ismail@enderunix.org</email></para>
</listitem>
<listitem>
<para>Itsuro Saito
<email>saito@miv.t.u-tokyo.ac.jp</email></para>
</listitem>
<listitem>
<para>Ivan Klymenko
<email>fidaj@ukr.net</email></para>
</listitem>
<listitem>
<para>Ivan Sharov
<email>ivan.sharov@iname.com</email></para>
</listitem>
<listitem>
<para>Ivan Sviridov
<email>sin@vimcom.net</email></para>
</listitem>
<listitem>
<para>J Shoemaker
<email>shoemaker@softhome.net</email></para>
</listitem>
<listitem>
<para>J. Bryant
<email>jbryant@argus.flash.net</email></para>
</listitem>
<listitem>
<para>J. David Lowe
<email>lowe@saturn5.com</email></para>
</listitem>
<listitem>
<para>J. Han
<email>hjh@photino.com</email></para>
</listitem>
<listitem>
<para>J. Hawk
<email>jhawk@MIT.EDU</email></para>
</listitem>
<listitem>
<para>J. Randolph
<email>snortsms@servangle.net</email></para>
</listitem>
<listitem>
<para>J.R. Oldroyd
<email>fbsd@opal.com</email></para>
</listitem>
<listitem>
<para>J.T. Conklin
<email>jtc@cygnus.com</email></para>
</listitem>
<listitem>
<para>Jacek Pelka
<email>jacek@combit.com.pl</email></para>
</listitem>
<listitem>
<para>Jack
<email>jack@zeus.xtalwind.net</email></para>
</listitem>
<listitem>
<para>Jackson Low
<email>xxjack12xx@gmail.com</email></para>
</listitem>
<listitem>
<para>Jacob Atzen
<email>jatzen@gmail.com</email></para>
</listitem>
<listitem>
<para>Jacob Bohn Lorensen
<email>jacob@jblhome.ping.mk</email></para>
</listitem>
<listitem>
<para>Jacques Marneweck
<email>jacques@php.net</email></para>
</listitem>
<listitem>
<para>Jagane D Sundar
<email>jagane@netcom.com</email></para>
</listitem>
<listitem>
<para>Jake Hamby
<email>jehamby@anobject.com</email></para>
</listitem>
<listitem>
<para>Jake Smith
<email>jake@xz.cx</email></para>
</listitem>
<listitem>
<para>Jakub Klausa
<email>jacke@bofh.pl</email></para>
</listitem>
<listitem>
<para>James Bailie
<email>jimmy@mammothcheese.ca</email></para>
</listitem>
<listitem>
<para>James Clark
<email>jjc@jclark.com</email></para>
</listitem>
<listitem>
<para>James D. Stewart
<email>jds@c4systm.com</email></para>
</listitem>
<listitem>
<para>James Jegers
<email>jimj@miller.cs.uwm.edu</email></para>
</listitem>
<listitem>
<para>James McNaughton
<email>bitbucket63-it@yahoo.com</email></para>
</listitem>
<listitem>
<para>James O'Gorman
<email>james@netinertia.co.uk</email></para>
</listitem>
<listitem>
<para>James P. Howard, II
<email>jh@jameshoward.us</email></para>
</listitem>
<listitem>
<para>James Raftery
<email>james@now.ie</email></para>
</listitem>
<listitem>
<para>James Raynard
<email>fhackers@jraynard.demon.co.uk</email></para>
</listitem>
<listitem>
<para>James T. Liu
<email>jtliu@phlebas.rockefeller.edu</email></para>
</listitem>
<listitem>
<para>James da Silva
<email>jds@cs.umd.edu</email></para>
</listitem>
<listitem>
<para>Jamie Heckford
<email>jamie@jamiesdomain.co.uk</email></para>
</listitem>
<listitem>
<para>Jamie Jones
<email>jamie@bishopston.net</email></para>
</listitem>
<listitem>
<para>Jan Conard
<email>charly@fachschaften.tu-muenchen.de</email></para>
</listitem>
<listitem>
<para>Jan Henrik Sylvester
<email>me@janh.de</email></para>
</listitem>
<listitem>
<para>Jan Jungnickel
<email>Jan@Jungnickel.com</email></para>
</listitem>
<listitem>
<para>&a.jkb.email;</para>
</listitem>
<listitem>
<para>Jan L. Peterson
<email>jlp@flipdog.com</email></para>
</listitem>
<listitem>
<para>Jan Rochel
<email>jan.rochel@epost.de</email></para>
</listitem>
<listitem>
<para>Jan Siml
<email>jsi@jules.de</email></para>
</listitem>
<listitem>
<para>Jan Srzednicki
<email>w@wrzask.pl</email></para>
</listitem>
<listitem>
<para>Jan Stocker
<email>jan.stocker@t-online.de</email></para>
</listitem>
<listitem>
<para>Jan-Peter Koopmann
<email>j.koopmann@seceidos.de</email></para>
</listitem>
<listitem>
<para>Janaka Wickramasinghe
<email>janaka@opensource.lk</email></para>
</listitem>
<listitem>
<para>Janick Taillandier
<email>Janick.Taillandier@ratp.fr</email></para>
</listitem>
<listitem>
<para>Janky Jay
<email>ek@purplehat.org</email></para>
</listitem>
<listitem>
<para>J&aacute;nos Moh&aacute;csi
<email>janos.mohacsi@bsd.hu</email></para>
</listitem>
<listitem>
<para>Janusz Kokot
<email>janek@gaja.ipan.lublin.pl</email></para>
</listitem>
<listitem>
<para>Jarle Greipsland
<email>jarle@idt.unit.no</email></para>
</listitem>
<listitem>
<para>Jason Bacon
<email>jwbacon@tds.net</email></para>
</listitem>
<listitem>
<para>Jason Burgess
<email>dev@fenux.net</email></para>
</listitem>
<listitem>
<para>Jason DiCioccio
<email>geniusj@ods.org</email></para>
</listitem>
<listitem>
<para>Jason Garman
<email>init@risen.org</email></para>
</listitem>
<listitem>
<para>Jason Harris
<email>jharris@widomaker.com</email></para>
</listitem>
<listitem>
<para>Jason R. Mastaler
<email>jason-freebsd@mastaler.com</email></para>
</listitem>
<listitem>
<para>Jason Stone
<email>jason-fbsd-ports@shalott.net</email></para>
</listitem>
<listitem>
<para>Jason Thorpe
<email>thorpej@NetBSD.org</email></para>
</listitem>
<listitem>
<para>Jason Wright
<email>jason@OpenBSD.org</email></para>
</listitem>
<listitem>
<para>Jason Young
<email>doogie@forbidden-donut.anet-stl.com</email></para>
</listitem>
<listitem>
<para>Javad Kouhi
<email>javad.kouhi@gmail.com</email></para>
</listitem>
<listitem>
<para>Javier Martin Rueda
<email>jmrueda@diatel.upm.es</email></para>
</listitem>
<listitem>
<para>Jay Fenlason
<email>hack@datacube.com</email></para>
</listitem>
<listitem>
<para>Jay Krell
<email>jay.krell@cornell.edu</email></para>
</listitem>
<listitem>
<para>Jaye Mathisen
<email>mrcpu@cdsnet.net</email></para>
</listitem>
<listitem>
<para>Jaap Akkerhuis
<email>jaap@NLnetLabs.nl</email></para>
</listitem>
<listitem>
<para>Jean-Baptiste Quenot
<email>jb.quenot@caraldi.com</email></para>
</listitem>
<listitem>
<para>Jean Benoit
<email>jean@unistra.fr</email></para>
</listitem>
<listitem>
<para>Jean-Sebastien Roy
<email>js@jeannot.org</email></para>
</listitem>
<listitem>
<para>Jeff Bartig
<email>jeffb@doit.wisc.edu</email></para>
</listitem>
<listitem>
<para>Jeff Brown
<email>jabrown@caida.org</email></para>
</listitem>
<listitem>
<para>Jeff Burchell
<email>toxic@doobie.com</email></para>
</listitem>
<listitem>
<para>Jeff Forys
<email>jeff@forys.cranbury.nj.us</email></para>
</listitem>
<listitem>
<para>Jeff Kletsky
<email>Jeff@Wagsky.com</email></para>
</listitem>
<listitem>
<para>Jeff Palmer
<email>scorpio@drkshdw.org</email></para>
</listitem>
<listitem>
<para>Jeffrey Evans
<email>evans@scnc.k12.mi.us</email></para>
</listitem>
<listitem>
<para>Jeffrey H. Johnson
<email>CPE1704TKS@bellsouth.net</email></para>
</listitem>
<listitem>
<para>Jeffrey Leung
<email>zenoss@experts-exchange.com</email></para>
</listitem>
<listitem>
<para>Jeff Molofee
<email>nehe@cruzinternet.com</email></para>
</listitem>
<listitem>
<para>Jeffrey Wheat
<email>jeff@cetlink.net</email></para>
</listitem>
<listitem>
<para>Jens Holmqvist
<email>zparta@hispan.se</email></para>
</listitem>
<listitem>
<para>Jens K. Loewe
<email>bsd@tuxproject.de</email></para>
</listitem>
<listitem>
<para>Jens Rehsack
<email>rehsack@liwing.de</email></para>
</listitem>
<listitem>
<para>Jeremy Allison
<email>jallison@whistle.com</email></para>
</listitem>
<listitem>
<para>Jeremy C. Reed
<email>reed@pugetsoundtechnology.com</email></para>
</listitem>
<listitem>
<para>Jeremy Chatfield
<email>jdc@xinside.com</email></para>
</listitem>
<listitem>
<para>Jeremy Karlson
<email>karlj000@unbc.ca</email></para>
</listitem>
<listitem>
<para>Jeremy Prior</para>
</listitem>
<listitem>
<para>Jeremy Shaffner
<email>jeremy@external.org</email></para>
</listitem>
<listitem>
<para>Jeroen Schot
<email>schot@a-askwadraat.nl</email></para>
</listitem>
<listitem>
<para>Jerry Eriksson
<email>jerry@freebsd.se</email></para>
</listitem>
<listitem>
<para>Jesper Dalberg
<email>jesper@jdn.dk</email></para>
</listitem>
<listitem>
<para>Jesper Noehr
<email>jesper@noehr.org</email></para>
</listitem>
<listitem>
<para>Jesse Kempf
<email>jessekempf@gmail.com</email></para>
</listitem>
<listitem>
<para>Jesse McConnell
<email>jesse@cylant.com</email></para>
</listitem>
<listitem>
<para>Jesse Rosenstock
<email>jmr@ugcs.caltech.edu</email></para>
</listitem>
<listitem>
<para>Jesse van den Kieboom
<email>troplosti@orcaweb.cjb.net</email></para>
</listitem>
<listitem>
<para>Jia-Wei Ye
<email>leafy7382@gmail.com</email></para>
</listitem>
<listitem>
<para>Jian-Da Li
<email>jdli@csie.nctu.edu.tw</email></para>
</listitem>
<listitem>
<para>Jie Gao
<email>gaoj@cpsc.ucalgary.ca</email></para>
</listitem>
<listitem>
<para>&a.babb.email;</para>
</listitem>
<listitem>
<para>Jim Binkley
<email>jrb@cs.pdx.edu</email></para>
</listitem>
<listitem>
<para>Jim Bloom
<email>bloom@acm.org</email></para>
</listitem>
<listitem>
<para>Jim Carroll
<email>jim@carroll.com</email></para>
</listitem>
<listitem>
<para>Jim Flowers
<email>jflowers@ezo.net</email></para>
</listitem>
<listitem>
<para>Jim Geovedi
<email>jim@corebsd.or.id</email></para>
</listitem>
<listitem>
<para>Jim Leppek
<email>jleppek@harris.com</email></para>
</listitem>
<listitem>
<para>Jim Lowe
<email>james@cs.uwm.edu</email></para>
</listitem>
<listitem>
<para>Jim Mattson
<email>jmattson@sonic.net</email></para>
</listitem>
<listitem>
<para>Jim Mercer
<email>jim@komodo.reptiles.org</email></para>
</listitem>
<listitem>
<para>Jim Pirzyk
<email>pirzyk@uiuc.edu</email></para>
</listitem>
<listitem>
<para>Jim Riggs
<email>ports@christianserving.org</email></para>
</listitem>
<listitem>
<para>Jim Shewmaker
<email>jim@bluenotch.com</email></para>
</listitem>
<listitem>
<para>Jim Sloan
<email>odinn@atlantabiker.net</email></para>
</listitem>
<listitem>
<para>Jim Stapleton
<email>sjss@var-dev.net</email></para>
</listitem>
<listitem>
<para>Jim Wilson
<email>wilson@moria.cygnus.com</email></para>
</listitem>
<listitem>
<para>Jimbo Bahooli
<email>griffin@blackhole.iceworld.org</email></para>
</listitem>
<listitem>
<para>Jin Guojun
<email>jin@george.lbl.gov</email></para>
</listitem>
<listitem>
<para>Jin-Shan Tseng
<email>tjs@cdpa.nsysu.edu.tw</email></para>
</listitem>
<listitem>
<para>Jo Rhett
<email>jrhett@netconsonance.com</email></para>
</listitem>
<listitem>
<para>Joachim Kuebart
<email>kuebart@mathematik.uni-ulm.de</email></para>
</listitem>
<listitem>
<para>Joachim Strombergson
<email>Watchman@ludd.luth.se</email></para>
</listitem>
<listitem>
<para>Joao Carlos Mendes Luis
<email>jonny@jonny.eng.br</email></para>
</listitem>
<listitem>
<para>Jochen Pohl
<email>jpo.drs@sni.de</email></para>
</listitem>
<listitem>
<para>Joe Abley
<email>jabley@automagic.org</email></para>
</listitem>
<listitem>
<para>Joe Barbish
<email>barbish@a1poweruser.com</email></para>
</listitem>
<listitem>
<para>Joe Halpin
<email>joe.halpin@attbi.com</email></para>
</listitem>
<listitem>
<para>Joe Holden
<email>joe@joeholden.co.uk</email></para>
</listitem>
<listitem>
<para>Joe Horn
<email>joehorn@gmail.com</email></para>
</listitem>
<listitem>
<para>Joe Jih-Shian Lu
<email>jslu@dns.ntu.edu.tw</email></para>
</listitem>
<listitem>
<para>Joe Kelsey
<email>joek@flyingcroc.net</email></para>
</listitem>
<listitem>
<para>Joe Orthoefer
<email>j_orthoefer@tia.net</email></para>
</listitem>
<listitem>
<para>Joe Smith
<email>inwap@best.com</email></para>
</listitem>
<listitem>
<para>Joe Traister
<email>traister@mojozone.org</email></para>
</listitem>
<listitem>
<para>Joel Diaz
<email>joeldiaz@bellsouth.net</email></para>
</listitem>
<listitem>
<para>Joel Faedi
<email>Joel.Faedi@esial.u-nancy.fr</email></para>
</listitem>
<listitem>
<para>Joel Ray Holveck
<email>joelh@gnu.org</email></para>
</listitem>
<listitem>
<para>Joel Sutton
<email>jsutton@bbcon.com.au</email></para>
</listitem>
<listitem>
<para>Joerg Pulz
<email>Joerg.Pulz@frm2.tum.de</email></para>
</listitem>
<listitem>
<para>Joerg Schilling
<email>schilling@fokus.gmd.de</email></para>
</listitem>
<listitem>
<para>Johan Granlund
<email>johan@granlund.nu</email></para>
</listitem>
<listitem>
<para>Johan Larsson
<email>johan@moon.campus.luth.se</email></para>
</listitem>
<listitem>
<para>Johan Strom
<email>johan@stromnet.org</email></para>
</listitem>
<listitem>
<para>Johann Tonsing
<email>jtonsing@mikom.csir.co.za</email></para>
</listitem>
<listitem>
<para>Johannes 5 Joemann
<email>joemann@beefree.free.de</email></para>
</listitem>
<listitem>
<para>Johannes Gr&oslash;dem
<email>johs@copyleft.no</email></para>
</listitem>
<listitem>
<para>Johannes Helander</para>
+ </listitem>
+
+ <listitem>
+ <para>Johannes Meixner
+ <email>xmj@chaot.net</email></para>
</listitem>
<listitem>
<para>Johannes Stille</para>
</listitem>
<listitem>
<para>John Beckett
<email>jbeckett@southern.edu</email></para>
</listitem>
<listitem>
<para>John Beukema
<email>jbeukema@hk.super.net</email></para>
</listitem>
<listitem>
<para>John Brezak</para>
</listitem>
<listitem>
<para>John Capo
<email>jc@irbs.com</email></para>
</listitem>
<listitem>
<para>John F. Woods
<email>jfw@jfwhome.funhouse.com</email></para>
</listitem>
<listitem>
<para>John Ferrel
<email>jdferrell3@yahoo.com</email></para>
</listitem>
<listitem>
<para>John Goerzen
<email>jgoerzen@alexanderwohl.complete.org</email></para>
</listitem>
<listitem>
<para>John Heidemann
<email>johnh@isi.edu</email></para>
</listitem>
<listitem>
<para>John Hood
<email>cgull@owl.org</email></para>
</listitem>
<listitem>
<para>John Kohl</para>
</listitem>
<listitem>
<para>John Lind
<email>john@starfire.mn.org</email></para>
</listitem>
<listitem>
<para>John Mackin
<email>john@physiol.su.oz.au</email></para>
</listitem>
<listitem>
<para>John McAree
<email>john@mcaree.org</email></para>
</listitem>
<listitem>
<para>John MacFarlane
<email>jgm@berkeley.edu</email></para>
</listitem>
<listitem>
<para>John Mehr
<email>jcm@visi.com</email></para>
</listitem>
<listitem>
<para>John Merryweather Cooper
<email>jmcoopr@webmail.bmi.net</email></para>
</listitem>
<listitem>
<para>John Nielsen
<email>john@jnielsen.net</email></para>
</listitem>
<listitem>
<para>John Oxley
<email>john@yoafrica.com</email></para>
</listitem>
<listitem>
<para>John P
<email>johnp@lodgenet.com</email></para>
</listitem>
<listitem>
<para>John Perry
<email>perry@vishnu.alias.net</email></para>
</listitem>
<listitem>
<para>John Prather
<email>john.c.prather@gmail.com</email></para>
</listitem>
<listitem>
<para>John Preisler
<email>john@vapornet.com</email></para>
</listitem>
<listitem>
<para>John Reynolds
<email>johnjen@reynoldsnet.org</email></para>
</listitem>
<listitem>
<para>John Rochester
<email>jr@cs.mun.ca</email></para>
</listitem>
<listitem>
<para>John Sadler
<email>john_sadler@alum.mit.edu</email></para>
</listitem>
<listitem>
<para>John Saunders
<email>john@pacer.nlc.net.au</email></para>
</listitem>
<listitem>
<para>John Von Essen
<email>john@essenz.com</email></para>
</listitem>
<listitem>
<para>John Wehle
<email>john@feith.com</email></para>
</listitem>
<listitem>
<para>John Woods
<email>jfw@eddie.mit.edu</email></para>
</listitem>
<listitem>
<para>Johny Mattsson
<email>lonewolf@flame.org</email></para>
</listitem>
<listitem>
<para>Jon Amundsen
<email>online@jamundsen.dyndns.org</email></para>
</listitem>
<listitem>
<para>Jon Morgan
<email>morgan@terminus.trailblazer.com</email></para>
</listitem>
<listitem>
<para>Jon Nistor
<email>nistor@snickers.org</email></para>
</listitem>
<listitem>
<para>Jon Passki
<email>cykyc@yahoo.com</email></para>
</listitem>
<listitem>
<para>Jon Wilson
<email>jon@phuq.co.uk</email></para>
</listitem>
<listitem>
<para>Jona Joachim
<email>walkingshadow@grummel.net</email></para>
</listitem>
<listitem>
<para>Jonathan Belson
<email>jon@witchspace.com</email></para>
</listitem>
<listitem>
<para>Jonathan Bokovza
<email>Jonathan@afarsec.com</email></para>
</listitem>
<listitem>
<para>Jonathan Chen
<email>jonc@chen.org.nz</email></para>
</listitem>
<listitem>
<para>Jonathan Chu
<email>milki@rescomp.berkeley.edu</email></para>
</listitem>
<listitem>
<para>Jonathan Drews
<email>j.e.drews@att.net</email></para>
</listitem>
<listitem>
<para>Jonathan H N Chin
<email>jc254@newton.cam.ac.uk</email></para>
</listitem>
<listitem>
<para>Jonathan Hanna
<email>jhanna@shaw.ca</email></para>
</listitem>
<listitem>
<para>Jonathan Lennox
<email>lennox@cs.columbia.edu</email></para>
</listitem>
<listitem>
<para>Jonathan Liu
<email>Net147@hotmail.com</email></para>
</listitem>
<listitem>
<para>Jonathan McDowell
<email>noodles@earth.li</email></para>
</listitem>
<listitem>
<para>Jonathan Pennington
<email>john@coastalgeology.org</email></para>
</listitem>
<listitem>
<para>Jordan DeLong
<email>fracture@allusion.net</email></para>
</listitem>
<listitem>
<para>Jordi Haarman
<email>jhaarman-keyword-tinyerpPort.fd583c@projects.synantics.net</email></para>
</listitem>
<listitem>
<para>Jorge Goncalves
<email>j@bug.fe.up.pt</email></para>
</listitem>
<listitem>
<para>Jorge M. Goncalves
<email>ee96199@tom.fe.up.pt</email></para>
</listitem>
<listitem>
<para>Joris Vandalon
<email>joris@vandalon.nl</email></para>
</listitem>
<listitem>
<para>Jos Backus
<email>jos@catnook.com</email></para>
</listitem>
<listitem>
<para>Jose Abelardo Martinez
<email>jamartinez@altern.org</email></para>
</listitem>
<listitem>
<para>Jose Liang
<email>jose@jose.idv.tw</email></para>
</listitem>
<listitem>
<para>Jose Marques
<email>jose@nobody.org</email></para>
</listitem>
<listitem>
<para>Jose Rodriguez
<email>king@v2project.com</email></para>
</listitem>
<listitem>
<para>Jos&eacute; Garc&iacute;a Juanino
<email>jjuanino@gmail.com</email></para>
</listitem>
<listitem>
<para>Josef Grosch
<email>jgrosch@superior.mooseriver.com</email></para>
</listitem>
<listitem>
<para>Joseph Haga
<email>tuximus@tcsn.net</email></para>
</listitem>
<listitem>
<para>Joseph Mingrone
<email>jrm@ftfl.ca</email></para>
</listitem>
<listitem>
<para>Joseph Scott
<email>joseph@randomnetworks.com</email></para>
</listitem>
<listitem>
<para>Joseph Stein
<email>joes@wstein.com</email></para>
</listitem>
<listitem>
<para>Josh Carroll
<email>josh.carroll@gmail.com</email></para>
</listitem>
<listitem>
<para>Josh Elsasser
<email>jre@vineyard.net</email></para>
</listitem>
<listitem>
<para>Josh Gilliam
<email>josh@quick.net</email></para>
</listitem>
<listitem>
<para>Josh Tiefenbach
<email>josh@ican.net</email></para>
</listitem>
<listitem>
<para>Josh Tolbert
<email>hemi@puresimplicity.net</email></para>
</listitem>
<listitem>
<para>Joshua D. Abraham
<email>jabra@ccs.neu.edu</email></para>
</listitem>
<listitem>
<para>Joshua Goodall
<email>joshua@roughtrade.net</email></para>
</listitem>
<listitem>
<para>Jostein Trondal
<email>jostein.trondal@sikkerhet.no</email></para>
</listitem>
<listitem>
<para>Juan Salaverria
<email>rael@vectorstar.net</email></para>
</listitem>
<listitem>
<para>Juha Inkari
<email>inkari@cc.hut.fi</email></para>
</listitem>
<listitem>
<para>Juha Nygard
<email>juha.nygard1@netikka.fi</email></para>
</listitem>
<listitem>
<para>Juha Ylitalo
<email>juha.ylitalo@iki.fi</email></para>
</listitem>
<listitem>
<para>Jui-Nan Lin
<email>jnlin@csie.nctu.edu.tw</email></para>
</listitem>
<listitem>
<para>Jukka A. Ukkonen
<email>jau@iki.fi</email></para>
</listitem>
<listitem>
<para>Julian Assange
<email>proff@suburbia.net</email></para>
</listitem>
<listitem>
<para>Julian C. Dunn
<email>jdunn@aquezada.com</email></para>
</listitem>
<listitem>
<para>Julian Coleman
<email>j.d.coleman@ncl.ac.uk</email></para>
</listitem>
<listitem>
<para>&a.jhs.email;</para>
</listitem>
<listitem>
<para>Julian Jenkins
<email>kaveman@magna.com.au</email></para>
</listitem>
<listitem>
<para>Julian Stecklina
<email>der_julian@web.de</email></para>
</listitem>
<listitem>
<para>Jun Mukai
<email>mukai@jmuk.org</email></para>
</listitem>
<listitem>
<para>Junichi Satoh
<email>junichi@jp.FreeBSD.org</email></para>
</listitem>
<listitem>
<para>Junji NAKANISHI
<email>jun-g@daemonfreaks.com</email></para>
</listitem>
<listitem>
<para>Junji SAKAI
<email>sakai@jp.FreeBSD.org</email></para>
</listitem>
<listitem>
<para>Junya WATANABE
<email>junya-w@remus.dti.ne.jp</email></para>
</listitem>
<listitem>
<para>Justas
<email>justas@mbank.lv</email></para>
</listitem>
<listitem>
<para>Justin Stanford
<email>jus@security.za.net</email></para>
</listitem>
<listitem>
<para>Jyun-Yan You
<email>jyyou@cs.nctu.edu.tw</email></para>
</listitem>
<listitem>
<para>Gergely CZUCZY
<email>gergely.czuczy@harmless.hu</email></para>
</listitem>
<listitem>
<para>K.Higashino
<email>a00303@cc.hc.keio.ac.jp</email></para>
</listitem>
<listitem>
<para>KANOU Hiroki
<email>kanou@khdd.net</email></para>
</listitem>
<listitem>
<para>KATO Tsuguru
<email>tkato@prontomail.ne.jp</email></para>
</listitem>
<listitem>
<para>KIMURA Shigekazu
<email>zau50357@lion.zero.ad.jp</email></para>
</listitem>
<listitem>
<para>KIMURA Yasuhiro
<email>yasu@utahime.org</email></para>
</listitem>
<listitem>
<para>KUNISHIMA Takeo
<email>kunishi@c.oka-pu.ac.jp</email></para>
</listitem>
<listitem>
<para>Kai Vorma
<email>vode@snakemail.hut.fi</email></para>
</listitem>
<listitem>
<para>Kai Wang
<email>kaiwang27@gmail.com</email></para>
</listitem>
<listitem>
<para>Kaleb S. Keithley
<email>kaleb@ics.com</email></para>
</listitem>
<listitem>
<para>Kaneda Hiloshi
<email>vanitas@ma3.seikyou.ne.jp</email></para>
</listitem>
<listitem>
<para>Kang Liu
<email>liukang@bjut.edu.cn</email></para>
</listitem>
<listitem>
<para>Kang-ming Liu
<email>gugod@gugod.org</email></para>
</listitem>
<listitem>
<para>Kapil Chowksey
<email>kchowksey@hss.hns.com</email></para>
</listitem>
<listitem>
<para>Karel Miklav
<email>karel@lovetemple.net</email></para>
</listitem>
<listitem>
<para>Karl Denninger
<email>karl@mcs.com</email></para>
</listitem>
<listitem>
<para>Karl Dietz
<email>Karl.Dietz@triplan.com</email></para>
</listitem>
<listitem>
<para>Karl Lehenbauer
<email>karl@NeoSoft.com</email></para>
</listitem>
<listitem>
<para>Karsten W. Rohrbach
<email>karsten@rohrbach.de</email></para>
</listitem>
<listitem>
<para>Katalin Konkoly
<email>katalin.konkoly@gmail.com</email></para>
</listitem>
<listitem>
<para>Katsura Matsumoto
<email>katsura@cc.osaka-kyoiku.ac.jp</email></para>
</listitem>
<listitem>
<para>Kawanobe Koh
<email>kawanobe@st.rim.or.jp</email></para>
</listitem>
<listitem>
<para>Kay Abendroth
<email>kay.abendroth@raxion.net</email></para>
</listitem>
<listitem>
<para>Kay Lehmann
<email>kay_lehmann@web.de</email></para>
</listitem>
<listitem>
<para>Kazami
<email>kazami@angels.vg</email></para>
</listitem>
<listitem>
<para>Kazuhito HONDA
<email>kazuhito@ph.noda.tus.ac.jp</email></para>
</listitem>
<listitem>
<para>Kees Jan Koster
<email>kjkoster@kjkoster.org</email></para>
</listitem>
<listitem>
<para>Keith Bostic
<email>bostic@bostic.com</email></para>
</listitem>
<listitem>
<para>Keith E. Walker
<email>kew@icehouse.net</email></para>
</listitem>
<listitem>
<para>Keith Moore</para>
</listitem>
<listitem>
<para>Keith Sklower</para>
</listitem>
<listitem>
<para>Kelley Reynolds
<email>kelley@insidesystems.net</email></para>
</listitem>
<listitem>
<para>Ken Hornstein</para>
</listitem>
<listitem>
<para>Ken Key
<email>key@cs.utk.edu</email></para>
</listitem>
<listitem>
<para>Ken Mayer
<email>kmayer@freegate.com</email></para>
</listitem>
<listitem>
<para>Ken McGlothlen
<email>mcglk@artlogix.com</email></para>
</listitem>
<listitem>
<para>Ken Menzel
<email>kenm@icarz.com</email></para>
</listitem>
<listitem>
<para>Ken Tom
<email>subd@mui.net</email></para>
</listitem>
<listitem>
<para>Kenji Saito
<email>marukun@mx2.nisiq.net</email></para>
</listitem>
<listitem>
<para>Kenji Takefu
<email>takefu@airport.fm</email></para>
</listitem>
<listitem>
<para>Kenji Tomita
<email>tommyk@da2.so-net.or.jp</email></para>
</listitem>
<listitem>
<para>Kenneth Furge
<email>kenneth.furge@us.endress.com</email></para>
</listitem>
<listitem>
<para>Kenneth Monville
<email>desmo@bandwidth.org</email></para>
</listitem>
<listitem>
<para>Kenneth R. Westerback
<email>krw@tcn.net</email></para>
</listitem>
<listitem>
<para>Kenneth Stailey
<email>kstailey@yahoo.com</email></para>
</listitem>
<listitem>
<para>Kenneth Vestergaard Schmidt
<email>kvs@pil.dk</email></para>
</listitem>
<listitem>
<para>Kent Talarico
<email>kent@shipwreck.tsoft.net</email></para>
</listitem>
<listitem>
<para>Kent Vander Velden
<email>graphix@iastate.edu</email></para>
</listitem>
<listitem>
<para>Kentaro Inagaki
<email>JBD01226@niftyserve.ne.jp</email></para>
</listitem>
<listitem>
<para>Kevin Bracey
<email>kbracey@art.acorn.co.uk</email></para>
</listitem>
<listitem>
<para>Kevin Brunelle
<email>kruptos@mlinux.org</email></para>
</listitem>
<listitem>
<para>Kevin Day
<email>toasty@dragondata.com</email></para>
</listitem>
<listitem>
<para>Kevin Golding
<email>kevin@caomhin.demon.co.uk</email></para>
</listitem>
<listitem>
<para>Kevin Lahey
<email>kml@nas.nasa.gov</email></para>
</listitem>
<listitem>
<para>Kevin Meltzer
<email>perlguy@perlguy.com</email></para>
</listitem>
<listitem>
<para>Kevin Oberman
<email>oberman@es.net</email></para>
</listitem>
<listitem>
<para>Kevin Street
<email>street@iname.com</email></para>
</listitem>
<listitem>
<para>Kevin Van Maren
<email>vanmaren@fast.cs.utah.edu</email></para>
</listitem>
<listitem>
<para>Kevin Zheng
<email>kevinz5000@gmail.com</email></para>
</listitem>
<listitem>
<para>Key-Teck SIN
<email>ktsin@acm.org</email></para>
</listitem>
<listitem>
<para>Khairil Yusof
<email>kaeru@inigo-tech.com</email></para>
</listitem>
<listitem>
<para>Killer
<email>killer@prosalg.no</email></para>
</listitem>
<listitem>
<para>Kim Scarborough
<email>sluggo@unknown.nu</email></para>
</listitem>
<listitem>
<para>Kimura Fuyuki
<email>fuyuki@hadaly.org</email></para>
</listitem>
<listitem>
<para>Kiril Mitev
<email>kiril@ideaglobal.com</email></para>
</listitem>
<listitem>
<para>Kirill Bezzubets
<email>kirill@solaris.ru</email></para>
</listitem>
<listitem>
<para>Kirill A. Korinskiy
<email>catap@catap.ru</email></para>
</listitem>
<listitem>
<para>Kirk Strauser
<email>kirk@strauser.com</email></para>
</listitem>
<listitem>
<para>Kiroh HARADA
<email>kiroh@kh.rim.or.jp</email></para>
</listitem>
<listitem>
<para>Klaus Goger
<email>klaus.goger@reflex.at</email></para>
</listitem>
<listitem>
<para>Klaus Herrmann
<email>klaus.herrmann@gmx.net</email></para>
</listitem>
<listitem>
<para>Klaus Klein
<email>kleink@layla.inka.de</email></para>
</listitem>
<listitem>
<para>Klaus Michael Indlekofer
<email>M.Indlekofer@gmx.de</email></para>
</listitem>
<listitem>
<para>Klaus-J. Wolf
<email>Yanestra@t-online.de</email></para>
</listitem>
<listitem>
<para>Koichi Sato
<email>copan@ppp.fastnet.or.jp</email></para>
</listitem>
<listitem>
<para>Konrad Heuer
<email>kheuer@gwdu60.gwdg.de</email></para>
</listitem>
<listitem>
<para>Konrad Lapsz
<email>konrad.lapsz@gmail.com</email></para>
</listitem>
<listitem>
<para>Konstantin Chuguev
<email>Konstantin.Chuguev@dante.org.uk</email></para>
</listitem>
<listitem>
<para>Konstantin Reznichenko
<email>kot@premierbank.dp.ua</email></para>
</listitem>
<listitem>
<para>Konstantinos Mplekos
<email>mplekos@physics.upatras.gr</email></para>
</listitem>
<listitem>
<para>Kostya Lukin
<email>lukin@okbmei.msk.su</email></para>
</listitem>
<listitem>
<para>Kouichi Hirabayashi
<email>kh@mogami-wire.co.jp</email></para>
</listitem>
<listitem>
<para>Kris Dow
<email>kris@vilnya.demon.co.uk</email></para>
</listitem>
<listitem>
<para>Krzysztof Kowalewski
<email>pyzmen@kam.pl</email></para>
</listitem>
<listitem>
<para>Krzysztof Pawlowski
<email>msciciel@darkzone.ma.cx</email></para>
</listitem>
<listitem>
<para>Kuan-Chung Chiu
<email>buganini@gmail.com</email></para>
</listitem>
<listitem>
<para>Kuang-che Wu
<email>kcwu@csie.org</email></para>
</listitem>
<listitem>
<para>Kuo-Feng Tseng
<email>kftseng@iyard.org</email></para>
</listitem>
<listitem>
<para>Kurt D. Zeilenga
<email>Kurt@Boolean.NET</email></para>
</listitem>
<listitem>
<para>Kurt Jaeger
<email>fbsd-ports@opsec.eu</email></para>
</listitem>
<listitem>
<para>Kurt Olsen
<email>kurto@tiny.mcs.usu.edu</email></para>
</listitem>
<listitem>
<para>Kyle Martin
<email>mkm@ieee.org</email></para>
</listitem>
<listitem>
<para>L. Jonas Olsson
<email>ljo@ljo-slip.DIALIN.CWRU.Edu</email></para>
</listitem>
<listitem>
<para>Landon Fuller
<email>landonf@opendarwin.org</email></para>
</listitem>
<listitem>
<para>Lapo Luchini
<email>lapo@lapo.it</email></para>
</listitem>
<listitem>
<para>Larry Altneu
<email>larry@ALR.COM</email></para>
</listitem>
<listitem>
<para>Larry P. Maloney
<email>larry@kiputers.com</email></para>
</listitem>
<listitem>
<para>Larry Rosenman
<email>ler@lerctr.org</email></para>
</listitem>
<listitem>
<para>Lars Bernhardsson
<email>lab@fnurt.net</email></para>
</listitem>
<listitem>
<para>Lars Eggert
<email>lars.eggert@gmx.net</email></para>
</listitem>
<listitem>
<para>Lars Erik Gullerud
<email>lerik@nolink.net</email></para>
</listitem>
<listitem>
<para>Lasse L. Johnsen
<email>lasse@freebsdcluster.org</email></para>
</listitem>
<listitem>
<para>Laurence Lopez
<email>lopez@mv.mv.com</email></para>
</listitem>
<listitem>
<para>Laurent Courty
<email>lrntct@gmail.com</email></para>
</listitem>
<listitem>
<para>Laurent Levier
<email>llevier@argosnet.com</email></para>
</listitem>
<listitem>
<para>Lauri Watts
<email>lauri@kde.org</email></para>
</listitem>
<listitem>
<para>Laust S. Jespersen
<email>L@ust.dk</email></para>
</listitem>
<listitem>
<para>Lee Cremeans
<email>lcremean@tidalwave.net</email></para>
</listitem>
<listitem>
<para>Lefteris Chatzibarbas
<email>lefcha@hellug.gr</email></para>
</listitem>
<listitem>
<para>Leif Pedersen
<email>pedersen@meridian-enviro.com</email></para>
</listitem>
<listitem>
<para>Len Sassaman
<email>rabbi@abditum.com</email></para>
</listitem>
<listitem>
<para>Leo Kim
<email>leo@florida.sarang.net</email></para>
</listitem>
<listitem>
<para>Leo Vandewoestijne
<email>freebsd@dns-lab.com</email></para>
</listitem>
<listitem>
<para>Leonardo Silveira de A. Martins
<email>lmartins@nepe.eee.ufg.br</email></para>
</listitem>
<listitem>
<para>Leonhard Wimmer
<email>leo@mediatomb.cc</email></para>
</listitem>
<listitem>
<para>Leonid Zolotarev
<email>leoz.2005@gmail.com</email></para>
</listitem>
<listitem>
<para>Lev Walkin
<email>vlm@lionet.info</email></para>
</listitem>
<listitem>
<para>Levent Kayan
<email>levent@corehack.org</email></para>
</listitem>
<listitem>
<para>Lewis Thompson
<email>purple@lewiz.net</email></para>
</listitem>
<listitem>
<para>Li-lun Wang
<email>llwang@infor.org</email></para>
</listitem>
<listitem>
<para>Liam Foy
<email>liamfoy@sepulcrum.org</email></para>
</listitem>
<listitem>
<para>Linh Pham
<email>question+freebsdpr@closedsrc.org</email></para>
</listitem>
<listitem>
<para>Lon Willett
<email>lon%softt.uucp@math.utah.edu</email></para>
</listitem>
<listitem>
<para>Loren J. Rittle
<email>ljrittle@acm.org</email></para>
</listitem>
<listitem>
<para>Loren M. Lang
<email>lorenl@alzatex.com</email></para>
</listitem>
<listitem>
<para>Louis A. Mamakos
<email>loiue@TransSys.com</email></para>
</listitem>
<listitem>
<para>Lowell Gilbert
<email>lowell@world.std.com</email></para>
</listitem>
<listitem>
<para>Lubomir Metodiev Marinov
<email>lubomir.marinov@gmail.com</email></para>
</listitem>
<listitem>
<para>Lucas James
<email>Lucas.James@ldjpc.apana.org.au</email></para>
</listitem>
<listitem>
<para>Lucio Costa
<email>lucio@zetasolucoes.com.br</email></para>
</listitem>
<listitem>
<para>Luiz Eduardo Roncato Cordeiro
<email>cordeiro@nic.br</email></para>
</listitem>
<listitem>
<para>Lukasz Stelmach
<email>lukasz.stelmach@iem.pw.edu.pl</email></para>
</listitem>
<listitem>
<para>Lupe Christoph
<email>lupe@lupe-christoph.de</email></para>
</listitem>
<listitem>
<para>Lutz Boehne
<email>lboehne@damogran.de</email></para>
</listitem>
<listitem>
<para>Lyndon Nerenberg
<email>lyndon@orthanc.ab.ca</email></para>
</listitem>
<listitem>
<para>M Rothwell
<email>freebsd-ports@coreland.ath.cx</email></para>
</listitem>
<listitem>
<para>M. L. Dodson
<email>bdodson@scms.utmb.EDU</email></para>
</listitem>
<listitem>
<para>M.C. Wong</para>
</listitem>
<listitem>
<para>MOROHOSHI Akihiko
<email>moro@remus.dti.ne.jp</email></para>
</listitem>
<listitem>
<para>Machiel Mastenbroek
<email>machiel_mastenbroek@hotmail.com</email></para>
</listitem>
<listitem>
<para>Magnus Enbom
<email>dot@tinto.campus.luth.se</email></para>
</listitem>
<listitem>
<para>Mahesh Neelakanta
<email>mahesh@gcomm.com</email></para>
</listitem>
<listitem>
<para>Mahlon E. Smith
<email>mahlon@martini.nu</email></para>
</listitem>
<listitem>
<para>Makoto WATANABE
<email>watanabe@zlab.phys.nagoya-u.ac.jp</email></para>
</listitem>
<listitem>
<para>Makoto YAMAKURA
<email>makoto@pinpott.spnet.ne.jp</email></para>
</listitem>
<listitem>
<para>Malte Lance
<email>malte.lance@gmx.net</email></para>
</listitem>
<listitem>
<para>Mantas Kaulakys
<email>stone@tainet.lt</email></para>
</listitem>
<listitem>
<para>Manu Iyengar
<email>iyengar@grunthos.pscwa.psca.com</email></para>
</listitem>
<listitem>
<para>Manuel Creach
<email>manuel.creach@me.com</email></para>
</listitem>
<listitem>
<para>Manuel Rabade Garcia
<email>mig@mig-29.net</email></para>
</listitem>
<listitem>
<para>Marc Blanchet
<email>marc.blanchet@viagenie.qc.ca</email></para>
</listitem>
<listitem>
<para>Marc Frajola
<email>marc@dev.com</email></para>
</listitem>
<listitem>
<para>Marc Olzheim
<email>marcolz@stack.nl</email></para>
</listitem>
<listitem>
<para>Marc Ramirez
<email>mrami@mramirez.sy.yale.edu</email></para>
</listitem>
<listitem>
<para>Marc Recht
<email>marc@informatik.uni-bremen.de</email></para>
</listitem>
<listitem>
<para>Marc Silver
<email>marcs@draenor.org</email></para>
</listitem>
<listitem>
<para>Marc Slemko
<email>marcs@znep.com</email></para>
</listitem>
<listitem>
<para>Marc van Kempen
<email>wmbfmk@urc.tue.nl</email></para>
</listitem>
<listitem>
<para>Marc van Woerkom
<email>marc.vanwoerkom@fernuni-hagen.de</email></para>
</listitem>
<listitem>
<para>Marcello Silva Coutinho
<email>marcellocoutinho@gmail.com</email></para>
</listitem>
<listitem>
<para>Marcelo/Porks Rossi
<email>marcelorossi@gmail.com</email></para>
</listitem>
<listitem>
<para>Marcin Cieslak
<email>saper@system.pl</email></para>
</listitem>
<listitem>
<para>Marcin Gondek
<email>drixter@e-utp.net</email></para>
</listitem>
<listitem>
<para>Marcin Jessa
<email>yazzy@yazzy.org</email></para>
</listitem>
<listitem>
<para>Marcin Wisnicki
<email>mwisnicki@gmail.com</email></para>
</listitem>
<listitem>
<para>Marco Molteni
<email>molter@tin.it</email></para>
</listitem>
<listitem>
<para>Marco van de Voort
<email>marcov@stack.nl</email></para>
</listitem>
<listitem>
<para>Marin Atanasov
<email>dnaeon@gmail.com</email></para>
</listitem>
<listitem>
<para>Marius N&uuml;nnerich
<email>marius@nuenneri.ch</email></para>
</listitem>
<listitem>
<para>Mark A. Wicks
<email>mwicks@kettering.edu</email></para>
</listitem>
<listitem>
<para>Mark Andrews</para>
</listitem>
<listitem>
<para>Mark Blackman
<email>freebsd-ports@blackmans.org</email></para>
</listitem>
<listitem>
<para>Mark Cammidge
<email>mark@gmtunx.ee.uct.ac.za</email></para>
</listitem>
<listitem>
<para>Mark Daniel Reidel
<email>ports@mark.reidel.info</email></para>
</listitem>
<listitem>
<para>Mark Diekhans
<email>markd@grizzly.com</email></para>
</listitem>
<listitem>
<para>Mark Foster
<email>mark@foster.cc</email></para>
</listitem>
<listitem>
<para>Mark Hannon
<email>markhannon@optusnet.com.au</email></para>
</listitem>
<listitem>
<para>Mark Huizer
<email>xaa+freebsd@timewasters.nl</email></para>
</listitem>
<listitem>
<para>Mark J. Miller
<email>joup@bigfoot.com</email></para>
</listitem>
<listitem>
<para>Mark J. Taylor
<email>mtaylor@cybernet.com</email></para>
</listitem>
<listitem>
<para>Mark Johnston
<email>mjohnston@skyweb.ca</email></para>
</listitem>
<listitem>
<para>Mark Kane
<email>mark@mkproductions.org</email></para>
</listitem>
<listitem>
<para>Mark Knight
<email>markk@knigma.org</email></para>
</listitem>
<listitem>
<para>Mark Krentel
<email>krentel@rice.edu</email></para>
</listitem>
<listitem>
<para>Mark Mayo
<email>markm@vmunix.com</email></para>
</listitem>
<listitem>
<para>Mark Starovoytov
<email>mark_sf@kikg.ifmo.ru</email></para>
</listitem>
<listitem>
<para>Mark Stosberg
<email>mark@summersault.com</email></para>
</listitem>
<listitem>
<para>Mark Thompson
<email>thompson@tgsoft.com</email></para>
</listitem>
<listitem>
<para>Mark Tinguely
<email>tinguely@plains.nodak.edu</email></para>
</listitem>
<listitem>
<para>Mark Treacy</para>
</listitem>
<listitem>
<para>Mark Valentine
<email>mark@thuvia.org</email></para>
</listitem>
<listitem>
<para>Markus Holmberg
<email>saska@acc.umu.se</email></para>
</listitem>
<listitem>
<para>Markus Niemist&ouml;
<email>markus.niemisto@gmx.net</email></para>
</listitem>
<listitem>
<para>Martijn Lina
<email>martijn@pacno.net</email></para>
</listitem>
<listitem>
<para>Martin Dieringer
<email>martin.dieringer@gmx.de</email></para>
</listitem>
<listitem>
<para>Martin Hinner
<email>mhi@linux.gyarab.cz</email></para>
</listitem>
<listitem>
<para>Martin Ibert
<email>mib@ppe.bb-data.de</email></para>
</listitem>
<listitem>
<para>Martin Jackson
<email>mhjacks@swbell.net</email></para>
</listitem>
<listitem>
<para>Martin Kammerhofer
<email>mkamm@gmx.net</email></para>
</listitem>
<listitem>
<para>Martin Karlsson
<email>martin.karlsson@visit.se</email></para>
</listitem>
<listitem>
<para>Martin Klaffenboeck
<email>martin.klaffenboeck@gmx.at</email></para>
</listitem>
<listitem>
<para>Martin Kraft
<email>martin.kraft@fal.de</email></para>
</listitem>
<listitem>
<para>Martin Kropfinger
<email>freebsd@rakor-net.de></email></para>
</listitem>
<listitem>
<para>Martin Mersberger
<email>gremlin@portal-to-web.de</email></para>
</listitem>
<listitem>
<para>Martin Minkus
<email>diskiller@cnbinc.com</email></para>
</listitem>
<listitem>
<para>Martin Neubauer
<email>m.ne@gmx.net</email></para>
</listitem>
<listitem>
<para>Martin Otto
<email>gamato@users.sf.net</email></para>
</listitem>
<listitem>
<para>Martin Preuss
<email>martin@libchipcard.de</email></para>
</listitem>
<listitem>
<para>Martin Sugioarto
<email>martin.sugioarto@udo.edu</email></para>
</listitem>
<listitem>
<para>Martin Tournoij
<email>carpetsmoker@gmail.com</email></para>
</listitem>
<listitem>
<para>Martti Kuparinen
<email>martti.kuparinen@ericsson.com</email></para>
</listitem>
<listitem>
<para>Marwan Burelle
<email>marwan.burelle@lri.fr</email></para>
</listitem>
<listitem>
<para>Masachika ISHIZUKA
<email>ishizuka@isis.min.ntt.jp</email></para>
</listitem>
<listitem>
<para>Masafumi Otsune
<email>info@otsune.com</email></para>
</listitem>
<listitem>
<para>Masahiro Sekiguchi
<email>seki@sysrap.cs.fujitsu.co.jp</email></para>
</listitem>
<listitem>
<para>Masahiro TAKEMURA
<email>mastake@msel.t.u-tokyo.ac.jp</email></para>
</listitem>
<listitem>
<para>Masahiro Teramoto
<email>markun@onohara.to</email></para>
</listitem>
<listitem>
<para>Masakazu HIGAKI
<email>higamasa@dream.com</email></para>
</listitem>
<listitem>
<para>Masaki TAGAWA
<email>masaki@club.kyutech.ac.jp</email></para>
</listitem>
<listitem>
<para>Masanobu Saitoh
<email>msaitoh@spa.is.uec.ac.jp</email></para>
</listitem>
<listitem>
<para>Masanori Kanaoka
<email>kana@saijo.mke.mei.co.jp</email></para>
</listitem>
<listitem>
<para>Masanori Kiriake
<email>seiken@ARGV.AC</email></para>
</listitem>
<listitem>
<para>Masanori OZAWA
<email>ozawa@ongs.co.jp</email></para>
</listitem>
<listitem>
<para>Masashi CHIBA
<email>chiba.masashi@gmail.com</email></para>
</listitem>
<listitem>
<para>Masatoshi TAMURA
<email>tamrin@shinzan.kuee.kyoto-u.ac.jp</email></para>
</listitem>
<listitem>
<para>Mathias Monnerville
<email>mathias@monnerville.com</email></para>
</listitem>
<listitem>
<para>Mats Lofkvist
<email>mal@algonet.se</email></para>
</listitem>
<listitem>
<para>Matt Bartley
<email>mbartley@lear35.cytex.com</email></para>
</listitem>
<listitem>
<para>Matt Dawson
<email>matt@mattsnetwork.co.uk</email></para>
</listitem>
<listitem>
<para>Matt Douhan
<email>matt@athame.co.uk</email></para>
</listitem>
<listitem>
<para>Matt Emmerton
<email>matt@gsicomp.on.ca</email></para>
</listitem>
<listitem>
<para>Matt Heckaman
<email>matt@LUCIDA.QC.CA</email></para>
</listitem>
<listitem>
<para>Matt Jibson
<email>dolmant@dolmant.net</email></para>
</listitem>
<listitem>
<para>Matt Lancereau
<email>matt@bsdfly.org</email></para>
</listitem>
<listitem>
<para>Matt Loschert
<email>loschert@servint.com</email></para>
</listitem>
<listitem>
<para>Matt Mills
<email>matt_mills@btopenworld.com</email></para>
</listitem>
<listitem>
<para>Matt Peterson
<email>matt@peterson.org</email></para>
</listitem>
<listitem>
<para>Matt Smith
<email>matt@xtaz.net</email></para>
</listitem>
<listitem>
<para>Matt Stofko
<email>matt@mjslabs.com</email></para>
</listitem>
<listitem>
<para>Matt Thomas
<email>matt@3am-software.com</email></para>
</listitem>
<listitem>
<para>Matt Tosto
<email>datahead4@gmail.com</email></para>
</listitem>
<listitem>
<para>Matt White
<email>mwhite+@CMU.EDU</email></para>
</listitem>
<listitem>
<para>Matthew Braithwaite
<email>mab@red-bean.com</email></para>
</listitem>
<listitem>
<para>Matthew C. Mead
<email>mmead@Glock.COM</email></para>
</listitem>
<listitem>
<para>Matthew Cashdollar
<email>mattc@rfcnet.com</email></para>
</listitem>
<listitem>
<para>Matthew Donovan
<email>kitchetech@gmail.com</email></para>
</listitem>
<listitem>
<para>Matthew Emmerton
<email>root@gabby.gsicomp.on.ca</email></para>
</listitem>
<listitem>
<para>Matthew Flatt
<email>mflatt@cs.rice.edu</email></para>
</listitem>
<listitem>
<para>Matthew Fuller
<email>fullermd@over-yonder.net</email></para>
</listitem>
<listitem>
<para>Matthew George
<email>mdg@secureworks.net</email></para>
</listitem>
<listitem>
<para>Matthew Gibson
<email>mdg583@hotmail.com</email></para>
</listitem>
<listitem>
<para>Matthew Grooms
<email>mgrooms@shrew.net</email></para>
</listitem>
<listitem>
<para>Matthew Holder
<email>sixxgate@hotmail.com</email></para>
</listitem>
<listitem>
<para>Matthew Luckie
<email>mjl@luckie.org.nz</email></para>
</listitem>
<listitem>
<para>Matthew Stein
<email>matt@bdd.net</email></para>
</listitem>
<listitem>
<para>Matthew West
<email>mwest@uct.ac.za</email></para>
</listitem>
<listitem>
<para>Matthew Will
<email>mwill@spingen.com</email></para>
</listitem>
<listitem>
<para>Matthew X. Economou
<email>xenophon+fbsdports@irtnog.org</email></para>
</listitem>
<listitem>
<para>Matthias Fechner
<email>idefix@fechner.net</email></para>
</listitem>
<listitem>
<para>Matthias Petermann
<email>matthias@d2ux.net</email></para>
</listitem>
<listitem>
<para>Matthias Pfaller
<email>leo@dachau.marco.de</email></para>
</listitem>
<listitem>
<para>Matthias Scheler
<email>tron@netbsd.org</email></para>
</listitem>
<listitem>
<para>Matthias Schmidt
<email>schmidtm@mathematik.uni-marburg.de</email></para>
</listitem>
<listitem>
<para>Matthias Sund
<email>m.sund@arcor.de</email></para>
</listitem>
<listitem>
<para>Matthias Sch&uuml;ndeh&uuml;tte
<email>msch@snafu.de</email></para>
</listitem>
<listitem>
<para>Matthias Teege
<email>mteege.de</email></para>
</listitem>
<listitem>
<para>Matthieu Guegan
<email>matt.guegan@free.fr</email></para>
</listitem>
<listitem>
<para>Matthias Teege
<email>mteege.de</email></para>
</listitem>
<listitem>
<para>Mattias Gronlund
<email>Mattias.Gronlund@sa.erisoft.se</email></para>
</listitem>
<listitem>
<para>Mattias Pantzare
<email>pantzer@ludd.luth.se</email></para>
</listitem>
<listitem>
<para>Matus Uhlar
<email>uhlar@fantomas.sk</email></para>
</listitem>
<listitem>
<para>Maurice Castro
<email>maurice@planet.serc.rmit.edu.au</email></para>
</listitem>
<listitem>
<para>Mauricio Herrera Cuadra
<email>mauricio@arareko.net</email></para>
</listitem>
<listitem>
<para>Max Campos
<email>mcampos@bpsw.biz</email></para>
</listitem>
<listitem>
<para>Max E. Kuznecov
<email>mek@mek.uz.ua</email></para>
</listitem>
<listitem>
<para>Max Euston
<email>meuston@jmrodgers.com</email></para>
</listitem>
<listitem>
<para>Max N. Boyarov
<email>m.boyarov@bsd.by</email></para>
</listitem>
<listitem>
<para>Maxim Bolotin
<email>max@rsu.ru</email></para>
</listitem>
<listitem>
<para>Maxim Dounin
<email>mdounin@mdounin.ru</email></para>
</listitem>
<listitem>
<para>Maxim Ignatenko
<email>gelraen.ua@gmail.com</email></para>
</listitem>
<listitem>
<para>Maxim Loginov
<email>zeliboba@mail.ru</email></para>
</listitem>
<listitem>
<para>Maxim Samsonov
<email>xors@sendmail.ru</email></para>
</listitem>
<listitem>
<para>Maxim Tuliuk
<email>mt@primats.org.ua</email></para>
</listitem>
<listitem>
<para>Maxime Romano
<email>verbophobe@hotmail.com</email></para>
</listitem>
<listitem>
<para>Meikel Brandmeyer
<email>Brandels_Mikesh@web.de</email></para>
</listitem>
<listitem>
<para>Mel Flynn
<email>rflynn@acsalaska.net</email></para>
</listitem>
<listitem>
<para>Meno Abels
<email>meno.abels@adviser.com</email></para>
</listitem>
<listitem>
<para>Meyer Wolfsheim
<email>wolf@priori.net</email></para>
</listitem>
<listitem>
<para>Micha Class
<email>michael_class@hpbbse.bbn.hp.com</email></para>
</listitem>
<listitem>
<para>Michael A. Kohn
<email>naken@naken.cc</email></para>
</listitem>
<listitem>
<para>Michael Alyn Miller
<email>malyn@strangeGizmo.com</email></para>
</listitem>
<listitem>
<para>Michael Butler
<email>imb@scgt.oz.au</email></para>
</listitem>
<listitem>
<para>Michael Butschky
<email>butsch@computi.erols.com</email></para>
</listitem>
<listitem>
<para>Michael C. Shultz
<email>ringworm@inbox.lv</email></para>
</listitem>
<listitem>
<para>Michael Clay
<email>mclay@weareb.org</email></para>
</listitem>
<listitem>
<para>Michael Collette
<email>metrol@metrol.net</email></para>
</listitem>
<listitem>
<para>Michael Ebert
<email>ebert@informatik.unibw-muenchen.de</email></para>
</listitem>
<listitem>
<para>Michael Edenfield
<email>kutulu@kutulu.org</email></para>
</listitem>
<listitem>
<para>Michael Galassi
<email>nerd@percival.rain.com</email></para>
</listitem>
<listitem>
<para>Michael Gmelin
<email>freebsd@grem.de</email></para>
</listitem>
<listitem>
<para>Michael Hancock
<email>michaelh@cet.co.jp</email></para>
</listitem>
<listitem>
<para>Michael Handler
<email>handler@grendel.net</email></para>
</listitem>
<listitem>
<para>Michael Hohmuth
<email>hohmuth@inf.tu-dresden.de</email></para>
</listitem>
<listitem>
<para>Michael Iatrou
<email>m_iatrou@freemail.gr</email></para>
</listitem>
<listitem>
<para>Michael Lyngb&oslash;l
<email>michael@lyngbol.dk</email></para>
</listitem>
<listitem>
<para>Michael Neumann
<email>mneumann@ntecs.de</email></para>
</listitem>
<listitem>
<para>Michael O. Boev
<email>mike@tric.tomsk.gov.ru</email></para>
</listitem>
<listitem>
<para>Michael Perlman
<email>canuck@caam.rice.edu</email></para>
</listitem>
<listitem>
<para>Michael Petry
<email>petry@netwolf.NetMasters.com</email></para>
</listitem>
<listitem>
<para>Michael Ranner
<email>mranner@inode.at</email></para>
</listitem>
<listitem>
<para>Michael Sanders
<email>mike@topcat.hypermart.net</email></para>
</listitem>
<listitem>
<para>Michael Sardo
<email>jaeger16@yahoo.com</email></para>
</listitem>
<listitem>
<para>Michael Schout
<email>mschout@gkg.net</email></para>
</listitem>
<listitem>
<para>Michael Searle
<email>searle@longacre.demon.co.uk</email></para>
</listitem>
<listitem>
<para>Michael Seyfert
<email>michaels@sdf.lonestar.org</email></para>
</listitem>
<listitem>
<para>Michael Urban
<email>murban@tznet.com</email></para>
</listitem>
<listitem>
<para>Michael Vasilenko
<email>acid@stu.cn.ua</email></para>
</listitem>
<listitem>
<para>Michal Listos
<email>mcl@Amnesiac.123.org</email></para>
</listitem>
<listitem>
<para>Michal Pasternak
<email>dotz@irc.pl</email></para>
</listitem>
<listitem>
<para>Michel Lavond&eacute;s
<email>fox@vader.aacc.cc.md.us</email></para>
</listitem>
<listitem>
<para>Michele Possamai
<email>possamai@xs4all.nl</email></para>
</listitem>
<listitem>
<para>Michio Karl Jinbo
<email>karl@marcer.nagaokaut.ac.jp</email></para>
</listitem>
<listitem>
<para>Micho Durdevich
<email>micho@math.unam.mx</email></para>
</listitem>
<listitem>
<para>Mickael Maillot
<email>mickael.maillot@gmail.com</email></para>
</listitem>
<listitem>
<para>Miguel Angel Sagreras
<email>msagre@cactus.fi.uba.ar</email></para>
</listitem>
<listitem>
<para>Miguel Mendez
<email>flynn@energyhq.es.eu.org</email></para>
</listitem>
<listitem>
<para>Mihoko Tanaka
<email>m_tonaka@pa.yokogawa.co.jp</email></para>
</listitem>
<listitem>
<para>Mij
<email>mij@bitchx.it</email></para>
</listitem>
<listitem>
<para>Mika Nystrom
<email>mika@cs.caltech.edu</email></para>
</listitem>
<listitem>
<para>Mikael Hybsch
<email>micke@dynas.se</email></para>
</listitem>
<listitem>
<para>Mikael Karpberg
<email>karpen@ocean.campus.luth.se</email></para>
</listitem>
<listitem>
<para>Mike Andrews
<email>mandrews@bit0.com</email></para>
</listitem>
<listitem>
<para>Mike Bowie
<email>mbowie@buzmo.com</email></para>
</listitem>
<listitem>
<para>Mike Bristow
<email>mike@urgle.com</email></para>
</listitem>
<listitem>
<para>Mike Del
<email>repenting@hotmail.com</email></para>
</listitem>
<listitem>
<para>Mike Durian
<email>durian@boogie.com</email></para>
</listitem>
<listitem>
<para>Mike Durkin
<email>mdurkin@tsoft.sf-bay.org</email></para>
</listitem>
<listitem>
<para>Mike E. Matsnev
<email>mike@azog.cs.msu.su</email></para>
</listitem>
<listitem>
<para>Mike Edenfield
<email>kutulu@kutulu.org</email></para>
</listitem>
<listitem>
<para>Mike Erickson
<email>mee@quidquam.com</email></para>
</listitem>
<listitem>
<para>Mike Evans
<email>mevans@candle.com</email></para>
</listitem>
<listitem>
<para>Mike Futerko
<email>mike@LITech.lviv.ua</email></para>
</listitem>
<listitem>
<para>Mike Grupenhoff
<email>kashmir@umiacs.umd.edu</email></para>
</listitem>
<listitem>
<para>Mike Harding
<email>mvh@ix.netcom.com</email></para>
</listitem>
<listitem>
<para>Mike Hibler
<email>mike@marker.cs.utah.edu</email></para>
</listitem>
<listitem>
<para>Mike Karels</para>
</listitem>
<listitem>
<para>Mike Krutov
<email>neko@takino.org</email></para>
</listitem>
<listitem>
<para>Mike Lockwood
<email>mike@mikelockwood.com</email></para>
</listitem>
<listitem>
<para>Mike McGaughey
<email>mmcg@cs.monash.edu.au</email></para>
</listitem>
<listitem>
<para>Mike Meyer
<email>mwm@mired.org</email></para>
</listitem>
<listitem>
<para>Mike Mitchell
<email>mitchell@ref.tfs.com</email></para>
</listitem>
<listitem>
<para>Mike Murphy
<email>mrm@alpharel.com</email></para>
</listitem>
<listitem>
<para>Mike Patterson
<email>mike.patterson@unb.ca</email></para>
</listitem>
<listitem>
<para>Mike Peck
<email>mike@binghamton.edu</email></para>
</listitem>
<listitem>
<para>Mike Sherwood
<email>mike@fate.com</email></para>
</listitem>
<listitem>
<para>Mike Spengler
<email>mks@msc.edu</email></para>
</listitem>
<listitem>
<para>Mike Tancsa
<email>mike@sentex.net</email></para>
</listitem>
<listitem>
<para>Mikhail A. Sokolov
<email>mishania@demos.su</email></para>
</listitem>
<listitem>
<para>Mikhail T.
<email>michael@fun-box.ru</email></para>
</listitem>
<listitem>
<para>Mikhail Zakharov
<email>zmey20000@yahoo.com</email></para>
</listitem>
<listitem>
<para>Mikolaj Rydzewski
<email>miki@ceti.pl</email></para>
</listitem>
<listitem>
<para>Mikolaj Golub
<email>to.my.trociny@gmail.com</email></para>
</listitem>
<listitem>
<para>Miks Mikelsons
<email>miks@cubesystems.lv</email></para>
</listitem>
<listitem>
<para>Milan Obuch
<email>bsd@dino.sk</email></para>
</listitem>
<listitem>
<para>Milosz Galazka
<email>milosz.galazka@gmail.com</email></para>
</listitem>
<listitem>
<para>Ming-I Hseh
<email>PA@FreeBSD.ee.Ntu.edu.TW</email></para>
</listitem>
<listitem>
<para>Mitsuru Yoshida
<email>mitsuru@riken.go.jp</email></para>
</listitem>
<listitem>
<para>Monte Mitzelfelt
<email>monte@gonefishing.org</email></para>
</listitem>
<listitem>
<para>Mooneer Salem
<email>mooneer@translator.cx</email></para>
</listitem>
<listitem>
<para>Morgan Davis
<email>root@io.cts.com</email></para>
</listitem>
<listitem>
<para>Morten Slot Kristensen
<email>ontherenth@gmail.com</email></para>
</listitem>
<listitem>
<para>Mostyn Lewis
<email>mostyn@mrl.com</email></para>
</listitem>
<listitem>
<para>Motomichi Matsuzaki
<email>mzaki@e-mail.ne.jp</email></para>
</listitem>
<listitem>
<para>Motoyuki Kasahara
<email>m-kasahr@sra.co.jp</email></para>
</listitem>
<listitem>
<para>Munish Chopra
<email>munish@engmail.uwaterloo.ca</email></para>
</listitem>
<listitem>
<para>Murilo Opsfelder
<email>mopsfelder@gmail.com</email></para>
</listitem>
<listitem>
<para>Mustafa Arif
<email>ma499@doc.ic.ac.uk</email></para>
</listitem>
<listitem>
<para>Mykola Dzham
<email>i@levsha.me</email></para>
</listitem>
<listitem>
<para>Mykola Khotyaintsev
<email>ko@irfu.se</email></para>
</listitem>
<listitem>
<para>Mykola Marzhan
<email>delgod@portaone.com</email></para>
</listitem>
<listitem>
<para>N.G.Smith
<email>ngs@sesame.hensa.ac.uk</email></para>
</listitem>
<listitem>
<para>NAGAO Tadaaki
<email>nagao@cs.titech.ac.jp</email></para>
</listitem>
<listitem>
<para>NAKAJI Hiroyuki
<email>nakaji@jp.freebsd.org</email></para>
</listitem>
<listitem>
<para>NAKAMURA Kazushi
<email>kaz@kobe1995.net</email></para>
</listitem>
<listitem>
<para>NAKAMURA Motonori
<email>motonori@econ.kyoto-u.ac.jp</email></para>
</listitem>
<listitem>
<para>NIIMI Satoshi
<email>sa2c@and.or.jp</email></para>
</listitem>
<listitem>
<para>NOKUBI Hirotaka
<email>h-nokubi@yyy.or.jp</email></para>
</listitem>
<listitem>
<para>Nadav Eiron
<email>nadav@barcode.co.il</email></para>
</listitem>
<listitem>
<para>Nanbor Wang
<email>nw1@cs.wustl.edu</email></para>
</listitem>
<listitem>
<para>Naofumi Honda
<email>honda@Kururu.math.sci.hokudai.ac.jp</email></para>
</listitem>
<listitem>
<para>Naoki Hamada
<email>nao@tom-yam.or.jp</email></para>
</listitem>
<listitem>
<para>Naram Qashat
<email>cyberbotx@cyberbotx.com</email></para>
</listitem>
<listitem>
<para>Narayan Namdev Newton
<email>narayannewton@gmail.com</email></para>
</listitem>
<listitem>
<para>Narvi
<email>narvi@haldjas.folklore.ee</email></para>
</listitem>
<listitem>
<para>Nate Eldredge
<email>neldredge@math.ucsd.edu</email></para>
</listitem>
<listitem>
<para>Nathan Dorfman
<email>nathan@rtfm.net</email></para>
</listitem>
<listitem>
<para>Nathaniel Roark
<email>robb_force@holybuffalo.net</email></para>
</listitem>
<listitem>
<para>Natsagdorj Shagdar
<email>natsag2000@yahoo.com</email></para>
</listitem>
<listitem>
<para>Neal Fachan
<email>kneel@ishiboo.com</email></para>
</listitem>
<listitem>
<para>Necati Ersen Siseci
<email>siseci@enderunix.org</email></para>
</listitem>
<listitem>
<para>Ned Wolpert
<email>wolpert@codeheadsystems.com</email></para>
</listitem>
<listitem>
<para>Nguyen Tam Chinh
<email>chinhngt@sectorb.msk.ru</email></para>
</listitem>
<listitem>
<para>Niall Smart
<email>rotel@indigo.ie</email></para>
</listitem>
<listitem>
<para>Nicholas Esborn
<email>nick@netdot.net</email></para>
</listitem>
<listitem>
<para>Nick Barnes
<email>Nick.Barnes@pobox.com</email></para>
</listitem>
<listitem>
<para>Nick Dewing
<email>nickdewing@gmail.com</email></para>
</listitem>
<listitem>
<para>Nick Handel
<email>nhandel@NeoSoft.com</email></para>
</listitem>
<listitem>
<para>Nick Hilliard
<email>nick@foobar.org</email></para>
</listitem>
<listitem>
<para>Nick Johnson
<email>freebsd@spatula.net</email></para>
</listitem>
<listitem>
<para>Nicole Reid
<email>root@cooltrainer.org</email></para>
</listitem>
<listitem>
<para>Nikolai Lifanov
<email>lifanov@mail.lifanov.com</email></para>
</listitem>
<listitem>
<para>Nikos Kokkalis
<email>nickkokkalis@gmail.com</email></para>
</listitem>
<listitem>
<para>Nick Leuta
<email>skynick@mail.sc.ru</email></para>
</listitem>
<listitem>
<para>Nick Rogness
<email>nick@rogness.net</email></para>
</listitem>
<listitem>
<para>Nick Williams
<email>njw@cs.city.ac.uk</email></para>
</listitem>
<listitem>
<para>Nick Withers
<email>nick@nickwithers.com</email></para>
</listitem>
<listitem>
<para>Nicko Dehaine
<email>nicko@stbernard.com</email></para>
</listitem>
<listitem>
<para>Nickolay N. Dudorov
<email>nnd@itfs.nsk.su</email></para>
</listitem>
<listitem>
<para>Nicolas Jombart
<email>ecu@ipv42.net</email></para>
</listitem>
<listitem>
<para>Niklas Hallqvist
<email>niklas@filippa.appli.se</email></para>
</listitem>
<listitem>
<para>Nikola Lecic
<email>nikola.lecic@anthesphoria.net</email></para>
</listitem>
<listitem>
<para>Nikola Kolev
<email>koue@chaosophia.net</email></para>
</listitem>
<listitem>
<para>Nikos Ntarmos
<email>ntarmos@ceid.upatras.gr</email></para>
</listitem>
<listitem>
<para>Nils M. Holm
<email>nmh@t3x.org</email></para>
</listitem>
<listitem>
<para>Nisha Talagala
<email>nisha@cs.berkeley.edu</email></para>
</listitem>
<listitem>
<para>No Name
<email>ZW6T-KND@j.asahi-net.or.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>adrian@virginia.edu</email></para>
</listitem>
<listitem>
<para>No Name
<email>alex@elvisti.kiev.ua</email></para>
</listitem>
<listitem>
<para>No Name
<email>anto@netscape.net</email></para>
</listitem>
<listitem>
<para>No Name
<email>bobson@egg.ics.nitch.ac.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>bovynf@awe.be</email></para>
</listitem>
<listitem>
<para>No Name
<email>burg@is.ge.com</email></para>
</listitem>
<listitem>
<para>No Name
<email>chris@gnome.co.uk</email></para>
</listitem>
<listitem>
<para>No Name
<email>colsen@usa.net</email></para>
</listitem>
<listitem>
<para>No Name
<email>coredump@nervosa.com</email></para>
</listitem>
<listitem>
<para>No Name
<email>dannyman@arh0300.urh.uiuc.edu</email></para>
</listitem>
<listitem>
<para>No Name
<email>davids@SECNET.COM</email></para>
</listitem>
<listitem>
<para>No Name
<email>derek@free.org</email></para>
</listitem>
<listitem>
<para>No Name
<email>dvv@sprint.net</email></para>
</listitem>
<listitem>
<para>No Name
<email>enami@ba2.so-net.or.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>flash@eru.tubank.msk.su</email></para>
</listitem>
<listitem>
<para>No Name
<email>flash@hway.ru</email></para>
</listitem>
<listitem>
<para>No Name
<email>fn@pain.csrv.uidaho.edu</email></para>
</listitem>
<listitem>
<para>No Name
<email>frf@xocolatl.com</email></para>
</listitem>
<listitem>
<para>No Name
<email>gclarkii@netport.neosoft.com</email></para>
</listitem>
<listitem>
<para>No Name
<email>gordon@sheaky.lonestar.org</email></para>
</listitem>
<listitem>
<para>No Name
<email>graaf@iae.nl</email></para>
</listitem>
<listitem>
<para>No Name
<email>greg@greg.rim.or.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>grossman@cygnus.com</email></para>
</listitem>
<listitem>
<para>No Name
<email>gusw@fub46.zedat.fu-berlin.de</email></para>
</listitem>
<listitem>
<para>No Name
<email>hfir@math.rochester.edu</email></para>
</listitem>
<listitem>
<para>No Name
<email>hnokubi@yyy.or.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>iaint@css.tuu.utas.edu.au</email></para>
</listitem>
<listitem>
<para>No Name
<email>invis@visi.com</email></para>
</listitem>
<listitem>
<para>No Name
<email>ishisone@sra.co.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>iverson@lionheart.com</email></para>
</listitem>
<listitem>
<para>No Name
<email>jpt@magic.net</email></para>
</listitem>
<listitem>
<para>No Name
<email>junker@jazz.snu.ac.kr</email></para>
</listitem>
<listitem>
<para>No Name
<email>k-sugyou@ccs.mt.nec.co.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>kenji@reseau.toyonaka.osaka.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>kfurge@worldnet.att.net</email></para>
</listitem>
<listitem>
<para>No Name
<email>lh@aus.org</email></para>
</listitem>
<listitem>
<para>No Name
<email>lhecking@nmrc.ucc.ie</email></para>
</listitem>
<listitem>
<para>No Name
<email>mrgreen@mame.mu.oz.au</email></para>
</listitem>
<listitem>
<para>No Name
<email>nakagawa@jp.FreeBSD.org</email></para>
</listitem>
<listitem>
<para>No Name
<email>ohki@gssm.otsuka.tsukuba.ac.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>owaki@st.rim.or.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>pechter@shell.monmouth.com</email></para>
</listitem>
<listitem>
<para>No Name
<email>pete@pelican.pelican.com</email></para>
</listitem>
<listitem>
<para>No Name
<email>pritc003@maroon.tc.umn.edu</email></para>
</listitem>
<listitem>
<para>No Name
<email>risner@stdio.com</email></para>
</listitem>
<listitem>
<para>No Name
<email>root@ns2.redline.ru</email></para>
</listitem>
<listitem>
<para>No Name
<email>root@uglabgw.ug.cs.sunysb.edu</email></para>
</listitem>
<listitem>
<para>No Name
<email>stephen.ma@jtec.com.au</email></para>
</listitem>
<listitem>
<para>No Name
<email>sumii@is.s.u-tokyo.ac.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>takas-su@is.aist-nara.ac.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>tjevans@raleigh.ibm.com</email></para>
</listitem>
<listitem>
<para>No Name
<email>tony-o@iij.ad.jp amurai@spec.co.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>torii@tcd.hitachi.co.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>uenami@imasy.or.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>vode@hut.fi</email></para>
</listitem>
<listitem>
<para>No Name
<email>wlloyd@mpd.ca</email></para>
</listitem>
<listitem>
<para>No Name
<email>wlr@furball.wellsfargo.com</email></para>
</listitem>
<listitem>
<para>No Name
<email>wmbfmk@urc.tue.nl</email></para>
</listitem>
<listitem>
<para>No Name
<email>yamagata@nwgpc.kek.jp</email></para>
</listitem>
<listitem>
<para>No Name
<email>ziggy@ryan.org</email></para>
</listitem>
<listitem>
<para>No Name
<email>salexanov@gmail.com</email></para>
</listitem>
<listitem>
<para>Nobuhiro Yasutomi
<email>nobu@psrc.isac.co.jp</email></para>
</listitem>
<listitem>
<para>Nobuyuki Koganemaru
<email>kogane@koganemaru.co.jp</email></para>
</listitem>
<listitem>
<para>Norberto Lopes
<email>nlopes.ml@gmail.com</email></para>
</listitem>
<listitem>
<para>Norio Suzuki
<email>nosuzuki@e-mail.ne.jp</email></para>
</listitem>
<listitem>
<para>Noritaka Ishizumi
<email>graphite@jp.FreeBSD.org</email></para>
</listitem>
<listitem>
<para>Noritoshi Demizu
<email>demizu@dd.iij4u.or.jp</email></para>
</listitem>
<listitem>
<para>Noriyuki Soda
<email>soda@sra.co.jp</email></para>
</listitem>
<listitem>
<para>Oddbjorn Steffensen
<email>oddbjorn@tricknology.org</email></para>
</listitem>
<listitem>
<para>Oh Junseon
<email>hollywar@mail.holywar.net</email></para>
</listitem>
<listitem>
<para>Olaf Wagner
<email>wagner@luthien.in-berlin.de</email></para>
</listitem>
<listitem>
<para>Olafur Osvaldsson
<email>oli@isnic.is</email></para>
</listitem>
<listitem>
<para>Oleg Alexeenkov
<email>proler@gmail.com</email></para>
</listitem>
<listitem>
<para>Oleg Ginzburg
<email>olevole@olevole.ru</email></para>
</listitem>
<listitem>
<para>Oleg Kiselyov
<email>oleg@pobox.com</email></para>
</listitem>
<listitem>
<para>Oleg A. Mamontov
<email>oleg@mamontov.net</email></para>
</listitem>
<listitem>
<para>Oleg M. Golovanov
<email>olmi@rentech.ru</email></para>
</listitem>
<listitem>
<para>Oleg Moskalenko
<email>mom040267@gmail.com</email></para>
</listitem>
<listitem>
<para>Oleg R. Muhutdinov
<email>mor@whiteluna.com</email></para>
</listitem>
<listitem>
<para>Oleg Semyonov
<email>os@altavista.net</email></para>
</listitem>
<listitem>
<para>Oleg Sharoiko
<email>os@rsu.ru</email></para>
</listitem>
<listitem>
<para>Oleg Ukraincev
<email>oleg@ht-systems.ru</email></para>
</listitem>
<listitem>
<para>Oleg V. Volkov
<email>rover@lglobus.ru</email></para>
</listitem>
<listitem>
<para>Oleksandr Lystopad
<email>laa@laa.zp.ua</email></para>
</listitem>
<listitem>
<para>Olexander Kunytsa
<email>kunia@wolf.istc.kiev.ua</email></para>
</listitem>
<listitem>
<para>Oliver Breuninger
<email>ob@seicom.NET</email></para>
</listitem>
<listitem>
<para>Oliver Dunkl
<email>odunkl@gmx.net</email></para>
</listitem>
<listitem>
<para>Oliver Fischer
<email>plexus@snafu.de</email></para>
</listitem>
<listitem>
<para>Oliver Friedrichs
<email>oliver@secnet.com</email></para>
</listitem>
<listitem>
<para>Oliver Hartmann
<email>ohartman@zedat.fu-berlin.de</email></para>
</listitem>
<listitem>
<para>Oliver Heesakkers
<email>dev2@heesakkers.info</email></para>
</listitem>
<listitem>
<para>Oliver Helmling
<email>oliver.helmling@stud.uni-bayreuth.de</email></para>
</listitem>
<listitem>
<para>Oliver Laumann
<email>net@informatik.uni-bremen.de</email></para>
</listitem>
<listitem>
<para>Oliver Oberdorf
<email>oly@world.std.com</email></para>
</listitem>
<listitem>
<para>Oliver Peter
<email>hoschi@mouhaha.de</email></para>
</listitem>
<listitem>
<para>Olivier Beyssac
<email>obld@r14.freenix.org</email></para>
</listitem>
<listitem>
<para>Olivier Cochard-Labbé
<email>olivier@cochard.me</email></para>
</listitem>
<listitem>
<para>Olivier Tharan
<email>olive@oban.frmug.org</email></para>
</listitem>
<listitem>
<para>Olof Johansson
<email>offe@ludd.luth.se</email></para>
</listitem>
<listitem>
<para>Omer Faruk Sen
<email>ofsen@enderunix.org</email></para>
</listitem>
<listitem>
<para>Oscar Bonilla
<email>obonilla@galileo.edu</email></para>
</listitem>
<listitem>
<para>Otac&iacute;lio de Ara&uacute;jo Ramos Neto
<email>otacilio.neto@ee.ufcg.edu.br</email></para>
</listitem>
<listitem>
<para>Ot&aacute;vio Fernandes
<email>otaviof@gmail.com</email></para>
</listitem>
<listitem>
<para>Ozkan KIRIK
<email>ozkan@enderunix.org</email></para>
</listitem>
<listitem>
<para>Pace Willisson
<email>pace@blitz.com</email></para>
</listitem>
<listitem>
<para>Paco Rosich
<email>rosich@modico.eleinf.uv.es</email></para>
</listitem>
<listitem>
<para>Panagiotis Astithas
<email>past@noc.ntua.gr</email></para>
</listitem>
<listitem>
<para>Panagiotis Kritikakos
<email>panoskrt@googlemail.com</email></para>
</listitem>
<listitem>
<para>Parag Patel
<email>parag@cgt.com</email></para>
</listitem>
<listitem>
<para>Pascal Pederiva
<email>pascal@zuo.dec.com</email></para>
</listitem>
<listitem>
<para>Pascal Vizeli
<email>pvizeli@yahoo.de</email></para>
</listitem>
<listitem>
<para>Pasi Hirvonen
<email>psh@iki.fi</email></para>
</listitem>
<listitem>
<para>Pasvorn Boonmark
<email>boonmark@juniper.net</email></para>
</listitem>
<listitem>
<para>Patrick Alken
<email>cosine@ellipse.mcs.drexel.edu</email></para>
</listitem>
<listitem>
<para>Patrick Atamaniuk
<email>atamaniuk-ports@frobs.net</email></para>
</listitem>
<listitem>
<para>Patrick Bihan-Faou
<email>patrick@mindstep.com</email></para>
</listitem>
<listitem>
<para>Patrick Dung
<email>patrick_dkt@yahoo.com.hk</email></para>
</listitem>
<listitem>
<para>Patrick Hausen</para>
</listitem>
<listitem>
<para>Patrick MARIE
<email>mycroft@virgaria.org</email></para>
</listitem>
<listitem>
<para>Patrick Powell
<email>papowell@astart.com</email></para>
</listitem>
<listitem>
<para>Patrick Rinke
<email>patrick@rinke-bochum.de</email></para>
</listitem>
<listitem>
<para>Patrick Seal
<email>patseal@hyperhost.net</email></para>
</listitem>
<listitem>
<para>Patrick Tracanelli
<email>eksffa@freebsdbrasil.com.br</email></para>
</listitem>
<listitem>
<para>Paul
<email>onemda@gmail.com</email></para>
</listitem>
<listitem>
<para>Paul A. Hoadley
<email>paulh@logicsquad.net</email></para>
</listitem>
<listitem>
<para>Paul Antonov
<email>apg@demos.su</email></para>
</listitem>
<listitem>
<para>Paul Chvostek
<email>paul@it.ca</email></para>
</listitem>
<listitem>
<para>Paul Dlug
<email>paul@aps.org</email></para>
</listitem>
<listitem>
<para>Paul F. Werkowski</para>
</listitem>
<listitem>
<para>Paul Fox
<email>pgf@foxharp.boston.ma.us</email></para>
</listitem>
<listitem>
<para>Paul Koch
<email>koch@thehub.com.au</email></para>
</listitem>
<listitem>
<para>Paul Kranenburg
<email>pk@NetBSD.org</email></para>
</listitem>
<listitem>
<para>Paul M. Lambert
<email>plambert@plambert.net</email></para>
</listitem>
<listitem>
<para>Paul Mackerras
<email>paulus@cs.anu.edu.au</email></para>
</listitem>
<listitem>
<para>Paul Popelka
<email>paulp@uts.amdahl.com</email></para>
</listitem>
<listitem>
<para>Paul S. LaFollette, Jr.</para>
</listitem>
<listitem>
<para>Paul Sandys
<email>myj@nyct.net</email></para>
</listitem>
<listitem>
<para>Paul Schmehl
<email>pauls@utdallas.edu</email></para>
</listitem>
<listitem>
<para>Paul T. Root
<email>proot@horton.iaces.com</email></para>
</listitem>
<listitem>
<para>Paul Vixie
<email>paul@vix.com</email></para>
</listitem>
<listitem>
<para>Paulo Fragoso
<email>paulo@nlink.com.br</email></para>
</listitem>
<listitem>
<para>Paulo Menezes
<email>paulo@isr.uc.pt</email></para>
</listitem>
<listitem>
<para>Paulo Menezes
<email>pm@dee.uc.pt</email></para>
</listitem>
<listitem>
<para>Pavel Janik
<email>Pavel@Janik.cz</email></para>
</listitem>
<listitem>
<para>Pavel Novikov
<email>pavel@ext.by</email></para>
</listitem>
<listitem>
<para>Pavel Pankov
<email>pankov_p@mail.ru</email></para>
</listitem>
<listitem>
<para>Pavel Veretennikov
<email>vermut@kid.lv</email></para>
</listitem>
<listitem>
<para>Pavel I Volkov
<email>pavelivolkov@googlemail.com</email></para>
</listitem>
<listitem>
<para>Pawel Worach
<email>pawel.worach@gmail.com</email></para>
</listitem>
<listitem>
<para>Pedro A M Vazquez
<email>vazquez@IQM.Unicamp.BR</email></para>
</listitem>
<listitem>
<para>Pengfei JU
<email>jupengfei@gmail.com</email></para>
</listitem>
<listitem>
<para>Per Wigren
<email>wigren@home.se</email></para>
</listitem>
<listitem>
<para>Pete Bentley
<email>pete@demon.net</email></para>
</listitem>
<listitem>
<para>Peter Ankerst&aring;l
<email>peter@pean.org</email></para>
</listitem>
<listitem>
<para>Peter Avalos
<email>pavalos@theshell.com</email></para>
</listitem>
<listitem>
<para>Peter Childs
<email>pjchilds@imforei.apana.org.au</email></para>
</listitem>
<listitem>
<para>Peter Cornelius
<email>pc@inr.fzk.de</email></para>
</listitem>
<listitem>
<para>Pete French
<email>pete@twisted.org.uk</email></para>
</listitem>
<listitem>
<para>Peter Haight
<email>peterh@prognet.com</email></para>
</listitem>
<listitem>
<para>Peter Holub
<email>hopet@ics.muni.cz</email></para>
</listitem>
<listitem>
<para>Peter Klatt
<email>glocke@bsdstammtisch.at</email></para>
</listitem>
<listitem>
<para>Peter Kolmisoppi
<email>growspd@brokep.com</email></para>
</listitem>
<listitem>
<para>Peter M. Chen
<email>pmchen@eecs.umich.edu</email></para>
</listitem>
<listitem>
<para>Peter Much
<email>peter@citylink.dinoex.sub.org</email></para>
</listitem>
<listitem>
<para>Peter Olsson</para>
</listitem>
<listitem>
<para>Peter Philipp
<email>pjp@bsd-daemon.net</email></para>
</listitem>
<listitem>
<para>Peter S. Housel
<email>housel@acm.org</email></para>
</listitem>
<listitem>
<para>Peter Schuller
<email>peter.schuller@infidyne.com</email></para>
</listitem>
<listitem>
<para>Peter Stubbs
<email>PETERS@staidan.qld.edu.au</email></para>
</listitem>
<listitem>
<para>P&eacute;ter Terbe
<email>sncdev@gmail.com</email></para>
</listitem>
<listitem>
<para>Peter Thoenen
<email>peter.thoenen@yahoo.com</email></para>
</listitem>
<listitem>
<para>Peter Vereshagin
<email>peter@vereshagin.org</email></para>
</listitem>
<listitem>
<para>Peter W. Schmiedeskamp
<email>pschmied@qwest.net</email></para>
</listitem>
<listitem>
<para>Peter van Dijk
<email>peter@dataloss.nl</email></para>
</listitem>
<listitem>
<para>Peter van Heusden
<email>pvh@wfeet.za.net</email></para>
</listitem>
<listitem>
<para>Petr Macek
<email>pm@kostax.cz</email></para>
</listitem>
<listitem>
<para>Petr Rehor
<email>prehor@gmail.com</email></para>
</listitem>
<listitem>
<para>Phil Budne
<email>phil@ultimate.com</email></para>
</listitem>
<listitem>
<para>Phil Maker
<email>pjm@gnu.org</email></para>
</listitem>
<listitem>
<para>Phil Oleson
<email>oz@nixil.net</email></para>
</listitem>
<listitem>
<para>Phil Phillips
<email>pphillips@experts-exchange.com</email></para>
</listitem>
<listitem>
<para>Phil Sutherland
<email>philsuth@mycroft.dialix.oz.au</email></para>
</listitem>
<listitem>
<para>Phil Taylor
<email>phil@zipmail.co.uk</email></para>
</listitem>
<listitem>
<para>Philip Musumeci
<email>p.musumeci@ieee.org</email></para>
</listitem>
<listitem>
<para>Philip Reynolds
<email>philip.reynolds@rfc-networks.ie</email></para>
</listitem>
<listitem>
<para>Philip Schulz
<email>phs@deadc0.de</email></para>
</listitem>
<listitem>
<para>Philippe Lefebvre
<email>nemesis@balistik.net</email></para>
</listitem>
<listitem>
<para>Philippe Pepiot
<email>phil@philpep.org</email></para>
</listitem>
<listitem>
<para>Philippe Rocques
<email>phil@teaser.fr</email></para>
</listitem>
<listitem>
<para>Pierre David
<email>pdagog@gmail.com</email></para>
</listitem>
<listitem>
<para>Pierre Y. Dampure
<email>pierre.dampure@k2c.co.uk</email></para>
</listitem>
<listitem>
<para>Pierre-Paul Lavoie
<email>ppl@nbnet.nb.ca</email></para>
</listitem>
<listitem>
<para>Pieter Danhieux
<email>opr@bsdaemon.be</email></para>
</listitem>
<listitem>
<para>Piotr Florczyk
<email>p.florczyk@adminworkshop.pl</email></para>
</listitem>
<listitem>
<para>Piotr Rybicki
<email>meritus@innervision.pl</email></para>
</listitem>
<listitem>
<para>Piotr Smyrak
<email>piotr.smyrak@heron.pl</email></para>
</listitem>
<listitem>
<para>Pius Fischer
<email>pius@ienet.com</email></para>
</listitem>
<listitem>
<para>Pomegranate
<email>daver@flag.blackened.net</email></para>
</listitem>
<listitem>
<para>Pontus Stenetorp
<email>ninjin@kth.se</email></para>
</listitem>
<listitem>
<para>Powerdog Industries
<email>kevin.ruddy@powerdog.com</email></para>
</listitem>
<listitem>
<para>Priit J&auml;rv
<email>priit@cc.ttu.ee</email></para>
</listitem>
<listitem>
<para>Prudhvi Krishna
<email>prudhvikrishna@gmail.com</email></para>
</listitem>
<listitem>
<para>Qing Feng
<email>qingfeng@me.com</email></para>
</listitem>
<listitem>
<para>Quentin Stievenart
<email>acieroid@awesom.eu</email></para>
</listitem>
<listitem>
<para>Quinton Dolan
<email>q@onthenet.com.au</email></para>
</listitem>
<listitem>
<para>R Joseph Wright
<email>rjoseph@mammalia.org</email></para>
</listitem>
<listitem>
<para>R. Kym Horsell</para>
</listitem>
<listitem>
<para>R Skinner
<email>port_maintainer@herveybayaustralia.com.au</email></para>
</listitem>
<listitem>
<para>Radek Kozlowski
<email>radek@raadradd.com</email></para>
</listitem>
<listitem>
<para>Radim Kolar
<email>hsn@netmag.cz</email></para>
</listitem>
<listitem>
<para>Radoslav Vasilev
<email>rvasilev@uni-svishtov.bg</email></para>
</listitem>
<listitem>
<para>Rafal Lesniak
<email>fbsd@grid.einherjar.de</email></para>
</listitem>
<listitem>
<para>Raffaele De Lorenzo
<email>raffaele.delorenzo@libero.it</email></para>
</listitem>
<listitem>
<para>Rainer Duffer
<email>rainer@ultra-secure.de</email></para>
</listitem>
<listitem>
<para>Rainer Hurling
<email>rhurlin@gwdg.de</email></para>
</listitem>
<listitem>
<para>Ralf Friedl
<email>friedl@informatik.uni-kl.de</email></para>
</listitem>
<listitem>
<para>Ralf Gebhart
<email>gebhart@secnetix.de</email></para>
</listitem>
<listitem>
<para>Ralf van Dooren
<email>r.vdooren@snow.nl</email></para>
</listitem>
<listitem>
<para>Randal S. Masutani
<email>randal@comtest.com</email></para>
</listitem>
<listitem>
<para>Randall Hopper
<email>rhh@ct.picker.com</email></para>
</listitem>
<listitem>
<para>Randall W. Dean
<email>rwd@osf.org</email></para>
</listitem>
<listitem>
<para>Randy Bush
<email>rbush@bainbridge.verio.net</email></para>
</listitem>
<listitem>
<para>Rashid N. Achilov
<email>shelton@sentry.granch.ru</email></para>
</listitem>
<listitem>
<para>Rasmus Kaj
<email>rasmus@kaj.se</email></para>
</listitem>
<listitem>
<para>Raul Pollicino
<email>email-ports@def-defying.com</email></para>
</listitem>
<listitem>
<para>Razi Khaja
<email>razi@genet.sickkids.on.ca</email></para>
</listitem>
<listitem>
<para>Reinier Bezuidenhout
<email>rbezuide@mikom.csir.co.za</email></para>
</listitem>
<listitem>
<para>Remington Lang
<email>MrL0L@charter.net</email></para>
</listitem>
<listitem>
<para>Remy Card
<email>Remy.Card@masi.ibp.fr</email></para>
</listitem>
<listitem>
<para>Revis Zinkov
<email>rzinkov@gmail.com</email></para>
</listitem>
<listitem>
<para>Ricardas Cepas
<email>rch@richard.eu.org</email></para>
</listitem>
<listitem>
<para>Ricardo A. Reis
<email>ricardo.areis@gmail.com</email></para>
</listitem>
<listitem>
<para>Riccardo Veraldi
<email>veraldi@cs.unibo.it</email></para>
</listitem>
<listitem>
<para>Rich Morin
<email>rdm@cfcl.com</email></para>
</listitem>
<listitem>
<para>Rich Wood
<email>rich@FreeBSD.org.uk</email></para>
</listitem>
<listitem>
<para>Richard Arends
<email>richard@unixguru.nl</email></para>
</listitem>
<listitem>
<para>Richard Henderson
<email>richard@atheist.tamu.edu</email></para>
</listitem>
<listitem>
<para>Richard Hwang
<email>rhwang@bigpanda.com</email></para>
</listitem>
<listitem>
<para>Richard J Kuhns
<email>rjk@watson.grauel.com</email></para>
</listitem>
<listitem>
<para>Richard Kiss
<email>richard@homemail.com</email></para>
</listitem>
<listitem>
<para>Richard M. Neswold
<email>rneswold@enteract.com</email></para>
</listitem>
<listitem>
<para>Richard Stallman
<email>rms@gnu.ai.mit.edu</email></para>
</listitem>
<listitem>
<para>Richard Straka
<email>straka@user1.inficad.com</email></para>
</listitem>
<listitem>
<para>Richard Tobin
<email>richard@cogsci.ed.ac.uk</email></para>
</listitem>
<listitem>
<para>Richard Wackerbarth
<email>rkw@Dataplex.NET</email></para>
</listitem>
<listitem>
<para>Richard Winkel
<email>rich@math.missouri.edu</email></para>
</listitem>
<listitem>
<para>Richard Wiwatowski
<email>rjwiwat@adelaide.on.net</email></para>
</listitem>
<listitem>
<para>Rick Fournier
<email>rick@help-desk.ca</email></para>
</listitem>
<listitem>
<para>Rick Macklin</para>
</listitem>
<listitem>
<para>Rick van der Zwet
<email>rick@wzoeterwoude.net</email></para>
</listitem>
<listitem>
<para>Roar Pettersen
<email>roar.pettersen@it.uib.no</email></para>
</listitem>
<listitem>
<para>Rob Austein
<email>sra@epilogue.com</email></para>
</listitem>
<listitem>
<para>Rob Evers
<email>rob@debank.tv</email></para>
</listitem>
<listitem>
<para>Rob Mallory
<email>rmallory@qualcomm.com</email></para>
</listitem>
<listitem>
<para>Rob Snow
<email>rsnow@txdirect.net</email></para>
</listitem>
<listitem>
<para>Robert Crossfield
<email>robcrossfield@gmail.com</email></para>
</listitem>
<listitem>
<para>Robert Crowe
<email>bob@speakez.com</email></para>
</listitem>
<listitem>
<para>Robert D. Thrush
<email>rd@phoenix.aii.com</email></para>
</listitem>
<listitem>
<para>Robert Eckardt
<email>roberte@MEP.Ruhr-Uni-Bochum.de</email></para>
</listitem>
<listitem>
<para>Robert Felber
<email>robtone@ek-muc.de</email></para>
</listitem>
<listitem>
<para>Robert P Ricci
<email>ricci@cs.utah.edu</email></para>
</listitem>
<listitem>
<para>Robert Sanders
<email>rsanders@mindspring.com</email></para>
</listitem>
<listitem>
<para>Robert Schlotterbeck
<email>robert@rs.tarrant.tx.us</email></para>
</listitem>
<listitem>
<para>Robert Sexton
<email>robert@kudra.com</email></para>
</listitem>
<listitem>
<para>Robert Shady
<email>rls@id.net</email></para>
</listitem>
<listitem>
<para>Robert Simmons
<email>rsimmons0@gmail.com</email></para>
</listitem>
<listitem>
<para>Robert Swindells
<email>swindellsr@genrad.co.uk</email></para>
</listitem>
<listitem>
<para>Robert Withrow
<email>witr@rwwa.com</email></para>
</listitem>
<listitem>
<para>Robert Yoder</para>
</listitem>
<listitem>
<para>Robin Carey
<email>robin@mailgate.dtc.rankxerox.co.uk</email></para>
</listitem>
<listitem>
<para>Robin Elfrink
<email>elfrink@introweb.nl</email></para>
</listitem>
<listitem>
<para>Robin Schilham
<email>co9@xs4all.nl</email></para>
</listitem>
<listitem>
<para>Robin Schoonover
<email>robin.schoonover@gmail.google.com</email></para>
</listitem>
<listitem>
<para>Rod Taylor
<email>ports@rbt.ca</email></para>
</listitem>
<listitem>
<para>Rodrigo Graeff
<email>delphus@gmail.com</email></para>
</listitem>
<listitem>
<para>Rodrigo Osorio
<email>rodrigo@bebik.net</email></para>
</listitem>
<listitem>
<para>Roger Hardiman
<email>roger@cs.strath.ac.uk</email></para>
</listitem>
<listitem>
<para>Roland Jesse
<email>jesse@cs.uni-magdeburg.de</email></para>
</listitem>
<listitem>
<para>Roland Smith
<email>rsmith@xs4all.nl</email></para>
</listitem>
<listitem>
<para>Dr. Rolf Jansen
<email>cyclaero@gmail.com</email></para>
</listitem>
<listitem>
<para>Roman Neuhauser
<email>neuhauser@chello.cz</email></para>
</listitem>
<listitem>
<para>Roman Shterenzon
<email>roman@xpert.com</email></para>
</listitem>
<listitem>
<para>Roman Synyuk
<email>roman@univ.kiev.ua</email></para>
</listitem>
<listitem>
<para>Roman V. Palagin
<email>romanp@unshadow.net</email></para>
</listitem>
<listitem>
<para>Roman Y. Bogdanov
<email>sam@brj.pp.ru</email></para>
</listitem>
<listitem>
<para>Ron Bickers
<email>rbickers@intercenter.net</email></para>
</listitem>
<listitem>
<para>Ron Lenk
<email>rlenk@widget.xmission.com</email></para>
</listitem>
<listitem>
<para>Ron van Daal
<email>ronvdaal@n1x.nl</email></para>
</listitem>
<listitem>
<para>Ronald F. Guilmette
<email>rfg@monkeys.com</email></para>
</listitem>
<listitem>
<para>Ronald Klop
<email>ronald@echteman.nl</email></para>
</listitem>
<listitem>
<para>Ronald Kuehn
<email>kuehn@rz.tu-clausthal.de</email></para>
</listitem>
<listitem>
<para>Roselyn Lee
<email>rosel@verniernetworks.com</email></para>
</listitem>
<listitem>
<para>Ross West
<email>freebsd@linepoint.com</email></para>
</listitem>
<listitem>
<para>Rostislav Krasny
<email>rosti.bsd@gmail.com</email></para>
</listitem>
<listitem>
<para>Roy Maples
<email>roy@marples.name</email></para>
</listitem>
<listitem>
<para>Ruben
<email>chromium@hybridsource.org</email></para>
</listitem>
<listitem>
<para>Rudolf Cejka
<email>cejkar@fit.vutbr.cz</email></para>
</listitem>
<listitem>
<para>Rui Lopes
<email>rui@ruilopes.com</email></para>
</listitem>
<listitem>
<para>Ruslan Belkin
<email>rus@home2.UA.net</email></para>
</listitem>
<listitem>
<para>Ruslan Shevchenko
<email>rssh@cam.grad.kiev.ua</email></para>
</listitem>
<listitem>
<para>Russell Jackson
<email>rjackson@cserv62.csub.edu</email></para>
</listitem>
<listitem>
<para>Russell L. Carter
<email>rcarter@pinyon.org</email></para>
</listitem>
<listitem>
<para>Russell Vincent
<email>rv@groa.uct.ac.za</email></para>
</listitem>
<listitem>
<para>Rusty Nejdl
<email>rnejdl@ringofsaturn.com</email></para>
</listitem>
<listitem>
<para>Ryan Grove
<email>ryan@wonko.com</email></para>
</listitem>
<listitem>
<para>Ryan Moe
<email>ryan@transaeris.com</email></para>
</listitem>
<listitem>
<para>Ryan T. Dean
<email>rtdean@cytherianage.net</email></para>
</listitem>
<listitem>
<para>Ryan Thompson
<email>ryan@sasknow.com</email></para>
</listitem>
<listitem>
<para>Ryan Younce
<email>ryany@pobox.com</email></para>
</listitem>
<listitem>
<para>Ryo MIYAMOTO
<email>rmiya@cc.hirosaki-u.ac.jp</email></para>
</listitem>
<listitem>
<para>Ryo Okamoto
<email>ryo@aquahill.net</email></para>
</listitem>
<listitem>
<para>RyoTa SimaMoto
<email>liangtai.s4@gmail.com </email></para>
</listitem>
<listitem>
<para>Ryuichiro IMURA
<email>imura@af.airnet.ne.jp</email></para>
</listitem>
<listitem>
<para>SANETO Takanori
<email>sanewo@strg.sony.co.jp</email></para>
</listitem>
<listitem>
<para>SASAKI Shunsuke
<email>ele@pop17.odn.ne.jp</email></para>
</listitem>
<listitem>
<para>SAWADA Mizuki
<email>miz@qb3.so-net.ne.jp</email></para>
</listitem>
<listitem>
<para>SPF
<email>spf@xslt.cs.nccu.edu.tw</email></para>
</listitem>
<listitem>
<para>SUGIMURA Takashi
<email>sugimura@jp.FreeBSD.org</email></para>
</listitem>
<listitem>
<para>SURANYI Peter
<email>suranyip@jks.is.tsukuba.ac.jp</email></para>
</listitem>
<listitem>
<para>Sakai Hiroaki
<email>sakai@miya.ee.kagu.sut.ac.jp</email></para>
</listitem>
<listitem>
<para>Sakari Jalovaara
<email>sja@tekla.fi</email></para>
</listitem>
<listitem>
<para>Sam Hartman
<email>hartmans@mit.edu</email></para>
</listitem>
<listitem>
<para>Samuel Lam
<email>skl@ScalableNetwork.com</email></para>
</listitem>
<listitem>
<para>Samuel Tardieu
<email>sam@rfc1149.net</email></para>
</listitem>
<listitem>
<para>Samuele Zannoli
<email>zannoli@cs.unibo.it</email></para>
</listitem>
<listitem>
<para>Samy Al Bahra
<email>samy@kerneled.com</email></para>
</listitem>
<listitem>
<para>Sander Janssen
<email>janssen@rendo.dekooi.nl</email></para>
</listitem>
<listitem>
<para>Sander Vesik
<email>sander@haldjas.folklore.ee</email></para>
</listitem>
<listitem>
<para>Sandro Sigala
<email>ssigala@globalnet.it</email></para>
</listitem>
<listitem>
<para>Sarod Yatawatta
<email>sarod@users.sf.net</email></para>
</listitem>
<listitem>
<para>Sascha Blank
<email>blank@fox.uni-trier.de</email></para>
</listitem>
<listitem>
<para>Sascha Holzleiter
<email>sascha@root-login.org</email></para>
</listitem>
<listitem>
<para>Sascha Klauder
<email>sklauder@trimind.de</email></para>
</listitem>
<listitem>
<para>Sascha Wildner
<email>swildner@channelz.GUN.de</email></para>
</listitem>
<listitem>
<para>Satoh Junichi
<email>junichi@astec.co.jp</email></para>
</listitem>
<listitem>
<para>Saulius Menkevicius
<email>bob@nulis.lt</email></para>
</listitem>
<listitem>
<para>Scot Elliott
<email>scot@poptart.org</email></para>
</listitem>
<listitem>
<para>Scot W. Hetzel
<email>hetzels@westbend.net</email></para>
</listitem>
<listitem>
<para>Scott A. Kenney
<email>saken@rmta.ml.org</email></para>
</listitem>
<listitem>
<para>Scott A. Moberly
<email>smoberly@xavier.dyndns.org</email></para>
</listitem>
<listitem>
<para>Scott Blachowicz
<email>scott.blachowicz@seaslug.org</email></para>
</listitem>
<listitem>
<para>Scott Burris
<email>scott@pita.cns.ucla.edu</email></para>
</listitem>
<listitem>
<para>Scott Flatman
<email>sf@slappy.org</email></para>
</listitem>
<listitem>
<para>Scott Hazen Mueller
<email>scott@zorch.sf-bay.org</email></para>
</listitem>
<listitem>
<para>Scott Kleihege
<email>scott-ports@tummy.com</email></para>
</listitem>
<listitem>
<para>Scott Lambert
<email>lambert@lambertfam.org</email></para>
</listitem>
<listitem>
<para>Scott Michel
<email>scottm@cs.ucla.edu</email></para>
</listitem>
<listitem>
<para>Scott Reynolds
<email>scott@clmqt.marquette.mi.us</email></para>
</listitem>
<listitem>
<para>Scott Ullrich
<email>sullrich@gmail.com</email></para>
</listitem>
<listitem>
<para>SeaD
<email>sead@mail.ru</email></para>
</listitem>
<listitem>
<para>Sean McLaughlin
<email>sigma.zx@gmail.com</email></para>
</listitem>
<listitem>
<para>Seamus Venasse
<email>svenasse@polaris.ca</email></para>
</listitem>
<listitem>
<para>Sébastian Santoro
<email>dereckson@gmail.com</email></para>
</listitem>
<listitem>
<para>Sebastian Strollo
<email>seb@erix.ericsson.se</email></para>
</listitem>
<listitem>
<para>Sebastian Yepes
<email>esn@x123.info</email></para>
</listitem>
<listitem>
<para>Seiya Yanagita
<email>s_yanagita@ybb.ne.jp</email></para>
</listitem>
<listitem>
<para>Serge Gagnon
<email>gagnon_s@sympatico.ca</email></para>
</listitem>
<listitem>
<para>Serge Negodyuck
<email>petr@petrovich.kiev.ua</email></para>
</listitem>
<listitem>
<para>Serge V. Vakulenko
<email>vak@zebub.msk.su</email></para>
</listitem>
<listitem>
<para>Sergei Chechetkin
<email>csl@whale.sunbay.crimea.ua</email></para>
</listitem>
<listitem>
<para>Sergei S. Laskavy
<email>laskavy@pc759.cs.msu.su</email></para>
</listitem>
<listitem>
<para>Sergei Vyshenski
<email>svysh.fbsd@gmail.com</email></para>
</listitem>
<listitem>
<para>Sergey Akifyev
<email>asa@gascom.ru</email></para>
</listitem>
<listitem>
<para>Sergey V. Dyatko
<email>sergey.dyatko@gmail.com</email></para>
</listitem>
<listitem>
<para>Sergey Gershtein
<email>sg@mplik.ru</email></para>
</listitem>
<listitem>
<para>Sergey Glushchenko
<email>deen@smz.com.ua</email></para>
</listitem>
<listitem>
<para>Sergey Kosyakov
<email>ks@itp.ac.ru</email></para>
</listitem>
<listitem>
<para>Sergey Lyubka
<email>valenok@gmail.com</email></para>
</listitem>
<listitem>
<para>Sergey N. Vorokov
<email>serg@tmn.ru</email></para>
</listitem>
<listitem>
<para>Sergey Potapov
<email>sp@alkor.ru</email></para>
</listitem>
<listitem>
<para>Sergey Samoyloff
<email>gonza@techline.ru</email></para>
</listitem>
<listitem>
<para>Sergey Shkonda
<email>serg@bcs.zp.ua</email></para>
</listitem>
<listitem>
<para>Sergey V. Dorokhov
<email>svd@kbtelecom.nalnet.ru</email></para>
</listitem>
<listitem>
<para>Sergey Velichkevych
<email>serg@cad.kiev.ua</email></para>
</listitem>
<listitem>
<para>Sergio Lenzi
<email>lenzi@bsi.com.br</email></para>
</listitem>
<listitem>
<para>Sevan Janiyan
<email>venture37@geeklan.co.uk</email></para>
</listitem>
<listitem>
<para>Shane Ambler
<email>freebsd@shaneware.biz</email></para>
</listitem>
<listitem>
<para>Shane Kinney
<email>mod6@freebsdhackers.net</email></para>
</listitem>
<listitem>
<para>Shaun Courtney
<email>shaun@emma.eng.uct.ac.za</email></para>
</listitem>
<listitem>
<para>Shawn M. Carey
<email>smcarey@mailbox.syr.edu</email></para>
</listitem>
<listitem>
<para>Shell Hung
<email>shell@shellhung.org</email></para>
</listitem>
<listitem>
<para>Shen Chuan-Hsing
<email>statue@freebsd.sinica.edu.tw</email></para>
</listitem>
<listitem>
<para>Shigeru Yamamoto
<email>shigeru@iij.ad.jp</email></para>
</listitem>
<listitem>
<para>Shigio Yamaguchi
<email>shigio@tamacom.com</email></para>
</listitem>
<listitem>
<para>Shin'ya Murakami
<email>murakami@ahs.scitec.kobe-u.ac.jp</email></para>
</listitem>
<listitem>
<para>Shinichiro Komatsu
<email>koma2@ms.u-tokyo.ac.jp</email></para>
</listitem>
<listitem>
<para>Shinsuke Matsui
<email>smatsui@karashi.org</email></para>
</listitem>
<listitem>
<para>Shinya Esu
<email>esu@yk.rim.or.jp</email></para>
</listitem>
<listitem>
<para>Shinya FUJIE
<email>fujie@tk.elec.waseda.ac.jp</email></para>
</listitem>
<listitem>
<para>Shuichi Tanaka
<email>stanaka@bb.mbn.or.jp</email></para>
</listitem>
<listitem>
<para>Siebrand Mazeland
<email>s.mazeland@xs4all.nl</email></para>
</listitem>
<listitem>
<para>Simon
<email>simon@masi.ibp.fr</email></para>
</listitem>
<listitem>
<para>Simon Burge
<email>simonb@telstra.com.au</email></para>
</listitem>
<listitem>
<para>Simon Cornelius P. Umacob
<email>simoncpu@infoweapons.com</email></para>
</listitem>
<listitem>
<para>Simon Dick
<email>simond@irrelevant.org</email></para>
</listitem>
<listitem>
<para>Simon Lang
<email>simon@lang-clan.de</email></para>
</listitem>
<listitem>
<para>Simon Marlow
<email>simonmar@microsoft.com</email></para>
</listitem>
<listitem>
<para>Simon Olofsson
<email>simon@olofsson.de</email></para>
</listitem>
<listitem>
<para>Simon Schubert
<email>corecode@corecode.ath.cx</email></para>
</listitem>
<listitem>
<para>Simon Shapiro
<email>shimon@simon-shapiro.org</email></para>
</listitem>
<listitem>
<para>Simun Mikecin
<email>sime@logos.hr</email></para>
</listitem>
<listitem>
<para>Sin'ichiro MIYATANI
<email>siu@phaseone.co.jp</email></para>
</listitem>
<listitem>
<para>Slaven Rezic
<email>slaven@rezic.de</email></para>
</listitem>
<listitem>
<para>Snow Chyld
<email>snowchyld+freebsdports@gmail.com</email></para>
</listitem>
<listitem>
<para>Soochon Radee
<email>slr@mitre.org</email></para>
</listitem>
<listitem>
<para>Soren Dayton
<email>csdayton@midway.uchicago.edu</email></para>
</listitem>
<listitem>
<para>Soren Debois
<email>debois@diku.dk</email></para>
</listitem>
<listitem>
<para>Soren Dossing
<email>sauber@netcom.com</email></para>
</listitem>
<listitem>
<para>Soren S. Jorvang
<email>soren@wheel.dk</email></para>
</listitem>
<listitem>
<para>Stan Barber
<email>sob@academ.com</email></para>
</listitem>
<listitem>
<para>Stanislav A. Svirid
<email>count@riss-telecom.ru</email></para>
</listitem>
<listitem>
<para>Stanislav Grozev
<email>tacho@daemonz.org</email></para>
</listitem>
<listitem>
<para>Stanislaw Halik
<email>sthalik@tehran.lain.pl</email></para>
</listitem>
<listitem>
<para>Stanislav Shalunov
<email>shalunov@internet2.edu</email></para>
</listitem>
<listitem>
<para>Stas Timokhin
<email>devel@stasyan.com</email></para>
</listitem>
<listitem>
<para>Stefan A. Deutscher
<email>sad@mailaps.org</email></para>
</listitem>
<listitem>
<para>Stefan Eggers
<email>seggers@semyam.dinoco.de</email></para>
</listitem>
<listitem>
<para>Stefan Ehmann
<email>shoesoft@gmx.net</email></para>
</listitem>
<listitem>
<para>Stefan Grundmann
<email>sg-sendpr@waset.de</email></para>
</listitem>
<listitem>
<para>Stefan Jahn
<email>stefan.jahn@nemesis-sektor.de</email></para>
</listitem>
<listitem>
<para>Stefan Moeding
<email>s.moeding@ndh.net</email></para>
</listitem>
<listitem>
<para>Stefan Petri</para>
</listitem>
<listitem>
<para>Stefan Rumetshofer
<email>sterum@overrider.at</email></para>
</listitem>
<listitem>
<para>Stefan Schmidt
<email>stefan.schmidt@twest.de</email></para>
</listitem>
<listitem>
<para>Stefan Schwarzer
<email>sschwarzer@sschwarzer.net</email></para>
</listitem>
<listitem>
<para>Stefan Tell
<email>stefan.tell@crashmail.de</email></para>
</listitem>
<listitem>
<para>Stefan `Sec` Zehl
<email>sec@42.org</email></para>
</listitem>
<listitem>
<para>Steffen Mazanek
<email>steffen.mazanek@unibw-muenchen.de</email></para>
</listitem>
<listitem>
<para>Steffen Vogelreuter
<email>Steffen@Vogelreuter.De</email></para>
</listitem>
<listitem>
<para>Steinar Haug
<email>sthaug@nethelp.no</email></para>
</listitem>
<listitem>
<para>Sten Poldma
<email>exile@chamber.ee</email></para>
</listitem>
<listitem>
<para>Sten Spans
<email>sten@blinkenlights.nl</email></para>
</listitem>
<listitem>
<para>Stepan Zastupov
<email>redchrom@gmail.com</email></para>
</listitem>
<listitem>
<para>Stephane Lapie
<email>stephane.lapie@darkbsd.org</email></para>
</listitem>
<listitem>
<para>Stephen Clawson
<email>sclawson@marker.cs.utah.edu</email></para>
</listitem>
<listitem>
<para>Stephen F. Combs
<email>combssf@salem.ge.com</email></para>
</listitem>
<listitem>
<para>Stephen Farrell
<email>stephen@farrell.org</email></para>
</listitem>
<listitem>
<para>Stephen Fisher
<email>stephentfisher@yahoo.com</email></para>
</listitem>
<listitem>
<para>Stephen Gunn
<email>csg@fedex.com</email></para>
</listitem>
<listitem>
<para>Stephen Hocking
<email>sysseh@devetir.qld.gov.au</email></para>
</listitem>
<listitem>
<para>Stephen Hurd
<email>admin@nix.synchro.net</email></para>
</listitem>
<listitem>
<para>Stephen J. Roznowski
<email>sjr@home.net</email></para>
</listitem>
<listitem>
<para>Stephen McKay
<email>syssgm@devetir.qld.gov.au</email></para>
</listitem>
<listitem>
<para>Stephen Melvin
<email>melvin@zytek.com</email></para>
</listitem>
<listitem>
<para>Stephen Weeks
<email>sweeks@sweeks.com</email></para>
</listitem>
<listitem>
<para>Stephon Chen
<email>stephon@gmail.com</email></para>
</listitem>
<listitem>
<para>Steve Ames
<email>steve@energistic.com</email></para>
</listitem>
<listitem>
<para>Steve Bauer
<email>sbauer@rock.sdsmt.edu</email></para>
</listitem>
<listitem>
<para>Steve Coltrin
<email>spcoltri@unm.edu</email></para>
</listitem>
<listitem>
<para>Steve Deering</para>
</listitem>
<listitem>
<para>Steve Franks
<email>bahamasfranks@gmail.com</email></para>
</listitem>
<listitem>
<para>Steve Gerakines
<email>steve2@genesis.tiac.net</email></para>
</listitem>
<listitem>
<para>Steve Gericke
<email>steveg@comtrol.com</email></para>
</listitem>
<listitem>
<para>Steve O'Hara-Smith
<email>steve@sohara.org</email></para>
</listitem>
<listitem>
<para>Steve Piette
<email>steve@simon.chi.il.US</email></para>
</listitem>
<listitem>
<para>Steve Roome
<email>steve@pepcross.com</email></para>
</listitem>
<listitem>
<para>Steve Schwarz
<email>schwarz@alpharel.com</email></para>
</listitem>
<listitem>
<para>Steve Wills
<email>steve@mouf.net</email></para>
</listitem>
<listitem>
<para>Steven Enderle
<email>panic@subphase.de</email></para>
</listitem>
<listitem>
<para>Steven H. Samorodin
<email>samorodi@NUXI.com</email></para>
</listitem>
<listitem>
<para>Steven Hartland
<email>steven.hartland@multiplay.co.uk</email></para>
</listitem>
<listitem>
<para>Steven Honson
<email>steven@honson.org</email></para>
</listitem>
<listitem>
<para>Steven McCanne
<email>mccanne@cs.berkeley.edu</email></para>
</listitem>
<listitem>
<para>Steven Plite
<email>splite@purdue.edu</email></para>
</listitem>
<listitem>
<para>Steven Wallace</para>
</listitem>
<listitem>
<para>Stijn Hoop
<email>stijn@win.tue.nl</email></para>
</listitem>
<listitem>
<para>Stuart Henderson
<email>stuart@internationalschool.co.uk</email></para>
</listitem>
<listitem>
<para>Stylianos Sideridis
<email>siderste@yahoo.gr</email></para>
</listitem>
<listitem>
<para>Sue Blake
<email>sue@welearn.com.au</email></para>
</listitem>
<listitem>
<para>Sugimoto Sadahiro
<email>ixtl@komaba.utmc.or.jp</email></para>
</listitem>
<listitem>
<para>Sugiura Shiro
<email>ssugiura@duo.co.jp</email></para>
</listitem>
<listitem>
<para>Sujal Patel
<email>smpatel@wam.umd.edu</email></para>
</listitem>
<listitem>
<para>Sulev-Madis Silber
<email>madis555@hot.ee</email></para>
</listitem>
<listitem>
<para>Sune Stjerneby
<email>sst@vmunix.dk</email></para>
</listitem>
<listitem>
<para>Sungman Cho
<email>smcho@tsp.korea.ac.kr</email></para>
</listitem>
<listitem>
<para>Sutra Zhou
<email>zhoushuqun@gmail.com</email></para>
</listitem>
<listitem>
<para>Suzuki Yoshiaki
<email>zensyo@ann.tama.kawasaki.jp</email></para>
</listitem>
<listitem>
<para>Svein Skogen
<email>tds@dmnstech.net</email></para>
</listitem>
<listitem>
<para>Sven Klose
<email>pixel@hugbox.org</email></para>
</listitem>
<listitem>
<para>Sven Mohr
<email>svmohr@rm6.net</email></para>
</listitem>
<listitem>
<para>Svyatoslav Lempert
<email>svyatoslav.lempert@gmail.com</email></para>
</listitem>
<listitem>
<para>Sybolt de Boer
<email>bolt@xs4all.nl</email></para>
</listitem>
<listitem>
<para>TAKAHASHI Kaoru
<email>kaoru@kaisei.org</email></para>
</listitem>
<listitem>
<para>TERAMOTO Masahiro
<email>markun@onohara.to</email></para>
</listitem>
<listitem>
<para>Tadashi Kumano
<email>kumano@strl.nhk.or.jp</email></para>
</listitem>
<listitem>
<para>Taguchi Takeshi
<email>taguchi@tohoku.iij.ad.jp</email></para>
</listitem>
<listitem>
<para>Takahiro Yugawa
<email>yugawa@orleans.rim.or.jp</email></para>
</listitem>
<listitem>
<para>Takashi Mega
<email>mega@minz.org</email></para>
</listitem>
<listitem>
<para>Takashi Uozu
<email>j1594016@ed.kagu.sut.ac.jp</email></para>
</listitem>
<listitem>
<para>Takayuki Ariga
<email>a00821@cc.hc.keio.ac.jp</email></para>
</listitem>
<listitem>
<para>Takayuki Nakao
<email>t@nakao.org</email></para>
</listitem>
<listitem>
<para>Takeru NAIKI
<email>naiki@bfd.es.hokudai.ac.jp</email></para>
</listitem>
<listitem>
<para>Takeshi Amaike
<email>amaike@iri.co.jp</email></para>
</listitem>
<listitem>
<para>Takeshi MUTOH
<email>mutoh@info.nara-k.ac.jp</email></para>
</listitem>
<listitem>
<para>Takeshi Ohashi
<email>ohashi@mickey.ai.kyutech.ac.jp</email></para>
</listitem>
<listitem>
<para>Takeshi WATANABE
<email>watanabe@crayon.earth.s.kobe-u.ac.jp</email></para>
</listitem>
<listitem>
<para>Takuya SHIOZAKI
<email>tshiozak@makino.ise.chuo-u.ac.jp</email></para>
</listitem>
<listitem>
<para>Tanja Wittke
<email>tawi@gruft.de</email></para>
</listitem>
<listitem>
<para>Tarasov Alexey
<email>master@preved.cn</email></para>
</listitem>
<listitem>
<para>Tassilo Philipp
<email>tphilipp@potion-studios.com</email></para>
</listitem>
<listitem>
<para>Tatoku Ogaito
<email>tacha@tera.fukui-med.ac.jp</email></para>
</listitem>
<listitem>
<para>Tatsuki Makino
<email>tatsuki_makino@hotmail.com</email></para>
</listitem>
<listitem>
<para>Tatsuya Kudoh
<email>cdr@cosmonet.org</email></para>
</listitem>
<listitem>
<para>Tatsuya Ueda
<email>ml+freebsd@tatsuya.info</email></para>
</listitem>
<listitem>
<para>Taylor Dondich
<email>tdondich@majiknetworks.com</email></para>
</listitem>
<listitem>
<para>Ted Buswell
<email>tbuswell@mediaone.net</email></para>
</listitem>
<listitem>
<para>Ted Faber
<email>faber@isi.edu</email></para>
</listitem>
<listitem>
<para>Ted Lemon
<email>mellon@isc.org</email></para>
</listitem>
<listitem>
<para>Ted Stodgell
<email>trs137@psu.edu</email></para>
</listitem>
<listitem>
<para>Terry Lambert
<email>terry@lambert.org</email></para>
</listitem>
<listitem>
<para>Terry Lee
<email>terry@uivlsi.csl.uiuc.edu</email></para>
</listitem>
<listitem>
<para>Terry Sposato
<email>terry@sucked-in.com</email></para>
</listitem>
<listitem>
<para>Teruaki Ata
<email>PFA03027@nifty.ne.jp</email></para>
</listitem>
<listitem>
<para>Tetsuro Yabu
<email>yabu@uopmu.ees.osakafu-u.ac.jp</email></para>
</listitem>
<listitem>
<para>Tetsuya Furukawa
<email>tetsuya@secom-sis.co.jp</email></para>
</listitem>
<listitem>
<para>Thaddeus Covert
<email>tcovert+ports@sahuagin.net</email></para>
</listitem>
<listitem>
<para>Theo de Raadt
<email>deraadt@OpenBSD.org</email></para>
</listitem>
<listitem>
<para>Thierry Dussuet
<email>thierry@dussuet.lugs.ch</email></para>
</listitem>
<listitem>
<para>Thomas
<email>thomas@mathematik.uni-Bremen.de</email></para>
</listitem>
<listitem>
<para>Thomas A. Stephens
<email>tas@stephens.org</email></para>
</listitem>
<listitem>
<para>Thomas BRETON
<email>tom@h-inventory.com</email></para>
</listitem>
<listitem>
<para>Thomas D. Dean
<email>tomdean@ix.netcom.com</email></para>
</listitem>
<listitem>
<para>Thomas David Rivers
<email>rivers@dignus.com</email></para>
</listitem>
<listitem>
<para>Thomas Dreibholz
<email>dreibh@iem.uni-due.de</email></para>
</listitem>
<listitem>
<para>Thomas E. Zander
<email>riggs@rrr.de</email></para>
</listitem>
<listitem>
<para>Thomas G. McWilliams
<email>tgm@netcom.com</email></para>
</listitem>
<listitem>
<para>Thomas Hurst
<email>tom@hur.st</email></para>
</listitem>
<listitem>
<para>Thomas Kempka
<email>t.kempka@web.de</email></para>
</listitem>
<listitem>
<para>Thomas K&ouml;nig
<email>Thomas.Koenig@ciw.uni-karlsruhe.de</email></para>
</listitem>
<listitem>
<para>Thomas M. Hermann
<email>Thomas.Hermann@cox.net</email></para>
</listitem>
<listitem>
<para>Thomas Melzer
<email>tmelzer@tomesoft.de</email></para>
</listitem>
<listitem>
<para>Thomas Ptacek</para>
</listitem>
<listitem>
<para>Thomas Spreng
<email>spreng@socket.ch</email></para>
</listitem>
<listitem>
<para>Thomas Stromberg
<email>tstrombe@rtci.com</email></para>
</listitem>
<listitem>
<para>Thomas Valentino Crimi
<email>tcrimi+@andrew.cmu.edu</email></para>
</listitem>
<listitem>
<para>Thomas Vogt
<email>thomas.vogt@bsdunix.ch</email></para>
</listitem>
<listitem>
<para>Thorsten Greiner
<email>thorsten@tgreiner.net</email></para>
</listitem>
<listitem>
<para>&THORN;&oacute;r&eth;ur &Iacute;varsson
<email>totii@est.is</email></para>
</listitem>
<listitem>
<para>Tillman Hodgson
<email>tillman@seekingfire.com</email></para>
</listitem>
<listitem>
<para>Tim Daneliuk
<email>tundra@tundraware.com</email></para>
</listitem>
<listitem>
<para>Tim Hemel
<email>tim@n2it.net</email></para>
</listitem>
<listitem>
<para>Tim Niemueller
<email>tim@niemueller.de</email></para>
</listitem>
<listitem>
<para>Tim Pozar
<email>pozar@lns.com</email></para>
</listitem>
<listitem>
<para>Tim Singletary
<email>tsingle@sunland.gsfc.nasa.gov</email></para>
</listitem>
<listitem>
<para>Tim Welch
<email>ports@thepentagon.org</email></para>
</listitem>
<listitem>
<para>Tim Wilkinson
<email>tim@sarc.city.ac.uk</email></para>
</listitem>
<listitem>
<para>Timo J. Rinne
<email>tri@iki.fi</email></para>
</listitem>
<listitem>
<para>Timofeev Vladimir
<email>vovkasm@gmail.com</email></para>
</listitem>
<listitem>
<para>Timothy Beyer
<email>beyert@cs.ucr.edu</email></para>
</listitem>
<listitem>
<para>Timothy Bourke
<email>timbob@bigpond.com</email></para>
</listitem>
<listitem>
<para>Timothy Jensen
<email>toast@blackened.com</email></para>
</listitem>
<listitem>
<para>Timothy Redaelli
<email>drizzt@drizzt.ath.cx</email></para>
</listitem>
<listitem>
<para>Tobias Begalke
<email>tobega@spyz.org</email></para>
</listitem>
<listitem>
<para>Tobias Reifenberger
<email>treif@mayn.de</email></para>
</listitem>
<listitem>
<para>Tobias Roth
<email>ports@fsck.ch</email></para>
</listitem>
<listitem>
<para>Toby Allsopp
<email>toby@mi6.gen.nz</email></para>
</listitem>
<listitem>
<para>Todd Miller
<email>millert@openbsd.org</email></para>
</listitem>
<listitem>
<para>Todd Mortensen
<email>todd@thisisa.com</email></para>
</listitem>
<listitem>
<para>Tofig Suleymanov
<email>tofig@freebsd.az</email></para>
</listitem>
<listitem>
<para>Tom
<email>root@majestix.cmr.no</email></para>
</listitem>
<listitem>
<para>Tom Carrick
<email>knyghtmare@knyghtmare.com</email></para>
</listitem>
<listitem>
<para>Tom Gray - DCA
<email>dcasba@rain.org</email></para>
</listitem>
<listitem>
<para>Tom Jobbins
<email>tom@tom.tj</email></para>
</listitem>
<listitem>
<para>Tom Mortensen
<email>tom@tavrasm.org</email></para>
</listitem>
<listitem>
<para>Tom Mueller-Kortkamp
<email>tmueko@kommunity.net</email></para>
</listitem>
<listitem>
<para>Tom Pusateri
<email>pusateri@juniper.net</email></para>
</listitem>
<listitem>
<para>Tom Rush
<email>tarush@mindspring.com</email></para>
</listitem>
<listitem>
<para>Tom Samplonius
<email>tom@misery.sdf.com</email></para>
</listitem>
<listitem>
<para>Tomas Verbaitis
<email>tomasv@megalogika.lt</email></para>
</listitem>
<listitem>
<para>Tomasz Walaszek
<email>tmwalaszek@gmail.com</email></para>
</listitem>
<listitem>
<para>Tomaz<!-- &zcaron; not rendered?--> Muraus
<email>kami@k5-storitve.net</email></para>
</listitem>
<listitem>
<para>Tomek Cedro
<email>tomek.cedro@gmail.com</email></para>
</listitem>
<listitem>
<para>Tomohiko Kurahashi
<email>kura@melchior.q.t.u-tokyo.ac.jp</email></para>
</listitem>
<listitem>
<para>Tomoyuki Sakurai
<email>cherry@trombik.org</email></para>
</listitem>
<listitem>
<para>Toni Andjelkovic
<email>toni@soth.at</email></para>
</listitem>
<listitem>
<para>Toni Gundogdu
<email>legatvs@gmail.com</email></para>
</listitem>
<listitem>
<para>Toni Viemero
<email>toni.viemero@iki.fi</email></para>
</listitem>
<listitem>
<para>Tony Kimball
<email>alk@Think.COM</email></para>
</listitem>
<listitem>
<para>Tony Li
<email>tli@jnx.com</email></para>
</listitem>
<listitem>
<para>Tony Lynn
<email>wing@cc.nsysu.edu.tw</email></para>
</listitem>
<listitem>
<para>Tony Maher
<email>tonym@biolateral.com.au</email></para>
</listitem>
<listitem>
<para>Tony Shadwick
<email>numbski@hksilver.net</email></para>
</listitem>
<listitem>
<para>Tor Halvard "Squat" Furulund
<email>squat@squat.no</email></para>
</listitem>
<listitem>
<para>Torbjorn Granlund
<email>tege@matematik.su.se</email></para>
</listitem>
<listitem>
<para>Toshihiko SHIMOKAWA
<email>toshi@tea.forus.or.jp</email></para>
</listitem>
<listitem>
<para>Toshihiro Kanda
<email>candy@kgc.co.jp</email></para>
</listitem>
<listitem>
<para>Toshiomi Moriki
<email>Toshiomi.Moriki@ma1.seikyou.ne.jp</email></para>
</listitem>
<listitem>
<para>Toshiya SAITOH
<email>toshiya@saitoh.nu</email></para>
</listitem>
<listitem>
<para>Travis Campbell
<email>hcoyote@ghostar.org</email></para>
</listitem>
<listitem>
<para>Travis Poppe
<email>tlp@liquidx.org</email></para>
</listitem>
<listitem>
<para>Trefor S.
<email>trefor@flevel.co.uk</email></para>
</listitem>
<listitem>
<para>Trenton Schulz
<email>twschulz@cord.edu</email></para>
</listitem>
<listitem>
<para>Trevor Blackwell
<email>tlb@viaweb.com</email></para>
</listitem>
<listitem>
<para>Trevor Cornpropst
<email>tcornpropst@cox.net</email></para>
</listitem>
<listitem>
<para>Troels Kofoed Jacobsen
<email>tkjacobsen@gmail.com</email></para>
</listitem>
<listitem>
<para>Tsung-Han Yeh
<email>snowfly@yuntech.edu.tw</email></para>
</listitem>
<listitem>
<para>Tz-Huan Huang
<email>tzhuan@gmail.com</email></para>
</listitem>
<listitem>
<para>Tzanetos Balitsaris
<email>tzabal@it.teithe.gr</email></para>
</listitem>
<listitem>
<para>UMENO Takashi
<email>umeno@rr.iij4u.or.jp</email></para>
</listitem>
<listitem>
<para>URATA Shuichiro
<email>s-urata@nmit.tmg.nec.co.jp</email></para>
</listitem>
<listitem>
<para>Udo Schweigert
<email>udo.schweigert@siemens.com</email></para>
</listitem>
<listitem>
<para>Uffe Jakobsen
<email>uffe@uffe.org</email></para>
</listitem>
<listitem>
<para>Ugo Paternostro
<email>paterno@dsi.unifi.it</email></para>
</listitem>
<listitem>
<para>Ulf Kieber
<email>kieber@sax.de</email></para>
</listitem>
<listitem>
<para>Ulli Linzen
<email>ulli@perceval.camelot.de</email></para>
</listitem>
<listitem>
<para>Ullrich Franke
<email>trash.esiac@googlemail.com</email></para>
</listitem>
<listitem>
<para>Uwe Arndt
<email>arndt@mailhost.uni-koblenz.de</email></para>
</listitem>
<listitem>
<para>Uwe Pierau
<email>uwe.pierau@tu-clausthal.de</email></para>
</listitem>
<listitem>
<para>Vaggelis Typaldos
<email>frances@mylannet.gr</email></para>
</listitem>
<listitem>
<para>Vadim Belman
<email>voland@catpipe.net</email></para>
</listitem>
<listitem>
<para>Vadim Chekan
<email>vadim@gc.lviv.ua</email></para>
</listitem>
<listitem>
<para>Vadim Goncharov
<email>vadim_nuclight@mail.ru</email></para>
</listitem>
<listitem>
<para>Vadim Kolontsov
<email>vadim@tversu.ac.ru</email></para>
</listitem>
<listitem>
<para>Vadim Kurland
<email>vadim@fwbuilder.org</email></para>
</listitem>
<listitem>
<para>Vadim Mikhailov
<email>mvp@braz.ru</email></para>
</listitem>
<listitem>
<para>Vaida Bogdan
<email>vaida.bogdan@gmail.com</email></para>
</listitem>
<listitem>
<para>Vaidas Zlotkus
<email>r2@music.lt</email></para>
</listitem>
<listitem>
<para>Valentin Nechayev
<email>netch@lucky.net</email></para>
</listitem>
<listitem>
<para>Valentin Zahariev
<email>curly@e-card.bg</email></para>
</listitem>
<listitem>
<para>Valery Komarov
<email>komarov@valerka.net</email></para>
</listitem>
<listitem>
<para>Van Jacobson
<email>van@ee.lbl.gov</email></para>
</listitem>
<listitem>
<para>Vany Serezhkin
<email>ivan@serezhkin.com</email></para>
</listitem>
<listitem>
<para>Vaclav Haisman
<email>v.haisman@sh.cvut.cz</email></para>
</listitem>
<listitem>
<para>Vasek Balcar
<email>vasek@ti.cz</email></para>
</listitem>
<listitem>
<para>Vasily V. Grechishnikov
<email>bazilio@ns1.ied-vorstu.ac.ru</email></para>
</listitem>
<listitem>
<para>Vasim Valejev
<email>vasim@uddias.diaspro.com</email></para>
</listitem>
<listitem>
<para>Vassili Tchersky
<email>vt@bsd-fr.org</email></para>
</listitem>
<listitem>
<para>Vernon J. Schryver
<email>vjs@mica.denver.sgi.com</email></para>
</listitem>
<listitem>
<para>Veselin Slavov
<email>vess@btc.net</email></para>
</listitem>
<listitem>
<para>Vic Abell
<email>abe@cc.purdue.edu</email></para>
</listitem>
<listitem>
<para>Victor Cruceru
<email>victor.cruceru@gmail.com</email></para>
</listitem>
<listitem>
<para>Victor Popov
<email>v.a.popov@gmail.com</email></para>
</listitem>
<listitem>
<para>Victor Semionov
<email>semionov@mail.bg</email></para>
</listitem>
<listitem>
<para>Viktor Fomichev
<email>vfom@narod.ru</email></para>
</listitem>
<listitem>
<para>Ville Eerola
<email>ve@sci.fi</email></para>
</listitem>
<listitem>
<para>Vince Valenti
<email>vince@blue-box.net</email></para>
</listitem>
<listitem>
<para>Vincent Poy
<email>vince@DNALOGIC.NET</email></para>
</listitem>
<listitem>
<para>Vincent Tantardini
<email>vinc@freebsd-fr.org</email></para>
</listitem>
<listitem>
<para>Vincenzo Capuano
<email>VCAPUANO@vmprofs.esoc.esa.de</email></para>
</listitem>
<listitem>
<para>Virgil Champlin
<email>champlin@pa.dec.com</email></para>
</listitem>
<listitem>
<para>Vitaly Magerya
<email>vmagerya@gmail.com</email></para>
</listitem>
<listitem>
<para>Vivek Khera
<email>vivek@khera.org</email></para>
</listitem>
<listitem>
<para>Vlad GALU
<email>dudu@dudu.ro</email></para>
</listitem>
<listitem>
<para>Vlad V. Teterya
<email>vlad@vlad.uz.ua</email></para>
</listitem>
<listitem>
<para>Vladimir A. Jakovenko
<email>vovik@ntu-kpi.kiev.ua</email></para>
</listitem>
<listitem>
<para>Vladimir Gorelov
<email>virtual.lark@gmail.com</email></para>
</listitem>
<listitem>
<para>Vladimir Kondratiev
<email>wulf@mail.mipt.ru</email></para>
</listitem>
<listitem>
<para>Vladimir Kurtikov
<email>vk@vk.pp.ru</email></para>
</listitem>
<listitem>
<para>Vladimir Kushnir
<email>kushn@mail.kar.net</email></para>
</listitem>
<listitem>
<para>Vladimir Osintsev
<email>oc@nm.ru</email></para>
</listitem>
<listitem>
<para>Vladimir Savichev
<email>vlad@ariel.phys.wesleyan.edu</email></para>
</listitem>
<listitem>
<para>Volker Theile
<email>votdev@gmx.de</email></para>
</listitem>
<listitem>
<para>Volker Quetschke
<email>quetschke@scytek.de</email></para>
</listitem>
<listitem>
<para>Volodymyr Kostyrko
<email>c.kworr@gmail.com</email></para>
</listitem>
<listitem>
<para>Vsevolod Lobko
<email>seva@ip.net.ua</email></para>
</listitem>
<listitem>
<para>Vyacheslav Anikin
<email>ghos@mail.ru</email></para>
</listitem>
<listitem>
<para>Vyacheslav Ivanchenko
<email>ivi@dhs.net.ru</email></para>
</listitem>
<listitem>
<para>W. Gerald Hicks
<email>wghicks@bellsouth.net</email></para>
</listitem>
<listitem>
<para>W. Richard Stevens
<email>rstevens@noao.edu</email></para>
</listitem>
<listitem>
<para>Waitman Gobble
<email>waitman@waitman.net</email></para>
</listitem>
<listitem>
<para>Walt Howard
<email>howard@ee.utah.edu</email></para>
</listitem>
<listitem>
<para>Walt M. Shandruk
<email>walt@erudition.net</email></para>
</listitem>
<listitem>
<para>Walter Hop
<email>walter@binity.com</email></para>
</listitem>
<listitem>
<para>Walter Venable
<email>weaseal@hotmail.com</email></para>
</listitem>
<listitem>
<para>Warren Toomey
<email>wkt@csadfa.cs.adfa.oz.au</email></para>
</listitem>
<listitem>
<para>Watanabe Kazuhiro
<email>CQG00620@nifty.ne.jp</email></para>
</listitem>
<listitem>
<para>Wayne Scott
<email>wscott@ichips.intel.com</email></para>
</listitem>
<listitem>
<para>Wei-Hao Syu
<email>whsyu@arbor.ee.ntu.edu.tw</email></para>
</listitem>
<listitem>
<para>Wei-Yu Chen
<email>weiyu.csie@gmail.com</email></para>
</listitem>
<listitem>
<para>Wei Guo
<email>darcsis@gmail.com</email></para>
</listitem>
<listitem>
<para>Werner Griessl
<email>werner@btp1da.phy.uni-bayreuth.de</email></para>
</listitem>
<listitem>
<para>Wes Santee
<email>wsantee@wsantee.oz.net</email></para>
</listitem>
<listitem>
<para>Wietse Venema
<email>wietse@wzv.win.tue.nl</email></para>
</listitem>
<listitem>
<para>Wiljo Heinen
<email>wiljo@freeside.ki.open.de</email></para>
</listitem>
<listitem>
<para>Willem Jan Withagen
<email>wjw@withagen.nl</email></para>
</listitem>
<listitem>
<para>Willem van Engen
<email>wvengen@stack.nl</email></para>
</listitem>
<listitem>
<para>William Jolitz
<email>withheld</email></para>
</listitem>
<listitem>
<para>William Josephson
<email>wkj-freebsd@honk.eecs.harvard.edu</email></para>
</listitem>
<listitem>
<para>William Liao
<email>william@tale.net</email></para>
</listitem>
<listitem>
<para>Wojtek Pilorz
<email>wpilorz@celebris.bdk.lublin.pl</email></para>
</listitem>
<listitem>
<para>Wolfgang Helbig
<email>helbig@ba-stuttgart.de</email></para>
</listitem>
<listitem>
<para>Wolfgang Solfrank
<email>ws@tools.de</email></para>
</listitem>
<listitem>
<para>&a.wolf.email;</para>
</listitem>
<listitem>
<para>Woodchuck Dave
<email>djv@bedford.net</email></para>
</listitem>
<listitem>
<para>Woody Carey
<email>woodycarey@hotmail.com</email></para>
</listitem>
<listitem>
<para>Wouter Van Hemel
<email>wouter@pair.com</email></para>
</listitem>
<listitem>
<para>Wu Ching-hong
<email>woju@FreeBSD.ee.Ntu.edu.TW</email></para>
</listitem>
<listitem>
<para>&a.wylie.email;</para>
</listitem>
<listitem>
<para>Xavier Beaudouin
<email>kiwi@oav.net</email></para>
</listitem>
<listitem>
<para>Yamagi Burmeister
<email>yamagi@yamagi.org</email></para>
</listitem>
<listitem>
<para>Yanhui Shen
<email>shen.elf@gmail.com</email></para>
</listitem>
<listitem>
<para>Yann Berthier
<email>yb@bachibouzouk.org</email></para>
</listitem>
<listitem>
<para>Yannis Kotsinos
<email>zookie@med.auth.gr</email></para>
</listitem>
<listitem>
<para>Yarema
<email>yds@ingress.com</email></para>
</listitem>
<listitem>
<para>Yaroslav Terletsky
<email>ts@polynet.lviv.ua</email></para>
</listitem>
<listitem>
<para>Yasuhiro Fukama
<email>yasuf@big.or.jp</email></para>
</listitem>
<listitem>
<para>Yasuhito FUTATSUKI
<email>futatuki@fureai.or.jp</email></para>
</listitem>
<listitem>
<para>Yen-Shuo Su
<email>yssu@CCCA.NCTU.edu.tw</email></para>
</listitem>
<listitem>
<para>Yi-Feng Tzeng
<email>yftzeng@gmail.com</email></para>
</listitem>
<listitem>
<para>Yi-Hsuan Hsin
<email>mhsin@mhsin.org</email></para>
</listitem>
<listitem>
<para>Ying-Chieh Chen
<email>yinjieh@csie.nctu.edu.tw</email></para>
</listitem>
<listitem>
<para>Yinghong Liu
<email>relaxbsd@gmail.com</email></para>
</listitem>
<listitem>
<para>Yixin Jin
<email>yjin@rain.cs.ucla.edu</email></para>
</listitem>
<listitem>
<para>Yoichi Asai
<email>yatt@msc.biglobe.ne.jp</email></para>
</listitem>
<listitem>
<para>Yoshiaki Uchikawa
<email>yoshiaki@kt.rim.or.jp</email></para>
</listitem>
<listitem>
<para>Yoshihiko SARUMRU
<email>mistral@imasy.or.jp</email></para>
</listitem>
<listitem>
<para>Yoshihisa NAKAGAWA
<email>y-nakaga@ccs.mt.nec.co.jp</email></para>
</listitem>
<listitem>
<para>Yoshikazu Goto
<email>gotoh@ae.anritsu.co.jp</email></para>
</listitem>
<listitem>
<para>Yoshimasa Ohnishi
<email>ohnishi@isc.kyutech.ac.jp</email></para>
</listitem>
<listitem>
<para>Yoshishige Arai
<email>ryo2@on.rim.or.jp</email></para>
</listitem>
<listitem>
<para>Yu-Shun Wang
<email>yushunwa@isi.edu</email></para>
</listitem>
<listitem>
<para>Yuan-Chung Hsiao
<email>ychsiao@ychsiao.idv.tw</email></para>
</listitem>
<listitem>
<para>Yuan Jue
<email>yuanjue@yuanjue.net</email></para>
</listitem>
<listitem>
<para>Yuichi MATSUTAKA
<email>matutaka@osa.att.ne.jp</email></para>
</listitem>
<listitem>
<para>Yuichiro AIZAWA
<email>yaizawa@mdbl.sfc.keio.ac.jp</email></para>
</listitem>
<listitem>
<para>Yujiro MIYATA
<email>miyata@bioele.nuee.nagoya-u.ac.jp</email></para>
</listitem>
<listitem>
<para>Yuki SHIMAZU
<email>y.shimazu@nifty.com</email></para>
</listitem>
<listitem>
<para>Yuri Kurenkov
<email>y.kurenkov@init.ru</email></para>
</listitem>
<listitem>
<para>Yuriy N. Shkandybin
<email>jura@netams.com</email></para>
</listitem>
<listitem>
<para>Yuriy Tsibizov
<email>Yuriy.Tsibizov@gfk.ru</email></para>
</listitem>
<listitem>
<para>Yusuke Nawano
<email>azuki@azkey.org</email></para>
</listitem>
<listitem>
<para>Yu-Xi Lim
<email>yuxi@gmx.net</email></para>
</listitem>
<listitem>
<para>Yuu Yashiki
<email>s974123@cc.matsuyama-u.ac.jp</email></para>
</listitem>
<listitem>
<para>Yuuichi Narahara
<email>aconitum@po.teleway.ne.jp</email></para>
</listitem>
<listitem>
<para>Yuuki SAWADA
<email>mami@whale.cc.muroran-it.ac.jp</email></para>
</listitem>
<listitem>
<para>Yuukis
<email>Ys@PixyGarden.net</email></para>
</listitem>
<listitem>
<para>Yuval Yarom
<email>yval@cs.huji.ac.il</email></para>
</listitem>
<listitem>
<para>Yves Fonk
<email>yves@cpcoup5.tn.tudelft.nl</email></para>
</listitem>
<listitem>
<para>Yves Fonk
<email>yves@dutncp8.tn.tudelft.nl</email></para>
</listitem>
<listitem>
<para>Zach Garner
<email>zach@neurosoft.org</email></para>
</listitem>
<listitem>
<para>Zach Heilig
<email>zach@gaffaneys.com</email></para>
</listitem>
<listitem>
<para>Zach Thompson
<email>hideo@lastamericanempire.com</email></para>
</listitem>
<listitem>
<para>Zach Zurflu
<email>zach@pabst.bendnet.com</email></para>
</listitem>
<listitem>
<para>Zachariah Thompson
<email>lin-chi@lastamericanempire.com</email></para>
</listitem>
<listitem>
<para>Zak Johnson
<email>zakj@nox.cx</email></para>
</listitem>
<listitem>
<para>Zane C. Bowers
<email>vvelox@vvelox.net</email></para>
</listitem>
<listitem>
<para>Zhen REN
<email>bg1tpt@gmail.com</email></para>
</listitem>
<listitem>
<para>Zhihao Yuan
<email>lichray@gmail.com</email></para>
</listitem>
<listitem>
<para>Zhixiang JIANG
<email>luckrill@yahoo.com.cn</email></para>
</listitem>
<listitem>
<para>Zhong Ming-Xun
<email>zmx@mail.CDPA.nsysu.edu.tw</email></para>
</listitem>
<listitem>
<para>appleboy
<email>appleboy.tw@gmail.com</email></para>
</listitem>
<listitem>
<para>arci
<email>vega@sophia.inria.fr</email></para>
</listitem>
<listitem>
<para>ayunyan
<email>ayunyan@gmail.com</email></para>
</listitem>
<listitem>
<para>Bartoletti
<email>coder@tuxfamily.org</email></para>
</listitem>
<listitem>
<para>der Mouse
<email>mouse@Collatz.McRCIM.McGill.EDU</email></para>
</listitem>
<listitem>
<para>Piotr Szerman
<email>pmsz@tlen.pl</email></para>
</listitem>
<listitem>
<para>rossiya
<email>rossiya@gmail.com</email></para>
</listitem>
</itemizedlist>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/articles/contributors/contrib.committers.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/articles/contributors/contrib.committers.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/articles/contributors/contrib.committers.xml (revision 42804)
@@ -1,1469 +1,1481 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $FreeBSD$ -->
<!--
NOTE TO NEW COMMITTERS: Core and committers lists are sorted in
alphabetical order by last name. Please keep in mind that fact while
adding your entity to the list of developers.
-->
<itemizedlist>
<listitem>
<para>&a.tabthorpe.email;</para>
</listitem>
<listitem>
<para>&a.eadler.email;</para>
</listitem>
<listitem>
<para>&a.akiyama.email;</para>
</listitem>
<listitem>
<para>&a.monthadar.email;</para>
</listitem>
<listitem>
<para>&a.ambrisko.email;</para>
</listitem>
<listitem>
<para>&a.shaun.email;</para>
</listitem>
<listitem>
<para>&a.brix.email;</para>
</listitem>
<listitem>
<para>&a.jonathan.email;</para>
</listitem>
<listitem>
<para>&a.mandree.email;</para>
</listitem>
<listitem>
<para>&a.will.email;</para>
</listitem>
<listitem>
<para>&a.dim.email;</para>
</listitem>
<listitem>
<para>&a.mva.email;</para>
</listitem>
<listitem>
<para>&a.araujo.email;</para>
</listitem>
<listitem>
<para>&a.mat.email;</para>
</listitem>
<listitem>
<para>&a.syuu.email;</para>
</listitem>
<listitem>
<para>&a.gavin.email;</para>
</listitem>
<listitem>
<para>&a.jsa.email;</para>
</listitem>
<listitem>
<para>&a.jadawin.email;</para>
</listitem>
<listitem>
<para>&a.timur.email;</para>
</listitem>
<listitem>
<para>&a.jhb.email;</para>
</listitem>
<listitem>
<para>&a.gjb.email;</para>
</listitem>
<listitem>
<para>&a.kib.email;</para>
</listitem>
<listitem>
<para>&a.tobez.email;</para>
</listitem>
<listitem>
<para>&a.gber.email;</para>
</listitem>
<listitem>
<para>&a.tdb.email;</para>
</listitem>
<listitem>
<para>&a.gblach.email;</para>
</listitem>
<listitem>
<para>&a.wblock.email;</para>
</listitem>
<listitem>
+ <para>&a.zbb.email;</para>
+ </listitem>
+
+ <listitem>
<para>&a.novel.email;</para>
</listitem>
<listitem>
<para>&a.garga.email;</para>
</listitem>
<listitem>
<para>&a.sbz.email;</para>
</listitem>
<listitem>
<para>&a.ebrandi.email;</para>
</listitem>
<listitem>
<para>&a.harti.email;</para>
</listitem>
<listitem>
<para>&a.makc.email;</para>
</listitem>
<listitem>
<para>&a.antoine.email;</para>
</listitem>
<listitem>
<para>&a.db.email;</para>
</listitem>
<listitem>
<para>&a.sbruno.email;</para>
</listitem>
<listitem>
<para>&a.brueffer.email;</para>
</listitem>
<listitem>
+ <para>&a.br.email;</para>
+ </listitem>
+
+ <listitem>
<para>&a.oleg.email;</para>
</listitem>
<listitem>
<para>&a.jchandra.email;</para>
</listitem>
<listitem>
<para>&a.acm.email;</para>
</listitem>
<listitem>
<para>&a.gahr.email;</para>
</listitem>
<listitem>
<para>&a.adrian.email;</para>
</listitem>
<listitem>
<para>&a.dchagin.email;</para>
</listitem>
<listitem>
<para>&a.charnier.email;</para>
</listitem>
<listitem>
<para>&a.loader.email;</para>
</listitem>
<listitem>
<para>&a.ache.email;</para>
</listitem>
<listitem>
<para>&a.melifaro.email;</para>
</listitem>
<listitem>
<para>&a.theraven.email;</para>
</listitem>
<listitem>
<para>&a.davidch.email;</para>
</listitem>
<listitem>
<para>&a.marcus.email;</para>
</listitem>
<listitem>
<para>&a.tijl.email;</para>
</listitem>
<listitem>
<para>&a.rakuco.email;</para>
</listitem>
<listitem>
<para>&a.alc.email;</para>
</listitem>
<listitem>
<para>&a.cracauer.email;</para>
</listitem>
<listitem>
<para>&a.culot.email;</para>
</listitem>
<listitem>
<para>&a.joel.email;</para>
</listitem>
<listitem>
<para>&a.bapt.email;</para>
</listitem>
<listitem>
<para>&a.brd.email;</para>
</listitem>
<listitem>
<para>&a.brooks.email;</para>
</listitem>
<listitem>
<para>&a.pjd.email;</para>
</listitem>
<listitem>
<para>&a.jwd.email;</para>
</listitem>
<listitem>
<para>&a.carl.email;</para>
</listitem>
<listitem>
<para>&a.vd.email;</para>
</listitem>
<listitem>
<para>&a.rdivacky.email;</para>
</listitem>
<listitem>
<para>&a.danfe.email;</para>
</listitem>
<listitem>
<para>&a.bdrewery.email;</para>
</listitem>
<listitem>
<para>&a.gad.email;</para>
</listitem>
<listitem>
<para>&a.olivierd.email;</para>
</listitem>
<listitem>
<para>&a.ale.email;</para>
</listitem>
<listitem>
<para>&a.nemysis.email;</para>
</listitem>
<listitem>
<para>&a.deischen.email;</para>
</listitem>
<listitem>
<para>&a.julian.email;</para>
</listitem>
<listitem>
<para>&a.ae.email;</para>
</listitem>
<listitem>
<para>&a.lme.email;</para>
</listitem>
<listitem>
<para>&a.ru.email;</para>
</listitem>
<listitem>
<para>&a.se.email;</para>
</listitem>
<listitem>
<para>&a.bde.email;</para>
</listitem>
<listitem>
<para>&a.jasone.email;</para>
</listitem>
<listitem>
<para>&a.bf.email;</para>
</listitem>
<listitem>
<para>&a.madpilot.email;</para>
</listitem>
<listitem>
<para>&a.rafan.email;</para>
</listitem>
<listitem>
<para>&a.stefanf.email;</para>
</listitem>
<listitem>
<para>&a.scf.email;</para>
</listitem>
<listitem>
<para>&a.feld.email;</para>
</listitem>
<listitem>
<para>&a.lioux.email;</para>
</listitem>
<listitem>
<para>&a.fanf.email;</para>
</listitem>
<listitem>
<para>&a.mdf.email;</para>
</listitem>
<listitem>
<para>&a.blackend.email;</para>
</listitem>
<listitem>
<para>&a.decke.email;</para>
</listitem>
<listitem>
<para>&a.gallatin.email;</para>
</listitem>
<listitem>
<para>&a.avg.email;</para>
</listitem>
<listitem>
<para>&a.beat.email;</para>
</listitem>
<listitem>
<para>&a.danger.email;</para>
</listitem>
<listitem>
<para>&a.sjg.email;</para>
</listitem>
<listitem>
<para>&a.gibbs.email;</para>
</listitem>
<listitem>
<para>&a.pfg.email;</para>
</listitem>
<listitem>
<para>&a.girgen.email;</para>
</listitem>
<listitem>
<para>&a.pgollucci.email;</para>
</listitem>
<listitem>
<para>&a.trociny.email;</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.danilo.email;</para>
</listitem>
<listitem>
<para>&a.daichi.email;</para>
</listitem>
<listitem>
<para>&a.grehan.email;</para>
</listitem>
<listitem>
<para>&a.jamie.email;</para>
</listitem>
<listitem>
<para>&a.edwin.email;</para>
</listitem>
<listitem>
<para>&a.wg.email;</para>
</listitem>
<listitem>
<para>&a.bar.email;</para>
</listitem>
<listitem>
<para>&a.jmg.email;</para>
</listitem>
<listitem>
<para>&a.mjg.email;</para>
</listitem>
<listitem>
<para>&a.vg.email;</para>
</listitem>
<listitem>
<para>&a.jhale.email;</para>
</listitem>
<listitem>
<para>&a.smh.email;</para>
</listitem>
<listitem>
<para>&a.ehaupt.email;</para>
</listitem>
<listitem>
<para>&a.jhay.email;</para>
</listitem>
<listitem>
<para>&a.jh.email;</para>
</listitem>
<listitem>
<para>&a.jgh.email;</para>
</listitem>
<listitem>
<para>&a.ghelmer.email;</para>
</listitem>
<listitem>
<para>&a.wen.email;</para>
</listitem>
<listitem>
<para>&a.dhn.email;</para>
</listitem>
<listitem>
<para>&a.jhibbits.email;</para>
</listitem>
<listitem>
<para>&a.nhibma.email;</para>
</listitem>
<listitem>
<para>&a.pho.email;</para>
</listitem>
<listitem>
<para>&a.mich.email;</para>
</listitem>
<listitem>
<para>&a.cognet.email;</para>
</listitem>
<listitem>
<para>&a.sunpoet.email;</para>
</listitem>
<listitem>
<para>&a.lwhsu.email;</para>
</listitem>
<listitem>
<para>&a.chinsan.email;</para>
</listitem>
<listitem>
<para>&a.davide.email;</para>
</listitem>
<listitem>
<para>&a.iwasaki.email;</para>
</listitem>
<listitem>
<para>&a.mjacob.email;</para>
</listitem>
<listitem>
<para>&a.versus.email;</para>
</listitem>
<listitem>
<para>&a.raj.email;</para>
</listitem>
<listitem>
<para>&a.gj.email;</para>
</listitem>
<listitem>
<para>&a.peterj.email;</para>
</listitem>
<listitem>
<para>&a.ahze.email;</para>
</listitem>
<listitem>
<para>&a.markj.email;</para>
</listitem>
<listitem>
<para>&a.tj.email;</para>
</listitem>
<listitem>
<para>&a.kan.email;</para>
</listitem>
<listitem>
<para>&a.bjk.email;</para>
</listitem>
<listitem>
<para>&a.phk.email;</para>
</listitem>
<listitem>
<para>&a.pluknet.email;</para>
</listitem>
<listitem>
<para>&a.kargl.email;</para>
</listitem>
<listitem>
<para>&a.keramida.email;</para>
</listitem>
<listitem>
<para>&a.arved.email;</para>
</listitem>
<listitem>
<para>&a.fjoe.email;</para>
</listitem>
<listitem>
<para>&a.manolis.email;</para>
</listitem>
<listitem>
<para>&a.kientzle.email;</para>
</listitem>
<listitem>
<para>&a.jkim.email;</para>
</listitem>
<listitem>
<para>&a.jceel.email;</para>
</listitem>
<listitem>
<para>&a.koobs.email;</para>
</listitem>
<listitem>
<para>&a.jkois.email;</para>
</listitem>
<listitem>
<para>&a.motoyuki.email;</para>
</listitem>
<listitem>
<para>&a.maxim.email;</para>
</listitem>
<listitem>
<para>&a.taras.email;</para>
</listitem>
<listitem>
<para>&a.wkoszek.email;</para>
</listitem>
<listitem>
<para>&a.ak.email;</para>
</listitem>
<listitem>
<para>&a.skreuzer.email;</para>
</listitem>
<listitem>
<para>&a.gabor.email;</para>
</listitem>
<listitem>
<para>&a.kuriyama.email;</para>
</listitem>
<listitem>
<para>&a.gleb.email;</para>
</listitem>
<listitem>
<para>&a.rene.email;</para>
</listitem>
<listitem>
<para>&a.jlaffaye.email;</para>
</listitem>
<listitem>
<para>&a.clement.email;</para>
</listitem>
<listitem>
<para>&a.erwin.email;</para>
</listitem>
<listitem>
<para>&a.martymac.email;</para>
</listitem>
<listitem>
<para>&a.glarkin.email;</para>
</listitem>
<listitem>
<para>&a.benl.email;</para>
</listitem>
<listitem>
<para>&a.dru.email;</para>
</listitem>
<listitem>
<para>&a.jlh.email;</para>
</listitem>
<listitem>
<para>&a.leeym.email;</para>
</listitem>
<listitem>
<para>&a.oliver.email;</para>
</listitem>
<listitem>
<para>&a.grog.email;</para>
</listitem>
<listitem>
<para>&a.netchild.email;</para>
</listitem>
<listitem>
<para>&a.ian.email;</para>
</listitem>
<listitem>
<para>&a.achim.email;</para>
</listitem>
<listitem>
<para>&a.truckman.email;</para>
</listitem>
<listitem>
<para>&a.glewis.email;</para>
</listitem>
<listitem>
<para>&a.qingli.email;</para>
</listitem>
<listitem>
<para>&a.delphij.email;</para>
</listitem>
<listitem>
<para>&a.avatar.email;</para>
</listitem>
<listitem>
<para>&a.pclin.email;</para>
</listitem>
<listitem>
<para>&a.yzlin.email;</para>
</listitem>
<listitem>
<para>&a.linimon.email;</para>
</listitem>
<listitem>
<para>&a.dryice.email;</para>
</listitem>
<listitem>
<para>&a.kevlo.email;</para>
</listitem>
<listitem>
<para>&a.nox.email;</para>
</listitem>
<listitem>
<para>&a.remko.email;</para>
</listitem>
<listitem>
<para>&a.avl.email;</para>
</listitem>
<listitem>
<para>&a.issyl0.email;</para>
</listitem>
<listitem>
<para>&a.scottl.email;</para>
</listitem>
<listitem>
<para>&a.imp.email;</para>
</listitem>
<listitem>
<para>&a.ade.email;</para>
</listitem>
<listitem>
<para>&a.eri.email;</para>
</listitem>
<listitem>
<para>&a.pav.email;</para>
</listitem>
<listitem>
<para>&a.rmacklem.email;</para>
</listitem>
<listitem>
<para>&a.rm.email;</para>
</listitem>
<listitem>
<para>&a.jmallett.email;</para>
</listitem>
<listitem>
<para>&a.dwmalone.email;</para>
</listitem>
<listitem>
<para>&a.nobutaka.email;</para>
</listitem>
<listitem>
<para>&a.amdmi3.email;</para>
</listitem>
<listitem>
<para>&a.marino.email;</para>
</listitem>
<listitem>
<para>&a.dmarion.email;</para>
</listitem>
<listitem>
<para>&a.kwm.email;</para>
</listitem>
<listitem>
<para>&a.emaste.email;</para>
</listitem>
<listitem>
<para>&a.cherry.email;</para>
</listitem>
<listitem>
<para>&a.matusita.email;</para>
</listitem>
<listitem>
<para>&a.mm.email;</para>
</listitem>
<listitem>
<para>&a.sem.email;</para>
</listitem>
<listitem>
<para>&a.mckay.email;</para>
</listitem>
<listitem>
<para>&a.mckusick.email;</para>
</listitem>
<listitem>
<para>&a.jmelo.email;</para>
</listitem>
<listitem>
<para>&a.ken.email;</para>
</listitem>
<listitem>
<para>&a.mezz.email;</para>
</listitem>
<listitem>
<para>&a.dinoex.email;</para>
</listitem>
<listitem>
<para>&a.sanpei.email;</para>
</listitem>
<listitem>
<para>&a.rmh.email;</para>
</listitem>
<listitem>
<para>&a.stephen.email;</para>
</listitem>
<listitem>
<para>&a.marcel.email;</para>
</listitem>
<listitem>
<para>&a.kmoore.email;</para>
</listitem>
<listitem>
<para>&a.marck.email;</para>
</listitem>
<listitem>
<para>&a.mav.email;</para>
</listitem>
<listitem>
<para>&a.lippe.email;</para>
</listitem>
<listitem>
<para>&a.markm.email;</para>
</listitem>
<listitem>
<para>&a.knu.email;</para>
</listitem>
<listitem>
<para>&a.max.email;</para>
</listitem>
<listitem>
<para>&a.maho.email;</para>
</listitem>
<listitem>
<para>&a.trasz.email;</para>
</listitem>
<listitem>
<para>&a.neel.email;</para>
</listitem>
<listitem>
<para>&a.dbn.email;</para>
</listitem>
<listitem>
<para>&a.bland.email;</para>
</listitem>
<listitem>
<para>&a.gnn.email;</para>
</listitem>
<listitem>
<para>&a.simon.email;</para>
</listitem>
<listitem>
<para>&a.rnoland.email;</para>
</listitem>
<listitem>
<para>&a.anders.email;</para>
</listitem>
<listitem>
<para>&a.obrien.email;</para>
</listitem>
<listitem>
<para>&a.ohauer.email;</para>
</listitem>
<listitem>
<para>&a.olgeni.email;</para>
</listitem>
<listitem>
<para>&a.andre.email;</para>
</listitem>
<listitem>
<para>&a.osa.email;</para>
</listitem>
<listitem>
<para>&a.philip.email;</para>
</listitem>
<listitem>
<para>&a.jpaetzel.email;</para>
</listitem>
<listitem>
<para>&a.pgj.email;</para>
</listitem>
<listitem>
<para>&a.hiren.email;</para>
</listitem>
<listitem>
<para>&a.fluffy.email;</para>
</listitem>
<listitem>
<para>&a.np.email;</para>
</listitem>
<listitem>
<para>&a.rpaulo.email;</para>
</listitem>
<listitem>
<para>&a.dumbbell.email;</para>
</listitem>
<listitem>
<para>&a.mp.email;</para>
</listitem>
<listitem>
<para>&a.pawel.email;</para>
</listitem>
<listitem>
<para>&a.roam.email;</para>
</listitem>
<listitem>
<para>&a.cperciva.email;</para>
</listitem>
<listitem>
<para>&a.alfred.email;</para>
</listitem>
<listitem>
<para>&a.csjp.email;</para>
</listitem>
<listitem>
<para>&a.gerald.email;</para>
</listitem>
<listitem>
<para>&a.sperber.email;</para>
</listitem>
<listitem>
<para>&a.thomas.email;</para>
</listitem>
<listitem>
<para>&a.hq.email;</para>
</listitem>
<listitem>
<para>&a.dfr.email;</para>
</listitem>
<listitem>
<para>&a.attilio.email;</para>
</listitem>
<listitem>
<para>&a.lbr.email;</para>
</listitem>
<listitem>
<para>&a.crees.email;</para>
</listitem>
<listitem>
<para>&a.mr.email;</para>
</listitem>
<listitem>
<para>&a.bcr.email;</para>
</listitem>
<listitem>
<para>&a.trhodes.email;</para>
</listitem>
<listitem>
<para>&a.benno.email;</para>
</listitem>
<listitem>
<para>&a.beech.email;</para>
</listitem>
<listitem>
<para>&a.luigi.email;</para>
</listitem>
<listitem>
<para>&a.jeff.email;</para>
</listitem>
<listitem>
<para>&a.roberto.email;</para>
</listitem>
<listitem>
<para>&a.rodrigc.email;</para>
</listitem>
<listitem>
<para>&a.rea.email;</para>
</listitem>
<listitem>
<para>&a.ray.email;</para>
</listitem>
<listitem>
<para>&a.ps.email;</para>
</listitem>
<listitem>
<para>&a.bsam.email;</para>
</listitem>
<listitem>
<para>&a.hrs.email;</para>
</listitem>
<listitem>
<para>&a.bschmidt.email;</para>
</listitem>
<listitem>
<para>&a.wosch.email;</para>
</listitem>
<listitem>
<para>&a.ed.email;</para>
</listitem>
<listitem>
<para>&a.cy.email;</para>
</listitem>
<listitem>
<para>&a.das.email;</para>
</listitem>
<listitem>
<para>&a.scheidell.email;</para>
</listitem>
<listitem>
<para>&a.schweikh.email;</para>
</listitem>
<listitem>
<para>&a.matthew.email;</para>
</listitem>
<listitem>
<para>&a.tmseck.email;</para>
</listitem>
<listitem>
<para>&a.stas.email;</para>
</listitem>
<listitem>
<para>&a.hselasky.email;</para>
</listitem>
<listitem>
<para>&a.johans.email;</para>
</listitem>
<listitem>
<para>&a.lev.email;</para>
</listitem>
<listitem>
<para>&a.gshapiro.email;</para>
</listitem>
<listitem>
<para>&a.wxs.email;</para>
</listitem>
<listitem>
<para>&a.syrinx.email;</para>
</listitem>
<listitem>
<para>&a.vanilla.email;</para>
</listitem>
<listitem>
<para>&a.ashish.email;</para>
</listitem>
<listitem>
<para>&a.silby.email;</para>
</listitem>
<listitem>
<para>&a.bms.email;</para>
</listitem>
<listitem>
<para>&a.demon.email;</para>
</listitem>
<listitem>
<para>&a.skv.email;</para>
</listitem>
<listitem>
<para>&a.flo.email;</para>
</listitem>
<listitem>
<para>&a.glebius.email;</para>
</listitem>
<listitem>
<para>&a.kensmith.email;</para>
</listitem>
<listitem>
<para>&a.des.email;</para>
</listitem>
<listitem>
<para>&a.sobomax.email;</para>
</listitem>
<listitem>
<para>&a.asomers.email;</para>
</listitem>
<listitem>
<para>&a.brian.email;</para>
</listitem>
<listitem>
<para>&a.loos.email;</para>
</listitem>
<listitem>
<para>&a.uqs.email;</para>
</listitem>
<listitem>
<para>&a.vsevolod.email;</para>
</listitem>
<listitem>
<para>&a.zi.email;</para>
</listitem>
<listitem>
<para>&a.lstewart.email;</para>
</listitem>
<listitem>
<para>&a.rrs.email;</para>
</listitem>
<listitem>
<para>&a.rstone.email;</para>
</listitem>
<listitem>
<para>&a.xride.email;</para>
</listitem>
<listitem>
<para>&a.marius.email;</para>
</listitem>
<listitem>
<para>&a.cs.email;</para>
</listitem>
<listitem>
<para>&a.sumikawa.email;</para>
</listitem>
<listitem>
<para>&a.clsung.email;</para>
</listitem>
<listitem>
<para>&a.ryusuke.email;</para>
</listitem>
<listitem>
<para>&a.nyan.email;</para>
</listitem>
<listitem>
<para>&a.sahil.email;</para>
</listitem>
<listitem>
<para>&a.tota.email;</para>
</listitem>
<listitem>
<para>&a.romain.email;</para>
</listitem>
<listitem>
<para>&a.sylvio.email;</para>
</listitem>
<listitem>
<para>&a.dteske.email;</para>
</listitem>
<listitem>
<para>&a.itetcu.email;</para>
</listitem>
<listitem>
<para>&a.mi.email;</para>
</listitem>
<listitem>
<para>&a.lth.email;</para>
</listitem>
<listitem>
<para>&a.jase.email;</para>
</listitem>
<listitem>
<para>&a.lx.email;</para>
</listitem>
<listitem>
<para>&a.fabient.email;</para>
</listitem>
<listitem>
<para>&a.thierry.email;</para>
</listitem>
<listitem>
<para>&a.thompsa.email;</para>
</listitem>
<listitem>
<para>&a.flz.email;</para>
</listitem>
<listitem>
<para>&a.yar.email;</para>
</listitem>
<listitem>
<para>&a.jilles.email;</para>
</listitem>
<listitem>
<para>&a.andreast.email;</para>
</listitem>
<listitem>
<para>&a.ganbold.email;</para>
</listitem>
<listitem>
<para>&a.tuexen.email;</para>
</listitem>
<listitem>
<para>&a.andrew.email;</para>
</listitem>
<listitem>
<para>&a.gonzo.email;</para>
</listitem>
<listitem>
<para>&a.ume.email;</para>
</listitem>
<listitem>
<para>&a.ups.email;</para>
</listitem>
<listitem>
<para>&a.vanhu.email;</para>
</listitem>
<listitem>
<para>&a.bryanv.email;</para>
</listitem>
<listitem>
<para>&a.avilla.email;</para>
</listitem>
<listitem>
<para>&a.nivit.email;</para>
</listitem>
<listitem>
<para>&a.jfv.email;</para>
</listitem>
<listitem>
<para>&a.ivoras.email;</para>
</listitem>
<listitem>
<para>&a.stefan.email;</para>
</listitem>
<listitem>
<para>&a.kaiw.email;</para>
</listitem>
<listitem>
<para>&a.takawata.email;</para>
</listitem>
<listitem>
<para>&a.rwatson.email;</para>
</listitem>
<listitem>
<para>&a.adamw.email;</para>
</listitem>
<listitem>
<para>&a.naddy.email;</para>
</listitem>
<listitem>
<para>&a.peter.email;</para>
</listitem>
<listitem>
<para>&a.nwhitehorn.email;</para>
</listitem>
<listitem>
<para>&a.miwi.email;</para>
</listitem>
<listitem>
<para>&a.swills.email;</para>
</listitem>
<listitem>
<para>&a.wollman.email;</para>
</listitem>
<listitem>
<para>&a.joerg.email;</para>
</listitem>
<listitem>
<para>&a.davidxu.email;</para>
</listitem>
<listitem>
<para>&a.emax.email;</para>
</listitem>
<listitem>
<para>&a.yongari.email;</para>
</listitem>
<listitem>
<para>&a.zec.email;</para>
</listitem>
<listitem>
<para>&a.bz.email;</para>
</listitem>
<listitem>
<para>&a.zeising.email;</para>
</listitem>
<listitem>
<para>&a.zont.email;</para>
</listitem>
<listitem>
<para>&a.az.email;</para>
</listitem>
</itemizedlist>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/dev-model/book.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/dev-model/book.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/dev-model/book.xml (revision 42804)
@@ -1,2658 +1,2534 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
"../../../share/xml/freebsd45.dtd" [
<!ENTITY % chapters SYSTEM "chapters.ent">
%chapters;
]>
<!--
- Copyright (c) 2002-2005 Niklas Saers
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form 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 SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-
- $FreeBSD$
-->
<book lang='en'>
<bookinfo>
<title>A project model for the FreeBSD Project</title>
<author>
<firstname>Niklas</firstname>
<surname>Saers</surname>
</author>
<copyright>
<year>2002-2005</year>
<holder>Niklas Saers</holder>
</copyright>
<revhistory>
<revision>
+ <revnumber>1.4</revnumber>
+ <date>September, 2013</date>
+ <revremark>Remove mention of CVS and CVSup which are no
+ longer used by the project.</revremark>
+ </revision>
+ <revision>
<revnumber>1.3</revnumber>
<date>October, 2012</date>
<revremark>Remove hats held by specific people, these
are documented elsewhere.</revremark>
</revision>
<revision>
<revnumber>1.2</revnumber>
<date>April, 2005</date>
<revremark>Update one year of changes, replace statistics with those of 2004</revremark>
</revision>
<revision>
<revnumber>1.1</revnumber>
<date>July, 2004</date>
<revremark>First update within the FreeBSD tree</revremark>
</revision>
<revision>
<revnumber>1.0</revnumber>
<date>December 4th, 2003</date>
<revremark>Ready for commit to FreeBSD Documentation</revremark>
</revision>
<revision>
<revnumber>0.7</revnumber>
<date>April 7th, 2003</date>
<revremark>Release for review by the Documentation team</revremark>
</revision>
<revision>
<revnumber>0.6</revnumber>
<date>March 1st, 2003</date>
<revremark>Incorporated corrections noted by
interviewees and reviewers</revremark>
</revision>
<revision>
<revnumber>0.5</revnumber>
<date>February 1st, 2003</date>
<revremark>Initial review by interviewees</revremark>
</revision>
</revhistory>
<releaseinfo>$FreeBSD$</releaseinfo>
</bookinfo>
<preface id="foreword">
<title>Foreword</title>
<para>
Up until now, the FreeBSD project has released a number of
described techniques to do different parts of work. However,
a project model summarising how the project is structured is needed
because of the increasing amount of project members.
<footnote>
<para>
This goes hand-in-hand with Brooks' law that <quote>adding
another person to a late project will make it later</quote>
since it will increase the communication needs <xref linkend="brooks"/>.
A project model
is a tool to reduce the communication needs.
</para>
</footnote>
This paper
will provide such a project model and is donated to the
FreeBSD Documentation project where it can evolve together with
the project so that it can at any point in time reflect the way
the project works. It is based on <citation><xref linkend="thesis"/></citation>.
</para>
<para>
I would like to thank the following people for taking the time
to explain things that were unclear to me and for proofreading
the document.</para>
<itemizedlist>
<listitem><para>Andrey A. Chernov <email>ache@freebsd.org</email></para></listitem>
<listitem><para>Bruce A. Mah <email>bmah@freebsd.org</email></para></listitem>
<listitem><para>Dag-Erling Sm&oslash;rgrav <email>des@freebsd.org</email></para></listitem>
<listitem><para>Giorgos Keramidas<email>keramida@freebsd.org</email></para></listitem>
<listitem><para>Ingvil Hovig <email>ingvil.hovig@skatteetaten.no</email></para></listitem>
<listitem><para>Jesper Holck<email>jeh.inf@cbs.dk</email></para></listitem>
<listitem><para>John Baldwin <email>jhb@freebsd.org</email></para></listitem>
<listitem><para>John Polstra <email>jdp@freebsd.org</email></para></listitem>
<listitem><para>Kirk McKusick <email>mckusick@freebsd.org</email></para></listitem>
<listitem><para>Mark Linimon <email>linimon@freebsd.org</email></para></listitem>
<listitem><para>Marleen Devos</para></listitem>
<listitem><para>Niels J&oslash;rgenssen<email>nielsj@ruc.dk</email></para></listitem>
<listitem><para>Nik Clayton <email>nik@freebsd.org</email></para></listitem>
<listitem><para>Poul-Henning Kamp <email>phk@freebsd.org</email></para></listitem>
<listitem><para>Simon L. Nielsen <email>simon@freebsd.org</email></para></listitem>
</itemizedlist>
</preface>
<chapter id="overview">
<title>Overview</title>
<para>
A project model is a means to reduce the communications overhead in
a project. As shown by <citation><xref linkend="brooks"/></citation>, increasing the
number of project participants increases the communication in the
project exponentionally. FreeBSD has during the past few years
increased both its mass of active users and committers, and the
communication in the project has risen accordingly. This project
model will serve to reduce this overhead by providing an up-to-date
description of the project.
</para>
<para>
During the Core elections in 2002, Mark Murray stated
<quote>I am opposed to a long rule-book, as that satisfies
lawyer-tendencies, and is counter to the technocentricity that
the project so badly needs.</quote>
<citation><xref linkend="bsd-election2002"/></citation>.
This project model is not meant to be a tool to
justify creating impositions for developers, but as a tool to
facilitate coordination.
It is meant as a
description of the project, with an overview of how the different
processes are executed.
It is an introduction to how the FreeBSD
project works.
</para>
<para>
The FreeBSD project model will be described as of
July 1st, 2004. It is based on the Niels J&oslash;rgensen's paper
<citation><xref linkend="jorgensen2001"/></citation>,
FreeBSD's official documents,
discussions on FreeBSD mailing lists and interviews with
developers.
</para>
<para>
After providing definitions of terms used, this document will outline
the organisational structure (including role descriptions and
communication lines),
discuss the methodology model and after presenting the
tools used for process control, it will present the defined
processes. Finally it will outline major sub-projects of the
FreeBSD project.
</para>
<para>
<citation><xref
linkend="freebsd-developer-handbook"/>, Section 1.2 and 1.3</citation>
give the vision and the architectural guidelines for the
project. The vision is <quote>To produce the best UNIX-like
operating system package possible, with due respect to the
original software tools ideology as well as usability,
performance and stability.</quote> The architectural
guidelines help determine whether a problem that someone wants
to be solved is within the scope of the project
</para>
</chapter>
<chapter id="definitions">
<title>Definitions</title>
<section id="ref-activity" xreflabel="">
<title>Activity</title>
<para>
An <quote>activity</quote> is an element of work performed
during the course of a project <citation><xref linkend="ref-pmbok"/></citation>.
It has an output and
leads towards an outcome.
Such an output can either be an input to another
activity or a part of the process' delivery.
</para>
</section>
<section id="def-process" xreflabel="">
<title>Process</title>
<para>
A <quote>process</quote> is a series of activities
that lead towards a particular outcome. A process can
consist of one or more sub-processes. An example of a process is software
design.
</para>
</section>
<section id="ref-hat" xreflabel="Hat">
<title>Hat</title>
<para>
A <quote>hat</quote> is synonymous with role. A hat has
certain responsibilities in a process and for the process
outcome. The hat executes activities. It is well defined what
issues the hat should be contacted about by the project
members and people outside the project.
</para>
</section>
<section id="ref-outcome" xreflabel="Outcome">
<title>Outcome</title>
<para>
An <quote>outcome</quote> is the final output of the process.
This is synonymous with deliverable, that is defined as
<quote>any measurable, tangible, verifiable outcome, result or
item that must be produced to complete a project or part of a
project. Often used more narrowly in reference to an external
deliverable, which is a deliverable that is subject to approval
by the project sponsor or customer</quote> by <citation><xref
linkend="ref-pmbok"/></citation>.
Examples of
outcomes are a piece of software, a decision made or a
report written.
</para>
</section>
<section id="ref-freebsd" xreflabel="">
<title>FreeBSD</title>
<para>
When saying <quote>FreeBSD</quote> we will mean the BSD
derivative UNIX-like operating system
FreeBSD, whereas when saying <quote>the FreeBSD
Project</quote> we will mean the project organisation.
</para>
</section>
</chapter>
<chapter id="model-orgstruct">
<title>Organisational structure</title>
<para>
While no-one takes ownership of FreeBSD, the FreeBSD
organisation is divided into core, committers and contributors
and is part of the FreeBSD community that lives around it.
</para>
<para>
<figure>
<title>The FreeBSD Project's structure</title>
<graphic fileref="orghierarchy"/>
</figure>
</para>
<para>
Number of committers has been determined by going through
CVS logs from January 1st, 2004 to December 31st, 2004 and
contributors by going through the list of contributions and
problem reports.
</para>
<para>
The main resource in the FreeBSD community is its developers: the
committers and contributors. It is with their contributions that the
project can move forward. Regular developers are referred to as contributors.
As by January 1st, 2003, there are an estimated 5500
contributors on the project.
<!--
Contributors = people submitting PRs + people submitting code - overlap.
Lost the script, TODO: recompute the estimate
-->
</para>
<para>
Committers are developers with the privilege of being able to
commit changes. These are usually the
most active developers who are willing to
spend their time not only integrating their own code but
integrating code submitted by the developers who
do not have this privilege. They are also the developers who elect
the core team, and they have access to closed discussions.
</para>
<para>
<!-- 96 developers commit in one part only,
91 developers commit in two parts,
48 developers commit in three parts,
29 developers commit in all parts
Data from the entire year 2004 -->
The project can be grouped into four distinct separate parts,
and most developers will focus their involvement in one
part of FreeBSD. <!-- 91.3% had 50% or more of their commits
in one part during 2004 -->
The four parts
are kernel development, userland development, ports and
documentation. When referring to the base system, both
kernel and userland is meant.
</para>
<para>
This split changes our triangle to look like this:
</para>
<para>
<figure>
<title>The FreeBSD Project's structure with committers in categories</title>
<graphic fileref="orghierarchy2"/>
</figure>
</para>
<para>
Number of committers per area has been determined by going through
CVS logs from January 1st, 2004 to December 31st, 2004.
Note that many committers work in multiple
areas, making the total number higher than the real number
of committers. The total number of committers at that
time was 269. <!-- Down from 275 in 2001 -->
</para>
<para>
Committers fall into three
groups: committers who are only concerned with one area of
the project (for instance file systems), committers who
are involved only with one sub-project
and committers who commit to different parts
of the code, including sub-projects.
Because some committers work on different parts, the total
number in the committers section of the triangle is higher than
in the above triangle.
</para>
<para>
The kernel is the main building block of FreeBSD. While
the userland applications are protected against faults in
other userland applications, the entire system is
vulnerable to errors in the kernel. This, combined with the
vast amount of dependencies in the kernel and that it is not easy to
see all the consequences of a kernel change, demands
developers with a relative full understanding of the
kernel. Multiple development efforts in the kernel also
requires a closer coordination than userland applications do.
</para>
<para>
The core utilities, known as userland, provide the interface that identifies
FreeBSD, both user interface, shared libraries and external interfaces to
connecting clients. Currently, 162 people are involved in userland
development and maintenance, many being maintainers for
their own part of the code.
Maintainership will
be discussed in the <xref linkend="role-maintainer"/> section.
</para>
<para>
Documentation is handled by <xref linkend="sub-project-documentation"/>
and includes all documents surrounding the
FreeBSD project, including the web pages. There were during 2004 101
people making commits to the FreeBSD Documentation Project.
</para>
<para>
Ports is the collection of meta-data that is needed to make
software packages build correctly on FreeBSD. An example of a port
is the port for the web-browser Mozilla. It contains
information about where to fetch the source, what patches to
apply and how, and how the package should be installed on the
system. This allows automated tools to fetch, build and
install the package. As of this writing, there are more than
12600 ports available.
<footnote>
<para>
Statistics are generated by counting the number of
entries in the file fetched by portsdb by April 1st, 2005.
portsdb is a part of the port sysutils/portupgrade.
</para>
</footnote>
, ranging
from web servers to games, programming languages and most of the
application types that are in use on modern computers.
Ports will be discussed further in the section
<xref linkend="sub-project-ports"/>.
</para>
</chapter>
<chapter id="methodology-model">
<title>Methodology model</title>
<section id="development-model"><title>Development model</title>
<para>
There is no defined model for how people write code in
FreeBSD. However, Niels J&oslash;rgenssen has suggested a model of
how written code is integrated into the project.
</para>
<para>
<figure>
<title>J&oslash;rgenssen's model for change integration</title>
<graphic fileref="maintenance"/>
</figure>
</para>
<para>
The <quote>development release</quote> is the FreeBSD-CURRENT
("-CURRENT") branch and the <quote>production release</quote>
is the FreeBSD-STABLE branch ("-STABLE")
<citation><xref linkend="jorgensen2001"/></citation>.
</para>
<para>
This is a model for one change, and shows that after
coding, developers seek community review and
try integrating it with their own systems. After integrating the change
into the development release, called FreeBSD-CURRENT, it is tested
by many users and developers in the FreeBSD community. After it
has gone through enough testing, it is merged into the production
release, called FreeBSD-STABLE. Unless each stage is finished
successfully, the developer needs to go back and make
modifications in the code and restart the process. To integrate a
change with either -CURRENT or -STABLE is called making a commit.
</para>
<para>
J&oslash;rgensen found that most FreeBSD developers work
individually, meaning that this model is used in parallel by
many developers on the different ongoing development efforts. A
developer can also be working on multiple changes, so that while
he is waiting for review or people to test one or more of his
changes, he may be writing another change.
</para>
<para>
As each commit represents an increment, this is a massively
incremental model. The commits are in fact so frequent that
during one year
<footnote>
<para>
The period from January 1st, 2004 to December 31st, 2004 was
examined to find this number.
</para>
</footnote>
, 85427 commits were made, making a daily average of 233
commits.
</para>
<para>
Within the <quote>code</quote> bracket in J&oslash;rgensen's
figure, each programmer has his own working style and follows his
own development models. The bracket could very well have been
called <quote>development</quote> as it includes requirements
gathering and analysis, system and detailed design,
implementation and verification. However, the only
output from these stages is the source code or system documentation.
</para>
<para>
From a stepwise model's perspective (such as the waterfall
model), the other brackets can be seen as further verification
and system integration. This system integration is also important
to see if a change is accepted by the community. Up until the
code is committed, the developer is free to choose how much to
communicate about it to the rest of the project. In order for
-CURRENT to work as a buffer (so that bright ideas that had some
undiscovered drawbacks can be backed out) the minimum time a
commit should be in -CURRENT before merging it to -STABLE is 3
days. Such a merge is referred to as an MFC (Merge From Current).
</para>
<para>
It is important to notice the word <quote>change</quote>. Most
commits do not contain radical new features, but are maintenance
updates.
</para>
<para>
The only exceptions from this model are security fixes and
changes to features that are deprecated in the -CURRENT branch.
In these cases, changes can be committed directly to the -STABLE branch.
</para>
<para>
In addition to many people working on the project, there are
many related projects to the FreeBSD Project. These are either
projects developing brand new features,
sub-projects or projects whose outcome is incorporated into
FreeBSD
<footnote>
<para>
For instance, the development of the Bluetooth stack started
as a sub-project until it was deemed stable enough to be
merged into the -CURRENT branch. Now it is a part of the core
FreeBSD system.
</para>
</footnote>.
These projects fit into the FreeBSD Project just like regular
development efforts: they produce code that is integrated with
the FreeBSD Project. However, some of them (like Ports and
Documentation) have the privilege of being applicable to both
branches or commit directly to both -CURRENT and -STABLE.
</para>
<para>
There is no standards to how design should be done, nor is
design collected in a centralised repository.
The main design is that of 4.4BSD.
<footnote>
<para>
According to Kirk McKusick, after 20 years of developing
UNIX operating systems, the interfaces are for the most part
figured out. There is therefore no need for much
design. However, new applications of the system and new hardware leads to
some implementations being more beneficial than those that
used to be preferred. One example is the introduction of web
browsing that made the normal TCP/IP connection a short
burst of data rather than a steady stream over a longer
period of time.
</para>
</footnote>
As design is a part of the <quote>Code</quote> bracket in
J&oslash;rgenssen's model, it is up to every developer or
sub-project how this should be done.
Even if the design should be stored in a central repository,
the output from the design stages would be of limited use as
the differences of methodologies would make them poorly if at
all interoperable. For the overall design of the project, the
project relies on the sub-projects to negotiate fit interfaces
between each other rather than to dictate interfacing.
</para>
</section>
<section id="release-branches">
<title>Release branches</title>
<para>
The releases of FreeBSD is best illustrated by a tree with many
branches where each major branch represents a major
version. Minor versions are represented by branches of the
major branches.
</para>
<para>
In the following release tree, arrows that follow one-another
in a particular direction
represent a branch. Boxes with full lines and diamonds represent official
releases. Boxes with dotted lines represent the development
branch at that time. Security branches are represented by ovals.
Diamonds differ from boxes in that they
represent a fork, meaning a place where a branch splits into two
branches where one of the branches becomes a sub-branch.
For example,
at 4.0-RELEASE the 4.0-CURRENT branch split into 4-STABLE and
5.0-CURRENT. At 4.5-RELEASE, the branch forked off a security
branch called RELENG_4_5.
</para>
<para>
<figure>
<title>The FreeBSD release tree</title>
<graphic fileref="branches"/>
</figure>
</para>
<para>
The latest -CURRENT version
is always referred to as -CURRENT, while the latest -STABLE
release is always referred to as -STABLE. In this figure,
-STABLE refers to 4-STABLE while -CURRENT refers to
5.0-CURRENT following 5.0-RELEASE.
<citation><xref linkend="freebsd-releng"/></citation>
</para>
<para>
A <quote>major release</quote> is always made from the -CURRENT branch.
However, the -CURRENT branch does not need to fork at that point in time,
but can focus on stabilising. An example of this is that following
3.0-RELEASE, 3.1-RELEASE was also a continuation of the
-CURRENT-branch, and -CURRENT did not become a true development
branch until this version was released and the 3-STABLE branch
was forked. When
-CURRENT returns to becoming a development branch, it can only be
followed by a major release. 5-STABLE is predicted to be forked
off 5.0-CURRENT at around 5.3-RELEASE. It is not until
5-STABLE is forked that the development branch will be branded 6.0-CURRENT.
</para>
<para>
A <quote>minor release</quote> is made from the -CURRENT branch
following a major release, or from the -STABLE branch.
</para>
<para>
Following and including, 4.3-RELEASE<footnote>
<para>
The first release this actually happened for was 4.5-RELEASE,
but security branches were at the same time created for
4.3-RELEASE and 4.4-RELEASE.
</para>
</footnote>, when a minor release has been made, it becomes a <quote>security
branch</quote>. This is meant for organisations that do not want
to follow the -STABLE branch and the potential new/changed features it
offers, but instead require an absolutely stable environment, only
updating to implement security updates.
<footnote>
<para>
There is a terminology
overlap with respect to the word "stable", which leads to some
confusion. The -STABLE branch is still a
development branch, whose goal is to be
useful for most people.
If it is never acceptable for a system to get changes that
are not announced at the time it is deployed,
that system should run a security branch.
</para>
</footnote>
</para>
<para>
Each update to a security branch
is called a <quote>patchlevel</quote>. For every security
enhancement that is done, the patchlevel number is increased,
making it easy for people tracking the branch to see what
security enhancements they have implemented. In cases where there
have been especially serious security flaws, an entire new release
can be made from a security branch. An example of this is
4.6.2-RELEASE.
</para>
</section>
<section id="model-summary">
<title>Model summary</title>
<para>
To summarise, the development model of FreeBSD can be seen as
the following tree:
</para>
<para>
<figure>
<title>The overall development model</title>
<graphic fileref="freebsd-code-model"/>
</figure>
</para>
<para>
The tree of the FreeBSD development with ongoing development
efforts and continuous integration.
</para>
<para>
The tree symbolises the release versions with major versions
spawning new main branches and minor versions being versions of
the main branch. The top branch is the -CURRENT branch where all
new development is integrated, and the -STABLE branch is the
branch directly below it.
</para>
<para>
Clouds of development efforts hang over the project
where developers use the development models they see fit. The
product of their work is then integrated into -CURRENT where it
undergoes parallel debugging and is finally merged from -CURRENT into
-STABLE. Security fixes are merged from -STABLE to the security branches.
</para>
</section>
</chapter>
<chapter id="sect-hats">
<title>Hats</title>
<para>
Many committers have a special area of responsibility. These
roles are called hats.
These hats can
be either project roles, such as public relations officer, or
maintainer for a certain area of the
code. Because this is a project where people give voluntarily of
their spare time, people with assigned hats are not always
available. They must therefore appoint a deputy that can perform
the hat's role in his or her absence. The other option is to have
the role held by a group.
</para>
<para>
Many of these hats are not formalised. Formalised hats have a
charter stating the exact purpose of the hat along with its
privileges and responsibilities. The writing of such charters is
a new part of the project, and has thus yet to be completed for
all hats. These hat descriptions are not such a formalisation,
rather a summary of the role with links to the charter where
available and contact addresses.
</para>
<section id="general-hats">
<title>General Hats</title>
<section id="role-contributor" xreflabel="Contributor">
<title>Contributor</title>
<para>
A Contributor contributes to the FreeBSD project either as a
developer, as an author, by sending problem reports, or in
other ways contributing to the progress of the project. A
contributor has no special privileges in the FreeBSD project.
<citation><xref linkend="freebsd-contributors"/></citation>
</para>
</section>
<section id="role-committer" xreflabel="Committer">
<title>Committer</title>
<para>
A person who has the required privileges to add his code or documentation to the
repository.
<!--
Note that there are people with commit privileges that used
to be committers but have not done any commits the last
twelve months. These are not referred to as committers. -->
A committer has made a commit within the past 12 months.
<citation><xref linkend="freebsd-bylaws"/></citation>
An active committer is a committer
who has made an average of one commit per month during that time.
</para>
<para>
It is worth noting that there are no technical barriers to prevent
someone, once having gained commit privileges to the main- or a sub-project, to make commits in
parts of that project's source the committer did not specifically get
permission to modify. However, when wanting to make
modifications to parts a committer has not been involved in
before, he/she should read the logs to see what has happened
in this area before, and also read the MAINTAINER file to see if
the maintainer of this part has any special requests on how
changes in the code should be made
<!--
Also, since
<xref linkend="sub-project-ports"/> is allowed to give commit
privileges without approval from core, a committer who has
gained his privileges through contributing to the ports
sub-project should be careful and
have his changes approved before committing anything outside
the ports tree.
-->
</para>
</section>
<section id="role-core" xreflabel="Core team">
<title>Core Team</title>
<para>
The core team is elected by the committers from the pool of committers
and serves as the board of directors of the FreeBSD project. It
promotes active contributors to committers, assigns people to
well-defined hats, and is the final arbiter of decisions involving
which way the project should be heading.
As by July 1st, 2004, core consisted of 9 members.
Elections are held every two years.
</para>
</section>
<section id="role-maintainer" xreflabel="Maintainership">
<title>Maintainership</title>
<para>
Maintainership means that that person is responsible for
what is allowed to go into that area of the code and has the
final say should disagreements over the code occur. This
involves proactive work aimed at stimulating
contributions and reactive work in reviewing commits.
</para>
<para>
With the FreeBSD
source comes the MAINTAINERS file that contains a one-line
summary of how each maintainer would like contributions to be
made. Having this notice and contact information
enables developers to focus on the development effort rather
than being stuck in a slow correspondence should the maintainer
be unavailable for some time.
</para>
<para>
If the maintainer is unavailable for an unreasonably long period
of time, and other people do a significant amount of work,
maintainership may be switched without the maintainer's approval.
This is based on the stance that maintainership should be
demonstrated, not declared.
</para>
<para>
Maintainership of a particular piece of code is a hat that
is not held as a group.
</para>
</section>
</section>
<section id="official-hats">
<title>Official Hats</title>
<para>
The official hats in the FreeBSD Project are hats that are more
or less formalised and mainly administrative roles. They have
the authority and responsibility for their area. The following
illustration shows the responsibility lines. After this follows
a description of each hat, including who it is held by.
</para>
<para>
<figure>
<title>Overview of official hats</title>
<graphic fileref="hats-overview"/>
</figure>
</para>
<para>
All boxes consist of groups of committers, except for the
dotted boxes where the holders are not necessarily committers. The
flattened circles are sub-projects and consist of both
committers and non-committers of the main project.
</para>
<section id="role-doc-manager" xreflabel="Documentation
project architect">
<title>Documentation project manager</title>
<para>
<xref linkend="sub-project-documentation"/>
architect is responsible for
defining and following up documentation goals for the
committers in the Documentation project.
</para>
<para>
Hat held by:
The DocEng team <email>doceng@FreeBSD.org</email>.
The
<ulink url="http://www.freebsd.org/internal/doceng.html">
DocEng Charter</ulink>.
</para>
</section>
- <section id="role-cvsup-coordinator" xreflabel="CVSup Mirror Site Coordinator">
- <title>CVSup Mirror Site Coordinator</title>
- <para>
- The CVSup Mirror Site Coordinator coordinates all the
- <xref linkend="role-cvsup-sitemaint"/>s to ensure that they
- are distributing current versions of the software, that they
- have the capacity to update themselves when major updates
- are in progress, and making it easy for the general public
- to find their closest CVSup mirror.
- </para>
- <para>
- Hat currently held by:
- The CVSup-master team <email>cvsup-master@FreeBSD.org</email>.
- </para>
- </section>
-
<section id="role-postmaster" xreflabel="Postmaster">
<title>Postmaster</title>
<para>
The Postmaster is responsible for mail being correctly
delivered to the committers' email address. He is also
responsible for ensuring that the mailing lists work and
should take measures against possible disruptions of mail
such as having troll-, spam- and virus-filters.
</para>
<para>
Hat currently held by:
the Postmaster Team <email>postmaster@FreeBSD.org</email>.
</para>
</section>
<section id="role-release-coordination" xreflabel="Release Coordination">
<title>Release Coordination</title>
<para>
The responsibilities of the Release Engineering Team are
<itemizedlist>
<listitem><para>
Setting, publishing and following a release schedule for
official releases
</para></listitem>
<listitem><para>
Documenting and formalising release engineering procedures
</para></listitem>
<listitem><para>
Creation and maintenance of code branches
</para></listitem>
<listitem><para>
Coordinating with the Ports and Documentation teams
to have an updated set of packages and documentation
released with the new releases
</para></listitem>
<listitem><para>
Coordinating with the Security team so that pending
releases are not affected by recently disclosed vulnerabilities.
</para></listitem>
</itemizedlist>
Further information about the development process is
available in the <xref linkend="process-release-engineering"/> section.
</para>
<para id="role-releng" xreflabel="Release Engineering Team">
Hat held by:
the Release Engineering team <email>re@FreeBSD.org</email>.
The
<ulink url="http://www.freebsd.org/releng/charter.html">
Release Engineering Charter</ulink>.
</para>
</section>
<section id="role-pr-cr" xreflabel="Public Relations &amp; Corporate Liaison">
<title>Public Relations &amp; Corporate Liaison</title>
<para>
The Public Relations &amp; Corporate Liaison's
responsibilities are:
<itemizedlist>
<listitem><para>
Making press statements when happenings that are
important to the FreeBSD Project happen.
</para></listitem>
<listitem><para>
Being the official contact person for corporations that
are working close with the FreeBSD Project.
</para></listitem>
<listitem><para>
Take steps to promote FreeBSD within both the Open Source
community and the corporate world.
</para></listitem>
<listitem><para>
Handle the <quote>freebsd-advocacy</quote> mailing list.
</para></listitem>
</itemizedlist>
</para>
<para>
This hat is currently not occupied.
</para>
</section>
<section id="role-security-officer" xreflabel="Security Officer">
<title>Security Officer</title>
<para>
The Security Officer's main responsibility is to
coordinate information exchange with others in the
security community and in the FreeBSD project.
The Security Officer is also responsible for taking action
when security problems are reported and promoting proactive
development behaviour when it comes to security.
</para>
<para>
Because of the fear that information about
vulnerabilities may leak out to people with malicious
intent before a patch is available, only the Security
Officer, consisting of an officer, a deputy and two
<xref linkend="role-core"/> members, receive sensitive
information about security issues. However, to create or
implement a patch, the Security Officer has the Security
Officer Team <email>security-team@FreeBSD.org</email> to
help do the work.
</para>
</section>
<section id="role-repo-manager" xreflabel="Source Repository Manager">
<title>Source Repository Manager</title>
<para>
The Source Repository Manager is the only one who is allowed
to directly modify the repository without using the
<xref linkend="tool-svn"/> tool.
It is his/her
responsibility to ensure that technical problems that arise in the
repository are resolved quickly. The source repository
manager has the authority to back out commits if this is
- necessary to resolve a CVS technical problem.
+ necessary to resolve a SVN technical problem.
</para>
<para>
Hat held by:
- the Source Repository Manager <email>cvs@FreeBSD.org</email>.
+ the Source Repository Manager <email>clusteradm@FreeBSD.org</email>.
</para>
</section>
<section id="role-election-manager" xreflabel="Election Manager">
<title>Election Manager</title>
<para>
The Election Manager is responsible for the
<xref linkend="process-core-election"/> process. The manager
is responsible for running and maintaining the election
system, and is the final authority should minor unforeseen
events happen in the election process. Major unforeseen
events have to be discussed with the <xref linkend="role-core"/>
</para>
<para>
Hat held only during elections.
</para>
</section>
<section id="role-webmaster" xreflabel="Web site Management">
<title>Web site Management</title>
<para>
The Web site Management hat is responsible for coordinating
the rollout of updated web pages on mirrors around the world,
for the overall structure of the primary web site and the
system it is running upon. The management needs to
coordinate the content with
<xref linkend="sub-project-documentation"/> and acts as
maintainer for the <quote>www</quote> tree.
</para>
<para>
Hat held by:
the FreeBSD Webmasters <email>www@FreeBSD.org</email>.
</para>
</section>
<section id="role-ports-manager" xreflabel="Ports Manager">
<title>Ports Manager</title>
<para>
The Ports Manager acts as a liaison between
<xref linkend="sub-project-ports"/>
and the core project, and
all requests from the project should go to the ports manager.
</para>
<para>
Hat held by:
the Ports Management Team <email>portmgr@FreeBSD.org</email>.
The
<ulink url="http://www.freebsd.org/portmgr/charter.html">
Portmgr charter</ulink>.
</para>
</section>
<section id="role-standards" xreflabel="Standards">
<title>Standards</title>
<para>
The Standards hat is responsible for ensuring that FreeBSD
complies with the standards it is committed to <!-- (covered in
<xref linkend="standardsguidelines"/>) -->, keeping up to date
on the development of these standards and notifying
FreeBSD developers of important changes that allows them to take a
proactive role and decrease the time between a standards
update and FreeBSD's compliancy.
</para>
<para>
Hat currently held by:
Garrett Wollman <email>wollman@FreeBSD.org</email>.
</para>
</section>
<section id="role-core-secretary" xreflabel="Core Secretary">
<title>Core Secretary</title>
<para>
The Core Secretary's main responsibility is to write drafts to
and publish the final Core Reports. The secretary also keeps
the core agenda, thus ensuring that no balls are dropped
unresolved.
</para>
<para>
Hat currently held by: &a.pgj.email;.
</para>
</section>
<section id="role-gnats" xreflabel="GNATS Administrator">
<title>GNATS Administrator</title>
<para>
The GNATS Administrator is responsible for ensuring that the
maintenance database is in working order, that the entries
are correctly categorised and that there are no invalid entries.
</para>
<para>
Hat currently held by:
the Bugmeister Team <email>bugmeister@FreeBSD.org</email>.
</para>
</section>
<section id="role-bugmeister" xreflabel="Bugmeister">
<title>Bugmeister</title>
<para>
The Bugmeister is the person in charge of the problem report
group.
</para>
<para>
Hat currently held by:
the Bugmeister Team <email>bugmeister@FreeBSD.org</email>,
</para>
</section>
<section id="role-donations" xreflabel="Donations Liaison Officer">
<title>Donations Liaison Officer</title>
<para>
The task of
the donations liaison officer is to match
the developers with needs with people or
organisations willing to make a
donation. The Donations Liaison Charter is
available
<ulink url="http://www.freebsd.org/donations/">here</ulink>
</para>
<para>
Hat held by:
the Donations Liaison Office <email>donations@FreeBSD.org</email>.
</para>
</section>
<section id="role-admin" xreflabel="Admin">
<title>Admin</title>
<para>
(Also called <quote>FreeBSD Cluster Admin</quote>)
</para>
<para>
The admin team consists of the
people responsible for administrating the
computers that the project relies on for
its distributed work and communication to
be synchronised. It consists mainly of those
people who have physical access to the
servers.
</para>
<para>
Hat held by:
the Admin team <email>admin@FreeBSD.org</email>.
</para>
</section>
</section>
<section id="proc-depend-hats">
<title>Process dependent hats</title>
<section id="role-problem-originator" xreflabel="Report originator">
<title>Report originator</title>
<para>
The person originally responsible for
filing a Problem Report.
</para>
</section>
<section id="role-bugbuster" xreflabel="Bugbuster">
<title>Bugbuster</title>
<para>
A person who will either find the right
person to solve the problem, or close the PR if
it is a duplicate or otherwise
not an interesting one.
</para>
</section>
<section id="role-mentor" xreflabel="Mentor">
<title>Mentor</title>
<para>
A mentor is a committer who takes it upon him/her to
introduce a new committer to the project, both in terms of
ensuring the new committers setup is valid,
that the new committer knows the available tools required in
his/her work and that the
new committer knows what is expected of him/her in terms of
behaviour.
</para>
</section>
<section id="role-vendor" xreflabel="Vendor">
<title>Vendor</title>
<para>
The person(s) or organisation whom
external code comes from and whom patches are sent to.
</para>
</section>
<section id="role-reviewer" xreflabel="Reviewer">
<title>Reviewers</title>
<para>
People on the mailing list where the request
for review is posted.
</para>
</section>
-
- <section id="role-cvsup-sitemaint" xreflabel="CVSup Mirror Site
- Admin">
- <title>CVSup Mirror Site Admin</title>
- <para>
- A CVSup Mirror Site Admin has accesses to a server that he/she
- uses to mirror the CVS repository. The admin works with the
- <xref linkend="role-cvsup-coordinator"/> to ensure the site
- remains up-to-date and is following the general policy of
- official mirror sites.
- </para>
- </section>
-
-
</section>
</chapter>
<chapter id="model-processes" xreflabel="processes">
<title>Processes</title>
<para>
The following section will describe the defined project
processes. Issues that are not handled by these processes happen
on an ad-hoc basis based on what has been customary to do in
similar cases.
</para>
<section id="proc-addrem-committer">
<title>Adding new and removing old committers</title>
<para>
The Core team has the responsibility of giving and removing
commit privileges to contributors. This can only be done
through a vote on the core mailing list.
The ports and documentation sub-projects can give commit
privileges to people working on these projects, but have to
date not removed such privileges. <!-- ref Bruce <bmah@> -->
</para>
<para>
Normally a contributor is recommended to core by a
committer. For contributors or outsiders to contact
core asking to be a committer is not well thought of
and is usually rejected.
</para>
<para>
If the area of particular interest for the developer
potentially overlaps with other committers' area of
maintainership, the opinion of those maintainers is
sought. However, it is frequently this committer that
recommends the developer.
</para>
<para>
When a contributor is given committer status, he is
assigned a mentor. The committer who recommended the
new committer will, in the general case, take it upon
himself to be the new committers mentor.
</para>
<para>
When a contributor is given his commit bit, a <xref linkend="tool-pgp"/>-signed email is sent
from either <xref linkend="role-core-secretary"/>,
<xref linkend="role-ports-manager"/> or nik@freebsd.org to both
admins@freebsd.org, the assigned mentor, the new committer and
core confirming the approval of a new account. The mentor then
gathers a password line, <xref linkend="tool-ssh2"/> public key and PGP key from the
new committer and sends them to <xref
linkend="role-admin"/>. When the new account is created, the
mentor activates the commit bit and guides the new committer
through the rest of the initial process.
</para>
<para>
<figure>
<title>Process summary: adding a new committer</title>
<graphic fileref="proc-add-committer"/>
</figure>
</para>
<para>
When a contributor sends a piece of code, the receiving
committer may choose to recommend that the contributor is
given commit privileges. If he recommends this to core,
they will vote on this recommendation. If they vote in
favour, a mentor is assigned the new committer and the new
committer has to email his details to the administrators
for an account to be created. After this, the new
committer is all set to make his first commit. By
tradition, this is by adding his name to the committers list.
</para>
<para>
Recall that a committer is considered to be someone who
has committed code during the past 12
months. However, it is not until after 18 months of inactivity
have passed
that commit privileges are eligible to be revoked.
<citation><xref linkend="freebsd-expiration-policy"/></citation>
There are, however, no
automatic procedures for doing this.
For reactions concerning commit privileges not triggered by
time, see <link linkend="process-reactions">section 1.5.8</link>.
</para>
<para>
<figure>
<title>Process summary: removing a committer</title>
<graphic fileref="proc-rm-committer"/>
</figure>
</para>
<para>
When Core decides to clean up the committers list, they
check who has not made a commit for the past 18 months.
Committers who have not done so have their commit
bits revoked.
</para>
<para>
It is also possible for committers to request that their commit
bit be retired if for some reason they are no longer going
to be actively committing to the project. In this case, it can also
be restored at a later time by core, should the committer ask.
</para>
<para>
Roles in this process:
<orderedlist>
<listitem><para>
<xref linkend="role-core"/>
</para></listitem>
<listitem><para>
<xref linkend="role-contributor"/>
</para></listitem>
<listitem><para>
<xref linkend="role-committer"/>
</para></listitem>
<listitem><para>
<xref linkend="role-maintainer"/>
</para></listitem>
<listitem><para>
<xref linkend="role-mentor"/>
</para></listitem>
</orderedlist>
</para>
<para>
<citation><xref linkend="freebsd-bylaws"/></citation>
<citation><xref linkend="freebsd-expiration-policy"/></citation>
<citation><xref linkend="freebsd-new-account"/></citation>
</para>
</section>
- <section id="process-cvsupmirror" xreflabel="Adding an official
- CVSup Mirror">
- <title>Adding/Removing an official CVSup Mirror</title>
-
- <para>
- A <xref linkend="tool-cvsup"/> mirror is a replica of the
- official CVSup master that contains all the up-to-date source
- code for all the branches in the FreeBSD project, ports and
- documentation.
- </para>
-
- <para>
- Adding an official CVSup mirror starts with the potential
- <xref linkend="role-cvsup-sitemaint"/> installing the
- <quote>cvsup-mirror</quote> package. Having done this and
- updated the source code with a mirror site, he now runs a
- fairly recent unofficial CVSup mirror.
- </para>
-
- <para>
- Deciding he has a stable environment, the processing
- power, the network capacity and the
- storage capacity to run an official mirror, he mails the
- <xref linkend="role-cvsup-coordinator"/> who decides whether
- the mirror should become an official mirror or not.
- </para>
-
- <para>
- In making this decision, the <xref linkend="role-cvsup-coordinator"/>
- has to determine whether that geographical area needs
- another mirror site, if the mirror administrator has the
- skills to run it reliably, if the network bandwidth is
- adequate and if the master server has the capacity to server
- another mirror.
- </para>
-
- <para>
- If <xref linkend="role-cvsup-coordinator"/> decides that the
- mirror should become an official mirror, he obtains an
- authentication key from the mirror admin that he installs so
- the mirror admin can update the mirror from the master server.
- </para>
-
- <para>
- <figure>
- <title>Process summary: adding a CVSup mirror</title>
- <graphic fileref="proc-add-cvsup"/>
- </figure>
- </para>
-
- <para>
- When a CVSup mirror administrator of an unofficial mirror
- offers to become an official mirror site, the CVSup
- coordinator decides if another mirror is needed and if
- there is sufficient capacity to accommodate it. If so,
- an authorisation key is requested and the mirror is given
- access to the main distribution site and added to the
- list of official mirrors.
- </para>
-
-
- <para>
- Tools used in this process:
- <itemizedlist>
- <listitem><para>
- <xref linkend="tool-cvsup"/>
- </para></listitem>
- <listitem><para>
- <xref linkend="tool-ssh2"/>
- </para></listitem>
- </itemizedlist>
- </para>
-
- <para>
- Hats involved in this process:
- <itemizedlist>
- <listitem><para>
- <xref linkend="role-cvsup-coordinator"/>
- </para></listitem>
- <listitem><para>
- <xref linkend="role-cvsup-sitemaint"/>
- </para></listitem>
- </itemizedlist>
- </para>
-
- </section>
-
<section id="committing">
<title>Committing code</title>
<para>
The committing of new or modified code is one of the most
frequent processes in the FreeBSD project and will usually
happen many times a day. Committing of code can only be done
by a <quote>committer</quote>. Committers commit either code
written by themselves, code submitted to them or code
submitted through a <link linkend="model-pr">problem
report</link>.
</para>
<para>
When code is written by the developer that is non-trivial, he
should seek a code review from the community. This
is done by sending mail to the relevant list asking for
review. Before submitting the code for review, he should
ensure it compiles correctly with the entire tree and that all
relevant tests run. This is called <quote>pre-commit
test</quote>. When contributed code is received, it should be
reviewed by the committer and tested the same way.
</para>
<para>
When a change is committed to a part of the source that
has been contributed from an outside
<xref linkend="role-vendor"/>,
the maintainer should
ensure that the patch is contributed back to the
vendor. This is in line with the open source
philosophy and
makes it easier to stay in sync with outside projects
as the patches do not have to be reapplied every time a
new release is made.
</para>
<para>
After the code has been available for review and no further
changes are necessary, the code is committed into the
development branch, -CURRENT.
If the change applies for
the -STABLE branch or the other branches as well, a
<quote>Merge From Current</quote> ("MFC") countdown is
set by the committer. After the number of days the
committer chose when setting the MFC have passed, an email
will automatically be
sent to the committer reminding him to commit it to the -STABLE
branch (and possibly security branches as well). Only security
critical changes should be merged to security branches.
</para>
<para>
Delaying the commit to -STABLE and other branches allows for
<quote>parallel debugging</quote> where the committed code is
tested on a wide range of configurations. This makes changes
to -STABLE to contain fewer faults and thus giving the branch
its name.
</para>
<para>
<figure>
<title>Process summary: A committer commits code</title>
<graphic fileref="proc-commit"/>
</figure>
</para>
<para>
When a committer has written a piece of code and
wants to commit it, he first needs to determine if it is
trivial enough to go in without prior review or if it should
first be reviewed by the developer community. If the code is
trivial or has been reviewed and the committer is not the
maintainer, he should consult the maintainer before
proceeding.
If the code is contributed by an outside vendor, the
maintainer should create a patch that is sent back to the
vendor. The code is then committed and the deployed by
the users. Should they find problems with the code, this
will be reported and the committer can go back to writing
a patch. If a vendor is affected, he can choose to
implement or ignore the patch.
</para>
<para>
<figure>
<title>Process summary: A contributor commits code</title>
<graphic fileref="proc-contrib"/>
</figure>
</para>
<para>
The difference when a contributor makes a code contribution is
that he submits the code through the send-pr
program. This report is picked up by the maintainer who
reviews the code and commits it.
</para>
<para>
Hats included in this process are:
<orderedlist>
<listitem><para>
<xref linkend="role-committer"/>
</para></listitem>
<listitem><para>
<xref linkend="role-contributor"/>
</para></listitem>
<listitem><para>
<xref linkend="role-vendor"/>
</para></listitem>
<listitem><para>
<xref linkend="role-reviewer"/>
</para></listitem>
</orderedlist>
</para>
<para>
<citation><xref linkend="freebsd-committer"/></citation>
<citation><xref linkend="jorgensen2001"/></citation>
</para>
</section>
<section id="process-core-election" xreflabel="Core election">
<title>Core election</title>
<para>
Core elections are held at least every two years.
<footnote>
<para>The first Core election was held September 2000</para>
</footnote>
Nine core members are elected. New elections are held if
the number of core members drops below seven. New elections can
also be held should at least 1/3 of the active committers demand this.
</para>
<para>
When an election is to take place, core announces this at
least 6 weeks in advance, and appoints an election manager to
run the elections.
</para>
<para>
Only committers can be elected into core. The candidates need
to submit their candidacy at least one week before the
election starts, but can refine their statements until the
voting starts. They are
presented in the <ulink
url="http://election.uk.freebsd.org/candidates.html">candidates
list</ulink>. When writing their election statements, the candidates
must answer a few standard questions submitted by the election manager.
</para>
<para>
During elections, the rule that a committer must have
committed during the 12 past months is followed strictly.
Only these committers are eligible to vote.
</para>
<para>
When voting, the committer may vote once in support of up to
nine nominees. The voting is done over a period of four weeks
with reminders being posted on <quote>developers</quote>
mailing list that is available to all committers.
</para>
<para>
The election results are released one week after the election
ends, and the new core team takes office one week after the
results have been posted.
</para>
<para>
Should there be a voting tie, this will be resolved by
the new, unambiguously elected core members.
</para>
<para>
Votes and candidate statements are archived, but the archives
are not publicly available.
</para>
<para>
<figure>
<title>Process summary: Core elections</title>
<graphic fileref="proc-elections"/>
</figure>
</para>
<para>
Core announces the election and selects an election
manager. He prepares the elections, and when ready,
candidates can announce their candidacies through
submitting their statements. The committers then vote.
After the vote is over, the election results are
announced and the new core team takes office.
</para>
<para>
Hats in core elections are:
<itemizedlist>
<listitem><para>
<xref linkend="role-core"/>
</para></listitem>
<listitem><para>
<xref linkend="role-committer"/>
</para></listitem>
<listitem><para>
<xref linkend="role-election-manager"/>
</para></listitem>
</itemizedlist>
</para>
<para>
<citation><xref linkend="freebsd-bylaws"/></citation>
<citation><xref linkend="bsd-election2002"/></citation>
<citation><xref linkend="freebsd-election"/></citation>
</para>
</section>
<section id="new-features">
<title>Development of new features</title>
<para>
Within the project there are sub-projects that are working on
new features. These projects are generally done by one person
<citation><xref linkend="jorgensen2001"/></citation>.
Every project is free to
organise development as it sees fit. However, when the project
is merged to the -CURRENT branch it must follow the project
guidelines. When the code has been well tested in the
-CURRENT branch and deemed stable enough and relevant
to the -STABLE branch, it is merged to the -STABLE branch.
</para>
<para>
The requirements of the project are given by developer
wishes, requests from the community in terms of direct
requests by mail, Problem Reports, commercial funding for the development
of features, or contributions by the scientific community.
The wishes that come within the responsibility of a developer
are given to that developer who prioritises his time between
the request and his wishes. A common way to do this is maintain
a TODO-list maintained by the project. Items that do not come within
someone's responsibility are collected on TODO-lists unless someone
volunteers to take the responsibility. All
requests, their distribution and follow-up are
handled by the <xref linkend="tool-gnats"/> tool.
</para>
<para>
Requirements analysis happens in two ways. The requests that
come in are discussed on mailing lists, both within the main
project and in the sub-project that the request belongs to or is
spawned by the request. Furthermore, individual developers on
the sub-project will evaluate the feasibility of the requests
and determine the prioritisation between them. Other than archives
of the discussions that have taken place, no outcome is created
by this phase that is merged into the main project.
</para>
<para>
As the requests are prioritised by the individual developers on
the basis of doing what they find interesting, necessary or are
funded to do, there is no overall strategy or priorisation of
what requests to regard as requirements and following up their
correct implementation. However, most developers have some
shared vision of what issues are more important, and they can
ask for guidelines from the release engineering team.
<!-- and
technical review board.
[TODO] TRB is undefined at the moment -->
</para>
<para>
The verification phase of the project is two-fold. Before
committing code to the current-branch, developers request their
code to be reviewed by their peers. This review is for the most
part done by functional testing, but also code review is
important. When the code is committed to the branch, a broader
functional testing will happen, that may trigger further code
review and debugging should the code not behave as
expected. This second verification form may be regarded as
structural verification.
Although the sub-projects themselves may write formal
tests such as unit tests, these are usually not collected by the main
project and are usually removed before the code is committed to
the current branch.
<footnote>
<para>
More and more tests are however performed when
building the system (<quote>make
world</quote>). These tests are however a very new
addition and no systematic framework for these
tests have yet been created.
</para>
</footnote>
</para>
</section>
<section id="model-maintenance" xreflabel="maintenance">
<title>Maintenance</title>
<para>
It is an advantage to the project to for each area of the source
have at least one person that knows this area well.
Some parts of the code have designated
maintainers. Others have de-facto maintainers, and some
parts of the system do not have
maintainers.
The maintainer is usually a person from the sub-project that
wrote and integrated the code, or someone who has ported it from
the platform it was written for.
<footnote>
<para>
sendmail and named are examples of code that has been merged
from other platforms.
</para>
</footnote>
The maintainer's job is to make sure the code is in sync with the
project the code comes from if it is contributed code, and apply patches
submitted by the community or write fixes to issues that are
discovered.
</para>
<para>
The main bulk of work that is put into the FreeBSD project is
maintenance. <citation><xref
linkend="jorgensen2001"/></citation>
has made a figure
showing the life cycle of changes.
</para>
<para>
<figure>
<title>J&oslash;rgenssen's model for change integration</title>
<graphic fileref="maintenance"/>
</figure>
</para>
<para>
Here <quote>development release</quote> refers to the -CURRENT
branch while <quote>production release</quote> refers to the
-STABLE branch. The <quote>pre-commit test</quote> is the
functional testing by peer developers when asked to do so or
trying out the code to determine the status of the sub-project.
<quote>Parallel debugging</quote> is the functional testing
that can trigger more review, and debugging when the code is
included in the -CURRENT branch.
</para>
<para>
As of this writing, there were 269 committers in the
project. When they commit a change to a branch, that constitutes
a new release. It is very common for users in the community to
track a particular branch. The immediate existence of a new
release makes the changes widely available right away and allows
for rapid feedback from the community. This also gives the
community the response time they expect on issues that are of
importance to them. This makes the community more engaged, and
thus allows for more and better feedback that again spurs more
maintenance and ultimately should create a better product.
</para>
<para>
Before making changes to code in parts of the tree
that has a history unknown to the committer, the
committer is required to read the commit logs to see why
certain features are implemented the way they are in
order not to make mistakes that have previously either been
thought through or resolved.
</para>
</section>
<section id="model-pr">
<title>Problem reporting</title>
<para>
FreeBSD comes with a problem reporting tool called
<quote>send-pr</quote> that is a part of the GNATS package.
All users and developers are encouraged to use this tool for
reporting problems in software they do not maintain. Problems
include bug reports, feature requests, features that should be enhanced
and notices of new versions of external software that is included
in the project.
</para>
<para>
Problem reports are sent to an email address where it
is inserted into the GNATS maintenance database. A
<xref linkend="role-bugbuster"/>
classifies the problem and sends it to the
correct group or maintainer within the project. After someone
has taken responsibility for the report, the report is being
analysed. This analysis includes verifying the problem and
thinking out a solution for the problem. Often feedback is
required from the report originator or even from the FreeBSD
community. Once a patch for the problem is made, the
originator may be asked to try it out. Finally, the working patch
is integrated into the project, and documented if
applicable. It there goes through the regular maintenance
cycle as described in section <xref linkend="model-maintenance"/>.
These are the states a problem report can be in:
open, analyzed, feedback, patched, suspended and closed. The
suspended state is for when further progress is not possible
due to the lack of information or for when the task would require
so much work that nobody is working on it at the moment.
</para>
<para>
<figure>
<title>Process summary: problem reporting</title>
<graphic fileref="proc-pr"/>
</figure>
</para>
<para>
A problem is reported by the report originator. It is
then classified by a bugbuster and handed to the correct
maintainer. He verifies the problem and discusses the
problem with the originator until he has enough
information to create a working patch. This patch is then
committed and the problem report is closed.
</para>
<para>
The roles included in this process are:
<orderedlist>
<listitem><para>
<xref linkend="role-problem-originator"/>
</para></listitem>
<listitem><para>
<xref linkend="role-maintainer"/>
</para></listitem>
<listitem><para>
<xref linkend="role-bugbuster"/>
</para></listitem>
</orderedlist>
</para>
<para>
<citation><xref linkend="freebsd-handle-pr"/></citation>.
<citation><xref linkend="freebsd-send-pr"/></citation>
</para>
</section>
<section id="process-reactions" xreflabel="Reacting to misbehaviour">
<title>Reacting to misbehaviour</title>
<para>
<citation><xref linkend="freebsd-committer"/></citation> has a
number of rules that committers should follow. However, it
happens that these rules are broken. The following rules exist
in order to be able to react to misbehaviour. They specify what
actions will result in how long a suspension the committer's
commit privileges.
<itemizedlist>
<listitem><para>
Committing during code freezes without the approval of the
Release Engineering team - 2 days
</para></listitem>
<listitem><para>
Committing to a security branch without approval - 2 days
</para></listitem>
<listitem><para>
Commit wars - 5 days to all participating parties
</para></listitem>
<listitem><para>
Impolite or inappropriate behaviour - 5 days
</para></listitem>
</itemizedlist>
<citation><xref linkend="ref-freebsd-trenches"/></citation>
</para>
<para>
For the suspensions to be efficient, any single core member can
implement a suspension before discussing it on the <quote>core</quote>
mailing list. Repeat offenders can, with a 2/3 vote by core,
receive harsher penalties, including permanent removal of
commit privileges. (However, the latter is always viewed as a last
resort, due to its inherent tendency to create controversy). All
suspensions are posted to the
<quote>developers</quote>
mailing list, a list available to committers only.
</para>
<para>
It is important that you cannot be suspended for making
technical errors. All penalties come from breaking social etiquette.
</para>
<para>
Hats involved in this process:
<itemizedlist>
<listitem><para>
<xref linkend="role-core"/>
</para></listitem>
<listitem><para>
<xref linkend="role-committer"/>
</para></listitem>
</itemizedlist>
</para>
</section>
<section id="process-release-engineering" xreflabel="release engineering">
<title>Release engineering</title>
<para>
The FreeBSD project has a Release Engineering <!-- ("RE") --> team with a
principal release engineer that is responsible for creating releases
of FreeBSD that can be brought out to the user community via the
net or sold in retail outlets. Since FreeBSD is available on multiple
platforms and releases for the different architectures are made
available at the same time, the team has one person in charge of
each architecture. Also, there are roles in the team responsible
for coordinating quality assurance <!-- ("QA") --> efforts, building a package
set and for having an updated set of documents.
When referring to the release engineer,
a representative for the release engineering team is
meant.
</para>
<para>
When a release is coming, the FreeBSD project changes shape
somewhat. A release schedule is made containing feature- and
code-freezes, release of interim releases and the final
release. A feature-freeze means no new features are allowed to
be committed to the branch without the release engineers'
explicit consent. Code-freeze means no changes to the code (like
bugs-fixes) are allowed to be committed without the release
engineers explicit consent. This feature- and code-freeze is
known as stabilising. During the release process, the release
engineer has the full authority to revert to older versions of
code and thus "back out" changes should he find that the changes
are not suitable to be included in the release.
</para>
<para>
There are three different kinds of releases:
<orderedlist>
<listitem><para>
.0 releases are the first release of a major
version. These are branched of the -CURRENT branch
and have a significantly longer release engineering
cycle due to the unstable nature of the -CURRENT branch
</para></listitem>
<listitem><para>
.X releases are releases of the -STABLE
branch. They are scheduled to come out every 4 months.
</para></listitem>
<listitem><para>
.X.Y releases are security releases that follow
the .X branch. These come out only when sufficient
security fixes have been merged since the last
release on that branch. New features are rarely
included, and the security team is far more
involved in these than in regular releases.
</para></listitem>
</orderedlist>
</para>
<para>
For releases of the -STABLE-branch, the release process starts 45
days before the anticipated
release date. During the first phase, the first 15 days, the
developers merge what changes they have had in -CURRENT
that they want to have in the release to the release
branch. When this period is over, the code enters a 15
day code freeze in which only bug fixes, documentation updates,
security-related fixes and minor device driver changes are
allowed. These changes must be approved by the release engineer
in advance. At the beginning of the last 15 day period a release
candidate is created for widespread testing. Updates are less
likely to be allowed during this period, except for important
bug fixes and security updates. In this final period, all
releases are considered release candidates. At the end of the
release process, a release is created with the new version
number, including binary distributions on web sites and the
creation of a CD-ROM images. However, the release is not
considered "really released" until a <xref linkend="tool-pgp"/>-signed message stating
exactly that, is sent to the mailing list freebsd-announce; anything
labelled as a "release" before that may well be in-process and
subject to change before the PGP-signed message is sent.
<footnote>
<para>
Many commercial vendors use these images to create
CD-ROMs that are sold in retail outlets.
</para>
</footnote>.
</para>
<para>
The releases of the -CURRENT-branch (that is, all releases that
end with <quote>.0</quote>) are very similar, but with twice as
long timeframe. It starts 8 weeks prior to the release with
announcement of the release time line. Two weeks into the
release process, the feature freeze is initiated and performance
tweaks should be kept to a minimum. Four weeks prior to the
release, an official beta version is made available. Two weeks
prior to release, the code is officially branched into a new
version. This version is given release candidate status, and as
with the release engineering of -STABLE, the code freeze of the
release candidate is
hardened. However, development on the main development branch
can continue. Other than these differences, the release
engineering processes are alike.
</para>
<para>
.0 releases go into their own branch and are aimed
mainly at early adopters. The branch then goes through a period
of stabilisation, and it is not until the <xref linkend="role-releng"/>
decides the demands to stability have been satisfied that
the branch becomes -STABLE and -CURRENT targets the next major
version. While this for the majority has been with .1 versions,
this is not a demand.
</para>
<para>
Most releases are made when a given date that has been deemed a
long enough time since the previous release comes. A target is
set for having major releases every 18 months and minor
releases every 4 months.
The user community has made it very clear that security and
stability cannot be sacrificed by self-imposed deadlines and
target release dates.
For slips of time not to become too long with regards to security
and stability issues,
extra discipline is required when committing changes to -STABLE.
</para>
<para>
<figure>
<title>Process summary: release engineering</title>
<graphic fileref="proc-releng"/>
</figure>
</para>
<para>
These are the stages in the release engineering
process. Multiple release candidates may be created until
the release is deemed stable enough to be released.
</para>
<para>
<citation><xref linkend="freebsd-releng"/></citation>
</para>
</section>
</chapter>
<chapter id="tools">
<title>Tools</title>
<para>
The major support tools for supporting the development process are
- CVS, CVSup, Perforce, GNATS, Mailman and OpenSSH. Except for
- CVSup, these are externally
- developed tools. These tools are commonly used in the open source world.
+ Perforce, GNATS, Mailman and OpenSSH. These are externally
+ developed tools and are commonly used in the open source world.
</para>
<section id="tool-svn" xreflabel="SVN">
<title>Subversion (SVN)</title>
<para>Subversion (<quote>SVN</quote>)
is a system to handle multiple versions of text files and
tracking who committed what changes and why. A project lives
within a <quote>repository</quote> and different versions are
considered different <quote>branches</quote>.
- </para>
- </section>
-
- <section id="tool-cvsup" xreflabel="CVSup">
- <title>CVSup</title>
- <para>
- CVSup is a software package for distributing and updating
- collections of files across a network. It consists of a
- client program, cvsup, and a server program, cvsupd. The
- package is tailored specifically for distributing CVS
- repositories, and by taking advantage of CVS' properties, it
- performs updates much faster than traditional systems.
</para>
</section>
<section id="tool-gnats" xreflabel="GNATS">
<title>GNATS</title>
<para>
GNATS is a maintenance database consisting of a set of tools to track bugs at a
central site. It supports the bug tracking process for sending
and handling bugs as well as querying and updating the database
and editing bug reports. The project uses one of its many client
interfaces, <quote>send-pr</quote>, to send
<quote>Problem Reports</quote> by email to the
projects central GNATS server. The committers have also web and
command-line clients available.
</para>
</section>
<section id="model-mailman" xreflabel="[model, Mailman]">
<title>Mailman</title>
<para>
Mailman is a program that automates the
management of mailing lists. The FreeBSD Project uses it to run
16 general lists, 60 technical lists, 4 limited lists and 5 lists
with CVS commit logs. It is
also used for many mailing lists set up and used by other people
and projects in the FreeBSD community. General lists are lists
for the general public, technical lists are mainly for the
development of specific areas of interest, and closed lists
are for internal communication not intended for the general
public. The majority of all the communication in the project goes
through these 85 lists
<citation><xref linkend="ref-bsd-handbook"/>, Appendix C</citation>.
</para>
</section>
<section id="tool-perforce" xreflabel="Perforce">
<title>Perforce</title>
<para>
Perforce is a commercial software configuration management
system developed by Perforce
Systems that is available on over 50 operating systems. It
is a collection of clients built around the Perforce server
that contains the central file repository and
tracks the operations done upon it. The clients are both
clients for accessing the repository and administration of
its configuration.
<!-- REF: http://www.perforce.com/perforce/products.html -->
</para>
</section>
<section id="tool-pgp" xreflabel="PGP">
<title>Pretty Good Privacy</title>
<para>
Pretty Good Privacy, better known as PGP, is a cryptosystem
using a public key architecture to allow people to digitally
sign and/or encrypt information in order to ensure secure
communication between two parties. A signature is used when
sending information out many recipients, enabling them to verify
that the information has not been tampered with before they
received it. In the FreeBSD Project this is the primary means of
ensuring that information has been written by the person who
claims to have written it, and not altered in transit.
</para>
</section>
<section id="tool-ssh2" xreflabel="SSH 2">
<title>Secure Shell</title>
<para>
Secure Shell is a standard for securely logging into a remote system
and for executing commands on the remote system. It allows
other connections, called tunnels, to be established and
protected between the two involved systems. This standard
exists in two primary versions, and only version two is used
for the FreeBSD Project. The most common implementation of the
standard is OpenSSH that is a part of the project's main distribution.
Since its source is updated more often than FreeBSD releases,
the latest version is also available in the ports tree.
</para>
</section>
</chapter>
<chapter id="sub-projects">
<title>Sub-projects</title>
<para>
Sub-projects are formed to reduce the amount of communication
needed to coordinate the group of developers. When a problem
area is sufficiently isolated, most communication would be
within the group focusing on the problem, requiring less
communication with the groups they communicate with than were
the group not isolated.
</para>
<section id="sub-project-ports" xreflabel="The Ports Subproject">
<title>The Ports Subproject</title>
<para>
A <quote>port</quote> is a set of meta-data and patches that
are needed to fetch, compile and install correctly an external piece of
software on a FreeBSD system. The amount of ports have grown
at a tremendous rate, as shown by the following figure.
</para>
<para>
<figure id="fig-ports">
<title>Number of ports added between 1996 and 2005</title>
<graphic fileref="portsstatus"/>
</figure>
</para>
<para>
<xref linkend="fig-ports"/> is taken from
<ulink url="http://www.freebsd.org/ports/growth/status.png">
the FreeBSD web site</ulink>. It shows the number of ports
available to FreeBSD in the period 1995 to 2005. It looks
like the curve has first grown exponentionally, and then
since the middle of 2001 grown linearly.
</para>
<para>
As the external software described by the port often is under
continued development, the amount of work required to maintain
the ports is already large, and increasing. This has led to
the ports part of the FreeBSD project gaining a more empowered
structure, and is more and more becoming a sub-project of the
FreeBSD project.
</para>
<para>
Ports has its own core team with the
<xref linkend="role-ports-manager"/> as its leader, and this
team can appoint committers without FreeBSD Core's
approval. Unlike in the FreeBSD Project, where a lot of maintenance
frequently is rewarded with a commit bit, the ports sub-project
contains many active maintainers that are not committers.
</para>
<para>
Unlike the main project, the ports tree is not branched. Every
release of FreeBSD follows the current ports collection and has thus
available updated information on where to find programs and
how to build them. This, however, means that a port that makes
dependencies on the system may need to have variations
depending on what version of FreeBSD it runs on.
</para>
<para>
With an unbranched ports repository
it is not possible to guarantee that any port
will run on anything other than -CURRENT and -STABLE, in
particular older, minor releases. There is neither the infrastructure
nor volunteer time needed to guarantee this.
</para>
<para>
For efficiency of communication, teams depending on Ports,
such as the release engineering team, have their own ports liaisons.
</para>
</section>
<section id="sub-project-documentation" xreflabel="The FreeBSD
Documentation Project">
<title>The FreeBSD Documentation Project</title>
<para>
<!-- [TODO] - Recount, according to the statistics there were only
9 mainly Doc-committers in 2004. Get mailinglist data -->
The FreeBSD Documentation project was started January 1995. From
the initial group of a project leader, four team leaders and 16
members, they are now a total of 44 committers. The
documentation mailing list has just under 300 members,
indicating that there is quite a large community around it.
</para>
<para>
The goal of the Documentation project is to provide good and
useful documentation of the FreeBSD project, thus making it
easier for new users to get familiar with the system and
detailing advanced features for the users.
</para>
<para>
The main tasks in the Documentation project are to work on
current projects in the <quote>FreeBSD Documentation Set</quote>,
and translate the documentation to other languages.
</para>
<para>
Like the FreeBSD Project, documentation is split in the same
branches. This is done so that there is always an updated
version of the documentation for each version. Only
documentation errors are corrected in the security branches.
</para>
<para>
Like the ports sub-project, the Documentation project can
appoint documentation committers without FreeBSD Core's approval.
<citation><xref linkend="freebsd-doceng-charter"/></citation>.
</para>
<para>
The Documentation project has a primer. This is used both to
introduce new project members to the standard tools and
syntaxes and acts as a reference when working on the project.
</para>
</section>
</chapter>
<bibliography id="bibliography">
<title>References</title>
<biblioentry id="brooks" xreflabel="Brooks, 1995">
<authorgroup>
<author><firstname>Frederick P.</firstname><surname>Brooks</surname></author>
</authorgroup>
<copyright><year>1975</year><year>1995</year>
<holder>Pearson Education Limited</holder>
</copyright>
<isbn>0201835959</isbn>
<publisher>
<publishername>Addison-Wesley Pub Co</publishername>
</publisher>
<title>The Mythical Man-Month</title>
<subtitle>Essays on Software Engineering, Anniversary Edition (2nd Edition)</subtitle>
</biblioentry>
<biblioentry id="thesis" xreflabel="Saers, 2003">
<authorgroup>
<author><firstname>Niklas</firstname><surname>Saers</surname></author>
</authorgroup>
<copyright>
<year>2003</year>
</copyright>
<title>A project model for the FreeBSD Project</title>
<subtitle>Candidatus Scientiarum thesis</subtitle>
<bibliomisc role="url"><ulink url="http://niklas.saers.com/thesis"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="jorgensen2001" xreflabel="J&oslash;rgensen, 2001">
<authorgroup>
<author><firstname>Niels</firstname><surname>J&oslash;rgensen</surname></author>
</authorgroup>
<copyright>
<year>2001</year>
</copyright>
<title>Putting it All in the Trunk</title>
<subtitle>Incremental Software Development in the FreeBSD Open Source Project</subtitle>
<bibliomisc role="url"><ulink url="http://www.dat.ruc.dk/~nielsj/research/papers/freebsd.pdf"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="ref-pmbok" xreflabel="PMI, 2000">
<authorgroup>
<author><surname>Project Management Institute</surname></author>
</authorgroup>
<copyright><year>1996</year><year>2000</year>
<holder>Project Management Institute</holder>
</copyright>
<isbn>1-880410-23-0</isbn>
<publisher>
<publishername>Project Management Institute</publishername>
<address>
<street>Newtown Square</street>
<city>Pennsylvania</city>
<country>USA</country>
</address>
</publisher>
<title>PMBOK Guide</title>
<subtitle>A Guide to the Project Management Body of Knowledge,
2000 Edition</subtitle>
</biblioentry>
<biblioentry id="freebsd-bylaws" xreflabel="FreeBSD, 2000A">
<copyright><year>2002</year>
<holder>The FreeBSD Project</holder>
</copyright>
<title>Core Bylaws</title>
<bibliomisc role="url"><ulink url="http://www.freebsd.org/internal/bylaws.html"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="freebsd-developer-handbook" xreflabel="FreeBSD, 2002A">
<copyright><year>2002</year>
<holder>The FreeBSD Documentation Project</holder>
</copyright>
<title>FreeBSD Developer's Handbook</title>
<bibliomisc role="url"><ulink url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="bsd-election2002" xreflabel="FreeBSD, 2002B">
<copyright><year>2002</year>
<holder>The FreeBSD Project</holder>
</copyright>
<title>Core team election 2002</title>
<bibliomisc role="url"><ulink url="http://election.uk.freebsd.org/candidates.html"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="freebsd-handle-pr" xreflabel="FreeBSD, 2002C">
<authorgroup>
<author><firstname>Dag-Erling</firstname><surname>Sm&oslash;rgrav</surname></author>
<author><firstname>Hiten</firstname><surname>Pandya</surname></author>
</authorgroup>
<copyright><year>2002</year>
<holder>The FreeBSD Documentation Project</holder>
</copyright>
<publisher>
<publishername>The FreeBSD Documentation Project</publishername>
</publisher>
<title>Problem Report Handling Guidelines</title>
<bibliomisc role="url"><ulink url="http://www.freebsd.org/doc/en/articles/pr-guidelines/article.html"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="freebsd-send-pr" xreflabel="FreeBSD, 2002D">
<authorgroup>
<author><firstname>Dag-Erling</firstname><surname>Sm&oslash;rgrav</surname></author>
</authorgroup>
<copyright><year>2002</year>
<holder>The FreeBSD Documentation Project</holder>
</copyright>
<publisher>
<publishername>The FreeBSD Documentation Project</publishername>
</publisher>
<title>Writing FreeBSD Problem Reports</title>
<bibliomisc role="url"><ulink url="http://www.freebsd.org/doc/en/articles/problem-reports/article.html"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="freebsd-committer" xreflabel="FreeBSD, 2001">
<copyright><year>2001</year>
<holder>The FreeBSD Documentation Project</holder>
</copyright>
<publisher>
<publishername>The FreeBSD Documentation Project</publishername>
</publisher>
<!-- Version 1.146 -->
<title>Committers Guide</title>
<bibliomisc role="url"><ulink url="http://www.freebsd.org/doc/en/articles/committers-guide/article.html"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="freebsd-releng" xreflabel="FreeBSD, 2002E">
<authorgroup>
<author><firstname>Murray</firstname><surname>Stokely</surname></author>
</authorgroup>
<copyright><year>2002</year>
<holder>The FreeBSD Documentation Project</holder>
</copyright>
<!-- Version 1.42 -->
<publisher>
<publishername>The FreeBSD Documentation Project</publishername>
</publisher>
<title>FreeBSD Release Engineering</title>
<bibliomisc role="url"><ulink url="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/releng/article.html"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="ref-bsd-handbook" xreflabel="FreeBSD, 2003A">
<authorgroup>
<author><surname>The FreeBSD Documentation Project</surname></author>
</authorgroup>
<title>FreeBSD Handbook</title>
<bibliomisc role="url"><ulink url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="freebsd-contributors" xreflabel="FreeBSD, 2002F">
<copyright><year>2002</year>
<holder>The FreeBSD Documentation Project</holder>
</copyright>
<publisher>
<publishername>The FreeBSD Documentation Project</publishername>
</publisher>
<title>Contributors to FreeBSD</title>
<bibliomisc role="url"><ulink url="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributors/article.html"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="freebsd-election" xreflabel="FreeBSD, 2002G">
<copyright><year>2002</year>
<holder>The FreeBSD Project</holder>
</copyright>
<publisher>
<publishername>The FreeBSD Project</publishername>
</publisher>
<title>Core team elections 2002</title>
<bibliomisc role="url"><ulink url="http://election.uk.freebsd.org"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="freebsd-expiration-policy" xreflabel="FreeBSD, 2002H">
<copyright><year>2002</year>
<holder>The FreeBSD Project</holder>
</copyright>
<publisher>
<publishername>The FreeBSD Project</publishername>
</publisher>
<title>Commit Bit Expiration Policy</title>
<subtitle>2002/04/06 15:35:30</subtitle>
<bibliomisc role="url"><ulink url="http://www.freebsd.org/internal/expire-bits.html"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="freebsd-new-account" xreflabel="FreeBSD, 2002I">
<copyright><year>2002</year>
<holder>The FreeBSD Project</holder>
</copyright>
<publisher>
<publishername>The FreeBSD Project</publishername>
</publisher>
<title>New Account Creation Procedure</title>
<subtitle>2002/08/19 17:11:27</subtitle>
<bibliomisc role="url"><ulink url="http://www.freebsd.org/internal/new-account.html"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="freebsd-doceng-charter" xreflabel="FreeBSD, 2003B">
<copyright><year>2002</year>
<holder>The FreeBSD Documentation Project</holder>
</copyright>
<publisher>
<publishername>The FreeBSD Documentation Project</publishername>
</publisher>
<title>FreeBSD DocEng Team Charter</title>
<subtitle>2003/03/16 12:17</subtitle>
<bibliomisc role="url"><ulink url="http://www.freebsd.org/internal/doceng.html"></ulink></bibliomisc>
</biblioentry>
<biblioentry id="ref-freebsd-trenches" xreflabel="Lehey, 2002">
<authorgroup>
<author><firstname>Greg</firstname><surname>Lehey</surname></author>
</authorgroup>
<copyright><year>2002</year>
<holder>Greg Lehey</holder>
</copyright>
<publisher>
<publishername>Greg Lehey</publishername>
</publisher>
<title>Two years in the trenches</title>
<subtitle>The evolution of a software project</subtitle>
<bibliomisc role="url"><ulink url="http://www.lemis.com/grog/In-the-trenches.pdf"></ulink></bibliomisc>
</biblioentry>
</bibliography>
</book>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/faq/book.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/faq/book.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/faq/book.xml (revision 42804)
@@ -1,8220 +1,8223 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
"../../../share/xml/freebsd45.dtd" [
<!ENTITY bibliography SYSTEM "../../../share/xml/bibliography.xml">
<!ENTITY rel.head "<emphasis>10-CURRENT</emphasis>">
<!ENTITY rel.head.relx "10.<replaceable>X</replaceable>">
<!ENTITY rel.head.releng "<symbol>HEAD</symbol>">
<!ENTITY rel.head.packages "packages-10-current">
<!ENTITY rel.relx "9.<replaceable>X</replaceable>">
<!ENTITY rel.stable "<emphasis>9-STABLE</emphasis>">
<!ENTITY rel.releng "<symbol>RELENG_9</symbol>">
<!ENTITY rel.relengdate "September 2011">
<!ENTITY rel.packages "packages-9-stable">
<!ENTITY rel2.relx "8.<replaceable>X</replaceable>">
<!ENTITY rel2.stable "<emphasis>8-STABLE</emphasis>">
<!ENTITY rel2.releng "<symbol>RELENG_8</symbol>">
<!ENTITY rel2.relengdate "August 2009">
<!ENTITY rel2.packages "packages-8-stable">
]>
<book lang='en'>
<bookinfo>
<title>Frequently Asked Questions for &os;
&rel2.relx;, and &rel.relx;</title>
<corpauthor>The &os; Documentation Project</corpauthor>
<copyright>
<year>1995</year>
<year>1996</year>
<year>1997</year>
<year>1998</year>
<year>1999</year>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<year>2007</year>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<year>2012</year>
<year>2013</year>
<holder>The &os; Documentation Project</holder>
</copyright>
&legalnotice;
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.adobe;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.linux;
&tm-attrib.microsoft;
&tm-attrib.netbsd;
&tm-attrib.opengroup;
&tm-attrib.sgi;
&tm-attrib.sun;
&tm-attrib.general;
</legalnotice>
<releaseinfo>$FreeBSD$</releaseinfo>
<abstract>
<para>This is the FAQ for &os; versions &rel2.relx; and
&rel.relx;. Every effort has been made to make this FAQ as
informative as possible; if you have any suggestions as to how
it may be improved, please feel free to mail them to the
&a.doc;.</para>
<para>The latest version of
this document is always available from the <ulink
url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/faq/index.html">&os; website</ulink>.
It may also be downloaded as one large <ulink
url="book.html">HTML</ulink> file with HTTP or as a variety
of other formats from the <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">&os; FTP
server</ulink>.</para>
</abstract>
</bookinfo>
<chapter id="introduction">
<title>Introduction</title>
<qandaset>
<qandaentry>
<question id="what-is-FreeBSD">
<para>What is &os;?</para>
</question>
<answer>
<para>&os; is a modern operating system for desktops,
laptops, servers, and embedded systems with
support for a large number of <ulink
url="http://www.FreeBSD.org/platforms/">platforms</ulink>.</para>
<para>It is based on U.C.
Berkeley's <quote>4.4BSD-Lite</quote> release, with some
<quote>4.4BSD-Lite2</quote> enhancements. It is also based
indirectly on William Jolitz's port of U.C. Berkeley's
<quote>Net/2</quote> to the &i386;, known as
<quote>386BSD</quote>, though very little of the 386BSD code
remains.</para>
<para>&os; is used by companies, Internet Service Providers,
researchers, computer professionals, students and home users
all over the world in their work, education and
recreation.</para>
<para>For more detailed information on &os;, please see the
<ulink
url="&url.books.handbook;/index.html">&os; Handbook</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="FreeBSD-goals">
<para>What is the goal of the &os; Project?</para>
</question>
<answer>
<para>The goal of the &os; Project is to provide a
stable and fast general purpose
operating system that may
be used for any purpose
without strings attached.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="bsd-license-restrictions">
<para>Does the &os; license have any restrictions?</para>
</question>
<answer>
<para>Yes. Those restrictions do not control how you use the
code, merely how you treat the &os; Project itself. If you
have serious license concerns, read the actual <ulink
url="http://www.FreeBSD.org/copyright/freebsd-license.html">license</ulink>.
For the simply curious, the license can be summarized like
this.</para>
<itemizedlist>
<listitem>
<para>Do not claim that you wrote this.</para>
</listitem>
<listitem>
<para>Do not sue us if it breaks.</para>
</listitem>
<listitem>
<para>Do not remove or modify the license.</para>
</listitem>
</itemizedlist>
<para>Many of us have a significant investment in the
project
and would certainly not mind a little financial
compensation now and then, but we definitely do not insist
on it. We believe that our first and foremost
<quote>mission</quote> is to provide code to any and all
comers, and for whatever purpose, so that the code gets
the
widest possible use and provides the widest possible
benefit. This, we believe, is one of the most
fundamental
goals of Free Software and one that we enthusiastically
support.</para>
<para>Code in our source tree which falls under the
<ulink
url="http://www.FreeBSD.org/copyright/COPYING">GNU General Public License (GPL)</ulink>
or <ulink
url="http://www.FreeBSD.org/copyright/COPYING.LIB">GNU Library General Public License (LGPL)</ulink>
comes with slightly more strings attached, though at least
on the side of enforced access rather than the usual
opposite. Due to the additional complexities that can
evolve in the commercial use of GPL software, we do,
however, endeavor to replace such software with submissions
under the more relaxed <ulink
url="http://www.FreeBSD.org/copyright/freebsd-license.html">&os; license</ulink>
whenever possible.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="replace-current-OS">
<para>Can &os; replace my current operating system?</para>
</question>
<answer>
<para>For most people, yes. But this question is not quite
that cut-and-dried.</para>
<para>Most people do not actually use an operating system.
They use applications. The applications are what really use
the operating system. &os; is designed to provide a robust
and full-featured environment for applications. It supports
a wide variety of web browsers, office suites, email
readers, graphics programs, programming environments,
network servers, and just about everything else you might
want. Most of these applications can be managed through the
<ulink
url="http://www.FreeBSD.org/ports/">Ports Collection</ulink>.</para>
<para>If you need to use an application that is only available
on one operating system, you simply cannot replace that
operating system. Chances are there is a very similar
application on &os;, however. If you want a solid office or
Internet server, a reliable workstation, or just the ability
to do your job without interruptions, &os; will almost
certainly do everything you need. Many computer users
across the world, including both novices and experienced
&unix; administrators, use &os; as their only desktop
operating system.</para>
<para>If you are migrating to &os; from some other &unix;
environment, you already know most of what you need to. If
your background is in graphic-driven operating systems such
as &windows; and &macos;, you may be interested in using
<ulink
url="http://www.pcbsd.org/">PC-BSD</ulink>, a &os; based
distribution, instead. If you have not used &unix; before
expect to invest
additional time learning the &unix; way of doing things.
This FAQ and the <ulink
url="&url.books.handbook;/index.html">&os; Handbook</ulink>
are excellent places to start.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="why-called-FreeBSD">
<para>Why is it called &os;?</para>
</question>
<answer>
<itemizedlist>
<listitem>
<para>It may be used free of charge, even by commercial
users.</para>
</listitem>
<listitem>
<para>Full source for the operating system is freely
available, and the minimum possible restrictions have
been placed upon its use, distribution and incorporation
into other work (commercial or non-commercial).</para>
</listitem>
<listitem>
<para>Anyone who has an improvement or bug fix is free to
submit their code and have it added to the source tree
(subject to one or two obvious provisions).</para>
</listitem>
</itemizedlist>
<para>It is worth pointing out that the word
<quote>free</quote> is being used in two ways here, one
meaning <quote>at no cost</quote>, the other meaning
<quote>you can do whatever you like</quote>. Apart from one
or two things you <emphasis>cannot</emphasis> do with the
&os; code, for example pretending you wrote it, you can
really do whatever you like with it.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="differences-to-other-bsds">
<para>What are the differences between &os; and NetBSD,
OpenBSD, and other open source BSD operating systems?</para>
</question>
<answer>
<para>James Howard wrote a good explanation of the history and
differences between the various projects,
called <ulink
url="http://www.freebsdworld.gr/freebsd/bsd-family-tree.html">The BSD Family Tree</ulink>
which goes a fair way to answering this question.
Some of the information is out of date, but the history
portion in particular remains accurate.</para>
<para>Most of the BSDs share patches and code, even today.
All of the BSDs have common ancestry.</para>
<para>The design goals of &os; are described in
<xref linkend="FreeBSD-goals"/>, above. The design goals
of the other most popular BSDs may be summarized as
follows:</para>
<itemizedlist>
<listitem>
<para>OpenBSD aims for operating system security above
all else. The OpenBSD team wrote &man.ssh.1; and
&man.pf.4;, which have both been ported to &os;.</para>
</listitem>
<listitem>
<para>NetBSD aims to be easily ported to other hardware
platforms.</para>
</listitem>
<listitem>
<para>DragonFly&nbsp;BSD is a fork of &os;&nbsp;4.8 that has
since developed many interesting features of its own,
including the HAMMER file system and support for
user-mode <quote>vkernels</quote>.</para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
<qandaentry>
<question id="latest-version">
<para>What is the latest version of &os;?</para>
</question>
<answer>
<para>At any point in the development of &os;, there can be
multiple parallel branches. &rel.relx; releases are
made from the &rel.stable; branch, and &rel2.relx;
releases are made from the &rel2.stable; branch.</para>
<para>Up until the release of 9.0, the
&rel2.relx; series was the one known as
<emphasis>-STABLE</emphasis>. However, as of
&rel.head.relx;, the
&rel2.relx; branch will be designated for
an <quote>extended support</quote> status and receive only
fixes for major problems, such as security-related fixes.
<!--There will be no more releases made from the
&rel2.stable; branch, and it is considered a
<quote>legacy</quote> branch and most current work will only
become a part of &rel.stable; and &rel2.stable;.--></para>
<para>Version <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel.current;-RELEASE/">&rel.current;</ulink>
is the latest release from the &rel.stable;
branch; it was released in &rel.current.date;. Version
<ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">&rel2.current;</ulink>
is the latest release from the &rel2.stable;
branch; it was released in &rel2.current.date;.</para>
<para>Briefly, <emphasis>-STABLE</emphasis> is aimed at the
ISP, corporate user, or any user who wants stability and a
minimal number of changes compared to the new (and possibly
unstable) features of the latest
<emphasis>-CURRENT</emphasis> snapshot. Releases can come
from either branch, but <emphasis>-CURRENT</emphasis> should
only be used if you are prepared for its increased
volatility (relative to <emphasis>-STABLE</emphasis>, that
is).</para>
<para>Releases are made <link
linkend="release-freq">every few months</link>. While
many people stay more up-to-date with the &os; sources (see
the questions on <link
linkend="current">&os.current;</link> and <link
linkend="stable">&os.stable;</link>) than that, doing so
is more of a commitment, as the sources are a moving
target.</para>
<para>More information on &os; releases can be found on the
<ulink
url="http://www.FreeBSD.org/releng/index.html#release-build">Release Engineering page</ulink>
and in &man.release.7;.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="current">
<para>What is <emphasis>&os;-CURRENT</emphasis>?</para>
</question>
<answer>
<para><ulink
url="&url.books.handbook;/current-stable.html#current">&os.current;</ulink>
is the development version of the operating system, which
will in due course become the new &os.stable; branch. As
such, it is really only of interest to developers working on
the system and die-hard hobbyists. See the <ulink
url="&url.books.handbook;/current-stable.html#current">relevant section</ulink>
in the <ulink
url="&url.books.handbook;/index.html">Handbook</ulink> for
details on running <emphasis>-CURRENT</emphasis>.</para>
<para>If you are not familiar with &os;
you should not use
&os.current;. This branch sometimes evolves quite quickly
and due to mistake can be un-buildable at times.
People that use &os.current; are expected to be able to
analyze, debug, and report problems.</para>
<para>&os; <ulink
url="&url.base;/snapshots/">snapshot</ulink>
releases are made based on the current state of the
<emphasis>-CURRENT</emphasis> and
<emphasis>-STABLE</emphasis> branches. The goals behind
each snapshot release are:</para>
<itemizedlist>
<listitem>
<para>To test the latest version of the installation
software.</para>
</listitem>
<listitem>
<para>To give people who would like to run
<emphasis>-CURRENT</emphasis> or
<emphasis>-STABLE</emphasis> but who do not have the
time or bandwidth to follow it on a day-to-day basis an
easy way of bootstrapping it onto their systems.</para>
</listitem>
<listitem>
<para>To preserve a fixed reference point for the code in
question, just in case we break something really badly
later. (Although Subversion normally prevents anything
horrible like this happening.)</para>
</listitem>
<listitem>
<para>To ensure that all new features and fixes in need of
testing have the greatest possible number of potential
testers.</para>
</listitem>
</itemizedlist>
<para>No claims are made that any
<emphasis>-CURRENT</emphasis> snapshot can be considered
<quote>production quality</quote> for any purpose. If you
want to run a stable and fully tested system, you will have
to stick to full releases, or use the
<emphasis>-STABLE</emphasis> snapshots.</para>
<para>Snapshot releases are directly available from <ulink
url="&url.base;/snapshots/">snapshot</ulink>.</para>
<para>Official snapshots are generated on a regular
basis for all actively developed branches.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="stable">
<para>What is the <emphasis>&os;-STABLE</emphasis>
concept?</para>
</question>
<answer>
<para>Back when &os;&nbsp;2.0.5 was released, &os; development
branched in two. One branch was named <ulink
url="&url.books.handbook;/current-stable.html#stable">-STABLE</ulink>,
one <ulink
url="&url.books.handbook;/current-stable.html#current">-CURRENT</ulink>.
<emphasis>&os;-STABLE</emphasis> is intended for Internet
Service Providers and other commercial enterprises for whom
sudden shifts or experimental features are quite
undesirable. It receives only well-tested bug fixes and
other small incremental enhancements.
<emphasis>&os;-CURRENT</emphasis>, on the other hand, has
been one unbroken line since 2.0 was released, leading
towards &rel.current;-RELEASE and beyond. For more detailed
information on branches see <quote><ulink
url="&url.articles.releng;/release-proc.html#rel-branch">&os; Release Engineering: Creating the Release Branch</ulink></quote>,
the status of the branches and the upcoming release schedule
can be found on the <ulink
url="http://www.FreeBSD.org/releng">Release Engineering Information</ulink> page.</para>
<para>&rel.current;-STABLE is the actively developed
<emphasis>-STABLE</emphasis> branch. The latest release on
the &rel.current;-STABLE branch is &rel.current;-RELEASE,
which was released in &rel.current.date;.</para>
<para>The &rel.head; branch is the actively developed
<emphasis>-CURRENT</emphasis> branch toward the next
generation of &os;. See <link
linkend="current">What is &os;-CURRENT?</link> for more
information on this branch.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="release-freq">
<para>When are &os; releases made?</para>
</question>
<answer>
<para>The &a.re; releases a new major version of &os; about
every 18 months and a new minor version about every 8 months,
on average. Release dates are announced well in advance, so
that the people working on the system know when their
projects need to be finished and tested. A testing period
precedes each release, to ensure that the addition
of new features does not compromise the stability of the
release. Many users regard this caution as one of the best
things about &os;, even though waiting for all the latest
goodies to reach <emphasis>-STABLE</emphasis> can be a
little frustrating.</para>
<para>More information on the release engineering process
(including a schedule of upcoming releases) can be found on
the <ulink
url="http://www.FreeBSD.org/releng/index.html">release engineering</ulink>
pages on the &os; Web site.</para>
<para>For people who need or want a little more excitement,
binary snapshots are made weekly as discussed above.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="responsible">
<para>Who is responsible for &os;?</para>
</question>
<answer>
<para>The key decisions concerning the &os; project, such as
the overall direction of the project and who is allowed to
add code to the source tree, are made by a <ulink
url="&url.base;/administration.html#t-core">core team</ulink> of
9 people. There is a much larger team of more than 350
<ulink
url="&url.articles.contributors;/article.html#staff-committers">committers</ulink>
who are authorized to make changes directly to the &os;
source tree.</para>
<para>However, most non-trivial changes are discussed in
advance in the <link linkend="mailing">mailing lists</link>,
and there are no restrictions on who may take part in the
discussion.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="where-get">
<para>Where can I get &os;?</para>
</question>
<answer>
<para>Every significant release of &os; is available via
anonymous FTP from the <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/"> &os; FTP site</ulink>:</para>
<itemizedlist>
<listitem>
<para>The latest &rel.stable; release, &rel.current;-RELEASE
can be found in the <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE directory</ulink>.</para>
</listitem>
<listitem>
<para><ulink url="&url.base;/snapshots/"> Snapshot</ulink>
releases are made monthly for the <link
linkend="current">-CURRENT</link> and <link
linkend="stable">-STABLE</link> branch, these being of
service purely to bleeding-edge testers and
developers.</para>
</listitem>
<listitem>
<para>The latest &rel2.stable; release, &rel2.current;-RELEASE
can be found in the <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">&rel2.current;-RELEASE directory</ulink>.</para>
</listitem>
</itemizedlist>
<para>Information about obtaining &os; on CD, DVD, and other
media can be found in <ulink
url="&url.books.handbook;/mirrors.html">the Handbook</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="access-pr">
<para>How do I access the Problem Report database?</para>
</question>
<answer>
<para>The Problem Report database of all user change requests
may be queried by using our web-based PR <ulink
url="http://www.FreeBSD.org/cgi/query-pr.cgi?query">query</ulink>
interface.</para>
<para>The &man.send-pr.1; command can be used to submit
problem reports and change requests via electronic mail.
Alternatively, the <ulink
url="http://www.freebsd.org/send-pr.html">web-based problem report submission interface</ulink>
can be used to submit problem reports through a web
browser.</para>
<para>Before submitting a problem report, please read <ulink
url="&url.articles.problem-reports;/article.html">Writing &os; Problem Reports</ulink>,
an article on how to write good problem reports.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="support">
<title>Documentation and Support</title>
<qandaset>
<qandaentry>
<question id="books">
<para>What good books are there about &os;?</para>
</question>
<answer>
<para>The project produces a wide range of documentation,
available online from this link: <ulink
url="http://www.FreeBSD.org/docs.html"></ulink>. In addition, <link
linkend="bibliography">the Bibliography</link> at the end of this
FAQ, and <ulink
url="&url.books.handbook;/bibliography.html">the one in the Handbook</ulink>
reference other recommended books.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="doc-formats">
<para>Is the documentation available in other formats, such as
plain text (ASCII), or &postscript;?</para>
</question>
<answer>
<para>Yes. The documentation is available in a number of
different formats and compression schemes on the &os; FTP
site, in the <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">/pub/FreeBSD/doc/</ulink>
directory.</para>
<para>The documentation is categorized in a number of
different ways. These include:</para>
<itemizedlist>
<listitem>
<para>The document's name, such as <literal>faq</literal>,
or <literal>handbook</literal>.</para>
</listitem>
<listitem>
<para>The document's language and encoding. These are
based on the locale names you will find under
<filename class="directory">/usr/share/locale</filename> on your &os;
system. The current languages and encodings that we
have for documentation are as follows:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Name</entry>
<entry>Meaning</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>en_US.ISO8859-1</literal></entry>
<entry>English (United States)</entry>
</row>
<row>
<entry><literal>bn_BD.ISO10646-1</literal></entry>
<entry>Bengali or Bangla (Bangladesh)</entry>
</row>
<row>
<entry><literal>da_DK.ISO8859-1</literal></entry>
<entry>Danish (Denmark)</entry>
</row>
<row>
<entry><literal>de_DE.ISO8859-1</literal></entry>
<entry>German (Germany)</entry>
</row>
<row>
<entry><literal>el_GR.ISO8859-7</literal></entry>
<entry>Greek (Greece)</entry>
</row>
<row>
<entry><literal>es_ES.ISO8859-1</literal></entry>
<entry>Spanish (Spain)</entry>
</row>
<row>
<entry><literal>fr_FR.ISO8859-1</literal></entry>
<entry>French (France)</entry>
</row>
<row>
<entry><literal>hu_HU.ISO8859-2</literal></entry>
<entry>Hungarian (Hungary)</entry>
</row>
<row>
<entry><literal>it_IT.ISO8859-15</literal></entry>
<entry>Italian (Italy)</entry>
</row>
<row>
<entry><literal>ja_JP.eucJP</literal></entry>
<entry>Japanese (Japan, EUC encoding)</entry>
</row>
<row>
<entry><literal>mn_MN.UTF-8</literal></entry>
<entry>Mongolian (Mongolia, UTF-8 encoding)</entry>
</row>
<row>
<entry><literal>nl_NL.ISO8859-1</literal></entry>
<entry>Dutch (Netherlands)</entry>
</row>
<row>
<entry><literal>no_NO.ISO8859-1</literal></entry>
<entry>Norwegian (Norway)</entry>
</row>
<row>
<entry><literal>pl_PL.ISO8859-2</literal></entry>
<entry>Polish (Poland)</entry>
</row>
<row>
<entry><literal>pt_BR.ISO8859-1</literal></entry>
<entry>Portuguese (Brazil)</entry>
</row>
<row>
<entry><literal>ru_RU.KOI8-R</literal></entry>
<entry>Russian (Russia, KOI8-R encoding)</entry>
</row>
<row>
<entry><literal>sr_YU.ISO8859-2</literal></entry>
<entry>Serbian (Serbia)</entry>
</row>
<row>
<entry><literal>tr_TR.ISO8859-9</literal></entry>
<entry>Turkish (Turkey)</entry>
</row>
<row>
<entry><literal>zh_CN.GB2312</literal></entry>
<entry>Simplified Chinese (China, GB2312
encoding)</entry>
</row>
<row>
<entry><literal>zh_TW.Big5</literal></entry>
<entry>Traditional Chinese (Taiwan, Big5 encoding)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<note>
<para>Some documents may not be available in all
languages.</para>
</note>
</listitem>
<listitem>
<para>The document's format. We produce the documentation
in a number of different output formats. Each format
has its own advantages and disadvantages. Some formats
are better suited for online reading, while others are
meant to be aesthetically pleasing when printed on
paper. Having the documentation available in any of
these formats ensures that our readers will be able to
read the parts they are interested in, either on their
monitor, or on paper after printing the documents. The
currently available formats are:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Format</entry>
<entry>Meaning</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>html-split</literal></entry>
<entry>A collection of small, linked, HTML
files.</entry>
</row>
<row>
<entry><literal>html</literal></entry>
<entry>One large HTML file containing the entire
document</entry>
</row>
<row>
<entry><literal>pdf</literal></entry>
<entry>Adobe's Portable Document Format</entry>
</row>
<row>
<entry><literal>ps</literal></entry>
<entry>&postscript;</entry>
</row>
<row>
<entry><literal>rtf</literal></entry>
<entry>Microsoft's Rich Text Format</entry>
</row>
<row>
<entry><literal>txt</literal></entry>
<entry>Plain text</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<note>
<para>Page numbers are not automatically updated when
loading Rich Text Format into Word. Press <keycombo
action="simul"><keycap>Ctrl</keycap><keycap>A</keycap></keycombo>,
<keycombo
action="simul"><keycap>Ctrl</keycap><keycap>End</keycap></keycombo>,
<keycap>F9</keycap> after loading the document, to
update the page numbers.</para>
</note>
</listitem>
<listitem>
<para>The compression and packaging scheme.</para>
<orderedlist>
<listitem>
<para>Where the format is
<literal>html-split</literal>, the files are bundled
up using &man.tar.1;. The resulting
<filename>.tar</filename> file is then compressed
using the compression schemes detailed in the next
point.</para>
</listitem>
<listitem>
<para>All the other formats generate one file, called
<filename><replaceable>type</replaceable>.<replaceable>format</replaceable></filename>
(i.e., <filename>article.pdf</filename>,
<filename>book.html</filename>, and so on).</para>
<para>These files are then compressed using either
the <literal>zip</literal> or
<literal>bz2</literal> compression schemes.
&man.tar.1; can be used to uncompress these
files.</para>
<para>So the &postscript; version of the Handbook,
compressed using <literal>bzip2</literal> will be stored in a file
called <filename>book.ps.bz2</filename> in the
<filename class="directory">handbook/</filename> directory.</para>
</listitem>
</orderedlist>
</listitem>
</itemizedlist>
<para>After choosing the format and compression mechanism that
you want to download, you will have to download the compressed
files yourself, uncompress them, and then copy the
appropriate documents into place.</para>
<para>For example, the split HTML version of the FAQ,
compressed using &man.bzip2.1;, can be found in
<filename>doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2</filename>
To download and uncompress that file you would have
to do this:</para>
<screen>&prompt.root; <userinput>fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2</userinput>
&prompt.root; <userinput>tar xvf book.html-split.tar.bz2</userinput></screen>
<para>If the file is compressed,
<application>tar</application> will automatically
detect the appropriate format and decompress it correctly.
You will be left with a collection of
<filename>.html</filename> files. The main one is called
<filename>index.html</filename>, which will contain the
table of contents, introductory material, and links to the
other parts of the document. You can then copy or move
these to their final location as necessary.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="mailing">
<para>Where do I find info on the &os; mailing lists?
What &os; news groups are available?</para>
</question>
<answer>
<para>You can find full information in the <ulink
url="&url.books.handbook;/eresources.html#eresources-mail">Handbook entry on mailing-lists</ulink>
and the <ulink
url="&url.books.handbook;/eresources-news.html">Handbook entry on newsgroups</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="irc">
<para>Are there &os; IRC (Internet Relay Chat)
channels?</para>
</question>
<answer>
<para>Yes, most major IRC networks host a &os; chat
channel:</para>
<itemizedlist>
<listitem>
<para>Channel <literal>#FreeBSDhelp</literal> on <ulink
url="http://www.efnet.org/index.php">EFNet</ulink> is
a channel dedicated to helping &os; users. They are
much more sympathetic to questions than
<literal>#FreeBSD</literal> is.</para>
</listitem>
<listitem>
- <para>Channel <literal>##FreeBSD</literal> on <ulink
+ <para>Channel <literal>#FreeBSD</literal> on <ulink
url="http://freenode.net/">Freenode</ulink> is a
general help channel with many users at any time.
The conversations have been known to run off-topic for a
while, but priority is given to users with &os;
questions. We are good about helping you understand the
basics, referring to the Handbook whenever possible, and
directing you where to learn more about the topic you
need help with. We are a primarily English speaking
channel, though we have users from all over the world.
If you would like to speak in your native language, try
to ask the question in English and then relocate to
another channel
<literal>##freebsd-<replaceable>lang</replaceable></literal>
as appropriate.</para>
</listitem>
<listitem>
<para>Channel <literal>#FreeBSD</literal> on <ulink
url="http://www.dal.net/">DALNET</ulink> is available at
<hostid>irc.dal.net</hostid> in the US and
<hostid>irc.eu.dal.net</hostid> in Europe.</para>
</listitem>
<listitem>
<para>Channel <literal>#FreeBSD</literal> on <ulink
url="http://www.undernet.org/">UNDERNET</ulink> is
available at <hostid>us.undernet.org</hostid> in the US
and <hostid>eu.undernet.org</hostid> in Europe. Since
it is a help channel, be prepared to read the documents
you are referred to.</para>
</listitem>
<listitem>
<para>Channel <literal>#FreeBSD</literal> on
<ulink url="http://www.rusnet.org.ru/">RUSNET</ulink>
is a russian-language oriented channel dedicated
to helping &os; users. This is also good place
for non-technical discussions.</para>
</listitem>
<listitem>
<para>Channel <literal>#bsdchat</literal> on <ulink
url="http://freenode.net/">Freenode</ulink> is a
Traditional-Chinese (UTF-8 encoding) language oriented
channel dedicated to helping &os; users. This is also
good place for non-technical discussions.</para>
</listitem>
</itemizedlist>
<para>The &os; wiki has a <ulink
url="http://wiki.freebsd.org/IrcChannels">good list</ulink>
of IRC channels.</para>
<para>Each of these channels are distinct and are not
connected to each other. Their chat styles also differ, so
you may need to try each to find one suited to your chat
style. As with <emphasis>all</emphasis> types of IRC
traffic, if you are easily offended or cannot deal with lots
of young people (and more than a few older ones) doing the
verbal equivalent of jello wrestling, do not even bother
with it.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="forums">
<para>Are there any web based forums to discuss &os;?</para>
</question>
<answer>
<para>The official &os; forums are located at <ulink
url="http://forums.FreeBSD.org/">http://forums.FreeBSD.org/</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="training">
<para>Where can I get commercial &os; training and
support?</para>
</question>
<answer>
<para><ulink
url="http://www.ixsystems.com">iXsystems, Inc.</ulink>,
parent company of the <ulink
url="http://www.freebsdmall.com/">&os; Mall</ulink>,
provides commercial &os; and PC-BSD software <ulink
url="http://www.ixsystems.com/bsdsupport">support</ulink>,
in addition to &os; development and tuning solutions.</para>
<para>BSD Certification Group, Inc. provides system
administration certifications for DragonFly&nbsp;BSD, &os;, NetBSD,
OpenBSD. If you are interested in them, visit <ulink
url="http://www.BSDCertification.org">their site</ulink>.</para>
<para>Any other organizations providing training and support
should contact the Project to be listed here.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="install">
<chapterinfo>
<author>
<firstname>Nik</firstname>
<surname>Clayton</surname>
<affiliation>
<address><email>nik@FreeBSD.org</email></address>
</affiliation>
</author>
</chapterinfo>
<title>Installation</title>
<qandaset>
<qandaentry>
<question id="which-architecture">
<para>Which platform should I download? I have a 64
bit capable &intel; CPU,
but I only see <literal>amd64</literal>.</para>
</question>
<answer>
<para>&arch.amd64; is the term &os; uses for 64-bit
compatible x86 architectures (also known as "x86-64"
or "x64"). Most modern computers
should use &arch.amd64;. Older hardware should use
&arch.i386;. If you are installing on a
non-x86-compatible architecture select the platform
which best matches the architecture you are
using.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="floppy-download">
<para>Which file do I download to get &os;?</para>
</question>
<answer>
<para>On the
<ulink url="http://www.freebsd.org/where.html">Getting &os;</ulink>
page select <literal>[iso]</literal> next to the
architecture you want to use.</para>
<para>Any of the following can be used:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>file</entry>
<entry>description</entry>
</row>
</thead>
<tbody>
<row>
<entry><filename>disc1.iso</filename></entry>
<entry>Contains enough to install &os; and
a minimal set of packages.</entry>
</row>
<row>
<entry><filename>dvd1.iso</filename></entry>
<entry>Similar to <filename>disc1.iso</filename>
but with additional packages.</entry>
</row>
<row>
<entry><filename>memstick.img</filename></entry>
<entry>A bootable image sufficient for writing to a
USB stick.</entry>
</row>
<row>
<entry><filename>bootonly.iso</filename></entry>
<entry>A minimal image that requires network
access during installation to completely
install &os;.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>&arch.pc98; users require these floppy images:
<filename>floppies/boot.flp</filename>,
<filename>floppies/kern1.flp</filename>,
<filename>floppies/kern2.flp</filename>, and
<filename>floppies/mfsroot1.flp</filename>. These images
need
to be written onto floppies by tools like
&man.dd.1;.</para>
<para>Full instructions on this procedure and a little bit
more about installation issues in general can be found in
the <ulink
url="&url.books.handbook;/install.html">Handbook entry on installing &os;</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="floppy-image-too-large">
<para>What do I do if the images do not fit on a
single disk?</para>
</question>
<answer>
<para>Common mistakes when preparing the boot media
are:</para>
<itemizedlist>
<listitem>
<para>Not downloading the image in
<emphasis>binary</emphasis> mode when using
<acronym>FTP</acronym>.</para>
<para>Some FTP clients default their transfer mode to
<emphasis>ascii</emphasis> and attempt to change any
end-of-line characters received to match the conventions
used by the client's system. This will almost
invariably corrupt the boot image. Check the SHA-256
of
the downloaded boot image: if it is not
<emphasis>exactly</emphasis> that on the server, then
the download process is suspect.</para>
<para>To workaround: type <emphasis>binary</emphasis> at
the FTP command prompt after getting connected to the
server and before starting the download of the
image.</para>
</listitem>
<listitem>
<para>Using the DOS <command>copy</command> command (or
equivalent GUI tool) to transfer the boot image to
floppy.</para>
<para>Programs like <command>copy</command> will not work
as the boot image has been created to be booted into
directly. The image has the complete content of the
floppy, track for track, and is not meant to be placed
on the floppy as a regular file. You have to transfer
it to the floppy <quote>raw</quote>, using the low-level
tools (e.g., <command>fdimage</command> or
<command>rawrite</command>) described in the <ulink
url="&url.books.handbook;/install.html">installation guide to &os;</ulink>.</para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
<qandaentry>
<question id="install-instructions-location">
<para>Where are the instructions for installing &os;?</para>
</question>
<answer>
<para>Installation instructions for versions since
&os;&nbsp;9.0 can be found at <ulink
url="&url.books.handbook;/bsdinstall.html">Handbook entry on installing &os;</ulink>.
Older instructions can be found in the <ulink
url="&url.books.handbook;/install.html">legacy entry on installing &os;</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="need-to-run">
<para>What do I need to run &os;?</para>
</question>
<answer>
<para>For &os; you will need a 486 or better PC, with
64&nbsp;MB or more of RAM and at least 1&nbsp;GB of hard
disk space.</para>
<para>See also <xref linkend="hardware"/>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="custom-boot-floppy">
<para>How can I make my own custom release or install disk?</para>
</question>
<answer>
<para>Customized &os; installation media can be created by
building a custom release. Follow the instructions in the
<ulink
url="&url.articles.releng;/article.html">Release Engineering</ulink>
article.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="windows-coexist">
<para>Can &windows; co-exist with &os;?</para>
</question>
<answer>
<para>If &windows; is installed first, then yes.
&os;'s boot manager
will then manage to boot &windows; and &os;. If you install
&windows; second, it will boorishly overwrite your boot
manager without even asking. If that happens, see the next
section.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="bootmanager-restore">
<para>Another operating system destroyed my Boot Manager. How
do I get it back?</para>
</question>
<answer>
<para>This depends on what boot manager you have installed.
The &os; boot selection menu (likely what you are using
if you end up in this situation) can be reinstalled using
&man.boot0cfg.8;. For example, to restore the boot menu
onto the disk <replaceable>ada0</replaceable>:</para>
<screen>&prompt.root; <userinput>boot0cfg -B ada0</userinput></screen>
<para>The non-interactive MBR bootloader can be installed using
&man.gpart.8;:</para>
<screen>&prompt.root; <userinput>gpart bootcode -b /boot/mbr ada0</userinput></screen>
<para>For more complex situations, including GPT disks, see &man.gpart.8;.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="no-install-cdrom">
<para>I booted from my ATAPI CD-ROM, but the install program
says no CD-ROM is found. Where did it go?</para>
</question>
<answer>
<para>The usual cause of this problem is a mis-configured
CD-ROM drive. Many PCs now ship with the CD-ROM as the slave
device on the secondary IDE controller, with no master
device on that controller. This is illegal according to the
ATAPI specification, but &windows; plays fast and loose with
the specification, and the BIOS ignores it when booting.
This is why the BIOS was able to see the CD-ROM to boot from
it, but why &os; cannot see it to complete the
install.</para>
<para>Reconfigure your system so that the CD-ROM is either the
master device on the IDE controller it is attached to, or
make sure that it is the slave on an IDE controller that
also has a master device.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="need-complete-sources">
<para>Do I need to install the source?</para>
</question>
<answer>
<para>In general, no. There is nothing in the base
system which requires the presence of the source to
operate. Some ports, like <filename
role="package">sysutils/lsof</filename>, will not build
unless the source is installed. In particular, if the
port builds a kernel module or directly operates on kernel
structures, the source must be installed.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="need-kernel">
<para>Do I need to build a kernel?</para>
</question>
<answer>
<para>Usually not. The supplied <literal>GENERIC</literal>
kernel contains the drivers an ordinary computer will
need. &man.freebsd-update.8;, the &os; binary upgrade
tool, cannot upgrade custom kernels, another reason
to stick with the <literal>GENERIC</literal> kernel when
possible. For computers with very limited RAM, such as
embedded systems, it may be worthwhile to build a
smaller custom kernel containing just the required
drivers.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="password-encryption">
<para>Should I use DES, Blowfish, or MD5 passwords and how do
I specify which form my users receive?</para>
</question>
<answer>
<para>&os;&nbsp;7 and 8 use MD5 password hashing by
default. Recent versions
of &os; use <emphasis>SHA512</emphasis> by default.
These are
believed to be more secure than the traditional &unix;
password format, which used a scheme based on the
<emphasis>DES</emphasis> algorithm. DES passwords are still
available if you need to share your password file with
legacy operating systems which still use the less secure
password format. &os; also allows you to use the Blowfish
and MD5 password formats. Which password
format to use for new passwords is controlled by the
<literal>passwd_format</literal> login capability in
<filename>/etc/login.conf</filename>, which takes values of
<literal>des</literal>, <literal>blf</literal> (if these are
available) or <literal>md5</literal>. See the
&man.login.conf.5; manual page for more information about
login capabilities.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="memory-limits">
<para>What are the limits for memory?</para>
</question>
<answer>
<para>Memory limits depend on the platform used. On a
standard &i386; install, the limit is 4&nbsp;GB but more
memory can be supported through &man.pae.4;. See <link
linkend="memory-i386-over-4gb">instructions for using 4&nbsp;GB or more memory on &i386;</link>.</para>
<para>&os;/pc98 has a limit of 4&nbsp;GB memory, and PAE can
not be used with it. Other architectures supported by &os;
have much higher theoretical limits on maximum memory (many
terabytes).</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ffs-limits">
<para>What are the limits for FFS file systems?</para>
</question>
<answer>
<para>For FFS file systems, the maximum theoretical limit is
8&nbsp;TB (2&nbsp;G blocks), or 16&nbsp;TB for the default
block size of 8&nbsp;KB. In practice, there is a soft limit
of 1&nbsp;TB, but with modifications file systems with
4&nbsp;TB are possible (and exist).</para>
<para>The maximum size of a single FFS file is approximately
1&nbsp;G blocks, or 4&nbsp;TB with a block size of
4&nbsp;KB.</para>
<table>
<title>Maximum File Sizes</title>
<tgroup cols="3">
<thead>
<row>
<entry>FS Block Size</entry>
<entry>Works</entry>
<entry>Should Work</entry>
</row>
</thead>
<tbody>
<row>
<entry>4&nbsp;KB</entry>
<entry>&gt;&nbsp;4&nbsp;GB</entry>
<entry>4&nbsp;TB&nbsp;-&nbsp;1</entry>
</row>
<row>
<entry>8&nbsp;KB</entry>
<entry>&gt;&nbsp;32&nbsp;GB</entry>
<entry>32&nbsp;TB&nbsp;-&nbsp;1</entry>
</row>
<row>
<entry>16&nbsp;KB</entry>
<entry>&gt;&nbsp;128&nbsp;GB</entry>
<entry>32&nbsp;TB&nbsp;-&nbsp;1</entry>
</row>
<row>
<entry>32&nbsp;KB</entry>
<entry>&gt;&nbsp;512&nbsp;GB</entry>
<entry>64&nbsp;TB&nbsp;-&nbsp;1</entry>
</row>
<row>
<entry>64&nbsp;KB</entry>
<entry>&gt;&nbsp;2048&nbsp;GB</entry>
<entry>128&nbsp;TB&nbsp;-&nbsp;1</entry>
</row>
</tbody>
</tgroup>
</table>
<para>When the FS block size is 4&nbsp;KB, triple indirect
blocks work and everything should be limited by the maximum FS
block number that can be represented using triple indirect
blocks (approx.
1024<superscript>3</superscript>&nbsp;+&nbsp;1024<superscript>2</superscript>&nbsp;+&nbsp;1024),
but everything is limited by a (wrong) limit of
1&nbsp;G&nbsp;-&nbsp;1 on FS block numbers. The limit on FS
block numbers should be 2&nbsp;G&nbsp;-&nbsp;1. There are
some bugs for FS block numbers near 2&nbsp;G&nbsp;-&nbsp;1,
but such block numbers are unreachable when the FS block
size is 4&nbsp;KB.</para>
<para>For block sizes of 8&nbsp;KB and larger, everything
should be limited by the 2&nbsp;G&nbsp;-&nbsp;1 limit on FS
block numbers, but is actually limited by the
1&nbsp;G&nbsp;-&nbsp;1 limit on FS block numbers. Using the
correct limit of 2&nbsp;G&nbsp;-&nbsp;1 blocks does cause
problems.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="archsw-readin-failed-error">
<para>Why do I get an error message,
<errorname>readin failed</errorname> after compiling
and booting a new kernel?</para>
</question>
<answer>
<para>Because your world and kernel are out of sync. This is
not supported. Be sure you use <command>make <maketarget>buildworld</maketarget></command>
and <command>make <maketarget>buildkernel</maketarget></command>
to update your kernel.</para>
<para>You can boot by specifying the kernel directly at the
second stage, pressing any key when the <literal>|</literal>
shows up before loader is started.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="general-configuration-tool">
<para>Is there a tool to perform post-installation
configuration tasks?</para>
</question>
<answer>
<para>Yes, &rel.head.releng; users can set
<varname>WITH_BSDCONFIG</varname> in
<filename>/etc/src.conf</filename>. Users of &rel.relx;
and higher may also install
<filename role="package">sysutils/bsdconfig</filename>.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="hardware">
<title>Hardware Compatibility</title>
<sect1 id="compatibility-general">
<title>General</title>
<qandaset>
<qandaentry>
<question id="which-hardware-to-get">
<para>I want to get a piece of hardware for my &os; system.
Which model/brand/type is best?</para>
</question>
<answer>
<para>This is discussed continually on the &os; mailing
lists. Since hardware changes so quickly, however, we
expect this. We <emphasis>still</emphasis> strongly
recommend that you read through the Hardware&nbsp;Notes
for &os; <ulink
url="&rel.current.hardware;">&rel.current;</ulink> or
<ulink
url="&rel2.current.hardware;">&rel2.current;</ulink> and
search the mailing list <ulink
url="http://www.FreeBSD.org/search/#mailinglists">archives</ulink>
before asking about the latest and greatest hardware.
Chances are a discussion about the type of hardware you
are looking for took place just last week.</para>
<para>If you are looking for a laptop, check the &a.mobile;
archives. Otherwise, you probably want the archives for
the &a.questions;, or possibly a specific mailing list for
a particular hardware type.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="memory-upper-limitation">
<para>Does &os; support more than 4&nbsp;GB of memory (RAM)?
More than 16&nbsp;GB? More than 48&nbsp;GB?</para>
</question>
<answer>
<para>Yes. &os; as an operating system generally supports
as much physical memory (RAM) as the platform it is running
on does. Keep in mind that different platforms have
different limits for memory; for example &i386; without
<acronym>PAE</acronym> supports at most 4&nbsp;GB of
memory (and usually less than that because of PCI address
space) and &i386; with PAE supports at most 64&nbsp;GB
memory. AMD64 platforms currently deployed support up to
1&nbsp;TB of physical memory.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="memory-i386-over-4gb">
<para>Why does &os; report less than 4&nbsp;GB memory when
installed on an &i386; machine?</para>
</question>
<answer>
<para>The total address space on &i386; machines is 32-bit,
meaning that at most 4&nbsp;GB of memory is addressable (can
be accessed). Furthermore, some addresses in this range
are reserved by hardware for different purposes, for
example for using and controlling PCI devices, for
accessing video memory, and so on. Therefore, the total
amount of memory usable by the operating system for its
kernel and applications is limited to significantly less
than 4&nbsp;GB. Usually, 3.2&nbsp;GB to 3.7&nbsp;GB is
the maximum usable physical memory in this
configuration.</para>
<para>To access more than 3.2&nbsp;GB to 3.7&nbsp;GB of
installed memory (meaning up to 4&nbsp;GB but also more than
4&nbsp;GB), a special tweak called <acronym>PAE</acronym>
must be used. PAE stands for Physical Address Extension
and is a way for 32-bit x86 CPUs to address more than
4&nbsp;GB of memory. It remaps the memory that would
otherwise be overlaid by address reservations for
hardware devices above the 4&nbsp;GB range and uses it as
additional physical memory (see &man.pae.4;). Using PAE
has some drawbacks; this mode of memory access is a little
bit slower than the normal (without PAE) mode and loadable
modules (see &man.kld.4;) are not supported. This means
all drivers must be compiled into the kernel.</para>
<para>The most common way to enable PAE is to build a new
kernel with the special ready-provided kernel configuration
file called <filename>PAE</filename>, which is already
configured to build a safe kernel. Note that some entries
in this kernel configuration file are too conservative and
some drivers marked as unready to be used with PAE are
actually usable. A rule of thumb is that if the driver is
usable on 64-bit architectures (like AMD64), it is also
usable with PAE. If you wish to create your own kernel
configuration file, you can enable PAE by adding the
following line to your configuration:</para>
<programlisting>options PAE</programlisting>
<para>PAE is not much used nowadays because most new x86
hardware also supports running in 64-bit mode, known as
AMD64 or &intel;&nbsp;64. It has a much larger address
space and does not need such tweaks. &os; supports AMD64
and it is recommended that this version of &os; be used
instead of the &i386; version if 4&nbsp;GB or more memory
is required.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>
<sect1 id="compatibility-processors">
<title>Architectures and Processors</title>
<qandaset>
<qandaentry>
<question id="architectures">
<para>Does &os; support architectures other than the
x86?</para>
</question>
<answer>
<para>Yes. &os; divides support into multiple tiers.
Tier 1 architectures, such as i386 or amd64; are
fully supported. Tiers 2 and 3 are supported on an
if-possible basis. A full explanation of the tier
system is available in the
<ulink
url="&url.articles.committers-guide;/archs.html">Committer's Guide.</ulink></para>
<para>A complete list of supported architectures can be
found on the
<ulink
url="http://www.FreeBSD.org/platforms/">platforms page.</ulink></para>
</answer>
</qandaentry>
<qandaentry>
<question id="smp-support">
<para>Does &os; support Symmetric Multiprocessing
(SMP)?</para>
</question>
<answer>
<para>&os; supports symmetric multi-processor (SMP) on all
non-embedded platforms (e.g, &arch.i386;, &arch.amd64;,
etc.). SMP is also
supported in arm and MIPS kernels, although some CPUs
may not support this. &os;'s SMP implementation uses
fine-grained locking, and performance scales nearly
linearly with number of CPUs.</para>
<para>&man.smp.4; has more details.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="microcode">
<para>What is microcode?
How do I install &intel; CPU microcode updates?</para>
</question>
<answer>
<para>Microcode is a method of programmatically
implementating hardware level instructions. This allows
for CPU bugs to be fixed without replacing the on board chip.</para>
<para>Install <filename role="package">sysutils/devcpu-data</filename>,
then add:</para>
<programlisting>microcode_update_enable="YES"</programlisting>
<para>to <filename>/etc/rc.conf</filename></para>
</answer>
</qandaentry>
</qandaset>
</sect1>
<sect1 id="compatibility-drives">
<title>Hard Drives, Tape Drives, and CD and DVD Drives</title>
<qandaset>
<qandaentry>
<question id="supported-hard-drives">
<para>What kind of hard drives does &os; support?</para>
</question>
<answer>
<para>&os; supports EIDE, SATA, SCSI, and SAS drives (with a
compatible controller; see the next section), and all
drives using the original <quote>Western Digital</quote>
interface (MFM, RLL, ESDI, and of course IDE). A few ESDI
controllers that use proprietary interfaces may not work:
stick to WD1002/3/6/7 interfaces and clones.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="supported-scsi-controllers">
<para>Which SCSI or SAS controllers are supported?</para>
</question>
<answer>
<para>See the complete list in the Hardware Notes for &os;
<ulink url="&rel.current.hardware;">&rel.current;</ulink>
or <ulink
url="&rel2.current.hardware;">&rel2.current;</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="tape-support">
<para>What types of tape drives are supported?</para>
</question>
<answer>
<para>&os; supports all standard SCSI tape interfaces.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="tape-changer-support">
<para>Does &os; support tape changers?</para>
</question>
<answer>
<para>&os; supports SCSI changers using the &man.ch.4; device
and the &man.chio.1; command. The details of how you
actually control the changer can be found in the
&man.chio.1; manual page.</para>
<para>If you are not using <application>AMANDA</application>
or some other product that already understands changers,
remember that they only know how to move a tape from one
point to another, so you need to keep track of which slot a
tape is in, and which slot the tape currently in the drive
needs to go back to.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="supported-cdrom-drives">
<para>Which CD-ROM drives are supported by &os;?</para>
</question>
<answer>
<para>Any SCSI drive connected to a supported controller is
supported. Most ATAPI compatible IDE CD-ROMs are
supported.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="supported-cdrw-drives">
<para>Which CD-RW drives are supported by &os;?</para>
</question>
<answer>
<para>&os; supports any ATAPI-compatible IDE CD-R or CD-RW
drive. See &man.burncd.8; for details.</para>
<para>&os; also supports any SCSI CD-R or CD-RW drives.
Install and use <command>cdrecord</command>
from the ports or packages system, and make sure that you
have the <devicename>pass</devicename> device compiled in
your kernel.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>
<sect1 id="compatibility-kbd-mice">
<title>Keyboards and Mice</title>
<qandaset>
<qandaentry>
<question id="moused">
<para>Is it possible to use a mouse in any way outside the X
Window system?</para>
</question>
<answer>
<para>If you are using the default console driver,
&man.syscons.4;, you can use a mouse pointer in text
consoles to cut &amp; paste text. Run the mouse daemon,
&man.moused.8;, and turn on the mouse pointer in the
virtual console:</para>
<screen>&prompt.root; <userinput>moused -p /dev/<replaceable>xxxx</replaceable> -t <replaceable>yyyy</replaceable></userinput>
&prompt.root; <userinput>vidcontrol -m on</userinput></screen>
<para>Where <replaceable>xxxx</replaceable> is the mouse
device name and <replaceable>yyyy</replaceable> is a
protocol type for the mouse. The mouse daemon can
automatically determine the protocol type of most mice,
except old serial mice. Specify the
<literal>auto</literal> protocol to invoke automatic
detection. If automatic detection does not work, see the
&man.moused.8; manual page for a list of supported
protocol types.</para>
<para>If you have a PS/2 mouse, just add
<literal>moused_enable="YES"</literal> to
<filename>/etc/rc.conf</filename> to start the mouse
daemon at boot-time. Additionally, if you would like to
use the mouse daemon on all virtual terminals instead of
just the console, add
<literal>allscreens_flags="-m on"</literal> to
<filename>/etc/rc.conf</filename>.</para>
<para>When the mouse daemon is running, access to the mouse
must be coordinated between the mouse daemon and other
programs such as X Windows. Refer to the FAQ <link
linkend="x-and-moused">Why does my mouse not work with X?</link>
for more details on this issue.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="text-mode-cut-paste">
<para>How do I cut and paste text with a mouse in the text
console?</para>
</question>
<answer>
<para>It is not possible to remove data using the mouse.
However, it is possible to <quote>copy and
paste</quote>.
Once you get the mouse daemon running (see the
<link linkend="moused">previous question</link>)
hold down
button 1 (left button) and move the mouse to select a region
of text. Then, press button 2 (middle button) to paste
it at the text cursor. Pressing button 3 (right button)
will <quote>extend</quote> the selected region of
text.</para>
<para>If your mouse does not have a middle button, you may
wish to emulate one or remap buttons using mouse daemon
options. See the &man.moused.8; manual page for
details.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="mouse-wheel-buttons">
<para>My mouse has a fancy wheel and buttons. Can I use
them in &os;?</para>
</question>
<answer>
<para>The answer is, unfortunately, <quote>It
depends</quote>. These mice with additional features
require specialized driver in most cases. Unless the
mouse device driver or the user program has specific
support for the mouse, it will act just like a standard
two, or three button mouse.</para>
<para>For the possible usage of wheels in the X Window
environment, refer to <link
linkend="x-and-wheel">that section</link>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="keyboard-delete-key">
<para>How do I use my delete key in <command>sh</command>
and <command>csh</command>?</para>
</question>
<answer>
<para>For the <application>Bourne Shell</application>, add
the following lines to your <filename>.shrc</filename>. See
&man.sh.1; and &man.editrc.5;.</para>
<programlisting>bind ^? ed-delete-next-char # for console
bind ^[[3~ ed-delete-next-char # for xterm</programlisting>
<para>For the <application>C Shell</application>, add the
following lines to your <filename>.cshrc</filename>. See
&man.csh.1;.</para>
<programlisting>bindkey ^? delete-char # for console
bindkey ^[[3~ delete-char # for xterm</programlisting>
<para>For more information, see <ulink
url="http://www.ibb.net/~anne/keyboard.html">this page</ulink>.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>
<sect1 id="compatibility-other">
<title>Other Hardware</title>
<qandaset>
<qandaentry>
<question id="es1370-silent-pcm">
<para>Workarounds for no sound from my &man.pcm.4; sound
card?</para>
</question>
<answer>
<para>Some sound cards set their output volume to 0 at every
boot. Run the following command every time the machine
boots:</para>
<screen>&prompt.root; <userinput>mixer pcm 100 vol 100 cd 100</userinput></screen>
</answer>
</qandaentry>
<qandaentry>
<question id="power-management-support">
<para>Does &os; support power management on my
laptop?</para>
</question>
<answer>
<para>&os; supports the <acronym>ACPI</acronym>
features found in modern hardware. Further
information can be found in &man.acpi.4;.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>
</chapter>
<chapter id="troubleshoot">
<title>Troubleshooting</title>
<qandaset>
<qandaentry>
<question id="pae">
<para>Why is &os; finding the wrong amount of memory on &i386;
hardware?</para>
</question>
<answer>
<para>The most likely reason is the difference between
physical memory addresses and virtual addresses.</para>
<para>The convention for most PC hardware is to use the memory
area between 3.5&nbsp;GB and 4&nbsp;GB for a special purpose
(usually for PCI). This address space is used to access PCI
hardware. As a result real, physical memory can not be
accessed by that address space.</para>
<para>What happens to the memory that should appear in that
location is dependent on your hardware. Unfortunately, some
hardware does nothing and the ability to use that last
500&nbsp;MB of RAM is entirely lost.</para>
<para>Luckily, most hardware remaps the memory to a higher
location so that it can still be used. However, this can
cause some confusion if you watch the boot messages.</para>
<para>On a 32-bit version of &os;, the memory appears
lost, since it will be remapped above 4&nbsp;GB, which a
32-bit kernel is unable to access. In this case, the
solution is to build a PAE enabled kernel. See <link
linkend="memory-limits">the entry on memory limits</link>
and <link linkend="memory-upper-limitation">about different
memory limits on different platforms</link> for more
information.</para>
<para>On a 64-bit version of &os;, or when running a
PAE-enabled kernel, &os; will correctly detect and remap the
memory so it is usable. During boot, however, it may seem
as if &os; is detecting more memory than the system really
has, due to the described remapping. This is normal and the
available memory will be corrected as the boot process
completes.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="signal11">
<para>Why do my programs occasionally die with
<errorname>Signal 11</errorname> errors?</para>
</question>
<answer>
<para>Signal 11 errors are caused when your process has
attempted to access memory which the operating system has not
granted it access to. If something like this is happening
at seemingly random intervals then you need to start
investigating things very carefully.</para>
<para>These problems can usually be attributed to
either:</para>
<orderedlist>
<listitem>
<para>If the problem is occurring only in a specific
application that you are developing yourself it is
probably a bug in your code.</para>
</listitem>
<listitem>
<para>If it is a problem with part of the base &os;
system, it may also be buggy code, but more often than not
these problems are found and fixed long before us
general FAQ readers get to use these bits of code (that
is what -CURRENT is for).</para>
</listitem>
</orderedlist>
<para>In particular, a dead giveaway that this is
<emphasis>not</emphasis> a &os; bug is if you see the
problem when you are compiling a program, but the activity
that the compiler is carrying out changes each time.</para>
<para>For example, suppose you are running
<command>make <maketarget>buildworld</maketarget></command>,
and the compile fails while trying to compile
<filename>ls.c</filename> into <filename>ls.o</filename>.
If you then run
<command>make <maketarget>buildworld</maketarget></command>
again, and the compile fails in the same place then this is
a broken build &mdash; try updating your sources and try
again. If the compile fails elsewhere then this is almost
certainly hardware.</para>
<para>What you should do:</para>
<para>In the first case you can use a debugger e.g.,
&man.gdb.1; to find the point in the program which is
attempting to access a bogus address and then fix it.</para>
<para>In the second case you need to verify that it is not
your hardware at fault.</para>
<para>Common causes of this include:</para>
<orderedlist>
<listitem>
<para>Your hard disks might be overheating: Check the fans
in your case are still working, as your disk (and perhaps
other hardware might be overheating).</para>
</listitem>
<listitem>
<para>The processor running is overheating: This might be
because the processor has been overclocked, or the fan
on the processor might have died. In either case you
need to ensure that you have hardware running at what it
is specified to run at, at least while trying to solve
this problem (in other words, clock it back to the default
settings.)</para>
<para>If you are overclocking then note that it is far
cheaper to have a slow system than a fried system that
needs replacing! Also the wider community is not often
sympathetic to problems on overclocked systems, whether
you believe it is safe or not.</para>
</listitem>
<listitem>
<para>Dodgy memory: If you have multiple memory
SIMMS/DIMMS installed then pull them all out and try
running the machine with each SIMM or DIMM individually
and narrow the problem down to either the problematic
DIMM/SIMM or perhaps even a combination.</para>
</listitem>
<listitem>
<para>Over-optimistic Motherboard settings: In your BIOS
settings, and some motherboard jumpers you have options
to set various timings, mostly the defaults will be
sufficient, but sometimes, setting the wait states on
RAM too low, or setting the <quote>RAM Speed:
Turbo</quote> option, or similar in the BIOS will cause
strange behavior. A possible idea is to set to BIOS
defaults, but it might be worth noting down your
settings first!</para>
</listitem>
<listitem>
<para>Unclean or insufficient power to the motherboard.
If you have any unused I/O boards, hard disks, or CD-ROMs
in your system, try temporarily removing them or
disconnecting the power cable from them, to see if your
power supply can manage a smaller load. Or try another
power supply, preferably one with a little more power
(for instance, if your current power supply is rated at
250&nbsp;Watts try one rated at 300&nbsp;Watts).</para>
</listitem>
</orderedlist>
<para>You should also read the SIG11 FAQ (listed below) which
has excellent explanations of all these problems, albeit from
a &linux; viewpoint. It also discusses how memory testing
software or hardware can still pass faulty memory.</para>
<para>Finally, if none of this has helped it is possible that
you have just found a bug in &os;, and you should follow the
instructions to send a problem report.</para>
<para>There is an extensive FAQ on this at <ulink
url="http://www.bitwizard.nl/sig11/">the SIG11 problem FAQ</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="trap-12-panic">
<para>My system crashes with either <errorname>Fatal trap 12:
page fault in kernel mode</errorname>, or
<errorname>panic:</errorname>, and spits out a bunch of
information. What should I do?</para>
</question>
<answer>
<para>The &os; developers are very interested in these
errors, but need some more information than just the error
you see. Copy your full crash message. Then consult the
FAQ section on <link
linkend="kernel-panic-troubleshooting">kernel panics</link>,
build a debugging kernel, and get a backtrace. This might
sound difficult, but you do not need any programming skills;
you just have to follow the instructions.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="proc-table-full">
<para>Why do I get the error <errorname>maxproc limit
exceeded by uid %i, please see tuning(7) and
login.conf(5)</errorname>?</para>
</question>
<answer>
<para>The &os; kernel will only allow a certain number of
processes to exist at one time. The number is based on the
<varname>kern.maxusers</varname> &man.sysctl.8; variable.
<varname>kern.maxusers</varname> also affects various other
in-kernel limits, such as network buffers.
If your machine is heavily loaded, you probably
want to increase <varname>kern.maxusers</varname>. This
will increase these other system limits in addition to the
maximum number of processes.</para>
<para>To adjust your <varname>kern.maxusers</varname> value,
see the <ulink
url="&url.books.handbook;/configtuning-kernel-limits.html#kern-maxfiles">File/Process Limits</ulink>
section of the Handbook. (While that section refers to open
files, the same limits apply to processes.)</para>
<para>If your machine is lightly loaded, and you are simply
running a very large number of processes, you can adjust
this with the <varname>kern.maxproc</varname> tunable. If
this tunable needs adjustment it needs to be defined in
<filename>/boot/loader.conf</filename>. The tunable will
not get adjusted until the system is rebooted. For more
information about tuning tunables, see
&man.loader.conf.5;.
If these processes are being run by a single user, you will
also need to adjust <varname>kern.maxprocperuid</varname> to
be one less than your new <varname>kern.maxproc</varname>
value. (It must be at least one less because one system
program, &man.init.8;, must always be running.)</para>
</answer>
</qandaentry>
<qandaentry>
<question id="mail-loopback">
<para>Why does <application>sendmail</application> give me an
error reading <errorname>mail loops back to
myself</errorname>?</para>
</question>
<answer>
<para>You can find a detailed answer for this question in the
<ulink
url="&url.books.handbook;/mail-trouble.html#q26.5.2.">Handbook</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="remote-fullscreen">
<para>Why do full screen applications on remote machines
misbehave?</para>
</question>
<answer>
<para>The remote machine may be setting your terminal type to
something other than the <literal>cons25</literal> terminal
type required by the &os; console.</para>
<para>There are a number of possible work-arounds for this
problem:</para>
<itemizedlist>
<listitem>
<para>After logging on to the remote machine, set your
<envar>TERM</envar> shell variable to
<literal>ansi</literal> or <literal>sco</literal> if
the remote machine knows about these terminal
types.</para>
</listitem>
<listitem>
<para>Use a VT100 emulator like
<application>screen</application> at the &os; console.
<application>screen</application> offers you the
ability to run multiple concurrent sessions from one
terminal, and is a neat program in its own right.
Each <application>screen</application> window behaves
like a VT100 terminal, so the <envar>TERM</envar>
variable at the remote end should be set to
<literal>vt100</literal>.</para>
</listitem>
<listitem>
<para>Install the <literal>cons25</literal> terminal
database entry on the remote machine. The way to do
this depends on the operating system on the remote
machine. The system administration manuals for the
remote system should be able to help you here.</para>
</listitem>
<listitem>
<para>Fire up an X server at the &os; end and login to the
remote machine using an X based terminal emulator such
as <command>xterm</command> or <command>rxvt</command>.
The <envar>TERM</envar> variable at the remote host
should be set to <literal>xterm</literal> or
<literal>vt100</literal>.</para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
<qandaentry>
<question id="connection-delay">
<para>Why does it take so long to connect to my computer via
<command>ssh</command> or <command>telnet</command>?</para>
</question>
<answer>
<para>The symptom: there is a long delay between the time the
TCP connection is established and the time when the client
software asks for a password (or, in &man.telnet.1;'s case,
when a login prompt appears).</para>
<para>The problem: more likely than not, the delay is caused
by the server software trying to resolve the client's IP
address into a hostname. Many servers, including the
<application>Telnet</application> and
<application>SSH</application> servers that come with &os;,
do this to store the hostname
in a log file for future reference by the
administrator.</para>
<para>The remedy: if the problem occurs whenever you connect
from your computer (the client) to any server, the problem is
with the client; likewise, if the problem only occurs when
someone connects to your computer (the server) the problem
is with the server.</para>
<para>If the problem is with the client, the only remedy is to
fix the DNS so the server can resolve it. If this is on a
local network, consider it a server problem and keep
reading; conversely, if this is on the global Internet, you
will most likely need to contact your ISP and ask them to
fix it for you.</para>
<para>If the problem is with the server, and this is on a
local network, you need to configure the server to be able to
resolve address-to-hostname queries for your local address
range. See the &man.hosts.5; and &man.named.8; manual pages
for more information. If this is on the global Internet,
the problem may be that your server's resolver is not
functioning correctly. To check, try to look up another
host &mdash; say, <hostid>www.yahoo.com</hostid>. If it
does not work, that is your problem.</para>
<para>Following a fresh install of &os;, it is also possible
that domain and name server information is missing from
<filename>/etc/resolv.conf</filename>. This will often
cause a delay in <application>SSH</application>, as the
option <literal>UseDNS</literal> is set to
<literal>yes</literal> by default in
<filename>/etc/ssh/sshd_config</filename>.
If this is causing the
problem, you will either need to fill in the missing
information in <filename>/etc/resolv.conf</filename> or set
<literal>UseDNS</literal> to <literal>no</literal> in
<filename>sshd_config</filename> as a temporary
workaround.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="file-table-full">
<para>Why does <errorname>file: table is full</errorname> show
up repeatedly in &man.dmesg.8;?</para>
</question>
<answer>
<para>This error message indicates you have exhausted the
number of available file descriptors on your system. Please
see the <ulink
url="&url.books.handbook;/configtuning-kernel-limits.html#kern-maxfiles">kern.maxfiles</ulink>
section of the <ulink
url="&url.books.handbook;/configtuning-kernel-limits.html">Tuning Kernel Limits</ulink>
section of the Handbook for a discussion and
solution.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="computer-clock-skew">
<para>Why does the clock on my computer keep incorrect time?</para>
</question>
<answer>
<para>Your computer has two or more clocks, and &os; has
chosen to use the wrong one.</para>
<para>Run &man.dmesg.8;, and check for lines that contain
<literal>Timecounter</literal>. The one with the highest
quality value that &os; chose.</para>
<screen>&prompt.root; <userinput>dmesg | grep Timecounter</userinput>
Timecounter "i8254" frequency 1193182 Hz quality 0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
Timecounter "TSC" frequency 2998570050 Hz quality 800
Timecounters tick every 1.000 msec</screen>
<para>You can confirm this by checking the
<varname>kern.timecounter.hardware</varname>
&man.sysctl.3;.</para>
<screen>&prompt.root; <userinput>sysctl kern.timecounter.hardware</userinput>
kern.timecounter.hardware: ACPI-fast</screen>
<para>It may be a broken ACPI timer. The simplest solution is
to disable the ACPI timer in
<filename>/boot/loader.conf</filename>:</para>
<programlisting>debug.acpi.disabled="timer"</programlisting>
<para>Or the BIOS may modify the TSC clock&mdash;perhaps to
change the speed of the processor when running from batteries,
or going into a power saving mode, but &os; is unaware of
these adjustments, and appears to gain or lose time.</para>
<para>In this example, the <literal>i8254</literal> clock is
also available, and can be selected by writing its name to the
<varname>kern.timecounter.hardware</varname>
&man.sysctl.3;.</para>
<screen>&prompt.root; <userinput>sysctl kern.timecounter.hardware=i8254</userinput>
kern.timecounter.hardware: TSC -&gt; i8254</screen>
<para>Your computer should now start keeping more accurate
time.</para>
<para>To have this change automatically run at boot time, add
the following line to
<filename>/etc/sysctl.conf</filename>:</para>
<programlisting>kern.timecounter.hardware=i8254</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question id="indefinite-wait-buffer">
<para>What does the error <errorname>swap_pager: indefinite
wait buffer:</errorname> mean?</para>
</question>
<answer>
<para>This means that a process is trying to page memory to
disk, and the page attempt has hung trying to access the
disk for more than 20 seconds. It might be caused by bad
blocks on the disk drive, disk wiring, cables, or any other
disk I/O-related hardware. If the drive itself is actually
bad, you will also see disk errors in
<filename>/var/log/messages</filename> and in the output of
<command>dmesg</command>. Otherwise, check your cables and
connections.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="lock-order-reversal">
<para>What is a <errorname>lock order
reversal</errorname>?</para>
</question>
<answer>
<para>The &os; kernel uses a number of resource locks to
arbitrate contention for certain resources. When multiple
kernel threads try to obtain multiple resource locks,
there's always the potential for a deadlock,
where two threads have each obtained one of the locks and
blocks forever waiting for the other thread to release one
of the other locks. This sort of locking problem can be
avoided if all threads obtain the locks in the same
order.</para>
<para>A run-time lock diagnostic system called &man.witness.4;,
enabled in &os.current; and disabled by default for stable
branches and releases, detects the potential for deadlocks due to
locking errors, including errors caused by obtaining multiple
resource locks with a different order from different parts of the
kernel. The &man.witness.4; framework tries to detect this
problem as it happens, and reports it by printing a message to the
system console about a <errorname>lock order reversal</errorname>
(often referred to also as <acronym>LOR</acronym>).</para>
<para>It is possible to get false positives, as &man.witness.4;
is conservative. A true positive report <emphasis>does
not</emphasis> mean that a system is dead-locked; instead
it should be understood as a warning of the form <quote>if
you were unlucky, a deadlock would have happened
here</quote>.</para>
<note>
<para>Problematic <acronym>LOR</acronym>s tend to get fixed
quickly, so check &a.current.url; before posting to the
mailing lists.</para>
</note>
</answer>
</qandaentry>
<qandaentry>
<question id="called-with-non-sleepable-locks-held">
<para>What does <errorname>Called ... with the following
non-sleepable locks held</errorname> mean?</para>
</question>
<answer>
<para>This means that a function that may sleep was called
while a mutex (or other unsleepable) lock was held.</para>
<para>The reason this is an error is because mutexes are not
intended to be held for long periods of time; they are
supposed to only be held to maintain short periods of
synchronization. This programming contract allows device
drivers to use mutexes to synchronize with the rest of the
kernel during interrupts. Interrupts (under &os;) may not
sleep. Hence it is imperative that no subsystem in the
kernel block for an extended period while holding a
mutex.</para>
<para>To catch such errors, assertions may be added to the
kernel that interact with the &man.witness.4; subsystem to
emit a warning or fatal error (depending on the system
configuration) when a potentially blocking call is made
while holding a mutex.</para>
<para>In summary, such warnings are non-fatal, however with
unfortunate timing they could cause undesirable effects
ranging from a minor blip in the system's responsiveness to
a complete system lockup.</para>
<para>For additional information about locking in &os; see
&man.locking.9;.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="touch-not-found">
<para>Why does
<maketarget>buildworld</maketarget>/<maketarget>installworld</maketarget>
die with the message <errorname>touch: not
found</errorname>?</para>
</question>
<answer>
<para>This error does not mean that the &man.touch.1; utility
is missing. The error is instead probably due to the dates
of the files being set sometime in the future. If your
CMOS-clock is set to local time you need to run the command
<command>adjkerntz&nbsp;-i</command> to adjust the kernel
clock when booting into single user mode.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="applications">
<title>User Applications</title>
<qandaset>
<qandaentry>
<question id="user-apps">
<para>So, where are all the user applications?</para>
</question>
<answer>
<para>Please take a look at <ulink
url="&url.base;/ports/index.html">the ports page</ulink>
for info on software packages ported to &os;. The list
currently tops &os.numports; and is growing daily, so come
back to check often or subscribe to the &a.announce; for
periodic updates on new entries.</para>
<para>Most ports should work on the
&rel2.relx;, and &rel.relx; branches.
Each time a &os;
release is made, a snapshot of the ports tree at the time of
release in also included in the <filename class="directory">ports/</filename>
directory.</para>
<para>We also support the concept of a <quote>package</quote>,
essentially no more than a compressed binary distribution
with a little extra intelligence embedded in it for doing
whatever custom installation work is required. A package
can be installed and uninstalled again easily without having
to know the gory details of which files it includes.</para>
<para>Use
&man.pkg.add.1; on the specific package files
you are interested in installing. Package files can usually
be identified by their <filename>.tbz</filename> suffix and
CD-ROM distribution people will have a
<filename class="directory">packages/All</filename> directory on their CD
which contains such files. They can also be downloaded over
the net for various versions of &os; at the following
locations:</para>
<variablelist>
<varlistentry>
<term>for &rel2.relx;&nbsp;-RELEASE/&rel2.stable;</term>
<listitem>
<para><ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/&rel2.packages;/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/&rel2.packages;</ulink></para>
</listitem>
</varlistentry>
<varlistentry>
<term>for &rel.relx;&nbsp;-RELEASE/&rel.stable;</term>
<listitem>
<para><ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/&rel.packages;/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/&rel.packages;</ulink></para>
</listitem>
</varlistentry>
</variablelist>
<para>or your nearest local mirror site.</para>
<para>Note that all ports may not be available as packages
since new ones are constantly being added. It is always a
good idea to check back periodically to see which packages
are available at the <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/">ftp.FreeBSD.org</ulink>
master site.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="how-do-download-ports-tree">
<para>How do I download the Ports tree? Should I be using
SVN?</para>
</question>
<answer>
<para>Any of the methods listed here work:</para>
<itemizedlist>
<listitem>
<para>Use portsnap for most use cases.</para>
</listitem>
<listitem>
<para>Use SVN directly if you need custom patches
to the ports tree.</para>
</listitem>
<listitem>
<para>Use CTM if you prefer getting patches
by email (this is a rarer use case).</para>
</listitem>
</itemizedlist>
<para>Any other method should be considered a
legacy method. If you do not already use them,
do not start.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="java">
<para>Does &os; support &java;?</para>
</question>
<answer>
<para>Yes. Please see <ulink
url="&url.base;/java/index.html">http://www.FreeBSD.org/java/</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ports-4x">
<para>Why can I not build this port on my
&rel2.relx;&nbsp;-, or
&rel.relx;&nbsp;-STABLE machine?</para>
</question>
<answer>
<para>If you are running a &os; version that lags
significantly behind <emphasis>-CURRENT</emphasis> or
<emphasis>-STABLE</emphasis>, you may need to update your
Ports Collection; see the <ulink
url="&url.books.porters-handbook;/keeping-up.html">Keeping Up</ulink>
section of the Porter's Handbook for further information on
how to do this. If you are up to date, then someone might
have committed a change to the port which works for
<emphasis>-CURRENT</emphasis> but which broke the port for
<emphasis>-STABLE</emphasis>. Please submit a bug report on
this with the &man.send-pr.1; command, since the Ports
Collection is supposed to work for both the
<emphasis>-CURRENT</emphasis> and
<emphasis>-STABLE</emphasis> branches.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="make-index">
<para>I just tried to build <filename>INDEX</filename> using
<command>make <maketarget>index</maketarget></command>, and
it failed. Why?</para>
</question>
<answer>
<para>First, always make sure that you have a complete
up-to-date Ports Collection. Errors that affect building
<filename>INDEX</filename> from an up-to-date copy of the
Ports Collection are high-visibility and are thus almost
always fixed immediately.</para>
<para>There are rare cases where <filename>INDEX</filename>
will not build due to odd cases involving
<makevar>WITH_<replaceable>*</replaceable></makevar> or
<makevar>WITHOUT_<replaceable>*</replaceable></makevar>
variables being set in <filename>make.conf</filename>. If
you suspect that this is the case, please try to make
<filename>INDEX</filename> with those make variables turned
off before reporting it to &a.ports;.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ports-update">
<para>I updated the sources, now how do I update my installed
ports?</para>
</question>
<answer>
<para>&os; does not include a port upgrading tool, but it does
have some tools to make the upgrade process somewhat easier.
You can also install additional tools to simplify port
handling, see the <ulink
url="&url.books.handbook;/ports-using.html">Upgrading Ports</ulink>
section in the &os; Handbook.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ports-major-upgrade">
<para>Do I need to recompile every port each time I perform a
major version update?</para>
</question>
<answer>
<para>By all means! While a recent system will run with
software compiled under an older release, you will end up with
things randomly crashing and failing to work once you start
installing other ports or updating a portion of what you
already have.</para>
<para>When the system is upgraded, various shared libraries,
loadable modules, and other parts of the system will be
replaced with newer versions. Applications linked against
the older versions may fail to start or, in other cases,
fail to function properly.</para>
<para>For more information, see <ulink
url="&url.books.handbook;/updating-upgrading-freebsdupdate.html#freebsdupdate-upgrade">the section on upgrades</ulink>
in the &os; Handbook.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ports-minor-upgrade">
<para>Do I need to recompile every port each time I perform a
minor version update?</para>
</question>
<answer>
<para>In general, no. &os; developers do their utmost to
guarantee binary compatibility across all releases with the
same major version number. Any exceptions will be
documented in the Release Notes, and advice given there
should be followed.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="minimal-sh">
<para>Why is <command>/bin/sh</command> so minimal? Why
does &os; not use <command>bash</command> or another
shell?</para>
</question>
<answer>
<para>Many people need to write shell scripts which will be
portable across many systems. That is why &posix;
specifies the shell and utility commands in great detail.
Most scripts are written in Bourne shell (&man.sh.1;), and
because several important programming interfaces
(&man.make.1;, &man.system.3;, &man.popen.3;, and
analogues in higher-level scripting languages like Perl
and Tcl) are specified to use the Bourne shell to
interpret commands. Because the Bourne shell is so often
and widely used, it is important for it to be quick to
start, be deterministic in its behavior, and have a small
memory footprint.</para>
<para>The existing implementation is our best effort at
meeting as many of these requirements simultaneously as we
can. To keep <command>/bin/sh</command> small,
we have not provided many of the convenience features that
other shells have. That is why other more
featureful shells like
<command>bash</command>, <command>scsh</command>,
&man.tcsh.1;, and <command>zsh</command> are available.
(You can
compare for yourself the memory utilization of all these
shells by looking at the <quote>VSZ</quote> and
<quote>RSS</quote> columns in a <command>ps
<option>-u</option></command> listing.)</para>
</answer>
</qandaentry>
<qandaentry>
<question id="midi-sound-files">
<para>How do I create audio CDs from my MIDI files?</para>
</question>
<answer>
<para>To create audio CDs from MIDI files, first install
<filename role="package">audio/timidity++</filename> from
ports then install manually the GUS patches set by Eric A.
Welsh, available at <ulink
url="http://alleg.sourceforge.net/digmid.html"></ulink>.
After <application>TiMidity++</application> has been installed
properly, MIDI files may be converted to WAV files with the
following command line:</para>
<screen>&prompt.user; <userinput>timidity -Ow -s 44100 -o <replaceable>/tmp/juke/01.wav</replaceable> <replaceable>01.mid</replaceable></userinput></screen>
<para>The WAV files can then be converted to other formats or
burned onto audio CDs, as described in the <ulink
url="&url.books.handbook;/creating-cds.html">&os; Handbook</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="officesuite">
<para>Where can I get an Office Suite for &os;?</para>
</question>
<answer>
<para>The open-source <application><ulink
url="http://www.openoffice.org">Apache OpenOffice</ulink></application>
and <application><ulink
url="http://www.libreoffice.org">LibreOffice</ulink></application>
office suites work natively on &os;.</para>
<para>&os; also includes a variety of text editors,
spreadsheets, and drawing programs in the Ports
Collection.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="convert-back-from-pkgng">
<para>How can I convert from pkgng to the old package
tools?</para>
</question>
<answer>
<para>Short answer: it is not possible.</para>
<para>Longer answer: if you have made any changes using
<command>pkg</command> converting back is non-trivial and
requires lots of manual editing of internal package
database files. However, if you have just run
<command>pkg2ng</command> then you may remove
<filename>/var/db/pkg/local.sqlite</filename>
and extract
<filename>/var/backups/pkgdb.bak.tbz</filename>.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="kernelconfig">
<title>Kernel Configuration</title>
<qandaset>
<qandaentry>
<question id="make-kernel">
<para>I would like to customize my kernel. Is it
difficult?</para>
</question>
<answer>
<para>Not at all! Check out the <ulink
url="&url.books.handbook;/kernelconfig.html">kernel config section of the Handbook</ulink>.</para>
<note>
<para>The new <filename>kernel</filename> will be installed
to the <filename class="directory">/boot/kernel</filename> directory along
with its modules, while the old kernel and its modules
will be moved to the <filename class="directory">/boot/kernel.old</filename>
directory, so if you make a mistake the next time you play
with your configuration you can boot the previous version
of your kernel.</para>
</note>
</answer>
</qandaentry>
<qandaentry>
<question id="why-kernel-big">
<para>Why is my kernel so big?</para>
</question>
<answer>
<para><literal>GENERIC</literal> kernels shipped with &os;
and later are compiled in <emphasis>debug mode</emphasis>.
Kernels built in debug mode
contain many symbols in separate files that are used for
debugging, thus greatly increasing the size of
<filename class="directory">/boot/kernel/</filename>.
Note that there will be little or no performance loss
from running a debug kernel, and it is useful to keep one
around in case of a system panic.</para>
<para>However, if you are running low on disk space, there
are different options to reduce the size of <filename
class="directory">/boot/kernel/</filename>.</para>
<para>If you do not want the symbol files to be installed,
make sure you have the following line present in
<filename>/etc/src.conf</filename>:</para>
<programlisting>WITHOUT_KERNEL_SYMBOLS=yes</programlisting>
<para>For more information see &man.src.conf.5;.</para>
<para>If you do not want to build a debug kernel, make
sure that both of the following are true:</para>
<itemizedlist>
<listitem>
<para>You do not have a line in your kernel configuration
file that reads:</para>
<programlisting>makeoptions DEBUG=-g</programlisting>
</listitem>
<listitem>
<para>You are not running &man.config.8; with
<option>-g</option>.</para>
</listitem>
</itemizedlist>
<para>Either of the above settings will cause your kernel to
be built in debug mode. As long as you make sure you follow
the steps above, you can build your kernel normally.</para>
<para>If you want only the modules you use to be built
and installed, make sure you have a line like below in
<filename>/etc/make.conf</filename>:</para>
<programlisting>MODULES_OVERRIDE= <replaceable>accf_http ipfw</replaceable></programlisting>
<para>Replace <emphasis>accf_httpd ipfw</emphasis> with
a list of modules you need. Only these modules will be
built. This does not only reduce the size of the kernel
directory but also decreases the amount of time needed to
build your kernel. For more information see
<filename>/usr/share/examples/etc/make.conf</filename>.</para>
<para>You can also remove unneeded devices from your kernel
to further reduce the size. See
<xref linkend="make-kernel"/> for more information.</para>
<para>To put any of these options into effect you will have
to <ulink url="&url.books.handbook;/kernelconfig-building.html">build and install</ulink>
your new kernel.</para>
<para>Most kernels (<filename>/boot/kernel/kernel</filename>)
tend to be around 12&nbsp;MB to 16&nbsp;MB.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="generic-kernel-build-failure">
<para>Why does every kernel I try to build fail to compile,
even <filename>GENERIC</filename>?</para>
</question>
<answer>
<para>There are a number of possible causes for this problem.
They are, in no particular order:</para>
<itemizedlist>
<listitem>
<para>You are not using the
<command>make <maketarget>buildkernel</maketarget></command> and
<command>make <maketarget>installkernel</maketarget></command>
targets, and your source tree is different from the one
used to build the currently running system (e.g., you
are compiling &rel.current;-RELEASE on a
&rel2.current;-RELEASE system). If you are attempting
an upgrade, please read
<filename>/usr/src/UPDATING</filename>, paying
particular attention to the <quote>COMMON ITEMS</quote>
section at the end.</para>
</listitem>
<listitem>
<para>You are using the
<command>make <maketarget>buildkernel</maketarget></command>
and
<command>make <maketarget>installkernel</maketarget></command>
targets, but you failed to assert the completion of the
<command>make <maketarget>buildworld</maketarget></command>
target. The
<command>make <maketarget>buildkernel</maketarget></command>
target relies on files generated by the
<command>make <maketarget>buildworld</maketarget></command>
target to complete its job correctly.</para>
</listitem>
<listitem>
<para>Even if you are trying to build <link
linkend="stable">&os;-STABLE</link>, it is possible that
you fetched the source tree at a time when it was either
being modified, or broken for other reasons; only
releases are absolutely guaranteed to be buildable,
although <link linkend="stable">&os;-STABLE</link>
builds fine the majority of the time. If you have not
already done so, try re-fetching the source tree and see
if the problem goes away. Try using a different server
in case the one you are using is having problems.</para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
<qandaentry>
<question id="scheduler-in-use">
<para>How can I verify which scheduler is in use on a running
system?</para>
</question>
<answer>
<para>The name of the scheduler currently being used is
directly available as the value of the
<varname>kern.sched.name</varname> sysctl:</para>
<screen>&prompt.user; sysctl <replaceable>kern.sched.name</replaceable>
kern.sched.name: ULE</screen>
</answer>
</qandaentry>
<qandaentry>
<question id="scheduler-kern-quantum">
<para>What is <varname>kern.sched.quantum</varname>?</para>
</question>
<answer>
<para><varname>kern.sched.quantum</varname> is the maximum
number of ticks a process can run without being preempted
in the 4BSD scheduler.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="disks">
<title>Disks, File Systems, and Boot Loaders</title>
<qandaset>
<qandaentry>
<question id="adding-disks">
<para>How can I add my new hard disk to my &os; system?</para>
</question>
<answer>
<para>See the <ulink
url="&url.books.handbook;/disks-adding.html">Adding Disks</ulink>
section in the &os; Handbook.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="new-huge-disk">
<para>How do I move my system over to my huge new disk?</para>
</question>
<answer>
<para>The best way is to reinstall the OS on the new disk,
then move the user data over. This is highly recommended if
you have been tracking <emphasis>-STABLE</emphasis> for more
than one release, or have updated a release instead of
installing a new one. You can install booteasy on both
disks with &man.boot0cfg.8;, and dual boot them until you
are happy with the new configuration. Skip the next
paragraph to find out how to move the data after doing
this.</para>
<para>Alternatively, partition and label the new disk with either
&man.sade.8; or &man.gpart.8;. If the disks are MBR-formatted,
you can also install booteasy on both disks with
&man.boot0cfg.8;, so that you can dual boot to the old or
new system after the copying is done.</para>
<para>Now you have the new disk set up, and are ready to move
the data. Unfortunately, you cannot just blindly copy the
data. Things like device files (in
<filename class="directory">/dev</filename>), flags, and links tend to screw
that up. You need to use tools that understand these
things, which means &man.dump.8;. Although it is suggested
that you move the data in single user mode, it is not
required.</para>
<para>You should never use anything but &man.dump.8; and
&man.restore.8; to move the root file system. The
&man.tar.1; command may work &mdash; then again, it may not.
You should also use &man.dump.8; and &man.restore.8; if you
are moving a single partition to another empty partition.
The sequence of steps to use <command>dump</command> to move
a partitions data to a new partition is:</para>
<procedure>
<step>
<para><command>newfs</command> the new partition.</para>
</step>
<step>
<para><command>mount</command> it on a temporary mount
point.</para>
</step>
<step>
<para><command>cd</command> to that directory.</para>
</step>
<step>
<para><command>dump</command> the old partition, piping
output to the new one.</para>
</step>
</procedure>
<para>For example, if you are going to move root to
<devicename>/dev/<replaceable>ada1s1a</replaceable></devicename>,
with <filename class="directory"><replaceable>/mnt</replaceable></filename> as
the temporary mount point, it is:</para>
<screen>&prompt.root; <userinput>newfs /dev/<replaceable>ada1s1a</replaceable></userinput>
&prompt.root; <userinput>mount /dev/<replaceable>ada1s1a</replaceable> <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>cd <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>dump 0af - / | restore rf -</userinput></screen>
<para>Rearranging your partitions with <command>dump</command>
takes a bit more work. To merge a partition like
<filename class="directory">/var</filename> into its parent, create the new
partition large enough for both, move the parent partition
as described above, then move the child partition into the
empty directory that the first move created:</para>
<screen>&prompt.root; <userinput>newfs /dev/<replaceable>ada1s1a</replaceable></userinput>
&prompt.root; <userinput>mount /dev/<replaceable>ada1s1a</replaceable> <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>cd <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>dump 0af - / | restore rf -</userinput>
&prompt.root; <userinput>cd var</userinput>
&prompt.root; <userinput>dump 0af - /var | restore rf -</userinput></screen>
<para>To split a directory from its parent, say putting
<filename class="directory">/var</filename> on its own partition when it was
not before, create both partitions, then mount the child
partition on the appropriate directory in the temporary
mount point, then move the old single partition:</para>
<screen>&prompt.root; <userinput>newfs /dev/<replaceable>ada1s1a</replaceable></userinput>
&prompt.root; <userinput>newfs /dev/<replaceable>ada1s1d</replaceable></userinput>
&prompt.root; <userinput>mount /dev/<replaceable>ada1s1a</replaceable> <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>mkdir <replaceable>/mnt</replaceable>/var</userinput>
&prompt.root; <userinput>mount /dev/<replaceable>ada1s1d</replaceable> <replaceable>/mnt</replaceable>/var</userinput>
&prompt.root; <userinput>cd <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>dump 0af - / | restore rf -</userinput></screen>
<para>You might prefer &man.cpio.1;, &man.pax.1;, &man.tar.1;
to &man.dump.8; for user data. At the time of this writing,
these are known to lose file flag information, so use them
with caution.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="safe-softupdates">
<para>Which partitions can safely use Soft Updates? I have
heard that Soft Updates on <filename class="directory">/</filename> can cause
problems. What about Journaled Soft Updates?</para>
</question>
<answer>
<para>Short answer: you can usually use Soft Updates safely on
all partitions.</para>
<para>Long answer: Soft Updates has two
characteristics that may be undesirable on certain
paritions. First, a Soft Updates
partition has a small chance of losing data during a system
crash. (The partition will not be corrupted; the data will
simply be lost.) Second, Soft Updates can cause temporary
space shortages.</para>
<para>When using Soft Updates, the kernel can take up to
thirty seconds to write changes to the physical
disk. When a large file is deleted the file still
resides on
disk until the kernel actually performs the deletion. This
can cause a very simple race condition. Suppose you delete
one large file and immediately create another large file.
The first large file is not yet actually removed from the
physical disk, so the disk might not have enough room for
the second large file. You get an error that the partition
does not have enough space, although you know perfectly well
that you just released a large chunk of space! When you try
again mere seconds later, the file creation works as you
expect. This has left more than one user scratching his
head and doubting his sanity, the &os; file system, or
both.</para>
<para>If a system should crash after the kernel accepts a
chunk of data for writing to disk, but before that data is
actually written out, data could be lost. This
risk is extremely small, but generally manageable.</para>
<para>These issues affect all partitions using Soft Updates.
So, what does this mean for the root partition?</para>
<para>Vital information on the root partition changes very
rarely. If the
system crashed during the thirty-second window after such a
change is made, it is possible that data could be lost.
This risk is negligible for most applications, but you
should be aware that it exists. If your system cannot
tolerate this much risk, do not use Soft Updates on the root
file system!</para>
<para><filename class="directory">/</filename> is traditionally one of the
smallest partitions. If you put the
<filename class="directory">/tmp</filename> directory on
<filename class="directory">/</filename> and you have a busy
<filename class="directory">/tmp</filename>, you might see intermittent space
problems. Symlinking <filename class="directory">/tmp</filename> to
<filename class="directory">/var/tmp</filename> will solve this
problem.</para>
<para>Finally, &man.dump.8; does not work in live mode (-L)
on a filesystem, with Journaled Soft Updates
(<acronym>SU+J</acronym>).</para>
</answer>
</qandaentry>
<qandaentry>
<question id="mount-foreign-fs">
<para>Can I mount other foreign file systems under
&os;?</para>
</question>
<answer>
<para>&os; supports a variety of other file systems.</para>
<variablelist>
<varlistentry>
<term>UFS</term>
<listitem>
<para>UFS CD-ROMs can be mounted directly on &os;.
Mounting disk partitions from Digital UNIX and other
systems that support UFS may be more complex,
depending on the details of the disk partitioning for
the operating system in question.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ext2/ext3</term>
<listitem>
<para>&os; supports <literal>ext2fs</literal> and
<literal>ext3fs</literal> partitions. See
&man.ext2fs.5; for more information.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>NTFS</term>
<listitem>
<para>FUSE based NTFS support is available as a port
(<filename role="package">sysutils/fusefs-ntfs</filename>).
For more information see <ulink
url="http://www.tuxera.com/community/ntfs-3g-manual/"><application>ntfs-3g</application></ulink>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>FAT</term>
<listitem>
<para>&os; includes a read-write FAT driver. For more
information, see &man.mount.msdosfs.8;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ZFS</term>
<listitem>
<para>&os; includes a port of
&sun;'s ZFS driver. The current recommendation is to
use it only on &arch.amd64; platforms with sufficient
memory. For more information, see &man.zfs.8;.</para>
</listitem>
</varlistentry>
</variablelist>
<para>&os; also supports network file systems such as NFS (see
&man.mount.nfs.8;), NetWare (see &man.mount.nwfs.8;), and
Microsoft-style SMB file systems (see &man.mount.smbfs.8;).
You can find ports based on FUSE (<filename
role="package">sysutils/fusefs-kmod</filename>) for many
other file systems.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="mount-dos">
<para>How do I mount a secondary DOS partition?</para>
</question>
<answer>
<para>The secondary DOS partitions are found after
<emphasis>all</emphasis> the primary partitions. For
example, if you have an <quote>E</quote> partition as the
second DOS partition on the second SCSI drive, there will be
a device file for <quote>slice 5</quote> in
<filename class="directory">/dev</filename>, so simply mount it:</para>
<screen>&prompt.root; <userinput>mount -t msdosfs /dev/da1s5 /dos/e</userinput></screen>
</answer>
</qandaentry>
<qandaentry>
<question id="crypto-file-system">
<para>Is there a cryptographic file system for &os;?</para>
</question>
<answer>
<para>Yes. You can use either &man.gbde.8; or &man.geli.8;,
see the <ulink
url="&url.books.handbook;/disks-encrypting.html">Encrypting Disk Partitions</ulink>
section of the &os; Handbook.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="nt-bootloader">
<para>How can I use the &windowsnt; loader to boot
&os;?</para>
</question>
<answer>
<para>The general idea is that you copy the first sector of
your native root &os; partition into a file in the
DOS/&windowsnt; partition. Assuming you name that file
something like <filename>c:\bootsect.bsd</filename>
(inspired by <filename>c:\bootsect.dos</filename>), you can
then edit <filename>c:\boot.ini</filename> to come
up with something like this:</para>
<programlisting>[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
C:\BOOTSECT.BSD="&os;"
C:\="DOS"</programlisting>
<para>If &os; is installed on the same disk as the &windowsnt;
boot partition simply copy <filename>/boot/boot1</filename> to
<filename>C:\BOOTSECT.BSD</filename>. However, if &os; is
installed on a different disk
<filename>/boot/boot1</filename> will not work,
<filename>/boot/boot0</filename> is needed.</para>
<para><filename>/boot/boot0</filename> needs to be installed
using &man.sysinstall.8; by selecting the &os; boot manager
on the screen which asks if you wish to use a boot manager.
This is because <filename>/boot/boot0</filename> has the
partition table area filled with NULL characters but
&man.sysinstall.8; copies the partition table before copying
<filename>/boot/boot0</filename> to the MBR.</para>
<warning>
<para><emphasis>Do not simply copy
<filename>/boot/boot0</filename> instead of
<filename>/boot/boot1</filename>; you will overwrite
your partition table and render your computer
un-bootable!</emphasis></para>
</warning>
<para>When the &os; boot manager runs it records the last OS
booted by setting the active flag on the partition table
entry for that OS and then writes the whole 512-bytes of
itself back to the MBR so if you just copy
<filename>/boot/boot0</filename> to
<filename>C:\BOOTSECT.BSD</filename> then it writes an empty
partition table, with the active flag set on one entry, to
the MBR.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="lilo-bootloader">
<para>How do I boot &os; and &linux; from LILO?</para>
</question>
<answer>
<para>If you have &os; and &linux; on the same disk, just
follow LILO's installation instructions for booting a
non-&linux; operating system. Very briefly, these
are:</para>
<para>Boot &linux;, and add the following lines to
<filename>/etc/lilo.conf</filename>:</para>
<programlisting>other=/dev/hda2
table=/dev/hda
label=&os;</programlisting>
<para>(the above assumes that your &os; slice is known to
&linux; as <devicename>/dev/hda2</devicename>; tailor to
suit your setup). Then, run <command>lilo</command> as
<username>root</username> and you should be done.</para>
<para>If &os; resides on another disk, you need to add
<literal>loader=/boot/chain.b</literal> to the LILO entry.
For example:</para>
<programlisting>other=/dev/dab4
table=/dev/dab
loader=/boot/chain.b
label=&os;</programlisting>
<para>In some cases you may need to specify the BIOS drive
number to the &os; boot loader to successfully boot off the
second disk. For example, if your &os; SCSI disk is probed
by BIOS as BIOS disk 1, at the &os; boot loader prompt you
need to specify:</para>
<screen>Boot: <userinput>1:da(0,a)/boot/kernel/kernel</userinput></screen>
<para>You can configure &man.boot.8; to automatically do this
for you at boot time.</para>
<para>The <ulink
url="http://tldp.org/HOWTO/Linux+FreeBSD.html">&linux;+&os; mini-HOWTO</ulink>
is a good reference for &os; and &linux; interoperability
issues.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="grub-loader">
<para>How do I boot &os; and &linux; using GRUB?</para>
</question>
<answer>
<para>Booting &os; using GRUB is very simple. Just add the
following to your configuration file
<filename>/boot/grub/menu.lst</filename> (or
<filename>/boot/grub/grub.conf</filename> in some systems,
e.g., Red Hat Linux and its derivatives).</para>
<programlisting>title &os; 6.1
root <replaceable>(hd0,a)</replaceable>
kernel /boot/loader</programlisting>
<para>Where <replaceable>hd0,a</replaceable> points to your
root partition on the first disk. If you need to specify
which slice number should be used, use something like this
<replaceable>(hd0,2,a)</replaceable>. By default, if the
slice number is omitted, GRUB searches the first slice which
has <literal>a</literal> partition.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="booteasy-loader">
<para>How do I boot &os; and &linux; using
<application>BootEasy?</application></para>
</question>
<answer>
<para>Install LILO at the start of your &linux; boot partition
instead of in the Master Boot Record. You can then boot
LILO from <application>BootEasy</application>.</para>
<para>If you are running &windows; and &linux; this is
recommended anyway, to make it simpler to get &linux; booting
again if you should need to reinstall &windows; (which is a
Jealous Operating System, and will bear no other Operating
Systems in the Master Boot Record).</para>
</answer>
</qandaentry>
<qandaentry>
<question id="changing-bootprompt">
<para>How do I change the boot prompt from
<literal>???</literal> to something more meaningful?</para>
</question>
<answer>
<para>You can not do that with the standard boot manager
without rewriting it. There are a number of other boot
managers in the <filename class="directory">sysutils</filename> ports category
that provide this functionality.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="removable-drives">
<para>I have a new removable drive, how do I use it?</para>
</question>
<answer>
<para>If the drive already has a
file system on it, you can use a command like this:</para>
<screen>&prompt.root; <userinput>mount -t msdosfs /dev/da0s1 /mnt</userinput></screen>
<para>If the drive will only be used with &os;
systems it is better idea to
stick a BSD file system on it, like UFS or ZFS.
You will get long filename
support, at least a 2X improvement in performance,
and a lot more stability. If the drive will be
used by other operating systems a more portable
choice, such as msdosfs, is better.</para>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da0 count=2</userinput>
&prompt.root; <userinput>gpart create -s GPT /dev/da0</userinput>
&prompt.root; <userinput>gpart add -t freebsd-ufs /dev/da0</userinput></screen>
<para>Finally, create a new file system:</para>
<screen>&prompt.root; <userinput>newfs /dev/da0p1</userinput></screen>
<para>and mount it:</para>
<screen>&prompt.root; <userinput>mount /dev/da0s1 /mnt</userinput></screen>
<para>It is a good idea to add a line
to <filename>/etc/fstab</filename> (see &man.fstab.5;) so
you can just type <command>mount /mnt</command> in the
future:</para>
<programlisting>/dev/da0p1 /mnt ufs rw,noauto 0 0</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question id="mount-cd-superblock">
<para>Why do I get <errorname>Incorrect super
block</errorname> when mounting a CD-ROM?</para>
</question>
<answer>
<para>You have to tell &man.mount.8; the type of the device
that you want to mount. This is described in the <ulink
url="&url.books.handbook;/creating-cds.html"> Handbook section on optical media</ulink>,
specifically the section <ulink
url="&url.books.handbook;/creating-cds.html#mounting-cd">Using Data CDs</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="cdrom-not-configured">
<para>Why do I get <errorname>Device not
configured</errorname> when mounting a CD-ROM?</para>
</question>
<answer>
<para>This generally means that there is no CD-ROM in the
CD-ROM drive, or the drive is not visible on the bus.
Please see the <ulink
url="&url.books.handbook;/creating-cds.html#mounting-cd">Using Data CDs</ulink>
section of the Handbook for a detailed discussion of this
issue.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="cdrom-unicode-filenames">
<para>Why do all non-English characters in filenames show up
as <quote>?</quote> on my CDs when mounted in &os;?</para>
</question>
<answer>
<para>Your CD-ROM probably uses the <quote>Joliet</quote>
extension for storing information about files and
directories. This is discussed in the Handbook chapter on
<ulink
url="&url.books.handbook;/creating-cds.html">creating and using CD-ROMs</ulink>,
specifically the section on <ulink
url="&url.books.handbook;/creating-cds.html#mounting-cd">Using Data CD-ROMs</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="burncd-isofs">
<para>I burned a CD under &os; and now I can not read it under
any other operating system. Why?</para>
</question>
<answer>
<para>You most likely burned a raw file to your CD, rather
than creating an ISO&nbsp;9660 file system. Take a look at
the <ulink
url="&url.books.handbook;/creating-cds.html">Handbook chapter on creating CD-ROMs</ulink>,
particularly the section on <ulink
url="&url.books.handbook;/creating-cds.html#rawdata-cd">burning raw data CDs</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="copy-cd">
<para>How can I create an image of a data CD?</para>
</question>
<answer>
<para>This is discussed in the Handbook section on <ulink
url="&url.books.handbook;/creating-cds.html#imaging-cd">duplicating data CDs</ulink>.
For more on working with CD-ROMs, see the <ulink
url="&url.books.handbook;/creating-cds.html">Creating CDs Section</ulink>
in the Storage chapter in the Handbook.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="mount-audio-CD">
<para>Why can I not <command>mount</command> an audio
CD?</para>
</question>
<answer>
<para>If you try to mount an audio CD, you will get an error
like <errorname>cd9660: /dev/acd0c: Invalid
argument</errorname>. This is because
<command>mount</command> only works on file systems. Audio
CDs do not have file systems; they just have data. You need
a program that reads audio CDs, such as the <filename
role="package">audio/xmcd</filename> port.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="multi-session-CD">
<para>How do I <command>mount</command> a multi-session
CD?</para>
</question>
<answer>
<para>By default, &man.mount.8; will attempt to mount the last
data track (session) of a CD. If you would like to load an
earlier session, you must use the <option>-s</option>
command line argument. Please see &man.mount.cd9660.8; for
specific examples.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="user-floppymount">
<para>How do I let ordinary users mount CD-ROMs, DVDs,
USB drives, and other removable media?</para>
</question>
<answer>
<para>As <username>root</username> set the sysctl variable
<varname>vfs.usermount</varname> to
<literal>1</literal>.</para>
<screen>&prompt.root; <userinput>sysctl vfs.usermount=1</userinput></screen>
<para>To make this persist across reboots, add the line
<literal><varname>vfs.usermount</varname>=1</literal> to
<filename>/etc/sysctl.conf</filename> so that
it is reset at system boot time.</para>
<para>Users can only mount devices they have read
permissions to. To allow users to mount a device
permissions must be set in
<filename>/etc/devfs.conf</filename>.</para>
<para>For example, to allow users to mount the first USB
drive add:</para>
<programlisting># Allow all users to mount a USB drive.
own /dev/da0 root:operator
perm /dev/da00 0666</programlisting>
<para>All users can now mount devices they could read
onto a directory that they own:</para>
<screen>&prompt.user; <userinput>mkdir <replaceable>~/my-mount-point</replaceable></userinput>
&prompt.user; <userinput>mount -t msdosfs /dev/da0<replaceable>~/my-mount-point</replaceable></userinput></screen>
<para>Unmounting the device is simple:</para>
<screen>&prompt.user; <userinput>umount <replaceable>~/my-mount-point</replaceable></userinput></screen>
<para>Enabling <varname>vfs.usermount</varname>, however, has
negative security implications. A better way to access
&ms-dos; formatted media is to use the <filename
role="package">emulators/mtools</filename> package in the
Ports Collection.</para>
<note>
<para>The device name used in the previous examples must be
changed according to your configuration.</para>
</note>
</answer>
</qandaentry>
<qandaentry>
<question id="du-vs-df">
<para>The <command>du</command> and <command>df</command>
commands show different amounts of disk space available.
What is going on?</para>
</question>
<answer>
<para>You need to understand what <command>du</command> and
<command>df</command> really do. <command>du</command> goes
through the directory tree, measures how large each file is,
and presents the totals. <command>df</command> just asks
the file system how much space it has left. They seem to be
the same thing, but a file without a directory entry will
affect <command>df</command> but not
<command>du</command>.</para>
<para>When a program is using a file, and you delete the file,
the file is not really removed from the file system until
the program stops using it. The file is immediately deleted
from the directory listing, however. You can see this
easily enough with a program such as
<command>more</command>. Assume you have a file large
enough that its presence affects the output of
<command>du</command> and <command>df</command>. (Since
disks can be so large today, this might be a
<emphasis>very</emphasis> large file!) If you delete this
file while using <command>more</command> on it,
<command>more</command> does not immediately choke and
complain that it cannot view the file. The entry is simply
removed from the directory so no other program or user can
access it. <command>du</command> shows that it is gone
&mdash; it has walked the directory tree and the file is not
listed. <command>df</command> shows that it is still there,
as the file system knows that <command>more</command> is
still using that space. Once you end the
<command>more</command> session, <command>du</command> and
<command>df</command> will agree.</para>
<para>This situation is common on web servers. Many people
set up a &os; web server and forget to rotate the log files.
The access log fills up <filename class="directory">/var</filename>. The new
administrator deletes the file, but the system still
complains that the partition is full. Stopping and
restarting the web server program would free the file,
allowing the system to release the disk space. To prevent
this from happening, set up &man.newsyslog.8;.</para>
<para>Note that Soft Updates can delay the freeing of disk
space; you might need to wait up to 30 seconds for the
change to be visible!</para>
</answer>
</qandaentry>
<qandaentry>
<question id="add-swap-space">
<para>How can I add more swap space?</para>
</question>
<answer>
<para>In the <ulink
url="&url.books.handbook;/config-tuning.html">Configuration and Tuning</ulink>
section of the Handbook, you will find a <ulink
url="&url.books.handbook;/adding-swap-space.html">section</ulink>
describing how to do this.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="manufacturer-disk-size">
<para>Why does &os; see my disk as smaller than the
manufacturer says it is?</para>
</question>
<answer>
<para>Disk manufacturers calculate gigabytes as a billion
bytes each, whereas &os; calculates them as
1,073,741,824&nbsp;bytes each. This explains why, for
example, &os;'s boot messages will report a disk that
supposedly has 80&nbsp;GB as holding 76,319&nbsp;MB.</para>
<para>Also note that &os; will (by default) <link
linkend="disk-more-than-full">reserve</link> 8% of the disk
space.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="disk-more-than-full">
<para>How is it possible for a partition to be more than 100%
full?</para>
</question>
<answer>
<para>A portion of each UFS partition (8%, by default) is
reserved for use by the operating system and the
<username>root</username> user. &man.df.1; does not count
that space when calculating the <literal>Capacity</literal>
column, so it can exceed 100%. Also, you will notice that
the <literal>Blocks</literal> column is always greater than
the sum of the <literal>Used</literal> and
<literal>Avail</literal> columns, usually by a factor of
8%.</para>
<para>For more details, look up <option>-m</option>
in &man.tunefs.8;.</para>
</answer>
</qandaentry>
</qandaset>
<sect1 id="all-about-zfs">
<title>ZFS</title>
<qandaset>
<qandaentry>
<question id="how-much-ram-for-zfs">
<para>What is the minimum amount of RAM one should have to
run ZFS?</para>
</question>
<answer>
<para>A minimum of 4GB of RAM is required for comfortable
usage, but individual workloads can vary widely.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="what-is-zil">
<para>What is the ZIL and when does it get used?</para>
</question>
<answer>
<para>The <acronym>ZIL</acronym> ((<acronym>ZFS</acronym>
intent log) is a write log used to implement posix write
commitment semantics across crashes. Normally writes
are bundled up into transaction groups
and written to disk when filled (<quote>Transaction Group
Commit</quote>). However syscalls like &man.fsync.2;
require a commitment that the data is written to stable
storage before returning.
The ZIL is needed for writes that have been acknowledged
as written but which are not yet on disk as part of a
transaction. The transaction groups are timestamped.
In the event of a crash the last valid timestamp is
found and missing data is merged in from the ZIL.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="need-ssd-for-zil">
<para>Do I need a SSD for ZIL?</para>
</question>
<answer>
<para>By default, ZFS stores the ZIL in the pool with all
the data. If your application has a heavy write load,
storing the ZIL in a separate device that has very fast
synchronous, sequential write performance can improve
overall system. For other workloads, a SSD is unlikely
to make much of an improvement.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="what-is-l2arc">
<para>What is the L2ARC?</para>
</question>
<answer>
<para>The <acronym>L2ARC</acronym> is a read cache stored
on a fast device such as an <acronym>SSD</acronym>.
This cache is not persisent across
reboots. Note that RAM is used as the first layer
of cache and the L2ARC is only needed if there is
insufficient RAM.</para>
<para>L2ARC needs space in the ARC to index it. So,
perversely, a working set that fits perfectly in the
ARC will not fit perfectly any more if a L2ARC is used
because part of the ARC is holding the L2ARC index,
pushing part of the working set into the
L2ARC which is slower than RAM.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="should-enable-dedup">
<para>Is enabling deduplication advisable?</para>
</question>
<answer>
<para>Generally speaking, no.</para>
<para>Deduplication takes up a significant amount
of RAM and may slow down read and write
disk access times. Unless one is storing data that is
very heavily duplicated (such as virtual machine images,
or user backups) it is possible that deduplication will
do more harm than good. Another consideration is the
inability to revert deduplication status. If data is
written when deduplication is enabled, disabling dedup
will not cause those blocks which were deduplicated to
be replicated until they are next modified.</para>
<para>Deduplication can also lead to some unexpected
situations. In particular deleting files may become much
slower.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="zpool-fully-full">
<para>I can not delete or create files on my ZFS pool.
How can I fix this?</para>
</question>
<answer>
<para>This could happen because the pool is 100% full.
ZFS requires space on the disk to write
transaction metadata. To restore the pool
to a usable state, truncate a file you want to
delete.</para>
<screen>&prompt.user; <userinput>truncate -s 0 <replaceable>unimportant-file</replaceable></userinput></screen>
<para>File truncation works because a new transaction is
not started, new spare blocks are created instead.</para>
<note>
<para>On systems with additional ZFS dataset tuning,
such as deduplication, the space may not be immediately
available</para>
</note>
</answer>
</qandaentry>
<qandaentry>
<question id="zfs-ssd-trim">
<para>Does ZFS support TRIM for Solid State Drives?</para>
</question>
<answer>
<para>ZFS TRIM support was added to &os;&nbsp;10-CURRENT
with revision r<svnref>240868</svnref>. ZFS TRIM
support is not yet available on the -STABLE
branches.</para>
<para>ZFS TRIM is enabled by default, and can be turned
off by adding this line to
<filename>/etc/sysctl.conf</filename>:</para>
<programlisting>vfs.zfs.trim_disable=1</programlisting>
<note>
<para>ZFS TRIM may not work with all configurations,
such as a ZFS filesystem on a GELI-backed
device.</para>
</note>
</answer>
</qandaentry>
</qandaset>
</sect1>
</chapter>
<chapter id="admin">
<title>System Administration</title>
<qandaset>
<qandaentry>
<question id="startup-config-files">
<para>Where are the system start-up configuration
files?</para>
</question>
<answer>
<para>The primary configuration file is
<filename>/etc/defaults/rc.conf</filename> (see
&man.rc.conf.5;). System startup scripts such as
<filename class="directory">/etc/rc</filename> and
<filename class="directory">/etc/rc.d</filename> (see &man.rc.8;) just include
this file. <emphasis>Do not edit this file!</emphasis>
Instead, if there is any entry in
<filename>/etc/defaults/rc.conf</filename> that you want to
change, you should copy the line into
<filename>/etc/rc.conf</filename> and change it
there.</para>
<para>For example, if you wish to start &man.named.8;, the
included DNS server, all you need to do is:</para>
<screen>&prompt.root; <userinput>echo 'named_enable="YES"' &gt;&gt; /etc/rc.conf</userinput></screen>
<para>To start up local services, place shell scripts in the
<filename class="directory">/usr/local/etc/rc.d</filename> directory. These
shell scripts should be set executable, the default file
mode is <literal>555</literal>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="adding-users">
<para>How do I add a user easily?</para>
</question>
<answer>
<para>Use the &man.adduser.8; command, or the &man.pw.8;
command for more complicated situations.</para>
<para>To remove the user, use the &man.rmuser.8; command or,
if necessary, &man.pw.8;.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="root-not-found-cron-errors">
<para>Why do I keep getting messages like <errorname>root: not
found</errorname> after editing
<filename>/etc/crontab</filename></para>
</question>
<answer>
<para>This is normally caused by editing the system crontab
(<filename>/etc/crontab</filename>) and then using
&man.crontab.1; to install it:</para>
<screen>&prompt.root; <userinput>crontab /etc/crontab</userinput></screen>
<para>This is not the correct way to do things. The system
crontab has a different format to the per-user crontabs
which &man.crontab.1; updates (the &man.crontab.5; manual
page explains the differences in more detail).</para>
<para>If this is what you did, the extra crontab is simply a
copy of <filename>/etc/crontab</filename> in the wrong
format it. Delete it with the command:</para>
<screen>&prompt.root; <userinput>crontab -r</userinput></screen>
<para>Next time, when you edit
<filename>/etc/crontab</filename>, you should not do
anything to inform &man.cron.8; of the changes, since it
will notice them automatically.</para>
<para>If you want something to be run once per day, week, or
month, it is probably better to add shell scripts
<filename class="directory">/usr/local/etc/periodic</filename>, and let the
&man.periodic.8; command run from the system
<command>cron</command> schedule it with the other periodic
system tasks.</para>
<para>The actual reason for the error is that the system
crontab has an extra field, specifying which user to run the
command as. In the default system crontab provided with
&os;, this is <username>root</username> for all entries.
When this crontab is used as the <username>root</username>
user's crontab (which is <emphasis>not</emphasis> the same
as the system crontab), &man.cron.8; assumes the string
<literal>root</literal> is the first word of the command to
execute, but no such command exists.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="su-wheel-group">
<para>Why do I get the error, <errorname>you are not in the
correct group to su root</errorname> when I try to
<command>su</command> to <username>root</username>?</para>
</question>
<answer>
<para>This is a security feature. To
<command>su</command> to <username>root</username> (or any
other account with superuser privileges), you must be in the
<groupname>wheel</groupname> group. If this feature were
not there, anybody with an account on a system who also
found out <username>root</username>'s password would be able
to gain superuser level access to the system. With this
feature, this is not strictly true; &man.su.1; will prevent
them from even trying to enter the password if they are not
in <groupname>wheel</groupname>.</para>
<para>To allow someone to <command>su</command> to
<username>root</username>, simply put them in the
<groupname>wheel</groupname> group. Use &man.pw.8;
for this purpose.</para>
<screen>&prompt.root; <userinput>pw groupmod wheel -m <replaceable>lisa</replaceable></userinput></screen>
<para>The above example will add user
<username>lisa</username> to the group
<groupname>wheel</groupname>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="rcconf-readonly">
<para>I made a mistake in <filename>rc.conf</filename>, or
another startup file, and now I cannot edit it because the
file system is read-only. What should I do?</para>
</question>
<answer>
<para>Restart the system using <userinput>boot -s</userinput>
at the loader prompt to enter Single User mode. When
prompted for a shell pathname, simply press
<keycap>Enter</keycap>, and run
<command>mount -urw /</command> to re-mount the root file
system in read/write mode. You may also need to run
<command>mount -a -t ufs</command> to mount the file system
where your favorite editor is defined. If your favorite
editor is on a network file system, you will need to either
configure the network manually before you can mount network
file systems, or use an editor which resides on a local file
system, such as &man.ed.1;.</para>
<para>If you intend to use a full screen editor such as
&man.vi.1; or &man.emacs.1;, you may also need to run
<command>export TERM=xterm</command> on &os; 9.0+, or
<command>export TERM=cons25</command> on &os; 8.X
so that these editors
can load the correct data from the &man.termcap.5;
database.</para>
<para>Once you have performed these steps, you can edit
<filename>/etc/rc.conf</filename> as you usually would to
fix the syntax error. The error message displayed
immediately after the kernel boot messages should tell you
the number of the line in the file which is at fault.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="printer-setup">
<para>Why am I having trouble setting up my printer?</para>
</question>
<answer>
<para>See the <ulink
url="&url.books.handbook;/printing.html">Handbook entry on printing</ulink>.
It should cover most of your problem.</para>
<para>Some printers require a host-based driver to do any kind
of printing. These so-called <quote>WinPrinters</quote> are
not natively supported by &os;. If your printer does not
work in DOS or &windows;, it is probably a WinPrinter. Your
only hope of getting one of these to work is to check if the
<filename role="package">print/pnm2ppa</filename> port
supports it.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="keyboard-mappings">
<para>How can I correct the keyboard mappings for my
system?</para>
</question>
<answer>
<para>Please see the Handbook section on <ulink
url="&url.books.handbook;/using-localization.html">using localization</ulink>,
specifically the section on <ulink
url="&url.books.handbook;/using-localization.html#setting-console">console setup</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="user-quotas">
<para>Why can I not get user quotas to work properly?</para>
</question>
<answer>
<orderedlist>
<listitem>
<para>It is possible that your kernel is not configured
to use quotas. If this is the case, you will need to
add the following line to your kernel configuration
file and recompile:</para>
<programlisting>options QUOTA</programlisting>
<para>Please read the <ulink
url="&url.books.handbook;/quotas.html">Handbook entry on quotas</ulink>
for full details.</para>
</listitem>
<listitem>
<para>Do not turn on quotas on
<filename class="directory">/</filename>.</para>
</listitem>
<listitem>
<para>Put the quota file on the file system that the
quotas are to be enforced on, i.e.:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>File System</entry>
<entry>Quota file</entry>
</row>
</thead>
<tbody>
<row>
<entry><filename class="directory">/usr</filename></entry>
<entry><filename>/usr/admin/quotas</filename></entry>
</row>
<row>
<entry><filename class="directory">/home</filename></entry>
<entry><filename>/home/admin/quotas</filename></entry>
</row>
<row>
<entry>&hellip;</entry>
<entry>&hellip;</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</listitem>
</orderedlist>
</answer>
</qandaentry>
<qandaentry>
<question id="sysv-ipc">
<para>Does &os; support System V IPC primitives?</para>
</question>
<answer>
<para>Yes, &os; supports System V-style IPC, including shared
memory, messages and semaphores, in the
<filename>GENERIC</filename> kernel. With a custom kernel,
support may be loaded with the <filename>sysvshm.ko</filename>,
<filename>sysvsem.ko</filename> and <filename>
sysvmsg.ko</filename> kernel modules, or
enabled in the custom kernel by adding the following lines to your
kernel config:</para>
<programlisting>options SYSVSHM # enable shared memory
options SYSVSEM # enable for semaphores
options SYSVMSG # enable for messaging</programlisting>
<para>Recompile and install your kernel.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="sendmail-alternative">
<para>What other mail-server software can I use instead of
<application>sendmail</application>?</para>
</question>
<answer>
<para>The <ulink
url="http://www.sendmail.org/"><application>sendmail</application></ulink>
server is the default mail-server software for &os;, but you
can easily replace it with one of the other MTA (for
instance, an MTA installed from the ports).</para>
<para>There are various alternative MTAs in the ports tree
already, with <filename role="package">mail/exim</filename>,
<filename role="package">mail/postfix</filename>, <filename
role="package">mail/qmail</filename>, and <filename
role="package">mail/zmailer</filename> being some of the
most popular choices.</para>
<para>Diversity is nice, and the fact that you have many
different mail-servers to chose from is considered a good
thing; therefore try to avoid asking questions like
<quote>Is <application>sendmail</application> better than
<application>qmail</application>?</quote> in the mailing
lists. If you do feel like asking, first check the mailing
list archives. The advantages and disadvantages of each and
every one of the available MTAs have already been discussed
a few times.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="forgot-root-pw">
<para>I have forgotten the <username>root</username> password!
What do I do?</para>
</question>
<answer>
<para>Do not panic! Restart the system, type
<userinput>boot -s</userinput> at the
<literal>Boot:</literal> prompt to enter Single User mode.
At the question about the shell to use, hit
<keycap>Enter</keycap>. You will be dropped to a
&prompt.root; prompt. Enter <command>mount -urw /</command>
to remount your root file system read/write, then run
<command>mount -a</command> to remount all the file systems.
Run <command>passwd root</command> to change the
<username>root</username> password then run &man.exit.1; to
continue booting.</para>
<note>
<para>If you are still prompted to give the
<username>root</username> password when entering the
Single User mode, it means that the console has been
marked as <literal>insecure</literal> in
<filename>/etc/ttys</filename>. In this case it will be
required to boot from a &os; installation disk, choose
the <guimenuitem>Live CD</guimenuitem> or
<guimenuitem>Shell</guimenuitem> at the beginning of the install
process and issue the commands mentioned above. You will need to
mount the specific partition in this case and then chroot to it,
i.e., replace <command>mount -urw /</command> by
<command>mount /dev/ada0p1 /mnt; chroot /mnt</command> for
a system on <replaceable>ada0p1</replaceable>.</para>
</note>
<note>
<para>If you cannot mount your root partition from Single
User mode, it is possible that the partitions are
encrypted and it is impossible to mount them without the
access keys. Your chances depend on the chosen
implementation. For more information see the section
about encrypted disks in the &os; <ulink
url="&url.books.handbook;/disks-encrypting.html">Handbook</ulink>.</para>
</note>
</answer>
</qandaentry>
<qandaentry>
<question id="CAD-reboot">
<para>How do I keep <keycombo
action="simul"><keycap>Control</keycap><keycap>Alt</keycap><keycap>Delete</keycap></keycombo>
from rebooting the system?</para>
</question>
<answer>
<para>If you are using &man.syscons.4; (the default console
driver) build and install a new kernel with the line in the
configuration file:</para>
<programlisting>options SC_DISABLE_REBOOT</programlisting>
<para>This can also be done by setting the following
&man.sysctl.8; which does not require a reboot or kernel
recompile:</para>
<screen>&prompt.root; <userinput>sysctl hw.syscons.kbd_reboot=0</userinput></screen>
<note>
<para>The above two methods are exclusive: The &man.sysctl.8;
does not exist if you compile your kernel with the
<literal>SC_DISABLE_REBOOT</literal> option.</para>
</note>
</answer>
</qandaentry>
<qandaentry>
<question id="dos-to-unix-txt">
<para>How do I reformat DOS text files to &unix; ones?</para>
</question>
<answer>
<para>Use this &man.perl.1; command:</para>
<screen>&prompt.user; <userinput>perl -i.bak -npe 's/\r\n/\n/g' <replaceable>file(s)</replaceable></userinput></screen>
<para>where <replaceable>file(s)</replaceable> is one or more
files to process. The modification is done in-place, with the
original file stored with a <filename>.bak</filename>
extension.</para>
<para>Alternatively you can use the &man.tr.1; command:</para>
<screen>&prompt.user; <userinput>tr -d '\r' &lt; <replaceable>dos-text-file</replaceable> &gt; <replaceable>unix-file</replaceable></userinput></screen>
<para><replaceable>dos-text-file</replaceable> is the file
containing DOS text while
<replaceable>unix-file</replaceable> will contain the
converted output. This can be quite a bit faster than using
<command>perl</command>.</para>
<para>Yet another way to reformat DOS text files is to use the
<filename role="package">converters/dosunix</filename> port
from the Ports Collection. Consult its documentation about
the details.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="kill-by-name">
<para>How do I kill processes by name?</para>
</question>
<answer>
<para>Use &man.pkill.1;.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="reread-rc">
<para>How do I re-read <filename>/etc/rc.conf</filename> and
re-start <filename>/etc/rc</filename> without a
reboot?</para>
</question>
<answer>
<para>Go into single user mode and then back to multi user
mode.</para>
<para>On the console do:</para>
<screen>&prompt.root; <userinput>shutdown now</userinput>
(Note: without -r or -h)
&prompt.root; <userinput>return</userinput>
&prompt.root; <userinput>exit</userinput></screen>
</answer>
</qandaentry>
<qandaentry>
<question id="release-candidate">
<para>I tried to update my system to the latest
<emphasis>-STABLE</emphasis>, but got
<emphasis>-BETA<replaceable>x</replaceable></emphasis>,
<emphasis>-RC</emphasis> or
<emphasis>-PRERELEASE</emphasis>! What is going on?</para>
</question>
<answer>
<para>Short answer: it is just a name.
<emphasis>RC</emphasis> stands for <quote>Release
Candidate</quote>. It signifies that a release is imminent.
In &os;, <emphasis>-PRERELEASE</emphasis> is typically
synonymous with the code freeze before a release. (For some
releases, the <emphasis>-BETA</emphasis> label was used in
the same way as <emphasis>-PRERELEASE</emphasis>.)</para>
<para>Long answer: &os; derives its releases from one of two
places. Major, dot-zero, releases, such as 9.0-RELEASE
are branched from the head of the development
stream, commonly referred to as <link
linkend="current">-CURRENT</link>. Minor releases, such as
6.3-RELEASE or 5.2-RELEASE, have been snapshots of the
active <link linkend="stable">-STABLE</link> branch.
Starting with 4.3-RELEASE, each release also now has its own
branch which can be tracked by people requiring an extremely
conservative rate of development (typically only security
advisories).</para>
<para>When a release is about to be made, the branch from
which it will be derived from has to undergo a certain
process. Part of this process is a code freeze. When a
code freeze is initiated, the name of the branch is changed
to reflect that it is about to become a release. For
example, if the branch used to be called 6.2-STABLE, its
name will be changed to 6.3-PRERELEASE to signify the code
freeze and signify that extra pre-release testing should be
happening. Bug fixes can still be committed to be part of
the release. When the source code is in shape for the
release the name will be changed to 6.3-RC to signify that a
release is about to be made from it. Once in the RC stage,
only the most critical bugs found can be fixed. Once the
release (6.3-RELEASE in this example) and release branch
have been made, the branch will be renamed to
6.3-STABLE.</para>
<para>For more information on version numbers and the various
Subversion branches, refer to the <ulink
url="&url.articles.releng;/article.html">Release Engineering</ulink>
article.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="kernel-chflag-failure">
<para>I tried to install a new kernel, and the &man.chflags.1;
failed. How do I get around this?</para>
</question>
<answer>
<para>Short answer: You are probably at security level greater
than 0. Reboot directly to Single User mode to install the
kernel.</para>
<para>Long answer: &os; disallows changing system flags at
security levels greater than 0. You can check your security
level with the command:</para>
<screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen>
<para>You cannot lower the security level; you have to boot to
Single Mode to install the kernel, or change the security
level in <filename>/etc/rc.conf</filename> then reboot. See
the &man.init.8; manual page for details on
<literal>securelevel</literal>, and see
<filename>/etc/defaults/rc.conf</filename> and the
&man.rc.conf.5; manual page for more information on
<filename>rc.conf</filename>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="kernel-securelevel-time">
<para>I cannot change the time on my system by more than one
second! How do I get around this?</para>
</question>
<answer>
<para>Short answer: You are probably at security level greater
than 1. Reboot directly to Single User mode to change the
date.</para>
<para>Long answer: &os; disallows changing the time by more
that one second at security levels greater than 1. You can
check your security level with the command:</para>
<screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen>
<para>You cannot lower the security level; you have to boot to
Single User mode to change the date, or change the security
level in <filename>/etc/rc.conf</filename> then reboot. See
the &man.init.8; manual page for details on
<literal>securelevel</literal>, and see
<filename>/etc/defaults/rc.conf</filename> and the
&man.rc.conf.5; manual page for more information on
<filename>rc.conf</filename>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="statd-mem-leak">
<para>Why is <command>rpc.statd</command> using 256&nbsp;MB of
memory?</para>
</question>
<answer>
<para>No, there is no memory leak, and it is not using
256&nbsp;MB of memory. For convenience,
<command>rpc.statd</command> maps an obscene amount of
memory into its address space. There is nothing terribly
wrong with this from a technical standpoint; it just throws
off things like &man.top.1; and &man.ps.1;.</para>
<para>&man.rpc.statd.8; maps its status file (resident on
<filename class="directory">/var</filename>) into its address space; to save
worrying about remapping it later when it needs to grow, it
maps it with a generous size. This is very evident from the
source code, where one can see that the length argument to
&man.mmap.2; is <literal>0x10000000</literal>, or one
sixteenth of the address space on an IA32, or exactly
256&nbsp;MB.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="unsetting-schg">
<para>Why can I not unset the <literal>schg</literal> file
flag?</para>
</question>
<answer>
<para>You are running at an elevated (i.e., greater than 0)
securelevel. Lower the securelevel and try again. For more
information, see <link linkend="securelevel">the FAQ entry
on securelevel</link> and the &man.init.8; manual
page.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ssh-shosts">
<para>Why does <application>SSH</application> authentication
through <filename>.shosts</filename> not work by default in
recent versions of &os;?</para>
</question>
<answer>
<para>The reason why <filename>.shosts</filename>
authentication does not work by default in more recent
versions of &os; is because &man.ssh.1; is not installed
suid <username>root</username> by default. To
<quote>fix</quote> this, you can do one of the
following:</para>
<itemizedlist>
<listitem>
<para>As a permanent fix, set
<makevar>ENABLE_SUID_SSH</makevar> to
<literal>true</literal> in
<filename>/etc/make.conf</filename> then rebuild and
reinstall &man.ssh.1;.</para>
</listitem>
<listitem>
<para>As a temporary fix, change the mode on
<filename>/usr/bin/ssh</filename> to
<literal>4555</literal> by running
<command>chmod 4555 /usr/bin/ssh</command> as
<username>root</username>.</para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
<qandaentry>
<question id="vnlru">
<para>What is <literal>vnlru</literal>?</para>
</question>
<answer>
<para><literal>vnlru</literal> flushes and frees vnodes when
the system hits the <varname>kern.maxvnodes</varname> limit.
This kernel thread sits mostly idle, and only activates if
you have a huge amount of RAM and are accessing tens of
thousands of tiny files.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="top-memory-states">
<para>What do the various memory states displayed by
<command>top</command> mean?</para>
</question>
<!-- Provided by John Dyson via Usenet -->
<answer>
<itemizedlist>
<listitem>
<para><literal>Active</literal>: pages recently
statistically used.</para>
</listitem>
<listitem>
<para><literal>Inactive</literal>: pages recently
statistically unused.</para>
</listitem>
<listitem>
<para><literal>Cache</literal>: (most often) pages that
have percolated from inactive to a status where they
maintain their data, but can often be immediately reused
(either with their old association, or reused with a new
association). There can be certain immediate transitions
from <literal>active</literal> to
<literal>cache</literal> state if the page is known to
be clean (unmodified), but that transition is a matter
of policy, depending upon the algorithm choice of the VM
system maintainer.</para>
</listitem>
<listitem>
<para><literal>Free</literal>: pages without data content,
and can be immediately used in certain circumstances
where cache pages might be ineligible. Free pages can
be reused at interrupt or process
state.</para>
</listitem>
<listitem>
<para><literal>Wired</literal>: pages that are fixed into
memory, usually for kernel purposes, but also sometimes
for special use in processes.</para>
</listitem>
</itemizedlist>
<para>Pages are most often written to disk (sort of a VM sync)
when they are in the inactive state, but active pages can
also be synced. This depends upon the CPU tracking of the
modified bit being available, and in certain situations
there can be an advantage for a block of VM pages to be
synced, whether they are active or inactive. In most common
cases, it is best to think of the inactive queue to be a
queue of relatively unused pages that might or might not be
in the process of being written to disk. Cached pages are
already synced, not mapped, but available for immediate
process use with their old association or with a new
association. Free pages are available at interrupt level,
but cached or free pages can be used at process state for
reuse. Cache pages are not adequately locked to be
available at interrupt level.</para>
<para>There are some other flags (e.g., busy flag or busy
count) that might modify some of the described rules.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="free-memory-amount">
<para>How much free memory is available?</para>
</question>
<!-- Provided by John Dyson via Usenet -->
<answer>
<para>There are a couple of kinds of <quote>free
memory</quote>. One kind is the amount of memory
immediately available without paging anything else out.
That is approximately the size of cache queue + size of free
queue (with a derating factor, depending upon system
tuning). Another kind of <quote>free memory</quote> is the
total amount of <acronym>VM</acronym> space. That can be
complex, but is dependent upon the amount of swap space and
memory. Other kinds of <quote>free memory</quote>
descriptions are also possible, but it is relatively useless
to define these, but rather it is important to make sure
that the paging rate is kept low, and to avoid running out
of swap space.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="var-empty">
<para>What is <filename class="directory">/var/empty</filename>? I can not
delete it!</para>
</question>
<answer>
<para><filename class="directory">/var/empty</filename> is a directory that the
&man.sshd.8; program uses when performing privilege separation.
The <filename class="directory">/var/empty</filename> directory is empty, owned by
<username>root</username> and has the <literal>schg</literal>
flag set.</para>
<para>Although it is not recommended to delete this directory, to
do so you will need to unset the <literal>schg</literal> flag
first. See the &man.chflags.1; manual page for more information
(and bear in mind the answer to
<link linkend="unsetting-schg">the question on unsetting the schg flag</link>).</para>
</answer>
</qandaentry>
<qandaentry>
<question id="newsyslog-expectations">
<para>I just changed
<filename>/etc/newsyslog.conf</filename>. How can I check
if it does what I expect?</para>
</question>
<answer>
<para>To see what &man.newsyslog.8; will do use the
following:</para>
<screen>&prompt.user; <userinput>newsyslog -nrvv</userinput></screen>
</answer>
</qandaentry>
<qandaentry>
<question id="timezone">
<para>My time is wrong, how can I change the
timezone?</para>
</question>
<answer>
<para>Use &man.tzsetup.8;.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="x">
<title>The X Window System and Virtual Consoles</title>
<qandaset>
<qandaentry>
<question id="whatis-X">
<para>What is the X Window System?</para>
</question>
<answer>
<para>The X Window System (commonly <literal>X11</literal>) is
the most widely available windowing system capable of running
on &unix; or &unix;&nbsp;like systems, including &os;.
<ulink url= "http://www.x.org/wiki/">The X.Org Foundation</ulink>
administers the <ulink
url="http://en.wikipedia.org/wiki/X_Window_System_core_protocol">X protocol standards</ulink>,
with the current reference implementation, version 11
release &xorg.version;, so you will often see references
shortened to <literal>X11</literal>.</para>
<para>Many implementations are available for different
architectures and operating systems. An implementation of
the server-side code is properly known as an <literal>X
server</literal>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="running-X">
<para>I want to run &xorg;, how do I go about it?</para>
</question>
<answer>
<para>To install &xorg; do one of the following:</para>
<para>Use the <filename role="package">x11/xorg</filename>
meta-port, which builds and installs every &xorg;
component.</para>
<para>Use <filename
role="package">x11/xorg-minimal</filename>, which builds
and installs only the necessary &xorg; components.</para>
<para>Install &xorg; from &os; packages:</para>
<screen><userinput>&prompt.root; pkg_add -r xorg</userinput></screen>
<para>or on systems using <application>pkg</application>:</para>
<screen><userinput>&prompt.root; pkg install xorg</userinput></screen>
<para>After the installation of &xorg;, follow
the instructions from the <ulink
url="&url.books.handbook;/x-config.html">X11 Configuration</ulink> section of
the &os; Handbook.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="running-X-securelevels">
<para>I <emphasis>tried</emphasis> to run X, but I get a
<errorname>No devices detected.</errorname> error when I
type
<command>startx</command>. What do I do now?</para>
</question>
<answer>
<para>Your system is probably running at a raised
<literal>securelevel</literal>. It is not possible to start X
at a raised <literal>securelevel</literal> because X
requires write access to &man.io.4;. For more information,
see at the &man.init.8; manual page.</para>
<para>There are two solutions to the problem:
Set your
<literal>securelevel</literal> back down to zero (usually
in <filename>/etc/rc.conf</filename>), or run &man.xdm.1;
(or an alternative display manager)
at boot time (before the <literal>securelevel</literal> is
raised).</para>
<para>See <xref linkend="xdm-boot"/> for more information about
running &man.xdm.1; at boot time.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="x-and-moused">
<para>Why does my mouse not work with X?</para>
</question>
<answer>
<para>If you are using &man.syscons.4; (the default console
driver), you can configure &os; to support a mouse pointer on
each virtual screen. To avoid conflicting with X,
&man.syscons.4; supports a virtual device called
<devicename>/dev/sysmouse</devicename>. All mouse events
received from the real mouse device are written to the
&man.sysmouse.4; device via &man.moused.8;. To use your
mouse on one or more virtual consoles,
<emphasis>and</emphasis> use X, see <xref
linkend="moused" remap="another section"/> and set up
&man.moused.8;.</para>
<para>Then edit <filename>/etc/X11/xorg.conf</filename> and
make sure you have the following lines:</para>
<programlisting>Section "InputDevice"
Option "Protocol" "SysMouse"
Option "Device" "/dev/sysmouse"
.....</programlisting>
<para>Starting with &xorg; version 7.4, the
<literal>InputDevice</literal> sections in
<filename>xorg.conf</filename> are ignored in favor of
autodetected devices. To restore the old behavior, add the
following line to the <literal>ServerLayout</literal> or
<literal>ServerFlags</literal> section:</para>
<programlisting>Option "AutoAddDevices" "false"</programlisting>
<para>Some people prefer to use
<devicename>/dev/mouse</devicename> under X. To make this
work, <devicename>/dev/mouse</devicename> should be linked
to <devicename>/dev/sysmouse</devicename> (see
&man.sysmouse.4;) by adding the following line to
<filename>/etc/devfs.conf</filename> (see
&man.devfs.conf.5;):</para>
<programlisting>link sysmouse mouse</programlisting>
<para>This link can be created by restarting &man.devfs.5;
with the following command (as
<username>root</username>):</para>
<screen>&prompt.root; <userinput>service devfs restart</userinput></screen>
</answer>
</qandaentry>
<qandaentry>
<question id="x-and-wheel">
<para>My mouse has a fancy wheel. Can I use it in X?</para>
</question>
<answer>
<para>Yes.</para>
<para>You need to tell X that you have a 5 button mouse. To
do this, simply add the lines <literal>Buttons 5</literal>
and <literal>ZAxisMapping 4 5</literal> to the
<quote>InputDevice</quote> section of
<filename>/etc/X11/xorg.conf</filename>. For example, you
might have the following <quote>InputDevice</quote> section
in <filename>/etc/X11/xorg.conf</filename>.</para>
<example>
<title><quote>InputDevice</quote> Section for Wheeled Mouse
in &xorg; Configuration File</title>
<programlisting>Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
EndSection</programlisting>
</example>
<example>
<title><quote>.emacs</quote> Example for Naive Page
Scrolling with Wheeled Mouse (optional)</title>
<programlisting>;; wheel mouse
(global-set-key [mouse-4] 'scroll-down)
(global-set-key [mouse-5] 'scroll-up)</programlisting>
</example>
</answer>
</qandaentry>
<qandaentry>
<question id="x-and-synaptic">
<para>My laptop has a Synaptics touchpad. Can I use
it in X?</para>
</question>
<answer>
<para>Yes, you will have to configure a few things to
make it work.</para>
<para>If you plan to use the Xorg synaptics driver you
<emphasis>must</emphasis> remove moused_enable from
<filename>rc.conf</filename>. Xorg can not use
the synaptics mouse if the moused already sits on
<filename>/dev/psm0</filename>.</para>
<para>To enable synaptics in the &man.psm.4; driver you need
to add the following into
<filename>/boot/loader.conf</filename>:</para>
<programlisting>hw.psm.synaptics_support="1"</programlisting>
<para>You also need the following into
<filename>xorg.conf</filename>:</para>
<programlisting>Section "InputDevice"
Identifier "Touchpad0"
Driver "synaptics"
Option "Protocol" "psm"
Option "Device" "/dev/psm0"
EndSection</programlisting>
<para>And be sure to add the following into the
<quote>ServerLayout</quote> section:</para>
<programlisting>InputDevice "Touchpad0" "SendCoreEvents"</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question id="no-remote-x11">
<para>How do I use remote X displays?</para>
</question>
<answer>
<para>For security reasons, the default setting is to not
allow a machine to remotely open a window.</para>
<para>To enable this feature, simply start
<application>X</application> with the optional
<option>-listen_tcp</option> argument:</para>
<screen>&prompt.user; <userinput>startx -listen_tcp</userinput></screen>
</answer>
</qandaentry>
<qandaentry>
<question id="virtual-console">
<para>What is a virtual console and how do I make more?</para>
</question>
<answer>
<para>Virtual consoles, put simply, enable you to have several
simultaneous sessions on the same machine without doing
anything complicated like setting up a network or running
X.</para>
<para>When the system starts, it will display a login prompt
on the monitor after displaying all the boot messages. You
can then type in your login name and password and start
working (or playing!) on the first virtual console.</para>
<para>At some point, you will probably wish to start another
session, perhaps to look at documentation for a program you
are running or to read your mail while waiting for an FTP
transfer to finish. Just do <keycombo
action="simul"><keycap>Alt</keycap><keycap>F2</keycap></keycombo>
(hold down <keycap>Alt</keycap> and press
<keycap>F2</keycap>), and you will find a login prompt
waiting for you on the second <quote>virtual
console</quote>! When you want to go back to the original
session, do <keycombo
action="simul"><keycap>Alt</keycap><keycap>F1</keycap></keycombo>.</para>
<para>The default &os; installation has eight virtual consoles
enabled. <keycombo
action="simul"><keycap>Alt</keycap><keycap>F1</keycap></keycombo>,
<keycombo
action="simul"><keycap>Alt</keycap><keycap>F2</keycap></keycombo>,
<keycombo
action="simul"><keycap>Alt</keycap><keycap>F3</keycap></keycombo>,
and so on will switch between these virtual consoles.</para>
<para>To enable more of them, edit
<filename>/etc/ttys</filename> (see &man.ttys.5;) and add
entries for <devicename>ttyv8</devicename> to
<devicename>ttyvc</devicename> after the comment on
<quote>Virtual terminals</quote>:</para>
<programlisting># Edit the existing entry for ttyv8 in /etc/ttys and change
# "off" to "on".
ttyv8 "/usr/libexec/getty Pc" xterm on secure
ttyv9 "/usr/libexec/getty Pc" xterm on secure
ttyva "/usr/libexec/getty Pc" xterm on secure
ttyvb "/usr/libexec/getty Pc" xterm on secure</programlisting>
<para>Use as many or as few as you want. The more virtual
terminals you have, the more resources that are used; this
can be important if you have 8&nbsp;MB RAM or less. You may
also want to change the <literal>secure</literal> to
<literal>insecure</literal>.</para>
<note>
<para>Versions of &os; prior to 9.0 used the <quote>
cons25</quote> terminal type, and not <quote>
xterm</quote>. Existing entries in
<filename>/etc/ttys</filename> can be used on which to
base new additions.</para>
</note>
<important>
<para>If you want to run an X server you
<emphasis>must</emphasis> leave at least one virtual
terminal unused (or turned off) for it to use. That is to
say that if you want to have a login prompt pop up for all
twelve of your Alt-function keys, you are out of luck
&mdash; you can only do this for eleven of them if you
also want to run an X server on the same machine.</para>
</important>
<para>The easiest way to disable a console is by turning it
off. For example, if you had the full 12 terminal
allocation mentioned above and you wanted to run X, you
would change settings for virtual terminal 12 from:</para>
<programlisting>ttyvb "/usr/libexec/getty Pc" xterm on secure</programlisting>
<para>to:</para>
<programlisting>ttyvb "/usr/libexec/getty Pc" xterm off secure</programlisting>
<para>If your keyboard has only ten function keys, you would
end up with:</para>
<programlisting>ttyv9 "/usr/libexec/getty Pc" xterm off secure
ttyva "/usr/libexec/getty Pc" xterm off secure
ttyvb "/usr/libexec/getty Pc" xterm off secure</programlisting>
<para>(You could also just delete these lines.)</para>
<para>Next, the easiest (and cleanest) way to activate the
virtual consoles is to reboot. However, if you really do
not want to reboot, you can just shut down the X Window
system and execute (as <username>root</username>):</para>
<screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen>
<para>It is imperative that you completely shut down X Window
if it is running, before running this command. If you do not,
your system will probably appear to hang or lock up after
executing <command>kill</command>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="vty-from-x">
<para>How do I access the virtual consoles from X?</para>
</question>
<answer>
<para>Use <keycombo
action="simul"><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F<replaceable>n</replaceable></keycap></keycombo>
to switch back to a virtual console. <keycombo
action="simul"><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>
would return you to the first virtual console.</para>
<para>Once you are back to a text console, you can then use
<keycombo
action="simul"><keycap>Alt</keycap><keycap>F<replaceable>n</replaceable></keycap></keycombo>
as normal to move between them.</para>
<para>To return to the X session, you must switch to the
virtual console running X. If you invoked X from the
command line, (e.g., using <command>startx</command>) then
the X session will attach to the next unused virtual
console, not the text console from which it was invoked. If
you have eight active virtual terminals then X will be
running on the ninth, and you would use <keycombo
action="simul"><keycap>Alt</keycap><keycap>F9</keycap></keycombo>
to return.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="xdm-boot">
<para>How do I start <application>XDM</application> on
boot?</para>
</question>
<answer>
<para>There are two schools of thought on how to start
&man.xdm.1;. One school starts <command>xdm</command> from
<filename>/etc/ttys</filename> (see &man.ttys.5;) using the
supplied example, while the other simply runs
<command>xdm</command> from
<filename>rc.local</filename> (see &man.rc.8;) or from an
<filename>X</filename> script in
<filename class="directory">/usr/local/etc/rc.d</filename>. Both are equally
valid, and one may work in situations where the other does
not. In both cases the result is the same: X will pop up a
graphical login prompt.</para>
<para>The &man.ttys.5; method has the advantage of documenting
which vty X will start on and passing the responsibility of
restarting the X server on logout to &man.init.8;. The
&man.rc.8; method makes it easy to <command>kill</command>
<command>xdm</command> if there is a problem starting the X
server.</para>
<para>If loaded from &man.rc.8;, <command>xdm</command> should
be started without any arguments (i.e., as a daemon).
<command>xdm</command> must start
<emphasis>after</emphasis> &man.getty.8; runs, or else
<command>getty</command> and <command>xdm</command> will
conflict, locking out the console. The best way around this
is to have the script sleep 10 seconds or so then launch
<command>xdm</command>.</para>
<para>If you are to start <command>xdm</command> from
<filename>/etc/ttys</filename>, there still is a chance of
conflict between <command>xdm</command> and &man.getty.8;.
One way to avoid this is to add the <literal>vt</literal>
number in
<filename>/usr/local/lib/X11/xdm/Xservers</filename></para>
<programlisting>:0 local /usr/local/bin/X vt4</programlisting>
<para>The above example will direct the X server to run in
<devicename>/dev/ttyv3</devicename>. Note the number is
offset by one. The X server counts the vty from one,
whereas the &os; kernel numbers the vty from zero.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="xconsole-failure">
<para>Why do I get <errorname>Couldn't open
console</errorname> when I run
<command>xconsole</command>?</para>
</question>
<answer>
<para>If you start <application>X</application> with
<command>startx</command>, the permissions on
<devicename>/dev/console</devicename> will
<emphasis>not</emphasis> get changed, resulting in things
like <command>xterm -C</command> and
<command>xconsole</command> not working.</para>
<para>This is because of the way console permissions are set
by default. On a multi-user system, one does not
necessarily want just any user to be able to write on the
system console. For users who are logging directly onto a
machine with a VTY, the &man.fbtab.5; file exists to solve
such problems.</para>
<para>In a nutshell, make sure an uncommented line of the form
is in <filename>/etc/fbtab</filename> (see
&man.fbtab.5;):</para>
<programlisting>/dev/ttyv0 0600 /dev/console</programlisting>
<para>It will ensure that whomever logs in on
<devicename>/dev/ttyv0</devicename> will own the
console.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ps2-x">
<para>Why does my PS/2 mouse misbehave under X?</para>
</question>
<answer>
<para>Your mouse and the mouse driver may have somewhat become
out of synchronization.</para>
<para> In rare cases the driver may erroneously report
synchronization problem and you may see the kernel
message:</para>
<programlisting>psmintr: out of sync (xxxx != yyyy)</programlisting>
<para>and notice that your mouse does not work
properly.</para>
<para>If this happens, disable the synchronization check code
by setting the driver flags for the PS/2 mouse driver to
<literal>0x100</literal>. This can be easiest achieved
by adding
<screen>hint.psm.0.flags="0x100"</screen>
to
<filename>/boot/loader.conf</filename> and rebooting.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="mouse-button-reverse">
<para>How do I reverse the mouse buttons?</para>
</question>
<answer>
- <para>Run the command <command>xmodmap -e "pointer = 3 2 1"</command>
- from <filename>.xinitrc</filename> or
- <filename>.xsession</filename>.</para>
+ <para>Run the command
+ <command>xmodmap -e "pointer = 3 2 1"</command>.</para>
+ <para>You add the above command to
+ <filename>.xinitrc</filename> or
+ <filename>.xsession</filename> to make it happen
+ automatically.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="install-splash">
<para>How do I install a splash screen and where do I find
them?</para>
</question>
<answer>
<para>The detailed answer for this question can be found in
the <ulink
url="&url.books.handbook;/boot-blocks.html#boot-splash">Boot Time Splash Screens</ulink>
section of the &os; Handbook.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="windows-keys">
<para>Can I use the <keycap>Windows</keycap> keys on my
keyboard in X?</para>
</question>
<answer>
<para>Yes. All you need to do is use &man.xmodmap.1; to
define what function you wish them to perform.</para>
<para>Assuming all <quote>Windows</quote> keyboards are
standard then the keycodes for these three keys are the
following:</para>
<itemizedlist>
<listitem>
<para><keycode>115</keycode> &mdash;
<keycap>Windows</keycap> key, between the left-hand
<keycap>Ctrl</keycap> and <keycap>Alt</keycap>
keys</para>
</listitem>
<listitem>
<para><keycode>116</keycode> &mdash;
<keycap>Windows</keycap> key, to the right of
<keycap>AltGr</keycap></para>
</listitem>
<listitem>
<para><keycode>117</keycode> &mdash; <keycap>Menu</keycap>,
to the left of the right-hand <keycap>Ctrl</keycap></para>
</listitem>
</itemizedlist>
<para>To have the left <keycap>Windows</keycap> key print a
comma, try this.</para>
<screen>&prompt.root; <userinput>xmodmap -e "keycode 115 = comma"</userinput></screen>
<para>To have the <keycap>Windows</keycap> key-mappings
enabled automatically every time you start X either put the
<command>xmodmap</command> commands in
<filename>~/.xinitrc</filename> or, preferably, create
a <filename>~/.xmodmaprc</filename> and include the
<command>xmodmap</command> options, one per line, then add
the following line to
<filename>~/.xinitrc</filename>:</para>
<programlisting>xmodmap $HOME/.xmodmaprc</programlisting>
<para>For example, you could map the 3 keys to be
<keycap>F13</keycap>, <keycap>F14</keycap>, and
<keycap>F15</keycap>, respectively. This would make it easy
to map them to useful functions within applications or your
window manager, as demonstrated further down.</para>
<para>To do this put the following in
<filename>~/.xmodmaprc</filename>.</para>
<programlisting>keycode 115 = F13
keycode 116 = F14
keycode 117 = F15</programlisting>
<para>If you use the <filename
role="package">x11-wm/fvwm2</filename> port, for example,
you could map the keys so that <keycap>F13</keycap>
iconifies (or de-iconifies) the window the cursor is in,
<keycap>F14</keycap> brings the window the cursor is in to
the front or, if it is already at the front, pushes it to
the back, and <keycap>F15</keycap> pops up the main
Workplace (application) menu even if the cursor is not on
the desktop, which is useful if you do not have any part of
the desktop visible (and the logo on the key matches its
functionality).</para>
<para>The following entries in <filename>~/.fvwmrc</filename>
implement the aforementioned setup:</para>
<programlisting>Key F13 FTIWS A Iconify
Key F14 FTIWS A RaiseLower
Key F15 A A Menu Workplace Nop</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question id="x-3d-acceleration">
<para>How can I get 3D hardware acceleration for
&opengl;?</para>
</question>
<answer>
<para>The availability of 3D acceleration depends on the
version of &xorg; that you are using and the type of video
chip you have. If you have an nVidia chip, you can use the
binary drivers provided for &os; by installing one of the
following ports:</para>
<itemizedlist>
<listitem>
<para>The latest versions of nVidia cards are supported by
the <filename role="package">x11/nvidia-driver</filename>
port.</para>
</listitem>
<listitem>
<para>nVidia cards like the GeForce2&nbsp;MX/3/4 series
are supported by the 96XX series of drivers, available
in the <filename
role="package">x11/nvidia-driver-96xx</filename>
port.</para>
</listitem>
<listitem>
<para>Even older cards, like GeForce and RIVA&nbsp;TNT are
supported by the 71XX series of drivers, available in
the <filename
role="package">x11/nvidia-driver-71xx</filename>
port.</para>
</listitem>
</itemizedlist>
<para>nVidia provides detailed information on which
card is supported by which driver
on their web site: <ulink
url="http://www.nvidia.com/object/IO_32667.html"></ulink>.</para>
<para>For Matrox&nbsp;G200/G400, check the
<filename role="package">x11-servers/mga_hal</filename>
port.</para>
<para>For ATI&nbsp;Rage&nbsp;128 and Radeon see
&man.ati.4x;, &man.r128.4x; and &man.radeon.4x;.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="networking">
<title>Networking</title>
<qandaset>
<qandaentry>
<question id="diskless-booting">
<para>Where can I get information on <quote>diskless
booting</quote>?</para>
</question>
<answer>
<para><quote>Diskless booting</quote> means that the &os;
box is booted over a network, and reads the necessary
files from a server instead of its hard disk. For full
details, please read <ulink
url="&url.books.handbook;/network-diskless.html">the Handbook entry on diskless booting</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="router">
<para>Can a &os; box be used as a dedicated network
router?</para>
</question>
<answer>
<para>Yes. Please see the Handbook entry on <ulink
url="&url.books.handbook;/advanced-networking.html">advanced networking</ulink>,
specifically the section on <ulink
url="&url.books.handbook;/network-routing.html">routing and gateways</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="win95-connection">
<para>Can I connect my &windows; box to the Internet via
&os;?</para>
</question>
<answer>
<para>Typically, people who ask this question have two PCs at
home, one with &os; and one with some version of &windows;
the idea is to use the &os; box to connect to the Internet
and then be able to access the Internet from the &windows;
box through the &os; box. This is really just a special
case of the previous question and works perfectly
well.</para>
<para>Dialup users must use <option>-nat</option>
and set
<literal>gateway_enable</literal> to
<emphasis>YES</emphasis> in
<filename>/etc/rc.conf</filename>.
For
more information, please see the &man.ppp.8; manual page or
the <ulink
url="&url.books.handbook;/userppp.html">Handbook entry on user PPP</ulink>.</para>
<para>If you are using kernel-mode PPP or have an Ethernet
connection to the Internet, you need to use &man.natd.8;.
Please look at the <ulink
url="&url.books.handbook;/network-natd.html">natd</ulink>
section of the Handbook for a tutorial.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="slip-ppp-support">
<para>Does &os; support PPP?</para>
</question>
<answer>
<para>Yes. &man.ppp.8; provides support for both
incoming and outgoing connections.</para>
<para>For more information on how to use this, please see the
<ulink
url="&url.books.handbook;/ppp-and-slip.html">Handbook chapter on PPP</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="natd">
<para>Does &os; support NAT or Masquerading?</para>
</question>
<answer>
<para>Yes. If you want to use NAT over a user PPP connection,
please see the <ulink
url="&url.books.handbook;/userppp.html">Handbook entry on user PPP</ulink>.
If you want to use NAT over some other sort of network
connection, please look at the <ulink
url="&url.books.handbook;/network-natd.html">natd</ulink>
section of the Handbook.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ethernet-aliases">
<para>How can I set up Ethernet aliases?</para>
</question>
<answer>
<para>If the alias is on the same subnet as an address already
configured on the interface, then add <literal>netmask
0xffffffff</literal> to your &man.ifconfig.8; command-line,
as in the following:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>ed0</replaceable> alias <replaceable>192.0.2.2</replaceable> netmask 0xffffffff</userinput></screen>
<para>Otherwise, just specify the network address and netmask
as usual:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>ed0</replaceable> alias <replaceable>172.16.141.5</replaceable> netmask 0xffffff00</userinput></screen>
<para>You can read more about this in the &os; <ulink
url="&url.books.handbook;/configtuning-virtual-hosts.html">Handbook</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="nfs-linux">
<para>Why can I not NFS-mount from a &linux; box?</para>
</question>
<answer>
<para>Some versions of the &linux; NFS code only accept mount
requests from a privileged port; try to issue the following
command:</para>
<screen>&prompt.root; <userinput>mount -o -P <replaceable>linuxbox:/blah</replaceable> <replaceable>/mnt</replaceable></userinput></screen>
</answer>
</qandaentry>
<qandaentry>
<question id="exports-errors">
<para>Why does <command>mountd</command> keep telling me it
<errorname>can't change attributes</errorname> and that I
have a <errorname>bad exports list</errorname> on my &os;
NFS server?</para>
</question>
<answer>
<para>The most frequent problem is not understanding the
correct format of <filename>/etc/exports</filename>. Please
review &man.exports.5; and the <ulink
url="&url.books.handbook;/network-nfs.html">NFS</ulink>
entry in the Handbook, especially the section on <ulink
url="&url.books.handbook;/network-nfs.html#configuring-nfs">configuring NFS</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ip-multicast">
<para>How do I enable IP multicast support?</para>
</question>
<answer>
<para>&os; supports multicast host operations by default. If
you want your box to run as a multicast router, you need to
recompile your kernel with the <literal>MROUTING</literal>
option and run &man.mrouted.8;. &os; will start
&man.mrouted.8; at boot time if the flag
<literal>mrouted_enable</literal> is set to
<literal>YES</literal> in
<filename>/etc/rc.conf</filename>.</para>
<note>
<para>In recent &os; releases, the &man.mrouted.8; multicast
routing daemon, the &man.map-mbone.8; and &man.mrinfo.8;
utilities have been removed from the base system. These
programs are now available in the &os; Ports Collection as
<filename role="package">net/mrouted</filename>.</para>
</note>
</answer>
</qandaentry>
<qandaentry>
<question id="fqdn-hosts">
<para>Why do I have to use the FQDN for hosts on my
site?</para>
</question>
<answer>
<para>See the answer in the &os; <ulink
url="&url.books.handbook;/mail-trouble.html">Handbook</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="network-permission-denied">
<para>Why do I get an error, <errorname>Permission
denied</errorname>, for all networking operations?</para>
</question>
<answer>
<para>If you have compiled your kernel with the
<literal>IPFIREWALL</literal> option, you need to be aware
that the default policy is to deny all packets that are not
explicitly allowed.</para>
<para>If you had unintentionally misconfigured your system for
firewalling, you can restore network operability by typing
the following while logged in as
<username>root</username>:</para>
<screen>&prompt.root; <userinput>ipfw add 65534 allow all from any to any</userinput></screen>
<para>You can also set <literal>firewall_type="open"</literal>
in <filename>/etc/rc.conf</filename>.</para>
<para>For further information on configuring a &os; firewall,
see the <ulink
url="&url.books.handbook;/firewalls.html">Handbook chapter</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ipfw-fwd">
<para>Why is my <command>ipfw</command> <quote>fwd</quote>
rule to redirect a service to another machine not
working?</para>
</question>
<answer>
<para>Possibly because you want to do network address
translation (NAT) and not just forward packets. A
<quote>fwd</quote> rule does exactly what it says; it
forwards packets. It does not actually change the data
inside the packet. Say we have a rule like:</para>
<screen>01000 fwd <replaceable>10.0.0.1</replaceable> from any to <replaceable>foo 21</replaceable></screen>
<para>When a packet with a destination address of
<replaceable>foo</replaceable> arrives at the machine with
this rule, the packet is forwarded to
<replaceable>10.0.0.1</replaceable>, but it still has the
destination address of <replaceable>foo</replaceable>! The
destination address of the packet is
<emphasis>not</emphasis> changed to
<replaceable>10.0.0.1</replaceable>. Most machines would
probably drop a packet that they receive with a destination
address that is not their own. Therefore, using a
<quote>fwd</quote> rule does not often work the way the user
expects. This behavior is a feature and not a bug.</para>
<para>See the <link
linkend="service-redirect">FAQ about redirecting services</link>,
the &man.natd.8; manual, or one of the several port
redirecting utilities in the <ulink
url="&url.base;/ports/index.html">Ports Collection</ulink>
for a correct way to do this.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="service-redirect">
<para>How can I redirect service requests from one machine to
another?</para>
</question>
<answer>
<para>You can redirect FTP (and other service) request with
the <filename role="package">sysutils/socket</filename>
port. Simply replace the service's command line to call
<command>socket</command> instead, like so:</para>
<programlisting>ftp stream tcp nowait nobody /usr/local/bin/socket socket <replaceable>ftp.example.com</replaceable> <replaceable>ftp</replaceable></programlisting>
<para>where <replaceable>ftp.example.com</replaceable> and
<replaceable>ftp</replaceable> are the host and port to
redirect to, respectively.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="bandwidth-mgr-tool">
<para>Where can I get a bandwidth management tool?</para>
</question>
<answer>
<para>There are three bandwidth management tools available for
&os;. &man.dummynet.4; is integrated into &os; as part of
&man.ipfw.4;. <ulink
url="http://www.sonycsl.co.jp/person/kjc/programs.html">ALTQ</ulink>
has been integrated into &os; as part of &man.pf.4;.
Bandwidth Manager from <ulink
url="http://www.etinc.com/">Emerging Technologies</ulink>
is a commercial product.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="bpf-not-configured">
<para>Why do I get <errorname>/dev/bpf0: device not
configured</errorname>?</para>
</question>
<answer>
<para>You are running a program that requires the Berkeley
Packet Filter (&man.bpf.4;), but it is not in your kernel.
Add this to your kernel config file and build a new
kernel:</para>
<programlisting>device bpf # Berkeley Packet Filter</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question id="mount-smb-share">
<para>How do I mount a disk from a &windows; machine that is
on my network, like smbmount in &linux;?</para>
</question>
<answer>
<para>Use the <application>SMBFS</application> toolset. It
includes a set of kernel modifications and a set of userland
programs. The programs and information are available as
&man.mount.smbfs.8; in the base system.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="icmp-response-bw-limit">
<para>What are these messages about: <errorname>Limiting
icmp/open port/closed port response</errorname> in my log
files?</para>
</question>
<answer>
<para>This is the kernel telling you that some activity is
provoking it to send more ICMP or TCP reset (RST) responses
than it thinks it should. ICMP responses are often
generated as a result of attempted connections to unused UDP
ports. TCP resets are generated as a result of attempted
connections to unopened TCP ports. Among others, these are
the kinds of activities which may cause these
messages:</para>
<itemizedlist>
<listitem>
<para>Brute-force denial of service (DoS) attacks (as
opposed to single-packet attacks which exploit a
specific vulnerability).</para>
</listitem>
<listitem>
<para>Port scans which attempt to connect to a large
number of ports (as opposed to only trying a few
well-known ports).</para>
</listitem>
</itemizedlist>
<para>The first number in the message tells you how many
packets the kernel would have sent if the limit was not in
place, and the second number tells you the limit. You can
control the limit using the
<varname>net.inet.icmp.icmplim</varname> sysctl variable
like this, where <literal>300</literal> is the limit in
packets per second:</para>
<screen>&prompt.root; <userinput>sysctl net.inet.icmp.icmplim=300</userinput></screen>
<para>If you do not want to see messages about this in your
log files, but you still want the kernel to do response
limiting, you can use the
<varname>net.inet.icmp.icmplim_output</varname> sysctl
variable to disable the output like this:</para>
<screen>&prompt.root; <userinput>sysctl net.inet.icmp.icmplim_output=0</userinput></screen>
<para>Finally, if you want to disable response limiting, you
can set the <varname>net.inet.icmp.icmplim</varname> sysctl
variable (see above for an example) to <literal>0</literal>.
Disabling response limiting is discouraged for the reasons
listed above.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="unknown-hw-addr-format">
<para>What are these <errorname>arp: unknown hardware address
format</errorname> error messages?</para>
</question>
<answer>
<para>This means that some device on your local Ethernet is
using a MAC address in a format that &os; does not
recognize. This is probably caused by someone experimenting
with an Ethernet card somewhere else on the network. You
will see this most commonly on cable modem networks. It is
harmless, and should not affect the performance of your &os;
machine.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="arp-wrong-iface">
<para>Why do I keep seeing messages like: <errorname>192.168.0.10 is on
fxp1 but got reply from 00:15:17:67:cf:82 on rl0</errorname>, and how do I
disable it?</para>
</question>
<answer>
<para>Because a packet is coming from outside the network
unexpectedly. To disable them, set
<varname>net.link.ether.inet.log_arp_wrong_iface</varname>
to <literal>0</literal>.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="security">
<title>Security</title>
<qandaset>
<qandaentry>
<question id="sandbox">
<para>What is a sandbox?</para>
</question>
<answer>
<para><quote>Sandbox</quote> is a security term. It can mean
two things:</para>
<itemizedlist>
<listitem>
<para>A process which is placed inside a set of virtual
walls that are designed to prevent someone who breaks
into the process from being able to break into the wider
system.</para>
<para>The process is said to be able to
<quote>play</quote> inside the walls. That is, nothing
the process does in regards to executing code is
supposed to be able to breech the walls so you do not
have to do a detailed audit of its code to be able to
say certain things about its security.</para>
<para>The walls might be a user&nbsp;ID, for example.
This is the definition used in the &man.security.7; and
&man.named.8; man pages.</para>
<para>Take the <literal>ntalk</literal> service, for
example (see &man.inetd.8;). This service used to run
as user&nbsp;ID <username>root</username>. Now it runs
as user&nbsp;ID <username>tty</username>. The
<username>tty</username> user is a sandbox designed to
make it more difficult for someone who has successfully
hacked into the system via <literal>ntalk</literal> from
being able to hack beyond that user&nbsp;ID.</para>
</listitem>
<listitem>
<para>A process which is placed inside a simulation of the
machine. It means
that someone who is able to break into the process may
believe that he can break into the wider machine but is,
in fact, only breaking into a simulation of that machine
and not modifying any real data.</para>
<para>The most common way to accomplish this is to build a
simulated environment in a subdirectory and then run the
processes in that directory chrooted (i.e., <filename
class="directory">/</filename> for that process is this
directory, not the real <filename
class="directory">/</filename> of the system).</para>
<para>Another common use is to mount an underlying file
system read-only and then create a file system layer on
top of it that gives a process a seemingly writeable
view into that file system. The process may believe it
is able to write to those files, but only the process
sees the effects &mdash; other processes in the system
do not, necessarily.</para>
<para>An attempt is made to make this sort of sandbox so
transparent that the user (or hacker) does not realize
that he is sitting in it.</para>
</listitem>
</itemizedlist>
<para>&unix; implements two core sandboxes. One is at the
process level, and one is at the userid level.</para>
<para>Every &unix; process is completely firewalled off from
every other &unix; process. One process cannot modify the
address space of another.</para>
<para>A &unix; process is owned by a particular userid. If
the user&nbsp;ID is not the <username>root</username> user,
it serves to firewall the process off from processes owned
by other users. The user&nbsp;ID is also used to firewall
off on-disk data.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="securelevel">
<para>What is securelevel?</para>
</question>
<answer>
<para><literal>securelevel</literal> is a security
mechanism implemented in the kernel. When the securelevel
is positive, the
kernel restricts certain tasks; not even the superuser
(i.e., <username>root</username>) is allowed to do them.
The securelevel mechanism limits the ability to:</para>
<itemizedlist>
<listitem>
<para>Unset certain file flags, such as
<literal>schg</literal> (the system immutable
flag).</para>
</listitem>
<listitem>
<para>Write to kernel memory via
<devicename>/dev/mem</devicename> and
<devicename>/dev/kmem</devicename>.</para>
</listitem>
<listitem>
<para>Load kernel modules.</para>
</listitem>
<listitem>
<para>Alter firewall rules.</para>
</listitem>
</itemizedlist>
<para>To check the status of the securelevel on a running
system, simply execute the following command:</para>
<screen>&prompt.root; <userinput>sysctl -n kern.securelevel</userinput></screen>
<para>The output contains the current value of the
securelevel. If it is positive (i.e., greater than 0), at
least some of the securelevel's protections are
enabled.</para>
<para>The securelevel of a running system can not be
lowered as this would defeat its purpose. If you need
to do a task that requires that the securelevel be
non-positive (e.g., an <maketarget>installworld</maketarget>
or changing the date), you will have to change the
securelevel setting in <filename>/etc/rc.conf</filename>
(you want to look for the
<varname>kern_securelevel</varname> and
<varname>kern_securelevel_enable</varname> variables) and
reboot.</para>
<para>For more information on securelevel and the specific
things all the levels do, please consult the &man.init.8;
manual page.</para>
<warning>
<para>Securelevel is not a silver bullet; it has many known
deficiencies. More often than not, it provides a false
sense of security.</para>
<para>One of its biggest problems is that in order for it to
be at all effective, all files used in the boot process up
until the securelevel is set must be protected. If an
attacker can get the system to execute their code prior to
the securelevel being set (which happens quite late in the
boot process since some things the system must do at
start-up cannot be done at an elevated securelevel), its
protections are invalidated. While this task of
protecting all files used in the boot process is not
technically impossible, if it is achieved, system
maintenance will become a nightmare since one would have
to take the system down, at least to single-user mode, to
modify a configuration file.</para>
<para>This point and others are often discussed on the
mailing lists, particularly the &a.security;. Please
search the archives <ulink
url="&url.base;/search/index.html">here</ulink> for an
extensive discussion. A more fine-grained mechanism
is preferred.</para>
</warning>
</answer>
</qandaentry>
<qandaentry>
<question id="extra-named-port">
<para>BIND (<command>named</command>) is listening on
some high-numbered ports. What is going on?</para>
</question>
<answer>
<para>BIND uses a random high-numbered port for outgoing
queries. Recent versions of it choose a new, random UDP
port for each query. This may cause problems for some
network configurations, especially if a firewall blocks
incoming UDP packets on particular ports. If you want to
get past that firewall, you can try the
<literal>avoid-v4-udp-ports</literal> and
<literal>avoid-v6-udp-ports</literal> options to avoid
selecting random port numbers within a blocked range.</para>
<warning>
<para>If a port number (like 53) is specified via the
<literal>query-source</literal> or
<literal>query-source-v6</literal> options in
<filename>/etc/namedb/named.conf</filename>, randomized
port selection will not be used. It is strongly
recommended that these options not be used to specify
fixed port numbers.</para>
</warning>
<para>Congratulations, by the way. It is good practice to
read your &man.sockstat.1; output and notice odd
things!</para>
</answer>
</qandaentry>
<qandaentry>
<question id="sendmail-port-587">
<para>The <application>sendmail</application> daemon is
listening on port 587 as well as the standard port 25! What
is going on?</para>
</question>
<answer>
<para>Recent versions of <application>sendmail</application>
support a mail submission feature that runs over port 587.
This is not yet widely supported, but is growing in
popularity.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="toor-account">
<para>What is this UID 0 <username>toor</username> account?
Have I been compromised?</para>
</question>
<answer>
<para>Do not worry. <username>toor</username> is an
<quote>alternative</quote> superuser account (toor is root
spelt backwards). Previously it was created when the
&man.bash.1; shell was installed but now it is created by
default. It is intended to be used with a non-standard
shell so you do not have to change
<username>root</username>'s default shell. This is
important as shells which are not part of the base
distribution (for example a shell installed from ports or
packages) are likely to be installed in
<filename class="directory">/usr/local/bin</filename> which, by default,
resides on a different file system. If
<username>root</username>'s shell is located in
<filename class="directory">/usr/local/bin</filename> and
<filename class="directory">/usr</filename> (or whatever file system contains
<filename class="directory">/usr/local/bin</filename>) is not mounted for some
reason, <username>root</username> will not be able to log in
to fix a problem (although if you reboot into single user
mode you will be prompted for the path to a shell).</para>
<para>Some people use <username>toor</username> for day-to-day
<username>root</username> tasks with a non-standard shell,
leaving <username>root</username>, with a standard shell,
for single user mode or emergencies. By default you cannot
log in using <username>toor</username> as it does not have a
password, so log in as <username>root</username> and set a
password for <username>toor</username> if you want to use
it.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="ppp">
<title>PPP</title>
<qandaset>
<qandaentry>
<question id="userppp">
<para>I cannot make &man.ppp.8; work. What am I doing
wrong?</para>
</question>
<answer>
<para>You should first read the &man.ppp.8; manual page and
the <ulink
url="&url.books.handbook;/ppp-and-slip.html#userppp">PPP section of the handbook</ulink>.
Enable logging with the following command:</para>
<programlisting>set log Phase Chat Connect Carrier lcp ipcp ccp command</programlisting>
<para>This command may be typed at the &man.ppp.8; command
prompt or it may be entered in the
<filename>/etc/ppp/ppp.conf</filename> configuration file
(the start of the <literal>default</literal> section is the
best place to put it). Make sure that
<filename>/etc/syslog.conf</filename> (see
&man.syslog.conf.5;) contains the lines below and the file
<filename>/var/log/ppp.log</filename> exists:</para>
<programlisting>!ppp
*.* /var/log/ppp.log</programlisting>
<para>You can now find out a lot about what is going on from
the log file. Do not worry if it does not all make sense.
If you need to get help from someone, it may make sense to
them.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-hangs">
<para>Why does &man.ppp.8; hang when I run it?</para>
</question>
<answer>
<para>This is usually because your hostname will not resolve.
The best way to fix this is to make sure that
<filename>/etc/hosts</filename> is consulted by your
resolver first by editing
<filename>/etc/host.conf</filename> and putting the
<literal>hosts</literal> line first. Then, simply put an
entry in <filename>/etc/hosts</filename> for your local
machine. If you have no local network, change your
<hostid>localhost</hostid> line:</para>
<programlisting>127.0.0.1 foo.example.com foo localhost</programlisting>
<para>Otherwise, simply add another entry for your host.
Consult the relevant manual pages for more details.</para>
<para>You should be able to successfully
<command>ping -c1 `hostname`</command> when you are
done.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-nodial-auto">
<para>Why will &man.ppp.8; not dial in
<literal>-auto</literal> mode?</para>
</question>
<answer>
<para>First, check that you have got a default route. By
running <command>netstat -rn</command> (see
&man.netstat.1;), you should see two entries like
this:</para>
<programlisting>Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.2 UGSc 0 0 tun0
10.0.0.2 10.0.0.1 UH 0 0 tun0</programlisting>
<para>This is assuming that you have used the addresses from
the handbook, the manual page, or from
<filename>ppp.conf.sample</filename>. If you do not
have a default route, it may be because you forgot to add
the <literal>HISADDR</literal> line to
<filename>ppp.conf</filename>.</para>
<para>Another reason for the default route line being missing
is that you have mistakenly set up a default router in your
<filename>/etc/rc.conf</filename> (see &man.rc.conf.5;) file
and you have omitted the line below from
<filename>ppp.conf</filename>:</para>
<programlisting>delete ALL</programlisting>
<para>If this is the case, go back to the <ulink
url="&url.books.handbook;/userppp.html#userppp-final">Final System Configuration</ulink>
section of the handbook.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="no-route-to-host">
<para>What does <errorname>No route to host</errorname>
mean?</para>
</question>
<answer>
<para>This error is usually due that the following section is
missing in your <filename>/etc/ppp/ppp.linkup</filename>:</para>
<programlisting>MYADDR:
delete ALL
add 0 0 HISADDR</programlisting>
<para>This is only necessary if you have a dynamic IP address
or do not know the address of your gateway. If you are
using interactive mode, you can type the following after
entering <literal>packet mode</literal> (packet mode is
indicated by the capitalized <acronym>PPP</acronym> in the
prompt):</para>
<programlisting>delete ALL
add 0 0 HISADDR</programlisting>
<para>Refer to the <ulink
url="&url.books.handbook;/userppp.html#userppp-dynamicip">PPP and Dynamic IP addresses</ulink>
section of the handbook for further details.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="connection-threeminutedrop">
<para>Why does my connection drop after about 3
minutes?</para>
</question>
<answer>
<para>The default PPP timeout is 3 minutes. This can be
adjusted with the following line:</para>
<programlisting>set timeout <replaceable>NNN</replaceable></programlisting>
<para>where <replaceable>NNN</replaceable> is the number of
seconds of inactivity before the connection is closed. If
<replaceable>NNN</replaceable> is zero, the connection is
never closed due to a timeout. It is possible to put this
command in <filename>ppp.conf</filename>, or to
type it at the prompt in interactive mode. It is also
possible to adjust it on the fly while the line is active by
connecting to <application>ppp</application>'s server socket
using &man.telnet.1; or &man.pppctl.8;. Refer to the
&man.ppp.8; man page for further details.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-drop-heavy-load">
<para>Why does my connection drop under heavy load?</para>
</question>
<answer>
<para>If you have Link Quality Reporting (LQR) configured, it
is possible that too many LQR packets are lost between your
machine and the peer. &man.ppp.8; deduces that
the line must therefore be bad, and disconnects.
LQR is disabled by default and can be enabled with the
following line:</para>
<programlisting>enable lqr</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-drop-random">
<para>Why does my connection drop after a random amount of
time?</para>
</question>
<answer>
<para>Sometimes, on a noisy phone line or even on a line with
call waiting enabled, your modem may hang up because it
thinks (incorrectly) that it lost carrier.</para>
<para>There is a setting on most modems for determining how
tolerant it should be to temporary losses of carrier.
Refer to the modem manual for details.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-hangs-random">
<para>Why does my connection hang after a random amount of
time?</para>
</question>
<answer>
<para>Many people experience hung connections with no apparent
explanation. The first thing to establish is which side of
the link is hung.</para>
<para>If you are using an external modem, you can simply try
using &man.ping.8; to see if the <acronym>TD</acronym> light
is flashing when you transmit data. If it flashes (and the
<acronym>RD</acronym> light does not), the problem is with
the remote end. If <acronym>TD</acronym> does not flash,
the problem is local. With an internal modem, you will need
to use the <literal>set server</literal> command in
<filename>ppp.conf</filename>. When the hang occurs,
connect to &man.ppp.8; using &man.pppctl.8;. If your
network connection suddenly revives (PPP was revived due to
the activity on the diagnostic socket) or if you cannot
connect (assuming the <literal>set socket</literal> command
succeeded at startup time), the problem is local. If you
can connect and things are still hung, enable local async
logging with <literal>set log local async</literal> and use
&man.ping.8; from another window or terminal to make use of
the link. The async logging will show you the data being
transmitted and received on the link. If data is going out
and not coming back, the problem is remote.</para>
<para>Having established whether the problem is local or
remote, you now have two possibilities:</para>
<itemizedlist>
<listitem>
<para>If the problem is remote, read on entry <xref
linkend="ppp-remote-not-responding"/>.</para>
</listitem>
<listitem>
<para>If the problem is local, read on entry <xref
linkend="ppp-hung"/>.</para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-remote-not-responding">
<para>The remote end is not responding. What can I do?</para>
</question>
<answer>
<para>There is very little you can do about this. Most ISPs
will refuse to help if you are not running a &microsoft; OS.
You can <literal>enable lqr</literal> in your
<filename>ppp.conf</filename>, allowing &man.ppp.8; to
detect the remote failure and hang up, but this detection is
relatively slow and therefore not that useful. You may want
to avoid telling your ISP that you are running
user-PPP.</para>
<para>First, try disabling all local compression by adding the
following to your configuration:</para>
<programlisting>disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
deny pred1 deflate deflate24 protocomp acfcomp shortseq vj</programlisting>
<para>Then reconnect to ensure that this makes no difference.
If things improve or if the problem is solved completely,
determine which setting makes the difference through trial
and error. This will provide good ammunition when you
contact your ISP (although it may make it apparent that you
are not running a &microsoft; product).</para>
<para>Before contacting your ISP, enable async logging locally
and wait until the connection hangs again. This may use up
quite a bit of disk space. The last data read from the port
may be of interest. It is usually ASCII data, and may even
describe the problem (<errorname>Memory fault</errorname>,
<errorname>Core dumped</errorname>).</para>
<para>If your ISP is helpful, they should be able to enable
logging on their end, then when the next link drop occurs,
they may be able to tell you why their side is having a
problem.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-hung">
<para>&man.ppp.8; has hung. What can I do?</para>
</question>
<answer>
<para>Your best bet here is to rebuild &man.ppp.8; with
debugging information, and then use &man.gdb.1; to grab a
stack trace from the <application>ppp</application> process
that is stuck. To rebuild the
<application>ppp</application> utility with debugging
information, you can type:</para>
<screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/ppp</userinput>
&prompt.root; <userinput>env DEBUG_FLAGS='-g' make clean</userinput>
&prompt.root; <userinput>env DEBUG_FLAGS='-g' make install</userinput></screen>
<para>Then you should restart <application>ppp</application>
and wait until it hangs again. When the debug build of
<application>ppp</application> hangs, start
<application>gdb</application> on the stuck process by
typing:</para>
<screen>&prompt.root; <userinput>gdb ppp `pgrep ppp`</userinput></screen>
<para>At the <application>gdb</application> prompt, you can
use the <command>bt</command> or <command>where</command>
commands to get a stack trace. Save the output of your
<application>gdb</application> session, and
<quote>detach</quote> from the running process by typing
<command>quit</command>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-same-magic">
<para>I keep seeing errors about magic being the same. What
does it mean?</para>
</question>
<answer>
<para>Occasionally, just after connecting, you may see
messages in the log that say <errorname>Magic is
same</errorname>. Sometimes, these messages are harmless,
and sometimes one side or the other exits. Most PPP
implementations cannot survive this problem, and even if the
link seems to come up, you will see repeated configure
requests and configure acknowledgments in the log file until
&man.ppp.8; eventually gives up and closes the
connection.</para>
<para>This normally happens on server machines with slow disks
that are spawning a &man.getty.8; on the port, and executing
&man.ppp.8; from a login script or program after login.
There were reports of it happening consistently when using
slirp. The reason is that in the time taken between
&man.getty.8; exiting and &man.ppp.8; starting, the
client-side &man.ppp.8; starts sending Line Control Protocol
(LCP) packets. Because ECHO is still switched on for the
port on the server, the client &man.ppp.8; sees these
packets <quote>reflect</quote> back.</para>
<para>One part of the LCP negotiation is to establish a magic
number for each side of the link so that
<quote>reflections</quote> can be detected. The protocol
says that when the peer tries to negotiate the same magic
number, a NAK should be sent and a new magic number should
be chosen. During the period that the server port has ECHO
turned on, the client &man.ppp.8; sends LCP packets, sees
the same magic in the reflected packet and NAKs it. It also
sees the NAK reflect (which also means &man.ppp.8; must
change its magic). This produces a potentially enormous
number of magic number changes, all of which are happily
piling into the server's tty buffer. As soon as &man.ppp.8;
starts on the server, it is flooded with magic number
changes and almost immediately decides it has tried enough
to negotiate LCP and gives up. Meanwhile, the client, who
no longer sees the reflections, becomes happy just in time
to see a hangup from the server.</para>
<para>This can be avoided by allowing the peer to start
negotiating with the following line in
<filename>ppp.conf</filename>:</para>
<programlisting>set openmode passive</programlisting>
<para>This tells &man.ppp.8; to wait for the server to
initiate LCP negotiations. Some servers however may never
initiate negotiations. If this is the case, you can do
something like:</para>
<programlisting>set openmode active 3</programlisting>
<para>This tells &man.ppp.8; to be passive for 3 seconds, and
then to start sending LCP requests. If the peer starts
sending requests during this period, &man.ppp.8; will
immediately respond rather than waiting for the full 3
second period.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-lcp-constant">
<para>LCP negotiations continue until the connection is
closed. What is wrong?</para>
</question>
<answer>
<para>There is currently an implementation mis-feature in
&man.ppp.8; where it does not associate LCP, CCP &amp; IPCP
responses with their original requests. As a result, if one
PPP implementation is more than 6 seconds slower than the
other side, the other side will send two additional LCP
configuration requests. This is fatal.</para>
<para>Consider two implementations, <hostid>A</hostid> and
<hostid>B</hostid>. <hostid>A</hostid> starts sending LCP
requests immediately after connecting and <hostid>B</hostid>
takes 7 seconds to start. When <hostid>B</hostid> starts,
<hostid>A</hostid> has sent 3 LCP REQs. We are assuming the
line has ECHO switched off, otherwise we would see magic
number problems as described in the previous section.
<hostid>B</hostid> sends a REQ, then an ACK to the first of
<hostid>A</hostid>'s REQs. This results in
<hostid>A</hostid> entering the <acronym>OPENED</acronym>
state and sending and ACK (the first) back to
<hostid>B</hostid>. In the meantime, <hostid>B</hostid>
sends back two more ACKs in response to the two additional
REQs sent by <hostid>A</hostid> before <hostid>B</hostid>
started up. <hostid>B</hostid> then receives the first ACK
from <hostid>A</hostid> and enters the
<acronym>OPENED</acronym> state. <hostid>A</hostid>
receives the second ACK from <hostid>B</hostid> and goes
back to the <acronym>REQ-SENT</acronym> state, sending
another (forth) REQ as per the RFC. It then receives the
third ACK and enters the <acronym>OPENED</acronym> state.
In the meantime, <hostid>B</hostid> receives the forth REQ
from <hostid>A</hostid>, resulting in it reverting to the
<acronym>ACK-SENT</acronym> state and sending another
(second) REQ and (forth) ACK as per the RFC.
<hostid>A</hostid> gets the REQ, goes into
<acronym>REQ-SENT</acronym> and sends another REQ. It
immediately receives the following ACK and enters
<acronym>OPENED</acronym>.</para>
<para>This goes on until one side figures out that they are
getting nowhere and gives up.</para>
<para>The best way to avoid this is to configure one side to
be <literal>passive</literal> &mdash; that is, make one side
wait for the other to start negotiating. This can be done
with the following command:</para>
<programlisting>set openmode passive</programlisting>
<para>Care should be taken with this option. You should also
use this command to limit the amount of time that
&man.ppp.8; waits for the peer to begin negotiations:</para>
<programlisting>set stopped <replaceable>N</replaceable></programlisting>
<para>Alternatively, the following command (where
<replaceable>N</replaceable> is the number of seconds to
wait before starting negotiations) can be used:</para>
<programlisting>set openmode active <replaceable>N</replaceable></programlisting>
<para>Check the manual page for details.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-shell-test-lockup">
<para>Why does &man.ppp.8; lock up when I shell out to test
it?</para>
</question>
<answer>
<para>When you execute the <command>shell</command> or
<command>!</command> command, &man.ppp.8; executes a shell
(or if you have passed any arguments, &man.ppp.8; will
execute those arguments). The
<application>ppp</application> program will wait for the
command to complete before continuing. If you attempt to
use the PPP link while running the command, the link will
appear to have frozen. This is because &man.ppp.8; is
waiting for the command to complete.</para>
<para>To execute commands like this, use
<command>!bg</command> instead. This will execute
the given command in the background, and &man.ppp.8; can
continue to service the link.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-null-modem">
<para>Why does &man.ppp.8; over a null-modem cable never
exit?</para>
</question>
<answer>
<para>There is no way for &man.ppp.8; to automatically
determine that a direct connection has been dropped. This
is due to the lines that are used in a null-modem serial
cable. When using this sort of connection, LQR should
always be enabled with the following line:</para>
<programlisting>enable lqr</programlisting>
<para>LQR is accepted by default if negotiated by the
peer.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-auto-noreasondial">
<para>Why does &man.ppp.8; dial for no reason in
<option>-auto</option> mode?</para>
</question>
<answer>
<para>If &man.ppp.8; is dialing unexpectedly, you must
determine the cause, and set up Dial filters (dfilters) to
prevent such dialing.</para>
<para>To determine the cause, use the following line:</para>
<programlisting>set log +tcp/ip</programlisting>
<para>This will log all traffic through the connection. The
next time the line comes up unexpectedly, you will see the
reason logged with a convenient timestamp next to it.</para>
<para>You can now disable dialing under these circumstances.
Usually, this sort of problem arises due to DNS lookups. To
prevent DNS lookups from establishing a connection (this
will <emphasis>not</emphasis> prevent &man.ppp.8; from
passing the packets through an established connection), use
the following:</para>
<programlisting>set dfilter 1 deny udp src eq 53
set dfilter 2 deny udp dst eq 53
set dfilter 3 permit 0/0 0/0</programlisting>
<para>This is not always suitable, as it will effectively
break your demand-dial capabilities &mdash; most programs
will need a DNS lookup before doing any other network
related things.</para>
<para>In the DNS case, you should try to determine what is
actually trying to resolve a host name. A lot of the time,
&man.sendmail.8; is the culprit. You should make sure that
you tell <application>sendmail</application> not to do any
DNS lookups in its configuration file. See the section on
<ulink
url="&url.books.handbook;/smtp-dialup.html">using email with a dialup connection</ulink>
in the &os; Handbook for details on how to create your own
configuration file and what should go into it. You may also
want to add the following line to
<filename>.mc</filename>:</para>
<programlisting>define(`confDELIVERY_MODE', `d')dnl</programlisting>
<para>This will make <application>sendmail</application> queue
everything until the queue is run (usually, sendmail is
run with <option>-bd -q30m</option>, telling it to run
the queue every 30 minutes) or until a <command>sendmail
<option>-q</option></command> is done (perhaps from your
<filename>ppp.linkup</filename>).</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ccp-errors">
<para>What do these CCP errors mean?</para>
</question>
<answer>
<para>I keep seeing the following errors in my log
file:</para>
<programlisting>CCP: CcpSendConfigReq
CCP: Received Terminate Ack (1) state = Req-Sent (6)</programlisting>
<para>This is because &man.ppp.8; is trying to negotiate
Predictor1 compression, and the peer does not want to
negotiate any compression at all. The messages are
harmless, but if you wish to remove them, you can disable
Predictor1 compression locally too:</para>
<programlisting>disable pred1</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-connectionspeed">
<para>Why does &man.ppp.8; not log my connection speed?</para>
</question>
<answer>
<para>To log all lines of your modem
<quote>conversation</quote>, you must enable the
following:</para>
<programlisting>set log +connect</programlisting>
<para>This will make &man.ppp.8; log everything up until the
last requested <quote>expect</quote> string.</para>
<para>If you wish to see your connect speed and are using PAP
or CHAP (and therefore do not have anything to
<quote>chat</quote> after the CONNECT in the dial script
&mdash; no <literal>set login</literal> script), you must
make sure that you instruct &man.ppp.8; to
<quote>expect</quote> the whole CONNECT line, something like
this:</para>
<programlisting>set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \
\"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"</programlisting>
<para>Here, we get our CONNECT, send nothing, then expect a
line-feed, forcing &man.ppp.8; to read the whole CONNECT
response.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-ignores-backslash">
<para>Why does &man.ppp.8; ignore the <literal>\</literal>
character in my chat script?</para>
</question>
<answer>
<para>The <application>ppp</application> utility parses each
line in your config files so that it can interpret strings
such as <literal>set phone "123 456 789"</literal> correctly
and realize that the number is actually only
<emphasis>one</emphasis> argument. To specify a
<literal>&quot;</literal> character, you must escape it
using a backslash (<literal>\</literal>).</para>
<para>When the chat interpreter parses each argument, it
re-interprets the argument to find any special
escape sequences such as <literal>\P</literal> or
<literal>\T</literal> (see the manual page). As a result of
this double-parsing, you must remember to use the correct
number of escapes.</para>
<para>If you wish to actually send a <literal>\</literal>
character to (say) your modem, you would need something
like:</para>
<programlisting>set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"</programlisting>
<para>It will result in the following sequence:</para>
<programlisting>ATZ
OK
AT\X
OK</programlisting>
<para>Or:</para>
<programlisting>set phone 1234567
set dial "\"\" ATZ OK ATDT\\T"</programlisting>
<para>It will result in the following sequence:</para>
<programlisting>ATZ
OK
ATDT1234567</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-segfault-nocore">
<para>Why does &man.ppp.8; get a <errorname>Segmentation
fault</errorname>, but I see no
<filename>ppp.core</filename></para>
</question>
<answer>
<para>The <application>ppp</application> utility (or any other
program for that matter) should never dump core. Because
&man.ppp.8; runs setuid (with an effective user&nbsp;ID of
<literal>0</literal>), the operating system will not write
core image of &man.ppp.8; to disk before terminating it.
If, however &man.ppp.8; is actually terminating due to a
segmentation violation or some other signal that normally
causes core to be dumped, <emphasis>and</emphasis> you are
sure you are using the latest version (see the start of this
section), then you should install the system sources and do
the following:</para>
<screen>&prompt.root; <userinput><command>cd</command> <filename class="directory">/usr/src/usr.sbin/ppp</filename></userinput>
&prompt.root; <userinput><command>echo</command> <makevar>STRIP</makevar>= &gt;&gt; <filename>/etc/make.conf</filename></userinput>
&prompt.root; <userinput><command>echo</command> <makevar>CFLAGS</makevar>+=<option>-g</option> &gt;&gt; <filename>/etc/make.conf</filename></userinput>
&prompt.root; <userinput><command>make</command> <maketarget>install</maketarget> <maketarget>clean</maketarget></userinput></screen>
<para>You will now have a debuggable version of &man.ppp.8;
installed. You will have to be <username>root</username> to
run &man.ppp.8; as all of its privileges have been revoked.
When you start &man.ppp.8;, take a careful note of what your
current directory was at the time.</para>
<para>Now, if and when &man.ppp.8; receives the segmentation
violation, it will dump a core file called
<filename>ppp.core</filename>. You should then do the
following:</para>
<screen>&prompt.user; <userinput>su</userinput>
&prompt.root; <userinput>gdb /usr/sbin/ppp ppp.core</userinput>
<prompt>(gdb)</prompt> <userinput>bt</userinput>
.....
<prompt>(gdb)</prompt> <userinput>f 0</userinput>
....
<prompt>(gdb)</prompt> <userinput>i args</userinput>
....
<prompt>(gdb)</prompt> <userinput>l</userinput>
.....</screen>
<para>All of this information should be given alongside your
question, making it possible to diagnose the problem.</para>
<para>If you are familiar with &man.gdb.1;, you may wish to
find out some other bits and pieces such as what actually
caused the dump or the addresses and values of the relevant
variables.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-autodialprocess-noconnect">
<para>Why does the process that forces a dial in
<option>-auto</option> mode never connect?</para>
</question>
<answer>
<para>This was a known problem with &man.ppp.8; set up to
negotiate a dynamic local IP number with the peer in
<option>-auto</option> mode. It has been fixed a long time
ago &mdash; search the manual page for
<literal>iface</literal>.</para>
<para>The problem was that when that initial program calls
&man.connect.2;, the IP number of the &man.tun.4; interface
is assigned to the socket endpoint. The kernel creates the
first outgoing packet and writes it to the &man.tun.4;
device. &man.ppp.8; then reads the packet and establishes a
connection. If, as a result of &man.ppp.8;'s dynamic IP
assignment, the interface address is changed, the original
socket endpoint will be invalid. Any subsequent packets
sent to the peer will usually be dropped. Even if they are
not, any responses will not route back to the originating
machine as the IP number is no longer owned by that
machine.</para>
<para>There are several theoretical ways to approach this
problem. It would be nicest if the peer would re-assign the
same IP number if possible. The current version of
&man.ppp.8; does this, but most other implementations do
not.</para>
<para>The easiest method from our side would be to never
change the &man.tun.4; interface IP number, but instead to
change all outgoing packets so that the source IP number is
changed from the interface IP to the negotiated IP on the
fly. This is essentially what the
<literal>iface-alias</literal> option in the latest version
of &man.ppp.8; is doing (with the help of &man.libalias.3;
and &man.ppp.8;'s <option>-nat</option> switch) &mdash; it
is maintaining all previous interface addresses and NATing
them to the last negotiated address.</para>
<para>Another alternative (and probably the most reliable)
would be to implement a system call that changes all bound
sockets from one IP to another. &man.ppp.8; would use this
call to modify the sockets of all existing programs when a
new IP number is negotiated. The same system call could be
used by <acronym>DHCP</acronym> clients when they are forced
to call the <function>bind()</function> function for their
sockets.</para>
<para>Yet another possibility is to allow an interface to be
brought up without an IP number. Outgoing packets would be
given an IP number of <hostid
role="ipaddr">255.255.255.255</hostid> up until the first
<literal>SIOCAIFADDR</literal> &man.ioctl.2; is done. This
would result in fully binding the socket. It would be up to
&man.ppp.8; to change the source IP number, but only if it
is set to <hostid role="ipaddr">255.255.255.255</hostid>,
and only the IP number and IP checksum would need to change.
This, however is a bit of a hack as the kernel would be
sending bad packets to an improperly configured interface,
on the assumption that some other mechanism is capable of
fixing things retrospectively.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ppp-nat-games">
<para>Why do most games not work with the
<option>-nat</option> switch?</para>
</question>
<answer>
<para>The reason games and the like do not work when
&man.libalias.3; is in use is that the machine on the outside
will try to open a connection or send (unsolicited) UDP
packets to the machine on the inside. The NAT software does
not know that it should send these packets to the interior
machine.</para>
<para>To make things work, make sure that the only thing
running is the software that you are having problems with,
then either run &man.tcpdump.1; on the &man.tun.4; interface
of the gateway or enable &man.ppp.8; TCP/IP logging
(<literal>set log +tcp/ip</literal>) on the gateway.</para>
<para>When you start the offending software, you should see
packets passing through the gateway machine. When something
comes back from the outside, it will be dropped (that is the
problem). Note the port number of these packets then shut
down the offending software. Do this a few times to see if
the port numbers are consistent. If they are, then the
following line in the relevant section of
<filename>/etc/ppp/ppp.conf</filename> will make the
software functional:</para>
<programlisting>nat port <replaceable>proto</replaceable> <replaceable>internalmachine</replaceable>:<replaceable>port</replaceable> <replaceable>port</replaceable></programlisting>
<para>where <replaceable>proto</replaceable> is either
<literal>tcp</literal> or <literal>udp</literal>,
<replaceable>internalmachine</replaceable> is the machine
that you want the packets to be sent to and
<replaceable>port</replaceable> is the destination port
number of the packets.</para>
<para>You will not be able to use the software on other
machines without changing the above command, and running the
software on two internal machines at the same time is out of
the question &mdash; after all, the outside world is seeing
your entire internal network as being just a single
machine.</para>
<para>If the port numbers are not consistent, there are three
more options:</para>
<orderedlist>
<listitem>
<para>Submit support in &man.libalias.3;. Examples of
<quote>special cases</quote> can be found in
<filename>/usr/src/sys/netinet/libalias/alias_*.c</filename>
(<filename>alias_ftp.c</filename> is a good prototype).
This usually involves reading certain recognized
outgoing packets, identifying the instruction that tells
the outside machine to initiate a connection back to the
internal machine on a specific (random) port and setting
up a <quote>route</quote> in the alias table so that the
subsequent packets know where to go.</para>
<para>This is the most difficult solution, but it is the
best and will make the software work with multiple
machines.</para>
</listitem>
<listitem>
<para>Use a proxy. The application may support
<literal>socks5</literal> for example, or
may have a
<quote>passive</quote> option that avoids ever
requesting that the peer open connections back to the
local machine.</para>
</listitem>
<listitem>
<para>Redirect everything to the internal machine using
<literal>nat addr</literal>. This is the sledge-hammer
approach.</para>
</listitem>
</orderedlist>
</answer>
</qandaentry>
<qandaentry>
<question id="fcs-errors">
<para>What are FCS errors?</para>
</question>
<answer>
<para>FCS stands for Frame Check Sequence. Each
PPP packet has a checksum attached to ensure that the data
being received is the data being sent. If the FCS of an
incoming packet is incorrect, the packet is dropped and the
HDLC FCS count is increased. The HDLC error values can be
displayed using the <literal>show hdlc</literal>
command.</para>
<para>If your link is bad (or if your serial driver is
dropping packets), you will see the occasional FCS error.
This is not usually worth worrying about although it does
slow down the compression protocols substantially. If you
have an external modem, make sure your cable is properly
shielded from interference &mdash; this may eradicate the
problem.</para>
<para>If your link freezes as soon as you have connected and
you see a large number of FCS errors, this may be because your
link is not 8-bit clean. Make sure your modem is not using
software flow control (XON/XOFF). If your datalink
<emphasis>must</emphasis> use software flow control, use the
command <literal>set accmap 0x000a0000</literal> to tell
&man.ppp.8; to escape the <literal>^Q</literal> and
<literal>^S</literal> characters.</para>
<para>Another reason for seeing too many FCS errors may be
that the remote end has stopped talking
<acronym>PPP</acronym>. You may want to enable
<literal>async</literal> logging at this point to determine
if the incoming data is actually a login or shell prompt.
If you have a shell prompt at the remote end, it is possible
to terminate &man.ppp.8; without dropping the line by using
<command>close lcp</command> (a following
<command>term</command>) will reconnect you to the
shell on the remote machine.</para>
<para>If nothing in your log file indicates why the link might
have been terminated, you should ask the remote
administrator (your ISP?) why the session was
terminated.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="desperation">
<para>None of this helps &mdash; I am desperate! What can I
do?</para>
</question>
<answer>
<para>If all else fails, send as much information as you can,
including your config files, how you are starting
&man.ppp.8;, the relevant parts of your log file and the
output of <command>netstat -rn</command> (before
and after connecting) to the &a.questions;
and someone should point you in the right
direction.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="serial">
<title>Serial Communications</title>
<para>This section answers common questions about serial
communications with &os;. PPP is covered in the <link
linkend="networking">Networking</link> section.</para>
<qandaset>
<qandaentry>
<question id="multiport-serial-support">
<para>Which multi-port serial cards are supported by
&os;?</para>
</question>
<answer>
<para>There is a list of these in the <ulink
url="&url.books.handbook;/serial.html">Serial Communications</ulink>
chapter of the handbook.</para>
<para>Most multi-port PCI cards that are based on 16550 or
clones are supported with no extra effort.</para>
<para>Some unnamed clone cards have also been known to work,
especially those that claim to be AST compatible.</para>
<para>Check &man.uart.4; and &man.sio.4; to get more
information on configuring such cards.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="serial-console-prompt">
<para>How do I get the boot: prompt to show on the serial
console?</para>
</question>
<answer>
<para>See <ulink
url="&url.books.handbook;/serialconsole-setup.html">this section of the handbook</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="found-serial">
<para>How do I tell if &os; found my serial ports or modem
cards?</para>
</question>
<answer>
<para>As the &os; kernel boots, it will probe for the serial
ports in your system for which the kernel was configured.
You can either watch your system closely for the messages it
prints or run this command after your system is up and
running:</para>
<screen>&prompt.user; <userinput>dmesg | grep -E "^sio[0-9]"</userinput></screen>
<para>Here is some example output from the above
command:</para>
<programlisting>sio0: &lt;16550A-compatible COM port&gt; port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: &lt;16550A-compatible COM port&gt; port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A</programlisting>
<para>This shows two serial ports. The first is on
IRQ&nbsp;4, is using port address <literal>0x3f8</literal>,
and has a 16550A-type UART chip. The second uses the same
kind of chip but is on IRQ&nbsp;3 and is at port address
<literal>0x2f8</literal>. Internal modem cards are treated
just like serial ports &mdash; except that they always have
a modem <quote>attached</quote> to the port.</para>
<para>The <filename>GENERIC</filename> kernel includes support
for two serial ports using the same IRQ and port address
settings in the above example. If these settings are not
right for your system, or if you have added modem cards or
have more serial ports than your kernel is configured for,
just reconfigure your kernel. See section <link
linkend="make-kernel">about building a kernel</link> for
more details.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="access-serial-ports">
<para>How do I access the serial ports on &os;?</para>
</question>
<answer>
<para>The third serial port, <devicename>sio2</devicename>
(see &man.sio.4;, known as <devicename>COM3</devicename> in
DOS), is on <devicename>/dev/cuad2</devicename> for dial-out
devices, and on <devicename>/dev/ttyd2</devicename> for
dial-in devices. What is the difference between these two
classes of devices?</para>
<para>You use
<devicename>ttyd<replaceable>X</replaceable></devicename>
for dial-ins. When opening
<devicename>/dev/ttyd<replaceable>X</replaceable></devicename>
in blocking mode, a process will wait for the corresponding
<devicename>cuad<replaceable>X</replaceable></devicename>
device to become inactive, and then wait for the carrier
detect line to go active. When you open the
<devicename>cuad<replaceable>X</replaceable></devicename>
device, it makes sure the serial port is not already in use
by the
<devicename>ttyd<replaceable>X</replaceable></devicename>
device. If the port is available, it <quote>steals</quote>
it from the
<devicename>ttyd<replaceable>X</replaceable></devicename>
device. Also, the
<devicename>cuad<replaceable>X</replaceable></devicename>
device does not care about carrier detect. With this scheme
and an auto-answer modem, you can have remote users log in
and you can still dial out with the same modem and the
system will take care of all the conflicts.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="enable-multiport-serial">
<para>How do I enable support for a multiport serial
card?</para>
</question>
<answer>
<para>Again, the section on kernel configuration provides
information about configuring your kernel. For a multiport
serial card, place an &man.sio.4; line for each serial port
on the card in the &man.device.hints.5; file. But place the
IRQ specifiers on only one of the entries. All of the ports
on the card should share one IRQ. For consistency, use the
last serial port to specify the IRQ. Also, specify the
following option in the kernel configuration file:</para>
<programlisting>options COM_MULTIPORT</programlisting>
<para>The following <filename>/boot/device.hints</filename>
example is for an AST 4-port serial card on
IRQ&nbsp;12:</para>
<programlisting>hint.sio.4.at="isa"
hint.sio.4.port="0x2a0"
hint.sio.4.flags="0x701"
hint.sio.5.at="isa"
hint.sio.5.port="0x2a8"
hint.sio.5.flags="0x701"
hint.sio.6.at="isa"
hint.sio.6.port="0x2b0"
hint.sio.6.flags="0x701"
hint.sio.7.at="isa"
hint.sio.7.port="0x2b8"
hint.sio.7.flags="0x701"
hint.sio.7.irq="12"</programlisting>
<para>The flags indicate that the master port has minor number
<literal>7</literal> (<literal>0x700</literal>), and all the
ports share an IRQ (<literal>0x001</literal>).</para>
</answer>
</qandaentry>
<qandaentry>
<question id="default-serial-params">
<para>Can I set the default serial parameters for a
port?</para>
</question>
<answer>
<para>See the <ulink
url="&url.books.handbook;/serial.html#serial-hw-config">Serial Communications</ulink>
section in the &os; Handbook.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="enable-dialup">
<para>How can I enable dialup logins on my modem?</para>
</question>
<answer>
<para>Please read the section about <ulink
url="&url.books.handbook;/dialup.html">Dial-in Services</ulink>
in the &os; Handbook.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="dumb-terminal">
<para>How can I connect a dumb terminal to my &os; box?</para>
</question>
<answer>
<para>You can find this information in the <ulink
url="&url.books.handbook;/term.html">Terminals</ulink>
section of the &os; Handbook.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="cannot-tip">
<para>Why can I not run <command>tip</command> or
<command>cu</command>?</para>
</question>
<answer>
<para>On your system, the programs &man.tip.1; and &man.cu.1;
can only access the <filename class="directory">/var/spool/lock</filename>
directory via user <username>uucp</username> and group
<groupname>dialer</groupname>. You can use the group
<groupname>dialer</groupname> to control who has access to
your modem or remote systems. Just add yourself to group
<groupname>dialer</groupname>.</para>
<para>Alternatively, you can let everyone on your system run
&man.tip.1; and &man.cu.1; by typing:</para>
<screen>&prompt.root; <userinput>chmod 4511 /usr/bin/cu</userinput>
&prompt.root; <userinput>chmod 4511 /usr/bin/tip</userinput></screen>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="misc">
<title>Miscellaneous Questions</title>
<qandaset>
<qandaentry>
<question id="more-swap">
- <para>&os; a lot of swap space even when the computer has
+ <para>&os; uses a lot of swap space even when the computer has
free memory left. Why?</para>
</question>
<answer>
<para>&os; will proactively
move entirely idle, unused pages of main memory into swap in
order to make more main memory available for active use.
This heavy use of swap is balanced by using the extra free
memory for cacheing.</para>
<para>Note that while &os; is proactive in this regard, it
does not arbitrarily decide to swap pages when the system is
truly idle. Thus you will not find your system all paged
out when you get up in the morning after leaving it idle
overnight.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="top-freemem">
<para>Why does <command>top</command> show very little free
memory even when I have very few programs running?</para>
</question>
<answer>
<para>The simple answer is that free memory is wasted memory.
Any memory that your programs do not actively allocate is
used within the &os; kernel as disk cache. The values shown
by &man.top.1; labeled as <literal>Inact</literal>,
<literal>Cache</literal>, and <literal>Buf</literal> are all
cached data at different aging levels. This cached data
means the system does not have to access a slow disk again
for data it has accessed recently, thus increasing overall
performance. In general, a low value shown for
<literal>Free</literal> memory in &man.top.1; is good,
provided it is not <emphasis>very</emphasis> low.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="chmod-symlinks">
<para>Why will <command>chmod</command> not change the
permissions on symlinks?</para>
</question>
<answer>
<para>Symlinks do not have permissions, and by default,
&man.chmod.1; will follow symlinks to change the
permissions on the source file, if possible. So if you have a file,
<filename>foo</filename>, and a symlink to that file,
<filename>bar</filename>, then this command will always
succeed.</para>
<screen>&prompt.user; <userinput>chmod g-w bar</userinput></screen>
<para>However, the permissions on <filename>bar</filename>
will not have changed.</para>
<para>When changing modes of the file hierarchies rooted in the
files instead of the files themselves,
you have to use either <option>-H</option> or
<option>-L</option> together with <option>-R</option>
to make this work. See &man.chmod.1; and
&man.symlink.7; for more information.</para>
<warning>
<para><option>-R</option> does a
<emphasis>recursive</emphasis> &man.chmod.1;. Be careful
about specifying directories or symlinks to directories to
&man.chmod.1;. If you want to change the permissions of a
directory referenced by a symlink, use &man.chmod.1;
without any options and follow the symlink with a trailing
slash (<filename class="directory">/</filename>). For example, if
<filename>foo</filename> is a symlink to directory
<filename class="directory">bar</filename>, and you want to change the
permissions of <filename>foo</filename> (actually
<filename class="directory">bar</filename>), you would do something
like:</para>
<screen>&prompt.user; <userinput>chmod 555 foo/</userinput></screen>
<para>With the trailing slash, &man.chmod.1; will follow the
symlink, <filename>foo</filename>, to change the
permissions of the directory,
<filename class="directory">bar</filename>.</para>
</warning>
</answer>
</qandaentry>
<qandaentry>
<question id="dos-binaries">
<para>Can I run DOS binaries under &os;?</para>
</question>
<answer>
<para>Yes, you can use <filename
role="package">emulators/doscmd</filename>, a DOS
emulation program, available in the &os; Ports
Collection.</para>
<para>If <application>doscmd</application> will not suffice,
the add-on utility <filename
role="package">emulators/pcemu</filename> emulates an 8088
and enough BIOS services to run many DOS text mode
applications. It requires the X Window System.</para>
<para>You may also try <filename
role="package">emulators/dosbox</filename> from the &os;
Ports Collection. The main focus of this application is
emulating old DOS games using the local file system for
files.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="translation">
<para>What do I need to do to translate a &os; document into
my native language?</para>
</question>
<answer>
<para>See the <ulink
url="&url.books.fdp-primer;/translations.html">Translation FAQ</ulink>
in the &os; Documentation Project Primer.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="freebsd-mail-bounces">
<para>Why does my email to any address at <hostid
role="domainname">FreeBSD.org</hostid> bounce?</para>
</question>
<answer>
<para>The <hostid role="domainname">FreeBSD.org</hostid> mail
system implements some
<application>Postfix</application> checks on incoming mail
and rejects mail that is either from misconfigured relays or
otherwise appears likely to be spam. Some of the
specific requirements are: </para>
<itemizedlist>
<listitem>
<para>The IP address of the SMTP client must
"reverse-resolve" to a forward
confirmed hostname.</para>
</listitem>
<listitem>
<para>The fully-qualified hostname given in the
SMTP conversation (either HELO or EHLO) must resolve
to the IP address of the client.</para>
</listitem>
</itemizedlist>
<para>Other advice to help your mail reach its destination
include:</para>
<itemizedlist>
<listitem>
<para>Mail should be sent in plain text, and messages
sent to mailing lists should generally be no more than
200KB in length.</para>
</listitem>
<listitem>
<para>Avoid excessive cross posting. Choose
<emphasis>one</emphasis> mailing list which seems most
relevant and send it there.</para>
</listitem>
</itemizedlist>
<para>If you still have trouble with email infrastructure at
<hostid role="domainname">FreeBSD.org</hostid> send a note
with the details to
<email>postmaster@freebsd.org</email>; Include a
date/time interval so that logs may be reviewed &mdash;
and note that we only keep one week's worth of mail logs.
(Be sure to specify the time zone or offset from
UTC.)</para>
</answer>
</qandaentry>
<qandaentry>
<question id="free-account">
<para>Where can I find a free &os; account?</para>
</question>
<answer>
<para>While &os; does not provide open access to any of their
servers, others do provide open access &unix; systems. The
charge varies and limited services may be available.</para>
<para><ulink
url="http://www.arbornet.org/">Arbornet, Inc</ulink>,
also known as <emphasis>M-Net</emphasis>, has been providing
open access to &unix; systems since 1983. Starting on an
Altos running System III, the site switched to BSD/OS in
1991. In June of 2000, the site switched again to &os;.
<emphasis>M-Net</emphasis> can be accessed via
<application>telnet</application> and
<application>SSH</application> and provides basic access to
the entire &os; software suite. However, network access is
limited to members and patrons who donate to the system,
which is run as a non-profit organization.
<emphasis>M-Net</emphasis> also provides an bulletin board
system and interactive chat.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="daemon-name">
<para>What is the cute little red guy's name?</para>
</question>
<answer>
<para>He does not have one, and is just called <quote>the BSD
daemon</quote>. If you insist upon using a name, call him
<quote>beastie</quote>. Note that <quote>beastie</quote> is
pronounced <quote>BSD</quote>.</para>
<para>You can learn more about the BSD daemon on his <ulink
url="http://www.mckusick.com/beastie/index.html">home page</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="use-beastie">
<para>Can I use the BSD daemon image?</para>
</question>
<answer>
<para>Perhaps. The BSD daemon is copyrighted by Marshall Kirk
McKusick. You will want to check his <ulink
url="http://www.mckusick.com/beastie/mainpage/copyright.html">Statement on the Use of the BSD Daemon Figure</ulink>
for detailed usage terms.</para>
<para>In summary, you are free to use the image in a tasteful
manner, for personal use, so long as appropriate credit is
given. If you want to use him commercially, you must
contact &a.mckusick.email;. More details are available on the
<ulink
url="http://www.mckusick.com/beastie/index.html">BSD Daemon's home page</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="daemon-images">
<para>Do you have any BSD daemon images I could use?</para>
</question>
<answer>
<para>You will find eps and Xfig drawings under
<filename class="directory">/usr/share/examples/BSD_daemon/</filename>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="glossary">
<para>I have seen an acronym or other term on the mailing
lists and I do not understand what it means. Where should I
look?</para>
</question>
<answer>
<para>Please see the <ulink
url="&url.books.handbook;/freebsd-glossary.html">&os; Glossary</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="bikeshed-painting">
<para>Why should I care what color the bikeshed is?</para>
</question>
<answer>
<para>The really, really short answer is that you should not.
The somewhat longer answer is that just because you are
capable of building a bikeshed does not mean you should stop
others from building one just because you do not like the
color they plan to paint it. This is a metaphor indicating
that you need not argue about every little feature just
because you know enough to do so. Some people have
commented that the amount of noise generated by a change is
inversely proportional to the complexity of the
change.</para>
<para>The longer and more complete answer is that after a very
long argument about whether &man.sleep.1; should take
fractional second arguments, &a.phk.email; posted a long message
entitled <quote><ulink
url="http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=506636+517178+/usr/local/www/db/text/1999/freebsd-hackers/19991003.freebsd-hackers">A bike shed (any color will do) on greener grass...</ulink></quote>.
The appropriate portions of that message are quoted
below.</para>
<blockquote>
<attribution>&a.phk.email; on &a.hackers.name;, October 2,
1999</attribution>
<para><quote>What is it about this bike shed?</quote> Some
of you have asked me.</para>
<para>It is a long story, or rather it is an old story, but
it is quite short actually. C. Northcote Parkinson wrote
a book in the early 1960s, called <quote>Parkinson's
Law</quote>, which contains a lot of insight into the
dynamics of management.</para>
<para><emphasis>[snip a bit of commentary on the
book]</emphasis></para>
<para>In the specific example involving the bike shed, the
other vital component is an atomic power-plant, I guess
that illustrates the age of the book.</para>
<para>Parkinson shows how you can go into the board of
directors and get approval for building a multi-million or
even billion dollar atomic power plant, but if you want to
build a bike shed you will be tangled up in endless
discussions.</para>
<para>Parkinson explains that this is because an atomic
plant is so vast, so expensive and so complicated that
people cannot grasp it, and rather than try, they fall
back on the assumption that somebody else checked all the
details before it got this far. Richard P. Feynmann
gives a couple of interesting, and very much to the point,
examples relating to Los Alamos in his books.</para>
<para>A bike shed on the other hand. Anyone can build one
of those over a weekend, and still have time to watch the
game on TV. So no matter how well prepared, no matter how
reasonable you are with your proposal, somebody will seize
the chance to show that he is doing his job, that he is
paying attention, that he is
<emphasis>here</emphasis>.</para>
<para>In Denmark we call it <quote>setting your
fingerprint</quote>. It is about personal pride and
prestige, it is about being able to point somewhere and
say <quote>There! <emphasis>I</emphasis> did
that.</quote> It is a strong trait in politicians, but
present in most people given the chance. Just think about
footsteps in wet cement.</para>
</blockquote>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="funnies">
<title>The &os; Funnies</title>
<qandaset>
<qandaentry>
<question id="very-very-cool">
<para>How cool is &os;?</para>
</question>
<answer>
<para>Q. Has anyone done any temperature testing while
running &os;? I know &linux; runs cooler than DOS, but have
never seen a mention of &os;. It seems to run really
hot.</para>
<para>A. No, but we have done numerous taste tests on
blindfolded volunteers who have also had 250 micrograms of
LSD-25 administered beforehand. 35% of the volunteers said
that &os; tasted sort of orange, whereas &linux; tasted like
purple haze. Neither group mentioned any significant
variances in temperature. We eventually had to throw the
results of this survey out entirely anyway when we found
that too many volunteers were wandering out of the room
during the tests, thus skewing the results. We think most
of the volunteers are at Apple now, working on their new
<quote>scratch and sniff</quote> GUI. It is a funny old
business we are in!</para>
<para>Seriously, &os; uses the
<acronym>HLT</acronym> (halt) instruction when the system is
idle thus lowering its energy consumption and therefore the
heat it generates. Also if you have
<acronym>ACPI</acronym> (Advanced
Configuration and Power Interface)
configured, then &os; can also put the CPU into
a low power mode.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="letmeoutofhere">
<para>Who is scratching in my memory banks??</para>
</question>
<answer>
<para>Q. Is there anything <quote>odd</quote> that &os; does
when compiling the kernel which would cause the memory to
make a scratchy sound? When compiling (and for a brief
moment after recognizing the floppy drive upon startup, as
well), a strange scratchy sound emanates from what appears
to be the memory banks.</para>
<para>A. Yes! You will see frequent references to
<quote>daemons</quote> in the BSD documentation, and what
most people do not know is that this refers to genuine,
non-corporeal entities that now possess your computer. The
scratchy sound coming from your memory is actually
high-pitched whispering exchanged among the daemons as they
best decide how to deal with various system administration
tasks.</para>
<para>If the noise gets to you, a good
<command>fdisk /mbr</command> from DOS will get rid of them,
but do not be surprised if they react adversely and try to
stop you. In fact, if at any point during the exercise you
hear the satanic voice of Bill Gates coming from the
built-in speaker, take off running and do not ever look
back! Freed from the counterbalancing influence of the BSD
daemons, the twin demons of DOS and &windows; are often able
to re-assert total control over your machine to the eternal
damnation of your soul. Now that you know, given a choice
you would probably prefer to get used to the scratchy
noises, no?</para>
</answer>
</qandaentry>
<qandaentry>
<question id="changing-lightbulbs">
<para>How many &os; hackers does it take to change a
lightbulb?</para>
</question>
<answer>
<para>One thousand, one hundred and sixty-nine:</para>
<para>Twenty-three to complain to -CURRENT about the lights
being out;</para>
<para>Four to claim that it is a configuration problem, and
that such matters really belong on -questions;</para>
<para>Three to submit PRs about it, one of which is misfiled
under doc and consists only of <quote>it's
dark</quote>;</para>
<para>One to commit an untested lightbulb which breaks
buildworld, then back it out five minutes later;</para>
<para>Eight to flame the PR originators for not including
patches in their PRs;</para>
<para>Five to complain about buildworld being broken;</para>
<para>Thirty-one to answer that it works for them, and they
must have updated at a bad time;</para>
<para>One to post a patch for a new lightbulb to
-hackers;</para>
<para>One to complain that he had patches for this three years
ago, but when he sent them to -CURRENT they were just
ignored, and he has had bad experiences with the PR system;
besides, the proposed new lightbulb is non-reflexive;</para>
<para>Thirty-seven to scream that lightbulbs do not belong in
the base system, that committers have no right to do things
like this without consulting the Community, and WHAT IS
-CORE DOING ABOUT IT!?</para>
<para>Two hundred to complain about the color of the bicycle
shed;</para>
<para>Three to point out that the patch breaks
&man.style.9;;</para>
<para>Seventeen to complain that the proposed new lightbulb is
under GPL;</para>
<para>Five hundred and eighty-six to engage in a flame war
about the comparative advantages of the GPL, the BSD
license, the MIT license, the NPL, and the personal hygiene
of unnamed FSF founders;</para>
<para>Seven to move various portions of the thread to -chat
and -advocacy;</para>
<para>One to commit the suggested lightbulb, even though it
shines dimmer than the old one;</para>
<para>Two to back it out with a furious flame of a commit
message, arguing that &os; is better off in the dark than
with a dim lightbulb;</para>
<para>Forty-six to argue vociferously about the backing out of
the dim lightbulb and demanding a statement from
-core;</para>
<para>Eleven to request a smaller lightbulb so it will fit
their Tamagotchi if we ever decide to port &os; to that
platform;</para>
<para>Seventy-three to complain about the SNR on -hackers and
-chat and unsubscribe in protest;</para>
<para>Thirteen to post <quote>unsubscribe</quote>, <quote>How
do I unsubscribe?</quote>, or <quote>Please remove me from
the list</quote>, followed by the usual footer;</para>
<para>One to commit a working lightbulb while everybody is too
busy flaming everybody else to notice;</para>
<para>Thirty-one to point out that the new lightbulb would
shine 0.364% brighter if compiled with TenDRA (although it
will have to be reshaped into a cube), and that &os; should
therefore switch to TenDRA instead of GCC;</para>
<para>One to complain that the new lightbulb lacks
fairings;</para>
<para>Nine (including the PR originators) to ask <quote>what
is MFC?</quote>;</para>
<para>Fifty-seven to complain about the lights being out two
weeks after the bulb has been changed.</para>
<para><emphasis>&a.nik.email; adds:</emphasis></para>
<para><emphasis>I was laughing quite hard at
this.</emphasis></para>
<para><emphasis>And then I thought, <quote>Hang on, shouldn't
there be '1 to document it.' in that list
somewhere?</quote></emphasis></para>
<para><emphasis>And then I was enlightened
:-)</emphasis></para>
<para><emphasis>&a.tabthorpe.email;</emphasis> says: <quote>None,
<emphasis>real</emphasis> &os; hackers are not afraid of the
dark!</quote></para>
</answer>
</qandaentry>
<qandaentry>
<question id="dev-null">
<para>Where does data written to
<filename>/dev/null</filename> go?</para>
</question>
<answer>
<para>It goes into a special data sink in the CPU where it is
converted to heat which is vented through the heatsink / fan
assembly. This is why CPU cooling is increasingly
important; as people get used to faster processors, they
become careless with their data and more and more of it ends
up in <filename>/dev/null</filename>, overheating their
CPUs. If you delete <filename>/dev/null</filename> (which
effectively disables the CPU data sink) your CPU may run
cooler but your system will quickly become constipated with
all that excess data and start to behave erratically. If
you have a fast network connection you can cool down your
CPU by reading data out of <filename>/dev/random</filename>
and sending it off somewhere; however you run the risk of
overheating your network connection and
<filename class="directory">/</filename> or angering your ISP, as most of the
data will end up getting converted to heat by their
equipment, but they generally have good cooling, so if you
do not overdo it you should be OK.</para>
<para><emphasis>Paul Robinson adds:</emphasis></para>
<para>There are other methods. As every good sysadmin knows,
it is part of standard practice to send data to the screen
of interesting variety to keep all the pixies that make up
your picture happy. Screen pixies (commonly mis-typed or
re-named as <quote>pixels</quote>) are categorized by the
type of hat they wear (red, green or blue) and will hide or
appear (thereby showing the color of their hat) whenever
they receive a little piece of food. Video cards turn data
into pixie-food, and then send them to the pixies &mdash;
the more expensive the card, the better the food, so the
better behaved the pixies are. They also need constant
stimulation &mdash; this is why screen savers exist.</para>
<para>To take your suggestions further, you could just throw
the random data to console, thereby letting the pixies
consume it. This causes no heat to be produced at all,
keeps the pixies happy and gets rid of your data quite
quickly, even if it does make things look a bit messy on
your screen.</para>
<para>Incidentally, as an ex-admin of a large ISP who
experienced many problems attempting to maintain a stable
temperature in a server room, I would strongly discourage
people sending the data they do not want out to the network.
The fairies who do the packet switching and routing get
annoyed by it as well.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="punk-my-friend">
<para>My colleague sits at the computer too much, how
can I prank her?</para>
</question>
<answer>
<para>Install <filename role="port">games/sl</filename> and wait
for her to mistype <userinput>sl</userinput> for
<command>ls</command>.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="advanced">
<title>Advanced Topics</title>
<qandaset>
<qandaentry>
<question id="learn-advanced">
<para>How can I learn more about &os;'s internals?</para>
</question>
<answer>
<para>See the
<ulink
url="&url.books.arch-handbook;">&os; Architecture Handbook</ulink>.</para>
<para>Additionally, much general &unix; knowledge is directly
applicable to &os;.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="how-to-contribute">
<para>How can I contribute to &os;?</para>
</question>
<answer>
<para>Please see the article on <ulink
url="&url.articles.contributing;/article.html">Contributing to &os;</ulink>
for specific advice on how to do this. Assistance is more
than welcome!</para>
</answer>
</qandaentry>
<qandaentry>
<question id="define-snap-release">
<para>What are snapshots and releases?</para>
</question>
<answer>
<para>There are currently four active/semi-active branches in
the &os; <ulink
url="http://svnweb.FreeBSD.org/base/">Subversion Repository</ulink>.
(Earlier branches are only changed very rarely, which is why
there are only four active branches of development):</para>
<itemizedlist>
<listitem>
<para>&rel2.releng; AKA
&rel2.stable;</para>
</listitem>
<listitem>
<para>&rel.releng; AKA
&rel.stable;</para>
</listitem>
<listitem>
<para>&rel.head.releng; AKA
<emphasis>-CURRENT</emphasis> AKA
&rel.head;</para>
</listitem>
</itemizedlist>
<para><literal>HEAD</literal> is not an actual branch tag,
like the others; it is simply a symbolic constant for
<quote><emphasis>the current, non-branched development
stream</emphasis></quote> which we simply refer to as
<emphasis>-CURRENT</emphasis>.</para>
<para>Right now, <emphasis>-CURRENT</emphasis> is the
&rel.head.relx; development stream; the
&rel.stable; branch,
&rel.releng;, forked off from
<emphasis>-CURRENT</emphasis> in &rel.relengdate; and the
&rel2.stable; branch,
&rel2.releng;, forked off from
<emphasis>-CURRENT</emphasis> in &rel2.relengdate;.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="ctm">
<para>Can I follow <emphasis>-CURRENT</emphasis> with limited
Internet access?</para>
</question>
<answer>
<para>Yes, you can do this <emphasis>without</emphasis>
downloading the whole source tree by using the <ulink
url="&url.books.handbook;/synching.html#ctm">CTM facility</ulink>.</para>
</answer>
</qandaentry>
<qandaentry>
<question id="submitting-kernel-extensions">
<para>I have written a kernel extension, who do I send it
to?</para>
</question>
<answer>
<para>Please take a look at the article on <ulink
url="&url.articles.contributing;/article.html">Contributing to &os;</ulink>
to learn how to submit code.</para>
<para>And thanks for the thought!</para>
</answer>
</qandaentry>
<qandaentry>
<question id="kernel-panic-troubleshooting">
<para>How can I make the most of the data I see when my kernel
panics?</para>
</question>
<answer>
<para>Here is typical kernel panic:</para>
<programlisting>Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x40
fault code = supervisor read, page not present
instruction pointer = 0x8:0xf014a7e5
stack pointer = 0x10:0xf4ed6f24
frame pointer = 0x10:0xf4ed6f28
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 80 (mount)
interrupt mask =
trap number = 12
panic: page fault</programlisting>
<para>When you see a message like this, it is not enough to
just reproduce it and send it in. The instruction pointer
value is important;
unfortunately, it is also configuration dependent. In other
words, the value varies depending on the exact kernel image
that you are using. If you are using a
<filename>GENERIC</filename> kernel image from one of the
snapshots, then it is possible for somebody else to track
down the offending function, but if you are running a custom
kernel then only <emphasis>you</emphasis> can tell us where
the fault occurred.</para>
<para>What you should do is this:</para>
<procedure>
<step>
<para>Write down the instruction pointer value. Note
that the <literal>0x8:</literal> part at the beginning
is not significant in this case: it is the
<literal>0xf0xxxxxx</literal> part that we
want.</para>
</step>
<step>
<para>When the system reboots, do the following:</para>
<screen>&prompt.user; <userinput><command>nm</command> <option>-n</option> <replaceable>kernel.that.caused.the.panic</replaceable> | <command>grep</command> f0xxxxxx</userinput></screen>
<para>where <literal>f0xxxxxx</literal> is the
instruction pointer value. The odds are you will not
get an exact match since the symbols in the kernel
symbol table are for the entry points of functions and
the instruction pointer address will be somewhere
inside a function, not at the start. If you do not
get an exact match, omit the last digit from the
instruction pointer value and try again, i.e.:</para>
<screen>&prompt.user; <userinput><command>nm</command> <option>-n</option> <replaceable>kernel.that.caused.the.panic</replaceable> | <command>grep</command> f0xxxxx</userinput></screen>
<para>If that does not yield any results, chop off another
digit. Repeat until you get some sort of output. The
result will be a possible list of functions which caused
the panic. This is a less than exact mechanism for
tracking down the point of failure, but it is better
than nothing.</para>
</step>
</procedure>
<para>However, the best way to track down the cause of a panic
is by capturing a crash dump, then using &man.kgdb.1; to
generate a stack trace on the crash dump.</para>
<para>In any case, the method is this:</para>
<procedure>
<step>
<para>Make sure that the following line is included in
your kernel configuration file
(<filename>/usr/src/sys/<replaceable>arch</replaceable>/conf/<replaceable>MYKERNEL</replaceable></filename>):</para>
<programlisting>makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols</programlisting>
</step>
<step>
<para>Change to the <filename
class="directory">/usr/src</filename>
directory:</para>
<screen>&prompt.root; <userinput><command>cd</command> <filename class="directory">/usr/src</filename></userinput></screen>
</step>
<step>
<para>Compile the kernel:</para>
<screen>&prompt.root; <userinput><command>make</command> <maketarget>buildkernel</maketarget> <makevar>KERNCONF</makevar>=<replaceable>MYKERNEL</replaceable></userinput></screen>
</step>
<step>
<para>Wait for &man.make.1; to finish compiling.</para>
</step>
<step>
<screen>&prompt.root; <userinput><command>make</command> <maketarget>installkernel</maketarget> <makevar>KERNCONF</makevar>=<replaceable>MYKERNEL</replaceable></userinput></screen>
</step>
<step>
<para>Reboot.</para>
</step>
</procedure>
<note>
<para>If you do not use the <makevar>KERNCONF</makevar>
make variable a <filename>GENERIC</filename> kernel will
be built and installed.</para>
</note>
<para>The &man.make.1; process will have built two kernels.
<filename>/usr/obj/usr/src/sys/<replaceable>MYKERNEL</replaceable>/kernel</filename>
and
<filename>/usr/obj/usr/src/sys/<replaceable>MYKERNEL</replaceable>/kernel.debug</filename>.
<filename>kernel</filename> was installed as
<filename>/boot/kernel/kernel</filename>, while
<filename>kernel.debug</filename> can be used as the source
of debugging symbols for &man.kgdb.1;.</para>
<para>To make sure you capture a crash dump, you need edit
<filename>/etc/rc.conf</filename> and set
<literal>dumpdev</literal> to point to your swap partition
(or <literal>AUTO</literal>). This will cause the
&man.rc.8; scripts to use the &man.dumpon.8; command to
enable crash dumps. You can also run &man.dumpon.8;
manually. After a panic, the crash dump can be recovered
using &man.savecore.8;; if <literal>dumpdev</literal> is set
in <filename>/etc/rc.conf</filename>, the &man.rc.8; scripts
will run &man.savecore.8; automatically and put the crash
dump in <filename class="directory">/var/crash</filename>.</para>
<note>
<para>&os; crash dumps are usually the same size as the
physical RAM size of your machine. That is, if you have
512&nbsp;MB of RAM, you will get a 512&nbsp;MB crash dump.
Therefore you must make sure there is enough space in
<filename class="directory">/var/crash</filename> to hold the dump.
Alternatively, you run &man.savecore.8; manually and have
it recover the crash dump to another directory where you
have more room. It is possible to limit the size of the
crash dump by using <literal>options
MAXMEM=<replaceable>N</replaceable></literal> where
<replaceable>N</replaceable> is the size of kernel's
memory usage in KBs. For example, if you have 1&nbsp;GB
of RAM, you can limit the kernel's memory usage to
128&nbsp;MB by this way, so that your crash dump size will
be 128&nbsp;MB instead of 1&nbsp;GB.</para>
</note>
<para>Once you have recovered the crash dump, you can get a
stack trace with &man.kgdb.1; as follows:</para>
<screen>&prompt.user; <userinput><command>kgdb</command> <filename>/usr/obj/usr/src/sys/<replaceable>MYKERNEL</replaceable>/kernel.debug</filename> <filename class="directory">/var/crash/<replaceable>vmcore.0</replaceable></filename></userinput>
<prompt>(kgdb)</prompt> <userinput>backtrace</userinput></screen>
<para>Note that there may be several screens worth of
information; ideally you should use &man.script.1; to
capture all of them. Using the unstripped kernel image with
all the debug symbols should show the exact line of kernel
source code where the panic occurred. Usually you have to
read the stack trace from the bottom up to trace
the exact sequence of events that lead to the crash. You
can also use &man.kgdb.1; to print out the contents of
various variables or structures to examine the
system state at the time of the crash.</para>
<tip>
<para>Now, if you are really insane and have a second
computer, you can also configure &man.kgdb.1; to do remote
debugging such that you can use &man.kgdb.1; on one system
to debug the kernel on another system, including setting
breakpoints, single-stepping through the kernel code, just
like you can do with a normal user-mode program.</para>
</tip>
<note>
<para>If you have <literal>DDB</literal> enabled and the
kernel drops into the debugger, you can force a panic (and
a crash dump) just by typing <literal>panic</literal> at
the <literal>ddb</literal> prompt. It may stop in the
debugger again during the panic phase. If it does, type
<literal>continue</literal> and it will finish the crash
dump.</para>
</note>
</answer>
</qandaentry>
<qandaentry>
<question id="dlsym-failure">
<para>Why has <function>dlsym()</function> stopped working for
ELF executables?</para>
</question>
<answer>
<para>The ELF toolchain does not, by default, make the symbols
defined in an executable visible to the dynamic linker.
Consequently <function>dlsym()</function> searches on
handles obtained from calls to <function>dlopen(NULL,
flags)</function> will fail to find such symbols.</para>
<para>If you want to search, using
<function>dlsym()</function>, for symbols present in the
main executable of a process, you need to link the
executable using the <option>--export-dynamic</option>
option to the ELF linker (&man.ld.1;).</para>
</answer>
</qandaentry>
<qandaentry>
<question id="change-kernel-address-space">
<para>How can I increase or reduce the kernel address space on
i386?</para>
</question>
<answer>
<para>By default, the kernel address space is 1&nbsp;GB
(2&nbsp;GB for PAE) for i386. If you run a
network-intensive server (e.g., a FTP or HTTP server),
or you want to use ZFS, you might find that is not
enough.</para>
<para>Add the following line to your kernel configuration file
to increase available space and rebuild your kernel:</para>
<programlisting>options KVA_PAGES=<replaceable>N</replaceable></programlisting>
<para>To find the correct value of
<replaceable>N</replaceable>, divide the desired address
space size (in megabytes) by four. (For example, it is
<literal>512</literal> for 2&nbsp;GB.)</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter id="acknowledgments">
<title>Acknowledgments</title>
<para>This innocent little Frequently Asked Questions document has
been written, rewritten, edited, folded, spindled, mutilated,
eviscerated, contemplated, discombobulated, cogitated,
regurgitated, rebuilt, castigated, and reinvigorated over the last
decade, by a cast of hundreds if not thousands.
Repeatedly.</para>
<para>We wish to thank every one of the people responsible, and we
encourage you to <ulink
url="&url.articles.contributing;/article.html">join them</ulink>
in making this FAQ even better.</para>
</chapter>
&bibliography;
</book>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml (revision 42804)
@@ -1,5883 +1,5905 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="advanced-networking">
<title>Advanced Networking</title>
<sect1 id="advanced-networking-synopsis">
<title>Synopsis</title>
<para>This chapter covers a number of advanced networking
topics.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>The basics of gateways and routes.</para>
</listitem>
<listitem>
<para>How to set up &ieee; 802.11 and &bluetooth;
devices.</para>
</listitem>
<listitem>
<para>How to make &os; act as a bridge.</para>
</listitem>
<listitem>
<para>How to set up network booting on a diskless
machine.</para>
</listitem>
<listitem>
<para>How to set up network <acronym>PXE</acronym> booting
with an
<acronym>NFS</acronym> root file system.</para>
</listitem>
<listitem>
<para>How to set up network address translation.</para>
</listitem>
<listitem>
<para>How to set up <acronym>IPv6</acronym> on a &os;
machine.</para>
</listitem>
<listitem>
<para>How to configure <acronym>ATM</acronym>.</para>
</listitem>
<listitem>
<para>How to enable and utilize the features of the Common
Address Redundancy Protocol (<acronym>CARP</acronym>) in
&os;.</para>
</listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<itemizedlist>
<listitem>
<para>Understand the basics of the
<filename>/etc/rc</filename> scripts.</para>
</listitem>
<listitem>
<para>Be familiar with basic network terminology.</para>
</listitem>
<listitem>
<para>Know how to configure and install a new &os; kernel
(<xref linkend="kernelconfig"/>).</para>
</listitem>
<listitem>
<para>Know how to install additional third-party software
(<xref linkend="ports"/>).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="network-routing">
<sect1info>
<authorgroup>
<author>
<firstname>Coranth</firstname>
<surname>Gryphon</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Gateways and Routes</title>
<indexterm><primary>routing</primary></indexterm>
<indexterm><primary>gateway</primary></indexterm>
<indexterm><primary>subnet</primary></indexterm>
<para>For one machine to be able to find another over a network,
there must be a mechanism in place to describe how to get from
one to the other. This is called
<firstterm>routing</firstterm>. A <quote>route</quote> is a
defined pair of addresses: a <quote>destination</quote> and a
<quote>gateway</quote>. The pair indicates that when trying
to get to this <emphasis>destination</emphasis>, communicate
through this <emphasis>gateway</emphasis>. There are three
types of destinations: individual hosts, subnets, and
<quote>default</quote>. The <quote>default route</quote> is
used if none of the other routes apply. There are also three
types of gateways: individual hosts, interfaces (also called
<quote>links</quote>), and Ethernet hardware
(<acronym>MAC</acronym>) addresses.</para>
<sect2>
<title>An Example</title>
<para>This example &man.netstat.1; output illustrates several
aspects of routing:</para>
<screen>&prompt.user; <userinput>netstat -r</userinput>
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</screen>
<indexterm><primary>default route</primary></indexterm>
<para>The first two lines specify the default route, described
in more detail in <xref linkend="network-routing-default"/>,
and the <hostid>localhost</hostid> route.</para>
<indexterm><primary>loopback device</primary></indexterm>
<para>The interface (<literal>Netif</literal> column) that this
routing table specifies to use for
<literal>localhost</literal> is <devicename>lo0</devicename>,
also known as the loopback device. This says to keep all
traffic for this destination internal, rather than sending it
out over the network.</para>
<indexterm>
<primary>Ethernet</primary>
<secondary>MAC address</secondary>
</indexterm>
<para>The addresses beginning with <hostid
role="mac">0:e0:</hostid> are Ethernet hardware addresses,
also known as <acronym>MAC</acronym> addresses. &os; will
automatically identify any hosts, <hostid>test0</hostid> in
the example, on the local Ethernet and add a route for that
host over the Ethernet interface,
<devicename>ed0</devicename>. This type of route has a
timeout, seen in the <literal>Expire</literal> column, which
is used if the host does not respond in a specific amount of
time. When this happens, the route to this host will be
automatically deleted. These hosts are identified using the
Routing Information Protocol (<acronym>RIP</acronym>), which
calculates routes to local hosts based upon a shortest path
determination.</para>
<indexterm><primary>subnet</primary></indexterm>
<para>&os; will add subnet routes for the local subnet.
<hostid role="ipaddr">10.20.30.255</hostid> is the broadcast
address for the subnet <hostid role="ipaddr">10.20.30</hostid>
and <hostid role="domainname">example.com</hostid> is the
domain name associated with that subnet. The designation
<literal>link#1</literal> refers to the first Ethernet card in
the machine.</para>
<para>Local network hosts and local subnets have their routes
automatically configured by a daemon called &man.routed.8;.
If it is not running, only routes which are statically defined
by the administrator will exist.</para>
<para>The <literal>host1</literal> line refers to the host
by its Ethernet address. Since it is the sending host, &os;
knows to use the loopback interface
(<devicename>lo0</devicename>) rather than the Ethernet
interface.</para>
<para>The two <literal>host2</literal> lines represent aliases
which were created using &man.ifconfig.8;. The
<literal>=&gt;</literal> symbol after the
<devicename>lo0</devicename> interface says that an alias
has been set in addition to the loopback address. Such routes
only show up on the host that supports the alias; all other
hosts on the local network will have a
<literal>link#1</literal> line for such routes.</para>
<para>The final line (destination subnet <hostid
role="ipaddr">224</hostid>) deals with
multicasting.</para>
<para>Finally, various attributes of each route can be seen in
the <literal>Flags</literal> column. Below is a short table
of some of these flags and their meanings:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<colspec colwidth="1*"/>
<colspec colwidth="4*"/>
<tbody>
<row>
<entry>U</entry>
<entry>Up: The route is active.</entry>
</row>
<row>
<entry>H</entry>
<entry>Host: The route destination is a single
host.</entry>
</row>
<row>
<entry>G</entry>
<entry>Gateway: Send anything for this destination on to
this remote system, which will figure out from there
where to send it.</entry>
</row>
<row>
<entry>S</entry>
<entry>Static: This route was configured manually, not
automatically generated by the system.</entry>
</row>
<row>
<entry>C</entry>
<entry>Clone: Generates a new route based upon this
route for machines to connect to. This type of route
is normally used for local networks.</entry>
</row>
<row>
<entry>W</entry>
<entry>WasCloned: Indicated a route that was
auto-configured based upon a local area network
(Clone) route.</entry>
</row>
<row>
<entry>L</entry>
<entry>Link: Route involves references to Ethernet
hardware.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2 id="network-routing-default">
<title>Default Routes</title>
<indexterm><primary>default route</primary></indexterm>
<para>When the local system needs to make a connection to a
remote host, it checks the routing table to determine if a
known path exists. If the remote host falls into a subnet
that it knows how to reach, the system checks to see if it
can connect using that interface.</para>
<para>If all known paths fail, the system has one last option:
the <quote>default</quote> route. This route is a special
type of gateway route (usually the only one present in the
system), and is always marked with a <literal>c</literal> in
the flags field. For hosts on a local area network, this
gateway is set to the system which has a direct connection to
the Internet.</para>
<para>The default route for a machine which itself is
functioning as the gateway to the outside world, will be the
gateway machine at the Internet Service Provider
(<acronym>ISP</acronym>).</para>
<para>This example is a common configuration for a default
route:</para>
<mediaobject>
<imageobject>
<imagedata fileref="advanced-networking/net-routing"/>
</imageobject>
<textobject>
<literallayout class="monospaced">
[Local2] &lt;--ether--&gt; [Local1] &lt;--PPP--&gt; [ISP-Serv] &lt;--ether--&gt; [T1-GW]</literallayout>
</textobject>
</mediaobject>
<para>The hosts <hostid>Local1</hostid> and
<hostid>Local2</hostid> are on the local network.
<hostid>Local1</hostid> is connected to an
<acronym>ISP</acronym> using a
<acronym>PPP</acronym> connection. This
<acronym>PPP</acronym> server is connected through a local
area network to another gateway computer through an external
interface to the <acronym>ISP</acronym>.</para>
<para>The default routes for each machine will be:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="3">
<thead>
<row>
<entry>Host</entry>
<entry>Default Gateway</entry>
<entry>Interface</entry>
</row>
</thead>
<tbody>
<row>
<entry>Local2</entry>
<entry>Local1</entry>
<entry>Ethernet</entry>
</row>
<row>
<entry>Local1</entry>
<entry>T1-GW</entry>
<entry>PPP</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>A common question is <quote>Why is
<hostid>T1-GW</hostid> configured as the default gateway for
<hostid>Local1</hostid>, rather than the
<acronym>ISP</acronym> server it is connected
to?</quote>.</para>
<para>Since the <acronym>PPP</acronym> interface is using an
address on the <acronym>ISP</acronym>'s local network for
the local side of the connection, routes for any other
machines on the <acronym>ISP</acronym>'s local network will
be automatically generated. The system already knows how
to reach the <hostid>T1-GW</hostid> machine, so there is no
need for the intermediate step of sending traffic to the
<acronym>ISP</acronym>'s server.</para>
<para>It is common to use the address <hostid
role="ipaddr">X.X.X.1</hostid> as the gateway address for
the local network. So, if the local class C address space is
<hostid role="ipaddr">10.20.30</hostid> and the
<acronym>ISP</acronym> is using <hostid
role="ipaddr">10.9.9</hostid>, the default routes would
be:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Host</entry>
<entry>Default Route</entry>
</row>
</thead>
<tbody>
<row>
<entry>Local2 (10.20.30.2)</entry>
<entry>Local1 (10.20.30.1)</entry>
</row>
<row>
<entry>Local1 (10.20.30.1, 10.9.9.30)</entry>
<entry>T1-GW (10.9.9.1)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>The default route can be easily defined in
<filename>/etc/rc.conf</filename>. In this example, on
<hostid>Local2</hostid>, add the following line to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>defaultrouter="10.20.30.1"</programlisting>
<para>It is also possible to add the route directly using
&man.route.8;:</para>
<screen>&prompt.root; <userinput>route add default 10.20.30.1</userinput></screen>
<para>For more information on manual manipulation of network
routing tables, refer to &man.route.8;.</para>
</sect2>
<sect2 id="network-dual-homed-hosts">
<title>Dual Homed Hosts</title>
<indexterm><primary>dual homed hosts</primary></indexterm>
<para>A a dual-homed system is a host which resides on two
different networks.</para>
<para>The dual-homed machine might have two Ethernet cards, each
having an address on a separate subnet. Alternately, the
machine can have one Ethernet card and uses &man.ifconfig.8;
aliasing. The former is used if two physically separate
Ethernet networks are in use and the latter if there is one
physical network segment, but two logically separate
subnets.</para>
<para>Either way, routing tables are set up so that each subnet
knows that this machine is the defined gateway (inbound route)
to the other subnet. This configuration, with the machine
acting as a router between the two subnets, is often used
to implement packet filtering or firewall security in
either or both directions.</para>
<para>For this machine to forward packets between the two
interfaces, &os; must be configured as a router, as
demonstrated in the next section.</para>
</sect2>
<sect2 id="network-dedicated-router">
<title>Building a Router</title>
<indexterm><primary>router</primary></indexterm>
<para>A network router is a system that forwards packets from
one interface to another. Internet standards and good
engineering practice prevent the &os; Project from enabling
this by default in &os;. This feature can be enabled by
changing the following variable to <literal>YES</literal> in
&man.rc.conf.5;:</para>
<programlisting>gateway_enable="YES" # Set to YES if this host will be a gateway</programlisting>
<para>This option will set the &man.sysctl.8; variable
<varname>net.inet.ip.forwarding</varname> to
<literal>1</literal>. To stop routing, reset this to
<literal>0</literal>.</para>
<indexterm><primary>BGP</primary></indexterm>
<indexterm><primary>RIP</primary></indexterm>
<indexterm><primary>OSPF</primary></indexterm>
<para>The new router will need routes to know where to send the
traffic. If the network is simple enough, static routes can
be used. &os; comes with the standard BSD routing daemon
&man.routed.8;, which speaks <acronym>RIP</acronym> versions
1 and 2, and <acronym>IRDP</acronym>. Support for
<acronym>BGP</acronym>v4, <acronym>OSPF</acronym>v2, and other
sophisticated routing protocols is available with the
<filename role="package">net/zebra</filename> package or
port.</para>
</sect2>
<sect2 id="network-static-routes">
<sect2info>
<authorgroup>
<author>
<firstname>Al</firstname>
<surname>Hoang</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect2info>
<!-- Feb 2004 -->
<title>Setting Up Static Routes</title>
<sect3>
<title>Manual Configuration</title>
<para>Consider the following network:</para>
<mediaobject>
<imageobject>
<imagedata fileref="advanced-networking/static-routes"/>
</imageobject>
<textobject>
<literallayout class="monospaced">
INTERNET
| (10.0.0.1/24) Default Router to Internet
|
|Interface xl0
|10.0.0.10/24
+------+
| | RouterA
| | (FreeBSD gateway)
+------+
| Interface xl1
| 192.168.1.1/24
|
+--------------------------------+
Internal Net 1 | 192.168.1.2/24
|
+------+
| | RouterB
| |
+------+
| 192.168.2.1/24
|
Internal Net 2</literallayout>
</textobject>
</mediaobject>
<para>In this scenario, <hostid>RouterA</hostid> is a &os;
machine that is acting as a router to the rest of the
Internet. It has a default route set to <hostid
role="ipaddr">10.0.0.1</hostid> which allows it to
connect with the outside world. <hostid>RouterB</hostid> is
already configured properly as it uses <hostid
role="ipaddr">192.168.1.1</hostid> as the gateway.</para>
<para>The routing table on <hostid>RouterA</hostid> looks
something like this:</para>
<screen>&prompt.user; <userinput>netstat -nr</userinput>
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</screen>
<para>With the current routing table, <hostid>RouterA</hostid>
cannot reach Internal Net 2 as it does not have a route for
<hostid role="ipaddr">192.168.2.0/24</hostid>. The
following command adds the Internal Net 2 network to
<hostid>RouterA</hostid>'s routing table using <hostid
role="ipaddr">192.168.1.2</hostid> as the next
hop:</para>
<screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen>
<para>Now <hostid>RouterA</hostid> can reach any hosts on the
<hostid role="ipaddr">192.168.2.0/24</hostid>
network.</para>
</sect3>
<sect3>
<title>Persistent Configuration</title>
<para>The above example configures a static route on a
running system. However, the routing information will not
persist if the &os; system reboots. Persistent static
routes can be entered in
<filename>/etc/rc.conf</filename>:</para>
<programlisting># Add Internal Net 2 as a static route
static_routes="internalnet2"
route_internalnet2="-net 192.168.2.0/24 192.168.1.2"</programlisting>
<para>The <literal>static_routes</literal> configuration
variable is a list of strings separated by a space, where
each string references a route name. This example only
has one string in <literal>static_routes</literal>,
<replaceable>internalnet2</replaceable>. The variable
<literal>route_<replaceable>internalnet2</replaceable></literal>
contains all of the configuration parameters to
&man.route.8;. This example is equivalent to the
command:</para>
<screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen>
<para>Using more than one string in
<literal>static_routes</literal> creates multiple static
routes. The following shows an example of adding static
routes for the <hostid role="ipaddr">192.168.0.0/24</hostid>
and <hostid role="ipaddr">192.168.1.0/24</hostid>
networks:</para>
<programlisting>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"</programlisting>
</sect3>
</sect2>
<sect2 id="network-routing-propagation">
<title>Routing Propagation</title>
<para>When an address space is assigned to a network, the
service provider configures their routing tables so that all
traffic for the network will be sent to the link for the
site. But how do external sites know to send their packets
to the network's <acronym>ISP</acronym>?</para>
<para>There is a system that keeps track of all assigned
address spaces and defines their point of connection to the
Internet backbone, or the main trunk lines that carry Internet
traffic across the country and around the world. Each
backbone machine has a copy of a master set of tables, which
direct traffic for a particular network to a specific
backbone carrier, and from there down the chain of service
providers until it reaches your network.</para>
<para>It is the task of the service provider to advertise to
the backbone sites that they are the point of connection, and
thus the path inward, for a site. This is known as route
propagation.</para>
</sect2>
<sect2 id="network-routing-troubleshooting">
<title>Troubleshooting</title>
<indexterm>
<primary>&man.traceroute.8;</primary>
</indexterm>
<para>Sometimes, there is a problem with routing propagation
and some sites are unable to connect. Perhaps the most
useful command for trying to figure out where routing is
breaking down is &man.traceroute.8;. It is useful when
&man.ping.8; fails.</para>
<para>When using &man.traceroute.8;, include the name of the
remote host to connect to. The output will show the gateway
hosts along the path of the attempt, eventually either
reaching the target host, or terminating because of a lack of
connection.</para>
<para>For more information, refer to &man.traceroute.8;.</para>
</sect2>
<sect2 id="network-routing-multicast">
<title>Multicast Routing</title>
<indexterm>
<primary>multicast routing</primary>
</indexterm>
<indexterm>
<primary>kernel options</primary>
<secondary>MROUTING</secondary>
</indexterm>
<para>&os; natively supports both multicast applications and
multicast routing. Multicast applications do not require any
special configuration of &os;; as applications will generally
run out of the box. Multicast routing requires that support
be compiled into a custom kernel:</para>
<programlisting>options MROUTING</programlisting>
<para>The multicast routing daemon, &man.mrouted.8;, must be
configured to set up tunnels and <acronym>DVMRP</acronym> via
<filename>/etc/mrouted.conf</filename>. More details on
multicast configuration may be found in
&man.mrouted.8;.</para>
<note>
<para>The &man.mrouted.8; multicast routing daemon implements
the <acronym>DVMRP</acronym> multicast routing protocol,
which has largely been replaced by &man.pim.4; in many
multicast installations. &man.mrouted.8; and the related
&man.map-mbone.8; and &man.mrinfo.8; utilities are available
in the &os; Ports&nbsp;Collection as <filename
role="package">net/mrouted</filename>.</para>
</note>
</sect2>
</sect1>
<sect1 id="network-wireless">
<sect1info>
<authorgroup>
<author>
<othername>Loader</othername>
</author>
<author>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
</author>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
</author>
</authorgroup>
</sect1info>
<title>Wireless Networking</title>
<indexterm><primary>wireless networking</primary></indexterm>
<indexterm>
<primary>802.11</primary>
<see>wireless networking</see>
</indexterm>
<sect2>
<title>Wireless Networking Basics</title>
<para>Most wireless networks are based on the &ieee; 802.11
standards. A basic wireless network consists of multiple
stations communicating with radios that broadcast in either
the 2.4GHz or 5GHz band, though this varies according to the
locale and is also changing to enable communication in the
2.3GHz and 4.9GHz ranges.</para>
<para>802.11 networks are organized in two ways. In
<emphasis>infrastructure mode</emphasis>, one station acts as
a
master with all the other stations associating to it, the
network is known as a <acronym>BSS</acronym>, and the master
station is termed an access point (<acronym>AP</acronym>).
In a <acronym>BSS</acronym>, all communication passes through
the <acronym>AP</acronym>; even when one station wants to
communicate with another wireless station, messages must go
through the <acronym>AP</acronym>. In the second form of
network, there is no master and stations communicate directly.
This form of network is termed an <acronym>IBSS</acronym>
and is commonly known as an <emphasis>ad-hoc
network</emphasis>.</para>
<para>802.11 networks were first deployed in the 2.4GHz band
using protocols defined by the &ieee; 802.11 and 802.11b
standard. These specifications include the operating
frequencies and the <acronym>MAC</acronym> layer
characteristics, including framing and transmission rates,
as communication can occur at various rates. Later, the
802.11a standard defined operation in the 5GHz band, including
different signaling mechanisms and higher transmission rates.
Still later, the 802.11g standard defined the use of 802.11a
signaling and transmission mechanisms in the 2.4GHz band in
such a way as to be backwards compatible with 802.11b
networks.</para>
<para>Separate from the underlying transmission techniques,
802.11 networks have a variety of security mechanisms. The
original 802.11 specifications defined a simple security
protocol called <acronym>WEP</acronym>. This protocol uses a
fixed pre-shared key and the RC4 cryptographic cipher to
encode data transmitted on a network. Stations must all
agree on the fixed key in order to communicate. This scheme
was shown to be easily broken and is now rarely used except
to discourage transient users from joining networks. Current
security practice is given by the &ieee; 802.11i specification
that defines new cryptographic ciphers and an additional
protocol to authenticate stations to an access point and
exchange keys for data communication. Cryptographic keys
are periodically refreshed and there are mechanisms for
detecting and countering intrusion attempts. Another
security protocol specification commonly used in wireless
networks is termed <acronym>WPA</acronym>, which was a
precursor to 802.11i. <acronym>WPA</acronym> specifies a
subset of the requirements found in 802.11i and is designed
for implementation on legacy hardware. Specifically,
<acronym>WPA</acronym> requires only the
<acronym>TKIP</acronym> cipher that is derived from the
original <acronym>WEP</acronym> cipher. 802.11i permits use
of <acronym>TKIP</acronym> but also requires support for a
stronger cipher, AES-CCM, for encrypting data. The
<acronym>AES</acronym> cipher was not required in
<acronym>WPA</acronym> because it was deemed too
computationally costly to be implemented on legacy
hardware.</para>
<para>The other standard to be aware of is 802.11e. It defines
protocols for deploying multimedia applications, such as
streaming video and voice over IP (<acronym>VoIP</acronym>),
in an 802.11 network. Like 802.11i, 802.11e also has a
precursor specification termed <acronym>WME</acronym> (later
renamed <acronym>WMM</acronym>) that has been defined by an
industry group as a subset of 802.11e that can be deployed now
to enable multimedia applications while waiting for the final
ratification of 802.11e. The most important thing to know
about 802.11e and
<acronym>WME</acronym>/<acronym>WMM</acronym> is that it
enables prioritized traffic over a wireless network through
Quality of Service (<acronym>QoS</acronym>) protocols and
enhanced media access protocols. Proper implementation of
these protocols enables high speed bursting of data and
prioritized traffic flow.</para>
<para>&os; supports networks that operate using 802.11a,
802.11b, and 802.11g. The <acronym>WPA</acronym> and 802.11i
security protocols are likewise supported (in conjunction with
any of 11a, 11b, and 11g) and <acronym>QoS</acronym> and
traffic prioritization required by the
<acronym>WME</acronym>/<acronym>WMM</acronym> protocols are
supported for a limited set of wireless devices.</para>
</sect2>
<sect2 id="network-wireless-basic">
<title>Basic Setup</title>
<sect3>
<title>Kernel Configuration</title>
<para>To use wireless networking, a wireless networking card
is needed and the kernel needs to be configured with the
appropriate wireless networking support. The kernel is
separated into multiple modules so that only the required
support needs to be configured.</para>
<para>The most
commonly used wireless devices are those that use parts made
by Atheros. These devices are supported by &man.ath.4;
and require the following line to be added to
<filename>/boot/loader.conf</filename>:</para>
<programlisting>if_ath_load="YES"</programlisting>
<para>The Atheros driver is split up into three separate
pieces: the driver (&man.ath.4;), the hardware support
layer that handles chip-specific functions
(&man.ath.hal.4;), and an algorithm for selecting the
rate for transmitting frames. When this support is loaded
as kernel modules, any dependencies are automatically
handled. To load support for a different type of wireless
device, specify the module for that device. This example
is for devices based on the Intersil Prism parts
(&man.wi.4;) driver:</para>
<programlisting>if_wi_load="YES"</programlisting>
<note>
<para>The examples in this section use an &man.ath.4;
device and the device name in the examples must be
changed according to the configuration. A list of
available wireless drivers and supported adapters can be
found in the &os; Hardware Notes, available on
the <ulink
url="http://www.FreeBSD.org/releases/index.html">Release
Information</ulink> page of the &os; website. If a
native &os; driver for the wireless device does not
exist, it may be possible to use the &windows; driver
with the help of the <link
linkend="config-network-ndis">NDIS</link> driver
wrapper.</para>
</note>
<para>In addition, the modules that implement cryptographic
support for the security protocols to use must be loaded.
These are intended to be dynamically loaded on demand by
the &man.wlan.4; module, but for now they must be manually
configured. The following modules are available:
&man.wlan.wep.4;, &man.wlan.ccmp.4;, and &man.wlan.tkip.4;.
The &man.wlan.ccmp.4; and &man.wlan.tkip.4; drivers are
only needed when using the <acronym>WPA</acronym> or
802.11i security protocols. If the network does not use
encryption, &man.wlan.wep.4; support is not needed. To
load these modules at boot time, add the following lines to
<filename>/boot/loader.conf</filename>:</para>
<programlisting>wlan_wep_load="YES"
wlan_ccmp_load="YES"
wlan_tkip_load="YES"</programlisting>
<para>Once this information has been added to
<filename>/boot/loader.conf</filename>, reboot the &os;
box. Alternately, load the modules by hand using
&man.kldload.8;.</para>
<note>
<para>For users who do not want to use modules, it is
possible to compile these drivers into the kernel by
adding the following lines to a custom kernel
configuration file:</para>
<programlisting>device wlan # 802.11 support
device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support
device wlan_amrr # AMRR transmit rate control algorithm
device ath # Atheros pci/cardbus NIC's
device ath_hal # pci/cardbus chip support
options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors
device ath_rate_sample # SampleRate tx rate control for ath</programlisting>
<para>With this information in the kernel configuration
file, recompile the kernel and reboot the &os;
machine.</para>
</note>
<para>Information about the wireless device should appear
in the boot messages, like this:</para>
<screen>ath0: &lt;Atheros 5212&gt; mem 0x88000000-0x8800ffff irq 11 at device 0.0 on cardbus1
ath0: [ITHREAD]
ath0: AR2413 mac 7.9 RF2413 phy 4.5</screen>
</sect3>
</sect2>
<sect2>
<title>Infrastructure Mode</title>
<para>Infrastructure (<acronym>BSS</acronym>) mode is the
mode that is typically used. In this mode, a number of
wireless access points are connected to a wired network.
Each wireless network has its own name, called the
<acronym>SSID</acronym>. Wireless clients connect to the
wireless access points.</para>
<sect3>
<title>&os; Clients</title>
<sect4>
<title>How to Find Access Points</title>
<para>To scan for available networks, use &man.ifconfig.8;.
This request may take a few moments to complete as it
requires the system to switch to each available wireless
frequency and probe for available access points. Only
the superuser can initiate a scan:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable></userinput>
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> up scan</userinput>
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</screen>
<note>
<para>The interface must be <option>up</option> before
it can scan. Subsequent scan requests do not require
the interface to be marked as up again.</para>
</note>
<para>The output of a scan request lists each
<acronym>BSS</acronym>/<acronym>IBSS</acronym> network
found. Besides listing the name of the network, the
<literal>SSID</literal>, the output also shows the
<literal>BSSID</literal>, which is the
<acronym>MAC</acronym> address of the access point. The
<literal>CAPS</literal> field identifies the type of
each network and the capabilities of the stations
operating there:</para>
<table frame="none" pgwide="0">
<title>Station Capability Codes</title>
<tgroup cols="2">
<thead>
<row>
<entry>Capability Code</entry>
<entry>Meaning</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>E</literal></entry>
<entry>Extended Service Set
(<acronym>ESS</acronym>). Indicates that
the station is part of an infrastructure network
rather than an <acronym>IBSS</acronym>/ad-hoc
network.</entry>
</row>
<row>
<entry><literal>I</literal></entry>
<entry><acronym>IBSS</acronym>/ad-hoc network.
Indicates that the station is part of an ad-hoc
network rather than an <acronym>ESS</acronym>
network.</entry>
</row>
<row>
<entry><literal>P</literal></entry>
<entry>Privacy. Encryption is required for all
data frames exchanged within the
<acronym>BSS</acronym> using cryptographic means
such as <acronym>WEP</acronym>,
<acronym>TKIP</acronym> or
<acronym>AES</acronym>-<acronym>CCMP</acronym>.</entry>
</row>
<row>
<entry><literal>S</literal></entry>
<entry>Short Preamble. Indicates that the network
is using short preambles, defined in 802.11b High
Rate/DSSS PHY, and utilizes a 56 bit sync field
rather than the 128 bit field used in long
preamble mode.</entry>
</row>
<row>
<entry><literal>s</literal></entry>
<entry>Short slot time. Indicates that the 802.11g
network is using a short slot time because there
are no legacy (802.11b) stations present.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>One can also display the current list of known
networks with:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> list scan</userinput></screen>
<para>This information may be updated automatically by the
adapter or manually with a <option>scan</option> request.
Old data is automatically removed from the cache, so over
time this list may shrink unless more scans are
done.</para>
</sect4>
<sect4>
<title>Basic Settings</title>
<para>This section provides a simple example of how to make
the wireless network adapter work in &os; without
encryption. Once familiar with these concepts, it is
strongly recommend to use <link
linkend="network-wireless-wpa">WPA</link> to set up
the wireless network.</para>
<para>There are three basic steps to configure a wireless
network: select an access point, authenticate the
station, and configure an <acronym>IP</acronym> address.
The following sections discuss each step.</para>
<sect5>
<title>Selecting an Access Point</title>
<para>Most of the time, it is sufficient to let the system
choose an access point using the builtin heuristics.
This is the default behaviour when an interface is
marked as up or it is listed in
<filename>/etc/rc.conf</filename>:</para>
<programlisting>wlans_ath0="wlan0"
ifconfig_wlan0="DHCP"</programlisting>
<para>If there are multiple access points, a specific
one can be selected by its
<acronym>SSID</acronym>:</para>
<programlisting>wlans_ath0="wlan0"
ifconfig_wlan0="ssid <replaceable>your_ssid_here</replaceable> DHCP"</programlisting>
<para>In an environment where there are multiple access
points with the same <acronym>SSID</acronym>, which
is often done to simplify roaming, it may be necessary
to associate to one specific device. In this case, the
<acronym>BSSID</acronym> of the access point can be
specified, with or without the
<acronym>SSID</acronym>:</para>
<programlisting>wlans_ath0="wlan0"
ifconfig_wlan0="ssid <replaceable>your_ssid_here</replaceable> bssid <replaceable>xx:xx:xx:xx:xx:xx</replaceable> DHCP"</programlisting>
<para>There are other ways to constrain the choice of an
access point, such as limiting the set of frequencies
the system will scan on. This may be useful for a
multi-band wireless card as scanning all the possible
channels can be time-consuming. To limit operation to a
specific band, use the <option>mode</option>
parameter:</para>
<programlisting>wlans_ath0="wlan0"
ifconfig_wlan0="mode <replaceable>11g</replaceable> ssid <replaceable>your_ssid_here</replaceable> DHCP"</programlisting>
<para>This example will force the card to operate in
802.11g, which is defined only for 2.4GHz frequencies
so any 5GHz channels will not be considered. This can
also be achieved with the
<option>channel</option> parameter, which locks
operation to one specific frequency, and the
<option>chanlist</option> parameter, to specify a list
of channels for scanning. More information about these
parameters can be found in &man.ifconfig.8;.</para>
</sect5>
<sect5>
<title>Authentication</title>
<para>Once an access point is selected, the station
needs to authenticate before it can pass data.
Authentication can happen in several ways. The most
common scheme, open authentication, allows any station
to join the network and communicate. This is the
authentication to use for test purposes the first time
a wireless network is setup. Other schemes require
cryptographic handshakes to be completed before data
traffic can flow, either using pre-shared keys or
secrets, or more complex schemes that involve backend
services such as <acronym>RADIUS</acronym>. Open
authentication is the default setting. The next most
common setup is <acronym>WPA-PSK</acronym>, also
known as <acronym>WPA</acronym> Personal, which is
described in <xref
linkend="network-wireless-wpa-wpa-psk"/>.</para>
<note>
<para>If using an &apple; &airport; Extreme base
station for an access point, shared-key authentication
together with a <acronym>WEP</acronym> key needs to
be configured. This can be configured in
<filename>/etc/rc.conf</filename> or by using
&man.wpa.supplicant.8;. For a single &airport; base
station, access can be configured with:</para>
<programlisting>wlans_ath0="wlan0"
ifconfig_wlan0="authmode shared wepmode on weptxkey <replaceable>1</replaceable> wepkey <replaceable>01234567</replaceable> DHCP"</programlisting>
<para>In general, shared key authentication should be
avoided because it uses the <acronym>WEP</acronym> key
material in a highly-constrained manner, making it
even easier to crack the key. If
<acronym>WEP</acronym> must be used for compatibility
with legacy devices, it is better to use
<acronym>WEP</acronym> with <literal>open</literal>
authentication. More information regarding
<acronym>WEP</acronym> can be found in <xref
linkend="network-wireless-wep"/>.</para>
</note>
</sect5>
<sect5>
<title>Getting an <acronym>IP</acronym> Address with
<acronym>DHCP</acronym></title>
<para>Once an access point is selected and the
authentication parameters are set, an
<acronym>IP</acronym> address must be obtained in
order to communicate. Most of the time, the
<acronym>IP</acronym> address is obtained via
<acronym>DHCP</acronym>. To achieve that, edit
<filename>/etc/rc.conf</filename> and add
<literal>DHCP</literal> to the configuration for the
device:</para>
<programlisting>wlans_ath0="wlan0"
ifconfig_wlan0="DHCP"</programlisting>
<para>The
wireless interface is now ready to bring up:</para>
<screen>&prompt.root; <userinput>service netif start</userinput></screen>
<para>Once the interface is running, use &man.ifconfig.8;
to see the status of the interface
<devicename>ath0</devicename>:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable></userinput>
wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
ether 00:11:95:d5:43:62
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11g
status: associated
ssid dlinkap channel 11 (2462 Mhz 11g) bssid 00:13:46:49:41:76
country US ecm authmode OPEN privacy OFF txpower 21.5 bmiss 7
scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7
roam:rate 5 protmode CTS wme burst</screen>
<para>The <literal>status: associated</literal> line means
that it is connected to the wireless network. The
<literal>bssid 00:13:46:49:41:76</literal> is the
<acronym>MAC</acronym> address of the access point and
<literal>authmode OPEN</literal> indicates that the
communication is not encrypted.</para>
</sect5>
<sect5>
<title>Static <acronym>IP</acronym> Address</title>
<para>In an <acronym>IP</acronym> address cannot be
obtained from a <acronym>DHCP</acronym> server, set a
fixed <acronym>IP</acronym> address. Replace the
<literal>DHCP</literal> keyword shown above with the
address information. Be sure to retain any other
parameters for selecting the access point:</para>
<programlisting>wlans_ath0="wlan0"
ifconfig_wlan0="inet <replaceable>192.168.1.100</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>your_ssid_here</replaceable>"</programlisting>
</sect5>
</sect4>
<sect4 id="network-wireless-wpa">
<title><acronym>WPA</acronym></title>
<para>Wi-Fi Protected Access (<acronym>WPA</acronym>) is a
security protocol used together with 802.11 networks to
address the lack of proper authentication and the weakness
of <acronym>WEP</acronym>. WPA leverages the 802.1X
authentication protocol and uses one of several ciphers
instead of <acronym>WEP</acronym> for data integrity.
The only cipher required by <acronym>WPA</acronym> is the
Temporary Key Integrity Protocol
(<acronym>TKIP</acronym>). <acronym>TKIP</acronym> is a
cipher that extends the basic RC4 cipher used by
<acronym>WEP</acronym> by adding integrity checking,
tamper detection, and measures for responding to detected
intrusions. <acronym>TKIP</acronym> is designed to work
on legacy hardware with only software modification. It
represents a compromise that improves security but is
still not entirely immune to attack.
<acronym>WPA</acronym> also specifies the
<acronym>AES-CCMP</acronym> cipher as an alternative to
<acronym>TKIP</acronym>, and that is preferred when
possible. For this specification, the term
<acronym>WPA2</acronym> or <acronym>RSN</acronym> is
commonly used.</para>
<para><acronym>WPA</acronym> defines authentication and
encryption protocols. Authentication is most commonly
done using one of two techniques: by 802.1X and a backend
authentication service such as <acronym>RADIUS</acronym>,
or by a minimal handshake between the station and the
access point using a pre-shared secret. The former is
commonly termed <acronym>WPA</acronym> Enterprise and the
latter is known as <acronym>WPA</acronym> Personal. Since
most people will not set up a <acronym>RADIUS</acronym>
backend server for their wireless network,
<acronym>WPA-PSK</acronym> is by far the most commonly
encountered configuration for
<acronym>WPA</acronym>.</para>
<para>The control of the wireless connection and the key
negotiation or authentication with a server is done using
&man.wpa.supplicant.8;. This program requires a
configuration file,
<filename>/etc/wpa_supplicant.conf</filename>, to run.
More information regarding this file can be found in
&man.wpa.supplicant.conf.5;.</para>
<sect5 id="network-wireless-wpa-wpa-psk">
<title><acronym>WPA-PSK</acronym></title>
<para><acronym>WPA-PSK</acronym>, also known as
<acronym>WPA</acronym> Personal, is based on a
pre-shared key (<acronym>PSK</acronym>) which is
generated from a given password and used as the master
key in the wireless network. This means every wireless
user will share the same key.
<acronym>WPA-PSK</acronym> is intended for small
networks where the use of an authentication server is
not possible or desired.</para>
<warning>
<para>Always use strong passwords that are sufficiently
long and made from a rich alphabet so that they will
not be easily guessed or attacked.</para>
</warning>
<para>The first step is the configuration of
<filename>/etc/wpa_supplicant.conf</filename> with
the <acronym>SSID</acronym> and the pre-shared key of
the network:</para>
<programlisting>network={
ssid="freebsdap"
psk="freebsdmall"
}</programlisting>
<para>Then, in <filename>/etc/rc.conf</filename>,
indicate that the wireless device configuration will be
done with <acronym>WPA</acronym> and the
<acronym>IP</acronym> address will be obtained with
<acronym>DHCP</acronym>:</para>
<programlisting>wlans_ath0="wlan0"
ifconfig_wlan0="WPA DHCP"</programlisting>
<para>Then, bring up the interface:</para>
<screen>&prompt.root; <userinput>service netif start</userinput>
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&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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</screen>
<para>Or, try to configure the interface manually using
the information in
<filename>/etc/wpa_supplicant.conf</filename>:</para>
<screen>&prompt.root; <userinput>wpa_supplicant -i <replaceable>wlan0</replaceable> -c /etc/wpa_supplicant.conf</userinput>
Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz)
Associated with 00:11:95:c3:0d:ac
WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=CCMP GTK=CCMP]
CTRL-EVENT-CONNECTED - Connection to 00:11:95:c3:0d:ac completed (auth) [id=0 id_str=]</screen>
<para>The next operation is to launch &man.dhclient.8;
to get the <acronym>IP</acronym> address from the
<acronym>DHCP</acronym> server:</para>
<screen>&prompt.root; <userinput>dhclient <replaceable>wlan0</replaceable></userinput>
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.
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable></userinput>
wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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</screen>
<note>
<para>If <filename>/etc/rc.conf</filename> has an
<literal>ifconfig_wlan0="DHCP"</literal> entry,
&man.dhclient.8; will be launched automatically after
&man.wpa.supplicant.8; associates with the access
point.</para>
</note>
<para>If <acronym>DHCP</acronym> is not possible or
desired, set a static <acronym>IP</acronym> address
after &man.wpa.supplicant.8; has authenticated the
station:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> inet <replaceable>192.168.0.100</replaceable> netmask <replaceable>255.255.255.0</replaceable></userinput>
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable></userinput>
wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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</screen>
<para>When <acronym>DHCP</acronym> is not used, the
default gateway and the nameserver also have to be
manually set:</para>
<screen>&prompt.root; <userinput>route add default <replaceable>your_default_router</replaceable></userinput>
&prompt.root; <userinput>echo "nameserver <replaceable>your_DNS_server</replaceable>" &gt;&gt; /etc/resolv.conf</userinput></screen>
</sect5>
<sect5 id="network-wireless-wpa-eap-tls">
<title><acronym>WPA</acronym> with
<acronym>EAP-TLS</acronym></title>
<para>The second way to use <acronym>WPA</acronym> is with
an 802.1X backend authentication server. In this case,
<acronym>WPA</acronym> is called
<acronym>WPA</acronym> Enterprise to differentiate it
from the less secure <acronym>WPA</acronym> Personal.
Authentication in <acronym>WPA</acronym> Enterprise is
based on the Extensible Authentication Protocol
(<acronym>EAP</acronym>).</para>
<para><acronym>EAP</acronym> does not come with an
encryption method. Instead, <acronym>EAP</acronym> is
embedded inside an encrypted tunnel. There are many
<acronym>EAP</acronym> authentication methods, but
<acronym>EAP-TLS</acronym>, <acronym>EAP-TTLS</acronym>,
and <acronym>EAP-PEAP</acronym> are the most
common.</para>
<para>EAP with Transport Layer Security
(<acronym>EAP-TLS</acronym>) is a well-supported
wireless authentication protocol since it was the
first <acronym>EAP</acronym> method to be certified
by the <ulink
url="http://www.wi-fi.org/">Wi-Fi alliance</ulink>.
<acronym>EAP-TLS</acronym> requires three certificates
to run: the certificate of the Certificate Authority
(<acronym>CA</acronym>) installed on all machines, the
server certificate for the authentication server, and
one client certificate for each wireless client. In
this <acronym>EAP</acronym> method, both the
authentication server and wireless client authenticate
each other by presenting their respective certificates,
and then verify that these certificates were signed by
the organization's <acronym>CA</acronym>.</para>
<para>As previously, the configuration is done via
<filename>/etc/wpa_supplicant.conf</filename>:</para>
<programlisting>network={
ssid="freebsdap" <co id="co-tls-ssid"/>
proto=RSN <co id="co-tls-proto"/>
key_mgmt=WPA-EAP <co id="co-tls-kmgmt"/>
eap=TLS <co id="co-tls-eap"/>
identity="loader" <co id="co-tls-id"/>
ca_cert="/etc/certs/cacert.pem" <co id="co-tls-cacert"/>
client_cert="/etc/certs/clientcert.pem" <co id="co-tls-clientcert"/>
private_key="/etc/certs/clientkey.pem" <co id="co-tls-pkey"/>
private_key_passwd="freebsdmallclient" <co id="co-tls-pwd"/>
}</programlisting>
<calloutlist>
<callout arearefs="co-tls-ssid">
<para>This field indicates the network name
(<acronym>SSID</acronym>).</para>
</callout>
<callout arearefs="co-tls-proto">
<para>This example uses the <acronym>RSN</acronym>
&ieee; 802.11i protocol, also known as
<acronym>WPA2</acronym>.</para>
</callout>
<callout arearefs="co-tls-kmgmt">
<para>The <literal>key_mgmt</literal> line refers to
the key management protocol to use. In this
example, it is <acronym>WPA</acronym> using
<acronym>EAP</acronym> authentication.</para>
</callout>
<callout arearefs="co-tls-eap">
<para>This field indicates the <acronym>EAP</acronym>
method for the connection.</para>
</callout>
<callout arearefs="co-tls-id">
<para>The <literal>identity</literal> field contains
the identity string for
<acronym>EAP</acronym>.</para>
</callout>
<callout arearefs="co-tls-cacert">
<para>The <literal>ca_cert</literal> field indicates
the pathname of the <acronym>CA</acronym>
certificate file. This file is needed to verify
the server certificate.</para>
</callout>
<callout arearefs="co-tls-clientcert">
<para>The <literal>client_cert</literal> line gives
the pathname to the client certificate file. This
certificate is unique to each wireless client of the
network.</para>
</callout>
<callout arearefs="co-tls-pkey">
<para>The <literal>private_key</literal> field is the
pathname to the client certificate private key
file.</para>
</callout>
<callout arearefs="co-tls-pwd">
<para>The <literal>private_key_passwd</literal> field
contains the passphrase for the private key.</para>
</callout>
</calloutlist>
<para>Then, add the following lines to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>wlans_ath0="wlan0"
ifconfig_wlan0="WPA DHCP"</programlisting>
<para>The next step is to bring up the interface:</para>
<screen>&prompt.root; <userinput>service netif start</userinput>
Starting wpa_supplicant.
DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 7
DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 15
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
ether 00:11:95:d5:43:62
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
media: IEEE 802.11 Wireless Ethernet DS/11Mbps mode 11g
status: associated
ssid freebsdap channel 1 (2412 Mhz 11g) bssid 00:11:95:c3:0d:ac
country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF
AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan
bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS
wme burst roaming MANUAL</screen>
<para>It is also possible to bring up the interface
manually using &man.wpa.supplicant.8; and
&man.ifconfig.8;.</para>
</sect5>
<sect5 id="network-wireless-wpa-eap-ttls">
<title><acronym>WPA</acronym> with
<acronym>EAP-TTLS</acronym></title>
<para>With <acronym>EAP-TTLS</acronym>, both the
authentication server and the client need a certificate.
With <acronym>EAP-TTLS</acronym>, a client certificate
is optional. This method is similar to a web server
which creates a secure <acronym>SSL</acronym> tunnel
even if visitors do not have client-side certificates.
<acronym>EAP-TTLS</acronym> uses an encrypted
<acronym>TLS</acronym> tunnel for safe transport of
the authentication data.</para>
<para>The required configuration can be added to
<filename>/etc/wpa_supplicant.conf</filename>:</para>
<programlisting>network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=TTLS <co id="co-ttls-eap"/>
identity="test" <co id="co-ttls-id"/>
password="test" <co id="co-ttls-passwd"/>
ca_cert="/etc/certs/cacert.pem" <co id="co-ttls-cacert"/>
phase2="auth=MD5" <co id="co-ttls-pha2"/>
}</programlisting>
<calloutlist>
<callout arearefs="co-ttls-eap">
<para>This field specifies the <acronym>EAP</acronym>
method for the connection.</para>
</callout>
<callout arearefs="co-ttls-id">
<para>The <literal>identity</literal> field contains
the identity string for <acronym>EAP</acronym>
authentication inside the encrypted
<acronym>TLS</acronym> tunnel.</para>
</callout>
<callout arearefs="co-ttls-passwd">
<para>The <literal>password</literal> field contains
the passphrase for the <acronym>EAP</acronym>
authentication.</para>
</callout>
<callout arearefs="co-ttls-cacert">
<para>The <literal>ca_cert</literal> field indicates
the pathname of the <acronym>CA</acronym>
certificate file. This file is needed to verify
the server certificate.</para>
</callout>
<callout arearefs="co-ttls-pha2">
<para>This field specifies the authentication
method used in the encrypted <acronym>TLS</acronym>
tunnel. In this example,
<acronym>EAP</acronym> with MD5-Challenge is used.
The <quote>inner authentication</quote> phase is
often called <quote>phase2</quote>.</para>
</callout>
</calloutlist>
<para>Next, add the following lines to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>wlans_ath0="wlan0"
ifconfig_wlan0="WPA DHCP"</programlisting>
<para>The next step is to bring up the interface:</para>
<screen>&prompt.root; <userinput>service netif start</userinput>
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&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
ether 00:11:95:d5:43:62
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
media: IEEE 802.11 Wireless Ethernet DS/11Mbps mode 11g
status: associated
ssid freebsdap channel 1 (2412 Mhz 11g) bssid 00:11:95:c3:0d:ac
country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF
AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan
bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS
wme burst roaming MANUAL</screen>
</sect5>
<sect5 id="network-wireless-wpa-eap-peap">
<title><acronym>WPA</acronym> with
<acronym>EAP-PEAP</acronym></title>
<note>
<para><acronym>PEAPv0/EAP-MSCHAPv2</acronym> is the most
common <acronym>PEAP</acronym> method. In this
chapter, the term <acronym>PEAP</acronym> is used to
refer to that method.</para>
</note>
<para>Protected EAP (<acronym>PEAP</acronym>) is designed
as an alternative to <acronym>EAP-TTLS</acronym> and
is the most used <acronym>EAP</acronym> standard after
<acronym>EAP-TLS</acronym>. In a network with mixed
operating systems, <acronym>PEAP</acronym> should be
the most supported standard after
<acronym>EAP-TLS</acronym>.</para>
<para><acronym>PEAP</acronym> is similar to
<acronym>EAP-TTLS</acronym> as it uses a server-side
certificate to authenticate clients by creating an
encrypted <acronym>TLS</acronym> tunnel between the
client and the authentication server, which protects
the ensuing exchange of authentication information.
<acronym>PEAP</acronym> authentication differs from
<acronym>EAP-TTLS</acronym> as it broadcasts the
username in the clear and only the password is sent
in the encrypted <acronym>TLS</acronym> tunnel.
<acronym>EAP-TTLS</acronym> will use the
<acronym>TLS</acronym> tunnel for both the username
and password.</para>
<para>Add the following lines to
<filename>/etc/wpa_supplicant.conf</filename> to
configure the <acronym>EAP-PEAP</acronym> related
settings:</para>
<programlisting>network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=PEAP <co id="co-peap-eap"/>
identity="test" <co id="co-peap-id"/>
password="test" <co id="co-peap-passwd"/>
ca_cert="/etc/certs/cacert.pem" <co id="co-peap-cacert"/>
phase1="peaplabel=0" <co id="co-peap-pha1"/>
phase2="auth=MSCHAPV2" <co id="co-peap-pha2"/>
}</programlisting>
<calloutlist>
<callout arearefs="co-peap-eap">
<para>This field specifies the <acronym>EAP</acronym>
method for the connection.</para>
</callout>
<callout arearefs="co-peap-id">
<para>The <literal>identity</literal> field contains
the identity string for <acronym>EAP</acronym>
authentication inside the encrypted
<acronym>TLS</acronym> tunnel.</para>
</callout>
<callout arearefs="co-peap-passwd">
<para>The <literal>password</literal> field contains
the passphrase for the <acronym>EAP</acronym>
authentication.</para>
</callout>
<callout arearefs="co-peap-cacert">
<para>The <literal>ca_cert</literal> field indicates
the pathname of the <acronym>CA</acronym>
certificate file. This file is needed to verify
the server certificate.</para>
</callout>
<callout arearefs="co-peap-pha1">
<para>This field contains the parameters for the
first phase of authentication, the
<acronym>TLS</acronym> tunnel. According to the
authentication server used, specify a specific
label for authentication. Most of the time, the
label will be <quote>client <acronym>EAP</acronym>
encryption</quote> which is set by using
<literal>peaplabel=0</literal>. More information
can be found in &man.wpa.supplicant.conf.5;.</para>
</callout>
<callout arearefs="co-peap-pha2">
<para>This field specifies the authentication
protocol used in the encrypted
<acronym>TLS</acronym> tunnel. In the
case of <acronym>PEAP</acronym>, it is
<literal>auth=MSCHAPV2</literal>.</para>
</callout>
</calloutlist>
<para>Add the following to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>wlans_ath0="wlan0"
ifconfig_wlan0="WPA DHCP"</programlisting>
<para>Then, bring up the interface:</para>
<screen>&prompt.root; <userinput>service netif start</userinput>
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&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
ether 00:11:95:d5:43:62
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
media: IEEE 802.11 Wireless Ethernet DS/11Mbps mode 11g
status: associated
ssid freebsdap channel 1 (2412 Mhz 11g) bssid 00:11:95:c3:0d:ac
country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF
AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan
bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS
wme burst roaming MANUAL</screen>
</sect5>
</sect4>
<sect4 id="network-wireless-wep">
<title><acronym>WEP</acronym></title>
<para>Wired Equivalent Privacy (<acronym>WEP</acronym>) is
part of the original 802.11 standard. There is no
authentication mechanism, only a weak form of access
control which is easily cracked.</para>
<para><acronym>WEP</acronym> can be set up using
&man.ifconfig.8;:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable></userinput>
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> inet <replaceable>192.168.1.100</replaceable> netmask <replaceable>255.255.255.0</replaceable> \
ssid <replaceable>my_net</replaceable> wepmode on weptxkey <replaceable>3</replaceable> wepkey <replaceable>3:0x3456789012</replaceable></userinput></screen>
<itemizedlist>
<listitem>
<para>The <literal>weptxkey</literal> specifies which
<acronym>WEP</acronym> key will be used in the
transmission. This example uses the third key.
This must match the setting on the access point.
When unsure which key is used by the access point,
try <literal>1</literal> (the first key) for this
value.</para>
</listitem>
<listitem>
<para>The <literal>wepkey</literal> selects one of the
<acronym>WEP</acronym> keys. It should be in the
format <replaceable>index:key</replaceable>. Key
<literal>1</literal> is used by default; the index
only needs to be set when using a key other than the
first key.</para>
<note>
<para>Replace the <literal>0x3456789012</literal>
with the key configured for use on the access
point.</para>
</note>
</listitem>
</itemizedlist>
<para>Refer to &man.ifconfig.8; for further
information.</para>
<para>The &man.wpa.supplicant.8; facility can be used to
configure a wireless interface with
<acronym>WEP</acronym>. The example above can be set up
by adding the following lines to
<filename>/etc/wpa_supplicant.conf</filename>:</para>
<programlisting>network={
ssid="my_net"
key_mgmt=NONE
wep_key3=3456789012
wep_tx_keyidx=3
}</programlisting>
<para>Then:</para>
<screen>&prompt.root; <userinput>wpa_supplicant -i <replaceable>wlan0</replaceable> -c /etc/wpa_supplicant.conf</userinput>
Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz)
Associated with 00:13:46:49:41:76</screen>
</sect4>
</sect3>
</sect2>
<sect2>
<title>Ad-hoc Mode</title>
<para><acronym>IBSS</acronym> mode, also called ad-hoc mode, is
designed for point to point connections. For example, to
establish an ad-hoc network between the machines
<hostid>A</hostid> and <hostid>B</hostid>, choose two
<acronym>IP</acronym> addresses and a
<acronym>SSID</acronym>.</para>
<para>On <hostid>A</hostid>:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable> wlanmode adhoc</userinput>
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> inet <replaceable>192.168.0.1</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>freebsdap</replaceable></userinput>
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable></userinput>
wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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 &lt;adhoc&gt;
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</screen>
<para>The <literal>adhoc</literal> parameter indicates that the
interface is running in <acronym>IBSS</acronym> mode.</para>
<para><hostid>B</hostid> should now be able to detect
<hostid>A</hostid>:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable> wlanmode adhoc</userinput>
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> up scan</userinput>
SSID/MESH ID BSSID CHAN RATE S:N INT CAPS
freebsdap 02:11:95:c3:0d:ac 2 54M -64:-96 100 IS WME</screen>
<para>The <literal>I</literal> in the output confirms that
<hostid>A</hostid> is in ad-hoc mode. Now, configure
<hostid>B</hostid> with a different <acronym>IP</acronym>
address:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> inet <replaceable>192.168.0.2</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>freebsdap</replaceable></userinput>
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable></userinput>
wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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 &lt;adhoc&gt;
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</screen>
<para>Both <hostid>A</hostid> and <hostid>B</hostid> are now
ready to exchange information.</para>
</sect2>
<sect2 id="network-wireless-ap">
<title>&os; Host Access Points</title>
<para>&os; can act as an Access Point (<acronym>AP</acronym>)
which eliminates the need to buy a hardware
<acronym>AP</acronym> or run an ad-hoc network. This can
be particularly useful when a &os; machine is acting as a
gateway to another network such as the Internet.</para>
<sect3 id="network-wireless-ap-basic">
<title>Basic Settings</title>
<para>Before configuring a &os; machine as an
<acronym>AP</acronym>, the kernel must be configured with
the appropriate networking support for the wireless card
as well as the security protocols being used. For more
details, see <xref
linkend="network-wireless-basic"/>.</para>
<note>
<para>The <acronym>NDIS</acronym> driver wrapper for
&windows; drivers does not currently support
<acronym>AP</acronym> operation. Only native &os;
wireless drivers support <acronym>AP</acronym>
mode.</para>
</note>
<para>Once wireless networking support is loaded, check if
the wireless device supports the host-based access point
mode, also known as hostap mode:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable></userinput>
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> list caps</userinput>
drivercaps=6f85edc1&lt;STA,FF,TURBOP,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREAMBLE,MONITOR,MBSS,WPA1,WPA2,BURST,WME,WDS,BGSCAN,TXFRAG&gt;
cryptocaps=1f&lt;WEP,TKIP,AES,AES_CCM,TKIPMIC&gt;</screen>
<para>This output displays the card's capabilities. The
<literal>HOSTAP</literal> word confirms that this wireless
card can act as an <acronym>AP</acronym>. Various supported
ciphers are also listed: <acronym>WEP</acronym>,
<acronym>TKIP</acronym>, and <acronym>AES</acronym>. This
information indicates which security protocols can be used
on the <acronym>AP</acronym>.</para>
<para>The wireless device can only be put into hostap mode
during the creation of the network pseudo-device, so a
previously created device must be destroyed first:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> destroy</userinput></screen>
<para>then regenerated with the correct option before setting
the other parameters:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable> wlanmode hostap</userinput>
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> inet <replaceable>192.168.0.1</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>freebsdap</replaceable> mode 11g channel 1</userinput></screen>
<para>Use &man.ifconfig.8; again to see the status of the
<devicename>wlan0</devicename> interface:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable></userinput>
wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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 &lt;hostap&gt;
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</screen>
<para>The <literal>hostap</literal> parameter indicates the
interface is running in the host-based access point
mode.</para>
<para>The interface configuration can be done automatically at
boot time by adding the following lines to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>wlans_ath0="wlan0"
create_args_wlan0="wlanmode hostap"
ifconfig_wlan0="inet <replaceable>192.168.0.1</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>freebsdap</replaceable> mode 11g channel <replaceable>1</replaceable>"</programlisting>
</sect3>
<sect3>
<title>Host-based Access Point Without Authentication or
Encryption</title>
<para>Although it is not recommended to run an
<acronym>AP</acronym> without any authentication or
encryption, this is a simple way to check if the
<acronym>AP</acronym> is working. This configuration is
also important for debugging client issues.</para>
<para>Once the <acronym>AP</acronym> is configured, initiate
a scan from another wireless machine to find the
<acronym>AP</acronym>:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable></userinput>
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> up scan</userinput>
SSID/MESH ID BSSID CHAN RATE S:N INT CAPS
freebsdap 00:11:95:c3:0d:ac 1 54M -66:-96 100 ES WME</screen>
<para>The client machine found the <acronym>AP</acronym> and
can be associated with it:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> inet <replaceable>192.168.0.2</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>freebsdap</replaceable></userinput>
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable></userinput>
wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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</screen>
</sect3>
<sect3>
<title><acronym>WPA</acronym> Host-based Access Point</title>
<para>This section focuses on setting up a &os;
<acronym>AP</acronym> using the <acronym>WPA</acronym>
security protocol. More details regarding
<acronym>WPA</acronym> and the configuration of
<acronym>WPA</acronym>-based
wireless clients can be found in <xref
linkend="network-wireless-wpa"/>.</para>
<para>The &man.hostapd.8; daemon is used to deal with client
authentication and key management on the
<acronym>WPA</acronym>-enabled <acronym>AP</acronym>.</para>
<para>The following configuration operations are performed
on the &os; machine acting as the <acronym>AP</acronym>.
Once the <acronym>AP</acronym> is correctly working,
&man.hostapd.8; should be automatically enabled at boot
with the following line in
<filename>/etc/rc.conf</filename>:</para>
<programlisting>hostapd_enable="YES"</programlisting>
<para>Before trying to configure &man.hostapd.8;, first
configure the basic settings introduced in <xref
linkend="network-wireless-ap-basic"/>.</para>
<sect4>
<title><acronym>WPA-PSK</acronym></title>
<para><acronym>WPA-PSK</acronym> is intended for small
networks where the use of a backend authentication server
is not possible or desired.</para>
<para>The configuration is done in
<filename>/etc/hostapd.conf</filename>:</para>
<programlisting>interface=wlan0 <co id="co-ap-wpapsk-iface"/>
debug=1 <co id="co-ap-wpapsk-dbug"/>
ctrl_interface=/var/run/hostapd <co id="co-ap-wpapsk-ciface"/>
ctrl_interface_group=wheel <co id="co-ap-wpapsk-cifacegrp"/>
ssid=freebsdap <co id="co-ap-wpapsk-ssid"/>
wpa=1 <co id="co-ap-wpapsk-wpa"/>
wpa_passphrase=freebsdmall <co id="co-ap-wpapsk-pass"/>
wpa_key_mgmt=WPA-PSK <co id="co-ap-wpapsk-kmgmt"/>
wpa_pairwise=CCMP TKIP <co id="co-ap-wpapsk-pwise"/></programlisting>
<calloutlist>
<callout arearefs="co-ap-wpapsk-iface">
<para>This field indicates the wireless interface used
for the <acronym>AP</acronym>.</para>
</callout>
<callout arearefs="co-ap-wpapsk-dbug">
<para>This field sets the level of verbosity during the
execution of &man.hostapd.8;. A value of
<literal>1</literal> represents the minimal
level.</para>
</callout>
<callout arearefs="co-ap-wpapsk-ciface">
<para>The <literal>ctrl_interface</literal> field gives
the pathname of the directory used by &man.hostapd.8;
to store its domain socket files for the communication
with external programs such as &man.hostapd.cli.8;.
The default value is used in this example.</para>
</callout>
<callout arearefs="co-ap-wpapsk-cifacegrp">
<para>The <literal>ctrl_interface_group</literal> line
sets the group which is allowed to access the control
interface files.</para>
</callout>
<callout arearefs="co-ap-wpapsk-ssid">
<para>This field sets the network name.</para>
</callout>
<callout arearefs="co-ap-wpapsk-wpa">
<para>The <literal>wpa</literal> field enables
<acronym>WPA</acronym> and specifies which
<acronym>WPA</acronym> authentication protocol will
be required. A value of <literal>1</literal>
configures the <acronym>AP</acronym> for
<acronym>WPA-PSK</acronym>.</para>
</callout>
<callout arearefs="co-ap-wpapsk-pass">
<para>The <literal>wpa_passphrase</literal> field
contains the ASCII passphrase for
<acronym>WPA</acronym> authentication.</para>
<warning>
<para>Always use strong passwords that are
sufficiently long and made from a rich alphabet so
that they will not be easily guessed or
attacked.</para>
</warning>
</callout>
<callout arearefs="co-ap-wpapsk-kmgmt">
<para>The <literal>wpa_key_mgmt</literal> line refers
to the key management protocol to use. This example
sets <acronym>WPA-PSK</acronym>.</para>
</callout>
<callout arearefs="co-ap-wpapsk-pwise">
<para>The <literal>wpa_pairwise</literal> field
indicates the set of accepted encryption algorithms by
the <acronym>AP</acronym>. In this example, both
<acronym>TKIP</acronym> (<acronym>WPA</acronym>) and
<acronym>CCMP</acronym> (<acronym>WPA2</acronym>)
ciphers are accepted. The <acronym>CCMP</acronym>
cipher is an alternative to <acronym>TKIP</acronym>
and is strongly preferred when possible.
<acronym>TKIP</acronym> should be used solely for
stations incapable of doing
<acronym>CCMP</acronym>.</para>
</callout>
</calloutlist>
<para>The next step is to start &man.hostapd.8;:</para>
<screen>&prompt.root; <userinput>service hostapd forcestart</userinput></screen>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable></userinput>
wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 2290
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
ether 00:11:95:c3:0d:ac
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g &lt;hostap&gt;
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</screen>
<para>Once the <acronym>AP</acronym> is running, the
clients can associate with it. See <xref
linkend="network-wireless-wpa"/> for more details.
It is possible to see the stations associated with the
<acronym>AP</acronym> using <command>ifconfig
<replaceable>wlan0</replaceable> list
sta</command>.</para>
</sect4>
</sect3>
<sect3>
<title><acronym>WEP</acronym> Host-based Access Point</title>
<para>It is not recommended to use <acronym>WEP</acronym> for
setting up an <acronym>AP</acronym> since there is no
authentication mechanism and the encryption is easily
cracked. Some legacy wireless cards only support
<acronym>WEP</acronym> and these cards will only support
an <acronym>AP</acronym> without authentication or
encryption.</para>
<para>The wireless device can now be put into hostap mode and
configured with the correct <acronym>SSID</acronym> and
<acronym>IP</acronym> address:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable> wlanmode hostap</userinput>
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> inet <replaceable>192.168.0.1</replaceable> netmask <replaceable>255.255.255.0</replaceable> \
ssid <replaceable>freebsdap</replaceable> wepmode on weptxkey <replaceable>3</replaceable> wepkey <replaceable>3:0x3456789012</replaceable> mode 11g</userinput></screen>
<itemizedlist>
<listitem>
<para>The <literal>weptxkey</literal> indicates which
<acronym>WEP</acronym> key will be used in the
transmission. This example uses the third key as key
numbering starts with <literal>1</literal>. This
parameter must be specified in order to encrypt the
data.</para>
</listitem>
<listitem>
<para>The <literal>wepkey</literal> sets the selected
<acronym>WEP</acronym> key. It should be in the format
<replaceable>index:key</replaceable>. If the index is
not given, key <literal>1</literal> is set. The index
needs to be set when using keys other than the first
key.</para>
</listitem>
</itemizedlist>
<para>Use &man.ifconfig.8; to see the status of the
<devicename>wlan0</devicename> interface:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable></userinput>
wlan0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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 &lt;hostap&gt;
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</screen>
<para>From another wireless machine, it is now possible to
initiate a scan to find the <acronym>AP</acronym>:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>ath0</replaceable></userinput>
&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> up scan</userinput>
SSID BSSID CHAN RATE S:N INT CAPS
freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 EPS</screen>
<para>In this example, the client machine found the
<acronym>AP</acronym> and can associate with it using the
correct parameters. See <xref
linkend="network-wireless-wep"/> for more details.</para>
</sect3>
</sect2>
<sect2>
<title>Using Both Wired and Wireless Connections</title>
<para>A wired connection provides better performance and
reliability, while a wireless connection provides flexibility
and mobility. Laptop users typically want to roam seamlessly
between the two types of connections.</para>
<para>On &os;, it is possible to combine two or even more
network interfaces together in a <quote>failover</quote>
fashion. This type of configuration uses the most preferred
and available connection from a group of network interfaces,
and the operating system switches automatically when the link
state changes.</para>
<para>Link aggregation and failover is covered in <xref
linkend="network-aggregation"/> and an example for using
both wired and wireless connections is provided at <xref
linkend="networking-lagg-wired-and-wireless"/>.</para>
</sect2>
<sect2>
<title>Troubleshooting</title>
<para>This section describes
a number of steps to help troubleshoot common wireless
networking problems.</para>
<itemizedlist>
<listitem>
<para>If the access point is not listed when scanning,
check that the configuration has not limited the wireless
device to a limited set of channels.</para>
</listitem>
<listitem>
<para>If the device cannot associate with an access point,
verify that the configuration matches the settings on the
access point. This includes the authentication scheme and
any security protocols. Simplify the configuration as
much as possible. If using a security protocol such as
<acronym>WPA</acronym> or <acronym>WEP</acronym>,
configure the access point for open authentication and
no security to see if traffic will pass.</para>
</listitem>
<listitem>
<para>Once the system can associate with the access point,
diagnose the security configuration using tools like
&man.ping.8;.</para>
<para>Debugging support is provided by
&man.wpa.supplicant.8;. Try running this utility manually
with the <option>-dd</option> option and look at the
system logs.</para>
</listitem>
<listitem>
<para>There are many lower-level debugging tools.
Debugging messages can be enabled in the 802.11 protocol
support layer using &man.wlandebug.8;. On a &os; system
prior to &os;&nbsp;9.1, this program can be found in
<filename
class="directory">/usr/src/tools/tools/net80211</filename>.
For example, to enable console messages related to
scanning for access points and the 802.11 protocol
handshakes required to arrange communication:</para>
<screen>&prompt.root; <userinput>wlandebug -i <replaceable>ath0</replaceable> +scan+auth+debug+assoc</userinput>
net.wlan.0.debug: 0 =&gt; 0xc80000&lt;assoc,auth,scan&gt;</screen>
<para>Many useful statistics are maintained by
the 802.11 layer and <command>wlanstats</command>, found
in <filename
class="directory">/usr/src/tools/tools/net80211</filename>,
will dump this information. These statistics should
display all errors identified by the 802.11 layer.
However, some errors are identified in the device drivers
that lie below the 802.11 layer so they may not show up.
To diagnose device-specific problems, refer to the
drivers' documentation.</para>
</listitem>
</itemizedlist>
<para>If the above information does not help to clarify the
problem, submit a problem report and include output from the
above tools.</para>
</sect2>
</sect1>
<sect1 id="network-bluetooth">
<sect1info>
<authorgroup>
<author>
<firstname>Pav</firstname>
<surname>Lucistnik</surname>
<contrib>Written by </contrib>
<affiliation>
<address><email>pav@FreeBSD.org</email></address>
</affiliation>
</author>
</authorgroup>
</sect1info>
<title>Bluetooth</title>
<indexterm><primary>Bluetooth</primary></indexterm>
<sect2>
<title>Introduction</title>
<para>Bluetooth is a wireless technology for creating personal
networks operating in the 2.4 GHz unlicensed band, with a
range of 10 meters. Networks are usually formed ad-hoc from
portable devices such as cellular phones, handhelds and
laptops. Unlike Wi-Fi wireless technology, Bluetooth offers
higher level service profiles, such as FTP-like file servers,
file pushing, voice transport, serial line emulation, and
more.</para>
<para>The Bluetooth stack in &os; is implemented using the
&man.netgraph.4; framework. A broad variety of Bluetooth
<acronym>USB</acronym> dongles is supported by &man.ng.ubt.4;.
Broadcom BCM2033 based Bluetooth devices are supported by
the &man.ubtbcmfw.4; and &man.ng.ubt.4; drivers. The 3Com
Bluetooth PC Card 3CRWB60-A is supported by the
&man.ng.bt3c.4; driver. Serial and UART based Bluetooth
devices are supported by &man.sio.4;, &man.ng.h4.4; and
&man.hcseriald.8;. This section describes the use of a
<acronym>USB</acronym> Bluetooth dongle.</para>
</sect2>
<sect2>
<title>Plugging in the Device</title>
<para>By default, Bluetooth device drivers are available as
kernel modules. Before attaching a device, load the driver
into the kernel:</para>
<screen>&prompt.root; <userinput>kldload ng_ubt</userinput></screen>
<para>If the Bluetooth device is present in the system during
system startup, load the module from
<filename>/boot/loader.conf</filename>:</para>
<programlisting>ng_ubt_load="YES"</programlisting>
<para>Plug in the <acronym>USB</acronym> dongle. Output
similar to the following will appear on the console and in
the system log:</para>
<screen>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</screen>
<para>To start and stop the Bluetooth stack, use
&man.service.8;. It is a good idea to stop the stack before
unplugging the device. When starting the stack, the output
should be similar to the following:</para>
<screen>&prompt.root; <userinput>service bluetooth start ubt0</userinput>
BD_ADDR: 00:02:72:00:d4:1a
Features: 0xff 0xff 0xf 00 00 00 00 00
&lt;3-Slot&gt; &lt;5-Slot&gt; &lt;Encryption&gt; &lt;Slot offset&gt;
&lt;Timing accuracy&gt; &lt;Switch&gt; &lt;Hold mode&gt; &lt;Sniff mode&gt;
&lt;Park mode&gt; &lt;RSSI&gt; &lt;Channel quality&gt; &lt;SCO link&gt;
&lt;HV2 packets&gt; &lt;HV3 packets&gt; &lt;u-law log&gt; &lt;A-law log&gt; &lt;CVSD&gt;
&lt;Paging scheme&gt; &lt;Power control&gt; &lt;Transparent SCO data&gt;
Max. ACL packet size: 192 bytes
Number of ACL packets: 8
Max. SCO packet size: 64 bytes
Number of SCO packets: 8</screen>
</sect2>
<sect2>
<title>Host Controller Interface
(<acronym>HCI</acronym>)</title>
<indexterm><primary>HCI</primary></indexterm>
<para>The Host Controller Interface (<acronym>HCI</acronym>)
provides a command interface to the baseband controller and
link manager as well as access to hardware status and control
registers. This interface provides a uniform method for
accessing Bluetooth baseband capabilities. The
<acronym>HCI</acronym> layer on the host exchanges data and
commands with the <acronym>HCI</acronym> firmware on the
Bluetooth hardware. The Host Controller Transport Layer
(physical bus) driver provides both <acronym>HCI</acronym>
layers with the ability to exchange information.</para>
<para>A single netgraph node of type <emphasis>hci</emphasis>
is created for a single Bluetooth device. The
<acronym>HCI</acronym> node is normally connected to the
downstream Bluetooth device driver node and the upstream
<acronym>L2CAP</acronym> node. All <acronym>HCI</acronym>
operations must be performed on the <acronym>HCI</acronym>
node and not on the device driver node. The default name
for the <acronym>HCI</acronym> node is
<quote>devicehci</quote>. For more details, refer to
&man.ng.hci.4;.</para>
<para>One of the most common tasks is discovery of Bluetooth
devices in <acronym>RF</acronym> proximity. This operation is
called <emphasis>inquiry</emphasis>. Inquiry and other
<acronym>HCI</acronym> related operations are done using
&man.hccontrol.8;. The example below shows how to find out
which Bluetooth devices are in range. The list of devices
should be displayed in a few seconds. Note that a remote
device will only answer the inquiry if it is set to
<emphasis>discoverable</emphasis> mode.</para>
<screen>&prompt.user; <userinput>hccontrol -n ubt0hci inquiry</userinput>
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]</screen>
<para>The <literal>BD_ADDR</literal> is the unique address of a
Bluetooth device, similar to the <acronym>MAC</acronym>
address of a network card. This address is needed for
further communication with a device. It is possible to
assign a human readable name to a BD_ADDR. Information
regarding the known Bluetooth hosts is contained in
<filename>/etc/bluetooth/hosts</filename>. The following
example shows how to obtain the human readable name that
was assigned to the remote device:</para>
<screen>&prompt.user; <userinput>hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4</userinput>
BD_ADDR: 00:80:37:29:19:a4
Name: Pav's T39</screen>
<para>If an inquiry is performed on a remote Bluetooth device,
it will find the computer as
<quote>your.host.name (ubt0)</quote>. The name assigned to the
local device can be changed at any time.</para>
<para>The Bluetooth system provides a point-to-point connection
between two Bluetooth units, or a point-to-multipoint
connection which is shared among several Bluetooth devices.
The following example shows how to obtain the list of active
baseband connections for the local device:</para>
<screen>&prompt.user; <userinput>hccontrol -n ubt0hci read_connection_list</userinput>
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</screen>
<para>A <emphasis>connection handle</emphasis> is useful when
termination of the baseband connection is required, though
it is normally not required to do this by hand. The stack
will automatically terminate inactive baseband
connections.</para>
<screen>&prompt.root; <userinput>hccontrol -n ubt0hci disconnect 41</userinput>
Connection handle: 41
Reason: Connection terminated by local host [0x16]</screen>
<para>Type <command>hccontrol help</command> for a complete
listing of available <acronym>HCI</acronym> commands. Most
of the <acronym>HCI</acronym> commands do not require
superuser privileges.</para>
</sect2>
<sect2>
<title>Logical Link Control and Adaptation Protocol
(<acronym>L2CAP</acronym>)</title>
<indexterm><primary>L2CAP</primary></indexterm>
<para>The Logical Link Control and Adaptation Protocol
(<acronym>L2CAP</acronym>) provides connection-oriented and
connectionless data services to upper layer protocols with
protocol multiplexing capability and segmentation and
reassembly operation. <acronym>L2CAP</acronym> permits
higher level protocols and applications to transmit and
receive <acronym>L2CAP</acronym> data packets up to 64
kilobytes in length.</para>
<para><acronym>L2CAP</acronym> is based around the concept of
<emphasis>channels</emphasis>. A channel is a logical
connection on top of a baseband connection. Each channel is
bound to a single protocol in a many-to-one fashion. Multiple
channels can be bound to the same protocol, but a channel
cannot be bound to multiple protocols. Each
<acronym>L2CAP</acronym> packet received on a channel is
directed to the appropriate higher level protocol. Multiple
channels can share the same baseband connection.</para>
<para>A single netgraph node of type <emphasis>l2cap</emphasis>
is created for a single Bluetooth device. The
<acronym>L2CAP</acronym> node is normally connected to the
downstream Bluetooth <acronym>HCI</acronym> node and upstream
Bluetooth socket nodes. The default name for the
<acronym>L2CAP</acronym> node is <quote>devicel2cap</quote>.
For more details refer to &man.ng.l2cap.4;.</para>
<para>A useful command is &man.l2ping.8;, which can be used to
ping other devices. Some Bluetooth implementations might not
return all of the data sent to them, so <literal>0
bytes</literal> in the following example is normal.</para>
<screen>&prompt.root; <userinput>l2ping -a 00:80:37:29:19:a4</userinput>
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</screen>
<para>The &man.l2control.8; utility is used to perform various
operations on <acronym>L2CAP</acronym> nodes. This example
shows how to obtain the list of logical connections (channels)
and the list of baseband connections for the local
device:</para>
<screen>&prompt.user; <userinput>l2control -a 00:02:72:00:d4:1a read_channel_list</userinput>
L2CAP channels:
Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State
00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN
&prompt.user; <userinput>l2control -a 00:02:72:00:d4:1a read_connection_list</userinput>
L2CAP connections:
Remote BD_ADDR Handle Flags Pending State
00:07:e0:00:0b:ca 41 O 0 OPEN</screen>
<para>Another diagnostic tool is &man.btsockstat.1;. It is
similar to &man.netstat.1;, but for Bluetooth network-related
data structures. The example below shows the same logical
connection as &man.l2control.8; above.</para>
<screen>&prompt.user; <userinput>btsockstat</userinput>
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</screen>
</sect2>
<sect2>
<title><acronym>RFCOMM</acronym> Protocol</title>
<para>The <acronym>RFCOMM</acronym> protocol provides emulation
of serial ports over the <acronym>L2CAP</acronym> protocol.
The protocol is based on the ETSI standard TS 07.10.
<acronym>RFCOMM</acronym> is a simple transport protocol,
with additional provisions for emulating the 9 circuits of
RS-232 (EIATIA-232-E) serial ports. <acronym>RFCOMM</acronym>
supports up to 60 simultaneous connections
(<acronym>RFCOMM</acronym> channels) between two Bluetooth
devices.</para>
<para>For the purposes of <acronym>RFCOMM</acronym>, a complete
communication path involves two applications running on the
communication endpoints with a communication segment between
them. <acronym>RFCOMM</acronym> is intended to cover
applications that make use of the serial ports of the devices
in which they reside. The communication segment is a direct
connect Bluetooth link from one device to another.</para>
<para><acronym>RFCOMM</acronym> is only concerned with the
connection between the devices in the direct connect case,
or between the device and a modem in the network case.
<acronym>RFCOMM</acronym> can support other configurations,
such as modules that communicate via Bluetooth wireless
technology on one side and provide a wired interface on the
other side.</para>
<para>In &os;, <acronym>RFCOMM</acronym> is implemented at the
Bluetooth sockets layer.</para>
</sect2>
<sect2>
<title>Pairing of Devices</title>
<para>By default, Bluetooth communication is not authenticated,
and any device can talk to any other device. A Bluetooth
device, such as a cellular phone, may choose to require
authentication to provide a particular service. Bluetooth
authentication is normally done with a
<emphasis><acronym>PIN</acronym> code</emphasis>, an ASCII
string up to 16 characters in length. The user is required
to enter the same <acronym>PIN</acronym> code on both devices.
Once the user has entered the <acronym>PIN</acronym> code,
both devices will generate a <emphasis>link key</emphasis>.
After that, the link key can be stored either in the devices
or in a persistent storage. Next time, both devices will
use the previously generated link key. This procedure is
called <emphasis>pairing</emphasis>. Note that if the link
key is lost by either device, the pairing must be
repeated.</para>
<para>The &man.hcsecd.8; daemon is responsible for handling
Bluetooth authentication requests. The default configuration
file is <filename>/etc/bluetooth/hcsecd.conf</filename>. An
example section for a cellular phone with the
<acronym>PIN</acronym> code arbitrarily set to
<quote>1234</quote> is shown below:</para>
<programlisting>device {
bdaddr 00:80:37:29:19:a4;
name "Pav's T39";
key nokey;
pin "1234";
}</programlisting>
<para>The only limitation on <acronym>PIN</acronym> codes is
length. Some devices, such as Bluetooth headsets, may have
a fixed <acronym>PIN</acronym> code built in. The
<option>-d</option> switch forces &man.hcsecd.8; to stay in
the foreground, so it is easy to see what is happening. Set
the remote device to receive pairing and initiate the
Bluetooth connection to the remote device. The remote device
should indicate that pairing was accepted and request the
<acronym>PIN</acronym> code. Enter the same
<acronym>PIN</acronym> code listed in
<filename>hcsecd.conf</filename>. Now the computer and the
remote device are paired. Alternatively, pairing can be
initiated on the remote device.</para>
<para>The following line can be added to
<filename>/etc/rc.conf</filename> to configure &man.hcsecd.8;
to start automatically on system start:</para>
<programlisting>hcsecd_enable="YES"</programlisting>
<para>The following is a sample of the &man.hcsecd.8; daemon
output:</para>
<programlisting>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</programlisting>
</sect2>
<sect2>
<title>Service Discovery Protocol
(<acronym>SDP</acronym>)</title>
<indexterm><primary>SDP</primary></indexterm>
<para>The Service Discovery Protocol (<acronym>SDP</acronym>)
provides the means for client applications to discover the
existence of services provided by server applications as well
as the attributes of those services. The attributes of a
service include the type or class of service offered and the
mechanism or protocol information needed to utilize the
service.</para>
<para><acronym>SDP</acronym> involves communication between a
<acronym>SDP</acronym> server and a <acronym>SDP</acronym>
client. The server maintains a list of service records that
describe the characteristics of services associated with the
server. Each service record contains information about a
single service. A client may retrieve information from a
service record maintained by the <acronym>SDP</acronym> server
by issuing a <acronym>SDP</acronym> request. If the client,
or an application associated with the client, decides to use
a service, it must open a separate connection to the service
provider in order to utilize the service.
<acronym>SDP</acronym> provides a mechanism for discovering
services and their attributes, but it does not provide a
mechanism for utilizing those services.</para>
<para>Normally, a <acronym>SDP</acronym> client searches for
services based on some desired characteristics of the
services. However, there are times when it is desirable to
discover which types of services are described by an
<acronym>SDP</acronym> server's service records without any
prior information about the services. This process of
looking for any offered services is called
<emphasis>browsing</emphasis>.</para>
<para>The Bluetooth <acronym>SDP</acronym> server, &man.sdpd.8;,
and command line client, &man.sdpcontrol.8;, are included in
the standard &os; installation. The following example shows
how to perform a <acronym>SDP</acronym> browse query.</para>
<screen>&prompt.user; <userinput>sdpcontrol -a 00:01:03:fc:6e:ec browse</userinput>
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</screen>
<para>Note that each service has a list of attributes, such
as the <acronym>RFCOMM</acronym> channel. Depending on the
service, the user might need to make note of some of the
attributes. Some Bluetooth implementations do not support
service browsing and may return an empty list. In this case,
it is possible to search for the specific service. The
example below shows how to search for the
<acronym>OBEX</acronym> Object Push
(<acronym>OPUSH</acronym>) service:</para>
<screen>&prompt.user; <userinput>sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH</userinput></screen>
<para>Offering services on &os; to Bluetooth clients is done
with the &man.sdpd.8; server. The following line can be added
to <filename>/etc/rc.conf</filename>:</para>
<programlisting>sdpd_enable="YES"</programlisting>
<para>Then the &man.sdpd.8; daemon can be
started with:</para>
<screen>&prompt.root; <userinput>service sdpd start</userinput></screen>
<para>The local server application that wants to provide
Bluetooth service to the remote clients will register service
with the local <acronym>SDP</acronym> daemon. An example of
such an application is &man.rfcomm.pppd.8;. Once started,
it will register the Bluetooth LAN service with the local
<acronym>SDP</acronym> daemon.</para>
<para>The list of services registered with the local
<acronym>SDP</acronym> server can be obtained by issuing a
<acronym>SDP</acronym> browse query via the local control
channel:</para>
<screen>&prompt.root; <userinput>sdpcontrol -l browse</userinput></screen>
</sect2>
<sect2>
<title>Dial-Up Networking and Network Access with
<acronym>PPP</acronym> Profiles</title>
<para>The Dial-Up Networking (<acronym>DUN</acronym>) profile is
mostly used with modems and cellular phones. The scenarios
covered by this profile are the following:</para>
<itemizedlist>
<listitem>
<para>Use of a cellular phone or modem by a computer as a
wireless modem for connecting to a dial-up Internet access
server, or for using other dial-up services.</para>
</listitem>
<listitem>
<para>Use of a cellular phone or modem by a computer to
receive data calls.</para>
</listitem>
</itemizedlist>
<para>Network access with a <acronym>PPP</acronym> profile can
be used in the following situations:</para>
<itemizedlist>
<listitem>
<para><acronym>LAN</acronym> access for a single Bluetooth
device.</para>
</listitem>
<listitem>
<para><acronym>LAN</acronym> access for multiple Bluetooth
devices.</para>
</listitem>
<listitem>
<para>PC to PC connection using <acronym>PPP</acronym>
networking over serial cable emulation.</para>
</listitem>
</itemizedlist>
<para>In &os;, these profiles are implemented with &man.ppp.8;
and the &man.rfcomm.pppd.8; wrapper which converts a
<acronym>RFCOMM</acronym> Bluetooth connection into something
<acronym>PPP</acronym> can use. Before a profile can be used,
a new <acronym>PPP</acronym> label must be created in
<filename>/etc/ppp/ppp.conf</filename>. Consult
&man.rfcomm.pppd.8; for examples.</para>
<para>In the following example, &man.rfcomm.pppd.8; is used
to open a <acronym>RFCOMM</acronym> connection to a remote
device with a BD_ADDR of <literal>00:80:37:29:19:a4</literal>
on a <acronym>DUN</acronym> <acronym>RFCOMM</acronym> channel.
The actual <acronym>RFCOMM</acronym> channel number will be
obtained from the remote device via <acronym>SDP</acronym>.
It is possible to specify the <acronym>RFCOMM</acronym>
channel by hand, and in this case &man.rfcomm.pppd.8; will
not perform the <acronym>SDP</acronym> query. Use
&man.sdpcontrol.8; to find out the <acronym>RFCOMM</acronym>
channel on the remote device.</para>
<screen>&prompt.root; <userinput>rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup</userinput></screen>
<para>In order to provide network access with the
<acronym>PPP</acronym> <acronym>LAN</acronym> service,
&man.sdpd.8; must be running and a new entry for
<acronym>LAN</acronym> clients must be created in
<filename>/etc/ppp/ppp.conf</filename>. Consult
&man.rfcomm.pppd.8; for examples. Finally, start the
<acronym>RFCOMM</acronym> <acronym>PPP</acronym> server on a
valid <acronym>RFCOMM</acronym> channel number. The
<acronym>RFCOMM</acronym> <acronym>PPP</acronym> server will
automatically register the Bluetooth <acronym>LAN</acronym>
service with the local <acronym>SDP</acronym> daemon. The
example below shows how to start the <acronym>RFCOMM</acronym>
<acronym>PPP</acronym> server.</para>
<screen>&prompt.root; <userinput>rfcomm_pppd -s -C 7 -l rfcomm-server</userinput></screen>
</sect2>
<sect2>
<title><acronym>OBEX</acronym> Object Push
(<acronym>OPUSH</acronym>) Profile</title>
<indexterm><primary>OBEX</primary></indexterm>
<para><acronym>OBEX</acronym> is a widely used protocol for
simple file transfers between mobile devices. Its main use
is in infrared communication, where it is used for generic
file transfers between notebooks or <acronym>PDA</acronym>s,
and for sending business cards or calendar entries between
cellular phones and other devices with <acronym>PIM</acronym>
applications.</para>
<para>The <acronym>OBEX</acronym> server and client are
implemented as a third-party package,
<application>obexapp</application>, which is available as
<filename role="package">comms/obexapp</filename> package or
port.</para>
<para>The <acronym>OBEX</acronym> client is used to push and/or
pull objects from the <acronym>OBEX</acronym> server. An
object can, for example, be a business card or an appointment.
The <acronym>OBEX</acronym> client can obtain the
<acronym>RFCOMM</acronym> channel number from the remote
device via <acronym>SDP</acronym>. This can be done by
specifying the service name instead of the
<acronym>RFCOMM</acronym> channel number. Supported service
names are: <acronym>IrMC</acronym>, <acronym>FTRN</acronym>,
and <acronym>OPUSH</acronym>. It is also possible to specify
the <acronym>RFCOMM</acronym> channel as a number. Below is
an example of an <acronym>OBEX</acronym> session where the
device information object is pulled from the cellular phone,
and a new object, the business card, is pushed into the
phone's directory.</para>
<screen>&prompt.user; <userinput>obexapp -a 00:80:37:29:19:a4 -C IrMC</userinput>
obex&gt; get telecom/devinfo.txt devinfo-t39.txt
Success, response: OK, Success (0x20)
obex&gt; put new.vcf
Success, response: OK, Success (0x20)
obex&gt; di
Success, response: OK, Success (0x20)</screen>
<para>In order to provide the <acronym>OPUSH</acronym> service,
&man.sdpd.8; must be running and a root folder, where all
incoming objects will be stored, must be created. The
default path to the root folder is <filename
class="directory">/var/spool/obex</filename>. Finally,
start the <acronym>OBEX</acronym> server on a valid
<acronym>RFCOMM</acronym> channel number. The
<acronym>OBEX</acronym> server will automatically register
the <acronym>OPUSH</acronym> service with the local
<acronym>SDP</acronym> daemon. The example below shows how
to start the <acronym>OBEX</acronym> server.</para>
<screen>&prompt.root; <userinput>obexapp -s -C 10</userinput></screen>
</sect2>
<sect2>
<title>Serial Port Profile</title>
<para>The Serial Port Profile (<acronym>SPP</acronym>) allows
Bluetooth devices to perform serial cable emulation. This
profile allows legacy applications to use Bluetooth as a
cable replacement, through a virtual serial port
abstraction.</para>
<para>In &os;, &man.rfcomm.sppd.1; implements
<acronym>SPP</acronym> and a pseudo tty is used as a virtual
serial port abstraction. The example below shows how to
connect to a remote device serial port service. A
<acronym>RFCOMM</acronym> channel does not have to be
specified as &man.rfcomm.sppd.1; can obtain it from the
remote device via <acronym>SDP</acronym>. To override this,
specify a <acronym>RFCOMM</acronym> channel on the command
line.</para>
<screen>&prompt.root; <userinput>rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6</userinput>
rfcomm_sppd[94692]: Starting on /dev/ttyp6...</screen>
<para>Once connected, the pseudo tty can be used as serial
port:</para>
<screen>&prompt.root; <userinput>cu -l ttyp6</userinput></screen>
</sect2>
<sect2>
<title>Troubleshooting</title>
<sect3>
<title>A Remote Device Cannot Connect</title>
<para>Some older Bluetooth devices do not support role
switching. By default, when &os; is accepting a new
connection, it tries to perform a role switch and become
master. Devices, which do not support this will not be able
to connect. Since role switching is performed when a
new connection is being established, it is not possible
to ask the remote device if it supports role switching.
There is a <acronym>HCI</acronym> option to disable role
switching on the local side:</para>
<screen>&prompt.root; <userinput>hccontrol -n ubt0hci write_node_role_switch 0</userinput></screen>
</sect3>
<sect3>
<title>Displaying Bluetooth Packets</title>
<para>Use the third-party package
<application>hcidump</application>, which is available as a
<filename role="package">comms/hcidump</filename> package or
port. This utility is similar to &man.tcpdump.1; and can
be used to display the contents of Bluetooth packets on
the terminal and to dump the Bluetooth packets to a
file.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="network-bridging">
<sect1info>
<authorgroup>
<author>
<firstname>Andrew</firstname>
<surname>Thompson</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Bridging</title>
<sect2>
<title>Introduction</title>
<indexterm><primary><acronym>IP</acronym>
subnet</primary></indexterm>
<indexterm><primary>bridge</primary></indexterm>
<para>It is sometimes useful to divide one physical network,
such as an Ethernet segment, into two separate network
segments without having to create <acronym>IP</acronym>
subnets and use a router to connect the segments together.
A device that connects two networks together in this fashion
is called a <quote>bridge</quote>. A &os; system with two
network interface cards can act as a bridge.</para>
<para>The bridge works by learning the <acronym>MAC</acronym>
layer (Ethernet) addresses of the devices on each of its
network interfaces. It forwards traffic between two networks
only when the source and destination are on different
networks.</para>
<para>In many respects, a bridge is like an Ethernet switch with
very few ports.</para>
</sect2>
<sect2>
<title>Situations Where Bridging Is Appropriate</title>
<para>There are many common situations in which a bridge is used
today.</para>
<sect3>
<title>Connecting Networks</title>
<para>The basic operation of a bridge is to join two or more
network segments together. There are many reasons to use a
host based bridge over plain networking equipment such as
cabling constraints, firewalling, or connecting pseudo
networks such as a virtual machine interface. A bridge can
also connect a wireless interface running in hostap mode to
a wired network and act as an access point.</para>
</sect3>
<sect3>
<title>Filtering/Traffic Shaping Firewall</title>
<indexterm><primary>firewall</primary></indexterm>
<indexterm><primary>NAT</primary></indexterm>
<para>A common situation is where firewall functionality is
needed without routing or Network Address Translation
(<acronym>NAT</acronym>).</para>
<para>An example is a small company that is connected via
<acronym>DSL</acronym>
or <acronym>ISDN</acronym> to an <acronym>ISP</acronym>.
There are thirteen globally-accessible <acronym>IP</acronym>
addresses from the <acronym>ISP</acronym> and ten computers
on the network. In this situation, using a router-based
firewall is difficult because of subnetting issues.</para>
<indexterm><primary>router</primary></indexterm>
<indexterm><primary><acronym>DSL</acronym></primary></indexterm>
<indexterm><primary><acronym>ISDN</acronym></primary></indexterm>
<para>A bridge-based firewall can be configured and dropped
into the path just downstream of the <acronym>DSL</acronym>
or <acronym>ISDN</acronym> router without any
<acronym>IP</acronym> numbering issues.</para>
</sect3>
<sect3>
<title>Network Tap</title>
<para>A bridge can join two network segments and be used to
inspect all Ethernet frames that pass between them using
&man.bpf.4; and &man.tcpdump.1; on the bridge interface or
by sending a copy of all frames out an additional interface
known as a span port.</para>
</sect3>
<sect3>
<title>Layer 2 <acronym>VPN</acronym></title>
<para>Two Ethernet networks can be joined across an
<acronym>IP</acronym> link by bridging the networks to an
EtherIP tunnel or a &man.tap.4; based solution such as
<application>OpenVPN</application>.</para>
</sect3>
<sect3>
<title>Layer 2 Redundancy</title>
<para>A network can be connected together with multiple links
and use the Spanning Tree Protocol <acronym>STP</acronym>
to block redundant paths. For an Ethernet network to
function properly, only one active path can exist between
two devices. <acronym>STP</acronym> will detect loops and
put the redundant links into a blocked state. Should one
of the active links fail, <acronym>STP</acronym> will
calculate a different tree and enable one of the blocked
paths to restore connectivity to all points in the
network.</para>
</sect3>
</sect2>
<sect2>
<title>Kernel Configuration</title>
<para>This section covers the &man.if.bridge.4; implementation.
A netgraph bridging driver is also available, and is described
in &man.ng.bridge.4;.</para>
<para>In &os;, &man.if.bridge.4; is a kernel module which is
automatically loaded by &man.ifconfig.8; when creating a
bridge interface. It is also possible to compile the bridge
in to the kernel by adding <literal>device if_bridge</literal>
to a custom kernel configuration file.</para>
<para>Packet filtering can be used with any firewall package
that hooks in via the &man.pfil.9; framework. The firewall
can be loaded as a module or compiled into the kernel.</para>
<para>The bridge can be used as a traffic shaper with
&man.altq.4; or &man.dummynet.4;.</para>
</sect2>
<sect2>
<title>Enabling the Bridge</title>
<para>The bridge is created using interface cloning. To create
a bridge use &man.ifconfig.8;:</para>
<screen>&prompt.root; <userinput>ifconfig bridge create</userinput>
bridge0
&prompt.root; <userinput>ifconfig bridge0</userinput>
bridge0: flags=8802&lt;BROADCAST,SIMPLEX,MULTICAST&gt; 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</screen>
<para>When a bridge interface is created, it is automatically
assigned a randomly generated Ethernet address. The
<literal>maxaddr</literal> and <literal>timeout</literal>
parameters control how many <acronym>MAC</acronym> addresses
the bridge will keep in its forwarding table and how many
seconds before each entry is removed after it is last seen.
The other parameters control how <acronym>STP</acronym>
operates.</para>
<para>Next, add the member network interfaces to the bridge.
For the bridge to forward packets, all member interfaces and
the bridge need to be up:</para>
<screen>&prompt.root; <userinput>ifconfig bridge0 addm fxp0 addm fxp1 up</userinput>
&prompt.root; <userinput>ifconfig fxp0 up</userinput>
&prompt.root; <userinput>ifconfig fxp1 up</userinput></screen>
<para>The bridge is now forwarding Ethernet frames between
<devicename>fxp0</devicename> and
<devicename>fxp1</devicename>. Add the following lines to
<filename>/etc/rc.conf</filename> so the bridge is created
at startup:</para>
<programlisting>cloned_interfaces="bridge0"
ifconfig_bridge0="addm fxp0 addm fxp1 up"
ifconfig_fxp0="up"
ifconfig_fxp1="up"</programlisting>
<para>If the bridge host needs an <acronym>IP</acronym>
address, the correct place to set this is on the bridge
interface itself rather than one of the member interfaces.
This can be set statically or via
<acronym>DHCP</acronym>:</para>
<screen>&prompt.root; <userinput>ifconfig bridge0 inet 192.168.0.1/24</userinput></screen>
<para>It is also possible to assign an <acronym>IPv6</acronym>
address to a bridge interface.</para>
</sect2>
<sect2>
<title>Firewalling</title>
<indexterm><primary>firewall</primary></indexterm>
<para>When packet filtering is enabled, bridged packets will
pass through the filter inbound on the originating interface
on the bridge interface, and outbound on the appropriate
interfaces. Either stage can be disabled. When direction of
the packet flow is important, it is best to firewall on the
member interfaces rather than the bridge itself.</para>
<para>The bridge has several configurable settings for passing
non-<acronym>IP</acronym> and <acronym>IP</acronym> packets,
and layer2 firewalling with &man.ipfw.8;. See
&man.if.bridge.4; for more information.</para>
</sect2>
<sect2>
<title>Spanning Tree</title>
<para>The bridge driver implements the Rapid Spanning Tree
Protocol (<acronym>RSTP</acronym> or 802.1w) with backwards
compatibility with legacy <acronym>STP</acronym>.
<acronym>STP</acronym> is used to detect and remove loops
in a network topology. <acronym>RSTP</acronym> provides
faster convergence than legacy <acronym>STP</acronym>, the
protocol will exchange information with neighboring switches
to quickly transition to forwarding without creating loops.
&os; supports <acronym>RSTP</acronym> and
<acronym>STP</acronym> as operating modes, with
<acronym>RSTP</acronym> being the default mode.</para>
<para><acronym>STP</acronym> can be enabled on member interfaces
using &man.ifconfig.8;. For a bridge with
<devicename>fxp0</devicename> and
<devicename>fxp1</devicename> as the current interfaces,
enable <acronym>STP</acronym> with:</para>
<screen>&prompt.root; <userinput>ifconfig bridge0 stp fxp0 stp fxp1</userinput>
bridge0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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&lt;LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP&gt;
port 3 priority 128 path cost 200000 proto rstp
role designated state forwarding
member: fxp1 flags=1c7&lt;LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP&gt;
port 4 priority 128 path cost 200000 proto rstp
role designated state forwarding</screen>
<para>This bridge has a spanning tree ID of
<literal>00:01:02:4b:d4:50</literal> and a priority of
<literal>32768</literal>. As the <literal>root id</literal>
is the same, it indicates that this is the root bridge for the
tree.</para>
<para>Another bridge on the network also has
<acronym>STP</acronym> enabled:</para>
<screen>bridge0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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&lt;LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP&gt;
port 4 priority 128 path cost 200000 proto rstp
role root state forwarding
member: fxp1 flags=1c7&lt;LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP&gt;
port 5 priority 128 path cost 200000 proto rstp
role designated state forwarding</screen>
<para>The line <literal>root id 00:01:02:4b:d4:50 priority 32768
ifcost 400000 port 4</literal> shows that the root bridge is
<literal>00:01:02:4b:d4:50</literal> and has a path cost of
<literal>400000</literal> from this bridge. The path to the
root bridge is via <literal>port 4</literal> which is
<devicename>fxp0</devicename>.</para>
</sect2>
<sect2>
<title>Advanced Bridging</title>
<sect3>
<title>Reconstruct Traffic Flows</title>
<para>The bridge supports monitor mode, where the packets are
discarded after &man.bpf.4; processing and are not
processed or forwarded further. This can be used to
multiplex the input of two or more interfaces into a single
&man.bpf.4; stream. This is useful for reconstructing the
traffic for network taps that transmit the RX/TX signals out
through two separate interfaces.</para>
<para>To read the input from four network interfaces as one
stream:</para>
<screen>&prompt.root; <userinput>ifconfig bridge0 addm fxp0 addm fxp1 addm fxp2 addm fxp3 monitor up</userinput>
&prompt.root; <userinput>tcpdump -i bridge0</userinput></screen>
</sect3>
<sect3>
<title>Span Ports</title>
<para>A copy of every Ethernet frame received by the bridge
will be transmitted out a designated span port. The number
of span ports configured on a bridge is unlimited, but if an
interface is designated as a span port, it cannot also be
used as a regular bridge port. This is most useful for
snooping a bridged network passively on another host
connected to one of the span ports of the bridge.</para>
<para>To send a copy of all frames out the interface named
<devicename>fxp4</devicename>:</para>
<screen>&prompt.root; <userinput>ifconfig bridge0 span fxp4</userinput></screen>
</sect3>
<sect3>
<title>Private Interfaces</title>
<para>A private interface does not forward any traffic to any
other port that is also a private interface. The traffic is
blocked unconditionally so no Ethernet frames will be
forwarded, including <acronym>ARP</acronym>. If traffic
needs to be selectively blocked, a firewall should be used
instead.</para>
</sect3>
<sect3>
<title>Sticky Interfaces</title>
<para>If a bridge member interface is marked as sticky,
dynamically learned address entries are treated at static
once entered into the forwarding cache. Sticky entries are
never aged out of the cache or replaced, even if the address
is seen on a different interface. This gives the benefit of
static address entries without the need to pre-populate the
forwarding table. Clients learned on a particular segment
of the bridge can not roam to another segment.</para>
<para>Another example of using sticky addresses is to
combine the bridge with <acronym>VLAN</acronym>s to create
a router where customer networks are isolated without
wasting <acronym>IP</acronym> address space. Consider that
<hostid role="hostname">CustomerA</hostid> is on
<literal>vlan100</literal> and <hostid
role="hostname">CustomerB</hostid> is on
<literal>vlan101</literal>. The bridge has the address
<hostid role="ipaddr">192.168.0.1</hostid> and is also an
Internet router.</para>
<screen>&prompt.root; <userinput>ifconfig bridge0 addm vlan100 sticky vlan100 addm vlan101 sticky vlan101</userinput>
&prompt.root; <userinput>ifconfig bridge0 inet 192.168.0.1/24</userinput></screen>
<para>In this example, both clients see <hostid
role="ipaddr">192.168.0.1</hostid> as their default
gateway. Since the bridge cache is sticky, one host can not
spoof the <acronym>MAC</acronym> address of the other
customer in order to intercept their traffic.</para>
<para>Any communication between the <acronym>VLAN</acronym>s
can be blocked using a firewall or, as seen in this example,
private interfaces:</para>
<screen>&prompt.root; <userinput>ifconfig bridge0 private vlan100 private vlan101</userinput></screen>
<para>The customers are completely isolated from each other
and the full <hostid role="netmask">/24</hostid> address
range can be allocated without subnetting.</para>
</sect3>
<sect3>
<title>Address Limits</title>
<para>The number of unique source <acronym>MAC</acronym>
addresses behind an interface can be limited. Once the
limit is reached, packets with unknown source addresses
are dropped until an existing host cache entry expires or
is removed.</para>
<para>The following example sets the maximum number of
Ethernet devices for <hostid
role="hostname">CustomerA</hostid> on
<literal>vlan100</literal> to 10:</para>
<screen>&prompt.root; <userinput>ifconfig bridge0 ifmaxaddr vlan100 10</userinput></screen>
</sect3>
<sect3>
<title><acronym>SNMP</acronym> Monitoring</title>
<para>The bridge interface and <acronym>STP</acronym>
parameters can be monitored via &man.bsnmpd.1; which is
included in the &os; base system. The exported bridge
<acronym>MIB</acronym>s conform to the
<acronym>IETF</acronym> standards so any
<acronym>SNMP</acronym> client or monitoring package can be
used to retrieve the data.</para>
<para>On the bridge, uncomment the
<literal>begemotSnmpdModulePath."bridge" =
"/usr/lib/snmp_bridge.so"</literal> line from
<filename>/etc/snmp.config</filename> and start
&man.bsnmpd.1;. Other configuration, such as community
names and access lists, may need to be modified. See
&man.bsnmpd.1; and &man.snmp.bridge.3; for more
information.</para>
<para>The following examples use the
<application>Net-SNMP</application> software (<filename
role="package">net-mgmt/net-snmp</filename>) to query a
bridge from a client system. The <filename
role="package">net-mgmt/bsnmptools</filename> port can
also be used. From the <acronym>SNMP</acronym> client
which is running <application>Net-SNMP</application>, add
the following lines to
<filename>$HOME/.snmp/snmp.conf</filename> in order to
import the bridge <acronym>MIB</acronym> definitions:</para>
<programlisting>mibdirs +/usr/share/snmp/mibs
mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIB</programlisting>
<para>To monitor a single bridge using the IETF BRIDGE-MIB
(RFC4188):</para>
<screen>&prompt.user; <userinput>snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge</userinput>
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)</screen>
<para>The <literal>dot1dStpTopChanges.0</literal> value is
two, indicating that the <acronym>STP</acronym> bridge
topology has changed twice. A topology change means that
one or more links in the network have changed or failed
and a new tree has been calculated. The
<literal>dot1dStpTimeSinceTopologyChange.0</literal> value
will show when this happened.</para>
<para>To monitor multiple bridge interfaces, the private
BEGEMOT-BRIDGE-MIB can be used:</para>
<screen>&prompt.user; <userinput>snmpwalk -v 2c -c public bridge1.example.com</userinput>
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</screen>
<para>To change the bridge interface being monitored via the
<literal>mib-2.dot1dBridge</literal> subtree:</para>
<screen>&prompt.user; <userinput>snmpset -v 2c -c private bridge1.example.com</userinput>
BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2</screen>
</sect3>
</sect2>
</sect1>
<sect1 id="network-aggregation">
<sect1info>
<authorgroup>
<author>
<firstname>Andrew</firstname>
<surname>Thompson</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Link Aggregation and Failover</title>
<indexterm><primary>lagg</primary></indexterm>
<indexterm><primary>failover</primary></indexterm>
<indexterm><primary><acronym>FEC</acronym></primary></indexterm>
<indexterm><primary><acronym>LACP</acronym></primary></indexterm>
<indexterm><primary>loadbalance</primary></indexterm>
<indexterm><primary>roundrobin</primary></indexterm>
<sect2>
<title>Introduction</title>
<para>The &man.lagg.4; interface allows aggregation of multiple
network interfaces as one virtual interface for the purpose of
providing fault-tolerance and high-speed links.</para>
</sect2>
<sect2>
<title>Operating Modes</title>
<para>The following operating modes are supported by
&man.lagg.4;:</para>
<variablelist>
<varlistentry>
<term>Failover</term>
<listitem>
<para>Sends and receives traffic only through the master
port. If the master port becomes unavailable, the next
active port is used. The first interface added is the
master port and any interfaces added after that are used
as failover devices. If failover to a non-master port
occurs, the original port will become master when it
becomes available again.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&cisco; Fast &etherchannel;</term>
<listitem>
<para>&cisco; Fast &etherchannel; (<acronym>FEC</acronym>)
is a static setup and does not negotiate aggregation
with the peer or exchange frames to monitor the link.
If the switch supports <acronym>LACP</acronym>, that
should be used instead.</para>
<para><acronym>FEC</acronym> balances outgoing traffic
across the active ports based on hashed protocol header
information and accepts incoming traffic from any active
port. The hash includes the Ethernet source and
destination address and, if available, the
<acronym>VLAN</acronym> tag, and the
<acronym>IPv4</acronym> or <acronym>IPv6</acronym>
source and destination address.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><acronym>LACP</acronym></term>
<listitem>
<para>The &ieee; 802.3ad Link Aggregation Control Protocol
(<acronym>LACP</acronym>) and the Marker Protocol.
<acronym>LACP</acronym> will negotiate a set of
aggregable links with the peer in to one or more Link
Aggregated Groups (<acronym>LAG</acronym>s). Each
<acronym>LAG</acronym> is composed of ports of the
same speed, set to full-duplex operation. The traffic
will be balanced across the ports in the
<acronym>LAG</acronym> with the greatest total speed.
In most cases, there will only be one
<acronym>LAG</acronym> which contains all ports. In
the event of changes in physical connectivity,
<acronym>LACP</acronym> will quickly converge to a new
configuration.</para>
<para><acronym>LACP</acronym> balances outgoing traffic
across the active ports based on hashed protocol header
information and accepts incoming traffic from any active
port. The hash includes the Ethernet source and
destination address and, if available, the
<acronym>VLAN</acronym> tag, and the IPv4 or
<acronym>IPv6</acronym> source and destination
address.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Loadbalance</term>
<listitem>
<para>This is an alias of <emphasis>FEC</emphasis>
mode.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Round-robin</term>
<listitem>
<para>Distributes outgoing traffic using a round-robin
scheduler through all active ports and accepts incoming
traffic from any active port. This mode violates
Ethernet frame ordering and should be used with
caution.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2>
<title>Examples</title>
<example id="networking-lacp-aggregation-cisco">
<title><acronym>LACP</acronym> Aggregation with a &cisco;
Switch</title>
<para>This example connects two interfaces on a &os; machine
to the switch as a single load balanced and fault tolerant
link. More interfaces can be added to increase throughput
and fault tolerance. Frame ordering is mandatory on
Ethernet links and any traffic between two stations always
flows over the same physical link, limiting the maximum
speed to that of one interface. The transmit algorithm
attempts to use as much information as it can to
distinguish different traffic flows and balance across the
available interfaces.</para>
<para>On the &cisco; switch, add the
<replaceable>FastEthernet0/1</replaceable> and
<replaceable>FastEthernet0/2</replaceable> interfaces to
channel group <replaceable>1</replaceable>:</para>
<screen><userinput>interface <replaceable>FastEthernet0/1</replaceable>
channel-group <replaceable>1</replaceable> mode active
channel-protocol lacp</userinput>
!
<userinput>interface <replaceable>FastEthernet0/2</replaceable>
channel-group <replaceable>1</replaceable> mode active
channel-protocol lacp</userinput></screen>
<para>Create the &man.lagg.4; interface using
<replaceable>fxp0</replaceable> and
<replaceable>fxp1</replaceable>, and bring the interfaces up
with the <acronym>IP</acronym> address of
<replaceable>10.0.0.3/24</replaceable>:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>fxp0</replaceable> up</userinput>
&prompt.root; <userinput>ifconfig <replaceable>fxp1</replaceable> up</userinput>
&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal> create </userinput>
&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal> up laggproto lacp laggport <replaceable>fxp0</replaceable> laggport <replaceable>fxp1</replaceable> <replaceable>10.0.0.3/24</replaceable></userinput></screen>
<para>View the interface status by running:</para>
<screen>&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal></userinput></screen>
<para>Ports marked as <emphasis>ACTIVE</emphasis> are part of
the active aggregation group that has been negotiated with
the remote switch. Traffic will be transmitted and
received through active ports. Use the verbose output of
&man.ifconfig.8; to view the <acronym>LAG</acronym>
identifiers.</para>
<screen>lagg0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 1500
options=8&lt;VLAN_MTU&gt;
ether 00:05:5d:71:8d:b8
media: Ethernet autoselect
status: active
laggproto lacp
laggport: fxp1 flags=1c&lt;ACTIVE,COLLECTING,DISTRIBUTING&gt;
laggport: fxp0 flags=1c&lt;ACTIVE,COLLECTING,DISTRIBUTING&gt;</screen>
<para>To see the port status on the &cisco; switch, use
<userinput>show lacp neighbor</userinput>:</para>
<screen>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</screen>
<para>For more detail, type <userinput>show lacp neighbor
detail</userinput>.</para>
<para>To retain this configuration across reboots, the
following entries can be added to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>ifconfig_<replaceable>fxp0</replaceable>="up"
ifconfig_<replaceable>fxp1</replaceable>="up"
cloned_interfaces="<literal>lagg<replaceable>0</replaceable></literal>"
ifconfig_<literal>lagg<replaceable>0</replaceable></literal>="laggproto lacp laggport <replaceable>fxp0</replaceable> laggport <replaceable>fxp1</replaceable> <replaceable>10.0.0.3/24</replaceable>"</programlisting>
</example>
<example id="networking-lagg-failover">
<title>Failover Mode</title>
<para>Failover mode can be used to switch over to a secondary
interface if the link is lost on the master interface.
To configure failover mode, first bring the underlying
physical interfaces up. Then, create the &man.lagg.4;
interface, using <replaceable>fxp0</replaceable> as the
master interface and <replaceable>fxp1</replaceable> as
the secondary interface, and assign an <acronym>IP</acronym>
address of
<replaceable>10.0.0.15/24</replaceable>:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>fxp0</replaceable> up</userinput>
&prompt.root; <userinput>ifconfig <replaceable>fxp1</replaceable> up</userinput>
&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal> create</userinput>
&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal> up laggproto failover laggport <replaceable>fxp0</replaceable> laggport <replaceable>fxp1</replaceable> <replaceable>10.0.0.15/24</replaceable></userinput></screen>
<para>The interface should now look something like
this:</para>
<screen>&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal></userinput>
lagg0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 1500
options=8&lt;VLAN_MTU&gt;
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&lt;&gt;
laggport: fxp0 flags=5&lt;MASTER,ACTIVE&gt;</screen>
<para>Traffic will be transmitted and received on
<replaceable>fxp0</replaceable>. If the link is lost on
<replaceable>fxp0</replaceable>,
<replaceable>fxp1</replaceable> will become the active link.
If the link is restored on the master interface, it will
once again become the active link.</para>
<para>To retain this configuration across reboots, the
following entries can be added to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>ifconfig_<replaceable>fxp0</replaceable>="up"
ifconfig_<replaceable>fxp1</replaceable>="up"
cloned_interfaces="<literal>lagg<replaceable>0</replaceable></literal>"
ifconfig_<literal>lagg<replaceable>0</replaceable></literal>="laggproto failover laggport <replaceable>fxp0</replaceable> laggport <replaceable>fxp1</replaceable> <replaceable>10.0.0.15/24</replaceable>"</programlisting>
</example>
<example id="networking-lagg-wired-and-wireless">
<title>Failover Mode Between Wired and Wireless
Interfaces</title>
<para>For laptop users, it is usually desirable to configure
the wireless device as a secondary interface, which is used
when the wired connection is not available. With
&man.lagg.4;, it is possible to use one
<acronym>IP</acronym> address, prefer the wired connection
for both performance and security reasons, while
maintaining the ability to transfer data over the wireless
connection.</para>
<para>In this setup, override the underlying wireless
interface's <acronym>MAC</acronym> address to match that
of the &man.lagg.4;, which is inherited from the wired
interface.</para>
<para>In this example, the wired interface,
<replaceable>bge0</replaceable>, is the master, and the
wireless interface, <replaceable>wlan0</replaceable>, is
the failover interface. The
<replaceable>wlan0</replaceable> device was created from
<replaceable>iwn0</replaceable>, which will be configured
with the wired connection's <acronym>MAC</acronym> address.
The first step is to determine the <acronym>MAC</acronym>
address of the wired interface:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>bge0</replaceable></userinput>
bge0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 1500
options=19b&lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4&gt;
ether 00:21:70:da:ae:37
inet6 fe80::221:70ff:feda:ae37%bge0 prefixlen 64 scopeid 0x2
nd6 options=29&lt;PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL&gt;
media: Ethernet autoselect (1000baseT &lt;full-duplex&gt;)
status: active</screen>
<para>Replace <replaceable>bge0</replaceable> to match the
system's interface name. The <literal>ether</literal>
line will contain the <acronym>MAC</acronym> address of
the wired interface. Now, change the
<acronym>MAC</acronym> address of the underlying wireless
interface:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>iwn0</replaceable> ether <replaceable>00:21:70:da:ae:37</replaceable></userinput></screen>
<para>Bring the wireless interface up, but do not set an
<acronym>IP</acronym> address:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>wlan0</replaceable> create wlandev <replaceable>iwn0</replaceable> ssid <replaceable>my_router</replaceable> up</userinput></screen>
<para>Bring the <replaceable>bge0</replaceable> interface up.
Create the &man.lagg.4; interface with
<replaceable>bge0</replaceable> as master, and failover to
<replaceable>wlan0</replaceable>:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>bge0</replaceable> up</userinput>
&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal> create</userinput>
&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal> up laggproto failover laggport <replaceable>bge0</replaceable> laggport <replaceable>wlan0</replaceable></userinput></screen>
<para>The interface will now look something like this:</para>
<screen>&prompt.root; <userinput>ifconfig <literal>lagg<replaceable>0</replaceable></literal></userinput>
lagg0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 1500
options=8&lt;VLAN_MTU&gt;
ether 00:21:70:da:ae:37
media: Ethernet autoselect
status: active
laggproto failover
laggport: wlan0 flags=0&lt;&gt;
laggport: bge0 flags=5&lt;MASTER,ACTIVE&gt;</screen>
<para>Then, start the <acronym>DHCP</acronym> client to
obtain an <acronym>IP</acronym> address:</para>
<screen>&prompt.root; <userinput>dhclient <literal>lagg<replaceable>0</replaceable></literal></userinput></screen>
<para>To retain this configuration across reboots, the
following entries can be added to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>ifconfig_bge0="up"
ifconfig_iwn0="ether 00:21:70:da:ae:37"
wlans_iwn0="wlan0"
ifconfig_wlan0="WPA"
cloned_interfaces="<literal>lagg<replaceable>0</replaceable></literal>"
ifconfig_<literal>lagg<replaceable>0</replaceable></literal>="laggproto failover laggport bge0 laggport wlan0 DHCP"</programlisting>
</example>
</sect2>
</sect1>
<sect1 id="network-diskless">
<sect1info>
<authorgroup>
<author>
<firstname>Jean-Fran&ccedil;ois</firstname>
<surname>Dock&egrave;s</surname>
<contrib>Updated by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Alex</firstname>
<surname>Dupre</surname>
<contrib>Reorganized and enhanced by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Diskless Operation</title>
<indexterm><primary>diskless workstation</primary></indexterm>
<indexterm><primary>diskless operation</primary></indexterm>
<para>A &os; machine can boot over the network and operate
without a local disk, using file systems mounted from an
<acronym>NFS</acronym> server. No system modification is
necessary, beyond standard configuration files. Such a system
is relatively easy to set up because all the necessary elements
are readily available:</para>
<para>The &intel; Preboot eXecution Environment
(<acronym>PXE</acronym>) can be used to load the kernel over
the network. It provides a form of smart boot
<acronym>ROM</acronym> built into some networking cards or
motherboards. See &man.pxeboot.8; for more details.</para>
<para>A sample script
(<filename>/usr/share/examples/diskless/clone_root</filename>)
eases the creation and maintenance of the workstation's root
file system on the server. The script will probably require
a little customization.</para>
<para>Standard system startup files exist in <filename
class="directory">/etc</filename> to detect and support a
diskless system startup.</para>
<para>Swapping, if needed, can be done either to an
<acronym>NFS</acronym> file or to a local disk.</para>
<para>There are many ways to set up diskless workstations. Many
elements are involved, and most can be customized to suit local
taste. The following will describe variations on the setup of a
complete system, emphasizing simplicity and compatibility with
the standard &os; startup scripts. The system described has
the following characteristics:</para>
<itemizedlist>
<listitem>
<para>The diskless workstations use a shared, read-only
<filename class="directory">/</filename> and
<filename class="directory">/usr</filename>.</para>
<para>The root file system is a copy of a standard &os;
root, with some configuration files overridden by ones
specific to diskless operation or, possibly, to the
workstation they belong to.</para>
<para>The parts of the root which have to be writable are
overlaid with &man.md.4; file systems. Any changes will be
lost when the system reboots.</para>
</listitem>
</itemizedlist>
<caution>
<para>As described, this system is insecure. It should live in
a protected area of a network and be untrusted by other
hosts.</para>
</caution>
<sect2>
<title>Background Information</title>
<para>Setting up diskless workstations is both relatively
straightforward and prone to errors. These are sometimes
difficult to diagnose for a number of reasons. For
example:</para>
<itemizedlist>
<listitem>
<para>Compile time options may determine different behaviors
at runtime.</para>
</listitem>
<listitem>
<para>Error messages are often cryptic or totally
absent.</para>
</listitem>
</itemizedlist>
<para>In this context, having some knowledge of the background
mechanisms involved is useful to solve the problems that may
arise.</para>
<para>Several operations need to be performed for a successful
bootstrap:</para>
<itemizedlist>
<listitem>
<para>The machine needs to obtain initial parameters such as
its <acronym>IP</acronym> address, executable filename,
server name, and root path. This is done using the
<acronym>DHCP</acronym> or <acronym>BOOTP</acronym>
protocols. <acronym>DHCP</acronym> is a compatible
extension of <acronym>BOOTP</acronym>, and uses the same
port numbers and basic packet format. It is possible to
configure a system to use only <acronym>BOOTP</acronym>
and &man.bootpd.8; is included in the base &os;
system.</para>
</listitem>
<listitem>
<para><acronym>DHCP</acronym> has a number of advantages
over <acronym>BOOTP</acronym> such as nicer configuration
files and support for <acronym>PXE</acronym>. This
section describes mainly a <acronym>DHCP</acronym>
configuration, with equivalent examples using
&man.bootpd.8; when possible. The sample configuration
uses <application>ISC DHCP</application> which is
available in the Ports Collection.</para>
</listitem>
<listitem>
<para>The machine needs to transfer one or several programs
to local memory. Either <acronym>TFTP</acronym> or
<acronym>NFS</acronym> are used. The choice between
<acronym>TFTP</acronym> and <acronym>NFS</acronym> is a
compile time option in several places. A common source of
error is to specify filenames for the wrong protocol.
<acronym>TFTP</acronym> typically transfers all files from
a single directory on the server and expects filenames
relative to this directory. <acronym>NFS</acronym> needs
absolute file paths.</para>
</listitem>
<listitem>
<para>The possible intermediate bootstrap programs and the
kernel need to be initialized and executed.
<acronym>PXE</acronym> loads &man.pxeboot.8;, which is
a modified version of the &os; third stage loader,
&man.loader.8;. The third stage loader will obtain most
parameters necessary to system startup and leave them
in the kernel environment before transferring control.
It is possible to use a <filename>GENERIC</filename>
kernel in this case.</para>
</listitem>
<listitem>
<para>Finally, the machine needs to access its file systems
using <acronym>NFS</acronym>.</para>
</listitem>
</itemizedlist>
<para>Refer to &man.diskless.8; for more information.</para>
</sect2>
<sect2>
<title>Setup Instructions</title>
<sect3>
<title>Configuration Using <application>ISC
DHCP</application></title>
<indexterm>
<primary>DHCP</primary>
<secondary>diskless operation</secondary>
</indexterm>
<para>The <application>ISC DHCP</application> server can
answer both <acronym>BOOTP</acronym> and
<acronym>DHCP</acronym> requests.</para>
<para><application>ISC DHCP</application> is not part of
the base system. Install the <filename
role="package">net/isc-dhcp42-server</filename> port or
package.</para>
<para>Once <application>ISC DHCP</application> is installed,
edit its configuration file,
<filename>/usr/local/etc/dhcpd.conf</filename>. Here
follows a commented example for <acronym>PXE</acronym> host
<hostid>corbieres</hostid>:</para>
<programlisting>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; <co id="co-dhcp-host-name"/>
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.4.255;
host corbieres {
hardware ethernet 00:02:b3:27:62:df;
fixed-address corbieres.example.com;
next-server 192.168.4.4; <co id="co-dhcp-next-server"/>
filename "pxeboot"; <co id="co-dhcp-filename"/>
option root-path "192.168.4.4:/data/misc/diskless"; <co id="co-dhcp-root-path"/>
}
}</programlisting>
<calloutlist>
<callout arearefs="co-dhcp-host-name">
<para>This option tells <application>dhcpd</application>
to send the value in the <literal>host</literal>
declarations as the hostname for the diskless host.
An alternate way would be to add an <literal>option
host-name <replaceable>corbieres</replaceable></literal>
inside the <literal>host</literal> declarations.</para>
</callout>
<callout arearefs="co-dhcp-next-server">
<para>The <literal>next-server</literal> directive
designates the <acronym>TFTP</acronym> or
<acronym>NFS</acronym> server to use for loading
&man.loader.8; or the kernel file. The default is to
use the same host as the <acronym>DHCP</acronym>
server.</para>
</callout>
<callout arearefs="co-dhcp-filename">
<para>The <literal>filename</literal> directive defines
the file that <acronym>PXE</acronym> will load for the
next execution step. It must be specified according
to the transfer method used.
<acronym>PXE</acronym> uses <acronym>TFTP</acronym>,
which is why a relative filename is used here. Also,
<acronym>PXE</acronym> loads
<filename>pxeboot</filename>, not the kernel. There are
other interesting possibilities, like loading
<filename>pxeboot</filename> from a &os; CD-ROM
<filename class="directory">/boot</filename> directory.
Since &man.pxeboot.8; can load a
<filename>GENERIC</filename> kernel, it is possible to
use <acronym>PXE</acronym> to boot from a remote
CD-ROM.</para>
</callout>
<callout arearefs="co-dhcp-root-path">
<para>The <literal>root-path</literal> option defines
the path to the root file system, in usual
<acronym>NFS</acronym> notation. When using
<acronym>PXE</acronym>, it is possible to leave off the
host's <acronym>IP</acronym> address as long as the
<acronym>BOOTP</acronym> kernel option is not enabled.
The <acronym>NFS</acronym> server will then be the
same as the <acronym>TFTP</acronym> one.</para>
</callout>
</calloutlist>
</sect3>
<sect3>
<title>Booting with <acronym>PXE</acronym></title>
<para>By default, &man.pxeboot.8; loads the kernel via
<acronym>NFS</acronym>. It can be compiled to use
<acronym>TFTP</acronym> instead by specifying the
<literal>LOADER_TFTP_SUPPORT</literal> option in
<filename>/etc/make.conf</filename>. See the comments in
<filename>/usr/share/examples/etc/make.conf</filename> for
instructions.</para>
<para>There are two other <filename>make.conf</filename>
options which may be useful for setting up a serial console
diskless machine:
<literal>BOOT_PXELDR_PROBE_KEYBOARD</literal>, and
<literal>BOOT_PXELDR_ALWAYS_SERIAL</literal>.</para>
<para>To use <acronym>PXE</acronym> when the machine starts,
select the <literal>Boot from network</literal> option in
the <acronym>BIOS</acronym> setup or type a function key
during system initialization.</para>
</sect3>
<sect3>
<title>Configuring the <acronym>TFTP</acronym> and
<acronym>NFS</acronym> Servers</title>
<indexterm>
<primary>TFTP</primary>
<secondary>diskless operation</secondary>
</indexterm>
<indexterm>
<primary>NFS</primary>
<secondary>diskless operation</secondary>
</indexterm>
<para>If <acronym>PXE</acronym> is configured to use
<acronym>TFTP</acronym>, enable &man.tftpd.8; on the file
server:</para>
<procedure>
<step>
<para>Create a directory from which &man.tftpd.8; will
serve the files, such as <filename
class="directory">/tftpboot</filename>.</para>
</step>
<step>
<para>Add this line to
<filename>/etc/inetd.conf</filename>:</para>
<programlisting>tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot</programlisting>
<note>
<para>Some
<acronym>PXE</acronym> versions require the
<acronym>TCP</acronym> version of
<acronym>TFTP</acronym>. In this case, add a second
line, replacing <literal>dgram udp</literal> with
<literal>stream tcp</literal>.</para>
</note>
</step>
<step>
<para>Tell &man.inetd.8; to reread its configuration file.
Add <option>inetd_enable="YES"</option> to
<filename>/etc/rc.conf</filename> in order for this
command to execute correctly:</para>
<screen>&prompt.root; <userinput>service inetd restart</userinput></screen>
</step>
</procedure>
<para>Place <filename class="directory">tftpboot</filename>
anywhere on the server. Make sure that the location is
set in both <filename>/etc/inetd.conf</filename> and
<filename>/usr/local/etc/dhcpd.conf</filename>.</para>
<para>Enable
<acronym>NFS</acronym> and export the appropriate file
system on the <acronym>NFS</acronym> server.</para>
<procedure>
<step>
<para>Add this line to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>nfs_server_enable="YES"</programlisting>
</step>
<step>
<para>Export the file system where the diskless root
directory is located by adding the following to
<filename>/etc/exports</filename>. Adjust the
mount point and replace <replaceable>
corbieres</replaceable> with the names of the diskless
workstations:</para>
<programlisting><replaceable>/data/misc</replaceable> -alldirs -ro <replaceable>margaux corbieres</replaceable></programlisting>
</step>
<step>
<para>Tell &man.mountd.8; to reread its configuration
file. If <acronym>NFS</acronym> is enabled in
<filename>/etc/rc.conf</filename>, it is recommended
to reboot instead.</para>
<screen>&prompt.root; <userinput>service mountd restart</userinput></screen>
</step>
</procedure>
</sect3>
<sect3>
<title>Building a Diskless Kernel</title>
<indexterm>
<primary>diskless operation</primary>
<secondary>kernel configuration</secondary>
</indexterm>
<para>When using <acronym>PXE</acronym>, building a custom
kernel with the following options is not strictly necessary.
These options cause more <acronym>DHCP</acronym> requests
to be issued during kernel startup, with a small risk of
inconsistency between the new values and those retrieved
by &man.pxeboot.8; in some special cases. The advantage
is that the host name will be set. Otherwise, set the
host name in a client-specific
<filename>/etc/rc.conf</filename>.</para>
<programlisting>options BOOTP # Use BOOTP to obtain IP address/hostname
options BOOTP_NFSROOT # NFS mount root file system using BOOTP info</programlisting>
<para>The custom kernel can also include
<literal>BOOTP_NFSV3</literal>,
<literal>BOOT_COMPAT</literal> and
<literal>BOOTP_WIRED_TO</literal>. Refer to
<filename>NOTES</filename> for descriptions of these
options.</para>
<para>These option names are historical and slightly
misleading as they actually enable indifferent use of
<acronym>DHCP</acronym> and <acronym>BOOTP</acronym>
inside the kernel.</para>
<para>Build the custom kernel, using the instructions in
<xref linkend="kernelconfig"/>, and copy it to the place
specified in
<filename>/usr/local/etc/dhcpd.conf</filename>.</para>
</sect3>
<sect3>
<title>Preparing the Root File System</title>
<indexterm>
<primary>root file system</primary>
<secondary>diskless operation</secondary>
</indexterm>
<para>Create a root file system for the diskless
workstations in the location listed as
<literal>root-path</literal> in
<filename>/usr/local/etc/dhcpd.conf</filename>.</para>
<sect4>
<title>Using <command>make world</command> to Populate
Root</title>
<para>This method is quick and will install a complete
virgin system, not just the root file system, into
<envar>DESTDIR</envar>. Execute the following
script:</para>
<programlisting>#!/bin/sh
export DESTDIR=/data/misc/diskless
mkdir -p ${DESTDIR}
cd /usr/src; make buildworld &amp;&amp; make buildkernel
make installworld &amp;&amp; make installkernel
cd /usr/src/etc; make distribution</programlisting>
<para>Once done, customize
<filename>/etc/rc.conf</filename> and
<filename>/etc/fstab</filename> placed into
<envar>DESTDIR</envar> according to the system's
requirements.</para>
</sect4>
</sect3>
<sect3>
<title>Configuring Swap</title>
<para>If needed, a swap file located on the server can be
accessed via <acronym>NFS</acronym>.</para>
<sect4>
<title><acronym>NFS</acronym> Swap</title>
<para>The kernel does not support enabling
<acronym>NFS</acronym> swap at boot time. Swap must be
enabled by the startup scripts, by mounting a writable
file system and creating and enabling a swap file. To
create a swap file:</para>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>/path/to/swapfile</replaceable> bs=1k count=1 oseek=<replaceable>100000</replaceable></userinput></screen>
<para>To enable the swap file, add the following line to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>swapfile=<replaceable>/path/to/swapfile</replaceable></programlisting>
</sect4>
</sect3>
<sect3>
<title>Miscellaneous Issues</title>
<sect4>
<title>Running with a Read-only <filename
class="directory">/usr</filename></title>
<indexterm>
<primary>diskless operation</primary>
<secondary>/usr read-only</secondary>
</indexterm>
<para>If the diskless workstation is configured to run
<application>&xorg;</application>, adjust the
<application>XDM</application> configuration file as it
puts the error log on <filename
class="directory">/usr</filename> by default.</para>
</sect4>
<sect4>
<title>Using a Non-&os; Server</title>
<para>When the server for the root file system is not
running &os;, create the root file system on a &os;
machine, then copy it to its destination, using
&man.tar.1; or &man.cpio.1;.</para>
<para>In this situation, there are sometimes problems with
the special files in <filename
class="directory">/dev</filename>, due to differing
major/minor integer sizes. A solution to this problem
is to export a directory from the non-&os; server, mount
this directory onto a &os; machine, and use &man.devfs.5;
to allocate device nodes transparently for the
user.</para>
</sect4>
</sect3>
</sect2>
</sect1>
<sect1 id="network-pxe-nfs">
<sect1info>
<authorgroup>
<author>
<firstname>Craig</firstname>
<surname>Rodrigues</surname>
<affiliation>
<address>rodrigc@FreeBSD.org</address>
</affiliation>
<contrib>Written by </contrib>
</author>
</authorgroup>
</sect1info>
<title>PXE Booting with an <acronym>NFS</acronym> Root File
System</title>
<para>The &intel; Preboot eXecution Environment
(<acronym>PXE</acronym>) allows booting the operating system
over the network. <acronym>PXE</acronym> support is usually
provided in the <acronym>BIOS</acronym> where it can be enabled
in the <acronym>BIOS</acronym> settings which enable booting
from the network. A fully functioning
<acronym>PXE</acronym> setup also requires properly configured
<acronym>DHCP</acronym> and <acronym>TFTP</acronym>
servers.</para>
<para>When the host computer boots, it receives information over
<acronym>DHCP</acronym> about where to obtain the initial boot
loader via <acronym>TFTP</acronym>. After the host computer
receives this information, it downloads the boot loader via
<acronym>TFTP</acronym> and then executes the boot loader.
This is documented in section 2.2.1 of the <ulink
url="http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf">Preboot
Execution Environment (<acronym>PXE</acronym>)
Specification</ulink>. In &os;, the boot loader retrieved
during the <acronym>PXE</acronym> process is
<filename>/boot/pxeboot</filename>. After
<filename>/boot/pxeboot</filename> executes, the &os; kernel is
loaded and the rest of the &os; bootup sequence proceeds.
Refer to <xref linkend="boot"/> for more information about the
&os; booting process.</para>
<sect2>
<title>Setting Up the &man.chroot.8; Environment for the
<acronym>NFS</acronym> Root File System</title>
<procedure>
<step>
<para>Choose a directory which will have a &os;
installation which will be <acronym>NFS</acronym>
mountable. For example, a directory such as <filename
class="directory">/b/tftpboot/FreeBSD/install</filename>
can be used.</para>
<screen>&prompt.root; <userinput>export NFSROOTDIR=/b/tftpboot/FreeBSD/install</userinput>
&prompt.root; <userinput>mkdir -p ${NFSROOTDIR}</userinput></screen>
</step>
<step>
<para>Enable the <acronym>NFS</acronym> server by following
the instructions in <xref
linkend="network-configuring-nfs"/>.</para>
</step>
<step>
<para>Export the directory via <acronym>NFS</acronym> by
adding the following to
<filename>/etc/exports</filename>:</para>
<programlisting>/b -ro -alldirs</programlisting>
</step>
<step>
<para>Restart the <acronym>NFS</acronym> server:</para>
<screen>&prompt.root; <userinput>service nfsd restart</userinput></screen>
</step>
<step>
<para>Enable &man.inetd.8; by following the steps outlined
in <xref linkend="network-inetd-settings"/>.</para>
</step>
<step>
<para>Add the following line to
<filename>/etc/inetd.conf</filename>:</para>
<programlisting>tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /b/tftpboot</programlisting>
</step>
<step>
<para>Restart &man.inetd.8;:</para>
<screen>&prompt.root; <userinput>service inetd restart</userinput></screen>
</step>
<step>
<para>Rebuild the &os; kernel and userland (<xref
linkend="makeworld"/>):</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make buildworld</userinput>
&prompt.root; <userinput>make buildkernel</userinput></screen>
</step>
<step>
<para>Install &os; into the directory mounted over
<acronym>NFS</acronym>:</para>
<screen>&prompt.root; <userinput>make installworld DESTDIR=${NFSROOTDIR}</userinput>
&prompt.root; <userinput>make installkernel DESTDIR=${NFSROOTDIR}</userinput>
&prompt.root; <userinput>make distribution DESTDIR=${NFSROOTDIR}</userinput></screen>
</step>
<step>
<para>Test that the <acronym>TFTP</acronym> server works
and can download the boot loader which will be obtained
via <acronym>PXE</acronym>:</para>
<screen>&prompt.root; <userinput>tftp localhost</userinput>
tftp> <userinput>get FreeBSD/install/boot/pxeboot</userinput>
Received 264951 bytes in 0.1 seconds</screen>
</step>
<step>
<para>Edit <filename>${NFSROOTDIR}/etc/fstab</filename> and
create an entry to mount the root file system over
<acronym>NFS</acronym>:</para>
<programlisting># Device Mountpoint FSType Options Dump Pass
myhost.example.com:/b/tftpboot/FreeBSD/install / nfs ro 0 0</programlisting>
<para>Replace <replaceable>myhost.example.com</replaceable>
with the hostname or <acronym>IP</acronym> address of the
<acronym>NFS</acronym> server. In this example, the root
file system is mounted read-only in order to prevent
<acronym>NFS</acronym> clients from potentially deleting
the contents of the root file system.</para>
</step>
<step>
<para>Set the root password in the &man.chroot.8;
environment:</para>
<screen>&prompt.root; <userinput>chroot ${NFSROOTDIR}</userinput>
&prompt.root; <userinput>passwd</userinput></screen>
<para>This sets the root password for client machines which
are <acronym>PXE</acronym> booting.</para>
</step>
<step>
<para>Enable &man.ssh.1; root logins for client machines
which are <acronym>PXE</acronym> booting by editing
<filename>${NFSROOTDIR}/etc/ssh/sshd_config</filename>
and enabling <literal>PermitRootLogin</literal>. This
option is documented in &man.sshd.config.5;.</para>
</step>
<step>
<para>Perform other customizations of the &man.chroot.8;
environment in ${NFSROOTDIR}. These customizations could
include things like adding packages with &man.pkg.add.1;,
editing the password file with &man.vipw.8;, or editing
&man.amd.conf.5; maps for automounting. For
example:</para>
<screen>&prompt.root; <userinput>chroot ${NFSROOTDIR}</userinput>
&prompt.root; <userinput>pkg_add -r bash</userinput></screen>
</step>
</procedure>
</sect2>
<sect2>
<title>Configuring Memory File Systems Used by
<filename>/etc/rc.initdiskless</filename></title>
<para>When booting from an <acronym>NFS</acronym> root volume,
<filename>/etc/rc</filename> detects the
<acronym>NFS</acronym> boot and runs
<filename>/etc/rc.initdiskless</filename>. Read the comments
in this script to understand what is going on. In this case,
<filename class="directory">/etc</filename> and <filename
class="directory">/var</filename> need to be memory backed
file systems so that these directories are writable but the
<acronym>NFS</acronym> root directory is read-only:</para>
<screen>&prompt.root; <userinput>chroot ${NFSROOTDIR}</userinput>
&prompt.root; <userinput>mkdir -p conf/base</userinput>
&prompt.root; <userinput>tar -c -v -f conf/base/etc.cpio.gz --format cpio --gzip etc</userinput>
&prompt.root; <userinput>tar -c -v -f conf/base/var.cpio.gz --format cpio --gzip var</userinput></screen>
<para>When the system boots, memory file systems for <filename
class="directory">/etc</filename> and <filename
class="directory">/var</filename> will be created and
mounted and the contents of the
<filename>cpio.gz</filename> files will be copied into
them.</para>
</sect2>
<sect2 id="network-pxe-setting-up-dhcp">
<title>Setting up the <acronym>DHCP</acronym> Server</title>
<para><acronym>PXE</acronym> requires a <acronym>TFTP</acronym>
and a <acronym>DHCP</acronym> server to be set up. The
<acronym>DHCP</acronym> server does not need to be the same
machine as the <acronym>TFTP</acronym> server, but it needs
to be accessible in the network.</para>
<procedure>
<step>
<para>Install the <acronym>DHCP</acronym> server by
following the instructions documented at <xref
linkend="network-dhcp-server"/>. Make sure that
<filename>/etc/rc.conf</filename> and
<filename>/usr/local/etc/dhcpd.conf</filename> are
correctly configured.</para>
</step>
<step>
<para>In <filename>/usr/local/etc/dhcpd.conf</filename>,
configure the <literal>next-server</literal>,
<literal>filename</literal>, and
<literal>option root-path</literal> settings to specify
the <acronym>TFTP</acronym> server <acronym>IP</acronym>
address, the path to <filename>/boot/pxeboot</filename>
in <acronym>TFTP</acronym>, and the path to the
<acronym>NFS</acronym> root file system. Here is a sample
<filename>dhcpd.conf</filename> setup:</para>
<programlisting>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-servers 192.168.35.35, 192.168.35.36 ;
option domain-name "example.com";
# IP address of TFTP server
next-server 192.168.0.1 ;
# path of boot loader obtained
# via tftp
filename "FreeBSD/install/boot/pxeboot" ;
# pxeboot boot loader will try to NFS mount this directory for root FS
option root-path "192.168.0.1:/b/tftpboot/FreeBSD/install/" ;
}</programlisting>
</step>
</procedure>
</sect2>
<sect2>
<title>Configuring the <acronym>PXE</acronym> Client and
Debugging Connection Problems</title>
<procedure>
<step>
<para>When the client machine boots up, enter the
<acronym>BIOS</acronym> configuration menu. Configure the
<acronym>BIOS</acronym> to boot from the network. If all
previous configuration steps are correct, everything
should &quot;just work&quot;.</para>
</step>
<step>
<para>Use the <filename
role="package">net/wireshark</filename> package or
port to debug the network traffic involved during the
<acronym>PXE</acronym> booting process, as illustrated
in the diagram below. In <xref
linkend="network-pxe-setting-up-dhcp"/>, an example
configuration is shown where the <acronym>DHCP</acronym>,
<acronym>TFTP</acronym>, and <acronym>NFS</acronym>
servers are on the same machine. However, these
servers can be on separate machines.</para>
<figure>
<title><acronym>PXE</acronym> Booting Process with
<acronym>NFS</acronym> Root Mount</title>
<mediaobjectco>
<imageobjectco>
<areaspec units="calspair">
<area id="co-pxenfs1" coords="2873,8133 3313,7266"/>
<area id="co-pxenfs2" coords="3519,6333 3885,5500"/>
<area id="co-pxenfs3" coords="4780,5866 5102,5200"/>
<area id="co-pxenfs4" coords="4794,4333 5102,3600"/>
<area id="co-pxenfs5" coords="3108,2666 3519,1800"/>
</areaspec>
<imageobject>
<imagedata fileref="advanced-networking/pxe-nfs"/>
</imageobject>
<calloutlist>
<callout arearefs="co-pxenfs1">
<para>Client broadcasts a
<literal>DHCPDISCOVER</literal> message.</para>
</callout>
<callout arearefs="co-pxenfs2">
<para>The <acronym>DHCP</acronym> server responds
with the <acronym>IP</acronym> address,
<literal>next-server</literal>,
<literal>filename</literal>, and
<literal>root-path</literal> values.</para>
</callout>
<callout arearefs="co-pxenfs3">
<para>The client sends a <acronym>TFTP</acronym>
request to <literal>next-server</literal>,
asking to retrieve
<literal>filename</literal>.</para>
</callout>
<callout arearefs="co-pxenfs4">
<para>The <acronym>TFTP</acronym> server responds
and sends <literal>filename</literal> to
client.</para>
</callout>
<callout arearefs="co-pxenfs5">
<para>The client executes
<literal>filename</literal>, which is
&man.pxeboot.8;, which then loads the kernel.
When the kernel executes, the root file system
specified by <literal>root-path</literal> is
mounted over <acronym>NFS</acronym>.</para>
</callout>
</calloutlist>
</imageobjectco>
</mediaobjectco>
</figure>
</step>
<step>
<para>Make sure that the <filename>pxeboot</filename> file
can be retrieved by <acronym>TFTP</acronym>. On the
<acronym>TFTP</acronym> server, read
<filename>/var/log/xferlog</filename> to ensure that the
<filename>pxeboot</filename> file is being retrieved from
the correct location. To test this example
configuration:</para>
<screen>&prompt.root; <userinput>tftp 192.168.0.1</userinput>
tftp> <userinput>get FreeBSD/install/boot/pxeboot</userinput>
Received 264951 bytes in 0.1 seconds</screen>
<para>The <literal>BUGS</literal> sections in &man.tftpd.8;
and &man.tftp.1; document some limitations with
<acronym>TFTP</acronym>.</para>
</step>
<step>
<para>Make sure that the root file system can be mounted
via <acronym>NFS</acronym>. To test this example
configuration:</para>
<screen>&prompt.root; <userinput>mount -t nfs 192.168.0.1:/b/tftpboot/FreeBSD/install /mnt</userinput></screen>
</step>
<step>
<para>Read the code in
<filename>src/sys/boot/i386/libi386/pxe.c</filename> to
understand how the <filename>pxeboot</filename> loader
sets variables like <literal>boot.nfsroot.server</literal>
and <literal>boot.nfsroot.path</literal>. These variables
are then used in the <acronym>NFS</acronym> diskless root
mount code in
<filename>src/sys/nfsclient/nfs_diskless.c</filename>.</para>
</step>
<step>
<para>Read &man.pxeboot.8; and &man.loader.8;.</para>
</step>
</procedure>
</sect2>
</sect1>
<sect1 id="network-natd">
<sect1info>
<authorgroup>
<author>
<firstname>Chern</firstname>
<surname>Lee</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Network Address Translation</title>
<sect2 id="network-natoverview">
<title>Overview</title>
<indexterm>
<primary>&man.natd.8;</primary>
</indexterm>
<para>&os;'s Network Address Translation
(<acronym>NAT</acronym>) daemon, &man.natd.8;, accepts
incoming raw <acronym>IP</acronym> packets, changes the
source to the local machine, and injects these packets back
into the outgoing <acronym>IP</acronym> packet stream. The
source <acronym>IP</acronym> address and port are changed
such that when data is received back, it is able to determine
the original location of the data and forward it back to its
original requester.</para>
<indexterm>
<primary>Internet connection sharing</primary>
</indexterm>
<indexterm>
<primary><acronym>NAT</acronym></primary>
</indexterm>
<para>The most common use of <acronym>NAT</acronym> is to
perform what is commonly known as Internet Connection
Sharing.</para>
</sect2>
<sect2 id="network-natsetup">
<title>Setup</title>
<para>Due to the diminishing <acronym>IP</acronym> address
space in <acronym>IPv4</acronym> and the increased number of
users on high-speed consumer lines such as cable or
<acronym>DSL</acronym>, people are increasingly in need of
an Internet Connection Sharing solution. The ability to
connect several computers online through one connection and
<acronym>IP</acronym> address makes &man.natd.8; a reasonable
choice.</para>
<para>Most commonly, a user has a machine connected to a cable
or <acronym>DSL</acronym> line with one <acronym>IP</acronym>
address and wishes to use this one connected computer to
provide Internet access to several more over a
<acronym>LAN</acronym>.</para>
<para>To do this, the &os; machine connected to the Internet
must act as a gateway. This gateway machine must have two
<acronym>NIC</acronym>s: one connects to the Internet router
and the other connects to a <acronym>LAN</acronym>. All the
machines on the <acronym>LAN</acronym> are connected through
a hub or switch.</para>
<note>
<para>There are many ways to get a <acronym>LAN</acronym>
connected to the Internet through a &os; gateway. This
example will only cover a gateway with at least two
<acronym>NIC</acronym>s.</para>
</note>
<mediaobject>
<imageobject>
<imagedata fileref="advanced-networking/natd"/>
</imageobject>
<textobject>
<literallayout class="monospaced"> _______ __________ ________
| | | | | |
| Hub |-----| Client B |-----| Router |----- Internet
|_______| |__________| |________|
|
____|_____
| |
| Client A |
|__________|</literallayout>
</textobject>
<textobject>
<phrase>Network Layout</phrase>
</textobject>
</mediaobject>
<para>A setup like this is commonly used to share an Internet
connection. One of the <acronym>LAN</acronym> machines is
connected to the Internet and the rest of the machines access
the Internet through that <quote>gateway</quote>
machine.</para>
</sect2>
<sect2 id="network-natdloaderconfiguration">
<title>Boot Loader Configuration</title>
<indexterm>
<primary>boot loader</primary>
<secondary>configuration</secondary>
</indexterm>
<para>The kernel features for &man.natd.8; are not enabled in
the <filename>GENERIC</filename> kernel, but they can be
loaded at boot time by adding a couple of options to
<filename>/boot/loader.conf</filename>:</para>
<programlisting>ipfw_load="YES"
ipdivert_load="YES"</programlisting>
<para>Additionally, the
<literal>net.inet.ip.fw.default_to_accept</literal> tunable
option should be set to <literal>1</literal>:</para>
<programlisting>net.inet.ip.fw.default_to_accept="1"</programlisting>
<note>
<para>It is a good idea to set this option during the first
attempts to setup a firewall and <acronym>NAT</acronym>
gateway. This sets the default policy of &man.ipfw.8; to
be more permissive than the default <literal>deny ip from
any to any</literal>, making it slightly more difficult
to get locked out of the system right after a reboot.</para>
</note>
</sect2>
<sect2 id="network-natdkernconfiguration">
<title>Kernel Configuration</title>
<indexterm>
<primary>kernel</primary>
<secondary>configuration</secondary>
</indexterm>
<para>When modules are not an option or if it is preferable to
build all the required features into a custom kernel, the
following options must be in the custom kernel configuration
file:</para>
<programlisting>options IPFIREWALL
options IPDIVERT</programlisting>
<para>Additionally, the following may also be suitable:</para>
<programlisting>options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSE</programlisting>
</sect2>
<sect2 id="network-natdsystemconfiguration">
<title>System Startup Configuration</title>
<para>To enable firewall and <acronym>NAT</acronym> support at
boot time, the following must be in
<filename>/etc/rc.conf</filename>:</para>
<programlisting>gateway_enable="YES" <co id="co-natd-gateway-enable"/>
firewall_enable="YES" <co id="co-natd-firewall-enable"/>
firewall_type="OPEN" <co id="co-natd-firewall-type"/>
natd_enable="YES"
natd_interface="<replaceable>fxp0</replaceable>" <co id="co-natd-natd-interface"/>
natd_flags="" <co id="co-natd-natd-flags"/></programlisting>
<calloutlist>
<callout arearefs="co-natd-gateway-enable">
<para>Sets up the machine to act as a gateway. Running
<command>sysctl net.inet.ip.forwarding=1</command> would
have the same effect.</para>
</callout>
<callout arearefs="co-natd-firewall-enable">
<para>Enables the firewall rules in
<filename>/etc/rc.firewall</filename> at boot.</para>
</callout>
<callout arearefs="co-natd-firewall-type">
<para>This specifies a predefined firewall ruleset that
allows anything in. See
<filename>/etc/rc.firewall</filename> for additional
types.</para>
</callout>
<callout arearefs="co-natd-natd-interface">
<para>Indicates which interface to forward packets through.
This is the interface that is connected to the
Internet.</para>
</callout>
<callout arearefs="co-natd-natd-flags">
<para>Any additional configuration options passed to
&man.natd.8; on boot.</para>
</callout>
</calloutlist>
<para>These
<filename>/etc/rc.conf</filename> options will run
<command>natd -interface fxp0</command> at boot. This can
also be run manually after boot.</para>
<note>
<para>It is also possible to use a configuration file for
&man.natd.8; when there are too many options to pass. In
this case, the configuration file must be defined by adding
the following line to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>natd_flags="-f /etc/natd.conf"</programlisting>
<para>A list of configuration options, one per line, can be
added to <filename>/etc/natd.conf</filename>. For
example:</para>
<programlisting>redirect_port tcp 192.168.0.2:6667 6667
redirect_port tcp 192.168.0.3:80 80</programlisting>
<para>For more information about this configuration file,
consult &man.natd.8;.</para>
</note>
<para>Each machine and interface behind the
<acronym>LAN</acronym> should be assigned
<acronym>IP</acronym> addresses in the private network space,
as defined by <ulink
url="ftp://ftp.isi.edu/in-notes/rfc1918.txt">RFC
1918</ulink>, and have a default gateway of the
&man.natd.8; machine's internal <acronym>IP</acronym>
address.</para>
<para>For example, client <hostid>A</hostid> and
<hostid>B</hostid> behind the <acronym>LAN</acronym> have
<acronym>IP</acronym> addresses of <hostid
role="ipaddr">192.168.0.2</hostid> and <hostid
role="ipaddr">192.168.0.3</hostid>, while the &man.natd.8;
machine's <acronym>LAN</acronym> interface has an
<acronym>IP</acronym> address of <hostid
role="ipaddr">192.168.0.1</hostid>. The default gateway
of clients <hostid>A</hostid> and <hostid>B</hostid> must be
set to that of the &man.natd.8; machine, <hostid
role="ipaddr">192.168.0.1</hostid>. The &man.natd.8;
machine's external Internet interface does not require any
special modification for &man.natd.8; to work.</para>
</sect2>
<sect2 id="network-natdport-redirection">
<title>Port Redirection</title>
<para>The drawback with &man.natd.8; is that the
<acronym>LAN</acronym> clients are not accessible from the
Internet. Clients on the <acronym>LAN</acronym> can make
outgoing connections to the world but cannot receive incoming
ones. This presents a problem if trying to run Internet
services on one of the <acronym>LAN</acronym> client machines.
A simple way around this is to redirect selected Internet
ports on the &man.natd.8; machine to a <acronym>LAN</acronym>
client.</para>
<para>For example, an <acronym>IRC</acronym> server runs on
client <hostid>A</hostid> and a web server runs on client
<hostid>B</hostid>. For this to work properly, connections
received on ports 6667 (<acronym>IRC</acronym>) and 80
(<acronym>HTTP</acronym>) must be redirected to the
respective machines.</para>
<para>The syntax for <option>-redirect_port</option> is as
follows:</para>
<programlisting> -redirect_port proto targetIP:targetPORT[-targetPORT]
[aliasIP:]aliasPORT[-aliasPORT]
[remoteIP[:remotePORT[-remotePORT]]]</programlisting>
<para>In the above example, the argument should be:</para>
<programlisting> -redirect_port tcp 192.168.0.2:6667 6667
-redirect_port tcp 192.168.0.3:80 80</programlisting>
<para>This redirects the proper <acronym>TCP</acronym> ports
to the <acronym>LAN</acronym> client machines.</para>
<para>Port ranges over individual ports can be indicated with
<option>-redirect_port</option>. For example,
<replaceable>tcp 192.168.0.2:2000-3000 2000-3000</replaceable>
would redirect all connections received on ports 2000 to 3000
to ports 2000 to 3000 on client <hostid>A</hostid>.</para>
<para>These options can be used when directly running
&man.natd.8;, placed within the
<literal>natd_flags=""</literal> option in
<filename>/etc/rc.conf</filename>, or passed via a
configuration file.</para>
<para>For further configuration options, consult
&man.natd.8;</para>
</sect2>
<sect2 id="network-natdaddress-redirection">
<title>Address Redirection</title>
<indexterm><primary>address redirection</primary></indexterm>
<para>Address redirection is useful if more than one
<acronym>IP</acronym> address is available. Each
<acronym>LAN</acronym> client can be assigned its own
external <acronym>IP</acronym> address by &man.natd.8;,
which will then rewrite outgoing packets from the
<acronym>LAN</acronym> clients with the proper external
<acronym>IP</acronym> address and redirects all traffic
incoming on that particular <acronym>IP</acronym> address
back to the specific <acronym>LAN</acronym> client. This is
also known as static <acronym>NAT</acronym>. For example,
if <acronym>IP</acronym> addresses <hostid
role="ipaddr">128.1.1.1</hostid>, <hostid
role="ipaddr">128.1.1.2</hostid>, and <hostid
role="ipaddr">128.1.1.3</hostid> are available, <hostid
role="ipaddr">128.1.1.1</hostid> can be used as the
&man.natd.8; machine's external <acronym>IP</acronym>
address, while <hostid role="ipaddr">128.1.1.2</hostid> and
<hostid role="ipaddr">128.1.1.3</hostid> are forwarded back
to <acronym>LAN</acronym> clients <hostid>A</hostid> and
<hostid>B</hostid>.</para>
<para>The <option>-redirect_address</option> syntax is as
follows:</para>
<programlisting>-redirect_address localIP publicIP</programlisting>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<tbody>
<row>
<entry>localIP</entry>
<entry>The internal <acronym>IP</acronym> address of
the <acronym>LAN</acronym> client.</entry>
</row>
<row>
<entry>publicIP</entry>
<entry>The external <acronym>IP</acronym> address
corresponding to the <acronym>LAN</acronym>
client.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>In the example, this argument would read:</para>
<programlisting>-redirect_address 192.168.0.2 128.1.1.2
-redirect_address 192.168.0.3 128.1.1.3</programlisting>
<para>Like <option>-redirect_port</option>, these arguments are
placed within the <literal>natd_flags=""</literal> option
of <filename>/etc/rc.conf</filename>, or passed via a
configuration file. With address redirection, there is no
need for port redirection since all data received on a
particular <acronym>IP</acronym> address is redirected.</para>
<para>The external <acronym>IP</acronym> addresses on the
&man.natd.8; machine must be active and aliased to the
external interface. Refer to &man.rc.conf.5; for
details.</para>
</sect2>
</sect1>
<sect1 id="network-ipv6">
<sect1info>
<authorgroup>
<author>
<firstname>Aaron</firstname>
<surname>Kaplan</surname>
<contrib>Originally Written by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Restructured and Added by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Brad</firstname>
<surname>Davis</surname>
<contrib>Extended by </contrib>
</author>
</authorgroup>
</sect1info>
<title><acronym>IPv6</acronym></title>
<para><acronym>IPv6</acronym>, also known as
<acronym>IPng</acronym> <quote><acronym>IP</acronym> next
generation</quote>, is the new version of the well known
<acronym>IP</acronym> protocol, also known as
<acronym>IPv4</acronym>. &os; includes the <ulink
url="http://www.kame.net/">KAME</ulink>
<acronym>IPv6</acronym> reference implementation. &os; comes
with everything needed to use <acronym>IPv6</acronym>. This
section focuses on getting <acronym>IPv6</acronym> configured
and running.</para>
<para>In the early 1990s, people became aware of the rapidly
diminishing address space of <acronym>IPv4</acronym>. Given
the expansion rate of the Internet, there were two major
concerns:</para>
<itemizedlist>
<listitem>
- <para>Running out of addresses. Today this is not so much of
- a concern, since RFC1918 private address space (<hostid
- role="ipaddr">10.0.0.0/8</hostid>, <hostid
- role="ipaddr">172.16.0.0/12</hostid>, and <hostid
- role="ipaddr">192.168.0.0/16</hostid>) and
- <acronym>NAT</acronym> are being employed.</para>
+ <para>Running out of addresses. For years the use of
+ RFC1918 private address space
+ (<hostid role="ipaddr">10.0.0.0/8</hostid>,
+ <hostid role="ipaddr">172.16.0.0/12</hostid>, and
+ <hostid role="ipaddr">192.168.0.0/16</hostid>) and NAT
+ has slowed down the exhaustion. Even though, there are
+ very few remaining IPv4 addresses. The Internet
+ Assigned Numbers Authority (<acronym>IANA</acronym>) has
+ issued the last of the available major blocks to the
+ Regional Registries. Once each Regional Registry runs
+ out, there will be no more available and switching to
+ <acronym>IPv6</acronym> will be critical.</para>
</listitem>
<listitem>
- <para>Router table entries were getting too large. This is
- still a concern today.</para>
+ <para>Every block of IPv4 addresses allocated required
+ routing information to be exchanged between many routers
+ on the Internet, and these routing tables were getting
+ too large to allow efficient routing.</para>
</listitem>
</itemizedlist>
<para><acronym>IPv6</acronym> deals with these and many other
issues by providing the following:</para>
<itemizedlist>
<listitem>
<para>128 bit address space which allows for
340,282,366,920,938,463,463,374,607,431,768,211,456
addresses. This means there are approximately
6.67 * 10^27 <acronym>IPv6</acronym> addresses per square
meter on the planet.</para>
</listitem>
<listitem>
<para>Routers only store network aggregation addresses in
their routing tables, thus reducing the average space of a
routing table to 8192 entries.</para>
</listitem>
</itemizedlist>
- <para>There are other useful features of
+ <para>There are many other useful features of
<acronym>IPv6</acronym>:</para>
<itemizedlist>
<listitem>
<para>Address autoconfiguration (<ulink
url="http://www.ietf.org/rfc/rfc2462.txt">RFC2462</ulink>).</para>
</listitem>
<listitem>
<para>Anycast addresses (<quote>one-out-of
many</quote>).</para>
</listitem>
<listitem>
<para>Mandatory multicast addresses.</para>
</listitem>
<listitem>
<para><acronym>IPsec</acronym> (<acronym>IP</acronym>
security).</para>
</listitem>
<listitem>
<para>Simplified header structure.</para>
</listitem>
<listitem>
<para>Mobile <acronym>IP</acronym>.</para>
</listitem>
<listitem>
<para><acronym>IPv6</acronym>-to-<acronym>IPv4</acronym>
transition mechanisms.</para>
</listitem>
</itemizedlist>
<para>For more information see:</para>
<itemizedlist>
<listitem>
<para><ulink url="http://www.kame.net">KAME.net</ulink></para>
</listitem>
</itemizedlist>
<sect2>
<title>Background on <acronym>IPv6</acronym> Addresses</title>
<para>There are different types of <acronym>IPv6</acronym>
addresses: unicast, anycast, and multicast.</para>
<para>Unicast addresses are the well known addresses. A packet
sent to a unicast address arrives at the interface
belonging to the address.</para>
<para>Anycast addresses are syntactically indistinguishable from
unicast addresses but they address a group of interfaces. The
packet destined for an anycast address will arrive at the
nearest (in router metric) interface. Anycast addresses may
only be used by routers.</para>
<para>Multicast addresses identify a group of interfaces. A
packet destined for a multicast address will arrive at all
interfaces belonging to the multicast group.</para>
<note>
<para>The <acronym>IPv4</acronym> broadcast address, usually
<hostid role="ipaddr">xxx.xxx.xxx.255</hostid>, is expressed
by multicast addresses in <acronym>IPv6</acronym>.</para>
</note>
<table frame="none">
<title>Reserved <acronym>IPv6</acronym> Addresses</title>
<tgroup cols="4">
<thead>
<row>
<entry><acronym>IPv6</acronym> address</entry>
<entry>Prefixlength (Bits)</entry>
<entry>Description</entry>
<entry>Notes</entry>
</row>
</thead>
<tbody>
<row>
<entry><hostid role="ip6addr">::</hostid></entry>
<entry>128 bits</entry>
<entry>unspecified</entry>
<entry>Equivalent to <hostid
role="ipaddr">0.0.0.0</hostid> in
<acronym>IPv4</acronym>.</entry>
</row>
<row>
<entry><hostid role="ip6addr">::1</hostid></entry>
<entry>128 bits</entry>
<entry>loopback address</entry>
<entry>Equivalent to <hostid
role="ipaddr">127.0.0.1</hostid> in
<acronym>IPv4</acronym>.</entry>
</row>
<row>
<entry><hostid
role="ip6addr">::00:xx:xx:xx:xx</hostid></entry>
<entry>96 bits</entry>
<entry>embedded <acronym>IPv4</acronym></entry>
<entry>The lower 32 bits are the compatible
<acronym>IPv4</acronym> address.</entry>
</row>
<row>
<entry><hostid
role="ip6addr">::ff:xx:xx:xx:xx</hostid></entry>
<entry>96 bits</entry>
<entry><acronym>IPv4</acronym> mapped
<acronym>IPv6</acronym> address</entry>
<entry>The lower 32 bits are the <acronym>IPv4</acronym>
address for hosts which do not support
<acronym>IPv6</acronym>.</entry>
</row>
<row>
<entry><hostid role="ip6addr">fe80::</hostid> - <hostid
role="ip6addr">feb::</hostid></entry>
<entry>10 bits</entry>
<entry>link-local</entry>
<entry>Equivalent to the loopback address in
<acronym>IPv4</acronym>.</entry>
</row>
<row>
<entry><hostid role="ip6addr">fec0::</hostid> - <hostid
role="ip6addr">fef::</hostid></entry>
<entry>10 bits</entry>
<entry>site-local</entry>
<entry>&nbsp;</entry>
</row>
<row>
<entry><hostid role="ip6addr">ff::</hostid></entry>
<entry>8 bits</entry>
<entry>multicast</entry>
<entry>&nbsp;</entry>
</row>
<row>
<entry><hostid role="ip6addr">001</hostid> (base
2)</entry>
<entry>3 bits</entry>
<entry>global unicast</entry>
<entry>All global unicast addresses are assigned from
this pool. The first 3 bits are
<quote>001</quote>.</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2>
<title>Reading <acronym>IPv6</acronym> Addresses</title>
<para>The canonical form is represented as:
<hostid role="ip6addr">x:x:x:x:x:x:x:x</hostid>, with each
<quote>x</quote> being a 16 bit hex value. For example:
<hostid
role="ip6addr">FEBC:A574:382B:23C1:AA49:4592:4EFE:9982</hostid>.</para>
<para>Often an address will have long substrings of all zeros.
One such substring per address can be abbreviated by
<quote>::</quote>. Also, up to three leading
<quote>0</quote>s per hex quad can be omitted. For example,
<hostid role="ip6addr">fe80::1</hostid> corresponds to the
canonical form <hostid
role="ip6addr">fe80:0000:0000:0000:0000:0000:0000:0001</hostid>.</para>
<para>A third form is to write the last 32 bit part in the
well known (decimal) <acronym>IPv4</acronym> style with dots
(<quote>.</quote>) as separators. For example, <hostid
role="ip6addr">2002::10.0.0.1</hostid> corresponds to the
hexadecimal canonical representation <hostid
role="ip6addr">2002:0000:0000:0000:0000:0000:0a00:0001</hostid>,
which in turn is equivalent to <hostid
role="ip6addr">2002::a00:1</hostid>.</para>
<para>Here is a sample entry from &man.ifconfig.8;:</para>
<screen>&prompt.root; <userinput>ifconfig</userinput></screen>
<programlisting>rl0: flags=8943&lt;UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST&gt; 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</programlisting>
<para><hostid
role="ip6addr">fe80::200:21ff:fe03:8e1%rl0</hostid> is an
auto configured link-local address. It is generated from
the <acronym>MAC</acronym> address as part of the auto
configuration.</para>
<para>For further information on the structure of
<acronym>IPv6</acronym> addresses, see <ulink
url="http://www.ietf.org/rfc/rfc3513.txt">RFC3513</ulink>.</para>
</sect2>
<sect2>
<title>Getting Connected</title>
<para>Currently, there are four ways to connect to other
<acronym>IPv6</acronym> hosts and networks:</para>
<itemizedlist>
<listitem>
<para>Contact an Internet Service Provider to see if they
offer <acronym>IPv6</acronym>.</para>
</listitem>
<listitem>
<para><ulink url="http://www.sixxs.net">SixXS</ulink> offers
tunnels with end-points all around the globe.</para>
</listitem>
+
+ <listitem>
+ <para><ulink url="http://www.tunnelbroker.net">Hurricane
+ Electric</ulink> offers tunnels with end-points all around
+ the globe.</para>
+ </listitem>
<listitem>
<para>Tunnel via 6-to-4 as described in <ulink
url="http://www.ietf.org/rfc/rfc3068.txt">RFC3068</ulink>.</para>
</listitem>
<listitem>
<para>Use the
<filename role="package">net/freenet6</filename> port
for a dial-up connection.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
- <title><acronym>DNS</acronym> in the <acronym>IPv6</acronym>
- World</title>
-
- <para>There used to be two types of <acronym>DNS</acronym>
- records for <acronym>IPv6</acronym>. The
- <acronym>IETF</acronym> has declared <acronym>AAAA</acronym>
- records as the current standard.</para>
-
- <para>Using <acronym>AAAA</acronym> records is straightforward.
- Assign the hostname to the <acronym>IPv6</acronym> address
- in the primary zone <acronym>DNS</acronym> file:</para>
-
- <programlisting>MYHOSTNAME AAAA MYIPv6ADDR</programlisting>
-
- <para>Current versions of &man.named.8; and <filename
- role="package">dns/djbdns</filename> support
- <acronym>AAAA</acronym> records.</para>
- </sect2>
-
- <sect2>
<title>Applying the Needed Changes to
<filename>/etc/rc.conf</filename></title>
<sect3>
- <title><acronym>IPv6</acronym> Client Settings</title>
+ <title><acronym>IPv6</acronym> Client
+ Auto-Configuration</title>
- <para>These settings configure a machine on a
+ <para>To automatically configure a machine on a
<acronym>LAN</acronym> which acts as a client, not a
- router. To instruct &man.rtsol.8; to autoconfigure the
- interface on boot on
- &os;&nbsp;9.<replaceable>x</replaceable> and later, add
- this line to <filename>rc.conf</filename>:</para>
+ router, two items are required. First to enable the
+ <devicename>em0</devicename> to receive the router
+ solicitation messages, add this line to
+ <filename>rc.conf</filename>:</para>
+
+ <programlisting>ifconfig_<replaceable>em0</replaceable>_ipv6="inet6 accept_rtadv"</programlisting>
+
+ <para>Secondly, the router solicitation daemon, &man.rtsol.8;,
+ should be enabled by adding the following to
+ <filename>rc.conf</filename>:</para>
+
+ <programlisting>rtsold_enable="YES"</programlisting>
- <programlisting>ipv6_prefer="YES"</programlisting>
-
<para>For &os;&nbsp;8.<replaceable>x</replaceable>,
add:</para>
<programlisting>ipv6_enable="YES"</programlisting>
+ </sect3>
+ <sect3>
+ <title><acronym>IPv6</acronym> Client Static
+ Configuration</title>
<para>To statically assign the <acronym>IPv6</acronym>
address, <hostid
- role="ip6addr">2001:471:1f11:251:290:27ff:fee0:2093</hostid>,
+ role="ip6addr">2001:db8:4672:6565:2026:5043:2d42:5344</hostid>,
to <devicename>fxp0</devicename>, add the following for
&os;&nbsp;9.<replaceable>x</replaceable>:</para>
- <programlisting>ifconfig_fxp0_ipv6="inet6 2001:471:1f11:251:290:27ff:fee0:2093 prefixlen <replaceable>64</replaceable>"</programlisting>
+ <programlisting>ifconfig_<replaceable>fxp0</replaceable>_ipv6="inet6 2001:db8:4672:6565:2026:5043:2d42:5344 prefixlen 64"</programlisting>
<note>
<para>Be sure to change <replaceable>prefixlen
64</replaceable> to the appropriate value for the
subnet.</para>
</note>
- <para>For &os;&nbsp;8<replaceable>x</replaceable>,
+ <para>For &os;&nbsp;8.<replaceable>x</replaceable>,
add:</para>
- <programlisting>ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093"</programlisting>
+ <programlisting>ipv6_ifconfig_<replaceable>fxp0</replaceable>="2001:db8:4672:6565:2026:5043:2d42:5344"</programlisting>
<para>To assign a default router of <hostid
- role="ip6addr">2001:471:1f11:251::1</hostid>, add the
+ role="ip6addr">2001:db8:4672:6565::1</hostid>, add the
following to <filename>/etc/rc.conf</filename>:</para>
- <programlisting>ipv6_defaultrouter="2001:471:1f11:251::1"</programlisting>
+ <programlisting>ipv6_defaultrouter="2001:db8:4672:6565::1"</programlisting>
</sect3>
<sect3>
<title><acronym>IPv6</acronym> Router/Gateway Settings</title>
<para>This section demonstrates how to take the directions
from a tunnel provider and convert it into settings that
will persist through reboots. To restore the tunnel on
startup, add the following lines to
<filename>/etc/rc.conf</filename>.</para>
<para>The first entry lists the generic tunneling interfaces
to be configured. This example configures one interface,
- <devicename>gif0</devicename>:</para>
+ <devicename>gif<replaceable>0</replaceable></devicename>:</para>
- <programlisting>gif_interfaces="gif0"</programlisting>
+ <programlisting>gif_interfaces="gif<replaceable>0</replaceable>"</programlisting>
<para>To configure that interface with a local endpoint of
<replaceable>MY_IPv4_ADDR</replaceable> to a remote endpoint
of <replaceable>REMOTE_IPv4_ADDR</replaceable>:</para>
<programlisting>gifconfig_gif0="<replaceable>MY_IPv4_ADDR REMOTE_IPv4_ADDR</replaceable>"</programlisting>
<para>To apply the <acronym>IPv6</acronym> address that has
been assigned for use as the <acronym>IPv6</acronym> tunnel
endpoint, add the following line for
&os;&nbsp;9.<replaceable>x</replaceable> and later:</para>
<programlisting>ifconfig_gif0_ipv6="inet6 <replaceable>MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR</replaceable>"</programlisting>
<para>For &os;&nbsp;8.<replaceable>x</replaceable>,
add:</para>
<programlisting>ipv6_ifconfig_gif0="<replaceable>MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR</replaceable>"</programlisting>
<para>Then, set the default route for
<acronym>IPv6</acronym>. This is the other side of the
<acronym>IPv6</acronym> tunnel:</para>
<programlisting>ipv6_defaultrouter="<replaceable>MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR</replaceable>"</programlisting>
</sect3>
<sect3>
<title><acronym>IPv6</acronym> Tunnel Settings</title>
<para>If the server is to route <acronym>IPv6</acronym>
between the rest of the network and the world, the following
<filename>/etc/rc.conf</filename> setting will also be
needed:</para>
<programlisting>ipv6_gateway_enable="YES"</programlisting>
</sect3>
</sect2>
<sect2>
<title>Router Advertisement and Host Auto Configuration</title>
<para>This section demonstrates how to setup &man.rtadvd.8; to
advertise the <acronym>IPv6</acronym> default route.</para>
<para>To enable &man.rtadvd.8;, add the following to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>rtadvd_enable="YES"</programlisting>
<para>It is important to specify the interface on which to
do <acronym>IPv6</acronym> router solicitation. For example,
to tell &man.rtadvd.8; to use
<devicename>fxp0</devicename>:</para>
<programlisting>rtadvd_interfaces="fxp0"</programlisting>
<para>Next, create the configuration file,
<filename>/etc/rtadvd.conf</filename> as seen in this
example:</para>
<programlisting>fxp0:\
:addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:</programlisting>
<para>Replace <devicename>fxp0</devicename> with the interface
to be used and <hostid
role="ip6addr">2001:471:1f11:246::</hostid> with the
prefix of the allocation.</para>
<para>For a dedicated <hostid role="netmask">/64</hostid>
subnet, nothing else needs to be changed. Otherwise, change
the <literal>prefixlen#</literal> to the correct value.</para>
</sect2>
<sect2>
<title><acronym>IPv6</acronym> and <acronym>IPv6</acronym>
Address Mapping</title>
<para>When <acronym>IPv6</acronym> is enabled on a server, there
may be a need to enable <acronym>IPv4</acronym> mapped
<acronym>IPv6</acronym> address communication. This
compatibility option allows for <acronym>IPv4</acronym>
addresses to be represented as <acronym>IPv6</acronym>
addresses. Permitting <acronym>IPv6</acronym> applications
to communicate with <acronym>IPv4</acronym> and vice versa
may be a security issue.</para>
<para>This option may not be required in most cases and is
available only for compatibility. This option will allow
<acronym>IPv6</acronym>-only applications to work with
<acronym>IPv4</acronym> in a dual stack environment. This
is most useful for third party applications which may not
support an <acronym>IPv6</acronym>-only environment. To
enable this feature,
add the following to <filename>/etc/rc.conf</filename>:</para>
<programlisting>ipv6_ipv4mapping="YES"</programlisting>
<para>Reviewing the information in <acronym>RFC</acronym> 3493,
section 3.6 and 3.7 as well as <acronym>RFC</acronym> 4038
section 4.2 may be useful to some adminstrators.</para>
</sect2>
+
+ <sect2>
+ <title>Application Use of <acronym>IPv6</acronym></title>
+
+ <para>Currently <acronym>IPv6</acronym> support for many
+ applications and services is very good, though for some
+ software it still needs work. For authoritative
+ information about the support of
+ <acronym>IPv6</acronym>, please consult the Official
+ Documentation for the software in question.</para>
+
+ <para>Web, <acronym>DNS</acronym> and Mail applications
+ and servers have the best support for
+ <acronym>IPv6</acronym> because they are the most common
+ use case. Other applications may have varying degrees
+ of <acronym>IPv6</acronym> support.</para>
+ </sect2>
</sect1>
<sect1 id="network-atm">
<sect1info>
<authorgroup>
<author>
<firstname>Harti</firstname>
<surname>Brandt</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Asynchronous Transfer Mode (<acronym>ATM</acronym>)</title>
<sect2>
<title>Configuring Classical <acronym>IP</acronym> over
<acronym>ATM</acronym></title>
<para>Classical <acronym>IP</acronym> over
<acronym>ATM</acronym> (<acronym>CLIP</acronym>) is the
simplest method to use Asynchronous Transfer Mode
(<acronym>ATM</acronym>) with <acronym>IP</acronym>. It can
be used with Switched Virtual Circuits
(<acronym>SVC</acronym>s) and with Permanent Virtual Circuits
(<acronym>PVC</acronym>s). This section describes how to
set up a network based on <acronym>PVC</acronym>s.</para>
<sect3>
<title>Fully Meshed Configurations</title>
<para>The first method to set up a <acronym>CLIP</acronym>
with <acronym>PVC</acronym>s is to connect each machine
to each other machine in the network via a dedicated
<acronym>PVC</acronym>. While this is simple to
configure, it becomes impractical for a large number of
machines. The following example supposes four machines in
the network, each connected to the <acronym
role="Asynchronous Transfer Mode">ATM</acronym> network
with an <acronym
role="Asynchronous Transfer Mode">ATM</acronym> adapter
card. The first step is the planning of the
<acronym>IP</acronym> addresses and the <acronym
role="Asynchronous Transfer Mode">ATM</acronym>
connections between the machines. This example uses the
following:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<colspec colwidth="1*"/>
<colspec colwidth="1*"/>
<thead>
<row>
<entry>Host</entry>
<entry><acronym>IP</acronym> Address</entry>
</row>
</thead>
<tbody>
<row>
<entry><hostid>hostA</hostid></entry>
<entry><hostid
role="ipaddr">192.168.173.1</hostid></entry>
</row>
<row>
<entry><hostid>hostB</hostid></entry>
<entry><hostid
role="ipaddr">192.168.173.2</hostid></entry>
</row>
<row>
<entry><hostid>hostC</hostid></entry>
<entry><hostid
role="ipaddr">192.168.173.3</hostid></entry>
</row>
<row>
<entry><hostid>hostD</hostid></entry>
<entry><hostid
role="ipaddr">192.168.173.4</hostid></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>To build a fully meshed net, one <acronym>ATM</acronym>
connection is needed between each pair of machines:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<colspec colwidth="1*"/>
<colspec colwidth="1*"/>
<thead>
<row>
<entry>Machines</entry>
<entry>VPI.VCI couple</entry>
</row>
</thead>
<tbody>
<row>
<entry><hostid>hostA</hostid> -
<hostid>hostB</hostid></entry>
<entry>0.100</entry>
</row>
<row>
<entry><hostid>hostA</hostid> -
<hostid>hostC</hostid></entry>
<entry>0.101</entry>
</row>
<row>
<entry><hostid>hostA</hostid> -
<hostid>hostD</hostid></entry>
<entry>0.102</entry>
</row>
<row>
<entry><hostid>hostB</hostid> -
<hostid>hostC</hostid></entry>
<entry>0.103</entry>
</row>
<row>
<entry><hostid>hostB</hostid> -
<hostid>hostD</hostid></entry>
<entry>0.104</entry>
</row>
<row>
<entry><hostid>hostC</hostid> -
<hostid>hostD</hostid></entry>
<entry>0.105</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>The Virtual Path Identifier <acronym>VPI</acronym> and
Virtual Channel Identifier <acronym>VCI</acronym> values
at each end of the connection may differ, but for
simplicity, this example assumes they are the same. Next,
configure the <acronym>ATM</acronym> interfaces on each
host:</para>
<screen>hostA&prompt.root; <userinput>ifconfig hatm0 192.168.173.1 up</userinput>
hostB&prompt.root; <userinput>ifconfig hatm0 192.168.173.2 up</userinput>
hostC&prompt.root; <userinput>ifconfig hatm0 192.168.173.3 up</userinput>
hostD&prompt.root; <userinput>ifconfig hatm0 192.168.173.4 up</userinput></screen>
<para>This example assumes that the <acronym>ATM</acronym>
interface is <devicename>hatm0</devicename> on all hosts.
Next, the <acronym>PVC</acronym>s need to be configured on
<hostid>hostA</hostid>. This should already be configured
on the <acronym>ATM</acronym> switch; consult the manual
for the switch on how to do this.</para>
<screen>hostA&prompt.root; <userinput>atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr</userinput>
hostA&prompt.root; <userinput>atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr</userinput>
hostA&prompt.root; <userinput>atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr</userinput>
hostB&prompt.root; <userinput>atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr</userinput>
hostB&prompt.root; <userinput>atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr</userinput>
hostB&prompt.root; <userinput>atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr</userinput>
hostC&prompt.root; <userinput>atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr</userinput>
hostC&prompt.root; <userinput>atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr</userinput>
hostC&prompt.root; <userinput>atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr</userinput>
hostD&prompt.root; <userinput>atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr</userinput>
hostD&prompt.root; <userinput>atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr</userinput>
hostD&prompt.root; <userinput>atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr</userinput></screen>
<para>Other traffic contracts besides <literal>ubr</literal>
can be used if the <acronym>ATM</acronym> adapter supports
it. In this case, the name of the traffic contract is
followed by the parameters of the traffic. Help for the
&man.atmconfig.8; tool can be obtained with:</para>
<screen>&prompt.root; <userinput>atmconfig help natm add</userinput></screen>
<para>Refer to &man.atmconfig.8; for more information.</para>
<para>The same configuration can also be done via
<filename>/etc/rc.conf</filename>. These lines configure
<hostid>hostA</hostid>:</para>
<programlisting>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"</programlisting>
<para>The current state of all <acronym>CLIP</acronym> routes
can be obtained with:</para>
<screen>hostA&prompt.root; <userinput>atmconfig natm show</userinput></screen>
</sect3>
</sect2>
</sect1>
<sect1 id="carp">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Common Address Redundancy Protocol
(<acronym>CARP</acronym>)</title>
<indexterm>
<primary><acronym>CARP</acronym></primary>
</indexterm>
<indexterm>
<primary>Common Address Redundancy Protocol</primary>
</indexterm>
<para>The Common Address Redundancy Protocol
(<acronym>CARP</acronym>) allows multiple hosts to share the
same <acronym>IP</acronym> address. In some configurations,
this may be used for availability or load balancing. Hosts
may use separate <acronym>IP</acronym> addresses, as in the
example provided here.</para>
<para>To enable support for <acronym>CARP</acronym>, the &os;
kernel can be rebuilt as described in <xref
linkend="kernelconfig"/> with the following option:</para>
<programlisting>device carp</programlisting>
<para>Alternatively, the <filename>if_carp.ko</filename> module
can be loaded at boot time. Add the following line to
<filename>/boot/loader.conf</filename>:</para>
<programlisting>if_carp_load="YES"</programlisting>
<para><acronym>CARP</acronym> functionality should now be
available and may be tuned via several &man.sysctl.8;
variables:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>OID</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><varname>net.inet.carp.allow</varname></entry>
<entry>Accept incoming <acronym>CARP</acronym> packets.
Enabled by default.</entry>
</row>
<row>
<entry><varname>net.inet.carp.preempt</varname></entry>
<entry>This option downs all of the
<acronym>CARP</acronym> interfaces on the host when one
goes down. Disabled by default.</entry>
</row>
<row>
<entry><varname>net.inet.carp.log</varname></entry>
<entry>A value of <literal>0</literal> disables any
logging. A value of <literal>1</literal> enables
logging of bad <acronym>CARP</acronym> packets. Values
greater than <literal>1</literal> enable logging of
state changes for the <acronym>CARP</acronym>
interfaces. The default value is
<literal>1</literal>.</entry>
</row>
<row>
<entry><varname>net.inet.carp.arpbalance</varname></entry>
<entry>Balance local network traffic using
<acronym>ARP</acronym>. Disabled by default.</entry>
</row>
<row>
<entry><varname>net.inet.carp.suppress_preempt</varname></entry>
<entry>A read-only variable showing the status of
preemption suppression. Preemption can be suppressed
if the link on an interface is down. A value of
<literal>0</literal> means that preemption is not
suppressed. Every problem increments this
variable.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>The <acronym>CARP</acronym> devices themselves may be
created using &man.ifconfig.8;:</para>
<screen>&prompt.root; <userinput>ifconfig carp0 create</userinput></screen>
<para>In a real environment, each interface has a unique
identification number known as a Virtual Host IDentification
(<acronym>VHID</acronym>) which is used to distinguish the
host on the network.</para>
<sect2>
<title>Using <acronym>CARP</acronym> for Server
Availability</title>
<para>One use of <acronym>CARP</acronym> is to provide server
availability. This example configures failover support for
three hosts, all with unique <acronym>IP</acronym>
addresses and providing the same web content. These machines
act in conjunction with a Round Robin
<acronym>DNS</acronym> configuration. The failover machine
has two additional <acronym>CARP</acronym> interfaces, one
for each of the content server's
<acronym>IP</acronym> addresses. When a
failure occurs, the failover server will pick up the failed
machine's <acronym>IP</acronym> address.
This means that the failure should go completely unnoticed
by the user. The failover server requires identical content
and services as the other content servers it is expected to
pick up load for.</para>
<para>The two machines should be configured identically other
than their hostnames and <acronym>VHID</acronym>s. This
example calls these machines
<hostid>hosta.example.org</hostid> and
<hostid>hostb.example.org</hostid> respectively. First, the
required lines for a <acronym>CARP</acronym> configuration
have to be added to <filename>/etc/rc.conf</filename>. Here
are the lines for
<hostid>hosta.example.org</hostid>:</para>
<programlisting>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"</programlisting>
<para>On <hostid>hostb.example.org</hostid>, use the following
lines:</para>
<programlisting>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"</programlisting>
<note>
<para>It is very important that the passwords, specified by
the <option>pass</option> option to &man.ifconfig.8;, are
identical. The <devicename>carp</devicename> devices will
only listen to and accept advertisements from machines
with the correct password. The <acronym>VHID</acronym>
must also be unique for each machine.</para>
</note>
<para>The third machine, <hostid>provider.example.org</hostid>,
should be prepared so that it may handle failover from either
host. This machine will require two
<devicename>carp</devicename> devices, one to handle each
host. The appropriate <filename>/etc/rc.conf</filename>
configuration lines will be similar to the following:</para>
<programlisting>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"</programlisting>
<para>Having the two <devicename>carp</devicename> devices will
allow <hostid>provider.example.org</hostid> to notice and pick
up the <acronym>IP</acronym> address of either machine, should
it stop responding.</para>
<note>
<para>The default &os; kernel <emphasis>may</emphasis> have
preemption enabled. If so,
<hostid>provider.example.org</hostid> may not relinquish the
<acronym>IP</acronym> address back to the original content
server. In this case, an administrator may have to manually
force the <acronym>IP</acronym> back to the master. The
following command should be issued on
<hostid>provider.example.org</hostid>:</para>
<screen>&prompt.root; <userinput>ifconfig carp0 down &amp;&amp; ifconfig carp0 up</userinput></screen>
<para>This should be done on the <devicename>carp</devicename>
interface which corresponds to the correct host.</para>
</note>
<para>At this point, <acronym>CARP</acronym> should be enabled
and available for testing. For testing, either networking
has to be restarted or the machines rebooted.</para>
<para>More information is available in &man.carp.4;.</para>
</sect2>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/basics/chapter.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/basics/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/basics/chapter.xml (revision 42804)
@@ -1,2658 +1,2513 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="basics">
<chapterinfo>
<authorgroup>
<author>
<firstname>Chris</firstname>
<surname>Shumway</surname>
<contrib>Rewritten by </contrib>
</author>
</authorgroup>
<!-- 10 Mar 2000 -->
</chapterinfo>
<title>UNIX Basics</title>
<sect1 id="basics-synopsis">
<title>Synopsis</title>
<para>This chapter covers the basic commands and functionality of
the &os; operating system. Much of this material is relevant
for any &unix;-like operating system. New &os; users are
encouraged to read through this chapter carefully.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>How to use the <quote>virtual consoles</quote> of
&os;.</para>
</listitem>
<listitem>
<para>How &unix; file permissions and &os; file flags
work.</para>
</listitem>
<listitem>
<para>The default &os; file system layout.</para>
</listitem>
<listitem>
<para>The &os; disk organization.</para>
</listitem>
<listitem>
<para>How to mount and unmount file systems.</para>
</listitem>
<listitem>
<para>What processes, daemons, and signals are.</para>
</listitem>
<listitem>
<para>What a shell is, and how to change the default login
environment.</para>
</listitem>
<listitem>
<para>How to use basic text editors.</para>
</listitem>
<listitem>
<para>What devices and device nodes are.</para>
</listitem>
<listitem>
- <para>What binary format is used under &os;.</para>
- </listitem>
-
- <listitem>
<para>How to read manual pages for more information.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="consoles">
<title>Virtual Consoles and Terminals</title>
<indexterm><primary>virtual consoles</primary></indexterm>
<indexterm><primary>terminals</primary></indexterm>
<para>&os; can be used in various ways. One of them is typing
commands to a text terminal. A lot of the flexibility and power
of a &unix; operating system is readily available when using
&os; this way. This section describes what
<quote>terminals</quote> and <quote>consoles</quote> are, and
how to use them in &os;.</para>
<sect2 id="consoles-intro">
<title>The Console</title>
<indexterm><primary>console</primary></indexterm>
- <para>Unless &os; has been configured to automatically start
- a graphical environment during startup, the system will boot
+ <para>Unless &os; has been configured to automatically start a
+ graphical environment during startup, the system will boot
into a command line login prompt, as seen in this
example:</para>
<screen>FreeBSD/amd64 (pc3.example.org) (ttyv0)
login:</screen>
- <para>The first line contains some information about the
- system. The <literal>amd64</literal> indicates that the
- system in this example is running a 64-bit version of &os;.
- The hostname is <hostid>pc3.example.org</hostid>, and
+ <para>The first line contains some information about the system.
+ The <literal>amd64</literal> indicates that the system in this
+ example is running a 64-bit version of &os;. The hostname is
+ <hostid>pc3.example.org</hostid>, and
<devicename>ttyv0</devicename> indicates that this is the
system console.</para>
<para>The second line is the login prompt. The next section
describes how to log into &os; at this prompt.</para>
</sect2>
<sect2 id="consoles-login">
<title>Logging into &os;</title>
- <para>&os; is a multiuser, multiprocessing system. This is
- the formal description that is usually given to a system that
- can be used by many different people, who simultaneously run a
- lot of programs on a single machine.</para>
+ <para>&os; is a multiuser, multiprocessing system. This is the
+ formal description that is usually given to a system that can
+ be used by many different people, who simultaneously run a lot
+ of programs on a single machine.</para>
<para>Every multiuser system needs some way to distinguish one
<quote>user</quote> from the rest. In &os; (and all the
&unix;-like operating systems), this is accomplished by
requiring that every user must <quote>log into</quote> the
system before being able to run programs. Every user has a
unique name (the <quote>username</quote>) and a personal,
- secret key (the <quote>password</quote>). &os; will ask
- for these two before allowing a user to run any
- programs.</para>
+ secret key (the <quote>password</quote>). &os; will ask for
+ these two before allowing a user to run any programs.</para>
<indexterm><primary>startup scripts</primary></indexterm>
<para>When a &os; system boots, startup scripts are
automatically executed in order to prepare the system and to
start any services which have been configured to start at
system boot. Once the system finishes running its startup
scripts, it will present a login prompt:</para>
<screen>login:</screen>
<para>Type the username that was configured during system
- installation, as described in <xref
- linkend="bsdinstall-addusers"/>, and press
+ installation, as described in
+ <xref linkend="bsdinstall-addusers"/>, and press
<keycap>Enter</keycap>. Then enter the password associated
with the username and press <keycap>Enter</keycap>. The
password is <emphasis>not echoed</emphasis> for security
reasons.</para>
<para>Once the correct password is input, the message of the
day (<acronym>MOTD</acronym>) will be displayed followed
by a command prompt (a <literal>#</literal>,
<literal>$</literal>, or <literal>%</literal> character). You
are now logged into the &os; console and ready to try the
available commands.</para>
</sect2>
<sect2 id="consoles-virtual">
<title>Virtual Consoles</title>
<para>&os; can be configured to provide many virtual consoles
for inputting commands. Each virtual console has its own
login prompt and output channel, and &os; takes care of
properly redirecting keyboard input and monitor output as
switching occurs between virtual consoles.</para>
<para>Special key combinations have been reserved by &os; for
switching consoles.<footnote>
<para>Refer to &man.syscons.4;, &man.atkbd.4;,
&man.vidcontrol.1; and &man.kbdcontrol.1; for a more
technical description of the &os; console and its keyboard
drivers.</para></footnote>. Use
<keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>,
<keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo>,
through
<keycombo><keycap>Alt</keycap><keycap>F8</keycap></keycombo>
to switch to a different virtual console in &os;.</para>
<para>When switching from one console to the next, &os; takes
care of saving and restoring the screen output. The result is
an <quote>illusion</quote> of having multiple
<quote>virtual</quote> screens and keyboards that can be used
to type commands for &os; to run. The programs that are
launched in one virtual console do not stop running when that
console is not visible because the user has switched to a
different virtual console.</para>
</sect2>
<sect2 id="consoles-ttys">
<title>The <filename>/etc/ttys</filename> File</title>
<para>By default, &os; is configured to start eight virtual
consoles. The configuration can be customized to start
more or fewer virtual consoles. To change the number of and
the settings of the virtual consoles, edit
<filename>/etc/ttys</filename>.</para>
<para>Each uncommented line in <filename>/etc/ttys</filename>
(lines that do not start with a <literal>#</literal>
character) contains settings for a single terminal or virtual
console. The default version configures nine virtual
consoles, and enables eight of them. They are the lines that
start with <literal>ttyv</literal>:</para>
<programlisting># name getty type status comments
#
ttyv0 "/usr/libexec/getty Pc" cons25 on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25 on secure
ttyv2 "/usr/libexec/getty Pc" cons25 on secure
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</programlisting>
<para>For a detailed description of every column in this file
and the available options for the virtual consoles, refer to
&man.ttys.5;.</para>
</sect2>
<sect2 id="consoles-singleuser">
<title>Single User Mode Console</title>
<para>A detailed description of <quote>single user mode</quote>
can be found in <xref linkend="boot-singleuser"/>. There is
only one console when &os; is in single user mode as no other
virtual consoles are available in this mode. The settings
for single user mode are found in this section of
<filename>/etc/ttys</filename>:</para>
<programlisting># name getty type status comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none unknown off secure</programlisting>
<note>
<para>As the comments above the <literal>console</literal>
line indicate, editing <literal>secure</literal> to
<literal>insecure</literal> will prompt for the
<username>root</username> password when booting into single
user mode. The default setting enters single user mode
without prompting for a password.</para>
<para><emphasis>Be careful when changing this setting to
<literal>insecure</literal></emphasis>. If the
<username>root</username> password is forgotten, booting
into single user mode is still possible, but may be
difficult for someone who is not comfortable with the &os;
booting process.</para>
</note>
</sect2>
<sect2 id="consoles-vidcontrol">
<title>Changing Console Video Modes</title>
<para>The &os; console default video mode may be adjusted to
1024x768, 1280x1024, or any other size supported by the
graphics chip and monitor. To use a different video mode
load the <literal>VESA</literal> module:</para>
<screen>&prompt.root; <userinput>kldload vesa</userinput></screen>
<para>To determine which video modes are supported by the
hardware, use &man.vidcontrol.1;. To get a list of supported
video modes issue the following:</para>
<screen>&prompt.root; <userinput>vidcontrol -i mode</userinput></screen>
- <para>The output of this command lists the video modes that
- are supported by the hardware. To select a new video mode,
+ <para>The output of this command lists the video modes that are
+ supported by the hardware. To select a new video mode,
specify the mode using &man.vidcontrol.1; as the
<username>root</username> user:</para>
<screen>&prompt.root; <userinput>vidcontrol MODE_279</userinput></screen>
<para>If the new video mode is acceptable, it can be permanently
set on boot by adding it to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>allscreens_flags="MODE_279"</programlisting>
</sect2>
</sect1>
<sect1 id="permissions">
<title>Permissions</title>
<indexterm><primary>UNIX</primary></indexterm>
- <para>&os;, being a direct descendant of BSD &unix;, is based
- on several key &unix; concepts. The first and most pronounced
- is that &os; is a multi-user operating system that can handle
+ <para>&os;, being a direct descendant of BSD &unix;, is based on
+ several key &unix; concepts. The first and most pronounced is
+ that &os; is a multi-user operating system that can handle
several users working simultaneously on completely unrelated
tasks. The system is responsible for properly sharing and
managing requests for hardware devices, peripherals, memory, and
CPU time fairly to each user.</para>
<para>Much more information about user accounts is in the chapter
about <link linkend="users">accounts</link>. It is important to
- understand that each person (user) who uses the computer should be
- given their own username and password. The system keeps track
- of the people using the computer based on this username. Since
- it is often the case that several people are working on the same
- project &unix; also provides groups. Several users can be placed
- in the same group.</para>
+ understand that each person (user) who uses the computer should
+ be given their own username and password. The system keeps
+ track of the people using the computer based on this username.
+ Since it is often the case that several people are working on
+ the same project &unix; also provides groups. Several users can
+ be placed in the same group.</para>
<para>Because the system is capable of supporting multiple users,
everything the system manages has a set of permissions governing
who can read, write, and execute the resource. These
permissions are stored as three octets broken into three pieces,
one for the owner of the file, one for the group that the file
belongs to, and one for everyone else. This numerical
representation works like this:</para>
<note>
<para>This section will discuss the traditional &unix;
- permissions. For finer grained file system access
- control, see the <link linkend="fs-acl">File System
- Access Control Lists</link> section.</para>
+ permissions. For finer grained file system access control,
+ see the
+ <link linkend="fs-acl">File System Access Control Lists</link>
+ section.</para>
</note>
<indexterm><primary>permissions</primary></indexterm>
<indexterm>
<primary>file permissions</primary>
</indexterm>
<informaltable frame="none" pgwide="1">
<tgroup cols="3">
<thead>
<row>
<entry>Value</entry>
<entry>Permission</entry>
<entry>Directory Listing</entry>
</row>
</thead>
<tbody>
<row>
<entry>0</entry>
<entry>No read, no write, no execute</entry>
<entry><literal>---</literal></entry>
</row>
<row>
<entry>1</entry>
<entry>No read, no write, execute</entry>
<entry><literal>--x</literal></entry>
</row>
<row>
<entry>2</entry>
<entry>No read, write, no execute</entry>
<entry><literal>-w-</literal></entry>
</row>
<row>
<entry>3</entry>
<entry>No read, write, execute</entry>
<entry><literal>-wx</literal></entry>
</row>
<row>
<entry>4</entry>
<entry>Read, no write, no execute</entry>
<entry><literal>r--</literal></entry>
</row>
<row>
<entry>5</entry>
<entry>Read, no write, execute</entry>
<entry><literal>r-x</literal></entry>
</row>
<row>
<entry>6</entry>
<entry>Read, write, no execute</entry>
<entry><literal>rw-</literal></entry>
</row>
<row>
<entry>7</entry>
<entry>Read, write, execute</entry>
<entry><literal>rwx</literal></entry>
</row>
</tbody>
</tgroup>
</informaltable>
+
<indexterm>
<primary>&man.ls.1;</primary>
</indexterm>
<indexterm><primary>directories</primary></indexterm>
<para>Use the <option>-l</option> argument to &man.ls.1; to view a
long directory listing that includes a column of information
about a file's permissions for the owner, group, and everyone
else. For example, a <command>ls -l</command> in an arbitrary
directory may show:</para>
<screen>&prompt.user; <userinput>ls -l</userinput>
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</screen>
<para>The first (leftmost) character in the first column indicates
whether this file is a regular file, a directory, a special
character device, a socket, or any other special pseudo-file
device. In this example, the <literal>-</literal> indicates a
regular file. The next three characters, <literal>rw-</literal>
in this example, give the permissions for the owner of the file.
The next three characters, <literal>r--</literal>, give the
permissions for the group that the file belongs to. The final
three characters, <literal>r--</literal>, give the permissions
for the rest of the world. A dash means that the permission is
turned off. In this example, the permissions are set so the
owner can read and write to the file, the group can read the
file, and the rest of the world can only read the file.
According to the table above, the permissions for this file
would be <literal>644</literal>, where each digit represents the
three parts of the file's permission.</para>
<para>How does the system control permissions on devices? &os;
treats most hardware devices as a file that programs can open,
read, and write data to. These special device files are
stored in <filename class="directory">/dev/</filename>.</para>
<para>Directories are also treated as files. They have read,
write, and execute permissions. The executable bit for a
directory has a slightly different meaning than that of files.
When a directory is marked executable, it means it is possible
to change into that directory using &man.cd.1;. This also
means that it is possible to access the files within that
directory, subject to the permissions on the files
themselves.</para>
<para>In order to perform a directory listing, the read permission
must be set on the directory. In order to delete a file that
one knows the name of, it is necessary to have write
<emphasis>and</emphasis> execute permissions to the directory
containing the file.</para>
<para>There are more permission bits, but they are primarily used
in special circumstances such as setuid binaries and sticky
directories. For more information on file permissions and how
to set them, refer to &man.chmod.1;.</para>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect2info>
<title>Symbolic Permissions</title>
<indexterm>
<primary>permissions</primary>
<secondary>symbolic</secondary>
</indexterm>
<para>Symbolic permissions use characters instead of octal
values to assign permissions to files or directories.
Symbolic permissions use the syntax of (who) (action)
(permissions), where the following values are
available:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="3">
<thead>
<row>
<entry>Option</entry>
<entry>Letter</entry>
<entry>Represents</entry>
</row>
</thead>
<tbody>
<row>
<entry>(who)</entry>
<entry>u</entry>
<entry>User</entry>
</row>
<row>
<entry>(who)</entry>
<entry>g</entry>
<entry>Group owner</entry>
</row>
<row>
<entry>(who)</entry>
<entry>o</entry>
<entry>Other</entry>
</row>
<row>
<entry>(who)</entry>
<entry>a</entry>
<entry>All (<quote>world</quote>)</entry>
</row>
<row>
<entry>(action)</entry>
<entry>+</entry>
<entry>Adding permissions</entry>
</row>
<row>
<entry>(action)</entry>
<entry>-</entry>
<entry>Removing permissions</entry>
</row>
<row>
<entry>(action)</entry>
<entry>=</entry>
<entry>Explicitly set permissions</entry>
</row>
<row>
<entry>(permissions)</entry>
<entry>r</entry>
<entry>Read</entry>
</row>
<row>
<entry>(permissions)</entry>
<entry>w</entry>
<entry>Write</entry>
</row>
<row>
<entry>(permissions)</entry>
<entry>x</entry>
<entry>Execute</entry>
</row>
<row>
<entry>(permissions)</entry>
<entry>t</entry>
<entry>Sticky bit</entry>
</row>
<row>
<entry>(permissions)</entry>
<entry>s</entry>
<entry>Set UID or GID</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>These values are used with &man.chmod.1;, but with
letters instead of numbers. For example, the following
command would block other users from accessing
<replaceable>FILE</replaceable>:</para>
<screen>&prompt.user; <userinput>chmod go= FILE</userinput></screen>
<para>A comma separated list can be provided when more than one
set of changes to a file must be made. For example, the
following command removes the group and
<quote>world</quote> write permission on
<replaceable>FILE</replaceable>, and adds the execute
permissions for everyone:</para>
<screen>&prompt.user; <userinput>chmod go-w,a+x <replaceable>FILE</replaceable></userinput></screen>
<!--
<para>Most users will not notice this, but it should be pointed
out that using the octal method will only set or assign
permissions to a file; it does not add or delete them.</para>
-->
</sect2>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect2info>
<title>&os; File Flags</title>
<para>In addition to file permissions, &os; supports the use of
<quote>file flags</quote>. These flags add an additional
level of security and control over files, but not directories.
With file flags, even <username>root</username> can be
prevented from removing or altering files.</para>
<para>File flags are modified using &man.chflags.1;. For
example, to enable the system undeletable flag on the file
<filename>file1</filename>, issue the following
command:</para>
<screen>&prompt.root; <userinput>chflags sunlink <filename>file1</filename></userinput></screen>
<para>To disable the system undeletable flag, put a
<quote>no</quote> in front of the
<option>sunlink</option>:</para>
<screen>&prompt.root; <userinput>chflags nosunlink <filename>file1</filename></userinput></screen>
<para>To view the flags of a file, use <option>-lo</option> with
&man.ls.1;:</para>
<screen>&prompt.root; <userinput>ls -lo <filename>file1</filename></userinput></screen>
<programlisting>-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1</programlisting>
<para>Several file flags may only be added or removed by the
<username>root</username> user. In other cases, the file
owner may set its file flags. Refer to &man.chflags.1; and
&man.chflags.2; for more information.</para>
</sect2>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect2info>
<title>The <literal>setuid</literal>, <literal>setgid</literal>,
and <literal>sticky</literal> Permissions</title>
<para>Other than the permissions already discussed, there are
three other specific settings that all administrators should
know about. They are the <literal>setuid</literal>,
<literal>setgid</literal>, and <literal>sticky</literal>
permissions.</para>
<para>These settings are important for some &unix; operations
as they provide functionality not normally granted to normal
users. To understand them, the difference between the real
user ID and effective user ID must be noted.</para>
<para>The real user ID is the <acronym>UID</acronym> who owns
or starts the process. The effective <acronym>UID</acronym>
is the user ID the process runs as. As an example,
&man.passwd.1; runs with the real user ID when a user changes
their password. However, in order to update the password
database, the command runs as the effective ID of the
<username>root</username> user. This allows users to change
their passwords without seeing a
<errorname>Permission Denied</errorname> error.</para>
<para>The setuid permission may be set by prefixing a permission
set with the number four (4) as shown in the following
example:</para>
<screen>&prompt.root; <userinput>chmod 4755 suidexample.sh</userinput></screen>
<para>The permissions on
<filename><replaceable>suidexample.sh</replaceable></filename>
now look like the following:</para>
<programlisting>-rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidexample.sh</programlisting>
<para>Note that a <literal>s</literal> is now part of the
permission set designated for the file owner, replacing the
executable bit. This allows utilities which need elevated
permissions, such as &man.passwd.1;.</para>
<note>
<para>The <literal>nosuid</literal> &man.mount.8; option will
cause such binaries to silently fail without alerting
the user. That option is not completely reliable as a
<literal>nosuid</literal> wrapper may be able to circumvent
it.</para>
</note>
<para>To view this in real time, open two terminals. On
one, type <command>passwd</command> as a normal user.
While it waits for a new password, check the process
table and look at the user information for
&man.passwd.1;:</para>
<para>In terminal A:</para>
<screen>Changing local password for trhodes
Old Password:</screen>
<para>In terminal B:</para>
<screen>&prompt.root; <userinput>ps aux | grep passwd</userinput></screen>
<screen>trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd
root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
<para>Although &man.passwd.1; is run as a normal user, it is
using the effective <acronym>UID</acronym> of
<username>root</username>.</para>
<para>The <literal>setgid</literal> permission performs the
same function as the <literal>setuid</literal> permission;
except that it alters the group settings. When an application
or utility executes with this setting, it will be granted the
permissions based on the group that owns the file, not the
user who started the process.</para>
<para>To set the <literal>setgid</literal> permission on a
file, provide &man.chmod.1; with a leading two (2):</para>
<screen>&prompt.root; <userinput>chmod 2755 sgidexample.sh</userinput></screen>
<para>In the following listing, notice that the
<literal>s</literal> is now in the field designated for the
group permission settings:</para>
<screen>-rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 sgidexample.sh</screen>
<note>
<para>In these examples, even though the shell script in
question is an executable file, it will not run with
a different <acronym>EUID</acronym> or effective user ID.
This is because shell scripts may not access the
&man.setuid.2; system calls.</para>
</note>
<para>The <literal>setuid</literal> and
<literal>setgid</literal> permission bits may lower system
security, by allowing for elevated permissions. The third
special permission, the <literal>sticky bit</literal>, can
strengthen the security of a system.</para>
<para>When the <literal>sticky bit</literal> is set on a
directory, it allows file deletion only by the file owner.
This is useful to prevent file deletion in public directories,
such as <filename class="directory">/tmp</filename>, by users
who do not own the file. To utilize this permission, prefix
the permission set with a one (1):</para>
<screen>&prompt.root; <userinput>chmod 1777 /tmp</userinput></screen>
<para>The <literal>sticky bit</literal> permission will display
as a <literal>t</literal> at the very end of the permission
set:</para>
<screen>&prompt.root; <userinput>ls -al / | grep tmp</userinput></screen>
<screen>drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp</screen>
</sect2>
</sect1>
<sect1 id="dirstructure">
<title>Directory Structure</title>
<indexterm><primary>directory hierarchy</primary></indexterm>
<para>The &os; directory hierarchy is fundamental to obtaining
an overall understanding of the system. The most important
directory is root or, <quote>/</quote>. This directory is the
first one mounted at boot time and it contains the base system
necessary to prepare the operating system for multi-user
operation. The root directory also contains mount points for
other file systems that are mounted during the transition to
multi-user operation.</para>
<para>A mount point is a directory where additional file systems
can be grafted onto a parent file system (usually the root file
system). This is further described in <xref
linkend="disk-organization"/>. Standard mount points
include <filename class="directory">/usr/</filename>,
<filename class="directory">/var/</filename>,
<filename class="directory">/tmp/</filename>,
<filename class="directory">/mnt/</filename>, and
<filename class="directory">/cdrom/</filename>. These
directories are usually referenced to entries in
<filename>/etc/fstab</filename>. This file is a table of
various file systems and mount points and is read by the system.
Most of the file systems in <filename>/etc/fstab</filename> are
mounted automatically at boot time from the script &man.rc.8;
unless their entry includes <option>noauto</option>. Details
can be found in <xref linkend="disks-fstab"/>.</para>
<para>A complete description of the file system hierarchy is
available in &man.hier.7;. The following table provides a brief
overview of the most common directories.</para>
<para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Directory</entry>
<entry>Description</entry>
</row>
</thead>
<tbody valign="top">
<row>
<entry><filename class="directory">/</filename></entry>
<entry>Root directory of the file system.</entry>
</row>
<row>
<entry><filename
class="directory">/bin/</filename></entry>
<entry>User utilities fundamental to both single-user
and multi-user environments.</entry>
</row>
<row>
<entry><filename
class="directory">/boot/</filename></entry>
<entry>Programs and configuration files used during
operating system bootstrap.</entry>
</row>
<row>
<entry><filename
class="directory">/boot/defaults/</filename></entry>
<entry>Default boot configuration files. Refer to
&man.loader.conf.5; for details.</entry>
</row>
<row>
<entry><filename
class="directory">/dev/</filename></entry>
<entry>Device nodes. Refer to &man.intro.4; for
details.</entry>
</row>
<row>
<entry><filename
class="directory">/etc/</filename></entry>
<entry>System configuration files and scripts.</entry>
</row>
<row>
<entry><filename
class="directory">/etc/defaults/</filename></entry>
<entry>Default system configuration files. Refer to
&man.rc.8; for details.</entry>
</row>
<row>
<entry><filename
class="directory">/etc/mail/</filename></entry>
<entry>Configuration files for mail transport agents
such as &man.sendmail.8;.</entry>
</row>
<row>
<entry><filename
class="directory">/etc/namedb/</filename></entry>
<entry>&man.named.8; configuration files.</entry>
</row>
<row>
<entry><filename
class="directory">/etc/periodic/</filename></entry>
<entry>Scripts that run daily, weekly, and monthly,
via &man.cron.8;. Refer to &man.periodic.8; for
details.</entry>
</row>
<row>
<entry><filename
class="directory">/etc/ppp/</filename></entry>
<entry>&man.ppp.8; configuration files.</entry>
</row>
<row>
<entry><filename
class="directory">/mnt/</filename></entry>
<entry>Empty directory commonly used by system
administrators as a temporary mount point.</entry>
</row>
<row>
<entry><filename
class="directory">/proc/</filename></entry>
<entry>Process file system. Refer to &man.procfs.5;,
&man.mount.procfs.8; for details.</entry>
</row>
<row>
<entry><filename
class="directory">/rescue/</filename></entry>
<entry>Statically linked programs for emergency
recovery as described in &man.rescue.8;.</entry>
</row>
<row>
<entry><filename
class="directory">/root/</filename></entry>
<entry>Home directory for the <username>root</username>
account.</entry>
</row>
<row>
<entry><filename
class="directory">/sbin/</filename></entry>
<entry>System programs and administration utilities
fundamental to both single-user and multi-user
environments.</entry>
</row>
<row>
<entry><filename
class="directory">/tmp/</filename></entry>
<entry>Temporary files which are usually
<emphasis>not</emphasis> preserved across a system
reboot. A memory-based file system is often mounted
at <filename class="directory">/tmp</filename>. This
can be automated using the tmpmfs-related variables of
&man.rc.conf.5; or with an entry in
<filename>/etc/fstab</filename>; refer to
&man.mdmfs.8; for details.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/</filename></entry>
<entry>The majority of user utilities and
applications.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/bin/</filename></entry>
<entry>Common utilities, programming tools, and
applications.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/include/</filename></entry>
<entry>Standard C include files.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/lib/</filename></entry>
<entry>Archive libraries.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/libdata/</filename></entry>
<entry>Miscellaneous utility data files.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/libexec/</filename></entry>
<entry>System daemons and system utilities executed
by other programs.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/local/</filename></entry>
<entry>Local executables and libraries. Also used as
the default destination for the &os; ports framework.
Within <filename
class="directory">/usr/local</filename>, the
general layout sketched out by &man.hier.7; for
<filename class="directory">/usr</filename> should be
used. Exceptions are the man directory, which is
directly under <filename
class="directory">/usr/local</filename>
rather than under <filename
class="directory">/usr/local/share</filename>,
and the ports documentation is in <filename
class="directory">share/doc/<replaceable>port</replaceable></filename>.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/obj/</filename></entry>
<entry>Architecture-specific target tree produced by
building the <filename
class="directory">/usr/src</filename>
tree.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/ports/</filename></entry>
<entry>The &os; Ports Collection (optional).</entry>
</row>
<row>
<entry><filename
class="directory">/usr/sbin/</filename></entry>
<entry>System daemons and system utilities executed
by users.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/share/</filename></entry>
<entry>Architecture-independent files.</entry>
</row>
<row>
<entry><filename
class="directory">/usr/src/</filename></entry>
<entry>BSD and/or local source files.</entry>
</row>
<row>
<entry><filename
class="directory">/var/</filename></entry>
<entry>Multi-purpose log, temporary, transient, and
spool files. A memory-based file system is sometimes
- mounted at <filename
- class="directory">/var</filename>. This can be
- automated using the varmfs-related variables in
+ mounted at
+ <filename class="directory">/var</filename>. This can
+ be automated using the varmfs-related variables in
&man.rc.conf.5; or with an entry in
<filename>/etc/fstab</filename>; refer to
&man.mdmfs.8; for details.</entry>
</row>
<row>
<entry><filename
class="directory">/var/log/</filename></entry>
<entry>Miscellaneous system log files.</entry>
</row>
<row>
<entry><filename
class="directory">/var/mail/</filename></entry>
<entry>User mailbox files.</entry>
</row>
<row>
<entry><filename
class="directory">/var/spool/</filename></entry>
<entry>Miscellaneous printer and mail system spooling
directories.</entry>
</row>
<row>
<entry><filename
class="directory">/var/tmp/</filename></entry>
<entry>Temporary files which are usually preserved
- across a system reboot, unless <filename
- class="directory">/var</filename> is a
+ across a system reboot, unless
+ <filename class="directory">/var</filename> is a
memory-based file system.</entry>
</row>
<row>
<entry><filename
class="directory">/var/yp/</filename></entry>
<entry>NIS maps.</entry>
</row>
</tbody>
</tgroup>
</informaltable></para>
</sect1>
<sect1 id="disk-organization">
<title>Disk Organization</title>
<para>The smallest unit of organization that &os; uses to find
files is the filename. Filenames are case-sensitive, which
means that <filename>readme.txt</filename> and
<filename>README.TXT</filename> are two separate files. &os;
does not use the extension of a file to determine whether the
file is a program, document, or some other form of data.</para>
<para>Files are stored in directories. A directory may contain no
files, or it may contain many hundreds of files. A directory
can also contain other directories, allowing a hierarchy of
directories within one another in order to organize
data.</para>
<para>Files and directories are referenced by giving the file or
directory name, followed by a forward slash,
<literal>/</literal>, followed by any other directory names that
- are necessary. For example, if the directory <filename
- class="directory">foo</filename> contains a directory
+ are necessary. For example, if the directory
+ <filename class="directory">foo</filename> contains a directory
<filename class="directory">bar</filename> which contains the
file <filename>readme.txt</filename>, the full name, or
<firstterm>path</firstterm>, to the file is
<filename>foo/bar/readme.txt</filename>. Note that this is
different from &windows; which uses <literal>\</literal> to
separate file and directory names. &os; does not use drive
letters, or other drive names in the path. For example, one
would not type <filename>c:/foo/bar/readme.txt</filename> on
&os;.</para>
<para>Directories and files are stored in a file system. Each
file system contains exactly one directory at the very top
level, called the <firstterm>root directory</firstterm> for that
file system. This root directory can contain other directories.
- One file system is designated the <firstterm>root file
- system</firstterm> or <literal>/</literal>. Every other file
- system is <firstterm>mounted</firstterm> under the root file
- system. No matter how many disks are on the &os; system, every
- directory appears to be part of the same disk.</para>
+ One file system is designated the
+ <firstterm>root file system</firstterm> or <literal>/</literal>.
+ Every other file system is <firstterm>mounted</firstterm> under
+ the root file system. No matter how many disks are on the &os;
+ system, every directory appears to be part of the same
+ disk.</para>
<para>Consider three file systems, called <literal>A</literal>,
<literal>B</literal>, and <literal>C</literal>. Each file
system has one root directory, which contains two other
directories, called <literal>A1</literal>, <literal>A2</literal>
(and likewise <literal>B1</literal>, <literal>B2</literal> and
<literal>C1</literal>, <literal>C2</literal>).</para>
<para>Call <literal>A</literal> the root file system. If
&man.ls.1; is used to view the contents of this directory,
it will show two subdirectories, <literal>A1</literal> and
<literal>A2</literal>. The directory tree looks like
this:</para>
<mediaobject>
<imageobject>
<imagedata fileref="install/example-dir1"/>
</imageobject>
<textobject>
<literallayout class="monospaced"> /
|
+--- A1
|
`--- A2</literallayout>
</textobject>
</mediaobject>
<para>A file system must be mounted on to a directory in another
file system. When mounting file system <literal>B</literal>
on to the directory <literal>A1</literal>, the root directory
of <literal>B</literal> replaces <literal>A1</literal>, and
the directories in <literal>B</literal> appear
accordingly:</para>
<mediaobject>
<imageobject>
<imagedata fileref="install/example-dir2"/>
</imageobject>
<textobject>
<literallayout class="monospaced"> /
|
+--- A1
| |
| +--- B1
| |
| `--- B2
|
`--- A2</literallayout>
</textobject>
</mediaobject>
<para>Any files that are in the <literal>B1</literal> or
<literal>B2</literal> directories can be reached with the path
- <filename class="directory">/A1/B1</filename> or <filename
- class="directory">/A1/B2</filename> as necessary. Any files
- that were in <filename class="directory">/A1</filename> have
- been temporarily hidden. They will reappear if
+ <filename class="directory">/A1/B1</filename> or
+ <filename class="directory">/A1/B2</filename> as necessary. Any
+ files that were in <filename class="directory">/A1</filename>
+ have been temporarily hidden. They will reappear if
<literal>B</literal> is <firstterm>unmounted</firstterm> from
<literal>A</literal>.</para>
<para>If <literal>B</literal> had been mounted on
<literal>A2</literal> then the diagram would look like
this:</para>
<mediaobject>
<imageobject>
<imagedata fileref="install/example-dir3"/>
</imageobject>
<textobject>
<literallayout class="monospaced"> /
|
+--- A1
|
`--- A2
|
+--- B1
|
`--- B2</literallayout>
</textobject>
</mediaobject>
<para>and the paths would be
- <filename class="directory">/A2/B1</filename> and <filename
- class="directory">/A2/B2</filename> respectively.</para>
+ <filename class="directory">/A2/B1</filename> and
+ <filename class="directory">/A2/B2</filename>
+ respectively.</para>
<para>File systems can be mounted on top of one another.
Continuing the last example, the <literal>C</literal> file
system could be mounted on top of the <literal>B1</literal>
directory in the <literal>B</literal> file system, leading to
this arrangement:</para>
<mediaobject>
<imageobject>
<imagedata fileref="install/example-dir4"/>
</imageobject>
<textobject>
<literallayout class="monospaced"> /
|
+--- A1
|
`--- A2
|
+--- B1
| |
| +--- C1
| |
| `--- C2
|
`--- B2</literallayout>
</textobject>
</mediaobject>
<para>Or <literal>C</literal> could be mounted directly on to the
<literal>A</literal> file system, under the
<literal>A1</literal> directory:</para>
<mediaobject>
<imageobject>
<imagedata fileref="install/example-dir5"/>
</imageobject>
<textobject>
<literallayout class="monospaced"> /
|
+--- A1
| |
| +--- C1
| |
| `--- C2
|
`--- A2
|
+--- B1
|
`--- B2</literallayout>
</textobject>
</mediaobject>
<para>It is entirely possible to have one large root file system,
and not need to create any others. There are some drawbacks to
this approach, and one advantage.</para>
<itemizedlist>
<title>Benefits of Multiple File Systems</title>
<listitem>
<para>Different file systems can have different
<firstterm>mount options</firstterm>. For example, the root
file system can be mounted read-only, making it impossible
for users to inadvertently delete or edit a critical file.
- Separating user-writable file systems, such as <filename
- class="directory">/home</filename>, from other file
- systems allows them to be mounted
+ Separating user-writable file systems, such as
+ <filename class="directory">/home</filename>, from other
+ file systems allows them to be mounted
<firstterm>nosuid</firstterm>. This option prevents the
<firstterm>suid</firstterm>/<firstterm>guid</firstterm> bits
on executables stored on the file system from taking effect,
possibly improving security.</para>
</listitem>
<listitem>
<para>&os; automatically optimizes the layout of files on a
file system, depending on how the file system is being used.
So a file system that contains many small files that are
written frequently will have a different optimization to one
that contains fewer, larger files. By having one big file
system this optimization breaks down.</para>
</listitem>
<listitem>
<para>&os;'s file systems are robust if power is lost.
- However, a power loss at a critical point could still
- damage the structure of the file system. By splitting
- data over multiple file systems it is more likely that the
- system will still come up, making it easier to restore from
- backup as necessary.</para>
+ However, a power loss at a critical point could still damage
+ the structure of the file system. By splitting data over
+ multiple file systems it is more likely that the system will
+ still come up, making it easier to restore from backup as
+ necessary.</para>
</listitem>
</itemizedlist>
<itemizedlist>
<title>Benefit of a Single File System</title>
<listitem>
<para>File systems are a fixed size. If you create a file
system when you install &os; and give it a specific size,
you may later discover that you need to make the partition
bigger. This is not easily accomplished without backing up,
recreating the file system with the new size, and then
restoring the backed up data.</para>
<important>
- <para>&os; features the &man.growfs.8; command, which
- makes it possible to increase the size of file system on
- the fly, removing this limitation.</para>
+ <para>&os; features the &man.growfs.8; command, which makes
+ it possible to increase the size of file system on the
+ fly, removing this limitation.</para>
</important>
</listitem>
</itemizedlist>
<para>File systems are contained in partitions. This does not
have the same meaning as the common usage of the term partition
(for example, &ms-dos; partition), because of &os;'s &unix;
heritage. Each partition is identified by a letter from
<literal>a</literal> through to <literal>h</literal>. Each
partition can contain only one file system, which means that
file systems are often described by either their typical mount
point in the file system hierarchy, or the letter of the
partition they are contained in.</para>
- <para>&os; also uses disk space for <firstterm>swap
- space</firstterm> to provide
+ <para>&os; also uses disk space for
+ <firstterm>swap space</firstterm> to provide
<firstterm>virtual memory</firstterm>. This allows your
computer to behave as though it has much more memory than it
actually does. When &os; runs out of memory, it moves some of
the data that is not currently being used to the swap space, and
moves it back in (moving something else out) when it needs
it.</para>
<para>Some partitions have certain conventions associated with
them.</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<colspec colwidth="1*"/>
<colspec colwidth="5*"/>
<thead>
<row>
<entry>Partition</entry>
<entry>Convention</entry>
</row>
</thead>
<tbody valign="top">
<row>
<entry><literal>a</literal></entry>
<entry>Normally contains the root file system.</entry>
</row>
<row>
<entry><literal>b</literal></entry>
<entry>Normally contains swap space.</entry>
</row>
<row>
<entry><literal>c</literal></entry>
<entry>Normally the same size as the enclosing slice.
This allows utilities that need to work on the entire
slice, such as a bad block scanner, to work on the
<literal>c</literal> partition. A file system would not
- normally be
- created on this partition.</entry>
+ normally be created on this partition.</entry>
</row>
<row>
<entry><literal>d</literal></entry>
<entry>Partition <literal>d</literal> used to have a
special meaning associated with it, although that is now
gone and <literal>d</literal> may work as any normal
partition.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Disks in &os; are divided into slices, referred to in
&windows; as partitions, which are numbered from 1 to 4. These
- are then then divided into partitions, which contain file
- systems, and are labeled using letters.</para>
+ are then divided into partitions, which contain file systems,
+ and are labeled using letters.</para>
<indexterm><primary>slices</primary></indexterm>
<indexterm><primary>partitions</primary></indexterm>
<indexterm><primary>dangerously dedicated</primary></indexterm>
<para>Slice numbers follow the device name, prefixed with an
<literal>s</literal>, starting at 1. So
<quote>da0<emphasis>s1</emphasis></quote> is the first slice on
the first SCSI drive. There can only be four physical slices on
a disk, but there can be logical slices inside physical slices
of the appropriate type. These extended slices are numbered
starting at 5, so <quote>ad0<emphasis>s5</emphasis></quote> is
the first extended slice on the first IDE disk. These devices
are used by file systems that expect to occupy a slice.</para>
<para>Slices, <quote>dangerously dedicated</quote> physical
drives, and other drives contain
<firstterm>partitions</firstterm>, which are represented as
letters from <literal>a</literal> to <literal>h</literal>. This
letter is appended to the device name, so
<quote>da0<emphasis>a</emphasis></quote> is the
<literal>a</literal> partition on the first
- <literal>da</literal> drive, which is <quote>dangerously
- dedicated</quote>. <quote>ad1s3<emphasis>e</emphasis></quote>
- is the fifth partition in the third slice of the second IDE
- disk drive.</para>
+ <literal>da</literal> drive, which is
+ <quote>dangerously dedicated</quote>.
+ <quote>ad1s3<emphasis>e</emphasis></quote> is the fifth
+ partition in the third slice of the second IDE disk
+ drive.</para>
<para>Finally, each disk on the system is identified. A disk name
starts with a code that indicates the type of disk, and then a
number, indicating which disk it is. Unlike slices, disk
- numbering starts at 0. Common codes are listed in <xref
- linkend="basics-dev-codes"/>.</para>
+ numbering starts at 0. Common codes are listed in
+ <xref linkend="basics-dev-codes"/>.</para>
<para>When referring to a partition, include the disk name,
<literal>s</literal>, the slice number, and then the partition
- letter. Examples are shown in <xref
- linkend="basics-disk-slice-part"/>.</para>
+ letter. Examples are shown in
+ <xref linkend="basics-disk-slice-part"/>.</para>
<para><xref linkend="basics-concept-disk-model"/> shows a
conceptual model of a disk layout.</para>
<para>When installing &os;, configure the disk slices, create
partitions within the slice to be used for &os;, create a file
system or swap space in each partition, and decide where each
file system will be mounted.</para>
<table frame="none" pgwide="1" id="basics-dev-codes">
<title>Disk Device Codes</title>
<tgroup cols="2">
<colspec colwidth="1*"/>
<colspec colwidth="5*"/>
<thead>
<row>
<entry>Code</entry>
<entry>Meaning</entry>
</row>
</thead>
<tbody>
<row>
<entry><devicename>ad</devicename></entry>
<entry>ATAPI (IDE) disk</entry>
</row>
<row>
<entry><devicename>da</devicename></entry>
<entry>SCSI direct access disk</entry>
</row>
<row>
<entry><devicename>acd</devicename></entry>
<entry>ATAPI (IDE) CDROM</entry>
</row>
<row>
<entry><devicename>cd</devicename></entry>
<entry>SCSI CDROM</entry>
</row>
<row>
<entry><devicename>fd</devicename></entry>
<entry>Floppy disk</entry>
</row>
</tbody>
</tgroup>
</table>
<example id="basics-disk-slice-part">
<title>Sample Disk, Slice, and Partition Names</title>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<colspec colwidth="1*"/>
<colspec colwidth="5*"/>
<thead>
<row>
<entry>Name</entry>
<entry>Meaning</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>ad0s1a</literal></entry>
<entry>The first partition (<literal>a</literal>) on the
first slice (<literal>s1</literal>) on the first IDE
disk (<literal>ad0</literal>).</entry>
</row>
<row>
<entry><literal>da1s2e</literal></entry>
-
<entry>The fifth partition (<literal>e</literal>) on the
second slice (<literal>s2</literal>) on the second
SCSI disk (<literal>da1</literal>).</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</example>
<example id="basics-concept-disk-model">
<title>Conceptual Model of a Disk</title>
<para>This diagram shows &os;'s view of the first IDE disk
attached to the system. Assume that the disk is 4&nbsp;GB in
size, and contains two 2&nbsp;GB slices (&ms-dos; partitions).
The first slice contains a &ms-dos; disk,
<devicename>C:</devicename>, and the second slice contains a
- &os; installation. This example &os; installation has
- three data partitions, and a swap partition.</para>
+ &os; installation. This example &os; installation has three
+ data partitions, and a swap partition.</para>
<para>The three partitions will each hold a file system.
Partition <literal>a</literal> will be used for the root file
- system, <literal>e</literal> for the <filename
- class="directory">/var/</filename> directory hierarchy, and
- <literal>f</literal> for the <filename
- class="directory">/usr/</filename> directory
+ system, <literal>e</literal> for the
+ <filename class="directory">/var/</filename> directory
+ hierarchy, and <literal>f</literal> for the
+ <filename class="directory">/usr/</filename> directory
hierarchy.</para>
<mediaobject>
<imageobject>
<imagedata fileref="install/disk-layout"/>
</imageobject>
<textobject>
<literallayout class="monospaced">.-----------------. --.
| | |
| DOS / Windows | |
: : &gt; First slice, ad0s1
: : |
| | |
:=================: ==: --.
| | | Partition a, mounted as / |
| | &gt; referred to as ad0s2a |
| | | |
:-----------------: ==: |
| | | Partition b, used as swap |
| | &gt; referred to as ad0s2b |
| | | |
:-----------------: ==: | Partition c, no
| | | Partition e, used as /var &gt; file system, all
| | &gt; referred to as ad0s2e | of FreeBSD slice,
| | | | ad0s2c
:-----------------: ==: |
| | | |
: : | Partition f, used as /usr |
: : &gt; referred to as ad0s2f |
: : | |
| | | |
| | --' |
`-----------------' --'</literallayout>
</textobject>
</mediaobject>
</example>
</sect1>
<sect1 id="mount-unmount">
<title>Mounting and Unmounting File Systems</title>
- <para>The file system is best visualized as a tree,
- rooted, as it were, at <filename class="directory">/</filename>.
- <filename class="directory">/dev</filename>, <filename
- class="directory">/usr</filename>, and the other directories
- in the root directory are branches, which may have their own
- branches, such as <filename
- class="directory">/usr/local</filename>, and so on.</para>
+ <para>The file system is best visualized as a tree, rooted, as it
+ were, at <filename class="directory">/</filename>.
+ <filename class="directory">/dev</filename>,
+ <filename class="directory">/usr</filename>, and the other
+ directories in the root directory are branches, which may have
+ their own branches, such as
+ <filename class="directory">/usr/local</filename>, and so
+ on.</para>
<indexterm><primary>root file system</primary></indexterm>
<para>There are various reasons to house some of these
- directories on separate file systems. <filename
- class="directory">/var</filename> contains the directories
- <filename class="directory">log/</filename>,
+ directories on separate file systems.
+ <filename class="directory">/var</filename> contains the
+ directories <filename class="directory">log/</filename>,
<filename class="directory">spool/</filename>, and various types
of temporary files, and as such, may get filled up. Filling up
- the root file system is not a good idea, so splitting <filename
- class="directory">/var</filename> from <filename
- class="directory">/</filename> is often favorable.</para>
+ the root file system is not a good idea, so splitting
+ <filename class="directory">/var</filename> from
+ <filename class="directory">/</filename> is often
+ favorable.</para>
<para>Another common reason to contain certain directory trees on
other file systems is if they are to be housed on separate
physical disks, or are separate virtual disks, such as Network
- File System mounts, described in <xref linkend="network-nfs"/>,
+ File System mounts, described in <xref linkend="network-nfs"/>,
or CDROM drives.</para>
<sect2 id="disks-fstab">
<title>The <filename>fstab</filename> File</title>
<indexterm>
<primary>file systems</primary>
<secondary>mounted with fstab</secondary>
</indexterm>
- <para>During the boot process (<xref linkend="boot"/>),
- file systems listed in <filename>/etc/fstab</filename> are
+ <para>During the boot process (<xref linkend="boot"/>), file
+ systems listed in <filename>/etc/fstab</filename> are
automatically mounted except for the entries containing
<option>noauto</option>. This file contains entries in the
following format:</para>
<programlisting><replaceable>device</replaceable> <replaceable>/mount-point</replaceable> <replaceable>fstype</replaceable> <replaceable>options</replaceable> <replaceable>dumpfreq</replaceable> <replaceable>passno</replaceable></programlisting>
<variablelist>
<varlistentry>
<term><literal>device</literal></term>
<listitem>
<para>An existing device name as explained in
<xref linkend="disks-naming"/>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>mount-point</literal></term>
<listitem>
<para>An existing directory on which to mount the file
system.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>fstype</literal></term>
<listitem>
<para>The file system type to pass to &man.mount.8;. The
default &os; file system is
<literal>ufs</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>options</literal></term>
<listitem>
<para>Either <option>rw</option> for read-write file
systems, or <option>ro</option> for read-only file
systems, followed by any other options that may be
needed. A common option is <option>noauto</option> for
file systems not normally mounted during the boot
sequence. Other options are listed in
&man.mount.8;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>dumpfreq</literal></term>
<listitem>
<para>Used by &man.dump.8; to determine which file systems
require dumping. If the field is missing, a value of
zero is assumed.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>passno</literal></term>
<listitem>
<para>Determines the order in which file systems should be
checked. File systems that should be skipped should
have their <literal>passno</literal> set to zero. The
root file system needs to be checked before everything
else and should have its <literal>passno</literal> set
to one. The other file systems should be set to
values greater than one. If more than one file system
has the same <literal>passno</literal>, &man.fsck.8;
will attempt to check file systems in parallel if
possible.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Refer to &man.fstab.5; for more information on the format
of <filename>/etc/fstab</filename> and its options.</para>
</sect2>
<sect2 id="disks-mount">
<title>Using &man.mount.8;</title>
<indexterm>
<primary>file systems</primary>
<secondary>mounting</secondary>
</indexterm>
<para>File systems are mounted using &man.mount.8;. The most
basic syntax is as follows:</para>
<informalexample>
<screen>&prompt.root; <userinput>mount <replaceable>device</replaceable> <replaceable>mountpoint</replaceable></userinput></screen>
</informalexample>
<para>This command provides many options which are described in
&man.mount.8;, The most commonly used options include:</para>
<variablelist>
<title>Mount Options</title>
<varlistentry>
<term><option>-a</option></term>
<listitem>
<para>Mount all the file systems listed in
<filename>/etc/fstab</filename>, except those marked as
<quote>noauto</quote>, excluded by the
<option>-t</option> flag, or those that are already
mounted.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-d</option></term>
<listitem>
<para>Do everything except for the actual mount system
call. This option is useful in conjunction with the
<option>-v</option> flag to determine what &man.mount.8;
is actually trying to do.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-f</option></term>
<listitem>
<para>Force the mount of an unclean file system
(dangerous), or the revocation of write access when
downgrading a file system's mount status from read-write
to read-only.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-r</option></term>
<listitem>
<para>Mount the file system read-only. This is identical
to using <option>-o ro</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-t</option>
<replaceable>fstype</replaceable></term>
<listitem>
<para>Mount the specified file system type or mount only
file systems of the given type, if <option>-a</option>
is included. <quote>ufs</quote> is the default file
system type.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-u</option></term>
<listitem>
<para>Update mount options on the file system.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<listitem>
<para>Be verbose.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-w</option></term>
<listitem>
<para>Mount the file system read-write.</para>
</listitem>
</varlistentry>
</variablelist>
<para>The following options can be passed to <option>-o</option>
as a comma-separated list:</para>
<variablelist>
<varlistentry>
<term>nosuid</term>
<listitem>
<para>Do not interpret setuid or setgid flags on the
file system. This is also a useful security
option.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="disks-umount">
<title>Using &man.umount.8;</title>
<indexterm>
<primary>file systems</primary>
<secondary>unmounting</secondary>
</indexterm>
<para>To unmount a file system use &man.umount.8;. This command
takes one parameter which can be a mountpoint, device name,
<option>-a</option> or <option>-A</option>.</para>
<para>All forms take <option>-f</option> to force unmounting,
and <option>-v</option> for verbosity. Be warned that
<option>-f</option> is not generally a good idea as it might
crash the computer or damage data on the file system.</para>
<para>To unmount all mounted file systems, or just the file
system types listed after <option>-t</option>, use
<option>-a</option> or <option>-A</option>. Note that
<option>-A</option> does not attempt to unmount the root file
system.</para>
</sect2>
</sect1>
<sect1 id="basics-processes">
<title>Processes</title>
<para>&os; is a multi-tasking operating system. Each program
running at any one time is called a
<firstterm>process</firstterm>. Every running command starts
at least one new process and there are a number of system
processes that are run by &os;.</para>
<para>Each process is uniquely identified by a number called a
<firstterm>process ID</firstterm> (<acronym>PID</acronym>).
Similar to files, each process has one owner and group, and
the owner and group permissions are used to determine which
files and devices the process can open. Most processes also
have a parent process that started them. For example, the
shell is a process, and any command started in the shell is a
process which has the shell as its parent process. The
exception is a special process called &man.init.8; which is
always the first process to start at boot time and which always
has a <acronym>PID</acronym> of 1.</para>
<para>To see the processes on the system, use &man.ps.1; and
&man.top.1;. To display a static list of the currently running
processes, their <acronym>PID</acronym>s, how much memory they
are using, and the command they were started with, use
&man.ps.1;. To display all the running processes and update
the display every few seconds in order to interactively see
what the computer is doing, use &man.top.1;.</para>
<para>By default, &man.ps.1; only shows the commands that are
running and owned by the user. For example:</para>
<screen>&prompt.user; <userinput>ps</userinput>
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)
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</screen>
<para>The output from &man.ps.1; is organized into a number of
columns. The <literal>PID</literal> column displays the process
ID. <acronym>PID</acronym>s are assigned starting at 1, go up
to 99999, then wrap around back to the beginning. However, a
<acronym>PID</acronym> is not reassigned if it is already in
use. The <literal>TT</literal> column shows the tty the program
is running on and <literal>STAT</literal> shows the program's
state. <literal>TIME</literal> is the amount of time the
program has been running on the CPU. This is usually not the
elapsed time since the program was started, as most programs
spend a lot of time waiting for things to happen before they
need to spend time on the CPU. Finally,
<literal>COMMAND</literal> is the command that was used to start
the program.</para>
<para>&man.ps.1; supports a number of different options to change
the information that is displayed. One of the most useful sets
is <literal>auxww</literal>. <option>a</option> displays
information about all the running processes of all users.
<option>u</option> displays the username of the process' owner,
as well as memory usage. <option>x</option> displays
information about daemon processes, and <option>ww</option>
causes &man.ps.1; to display the full command line for each
process, rather than truncating it once it gets too long to fit
on the screen.</para>
<para>The output from &man.top.1; is similar. A sample session
looks like this:</para>
<screen>&prompt.user; <userinput>top</userinput>
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
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
...</screen>
<para>The output is split into two sections. The header (the
first five lines) shows the <acronym>PID</acronym> of the last
process to run, the system load averages (which are a measure
of how busy the system is), the system uptime (time since the
last reboot) and the current time. The other figures in the
header relate to how many processes are running (47 in this
case), how much memory and swap space has been used, and how
much time the system is spending in different CPU states.</para>
<para>Below the header is a series of columns containing similar
information to the output from &man.ps.1;, such as the
<acronym>PID</acronym>, username, amount of CPU time, and the
command that started the process. By default, &man.top.1; also
displays the amount of memory space taken by the process.
This is split into two columns: one for total size and one for
resident size. Total size is how much memory the application
has needed and the resident size is how much it is actually
using at the moment. In this example,
<application>mutt</application> has required almost 8&nbsp;MB
of RAM, but is currently only using 5&nbsp;MB.</para>
<para>&man.top.1; automatically updates the display every two
seconds. A different interval can be specified with
<option>-s</option>.</para>
</sect1>
<sect1 id="basics-daemons">
<title>Daemons, Signals, and Killing Processes</title>
<para>When using an editor, it is easy to control the editor and
load files because the editor provides facilities to do so, and
because the editor is attached to a
<firstterm>terminal</firstterm>. Some programs are not designed
to be run with continuous user input and disconnect from the
terminal at the first opportunity. For example, a web server
responds to web requests, rather than user input. Mail servers
are another example of this type of application.</para>
<para>These programs are known as <firstterm>daemons</firstterm>.
The term daemon comes from Greek mythology and represents an
entity that is neither good or evil, and which invisibly
performs useful tasks. This is why the BSD mascot is the
cheerful-looking daemon with sneakers and a pitchfork.</para>
<para>There is a convention to name programs that normally run as
daemons with a trailing <quote>d</quote>.
<application>BIND</application> is the Berkeley Internet Name
Domain, but the actual program that executes is &man.named.8;.
The <application>Apache</application> web server program is
<command>httpd</command> and the line printer spooling daemon
is &man.lpd.8;. This is only a naming convention. For example,
the main mail daemon for the <application>Sendmail</application>
application is &man.sendmail.8;, and not
<literal>maild</literal>.</para>
<para>One way to communicate with a daemon, or any running
process, is to send a <firstterm>signal</firstterm> using
&man.kill.1;. There are a number of different signals; some
have a specific meaning while others are described in the
application's documentation. A user can only send a signal to a
process they own and sending a signal to someone else's process
will result in a permission denied error. The exception is the
<username>root</username> user, who can send signals to anyone's
processes.</para>
<para>&os; can also send a signal to a process. If an application
is badly written and tries to access memory that it is not
supposed to, &os; will send the process the
<firstterm>Segmentation Violation</firstterm> signal
(<literal>SIGSEGV</literal>). If an application has used the
&man.alarm.3; system call to be alerted after a period of time
has elapsed, it will be sent the Alarm signal
(<literal>SIGALRM</literal>).</para>
<para>Two signals can be used to stop a process:
<literal>SIGTERM</literal> and <literal>SIGKILL</literal>.
<literal>SIGTERM</literal> is the polite way to kill a process
as the process can read the signal, close any log files it may
have open, and attempt to finish what it is doing before
shutting down. In some cases, a process may ignore
<literal>SIGTERM</literal> if it is in the middle of some task
that can not be interrupted.</para>
<para><literal>SIGKILL</literal> can not be ignored by a process.
This is the <quote>I do not care what you are doing, stop right
now</quote> signal. Sending a <literal>SIGKILL</literal> to a
process will usually stop that process there and then.<footnote>
<para>There are a few tasks that can not be interrupted. For
example, if the process is trying to read from a file that
is on another computer on the network, and the other
computer is unavailable, the process is said to be
<quote>uninterruptible</quote>. Eventually the process will
time out, typically after two minutes. As soon as this time
out occurs the process will be killed.</para>
</footnote>.</para>
<para>Other commonly used signals are <literal>SIGHUP</literal>,
<literal>SIGUSR1</literal>, and <literal>SIGUSR2</literal>.
These are general purpose signals and different applications
will respond differently.</para>
<para>For example, after changing a web server's configuration
file, the web server needs to be told to re-read its
configuration. Restarting <command>httpd</command> would result
in a brief outage period on the web server. Instead, send the
daemon the <literal>SIGHUP</literal> signal. Be aware that
different daemons will have different behavior, so refer to the
documentation for the daemon to determine if
<literal>SIGHUP</literal> will achieve the desired
results.</para>
<procedure>
<title>Sending a Signal to a Process</title>
<para>This example shows how to send a signal to &man.inetd.8;.
The &man.inetd.8; configuration file is
<filename>/etc/inetd.conf</filename>, and &man.inetd.8; will
re-read this configuration file when it is sent a
<literal>SIGHUP</literal>.</para>
<step>
<para>Find the <acronym>PID</acronym> of the process to send
the signal to using &man.pgrep.1;. In this example, the
<acronym>PID</acronym> for &man.inetd.8; is 198:</para>
<screen>&prompt.user; <userinput>pgrep -l inetd</userinput>
198 inetd -wW</screen>
</step>
<step>
<para>Use &man.kill.1; to send the signal. Because
&man.inetd.8; is owned by <username>root</username>, use
&man.su.1; to become <username>root</username> first.</para>
<screen>&prompt.user; <userinput>su</userinput>
<prompt>Password:</prompt>
&prompt.root; <userinput>/bin/kill -s HUP 198</userinput></screen>
<para>Like most &unix; commands, &man.kill.1; will not print
any output if it is successful. If a signal is sent to a
process not owned by that user, the message
<errorname>kill: <replaceable>PID</replaceable>: Operation
not permitted</errorname> will be displayed. Mistyping
the <acronym>PID</acronym> will either send the signal to
the wrong process, which could have negative results, or
will send the signal to a <acronym>PID</acronym> that is
not currently in use, resulting in the error
<errorname>kill: <replaceable>PID</replaceable>: No such
process</errorname>.</para>
<note>
<title>Why Use <command>/bin/kill</command>?</title>
<para>Many shells provide <command>kill</command> as a built
in command, meaning that the shell will send the signal
directly, rather than running
<filename>/bin/kill</filename>. Be aware that different
shells have a different syntax for specifying the name of
the signal to send. Rather than try to learn all of them,
it can be simpler to use <command>/bin/kill
<replaceable>...</replaceable></command>
directly.</para>
</note>
</step>
</procedure>
<para>When sending other signals, substitute
<literal>TERM</literal> or <literal>KILL</literal> in the
command line as necessary.</para>
<important>
<para>Killing a random process on the system can be a bad idea.
In particular, &man.init.8;, <acronym>PID</acronym> 1, is
special. Running <command>/bin/kill -s KILL 1</command> is
a quick, and unrecommended, way to shutdown the system.
<emphasis>Always</emphasis> double check the arguments to
&man.kill.1; <emphasis>before</emphasis> pressing
<keycap>Return</keycap>.</para>
</important>
</sect1>
<sect1 id="shells">
<title>Shells</title>
<indexterm><primary>shells</primary></indexterm>
<indexterm><primary>command line</primary></indexterm>
<para>&os; provides a command line interface called a shell. A
shell receives commands from the input channel and executes
them. Many shells provide built in functions to help with
everyday tasks such as file management, file globbing, command
line editing, command macros, and environment variables. &os;
comes with several shells, including the Bourne shell
(&man.sh.1;) and the extended C shell (&man.tcsh.1;). Other
shells are available from the &os; Ports Collection, such as
<command>zsh</command> and <command>bash</command>.</para>
<para>The shell that is used is really a matter of taste. A C
programmer might feel more comfortable with a C-like shell such
as &man.tcsh.1;. A &linux; user might prefer
<command>bash</command>. Each shell has unique properties that
may or may not work with a user's preferred working environment,
which is why there is a choice of which shell to use.</para>
<para>One common shell feature is filename completion. After a
user types the first few letters of a command or filename and
presses <keycap>Tab</keycap>, the shell will automatically
complete the rest of the command or filename. Consider two
files called <filename>foobar</filename> and
<filename>foo.bar</filename>. To delete
<filename>foo.bar</filename>, type <command>rm
fo[<keycap>Tab</keycap>].[<keycap>Tab</keycap>]</command>.</para>
- <para>The shell should print out <command>rm
- foo[BEEP].bar</command>.</para>
+ <para>The shell should print out
+ <command>rm foo[BEEP].bar</command>.</para>
<para>The [BEEP] is the console bell, which the shell used to
indicate it was unable to complete the filename because there
is more than one match. Both <filename>foobar</filename> and
<filename>foo.bar</filename> start with <literal>fo</literal>.
By typing <literal>.</literal>, then pressing
<keycap>Tab</keycap> again, the shell would be able to fill in
the rest of the filename.</para>
<indexterm><primary>environment variables</primary></indexterm>
<para>Another feature of the shell is the use of environment
variables. Environment variables are a variable/key pair stored
in the shell's environment. This environment can be read by any
program invoked by the shell, and thus contains a lot of program
configuration. Here is a list of common environment variables
and their meanings:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><envar>USER</envar></entry>
<entry>Current logged in user's name.</entry>
</row>
<row>
<entry><envar>PATH</envar></entry>
<entry>Colon-separated list of directories to search for
binaries.</entry>
</row>
<row>
<entry><envar>DISPLAY</envar></entry>
<entry>Network name of the
<application>&xorg;</application>
display to connect to, if available.</entry>
</row>
<row>
<entry><envar>SHELL</envar></entry>
<entry>The current shell.</entry>
</row>
<row>
<entry><envar>TERM</envar></entry>
<entry>The name of the user's type of terminal. Used to
determine the capabilities of the terminal.</entry>
</row>
<row>
<entry><envar>TERMCAP</envar></entry>
<entry>Database entry of the terminal escape codes to
perform various terminal functions.</entry>
</row>
<row>
<entry><envar>OSTYPE</envar></entry>
<entry>Type of operating system.</entry>
</row>
<row>
<entry><envar>MACHTYPE</envar></entry>
<entry>The system's CPU architecture.</entry>
</row>
<row>
<entry><envar>EDITOR</envar></entry>
<entry>The user's preferred text editor.</entry>
</row>
<row>
<entry><envar>PAGER</envar></entry>
<entry>The user's preferred text pager.</entry>
</row>
<row>
<entry><envar>MANPATH</envar></entry>
<entry>Colon-separated list of directories to search for
manual pages.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<indexterm><primary>Bourne shells</primary></indexterm>
<para>How to set an environment variable differs between shells.
In &man.tcsh.1; and &man.csh.1;, use
<command>setenv</command> to set environment variables. In
&man.sh.1; and <command>bash</command>, use
<command>export</command> to set the current environment
variables. This example sets the default <envar>EDITOR</envar>
to <filename>/usr/local/bin/emacs</filename> for the
&man.tcsh.1; shell:</para>
<screen>&prompt.user; <userinput>setenv EDITOR /usr/local/bin/emacs</userinput></screen>
<para>The equivalent command for <command>bash</command>
would be:</para>
<screen>&prompt.user; <userinput>export EDITOR="/usr/local/bin/emacs"</userinput></screen>
<para>To expand an environment variable in order to see its
current setting, type a <literal>$</literal> character in front
of its name on the command line. For example,
<command>echo $TERM</command> displays the current
<envar>$TERM</envar> setting.</para>
<para>Shells treat special characters, known as meta-characters,
as special representations of data. The most common
meta-character is <literal>*</literal>, which represents any
number of characters in a filename. Meta-characters can be
- used to perform filename globbing. For example, <command>echo
- *</command> is equivalent to &man.ls.1; because the shell
- takes all the files that match <literal>*</literal> and
- &man.echo.1; lists them on the command line.</para>
+ used to perform filename globbing. For example,
+ <command>echo *</command> is equivalent to &man.ls.1; because
+ the shell takes all the files that match <literal>*</literal>
+ and &man.echo.1; lists them on the command line.</para>
<para>To prevent the shell from interpreting a special character,
escape it from the shell by starting it with a backslash
(<literal>\</literal>). For example,
<command>echo $TERM</command> prints the terminal setting
whereas <command>echo \$TERM</command> literally prints the
string <literal>$TERM</literal>.</para>
<sect2 id="changing-shells">
<title>Changing Your Shell</title>
<para>The easiest way to permanently change the default shell is
to use <command>chsh</command>. Running this command will
open the editor that is configured in the
<envar>EDITOR</envar> environment variable, which by default
is set to &man.vi.1;. Change the <quote>Shell:</quote> line
to the full path of the new shell.</para>
<para>Alternately, use <command>chsh -s</command> which will set
the specified shell without opening an editor. For example,
to change the shell to <command>bash</command>:</para>
<screen>&prompt.user; <userinput>chsh -s /usr/local/bin/bash</userinput></screen>
<note>
<para>The new shell <emphasis>must</emphasis> be present in
<filename>/etc/shells</filename>. If the shell was
installed from the &os; Ports Collection as described in
<xref linkend="ports"/>, it should be automatically added
to this file. If it is missing, add it using this
command, replacing the path with the path of the
shell:</para>
<screen>&prompt.root; <userinput>echo <replaceable>/usr/local/bin/bash</replaceable> &gt;&gt; /etc/shells</userinput></screen>
<para>Then rerun &man.chsh.1;.</para>
</note>
</sect2>
</sect1>
<sect1 id="editors">
<title>Text Editors</title>
<indexterm><primary>text editors</primary></indexterm>
<indexterm><primary>editors</primary></indexterm>
<para>Most &os; configuration is done by editing text files.
Because of this, it is a good idea to become familiar with a
text editor. &os; comes with a few as part of the base system,
and many more are available in the Ports Collection.</para>
<indexterm>
<primary><command>ee</command></primary>
</indexterm>
<indexterm>
<primary>editors</primary>
<secondary>&man.ee.1;</secondary>
</indexterm>
<para>A simple editor to learn is &man.ee.1;, which stands for
easy editor. To start this editor, type <command>ee
<replaceable>filename</replaceable></command> where
<replaceable>filename</replaceable> is the name of the file to
be edited. Once inside the editor, all of the commands for
manipulating the editor's functions are listed at the top of the
display. The caret <literal>^</literal> represents
<keycap>Ctrl</keycap>, so <literal>^e</literal> expands to
<keycombo
action="simul"><keycap>Ctrl</keycap><keycap>e</keycap></keycombo>.
- To leave &man.ee.1;, press <keycap>Esc</keycap>, then choose
- the <quote>leave editor</quote> option from the main menu.
- The editor will prompt to save any changes if the file has been
+ To leave &man.ee.1;, press <keycap>Esc</keycap>, then choose the
+ <quote>leave editor</quote> option from the main menu. The
+ editor will prompt to save any changes if the file has been
modified.</para>
<indexterm>
<primary>&man.vi.1;</primary>
</indexterm>
<indexterm>
<primary>editors</primary>
<secondary>&man.vi.1;</secondary>
</indexterm>
<indexterm>
<primary><command>emacs</command></primary>
</indexterm>
<indexterm>
<primary>editors</primary>
<secondary><command>emacs</command></secondary>
</indexterm>
<para>&os; also comes with more powerful text editors, such as
&man.vi.1;, as part of the base system. Other editors, like
<filename role="package">editors/emacs</filename> and
<filename role="package">editors/vim</filename>, are part of the
&os; Ports Collection. These editors offer more functionality
at the expense of being a more complicated to learn. Learning a
more powerful editor such as <application>vim</application> or
<application>Emacs</application> can save more time in the long
run.</para>
<para>Many applications which modify files or require typed input
will automatically open a text editor. To alter the default
editor used, set the <envar>EDITOR</envar> environment
variable as described in <xref linkend="shells"/>.</para>
</sect1>
<sect1 id="basics-devices">
<title>Devices and Device Nodes</title>
<para>A device is a term used mostly for hardware-related
activities in a system, including disks, printers, graphics
cards, and keyboards. When &os; boots, the majority of the boot
messages refer to devices being detected. A copy of the boot
messages are saved to
<filename>/var/run/dmesg.boot</filename>.</para>
<para>Each device has a device name and number. For example,
<devicename>acd0</devicename> is the first IDE CD-ROM drive,
while <devicename>kbd0</devicename> represents the
keyboard.</para>
<para>Most devices in a &os; must be accessed through special
files called device nodes, which are located in
<filename class="directory">/dev</filename>.</para>
</sect1>
- <sect1 id="binary-formats">
- <title>Binary Formats</title>
-
- <para>Typically when a command is passed to the shell, the shell
- will arrange for an executable file to be loaded into memory and
- a new process is created. Executable files can either be a binary
- file (usually created by the linker as part of compiling a program)
- or a shell script (text file to be interpreted by a binary file,
- like &man.sh.1; or &man.perl.1;). The &man.file.1; command can
- usually determine what is inside a file.</para>
-
- <para>Binary files need to have a well defined format for the system
- to be able to use them properly. Part of the file will be the
- executable machine code (the instructions that tell the CPU what
- to do), part of it will be data space with pre-defined values,
- part will be data space with no pre-defined values, etc. Through
- time, different binary file formats have evolved.</para>
-
- <para>To understand why &os; uses the &man.elf.5; format, the three
- currently <quote>dominant</quote>, executable formats for &unix;
- must be described:</para>
-
- <itemizedlist>
- <listitem>
- <para>&man.a.out.5;</para>
-
- <para>The oldest and <quote>classic</quote> &unix; object
- format. It uses a short and compact header with a
- &man.magic.5; number at the beginning that is often used to
- characterize the format. It contains three loaded segments:
- .text, .data, and .bss, plus a symbol table and a string
- table.</para>
- </listitem>
-
- <listitem>
- <para><acronym>COFF</acronym></para>
-
- <para>The SVR3 object format. The header comprises a section
- table which can contain more than just .text, .data, and
- .bss sections.</para>
- </listitem>
-
- <listitem>
- <para>&man.elf.5;</para>
-
- <para>The successor to <acronym>COFF</acronym>, featuring
- multiple sections and 32-bit or 64-bit possible values. One
- major drawback is that <acronym>ELF</acronym> was designed
- with the assumption that there would be only one ABI per
- system architecture. That assumption is actually incorrect,
- and not even in the commercial SYSV world (which has at
- least three ABIs: SVR4, Solaris, SCO) does it hold
- true.</para>
-
- <para>&os; tries to work around this problem somewhat by
- providing a utility for <emphasis>branding</emphasis> a
- known <acronym>ELF</acronym> executable with information
- about its compliant ABI. Refer to &man.brandelf.1; for more
- information.</para>
- </listitem>
- </itemizedlist>
-
- <para>&os; comes from the <quote>classic</quote> camp and used
- the &man.a.out.5; format, a technology tried and proven through
- many generations of BSD releases, until the beginning of the 3.X
- branch. Though it was possible to build and run native
- <acronym>ELF</acronym> binaries and kernels on a &os; system
- for some time before that, &os; initially resisted the
- <quote>push</quote> to switch to <acronym>ELF</acronym> as the
- default format. Why? When Linux made its painful transition to
- <acronym>ELF</acronym>, it was due to their inflexible
- jump-table based shared library mechanism, which made the
- construction of shared libraries difficult for vendors and
- developers. Since <acronym>ELF</acronym> tools offered a
- solution to the shared library problem and were generally seen
- as <quote>the way forward</quote>, the migration cost was
- accepted as necessary and the transition made. &os;'s shared
- library mechanism is based more closely on the &sunos; style
- shared library mechanism and is easy to use.</para>
-
- <para>So, why are there so many different formats? Back in the
- PDP-11 days when simple hardware supported a simple, small
- system, <filename>a.out</filename> was adequate for the job of
- representing binaries. As &unix; was ported, the
- <filename>a.out</filename> format was retained because it was
- sufficient for the early ports of &unix; to architectures like
- the Motorola 68k or VAXen.</para>
-
- <para>Then some hardware engineer decided that if he could force
- software to do some sleazy tricks, a few gates could be shaved
- off the design and the CPU core could run faster.
- <filename>a.out</filename> was ill-suited for this new kind of
- hardware, known as <acronym>RISC</acronym>. Many formats were
- developed to get better performance from this hardware than the
- limited, simple <filename>a.out</filename> format could offer.
- <acronym>COFF</acronym>, <acronym>ECOFF</acronym>, and a few
- others were invented and their limitations explored before
- settling on <acronym>ELF</acronym>.</para>
-
- <para>In addition, program sizes were getting huge while disks
- and physical memory were still relatively small, so the concept
- of a shared library was born. The virtual memory system became
- more sophisticated. While each advancement was done using the
- <filename>a.out</filename> format, its usefulness was stretched
- with each new feature. In addition, people wanted to
- dynamically load things at run time, or to junk parts of their
- program after the init code had run to save in core memory and
- swap space. Languages became more sophisticated and people
- wanted code called before the main() function automatically.
- Lots of hacks were done to the <filename>a.out</filename> format
- to allow all of these things to happen, and they basically
- worked for a time. In time, <filename>a.out</filename> was not
- up to handling all these problems without an ever increasing
- overhead in code and complexity. While <acronym>ELF</acronym>
- solved many of these problems, it would be painful to switch
- from the system that basically worked. So
- <acronym>ELF</acronym> had to wait until it was more painful to
- remain with <filename>a.out</filename> than it was to migrate to
- <acronym>ELF</acronym>.</para>
-
- <para>As time passed, the build tools that &os; derived their
- build tools from, especially the assembler and loader, evolved
- in two parallel trees. The &os; tree added shared libraries and
- fixed some bugs. The GNU folks that originally wrote these
- programs rewrote them and added simpler support for building
- cross compilers and plugging in different formats. Those who
- wanted to build cross compilers targeting &os; were out of luck
- since the older sources that &os; had for &man.as.1; and
- &man.ld.1; were not up to the task. The new GNU tools chain
- (<application>binutils</application>) supports cross
- compiling, <acronym>ELF</acronym>, shared libraries, and C++
- extensions. In addition, many vendors release
- <acronym>ELF</acronym> binaries, and &os; should be able to run
- them.</para>
-
- <para><acronym>ELF</acronym> is more expressive than
- <filename>a.out</filename> and allows more extensibility in the
- base system. The <acronym>ELF</acronym> tools are better
- maintained and offer cross compilation support.
- <acronym>ELF</acronym> may be a little slower than
- <filename>a.out</filename>, but trying to measure it can be
- difficult. There are also numerous details that are different
- between the two such as how they map pages and handle init
- code.</para>
- </sect1>
-
<sect1 id="basics-more-information">
<title>For More Information</title>
<sect2 id="basics-man">
<title>Manual Pages</title>
<indexterm><primary>manual pages</primary></indexterm>
<para>The most comprehensive documentation on &os; is in the
form of manual pages. Nearly every program on the system
comes with a short reference manual explaining the basic
operation and available arguments. These manuals can be
viewed using <command>man</command>:</para>
<screen>&prompt.user; <userinput>man <replaceable>command</replaceable></userinput></screen>
<para>where <replaceable>command</replaceable> is the name of
the command to learn about. For example, to learn more about
&man.ls.1;, type:</para>
<screen>&prompt.user; <userinput>man ls</userinput></screen>
<para>The online manual is divided into numbered
sections:</para>
<orderedlist>
<listitem>
<para>User commands.</para>
</listitem>
<listitem>
<para>System calls and error numbers.</para>
</listitem>
<listitem>
<para>Functions in the C libraries.</para>
</listitem>
<listitem>
<para>Device drivers.</para>
</listitem>
<listitem>
<para>File formats.</para>
</listitem>
<listitem>
<para>Games and other diversions.</para>
</listitem>
<listitem>
<para>Miscellaneous information.</para>
</listitem>
<listitem>
<para>System maintenance and operation commands.</para>
</listitem>
<listitem>
<para>Kernel developers.</para>
</listitem>
</orderedlist>
<para>In some cases, the same topic may appear in more than one
section of the online manual. For example, there is a
&man.chmod.1; user command and a
<function>chmod()</function> system call. To tell &man.man.1;
which section to display, specify the section number:</para>
<screen>&prompt.user; <userinput>man 1 chmod</userinput></screen>
<para>This will display the manual page for the user command
&man.chmod.1;. References to a particular section of the
online manual are traditionally placed in parenthesis in
written documentation, so &man.chmod.1; refers to the user
command and &man.chmod.2; refers to the system call.</para>
<para>If the command name is unknown, use <command>man
-k</command> to search for keywords in the command
descriptions:</para>
<screen>&prompt.user; <userinput>man -k <replaceable>mail</replaceable></userinput></screen>
<para>This command displays a list of commands that have the
keyword <quote>mail</quote> in their descriptions. This is
equivalent to using &man.apropos.1;.</para>
- <para>To determine what the commands in <filename
- class="directory">/usr/bin</filename> do,
+ <para>To determine what the commands in
+ <filename class="directory">/usr/bin</filename> do,
type:</para>
<screen>&prompt.user; <userinput>cd /usr/bin</userinput>
&prompt.user; <userinput>man -f *</userinput></screen>
<para>or</para>
<screen>&prompt.user; <userinput>cd /usr/bin</userinput>
&prompt.user; <userinput>whatis *</userinput></screen>
</sect2>
<sect2 id="basics-info">
<title>GNU Info Files</title>
<indexterm>
<primary>Free Software Foundation</primary>
</indexterm>
<para>&os; includes many applications and utilities produced
by the Free Software Foundation (FSF). In addition to manual
pages, these programs may include hypertext documents called
<literal>info</literal> files. These can be viewed using
- &man.info.1; or, if <filename
- role="package">editors/emacs</filename> is installed, the
- info mode of <application>emacs</application>.</para>
+ &man.info.1; or, if
+ <filename role="package">editors/emacs</filename> is
+ installed, the info mode of
+ <application>emacs</application>.</para>
<para>To use &man.info.1;, type:</para>
<screen>&prompt.user; <userinput>info</userinput></screen>
<para>For a brief introduction, type <literal>h</literal>. For
a quick command reference, type <literal>?</literal>.</para>
</sect2>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml (revision 42804)
@@ -1,3137 +1,3148 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="updating-upgrading">
<chapterinfo>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
<contrib>Restructured, reorganized, and parts updated
by </contrib>
</author>
<!-- Mar 2000 -->
</authorgroup>
<authorgroup>
<author>
<firstname>Jordan</firstname>
<surname>Hubbard</surname>
<contrib>Original work by </contrib>
</author>
<author>
<firstname>Poul-Henning</firstname>
<surname>Kamp</surname>
</author>
<author>
<firstname>John</firstname>
<surname>Polstra</surname>
</author>
<author>
<firstname>Nik</firstname>
<surname>Clayton</surname>
</author>
</authorgroup>
<!-- with feedback from various others -->
</chapterinfo>
<title>Updating and Upgrading &os;</title>
<sect1 id="updating-upgrading-synopsis">
<title>Synopsis</title>
<para>&os; is under constant development between releases. Some
people prefer to use the officially released versions, while
others prefer to keep in sync with the latest developments.
However, even official releases are often updated with security
and other critical fixes. Regardless of the version used, &os;
provides all the necessary tools to keep the system updated, and
allows for easy upgrades between versions. This chapter
describes how to track the development system and the basic
tools for keeping a &os; system up-to-date.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>Which utilities are available to update the system and
the Ports Collection.</para>
</listitem>
<listitem>
<para>How to keep a &os; system up-to-date with
<application>freebsd-update</application>,
<application>Subversion</application>, or
<application>CTM</application>.</para>
</listitem>
<listitem>
<para>How to compare the state of an installed system against
a known pristine copy.</para>
</listitem>
<listitem>
<para>How to keep the installed documentation up-to-date with
<application>Subversion</application> or documentation
ports<!--, and <application>Docsnap</application>-->.</para>
</listitem>
<listitem>
<para>The difference between the two development
branches: &os.stable; and &os.current;.</para>
</listitem>
<listitem>
<para>How to rebuild and reinstall the entire base
system.</para>
</listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<itemizedlist>
<listitem>
<para>Properly set up the network connection (<xref
linkend="advanced-networking"/>).</para>
</listitem>
<listitem>
<para>Know how to install additional third-party
software (<xref linkend="ports"/>).</para>
</listitem>
</itemizedlist>
<note>
<para>Throughout this chapter, <command>svn</command> is used to
obtain and update &os; sources. To use it, first install the
<filename role="package">devel/subversion</filename> port or
package.</para>
</note>
</sect1>
<sect1 id="updating-upgrading-freebsdupdate">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Colin</firstname>
<surname>Percival</surname>
<contrib>Based on notes provided by </contrib>
</author>
</authorgroup>
</sect1info>
<title>&os; Update</title>
<indexterm><primary>Updating and Upgrading</primary></indexterm>
<indexterm>
<primary>freebsd-update</primary>
<see>updating-upgrading</see>
</indexterm>
<para>Applying security patches is an important part of
maintaining computer software, especially the operating system.
For the longest time on &os;, this process was not an easy one.
Patches had to be applied to the source code, the code rebuilt
into binaries, and then the binaries had to be
re-installed.</para>
<para>This is no longer the case as &os; now includes a utility
called <command>freebsd-update</command>. This utility
provides two separate functions. First, it allows for binary
security and errata updates to be applied to the &os; base
system without the build and install requirements. Second, the
utility supports minor and major release upgrades.</para>
<note>
<para>Binary updates are available for all architectures and
releases currently supported by the security team. Before
updating to a new release, its release announcement should be
reviewed as it contains important information pertinent to the
release. Release announcements are available from <ulink
url="http://www.FreeBSD.org/releases/"></ulink>.</para>
</note>
<para>If a <command>crontab</command> utilizing the features
of &man.freebsd-update.8; exists, it must be
disabled before the following operation is started.</para>
<sect2 id="freebsdupdate-config-file">
<title>The Configuration File</title>
<para>Some users may wish to tweak the default configuration
in <filename>/etc/freebsd-update.conf</filename>, allowing
better control of the process. The options are well
documented, but the following may require a bit more
explanation:</para>
<programlisting># Components of the base system which should be kept updated.
Components src world kernel</programlisting>
<para>This parameter controls which parts of &os; will be kept
up-to-date. The default is to update the source code, the
entire base system, and the kernel. Components are the same
as those available during installation. For instance, adding
<literal>world/games</literal> would allow game patches to be
applied. Using <literal>src/bin</literal> would allow the
source code in <filename class="directory">src/bin</filename>
to be updated.</para>
<para>The best option is to leave this at the default as
changing it to include specific items requires the user to
list every item to be updated. This could have disastrous
consequences as source code and binaries may become out of
sync.</para>
<programlisting># Paths which start with anything matching an entry in an IgnorePaths
# statement will be ignored.
IgnorePaths</programlisting>
<para>To leave specified directories, such as
<filename class="directory">/bin</filename> or
<filename class="directory">/sbin</filename>, untouched during
the update process, add their paths to this statement. This
option may be used to prevent
<command>freebsd-update</command> from overwriting local
modifications.</para>
<programlisting># Paths which start with anything matching an entry in an UpdateIfUnmodified
# statement will only be updated if the contents of the file have not been
# modified by the user (unless changes are merged; see below).
UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile</programlisting>
<para>This option will only update unmodified configuration
files in the specified directories. Any changes made by the
user will invalidate the automatic updating of these files.
There is another option,
<literal>KeepModifiedMetadata</literal>, which will instruct
<command>freebsd-update</command> to save the changes during
the merge.</para>
<programlisting># When upgrading to a new &os; release, files which match MergeChanges
# will have any local changes merged into the version from the new release.
MergeChanges /etc/ /var/named/etc/</programlisting>
<para>List of directories with configuration files that
<command>freebsd-update</command> should attempt to merge.
The file merge process is a series of &man.diff.1; patches
similar to &man.mergemaster.8;, but with fewer options.
Merges are either accepted, open an editor, or
<command>freebsd-update</command> will abort. When in doubt,
backup <filename class="directory">/etc</filename> and just
accept the merges. See <xref linkend="mergemaster"/> for more
information about <command>mergemaster</command>.</para>
<programlisting># Directory in which to store downloaded updates and temporary
# files used by &os; Update.
# WorkDir /var/db/freebsd-update</programlisting>
<para>This directory is where all patches and temporary files
are placed. In cases where the user is doing a version
upgrade, this location should have a least a gigabyte of disk
space available.</para>
<programlisting># When upgrading between releases, should the list of Components be
# read strictly (StrictComponents yes) or merely as a list of components
# which *might* be installed of which &os; Update should figure out
# which actually are installed and upgrade those (StrictComponents no)?
# StrictComponents no</programlisting>
<para>When this option is set to <literal>yes</literal>,
<command>freebsd-update</command> will assume that the
<literal>Components</literal> list is complete and will not
attempt to make changes outside of the list. Effectively,
<command>freebsd-update</command> will attempt to update
every file which belongs to the <literal>Components</literal>
list.</para>
</sect2>
<sect2 id="freebsdupdate-security-patches">
<title>Security Patches</title>
<para>&os; security patches may be downloaded and installed
using the following command:</para>
<screen>&prompt.root; <userinput>freebsd-update fetch</userinput>
&prompt.root; <userinput>freebsd-update install</userinput></screen>
<para>If the update applied any kernel patches, the system will
need a reboot in order to boot into the patched kernel.
Otherwise, the system should be patched and
<command>freebsd-update</command> may be run as a nightly
&man.cron.8; job by adding this entry to
<filename>/etc/crontab</filename>:</para>
<programlisting>@daily root freebsd-update cron</programlisting>
<para>This entry states that <command>freebsd-update</command>
will run once every day. When run with <option>cron</option>,
<command>freebsd-update</command> will only check if updates
exist. If patches exist, they will automatically be
downloaded to the local disk but will not be applied. The
<username>root</username> user will be sent an email so that
they may be reviewed and manually installed.</para>
<para>If anything goes wrong, <command>freebsd-update</command>
has the ability to roll back the last set of changes with
the following command:</para>
<screen>&prompt.root; <userinput>freebsd-update rollback</userinput></screen>
<para>Once complete, the system should be restarted if the
kernel or any kernel modules were modified. This will allow
&os; to load the new binaries into memory.</para>
<para>Only the <filename>GENERIC</filename> kernel can be
automatically updated by <command>freebsd-update</command>.
If a custom kernel is installed, it will have to be rebuilt
and reinstalled after <command>freebsd-update</command>
finishes installing the rest of the updates. However,
<command>freebsd-update</command> will detect and update the
<filename>GENERIC</filename> kernel if
<filename class="directory">/boot/GENERIC</filename> exists,
even if it is not the current running kernel of the
system.</para>
<note>
<para>It is a good idea to always keep a copy of the
<filename>GENERIC</filename> kernel in
<filename class="directory">/boot/GENERIC</filename>. It
will be helpful in diagnosing a variety of problems, and in
performing version upgrades using
<command>freebsd-update</command> as described in
<xref linkend="freebsdupdate-upgrade"/>.</para>
</note>
<para>Unless the default configuration in
<filename>/etc/freebsd-update.conf</filename> has been
changed, <command>freebsd-update</command> will install the
updated kernel sources along with the rest of the updates.
Rebuilding and reinstalling a new custom kernel can then be
performed in the usual way.</para>
<note>
<para>The updates distributed by
<command>freebsd-update</command> do not always involve the
kernel. It is not necessary to rebuild a custom kernel if
the kernel sources have not been modified by the execution
of <command>freebsd-update install</command>.
However, <command>freebsd-update</command> will always
update <filename>/usr/src/sys/conf/newvers.sh</filename>.
The current patch level, as indicated by the
<literal>-p</literal> number reported by
<command>uname -r</command>, is obtained from this file.
Rebuilding a custom kernel, even if nothing else changed,
allows &man.uname.1; to accurately report the current
patch level of the system. This is particularly helpful
when maintaining multiple systems, as it allows for a quick
assessment of the updates installed in each one.</para>
</note>
</sect2>
<sect2 id="freebsdupdate-upgrade">
<title>Major and Minor Version Upgrades</title>
<para>Upgrades from one minor version of &os; to another, like
from &os;&nbsp;9.0 to &os;&nbsp;9.1, are called
<emphasis>minor version</emphasis> upgrades. Generally,
installed applications will continue to work without problems
after minor version upgrades.</para>
<para><emphasis>Major version</emphasis> upgrades occur when
&os; is upgraded from one major version to another, like from
&os;&nbsp;8.X to &os;&nbsp;9.X. Major version upgrades remove
old object files and libraries which will break most third
party applications. It is recommended that all installed
ports either be removed and re-installed or upgraded after a
major version upgrade using a utility such as
<filename role="package">ports-mgmt/portmaster</filename>. A
brute-force rebuild of all installed applications can be
accomplished with this command:</para>
<screen>&prompt.root; <userinput>portmaster -af</userinput></screen>
<para>This will ensure everything will be re-installed
correctly. Note that setting the
<makevar>BATCH</makevar> environment variable to
<literal>yes</literal> will answer <literal>yes</literal> to
any prompts during this process, removing the need for
manual intervention during the build process.</para>
<sect3 id="freebsd-update-custom-kernel">
<title>Dealing with Custom Kernels</title>
<para>If a custom kernel is in use, the upgrade process is
slightly more involved, and the procedure varies depending
on the version of &os;.</para>
<sect4 id="freebsd-update-custom-kernel-8x">
<title>Custom Kernels with &os;&nbsp;8.X</title>
<para>A copy of the <filename>GENERIC</filename> kernel is
needed, and should be placed in <filename
class="directory">/boot/GENERIC</filename>. If the
<filename>GENERIC</filename> kernel is not present in the
system, it may be obtained using one of the following
methods:</para>
<itemizedlist>
<listitem>
<para>If a custom kernel has only been built once, the
kernel in <filename
class="directory">/boot/kernel.old</filename> is
actually <filename>GENERIC</filename>. Rename this
directory to <filename
class="directory">/boot/GENERIC</filename>.</para>
</listitem>
<listitem>
<para>Assuming physical access to the machine is
possible, a copy of the <filename>GENERIC</filename>
kernel can be installed from the installation media
using the following commands:</para>
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
&prompt.root; <userinput>cd /cdrom/<replaceable>X.Y-RELEASE</replaceable>/kernels</userinput>
&prompt.root; <userinput>./install.sh GENERIC</userinput></screen>
<para>Replace <filename
class="directory"><replaceable>X.Y-RELEASE</replaceable></filename>
with the actual version of the release being used.
The <filename>GENERIC</filename> kernel will be
installed in <filename
class="directory">/boot/GENERIC</filename> by
default.</para>
</listitem>
<listitem>
<para>Failing all the above, the
<filename>GENERIC</filename> kernel may be rebuilt and
installed from source:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>env DESTDIR=/boot/GENERIC make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null</userinput>
&prompt.root; <userinput>mv /boot/GENERIC/boot/kernel/* /boot/GENERIC</userinput>
&prompt.root; <userinput>rm -rf /boot/GENERIC/boot</userinput></screen>
<para>For this kernel to be picked up as
<filename>GENERIC</filename> by
<command>freebsd-update</command>, the
<filename>GENERIC</filename> configuration file must
not have been modified in any way. It is also
suggested that it is built without any other special
options.</para>
</listitem>
</itemizedlist>
<para>Rebooting to the <filename>GENERIC</filename> kernel
is not required at this stage.</para>
</sect4>
<sect4 id="freebsd-update-custom-kernel-9x">
<title>Custom Kernels with &os;&nbsp;9.X and Later</title>
<itemizedlist>
<listitem>
<para>If a custom kernel has only been built once, the
kernel in
<filename
class="directory">/boot/kernel.old</filename>
is actually the <literal>GENERIC</literal> kernel.
Rename this directory to <filename
class="directory">/boot/kernel</filename>.</para>
</listitem>
<listitem>
<para>If physical access to the machine is available, a
copy of the <literal>GENERIC</literal> kernel can be
installed from the installation media using these
commands:</para>
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
&prompt.root; <userinput>cd /cdrom/usr/freebsd-dist</userinput>
&prompt.root; <userinput>tar -C/ -xvf kernel.txz boot/kernel/kernel</userinput></screen>
</listitem>
<listitem>
<para>If the options above cannot be used, the
<literal>GENERIC</literal> kernel may be rebuilt and
installed from source:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null</userinput></screen>
<para>For this kernel to be identified as the
<literal>GENERIC</literal> kernel by
<command>freebsd-update</command>, the
<filename>GENERIC</filename> configuration file must
not have been modified in any way. It is also
suggested that the kernel is built without any other
special options.</para>
</listitem>
</itemizedlist>
<para>Rebooting to the <filename>GENERIC</filename> kernel
is not required at this stage.</para>
</sect4>
</sect3>
<sect3 id="freebsdupdate-using">
<title>Performing the Upgrade</title>
<para>Major and minor version upgrades may be performed by
providing <command>freebsd-update</command> with a release
version target. The following command will update to
&os;&nbsp;9.1:</para>
<screen>&prompt.root; <userinput>freebsd-update -r 9.1-RELEASE upgrade</userinput></screen>
<para>After the command has been received,
<command>freebsd-update</command> will evaluate the
configuration file and current system in an attempt to
gather the information necessary to perform the upgrade. A
screen listing will display which components have and have
not been detected. For example:</para>
<screen>Looking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching metadata signature for 9.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</screen>
<para>At this point, <command>freebsd-update</command> will
attempt to download all files required for the upgrade. In
some cases, the user may be prompted with questions
regarding what to install or how to proceed.</para>
<para>When using a custom kernel, the above step will produce
a warning similar to the following:</para>
<screen>WARNING: This system is running a "<replaceable>MYKERNEL</replaceable>" kernel, which is not a
kernel configuration distributed as part of FreeBSD 9.0-RELEASE.
This kernel will not be updated: you MUST update the kernel manually
before running "/usr/sbin/freebsd-update install"</screen>
<para>This warning may be safely ignored at this point. The
updated <filename>GENERIC</filename> kernel will be used as
an intermediate step in the upgrade process.</para>
<para>Once all the patches have been downloaded to the local
system, they will be applied. This process may take a
while, depending on the speed and workload of the machine.
Configuration files will then be merged. The merging
process requires some user intervention as a file may be
merged or an editor may appear on screen for a manual merge.
The results of every successful merge will be shown to the
user as the process continues. A failed or ignored merge
will cause the process to abort. Users may wish to make a
backup of <filename class="directory">/etc</filename> and
manually merge important files, such as
<filename>master.passwd</filename> or
<filename>group</filename> at a later time.</para>
<note>
<para>The system is not being altered yet as all patching
and merging is happening in another directory. Once all
patches have been applied successfully, all configuration
files have been merged and it seems the process will go
smoothly, the changes can be committed to disk by the
user using the following command:</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
</note>
<para>The kernel and kernel modules will be patched first. At
this point, the machine must be rebooted. If the system is
running with a custom kernel, use &man.nextboot.8; to set
the kernel for the next boot to the updated
<filename class="directory">/boot/GENERIC</filename>:</para>
<screen>&prompt.root; <userinput>nextboot -k GENERIC</userinput></screen>
<warning>
<para>Before rebooting with the <filename>GENERIC</filename>
kernel, make sure it contains all the drivers required for
the system to boot properly and connect to the network,
if the machine being updated is accessed remotely. In
particular, if the running custom kernel contains built-in
functionality usually provided by kernel modules, make
sure to temporarily load these modules into the
<filename>GENERIC</filename> kernel using the
<filename>/boot/loader.conf</filename> facility.
It is recommended to disable non-essential services as
well as any disk and network mounts until the upgrade
process is complete.</para>
</warning>
<para>The machine should now be restarted with the updated
kernel:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>Once the system has come back online, restart
<command>freebsd-update</command> using the following
command. The state of the process has been saved and thus,
<command>freebsd-update</command> will not start from the
beginning, but will remove all old shared libraries and
object files.</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<note>
<para>Depending upon whether any library version numbers
were bumped, there may only be two install phases instead
of three.</para>
</note>
</sect3>
<sect3 id="freebsdupdate-portsrebuild">
<title>Rebuilding Ports After a Major Version Upgrade</title>
<para>After a major version upgrade, all third party software
needs to be rebuilt and re-installed. This is required as
installed software may depend on libraries which have been
removed during the upgrade process. This process can be
automated using <filename
role="package">ports-mgmt/portmaster</filename>:</para>
<screen>&prompt.root; <userinput>portmaster -f</userinput></screen>
<para>Once this has completed, finish the upgrade process with
a final call to <command>freebsd-update</command> in order
to tie up all the loose ends in the upgrade process:</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<para>If the <filename>GENERIC</filename> kernel was
temporarily used, this is the time to build and install a
new custom kernel in the usual way.</para>
<para>Reboot the machine into the new &os; version. The
process is complete.</para>
</sect3>
</sect2>
<sect2 id="freebsdupdate-system-comparison">
<title>System State Comparison</title>
<para><command>freebsd-update</command> can be used to test the
state of the installed &os; version against a known good copy.
This option evaluates the current version of system utilities,
libraries, and configuration files. To begin the comparison,
issue the following command:</para>
<screen>&prompt.root; <userinput>freebsd-update IDS &gt;&gt; outfile.ids</userinput></screen>
<warning>
<para>While the command name is <acronym>IDS</acronym> it is
not a replacement for a real intrusion detection system such
as <filename role="package">security/snort</filename>. As
<command>freebsd-update</command> stores data on disk, the
possibility of tampering is evident. While this possibility
may be reduced using <varname>kern.securelevel</varname> and
by storing the <command>freebsd-update</command> data on a
read only file system when not in use, a better solution
would be to compare the system against a secure disk, such
as a <acronym>DVD</acronym> or securely stored external
<acronym>USB</acronym> disk device.</para>
</warning>
<para>The system will now be inspected, and a lengthy listing of
files, along with the &man.sha256.1; hash values for both the
known value in the release and the current installation, will
be sent to the specified
<filename>outfile.ids</filename> file.</para>
<para>The entries in the listing are extremely long, but the
output format may be easily parsed. For instance, to obtain a
list of all files which differ from those in the release,
issue the following command:</para>
<screen>&prompt.root; <userinput>cat outfile.ids | awk '{ print $1 }' | more</userinput>
/etc/master.passwd
/etc/motd
/etc/passwd
/etc/pf.conf</screen>
<para>This sample output has been truncated as many more files
exist. Some files have natural modifications. For example,
<filename>/etc/passwd</filename> has been modified because
users have been added to the system. Other files, such as
kernel modules, may differ as
<command>freebsd-update</command> may have updated them.
To exclude specific files or directories, add them to the
<literal>IDSIgnorePaths</literal> option in
<filename>/etc/freebsd-update.conf</filename>.</para>
<para>This system may be used as part of an elaborate upgrade
method, aside from the previously discussed version.</para>
</sect2>
</sect1>
<sect1 id="updating-upgrading-portsnap">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Colin</firstname>
<surname>Percival</surname>
<contrib>Based on notes provided by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Portsnap: a Ports Collection Update Tool</title>
<indexterm><primary>Updating and Upgrading</primary></indexterm>
<indexterm>
<primary>Portsnap</primary>
<see>Updating and Upgrading</see>
</indexterm>
<para>The base system of &os; includes &man.portsnap.8; for
updating the Ports Collection. This utility connects to a
&os; site, verifies the secure key, and downloads a new copy of
the Ports Collection. The key is used to verify the integrity
of all downloaded files. To download the latest Ports
Collection files, issue the following command:</para>
<screen>&prompt.root; <userinput>portsnap fetch</userinput>
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.</screen>
<para>What this example shows is that &man.portsnap.8; has found
and verified several patches to the current ports data. This
also indicates that the utility was run previously; if it was a
first time run, the collection would have simply been
downloaded.</para>
<para>When &man.portsnap.8; successfully completes a
<command>fetch</command> operation, the Ports Collection and
subsequent patches which exist on the local system have passed
verification. The first time <command>portsnap</command> is
executed, use <literal>extract</literal> to install the
downloaded files:</para>
<screen>&prompt.root; <userinput>portsnap extract</userinput>
/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
<replaceable>...</replaceable></screen>
<para>To update an already installed Ports Collection, use
<command>portsnap update</command>:</para>
<screen>&prompt.root; <userinput>portsnap update</userinput></screen>
<para>The process is now complete, and applications may be
installed or upgraded using the updated Ports Collection.</para>
<para>When using <literal>fetch</literal>, the
<literal>extract</literal> or the <literal>update</literal>
operation may be run consecutively:</para>
<screen>&prompt.root; <userinput>portsnap fetch update</userinput></screen>
<para>This command downloads the latest version of the Ports
Collection and updates the local version under
<filename class="directory">/usr/ports</filename>.</para>
</sect1>
<sect1 id="updating-upgrading-documentation">
<title>Updating the Documentation Set</title>
<indexterm><primary>Updating and Upgrading</primary></indexterm>
<indexterm>
<primary>Documentation</primary>
<see>Updating and Upgrading</see>
</indexterm>
<para>Documentation is an integral part of the &os; operating
system. While an up-to-date version of the &os; Documentation
Set is always available on the <ulink
url="http://www.freebsd.org/doc/">&os; web site</ulink>,
some users might have slow or no permanent network connectivity.
There are several ways to update the local copy of documentation
with the latest &os; Documentation Set.</para>
<sect2 id="dsvn-doc">
<title>Using <application>Subversion</application> to Update the
Documentation</title>
<para>The &os; documentation sources can be obtained with
<application>svn</application>. This section
describes how to:</para>
<itemizedlist>
<listitem>
<para>Install the documentation toolchain, the tools that
are required to rebuild the &os; documentation from its
source.</para>
</listitem>
<listitem>
<para>Download a copy of the documentation source at
<filename class="directory">/usr/doc</filename>, using
<application>svn</application>.</para>
</listitem>
<listitem>
<para>Rebuild the &os; documentation from its source, and
install it under <filename
class="directory">/usr/share/doc</filename>.</para>
</listitem>
<listitem>
<para>Recognize some of the build options that are
supported by the build system of the documentation, such
as the options that build only some of the different
language translations of the documentation or the options
that select a specific output format.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="installing-documentation-toolchain">
<title>Installing <application>svn</application> and the
Documentation Toolchain</title>
<para>Rebuilding the &os; documentation from source requires a
collection of tools which are not part of the &os; base system
due to the amount of disk space these tools use. They are
also not useful to all &os; users, only those users that are
actively writing new documentation for &os; or are frequently
updating their documentation from source.</para>
<para>The required tools, including
<application>svn</application>, are available in the
<filename role="package">textproc/docproj</filename> meta-port
developed by the &os; Documentation Project.</para>
<note>
<para>When no &postscript; or PDF documentation required, one
might consider installing the <filename
role="package">textproc/docproj-nojadetex</filename> port
instead. This version of the documentation toolchain
includes everything except the
<application>teTeX</application> typesetting engine.
<application>teTeX</application> is a very large collection
of tools, so it may be quite sensible to omit its
installation if PDF output is not really necessary.</para>
</note>
</sect2>
<sect2 id="updating-documentation-sources">
<title>Updating the Documentation Sources</title>
<para>In this example, <application>svn</application> is used to
fetch a clean copy of the documentation sources from the
western US mirror using the HTTPS protocol:</para>
<screen>&prompt.root; <userinput>svn checkout <replaceable>https://svn0.us-west.FreeBSD.org</replaceable>/doc/head /usr/doc</userinput></screen>
<para>Select the closest mirror from the available <link
linkend="svn-mirrors">Subversion mirror sites</link>.</para>
<para>The initial download of the documentation sources may take
a while. Let it run until it completes.</para>
<para>Future updates of the documentation sources may be fetched
by running:</para>
<screen>&prompt.root; <userinput>svn update <filename class="directory">/usr/doc</filename></userinput></screen>
<para>After checking out the sources, an alternative way of
updating the documentation is supported by the
<filename>/usr/doc/Makefile</filename> by running the
following commands:</para>
<screen>&prompt.root; <userinput>cd /usr/doc</userinput>
&prompt.root; <userinput>make update</userinput></screen>
</sect2>
<sect2 id="updating-documentation-options">
<title>Tunable Options of the Documentation Sources</title>
<para>The updating and build system of the &os; documentation
set supports a few options that ease the process of updating
only parts of the documentation, or the build of specific
translations. These options can be set either as system-wide
options in <filename>/etc/make.conf</filename>, or as
command-line options passed to &man.make.1;.</para>
<para>The options include:</para>
<variablelist>
<varlistentry>
<term><makevar>DOC_LANG</makevar></term>
<listitem>
<para>The list of languages and encodings to build and
install, such as <literal>en_US.ISO8859-1</literal> for
English documentation.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><makevar>FORMATS</makevar></term>
<listitem>
<para>A single format or a list of output formats to be
built. Currently, <literal>html</literal>,
<literal>html-split</literal>, <literal>txt</literal>,
<literal>ps</literal>, <literal>pdf</literal>,
and <literal>rtf</literal> are supported.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><makevar>DOCDIR</makevar></term>
<listitem>
<para>Where to install the documentation. It defaults to
<filename
class="directory">/usr/share/doc</filename>.</para>
</listitem>
</varlistentry>
</variablelist>
<para>For more <command>make</command> variables supported as
system-wide options in &os;, refer to
&man.make.conf.5;.</para>
<para>For more <command>make</command> variables supported by
the build system of the &os; documentation, refer to the
<ulink url="&url.doc.langbase;/books/fdp-primer">&os;
Documentation Project Primer for New
Contributors</ulink>.</para>
</sect2>
<sect2 id="updating-installed-documentation">
<title>Installing the &os; Documentation from Source</title>
<para>Once an up-to-date snapshot of the documentation sources
has been fetched to <filename
class="directory">/usr/doc</filename>, everything is
ready for an update of the installed documentation.</para>
<para>A full update of all the languages defined in
<makevar>DOC_LANG</makevar> may be performed by typing:</para>
<screen>&prompt.root; <userinput>cd /usr/doc</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>If an update of only a specific language is desired,
&man.make.1; can be invoked in a language specific
subdirectory of
<filename class="directory">/usr/doc</filename>:</para>
<screen>&prompt.root; <userinput>cd /usr/doc/en_US.ISO8859-1</userinput>
&prompt.root; <userinput>make update install clean</userinput></screen>
<para>The output formats that will be installed may be specified
by setting <makevar>FORMATS</makevar>:</para>
<screen>&prompt.root; <userinput>cd /usr/doc</userinput>
&prompt.root; <userinput>make FORMATS='html html-split' install clean</userinput></screen>
<para>For information on editing and submitting corrections to
the documentation, refer to the <ulink
url="&url.books.fdp-primer;">&os; Documentation
Project Primer for New Contributors</ulink>.</para>
</sect2>
<sect2 id="doc-ports">
<sect2info>
<authorgroup>
<author>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
<contrib>Based on the work of </contrib>
</author>
</authorgroup>
</sect2info>
<title>Using Documentation Ports</title>
<indexterm><primary>Updating and Upgrading</primary></indexterm>
<indexterm>
<primary>documentation package</primary>
<see>Updating and Upgrading</see>
</indexterm>
<para>The previous section presented a method for updating the
&os; documentation from sources. Source based updates may not
be feasible or practical for all &os; systems as building the
documentation sources requires the <emphasis>documentation
toolchain</emphasis>, a certain level of familiarity with
<application>svn</application> and source checkouts from a
repository, and a few manual steps to build the checked out
sources. This section describes an alternative method which
uses the Ports Collection and makes it possible to:</para>
<itemizedlist>
<listitem>
<para>Download and install pre-built snapshots of the
documentation, without having to locally build anything
or install the documentation toolchain.</para>
</listitem>
<listitem>
<para>Download the documentation sources and build them
through the ports framework, making the checkout and build
steps a bit easier.</para>
</listitem>
</itemizedlist>
<para>These two methods of updating the &os; documentation are
supported by a set of <emphasis>documentation
ports</emphasis>, updated by the &a.doceng; on a monthly
basis. These are listed in the &os; Ports&nbsp;Collection,
under the <ulink
url="http://www.freshports.org/docs/">docs</ulink>
category.</para>
<sect3 id="doc-ports-install-make">
<title>Building and Installing Documentation Ports</title>
<para>The documentation ports use the ports building framework
to make documentation builds easier. They automate the
process of checking out the documentation source, running
&man.make.1; with the appropriate environment settings and
command-line options, and they make the installation or
deinstallation of documentation as easy as the installation
of any other &os; port or package.</para>
<note>
<para>As an extra feature, when the documentation ports are
built locally, they record a dependency to the
<emphasis>documentation toolchain</emphasis> ports, so
that they are also automatically installed.</para>
</note>
<para>Organization of the documentation ports is as
follows:</para>
<itemizedlist>
<listitem>
<para>The <quote>master port</quote>, <filename
role="package">misc/freebsd-doc-en</filename>,
which installs all of the English documentation
ports.</para>
</listitem>
<listitem>
<para>The <quote>all in one port</quote>, <filename
role="package">misc/freebsd-doc-all</filename>,
builds and installs all documentation in all available
languages.</para>
</listitem>
<listitem>
<para>There is a <quote>slave port</quote> for each
translation, such as <filename
role="package">misc/freebsd-doc-hu</filename> for the
Hungarian-language documents.</para>
</listitem>
</itemizedlist>
<para>For example, to build and install the English
documentation in split <acronym>HTML</acronym> format,
similar to the format used on <ulink
url="http://www.FreeBSD.org"></ulink>, to
<filename
class="directory">/usr/local/share/doc/freebsd</filename>,
install the following port</para>
<screen>&prompt.root; <userinput>cd /usr/ports/misc/freebsd-doc-en</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<sect4 id="doc-ports-options">
<title>Common Knobs and Options</title>
<para>There are many options for modifying the default
behavior of the documentation ports, including:</para>
<variablelist>
<varlistentry>
<term><makevar>WITH_HTML</makevar></term>
<listitem>
<para>Builds the HTML format with a single HTML file
per document. The formatted documentation is saved
to a file called <filename>article.html</filename>,
or <filename>book.html</filename>, as appropriate,
plus images.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><makevar>WITH_PDF</makevar></term>
<listitem>
<para>Builds the &adobe; Portable Document Format
(PDF). The formatted documentation is saved to a
file called <filename>article.pdf</filename> or
<filename>book.pdf</filename>, as
appropriate.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><makevar>DOCBASE</makevar></term>
<listitem>
<para>Specifies where to install the documentation.
It defaults to <filename
class="directory">/usr/local/share/doc/freebsd</filename>.</para>
<note>
<para>The default target directory differs from the
directory used <application>svn</application>.
This is because ports are usually installed within
<filename class="directory">/usr/local</filename>.
This can be overridden by using
<makevar>PREFIX</makevar>.</para>
</note>
</listitem>
</varlistentry>
</variablelist>
<para>This example uses variables to install the Hungarian
documentation as a PDF:</para>
<screen>&prompt.root; cd /usr/ports/misc/freebsd-doc-hu
&prompt.root; make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean</screen>
</sect4>
</sect3>
<sect3 id="doc-ports-install-package">
<title>Using Documentation Packages</title>
<para>Building the documentation ports from source, as
described in the previous section, requires a local
installation of the documentation toolchain and a bit of
disk space for the build of the ports. When resources are
not available to install the documentation toolchain, or
because the build from sources would take too much disk
space, it is still possible to install pre-built snapshots
of the documentation ports.</para>
<para>The &a.doceng; prepares monthly snapshots of the &os;
documentation packages. These binary packages can be used
with any of the bundled package tools, like &man.pkg.add.1;,
&man.pkg.delete.1;, and so on.</para>
<note>
<para>When binary packages are used, the &os; documentation
will be installed in <emphasis>all</emphasis> available
formats for the given language.</para>
</note>
<para>For example, the following command will install the
latest pre-built package of the Hungarian
documentation:</para>
<screen>&prompt.root; <userinput>pkg_add -r hu-freebsd-doc</userinput></screen>
<note>
<para>Packages use a format that differs from the
corresponding port's name:
<literal><replaceable>lang</replaceable>-freebsd-doc</literal>,
where <replaceable>lang</replaceable> is the short format
of the language code, such as <literal>hu</literal> for
Hungarian, or <literal>zh_cn</literal> for Simplified
Chinese.</para>
</note>
</sect3>
<sect3 id="doc-ports-update">
<title>Updating Documentation Ports</title>
<para>Documentation ports can be updated like any other port.
For example, the following command updates the installed
Hungarian documentation using
<filename role="package">ports-mgmt/portmaster</filename>
by using packages only:</para>
<screen>&prompt.root; <userinput>portmaster -PP hu-freebsd-doc</userinput></screen>
</sect3>
</sect2>
</sect1>
<sect1 id="current-stable">
<title>Tracking a Development Branch</title>
<indexterm><primary>-CURRENT</primary></indexterm>
<indexterm><primary>-STABLE</primary></indexterm>
<para>There are two development branches to &os;: &os.current;
and &os.stable;. This section provides an explanation of each
and describes how to keep a system up-to-date with each
respective tree. &os.current; will be discussed first, then
&os.stable;.</para>
<sect2 id="current">
<title>Staying Current with &os;</title>
<para>&os.current; is the <quote>bleeding edge</quote> of &os;
development. &os.current; users are expected to have a high
degree of technical skill and should be capable of solving
difficult system problems on their own. If you are new to
&os;, track &os.stable; instead.</para>
<sect3>
<title>What Is &os.current;?</title>
<indexterm><primary>snapshot</primary></indexterm>
<para>&os.current; is the very latest source code for &os;.
This includes work in progress, experimental changes, and
transitional mechanisms that might or might not be present
in the next official release of the software. While many
&os; developers compile the &os.current; source code daily,
there are periods of time when the sources are not
buildable. These problems are resolved as quickly as
possible, but whether or not &os.current; brings disaster or
greatly desired functionality can be a matter of when the
source code was synced.</para>
</sect3>
<sect3>
<title>Who Needs &os.current;?</title>
<para>&os.current; is made available for three primary
interest groups:</para>
<orderedlist>
<listitem>
<para>Members of the &os; community who are actively
working on some part of the source tree and for whom
keeping <quote>current</quote> is an absolute
requirement.</para>
</listitem>
<listitem>
<para>Members of the &os; community who are active
testers, willing to spend time solving problems in order
to ensure that &os.current; remains as sane as possible.
These testers wish to make topical suggestions on
changes and the general direction of &os;, and submit
patches to implement them.</para>
</listitem>
<listitem>
<para>Those who merely wish to keep an eye on things, or
to use the current sources for reference purposes.
These people also make the occasional comment or
contribute code.</para>
</listitem>
</orderedlist>
</sect3>
<sect3>
<title>What Is &os.current; <emphasis>Not</emphasis>?</title>
<orderedlist>
<listitem>
<para>A fast-track to getting new features before the next
release. Pre-release features are not yet fully tested
and most likely contain bugs.</para>
</listitem>
<listitem>
<para>A quick way of getting bug fixes. Any given commit
is just as likely to introduce new bugs as to fix
existing ones.</para>
</listitem>
<listitem>
<para>In any way <quote>officially
supported</quote>.</para>
</listitem>
</orderedlist>
</sect3>
<sect3>
<title>Using &os.current;</title>
<indexterm>
<primary>-CURRENT</primary>
<secondary>using</secondary>
</indexterm>
<orderedlist>
<listitem>
<para>Join the &a.current.name; and the
&a.svn-src-head.name; lists. This is
<emphasis>essential</emphasis> in order to see the
comments that people are making about the current state
of the system and to receive important bulletins which
may be critical to the system's continued health.</para>
<para>The &a.svn-src-head.name; list records the commit
log entry for each change as it is made, along with any
pertinent information on possible side-effects.</para>
<para>To join these lists, go to &a.mailman.lists.link;,
click on the list to subscribe to, and follow the
instructions. In order to track changes to the whole
source tree, subscribe to the &a.svn-src-all.name;
list.</para>
</listitem>
<listitem>
<para>Grab the sources from a &os;
<link linkend="mirrors">mirror site</link> using
one of the following methods:</para>
<orderedlist>
<listitem>
<para>Use <link
linkend="svn">svn</link><indexterm>
<primary>Subversion</primary>
</indexterm>
<indexterm>
<primary>-CURRENT</primary>
<secondary>Syncing with
<application>Subversion</application></secondary>
</indexterm>
to check out the desired development or release
branch. This is the recommended method, providing
access to &os; development as it occurs. Checkout
the -CURRENT code from the <literal>head</literal>
branch of one of the <link
linkend="svn-mirrors">Subversion mirror
sites</link>. Due to the size of the repository,
it is recommended that only desired subtrees be
checked out.</para>
</listitem>
<listitem>
<para>Use the <application><link
linkend="ctm">CTM</link></application><indexterm>
<primary>-CURRENT</primary>
<secondary>Syncing with CTM</secondary>
</indexterm> facility. If you have bad connectivity
such as high price connections or only email access,
<application>CTM</application> is an option, but it
is not as reliable as <application>
<link linkend="svn">Subversion</link></application>.
For this reason, <application><link
linkend="svn">Subversion</link></application>
is the recommended method for any system with
Internet connectivity.</para>
</listitem>
</orderedlist>
</listitem>
<listitem>
<para>If you plan to run, and not just look at the
sources, download <emphasis>all</emphasis> of
&os.current;, not just selected portions. Various parts
of the source depend on updates elsewhere, and trying to
compile just a subset is almost guaranteed to cause
problems.</para>
<para>Before compiling
&os.current;<indexterm>
<primary>-CURRENT</primary>
<secondary>compiling</secondary>
</indexterm>, read
<filename>/usr/src/Makefile</filename> very carefully.
<link linkend="makeworld">Install a new kernel and
rebuild the world</link> the first time through as part
of the upgrading process. Read the &a.current; and
<filename>/usr/src/UPDATING</filename> to stay
up-to-date on other bootstrapping procedures that
sometimes become necessary on the road to the next
release.</para>
</listitem>
<listitem>
<para>Be active! &os.current; users are encouraged to
submit their suggestions for enhancements or bug fixes.
Suggestions with accompanying code are received most
enthusiastically!</para>
</listitem>
</orderedlist>
</sect3>
</sect2>
<sect2 id="stable">
<title>Staying Stable with &os;</title>
<sect3>
<title>What Is &os.stable;?</title>
<indexterm><primary>-STABLE</primary></indexterm>
<para>&os.stable; is the development branch from which major
releases are made. Changes go into this branch at a
different pace, and with the general assumption that they
have first gone into &os.current; for testing. This is
<emphasis>still</emphasis> a development branch, however,
and this means that at any given time, the sources for
&os.stable; may or may not be suitable for any particular
purpose. It is simply another engineering development
track, not a resource for end-users.</para>
</sect3>
<sect3>
<title>Who Needs &os.stable;?</title>
<para>Those interested in tracking or contributing to the
FreeBSD development process, especially as it relates to the
next <quote>point</quote> release of FreeBSD, should
consider following &os.stable;.</para>
<para>While security fixes go into the &os.stable; branch, one
does not <emphasis>need</emphasis> to track &os.stable; to
receive security fixes. Every security advisory for &os;
explains how to fix the problem for the releases it
affects which are not yet EOL.
<footnote>
<para>For a complete description of the current security
policy for old releases of FreeBSD, refer to <ulink
url="&url.base;/security/">http://www.FreeBSD.org/security/</ulink>.</para></footnote>.</para>
<para>While the &os.stable; branch should compile and run at
all times, this cannot be guaranteed. While code is
developed in &os.current; before including it in
&os.stable;, more people run &os.stable; than &os.current;,
so it is inevitable that bugs and corner cases will
sometimes be found in &os.stable; that were not apparent in
&os.current;.</para>
<para>For these reasons, one should <emphasis>not</emphasis>
blindly track &os.stable;. It is particularly important not
to update any production servers to &os.stable; without
first thoroughly testing the code in a development/testing
environment.</para>
<para>Except for those users who have the resources to perform
testing, it is recommended that users instead run the most
recent release of FreeBSD, and use the binary update
mechanism to move from release to release.</para>
</sect3>
<sect3>
<title>Using &os.stable;</title>
<indexterm>
<primary>-STABLE</primary>
<secondary>using</secondary>
</indexterm>
<orderedlist>
<listitem>
<para>Join the &a.stable.name; list in order to stay
informed of build-dependencies that may appear in
&os.stable; or any other issues requiring special
attention. Developers will also make announcements in
this mailing list when they are contemplating some
controversial fix or update, giving the users a chance
to respond if they have any issues to raise concerning
the proposed change.</para>
<para>Join the relevant <application>svn</application>
list for the branch being tracked. For example, users
tracking the 9-STABLE branch should join the
&a.svn-src-stable-9.name; list. This list records the
commit log entry for each change as it is made, along
with any pertinent information on possible
side-effects.</para>
<para>To join these lists,
go to &a.mailman.lists.link;, click on the list to
subscribe to, and follow the instructions. In order to
track changes for the whole source tree, subscribe to
&a.svn-src-all.name;.</para>
</listitem>
<listitem>
<para>To install a new system running monthly
snapshots built from &os.stable;, refer to <ulink
url="&url.base;/snapshots/">Snapshots</ulink> for more
information. Alternatively, it is possible to install
the most recent &os.stable; release from the <link
linkend="mirrors">mirror sites</link> and follow the
instructions below to upgrade the system to the most
up-to-date &os.stable; source code.</para>
<para>Several methods are available to upgrade from a &os;
<link linkend="mirrors">mirror site</link> on a system
already running a previous release of &os;:</para>
<orderedlist>
<listitem>
<para>Use <link linkend="svn">svn</link><indexterm>
<primary>Subversion</primary>
</indexterm> to check out the desired development or
release branch. This is the recommended method,
providing access to &os; development as it occurs.
Branch names include <literal>head</literal> for the
current development head, and branches identified in
<ulink url="&url.base;/releng/">the release
engineering page</ulink>, such as
<literal>stable/9</literal><indexterm>
<primary>-STABLE</primary>
<secondary>syncing with
<application>Subversion</application></secondary>
</indexterm>
or <literal>releng/9.0</literal>. URL prefixes for
<application>Subversion</application> checkout of
the base system are shown in <link
linkend="svn-mirrors">Subversion mirror
sites</link>.
Because of the size of the repository, it is
recommended that only desired subtrees be checked
out.</para>
</listitem>
<listitem>
<para>Consider using <application><link
linkend="ctm">CTM</link></application><indexterm>
<primary>-STABLE</primary>
<secondary>syncing with CTM</secondary>
</indexterm> if you do not have a fast connection to
the Internet.</para>
</listitem>
</orderedlist>
</listitem>
<listitem>
<para>Before compiling &os.stable;<indexterm>
<primary>-STABLE</primary>
<secondary>compiling</secondary>
</indexterm>, read
<filename>/usr/src/Makefile</filename> carefully.
<link linkend="makeworld">Install a new kernel and
rebuild the world</link> the first time through as part
of the upgrading process. Read &a.stable; and
<filename>/usr/src/UPDATING</filename> to keep
up-to-date on other bootstrapping procedures that
sometimes become necessary on the road to the next
release.</para>
</listitem>
</orderedlist>
</sect3>
</sect2>
</sect1>
<sect1 id="synching">
<title>Synchronizing Source</title>
<para>There are various ways of using an Internet or email
connection to stay up-to-date with any given area, or all areas,
of the &os; project sources. The primary services are <link
linkend="svn">Subversion</link> and <link
linkend="ctm">CTM</link>.</para>
<warning>
<para>While it is possible to update only parts of the source
tree, the only supported update procedure is to update the
entire tree and recompile all the programs that run in user
space, such as those in <filename>/bin</filename> and
<filename>/sbin</filename>, and kernel sources. Updating only
part of the source tree, only the kernel, or only the userland
programs will often result in problems ranging from compile
errors to kernel panics or data corruption.</para>
</warning>
<indexterm>
<primary>Subversion</primary>
</indexterm>
<para><application>Subversion</application> uses the
<emphasis>pull</emphasis> model of updating sources. The user,
or a <command>cron</command> script, invokes the
<command>svn</command> program, and it brings files up-to-date.
<application>Subversion</application> is the preferred means of
updating local source trees. The updates are up-to-the-minute
and the user controls when they are downloaded. It is easy to
restrict updates to specific files or directories and the
requested updates are generated on the fly by the server.</para>
<indexterm>
<primary><application>CTM</application></primary>
</indexterm>
<para><application>CTM</application> does not interactively
compare the local sources with those on the master archive or
otherwise pull them across. Instead, a script which identifies
changes in files since its previous run is executed several
times a day on the master CTM machine. Any detected changes are
compressed, stamped with a sequence-number, and encoded for
transmission over email in printable ASCII only. Once received,
these <quote>CTM deltas</quote> can then be handed to the
&man.ctm.rmail.1; utility which will automatically decode,
verify, and apply the changes to the user's copy of the sources.
This process is more efficient than
<application>Subversion</application> and places less strain on
server resources since it is a <emphasis>push</emphasis>
rather than a <emphasis>pull</emphasis> model.</para>
<para>There are other trade-offs. If a user inadvertently
wipes out portions of the local archive,
<application>Subversion</application> will detect and rebuild
the damaged portions. <application>CTM</application> will not
do this, and if a user deletes some portion of the source tree
and does not have a backup, they will have to start from scratch
from the most recent CTM <quote>base delta</quote> and rebuild
it all with <application>CTM</application>.</para>
</sect1>
<sect1 id="makeworld">
<title>Rebuilding <quote>world</quote></title>
<indexterm>
<primary>Rebuilding <quote>world</quote></primary>
</indexterm>
<para>Once the local source tree is synchronized against a
particular version of &os; such as &os.stable; or &os.current;,
the source tree can be used to rebuild the system.</para>
<warning>
<title>Make a Backup</title>
<para>It cannot be stressed enough how important it is to make a
backup of the system <emphasis>before</emphasis> rebuilding
the system. While rebuilding the world is an easy task, there
will inevitably be times when mistakes in the source tree
render the system unbootable.</para>
<para>Create and verify a backup and have a bootable
installation media at hand. You will probably never have
to use it, but it is better to be safe than sorry!</para>
</warning>
<warning>
<title>Subscribe to the Right Mailing List</title>
<indexterm><primary>mailing list</primary></indexterm>
<para>The &os.stable; and &os.current; branches are, by their
nature, <emphasis>in development</emphasis>. People that
contribute to &os; are human, and mistakes occasionally
happen.</para>
<para>Sometimes these mistakes can be quite harmless, just
causing the system to print a new diagnostic warning. Or the
change may be catastrophic, and render the system unbootable
or destroy file systems.</para>
<para>When problems occur, a <quote>heads up</quote> is
posted to the appropriate mailing list, explaining the nature
of the problem and which systems it affects. An <quote>all
clear</quote> announcement is posted when the problem has
been solved.</para>
<para>Users who track &os.stable; or &os.current; and do
not read &a.stable; or &a.current; respectively, are asking
for trouble.</para>
</warning>
<warning>
<title>Do Not Use <command>make world</command></title>
<para>Some older documentation recommends using
<command>make world</command>. However, that command skips
some important steps and should only be used by experts. For
almost all circumstances <command>make world</command> is the
wrong thing to do, and the procedure described here should be
used instead.</para>
</warning>
<sect2 id="canonical-build">
<title>The Canonical Way to Update Your System</title>
<para>Before updating the system, read
<filename>/usr/src/UPDATING</filename> for any pre-buildworld
steps necessary for that version of the sources. Then, use
the procedure outlined here.</para>
<para>These upgrade steps assume an upgrade from an older &os;
version, consisting of an old compiler, old kernel,
old world, and old configuration files.
<quote>World</quote> includes the core system binaries,
libraries, and programming files. The compiler is part of
<quote>world</quote>, but has a few special concerns.</para>
<para>These steps also assume that the sources to a newer
version have already been obtained. If the sources are not
up-to-date, refer to <xref linkend="synching"/> for detailed
help about synchronizing to a newer version.</para>
<para>Updating the system from source is a more subtle process
than it might initially seem to be, and the &os; developers
have found it necessary over the years to change the
recommended approach fairly dramatically as new kinds of
unavoidable dependencies come to light. The rest of this
section describes the rationale behind the currently
recommended upgrade sequence.</para>
<para>Any successful update sequence must deal with the
following issues:</para>
<itemizedlist>
<listitem>
<para>The old compiler might have a bug and not be able to
compile the new kernel. So, the new kernel should be
built with the new compiler, meaning that the new compiler
must be built before the new kernel is built. This does
not necessarily mean that the new compiler must be
<emphasis>installed</emphasis> before building the new
kernel.</para>
</listitem>
<listitem>
<para>The new world might rely on new kernel features. So,
the new kernel must be installed before the new world is
installed.</para>
</listitem>
</itemizedlist>
<para>These first two issues are the basis for the
core <maketarget>buildworld</maketarget>,
<maketarget>buildkernel</maketarget>,
<maketarget>installkernel</maketarget>,
<maketarget>installworld</maketarget> sequence described in
the following paragraphs. Other reasons for using these
steps are listed below:</para>
<itemizedlist>
<listitem>
<para>The old world might not run correctly on the new
kernel, so the new world must be installed immediately
upon installing the new kernel.</para>
</listitem>
<listitem>
<para>Some configuration changes must be made before the new
world is installed, but others might break the old world.
Hence, two different configuration upgrade steps are
generally needed.</para>
</listitem>
<listitem>
<para>For the most part, the update process only replaces or
adds files and existing old files are not deleted. In a
few cases, this can cause problems. As a result, the
update procedure will sometimes specify certain files that
should be manually deleted at certain steps. This may or
may not be automated in the future.</para>
</listitem>
</itemizedlist>
<para>These concerns have led to the following recommended
sequence. Note that the detailed sequence for particular
updates may require additional steps, but this core process
should remain unchanged for some time:</para>
<orderedlist>
<listitem>
<para><command>make
<maketarget>buildworld</maketarget></command></para>
<para>This first compiles the new compiler and a few related
tools, then uses the new compiler to compile the rest of
the new world. The result ends up in
<filename class="directory">/usr/obj</filename>.</para>
</listitem>
<listitem>
<para><command>make
<maketarget>buildkernel</maketarget></command></para>
<para>This uses the <emphasis>new</emphasis> compiler
residing in <filename
class="directory">/usr/obj</filename> in order to
protect against compiler-kernel mismatches.</para>
</listitem>
<listitem>
<para><command>make
<maketarget>installkernel</maketarget></command></para>
<para>Place the new kernel and kernel modules onto the disk,
making it possible to boot with the newly updated
kernel.</para>
</listitem>
<listitem>
<para>Reboot into single user mode.</para>
<para>Single user mode minimizes problems from updating
software that is already running. It also minimizes any
problems from running the old world on a new
kernel.</para>
</listitem>
<listitem>
<para><command>mergemaster
<option>-p</option></command></para>
<para>This does some initial configuration file updates in
preparation for the new world. For instance, it may add
new user groups to the system, or new user names to the
password database. This is often necessary when new
groups or special system-user accounts have been added
since the last update, so that the
<maketarget>installworld</maketarget> step will be able to
use the newly installed system user or system group names
without problems.</para>
</listitem>
<listitem>
<para><command>make
<maketarget>installworld</maketarget></command></para>
<para>Copies the world
from <filename class="directory">/usr/obj</filename>. The
new kernel and new world are now installed on disk.</para>
</listitem>
<listitem>
<para><command>mergemaster</command></para>
<para>Repeated to update the remaining configuration files,
now that the new world is on disk.</para>
</listitem>
<listitem>
<para><command>make
<maketarget>delete-old</maketarget></command></para>
<para>This target deletes old (obsolete) files. This is
important because sometimes they cause problems if left on
the disk, for example the presence of the old
<filename>utmp.h</filename> causes problems in some ports
when the new <filename>utmpx.h</filename> is
installed.</para>
</listitem>
<listitem>
<para>Reboot.</para>
<para>A full machine reboot is needed now to load the new
kernel and new world with new configuration files.</para>
</listitem>
<listitem>
<para><command>make
<maketarget>delete-old-libs</maketarget></command></para>
<para>Remove any obsolete libraries to avoid conflicts with
newer ones. Make sure that all ports have been rebuilt
before old libraries are removed.</para>
</listitem>
</orderedlist>
<para>Upgrades from one release of the same &os; branch to a
more recent release of the same branch, such as from 9.0 to
9.1, may not need this procedure since it is less likely to
run into serious mismatches between compiler, kernel,
userland, and configuration files. The approach of
<command>make <maketarget>world</maketarget></command>
followed by building and installing a new kernel might work
well enough for minor updates.</para>
<para>When upgrading across major releases, people who do not
follow this procedure should expect some problems.</para>
<para>It is also worth noting that many upgrades may require
specific additional steps such as renaming or deleting
specific files prior to installworld. Read
<filename>/usr/src/UPDATING</filename> carefully, especially
at the end, where the currently recommended upgrade sequence
is explicitly spelled out.</para>
<para>This procedure has evolved over time as the developers
have found it impossible to completely prevent certain kinds
of mismatch problems. Hopefully, the current procedure will
remain stable for a long time.</para>
<para>To summarize, the currently recommended way of upgrading
&os; from sources is:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make buildworld</userinput>
&prompt.root; <userinput>make buildkernel</userinput>
&prompt.root; <userinput>make installkernel</userinput>
&prompt.root; <userinput>shutdown -r now</userinput></screen>
<note>
<para>There are a few rare cases when an extra run of
<command>mergemaster -p</command> is needed before the
<maketarget>buildworld</maketarget> step. These are
described in <filename>UPDATING</filename>. In general,
though, this step can safely be omitted when not updating
across one or more major &os; versions.</para>
</note>
<para>After <maketarget>installkernel</maketarget> finishes
successfully, boot into single user mode using <command>boot
- -s</command> from the loader prompt. Then run:</para>
+ -s</command> from the loader prompt.</para>
+ <para>If using UFS, run:</para>
+
+
<screen>&prompt.root; <userinput>mount -u /</userinput>
-&prompt.root; <userinput>mount -a -t ufs</userinput>
-&prompt.root; <userinput>adjkerntz -i</userinput>
+&prompt.root; <userinput>mount -a -t ufs</userinput></screen>
+
+ <para>If using ZFS(assuming a zpool name of zroot), run:</para>
+
+ <screen>&prompt.root; <userinput>zfs set readonly=off zroot</userinput>
+&prompt.root; <userinput>zfs mount -a</userinput></screen>
+
+ <para>Then run:</para>
+
+ <screen>&prompt.root; <userinput>adjkerntz -i</userinput>
&prompt.root; <userinput>mergemaster -p</userinput>
&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make installworld</userinput>
&prompt.root; <userinput>mergemaster</userinput>
&prompt.root; <userinput>make delete-old</userinput>
&prompt.root; <userinput>reboot</userinput>
&prompt.root; <userinput>make delete-old-libs</userinput></screen>
<warning>
<title>Read Further Explanations</title>
<para>The following sections clearly describe each step,
especially when using a custom kernel configuration.</para>
</warning>
</sect2>
<sect2 id="src-updating">
<title>Read <filename>/usr/src/UPDATING</filename></title>
<para>Before updating, read
<filename>/usr/src/UPDATING</filename>. This file contains
important information about potential problems and may specify
the order to run certain commands. If
<filename>UPDATING</filename> contradicts the procedure in
this section, <filename>UPDATING</filename> takes
precedence.</para>
<important>
<para>Reading <filename>UPDATING</filename> is not an
acceptable substitute for subscribing to the correct mailing
list. The two requirements are complementary, not
exclusive.</para>
</important>
</sect2>
<sect2 id="make-conf">
<title>Check <filename>/etc/make.conf</filename></title>
<indexterm>
<primary><filename>make.conf</filename></primary>
</indexterm>
<para>Available &man.make.1; options are shown in
&man.make.conf.5; and
<filename>/usr/share/examples/etc/make.conf</filename>. These
settings can be added to <filename>/etc/make.conf</filename>
to control the way &man.make.1; runs and how it builds
programs. Changes to some settings can have far-reaching and
potentially surprising effects. Read the comments in both
locations and keep in mind that the defaults have been chosen
for a combination of performance and safety.</para>
<para>Options set in <filename>/etc/make.conf</filename> take
effect every time &man.make.1; is used, including compiling
applications from the Ports Collection or user-written C
programs, or building the &os; operating system.</para>
</sect2>
<sect2 id="src-conf">
<title>Check <filename>/etc/src.conf</filename></title>
<indexterm>
<primary><filename>src.conf</filename></primary>
</indexterm>
<para><filename>/etc/src.conf</filename> controls the building
of the operating system from source code. Unlike
<filename>/etc/make.conf</filename>, the contents of
<filename>/etc/src.conf</filename> only take effect when the
&os; operating system itself is being built. Descriptions of
the many options available for this file are shown in
&man.src.conf.5;. Be cautious about disabling seemingly
unneeded kernel modules and build options. Sometimes there
are unexpected or subtle interactions.</para>
</sect2>
<sect2 id="updating-etc">
<title>Update the Files in <filename>/etc</filename></title>
<para><filename class="directory">/etc</filename> contains a
large part of the system's configuration information, as well
as scripts that are run at system startup. Some of these
scripts change between &os; versions.</para>
<para>Some of the configuration files are used in the day to
day running of the system, such as
<filename>/etc/group</filename>.</para>
<para>There have been occasions when the installation part of
<command>make installworld</command> expected certain
usernames or groups to exist. When performing an upgrade, it
is likely that these users or groups do not yet exist. In
some cases <command>make buildworld</command> will check to
see if these users or groups exist.</para>
<para>The solution is to run &man.mergemaster.8; in
pre-buildworld mode with <option>-p</option>. This compares
only those files that are essential for the success of
<maketarget>buildworld</maketarget> or
<maketarget>installworld</maketarget>.</para>
<tip>
<para>To check which files are owned by the group being
renamed or deleted:</para>
<screen>&prompt.root; <userinput>find / -group <replaceable>GID</replaceable> -print</userinput></screen>
<para>This command will show all files owned by group
<replaceable>GID</replaceable>, which can be either a group
name or a numeric group ID.</para>
</tip>
</sect2>
<sect2 id="makeworld-singleuser">
<title>Drop to Single User Mode</title>
<indexterm><primary>single-user mode</primary></indexterm>
<para>Consider compiling the system in single user mode.
Reinstalling the system touches a lot of important system
files, all the standard system binaries, libraries, and
include files. Changing these on a running system,
particularly one with active users, is asking for
trouble.</para>
<indexterm><primary>multi-user mode</primary></indexterm>
<para>Another method is to compile the system in multi-user
mode, and then drop into single user mode for the
installation. With this method, hold off on the following
steps until the build has completed. Drop to single user mode
in order to run <maketarget>installkernel</maketarget> or
<maketarget>installworld</maketarget>.</para>
<para>To enter single user mode from a running system:</para>
<screen>&prompt.root; <userinput>shutdown now</userinput></screen>
<para>Alternatively, reboot the system, and at the boot prompt,
select the <quote>single user</quote> option. Once at the
single user mode shell prompt, run:</para>
<screen>&prompt.root; <userinput>fsck -p</userinput>
&prompt.root; <userinput>mount -u /</userinput>
&prompt.root; <userinput>mount -a -t ufs</userinput>
&prompt.root; <userinput>swapon -a</userinput></screen>
<para>This checks the file systems, remounts
<filename>/</filename> read/write, mounts all the other UFS
file systems referenced in <filename>/etc/fstab</filename>,
and turns swapping on.</para>
<note>
<para>If the CMOS clock is set to local time and not to GMT
(this is true if the output of &man.date.1; does not show
the correct time and zone), run the following
command:</para>
<screen>&prompt.root; <userinput>adjkerntz -i</userinput></screen>
<para>This ensures that the local time-zone settings get set
up correctly.</para>
</note>
</sect2>
<sect2 id="cleaning-usr-obj">
<title>Remove <filename>/usr/obj</filename></title>
<para>As parts of the system are rebuilt, they are, by default,
placed in subdirectories of <filename>/usr/obj</filename>.
The directories shadow those under
<filename>/usr/src</filename>.</para>
<para>To speed up the <command>make buildworld</command>
process, and possibly save some dependency headaches,
remove this directory if it already exists.</para>
<para>Some files below <filename>/usr/obj</filename> may have
the immutable flag set which must be removed first using
&man.chflags.1;.</para>
<screen>&prompt.root; <userinput>cd /usr/obj</userinput>
&prompt.root; <userinput>chflags -R noschg *</userinput>
&prompt.root; <userinput>rm -rf *</userinput></screen>
</sect2>
<sect2 id="updating-upgrading-compilebase">
<title>Recompile the Base System</title>
<sect3>
<title>Saving the Output</title>
<para>It is a good idea to save the output from running
&man.make.1; to a file. If something goes wrong, a copy of
the error message can be posted to one of the &os; mailing
lists.</para>
<para>The easiest way to do this is to use &man.script.1;
with a parameter that specifies the name of the file to save
all output to. Run this command immediately before
rebuilding the world, and then type
<userinput>exit</userinput> when the process has
finished:</para>
<screen>&prompt.root; <userinput>script /var/tmp/mw.out</userinput>
Script started, output file is /var/tmp/mw.out
&prompt.root; <userinput>make TARGET</userinput>
<emphasis>&hellip; compile, compile, compile &hellip;</emphasis>
&prompt.root; <userinput>exit</userinput>
Script done, &hellip;</screen>
<para><emphasis>Do not</emphasis> save the output in <filename
class="directory">/tmp</filename> as this directory may be
cleared at next reboot. A better place to save the file is
<filename class="directory">/var/tmp</filename> or in
<username>root</username>'s home directory.</para>
</sect3>
<sect3 id="make-buildworld">
<title>Compile the Base System</title>
<para>While in <filename class="directory">/usr/src</filename>
type:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
<indexterm><primary><command>make</command></primary></indexterm>
<para>To rebuild the world, use &man.make.1;. This command
reads instructions from the <filename>Makefile</filename>,
which describes how the programs that comprise &os; should
be built and the order in which they should be built.</para>
<para>The general format of the command is as follows:</para>
<screen>&prompt.root; <userinput>make -<replaceable>x</replaceable> -D<replaceable>VARIABLE</replaceable> <replaceable>target</replaceable></userinput></screen>
<para>In this example,
<option>-<replaceable>x</replaceable></option> is an option
passed to &man.make.1;. Refer to &man.make.1; for an
examples of available options.</para>
<para><option>-D<replaceable>VARIABLE</replaceable></option>
passes a variable to the <filename>Makefile</filename>. The
behavior of the <filename>Makefile</filename> is controlled
by these variables. These are the same variables as are set
in <filename>/etc/make.conf</filename>, and this provides
another way of setting them. For example:</para>
<screen>&prompt.root; <userinput>make -DNO_PROFILE <replaceable>target</replaceable></userinput></screen>
<para>is another way of specifying that profiled libraries
should not be built, and corresponds with the</para>
<programlisting>NO_PROFILE= true # Avoid compiling profiled libraries</programlisting>
<para>line in <filename>/etc/make.conf</filename>.</para>
<para><replaceable>target</replaceable> tells &man.make.1;
what to do. Each <filename>Makefile</filename> defines a
number of different <quote>targets</quote>, and the choice
of target determines what happens.</para>
<para>Some targets listed in the
<filename>Makefile</filename> are used by the build process
to break out the steps necessary to rebuild the system into
a number of sub-steps.</para>
<para>Most of the time, no parameters need to be passed to
&man.make.1; and the command looks like this:</para>
<screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen>
<para>Where <replaceable>target</replaceable> is one of many
build options. The first target should always be
<makevar>buildworld</makevar>.</para>
<para>As the names imply, <maketarget>buildworld</maketarget>
builds a complete new tree under
<filename>/usr/obj</filename> and
<maketarget>installworld</maketarget> installs this tree on
the current machine.</para>
<para>Having separate options is useful for two reasons.
First, it allows for a <quote>self hosted</quote> build that
does not affect any components of a running system. Because
of this, <maketarget>buildworld</maketarget> can be run on a
machine running in multi-user mode with no fear of
ill-effects. It is still recommended that
<maketarget>installworld</maketarget> be run in part in
single user mode, though.</para>
<para>Secondly, it allows NFS mounts to be used to upgrade
multiple machines on a network. If order to upgrade three
machines, <hostid>A</hostid>, <hostid>B</hostid> and
<hostid>C</hostid>, run <command>make buildworld</command>
and <command>make installworld</command> on
<hostid>A</hostid>. <hostid>B</hostid> and
<hostid>C</hostid> should then NFS mount
<filename>/usr/src</filename> and
<filename>/usr/obj</filename> from <hostid>A</hostid>, and
run <command>make installworld</command> to install the
results of the build on <hostid>B</hostid> and
<hostid>C</hostid>.</para>
<para>Although the <maketarget>world</maketarget> target still
exists, users are strongly encouraged not to use it.</para>
<para>Instead, run:</para>
<screen>&prompt.root; <userinput>make buildworld</userinput></screen>
<para>It is possible to specify <option>-j</option> which
will cause <command>make</command> to spawn several
simultaneous processes. This is most useful on multi-CPU
machines. However, since much of the compiling process is
I/O bound rather than CPU bound, it is also useful on single
CPU machines.</para>
<para>On a typical single-CPU machine, run:</para>
<screen>&prompt.root; <userinput>make -j4 buildworld</userinput></screen>
<para>&man.make.1; will then have up to 4 processes running at
any one time. Empirical evidence posted to the mailing
lists shows this generally gives the best performance
benefit.</para>
<para>On a multi-CPU machine using an SMP configured kernel,
try values between 6 and 10 and see how they speed things
up.</para>
</sect3>
<sect3>
<title>Timings</title>
<indexterm>
<primary>rebuilding <quote>world</quote></primary>
<secondary>timings</secondary>
</indexterm>
<para>Many factors influence the build time, but fairly recent
machines may only take a one or two hours to build the
&os.stable; tree, with no tricks or shortcuts used during
the process. A &os.current; tree will take somewhat
longer.</para>
</sect3>
</sect2>
<sect2 id="new-kernel">
<title>Compile and Install a New Kernel</title>
<indexterm>
<primary>kernel</primary>
<secondary>compiling</secondary>
</indexterm>
<para>To take full advantage of the new system, recompile the
kernel. This is practically a necessity, as certain memory
structures may have changed, and programs like &man.ps.1; and
&man.top.1; will fail to work until the kernel and source code
versions are the same.</para>
<para>The simplest, safest way to do this is to build and
install a kernel based on <filename>GENERIC</filename>. While
<filename>GENERIC</filename> may not have all the necessary
devices for the system, it should contain everything necessary
to boot the system back to single user mode. This is a good
test that the new system works properly. After booting from
<filename>GENERIC</filename> and verifying that the system
works, a new kernel can be built based on a custom kernel
configuration file.</para>
<para>On &os; it is important to
<link linkend="make-buildworld">build world</link> before
building a new kernel.</para>
<note>
<para>To build a custom kernel with an existing customized
configuration file, use
<literal>KERNCONF=<replaceable>MYKERNEL</replaceable></literal>:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput>
&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
</note>
<para>If <varname>kern.securelevel</varname> has been raised
above 1 <emphasis>and</emphasis> <literal>noschg</literal> or
similar flags have been set on the kernel binary, drop into
single user mode to use
<maketarget>installkernel</maketarget>. Otherwise, both these
commands can be run from multi user mode without problems.
See &man.init.8; for details about
<varname>kern.securelevel</varname> and &man.chflags.1; for
details about the various file flags.</para>
</sect2>
<sect2 id="new-kernel-singleuser">
<title>Reboot into Single User Mode</title>
<indexterm><primary>single-user mode</primary></indexterm>
<para>Reboot into single user mode to test that the new kernel
works using the instructions in <xref
linkend="makeworld-singleuser"/>.</para>
</sect2>
<sect2 id="make-installworld">
<title>Install the New System Binaries</title>
<para>Next, use <maketarget>installworld</maketarget> to install
the new system binaries:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make installworld</userinput></screen>
<note>
<para>If variables were specified to
<command>make buildworld</command>, specify the same
variables to <command>make installworld</command>. However,
<option>-j</option> must never be used with
<maketarget>installworld</maketarget>.</para>
<para>For example, if you ran:</para>
<screen>&prompt.root; <userinput>make -DNO_PROFILE buildworld</userinput></screen>
<para>install the results with:</para>
<screen>&prompt.root; <userinput>make -DNO_PROFILE installworld</userinput></screen>
<para>otherwise, the command will try to install profiled
libraries that were not built during the
<command>make buildworld</command> phase.</para>
</note>
</sect2>
<sect2 id="post-installworld-updates">
<title>Update Files Not Updated by
<command>make installworld</command></title>
<para>Remaking the world will not update certain directories,
such as <filename class="directory">/etc</filename>,
<filename class="directory">/var</filename> and
<filename class="directory">/usr</filename>, with
new or changed configuration files.</para>
<para>The simplest way to update the files in these directories
is to use &man.mergemaster.8;. Be sure to first make a backup
of <filename>/etc</filename> in case anything goes
wrong.</para>
<sect3 id="mergemaster">
<sect3info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect3info>
<title><command>mergemaster</command></title>
<indexterm>
<primary>
<command>mergemaster</command>
</primary>
</indexterm>
<para>&man.mergemaster.8; is a Bourne script to aid in
determining the differences between the configuration files
in <filename class="directory">/etc</filename>, and the
configuration files in the source tree
<filename class="directory">/usr/src/etc</filename>. This
is the recommended solution for keeping the system
configuration files up to date with those located in the
source tree.</para>
<para>To begin, type <command>mergemaster</command> and it
will build a temporary root environment, from
<filename>/</filename> down, and populate it with various
system configuration files. Those files are then compared
to the ones currently installed in the system. Files that
differ will be shown in &man.diff.1; format, with the
<option>+</option> sign representing added or modified
lines, and <option>-</option> representing lines that will
be either removed completely, or replaced with a new file.
Refer to &man.diff.1; for more information about the
&man.diff.1; syntax and how file differences are
shown.</para>
<para>&man.mergemaster.8; will then display each file that
differs, and present the options of either deleting the new
file, referred to as the temporary file, installing the
temporary file in its unmodified state, merging the
temporary file with the currently installed file, or viewing
the &man.diff.1; results again.</para>
<para>Choosing to delete the temporary file will tell
&man.mergemaster.8; to keep the current file unchanged and
to delete the new version. This option is not recommended,
unless there is no reason to change the current file. To
get help at any time, type <keycap>?</keycap> at the
&man.mergemaster.8; prompt. If the user chooses to skip a
file, it will be presented again after all other files have
been dealt with.</para>
<para>Choosing to install the unmodified temporary file will
replace the current file with the new one. For most
unmodified files, this is the best option.</para>
<para>Choosing to merge the file will present a text editor,
and the contents of both files. The files can be merged
by reviewing both files side by side on the screen, and
choosing parts from both to create a finished product. When
the files are compared side by side, <keycap>l</keycap>
selects the left contents and <keycap>r</keycap> selects
contents from the right. The final output will be a file
consisting of both parts, which can then be installed. This
option is customarily used for files where settings have
been modified by the user.</para>
<para>Choosing to view the &man.diff.1; results again will
display the file differences just like &man.mergemaster.8;
did before prompting an option.</para>
<para>After &man.mergemaster.8; is done with the system files,
it will prompt for other options. &man.mergemaster.8; may
prompt to rebuild the password file and will finish up with
an option to remove left-over temporary files.</para>
</sect3>
<sect3>
<title>Manual Update</title>
<para>To perform the update manually instead, do not just copy
over the files from
<filename class="directory">/usr/src/etc</filename> to
<filename class="directory">/etc</filename> and expect it to
work. Some files must be <quote>installed</quote> first as
<filename class="directory">/usr/src/etc</filename>
<emphasis>is not</emphasis> a copy of what
<filename class="directory">/etc</filename> should look
like. In addition, some files that should be in
<filename>/etc</filename> are not in
<filename>/usr/src/etc</filename>.</para>
<para>If you are using &man.mergemaster.8; (as recommended),
you can skip forward to the
<link linkend="updating-upgrading-rebooting">next
section</link>.</para>
<para>The simplest way to merge files by hand is to install
the files into a new directory, and then work through them
looking for differences.</para>
<warning>
<title>Backup Your Existing
<filename>/etc</filename></title>
<para>It is recommended to first copy the existing
<filename class="directory">/etc</filename> somewhere
safe, like so:</para>
<screen>&prompt.root; <userinput>cp -Rp /etc /etc.old</userinput></screen>
<para>where <option>-R</option> does a recursive copy and
<option>-p</option> preserves times and the ownerships on
files.</para>
</warning>
<para>Build a temporary set of directories into which the new
<filename class="directory">/etc</filename> and other files
can be installed:</para>
<screen>&prompt.root; <userinput>mkdir /var/tmp/root</userinput>
&prompt.root; <userinput>cd /usr/src/etc</userinput>
&prompt.root; <userinput>make DESTDIR=/var/tmp/root distrib-dirs distribution</userinput></screen>
<para>This will build the necessary directory structure and
install the files. A lot of the subdirectories that have
been created under <filename
class="directory">/var/tmp/root</filename> are empty and
should be deleted. The simplest way to do this is
to:</para>
<screen>&prompt.root; <userinput>cd /var/tmp/root</userinput>
&prompt.root; <userinput>find -d . -type d | xargs rmdir 2&gt;/dev/null</userinput></screen>
<para>This will remove all empty directories while redirecting
standard error to <filename>/dev/null</filename> to prevent
the warnings about the directories that are not
empty.</para>
<para><filename class="directory">/var/tmp/root</filename> now
contains all the files that should be placed in appropriate
locations below <filename class="directory">/</filename>.
Go through each of these files, determining how they differ
from the system's existing files.</para>
<para>Some of the files installed into <filename
class="directory">/var/tmp/root</filename> have a
leading <quote>.</quote>. Make sure to use <command>ls
-a</command> in order to catch them.</para>
<para>The simplest way to compare files is to use
&man.diff.1;:</para>
<screen>&prompt.root; <userinput>diff /etc/shells /var/tmp/root/etc/shells</userinput></screen>
<para>This command will show the differences between the
existing <filename>/etc/shells</filename> and the new
<filename>/var/tmp/root/etc/shells</filename>. Review the
differences to decide whether to merge in custom changes
or to replace the existing file with the new one.</para>
<tip>
<title>Name the New Root Directory
(<filename class="directory">/var/tmp/root</filename>)
with a Time Stamp, so You Can Easily Compare Differences
Between Versions</title>
<para>Frequently rebuilding world entails frequently
updating <filename class="directory">/etc</filename>
as well, which can be a bit of a chore.</para>
<para>To speed up this process, use the following
procedure to keep a copy of the last set of changed files
that were merged into <filename
class="directory">/etc</filename>.</para>
<procedure>
<step>
<para>Make the world as normal. When updating
<filename class="directory">/etc</filename> and the
other directories, give the target directory a name
based on the current date:</para>
<screen>&prompt.root; <userinput>mkdir /var/tmp/root-20130214</userinput>
&prompt.root; <userinput>cd /usr/src/etc</userinput>
&prompt.root; <userinput>make DESTDIR=/var/tmp/root-20130214 \
distrib-dirs distribution</userinput></screen>
</step>
<step>
<para>Merge in the changes from this directory as
outlined above. <emphasis>Do not</emphasis> remove
the <filename>/var/tmp/root-20130214</filename>
directory when you have finished.</para>
</step>
<step>
<para>After downloading the latest version of the
source and remaking it, follow step 1. Create a new
directory, which reflects the new date. This example
uses
<filename>/var/tmp/root-20130221</filename>.</para>
</step>
<step>
<para>Use &man.diff.1; to see the differences that have
been made in the intervening week by creating a
recursive diff between the two directories:</para>
<screen>&prompt.root; <userinput>cd /var/tmp</userinput>
&prompt.root; <userinput>diff -r root-20130214 root-20130221</userinput></screen>
<para>Typically, this will be a much smaller set of
differences than those between <filename
class="directory">/var/tmp/root-20130221/etc</filename>
and <filename class="directory">/etc</filename>.
Because the set of differences is smaller, it is
easier to migrate those changes across into
<filename class="directory">/etc</filename>.</para>
</step>
<step>
<para>When finished, remove the older of the two
<filename class="directory">/var/tmp/root-*</filename>
directories:</para>
<screen>&prompt.root; <userinput>rm -rf /var/tmp/root-20130214</userinput></screen>
</step>
<step>
<para>Repeat this process whenever merging
in changes to <filename
class="directory">/etc</filename>.</para>
</step>
</procedure>
<para>Use &man.date.1; to automate the generation of the
directory names:</para>
<screen>&prompt.root; <userinput>mkdir /var/tmp/root-`date "+%Y%m%d"`</userinput></screen>
</tip>
</sect3>
</sect2>
<sect2 id="make-delete-old">
<sect2info>
<authorgroup>
<author>
<firstname>Anton</firstname>
<surname>Shterenlikht</surname>
<contrib>Based on notes provided by </contrib>
</author>
</authorgroup>
</sect2info>
<title>Deleting Obsolete Files and Directories</title>
<indexterm>
<primary>Deleting obsolete files and directories</primary>
</indexterm>
<para>As a part of the &os; development lifecycle, files and
their contents occasionally become obsolete. This may be
because functionality is implemented elsewhere, the version
number of the library has changed, or it was removed from the
system entirely. This includes old files, libraries, and
directories, which should be removed when updating the system.
The benefit is that the system is not cluttered with old files
which take up unnecessary space on the storage and backup
media. Additionally, if the old library has a security or
stability issue, the system should be updated to the newer
library to keep it safe and to prevent crashes caused by the
old library. Files, directories, and libraries which are
considered obsolete are listed in
<filename>/usr/src/ObsoleteFiles.inc</filename>. The
following instructions should be used to remove obsolete files
during the system upgrade process.</para>
<para>After the
<command>make <maketarget>installworld</maketarget></command>
and the subsequent <command>mergemaster</command> have
finished successfully, check for obsolete files and libraries
as follows:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make check-old</userinput></screen>
<para>If any obsolete files are found, they can be deleted using
the following command:</para>
<screen>&prompt.root; <userinput>make delete-old</userinput></screen>
<tip>
<para>Refer to <filename>/usr/src/Makefile</filename>
for more targets of interest.</para>
</tip>
<para>A prompt is displayed before deleting each obsolete file.
To skip the prompt and let the system remove these files
automatically, use
<makevar>BATCH_DELETE_OLD_FILES</makevar>:</para>
<screen>&prompt.root; <userinput>make -DBATCH_DELETE_OLD_FILES delete-old</userinput></screen>
<para>The same goal can be achieved by piping these commands
through <command>yes</command>:</para>
<screen>&prompt.root; <userinput>yes|make delete-old</userinput></screen>
</sect2>
<sect2 id="updating-upgrading-rebooting">
<title>Rebooting</title>
<para>Verify that everything appears to be in the right place,
then reboot the system using &man.shutdown.8;:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
</sect2>
<sect2 id="make-delete-old-libs">
<title>Deleting obsolete libraries</title>
<warning>
<title>Warning</title>
<para>Deleting obsolete files will break applications that
still depend on those obsolete files. This is especially
true for old libraries. In most cases, the programs, ports,
or libraries that used the old library need to be recompiled
before <command>make
<maketarget>delete-old-libs</maketarget></command> is
executed.</para>
</warning>
<para>Utilities for checking shared library dependencies are
available from the Ports Collection in
<filename role="package">sysutils/libchk</filename> or
<filename
role="package">sysutils/bsdadminscripts</filename>.</para>
<para>Obsolete shared libraries can conflict with newer
libraries, causing messages like these:</para>
<screen>/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</screen>
<para>To solve these problems, determine which port installed
the library:</para>
<screen>&prompt.root; <userinput>pkg_info -W /usr/local/lib/libtiff.so</userinput>
/usr/local/lib/libtiff.so was installed by package tiff-3.9.4
&prompt.root; <userinput>pkg_info -W /usr/local/lib/libXext.so</userinput>
/usr/local/lib/libXext.so was installed by package libXext-1.1.1,1</screen>
<para>Then deinstall, rebuild and reinstall the port.
<filename role="package">ports-mgmt/portmaster</filename> can
be used to automate this process. After all ports are rebuilt
and no longer use the old libraries, delete the old libraries
using the following command:</para>
<screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen>
<para>You should now have successfully upgraded the &os;
system. Congratulations.</para>
<para>If things went slightly wrong, it is easy to rebuild a
particular piece of the system. For example, if
<filename>/etc/magic</filename> was accidentally deleted as
part of the upgrade or merge of <filename
class="directory">/etc</filename>, &man.file.1; will stop
working. To fix this, run:</para>
<screen>&prompt.root; <userinput>cd /usr/src/usr.bin/file</userinput>
&prompt.root; <userinput>make all install</userinput></screen>
</sect2>
<sect2 id="updating-questions">
<title>Questions</title>
<qandaset>
<qandaentry>
<question>
<para>Do I need to re-make the world for every
change?</para>
</question>
<answer>
<para>There is no easy answer, as it depends on the nature
of the change. For example, if running
<application>svn</application> only shows the following
files as being updated:</para>
<screen><filename>src/games/cribbage/instr.c</filename>
<filename>src/games/sail/pl_main.c</filename>
<filename>src/release/sysinstall/config.c</filename>
<filename>src/release/sysinstall/media.c</filename>
<filename>src/share/mk/bsd.port.mk</filename></screen>
<para>it probably is not worth rebuilding the entire
world. Instead, go into the appropriate sub-directories
and run <command>make all install</command>. But if
something major changed, such as
<filename>src/lib/libc/stdlib</filename>, either
re-make world, or at least those parts of it that are
statically linked.</para>
<para>At the end of the day, it is your call. Some users
re-make the world every fortnight and let changes
accumulate over that fortnight. Others only re-make
those things that have changed and are careful to spot
all the dependencies.</para>
<para>It all depends on how often a user wants to upgrade
and whether they are tracking &os.stable; or
&os.current;.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>My compile failed with lots of
signal 11<indexterm>
<primary>signal 11</primary>
</indexterm>
(or other signal number) errors. What happened?</para>
</question>
<answer>
<para>This normally indicates hardware problems.
(Re)making world is an effective way to stress test
hardware, and will frequently throw up memory
problems which normally manifest themselves as the
compiler mysteriously aborts.</para>
<para>A sure indicator of this occurs when
<application>make</application> is restarted and it
dies at a different point in the process.</para>
<para>To resolve this error, start swapping around the
components in the machine to determine which one is
failing.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Can <filename class="directory">/usr/obj</filename>
be removed when finished?</para>
</question>
<answer>
<para>The short answer is yes.</para>
<para><filename class="directory">/usr/obj</filename>
contains all the object files that were produced during
the compilation phase. Normally, one of the first steps
in the <command>make buildworld</command> process is to
remove this directory and start afresh. Keeping
<filename class="directory">/usr/obj</filename> around
when finished makes little sense, and its removal frees
up a approximately 2&nbsp;GB of disk space.</para>
<para>Advances users can instruct
<command>make buildworld</command> to skip this step.
This speeds up subsequent builds, since most of the
sources will not need to be recompiled. The flip side
is that subtle dependency problems can creep in, causing
the build to fail in odd ways. This frequently
generates noise on the &os; mailing lists, when one
person complains that their build has failed, not
realizing that it is because they have tried to cut
corners.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Can interrupted builds be resumed?</para>
</question>
<answer>
<para>This depends on how far into the process the
problem occurs.</para>
<para>In general, <command>make buildworld</command>
builds new copies of essential tools, such as
&man.gcc.1; and &man.make.1;, and the system libraries.
These tools and libraries are then installed, used to
rebuild themselves, and are installed again. The entire
system, including regular user programs such as
&man.ls.1; or &man.grep.1;, is then rebuilt with the new
system files.</para>
<para>During the last stage, it is fairly safe to:</para>
<screen><emphasis>&hellip; fix the problem &hellip;</emphasis>
&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make -DNO_CLEAN all</userinput></screen>
<para>This will not undo the work of the previous
<command>make buildworld</command>.</para>
<para>If you see the message:</para>
<screen>--------------------------------------------------------------
Building everything..
--------------------------------------------------------------</screen>
<para>in the <command>make buildworld</command> output,
it is probably fairly safe to do so.</para>
<para>If that message is not displayed, or you are not
sure, it is always better to be safe than sorry, and
restart the build from scratch.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>How can I speed up making the world?</para>
</question>
<answer>
<itemizedlist>
<listitem>
<para>Run it in single user mode.</para>
</listitem>
<listitem>
<para>Put <filename
class="directory">/usr/src</filename> and
<filename class="directory">/usr/obj</filename>
on separate file systems held on separate disks. If
possible, put these disks on separate disk
controllers.</para>
</listitem>
<listitem>
<para>Alternately, put these file systems across
multiple disks using &man.ccd.4;.</para>
</listitem>
<listitem>
<para>Turn off profiling by setting
<quote>NO_PROFILE=true</quote> in
<filename>/etc/make.conf</filename>.</para>
</listitem>
<listitem>
<para>Pass
<option>-j<replaceable>n</replaceable></option>
to &man.make.1; to run multiple processes in
parallel. This usually helps on both single and
multi processor machines.</para>
</listitem>
<listitem>
<para>The file system holding
<filename class="directory">/usr/src</filename> can
be mounted or remounted with
<option>noatime</option>.
This prevents the file system from recording the
file access time which is probably not
needed.</para>
<screen>&prompt.root; <userinput>mount -u -o noatime /usr/src</userinput></screen>
<warning>
<para>This example assumes <filename
class="directory">/usr/src</filename> is on its
own file system. If it is part of
<filename class="directory">/usr</filename>, then
use that file system mount point instead.</para>
</warning>
</listitem>
<listitem>
<para>The file system holding <filename
class="directory">/usr/obj</filename> can be
mounted or remounted with <option>async</option>
so that disk writes happen asynchronously. The
write completes immediately, and the data is written
to the disk a few seconds later. This allows writes
to be clustered together, and can provide a dramatic
performance boost.</para>
<warning>
<para>Keep in mind that this option makes the file
system more fragile. With this option, there is
an increased chance that, should power fail, the
file system will be in an unrecoverable state when
the machine restarts.</para>
<para>If <filename
class="directory">/usr/obj</filename> is the
only directory on this file system, this is not a
problem. If you have other, valuable data on the
same file system, ensure that there are verified
backups before enabling this option.</para>
</warning>
<screen>&prompt.root; <userinput>mount -u -o async /usr/obj</userinput></screen>
<warning>
<para>If <filename
class="directory">/usr/obj</filename> is
not on its own file system, replace it in the
example with the name of the appropriate mount
point.</para>
</warning>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>What do I do if something goes wrong?</para>
</question>
<answer>
<para>Make absolutely sure that the environment has no
extraneous cruft from earlier builds:</para>
<screen>&prompt.root; <userinput>chflags -R noschg /usr/obj/usr</userinput>
&prompt.root; <userinput>rm -rf /usr/obj/usr</userinput>
&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make cleandir</userinput>
&prompt.root; <userinput>make cleandir</userinput></screen>
<para>Yes, <command>make cleandir</command> really should
be run twice.</para>
<para>Then, restart the whole process, starting
with <command>make buildworld</command>.</para>
<para>If problems persist, send the error and the
output of <command>uname -a</command> to &a.questions;.
Be prepared to answer other questions about the
setup!</para>
</answer>
</qandaentry>
</qandaset>
</sect2>
</sect1>
<sect1 id="small-lan">
<sect1info>
<authorgroup>
<author>
<firstname>Mike</firstname>
<surname>Meyer</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Tracking for Multiple Machines</title>
<indexterm>
<primary>NFS</primary>
<secondary>installing multiple machines</secondary>
</indexterm>
<para>When multiple machines need to track the same source tree,
it is a waste of disk space, network bandwidth, and CPU cycles
to have each system download the sources and rebuild everything.
The solution is to have one machine do most of the work, while
the rest of the machines mount that work via NFS. This section
outlines a method of doing so.</para>
<sect2 id="small-lan-preliminaries">
<title>Preliminaries</title>
<para>First, identify a set of machines which will run the
same set of binaries, known as a <emphasis>build
set</emphasis>. Each machine can have a custom kernel, but
will run the same userland binaries. From that set, choose a
machine to be the <emphasis>build machine</emphasis> that the
world and kernel are built on. Ideally, this is a fast
machine that has sufficient spare CPU to run
<command>make buildworld</command> and
<command>make buildkernel</command>. Select a machine to be
the <emphasis>test machine</emphasis>, which will test
software updates before they are put into production. This
<emphasis>must</emphasis> be a machine that can afford to be
down for an extended period of time. It can be the build
machine, but need not be.</para>
<para>All the machines in this build set need to mount
<filename class="directory">/usr/obj</filename> and
<filename class="directory">/usr/src</filename> from the same
machine, and at the same point. Ideally, those directories
are on two different drives on the build machine, but they can
be NFS mounted on that machine as well. For multiple
build sets, <filename class="directory">/usr/src</filename>
should be on one build machine, and NFS mounted on the
rest.</para>
<para>Finally, ensure that <filename>/etc/make.conf</filename>
and <filename>/etc/src.conf</filename> on all the machines in
the build set agree with the build machine. That means that
the build machine must build all the parts of the base system
that any machine in the build set is going to install. Also,
each build machine should have its kernel name set with
<makevar>KERNCONF</makevar> in
<filename>/etc/make.conf</filename>, and the build machine
should list them all in <makevar>KERNCONF</makevar>, listing
its own kernel first. The build machine must have the kernel
configuration files for each machine in
<filename
class="directory">/usr/src/sys/<replaceable>arch</replaceable>/conf</filename>
if it is going to build their kernels.</para>
</sect2>
<sect2 id="small-lan-base-system">
<title>The Base System</title>
<para>On the build machine, build the kernel and world as
described in <xref linkend="make-buildworld"/>, but do
not install anything. After the build has finished, go to the
test machine, and install the built kernel. If this machine
mounts <filename class="directory">/usr/src</filename> and
<filename class="directory">/usr/obj</filename> via NFS,
enable the network and mount these directories after rebooting
to single user mode. The easiest way to do this is to boot to
multi-user, then run <command>shutdown now</command> to go to
single user mode. Once there, install the new kernel and
world and run <command>mergemaster</command> as usual. When
done, reboot to return to normal multi-user operations for
this machine.</para>
<para>After verifying that everything on the test machine is
working properly, use the same procedure to install the new
software on each of the other machines in the build
set.</para>
</sect2>
<sect2 id="small-lan-ports">
<title>Ports</title>
<para>The same ideas can be used for the ports tree. The first
critical step is to mount <filename
class="directory">/usr/ports</filename> from the same
machine to all the machines in the build set. Then, configure
<filename>/etc/make.conf</filename> properly to share
distfiles. Set <makevar>DISTDIR</makevar> to a common shared
directory that is writable by whichever user
<username>root</username> is mapped to by the NFS mounts.
Each machine should set <makevar>WRKDIRPREFIX</makevar> to a
local build directory. Finally, if the system is to build and
distribute packages, set <makevar>PACKAGES</makevar> to a
directory similar to <makevar>DISTDIR</makevar>.</para>
</sect2>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/desktop/chapter.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/desktop/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/desktop/chapter.xml (revision 42804)
@@ -1,1298 +1,1298 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="desktop">
<chapterinfo>
<authorgroup>
<author>
<firstname>Christophe</firstname>
<surname>Juniet</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>Desktop Applications</title>
<sect1 id="desktop-synopsis">
<title>Synopsis</title>
<para>While &os; is popular as a server for its performance and
stability, it is also suited for day-to-day use as a desktop.
With over &os.numports; applications available as <link
linkend="packages-using">packages</link> or <link
linkend="ports-using">ports</link>, it is easy to build a
customized desktop that runs a wide variety of desktop
applications. This chapter demonstrates how to install some
popular desktop applications effortlessly using packages or the
&os; Ports Collection.</para>
<para>As &os; features <link linkend="linuxemu">&linux; binary
compatibility</link>, many applications developed for &linux;
can be installed on a &os; desktop. Many of the ports using
&linux; binary compatibility start with <quote>linux-</quote>.
This chapter assumes that &linux; binary compatibility has been
enabled before any &linux; applications are installed.</para>
<para>This chapter demonstrates how to install the following
desktop applications:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="4">
<thead>
<row>
<entry>Type of Application</entry>
<entry>Application Name</entry>
<entry>Package Name</entry>
<entry>Ports Name</entry>
</row>
</thead>
<tbody>
<row>
<entry>Browser</entry>
<entry><application>Firefox</application></entry>
<entry><literal>firefox</literal></entry>
<entry><filename
role="package">www/firefox</filename></entry>
</row>
<row>
<entry>Browser</entry>
<entry><application>Opera</application></entry>
<entry><literal>opera</literal></entry>
<entry><filename
role="package">www/opera</filename></entry>
</row>
<row>
<entry>Browser</entry>
<entry><application>Konqueror</application></entry>
<entry><literal>kde4-baseapps</literal></entry>
<entry><filename
role="package">x11/kde4-baseapps</filename></entry>
</row>
<row>
<entry>Browser</entry>
<entry><application>Chromium</application></entry>
<entry><literal>chromium</literal></entry>
<entry><filename
role="package">www/chromium</filename></entry>
</row>
<row>
<entry>Productivity</entry>
<entry><application>Calligra</application></entry>
<entry><literal>calligra</literal></entry>
<entry><filename
role="package">editors/calligra</filename></entry>
</row>
<row>
<entry>Productivity</entry>
<entry><application>AbiWord</application></entry>
<entry><literal>abiword</literal></entry>
<entry><filename
role="package">editors/abiword</filename></entry>
</row>
<row>
<entry>Productivity</entry>
<entry><application>The GIMP</application></entry>
<entry><literal>gimp</literal></entry>
<entry><filename
role="package">graphics/gimp</filename></entry>
</row>
<row>
<entry>Productivity</entry>
<entry><application>Apache
OpenOffice</application></entry>
<entry><literal>openoffice</literal></entry>
<entry><filename
role="package">editors/openoffice-3</filename></entry>
</row>
<row>
<entry>Productivity</entry>
<entry><application>LibreOffice</application></entry>
<entry><literal>libreoffice</literal></entry>
<entry><filename
role="package">editors/libreoffice</filename></entry>
</row>
<row>
<entry>Document Viewer</entry>
<entry><application>&acrobat.reader;</application></entry>
<entry><literal>no package due to
license restriction</literal></entry>
<entry><filename
role="package">print/acroread9</filename></entry>
</row>
<row>
<entry>Document Viewer</entry>
<entry><application>gv</application></entry>
<entry><literal>gv</literal></entry>
<entry><filename
role="package">print/gv</filename></entry>
</row>
<row>
<entry>Document Viewer</entry>
<entry><application>Xpdf</application></entry>
<entry><literal>xpdf</literal></entry>
<entry><filename
role="package">graphics/xpdf</filename></entry>
</row>
<row>
<entry>Document Viewer</entry>
<entry><application>GQview</application></entry>
<entry><literal>gqview</literal></entry>
<entry><filename
role="package">graphics/gqview</filename></entry>
</row>
<row>
<entry>Finance</entry>
<entry><application>GnuCash</application></entry>
<entry><literal>gnucash</literal></entry>
<entry><filename
role="package">finance/gnucash</filename></entry>
</row>
<row>
<entry>Finance</entry>
<entry><application>Gnumeric</application></entry>
<entry><literal>gnumeric</literal></entry>
<entry><filename
role="package">math/gnumeric</filename></entry>
</row>
<row>
<entry>Finance</entry>
<entry><application>KMyMoney</application></entry>
<entry><literal>kmymoney-kde4</literal></entry>
<entry><filename
role="package">finance/kmymoney-kde4</filename></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Before reading this chapter, you should know how to:</para>
<itemizedlist>
<listitem>
<para>Install additional software using packages or
ports.</para>
</listitem>
<listitem>
<para>Enable &linux; binary compatibility.</para>
</listitem>
</itemizedlist>
<para>For information on how to configure a multimedia
environment, refer to <xref linkend="multimedia"/>. For
information on how to set up and use electronic mail, refer to
<xref linkend="mail"/>.</para>
</sect1>
<sect1 id="desktop-browsers">
<title>Browsers</title>
<indexterm>
<primary>browsers</primary>
<secondary>web</secondary>
</indexterm>
<para>&os; does not come with a pre-installed web browser.
Instead, the <ulink
url="http://www.FreeBSD.org/ports/www.html">www</ulink>
category of the Ports Collection contains many browsers which
can be installed as a package or compiled from the Ports
Collection.</para>
<para>The <application>KDE</application> and
<application>GNOME</application> desktop environments include
their own HTML browser. Refer to <xref linkend="x11-wm"/>
for more information on how to set up these complete
desktops.</para>
<para>Some light-weight browsers include
<filename role="package">www/dillo2</filename>,
<filename role="package">www/links</filename>, and
<filename role="package">www/w3m</filename>.</para>
<para>This section demonstrates how to install the following
popular web browsers and indicates if the application is
resource-heavy, takes time to compile from ports, or has any
major dependencies.</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="4">
<thead>
<row>
<entry>Application Name</entry>
<entry>Resources Needed</entry>
<entry>Installation from Ports</entry>
<entry>Notes</entry>
</row>
</thead>
<tbody>
<row>
<entry><application>Firefox</application></entry>
<entry>medium</entry>
<entry>heavy</entry>
<entry>&os; and &linux; versions are available</entry>
</row>
<row>
<entry><application>Opera</application></entry>
<entry>light</entry>
<entry>light</entry>
<entry>&os; and &linux; versions are available</entry>
</row>
<row>
<entry><application>Konqueror</application></entry>
<entry>medium</entry>
<entry>heavy</entry>
<entry>Requires <application>KDE</application>
libraries</entry>
</row>
<row>
<entry><application>Chromium</application></entry>
<entry>medium</entry>
<entry>heavy</entry>
<entry>Requires <application>Gtk+</application></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<sect2>
<title>Firefox</title>
<indexterm>
<primary><application>Firefox</application></primary>
</indexterm>
<para><application>Firefox</application> is a modern, free,
open source browser that is fully ported to &os;. It
features a standards-compliant HTML display engine, tabbed
browsing, popup blocking, extensions, improved security, and
more. <application>Firefox</application> is based on the
<application>Mozilla</application> codebase.</para>
<para>Install the package of the latest release version of
<application>Firefox</application> by typing:</para>
<screen>&prompt.root; <userinput>pkg_add -r firefox</userinput></screen>
<para>To instead install <application>Firefox</application>
Extended Support Release (ESR) version, use:</para>
<screen>&prompt.root; <userinput>pkg_add -r firefox-esr</userinput></screen>
<para>Localized versions are available in <filename
role="package">www/firefox-i18n</filename> and <filename
role="package">www/firefox-esr-i18n</filename>.</para>
<para>The Ports Collection can instead be used to compile
the desired version of <application>firefox</application> from
source code. This example builds <filename
role="package">www/firefox</filename>, where
<literal>firefox</literal> can be replaced with the ESR or
localized version to install.</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/firefox</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<sect3 id="moz-java-plugin">
<title>Firefox and &java; Plugin</title>
<note>
<para>The following sections assume that
<application>Firefox</application> is already
installed.</para>
</note>
<para><filename role="package">java/icedtea-web</filename>
provides a free software web browser plugin for running
Java applets. It can be installed as a package. To
alternately compile the port:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/java/icedtea-web</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>Keep the default configuration options when compiling the
port.</para>
<para>Once installed, start <application>firefox</application>,
enter <literal>about:plugins</literal> in the location bar and
press <keycap>Enter</keycap>. A page listing the installed
plugins will be displayed. The
<application>&java;</application> plugin should be
listed.</para>
<para>If the browser is unable to find the plugin, each user
will have to run the following command and relaunch the
browser:</para>
<screen>&prompt.user; <userinput>ln -s /usr/local/lib/IcedTeaPlugin.so \
$HOME/.mozilla/plugins/</userinput></screen>
</sect3>
<sect3 id="moz-flash-plugin">
<title>Firefox and &adobe; &flash; Plugin</title>
<indexterm>
<primary>Flash</primary>
</indexterm>
<para>A native &adobe; &flash; plugin is not available for &os;.
However, a software layer (wrapper) for running the &linux;
version of the plugin exists. This wrapper also provides
support for other browser plugins such as &realplayer;.</para>
<para>To install and enable this plugin:</para>
<procedure>
<step>
<para>Install the <filename
role="package">www/nspluginwrapper</filename> port.
Due to licensing restrictions, a package is not available.
This port requires <filename
role="package">emulators/linux_base-f10</filename> which
is a large port.</para>
</step>
<step>
<para>Install the <filename
role="package">www/linux-f10-flashplugin11</filename>
port. Due to licensing restrictions, a package is not
available.</para>
</step>
<step>
<screen>&prompt.root; <userinput>ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so \
/usr/local/lib/browser_plugins/</userinput></screen>
<para>Create the <filename
class="directory">/usr/local/lib/browser_plugins</filename>
directory if it is not already present.</para>
</step>
<step>
<para>Before the plugin is first used, each user must run:</para>
<screen>&prompt.user; <userinput>nspluginwrapper -v -a -i</userinput></screen>
<para>When the plugin port has been updated and reinstalled, each user must run:</para>
<screen>&prompt.user; <userinput>nspluginwrapper -v -a -u</userinput></screen>
<para>Start the browser, enter
<literal>about:plugins</literal> in the location bar and
press <keycap>Enter</keycap>. A list of
all the currently available plugins will be shown.</para>
</step>
</procedure>
</sect3>
<sect3 id="moz-swfdec-flash-plugin">
<title>Firefox and Swfdec &flash; Plugin</title>
<para>Swfdec is the library for decoding and rendering &flash;
animations. Swfdec-Mozilla is a plugin for
<application>Firefox</application> browsers that uses the
Swfdec library for playing SWF files. It is still in heavy
development.</para>
<para>To install the package:</para>
<screen>&prompt.root; <userinput>pkg_add -r swfdec-plugin</userinput></screen>
<para>If the package is not available, compile and install it
from the Ports Collection:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/swfdec-plugin</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>Restart the browser for this plugin to take
effect.</para>
</sect3>
</sect2>
<sect2>
<title>Opera</title>
<indexterm>
<primary><application>Opera</application></primary>
</indexterm>
<para><application>Opera</application> is a full-featured and
standards-compliant browser which is still lightweight and
fast. It comes with a built-in mail and news reader, an IRC
client, an RSS/Atom feeds reader, and more. It is available
as a native &os; version and as a version that runs under
&linux; emulation.</para>
<para>This command installs the package of the &os; version of
<application>Opera</application>. Replace
<literal>opera</literal> with <literal>linux-opera</literal>
to instead install the &linux; version.</para>
<screen>&prompt.root; <userinput>pkg_add -r opera</userinput></screen>
<para>Alternately, install either version through the Ports
Collection. This example compiles the native version:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/opera</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>To install the &linux; version, substitute
<literal>linux-opera</literal> in place of
<literal>opera</literal>.</para>
<para>To install &adobe; &flash; plugin support, first compile
the <filename
role="package">www/linux-f10-flashplugin11</filename> port,
as a package is not available due to licensing restrictions.
Then install either the <filename
role="package">www/opera-linuxplugins</filename> port
or package. This example compiles both from ports:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/linux-f10-flashplugin11</userinput>
&prompt.root; <userinput>make install clean</userinput>
&prompt.root; <userinput>cd /usr/ports/www/opera-linuxplugins</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>Once installed, check the presence of the plugin by
starting the browser, entering
<literal>opera:plugins</literal> in the location bar and
pressing <keycap>Enter</keycap>. A list should appear with
all the currently available plugins.</para>
<para>To add the <application>&java;</application> plugin,
follow the <link linkend="moz-java-plugin">instructions for
Firefox</link>.</para>
</sect2>
<sect2>
<title>Konqueror</title>
<indexterm>
<primary><application>Konqueror</application></primary>
</indexterm>
<para><application>Konqueror</application> is part of <filename
role="package">x11/kde4-baseapps</filename>.
<application>Konqueror</application> is more than a web
browser as it is also a file manager and a multimedia
viewer.</para>
<para><application>Konqueror</application> supports WebKit as
well as its own KHTML. WebKit is a rendering engine used by
many modern browsers including Chromium. To use WebKit with
<application>Konqueror</application> on &os;, install
the <filename
role="package">www/kwebkitpart</filename> package or
port. This example compiles the port:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/kwebkitpart</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>To enable WebKit within
<application>Konqueror</application>, click
<quote>Settings</quote>, <quote>Configure Konqueror</quote>.
In the <quote>General</quote> settings page, click the
drop-down menu next to <quote>Default web browser
engine</quote> and change <quote>KHTML</quote> to
<quote>WebKit</quote>.</para>
<para><application>Konqueror</application> also supports
<application>&flash;</application>. A <quote>How To</quote>
guide for getting <application>&flash;</application> support
on <application>Konqueror</application> is available at <ulink
url="http://freebsd.kde.org/howtos/konqueror-flash.php"></ulink>.</para>
</sect2>
<sect2>
<title>Chromium</title>
<indexterm>
<primary><application>Chromium</application></primary>
</indexterm>
<para><application>Chromium</application> is an open source
browser project that aims to build a safer, faster, and more
stable web browsing experience.
<application>Chromium</application> features tabbed browsing,
popup blocking, extensions, and much more.
<application>Chromium</application> is the open source project
upon which the Google Chrome web browser is based.</para>
<para><application>Chromium</application> can be installed as a
package by typing:</para>
<screen>&prompt.root; <userinput>pkg_add -r chromium</userinput></screen>
<para>Alternatively, <application>Chromium</application> can be
compiled from source using the Ports Collection:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/chromium</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<note>
<para>The executable for <application>Chromium</application>
is <filename>/usr/local/bin/chrome</filename>, not
<filename>/usr/local/bin/chromium</filename>.</para>
</note>
<sect3 id="chromium-java-plugin">
<title>Chromium and &java; Plugin</title>
<note>
<para>The following sections assume that
<application>Chromium</application> is already
installed.</para>
</note>
<para>To install &java; plugin support, follow the instructions
in <xref linkend="moz-java-plugin"/>.</para>
<para>Once &java; support is installed, start
<application>Chromium</application>, and enter
<literal>about:plugins</literal> in the address bar.
IcedTea-Web should be listed as one of the installed
plugins.</para>
<para>If <application>Chromium</application> does not display
the IcedTea-Web plugin, run the following commands, and
restart the web browser:</para>
<screen>&prompt.root; <userinput>mkdir -p /usr/local/share/chromium/plugins
&prompt.root; ln -s /usr/local/lib/IcedTeaPlugin.so \
/usr/local/share/chromium/plugins/</userinput></screen>
</sect3>
<sect3 id="chromium-flash-plugin">
<title>Chromium and &adobe;&nbsp;&flash; Plugin</title>
<para>Configuring <application>Chromium</application> and
&adobe;&nbsp;&flash; is similar to the
<link linkend="moz-flash-plugin">instructions for
Firefox</link>. No additional configuration should be
necessary, since <application>Chromium</application> is able
to use some plugins from other browsers.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="desktop-productivity">
<title>Productivity</title>
<para>When it comes to productivity, new users often look for a
good office suite or a friendly word processor. While some
<link linkend="x11-wm">desktop environments</link> like
<application>KDE</application> already provide an office suite,
there is no default productivity package. Several office
suites and word processors are available for &os;, regardless
of the installed desktop environment.</para>
<para>This section demonstrates how to install the following
popular productivity software and indicates if the application
is resource-heavy, takes time to compile from ports, or has any
major dependencies.</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="4">
<thead>
<row>
<entry>Application Name</entry>
<entry>Resources Needed</entry>
<entry>Installation from Ports</entry>
<entry>Major Dependencies</entry>
</row>
</thead>
<tbody>
<row>
<entry><application>Calligra</application></entry>
<entry>light</entry>
<entry>heavy</entry>
<entry><application>KDE</application></entry>
</row>
<row>
<entry><application>AbiWord</application></entry>
<entry>light</entry>
<entry>light</entry>
<entry><application>Gtk+</application> or
<application>GNOME</application></entry>
</row>
<row>
<entry><application>The Gimp</application></entry>
<entry>light</entry>
<entry>heavy</entry>
<entry><application>Gtk+</application></entry>
</row>
<row>
<entry><application>Apache
OpenOffice</application></entry>
<entry>heavy</entry>
<entry>huge</entry>
<entry><application>&jdk;</application> and
<application>Mozilla</application></entry>
</row>
<row>
<entry><application>LibreOffice</application></entry>
<entry>somewhat heavy</entry>
<entry>huge</entry>
<entry><application>Gtk+</application>, or
<application>KDE</application>/
<application>GNOME</application>, or
<application>&jdk;</application></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<sect2>
<title>Calligra</title>
<indexterm>
<primary><application>Calligra</application></primary>
</indexterm>
<indexterm>
<primary>office suite</primary>
<secondary><application>Calligra</application></secondary>
</indexterm>
<para>The KDE community provides its desktop environment with
an office suite which can be used outside of
<application>KDE</application>.
<application>Calligra</application> includes standard
components that can be found in other office suites.
<application>Words</application> is the word processor,
<application>Sheets</application> is the spreadsheet program,
<application>Stage</application> manages slide presentations,
and <application>Karbon</application> is used to draw
graphical documents.</para>
<para><filename
role="package">editors/calligra</filename> can be installed
as a package or a port. To install the package:</para>
<screen>&prompt.root; <userinput>pkg_add -r calligra</userinput></screen>
<para>If the package is not available, use the Ports Collection
instead:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/editors/calligra</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
<sect2>
<title>AbiWord</title>
<indexterm>
<primary><application>AbiWord</application></primary>
</indexterm>
<para><application>AbiWord</application> is a free word
processing program similar in look and feel to
<application>&microsoft; Word</application>. It is suitable
for typing papers, letters, reports, memos, and so forth. It
is fast, contains many features, and is user-friendly.</para>
<para><application>AbiWord</application> can import or export
many file formats, including some proprietary ones like
&microsoft; <filename>.doc</filename>.</para>
<para>To install the <application>AbiWord</application>
package:</para>
<screen>&prompt.root; <userinput>pkg_add -r abiword</userinput></screen>
<para>If the package is not available, it can be compiled from
the Ports Collection:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/editors/abiword</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
<sect2>
<title>The GIMP</title>
<indexterm>
<primary><application>The GIMP</application></primary>
</indexterm>
<para>For image authoring or picture retouching,
<application>The GIMP</application> provides a sophisticated
image manipulation program. It can be used as a simple paint
program or as a quality photo retouching suite. It supports a
large number of plugins and features a scripting interface.
<application>The GIMP</application> can read and write a wide
range of file formats and supports interfaces with scanners
and tablets.</para>
<para>To install the package:</para>
<screen>&prompt.root; <userinput>pkg_add -r gimp</userinput></screen>
<para>Alternately, use the Ports Collection:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/graphics/gimp</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>The <ulink
url="http://www.FreeBSD.org/ports/graphics.html">graphics</ulink>
category of the Ports Collection contains several
<application>GIMP</application>-related plugins, help
files, and user manuals.</para>
</sect2>
<sect2>
<title>Apache OpenOffice</title>
<indexterm>
<primary>
<application>Apache OpenOffice</application>
</primary>
</indexterm>
<indexterm>
<primary>office suite</primary>
<secondary>
<application>Apache OpenOffice</application>
</secondary>
</indexterm>
<para>On 1 June 2011, &oracle; donated the
<application>OpenOffice.org</application> code base to the
Apache Software Foundation.
<application>OpenOffice.org</application> is now known as
<application>Apache OpenOffice</application> and is developed
under the wing of the Apache Software Foundation's
Incubator.</para>
<para><application>Apache OpenOffice</application> includes all
of the mandatory applications in a complete office
productivity suite: a word processor, spreadsheet,
presentation manager, and drawing program. Its user
interface is very similar to other office suites, and it can
import and export in various popular file formats. It is
available in a number of different languages and
internationalization has been extended to interfaces, spell
checkers, and dictionaries.</para>
<para>The word processor of
<application>Apache OpenOffice</application> uses a native XML
file format for increased portability and flexibility. The
spreadsheet program features a macro language which can be
interfaced with external databases.
<application>Apache OpenOffice</application> is stable and
runs natively on &windows;, &solaris;, &linux;, &os;, and
&macos;&nbsp;X. More information about <application>Apache
OpenOffice</application> can be found on the <ulink
url="http://incubator.apache.org/openofficeorg/">Apache
OpenOffice web site</ulink>. For &os; specific
information, and to directly download packages, refer to the
web site of the <ulink
url="http://porting.openoffice.org/freebsd/">&os; Apache
OpenOffice Porting Team</ulink>.</para>
<para>To install the <application>Apache
OpenOffice</application> package:</para>
<screen>&prompt.root; <userinput>pkg_add -r apache-openoffice</userinput></screen>
<note>
<para>When running a -RELEASE version of &os;, this should
work. Otherwise, download the latest package from the
website of the &os;
<application>Apache OpenOffice</application> Porting Team
and install it using &man.pkg.add.1;. Both the current
release and development versions are available for download
at this web site.</para>
</note>
<para>Once the package is installed, type the following command
to launch <application>Apache OpenOffice</application>:</para>
<screen>&prompt.user; <userinput>openoffice-<replaceable>X.Y.Z</replaceable></userinput></screen>
<para>where <replaceable>X.Y.Z</replaceable> is the version
number of the installed version of
<application>Apache OpenOffice</application>.</para>
<note>
<para>During the first launch, some questions will be asked
and a <filename>.openoffice.org</filename> folder
will be created in the user's home directory.</para>
</note>
<para>If the desired <application>Apache
OpenOffice</application> package is not available, compiling
the port is still an opton. However, this requires a lot of
disk space and a fairly long time to compile:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/editors/openoffice-3</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<note>
<para>To build a localized version, replace the previous
command with:</para>
<screen>&prompt.root; <userinput>make LOCALIZED_LANG=<replaceable>your_language</replaceable> install clean</userinput></screen>
<para>Replace
<replaceable>your_language</replaceable> with the correct
language ISO-code. A list of supported language codes is
available in
<filename>files/Makefile.localized</filename>, located in
the port's directory.</para>
</note>
</sect2>
<sect2>
<title>LibreOffice</title>
<indexterm>
<primary><application>LibreOffice</application></primary>
</indexterm>
<indexterm>
<primary>office suite</primary>
<secondary><application>LibreOffice</application></secondary>
</indexterm>
<para><application>LibreOffice</application> is a free software
office suite developed by <ulink
url="http://www.documentfoundation.org/">The Document
Foundation</ulink>. It is compatible with other major
office suites and available on a variety of platforms. It is
a rebranded fork of <application>OpenOffice.org</application>
which includes all of the mandatory applications in a complete
office productivity suite: a word processor, spreadsheet,
presentation manager, drawing program, database management
program, and a tool for creating and editing mathematical
formula. It is available in a number of different languages
and internationalization has been extended to interfaces,
spell checkers, and dictionaries.</para>
<para>The word processor of
<application>LibreOffice</application> uses a native XML file
format for increased portability and flexibility. The
spreadsheet program features a macro language which can be
interfaced with external databases.
<application>LibreOffice</application> is stable and runs
natively on &windows;, &linux;, &os;, and &macos;&nbsp;X.
More information about
<application>LibreOffice </application> can be found on the
<ulink url="http://www.libreoffice.org/">LibreOffice web
site</ulink>.</para>
<para>To install the English version of the
<application>LibreOffice</application> package:</para>
<screen>&prompt.root; <userinput>pkg_add -r libreoffice</userinput></screen>
<para>The <ulink
url="http://www.FreeBSD.org/ports/editors.html">editors</ulink>
category of the Ports Collection contains several
localizations for <application>LibreOffice</application>.
When installing a localized package, replace
<literal>libreoffice</literal> with the name of the
localized package.</para>
<para>Once the package is installed, type the following command
to run <application>LibreOffice</application>:</para>
<screen>&prompt.user; <userinput>libreoffice</userinput></screen>
<note>
<para>During the first launch, some questions will be asked
and a <filename class="directory">.libreoffice</filename>
folder will be created in the user's home directory.</para>
</note>
<para>If the desired <application>LibreOffice</application>
package is not available, compiling the port is still an
option. However, this requires a lot of disk space and a
fairly long time to compile. This example compiles the
English version:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/editors/libreoffice</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<note>
<para>To build a localized version,
<application>cd</application> into the port directory
of the desired language. Supported languages can be found
in the <ulink
url="http://www.FreeBSD.org/ports/editors.html">editors</ulink>
category of the Ports Collection.</para>
</note>
</sect2>
</sect1>
<sect1 id="desktop-viewers">
<title>Document Viewers</title>
<para>Some new document formats have gained popularity since
the advent of &unix; and the viewers they require may not be
available in the base system. This section demonstrates how to
install the following viewers:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="4">
<thead>
<row>
<entry>Application Name</entry>
<entry>Resources Needed</entry>
<entry>Installation from Ports</entry>
<entry>Major Dependencies</entry>
</row>
</thead>
<tbody>
<row>
<entry><application>&acrobat.reader;</application></entry>
<entry>light</entry>
<entry>light</entry>
<entry>&linux; binary compatibility</entry>
</row>
<row>
<entry><application>gv</application></entry>
<entry>light</entry>
<entry>light</entry>
<entry><application>Xaw3d</application></entry>
</row>
<row>
<entry><application>Xpdf</application></entry>
<entry>light</entry>
<entry>light</entry>
<entry><application>FreeType</application></entry>
</row>
<row>
<entry><application>GQview</application></entry>
<entry>light</entry>
<entry>light</entry>
<entry><application>Gtk+</application> or
<application>GNOME</application></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<sect2>
<title>&acrobat.reader;</title>
<indexterm>
<primary><application>Acrobat Reader</application></primary>
</indexterm>
<indexterm>
<primary>PDF</primary>
<secondary>viewing</secondary>
</indexterm>
<para>Many documents are now distributed as Portable Document
Format (PDF) files. One popular viewer for PDFs is
<application>&acrobat.reader;</application>,
released by &adobe; for &linux;. As &os; can run &linux;
binaries, it is also available for &os;. Due to
licensing restrictions, a package is not available so it must
be compiled from ports. Several localizations are
available from the <ulink
url="http://www.FreeBSD.org/ports/print.html">print</ulink>
category of the Ports Collection.</para>
<para>This command installs the English version of
<application>&acrobat.reader; 9</application> from the Ports
Collection. To instead install a localized version,
<application>cd</application> into the desired port's
directory.</para>
<screen>&prompt.root; <userinput>cd /usr/ports/print/acroread9</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
<sect2>
<title><application>gv</application></title>
<indexterm>
<primary><application>gv</application></primary>
</indexterm>
<indexterm>
<primary>PDF</primary>
<secondary>viewing</secondary>
</indexterm>
<indexterm>
<primary>PostScript</primary>
<secondary>viewing</secondary>
</indexterm>
<para><ulink
url="http://www.gnu.org/software/gv/">gv</ulink> is a
&postscript; and PDF viewer. It is based on
<application>ghostview</application>, but has a nicer look
due to the <application>Xaw3d</application> library. It is
fast with a clean interface. <application>gv</application>
has many configurable features, such as orientation, paper
size, scale, and anti-aliasing. Almost any operation can be
performed with either the keyboard or the mouse.</para>
<para>To install <application>gv</application> as a
package:</para>
<screen>&prompt.root; <userinput>pkg_add -r gv</userinput></screen>
<para>If a package is unavailable, use the Ports
Collection:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/print/gv</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
<sect2>
<title>Xpdf</title>
<indexterm>
<primary><application>Xpdf</application></primary>
</indexterm>
<indexterm>
<primary>PDF</primary>
<secondary>viewing</secondary>
</indexterm>
<para>For users that prefer a small &os; PDF viewer,
<ulink
url="http://www.foolabs.com/xpdf/">xpdf</ulink> provides a
light-weight and efficient viewer which requires few
resources. It uses the standard X fonts and does not require
<application>&motif;</application> or any other X
toolkit.</para>
<para>To install the <application>Xpdf</application>
package:</para>
<screen>&prompt.root; <userinput>pkg_add -r xpdf</userinput></screen>
<para>If the package is not available, use the Ports
Collection:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/graphics/xpdf</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>Once the installation is complete, launch
<command>xpdf</command> and use the right mouse button to
activate the menu.</para>
</sect2>
<sect2>
<title>GQview</title>
<indexterm>
<primary><application>GQview</application></primary>
</indexterm>
<para><ulink
url="http://gqview.sourceforge.net/">GQview</ulink> is
an image manager which supports viewing a file with a single
click, launching an external editor, and thumbnail previews.
It also features a slideshow mode and some basic file
operations, making it easy to manage image collections and to
find duplicate files. <application>GQview</application>
supports full screen viewing and internationalization.</para>
<para>To install the
<application>GQview</application> package:</para>
<screen>&prompt.root; <userinput>pkg_add -r gqview</userinput></screen>
<para>If the package is not available, use the Ports
Collection:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/graphics/gqview</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
</sect1>
<sect1 id="desktop-finance">
<title>Finance</title>
<para>For managing personal finances on a &os; desktop, some
powerful and easy-to-use applications can be installed. Some
are compatible with widespread file formats, such as the formats
used by <application><trademark
class="registered">Quicken</trademark></application> and
<application>Excel</application>.</para>
<para>This section covers these programs:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="4">
<thead>
<row>
<entry>Application Name</entry>
<entry>Resources Needed</entry>
<entry>Installation from Ports</entry>
<entry>Major Dependencies</entry>
</row>
</thead>
<tbody>
<row>
<entry><application>GnuCash</application></entry>
<entry>light</entry>
<entry>heavy</entry>
<entry><application>GNOME</application></entry>
</row>
<row>
<entry><application>Gnumeric</application></entry>
<entry>light</entry>
<entry>heavy</entry>
<entry><application>GNOME</application></entry>
</row>
<row>
<entry><application>KMyMoney</application></entry>
<entry>light</entry>
<entry>heavy</entry>
<entry><application>KDE</application></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<sect2>
<title>GnuCash</title>
<indexterm>
<primary><application>GnuCash</application></primary>
</indexterm>
<para><ulink
url="http://www.gnucash.org/">GnuCash</ulink> is part of the
<application>GNOME</application> effort to provide
user-friendly, yet powerful, applications to end-users.
<application>GnuCash</application> can be used to keep track
of income and expenses, bank accounts, and stocks. It
features an intuitive interface while remaining
professional.</para>
<para><application>GnuCash</application> provides a smart
register, a hierarchical system of accounts, and many keyboard
accelerators and auto-completion methods. It can split a
single transaction into several more detailed pieces.
<application>GnuCash</application> can import and merge
<application>Quicken</application> QIF files. It also handles
most international date and currency formats.</para>
<para>To install the <application>GnuCash</application>
package:</para>
<screen>&prompt.root; <userinput>pkg_add -r gnucash</userinput></screen>
<para>If the package is not available, use the Ports
Collection:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/finance/gnucash</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
<sect2>
<title>Gnumeric</title>
<indexterm>
<primary><application>Gnumeric</application></primary>
</indexterm>
<indexterm>
<primary>spreadsheet</primary>
<secondary><application>Gnumeric</application></secondary>
</indexterm>
<para><ulink
url="http://projects.gnome.org/gnumeric/index.shtml">Gnumeric</ulink>
is a spreadsheet program developed by the
<application>GNOME</application> community. It features
convenient automatic <quote>guessing</quote> of user input
according to the cell format with an autofill system for many
sequences. It can import files in a number of popular
formats, including <application>Excel</application>,
<application>Lotus 1-2-3</application>, and
<application>Quattro Pro</application>. It has a large number
of built-in functions and allows all of the usual cell formats
such as number, currency, date, time, and much more.</para>
<para>To install <application>Gnumeric</application> as a
package:</para>
<screen>&prompt.root; <userinput>pkg_add -r gnumeric</userinput></screen>
<para>If the package is not available, use the Ports
Collection:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/math/gnumeric</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
<sect2>
<title>KMyMoney</title>
<indexterm><primary><application>KMyMoney</application></primary></indexterm>
<indexterm>
<primary>spreadsheet</primary>
<secondary><application>KMyMoney</application></secondary>
</indexterm>
<para><ulink
url="http://kmymoney2.sourceforge.net">KMyMoney</ulink>
- is a personal finance created by the
+ is a personal finance application created by the
<application>KDE</application> community.
<application>KMyMoney</application> intends to provide and
incorporate all the important features found in commercial
personal finance manager applications. It also highlights
ease-of-use and proper double-entry accounting among its
features. <application>KMyMoney</application> imports from
standard Quicken Interchange Format (QIF) files, tracks
investments, handles multiple currencies, and provides a
wealth of reports.</para>
<para>To install <application>KMyMoney</application> as a
package:</para>
<screen>&prompt.root; <userinput>pkg_add -r kmymoney-kde4</userinput></screen>
<para>If the package is not available, use the Ports
Collection:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/finance/kmymoney-kde4</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/dtrace/chapter.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/dtrace/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/dtrace/chapter.xml (revision 42804)
@@ -1,398 +1,405 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
Recently I suggested to myself that this should become a profiling
and debugging chapter, which covers things like ktrace(1) and
using other debugging (like -x in shell scripts). But then I
realized that, over time and while DTrace becomes better supported,
that might make this chapter too large.
-->
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="dtrace">
<chapterinfo>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>&dtrace;</title>
<sect1 id="dtrace-synopsis">
<title>Synopsis</title>
<indexterm><primary>&dtrace;</primary></indexterm>
<indexterm>
<primary>&dtrace; support</primary>
<see>&dtrace;</see>
</indexterm>
<para>&dtrace;, also known as Dynamic Tracing, was developed by
&sun; as a tool for locating performance bottlenecks in
production and pre-production systems. It is not, in any way,
a debugging tool, but a tool for real time system analysis to
locate performance and other issues.</para>
<para>&dtrace; is a remarkable profiling tool, with an impressive
array of features for diagnosing system issues. It may also
be used to run pre-written scripts to take advantage of its
capabilities. Users may even author their own utilities using
the &dtrace; D Language, allowing them to customize their
profiling based on specific needs.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>What &dtrace; is and what features it provides.</para>
</listitem>
<listitem>
<para>Differences between the &solaris; &dtrace;
implementation and the one provided by &os;.</para>
</listitem>
<listitem>
<para>How to enable and use &dtrace; on &os;.</para>
</listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<itemizedlist>
<listitem>
<para>Understand &unix; and &os; basics
(<xref linkend="basics"/>).</para>
</listitem>
<listitem>
<para>Be familiar with
the basics of kernel configuration/compilation
(<xref linkend="kernelconfig"/>).</para>
</listitem>
<listitem>
<para>Have some familiarity with security and how it
pertains to &os; (<xref linkend="security"/>).</para>
</listitem>
<listitem>
<para>Understand how to obtain and rebuild the &os; sources
(<xref linkend="updating-upgrading"/>).</para>
</listitem>
</itemizedlist>
<!--
Temporary warning to avoid listing experimental versions
and production versions of FreeBSD with this technology.
-->
<warning>
<para>This feature is considered experimental. Some options
may be lacking in functionality, other parts may not work
at all. In time, this feature will be considered production
ready and this documentation will be altered to fit that
situation.</para>
</warning>
</sect1>
<sect1 id="dtrace-implementation">
<title>Implementation Differences</title>
<para>While the &dtrace; in &os; is very similar to that found
in &solaris;, differences exist that should be explained before
continuing. The primary difference users will notice is that
on &os;, &dtrace; needs to be specifically enabled. There are
kernel options and modules which must be enabled for &dtrace; to
work properly. These will be explained later.</para>
<para>There is a <literal>DDB_CTF</literal> kernel option which
is used to enable support for loading the <acronym>CTF</acronym>
data from kernel modules and the kernel itself.
<acronym>CTF</acronym> is the &solaris; Compact C Type Format
which encapsulates a reduced form of debugging information
similar to <acronym>DWARF</acronym> and the venerable stabs.
This <acronym>CTF</acronym> data is added to the binaries by the
<command>ctfconvert</command> and <command>ctfmerge</command>
build tools. The <command>ctfconvert</command> utility parses
<acronym>DWARF</acronym> <acronym>ELF</acronym> debug sections
created by the compiler and <command>ctfmerge</command> merges
<acronym>CTF</acronym> <acronym>ELF</acronym> sections from
objects into either executables or shared libraries. More on
how to enable this for the kernel and &os; build is
forthcoming.</para>
<para>Some different providers exist for &os; than for &solaris;.
Most notable is the <literal>dtmalloc</literal> provider, which
allows tracing <function>malloc()</function> by type in the
&os; kernel.</para>
<para>Only <username>root</username> may use &dtrace; on &os;.
This is related to security differences, &solaris; has a few
low level security checks which do not yet exist in &os;. As
such, the <devicename>/dev/dtrace/dtrace</devicename> is
strictly limited to <username>root</username> users only.</para>
<para>Finally, the &dtrace; software falls under &sun;'s
<acronym>CDDL</acronym> license. The <literal>Common
Development and Distribution License</literal> comes with &os;,
see the
<filename>/usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE</filename>
or view it online at
<ulink
url="http://www.opensolaris.org/os/licensing"></ulink>.</para>
<para>This license means that a &os; kernel with the &dtrace;
options is still <acronym>BSD</acronym> licensed; however
the <acronym>CDDL</acronym> kicks in when the modules are
distributed in binary form, or the binaries are loaded.</para>
</sect1>
<sect1 id="dtrace-enable">
<title>Enabling &dtrace; Support</title>
<para>To enable support for &dtrace;, add the following lines to
the kernel configuration file:</para>
<programlisting>options KDTRACE_HOOKS
options DDB_CTF</programlisting>
<note>
<para>Users of the AMD64 architecture will want to add the
following line to their kernel configuration file:</para>
<programlisting>options KDTRACE_FRAME</programlisting>
<para>This option provides support for the
<acronym>FBT</acronym> feature. &dtrace; will work without
this option; however, there will be limited support for
function boundary tracing.</para>
</note>
<para>All sources must be rebuilt and installed with
- <acronym>CTF</acronym> options.
- To accomplish this task, rebuild the &os; sources using:</para>
+ <acronym>CTF</acronym> options.</para>
+
+ <note>
+ <para>Starting from 10.0, the following steps are not needed any
+ more as the <literal>WITH_CTF</literal> option is included in
+ the <filename>GENERIC</filename> kernel configuration.</para>
+ </note>
+
+ <para>To accomplish this task, rebuild the &os; sources using:</para>
<!-- XXXTR: WITH_CTF has been reported to leave a user with a
broken system when used with buildworld. Until this is
fixed, comment out those parts. When uncommenting, kill
the extra screen.
-->
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
<!-- &prompt.root; <userinput>make WITH_CTF=1 buildworld</userinput> -->
&prompt.root; <userinput>make WITH_CTF=1 kernel</userinput></screen>
<!-- &prompt.root; <userinput>make WITH_CTF=1 installworld</userinput>
&prompt.root; <userinput>mergemaster -Ui</userinput></screen> -->
<para>The system will need to be restarted.</para>
<para>After rebooting and allowing the new kernel to be loaded
into memory, support for the Korn shell should be added. This
is needed as the &dtrace;Toolkit has several utilities written
in <command>ksh</command>. Install the
<filename role="package">shells/ksh93</filename>. It is also
possible to run these tools under
<filename role="package">shells/pdksh</filename> or
<filename role="package">shells/mksh</filename>.</para>
<para>Finally, obtain the current &dtrace;Toolkit.
If you are running FreeBSD 10, you will find the &dtrace;Toolkit
in <filename>/usr/share/dtrace</filename>.
Otherwise, you can install the &dtrace;Toolkit using the
<filename role="package">sysutils/DTraceToolkit</filename>
port.</para>
</sect1>
<sect1 id="dtrace-using">
<title>Using &dtrace;</title>
<para>Before making use of &dtrace; functionality, the &dtrace;
device must exist. To load the device, issue the following
command:</para>
<screen>&prompt.root; <userinput>kldload dtraceall</userinput></screen>
<para>&dtrace; support should now be available. To view all
probes the administrator may now execute the following
command:</para>
<screen>&prompt.root; <userinput>dtrace -l | more</userinput></screen>
<para>All output is passed to the <command>more</command>
utility as it will quickly overflow the screen buffer. At
this point, &dtrace; should be considered working. It is now
time to review the toolkit.</para>
<para>The toolkit is a collection of ready-made scripts to run
with &dtrace; to collect system information. There are scripts
to check open files, memory, <acronym>CPU</acronym> usage and
a lot more. Extract the scripts with the following
command:</para>
<screen>&prompt.root; <userinput>gunzip -c DTraceToolkit* | tar xvf -</userinput></screen>
<para>Change into that directory with the <command>cd</command>
and change the execution permissions on all files, designated
as those files with lower case names, to
<literal>755</literal>.</para>
<para>All of these scripts will need modifications to their
contents. The ones which refer to
<filename>/usr/bin/ksh</filename> need that changed to
<filename>/usr/local/bin/ksh</filename>, the others which
use <filename>/usr/bin/sh</filename> need to be altered to use
<filename>/bin/sh</filename>, and finally the ones which
use <filename>/usr/bin/perl</filename> will need altered to
use <filename>/usr/local/bin/perl</filename>.</para>
<important>
<para>At this point it is prudent to remind the reader that
&dtrace; support in &os; is <emphasis>incomplete</emphasis>
and <emphasis>experimental</emphasis>. Many of these scripts
will not work as they are either too &solaris;-specific or
use probes which are unsupported at this time.</para>
</important>
<para>At the time of this writing only two of the scripts of the
&dtrace; Toolkit are fully supported in &os;:
the <filename>hotkernel</filename>
and <filename>procsystime</filename> scripts. These are the two
we will explore in the following parts of this section.</para>
<para>The <filename>hotkernel</filename> is designed to identify
which function is using the most kernel time. Run normally, it
will produce output similar to the following:</para>
<screen>&prompt.root; <userinput>cd /usr/share/dtrace/toolkit</userinput>
&prompt.root; <userinput>./hotkernel</userinput>
Sampling... Hit Ctrl-C to end.</screen>
<para>The system administrator must use the
<keycombo action="simul"><keycap>Ctrl</keycap><keycap>C</keycap>
</keycombo> key combination to stop the process. Upon
termination, the script will display a list of kernel functions
and timing information, sorting the output in increasing order
of time:</para>
<screen>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%</screen>
<!-- XXXTR: I attempted to use objdump and nm on /boot/kernel/kernel
to find 0xc10981a5, but to no avail. It would be nice to know
how we should look that up. -->
<para>This script will also work with kernel modules. To use this
feature, run the script with the <option>-m</option>
flag:</para>
<screen>&prompt.root; <userinput>./hotkernel -m</userinput>
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%</screen>
<!-- XXXTR: I was unable to match these up with output from
kldstat and kldstat -v and grep. Maybe I'm missing something
seriously obvious. It is 5AM btw. -->
<para>The <filename>procsystime</filename> script captures and
prints the system call time usage for a given
<acronym>PID</acronym> or process name. In the following
example, a new instance of <filename>/bin/csh</filename>
was spawned. The <filename>procsystime</filename> was executed
and remained waiting while a few commands were typed on the
other incarnation of <command>csh</command>. These are the
results of this test:</para>
<screen>&prompt.root; <userinput>./procsystime -n csh</userinput>
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</screen>
<para>As shown, the <function>read()</function> system call
seems to use the most time in nanoseconds with the
<function>getpid()</function> system call used the least amount
of time.</para>
</sect1>
<sect1 id="dtrace-language">
<title>The D Language</title>
<para>The &dtrace; Toolkit includes many scripts in the special
language of &dtrace;. This language is called <quote>the D
language</quote> by &sun; documentation, and it is very similar
to C++. An in depth discussion of the language is beyond the
scope of this document. It is extensively discussed
at <ulink
url="http://wikis.oracle.com/display/DTrace/Documentation"></ulink>.</para>
</sect1>
</chapter>
<!-- XXXTR: Should probably put links and resources here. I'm
nervous about this chapter as it may require a partial
re-write and large modification once DTrace is complete, but
at least we can get everyone started ... -->
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/multimedia/chapter.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/multimedia/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/multimedia/chapter.xml (revision 42804)
@@ -1,1797 +1,1797 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="multimedia">
<chapterinfo>
<authorgroup>
<author>
<firstname>Ross</firstname>
<surname>Lippert</surname>
<contrib>Edited by </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>Multimedia</title>
<sect1 id="multimedia-synopsis">
<title>Synopsis</title>
<para>&os; supports a wide variety of sound cards, allowing users
to enjoy high fidelity output from a &os; system. This includes
the ability to record and playback audio in the MPEG Audio Layer
3 (<acronym>MP3</acronym>), Waveform Audio File
(<acronym>WAV</acronym>), Ogg Vorbis, and other formats. The
&os; Ports Collection contains many applications for editing
recorded audio, adding sound effects, and controlling attached
MIDI devices.</para>
<para>&os; also supports the playback of video files and DVDs.
The &os; Ports Collection contains applications to encode,
convert, and playback various video media.</para>
<para>This chapter describes how to configure sound cards, video
playback, TV tuner cards, and scanners on &os;. It also
describes some of the applications which are available for
using these devices.</para>
<para>After reading this chapter, you will know how to:</para>
<itemizedlist>
<listitem>
- <para>Configure a sound card on os;.</para>
+ <para>Configure a sound card on &os;.</para>
</listitem>
<listitem>
<para>Troubleshoot the sound setup.</para>
</listitem>
<listitem>
<para>Playback and encode MP3s and other audio.</para>
</listitem>
<listitem>
<para>Prepare a &os; system for video playback.</para>
</listitem>
<listitem>
<para>Playback DVDs, <filename>.mpg</filename>, and
<filename>.avi</filename> files.</para>
</listitem>
<listitem>
<para>Rip CD and DVD content into files.</para>
</listitem>
<listitem>
<para>Configure a TV card.</para>
</listitem>
<listitem>
<para>Install and setup MythTV on &os;</para>
</listitem>
<listitem>
<para>Configure an image scanner.</para>
</listitem>
<listitem>
<para>How to configure an image scanner.</para>
</listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<itemizedlist>
<listitem><para>Know how to configure and install a new kernel
(<xref linkend="kernelconfig"/>).</para></listitem>
</itemizedlist>
<warning>
<para>Audio CDs have specialized encodings which differ from the
usual ISO-filesystem. This means that they should not be
mounted using &man.mount.8;.</para>
</warning>
</sect1>
<sect1 id="sound-setup">
<sect1info>
<authorgroup>
<author>
<firstname>Moses</firstname>
<surname>Moore</surname>
<contrib>Contributed by </contrib>
<!-- 20 November 2000 -->
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
<contrib>Enhanced by </contrib>
<!-- 13 September 2004 -->
</author>
</authorgroup>
</sect1info>
<title>Setting Up the Sound Card</title>
<sect2 id="sound-device">
<title>Configuring the System</title>
<indexterm><primary>PCI</primary></indexterm>
<indexterm><primary>sound cards</primary></indexterm>
<para>Before beginning the configuration, determine the model of
the sound card and the chip it uses. &os; supports a wide
variety of sound cards. Check the supported audio devices
list of the <ulink url="&rel.current.hardware;">Hardware
Notes</ulink> to see if the card is supported and which &os;
driver it uses.</para>
<indexterm>
<primary>kernel</primary>
<secondary>configuration</secondary>
</indexterm>
<para>In order to use the sound device, the proper device driver
must be loaded. This may be accomplished in one of two ways.
The easiest way is to load a kernel module for the sound card
with &man.kldload.8;. This example loads the driver for a
Creative &soundblaster; Live! sound card:</para>
<screen>&prompt.root; <userinput>kldload snd_emu10k1</userinput></screen>
<para>To automate the loading of this driver at boot time, add the
driver to <filename>/boot/loader.conf</filename>. The line for
this driver is:</para>
<programlisting>snd_emu10k1_load="YES"</programlisting>
<para>Other available sound modules are listed in
<filename>/boot/defaults/loader.conf</filename>. When unsure
which driver to use, load the <filename>snd_driver</filename>
module:</para>
<screen>&prompt.root; <userinput>kldload snd_driver</userinput></screen>
<para>This is a metadriver which loads all of the most common
sound drivers and can be used to speed up the search for the
correct driver. It is also possible to load all sound drivers
by adding the metadriver to
<filename>/boot/loader.conf</filename>.</para>
<para>To determine which driver was selected for the sound card
after loading the <filename>snd_driver</filename> metadriver,
type <command>cat /dev/sndstat</command>.</para>
<para>Users who prefer to statically compile in support for the
sound card in a custom kernel should refer to the instructions
in the next section. For more information about recompiling a
kernel, refer to <xref linkend="kernelconfig"/>.</para>
<sect3>
<title>Configuring a Custom Kernel with Sound Support</title>
<para>When using a custom kernel to provide sound support, make
sure that the audio framework driver exists in the custom kernel
configuration file:</para>
<programlisting>device sound</programlisting>
<para>Next, add support for the sound card. Therefore, you need
to know which driver supports the card. To continue the example
of the Creative &soundblaster; Live! sound card from the
previous section, use the following line in the custom kernel
configuration file:</para>
<programlisting>device snd_emu10k1</programlisting>
<para>Be sure to read the manual page of the driver for the
syntax to use. The explicit syntax for the kernel
configuration of every supported sound driver can also be
found in <filename>/usr/src/sys/conf/NOTES</filename>.</para>
<para>Non-PnP ISA sound cards may require the IRQ and I/O port
settings of the card to be added to
<filename>/boot/device.hints</filename>. During the boot
process, &man.loader.8; reads this file and passes the
settings to the kernel. For example, an old Creative
&soundblaster; 16 ISA non-PnP card will use the
&man.snd.sbc.4; driver in conjunction with
<literal>snd_sb16</literal>. For this card, the following
lines must be added to the kernel configuration file:</para>
<programlisting>device snd_sbc
device snd_sb16</programlisting>
<para>If the card uses the <literal>0x220</literal> I/O port and
IRQ <literal>5</literal>, these lines must also be added to
<filename>/boot/device.hints</filename>:</para>
<programlisting>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"</programlisting>
<para>In this case, the card uses the <literal>0x220</literal>
I/O port and the IRQ <literal>5</literal>.</para>
<para>The syntax used in
<filename>/boot/device.hints</filename> is described in
&man.sound.4; and the manual page for the driver of the sound
card.</para>
<para>The settings shown above are the defaults. In some
cases, the IRQ or other settings may need to be changed to
match the card. Refer to &man.snd.sbc.4; for more information
about this card.</para>
</sect3>
</sect2>
<sect2 id="sound-testing">
<title>Testing the Sound Card</title>
<para>After rebooting into the custom kernel, or after loading
the required module, the sound card should appear in the system
message buffer. Run &man.dmesg.8; and look for a message
like:</para>
<screen>pcm0: &lt;Intel ICH3 (82801CA)&gt; port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: &lt;Cirrus Logic CS4205 AC97 Codec&gt;</screen>
<para>The status of the sound card may also be checked using this
command:</para>
<screen>&prompt.root; <userinput>cat /dev/sndstat</userinput>
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: &lt;Intel ICH3 (82801CA)&gt; at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)</screen>
<para>The output may vary between systems. If no
<devicename>pcm</devicename> devices are listed, go back and
review the kernel configuration file and make sure the correct
device driver was chosen. Common problems are listed in <xref
linkend="troubleshooting"/>.</para>
<para>If all goes well, the sound card should now work in os;. If
the CD-ROM or DVD-ROM drive's audio-out pins are properly
connected to the sound card, one can insert an audio CD in the
drive and play it with &man.cdcontrol.1;:</para>
<screen>&prompt.user; <userinput>cdcontrol -f /dev/acd0 play 1</userinput></screen>
<para>Various applications, such as <filename
role="package">audio/workman</filename> provide a friendlier
interface. The <filename role="package">audio/mpg123</filename>
port can be installed to listen to MP3 audio files.</para>
<para>Another quick way to test the card is to send data to
<filename>/dev/dsp</filename>:</para>
<screen>&prompt.user; <userinput>cat <replaceable>filename</replaceable> &gt; /dev/dsp</userinput></screen>
<para>where
<filename><replaceable>filename</replaceable></filename> can
be any file. This command should produce some noise, confirming
that the sound card is actually working.</para>
<note>
<para>The <devicename>/dev/dsp*</devicename> device nodes will
be created automatically as needed. When not in use, they
do not exist and will not appear in the output of
&man.ls.1;.</para>
</note>
<para>Sound card mixer levels can be changed using &man.mixer.8;.
More details can be found in &man.mixer.8;.</para>
<sect3 id="troubleshooting">
<title>Common Problems</title>
<indexterm><primary>device nodes</primary></indexterm>
<indexterm><primary>I/O port</primary></indexterm>
<indexterm><primary>IRQ</primary></indexterm>
<indexterm><primary>DSP</primary></indexterm>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Error</entry>
<entry>Solution</entry>
</row>
</thead>
<tbody>
<row>
<entry><errorname>sb_dspwr(XX) timed
out</errorname></entry>
<entry><para>The I/O port is not set
correctly.</para></entry>
</row>
<row>
<entry><errorname>bad irq XX</errorname></entry>
<entry><para>The IRQ is set incorrectly. Make sure
that the set IRQ and the sound IRQ are the
same.</para></entry>
</row>
<row>
<entry><errorname>xxx: gus pcm not attached, out of
memory</errorname></entry>
<entry><para>There is not enough available memory to
use the device.</para></entry>
</row>
<row>
<entry><errorname>xxx: can't open
/dev/dsp!</errorname></entry>
<entry><para>Check with <command>fstat | grep
dsp</command> if another application is holding the
device open. Noteworthy troublemakers are
<application>esound</application> and
<application>KDE</application>'s sound
support.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Another issue is that modern graphics cards often come
with their own sound driver, for use with
<acronym>HDMI</acronym> and similar. This sound device will
sometimes be enumerated before the sound card and the sound
card will subsequently not be used as the default playback
device. To check if this is the case, run
<application>dmesg</application> and look for
<literal>pcm</literal>. The output looks something like
this:</para>
<programlisting>...
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: &lt;HDA NVidia (Unknown) PCM #0 DisplayPort&gt; at cad 0 nid 1 on hdac0
pcm1: &lt;HDA NVidia (Unknown) PCM #0 DisplayPort&gt; at cad 1 nid 1 on hdac0
pcm2: &lt;HDA NVidia (Unknown) PCM #0 DisplayPort&gt; at cad 2 nid 1 on hdac0
pcm3: &lt;HDA NVidia (Unknown) PCM #0 DisplayPort&gt; at cad 3 nid 1 on hdac0
hdac1: HDA Codec #2: Realtek ALC889
pcm4: &lt;HDA Realtek ALC889 PCM #0 Analog&gt; at cad 2 nid 1 on hdac1
pcm5: &lt;HDA Realtek ALC889 PCM #1 Analog&gt; at cad 2 nid 1 on hdac1
pcm6: &lt;HDA Realtek ALC889 PCM #2 Digital&gt; at cad 2 nid 1 on hdac1
pcm7: &lt;HDA Realtek ALC889 PCM #3 Digital&gt; at cad 2 nid 1 on hdac1
...</programlisting>
<para>Here the graphics card (<literal>NVidia</literal>) has
been enumerated before the sound card (<literal>Realtek
ALC889</literal>). To use the sound card as the default
playback device, change <varname>hw.snd.default_unit</varname>
to the unit that should be used for playback:</para>
<screen>&prompt.root; <userinput>sysctl hw.snd.default_unit=<replaceable>n</replaceable></userinput></screen>
<para>Here, <literal>n</literal> is the number of the sound
device to use. In this example, it should be
<literal>4</literal>. Make this change permanent by adding
the following line to
<filename>/etc/sysctl.conf</filename>:</para>
<programlisting>hw.snd.default_unit=<replaceable>4</replaceable></programlisting>
</sect3>
</sect2>
<sect2 id="sound-multiple-sources">
<sect2info>
<authorgroup>
<author>
<firstname>Munish</firstname>
<surname>Chopra</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect2info>
<title>Utilizing Multiple Sound Sources</title>
<para>It is often desirable to have multiple sources of sound that
are able to play simultaneously. &os; uses <emphasis>Virtual
Sound Channels</emphasis>, which can be enabled using
&man.sysctl.8;. Virtual channels allow one to multiplex the
sound card's playback by mixing sound in the kernel.</para>
<para>To set the number of virtual channels, three
&man.sysctl.8; knobs are available:</para>
<screen>&prompt.root; <userinput>sysctl dev.pcm.0.play.vchans=4</userinput>
&prompt.root; <userinput>sysctl dev.pcm.0.rec.vchans=4</userinput>
&prompt.root; <userinput>sysctl hw.snd.maxautovchans=4</userinput></screen>
<para>The above example allocates four virtual channels, which
is a practical number for everyday use. Both
<varname>dev.pcm.0.play.vchans=4</varname> and
<varname>dev.pcm.0.rec.vchans=4</varname> are the number of
virtual channels <devicename>pcm0</devicename> has for playback
and recording, and are configurable after a device has been
attached. <literal>hw.snd.maxautovchans</literal> is the number
of virtual channels a new audio device is given when it is
attached using &man.kldload.8;. Since the
<devicename>pcm</devicename> module can be loaded independently
of the hardware drivers, <varname>hw.snd.maxautovchans</varname>
indicates how many virtual channels will be given to devices
when they are attached. Refer to &man.pcm.4; for more
information.</para>
<note>
<para>The number of virtual channels for a device cannot be
changed while it is in use. First, close any programs using
the device, such as music players or sound daemons.</para>
</note>
<para>
The correct <devicename>pcm</devicename> device will
automatically be allocated transparently to a program that
requests <filename>/dev/dsp0</filename>.</para>
</sect2>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Josef</firstname>
<surname>El-Rayes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect2info>
<title>Setting Default Values for Mixer Channels</title>
<para>The default values for the different mixer channels are
hardcoded in the source code of the &man.pcm.4; driver. There
are many different applications and daemons that allow values to
be set for the mixer that are remembered between invocations,
but this is not a clean solution. It is possible to set default
mixer values at the driver level. This is accomplished by
defining the appropriate values in
<filename>/boot/device.hints</filename>, as seen in this
example:</para>
<programlisting>hint.pcm.0.vol="50"</programlisting>
<para>This will set the volume channel to a default value of
<literal>50</literal> when the &man.pcm.4; module is
loaded.</para>
</sect2>
</sect1>
<sect1 id="sound-mp3">
<sect1info>
<authorgroup>
<author>
<firstname>Chern</firstname>
<surname>Lee</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
<!-- 11 Sept 2001 -->
</sect1info>
<title>MP3 Audio</title>
<para>This section describes some <acronym>MP3</acronym>
players available for &os;, how to rip audio CD tracks, and
how to encode and decode <acronym>MP3</acronym>s.</para>
<sect2 id="mp3-players">
<title>MP3 Players</title>
<para>A popular graphical <acronym>MP3</acronym> player is
<application>XMMS</application>.
<application>Winamp</application>
skins can be used with <application>XMMS</application> since
the interface is almost identical to that of Nullsoft's
<application>Winamp</application>.
<application>XMMS</application> also has native plug-in
support.</para>
<para><application>XMMS</application> can be installed from
the <filename role="package">multimedia/xmms</filename> port
or package.</para>
<para><application>XMMS</application>'s interface is intuitive,
with a playlist, graphic equalizer, and more. Those familiar
with <application>Winamp</application> will find
<application>XMMS</application> simple to use.</para>
<para>The <filename role="package">audio/mpg123</filename> port
provides an alternative, command-line <acronym>MP3</acronym>
player.</para>
<para><application>mpg123</application> can be run by specifying
the sound device and the <acronym>MP3</acronym> file on the
command line. Assuming the audio device is
<devicename>/dev/dsp1.0</devicename> and the
<acronym>MP3</acronym> file is
<replaceable>Foobar-GreatestHits.mp3</replaceable>, enter the
following to play the file:</para>
<screen>&prompt.root; <userinput>mpg123 -a <devicename>/dev/dsp1.0</devicename> <replaceable>Foobar-GreatestHits.mp3</replaceable></userinput>
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</screen>
</sect2>
<sect2 id="rip-cd">
<title>Ripping CD Audio Tracks</title>
<para>Before encoding a CD or CD track to
<acronym>MP3</acronym>, the audio data on the CD must be
ripped to the hard drive. This is done by copying the raw CD
Digital Audio (<acronym>CDDA</acronym>) data to
<acronym>WAV</acronym> files.</para>
<para>The <command>cdda2wav</command> tool, which is installed
with the <filename role="package">sysutils/cdrtools</filename>
suite, is used for ripping audio information from CDs and the
information associated with them.</para>
<para>With the audio CD in the drive, the following command can
be issued as <username>root</username> to rip an entire CD
into individual (per track) <acronym>WAV</acronym>
files:</para>
<screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -B</userinput></screen>
<para>The <option>-D <replaceable>0,1,0</replaceable></option>
indicates the SCSI device <devicename>0,1,0</devicename>,
which corresponds to the output of <command>cdrecord
-scanbus</command>.</para>
<para><application>cdda2wav</application> will support ATAPI
(IDE) CDROM drives. To rip from an IDE drive, specify the
device name in place of the SCSI unit numbers. For example,
to rip track 7 from an IDE drive:</para>
<screen>&prompt.root; <userinput>cdda2wav -D <replaceable>/dev/acd0</replaceable> -t 7</userinput></screen>
<para>To rip individual tracks, make use of the
<option>-t</option> as shown:</para>
<screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 7</userinput></screen>
<para>This example rips track seven of the audio CDROM. To rip
a range of tracks, such as track one to seven, specify a
range:</para>
<screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 1+7</userinput></screen>
<para>&man.dd.1; can also be used to extract audio tracks on
ATAPI drives, as described in <xref
linkend="duplicating-audiocds"/>.</para>
</sect2>
<sect2 id="mp3-encoding">
<title>Encoding MP3s</title>
<para>
<application>Lame</application> is a popular
<acronym>MP3</acronym> encoder which can be installed from the
<filename role="package">audio/lame</filename> port. Due to
licensing restrictions, a package is not available.</para>
<para>The following command will convert the ripped
<acronym>WAV</acronym> files
<filename><replaceable>audio01.wav</replaceable></filename>
to
<filename><replaceable>audio01.mp3</replaceable></filename>:</para>
<screen>&prompt.root; <userinput>lame -h -b <replaceable>128</replaceable> \
--tt "<replaceable>Foo Song Title</replaceable>" \
--ta "<replaceable>FooBar Artist</replaceable>" \
--tl "<replaceable>FooBar Album</replaceable>" \
--ty "<replaceable>2001</replaceable>" \
--tc "<replaceable>Ripped and encoded by Foo</replaceable>" \
--tg "<replaceable>Genre</replaceable>" \
<replaceable>audio01.wav audio01.mp3</replaceable></userinput></screen>
<para>128&nbsp;kbits is a standard <acronym>MP3</acronym>
bitrate. The 160 and 192 bitrates provide higher quality.
The higher the bitrate, the larger the size of the resulting
<acronym>MP3</acronym>. <option>-h</option> turns on the
<quote>higher quality but a little slower</quote> mode. The
options beginning with <option>--t</option> indicate ID3 tags,
which usually contain song information, to be embedded within
the <acronym>MP3</acronym> file. Additional encoding options
can be found in the <application>lame</application> manual
page.</para>
</sect2>
<sect2 id="mp3-decoding">
<title>Decoding MP3s</title>
<para>In order to burn an audio CD from <acronym>MP3</acronym>s,
they must first be converted to a non-compressed
<acronym>WAV</acronym> format. Both
<application>XMMS</application> and
<application>mpg123</application> support the output of
<acronym>MP3</acronym> to an uncompressed file format.</para>
<para>Writing to Disk in <application>XMMS</application>:</para>
<procedure>
<step>
<para>Launch <application>XMMS</application>.</para>
</step>
<step>
<para>Right-click the window to bring up the
<application>XMMS</application> menu.</para>
</step>
<step>
<para>Select <literal>Preferences</literal> under
<literal>Options</literal>.</para>
</step>
<step>
<para>Change the Output Plugin to <quote>Disk Writer
Plugin</quote>.</para>
</step>
<step>
<para>Press <literal>Configure</literal>.</para>
</step>
<step>
<para>Enter or browse to a directory to write the
uncompressed files to.</para>
</step>
<step>
<para>Load the <acronym>MP3</acronym> file into
<application>XMMS</application> as usual, with volume at
100% and EQ settings turned off.</para>
</step>
<step>
<para>Press <literal>Play</literal>. The
<application>XMMS</application> will appear as if it is
playing the <acronym>MP3</acronym>, but no music will be
heard. It is actually playing the <acronym>MP3</acronym>
to a file.</para>
</step>
<step>
<para>When finished, be sure to set the default Output
Plugin back to what it was before in order to listen to
<acronym>MP3</acronym>s again.</para>
</step>
</procedure>
<para>Writing to stdout in
<application>mpg123</application>:</para>
<procedure>
<step>
<para>Run <command>mpg123 -s
<replaceable>audio01.mp3</replaceable> &gt;
<replaceable>audio01.pcm</replaceable></command></para>
</step>
</procedure>
<para><application>XMMS</application> writes a file in the
<acronym>WAV</acronym> format, while
<application>mpg123</application> converts the
<acronym>MP3</acronym> into raw PCM audio data. Both of these
formats can be used with <application>cdrecord</application>
to create audio CDs, whereas &man.burncd.8; requires a raw
- Pulse-Code Modulation (<acronym>PCM</acronym>. When using
+ Pulse-Code Modulation (<acronym>PCM</acronym>). When using
<acronym>WAV</acronym> files, there will be a small tick
sound at the beginning of each track. This sound is the
header of the <acronym>WAV</acronym> file. One can remove the
header with <application>SoX</application>, which can be
installed from the <filename
role="package">audio/sox</filename> port or package:</para>
<screen>&prompt.user; <userinput>sox -t wav -r 44100 -s -w -c 2 <replaceable>track.wav track.raw</replaceable></userinput></screen>
<para>Refer to <xref linkend="creating-cds"/> for more
information on using a CD burner in &os;.</para>
</sect2>
</sect1>
<sect1 id="video-playback">
<sect1info>
<authorgroup>
<author>
<firstname>Ross</firstname>
<surname>Lippert</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
<!-- 5 June 2002 -->
</sect1info>
<title>Video Playback</title>
<para>Before configuring video playback, determine the model
of the video card and the chip it uses. While
<application>&xorg;</application> supports a wide variety of
video cards, fewer give good playback performance. To obtain
a list of extensions supported by the
<application>&xorg;</application> server using the card, run
&man.xdpyinfo.1; while <application>&xorg;</application> is
running.</para>
<para>It is a good idea to have a short MPEG test file for
evaluating various players and options. Since some DVD
applications look for DVD media in <filename
class="directory">/dev/dvd</filename> by default, or have this
device name hardcoded in them, it might be useful to make
symbolic links to the proper devices:</para>
<screen>&prompt.root; <userinput>ln -sf /dev/acd0 /dev/dvd</userinput>
&prompt.root; <userinput>ln -sf /dev/acd0 /dev/rdvd</userinput></screen>
<para>Due to the nature of &man.devfs.5;, manually created links
will not persist after a system reboot. In order to create the
symbolic links automatically when the system boots, add the
following lines to <filename>/etc/devfs.conf</filename>:</para>
<programlisting>link acd0 dvd
link acd0 rdvd</programlisting>
<para>DVD decryption invokes special DVD-ROM functions and
requires write permission on the DVD devices.</para>
<para>To enhance the shared memory
<application>&xorg;</application> interface, it is
recommended to increase the values of these &man.sysctl.8;
variables:</para>
<programlisting>kern.ipc.shmmax=67108864
kern.ipc.shmall=32768</programlisting>
<sect2 id="video-interface">
<title>Determining Video Capabilities</title>
<indexterm><primary>XVideo</primary></indexterm>
<indexterm><primary>SDL</primary></indexterm>
<indexterm><primary>DGA</primary></indexterm>
<para>There are several possible ways to display video under
<application>&xorg;</application>. What works is largely
hardware dependent. Each method described below will have
varying quality across different hardware.</para>
<para>Common video interfaces include:</para>
<orderedlist>
<listitem>
<para><application>&xorg;</application>: normal output using
shared memory.</para>
</listitem>
<listitem>
<para>XVideo: an extension to the
<application>&xorg;</application> interface which supports
video in any drawable object.</para>
</listitem>
<listitem>
<para><acronym>SDL</acronym>: the Simple Directmedia
Layer.</para>
</listitem>
<listitem>
<para><acronym>DGA</acronym>: the Direct Graphics
Access.</para>
</listitem>
<listitem>
<para>SVGAlib: low level console graphics layer.</para>
</listitem>
</orderedlist>
<sect3 id="video-interface-xvideo">
<title>XVideo</title>
<para><application>&xorg;</application> has an extension called
<emphasis>XVideo</emphasis>, also known as Xvideo, Xv, and xv.
It allows video to be directly displayed in drawable objects
through a special acceleration. This extension provides
good quality playback even on low-end machines.</para>
<para>To check whether the extension is running, use
<command>xvinfo</command>:</para>
<screen>&prompt.user; <userinput>xvinfo</userinput></screen>
<para>XVideo is supported for the card if the result looks
like:</para>
<screen>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</screen>
<para>The formats listed, such as YUV2 and YUV12, are not present
with every implementation of XVideo and their absence may hinder
some players.</para>
<para>If the result looks like:</para>
<screen>X-Video Extension version 2.2
screen #0
no adaptors present</screen>
<para>XVideo is probably not supported for the card. This means
that it will be more difficult for the display to meet the
computational demands of rendering video. Depending on the
video card and processor, one might still be able to have a
satisfying experience.</para>
</sect3>
<sect3 id="video-interface-SDL">
<title>Simple Directmedia Layer</title>
<para>The Simple Directmedia Layer, SDL, is a
porting layer for many operating systems
allowing cross-platform applications to be developed which make
efficient use of sound and graphics. The SDL layer provides a
low-level abstraction to the hardware which can sometimes be
more efficient than the <application>&xorg;</application>
interface.</para>
<para><acronym>SDL</acronym> can be installed using the <filename
role="package">devel/sdl12</filename> package or port.</para>
</sect3>
<sect3 id="video-interface-DGA">
<title>Direct Graphics Access</title>
<para><acronym>DGA</acronym> is an
<application>&xorg;</application> extension which allows a
program to bypass the <application>&xorg;</application> server
and directly alter the framebuffer. Because it relies on a low
level memory mapping, programs using it must be run as
<username>root</username>.</para>
<para>The <acronym>DGA</acronym> extension can be tested and
benchmarked using &man.dga.1;. When <command>dga</command> is
running, it changes the colors of the display whenever a key is
pressed. To quit, press <keycap>q</keycap>.</para>
</sect3>
</sect2>
<sect2 id="video-ports">
<title>Ports and Packages Dealing with Video</title>
<indexterm><primary>video ports</primary></indexterm>
<indexterm><primary>video packages</primary></indexterm>
<para>This section introduces some of the software available from
the &os; Ports Collection which can be used for video
playback.</para>
<para>Many of the video applications which run on &os; were
developed as &linux; applications. Many of these applications
are still beta-quality. Some of the problems commonly
encountered with video packages on &os; include:</para>
<orderedlist>
<listitem>
<para>An application cannot playback a file which another
application produced.</para>
</listitem>
<listitem>
<para>An application cannot playback a file which the
application itself produced.</para>
</listitem>
<listitem>
<para>The same application on two different machines,
rebuilt on each machine for that machine, plays back the
same file differently.</para>
</listitem>
<listitem>
<para>A seemingly trivial filter, like rescaling of the image
size, results in bad artifacts from a buggy rescaling
routine.</para>
</listitem>
<listitem>
<para>An application frequently dumps core.</para>
</listitem>
<listitem>
<para>Documentation is not installed with the port and can be
found either on the web or under the port's <filename
class='directory'>work</filename>
directory.</para>
</listitem>
</orderedlist>
<para>Many applications may also exhibit
<quote>&linux;-isms</quote>. There may be issues resulting from
the way some standard libraries are implemented in the &linux;
distributions, or some features of the &linux; kernel which have
been assumed by the authors of the applications. These issues
are not always noticed and worked around by the port
maintainers, which can lead to problems like these:</para>
<orderedlist>
<listitem>
<para>The use of <filename>/proc/cpuinfo</filename> to detect
processor characteristics.</para>
</listitem>
<listitem>
<para>A misuse of threads which causes a program to hang upon
completion instead of truly terminating.</para>
</listitem>
<listitem>
<para>Relies on software which is not yet available in the
&os; Ports Collection.</para>
</listitem>
</orderedlist>
<sect3 id="video-mplayer">
<title>MPlayer</title>
<para><application>MPlayer</application> is a command-line video
player with an optional graphical interface which aims to
provide speed and flexibility. This application, as well as
other graphical front-ends, is available from the &os; Ports
Collection.</para>
<sect4 id="video-mplayer-building">
<title>Building MPlayer</title>
<indexterm><primary>MPlayer</primary>
<secondary>making</secondary></indexterm>
<para><application>MPlayer</application> is available as a
package or port in <filename
role="package">multimedia/mplayer</filename>. Several
compile options are available and a variety of hardware
checks occur during the build process. For these reasons,
some users prefer to build the port rather than install the
package. The available options will be displayed in a
menu after these commands are input:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/multimedia/mplayer</userinput>
&prompt.root; <userinput>make</userinput></screen>
<para>The menu options should be reviewed to determine the
type of support to compile into the port. If an option is
not selected, <application>MPlayer</application> will not be
able to display that type of video format. Use the arrow
keys and spacebar to select the required formats. When
finished, press <keycap>Enter</keycap> to continue the port
compile and installation.</para>
<para>By default, this package or port will build the
<command>mplayer</command> command line utility and the
<command>gmplayer</command> graphical utility. To encode
videos, install the <filename
role="package">multimedia/mencoder</filename> port. Due
to licensing restrictions, a package is not available for
<command>MEncoder</command>.</para>
</sect4>
<sect4 id="video-mplayer-using">
<title>Using MPlayer</title>
<indexterm><primary>MPlayer</primary>
<secondary>use</secondary></indexterm>
<para>The first time <application>MPlayer</application> is
run, it will create <filename
class="directory">~/.mplayer</filename> in the user's
home directory. This subdirectory contains default versions
of the user-specific configuration files.</para>
<para>This section describes only a few common uses. Refer
to the <command>mplayer</command> manual page for a complete
description of its numerous options.</para>
<para>To play the file
<filename><replaceable>testfile.avi</replaceable></filename>,
specify the video interfaces with
<option>-vo</option>:</para>
<screen>&prompt.user; <userinput>mplayer -vo xv <replaceable>testfile.avi</replaceable></userinput></screen>
<screen>&prompt.user; <userinput>mplayer -vo sdl <replaceable>testfile.avi</replaceable></userinput></screen>
<screen>&prompt.user; <userinput>mplayer -vo x11 <replaceable>testfile.avi</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>mplayer -vo dga <replaceable>testfile.avi</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>mplayer -vo 'sdl:dga' <replaceable>testfile.avi</replaceable></userinput></screen>
<para>It is worth trying all of these options, as their
relative performance depends on many factors and will vary
significantly with hardware.</para>
<para>To play a DVD, replace the
<filename><replaceable>testfile.avi</replaceable></filename>
with <option>dvd://<replaceable>N</replaceable> -dvd-device
<replaceable>DEVICE</replaceable></option>, where
<replaceable>N</replaceable> is the title number to play
and <filename><replaceable>DEVICE</replaceable></filename>
is the device node for the DVD-ROM. For example, to play
title 3 from <devicename>/dev/dvd</devicename>:</para>
<screen>&prompt.root; <userinput>mplayer -vo xv dvd://3 -dvd-device /dev/dvd</userinput></screen>
<note>
<para>The default DVD device can be defined during the build
of the <application>MPlayer</application> port by
including the
<makevar>WITH_DVD_DEVICE=/path/to/desired/device</makevar>
option. By default, the device is
<filename>/dev/acd0</filename>. More details can be found
in the port's
<filename>Makefile.options</filename>.</para>
</note>
<para>To stop, pause, advance, and so on, consult the
keybindings, which are displayed by running <command>mplayer
-h</command>, or read the manual page.</para>
<para>Additional playback options include
<option>-fs -zoom</option>, which engages fullscreen mode,
and <option>-framedrop</option>, which helps
performance.</para>
<para>Each user can add commonly used options to their
<filename>~/.mplayer/config</filename> like so:</para>
<programlisting>vo=xv
fs=yes
zoom=yes</programlisting>
<para><command>mplayer</command> can be used to rip a DVD
title to a <filename>.vob</filename>. To dump the second
title from a DVD:</para>
<screen>&prompt.root; <userinput>mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd</userinput></screen>
<para>The output file, <filename>out.vob</filename>, will be
MPEG and can be manipulated by the other packages described
in this section.</para>
<para>The <ulink url="http://www.mplayerhq.hu/DOCS/">MPlayer
documentation</ulink> is technically informative and
should be consulted by anyone wishing to obtain a high level
of expertise with &unix; video. The
<application>MPlayer</application> mailing list is hostile
to anyone who has not bothered to read the documentation, so
before making a bug report, read the documentation
first.</para>
</sect4>
<sect4 id="video-mencoder">
<title><application>MEncoder</application></title>
<indexterm>
<primary>mencoder</primary>
</indexterm>
<para>Before using <command>mencoder</command>, it is a good
idea to become familiar with the options described in the
<ulink
url="http://www.mplayerhq.hu/DOCS/HTML/en/mencoder.html">HTML
documentation</ulink>. There are innumerable ways to
improve quality, lower bitrate, and change formats, and some
of these options may make the difference between good or bad
performance. Improper combinations of command line options
can yield output files that are unplayable even by
<command>mplayer</command>.</para>
<para>Here is an example of a simple copy:</para>
<screen>&prompt.user; <userinput>mencoder <replaceable>input.avi</replaceable> -oac copy -ovc copy -o <replaceable>output.avi</replaceable></userinput></screen>
<para>To rip to a file, use <option>-dumpfile</option> with
<command>mplayer</command>.</para>
<para>To convert
<filename><replaceable>input.avi</replaceable></filename>
to the MPEG4 codec with MPEG3 audio encoding, first install
the <filename role="package">audio/lame</filename> port.
Due to licensing restrictions, a package is not available.
Once installed, type:</para>
<screen>&prompt.user; <userinput>mencoder <replaceable>input.avi</replaceable> -oac mp3lame -lameopts br=192 \
-ovc lavc -lavcopts vcodec=mpeg4:vhq -o <replaceable>output.avi</replaceable></userinput></screen>
<para>This will produce output playable by applications such
as <command>mplayer</command> and
<command>xine</command>.</para>
<para><filename><replaceable>input.avi</replaceable></filename>
can be replaced with <option>dvd://1 -dvd-device
/dev/dvd</option> and run as <username>root</username>
to re-encode a DVD title directly. Since it may take a few
tries to get the desired result, it is recommended to dump
the title to a file and to work on the file.</para>
</sect4>
</sect3>
<sect3 id="video-xine">
<title>The <application>xine</application> Video Player</title>
<para><application>xine</application> is a video player with a
reusable base library and a modular executable which can be
extended with plugins. It can be installed using the
<filename role="package">multimedia/xine</filename> package or
port.</para>
<para>In practice, <application>xine</application> requires
either a fast CPU with a fast video card, or support for the
XVideo extension. The <application>xine</application> video
player performs best on XVideo interfaces.</para>
<para>By default, the <application>xine</application> player
starts a graphical user interface. The menus can then be used
to open a specific file.</para>
<para>Alternatively, <application>xine</application> may be
invoked to play a file immediately without the graphical
interface:</para>
<screen>&prompt.user; <userinput>xine</userinput></screen>
<para>Alternatively, it may be invoked to play a file
immediately without the GUI with the command:</para>
<screen>&prompt.user; <userinput>xine -g -p <replaceable>mymovie.avi</replaceable></userinput></screen>
<para>The <ulink
url="http://dvd.sourceforge.net/xine-howto/en_GB/html/howto.html">
xine HOWTO</ulink> contains a chapter on performance
improvement which is general to all players.</para>
</sect3>
<sect3 id="video-ports-transcode">
<title>The <application>transcode</application>
Utilities</title>
<para><application>transcode</application> provides a suite of
tools for re-encoding video and audio files.
<application>transcode</application> can be used to merge
video files or repair broken files using command line tools
with <filename>stdin/stdout</filename> stream
interfaces.</para>
<para><application>transcode</application> can be installed
using the <filename
role="package">multimedia/transcode</filename> package or
port. Many users prefer to compile the port as it provides a
menu of compile options for specifying the support and codecs
to compile in. If an option is not selected,
<application>transcode</application> will not be able to
encode that format. Use the arrow keys and spacebar to select
the required formats. When finished, press
<keycap>Enter</keycap> to continue the port compile and
installation.</para>
<para>This example demonstrates how to convert a DivX file into
a PAL MPEG-1 file (PAL VCD):</para>
<screen>&prompt.user; <userinput>transcode -i
<replaceable>input.avi</replaceable> -V --export_prof vcd-pal -o output_vcd</userinput>
&prompt.user; <userinput>mplex -f 1 -o <replaceable>output_vcd.mpg output_vcd.m1v output_vcd.mpa</replaceable></userinput></screen>
<para>The resulting MPEG file,
<filename><replaceable>output_vcd.mpg</replaceable></filename>,
is ready to be played with <application>MPlayer</application>.
The file can be burned on a CD-R media to create a Video CD. In
this, install and use the <filename
role="package">multimedia/vcdimager</filename> and <filename
role="package">sysutils/cdrdao</filename> programs.</para>
<para>In addition to the manual page for
<command>transcode</command>, refer to the <ulink
url="http://www.transcoding.org/cgi-bin/transcode">transcode
wiki</ulink> for further information and examples.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="tvcard">
<sect1info>
<authorgroup>
<author>
<firstname>Josef</firstname>
<surname>El-Rayes</surname>
<contrib>Original contribution by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
<contrib>Enhanced and adapted by </contrib>
<!-- 02 January 2004 -->
</author>
</authorgroup>
</sect1info>
<title>Setting Up TV Cards</title>
<indexterm>
<primary>TV cards</primary>
</indexterm>
<sect2>
<title>Introduction</title>
<para>TV cards allow can be used to watch broadcast or cable TV on
a computer. Most cards accept composite video via an RCA or
S-video input and some cards include a FM radio tuner.</para>
<para>&os; provides support for PCI-based TV cards using a
Brooktree Bt848/849/878/879 or a Conexant CN-878/Fusion 878a
video capture chip with the &man.bktr.4; driver. Ensure the
board comes with a supported tuner. Consult &man.bktr.4; for a
list of supported tuners.</para>
</sect2>
<sect2>
<title>Loading the Driver</title>
<para>In order to use the card, the &man.bktr.4; driver must be
loaded. To automate this at boot time, add the following line
to <filename>/boot/loader.conf</filename>:</para>
<programlisting>bktr_load="YES"</programlisting>
<para>Alternatively, one can statically compile support for
the TV card into a custom kernel. In that case, add the
following lines to the custom kernel configuration
file:</para>
<programlisting>device bktr
device iicbus
device iicbb
device smbus</programlisting>
<para>These additional devices are necessary as the card
components are interconnected via an I2C bus. Then, build and
install a new kernel.</para>
<para>To test the driver, reboot the system. The TV card
should appear in the boot messages, as seen in this
example:</para>
<programlisting>bktr0: &lt;BrookTree 848A&gt; mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: &lt;I2C bit-banging driver&gt; on bti2c0
iicbus0: &lt;Philips I2C bus&gt; on iicbb0 master-only
iicbus1: &lt;Philips I2C bus&gt; on iicbb0 master-only
smbus0: &lt;System Management Bus&gt; on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>
<para>The messages will differ according to the hardware. Check
the messages to determine if the tuner is correctly detected.
It is still possible to override some of the detected
parameters with &man.sysctl.8; MIBs and kernel configuration
file options. For example, to force the tuner to a Philips
SECAM tuner, add the following line to a custom kernel
configuration file:</para>
<programlisting>options OVERRIDE_TUNER=6</programlisting>
<para>or, use &man.sysctl.8;:</para>
<screen>&prompt.root; <userinput>sysctl hw.bt848.tuner=6</userinput></screen>
<para>Refer to &man.bktr.4; and
<filename>/usr/src/sys/conf/NOTES</filename> for more
details on the available options.</para>
</sect2>
<sect2>
<title>Useful Applications</title>
<para>To use the TV card, install one of the following
applications:</para>
<itemizedlist>
<listitem>
<para><filename role="package">multimedia/fxtv</filename>
provides TV-in-a-window and image/audio/video capture
capabilities.</para>
</listitem>
<listitem>
<para><filename role="package">multimedia/xawtv</filename>
is another TV application with similar features.</para>
</listitem>
<listitem>
<para><filename role="package">audio/xmradio</filename>
provides an application for using the FM radio tuner of a
TV card.</para>
</listitem>
</itemizedlist>
<para>More applications are available in the &os; Ports
Collection.</para>
</sect2>
<sect2>
<title>Troubleshooting</title>
<para>If any problems are encountered with the TV card,
check that the video capture chip and the tuner are
supported by &man.bktr.4; and that the right configuration
options were used. For more support and various questions
about TV cards, refer to the archives of the
&a.multimedia.name; mailing list.</para>
</sect2>
</sect1>
<sect1 id="mythtv">
<title>MythTV</title>
<para>MythTV is a popular, open source <acronym
role="Personal Video Recorder">PVR</acronym>
application. This section demonstrates how to install and
setup MythTV on &os;. Refer to the <ulink
url="http://www.mythtv.org/wiki/">MythTV wiki</ulink> for
more information on how to use MythTV.</para>
<para>MythTV requires a frontend and a backend; however,
it allows the user to have the frontend and backend on
different machines.</para>
<para>For the frontend, <filename
role="package">multimedia/mythtv-frontend</filename> is
required, as well as an X server, which can be found in
<filename role="package">x11/xorg</filename>. Ideally, the
frontend computer also has a video card that supports <acronym
role="X-Video Motion Compensation">XvMC</acronym> and,
optionally, a <acronym role="Linux Infrared Remote
Control">LIRC</acronym>-compatible remote.</para>
<para>For the backend, <filename
role="package">multimedia/mythtv</filename> is required,
along with the &mysql; database server. Optionally a tuner
and storage for any recorded data. The &mysql; package should
be automatically installed as a dependency when installing
<filename role="package">multimedia/mythtv</filename>.</para>
<sect2>
<title>Hardware</title>
<para>MythTV is designed to utilize <acronym
role="Video for Linux">V4L</acronym> to access video input
devices such as encoders and tuners. At this time, MythTV
works best with <acronym role="Universal Serial
Bus">USB</acronym> DVB-S/C/T cards supported by <filename
role="package">multimedia/webcamd</filename>, as it provides
a <acronym
role="Video for Linux">V4L</acronym> userland application.
Any <acronym role="Digital Video Broadcasting">DVB</acronym>
card supported by <application>webcamd</application> should
work with MythTV. A list of known working cards can be
found <ulink
url="http://wiki.freebsd.org/WebcamCompat">here</ulink>.
Drivers are also available for Hauppauge cards in the
following ports: <filename
role="package">multimedia/pvr250</filename> and <filename
role="package">multimedia/pvrxxx</filename>, but they
provide a non-standard driver interface that does not work
with versions of MythTV greater than 0.23. Due to licensing
restrictions, no packages are available and these two ports
must be compiled.</para>
<para>The <ulink url="http://wiki.freebsd.org/HTPC">HTPC
wiki page</ulink> contains a list of all available <acronym
role="Digital Video Broadcasting">DVB</acronym>
drivers.</para>
</sect2>
<sect2>
<title>Setting up MythTV</title>
<para>To install the MythTV port:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/multimedia/mythtv</userinput>
&prompt.root; <userinput>make install</userinput></screen>
<para>Once installed, set up the MythTV database:</para>
<screen>&prompt.root; <userinput>mysql -uroot -p &lt; /usr/local/share/mythtv/database/mc.sql</userinput></screen>
<para>Configure the backend:</para>
<screen>&prompt.root; <userinput>mythtv-setup</userinput></screen>
<para>Start the backend:</para>
<screen>&prompt.root; <userinput>echo 'mythbackend_enable="YES"' &gt;&gt; /etc/rc.conf</userinput>
&prompt.root; <userinput>service mythbackend start</userinput></screen>
</sect2>
</sect1>
<sect1 id="scanners">
<sect1info>
<authorgroup>
<author>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
<contrib>Written by </contrib>
<!-- 04 August 2004 -->
</author>
</authorgroup>
</sect1info>
<title>Image Scanners</title>
<indexterm>
<primary>image scanners</primary>
</indexterm>
<para>In &os;, access to image scanners is provided by the
<application>SANE</application> (Scanner Access Now Easy)
<acronym role="Application Programming
Interface">API</acronym> available through the &os; Ports
Collection. <application>SANE</application> will also use
some &os; device drivers to provide access to the scanner
hardware.</para>
<para>&os; supports both SCSI and USB scanners. Be sure the
scanner is supported by <application>SANE</application> prior
to performing any configuration. Refer to the <ulink
url="http://www.sane-project.org/sane-supported-devices.html">
supported devices list</ulink> for more information about supported
scanners.</para>
<sect2>
<title>Kernel Configuration</title>
<para>Both SCSI and USB interfaces are supported. Depending
upon the scanner interface, different device drivers are
required.</para>
<sect3 id="scanners-kernel-usb">
<title>USB Interface</title>
<para>The <filename>GENERIC</filename> kernel by default
includes the device drivers needed to support USB scanners.
Users with a custom kernel should ensure that the following
lines are present in the custom kernel configuration
file:</para>
<programlisting>device usb
device uhci
device ohci
device ehci</programlisting>
<para>Plug in the USB scanner. Use &man.dmesg.8; to determine
whether the scanner appears in the system message
buffer:</para>
<screen>ugen0.2: &lt;EPSON&gt; at usbus0</screen>
<para>These messages indicate that the scanner is using
either <filename>/dev/ugen0.2</filename> or
<filename>/dev/uscanner0</filename>, depending on the &os;
version. For this example, a
&epson.perfection;&nbsp;1650 USB scanner was used.</para>
</sect3>
<sect3>
<title>SCSI Interface</title>
<para>If the scanner uses a SCSI interface, it is important to
know which SCSI controller board it will use. Depending
upon the SCSI chipset, a custom kernel configuration file
may be needed. The <filename>GENERIC</filename> kernel
supports the most common SCSI controllers. Refer to
<filename>/usr/src/sys/conf/NOTES</filename> to determine
the correct line to add to a custom kernel configuration
file. In addition to the SCSI adapter driver, the following
lines are needed in the kernel configuration file:</para>
<programlisting>device scbus
device pass</programlisting>
<para>Verify that the device is displayed in the system
message buffer:</para>
<screen>pass2 at aic0 bus 0 target 2 lun 0
pass2: &lt;AGFA SNAPSCAN 600 1.10&gt; Fixed Scanner SCSI-2 device
pass2: 3.300MB/s transfers</screen>
<para>If the scanner was not powered-on at system boot, it
is still possible to manually force the detection by
performing a SCSI bus scan with the &man.camcontrol.8;
command:</para>
<screen>&prompt.root; <userinput>camcontrol rescan all</userinput>
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</screen>
<para>The scanner should now appear in the SCSI devices
list:</para>
<screen>&prompt.root; <userinput>camcontrol devlist</userinput>
&lt;IBM DDRS-34560 S97B&gt; at scbus0 target 5 lun 0 (pass0,da0)
&lt;IBM DDRS-34560 S97B&gt; at scbus0 target 6 lun 0 (pass1,da1)
&lt;AGFA SNAPSCAN 600 1.10&gt; at scbus1 target 2 lun 0 (pass3)
&lt;PHILIPS CDD3610 CD-R/RW 1.00&gt; at scbus2 target 0 lun 0 (pass2,cd0)</screen>
<para>Refer to &man.scsi.4; and &man.camcontrol.8; for more
details about SCSI devices on &os;.</para>
</sect3>
</sect2>
<sect2>
<title>SANE Configuration</title>
<para>The <application>SANE</application> system is split in two
parts: the backends (<filename
role="package">graphics/sane-backends</filename>) and the
frontends (<filename
role="package">graphics/sane-frontends</filename>). The
backends provide access to the scanner. The
<application>SANE</application>'s <ulink
url="http://www.sane-project.org/sane-supported-devices.html">supported
devices</ulink> list specifies which backend will support the
image scanner. The correct backend is needed in order to use
the scanner. The frontends provide the graphical scanning
interface, <application>xscanimage</application>.</para>
<para>After installing the <filename
role="package">graphics/sane-backends</filename> port or
package, use <command>sane-find-scanner</command> to check the
scanner detection by the
<application>SANE</application> system:</para>
<screen>&prompt.root; <userinput>sane-find-scanner -q</userinput>
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3</screen>
<para>The output should show the interface type of the scanner
and the device node used to attach the scanner to the system.
The vendor and the product model may or may not appear.</para>
<note>
<para>Some USB scanners require firmware to be loaded. Refer
to &man.sane-find-scanner.1; and &man.sane.7; for
details.</para>
</note>
<para>Next, check if the scanner will be identified by a
scanning frontend. By default, the
<application>SANE</application> backends come with a command
line tool called &man.scanimage.1;. This command can be used
to list the devices and perform an image acquisition. Use
<option>-L</option> to list the scanner devices:</para>
<screen>&prompt.root; <userinput>scanimage -L</userinput>
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner</screen>
<para>Here is the output for the USB scanner used in <xref
linkend="scanners-kernel-usb"/>:</para>
<screen>&prompt.root; <userinput>scanimage -L</userinput>
device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner</screen>
<para>In this output,
<literal>'epson2:libusb:/dev/usb:/dev/ugen0.2'</literal> is
the backend name (<literal>epson2</literal>) and the device
node (<literal>/dev/ugen0.2</literal>) used by the
scanner.</para>
<note>
<para>No output or a message saying that no scanners were
identified indicates that &man.scanimage.1; is unable to
identify the scanner. If this happens, edit the backend
configuration file in <filename
class="directory">/usr/local/etc/sane.d/</filename>
and define the scanner device used.</para>
<para>In the above example, the USB scanner is perfectly
detected and working.</para>
<para>To determine if the scanner is correctly
identified:</para>
<screen>&prompt.root; <userinput>scanimage -L</userinput>
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).</screen>
<para>Since the scanner is not identified, edit
<filename>/usr/local/etc/sane.d/epson2.conf</filename>. In
this example, the scanner model is
&epson.perfection;&nbsp;1650 and it uses the
<literal>epson2</literal> backend. When editing, read the
help comments in the backend configuration file. Line
changes are simple: comment out all lines that have the
wrong interface for the scanner. In this example, comment
out all lines starting with the word <literal>scsi</literal>
as the scanner uses the USB interface. Then, at the end
of the file, add a line specifying the interface and the
device node used. In this case, add the following
line:</para>
<programlisting>usb /dev/uscanner0</programlisting>
<para>Save the edits and verify that the scanner is
identified:</para>
<screen>&prompt.root; <userinput>scanimage -L</userinput>
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner</screen>
<para>The <literal>`epson:/dev/uscanner0'</literal> field now
gives the right backend name and the device node.</para>
</note>
<para>Once <command>scanimage -L</command> sees the scanner, the
configuration is complete and the device is now ready to
scan.</para>
<para>While &man.scanimage.1; can be used to perform an image
acquisition from the command line, it is often preferable to
use a graphical interface to perform image scanning. The
<filename role="package">graphics/sane-frontends</filename>
package or port installs a simple but efficient graphical
interface, <application>xscanimage</application>.</para>
<para><application>Xsane</application>, which is installed with
the <filename role="package">graphics/xsane</filename> package
or port, is another popular graphical scanning frontend. It
offers advanced features such as various scanning modes, color
correction, and batch scans. Both of these applications are
usable as a <application>GIMP</application> plugin.</para>
</sect2>
<sect2>
<title>Giving Other Users Access to the Scanner</title>
<para>In order to have access to the scanner, a user needs
read and write permissions to the device node used by the
scanner. In the previous example, the USB scanner uses the
device node <filename>/dev/ugen0.2</filename> which is really a
symlink to the real device node
<filename>/dev/usb/0.2.0</filename>. The symlink and the device
node are owned, respectively, by the
<groupname>wheel</groupname> and
<groupname>operator</groupname> groups. Adding the user to
these groups will allow access to the scanner. However, for
security reasons, always think twice before adding a user
to any group, especially <groupname>wheel</groupname>. A better
solution is to create a group to make the scanner device
accessible to members of this group.</para>
<para>This example creates a group called
<groupname><replaceable>usb</replaceable></groupname> using
&man.pw.8;:</para>
<screen>&prompt.root; <userinput>pw groupadd usb</userinput></screen>
<para>Then, make the <filename>/dev/ugen0.2</filename> symlink
and the <filename>/dev/usb/0.2.0</filename> device node
accessible to the <groupname>usb</groupname> group with write
permissions of (<literal>0660</literal> or
<literal>0664</literal>. All of this is done by adding the
following lines to
<filename>/etc/devfs.rules</filename>:</para>
<programlisting>[system=5]
add path ugen0.2 mode 0660 group usb
add path usb/0.2.0 mode 0666 group usb</programlisting>
<para>Finally, add the users to
<groupname><replaceable>usb</replaceable></groupname> in order
to allow access to the scanner:</para>
<screen>&prompt.root; <userinput>pw groupmod usb -m <replaceable>joe</replaceable></userinput></screen>
<para>For more details refer to &man.pw.8;.</para>
</sect2>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/network-servers/chapter.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/network-servers/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/network-servers/chapter.xml (revision 42804)
@@ -1,6309 +1,6182 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="network-servers">
<chapterinfo>
<authorgroup>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
<contrib>Reorganized by </contrib>
</author>
</authorgroup>
<!-- 23 July 2004 -->
</chapterinfo>
<title>Network Servers</title>
<sect1 id="network-servers-synopsis">
<title>Synopsis</title>
- <para>This chapter covers some of the more frequently used
- network services on &unix; systems. This includes
- installing, configuring, testing, and maintaining
- many different types of network services. Example
- configuration files are included throughout this
- chapter for reference.</para>
+ <para>This chapter covers some of the more frequently used network
+ services on &unix; systems. This includes installing,
+ configuring, testing, and maintaining many different types of
+ network services. Example configuration files are included
+ throughout this chapter for reference.</para>
<para>By the end of this chapter, readers will know:</para>
<itemizedlist>
<listitem>
<para>How to manage the <application>inetd</application>
daemon.</para>
</listitem>
<listitem>
<para>How to set up the Network File System
(<acronym>NFS</acronym>).</para>
</listitem>
<listitem>
<para>How to set up the Network Information Server
(<acronym>NIS</acronym>) for centralizing and sharing
user accounts.</para>
</listitem>
<listitem>
<para>How to set &os; up to act as an <acronym>LDAP</acronym>
server or client</para>
</listitem>
<listitem>
<para>How to set up automatic network settings using
<acronym>DHCP</acronym>.</para>
</listitem>
<listitem>
<para>How to set up a Domain Name Server
(<acronym>DNS</acronym>).</para>
</listitem>
<listitem>
<para>How to set up the <application>Apache</application>
<acronym>HTTP</acronym> Server.</para>
</listitem>
<listitem>
<para>How to set up a File Transfer Protocol
(<acronym>FTP</acronym>) server.</para>
</listitem>
<listitem>
<para>How to set up a file and print server for &windows;
clients using <application>Samba</application>.</para>
</listitem>
<listitem>
<para>How to synchronize the time and date, and set up a
time server using the Network Time Protocol
(<acronym>NTP</acronym>).</para>
</listitem>
<listitem>
<para>How to configure the standard logging daemon,
<command>syslogd</command>, to accept logs from remote
hosts.</para>
</listitem>
</itemizedlist>
<para>This chapter assumes a basic knowledge of:</para>
<itemizedlist>
<listitem>
<para><filename>/etc/rc</filename> scripts.</para>
</listitem>
<listitem>
<para>Network terminology.</para>
</listitem>
<listitem>
<para>Installation of additional third-party
software (<xref linkend="ports"/>).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="network-inetd">
<sect1info>
<authorgroup>
<author>
<firstname>Chern</firstname>
<surname>Lee</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<contrib>Updated by </contrib>
<othername>The &os; Documentation Project</othername>
</author>
</authorgroup>
</sect1info>
<title>The <application>inetd</application>
<quote>Super-Server</quote></title>
<sect2 id="network-inetd-overview">
<title>Overview</title>
<para>The &man.inetd.8; daemon is sometimes referred to as the
<quote>Internet Super-Server</quote> because it manages
- connections for many services. When a connection is
- received by <application>inetd</application>, it determines
- which program the connection is destined for, spawns the
- particular process and delegates the socket to it (the program
- is invoked with the service socket as its standard input,
- output and error descriptors). Running
- <application>inetd</application> for servers that are not
- heavily used can reduce the overall system load, when compared
- to running each daemon individually in stand-alone
- mode.</para>
+ connections for many services. When a connection is received
+ by <application>inetd</application>, it determines which
+ program the connection is destined for, spawns the particular
+ process and delegates the socket to it (the program is invoked
+ with the service socket as its standard input, output and
+ error descriptors). Running <application>inetd</application>
+ for servers that are not heavily used can reduce the overall
+ system load, when compared to running each daemon individually
+ in stand-alone mode.</para>
<para>Primarily, <application>inetd</application> is used to
spawn other daemons, but several trivial protocols are handled
directly, such as <application>chargen</application>,
<application>auth</application>, and
<application>daytime</application>.</para>
<para>This section will cover the basics in configuring
<application>inetd</application> through its command-line
options and its configuration file,
<filename>/etc/inetd.conf</filename>.</para>
</sect2>
<sect2 id="network-inetd-settings">
<title>Settings</title>
<para><application>inetd</application> is initialized through
the &man.rc.8; system. The <literal>inetd_enable</literal>
option is set to <literal>NO</literal> by default. It can be
enabled by placing:</para>
<programlisting>inetd_enable="YES"</programlisting>
<para>into <filename>/etc/rc.conf</filename>.
<application>inetd</application> will now start at boot time.
The command:</para>
<screen>&prompt.root; <userinput>service inetd rcvar</userinput></screen>
<para>can be run to display the current effective
setting.</para>
<para>Additionally, different command-line options can be passed
to <application>inetd</application> via the
<literal>inetd_flags</literal> option.</para>
</sect2>
<sect2 id="network-inetd-cmdline">
<title>Command-Line Options</title>
<para>Like most server daemons, <application>inetd</application>
has a number of options that it can be passed in order to
modify its behaviour. See the &man.inetd.8; manual page for
the full list of options.</para>
<para>Options can be passed to <application>inetd</application>
using the <literal>inetd_flags</literal> option in
<filename>/etc/rc.conf</filename>. By default,
<literal>inetd_flags</literal> is set to
<literal>-wW -C 60</literal>, which turns on TCP wrapping for
<application>inetd</application>'s services, and prevents any
single IP address from requesting any service more than 60
times in any given minute.</para>
<para>Although we mention rate-limiting options below, novice
users may be pleased to note that these parameters usually do
not need to be modified. These options may be useful if
an excessive amount of connections are being established.
A full list of options can be found in the
&man.inetd.8; manual.</para>
<variablelist>
<varlistentry>
<term>-c maximum</term>
<listitem>
<para>Specify the default maximum number of simultaneous
invocations of each service; the default is unlimited.
May be overridden on a per-service basis with the
<option>max-child</option> parameter.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-C rate</term>
<listitem>
<para>Specify the default maximum number of times a
service can be invoked from a single IP address in one
minute; the default is unlimited. May be overridden on
a per-service basis with the
<option>max-connections-per-ip-per-minute</option>
parameter.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-R rate</term>
<listitem>
<para>Specify the maximum number of times a service can be
invoked in one minute; the default is 256. A rate of 0
allows an unlimited number of invocations.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-s maximum</term>
<listitem>
<para>Specify the maximum number of times a service can be
invoked from a single IP address at any one time; the
default is unlimited. May be overridden on a
per-service basis with the
<option>max-child-per-ip</option> parameter.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="network-inetd-conf">
<!-- XXX This section is not very clear and could do with some tlc -->
<title><filename>inetd.conf</filename></title>
<para>Configuration of <application>inetd</application> is
done via the file <filename>/etc/inetd.conf</filename>.</para>
<para>When a modification is made to
<filename>/etc/inetd.conf</filename>,
<application>inetd</application> can be forced to re-read its
configuration file by running the command:</para>
<example id="network-inetd-reread">
<title>Reloading the <application>inetd</application>
Configuration File</title>
<screen>&prompt.root; <userinput>service inetd reload</userinput></screen>
</example>
<para>Each line of the configuration file specifies an
individual daemon. Comments in the file are preceded by a
<quote>#</quote>. The format of each entry in
<filename>/etc/inetd.conf</filename> is as follows:</para>
<programlisting>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</programlisting>
<para>An example entry for the &man.ftpd.8; daemon using IPv4
might read:</para>
<programlisting>ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l</programlisting>
<variablelist>
<varlistentry>
<term>service-name</term>
<listitem>
<para>This is the service name of the particular daemon.
It must correspond to a service listed in
<filename>/etc/services</filename>. This determines
which port <application>inetd</application> must listen
to. If a new service is being created, it must be
placed in <filename>/etc/services</filename>
first.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>socket-type</term>
<listitem>
<para>Either <literal>stream</literal>,
<literal>dgram</literal>, <literal>raw</literal>, or
<literal>seqpacket</literal>. <literal>stream</literal>
must be used for connection-based, TCP daemons, while
<literal>dgram</literal> is used for daemons utilizing
the <acronym>UDP</acronym> transport protocol.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>protocol</term>
<listitem>
<para>One of the following:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Protocol</entry>
<entry>Explanation</entry>
</row>
</thead>
<tbody>
<row>
<entry>tcp, tcp4</entry>
<entry>TCP IPv4</entry>
</row>
<row>
<entry>udp, udp4</entry>
<entry>UDP IPv4</entry>
</row>
<row>
<entry>tcp6</entry>
<entry>TCP IPv6</entry>
</row>
<row>
<entry>udp6</entry>
<entry>UDP IPv6</entry>
</row>
<row>
<entry>tcp46</entry>
<entry>Both TCP IPv4 and v6</entry>
</row>
<row>
<entry>udp46</entry>
<entry>Both UDP IPv4 and v6</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</listitem>
</varlistentry>
<varlistentry>
<term>{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]</term>
<listitem>
<para><option>wait|nowait</option> indicates whether the
daemon invoked from <application>inetd</application> is
able to handle its own socket or not.
<option>dgram</option> socket types must use the
<option>wait</option> option, while stream socket
daemons, which are usually multi-threaded, should use
<option>nowait</option>. <option>wait</option> usually
hands off multiple sockets to a single daemon, while
<option>nowait</option> spawns a child daemon for each
new socket.</para>
<para>The maximum number of child daemons
<application>inetd</application> may spawn can be set
using the <option>max-child</option> option. If a limit
of ten instances of a particular daemon is needed, a
<literal>/10</literal> would be placed after
<option>nowait</option>. Specifying
<literal>/0</literal> allows an unlimited number of
children</para>
<para>In addition to <option>max-child</option>, two other
options which limit the maximum connections from a
single place to a particular daemon can be enabled.
<option>max-connections-per-ip-per-minute</option>
limits the number of connections from any particular IP
address per minutes, e.g., a value of ten would limit
any particular IP address connecting to a particular
service to ten attempts per minute.
<option>max-child-per-ip</option> limits the number of
children that can be started on behalf on any single IP
address at any moment. These options are useful to
prevent intentional or unintentional excessive resource
consumption and Denial of Service (DoS) attacks to a
machine.</para>
<para>In this field, either of <option>wait</option> or
<option>nowait</option> is mandatory.
<option>max-child</option>,
<option>max-connections-per-ip-per-minute</option> and
- <option>max-child-per-ip</option> are
- optional.</para>
+ <option>max-child-per-ip</option> are optional.</para>
<para>A stream-type multi-threaded daemon without any
<option>max-child</option>,
<option>max-connections-per-ip-per-minute</option> or
<option>max-child-per-ip</option> limits would simply
be: <literal>nowait</literal>.</para>
<para>The same daemon with a maximum limit of ten daemons
would read: <literal>nowait/10</literal>.</para>
<para>The same setup with a limit of twenty connections
per IP address per minute and a maximum total limit of
ten child daemons would read:
<literal>nowait/10/20</literal>.</para>
<para>These options are utilized by the default
settings of the &man.fingerd.8; daemon,
as seen here:</para>
<programlisting>finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -s</programlisting>
<para>Finally, an example of this field with a maximum of
100 children in total, with a maximum of 5 for any one
IP address would read:
<literal>nowait/100/0/5</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>user</term>
<listitem>
<para>This is the username that the particular daemon
should run as. Most commonly, daemons run as the
<username>root</username> user. For security purposes,
it is common to find some servers running as the
<username>daemon</username> user, or the least
privileged <username>nobody</username> user.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>server-program</term>
<listitem>
<para>The full path of the daemon to be executed when a
connection is received. If the daemon is a service
provided by <application>inetd</application> internally,
then <option>internal</option> should be
used.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>server-program-arguments</term>
<listitem>
<para>This works in conjunction with
<option>server-program</option> by specifying the
arguments, starting with <literal>argv[0]</literal>,
passed to the daemon on invocation. If
<command>mydaemon -d</command> is the command line,
<literal>mydaemon -d</literal> would be the value of
<option>server-program-arguments</option>. Again, if
the daemon is an internal service, use
<option>internal</option> here.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="network-inetd-security">
<title>Security</title>
<para>Depending on the choices made at install time, many
of <application>inetd</application>'s services may be enabled
by default. If there is no apparent need for a particular
daemon, consider disabling it. Place a <quote>#</quote> in
front of the daemon in question in
<filename>/etc/inetd.conf</filename>, and then
<link linkend="network-inetd-reread">reload the
inetd configuration</link>. Some daemons, such as
<application>fingerd</application>, may not be desired at all
because they provide information that may be useful to an
attacker.</para>
<para>Some daemons are not security-conscious and have long or
non-existent timeouts for connection attempts. An attacker
can send connections to a particular daemon, eventually
consuming available resources and resulting in a Denial of
Service (<acronym>DoS</acronym>).
<literal>max-connections-per-ip-per-minute</literal>,
<literal>max-child</literal> and
<literal>max-child-per-ip</literal> can be used to limit such
attacks.</para>
<para>By default, TCP wrapping is turned on. Consult the
&man.hosts.access.5; manual page for more information on
placing TCP restrictions on various
<application>inetd</application> invoked daemons.</para>
</sect2>
<sect2 id="network-inetd-misc">
<title>Miscellaneous</title>
<para><application>daytime</application>,
<application>time</application>,
<application>echo</application>,
<application>discard</application>,
<application>chargen</application>, and
<application>auth</application> are all internally provided
services of <application>inetd</application>.</para>
<para>The <application>auth</application> service provides
identity network services, and is configurable to a certain
degree, whilst the others are simply on or off.</para>
<para>Consult the &man.inetd.8; manual page for more in-depth
information.</para>
</sect2>
</sect1>
<sect1 id="network-nfs">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Reorganized and enhanced by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Bill</firstname>
<surname>Swingle</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Network File System (NFS)</title>
<indexterm><primary>NFS</primary></indexterm>
- <para>Among the many different file systems that FreeBSD supports
- is the Network File System, also known as <acronym role="Network
- File System">NFS</acronym>. <acronym role="Network File
- System">NFS</acronym> allows a system to share directories and
- files with others over a network. By using <acronym
- role="Network File System">NFS</acronym>, users and programs can
- access files on remote systems almost as if they were local
- files.</para>
+ <para>&os; supports the Network File System
+ (<acronym>NFS</acronym>), which allows a server to share
+ directories and files with clients over a network. With
+ <acronym>NFS</acronym>, users and programs can access files on
+ remote systems as if they were stored locally.</para>
- <para>Some of the most notable benefits that
- <acronym>NFS</acronym> can provide are:</para>
+ <para>The most notable benefits that
+ <acronym>NFS</acronym> provides are:</para>
<itemizedlist>
<listitem>
- <para>Local workstations use less disk space because commonly
- used data can be stored on a single machine and still remain
- accessible to others over the network.</para>
+ <para>Data that would otherwise be duplicated on each client
+ can be kept in a single location and accessed by clients
+ on the network.</para>
</listitem>
<listitem>
- <para>There is no need for users to have separate home
- directories on every network machine. Home directories
- could be set up on the <acronym>NFS</acronym> server and
- made available throughout the network.</para>
+ <para>User home directories can be stored in one location
+ and accessed by their owners over the network.</para>
</listitem>
<listitem>
- <para>Storage devices such as floppy disks, CDROM drives, and
- &iomegazip; drives can be used by other machines on the
- network. This may reduce the number of removable media
- drives throughout the network.</para>
+ <para>Administration of <acronym>NFS</acronym> exports is
+ also simplified. For example, there is only one file
+ system where security or backup policies must be
+ set.</para>
</listitem>
+
+ <listitem>
+ <para>Removable media storage devices, such as floppy disks
+ or <acronym>CD-ROM</acronym> drives, can be used by other
+ machines on the network. This reduces the number of devices
+ throughout the network and provides a centralized location
+ to manage their security.</para>
+ </listitem>
</itemizedlist>
<sect2>
<title>How <acronym>NFS</acronym> Works</title>
<para><acronym>NFS</acronym> consists of at least two main
parts: a server and one or more clients. The client remotely
accesses the data that is stored on the server machine. In
order for this to function properly a few processes have to be
configured and running.</para>
- <para>The server has to be running the following daemons:</para>
+ <para>These daemons must be running on the server:</para>
<indexterm>
<primary>NFS</primary>
<secondary>server</secondary>
</indexterm>
<indexterm>
<primary>file server</primary>
<secondary>UNIX clients</secondary>
</indexterm>
<indexterm>
<primary><application>rpcbind</application></primary>
</indexterm>
<indexterm>
<primary><application>mountd</application></primary>
</indexterm>
<indexterm>
<primary><application>nfsd</application></primary>
</indexterm>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<colspec colwidth="1*"/>
<colspec colwidth="3*"/>
<thead>
<row>
<entry>Daemon</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><application>nfsd</application></entry>
<entry>The <acronym>NFS</acronym> daemon which services
requests from the <acronym>NFS</acronym>
clients.</entry>
</row>
<row>
<entry><application>mountd</application></entry>
<entry>The <acronym>NFS</acronym> mount daemon which
carries out the requests that &man.nfsd.8; passes on
to it.</entry>
</row>
<row>
<entry><application>rpcbind</application></entry>
<entry> This daemon allows
<acronym>NFS</acronym> clients to discover which port
the <acronym>NFS</acronym> server is using.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
- <para>The client can also run a daemon, known as
- <application>nfsiod</application>. The
- <application>nfsiod</application> daemon services the requests
- from the <acronym>NFS</acronym> server. This is optional, and
- improves performance, but is not required for normal and
- correct operation. See the &man.nfsiod.8; manual page for
- more information.</para>
+ <para>Running &man.nfsiod.8; can improve performance on the
+ client, but is not required.</para>
</sect2>
<sect2 id="network-configuring-nfs">
<title>Configuring <acronym>NFS</acronym></title>
<indexterm>
<primary>NFS</primary>
<secondary>configuration</secondary>
</indexterm>
- <para><acronym>NFS</acronym> configuration is a relatively
- straightforward process. The processes that need to be
- running can all start at boot time with a few modifications
- to <filename>/etc/rc.conf</filename>.</para>
+ <para>Enabling the <acronym>NFS</acronym> server
+ is straightforward. The required processes
+ can be set to start at boot time by adding
+ these options to
+ <filename>/etc/rc.conf</filename>:</para>
- <para>On the <acronym>NFS</acronym> server, make sure that the
- following options are configured in the
- <filename>/etc/rc.conf</filename> file:</para>
-
<programlisting>rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"</programlisting>
<para><application>mountd</application> runs automatically
whenever the <acronym>NFS</acronym> server is enabled.</para>
- <para>On the client, make sure this option is present in
+ <para>To enable the client, set this option in
<filename>/etc/rc.conf</filename>:</para>
<programlisting>nfs_client_enable="YES"</programlisting>
- <para>The <filename>/etc/exports</filename> file specifies which
- file systems <acronym>NFS</acronym> should export (sometimes
- referred to as <quote>share</quote>). Each line in
- <filename>/etc/exports</filename> specifies a file system to
- be exported and which machines have access to that file
- system. Along with what machines have access to that file
- system, access options may also be specified. There are many
- such options that can be used in this file but only a few will
- be mentioned here. Other options are discussed in
- the &man.exports.5; manual page.</para>
+ <para><filename>/etc/exports</filename> specifies which file
+ systems the <acronym>NFS</acronym> server will export. Each
+ line in <filename>/etc/exports</filename> specifies a file
+ system to be exported and which clients have access to that
+ file system, as well as any access options. There are many
+ such options that can be used in this file, but only a few
+ will be mentioned here. See &man.exports.5; for the full list
+ of options.</para>
- <para>Here are a few example <filename>/etc/exports</filename>
- entries:</para>
-
<indexterm>
<primary>NFS</primary>
<secondary>export examples</secondary>
</indexterm>
- <para>The following examples give an idea of how to export file
- systems, although the settings may be different depending on
- the environment and network configuration. For instance, to
- export the <filename>/cdrom</filename> directory to three
- example machines that have the same domain name as the server
- (hence the lack of a domain name for each) or have entries in
- the <filename>/etc/hosts</filename> file. The
- <option>-ro</option> flag makes the exported file system
- read-only. With this flag, the remote system will not be able
- to write any changes to the exported file system.</para>
+ <para>These examples give an idea of how to export file systems.
+ Minor modifications may be required for the examples to work
+ on the reader's network.</para>
- <programlisting>/cdrom -ro host1 host2 host3</programlisting>
+ <para>This example shows how to export the
+ <filename class="directory">/cdrom</filename> directory to
+ three clients called <replaceable>alpha</replaceable>,
+ <replaceable>bravo</replaceable>, and
+ <replaceable>charlie</replaceable>:</para>
- <para>The following line exports <filename>/home</filename> to
- three hosts by IP address. This is a useful setup on
- a private network without a <acronym>DNS</acronym> server
- configured. Optionally the <filename>/etc/hosts</filename>
- file could be configured for internal hostnames; please review
- &man.hosts.5; for more information. The
- <option>-alldirs</option> flag allows the subdirectories to be
- mount points. In other words, it will not mount the
- subdirectories but permit the client to mount only the
- directories that are required or needed.</para>
+ <programlisting>/cdrom -ro <replaceable>alpha</replaceable> <replaceable>bravo</replaceable> <replaceable>charlie</replaceable></programlisting>
+ <para>The <literal>-ro</literal> flag makes the file systems
+ read-only, preventing clients from making any changes to
+ those exported file systems.</para>
+
+ <para>The next example exports
+ <filename class="directory">/home</filename> to three clients
+ by IP address. This can be useful for networks without
+ <acronym>DNS</acronym>. Optionally,
+ <filename>/etc/hosts</filename> could be configured for
+ internal hostnames; please review &man.hosts.5; for more
+ information. The <literal>-alldirs</literal> flag allows
+ subdirectories to be mount points. In other words, it will
+ not mount the subdirectories but permit the client to mount
+ only the directories that are required or needed.</para>
+
<programlisting>/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4</programlisting>
- <para>The following line exports <filename>/a</filename> so that
- two clients from different domains may access the file system.
- The <option>-maproot=root</option> flag allows the
+ <para>This next line exports
+ <filename class="directory">/a</filename> so that two clients
+ from different domains may access the file system. The
+ <option>-maproot=root</option> flag allows the
<username>root</username> user on the remote system to write
data on the exported file system as <username>root</username>.
If the <literal>-maproot=root</literal> flag is not specified,
- then even if a user has <username>root</username> access on
- the remote system, he will not be able to modify files on
- the exported file system.</para>
+ the client's <username>root</username> user will be mapped to
+ the server's <username>nobody</username> account and will be
+ subject to the access limitations defined for user,
+ <username>nobody</username>.</para>
<programlisting>/a -maproot=root host.example.com box.example.org</programlisting>
- <para>In order for a client to access an exported file system,
- the client must have permission to do so. Make sure the
- client is listed in <filename>/etc/exports</filename>.</para>
+ <para>For a client to have access to an exported file system,
+ the client must be listed in
+ <filename>/etc/exports</filename>.</para>
- <para>In <filename>/etc/exports</filename>, each line represents
- the export information for one file system to one host. A
- remote host can only be specified once per file system, and
- may only have one default entry. For example, assume that
- <filename>/usr</filename> is a single file system. The
- following <filename>/etc/exports</filename> would be
- invalid:</para>
+ <para>In <filename>/etc/exports</filename>, each line defines
+ the export information for one file system to one or more
+ clients. A remote host can only be specified once per file
+ system. For example, assume that
+ <filename class="directory">/usr</filename> is a single file
+ system. This entry, in <filename>/etc/exports</filename>,
+ would be invalid:</para>
<programlisting># Invalid when /usr is one file system
/usr/src client
/usr/ports client</programlisting>
- <para>One file system, <filename>/usr</filename>, has two lines
- specifying exports to the same host, <hostid>client</hostid>.
- The correct format for this situation is:</para>
+ <para>The <filename class="directory">/usr</filename> file
+ system has two lines specifying exports to the same host,
+ <hostid>client</hostid>. The correct format for this
+ situation is:</para>
<programlisting>/usr/src /usr/ports client</programlisting>
- <para>The properties of one file system exported to a given host
- must all occur on one line. Lines without a client specified
- are treated as a single host. This limits how file systems
- may be exported; however, for most environments, this is not
- an issue.</para>
+ <para>The exported file system, its properties, and allowed
+ hosts must occur on a single line. If no clients are listed,
+ then any client on the network may mount the exported file
+ system.</para>
<para>The following is an example of a valid export list, where
- <filename>/usr</filename> and <filename>/exports</filename>
- are local file systems:</para>
+ <filename class="directory">/usr</filename> and
+ <filename class="directory">/exports</filename> are local
+ file systems:</para>
<programlisting># Export src and ports to client01 and client02, but only
# client01 has root privileges on it
/usr/src /usr/ports -maproot=root client01
/usr/src /usr/ports client02
# The client machines have root and can mount anywhere
# on /exports. Anyone in the world can mount /exports/obj read-only
/exports -alldirs -maproot=root client01 client02
/exports/obj -ro</programlisting>
- <para>The <application>mountd</application> daemon must be
- forced to recheck the <filename>/etc/exports</filename> file
- whenever it has been modified, so the changes can take effect.
- This can be accomplished either by sending a HUP signal to the
- running daemon:</para>
+ <para>The <application>mountd</application> daemon reads
+ <filename>/etc/exports</filename> when started. To make
+ <acronym>NFS</acronym> server changes take effect immediately,
+ force <application>mountd</application> to reread
+ <filename>/etc/exports</filename>:</para>
- <screen>&prompt.root; <userinput>kill -HUP `cat /var/run/mountd.pid`</userinput></screen>
+ <screen>&prompt.root; <userinput>service mountd reload</userinput></screen>
- <para>or by invoking the <command>mountd</command> &man.rc.8;
- script with the appropriate parameter:</para>
-
- <screen>&prompt.root; <userinput>service mountd onereload</userinput></screen>
-
<para>Please refer to <xref linkend="configtuning-rcd"/> for
more information about using rc scripts.</para>
- <para>NFS services can now be started by running the following
- command, on the <acronym>NFS</acronym> server, as
- <username>root</username>:</para>
+ <para>On a new server being configured with
+ <acronym>NFS</acronym> services, the server can be started by
+ running this command as <username>root</username>:</para>
<screen>&prompt.root; <userinput>service nfsd start</userinput></screen>
<para>On the <acronym>NFS</acronym> client:</para>
<screen>&prompt.root; <userinput>service nfsclient restart</userinput></screen>
- <para>Now everything should be ready to actually mount a remote
- file system. In these examples the server's name will be
- <hostid>server</hostid> and the client's name will be
+ <para>The client now has everything it needs to mount a remote
+ file system. In these examples, the server's name is
+ <hostid>server</hostid> and the client's name is
<hostid>client</hostid>. For testing or to temporarily mount
- a remote file system execute a command like this as
- <username>root</username> on the client:</para>
+ a remote file system, execute <application>mount</application>
+ as <username>root</username> on
+ <hostid>client</hostid>:</para>
<indexterm>
<primary>NFS</primary>
<secondary>mounting</secondary>
</indexterm>
<screen>&prompt.root; <userinput>mount server:/home /mnt</userinput></screen>
- <para>This will mount the <filename>/home</filename> directory
- on the server at <filename>/mnt</filename> on the client. If
- everything is set up correctly, the server's files should be
- visible and available in the <filename>/mnt</filename>
- directory.</para>
+ <para>This mounts the <hostid>server</hostid>:
+ <filename class="directory">/home</filename> file system to
+ the <hostid>client</hostid>:
+ <filename class="directory">/mnt</filename> mount point. The
+ files and directories in the <hostid>server</hostid>
+ <filename class="directory">/home</filename> file system will
+ now be available on <hostid>client</hostid>, in the
+ <filename class="directory">/mnt</filename> directory.</para>
- <para>To permanently mount a remote file system each time the
- computer boots, add the file system to the
- <filename>/etc/fstab</filename> file. Here is an
- example:</para>
+ <para>To mount a remote file system each time the client
+ boots, add it to <filename>/etc/fstab</filename>:</para>
<programlisting>server:/home /mnt nfs rw 0 0</programlisting>
<para>The &man.fstab.5; manual page lists all the available
options.</para>
</sect2>
<sect2>
<title>Locking</title>
<para>Some applications (e.g., <application>mutt</application>)
require file locking to operate correctly. In the case of
<acronym>NFS</acronym>, <application>rpc.lockd</application>
- can be used for file locking. To enable it, add the following
- to the <filename>/etc/rc.conf</filename> file on both client
- and server (it is assumed that the <acronym>NFS</acronym>
- client and server are configured already):</para>
+ can be used for file locking. To enable it, add this line to
+ <filename>/etc/rc.conf</filename> on both client
+ and server:</para>
<programlisting>rpc_lockd_enable="YES"
rpc_statd_enable="YES"</programlisting>
- <para>Start the application by using:</para>
+ <para>Please note that this assumes that both
+ <acronym>NFS</acronym> client and server are already
+ configured.</para>
+ <para>Start the application, as <username>root</username>,
+ with:</para>
+
<screen>&prompt.root; <userinput>service lockd start</userinput>
&prompt.root; <userinput>service statd start</userinput></screen>
- <para>If real locking between the <acronym>NFS</acronym> clients
- and <acronym>NFS</acronym> server is not required, it is
- possible to let the <acronym>NFS</acronym> client do locking
+ <para>If locking is not required on the server, the
+ <acronym>NFS</acronym> client can be configured to lock
locally by passing <option>-L</option> to &man.mount.nfs.8;.
Refer to the &man.mount.nfs.8; manual page for further
details.</para>
</sect2>
<sect2>
<title>Practical Uses</title>
<para><acronym>NFS</acronym> has many practical uses. Some of
- the more common ones are listed below:</para>
+ the more common uses:</para>
<indexterm>
<primary>NFS</primary>
<secondary>uses</secondary>
</indexterm>
<itemizedlist>
<listitem>
- <para>Set several machines to share a CDROM or other media
- among them. This is cheaper and often a more convenient
- method to install software on multiple machines.</para>
+ <para>Share a <acronym>CD-ROM</acronym> or other media with
+ any number of clients. It is often more convenient to
+ install software on multiple machines from a single
+ location.</para>
</listitem>
<listitem>
- <para>On large networks, it might be more convenient to
- configure a central <acronym>NFS</acronym> server in which
- to store all the user home directories. These home
- directories can then be exported to the network so that
- users would always have the same home directory,
- regardless of which workstation they log in to.</para>
+ <para>On large networks, it is often more convenient to
+ configure a central <acronym>NFS</acronym> server on which
+ all user home directories are stored. Users can log into
+ a client anywhere on the network and have access to their
+ home directories.</para>
</listitem>
<listitem>
- <para>Several machines could have a common
- <filename>/usr/ports/distfiles</filename> directory. This
- allows for quick access to the source files without
- downloading them on each machine.</para>
+ <para>Several clients may need access to the <filename
+ class="directory">/usr/ports/distfiles</filename>
+ directory. Sharing that directory allows for quick access
+ to the source files without having to download them to
+ each client.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="network-amd">
<sect2info>
<authorgroup>
<author>
<firstname>Wylie</firstname>
<surname>Stilwell</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Chern</firstname>
<surname>Lee</surname>
<contrib>Rewritten by </contrib>
</author>
</authorgroup>
</sect2info>
<title>Automatic Mounts with
<application>amd</application></title>
<indexterm><primary>amd</primary></indexterm>
<indexterm>
<primary>automatic mounter daemon</primary>
</indexterm>
<para>&man.amd.8; (the automatic mounter daemon) automatically
mounts a remote file system whenever a file or directory
within that file system is accessed. Filesystems that are
inactive for a period of time will also be automatically
- unmounted by <application>amd</application>. Using
- <application>amd</application> provides a simple alternative
- to permanent mounts, as permanent mounts are usually listed in
- <filename>/etc/fstab</filename>.</para>
+ unmounted by <application>amd</application>.
+ <application>amd</application> provides an alternative to
+ modifying <filename>/etc/fstab</filename> to list every
+ client.</para>
<para><application>amd</application> operates by attaching
- itself as an NFS server to the <filename>/host</filename> and
- <filename>/net</filename> directories. When a file is
- accessed within one of these directories,
+ itself as an NFS server to the
+ <filename class="directory">/host</filename> and
+ <filename class="directory">/net</filename> directories. When
+ a file is accessed within one of these directories,
<application>amd</application> looks up the corresponding
remote mount and automatically mounts it.
- <filename>/net</filename> is used to mount an exported file
- system from an IP address, while <filename>/host</filename> is
- used to mount an export from a remote hostname.</para>
+ <filename class="directory">/net</filename> is used to mount
+ an exported file system from an IP address, while
+ <filename class="directory">/host</filename> is used to mount
+ an export from a remote hostname.</para>
- <para>An access to a file within
- <filename>/host/foobar/usr</filename> would tell
- <application>amd</application> to attempt to mount the
- <filename>/usr</filename> export on the host
+ <para>For instance, an attempt to access a file within
+ <filename class="directory">/host/foobar/usr</filename> would
+ tell <application>amd</application> to mount the
+ <filename class="directory">/usr</filename> export on the host
<hostid>foobar</hostid>.</para>
<example>
<title>Mounting an Export with
<application>amd</application></title>
- <para>The <command>showmount</command> command shows the
- available mounts on a remote host. For example, to view the
- mounts of a host named <hostid>foobar</hostid>:</para>
+ <para><command>showmount -e</command> shows the
+ exported file systems that can be mounted from
+ the <acronym>NFS</acronym> server,
+ <hostid>foobar</hostid>:</para>
<screen>&prompt.user; <userinput>showmount -e foobar</userinput>
Exports list on foobar:
/usr 10.10.10.0
/a 10.10.10.0
&prompt.user; <userinput>cd /host/foobar/usr</userinput></screen>
</example>
- <para>As seen in the example, the <command>showmount</command>
- shows <filename>/usr</filename> as an export. When changing
- directories to <filename>/host/foobar/usr</filename>,
- <application>amd</application> attempts to resolve the
- hostname <hostid>foobar</hostid> and automatically mount the
- desired export.</para>
+ <para>The output from <command>showmount</command> shows
+ <filename class="directory">/usr</filename> as an export.
+ When changing directories to
+ <filename class="directory">/host/foobar/usr</filename>,
+ <application>amd</application> intercepts the request and
+ attempts to resolve the hostname <hostid>foobar</hostid>. If
+ successful, <application>amd</application> automatically
+ mounts the desired export.</para>
- <para><application>amd</application> can be started by the
- startup scripts by placing the following lines in
- <filename>/etc/rc.conf</filename>:</para>
+ <para><application>amd</application> is enabled by placing
+ this line in <filename>/etc/rc.conf</filename>:</para>
<programlisting>amd_enable="YES"</programlisting>
- <para>Additionally, custom flags can be passed to
+ <para>It can then be started using the &os; &man.rc.8; scripts
+ or by using the &man.service.8; command.</para>
+
+ <para>Custom flags can be passed to
<application>amd</application> from the
- <varname>amd_flags</varname> option. By default,
- <varname>amd_flags</varname> is set to:</para>
+ <varname>amd_flags</varname> environment variable. By
+ default, <varname>amd_flags</varname> is set to:</para>
<programlisting>amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"</programlisting>
- <para>The <filename>/etc/amd.map</filename> file defines the
- default options that exports are mounted with. The
- <filename>/etc/amd.conf</filename> file defines some of the
- more advanced features of
- <application>amd</application>.</para>
+ <para><filename>/etc/amd.map</filename> defines the default
+ options with which exports are mounted.
+ <filename>/etc/amd.conf</filename> defines some of the more
+ advanced features of <application>amd</application>.</para>
<para>Consult the &man.amd.8; and &man.amd.conf.5; manual pages
for more information.</para>
</sect2>
-
- <sect2 id="network-nfs-integration">
- <sect2info>
- <authorgroup>
- <author>
- <firstname>John</firstname>
- <surname>Lind</surname>
- <contrib>Contributed by </contrib>
- </author>
- </authorgroup>
- </sect2info>
- <title>Problems Integrating with Other Systems</title>
-
- <para>Certain Ethernet adapters for ISA PC systems have
- limitations which can lead to serious network problems,
- particularly with NFS. This difficulty is not specific to
- FreeBSD, but FreeBSD systems are affected by it.</para>
-
- <para>The problem nearly always occurs when (FreeBSD) PC systems
- are networked with high-performance workstations, such as
- those made by Silicon Graphics, Inc., and Sun Microsystems,
- Inc. The NFS mount will work fine, and some operations may
- succeed, but suddenly the server will seem to become
- unresponsive to the client, even though requests to and from
- other systems continue to be processed. This happens to the
- client system, whether the client is the FreeBSD system or the
- workstation. On many systems, there is no way to shut down
- the client gracefully once this problem has manifested itself.
- The only solution is often to reset the client, because the
- NFS situation cannot be resolved.</para>
-
- <para>Though the <quote>correct</quote> solution is to get a
- higher performance and capacity Ethernet adapter for the
- FreeBSD system, there is a simple workaround that will allow
- satisfactory operation. If the FreeBSD system is the
- <emphasis>server</emphasis>, include the option
- <option>-w=1024</option> on the mount from the client. If the
- FreeBSD system is the <emphasis>client</emphasis>, then mount
- the NFS file system with the option <option>-r=1024</option>.
- These options may be specified using the fourth field of the
- <filename>fstab</filename> entry on the client for automatic
- mounts, or by using the <option>-o</option> parameter of the
- &man.mount.8; command for manual mounts.</para>
-
- <para>It should be noted that there is a different problem,
- sometimes mistaken for this one, when the NFS servers and
- clients are on different networks. If that is the case, make
- <emphasis>certain</emphasis> that the routers are routing the
- necessary <acronym>UDP</acronym> information.</para>
-
- <para>In the following examples, <hostid>fastws</hostid> is the
- host (interface) name of a high-performance workstation, and
- <hostid>freebox</hostid> is the host (interface) name of a
- FreeBSD system with a lower-performance Ethernet adapter.
- Also, <filename>/sharedfs</filename> will be the exported NFS
- file system (see &man.exports.5;), and
- <filename>/project</filename> will be the mount point on the
- client for the exported file system. In all cases, note that
- additional options, such as <option>hard</option> or
- <option>soft</option> and <option>bg</option> may be desirable
- in the application.</para>
-
- <para>Examples for the FreeBSD system (<hostid>freebox</hostid>)
- as the client in <filename>/etc/fstab</filename> on
- <hostid>freebox</hostid>:</para>
-
- <programlisting>fastws:/sharedfs /project nfs rw,-r=1024 0 0</programlisting>
-
- <para>As a manual mount command on
- <hostid>freebox</hostid>:</para>
-
- <screen>&prompt.root; <userinput>mount -t nfs -o -r=1024 fastws:/sharedfs /project</userinput></screen>
-
- <para>Examples for the FreeBSD system as the server in
- <filename>/etc/fstab</filename> on
- <hostid>fastws</hostid>:</para>
-
- <programlisting>freebox:/sharedfs /project nfs rw,-w=1024 0 0</programlisting>
-
- <para>As a manual mount command on
- <hostid>fastws</hostid>:</para>
-
- <screen>&prompt.root; <userinput>mount -t nfs -o -w=1024 freebox:/sharedfs /project</userinput></screen>
-
- <para>Nearly any 16-bit Ethernet adapter will allow operation
- without the above restrictions on the read or write
- size.</para>
-
- <para>For anyone who cares, here is what happens when the
- failure occurs, which also explains why it is unrecoverable.
- NFS typically works with a <quote>block</quote> size of
- 8&nbsp;K (though it may do fragments of smaller sizes). Since
- the maximum Ethernet packet is around 1500&nbsp;bytes, the NFS
- <quote>block</quote> gets split into multiple Ethernet
- packets, even though it is still a single unit to the
- upper-level code, and must be received, assembled, and
- <emphasis>acknowledged</emphasis> as a unit. The
- high-performance workstations can pump out the packets which
- comprise the NFS unit one right after the other, just as close
- together as the standard allows. On the smaller, lower
- capacity cards, the later packets overrun the earlier packets
- of the same unit before they can be transferred to the host
- and the unit as a whole cannot be reconstructed or
- acknowledged. As a result, the workstation will time out and
- try again, but it will try again with the entire 8&nbsp;K
- unit, and the process will be repeated, ad infinitum.</para>
-
- <para>By keeping the unit size below the Ethernet packet size
- limitation, we ensure that any complete Ethernet packet
- received can be acknowledged individually, avoiding the
- deadlock situation.</para>
-
- <para>Overruns may still occur when a high-performance
- workstations is slamming data out to a PC system, but with the
- better cards, such overruns are not guaranteed on NFS
- <quote>units</quote>. When an overrun occurs, the units
- affected will be retransmitted, and there will be a fair
- chance that they will be received, assembled, and
- acknowledged.</para>
- </sect2>
</sect1>
<sect1 id="network-nis">
<sect1info>
<authorgroup>
<author>
<firstname>Bill</firstname>
<surname>Swingle</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Eric</firstname>
<surname>Ogren</surname>
<contrib>Enhanced by </contrib>
</author>
<author>
<firstname>Udo</firstname>
<surname>Erdelhoff</surname>
</author>
</authorgroup>
</sect1info>
<title>Network Information System (NIS/YP)</title>
<sect2>
<title>What Is It?</title>
<indexterm><primary>NIS</primary></indexterm>
<indexterm><primary>Solaris</primary></indexterm>
<indexterm><primary>HP-UX</primary></indexterm>
<indexterm><primary>AIX</primary></indexterm>
<indexterm><primary>Linux</primary></indexterm>
<indexterm><primary>NetBSD</primary></indexterm>
<indexterm><primary>OpenBSD</primary></indexterm>
<para><acronym role="Network Information System">NIS</acronym>,
which stands for Network Information Services, was developed
by Sun Microsystems to centralize administration of &unix;
(originally &sunos;) systems. It has now essentially become
an industry standard; all major &unix; like systems
(&solaris;, HP-UX, &aix;, Linux, NetBSD, OpenBSD, FreeBSD,
etc) support <acronym
role="Network Information System">NIS</acronym>.</para>
<indexterm>
<primary>yellow pages</primary>
<see>NIS</see>
</indexterm>
<para><acronym role="Network Information System">NIS</acronym>
was formerly known as Yellow Pages, but because of trademark
issues, Sun changed the name. The old term (and yp) is still
often seen and used.</para>
<indexterm>
<primary>NIS</primary>
<secondary>domains</secondary>
</indexterm>
<para>It is a RPC-based client/server system that allows a group
of machines within an NIS domain to share a common set of
configuration files. This permits a system administrator to
set up NIS client systems with only minimal configuration data
and add, remove or modify configuration data from a single
location.</para>
<indexterm><primary>Windows NT</primary></indexterm>
<para>It is similar to the &windowsnt; domain system; although
the internal implementation of the two are not at all similar,
the basic functionality can be compared.</para>
</sect2>
<sect2>
<title><acronym>NIS</acronym>Terms and Processes</title>
<para>There are several terms and important user processes that
will be explained while attempting to implement NIS on
FreeBSD, regardless if the system is a NIS server or a NIS
client:</para>
<indexterm>
<primary><application>rpcbind</application></primary>
</indexterm>
<indexterm>
<primary><application>portmap</application></primary>
</indexterm>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<colspec colwidth="1*"/>
<colspec colwidth="3*"/>
<thead>
<row>
<entry>Term</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>NIS domainname</entry>
<entry>An NIS master server and all of its clients
(including its slave servers) have a NIS domainname.
Similar to an &windowsnt; domain name, the NIS
domainname does not have anything to do with
<acronym>DNS</acronym>.</entry>
</row>
<row>
<entry><application>rpcbind</application></entry>
<entry>Must be running in order to enable
<acronym>RPC</acronym> (Remote Procedure Call, a
network protocol used by NIS). If
<application>rpcbind</application> is not running, it
will be impossible to run an NIS server, or to act as
an NIS client.</entry>
</row>
<row>
<entry><application>ypbind</application></entry>
-
<entry><quote>Binds</quote> an NIS client to its NIS
server. It will take the NIS domainname from the
system, and using <acronym>RPC</acronym>, connect to
the server. <application>ypbind</application> is the
core of client-server communication in an NIS
environment; if <application>ypbind</application> dies
on a client machine, it will not be able to access the
NIS server.</entry>
</row>
<row>
<entry><application>ypserv</application></entry>
<entry>Should only be running on NIS servers; this is
the NIS server process itself. If &man.ypserv.8;
dies, then the server will no longer be able to
respond to NIS requests (hopefully, there is a slave
server to take over for it). There are some
implementations of NIS (but not the FreeBSD one), that
do not try to reconnect to another server if the
server it used before dies. Often, the only thing
that helps in this case is to restart the server
process (or even the whole server) or the
<application>ypbind</application> process on the
client.</entry>
</row>
<row>
<entry><application>rpc.yppasswdd</application></entry>
<entry>Another process that should only be running on
NIS master servers; this is a daemon that will allow
NIS clients to change their NIS passwords. If this
daemon is not running, users will have to login to the
NIS master server and change their passwords
there.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<!-- XXX Missing: rpc.ypxfrd (not important, though) May only run
on the master -->
</sect2>
<sect2>
<title>How Does It Work?</title>
<para>There are three types of hosts in an NIS environment:
master servers, slave servers, and clients. Servers act as a
central repository for host configuration information. Master
servers hold the authoritative copy of this information, while
slave servers mirror this information for redundancy. Clients
rely on the servers to provide this information to
them.</para>
<para>Information in many files can be shared in this manner.
The <filename>master.passwd</filename>,
<filename>group</filename>, and <filename>hosts</filename>
files are commonly shared via NIS. Whenever a process on a
client needs information that would normally be found in these
files locally, it makes a query to the NIS server that it is
bound to instead.</para>
<sect3>
<title>Machine Types</title>
<itemizedlist>
<listitem>
<para>A <emphasis>NIS master server</emphasis><indexterm>
<primary>NIS</primary>
<secondary>master server</secondary>
</indexterm>.
This server, analogous to a &windowsnt; primary domain
controller, maintains the files used by all of the NIS
clients. The <filename>passwd</filename>,
<filename>group</filename>, and other various files used
by the NIS clients live on the master server.</para>
<note>
<para>It is possible for one machine to be an NIS master
server for more than one NIS domain. However, this
will not be covered in this introduction, which
assumes a relatively small-scale NIS
environment.</para>
</note>
</listitem>
<listitem>
<para><emphasis>NIS slave servers</emphasis><indexterm>
<primary>NIS</primary>
<secondary>slave server</secondary>
</indexterm>. Similar to the &windowsnt; backup domain
controllers, NIS slave servers maintain copies of the
NIS master's data files. NIS slave servers provide the
redundancy, which is needed in important environments.
They also help to balance the load of the master server:
NIS Clients always attach to the NIS server whose
response they get first, and this includes
slave-server-replies.</para>
</listitem>
<listitem>
<para><emphasis>NIS clients</emphasis><indexterm>
<primary>NIS</primary>
<secondary>client</secondary>
</indexterm>.
NIS clients, like most &windowsnt; workstations,
authenticate against the NIS server (or the &windowsnt;
domain controller in the &windowsnt; workstations case)
to log on.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2>
<title>Using NIS/YP</title>
<para>This section will deal with setting up a sample NIS
environment.</para>
<sect3>
<title>Planning</title>
<para>Let us assume that an administrator of a small
university lab, which consists of 15 FreeBSD machines,
currently has no centralized point of administration. Each
machine has its own <filename>/etc/passwd</filename> and
<filename>/etc/master.passwd</filename>. These files are
kept in sync with each other only through manual
intervention; currently, a user is added to the lab, the
process must be ran on all 15 machines. The lab would
clearly benefit from the addition of two
<acronym>NIS</acronym> servers.</para>
<para>Therefore, the configuration of the lab now looks
something like:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="3">
<thead>
<row>
<entry>Machine name</entry>
<entry>IP address</entry>
<entry>Machine role</entry>
</row>
</thead>
<tbody>
<row>
<entry><hostid>ellington</hostid></entry>
<entry><hostid role="ipaddr">10.0.0.2</hostid></entry>
<entry>NIS master</entry>
</row>
<row>
<entry><hostid>coltrane</hostid></entry>
<entry><hostid role="ipaddr">10.0.0.3</hostid></entry>
<entry>NIS slave</entry>
</row>
<row>
<entry><hostid>basie</hostid></entry>
<entry><hostid role="ipaddr">10.0.0.4</hostid></entry>
<entry>Faculty workstation</entry>
</row>
<row>
<entry><hostid>bird</hostid></entry>
<entry><hostid role="ipaddr">10.0.0.5</hostid></entry>
<entry>Client machine</entry>
</row>
<row>
<entry><hostid>cli[1-11]</hostid></entry>
<entry>
<hostid role="ipaddr">10.0.0.[6-17]</hostid></entry>
<entry>Other client machines</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>If this is the first time a <acronym>NIS</acronym>
scheme is being developed, it should be thoroughly planned
ahead of time. Regardless of network size, several
decisions need to be made as part of the planning
process.</para>
<sect4>
<title>Choosing a NIS Domain Name</title>
<indexterm>
<primary>NIS</primary>
<secondary>domainname</secondary>
</indexterm>
<para>This might not be the normal <quote>domainname</quote>
for the network. It is more accurately called the
<quote>NIS domainname</quote>. When a client broadcasts
its requests for info, it includes the name of the NIS
domain that it is part of. This is how multiple servers
on one network can tell which server should answer which
request. Think of the NIS domainname as the name for a
group of hosts that are related in some way.</para>
<para>Some organizations choose to use their Internet
domainname for their NIS domainname. This is not
recommended as it can cause confusion when trying to debug
network problems. The NIS domainname should be unique
within the network and it is helpful if it describes the
group of machines it represents. For example, the Art
department at Acme Inc. might be in the
<quote>acme-art</quote> NIS domain. For this example,
assume the chosen name will be
<literal>test-domain</literal>.</para>
<indexterm><primary>SunOS</primary></indexterm>
<para>However, some operating systems (notably &sunos;) use
their NIS domain name as their Internet domain name. If
one or more machines on the network have this
restriction, it <emphasis>must</emphasis> be used as the
Internet domain name for the NIS domain name.</para>
</sect4>
<sect4>
<title>Physical Server Requirements</title>
<para>There are several things to keep in mind when choosing
a machine to use as a NIS server. One of the unfortunate
things about NIS is the level of dependency the clients
have on the server. If a client cannot contact the server
for its NIS domain, very often the machine becomes
unusable. The lack of user and group information causes
most systems to temporarily freeze up. With this in mind
be sure to choose a machine that will not be prone to
being rebooted frequently, or one that might be used for
development. The NIS server should ideally be a stand
alone machine whose sole purpose in life is to be an NIS
server. If the network is not very heavily used, it is
acceptable to put the NIS server on a machine running
other services, however; if the NIS server becomes
unavailable, it will adversely affect
<emphasis>all</emphasis> NIS clients.</para>
</sect4>
</sect3>
<sect3>
<title>NIS Servers</title>
<para> The canonical copies of all NIS information are stored
on a single machine called the NIS master server. The
databases used to store the information are called NIS maps.
In FreeBSD, these maps are stored in
<filename>/var/yp/[domainname]</filename> where
<filename>[domainname]</filename> is the name of the NIS
domain being served. A single NIS server can support
several domains at once, therefore it is possible to have
several such directories, one for each supported domain.
Each domain will have its own independent set of
maps.</para>
<para>NIS master and slave servers handle all NIS requests
with the <command>ypserv</command> daemon.
<command>ypserv</command> is responsible for receiving
incoming requests from NIS clients, translating the
requested domain and map name to a path to the corresponding
database file and transmitting data from the database back
to the client.</para>
<sect4>
<title>Setting Up a NIS Master Server</title>
<indexterm>
<primary>NIS</primary>
<secondary>server configuration</secondary>
</indexterm>
<para>Setting up a master NIS server can be relatively
straight forward, depending on environmental needs. &os;
comes with support for NIS out-of-the-box. It only needs
to be enabled by adding the following lines to
<filename>/etc/rc.conf</filename>:</para>
<procedure>
<step>
<programlisting>nisdomainname="test-domain"</programlisting>
<para>This line will set the NIS domainname to
<literal>test-domain</literal>
upon network setup (e.g., after reboot).</para>
</step>
<step>
<programlisting>nis_server_enable="YES"</programlisting>
<para>This will tell FreeBSD to start up the NIS server
processes when the networking is next brought
up.</para>
</step>
<step>
<programlisting>nis_yppasswdd_enable="YES"</programlisting>
<para>This will enable the
<command>rpc.yppasswdd</command> daemon which, as
mentioned above, will allow users to change their NIS
password from a client machine.</para>
</step>
</procedure>
<note>
<para>Depending on the NIS setup, additional entries may
- be required. See the <link
- linkend="network-nis-server-is-client">section about
- NIS servers that are also NIS clients</link>, below, for
- details.</para>
+ be required. See the
+ <link linkend="network-nis-server-is-client">section
+ about NIS servers that are also NIS clients</link>,
+ below, for details.</para>
</note>
<para>After setting up the above entries, run the command
<command>/etc/netstart</command> as superuser. It will
set up everything, using the values defined in
<filename>/etc/rc.conf</filename>. As a last step, before
initializing the NIS maps, start the
<application>ypserv</application> daemon manually:</para>
<screen>&prompt.root; <userinput>service ypserv start</userinput></screen>
</sect4>
<sect4>
<title>Initializing the NIS Maps</title>
<indexterm>
<primary>NIS</primary>
<secondary>maps</secondary>
</indexterm>
<para>The <emphasis>NIS maps</emphasis> are database files,
that are kept in the <filename>/var/yp</filename>
directory. They are generated from configuration files in
the <filename>/etc</filename> directory of the NIS master,
with one exception:
<filename>/etc/master.passwd</filename>. This is for a
good reason, never propagate passwords for
<username>root</username> and other administrative
accounts to all the servers in the NIS domain. Therefore,
- before the NIS maps are initialized, configure the
- primary password files:</para>
+ before the NIS maps are initialized, configure the primary
+ password files:</para>
<screen>&prompt.root; <userinput>cp /etc/master.passwd /var/yp/master.passwd</userinput>
&prompt.root; <userinput>cd /var/yp</userinput>
&prompt.root; <userinput>vi master.passwd</userinput></screen>
<para>It is advisable to remove all entries regarding system
accounts (<username>bin</username>,
<username>tty</username>, <username>kmem</username>,
<username>games</username>, etc), as well as any accounts
that do not need to be propagated to the NIS clients
(for example <username>root</username> and any other UID 0
(superuser) accounts).</para>
<note><para>Ensure the
<filename>/var/yp/master.passwd</filename> is neither
group or world readable (mode 600)! Use the
<command>chmod</command> command, as
appropriate.</para></note>
<indexterm><primary>Tru64 UNIX</primary></indexterm>
<para>When this task has been completed, it is time to
initialize the NIS maps. FreeBSD includes a script named
<command>ypinit</command> to do this (see its
manual page for more information). Note that this script
is available on most &unix; Operating Systems, but not on
all. On Digital UNIX/Compaq Tru64 UNIX it is called
<command>ypsetup</command>. Because we are generating
maps for an NIS master, we are going to pass the
<option>-m</option> option to <command>ypinit</command>.
To generate the NIS maps run:</para>
<screen>ellington&prompt.root; <userinput>ypinit -m test-domain</userinput>
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] <userinput>n</userinput>
Ok, please remember to go back and redo manually whatever fails.
If not, 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 &lt;control D&gt;.
master server : ellington
next host to add: <userinput>coltrane</userinput>
next host to add: <userinput>^D</userinput>
The current list of NIS servers looks like this:
ellington
coltrane
Is this correct? [y/n: y] <userinput>y</userinput>
[..output from map generation..]
NIS Map update completed.
ellington has been setup as an YP master server without any errors.</screen>
<para>At this point, <command>ypinit</command> should have
created <filename>/var/yp/Makefile</filename> from
- <filename>/var/yp/Makefile.dist</filename>.
- When created, this file assumes that the operating
- environment is a single server NIS system with only &os;
- machines. Since <literal>test-domain</literal> has
- a slave server as well, edit
- <filename>/var/yp/Makefile</filename> as well:</para>
+ <filename>/var/yp/Makefile.dist</filename>. When created,
+ this file assumes that the operating environment is a
+ single server NIS system with only &os; machines. Since
+ <literal>test-domain</literal> has a slave server as well,
+ edit <filename>/var/yp/Makefile</filename> as well:</para>
<screen>ellington&prompt.root; <userinput>vi /var/yp/Makefile</userinput></screen>
<para>You should comment out the line that says</para>
<programlisting>NOPUSH = "True"</programlisting>
<para>(if it is not commented out already).</para>
</sect4>
<sect4>
<title>Setting up a NIS Slave Server</title>
<indexterm>
<primary>NIS</primary>
<secondary>slave server</secondary>
</indexterm>
<para>Setting up an NIS slave server is even more simple
than setting up the master. Log on to the slave server
and edit the file <filename>/etc/rc.conf</filename> as you
did before. The only difference is that we now must use
the <option>-s</option> option when running
<command>ypinit</command>. The <option>-s</option> option
requires the name of the NIS master be passed to it as
well, so our command line looks like:</para>
<screen>coltrane&prompt.root; <userinput>ypinit -s ellington test-domain</userinput>
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] <userinput>n</userinput>
Ok, please remember to go back and redo manually whatever fails.
If not, 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.
Remember to update map ypservers on ellington.</screen>
<para>There should be a directory called
<filename>/var/yp/test-domain</filename>. Copies of the
NIS master server's maps should be in this directory.
These files must always be up to date. The following
<filename>/etc/crontab</filename> entries on the slave
servers should do the job:</para>
<programlisting>20 * * * * root /usr/libexec/ypxfr passwd.byname
21 * * * * root /usr/libexec/ypxfr passwd.byuid</programlisting>
<para>These two lines force the slave to sync its maps with
the maps on the master server. These entries are not
mandatory because the master server automatically attempts
to push any map changes to its slaves; however, due to
the importance of correct password information on other
clients depending on the slave server, it is recommended
to specifically force the password map updates frequently.
This is especially important on busy networks where map
updates might not always complete.</para>
<para>Now, run the command <command>/etc/netstart</command>
on the slave server as well, which again starts the NIS
server.</para>
</sect4>
</sect3>
<sect3>
<title>NIS Clients</title>
<para>An NIS client establishes what is called a binding to a
particular NIS server using the <command>ypbind</command>
daemon. The <command>ypbind</command> command checks the
system's default domain (as set by the
<command>domainname</command> command), and begins
broadcasting RPC requests on the local network. These
requests specify the name of the domain for which
<command>ypbind</command> is attempting to establish a
binding. If a server that has been configured to serve the
requested domain receives one of the broadcasts, it will
respond to <command>ypbind</command>, which will record the
server's address. If there are several servers available (a
master and several slaves, for example),
<command>ypbind</command> will use the address of the first
one to respond. From that point on, the client system will
direct all of its NIS requests to that server.
<command>ypbind</command> will occasionally
<quote>ping</quote> the server to make sure it is still up
and running. If it fails to receive a reply to one of its
pings within a reasonable amount of time,
<command>ypbind</command> will mark the domain as unbound
and begin broadcasting again in the hopes of locating
another server.</para>
<sect4>
<title>Setting Up a NIS Client</title>
<indexterm>
<primary>NIS</primary>
<secondary>client configuration</secondary>
</indexterm>
<para>Setting up a FreeBSD machine to be a NIS client is
fairly straightforward.</para>
<procedure>
<step>
<para>Edit <filename>/etc/rc.conf</filename> and add the
following lines in order to set the NIS domainname and
start <command>ypbind</command> during network
startup:</para>
<programlisting>nisdomainname="test-domain"
nis_client_enable="YES"</programlisting>
</step>
<step>
<para>To import all possible password entries from the
NIS server, remove all user accounts from the
<filename>/etc/master.passwd</filename> file and use
<command>vipw</command> to add the following line to
the end of the file:</para>
<programlisting>+:::::::::</programlisting>
<note>
<para>This line will afford anyone with a valid
account in the NIS server's password maps an
account. There are many ways to configure the NIS
client by changing this line. See the
<link linkend="network-netgroups">netgroups
section</link> below for more information. For
more detailed reading see O'Reilly's book on
<literal>Managing NFS and NIS</literal>.</para>
</note>
<note>
<para>Keep in mind that at least one local account
(i.e. not imported via NIS) must exist in
<filename>/etc/master.passwd</filename> and this
account should also be a member of the group
<groupname>wheel</groupname>. If there is something
wrong with NIS, this account can be used to log in
remotely, become <username>root</username>, and fix
things.</para>
</note>
</step>
<step>
<para>To import all possible group entries from the NIS
server, add this line to
<filename>/etc/group</filename>:</para>
<programlisting>+:*::</programlisting>
</step>
</procedure>
<para>To start the NIS client immediately, execute the
following commands as the superuser:</para>
<screen>&prompt.root; <userinput>/etc/netstart</userinput>
&prompt.root; <userinput>service ypbind start</userinput></screen>
<para>After completing these steps, the command,
<command>ypcat passwd</command>, should show the
server's passwd map.</para>
</sect4>
</sect3>
</sect2>
<sect2>
<title>NIS Security</title>
<para>In general, any remote user may issue an RPC to
&man.ypserv.8; and retrieve the contents of the NIS maps,
provided the remote user knows the domainname. To prevent
such unauthorized transactions, &man.ypserv.8; supports a
feature called <quote>securenets</quote> which can be used to
restrict access to a given set of hosts. At startup,
&man.ypserv.8; will attempt to load the securenets information
from a file called
<filename>/var/yp/securenets</filename>.</para>
<note>
<para>This path varies depending on the path specified with
the <option>-p</option> option. This file contains entries
that consist of a network specification and a network mask
separated by white space. Lines starting with
<quote>#</quote> are considered to be comments. A sample
securenets file might look like this:</para>
</note>
<programlisting># 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</programlisting>
<para>If &man.ypserv.8; receives a request from an address that
matches one of these rules, it will process the request
normally. If the address fails to match a rule, the request
will be ignored and a warning message will be logged. If the
<filename>/var/yp/securenets</filename> file does not exist,
<command>ypserv</command> will allow connections from any
host.</para>
<para>The <command>ypserv</command> program also has support for
Wietse Venema's <application>TCP Wrapper</application>
package. This allows the administrator to use the
<application>TCP Wrapper</application> configuration files for
access control instead of
<filename>/var/yp/securenets</filename>.</para>
<note>
<para>While both of these access control mechanisms provide
some security, they, like the privileged port test, are
vulnerable to <quote>IP spoofing</quote> attacks. All
NIS-related traffic should be blocked at the
firewall.</para>
<para>Servers using <filename>/var/yp/securenets</filename>
may fail to serve legitimate NIS clients with archaic TCP/IP
implementations. Some of these implementations set all host
bits to zero when doing broadcasts and/or fail to observe
the subnet mask when calculating the broadcast address.
While some of these problems can be fixed by changing the
client configuration, other problems may force
the retirement of the client systems in question or the
abandonment of
<filename>/var/yp/securenets</filename>.</para>
<para>Using <filename>/var/yp/securenets</filename> on a
server with such an archaic implementation of TCP/IP is a
really bad idea and will lead to loss of NIS functionality
for large parts of the network.</para>
<indexterm><primary>TCP Wrappers</primary></indexterm>
<para>The use of <application>TCP Wrapper</application>
increases the latency of the NIS server. The additional
delay may be long enough to cause timeouts in client
programs, especially in busy networks or with slow NIS
servers. If one or more of the client systems suffers from
these symptoms, convert the client systems in question into
NIS slave servers and force them to bind to
themselves.</para>
</note>
</sect2>
<sect2>
<title>Barring Some Users from Logging On</title>
<para>In our lab, there is a machine <hostid>basie</hostid> that
is supposed to be a faculty only workstation. We do not want
to take this machine out of the NIS domain, yet the
<filename>passwd</filename> file on the master NIS server
contains accounts for both faculty and students. What can we
do?</para>
<para>There is a way to bar specific users from logging on to a
machine, even if they are present in the NIS database. To do
this, add
<literal>-<replaceable>username</replaceable></literal> with
the correct number of colons like other entries to the end of
the <filename>/etc/master.passwd</filename> file on the client
machine, where <replaceable>username</replaceable> is the
username of the user to bar from logging in. The line with
the blocked user must be before the <literal>+</literal> line
for allowing NIS users. This should preferably be done using
<command>vipw</command>, since <command>vipw</command> will
sanity check the changes to
<filename>/etc/master.passwd</filename>, as well as
automatically rebuild the password database after editing.
For example, to bar user <username>bill</username> from
logging on to <hostid>basie</hostid>:</para>
<screen>basie&prompt.root; <userinput>vipw</userinput>
<userinput>[add -bill::::::::: to the end, exit]</userinput>
vipw: rebuilding the database...
vipw: done
basie&prompt.root; <userinput>cat /etc/master.passwd</userinput>
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 &amp;:/:/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&prompt.root;</screen>
</sect2>
<sect2 id="network-netgroups">
<sect2info>
<authorgroup>
<author>
<firstname>Udo</firstname>
<surname>Erdelhoff</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect2info>
<title>Using Netgroups</title>
<indexterm><primary>netgroups</primary></indexterm>
<para>The method shown in the previous section works reasonably
well for special rules in an environment with small numbers of
users and/or machines. On larger networks, administrators
<emphasis>will</emphasis> likely forget to bar some users from
logging onto sensitive machines, or may even have to modify
each machine separately, thus losing the main benefit of NIS:
<emphasis>centralized</emphasis> administration.</para>
<para>The NIS developers' solution for this problem is called
<emphasis>netgroups</emphasis>. Their purpose and semantics
can be compared to the normal groups used by &unix; file
systems. The main differences are the lack of a numeric ID
and the ability to define a netgroup by including both user
accounts and other netgroups.</para>
<para>Netgroups were developed to handle large, complex networks
with hundreds of users and machines. On one hand, this is a
Good Thing in such a situation. On the other hand, this
complexity makes it almost impossible to explain netgroups
with really simple examples. The example used in the
remainder of this section demonstrates this problem.</para>
<para>Let us assume that the successful introduction of NIS in
the laboratory caught a superiors' interest. The next task is
to extend the NIS domain to cover some of the other machines
on campus. The two tables contain the names of the new users
and new machines as well as brief descriptions of them.</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>User Name(s)</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><username>alpha</username>,
<username>beta</username></entry>
<entry>Normal employees of the IT department</entry>
</row>
<row>
<entry><username>charlie</username>,
<username>delta</username></entry>
<entry>The new apprentices of the IT department</entry>
</row>
<row>
<entry><username>echo</username>,
<username>foxtrott</username>,
<username>golf</username>, ...</entry>
<entry>Ordinary employees</entry>
</row>
<row>
<entry><username>able</username>,
<username>baker</username>, ...</entry>
<entry>The current interns</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Machine Name(s)</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<!-- Names taken from "Good Omens" by Neil Gaiman and Terry
Pratchett. Many thanks for a brilliant book. -->
<entry><hostid>war</hostid>,
<hostid>death</hostid>, <hostid>famine</hostid>,
<hostid>pollution</hostid></entry>
<entry>The most important servers deployed. Only the IT
employees are allowed to log onto these
machines.</entry>
</row>
<row>
<!-- gluttony was omitted because it was too fat -->
<entry><hostid>pride</hostid>, <hostid>greed</hostid>,
<hostid>envy</hostid>, <hostid>wrath</hostid>,
<hostid>lust</hostid>, <hostid>sloth</hostid></entry>
<entry>Less important servers. All members of the IT
department are allowed to login onto these
machines.</entry>
</row>
<row>
<entry><hostid>one</hostid>, <hostid>two</hostid>,
<hostid>three</hostid>, <hostid>four</hostid>,
...</entry>
<entry>Ordinary workstations. Only the
<emphasis>real</emphasis> employees are allowed to use
these machines.</entry>
</row>
<row>
<entry><hostid>trashcan</hostid></entry>
<entry>A very old machine without any critical data.
Even the intern is allowed to use this box.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>An attempt to implement these restrictions by separately
blocking each user, would require the addition of the
<literal>-<replaceable>user</replaceable></literal> line to
each system's <filename>passwd</filename>. One line for each
user who is not allowed to login onto that system. Forgetting
just one entry could cause significant trouble. It may be
feasible to do this correctly during the initial setup;
however, eventually someone will forget to add these lines for
new users.</para>
<para>Handling this situation with netgroups offers several
advantages. Each user need not be handled separately; they
would be assigned to one or more netgroups and logins would be
allowed or forbidden for all members of the netgroup. While
adding a new machine, login restrictions must be defined for
all netgroups. If a new user is added, they must be added to
one or more netgroups. Those changes are independent of each
other: no more
<quote>for each combination of user and machine do...</quote>
If the NIS setup is planned carefully, only one central
configuration file needs modification to grant or deny access
to machines.</para>
<para>The first step is the initialization of the NIS map
netgroup. &os;'s &man.ypinit.8; does not create this map by
default, but its NIS implementation will support it after
creation. To create an empty map, simply type</para>
<screen>ellington&prompt.root; <userinput>vi /var/yp/netgroup</userinput></screen>
<para>and begin adding content. For our example, we need at
least four netgroups: IT employees, IT apprentices, normal
employees and interns.</para>
<programlisting>IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
USERS (,echo,test-domain) (,foxtrott,test-domain) \
(,golf,test-domain)
INTERNS (,able,test-domain) (,baker,test-domain)</programlisting>
<para><literal>IT_EMP</literal>, <literal>IT_APP</literal> etc.
are the names of the netgroups. Each bracketed group adds
one or more user accounts to it. The three fields inside a
group are:</para>
<orderedlist>
<listitem>
<para>The name of the host(s) where the following items are
valid. If a hostname is not specified, the entry is valid
on all hosts. If a hostname is specified, it will need to
be micro-managed within this configuration.</para>
</listitem>
<listitem>
<para>The name of the account that belongs to this
netgroup.</para>
</listitem>
<listitem>
<para>The NIS domain for the account. Accounts may be
imported from other NIS domains into a netgroup.</para>
</listitem>
</orderedlist>
<para>Each of these fields may contain wildcards. See
&man.netgroup.5; for details.</para>
<note>
<indexterm><primary>netgroups</primary></indexterm>
<para>Netgroup names longer than 8 characters should not be
used, especially with machines running other operating
systems within the NIS domain. The names are case
sensitive; using capital letters for netgroup names is an
easy way to distinguish between user, machine and netgroup
names.</para>
<para>Some NIS clients (other than &os;) cannot handle
netgroups with a large number of entries. For example, some
older versions of &sunos; start to cause trouble if a
netgroup contains more than 15 <emphasis>entries</emphasis>.
This limit may be circumvented by creating several
sub-netgroups with 15 users or fewer and a real netgroup
consisting of the sub-netgroups:</para>
<programlisting>BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]
BIGGRP2 (,joe16,domain) (,joe17,domain) [...]
BIGGRP3 (,joe31,domain) (,joe32,domain)
BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3</programlisting>
<para>Repeat this process if more than 225 users will exist
within a single netgroup.</para>
</note>
<para>Activating and distributing the new NIS map is
easy:</para>
<screen>ellington&prompt.root; <userinput>cd /var/yp</userinput>
ellington&prompt.root; <userinput>make</userinput></screen>
<para>This will generate the three NIS maps
<filename>netgroup</filename>,
<filename>netgroup.byhost</filename> and
<filename>netgroup.byuser</filename>. Use &man.ypcat.1; to
check if the new NIS maps are available:</para>
<screen>ellington&prompt.user; <userinput>ypcat -k netgroup</userinput>
ellington&prompt.user; <userinput>ypcat -k netgroup.byhost</userinput>
ellington&prompt.user; <userinput>ypcat -k netgroup.byuser</userinput></screen>
<para>The output of the first command should resemble the
contents of <filename>/var/yp/netgroup</filename>. The second
command will not produce output without specified
host-specific netgroups. The third command may be used to get
the list of netgroups for a user.</para>
<para>The client setup is quite simple. To configure the server
<hostid>war</hostid>, use &man.vipw.8; to replace the
line</para>
<programlisting>+:::::::::</programlisting>
<para>with</para>
<programlisting>+@IT_EMP:::::::::</programlisting>
<para>Now, only the data for the users defined in the netgroup
<literal>IT_EMP</literal> is imported into
<hostid>war</hostid>'s password database and only these users
are allowed to login.</para>
<para>Unfortunately, this limitation also applies to the
<literal>~</literal> function of the shell and all routines
converting between user names and numerical user IDs. In
other words,
<command>cd ~<replaceable>user</replaceable></command> will
not work, <command>ls -l</command> will show the numerical ID
instead of the username and
<command>find . -user joe -print</command> will fail with
<errorname>No such user</errorname>. To fix this, import all
user entries <emphasis>without allowing them to login into the
servers</emphasis>.</para>
<para>This can be achieved by adding another line to
<filename>/etc/master.passwd</filename>. This line should
contain:</para>
<para><literal>+:::::::::/sbin/nologin</literal>, meaning
<quote>Import all entries but replace the shell with
<filename>/sbin/nologin</filename> in the imported
entries</quote>. It is possible to replace any field in the
<literal>passwd</literal> entry by placing a default value in
<filename>/etc/master.passwd</filename>.</para>
<!-- Been there, done that, got the scars to prove it - ue -->
<warning>
<para>Make sure that the line
<literal>+:::::::::/sbin/nologin</literal> is placed after
<literal>+@IT_EMP:::::::::</literal>. Otherwise, all user
accounts imported from NIS will have
<filename>/sbin/nologin</filename> as their login
shell.</para>
</warning>
<para>After this change, the NIS map will only need modification
when a new employee joins the IT department. A similar
approach for the less important servers may be used by
replacing the old <literal>+:::::::::</literal> in their local
version of <filename>/etc/master.passwd</filename> with
something like this:</para>
<programlisting>+@IT_EMP:::::::::
+@IT_APP:::::::::
+:::::::::/sbin/nologin</programlisting>
<para>The corresponding lines for the normal workstations
could be:</para>
<programlisting>+@IT_EMP:::::::::
+@USERS:::::::::
+:::::::::/sbin/nologin</programlisting>
<para>And everything would be fine until there is a policy
change a few weeks later: The IT department starts hiring
interns. The IT interns are allowed to use the normal
workstations and the less important servers; and the IT
apprentices are allowed to login onto the main servers. Add a
new netgroup <literal>IT_INTERN</literal>, then add the new IT
interns to this netgroup and start to change the configuration
on each and every machine. As the old saying goes:
<quote>Errors in centralized planning lead to global
mess</quote>.</para>
<para>NIS' ability to create netgroups from other netgroups can
be used to prevent situations like these. One possibility is
the creation of role-based netgroups. For example, one might
create a netgroup called <literal>BIGSRV</literal> to define
the login restrictions for the important servers, another
netgroup called <literal>SMALLSRV</literal> for the less
important servers and a third netgroup called
<literal>USERBOX</literal> for the normal workstations. Each
of these netgroups contains the netgroups that are allowed to
login onto these machines. The new entries for the NIS map
netgroup should look like this:</para>
<programlisting>BIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
USERBOX IT_EMP ITINTERN USERS</programlisting>
<para>This method of defining login restrictions works
reasonably well when it is possible to define groups of
machines with identical restrictions. Unfortunately, this is
the exception and not the rule. Most of the time, the ability
to define login restrictions on a per-machine basis is
required.</para>
<para>Machine-specific netgroup definitions are the other
possibility to deal with the policy change outlined above. In
this scenario, the <filename>/etc/master.passwd</filename> of
each box contains two lines starting with <quote>+</quote>.
The first of them adds a netgroup with the accounts allowed to
login onto this machine, the second one adds all other
accounts with <filename>/sbin/nologin</filename> as shell. It
is a good idea to use the <quote>ALL-CAPS</quote> version of
the machine name as the name of the netgroup. In other words,
the lines should look like this:</para>
<programlisting>+@<replaceable>BOXNAME</replaceable>:::::::::
+:::::::::/sbin/nologin</programlisting>
<para>Once this task is completed on all the machines, there is
no longer a need to modify the local versions of
<filename>/etc/master.passwd</filename> ever again. All
further changes can be handled by modifying the NIS map. Here
is an example of a possible netgroup map for this scenario
with some additional goodies:</para>
<programlisting># Define groups of users first
IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
DEPT1 (,echo,test-domain) (,foxtrott,test-domain)
DEPT2 (,golf,test-domain) (,hotel,test-domain)
DEPT3 (,india,test-domain) (,juliet,test-domain)
ITINTERN (,kilo,test-domain) (,lima,test-domain)
D_INTERNS (,able,test-domain) (,baker,test-domain)
#
# Now, define some groups based on roles
USERS DEPT1 DEPT2 DEPT3
BIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
USERBOX IT_EMP ITINTERN USERS
#
# And a groups for a special tasks
# Allow echo and golf to access our anti-virus-machine
SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain)
#
# machine-based netgroups
# Our main servers
WAR BIGSRV
FAMINE BIGSRV
# User india needs access to this server
POLLUTION BIGSRV (,india,test-domain)
#
# This one is really important and needs more access restrictions
DEATH IT_EMP
#
# The anti-virus-machine mentioned above
ONE SECURITY
#
# Restrict a machine to a single user
TWO (,hotel,test-domain)
# [...more groups to follow]</programlisting>
<para>If some kind of database is used to manage the user
accounts, it may be possible to create the first part of the
map using the database's reporting tools. This way, new users
will automatically have access to the boxes.</para>
<para>One last word of caution: It may not always be advisable
to use machine-based netgroups. When deploying a couple of
dozen or even hundreds of identical machines for student labs,
role-based netgroups instead of machine-based netgroups may be
used to keep the size of the NIS map within reasonable
limits.</para>
</sect2>
<sect2>
<title>Important Things to Remember</title>
<para>There are still a couple of things administrators need to
do differently now that machines are in an NIS
environment.</para>
<itemizedlist>
<listitem>
<para>Every time a new user is added to the lab, they must
be added to the master NIS server and the
<acronym>NIS</acronym> maps will need rebuilt. If this
step is omitted, the new user will not be able to login
anywhere except on the NIS master. For example, if we
needed to add a new user <username>jsmith</username> to
the lab, we would:</para>
<screen>&prompt.root; <userinput>pw useradd jsmith</userinput>
&prompt.root; <userinput>cd /var/yp</userinput>
&prompt.root; <userinput>make test-domain</userinput></screen>
<para>The user may also be added using
<command>adduser jsmith</command>
instead of <command>pw useradd jsmith</command>.</para>
</listitem>
<listitem>
<para><emphasis>Keep the administration accounts out of the
NIS maps</emphasis>. This is undesirable as it will
create a security risk. These users and passwords should
not be propagated to all machines. Especially if these
machines will have users whom should not have access to
those accounts.</para>
</listitem>
<listitem>
<para><emphasis>Keep the NIS master and slave secure, and
minimize their downtime</emphasis>. If somebody either
hacks or simply turns off these machines, they have
effectively rendered many people without the ability to
login to the lab.</para>
<para>This is the chief weakness of any centralized
administration system. If the NIS servers are not
protected, there will be a lot of angry users and
unhappy management!</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>NIS v1 Compatibility</title>
<para>&os;'s <application>ypserv</application> has some support
for serving NIS v1 clients. &os;'s NIS implementation only
uses the NIS v2 protocol; however, other implementations
include support for the v1 protocol for backwards
compatibility with older systems. The
<application>ypbind</application> daemons supplied with these
systems will attempt to establish a binding to an NIS v1
server even though they may never actually need it (and they
may persist in broadcasting in search of one even after they
receive a response from a v2 server). Note that while support
for normal client calls is provided, this version of
<application>ypserv</application> does not handle v1 map
transfer requests. Additionally, it cannot be used as a
master or slave in conjunction with older NIS servers that
only support the v1 protocol. Fortunately, there probably are
not any such servers still in use today.</para>
</sect2>
<sect2 id="network-nis-server-is-client">
<title>NIS Servers That Are Also NIS Clients</title>
<para>Care must be taken when running
<application>ypserv</application> in a multi-server domain
where the server machines are also NIS clients. It is
generally a good idea to force the servers to bind to
themselves rather than allowing them to broadcast bind
requests and possibly become bound to each other. Strange
failure modes can result if one server goes down and others
are dependent upon it. Eventually all the clients will time
out and attempt to bind to other servers, but the delay
involved can be considerable and the failure mode is still
present since the servers might bind to each other all over
again.</para>
<para>A host may be forced to bind to a particular server by
running <command>ypbind</command> with the <option>-S</option>
flag. Add the following lines to
<filename>/etc/rc.conf</filename> to enable this feature
during every system boot:</para>
<programlisting>nis_client_enable="YES" # run client stuff as well
nis_client_flags="-S <replaceable>NIS domain</replaceable>,<replaceable>server</replaceable>"</programlisting>
<para>See &man.ypbind.8; for further information.</para>
</sect2>
<sect2>
<title>Password Formats</title>
<indexterm>
<primary>NIS</primary>
<secondary>password formats</secondary>
</indexterm>
<para>One of the most common issues that people run into when
trying to implement NIS is password format compatibility. If
the NIS server is using DES encrypted passwords, it will only
support clients that are also using DES. For example, if any
&solaris; NIS clients exist on the network, there is a highly
likelihood DES must be used for encrypted passwords.</para>
<para>To check which format the servers and clients are using,
look at <filename>/etc/login.conf</filename>. If the host is
configured to use DES encrypted passwords, then the
<literal>default</literal> class will contain an entry like
this:</para>
<programlisting>default:\
:passwd_format=des:\
:copyright=/etc/COPYRIGHT:\
[Further entries elided]</programlisting>
<para>Other possible values for the
<literal>passwd_format</literal> capability include
<literal>blf</literal> and <literal>md5</literal> (for
Blowfish and MD5 encrypted passwords, respectively).</para>
<para>If any changes were made to
- <filename>/etc/login.conf</filename>, the
- login capability database must be rebuilt by
- running the following command as
+ <filename>/etc/login.conf</filename>, the login capability
+ database must be rebuilt by running the following command as
<username>root</username>:</para>
<screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen>
<note>
<para>The format of passwords already in
<filename>/etc/master.passwd</filename> will not be updated
until a user changes his password for the first time
<emphasis>after</emphasis> the login capability database is
rebuilt.</para>
</note>
<para>Next, in order to ensure that passwords are encrypted with
the chosen format, check that the
<literal>crypt_default</literal> in
<filename>/etc/auth.conf</filename> gives precedence to the
chosen password format. To do this, place the chosen format
first in the list. For example, when using DES encrypted
passwords, the entry would be:</para>
<programlisting>crypt_default = des blf md5</programlisting>
<para>Having followed the above steps on each of the &os; based
NIS servers and clients, verify that they all agree on which
password format is used within the network. If users have
trouble authenticating on an NIS client, this is a pretty good
place to start looking for possible problems. Remember: to
deploy an NIS server for a heterogeneous network, they will
probably have to use DES on all systems because it is the
lowest common standard.</para>
</sect2>
</sect1>
<sect1 id="network-ldap">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
</sect1info>
<title>&os; and <acronym>LDAP</acronym></title>
<indexterm><primary>LDAP</primary></indexterm>
<para><acronym>LDAP</acronym>, the Lightweight Directory Access
Protocol, is an application layer protocol used to access,
modify, and authenticate (bind) using a distributed directory
information service. Think of it as a phone or record book
which stores several levels of hierarchical, homogeneous
information. It is often used in networks where users often
need access to several levels of internal information utilizing
a single account. For example, email authentication, pulling
employee contact information, and internal website
authentication might all make use of a single user in the
<acronym>LDAP</acronym> server's record base.</para>
<para>This section will not provide a history or the
implementation details of the protocol. These sections were
authored to get an <acronym>LDAP</acronym> server and/or client
configured both quickly and securely; however, any information
base requires planning and this is no exception.</para>
<para>Planning should include what type of information will be
stored, what that information will be used for, whom should
have access to said information, and how to secure this
information from prying eyes.</para>
<sect2>
<title><acronym>LDAP</acronym> Terminology and Structure</title>
<para>Before continuing, several parts of
<acronym>LDAP</acronym> must be explained to prevent
confusion. And confusion with this configuration is
relatively simple. To begin, all directory entries consist of
a group of <emphasis>attributes</emphasis>. Each of these
attribute sets contain a name, a unique identifier known as a
<acronym>DN</acronym> or distinguished name normally built
from several other attributes such as the
<acronym>RDN</acronym>. The <acronym>RDN</acronym> or
relative distinguished name, is a more common name for the
attribute. Like directories have absolute and relative paths,
consider a <acronym>DN</acronym> as an absolute path and the
<acronym>RDN</acronym> as the relative path.</para>
<para>As an example, an entry might look like the
following:</para>
<screen>&prompt.user; ldapsearch -xb "uid=trhodes,ou=users,o=example.com"</screen>
<programlisting># extended LDIF
#
# LDAPv3
# base &lt;uid=trhodes,ou=users,o=example.com&gt; with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# trhodes, users, example.com
dn: uid=trhodes,ou=users,o=example.com
mail: trhodes@example.com
cn: Tom Rhodes
uid: trhodes
telephoneNumber: (xxx) xxx-xxxx
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1</programlisting>
<para>In this example, it is very obvious what the various
attributes are; however, the <acronym>cn</acronym> attribute
should be noticed. This is the <acronym>RDN</acronym>
discussed previously. In addition, there is a unique user id
provided here. It is common practice to have specific uid or
uuids for entries to ease in any future migration.</para>
</sect2>
<sect2>
<title>Configuring an <acronym>LDAP</acronym> Server</title>
<indexterm><primary>LDAP Server</primary></indexterm>
<para>To configure &os; to act as an <acronym>LDAP</acronym>
server, the OpenLDAP port needs installed. This may be
accomplished using the <command>pkg_add</command> command
or by installing the
<filename role="port">net/openldap24-server</filename>
port. Building the port is recommended as the administrator
may select a great deal of options at this time and disable
some options. In most cases, the defaults will be fine;
however, this is the time to enable SQL support if
needed.</para>
<para>A few directories will be required from this point on,
at minimal, a data directory and a directory to store the
certificates in. Create them both with the following
commands:</para>
<screen>&prompt.root; <userinput>mkdir /var/db/openldap-data</userinput></screen>
<screen>&prompt.root; <userinput>mkdir /usr/local/etc/openldap/private</userinput></screen>
<para>Copy over the database configuration file:</para>
<screen>&prompt.root; <userinput>cp /usr/local/etc/openldap/DB_CONFIG.example /var/db/openldap-data/DB_CONFIG</userinput></screen>
<para>The next phase is to configure the <acronym>SSL</acronym>
certificates. While creating certificates is discussed in
the <link linkend="openssl">OpenSSL</link> section in this
book, a certificate authority is needed so a different method
will be used. It is recommended that this section be reviewed
prior to configuring to ensure correct information is entered
during the certificate creation process below.</para>
<para>The following commands must be executed in the
- <filename class="directory">
- /usr/local/etc/openldap/private</filename> directory. This
- is important as the file permissions will need to be
- restrictive and users should not have access to these files
- directly. To create the certificates, issues the following
- commands.</para>
+ <filename
+ class="directory">/usr/local/etc/openldap/private</filename>
+ directory. This is important as the file permissions will
+ need to be restrictive and users should not have access to
+ these files directly. To create the certificates, issues the
+ following commands.</para>
<screen>&prompt.root; <userinput>openssl req -days 365 -nodes -new -x509 -keyout ca.key -out ../ca.crt</userinput></screen>
<para>The entries for these may be completely generic
<emphasis>except</emphasis> for the
<emphasis>Common Name</emphasis> entry. This entry must have
something different than the system hostname. If the entry
is the hostname, it would be like the hostname is attempting
to verify hostname. In cases with a self signed certificate
like this example, just prefix the hostname with
<acronym>CA</acronym> for certificate authority.</para>
<para>The next task is to create a certificate signing request
and a private key. To do this, issue the following
commands:</para>
<screen>&prompt.root; <userinput>openssl req -days 365 -nodes -new -keyout server.key -out server.csr</userinput></screen>
<para>During the certificate generation process, be sure to
correctly set the common name attribute. After this has
been completed, the key will need signed:</para>
<screen>&prompt.root; <userinput>openssl x509 -req -days 365 -in server.csr -out ../server.crt -CA ../ca.crt -CAkey ca.key -CAcreateserial</userinput></screen>
<para>The final part of the certificate generation process
is to generate and sign the client certificates:</para>
<screen>&prompt.root; <userinput>openssl req -days 365 -nodes -new -keyout client.key -out client.csr</userinput></screen>
<screen>&prompt.root; <userinput>openssl x509 -req -days 3650 -in client.csr -out ../client.crt -CA ../ca.crt -CAkey ca.key</userinput></screen>
<para>Remember, again, to respect the common name attribute.
This is a common cause for confusion during the first attempt
to configure <acronym>LDAP</acronym>. In addition, ensure
that a total of eight (8) new files have been generated
through the proceeding commands. If so, the next step is to
edit <filename>/usr/local/etc/openldap/slapd.conf</filename>
and add the following options:</para>
<programlisting>TLSCipherSuite HIGH:MEDIUM:+SSLv3
TLSCertificateFile /usr/local/etc/openldap/server.crt
TLSCertificateKeyFile /usr/local/etc/openldap/private/server.key
TLSCACertificateFile /usr/local/etc/openldap/ca.crt</programlisting>
<para>In addition, edit
<filename>/usr/local/etc/openldap/ldap.conf</filename> and
add the following lines:</para>
<programlisting>TLS_CACERT /usr/local/etc/openldap/ca.crt
TLS_CIPHER_SUITE HIGH:MEDIUM:+SSLv3</programlisting>
<para>While editing these this file, set the
<option>BASE</option> to the desired values, and uncomment all
three of the <option>URI</option>, <option>SIZELIMIT</option>
and <option>TIMELIMIT</option> options. In addition, set the
<option>URI</option> to contain <option>ldap://</option> and
<option>ldaps://</option>.</para>
<para>The resulting file should look similar to the following
shown here:</para>
<programlisting>BASE dc=example,dc=com
URI ldap:// ldaps://
SIZELIMIT 12
TIMELIMIT 15
#DEREF never
TLS_CACERT /usr/local/etc/openldap/ca.crt
TLS_CIPHER_SUITE HIGH:MEDIUM:+SSLv3</programlisting>
<para>A password for the server will need to be created as the
default is extremely poor as is normal in this industry. To
do this, issue the following command, sending the output to
<filename>slapd.conf</filename>:</para>
<screen>&prompt.root; <userinput>slappasswd -h "{SHA}" &gt;&gt; /usr/local/etc/openldap/slapd.conf</userinput></screen>
<para>There will be a prompt for entering the password and,
if the process does not fail, a password hash will be added
to the end of <filename>slapd.conf</filename>. The
<command>slappasswd</command> understands several hashing
formats, refer to the manual page for more information.</para>
<para>Edit
<filename>/usr/local/etc/openldap/slapd.conf</filename> and
add the following lines:</para>
<programlisting>password-hash {sha}
allow bind_v2</programlisting>
<para>In addition, the <option>suffix</option> in this file must
be updated to match the <option>BASE</option> from the
previous configuration. The <option>rootdn</option> option
should also be set. A good recommendation is something like
<option>cn=Manager</option>. Before saving this file, place
the <option>rootpw</option> option in front of the password
output from the <command>slappasswd</command> and delete the
old <option>rootpw</option> option above. The end result
should look similar to this:</para>
<programlisting>TLSCipherSuite HIGH:MEDIUM:+SSLv3
TLSCertificateFile /usr/local/etc/openldap/server.crt
TLSCertificateKeyFile /usr/local/etc/openldap/private/server.key
TLSCACertificateFile /usr/local/etc/openldap/ca.crt
rootpw {SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=</programlisting>
<para>Finally, enable the <application>OpenLDAP</application>
service in <filename>rc.conf</filename>. At this time,
setting up a <acronym>URI</acronym> and providing the group
and user to run as may be useful. Edit
<filename>/etc/rc.conf</filename> and add the following
lines:</para>
<programlisting>slapd_enable="YES"
slapd_flags="-4 -h ldaps:///"</programlisting>
<para>At this point the server should be ready to be brought
up and tested. To perform this task, issue the following
command:</para>
<screen>&prompt.root; <userinput>service slapd start</userinput></screen>
<para>If everything was configured correctly, a search of the
directory should show a successful connection with a single
response as in this example:</para>
<screen>&prompt.root; <userinput>ldapsearch -Z</userinput></screen>
<programlisting># extended LDIF
#
# LDAPv3
# base &lt;dc=example,dc=com&gt; (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# search result
search: 3
result: 32 No such object
# numResponses: 1</programlisting>
<para>Considering the service should now be responding, as it
is above, the directory may be populated using the
<command>ldapadd</command> command. In this example, there
is a file containing a list of users to be added to this
particular directory. First, create a file to be imported
with the following dataset:</para>
<programlisting>dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: Example
dc: Example
dn: cn=Manager,dc=example,dc=com
objectclass: organizationalRole
cn: Manager</programlisting>
<note>
<para>To debug any of the following, stop the
<command>slapd</command> service using the
<command>service</command> command and start it using with
debugging options. To accomplish this, issue the following
command:</para>
<screen>&prompt.root; <userinput>/usr/local/libexec/slapd -d -1</userinput></screen>
</note>
<para>To import this datafile, issue the following command,
assuming the file is <filename>import.ldif</filename>:</para>
<screen>&prompt.root; <userinput>ldapadd -Z -D "cn=Manager,dc=example,dc=com" -W -f <replaceable>import.ldif</replaceable></userinput></screen>
<para>There will be a request for the password specified
earlier, and the output should look like this:</para>
<screen>Enter LDAP Password:
adding new entry "dc=example,dc=com"
adding new entry "cn=Manager,dc=example,dc=com"</screen>
<para>Verify the data was added by issuing a search on the
server using <command>ldapsearch</command>. In this case
the output should look like this:</para>
<screen>&prompt.user; <userinput>ldapsearch -Z</userinput></screen>
<screen># extended LDIF
#
# LDAPv3
# base &lt;dc=example,dc=com&gt; (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# example.com
dn: dc=example,dc=com
objectClass: dcObject
objectClass: organization
o: Example
dc: Example
# Manager, example.com
dn: cn=Manager,dc=example,dc=com
objectClass: organizationalRole
cn: Manager
# search result
search: 3
result: 0 Success
# numResponses: 3
# numEntries: 2</screen>
<para>It is of course advisable to read about the structure of
<acronym>LDAP</acronym> directories and the various manual
pages mentioned in this section. At this point, the server
should be configured and functioning properly.</para>
</sect2>
</sect1>
<sect1 id="network-dhcp">
<sect1info>
<authorgroup>
<author>
<firstname>Greg</firstname>
<surname>Sutter</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Automatic Network Configuration (DHCP)</title>
<sect2>
<title>What Is DHCP?</title>
<indexterm>
<primary>Dynamic Host Configuration Protocol</primary>
<see>DHCP</see>
</indexterm>
<indexterm>
<primary>Internet Systems Consortium (ISC)</primary>
</indexterm>
<para>DHCP, the Dynamic Host Configuration Protocol, describes
the means by which a system can connect to a network and
obtain the necessary information for communication upon that
network. FreeBSD uses the OpenBSD <command>dhclient</command>
taken from OpenBSD&nbsp;3.7. All information here regarding
<command>dhclient</command> is for use with either of the ISC
or OpenBSD DHCP clients. The DHCP server is the one included
in the ISC distribution.</para>
</sect2>
<sect2>
<title>What This Section Covers</title>
<para>This section describes both the client-side components of
the ISC and OpenBSD DHCP client and server-side components of
the ISC DHCP system. The client-side program,
<command>dhclient</command>, comes integrated within FreeBSD,
and the server-side portion is available from the <filename
role="package">net/isc-dhcp42-server</filename> port. The
&man.dhclient.8;, &man.dhcp-options.5;, and
&man.dhclient.conf.5; manual pages, in addition to the
references below, are useful resources.</para>
</sect2>
<sect2>
<title>How It Works</title>
<indexterm><primary>UDP</primary></indexterm>
<para>When <command>dhclient</command>, the DHCP client, is
executed on the client machine, it begins broadcasting
requests for configuration information. By default, these
requests are on UDP port 68. The server replies on UDP 67,
giving the client an IP address and other relevant network
information such as netmask, router, and DNS servers. All of
this information comes in the form of a DHCP
<quote>lease</quote> and is only valid for a certain time
(configured by the DHCP server maintainer). In this manner,
stale IP addresses for clients no longer connected to the
network can be automatically reclaimed.</para>
<para>DHCP clients can obtain a great deal of information from
the server. An exhaustive list may be found in
&man.dhcp-options.5;.</para>
</sect2>
<sect2>
<title>FreeBSD Integration</title>
<para>&os; fully integrates the OpenBSD DHCP client,
<command>dhclient</command>. DHCP client support is provided
within both the installer and the base system, obviating the
need for detailed knowledge of network configurations on any
network that runs a DHCP server.</para>
<indexterm>
<primary><application>sysinstall</application></primary>
</indexterm>
<para>DHCP is supported by
<application>sysinstall</application>. When configuring a
- network interface within
- <application>sysinstall</application>, the second question
- asked is: <quote>Do you want to try DHCP configuration of
- the interface?</quote>. Answering affirmatively will
- execute <command>dhclient</command>, and if successful, will
- fill in the network configuration information
- automatically.</para>
+ network interface within
+ <application>sysinstall</application>, the second question
+ asked is: <quote>Do you want to try DHCP configuration of the
+ interface?</quote>. Answering affirmatively will execute
+ <command>dhclient</command>, and if successful, will fill in
+ the network configuration information automatically.</para>
- <para>There are two things required to have the system use
- DHCP upon startup:</para>
- <indexterm>
- <primary>DHCP</primary>
- <secondary>requirements</secondary>
- </indexterm>
- <itemizedlist>
- <listitem>
- <para>Make sure that the <devicename>bpf</devicename>
- device is compiled into the kernel. To do this, add
- <literal>device bpf</literal> to the kernel
- configuration file, and rebuild the kernel. For more
- information about building kernels, see
- <xref linkend="kernelconfig"/>.</para>
+ <para>There are two things required to have the system use
+ DHCP upon startup:</para>
+ <indexterm>
+ <primary>DHCP</primary>
+ <secondary>requirements</secondary>
+ </indexterm>
+ <itemizedlist>
+ <listitem>
+ <para>Make sure that the <devicename>bpf</devicename> device
+ is compiled into the kernel. To do this, add
+ <literal>device bpf</literal> to the kernel configuration
+ file, and rebuild the kernel. For more information about
+ building kernels, see
+ <xref linkend="kernelconfig"/>.</para>
- <para>The <devicename>bpf</devicename> device is already
- part of the <filename>GENERIC</filename> kernel that is
- supplied with &os;, thus there is no need to build a
- custom kernel for <acronym>DHCP</acronym>. In the case
- of a custom kernel configuration file, this device must
- be present for <acronym>DHCP</acronym> to function
- properly.</para>
+ <para>The <devicename>bpf</devicename> device is already
+ part of the <filename>GENERIC</filename> kernel that is
+ supplied with &os;, thus there is no need to build a
+ custom kernel for <acronym>DHCP</acronym>. In the case of
+ a custom kernel configuration file, this device must be
+ present for <acronym>DHCP</acronym> to function
+ properly.</para>
- <note>
- <para>For those who are particularly security conscious,
- take note that <devicename>bpf</devicename>
- is also the device that allows packet sniffers to work
- correctly (although they still have to be run as
- <username>root</username>).
- <devicename>bpf</devicename> <emphasis>is</emphasis>
- required to use DHCP; however, the security sensitive
- types should probably not add
- <devicename>bpf</devicename> to the
- kernel in the expectation that at some point in the
- future the system will be using DHCP.</para>
- </note>
- </listitem>
+ <note>
+ <para>For those who are particularly security conscious,
+ take note that <devicename>bpf</devicename> is also the
+ device that allows packet sniffers to work correctly
+ (although they still have to be run as
+ <username>root</username>).
+ <devicename>bpf</devicename> <emphasis>is</emphasis>
+ required to use DHCP; however, the security sensitive
+ types should probably not add
+ <devicename>bpf</devicename> to the kernel in the
+ expectation that at some point in the future the system
+ will be using DHCP.</para>
+ </note>
+ </listitem>
- <listitem>
- <para>By default, DHCP configuration on &os; runs in the
- background, or <firstterm>asynchronously</firstterm>.
- Other startup scripts continue to run while DHCP
- completes, speeding up system startup.</para>
+ <listitem>
+ <para>By default, DHCP configuration on &os; runs in the
+ background, or <firstterm>asynchronously</firstterm>.
+ Other startup scripts continue to run while DHCP
+ completes, speeding up system startup.</para>
- <para>Background DHCP works well when the DHCP server
- responds quickly to requests and the DHCP configuration
- process goes quickly. However, DHCP may take a long
- time to complete on some systems. If network services
- attempt to run before DHCP has completed, they will
- fail. Using DHCP in <firstterm>synchronous</firstterm>
- mode prevents the problem, pausing startup until DHCP
- configuration has completed.</para>
+ <para>Background DHCP works well when the DHCP server
+ responds quickly to requests and the DHCP configuration
+ process goes quickly. However, DHCP may take a long time
+ to complete on some systems. If network services attempt
+ to run before DHCP has completed, they will fail. Using
+ DHCP in <firstterm>synchronous</firstterm> mode prevents
+ the problem, pausing startup until DHCP configuration has
+ completed.</para>
- <para>To connect to a DHCP server in the background while
- other startup continues (asynchronous mode), use the
- <quote><literal>DHCP</literal></quote> value in
- <filename>/etc/rc.conf</filename>:</para>
+ <para>To connect to a DHCP server in the background while
+ other startup continues (asynchronous mode), use the
+ <quote><literal>DHCP</literal></quote> value in
+ <filename>/etc/rc.conf</filename>:</para>
- <programlisting>ifconfig_<replaceable>fxp0</replaceable>="DHCP"</programlisting>
+ <programlisting>ifconfig_<replaceable>fxp0</replaceable>="DHCP"</programlisting>
- <para>To pause startup while DHCP completes, use
- synchronous mode with the
- <quote><literal>SYNCDHCP</literal></quote> value:</para>
+ <para>To pause startup while DHCP completes, use
+ synchronous mode with the
+ <quote><literal>SYNCDHCP</literal></quote> value:</para>
- <programlisting>ifconfig_<replaceable>fxp0</replaceable>="SYNCDHCP"</programlisting>
+ <programlisting>ifconfig_<replaceable>fxp0</replaceable>="SYNCDHCP"</programlisting>
- <note>
- <para>Replace the <replaceable>fxp0</replaceable> shown
- in these examples with the name of the interface to be
- dynamically configured, as described in
- <xref linkend="config-network-setup"/>.</para>
- </note>
+ <note>
+ <para>Replace the <replaceable>fxp0</replaceable> shown
+ in these examples with the name of the interface to be
+ dynamically configured, as described in
+ <xref linkend="config-network-setup"/>.</para>
+ </note>
- <para>When using a different file system location for
- <command>dhclient</command>, or if
- additional flags must be passed to
- <command>dhclient</command>,
- include (editing as necessary):</para>
+ <para>When using a different file system location for
+ <command>dhclient</command>, or if additional flags must
+ be passed to <command>dhclient</command>, include (editing
+ as necessary):</para>
- <programlisting>dhclient_program="/sbin/dhclient"
+ <programlisting>dhclient_program="/sbin/dhclient"
dhclient_flags=""</programlisting>
- </listitem>
- </itemizedlist>
+ </listitem>
+ </itemizedlist>
- <indexterm>
- <primary>DHCP</primary>
- <secondary>server</secondary>
- </indexterm>
- <para>The DHCP server, <application>dhcpd</application>, is
- included as part of the
- <filename role="package">net/isc-dhcp42-server</filename>
- port in the ports collection. This port contains the ISC
- DHCP server and documentation.</para>
- </sect2>
+ <indexterm>
+ <primary>DHCP</primary>
+ <secondary>server</secondary>
+ </indexterm>
+ <para>The DHCP server, <application>dhcpd</application>, is
+ included as part of the
+ <filename role="package">net/isc-dhcp42-server</filename> port
+ in the ports collection. This port contains the ISC DHCP
+ server and documentation.</para>
+ </sect2>
- <sect2>
- <title>Files</title>
+ <sect2>
+ <title>Files</title>
- <indexterm>
- <primary>DHCP</primary>
- <secondary>configuration files</secondary>
- </indexterm>
- <itemizedlist>
- <listitem>
- <para><filename>/etc/dhclient.conf</filename></para>
- <para><command>dhclient</command> requires a configuration
- file, <filename>/etc/dhclient.conf</filename>.
- Typically the file contains only comments, the defaults
- being reasonably sane. This configuration file is
- described by the &man.dhclient.conf.5; manual
- page.</para>
- </listitem>
+ <indexterm>
+ <primary>DHCP</primary>
+ <secondary>configuration files</secondary>
+ </indexterm>
+ <itemizedlist>
+ <listitem>
+ <para><filename>/etc/dhclient.conf</filename></para>
- <listitem>
- <para><filename>/sbin/dhclient</filename></para>
- <para><command>dhclient</command> is statically linked and
- resides in <filename>/sbin</filename>. The
- &man.dhclient.8; manual page gives more information
- about <command>dhclient</command>.</para>
- </listitem>
+ <para><command>dhclient</command> requires a configuration
+ file, <filename>/etc/dhclient.conf</filename>. Typically
+ the file contains only comments, the defaults being
+ reasonably sane. This configuration file is described by
+ the &man.dhclient.conf.5; manual page.</para>
+ </listitem>
- <listitem>
- <para><filename>/sbin/dhclient-script</filename></para>
- <para><command>dhclient-script</command> is the
- FreeBSD-specific DHCP client configuration script. It
- is described in &man.dhclient-script.8;, but should not
- need any user modification to function properly.</para>
- </listitem>
+ <listitem>
+ <para><filename>/sbin/dhclient</filename></para>
- <listitem>
- <para><filename>/var/db/dhclient.leases.<replaceable>interface</replaceable></filename></para>
- <para>The DHCP client keeps a database of valid leases
- in this file, which is written as a log.
- &man.dhclient.leases.5; gives a slightly longer
- description.</para>
- </listitem>
- </itemizedlist>
- </sect2>
+ <para><command>dhclient</command> is statically linked and
+ resides in <filename>/sbin</filename>. The
+ &man.dhclient.8; manual page gives more information about
+ <command>dhclient</command>.</para>
+ </listitem>
- <sect2>
- <title>Further Reading</title>
+ <listitem>
+ <para><filename>/sbin/dhclient-script</filename></para>
- <para>The DHCP protocol is fully described in <ulink
- url="http://www.freesoft.org/CIE/RFC/2131/">RFC
- 2131</ulink>. An informational resource has also been set
- up at <ulink url="http://www.dhcp.org/"></ulink>.</para>
- </sect2>
+ <para><command>dhclient-script</command> is the
+ FreeBSD-specific DHCP client configuration script. It
+ is described in &man.dhclient-script.8;, but should not
+ need any user modification to function properly.</para>
+ </listitem>
- <sect2 id="network-dhcp-server">
- <title>Installing and Configuring a DHCP Server</title>
+ <listitem>
+ <para><filename>/var/db/dhclient.leases.<replaceable>interface</replaceable></filename></para>
- <sect3>
- <title>What This Section Covers</title>
+ <para>The DHCP client keeps a database of valid leases in
+ this file, which is written as a log.
+ &man.dhclient.leases.5; gives a slightly longer
+ description.</para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
- <para>This section provides information on how to configure
- a FreeBSD system to act as a DHCP server using the ISC
- (Internet Systems Consortium) implementation of the DHCP
- server.</para>
+ <sect2>
+ <title>Further Reading</title>
- <para>The server is not provided as part of &os;, and so the
- <filename role="package">net/isc-dhcp42-server</filename>
- port must be installed to provide this service. See
- <xref linkend="ports"/> for more information on using the
- Ports Collection.</para>
- </sect3>
+ <para>The DHCP protocol is fully described in
+ <ulink url="http://www.freesoft.org/CIE/RFC/2131/">RFC
+ 2131</ulink>. An informational resource has also been set
+ up at <ulink url="http://www.dhcp.org/"></ulink>.</para>
+ </sect2>
- <sect3>
- <title>DHCP Server Installation</title>
+ <sect2 id="network-dhcp-server">
+ <title>Installing and Configuring a DHCP Server</title>
- <indexterm>
- <primary>DHCP</primary>
- <secondary>installation</secondary>
- </indexterm>
- <para>In order to configure the &os; system as a DHCP
- server, first ensure that the &man.bpf.4; device is
- compiled into the kernel. To do this, add
- <literal>device bpf</literal> to the kernel configuration
- file, and rebuild the kernel. For more information about
- building kernels, see
- <xref linkend="kernelconfig"/>.</para>
+ <sect3>
+ <title>What This Section Covers</title>
- <para>The <devicename>bpf</devicename> device is already
- part of the <filename>GENERIC</filename> kernel that is
- supplied with &os;, so there is no need to create a
- custom kernel in order to get <acronym>DHCP</acronym>
- working.</para>
+ <para>This section provides information on how to configure a
+ FreeBSD system to act as a DHCP server using the ISC
+ (Internet Systems Consortium) implementation of the DHCP
+ server.</para>
- <note>
- <para>Those who are particularly security conscious
- should note that <devicename>bpf</devicename> is also
- the device that allows packet sniffers to function
- correctly (although such programs still need
- privileged access). The <devicename>bpf</devicename>
- device <emphasis>is</emphasis> required to use DHCP, but
- if the sensitivity of the system's security is high,
- this device should not be included in the kernel purely
- because the use of <acronym>DHCP</acronym> may, at some
- point in the future, be desired.</para>
- </note>
+ <para>The server is not provided as part of &os;, and so the
+ <filename role="package">net/isc-dhcp42-server</filename>
+ port must be installed to provide this service. See
+ <xref linkend="ports"/> for more information on using the
+ Ports Collection.</para>
+ </sect3>
- <para>The next thing that is needed is to edit the
- sample <filename>dhcpd.conf</filename> which was installed
- by the <filename
- role="package">net/isc-dhcp42-server</filename> port.
- By default, this will be
- <filename>/usr/local/etc/dhcpd.conf.sample</filename>, and
- you should copy this to
- <filename>/usr/local/etc/dhcpd.conf</filename> before
- proceeding to make changes.</para>
- </sect3>
+ <sect3>
+ <title>DHCP Server Installation</title>
- <sect3>
- <title>Configuring the DHCP Server</title>
+ <indexterm>
+ <primary>DHCP</primary>
+ <secondary>installation</secondary>
+ </indexterm>
- <indexterm>
- <primary>DHCP</primary>
- <secondary>dhcpd.conf</secondary>
- </indexterm>
- <para><filename>dhcpd.conf</filename> is comprised of
- declarations regarding subnets and hosts, and is perhaps
- most easily explained using an example :</para>
+ <para>In order to configure the &os; system as a DHCP server,
+ first ensure that the &man.bpf.4; device is compiled into
+ the kernel. To do this, add <literal>device bpf</literal>
+ to the kernel configuration file, and rebuild the kernel.
+ For more information about building kernels, see
+ <xref linkend="kernelconfig"/>.</para>
- <programlisting>option domain-name "example.com";<co id="domain-name"/>
+ <para>The <devicename>bpf</devicename> device is already part
+ of the <filename>GENERIC</filename> kernel that is supplied
+ with &os;, so there is no need to create a custom kernel in
+ order to get <acronym>DHCP</acronym> working.</para>
+
+ <note>
+ <para>Those who are particularly security conscious should
+ note that <devicename>bpf</devicename> is also the device
+ that allows packet sniffers to function correctly
+ (although such programs still need privileged access).
+ The <devicename>bpf</devicename> device
+ <emphasis>is</emphasis> required to use DHCP, but if the
+ sensitivity of the system's security is high, this device
+ should not be included in the kernel purely because the
+ use of <acronym>DHCP</acronym> may, at some point in the
+ future, be desired.</para>
+ </note>
+
+ <para>An example configuration file is installed by the
+ <filename role="package">net/isc-dhcp42-server</filename>
+ port. Copy the example
+ <filename>/usr/local/etc/dhcpd.conf.example</filename>
+ to the actual configuration file,
+ <filename>/usr/local/etc/dhcpd.conf</filename>. Edits
+ will be made to this new file.</para>
+ </sect3>
+
+ <sect3>
+ <title>Configuring the DHCP Server</title>
+
+ <indexterm>
+ <primary>DHCP</primary>
+ <secondary>dhcpd.conf</secondary>
+ </indexterm>
+ <para><filename>dhcpd.conf</filename> is comprised of
+ declarations regarding subnets and hosts, and is perhaps
+ most easily explained using an example :</para>
+
+ <programlisting>option domain-name "example.com";<co id="domain-name"/>
option domain-name-servers 192.168.4.100;<co id="domain-name-servers"/>
option subnet-mask 255.255.255.0;<co id="subnet-mask"/>
default-lease-time 3600;<co id="default-lease-time"/>
max-lease-time 86400;<co id="max-lease-time"/>
ddns-update-style none;<co id="ddns-update-style"/>
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.129 192.168.4.254;<co id="range"/>
option routers 192.168.4.1;<co id="routers"/>
}
host mailhost {
hardware ethernet 02:03:04:05:06:07;<co id="hardware"/>
fixed-address mailhost.example.com;<co id="fixed-address"/>
}</programlisting>
<calloutlist>
<callout arearefs="domain-name">
<para>This option specifies the domain that will be
provided to clients as the default search domain. See
&man.resolv.conf.5; for more information on what this
means.</para>
</callout>
<callout arearefs="domain-name-servers">
<para>This option specifies a comma separated list of
DNS servers that the client should use.</para>
</callout>
<callout arearefs="subnet-mask">
<para>The netmask that will be provided to
clients.</para>
</callout>
<callout arearefs="default-lease-time">
<para>A client may request a specific length of time
that a lease will be valid. Otherwise the server will
assign a lease with this expiry value (in
seconds).</para>
</callout>
<callout arearefs="max-lease-time">
<para>This is the maximum length of time that the server
will lease for. Should a client request a longer
lease, a lease will be issued, although it will only
be valid for <literal>max-lease-time</literal>
seconds.</para>
</callout>
<callout arearefs="ddns-update-style">
<para>This option specifies whether the DHCP server
should attempt to update DNS when a lease is accepted
or released. In the ISC implementation, this option
is <emphasis>required</emphasis>.</para>
</callout>
<callout arearefs="range">
<para>This denotes which IP addresses should be used in
the pool reserved for allocating to clients. IP
addresses between, and including, the ones stated are
handed out to clients.</para>
</callout>
<callout arearefs="routers">
<para>Declares the default gateway that will be provided
to clients.</para>
</callout>
<callout arearefs="hardware">
<para>The hardware MAC address of a host (so that the
DHCP server can recognize a host when it makes a
request).</para>
</callout>
<callout arearefs="fixed-address">
<para>Specifies that the host should always be given the
same IP address. Note that using a hostname is
correct here, since the DHCP server will resolve the
hostname itself before returning the lease
information.</para>
</callout>
</calloutlist>
<para>Once the configuration of
<filename>dhcpd.conf</filename> has been completed,
enable the DHCP server in
<filename>/etc/rc.conf</filename>, i.e., by adding:</para>
<programlisting>dhcpd_enable="YES"
dhcpd_ifaces="dc0"</programlisting>
<para>Replace the <literal>dc0</literal> interface name with
the interface (or interfaces, separated by whitespace)
that the DHCP server should listen on for DHCP client
requests.</para>
<para>Proceed to start the server by issuing
the following command:</para>
<screen>&prompt.root; <userinput>service isc-dhcpd start</userinput></screen>
- <para>Any future changes to the configuration
- of the server will require the sending of a
- <literal>SIGTERM</literal> signal to
- <application>dhcpd</application> rather than a
- <literal>SIGHUP</literal>. It is definitely more
- simple to use &man.service.8; to completely restart
- the service.</para>
+ <para>Any future changes to the configuration of the server
+ will require the sending of a <literal>SIGTERM</literal>
+ signal to <application>dhcpd</application> rather than a
+ <literal>SIGHUP</literal>. It is definitely more simple to
+ use &man.service.8; to completely restart the
+ service.</para>
</sect3>
<sect3>
<title>Files</title>
<indexterm>
<primary>DHCP</primary>
<secondary>configuration files</secondary>
</indexterm>
<itemizedlist>
<listitem>
<para><filename>/usr/local/sbin/dhcpd</filename></para>
+
<para><application>dhcpd</application> is statically
linked and resides in
- <filename>/usr/local/sbin</filename>. The
- &man.dhcpd.8; manual page installed with the port
- gives more information about
+ <filename>/usr/local/sbin</filename>. The &man.dhcpd.8;
+ manual page installed with the port gives more
+ information about
<application>dhcpd</application>.</para>
</listitem>
<listitem>
<para><filename>/usr/local/etc/dhcpd.conf</filename></para>
+
<para><application>dhcpd</application> requires a
configuration file,
- <filename>/usr/local/etc/dhcpd.conf</filename> before
- it will start providing service to clients. This file
+ <filename>/usr/local/etc/dhcpd.conf</filename> before it
+ will start providing service to clients. This file
needs to contain all the information that should be
- provided to clients that are being serviced, along
- with information regarding the operation of the
- server. This configuration file is described
- by the &man.dhcpd.conf.5; manual page installed
- by the port.</para>
+ provided to clients that are being serviced, along with
+ information regarding the operation of the server. This
+ configuration file is described by the
+ &man.dhcpd.conf.5; manual page installed by the
+ port.</para>
</listitem>
<listitem>
<para><filename>/var/db/dhcpd.leases</filename></para>
+
<para>The DHCP server keeps a database of leases it has
issued in this file, which is written as a log. The
manual page &man.dhcpd.leases.5;, installed by the
port gives a slightly longer description.</para>
</listitem>
<listitem>
<para><filename>/usr/local/sbin/dhcrelay</filename></para>
+
<para><application>dhcrelay</application> is used in
advanced environments where one DHCP server forwards a
request from a client to another DHCP server on a
separate network. If this functionality is required,
- then install the <filename
- role="package">net/isc-dhcp42-relay</filename> port.
- The &man.dhcrelay.8; manual page provided with the
- port contains more detail.</para>
+ then install the
+ <filename role="package">net/isc-dhcp42-relay</filename>
+ port. The &man.dhcrelay.8; manual page provided with
+ the port contains more detail.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>
<sect1 id="network-dns">
<sect1info>
<authorgroup>
<author>
<firstname>Chern</firstname>
<surname>Lee</surname>
<contrib>Contributed by </contrib>
</author>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
</author>
<author>
<firstname>Daniel</firstname>
<surname>Gerzo</surname>
</author>
</authorgroup>
</sect1info>
<title>Domain Name System (<acronym>DNS</acronym>)</title>
<sect2>
<title>Overview</title>
<indexterm><primary>BIND</primary></indexterm>
<para>&os; utilizes, by default, a version of BIND (Berkeley
Internet Name Domain), which is the most common implementation
of the <acronym>DNS</acronym> protocol.
<acronym>DNS</acronym> is the protocol through which names are
mapped to <acronym>IP</acronym> addresses, and vice versa.
- For example, a query for <hostid
- role="fqdn">www.FreeBSD.org</hostid> will receive a reply
- with the <acronym>IP</acronym> address of The &os; Project's
- web server, whereas, a query for <hostid
- role="fqdn">ftp.FreeBSD.org</hostid> will return the
+ For example, a query for
+ <hostid role="fqdn">www.FreeBSD.org</hostid> will receive a
+ reply with the <acronym>IP</acronym> address of The &os;
+ Project's web server, whereas, a query for
+ <hostid role="fqdn">ftp.FreeBSD.org</hostid> will return the
<acronym>IP</acronym> address of the corresponding
<acronym>FTP</acronym> machine. Likewise, the opposite can
happen. A query for an <acronym>IP</acronym> address can
resolve its hostname. It is not necessary to run a name
server to perform <acronym>DNS</acronym> lookups on a
system.</para>
<para>&os; currently comes with <acronym>BIND</acronym>9
<acronym>DNS</acronym> server software by default. Our
installation provides enhanced security features, a new file
system layout and automated &man.chroot.8;
configuration.</para>
<indexterm><primary>DNS</primary></indexterm>
<para><acronym>DNS</acronym> is coordinated across the Internet
through a somewhat complex system of authoritative root, Top
Level Domain (<acronym>TLD</acronym>), and other smaller-scale
name servers which host and cache individual domain
information.</para>
<para>Currently, BIND is maintained by the
Internet Systems Consortium
<ulink url="https://www.isc.org/"></ulink>.</para>
</sect2>
<sect2>
<title>Terminology</title>
<para>To understand this document, some terms related to
<acronym>DNS</acronym> must be understood.</para>
<indexterm><primary>resolver</primary></indexterm>
<indexterm><primary>reverse DNS</primary></indexterm>
<indexterm><primary>root zone</primary></indexterm>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<colspec colwidth="1*"/>
<colspec colwidth="3*"/>
<thead>
<row>
<entry>Term</entry>
<entry>Definition</entry>
</row>
</thead>
<tbody>
<row>
<entry>Forward <acronym>DNS</acronym></entry>
<entry>Mapping of hostnames to IP addresses.</entry>
</row>
<row>
<entry>Origin</entry>
<entry>Refers to the domain covered in a particular zone
file.</entry>
</row>
<row>
<entry><application>named</application>, BIND</entry>
<entry>Common names for the BIND name server package
within &os;.</entry>
</row>
<row>
<entry>Resolver</entry>
<entry>A system process through which a machine queries
a name server for zone information.</entry>
</row>
<row>
<entry>Reverse <acronym>DNS</acronym></entry>
<entry>Mapping of <acronym>IP</acronym> addresses to
hostnames.</entry>
</row>
<row>
<entry>Root zone</entry>
<entry>The beginning of the Internet zone hierarchy.
All zones fall under the root zone, similar to how
all files in a file system fall under the root
directory.</entry>
</row>
<row>
<entry>Zone</entry>
<entry>An individual domain, subdomain, or portion of
the <acronym>DNS</acronym> administered by the same
authority.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<indexterm>
<primary>zones</primary>
<secondary>examples</secondary>
</indexterm>
<para>Examples of zones:</para>
<itemizedlist>
<listitem>
<para><hostid>.</hostid> is how the root zone is usually
referred to in documentation.</para>
</listitem>
<listitem>
<para><hostid>org.</hostid> is a Top Level Domain
(<acronym>TLD</acronym>) under the root zone.</para>
</listitem>
<listitem>
<para><hostid role="domainname">example.org.</hostid> is a
zone under the <hostid>org.</hostid>
<acronym>TLD</acronym>.</para>
</listitem>
<listitem>
<para><hostid>1.168.192.in-addr.arpa</hostid> is a zone
referencing all <acronym>IP</acronym> addresses which fall
under the <hostid role="ipaddr">192.168.1.*</hostid>
<acronym>IP</acronym> address space.</para>
</listitem>
</itemizedlist>
<para>As one can see, the more specific part of a hostname
- appears to its left. For example, <hostid
- role="domainname">example.org.</hostid> is more specific
- than <hostid>org.</hostid>, as <hostid>org.</hostid> is more
- specific than the root zone. The layout of each part of a
- hostname is
- much like a file system: the
+ appears to its left. For example,
+ <hostid role="domainname">example.org.</hostid> is more
+ specific than <hostid>org.</hostid>, as <hostid>org.</hostid>
+ is more specific than the root zone. The layout of each part
+ of a hostname is much like a file system: the
<filename class="directory">/dev</filename> directory falls
within the root, and so on.</para>
</sect2>
<sect2>
<title>Reasons to Run a Name Server</title>
<para>Name servers generally come in two forms: authoritative
- name servers, and caching (also known as resolving)
- name servers.</para>
+ name servers, and caching (also known as resolving) name
+ servers.</para>
<para>An authoritative name server is needed when:</para>
<itemizedlist>
<listitem>
<para>One wants to serve <acronym>DNS</acronym> information
to the world, replying authoritatively to queries.</para>
</listitem>
<listitem>
- <para>A domain, such as <hostid
- role="domainname">example.org</hostid>, is registered
- and <acronym>IP</acronym> addresses need to be assigned
- to hostnames under it.</para>
+ <para>A domain, such as
+ <hostid role="domainname">example.org</hostid>, is
+ registered and <acronym>IP</acronym> addresses need to be
+ assigned to hostnames under it.</para>
</listitem>
<listitem>
<para>An <acronym>IP</acronym> address block requires
reverse <acronym>DNS</acronym> entries
(<acronym>IP</acronym> to hostname).</para>
</listitem>
<listitem>
<para>A backup or second name server, called a slave, will
reply to queries.</para>
</listitem>
</itemizedlist>
<para>A caching name server is needed when:</para>
<itemizedlist>
<listitem>
<para>A local <acronym>DNS</acronym> server may cache and
respond more quickly than querying an outside name
server.</para>
</listitem>
</itemizedlist>
<para>When one queries for
<hostid role="fqdn">www.FreeBSD.org</hostid>, the resolver
usually queries the uplink <acronym>ISP</acronym>'s name
server, and retrieves the reply. With a local, caching
<acronym>DNS</acronym> server, the query only has to be made
once to the outside world by the caching
<acronym>DNS</acronym> server. Additional queries will not
have to go outside the local network, since the information is
cached locally.</para>
</sect2>
<sect2>
<title>How It Works</title>
<para>In &os;, the BIND daemon is called
<application>named</application>.</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>File</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>&man.named.8;</entry>
<entry>The BIND daemon.</entry>
</row>
<row>
<entry>&man.rndc.8;</entry>
<entry>Name server control utility.</entry>
</row>
<row>
<entry><filename
class="directory">/etc/namedb</filename></entry>
<entry>Directory where BIND zone information
resides.</entry>
</row>
<row>
<entry><filename>/etc/namedb/named.conf</filename></entry>
<entry>Configuration file of the daemon.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Depending on how a given zone is configured on the server,
the files related to that zone can be found in the
<filename class="directory">master</filename>,
<filename class="directory">slave</filename>, or
<filename class="directory">dynamic</filename> subdirectories
of the <filename class="directory">/etc/namedb</filename>
directory. These files contain the <acronym>DNS</acronym>
information that will be given out by the name server in
response to queries.</para>
</sect2>
<sect2>
<title>Starting BIND</title>
<indexterm>
<primary>BIND</primary>
<secondary>starting</secondary>
</indexterm>
<para>Since BIND is installed by default, configuring it is
relatively simple.</para>
<para>The default <application>named</application> configuration
is that of a basic resolving name server, running in a
&man.chroot.8; environment, and restricted to listening on the
local IPv4 loopback address (127.0.0.1). To start the server
one time with this configuration, use the following
command:</para>
<screen>&prompt.root; <userinput>service named onestart</userinput></screen>
<para>To ensure the <application>named</application> daemon is
started at boot each time, put the following line into the
<filename>/etc/rc.conf</filename>:</para>
<programlisting>named_enable="YES"</programlisting>
<para>There are obviously many configuration options for
<filename>/etc/namedb/named.conf</filename> that are beyond
the scope of this document. There are other startup options
for <application>named</application> on &os;, take a look at
the <literal>named_<replaceable>*</replaceable></literal>
flags in <filename>/etc/defaults/rc.conf</filename> and
consult the &man.rc.conf.5; manual page. The
<xref linkend="configtuning-rcd"/> section is also a good
read.</para>
</sect2>
<sect2>
<title>Configuration Files</title>
<indexterm>
<primary>BIND</primary>
<secondary>configuration files</secondary>
</indexterm>
<para>Configuration files for <application>named</application>
currently reside in
<filename class="directory">/etc/namedb</filename> directory
and will need modification before use unless all that is
needed is a simple resolver. This is where most of the
configuration will be performed.</para>
<sect3>
<title><filename>/etc/namedb/named.conf</filename></title>
<programlisting>// &dollar;FreeBSD&dollar;
//
// Refer to the named.conf(5) and named(8) man pages, and the documentation
// in /usr/share/doc/bind9 for more details.
//
// If you are going to set up an authoritative server, make sure you
// understand the hairy details of how DNS works. Even with
// simple mistakes, you can break connectivity for affected parties,
// or cause huge amounts of useless Internet traffic.
options {
// All file and path names are relative to the chroot directory,
// if any, and should be fully qualified.
directory "/etc/namedb/working";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
// If named is being used only as a local resolver, this is a safe default.
// For named to be accessible to the network, comment this option, specify
// the proper IP address, or delete this option.
listen-on { 127.0.0.1; };
// If you have IPv6 enabled on this system, uncomment this option for
// use as a local resolver. To give access to the network, specify
// an IPv6 address, or the keyword "any".
// listen-on-v6 { ::1; };
// These zones are already covered by the empty zones listed below.
// If you remove the related empty zones below, comment these lines out.
disable-empty-zone "255.255.255.255.IN-ADDR.ARPA";
disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";
disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";
// If you've got a DNS server around at your upstream provider, enter
// its IP address here, and enable the line below. This will make you
// benefit from its cache, thus reduce overall DNS traffic in the Internet.
/*
forwarders {
127.0.0.1;
};
*/
// If the 'forwarders' clause is not empty the default is to 'forward first'
// which will fall back to sending a query from your local server if the name
// servers in 'forwarders' do not have the answer. Alternatively you can
// force your name server to never initiate queries of its own by enabling the
// following line:
// forward only;
// If you wish to have forwarding configured automatically based on
// the entries in /etc/resolv.conf, uncomment the following line and
// set named_auto_forward=yes in /etc/rc.conf. You can also enable
// named_auto_forward_only (the effect of which is described above).
// include "/etc/namedb/auto_forward.conf";</programlisting>
<para>Just as the comment says, to benefit from an uplink's
cache, <literal>forwarders</literal> can be enabled here.
Under normal circumstances, a name server will recursively
query the Internet looking at certain name servers until it
finds the answer it is looking for. Having this enabled
will have it query the uplink's name server (or name server
provided) first, taking advantage of its cache. If the
uplink name server in question is a heavily trafficked, fast
name server, enabling this may be worthwhile.</para>
<warning>
<para><hostid role="ipaddr">127.0.0.1</hostid> will
<emphasis>not</emphasis> work here. Change this
<acronym>IP</acronym> address to a name server at the
uplink.</para>
</warning>
<programlisting> /*
Modern versions of BIND use a random UDP port for each outgoing
query by default in order to dramatically reduce the possibility
of cache poisoning. All users are strongly encouraged to utilize
this feature, and to configure their firewalls to accommodate it.
AS A LAST RESORT in order to get around a restrictive firewall
policy you can try enabling the option below. Use of this option
will significantly reduce your ability to withstand cache poisoning
attacks, and should be avoided if at all possible.
Replace NNNNN in the example with a number between 49160 and 65530.
*/
// query-source address * port NNNNN;
};
// If you enable a local name server, don't forget to enter 127.0.0.1
// first in your /etc/resolv.conf so this server will be queried.
// Also, make sure to enable it in /etc/rc.conf.
// The traditional root hints mechanism. Use this, OR the slave zones below.
zone "." { type hint; file "/etc/namedb/named.root"; };
/* Slaving the following zones from the root name servers has some
significant advantages:
1. Faster local resolution for your users
2. No spurious traffic will be sent from your network to the roots
3. Greater resilience to any potential root server failure/DDoS
On the other hand, this method requires more monitoring than the
hints file to be sure that an unexpected failure mode has not
incapacitated your server. Name servers that are serving a lot
of clients will benefit more from this approach than individual
hosts. Use with caution.
To use this mechanism, uncomment the entries below, and comment
the hint zone above.
As documented at http://dns.icann.org/services/axfr/ these zones:
"." (the root), ARPA, IN-ADDR.ARPA, IP6.ARPA, and ROOT-SERVERS.NET
are available for AXFR from these servers on IPv4 and IPv6:
xfr.lax.dns.icann.org, xfr.cjr.dns.icann.org
*/
/*
zone "." {
type slave;
file "/etc/namedb/slave/root.slave";
masters {
192.5.5.241; // F.ROOT-SERVERS.NET.
};
notify no;
};
zone "arpa" {
type slave;
file "/etc/namedb/slave/arpa.slave";
masters {
192.5.5.241; // F.ROOT-SERVERS.NET.
};
notify no;
};
*/
/* Serving the following zones locally will prevent any queries
for these zones leaving your network and going to the root
name servers. This has two significant advantages:
1. Faster local resolution for your users
2. No spurious traffic will be sent from your network to the roots
*/
// RFCs 1912 and 5735 (and BCP 32 for localhost)
zone "localhost" { type master; file "/etc/namedb/master/localhost-forward.db"; };
zone "127.in-addr.arpa" { type master; file "/etc/namedb/master/localhost-reverse.db"; };
zone "255.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// RFC 1912-style zone for IPv6 localhost address
zone "0.ip6.arpa" { type master; file "/etc/namedb/master/localhost-reverse.db"; };
// "This" Network (RFCs 1912 and 5735)
zone "0.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// Private Use Networks (RFCs 1918 and 5735)
zone "10.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "16.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "17.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "18.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "19.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "20.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "21.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "22.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "23.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "24.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "25.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "26.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "27.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "28.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "29.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "30.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "31.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "168.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// Link-local/APIPA (RFCs 3927 and 5735)
zone "254.169.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// IETF protocol assignments (RFCs 5735 and 5736)
zone "0.0.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// TEST-NET-[1-3] for Documentation (RFCs 5735 and 5737)
zone "2.0.192.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "100.51.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "113.0.203.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// IPv6 Range for Documentation (RFC 3849)
zone "8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// Domain Names for Documentation and Testing (BCP 32)
zone "test" { type master; file "/etc/namedb/master/empty.db"; };
zone "example" { type master; file "/etc/namedb/master/empty.db"; };
zone "invalid" { type master; file "/etc/namedb/master/empty.db"; };
zone "example.com" { type master; file "/etc/namedb/master/empty.db"; };
zone "example.net" { type master; file "/etc/namedb/master/empty.db"; };
zone "example.org" { type master; file "/etc/namedb/master/empty.db"; };
// Router Benchmark Testing (RFCs 2544 and 5735)
zone "18.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "19.198.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// IANA Reserved - Old Class E Space (RFC 5735)
zone "240.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "241.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "242.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "243.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "244.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "245.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "246.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "247.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "248.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "249.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "250.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "251.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "252.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "253.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "254.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// IPv6 Unassigned Addresses (RFC 4291)
zone "1.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "3.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "4.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "5.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "6.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "7.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "8.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "9.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "a.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "b.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "c.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "d.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "e.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "0.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "1.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "2.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "3.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "4.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "5.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "6.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "7.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "8.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "9.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "a.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "b.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "0.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "1.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "2.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "3.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "4.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "5.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "6.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "7.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// IPv6 ULA (RFC 4193)
zone "c.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "d.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// IPv6 Link Local (RFC 4291)
zone "8.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "9.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "a.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "b.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// IPv6 Deprecated Site-Local Addresses (RFC 3879)
zone "c.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "d.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "e.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "f.e.f.ip6.arpa" { type master; file "/etc/namedb/master/empty.db"; };
// IP6.INT is Deprecated (RFC 4159)
zone "ip6.int" { type master; file "/etc/namedb/master/empty.db"; };
// NB: Do not use the IP addresses below, they are faked, and only
// serve demonstration/documentation purposes!
//
// Example slave zone config entries. It can be convenient to become
// a slave at least for the zone your own domain is in. Ask
// your network administrator for the IP address of the responsible
// master name server.
//
// Do not forget to include the reverse lookup zone!
// This is named after the first bytes of the IP address, in reverse
// order, with ".IN-ADDR.ARPA" appended, or ".IP6.ARPA" for IPv6.
//
// Before starting to set up a master zone, make sure you fully
// understand how DNS and BIND work. There are sometimes
// non-obvious pitfalls. Setting up a slave zone is usually simpler.
//
// NB: Don't blindly enable the examples below. :-) Use actual names
// and addresses instead.
/* An example dynamic zone
key "exampleorgkey" {
algorithm hmac-md5;
secret "sf87HJqjkqh8ac87a02lla==";
};
zone "example.org" {
type master;
allow-update {
key "exampleorgkey";
};
file "/etc/namedb/dynamic/example.org";
};
*/
/* Example of a slave reverse zone
zone "1.168.192.in-addr.arpa" {
type slave;
file "/etc/namedb/slave/1.168.192.in-addr.arpa";
masters {
192.168.1.1;
};
};
*/</programlisting>
<para>In <filename>named.conf</filename>, these are examples
of slave entries for a forward and reverse zone.</para>
<para>For each new zone served, a new zone entry must be added
to <filename>named.conf</filename>.</para>
<para>For example, the simplest zone entry for
<hostid role="domainname">example.org</hostid> can look
like:</para>
<programlisting>zone "example.org" {
type master;
file "master/example.org";
};</programlisting>
<para>The zone is a master, as indicated by the
<option>type</option> statement, holding its zone
information in
<filename>/etc/namedb/master/example.org</filename>
indicated by the <option>file</option> statement.</para>
<programlisting>zone "example.org" {
type slave;
file "slave/example.org";
};</programlisting>
<para>In the slave case, the zone information is transferred
from the master name server for the particular zone, and
saved in the file specified. If and when the master server
dies or is unreachable, the slave name server will have the
transferred zone information and will be able to serve
it.</para>
</sect3>
<sect3>
<title>Zone Files</title>
<indexterm>
<primary>BIND</primary>
<secondary>zone files</secondary>
</indexterm>
<para>An example master zone file for
<hostid role="domainname">example.org</hostid> (existing
within <filename>/etc/namedb/master/example.org</filename>)
is as follows:</para>
<programlisting>&dollar;TTL 3600 ; 1 hour default TTL
example.org. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
300 ; Negative Response TTL
)
; DNS Servers
IN NS ns1.example.org.
IN NS ns2.example.org.
; MX Records
IN MX 10 mx.example.org.
IN MX 20 mail.example.org.
IN A 192.168.1.1
; Machine Names
localhost IN A 127.0.0.1
ns1 IN A 192.168.1.2
ns2 IN A 192.168.1.3
mx IN A 192.168.1.4
mail IN A 192.168.1.5
; Aliases
www IN CNAME example.org.</programlisting>
<para>Note that every hostname ending in a <quote>.</quote> is
an exact hostname, whereas everything without a trailing
<quote>.</quote> is relative to the origin. For example,
<literal>ns1</literal> is translated into
<literal>ns1.<replaceable>example.org.</replaceable></literal></para>
<para>The format of a zone file follows:</para>
<programlisting>recordname IN recordtype value</programlisting>
<indexterm>
<primary>DNS</primary>
<secondary>records</secondary>
</indexterm>
<para>The most commonly used DNS records:</para>
<variablelist>
<varlistentry>
<term>SOA</term>
<listitem><para>start of zone authority</para></listitem>
</varlistentry>
<varlistentry>
<term>NS</term>
<listitem>
<para>an authoritative name server</para>
</listitem></varlistentry>
<varlistentry>
<term>A</term>
<listitem><para>a host address</para></listitem>
</varlistentry>
<varlistentry>
<term>CNAME</term>
<listitem><para>the canonical name for an
alias</para></listitem>
</varlistentry>
<varlistentry>
<term>MX</term>
<listitem><para>mail exchanger</para></listitem>
</varlistentry>
<varlistentry>
<term>PTR</term>
<listitem>
<para>a domain name pointer (used in reverse
DNS)</para>
</listitem>
</varlistentry>
</variablelist>
<programlisting>example.org. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
300 ) ; Negative Response TTL</programlisting>
<variablelist>
<varlistentry>
<term><hostid
- role="domainname">example.org.</hostid></term>
+ role="domainname">example.org.</hostid></term>
<listitem>
<para>the domain name, also the origin for this
zone file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><hostid role="fqdn">ns1.example.org.</hostid></term>
<listitem>
<para>the primary/authoritative name server for this
zone.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>admin.example.org.</literal></term>
<listitem>
<para>the responsible person for this zone,
email address with <quote>@</quote>
replaced. (<email>admin@example.org</email> becomes
<literal>admin.example.org</literal>)</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>2006051501</literal></term>
<listitem>
- <para>the serial number of the file. This
- must be incremented each time the zone file is
- modified. Nowadays, many admins prefer a
+ <para>the serial number of the file. This must be
+ incremented each time the zone file is modified.
+ Nowadays, many admins prefer a
<literal>yyyymmddrr</literal> format for the serial
- number. <literal>2006051501</literal> would mean
- last modified 05/15/2006, the latter
- <literal>01</literal> being the first time the zone
- file has been modified this day. The serial number
- is important as it alerts slave name servers for a
- zone when it is updated.</para>
+ number. <literal>2006051501</literal> would mean last
+ modified 05/15/2006, the latter <literal>01</literal>
+ being the first time the zone file has been modified
+ this day. The serial number is important as it alerts
+ slave name servers for a zone when it is
+ updated.</para>
</listitem>
</varlistentry>
</variablelist>
<programlisting> IN NS ns1.example.org.</programlisting>
<para>This is an NS entry. Every name server that is going to
reply authoritatively for the zone must have one of these
entries.</para>
<programlisting>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</programlisting>
<para>The A record indicates machine names. As seen above,
<hostid role="fqdn">ns1.example.org</hostid> would resolve
to <hostid role="ipaddr">192.168.1.2</hostid>.</para>
<programlisting> IN A 192.168.1.1</programlisting>
<para>This line assigns IP address
<hostid role="ipaddr">192.168.1.1</hostid> to the current
origin, in this case
<hostid role="domainname">example.org</hostid>.</para>
<programlisting>www IN CNAME @</programlisting>
<para>The canonical name record is usually used for giving
aliases to a machine. In the example, <hostid>www</hostid>
is aliased to the <quote>master</quote> machine whose name
happens to be the same as the domain name
<hostid role="domainname">example.org</hostid>
(<hostid role="ipaddr">192.168.1.1</hostid>). CNAMEs can
never be used together with another kind of record for the
same hostname.</para>
<indexterm>
<primary>MX record</primary>
</indexterm>
<programlisting> IN MX 10 mail.example.org.</programlisting>
<para>The MX record indicates which mail servers are
responsible for handling incoming mail for the zone.
<hostid role="fqdn">mail.example.org</hostid> is the
hostname of a mail server, and 10 is the priority of that
mail server.</para>
<para>One can have several mail servers, with priorities of
10, 20 and so on. A mail server attempting to deliver to
<hostid role="domainname">example.org</hostid> would first
try the highest priority MX (the record with the lowest
priority number), then the second highest, etc, until the
mail can be properly delivered.</para>
<para>For in-addr.arpa zone files (reverse DNS), the same
format is used, except with PTR entries instead of A or
CNAME.</para>
<programlisting>$TTL 3600
1.168.192.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
300 ) ; Negative Response TTL
IN NS ns1.example.org.
IN NS ns2.example.org.
1 IN PTR example.org.
2 IN PTR ns1.example.org.
3 IN PTR ns2.example.org.
4 IN PTR mx.example.org.
5 IN PTR mail.example.org.</programlisting>
<para>This file gives the proper IP address to hostname
mappings for the above fictitious domain.</para>
<para>It is worth noting that all names on the right side
of a PTR record need to be fully qualified (i.e., end in
a <quote>.</quote>).</para>
</sect3>
</sect2>
<sect2>
<title>Caching Name Server</title>
<indexterm>
<primary>BIND</primary>
<secondary>caching name server</secondary>
</indexterm>
<para>A caching name server is a name server whose primary role
is to resolve recursive queries. It simply asks queries of
its own, and remembers the answers for later use.</para>
</sect2>
<sect2>
<title><acronym
role="Domain Name Security
Extensions">DNSSEC</acronym></title>
<indexterm>
<primary>BIND</primary>
<secondary>DNS security extensions</secondary>
</indexterm>
<para>Domain Name System Security Extensions, or <acronym
- role="Domain Name Security Extensions">DNSSEC</acronym>
- for short, is a suite of specifications to protect resolving
- name servers from forged <acronym>DNS</acronym> data, such
- as spoofed <acronym>DNS</acronym> records. By using digital
- signatures, a resolver can verify the integrity of the
- record. Note that <acronym role="Domain Name Security
+ role="Domain Name Security Extensions">DNSSEC</acronym> for
+ short, is a suite of specifications to protect resolving name
+ servers from forged <acronym>DNS</acronym> data, such as
+ spoofed <acronym>DNS</acronym> records. By using digital
+ signatures, a resolver can verify the integrity of the record.
+ Note that <acronym role="Domain Name Security
Extensions">DNSSEC</acronym> only provides integrity via
digitally signing the Resource Records (<acronym
role="Resource Record">RR</acronym>s). It provides neither
confidentiality nor protection against false end-user
assumptions. This means that it cannot protect against people
going to <hostid role="domainname">example.net</hostid>
instead of <hostid role="domainname">example.com</hostid>.
The only thing <acronym>DNSSEC</acronym> does is authenticate
that the data has not been compromised in transit. The
security of <acronym>DNS</acronym> is an important step in
securing the Internet in general. For more in-depth details
of how <acronym>DNSSEC</acronym> works, the relevant
<acronym>RFC</acronym>s are a good place to start. See the
list in <xref linkend="dns-read"/>.</para>
<para>The following sections will demonstrate how to enable
<acronym>DNSSEC</acronym> for an authoritative
<acronym>DNS</acronym> server and a recursive (or caching)
<acronym>DNS</acronym> server running <acronym>BIND</acronym>
9. While all versions of <acronym>BIND</acronym> 9 support
<acronym>DNSSEC</acronym>, it is necessary to have at least
version 9.6.2 in order to be able to use the signed root zone
when validating <acronym>DNS</acronym> queries. This is
because earlier versions lack the required algorithms to
enable validation using the root zone key. It is strongly
recommended to use the latest version of
<acronym>BIND</acronym> 9.7 or later to take advantage of
automatic key updating for the root key, as well as other
features to automatically keep zones signed and signatures up
to date. Where configurations differ between 9.6.2 and 9.7
and later, differences will be pointed out.</para>
<sect3>
<title>Recursive <acronym>DNS</acronym> Server
Configuration</title>
<para>Enabling <acronym>DNSSEC</acronym> validation of queries
performed by a recursive <acronym>DNS</acronym> server
requires a few changes to <filename>named.conf</filename>.
Before making these changes the root zone key, or trust
anchor, must be acquired. Currently the root zone key is
not available in a file format <acronym>BIND</acronym>
understands, so it has to be manually converted into the
proper format. The key itself can be obtained by querying
the root zone for it using <application>dig</application>.
By running</para>
<screen>&prompt.user; <userinput>dig +multi +noall +answer DNSKEY . &gt; root.dnskey</userinput></screen>
<para>the key will end up in <filename>root.dnskey</filename>.
The contents should look something like this:</para>
<programlisting>. 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</programlisting>
<para>Do not be alarmed if the obtained keys differ from this
example. They might have changed since these instructions
were last updated. This output actually contains two keys.
The first key in the listing, with the value 257 after the
DNSKEY record type, is the one needed. This value indicates
that this is a Secure Entry Point
(<acronym role="Secure Entry Point">SEP</acronym>), commonly
known as a Key Signing Key
(<acronym role="Key Signing Key">KSK</acronym>). The second
key, with value 256, is a subordinate key, commonly called a
Zone Signing Key
(<acronym role="Zone Signing Key">ZSK</acronym>). More on
the different key types later in
<xref linkend="dns-dnssec-auth"/>.</para>
<para>Now the key must be verified and formatted so that
<acronym>BIND</acronym> can use it. To verify the key,
generate a <acronym role="Delegation Signer">DS</acronym>
<acronym role="Resource Record">RR</acronym> set. Create a
file containing these
<acronym role="Resource Record">RR</acronym>s with</para>
<screen>&prompt.user; <userinput>dnssec-dsfromkey -f root-dnskey . &gt; root.ds</userinput></screen>
<para>These records use SHA-1 and SHA-256 respectively, and
should look similar to the following example, where the
longer is using SHA-256.</para>
<programlisting>. IN DS 19036 8 1
B256BD09DC8DD59F0E0F0D8541B8328DD986DF6E
. IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5</programlisting>
<para>The SHA-256 <acronym>RR</acronym> can now be compared to
the digest in <ulink
url="https://data.iana.org/root-anchors/root-anchors.xml">https://data.iana.org/root-anchors/root-anchors.xml</ulink>.
To be absolutely sure that the key has not been tampered
with the data in the <acronym>XML</acronym> file can be
verified using the <acronym>PGP</acronym> signature in
<ulink
url="https://data.iana.org/root-anchors/root-anchors.asc">https://data.iana.org/root-anchors/root-anchors.asc</ulink>.</para>
<para>Next, the key must be formatted properly. This differs
a little between <acronym>BIND</acronym> versions 9.6.2 and
9.7 and later. In version 9.7 support was added to
automatically track changes to the key and update it as
necessary. This is done using
<literal>managed-keys</literal> as seen in the example
below. When using the older version, the key is added using
a <literal>trusted-keys</literal> statement and updates must
be done manually. For <acronym>BIND</acronym> 9.6.2 the
format should look like:</para>
<programlisting>trusted-keys {
"." 257 3 8
"AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
QxA+Uk1ihz0=";
};</programlisting>
<para>For 9.7 the format will instead be:</para>
<programlisting>managed-keys {
"." initial-key 257 3 8
"AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
QxA+Uk1ihz0=";
};</programlisting>
<para>The root key can now be added to
<filename>named.conf</filename> either directly or by
including a file containing the key. After these steps,
configure <acronym>BIND</acronym> to do
<acronym>DNSSEC</acronym> validation on queries by editing
<filename>named.conf</filename> and adding the following to
the <literal>options</literal> directive:</para>
<programlisting>dnssec-enable yes;
dnssec-validation yes;</programlisting>
<para>To verify that it is actually working use
<application>dig</application> to make a query for a signed
zone using the resolver just configured. A successful reply
will contain the <literal>AD</literal> flag to indicate the
data was authenticated. Running a query such as</para>
<screen>&prompt.user; <userinput>dig @<replaceable>resolver</replaceable> +dnssec se ds </userinput></screen>
<para>should return the <acronym>DS</acronym>
<acronym>RR</acronym> for the <literal>.se</literal> zone.
In the <literal>flags:</literal> section the
<literal>AD</literal> flag should be set, as seen
in:</para>
<programlisting>...
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
...</programlisting>
<para>The resolver is now capable of authenticating
<acronym>DNS</acronym> queries.</para>
</sect3>
<sect3 id="dns-dnssec-auth">
<title>Authoritative <acronym>DNS</acronym> Server
Configuration</title>
<para>In order to get an authoritative name server to serve a
<acronym>DNSSEC</acronym> signed zone a little more work is
required. A zone is signed using cryptographic keys which
must be generated. It is possible to use only one key for
this. The preferred method however is to have a strong
well-protected Key Signing Key
(<acronym role="Key Signing Key">KSK</acronym>) that is
not rotated very often and a Zone Signing Key
(<acronym role="Zone Signing Key">ZSK</acronym>) that is
rotated more frequently. Information on recommended
operational practices can be found in <ulink
url="http://tools.ietf.org/rfc/rfc4641.txt"><acronym>RFC</acronym>
4641: <acronym>DNSSEC</acronym> Operational
Practices</ulink>. Practices regarding the root zone can
be found in <ulink
url="http://www.root-dnssec.org/wp-content/uploads/2010/06/icann-dps-00.txt"><acronym>DNSSEC</acronym>
Practice Statement for the Root Zone
<acronym>KSK</acronym> operator</ulink> and <ulink
url="http://www.root-dnssec.org/wp-content/uploads/2010/06/vrsn-dps-00.txt"><acronym>DNSSEC</acronym>
Practice Statement for the Root Zone
<acronym>ZSK</acronym> operator</ulink>. The
<acronym role="Key Signing Key">KSK</acronym> is used to
build a chain of authority to the data in need of validation
and as such is also called a Secure Entry Point
(<acronym role="Secure Entry Point">SEP</acronym>) key. A
message digest of this key, called a Delegation Signer
(<acronym role="Delegation Signer">DS</acronym>) record,
must be published in the parent zone to establish the trust
chain. How this is accomplished depends on the parent zone
owner. The <acronym role="Zone Signing Key">ZSK</acronym>
is used to sign the zone, and only needs to be published
there.</para>
<para>To enable <acronym>DNSSEC</acronym> for the
<hostid role="domainname">example.com</hostid> zone depicted
in previous examples, the first step is to use
<application>dnssec-keygen</application> to generate the
<acronym>KSK</acronym> and <acronym>ZSK</acronym> key pair.
This key pair can utilize different cryptographic
algorithms. It is recommended to use RSA/SHA256 for the
keys and 2048 bits key length should be enough. To generate
the <acronym>KSK</acronym> for
<hostid role="domainname">example.com</hostid>, run</para>
<screen>&prompt.user; <userinput>dnssec-keygen -f KSK -a RSASHA256 -b 2048 -n ZONE example.com</userinput></screen>
<para>and to generate the <acronym>ZSK</acronym>, run</para>
<screen>&prompt.user; <userinput>dnssec-keygen -a RSASHA256 -b 2048 -n ZONE example.com</userinput></screen>
<para><application>dnssec-keygen</application> outputs two
files, the public and the private keys in files named
similar to <filename>Kexample.com.+005+nnnnn.key</filename>
(public) and
<filename>Kexample.com.+005+nnnnn.private</filename>
(private). The <literal>nnnnn</literal> part of the file
name is a five digit key ID. Keep track of which key ID
belongs to which key. This is especially important when
having more than one key in a zone. It is also possible to
rename the keys. For each <acronym>KSK</acronym> file
do:</para>
<screen>&prompt.user; <userinput>mv Kexample.com.+005+nnnnn.key Kexample.com.+005+nnnnn.KSK.key</userinput>
&prompt.user; <userinput>mv Kexample.com.+005+nnnnn.private Kexample.com.+005+nnnnn.KSK.private</userinput></screen>
<para>For the <acronym>ZSK</acronym> files, substitute
<literal>KSK</literal> for <literal>ZSK</literal> as
necessary. The files can now be included in the zone file,
using the <literal>$include</literal> statement. It should
look something like this:</para>
<programlisting>$include Kexample.com.+005+nnnnn.KSK.key ; KSK
$include Kexample.com.+005+nnnnn.ZSK.key ; ZSK</programlisting>
<para>Finally, sign the zone and tell <acronym>BIND</acronym>
to use the signed zone file. To sign a zone
<application>dnssec-signzone</application> is used. The
command to sign the zone
<hostid role="domainname">example.com</hostid>, located in
<filename>example.com.db</filename> would look similar
to</para>
<screen>&prompt.user; <userinput>dnssec-signzone -o
example.com -k Kexample.com.+005+nnnnn.KSK example.com.db
Kexample.com.+005+nnnnn.ZSK.key</userinput></screen>
<para>The key supplied to the <option>-k</option> argument is
the <acronym>KSK</acronym> and the other key file is the
<acronym>ZSK</acronym> that should be used in the signing.
It is possible to supply more than one
<acronym>KSK</acronym> and <acronym>ZSK</acronym>, which
will result in the zone being signed with all supplied keys.
This can be needed to supply zone data signed using more
than one algorithm. The output of
<application>dnssec-signzone</application> is a zone file
with all <acronym>RR</acronym>s signed. This output will
end up in a file with the extension
<literal>.signed</literal>, such as
<filename>example.com.db.signed</filename>. The
<acronym role="Delegation Signer">DS</acronym> records will
also be written to a separate file
<filename>dsset-example.com</filename>. To use this signed
zone just modify the zone directive in
<filename>named.conf</filename> to use
<filename>example.com.db.signed</filename>. By default, the
signatures are only valid 30 days, meaning that the zone
needs to be resigned in about 15 days to be sure that
resolvers are not caching records with stale signatures. It
is possible to make a script and a cron job to do this. See
relevant manuals for details.</para>
<para>Be sure to keep private keys confidential, as with all
cryptographic keys. When changing a key it is best to
include the new key into the zone, while still signing with
the old one, and then move over to using the new key to
sign. After these steps are done the old key can be removed
from the zone. Failure to do this might render the
<acronym>DNS</acronym> data unavailable for a time, until
the new key has propagated through the
<acronym>DNS</acronym> hierarchy. For more information on
key rollovers and other <acronym>DNSSEC</acronym>
operational issues, see <ulink
url="http://www.ietf.org/rfc/rfc4641.txt"><acronym>RFC</acronym>
4641: <acronym>DNSSEC</acronym> Operational
practices</ulink>.</para>
</sect3>
<sect3>
<title>Automation Using <acronym>BIND</acronym> 9.7 or
Later</title>
<para>Beginning with <acronym>BIND</acronym> version 9.7 a new
feature called <emphasis>Smart Signing</emphasis> was
introduced. This feature aims to make the key management
and signing process simpler by automating parts of the task.
By putting the keys into a directory called a
<emphasis>key repository</emphasis>, and using the new
option <literal>auto-dnssec</literal>, it is possible to
create a dynamic zone which will be resigned as needed. To
update this zone use <application>nsupdate</application>
with the new option <option>-l</option>.
<application>rndc</application> has also grown the ability
to sign zones with keys in the key repository, using the
option <option>sign</option>. To tell
<acronym>BIND</acronym> to use this automatic signing and
zone updating for
<hostid role="domainname">example.com</hostid>, add the
following to <filename>named.conf</filename>:</para>
<programlisting>zone example.com {
type master;
key-directory "/etc/named/keys";
update-policy local;
auto-dnssec maintain;
file "/etc/named/dynamic/example.com.zone";
};</programlisting>
<para>After making these changes, generate keys for the zone
as explained in <xref linkend="dns-dnssec-auth"/>, put those
keys in the key repository given as the argument to the
<literal>key-directory</literal> in the zone configuration
and the zone will be signed automatically. Updates to a
zone configured this way must be done using
<application>nsupdate</application>, which will take care of
re-signing the zone with the new data added. For further
details, see <xref linkend="dns-read"/> and the
<acronym>BIND</acronym> documentation.</para>
</sect3>
</sect2>
<sect2>
<title>Security</title>
<para>Although BIND is the most common implementation of DNS,
there is always the issue of security. Possible and
exploitable security holes are sometimes found.</para>
<para>While &os; automatically drops
<application>named</application> into a &man.chroot.8;
environment; there are several other security mechanisms in
place which could help to lure off possible
<acronym>DNS</acronym> service attacks.</para>
<para>It is always good idea to read
<ulink url="http://www.cert.org/">CERT</ulink>'s security
advisories and to subscribe to the &a.security-notifications;
to stay up to date with the current Internet and &os; security
issues.</para>
<tip>
<para>If a problem arises, keeping sources up to date and
having a fresh build of <application>named</application>
may help.</para>
</tip>
</sect2>
<sect2 id="dns-read">
<title>Further Reading</title>
<para>BIND/<application>named</application> manual pages:
&man.rndc.8; &man.named.8; &man.named.conf.5; &man.nsupdate.1;
&man.dnssec-signzone.8; &man.dnssec-keygen.8;</para>
<itemizedlist>
<listitem>
<para><ulink
url="https://www.isc.org/software/bind">Official ISC
BIND Page</ulink></para>
</listitem>
<listitem>
<para><ulink
url="https://www.isc.org/software/guild">Official ISC
BIND Forum</ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://www.oreilly.com/catalog/dns5/">O'Reilly
DNS and BIND 5th Edition</ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://www.root-dnssec.org/documentation/">Root
<acronym>DNSSEC</acronym></ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://data.iana.org/root-anchors/draft-icann-dnssec-trust-anchor.html"><acronym>DNSSEC</acronym>
Trust Anchor Publication for the Root
Zone</ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://tools.ietf.org/html/rfc1034">RFC1034
- Domain Names - Concepts and Facilities</ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://tools.ietf.org/html/rfc1035">RFC1035
- Domain Names - Implementation and
Specification</ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://tools.ietf.org/html/rfc4033">RFC4033
- DNS Security Introduction and
Requirements</ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://tools.ietf.org/html/rfc4034">RFC4034
- Resource Records for the DNS Security
Extensions</ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://tools.ietf.org/html/rfc4035">RFC4035
- Protocol Modifications for the DNS Security
Extensions</ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://tools.ietf.org/html/rfc4641">RFC4641
- DNSSEC Operational Practices</ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://tools.ietf.org/html/rfc5011">RFC 5011
- Automated Updates of DNS Security
(<acronym>DNSSEC</acronym>
Trust Anchors</ulink></para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="network-apache">
<sect1info>
<authorgroup>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Apache HTTP Server</title>
<indexterm><primary>web servers</primary>
<secondary>setting up</secondary></indexterm>
<indexterm><primary>Apache</primary></indexterm>
<sect2>
<title>Overview</title>
<para>&os; is used to run some of the busiest web sites in the
world. The majority of web servers on the Internet are using
the <application>Apache HTTP Server</application>.
<application>Apache</application> software packages should be
included on the &os; installation media. If
<application>Apache</application> was not installed while
installing &os;, then it can be installed from the
<filename role="package">www/apache22</filename> port.</para>
<para>Once <application>Apache</application> has been installed
successfully, it must be configured.</para>
<note>
<para>This section covers version 2.2.X of the
<application>Apache HTTP Server</application> as that is the
most widely used version for &os;. For more detailed
information beyond the scope of this document about
<application>Apache</application>&nbsp;2.X, please see
<ulink url="http://httpd.apache.org/"></ulink>.</para>
</note>
</sect2>
<sect2>
<title>Configuration</title>
<indexterm><primary>Apache</primary>
<secondary>configuration file</secondary></indexterm>
<para>The main <application>Apache HTTP Server</application>
configuration file is installed as
<filename>/usr/local/etc/apache22/httpd.conf</filename> on
&os;. This file is a typical &unix; text configuration file
with comment lines beginning with the <literal>#</literal>
character. A comprehensive description of all possible
configuration options is outside the scope of this book, so
only the most frequently modified directives will be described
here.</para>
<variablelist>
<varlistentry>
<term><literal>ServerRoot "/usr/local"</literal></term>
<listitem>
<para>This specifies the default directory hierarchy for
the <application>Apache</application> installation.
Binaries are stored in the
<filename class="directory">bin</filename> and
<filename class="directory">sbin</filename>
subdirectories of the server root, and configuration
files are stored in <filename
class="directory">etc/apache</filename>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ServerAdmin you@your.address</literal></term>
<listitem>
<para>The address to which problems with the server should
be emailed. This address also appears on some
server-generated pages, such as error documents.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>ServerName www.example.com</literal></term>
<listitem>
<para><literal>ServerName</literal> allows an
administrator to set a host name which is sent back to
clients for the server. This is useful if the host is
different than the one that it is configured with (i.e.,
use <hostid>www</hostid> instead of the host's real
name).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>DocumentRoot
"/usr/local/www/apache22/data"</literal></term>
<listitem>
<para><literal>DocumentRoot</literal>: The directory
where documents will be served from. By default, all
requests are taken from this directory, but symbolic
links and aliases may be used to point to other
locations.</para>
</listitem>
</varlistentry>
</variablelist>
<para>It is always a good idea to make backup copies of the
<application>Apache</application> configuration file before
making changes. When the configuration of
<application>Apache</application>, is complete, save the
file and verify the configuration using &man.apachectl.8;.
To do this, issue <command>apachectl configtest</command>
which should return <literal>Syntax OK</literal>.</para>
</sect2>
<sect2>
<title>Running <application>Apache</application></title>
<indexterm><primary>Apache</primary>
<secondary>starting or stopping</secondary></indexterm>
<para>The <filename role="package">www/apache22</filename> port
installs an &man.rc.8; script to aid in starting, stopping,
and restarting <application>Apache</application>, which can be
found in <filename
class="directory">/usr/local/etc/rc.d/</filename>.</para>
<para>To launch <application>Apache</application> at system
startup, add the following line to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>apache22_enable="YES"</programlisting>
<para>If <application>Apache</application> should be started
with non-default options, the following line may be added to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>apache22_flags=""</programlisting>
<para>The <application>Apache</application> configuration can be
tested for errors after making subsequent
configuration changes while <command>httpd</command> is
running. This can be done by the &man.rc.8; script directly,
or by the &man.service.8; utility by issuing one of the
following commands:</para>
<screen>&prompt.root; <userinput>service apache22 configtest</userinput></screen>
<note>
<para>It is important to note that the
<literal>configtest</literal> is not an &man.rc.8; standard,
and should not be expected to work for all &man.rc.8;
startup scripts.</para>
</note>
<para>If <application>Apache</application> does not report
configuration errors, the
<application>Apache</application>&nbsp;<command>httpd</command>
can be started with &man.service.8;:</para>
<screen>&prompt.root; <userinput>service apache22 start</userinput></screen>
<para>The <command>httpd</command> service can be tested by
entering <literal>http://<hostid
role="fqdn"><replaceable>localhost</replaceable></hostid></literal>
in a web browser, replacing
<replaceable>localhost</replaceable> with the fully-qualified
domain name of the machine running <command>httpd</command>,
if it is not the local machine. The default web page that is
displayed is
<filename>/usr/local/www/apache22/data/index.html</filename>.</para>
</sect2>
<sect2>
<title>Virtual Hosting</title>
<para><application>Apache</application> supports two different
types of Virtual Hosting. The first method is Name-based
Virtual Hosting. Name-based virtual hosting uses the clients
HTTP/1.1 headers to figure out the hostname. This allows many
different domains to share the same IP address.</para>
<para>To setup <application>Apache</application> to use
Name-based Virtual Hosting add an entry like the following to
<filename>httpd.conf</filename>:</para>
<programlisting>NameVirtualHost *</programlisting>
- <para>If the webserver was named <hostid
- role="fqdn">www.domain.tld</hostid> and
- a virtual domain for <hostid
- role="fqdn">www.someotherdomain.tld</hostid> then
+ <para>If the webserver was named
+ <hostid role="fqdn">www.domain.tld</hostid> and
+ a virtual domain for
+ <hostid role="fqdn">www.someotherdomain.tld</hostid> then
add the following entries to
<filename>httpd.conf</filename>:</para>
<screen>&lt;VirtualHost *&gt;
ServerName www.domain.tld
DocumentRoot /www/domain.tld
&lt;/VirtualHost&gt;
&lt;VirtualHost *&gt;
ServerName www.someotherdomain.tld
DocumentRoot /www/someotherdomain.tld
&lt;/VirtualHost&gt;</screen>
- <para>Replace the addresses with the addresses needed
- and the path to the documents with what are being used.</para>
+ <para>Replace the addresses with the addresses needed and the
+ path to the documents with what are being used.</para>
<para>For more information about setting up virtual hosts,
please consult the official <application>Apache</application>
documentation at: <ulink
url="http://httpd.apache.org/docs/vhosts/"></ulink>.</para>
</sect2>
<sect2>
<title>Apache Modules</title>
<indexterm><primary>Apache</primary>
<secondary>modules</secondary></indexterm>
<para>There are many different <application>Apache</application>
modules available to add functionality to the basic server.
The FreeBSD Ports Collection provides an easy way to install
<application>Apache</application> together with some of the
more popular add-on modules.</para>
<sect3>
<title><application>mod_ssl</application></title>
<indexterm>
<primary>web servers</primary>
<secondary>secure</secondary>
</indexterm>
<indexterm><primary>SSL</primary></indexterm>
<indexterm><primary>cryptography</primary></indexterm>
<para>The <application>mod_ssl</application> module uses the
OpenSSL library to provide strong cryptography via the
Secure Sockets Layer (SSL v2/v3) and Transport Layer
Security (TLS v1) protocols. This module provides
- everything necessary to request a signed certificate from
- a trusted certificate signing authority to run
- a secure web server on &os;.</para>
+ everything necessary to request a signed certificate from a
+ trusted certificate signing authority to run a secure web
+ server on &os;.</para>
<para>The <application>mod_ssl</application> module is built
by default, but can be enabled by specifying
<literal>-DWITH_SSL</literal> at compile time.</para>
</sect3>
<sect3>
<title>Language Bindings</title>
<para>There are Apache modules for most major scripting
languages. These modules typically make it possible to
write <application>Apache</application> modules entirely in
a scripting language. They are also often used as a
persistent interpreter embedded into the server that avoids
the overhead of starting an external interpreter and the
startup-time penalty for dynamic websites, as described in
the next section.</para>
</sect3>
</sect2>
<sect2>
<title>Dynamic Websites</title>
<indexterm>
<primary>web servers</primary>
<secondary>dynamic</secondary>
</indexterm>
<para>In the last decade, more businesses have turned to the
Internet in order to enhance their revenue and increase
exposure. This has also increased the need for interactive
web content. While some companies, such as &microsoft;,
have introduced solutions into their proprietary products,
the open source community answered the call. Modern options
for dynamic web content include Django, Ruby on Rails,
<application>mod_perl2</application>, and
<application>mod_php</application>.</para>
<sect3>
<title>Django</title>
<indexterm><primary>Python</primary></indexterm>
<indexterm><primary>Django</primary></indexterm>
<para>Django is a BSD licensed framework designed to allow
developers to write high performance, elegant web
applications quickly. It provides an object-relational
mapper so that data types are developed as Python objects,
and a rich dynamic database-access API is provided for those
objects without the developer ever having to write SQL. It
also provides an extensible template system so that the
logic of the application is separated from the HTML
presentation.</para>
<para>Django depends on <application>mod_python</application>,
<application>Apache</application>, and an SQL database
engine. The &os; Port will install all of
these pre-requisites with the appropriate
flags.</para>
<example id="network-www-django-install">
<title>Installing Django with
<application>Apache2</application>,
<application>mod_python3</application>, and
<application>PostgreSQL</application></title>
<screen>&prompt.root; <userinput>cd /usr/ports/www/py-django; make all install clean -DWITH_MOD_PYTHON3 -DWITH_POSTGRESQL</userinput></screen>
</example>
<para>Once Django and these pre-requisites are installed,
the application will need a Django project directory along
with the Apache configuration to use the embedded Python
interpreter. This will be the interpreter to
call the application for specific URLs on the site.</para>
<example id="network-www-django-apache-config">
<title>Apache Configuration for Django/mod_python</title>
<para>A line must be added to the apache
<filename>httpd.conf</filename> file to configure Apache
to pass requests for certain URLs to the web
application:</para>
<screen>&lt;Location "/"&gt;
SetHandler python-program
PythonPath "['/dir/to/the/django/packages/'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonAutoReload On
PythonDebug On
&lt;/Location&gt;</screen>
</example>
</sect3>
<sect3>
<title>Ruby on Rails</title>
<indexterm><primary>Ruby on Rails</primary></indexterm>
<para>Ruby on Rails is another open source web framework that
provides a full development stack and is optimized to make
web developers more productive and capable of writing
powerful applications quickly. It can be installed easily
from the ports system.</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/rubygem-rails; make all install clean</userinput></screen>
</sect3>
<sect3>
<title><application>mod_perl2</application></title>
<indexterm>
<primary>mod_perl2</primary>
<secondary>Perl</secondary>
</indexterm>
<para>The <application>Apache</application>/Perl integration
project brings together the full power of the Perl
programming language and the
<application>Apache HTTP Server</application>. With the
<application>mod_perl2</application> module it is possible
to write <application>Apache</application> modules entirely
in Perl. In addition, the persistent interpreter embedded
in the server avoids the overhead of starting an external
interpreter and the penalty of Perl start-up time.</para>
<para><application>mod_perl2</application> is available in the
<filename role="package">www/mod_perl2</filename>
port.</para>
</sect3>
<sect3>
<sect3info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
</sect3info>
<title><application>mod_php</application></title>
<indexterm>
<primary>mod_php</primary>
<secondary>PHP</secondary>
</indexterm>
- <para><acronym>PHP</acronym>, also known as <quote>PHP:
- Hypertext Preprocessor</quote> is a general-purpose
- scripting language that is especially suited for Web
- development. Capable of being embedded into
- <acronym>HTML</acronym> its syntax draws upon C, &java;,
- and Perl with the intention of allowing web developers to
- write dynamically generated webpages quickly.</para>
+ <para><acronym>PHP</acronym>, also known as
+ <quote>PHP: Hypertext Preprocessor</quote> is a
+ general-purpose scripting language that is especially suited
+ for Web development. Capable of being embedded into
+ <acronym>HTML</acronym> its syntax draws upon C, &java;, and
+ Perl with the intention of allowing web developers to write
+ dynamically generated webpages quickly.</para>
<para>To gain support for <acronym>PHP</acronym>5 for the
<application>Apache</application> web server, begin by
- installing the
- <filename role="package">lang/php5</filename>
+ installing the <filename role="package">lang/php5</filename>
port.</para>
<para>If the <filename role="package">lang/php5</filename>
port is being installed for the first time, available
<literal>OPTIONS</literal> will be displayed automatically.
If a menu is not displayed, i.e., because the <filename
role="package">lang/php5</filename> port has been installed
some time in the past, it is always possible to bring the
options dialog up again by running:</para>
<screen>&prompt.root; <userinput>make config</userinput></screen>
<para>in the port directory.</para>
<para>In the options dialog, check the
<literal>APACHE</literal> option to build
<application>mod_php5</application> as a loadable module for
the <application>Apache</application> web server.</para>
<note>
<para>A lot of sites are still using <acronym>PHP</acronym>4
for various reasons (i.e., compatibility issues or already
deployed web applications). If the
<application>mod_php4</application> is needed instead of
<application>mod_php5</application>, then please use the
<filename role="package">lang/php4</filename> port. The
<filename role="package">lang/php4</filename> port
supports many of the configuration and build-time options
of the <filename role="package">lang/php5</filename>
port.</para>
</note>
<para>This will install and configure the modules required
to support dynamic <acronym>PHP</acronym> applications.
Check to ensure the following sections have been added to
<filename>/usr/local/etc/apache22/httpd.conf</filename>:</para>
<programlisting>LoadModule php5_module libexec/apache/libphp5.so</programlisting>
<programlisting>AddModule mod_php5.c
&lt;IfModule mod_php5.c&gt;
DirectoryIndex index.php index.html
&lt;/IfModule&gt;
&lt;IfModule mod_php5.c&gt;
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
&lt;/IfModule&gt;</programlisting>
<para>Once completed, a simple call to the
<command>apachectl</command> command for a graceful
restart is needed to load the <acronym>PHP</acronym>
module:</para>
<screen>&prompt.root; <userinput>apachectl graceful</userinput></screen>
<para>For future upgrades of <acronym>PHP</acronym>, the
<command>make config</command> command will not be required;
the selected <literal>OPTIONS</literal> are saved
automatically by the &os; Ports framework.</para>
<para>The <acronym>PHP</acronym> support in &os; is extremely
modular so the base install is very limited. It is very
easy to add support using the
<filename role="package">lang/php5-extensions</filename>
port. This port provides a menu driven interface to
<acronym>PHP</acronym> extension installation.
Alternatively, individual extensions can be installed using
the appropriate port.</para>
<para>For instance, to add support for the
<application>MySQL</application> database server to
<acronym>PHP</acronym>5, simply install the port
<filename>databases/php5-mysql</filename>.</para>
<para>After installing an extension, the
<application>Apache</application> server must be reloaded to
pick up the new configuration changes:</para>
<screen>&prompt.root; <userinput>apachectl graceful</userinput></screen>
</sect3>
</sect2>
</sect1>
<sect1 id="network-ftp">
<sect1info>
<authorgroup>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>File Transfer Protocol (FTP)</title>
<indexterm><primary>FTP servers</primary></indexterm>
<sect2>
<title>Overview</title>
<para>The File Transfer Protocol (FTP) provides users with a
simple way to transfer files to and from an
<acronym role="File Transfer Protocol">FTP</acronym> server.
&os; includes
<acronym role="File Transfer Protocol">FTP</acronym> server
software, <application>ftpd</application>, in the base system.
This makes setting up and administering an
<acronym role="File Transfer Protocol">FTP</acronym> server on
FreeBSD very straightforward.</para>
</sect2>
<sect2>
<title>Configuration</title>
<para>The most important configuration step is deciding which
accounts will be allowed access to the FTP server. A normal
- &os; system has a number of system accounts used for
- various daemons, but unknown users should not be allowed to
- log in with these accounts. The
- <filename>/etc/ftpusers</filename> file is a list of users
- disallowed any FTP access. By default, it includes the
- aforementioned system accounts, but it is possible to add
- specific users here that should not be allowed access to
- FTP.</para>
+ &os; system has a number of system accounts used for various
+ daemons, but unknown users should not be allowed to log in
+ with these accounts. The <filename>/etc/ftpusers</filename>
+ file is a list of users disallowed any FTP access. By
+ default, it includes the aforementioned system accounts, but
+ it is possible to add specific users here that should not be
+ allowed access to FTP.</para>
<para>In some cases it may be desirable to restrict the access
of some users without preventing them completely from using
FTP. This can be accomplished with the
<filename>/etc/ftpchroot</filename> file. This file lists
users and groups subject to FTP access restrictions. The
&man.ftpchroot.5; manual page has all of the details so it
will not be described in detail here.</para>
<indexterm>
<primary>FTP</primary>
<secondary>anonymous</secondary>
</indexterm>
<para>To enable anonymous FTP access to the server, create a
user named <username>ftp</username> on the &os; system. Users
will then be able to log on to the FTP server with a username
of <username>ftp</username> or <username>anonymous</username>
and with any password (by convention an email address for the
user should be used as the password). The FTP server will
call &man.chroot.2; when an anonymous user logs in, to
restrict access to only the home directory of the
<username>ftp</username> user.</para>
<para>There are two text files that specify welcome messages to
be displayed to FTP clients. The contents of the file
<filename>/etc/ftpwelcome</filename> will be displayed to
users before they reach the login prompt. After a successful
login, the contents of the file
<filename>/etc/ftpmotd</filename> will be displayed. Note
that the path to this file is relative to the login
environment, so the file <filename>~ftp/etc/ftpmotd</filename>
would be displayed for anonymous users.</para>
<para>Once the FTP server has been configured properly, it must
be enabled in <filename>/etc/inetd.conf</filename>. All that
is required here is to remove the comment symbol
<quote>#</quote> from in front of the existing
<application>ftpd</application> line :</para>
<programlisting>ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l</programlisting>
<para>As explained in <xref linkend="network-inetd-reread"/>,
the <application>inetd</application> configuration must be
reloaded after this configuration file is changed. Please
refer to <xref linkend="network-inetd-settings"/> for details
on enabling <application>inetd</application> on the
system.</para>
<para>Alternatively, <application>ftpd</application> can also be
started as a stand-alone server. In this case, it is
sufficient to set the appropriate variable in
<filename>/etc/rc.conf</filename>:</para>
<programlisting>ftpd_enable="YES"</programlisting>
<para>After setting the above variable, the stand-alone server
will be started at the next reboot, or it can be started
manually by executing the following command as
<username>root</username>:</para>
<screen>&prompt.root; <userinput>service ftpd start</userinput></screen>
<para>You can now log on to the FTP server by typing:</para>
<screen>&prompt.user; <userinput>ftp localhost</userinput></screen>
-
</sect2>
<sect2>
<title>Maintaining</title>
<indexterm><primary>syslog</primary></indexterm>
<indexterm><primary>log files</primary>
<secondary>FTP</secondary></indexterm>
<para>The <application>ftpd</application> daemon uses
&man.syslog.3; to log messages. By default, the system log
daemon will put messages related to FTP in the
<filename>/var/log/xferlog</filename> file. The location of
the FTP log can be modified by changing the following line in
<filename>/etc/syslog.conf</filename>:</para>
<programlisting>ftp.info /var/log/xferlog</programlisting>
<indexterm>
<primary>FTP</primary>
<secondary>anonymous</secondary>
</indexterm>
<para>Be aware of the potential problems involved with running
an anonymous FTP server. In particular, think twice about
allowing anonymous users to upload files. It may turn out
that the FTP site becomes a forum for the trade of unlicensed
commercial software or worse. If anonymous FTP uploads are
required, then verify the permissions so that these files can
not be read by other anonymous users until they have been
reviewed by an administrator.</para>
</sect2>
</sect1>
<sect1 id="network-samba">
<sect1info>
<authorgroup>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>File and Print Services for &microsoft.windows; Clients
(Samba)</title>
<indexterm><primary>Samba server</primary></indexterm>
<indexterm><primary>Microsoft Windows</primary></indexterm>
<indexterm>
<primary>file server</primary>
<secondary>Windows clients</secondary>
</indexterm>
<indexterm>
<primary>print server</primary>
<secondary>Windows clients</secondary>
</indexterm>
<sect2>
<title>Overview</title>
<para><application>Samba</application> is a popular open source
software package that provides file and print services for
&microsoft.windows; clients. Such clients can connect to and
use &os; filespace as if it was a local disk drive, or
&os; printers as if they were local printers.</para>
<para><application>Samba</application> software packages should
be included on the &os; installation media. If they were not
installed when first installing &os;, then they may be
installed from the
<filename role="package">net/samba34</filename> port or
package.</para>
<!-- mention LDAP, Active Directory, WinBIND, ACL, Quotas, PAM, .. -->
</sect2>
<sect2>
<title>Configuration</title>
<para>A default <application>Samba</application> configuration
file is installed as
<filename>/usr/local/share/examples/samba34/smb.conf.default</filename>.
This file must be copied to
<filename>/usr/local/etc/smb.conf</filename> and customized
before <application>Samba</application> can be used.</para>
<para>The <filename>smb.conf</filename> file contains runtime
configuration information for
<application>Samba</application>, such as definitions of the
printers and <quote>file system shares</quote> that will
be shared with &windows; clients. The
<application>Samba</application> package includes a web based
tool called <application>swat</application> which provides a
simple way of configuring the <filename>smb.conf</filename>
file.</para>
<sect3>
<title>Using the Samba Web Administration Tool (SWAT)</title>
<para>The Samba Web Administration Tool (SWAT) runs as a
daemon from <application>inetd</application>. Therefore,
<application>inetd</application> must be enabled as shown in
<xref linkend="network-inetd"/>, and the following line in
<filename>/etc/inetd.conf</filename> should be uncommented
before <application>swat</application> can be used to
configure <application>Samba</application>:</para>
<programlisting>swat stream tcp nowait/400 root /usr/local/sbin/swat swat</programlisting>
<para>As explained in <xref linkend="network-inetd-reread"/>,
the <application>inetd</application> configuration must be
reloaded after this configuration file is changed.</para>
<para>Once <application>swat</application> has been enabled in
<filename>inetd.conf</filename>, a web browser may be used
to connect to <ulink url="http://localhost:901"></ulink>.
At first login, the system <username>root</username> account
must be used.</para>
<!-- XXX screenshots go here, loader is creating them
XXXTR: I'll believe it when I see it. -->
<para>Once successfully logging on to the main
<application>Samba</application> configuration page, the
system documentation will be available, or configuration may
begin by clicking on the <guimenu>Globals</guimenu> tab.
The <guimenu>Globals</guimenu> section corresponds to the
variables that are set in the <literal>[global]</literal>
section of
<filename>/usr/local/etc/smb.conf</filename>.</para>
</sect3>
<sect3>
<title>Global Settings</title>
<para>Whether <application>swat</application> is being used or
<filename>/usr/local/etc/smb.conf</filename> is being edited
directly, the first directives encountered when configuring
<application>Samba</application> are:</para>
<variablelist>
<varlistentry>
<term><literal>workgroup</literal></term>
<listitem>
<para>NT Domain-Name or Workgroup-Name for the computers
that will be accessing this server.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>netbios name</literal></term>
<listitem>
<para>This sets the NetBIOS name by which a
<application>Samba</application> server is known.
By default it is the same as the first component of
the host's DNS name.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>server string</literal></term>
<listitem>
<para>This sets the string that will be displayed with
the <command>net view</command> command and some other
networking tools that seek to display descriptive text
about the server.</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3>
<title>Security Settings</title>
<para>Two of the most important settings in
<filename>/usr/local/etc/smb.conf</filename> are the
security model chosen, and the backend password format for
client users. The following directives control these
options:</para>
<variablelist>
<varlistentry>
<term><literal>security</literal></term>
<listitem>
<para>The two most common options here are
<literal>security = share</literal> and
<literal>security = user</literal>. If the clients
use usernames that are the same as their usernames on
the &os; machine then user level security should be
used. This is the default security policy and it
requires clients to first log on before they can
access shared resources.</para>
<para>In share level security, clients do not need to
log onto the server with a valid username and password
before attempting to connect to a shared resource.
This was the default security model for older versions
of <application>Samba</application>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>passdb backend</literal></term>
<listitem>
<indexterm><primary>NIS+</primary></indexterm>
<indexterm><primary>LDAP</primary></indexterm>
<indexterm><primary>SQL database</primary></indexterm>
<para><application>Samba</application> has several
different backend authentication models. Clients may
be authenticated with LDAP, NIS+, an SQL database,
or a modified password file. The default
authentication method is <literal>smbpasswd</literal>,
and that is all that will be covered here.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Assuming that the default <literal>smbpasswd</literal>
backend is used, the
<filename>/usr/local/etc/samba/smbpasswd</filename> file
must be created to allow <application>Samba</application> to
authenticate clients. To provide the &unix; user accounts
access from &windows; clients, use the following
command:</para>
<screen>&prompt.root; <userinput>smbpasswd -a username</userinput></screen>
<note>
<para>The recommended backend is now
<literal>tdbsam</literal>, and the following command
should be used to add user accounts:</para>
<screen>&prompt.root; <userinput><command>pdbedit <option>-a</option> <option>-u</option> <replaceable>username</replaceable></command></userinput></screen>
</note>
<para>Please see the <ulink
url="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/">Official
Samba HOWTO</ulink> for additional information about
configuration options. With the basics outlined here, the
minimal required start running
<application>Samba</application> will be explained. Other
documentation should be consulted in addition to the
information here.</para>
</sect3>
</sect2>
<sect2>
<title>Starting <application>Samba</application></title>
<para>The <filename role="package">net/samba34</filename> port
adds a new startup script, which can be used to control
<application>Samba</application>. To enable this script, so
that it can be used for example to start, stop or restart
<application>Samba</application>, add the following line to
the <filename>/etc/rc.conf</filename> file:</para>
<programlisting>samba_enable="YES"</programlisting>
<para>Or, for fine grain control:</para>
<programlisting>nmbd_enable="YES"</programlisting>
<programlisting>smbd_enable="YES"</programlisting>
<note>
<para>This will also configure
<application>Samba</application> to automatically start at
system boot time.</para>
</note>
<para>It is possible then to start
<application>Samba</application> at any time by typing:</para>
<screen>&prompt.root; <userinput>service samba start</userinput>
Starting SAMBA: removing stale tdbs :
Starting nmbd.
Starting smbd.</screen>
<para>Please refer to <xref linkend="configtuning-rcd"/> for
more information about using rc scripts.</para>
<para><application>Samba</application> actually consists of
three separate daemons. Notice that both the
<application>nmbd</application> and
<application>smbd</application> daemons are started by the
<filename>samba</filename> script. If winbind,
name resolution services were enabled in
<filename>smb.conf</filename>,
the <application>winbindd</application> daemon will be
started as well.</para>
<para><application>Samba</application> may be stopped at any
time by typing:</para>
<screen>&prompt.root; <userinput>service samba stop</userinput></screen>
<para><application>Samba</application> is a complex software
suite with functionality that allows broad integration with
&microsoft.windows; networks. For more information about
functionality beyond the basic installation described here,
please see <ulink url="http://www.samba.org"></ulink>.</para>
</sect2>
-
</sect1>
<sect1 id="network-ntp">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Hukins</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Clock Synchronization with NTP</title>
<indexterm><primary>NTP</primary></indexterm>
<sect2>
<title>Overview</title>
<para>Over time, a computer's clock is prone to drift. The
Network Time Protocol (NTP) is one way to ensure the clock
stays accurate.</para>
<para>Many Internet services rely on, or greatly benefit from,
computers' clocks being accurate. For example, a web server
may receive requests to send a file if it has been modified
since a certain time. In a local area network environment, it
is essential that computers sharing files from the same file
server have synchronized clocks so that file timestamps stay
- consistent. Services such as &man.cron.8; also rely on
- an accurate system clock to run commands at the specified
+ consistent. Services such as &man.cron.8; also rely on an
+ accurate system clock to run commands at the specified
times.</para>
<indexterm>
<primary>NTP</primary>
<secondary>ntpd</secondary>
</indexterm>
<para>&os; ships with the &man.ntpd.8;
<acronym role="Network Time Protocol">NTP</acronym> server
which can be used to query other
<acronym role="Network Time Protocol">NTP</acronym> servers to
set the clock on the machine or provide time services to
others.</para>
</sect2>
<sect2>
<title>Choosing Appropriate NTP Servers</title>
<indexterm>
<primary>NTP</primary>
<secondary>choosing servers</secondary>
</indexterm>
<para>In order to synchronize the clock, one or more
<acronym role="Network Time Protocol">NTP</acronym> servers
must be defined. The network administrator or ISP may have
set up an NTP server for this purpose&mdash;check their
documentation to see if this is the case. There is an <ulink
url="http://support.ntp.org/bin/view/Servers/WebHome">online
list of publicly accessible NTP servers</ulink> which may be
referenced to find an NTP server nearest to the system. Take
care to review the policy for any chosen servers, and ask for
permission if required.</para>
<para>Choosing several unconnected NTP servers is a good idea in
case one of the servers being used becomes unreachable or
its clock is unreliable. &man.ntpd.8; uses the responses it
receives from other servers intelligently&mdash;it will favor
unreliable servers less than reliable ones.</para>
</sect2>
<sect2>
<title>Configuring The Machine</title>
<indexterm>
<primary>NTP</primary>
<secondary>configuration</secondary>
</indexterm>
<sect3>
<title>Basic Configuration</title>
<indexterm><primary>ntpdate</primary></indexterm>
<para>To synchronize the clock only when the machine boots up,
use &man.ntpdate.8;. This may be appropriate for some
desktop machines which are frequently rebooted and only
require infrequent synchronization, but most machines should
run &man.ntpd.8;.</para>
<para>Using &man.ntpdate.8; at boot time is also a good idea
for machines that run &man.ntpd.8;. The &man.ntpd.8;
program changes the clock gradually, whereas &man.ntpdate.8;
sets the clock, no matter how great the difference between a
machine's current clock setting and the correct time.</para>
<para>To enable &man.ntpdate.8; at boot time, add
<literal>ntpdate_enable="YES"</literal> to
<filename>/etc/rc.conf</filename>. Also specify all
synchronization servers and any flags to be passed to
&man.ntpdate.8; in <varname>ntpdate_flags</varname>.</para>
</sect3>
<sect3>
<title>General Configuration</title>
<indexterm>
<primary>NTP</primary>
<secondary>ntp.conf</secondary>
</indexterm>
<para>NTP is configured by the
<filename>/etc/ntp.conf</filename> file in the format
described in &man.ntp.conf.5;. Here is a simple
example:</para>
<programlisting>server ntplocal.example.com prefer
server timeserver.example.org
server ntp2a.example.net
driftfile /var/db/ntp.drift</programlisting>
<para>The <literal>server</literal> option specifies which
servers are to be used, with one server listed on each line.
If a server is specified with the <literal>prefer</literal>
argument, as with
<hostid role="fqdn">ntplocal.example.com</hostid>, that
server is preferred over other servers. A response from a
preferred server will be discarded if it differs
significantly from other servers' responses, otherwise it
will be used without any consideration to other responses.
The <literal>prefer</literal> argument is normally used for
NTP servers that are known to be highly accurate, such as
those with special time monitoring hardware.</para>
<para>The <literal>driftfile</literal> option specifies which
file is used to store the system clock's frequency offset.
The &man.ntpd.8; program uses this to automatically
compensate for the clock's natural drift, allowing it to
maintain a reasonably correct setting even if it is cut off
from all external time sources for a period of time.</para>
<para>The <literal>driftfile</literal> option specifies which
file is used to store information about previous responses
from the NTP servers being used. This file contains
internal information for NTP. It should not be modified by
any other process.</para>
</sect3>
<sect3>
<title>Controlling Access to Your Server</title>
<para>By default, the NTP server will be accessible to all
hosts on the Internet. The <literal>restrict</literal>
option in <filename>/etc/ntp.conf</filename>
controls which machines can access the server.</para>
<para>To deny all machines from accessing the NTP
server, add the following line to
<filename>/etc/ntp.conf</filename>:</para>
<programlisting>restrict default ignore</programlisting>
<note>
<para>This will also prevent access from the server to any
servers listed in the local configuration. If there is a
need to synchronise the NTP server with an external NTP
server, allow only that specific server. See the
&man.ntp.conf.5; manual for more information.</para>
</note>
<para>To allow machines within the network to synchronize
their clocks with the server, but ensure they are not
allowed to configure the server or used as peers to
synchronize against, add</para>
<programlisting>restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap</programlisting>
<para>instead, where
<hostid role="ipaddr">192.168.1.0</hostid> is an IP address
on the network and
<hostid role="netmask">255.255.255.0</hostid> is the
network's netmask.</para>
<para>The <filename>/etc/ntp.conf</filename> file can contain
multiple <literal>restrict</literal> options. For more
details, see the <literal>Access Control Support</literal>
subsection of &man.ntp.conf.5;.</para>
</sect3>
</sect2>
<sect2>
<title>Running the NTP Server</title>
<para>To ensure the NTP server is started at boot time, add the
line <literal>ntpd_enable="YES"</literal> to
<filename>/etc/rc.conf</filename>. To pass
additional flags to &man.ntpd.8;, edit the
<varname>ntpd_flags</varname> parameter in
<filename>/etc/rc.conf</filename>.</para>
<para>To start the server without rebooting the machine, run
<command>ntpd</command> being sure to specify any additional
parameters from <varname>ntpd_flags</varname> in
<filename>/etc/rc.conf</filename>. For example:</para>
<screen>&prompt.root; <userinput>ntpd -p /var/run/ntpd.pid</userinput></screen>
</sect2>
<sect2>
<title>Using <application>ntpd</application> with a Temporary
Internet Connection</title>
<para>The &man.ntpd.8; program does not need a permanent
connection to the Internet to function properly. However, if
there is a temporary connection that is configured to dial out
on demand, it is a good idea to prevent NTP traffic from
triggering a dial out or keeping the connection alive. PPP
users can use the <literal>filter</literal>
directives in <filename>/etc/ppp/ppp.conf</filename>. For
example:</para>
<programlisting> set filter dial 0 deny udp src eq 123
# Prevent NTP traffic from initiating dial out
set filter dial 1 permit 0 0
set filter alive 0 deny udp src eq 123
# Prevent incoming NTP traffic from keeping the connection open
set filter alive 1 deny udp dst eq 123
# Prevent outgoing NTP traffic from keeping the connection open
set filter alive 2 permit 0/0 0/0</programlisting>
<para>For more details see the
<literal>PACKET FILTERING</literal> section in &man.ppp.8; and
the examples in
<filename>/usr/share/examples/ppp/</filename>.</para>
<note>
<para>Some Internet access providers block low-numbered ports,
preventing NTP from functioning since replies never
reach the machine.</para>
</note>
</sect2>
<sect2>
<title>Further Information</title>
<para>Documentation for the NTP server can be found in
<filename>/usr/share/doc/ntp/</filename> in HTML
format.</para>
</sect2>
</sect1>
<sect1 id="network-syslogd">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Remote Host Logging with <command>syslogd</command></title>
<para>Interacting with system logs is a crucial aspect of both
security and system administration. Monitoring the log files of
multiple hosts can get very unwieldy when these hosts are
distributed across medium or large networks, or when they are
parts of various different types of networks. In these cases,
configuring remote logging may make the whole process a lot more
comfortable.</para>
<para>Centralized logging to a specific logging host can reduce
some of the administrative burden of log file administration.
Log file aggregation, merging and rotation may be configured in
one location, using the native tools of &os;, such as
&man.syslogd.8; and &man.newsyslog.8;. In the following example
configuration, host <hostid>A</hostid>, named
<hostid role="fqdn">logserv.example.com</hostid>, will collect
logging information for the local network. Host
<hostid>B</hostid>, named
<hostid role="fqdn">logclient.example.com</hostid> will pass
logging information to the server system. In live
configurations, both hosts require proper forward and reverse
<acronym>DNS</acronym> or entries in
<filename>/etc/hosts</filename>. Otherwise, data will be
rejected by the server.</para>
<sect2>
<title>Log Server Configuration</title>
<para>Log servers are machines configured to accept logging
information from remote hosts. In most cases this is to ease
configuration, in other cases it may just be a better
administration move. Regardless of reason, there are a few
requirements before continuing.</para>
<para>A properly configured logging server has met the following
minimal requirements:</para>
<itemizedlist>
<listitem>
<para>The firewall ruleset allows for <acronym>UDP</acronym>
to be passed on port 514 on both the client and
server;</para>
</listitem>
<listitem>
<para><command>syslogd</command> has been configured to
accept remote messages from client machines;</para>
</listitem>
<listitem>
<para>The <command>syslogd</command> server and all client
machines must have valid entries for both forward and
reverse <acronym>DNS</acronym>, or be properly configured
in <filename>/etc/hosts</filename>.</para>
</listitem>
</itemizedlist>
<para>To configure the log server, the client must be listed
in <filename>/etc/syslog.conf</filename>, and the logging
facility must be specified:</para>
<programlisting>+logclient.example.com
*.* /var/log/logclient.log</programlisting>
<note>
<para>More information on various supported and available
<emphasis>facilities</emphasis> may be found in the
&man.syslog.conf.5; manual page.</para>
</note>
<para>Once added, all <literal>facility</literal> messages will
be logged to the file specified previously,
<filename>/var/log/logclient.log</filename>.</para>
<para>The server machine must also have the following listing
placed inside <filename>/etc/rc.conf</filename>:</para>
<programlisting>syslogd_enable="YES"
syslogd_flags="-a logclient.example.com -v -v"</programlisting>
<para>The first option will enable the
<command>syslogd</command> daemon on boot up, and the second
option allows data from the specified client to be accepted on
this server. The latter part, using <option>-v -v</option>,
will increase the verbosity of logged messages. This is
extremely useful for tweaking facilities as administrators are
able to see what type of messages are being logged under which
facility.</para>
<para>Multiple <option>-a</option> options may be specified to
allow logging from multiple clients. <acronym>IP</acronym>
addresses and whole netblocks may also be specified, see the
&man.syslog.3; manual page for a full list of possible
options.</para>
<para>Finally, the log file should be created. The method used
does not matter, but &man.touch.1; works great for situations
such as this:</para>
<screen>&prompt.root; <userinput><command>touch</command>
<filename>/var/log/logclient.log</filename></userinput></screen>
<para>At this point, the <command>syslogd</command> daemon
should be restarted and verified:</para>
<screen>&prompt.root; <userinput>service <command>syslogd</command> restart</userinput>
&prompt.root; <userinput><command>pgrep</command> syslog</userinput></screen>
<para>If a <acronym>PID</acronym> is returned, the server has
been restarted successfully, and client configuration may
begin. If the server has not restarted, consult the
<filename>/var/log/messages</filename> log for any
output.</para>
</sect2>
<sect2>
<title>Log Client Configuration</title>
<para>A logging client is a machine which sends log information
to a logging server in addition to keeping local
copies.</para>
<para>Similar to log servers, clients must also meet a few
minimum requirements:</para>
<itemizedlist>
<listitem>
<para>&man.syslogd.8; must be configured to send messages of
specific types to a log server, which must accept
them;</para>
</listitem>
<listitem>
<para>The firewall must allow <acronym>UDP</acronym> packets
through on port 514;</para>
</listitem>
<listitem>
<para>Both forward and reverse <acronym>DNS</acronym> must
be configured or have proper entries in the
<filename>/etc/hosts</filename>.</para>
</listitem>
</itemizedlist>
<para>Client configuration is a bit more relaxed when compared
to that of the servers. The client machine must have the
following listing placed inside
<filename>/etc/rc.conf</filename>:</para>
<programlisting>syslogd_enable="YES"
syslogd_flags="-s -v -v"</programlisting>
<para>As before, these entries will enable the
<command>syslogd</command> daemon on boot up, and increases
the verbosity of logged messages. The <option>-s</option>
option prevents logs from being accepted by this client from
other hosts.</para>
<para>Facilities describe the system part for which a message
is generated. For an example, <acronym>ftp</acronym> and
<acronym>ipfw</acronym> are both facilities. When log
messages are generated for those two services, they will
normally include those two utilities in any log messages.
Facilities are accompanied with a priority or level, which
is used to mark how important a log message is. The most
common will be the <literal>warning</literal> and
<literal>info</literal>. Please refer to the &man.syslog.3;
manual page for a full list of available facilities and
priorities.</para>
<para>The logging server must be defined in the client's
<filename>/etc/syslog.conf</filename>. In this instance,
the <literal>@</literal> symbol is used to send logging
data to a remote server and would look similar to the
following entry:</para>
<programlisting>*.* @logserv.example.com</programlisting>
<para>Once added, <command>syslogd</command> must be restarted
for the changes to take effect:</para>
<screen>&prompt.root; <userinput>service <command>syslogd</command> restart</userinput></screen>
<para>To test that log messages are being sent across the
network, use &man.logger.1; on the client to send a message to
<command>syslogd</command>:</para>
<screen>&prompt.root; <userinput><command>logger</command>
"<replaceable>Test message from logclient</replaceable>"</userinput></screen>
<para>This message should now exist both in
<filename>/var/log/messages</filename> on the client, and
<filename>/var/log/logclient.log</filename> on the
log server.</para>
</sect2>
<sect2>
<title>Debugging Log Servers</title>
<para>In certain cases, debugging may be required if messages
are not being received on the log server. There are several
reasons this may occur; however, the most common two are
network connection issues and <acronym>DNS</acronym> issues.
To test these cases, ensure both hosts are able to reach one
another using the hostname specified in
<filename>/etc/rc.conf</filename>. If this appears to be
working properly, an alternation to the
<literal>syslogd_flags</literal> option in
<filename>/etc/rc.conf</filename> will be required.</para>
<para>In the following example,
<filename>/var/log/logclient.log</filename> is empty, and the
<filename>/var/log/messages</filename> files indicate no
reason for the failure. To increase debugging output, change
the <literal>syslogd_flags</literal> option to look like the
following example, and issue a restart:</para>
<programlisting>syslogd_flags="-d -a logclien.example.com -v -v"</programlisting>
<screen>&prompt.root; <userinput>service <command>syslogd</command> restart</userinput></screen>
<para>Debugging data similar to the following will flash on the
screen immediately after the restart:</para>
<screen>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.</screen>
<para>It appears obvious the messages are being rejected due
to a name mismatch. After reviewing the configuration bit
by bit, it appears a typo in the following
<filename>/etc/rc.conf</filename> line has an issue:</para>
<programlisting>syslogd_flags="-d -a logclien.example.com -v -v"</programlisting>
<para>The line should contain <literal>logclient</literal>, not
<literal>logclien</literal>. After the proper alterations
are made, a restart is issued with expected results:</para>
<screen>&prompt.root; <userinput>service <command>syslogd</command> restart</userinput>
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 &lt;syslog.err&gt; 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</screen>
<para>At this point, the messages are being properly received
and placed in the correct file.</para>
</sect2>
<sect2>
<title>Security Considerations</title>
<para>As with any network service, security requirements should
be considered before implementing this configuration. At
times, log files may contain sensitive data about services
enabled on the local host, user accounts, and configuration
data. Network data sent from the client to the server will
not be encrypted nor password protected. If a need for
encryption exists, it might be possible to use
<filename role="package">security/stunnel</filename>, which
will transmit data over an encrypted tunnel.</para>
<para>Local security is also an issue. Log files are not
encrypted during use or after log rotation. Local users may
access these files to gain additional insight on system
configuration. In those cases, setting proper permissions
on these files will be critical. The &man.newsyslog.8;
utility supports setting permissions on newly created and
rotated log files. Setting log files to mode
<literal>600</literal> should prevent any unwanted snooping
by local users.</para>
</sect2>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/ports/chapter.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/ports/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/ports/chapter.xml (revision 42804)
@@ -1,1928 +1,1910 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="ports">
<title>Installing Applications: Packages and Ports</title>
<sect1 id="ports-synopsis">
<title>Synopsis</title>
<indexterm><primary>ports</primary></indexterm>
<indexterm><primary>packages</primary></indexterm>
<para>&os; is bundled with a rich collection of system tools as
- part of the base system. However, there is only so much one can
- do before needing to install an additional third-party
- application to get real work done. &os; provides two
+ part of the base system. In addition, &os; provides two
complementary technologies for installing third-party software:
- the &os; Ports Collection (for installing from source), and
- packages (for installing from pre-built binaries). Either
+ the &os; Ports Collection, for installing from source, and
+ packages, for installing from pre-built binaries. Either
method may be used to install software from local media or
from the network.</para>
- <para>After reading this chapter, you will know how to:</para>
+ <para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
- <para>Install third-party binary software packages.</para>
+ <para>The difference between binary packages and ports.</para>
</listitem>
<listitem>
- <para>Build third-party software from source by using the
- Ports Collection.</para>
+ <para>How to find third-party software that has been ported
+ to &os;.</para>
</listitem>
<listitem>
- <para>Remove previously installed packages or ports.</para>
+ <para>How to manage binary packages using the traditional
+ package system.</para>
</listitem>
<listitem>
- <para>Override the default values used by the Ports
- Collection.</para>
+ <para>How to manage binary packages using
+ <application>pkgng</application>.</para>
</listitem>
<listitem>
- <para>Find the appropriate software package.</para>
+ <para>How to build third-party software from source using the
+ Ports Collection.</para>
</listitem>
<listitem>
- <para>Upgrade installed software.</para>
+ <para>How to find the files installed with the application
+ for post-installation configuration.</para>
</listitem>
+
+ <listitem>
+ <para>What to do if a software installation fails.</para>
+ </listitem>
</itemizedlist>
</sect1>
<sect1 id="ports-overview">
<title>Overview of Software Installation</title>
<para>The typical steps for installing third-party software on a
&unix; system include:</para>
<procedure>
<step>
- <para>Download the software, which might be distributed in
- source code format, or as a binary.</para>
+ <para>Find and download the software, which might be distributed in
+ source code format or as a binary.</para>
</step>
<step>
- <para>Unpack the software from its distribution format
- (typically a tarball compressed with &man.compress.1;,
- &man.gzip.1;, or &man.bzip2.1;).</para>
+ <para>Unpack the software from its distribution format. This
+ is typically a tarball compressed with &man.compress.1;,
+ &man.gzip.1;, or &man.bzip2.1;.</para>
</step>
<step>
<para>Locate the documentation in
<filename>INSTALL</filename>, <filename>README</filename>
or some file in a <filename>doc/</filename> subdirectory and
read up on how to install the software.</para>
</step>
<step>
<para>If the software was distributed in source format,
compile it. This may involve editing a
- <filename>Makefile</filename>, or running a
- <command>configure</command> script, and other work.</para>
+ <filename>Makefile</filename> or running a
+ <command>configure</command> script.</para>
</step>
<step>
<para>Test and install the software.</para>
</step>
</procedure>
- <para>If you are installing a software package that was not
- deliberately ported to &os; you may even have to go in and edit
- the code to make it work properly.</para>
+ <para>If the software package was not
+ deliberately ported, or tested to work, on &os;, the source code may need editing
+ in order for it to install and run properly. At the time of
+ this writing, over &os.numports; third-party
+ applications have been ported to &os;.</para>
- <para>&os; provides two technologies which perform these steps for
- you. At the time of writing, over &os.numports; third-party
- applications are available.</para>
+ <para>&os; provides two technologies which automate these steps.</para>
<para>A &os; package contains pre-compiled copies of all the
commands for an application, as well as any configuration files
- and documentation. A package can be manipulated with &os;
- package management commands, such as &man.pkg.add.1;,
- &man.pkg.delete.1;, and &man.pkg.info.1;.</para>
+ and documentation. A package can be manipulated with the traditional &os;
+ package management commands, such as &man.pkg.add.1;, or using
+ the newer <application>pkgng</application> commands, such as
+ <command> pkg install</command>.</para>
<para>A &os; port is a collection of files designed to automate
the process of compiling an application from source code. The
files that comprise a port contain all the necessary information
to automatically download, extract, patch, compile, and install
the application.</para>
<para>The ports system can also be used to generate packages which
can be manipulated with the &os; package management
commands.</para>
<para>Both packages and ports understand
- <emphasis>dependencies</emphasis>. If &man.pkg.add.1; or the
- Ports Collection is used to install an application and a
+ dependencies. If a package or port
+ is used to install an application and a
dependent library is not already installed, the library will
automatically be installed first.</para>
- <para>While the two technologies are quite similar, packages and
+ <para>While the two technologies are similar, packages and
ports each have their own strengths. Select the technology that
meets your requirements for installing a particular
application.</para>
<itemizedlist>
<title>Package Benefits</title>
<listitem>
<para>A compressed package tarball is typically smaller than
the compressed tarball containing the source code for the
application.</para>
</listitem>
<listitem>
<para>Packages do not require compilation time. For large
applications, such as
<application>Mozilla</application>,
<application>KDE</application>, or
- <application>GNOME</application> this can be important,
+ <application>GNOME</application>, this can be important
on a slow system.</para>
</listitem>
<listitem>
<para>Packages do not require any understanding of the process
involved in compiling software on &os;.</para>
</listitem>
</itemizedlist>
<itemizedlist>
- <title>Ports Benefits</title>
+ <title>Port Benefits</title>
<listitem>
<para>Packages are normally compiled with conservative
options because they have to run on the maximum number of
systems. By compiling from the port, one can change the
compilation options.</para>
</listitem>
<listitem>
<para>Some applications have compile-time options relating to
which features are installed. For example,
<application>Apache</application> can be configured with a
wide variety of different built-in options.</para>
<para>In some cases, multiple packages will exist for the same
application to specify certain settings. For example,
<application>Ghostscript</application> is available as a
<filename>ghostscript</filename> package and a
<filename>ghostscript-nox11</filename> package, depending on
whether or not <application>Xorg</application> is installed.
Creating multiple packages rapidly becomes impossible if an
application has more than one or two different compile-time
options.</para>
</listitem>
<listitem>
<para>The licensing conditions of some software forbid binary
- distribution. These must be distributed as source code
+ distribution. Such software must be distributed as source code
which must be compiled by the end-user.</para>
</listitem>
<listitem>
<para>Some people do not trust binary distributions or prefer
to read through source code in order to look for potential
problems.</para>
</listitem>
<listitem>
- <para>If you have local patches, you will need the source in
- order to apply them.</para>
+ <para>Source code is needed in
+ order to apply custom patches.</para>
</listitem>
</itemizedlist>
<para>To keep track of updated ports, subscribe to the
&a.ports; and the &a.ports-bugs;.</para>
<warning>
<para>Before installing any application, check <ulink
url="http://vuxml.freebsd.org/"></ulink> for security issues
related to the application or install <filename
role="package">ports-mgmt/portaudit</filename>. Once
installed, type <command>portaudit -F -a</command> to check
all installed applications for known vulnerabilities.</para>
</warning>
<para>The remainder of this chapter explains how to use packages
and ports to install and manage third-party software on
&os;.</para>
</sect1>
<sect1 id="ports-finding-applications">
<title>Finding Software</title>
<para>&os;'s list of available applications is growing all the
time. There are a number of ways to find software to
install:</para>
<itemizedlist>
<listitem>
<para>The &os; web site maintains an up-to-date searchable
list of all the available applications, at <ulink
url="&url.base;/ports/index.html">http://www.FreeBSD.org/ports/</ulink>.
The ports can be searched by application name or by
software category.</para>
</listitem>
<listitem>
<indexterm><primary>FreshPorts</primary></indexterm>
<para>Dan Langille maintains <ulink
- url="http://www.FreshPorts.org/">FreshPorts</ulink> which
+ url="http://www.FreshPorts.org/">FreshPorts.org</ulink> which
provides a comprehensive search utility and also tracks
changes to the applications in the Ports Collection.
Registered users can create a customized watch list in order
to receive an automated email when their watched ports are
updated.</para>
</listitem>
<listitem>
<indexterm><primary>Freecode</primary></indexterm>
- <para>If you do not know the name of the application you want,
- try using a site like Freecode (<ulink
- url="http://www.freecode.com/"></ulink>) to find an
+ <para>If you do not know the name of an application,
+ try using a site like <ulink
+ url="http://www.freecode.com/">Freecode.com</ulink> to find an
application, then check back at the &os; site to see if
the application has been ported yet.</para>
</listitem>
<listitem>
- <para>To find out which category a port is in, type
+ <para>If the Ports Collection is already installed, there are
+ several methods to query the local version of the ports tree.
+ To find out which category a port is in, type
<command>whereis <replaceable>file</replaceable></command>,
where <replaceable>file</replaceable> is the program to be
installed:</para>
<screen>&prompt.root; <userinput>whereis lsof</userinput>
lsof: /usr/ports/sysutils/lsof</screen>
<para>Alternately, an &man.echo.1; statement can be
used:</para>
<screen>&prompt.root; <userinput>echo /usr/ports/*/*lsof*</userinput>
/usr/ports/sysutils/lsof</screen>
- <para>Note that this will return any matched files downloaded
+ <para>Note that this will also return any matched files downloaded
into the <filename
class="directory">/usr/ports/distfiles</filename>
directory.</para>
</listitem>
<listitem>
<para>Another way to find software is by using the Ports
Collection's built-in search mechanism. To use
the search feature, <application>cd</application> to
- <filename>/usr/ports</filename> then run <command>make
+ <filename class="directory">/usr/ports</filename> then run <command>make
<maketarget>search</maketarget>
name=<replaceable>program-name</replaceable></command>
where <replaceable>program-name</replaceable> is the name of
the software. For example, to search for
<command>lsof</command>:</para>
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make search name=lsof</userinput>
-Port: lsof-4.56.4
+Port: lsof-4.88.d,8
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
-Maint: obrien@FreeBSD.org
+Maint: ler@lerctr.org
Index: sysutils
B-deps:
R-deps: </screen>
<tip>
- <para><command>make search</command> searches through a file
- of index information. If a message indicates the
+ <para>The built-in search mechanism uses a file
+ of index information. If a message indicates that the
<filename>INDEX</filename> is required, run
<command>make fetchindex</command> to download the current
index file. With the <filename>INDEX</filename> present,
<command>make search</command> will be able to perform the
requested search.</para>
</tip>
<para>The <quote>Path:</quote> line indicates where to find
the port.</para>
<para>To receive less information, use the
<command>quicksearch</command> feature:</para>
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make quicksearch name=lsof</userinput>
-Port: lsof-4.87.a,7
+Port: lsof-4.88.d,8
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))</screen>
<para>For more in-depth searching, use
<command>make <maketarget>search</maketarget>
key=<replaceable>string</replaceable></command> or
<command>make <maketarget>quicksearch</maketarget>
key=<replaceable>string</replaceable></command>, where
<replaceable>string</replaceable> is some text to search
for. The text can be in comments, descriptions, or dependencies
in order to find ports which relate to a particular subject
when the name of the program is unknown.</para>
- <para>When using (<maketarget>search</maketarget> and
- <maketarget>quicksearch</maketarget>), the search string
+ <para>When using <maketarget>search</maketarget> or
+ <maketarget>quicksearch</maketarget>, the search string
is case-insensitive. Searching for <quote>LSOF</quote> will
yield the same results as searching for
<quote>lsof</quote>.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="packages-using">
<sect1info>
<authorgroup>
<author>
<firstname>Chern</firstname>
<surname>Lee</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
<!-- 30 Mar 2001 -->
</sect1info>
<title>Using Binary Packages</title>
<para>At the present time, &os; is transitioning toward a new
method of package management. Users of the latest releases
may wish to investigate the benefits of using
<link linkend="pkgng-intro">PKGng</link> to manage third
party software on &os;. For those not yet migrated to the
<application>pkgng</application> tool, the tools discussed
here may be used for managing the package database. For
simplicity, the <command>sysinstall</command> utility is
also available post-install for package management.</para>
<para>All package installation files are stored in the
package database directory,
<filename class="directory">/var/db/pkg</filename>.</para>
<sect2>
<title>Installing a Package</title>
<indexterm>
<primary>packages</primary>
<secondary>installing</secondary>
</indexterm>
<indexterm>
<primary><command>pkg_add</command></primary>
</indexterm>
<para>Use &man.pkg.add.1; to install a &os; binary package from
a local file or from a server on the network.</para>
<example>
<title>Downloading a Package Manually and Installing It
Locally</title>
<screen>&prompt.root; <userinput>ftp -a <replaceable>ftp2.FreeBSD.org</replaceable></userinput>
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine is in Vienna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
<prompt>ftp></prompt> <userinput>cd /pub/FreeBSD/ports/packages/sysutils/</userinput>
250 CWD command successful.
<prompt>ftp></prompt> <userinput>get lsof-4.56.4.tgz</userinput>
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)
<prompt>ftp></prompt> <userinput>exit</userinput>
&prompt.root; <userinput>pkg_add <replaceable>lsof-4.56.4.tgz</replaceable></userinput></screen>
</example>
<para>If you do not have a source of local packages, such as a
&os; CD-ROM set, include <option>-r</option> with
&man.pkg.add.1;. This automatically determines the correct
object format and release, and then fetches and installs the
package from an FTP site without any further user
intervention.</para>
<indexterm>
<primary><command>pkg_add</command></primary>
</indexterm>
<screen>&prompt.root; <userinput>pkg_add -r <replaceable>lsof</replaceable></userinput></screen>
<para>To specify an alternative &os; FTP mirror, specify the
mirror in the <envar>PACKAGESITE</envar> environment variable.
&man.pkg.add.1; uses &man.fetch.3; to download files, which
uses various environment variables, including
<envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>, and
<envar>FTP_PASSWORD</envar>. You may need to set one or more
of these if you are behind a firewall, or need to use an
FTP/HTTP proxy. See &man.fetch.3; for the complete list of variables.
Note that in the example above <literal>lsof</literal> is used
instead of <literal>lsof-4.56.4</literal>. When the remote
fetching feature is used, the version number of the package
must be removed.</para>
<note>
<para>&man.pkg.add.1; will automatically download the latest
version of the application if you are using &os.current; or
&os.stable;. If you run a -RELEASE version, it instead
installs the version of the package that was built with that
release. It is possible to change this behavior by
overriding <envar>PACKAGESITE</envar>. For example, on a
&os;&nbsp;8.1-RELEASE system, by default &man.pkg.add.1;
will try to fetch packages from
<literal>ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/</literal>.
To force &man.pkg.add.1; to download &os;&nbsp;8-STABLE
packages, set <envar>PACKAGESITE</envar> to
<literal>ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/</literal>.</para>
</note>
<para>Package files are distributed in <filename>.tgz</filename>
and <filename>.tbz</filename> formats. Packages are
available from <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/"></ulink>,
or the <filename>/packages</filename> directory of the &os;
DVD distribution. The layout of the packages directory is similar to
that of the <filename>/usr/ports</filename> tree. Each
category has its own directory, and every package can be found
within the <filename>All</filename> directory.</para>
</sect2>
<sect2>
<title>Managing Packages</title>
<indexterm>
<primary>packages</primary>
<secondary>managing</secondary>
</indexterm>
<para>&man.pkg.info.1; can be used to list and describe
installed packages:</para>
<indexterm>
<primary><command>pkg_info</command></primary>
</indexterm>
<screen>&prompt.root; <userinput>pkg_info</userinput>
colordiff-1.0.13 A tool to colorize diff output
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...</screen>
<para>&man.pkg.version.1; summarizes the versions of all
installed packages and compares the package version to the
current version found in the ports tree.</para>
<indexterm>
<primary><command>pkg_version</command></primary>
</indexterm>
<screen>&prompt.root; <userinput>pkg_version</userinput>
colordiff =
docbook =
...</screen>
<para>The symbols in the second column indicate the relative age
of the installed version and the version available in the
local ports tree.</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Symbol</entry>
<entry>Meaning</entry>
</row>
</thead>
<tbody>
<row>
<entry>=</entry>
<entry>The version of the installed package matches the
one in the local ports tree.</entry>
</row>
<row>
<entry>&lt;</entry>
<entry>The version of the installed package is older
than the one in the local ports tree.</entry>
</row>
<row>
<entry>&gt;</entry>
<entry>The version of the installed package is newer
than the one in the local ports tree, meaning
that the local ports tree is probably out of
date.</entry>
</row>
<row>
<entry>?</entry>
<entry>The installed package cannot be found in the
ports index. This can happen when an installed port
is removed from the Ports Collection or is
renamed.</entry>
</row>
<row>
<entry>*</entry>
<entry>There are multiple versions of the
package.</entry>
</row>
<row>
<entry>!</entry>
<entry>The installed package exists in the index but for
some reason, <command>pkg_version</command> was unable
to compare the version number of the installed package
with the corresponding entry in the index.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2>
<title>Deleting a Package</title>
<indexterm>
<primary><command>pkg_delete</command></primary>
</indexterm>
<indexterm>
<primary>packages</primary>
<secondary>deleting</secondary>
</indexterm>
<para>To remove a previously installed software package, use
&man.pkg.delete.1;:</para>
<screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat-1.7.1</replaceable></userinput></screen>
<para>Note that &man.pkg.delete.1; requires the full package
name and number; the above command would not work if
<replaceable>xchat</replaceable> was given instead of
<replaceable>xchat-1.7.1</replaceable>. Use
&man.pkg.version.1; to find the version of the
installed package, or use a wildcard:</para>
<screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat\*</replaceable></userinput></screen>
<para>in this case, all packages whose names start with
<literal>xchat</literal> will be deleted.</para>
</sect2>
</sect1>
<sect1 id="pkgng-intro">
<title>Using <application>pkgng</application> for Binary Package
Management</title>
<para><application>pkgng</application> is an improved replacement
for the traditional &os; package management tools, offering
many features that make dealing with binary packages faster and
easier. The first release of <application>pkgng</application>
was in August, 2012.</para>
<para><application>pkgng</application> is not a replacement for
port management tools like <filename
role="package">ports-mgmt/portmaster</filename> or <filename
role="package">ports-mgmt/portupgrade</filename>. While
<filename role="package">ports-mgmt/portmaster</filename> and
<filename role="package">ports-mgmt/portupgrade</filename> can
install third-party software from both binary packages and the
Ports Collection, <application>pkgng</application> installs
only binary packages.</para>
<sect2 id="pkgng-initial-setup">
<title>Getting Started with
<application>pkgng</application></title>
<para>&os;&nbsp;9.1 and later includes a &quot;bootstrap&quot;
utility for <application>pkgng</application>. The bootstrap
utility will download and install
<application>pkgng</application>.</para>
<para>To bootstrap the system, run:</para>
<screen>&prompt.root; <userinput>/usr/sbin/pkg</userinput></screen>
<para>For earlier &os; versions,
<application>pkgng</application> must be installed from the
Ports Collection, or as a binary package.</para>
<para>To install the <application>pkgng</application> port,
run:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/pkg</userinput>
&prompt.root; <userinput>make</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>To install the binary package, run:</para>
<screen>&prompt.root; <userinput>pkg_add -r pkg</userinput></screen>
<para>Existing &os; installations require conversion of the
<application>pkg_install</application> package database to the
new format. To convert the package database, run:</para>
<screen>&prompt.root; <userinput>pkg2ng</userinput></screen>
<para>This step is not required for new installations that do
not have third-party software installed.</para>
<important>
<para>This step is not reversible. Once the package database
has been converted to the <application>pkgng</application>
format, the <application>pkg_install</application> tools
should not be used.</para>
</important>
<note>
<para>The package database conversion may emit errors as the
contents are converted to the new version. Generally, these
errors can be safely ignored, however a list of third-party
software that was not successfully converted will be listed
after <command>pkg2ng</command> has finished. These must be
fixed by hand.</para>
</note>
<para>To ensure the &os;&nbsp;Ports Collection registers new
software with <application>pkgng</application>, and not
<application>pkg_install</application>, &os; versions earlier
than 10.<replaceable>X</replaceable> require this line in
<filename>/etc/make.conf</filename>:</para>
<programlisting>WITH_PKGNG= yes</programlisting>
</sect2>
<sect2 id="pkgng-pkg-conf">
<title>Configuring the <application>pkgng</application>
Environment</title>
<para>The <application>pkgng</application> package management
system uses a package repository for most operations. The
default package repository location is defined in
<filename>/usr/local/etc/pkg.conf</filename> or the
<envar>PACKAGESITE</envar> environment variable, which
overrides the configuration file.</para>
<para>Additional <application>pkgng</application>
configuration options are described in
pkg.conf(5).</para>
</sect2>
<sect2 id="pkgng-basic-usage">
<title>Basic <application>pkgng</application> Operations</title>
<para>Usage information for <application>pkgng</application> is
available in the pkg(8) manual page, or by running
<command>pkg</command> without additional arguments.</para>
<para>Each <application>pkgng</application> command argument is
documented in a command-specific manual page. To read the
manual page for <command>pkg install</command>, for example,
run either:</para>
<screen>&prompt.root; <userinput>pkg help install</userinput></screen>
<screen>&prompt.root; <userinput>man pkg-install</userinput></screen>
<sect3 id="pkgng-pkg-info">
<title>Obtaining Information About Installed Packages with
<application>pkgng</application></title>
<para>Information about the packages installed on a system can
be viewed by running <command>pkg info</command>. Similar
to &man.pkg.info.1;, the package version and
description for all packages will be listed.</para>
<para>Information about a specific package is available by
running:</para>
<screen>&prompt.root; <userinput>pkg info <replaceable>packagename</replaceable></userinput></screen>
<para>For example, to see which version of
<application>pkgng</application> is installed on the system,
run:</para>
<screen>&prompt.root; <userinput>pkg info pkg</userinput>
pkg-1.0.2 New generation package manager</screen>
</sect3>
<sect3 id="pkgng-installing-deinstalling">
<title>Installing and Removing Packages with
<application>pkgng</application></title>
<para>In general, most &os; users will install binary packages
by running:</para>
<screen>&prompt.root; <userinput>pkg install <replaceable>packagename</replaceable></userinput></screen>
<para><command>pkg install</command> uses repository data, as
mentioned in <xref linkend="pkgng-pkg-conf"/>. Conversely,
pkg-add(8) does not use repository data, nor does it use the
defined <envar>PACKAGESITE</envar>, so dependencies may not
be properly tracked, and missing dependencies will not be
fetched from a remote source. This section covers usage of
<command>pkg install</command>. For information on usage of
<command>pkg add</command>, see pkg-add(8).</para>
<para>Additional binary packages can be installed with
<command>pkg install</command>. For example, to install
<application>curl</application>:</para>
<screen>&prompt.root; <userinput>pkg install curl</userinput>
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
The following packages will be installed:
Installing ca_root_nss: 3.13.5
Installing curl: 7.24.0
The installation will require 4 MB more space
1 MB to be downloaded
Proceed with installing packages [y/N]: <userinput>y</userinput>
ca_root_nss-3.13.5.txz 100% 255KB 255.1KB/s 255.1KB/s 00:00
curl-7.24.0.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00
Checking integrity... done
Installing ca_root_nss-3.13.5... done
Installing curl-7.24.0... done</screen>
<para>The new package and any additional packages that were
installed as dependencies can be seen in the installed
packages list:</para>
<screen>&prompt.root; <userinput>pkg info</userinput>
ca_root_nss-3.13.5 The root certificate bundle from the Mozilla Project
curl-7.24.0 Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers
pkg-1.0.2 New generation package manager</screen>
<para>Packages that are no longer needed can be removed with
<command>pkg delete</command>. For example, if it turns out
that <application>curl</application> is not needed after
all:</para>
<screen>&prompt.root; <userinput>pkg delete curl</userinput>
The following packages will be deleted:
curl-7.24.0_1
The deletion will free 3 MB
Proceed with deleting packages [y/N]: <userinput>y</userinput>
Deleting curl-7.24.0_1... done</screen>
</sect3>
<sect3 id="pkgng-upgrading">
<title>Upgrading Installed Packages with
<application>pkgng</application></title>
<para>Packages that are outdated can be found with
<command>pkg version</command>. If a local ports tree
does not exist, pkg-version(8) will use the remote
repository catalogue, otherwise the local ports tree will
be used to identify package versions.</para>
<para>Packages can be upgraded to newer versions with
<application>pkgng</application>. Suppose a new version of
<application>curl</application> has been released. The
local package can be upgraded to the new version:</para>
<screen>&prompt.root; <userinput>pkg upgrade</userinput>
Updating repository catalogue
repo.txz 100% 297KB 296.5KB/s 296.5KB/s 00:00
The following packages will be upgraded:
Upgrading curl: 7.24.0 -> 7.24.0_1
1 MB to be downloaded
Proceed with upgrading packages [y/N]: <userinput>y</userinput>
curl-7.24.0_1.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00
Checking integrity... done
Upgrading curl from 7.24.0 to 7.24.0_1... done</screen>
</sect3>
<sect3 id="pkgng-auditing">
<title>Auditing Installed Packages with
<application>pkgng</application></title>
<para>Occasionally, software vulnerabilities may be discovered
in software within the Ports Collection.
<application>pkgng</application> includes built-in auditing,
similar to the <filename
role="package">ports-mgmt/portaudit</filename> package.
To audit the software installed on the system, run:</para>
<screen>&prompt.root; <userinput>pkg audit -F</userinput></screen>
</sect3>
</sect2>
<sect2 id="pkgng-advanced-usage">
<title>Advanced <application>pkgng</application>
Operations</title>
<sect3 id="pkgng-autoremove">
<title>Automatically Removing Leaf Dependencies with
<application>pkgng</application></title>
<para>Removing a package may leave behind unnecessary
dependencies, like <filename
role="package">security/ca_root_nss</filename> in the
example above. Such packages are still installed, but
nothing depends on them any more. Unneeded packages that
were installed as dependencies can be automatically detected
and removed:</para>
<screen>&prompt.root; <userinput>pkg autoremove</userinput>
Packages to be autoremoved:
ca_root_nss-3.13.5
The autoremoval will free 723 kB
Proceed with autoremoval of packages [y/N]: <userinput>y</userinput>
Deinstalling ca_root_nss-3.13.5... done</screen>
</sect3>
<sect3 id="pkgng-backup">
<title>Backing Up the <application>pkgng</application> Package
Database</title>
<para>Unlike the traditional package management system,
<application>pkgng</application> includes its own package
database backup mechanism. To manually back up the package
database contents, run:</para>
<screen>&prompt.root; <userinput>pkg backup -d <replaceable>pkgng.db</replaceable></userinput></screen>
<note>
<para>Replace the file name
<replaceable>pkgng.db</replaceable> to a suitable file
name.</para>
</note>
<para>Additionally, <application>pkgng</application> includes
a &man.periodic.8; script to automatically back up the
package database daily if
<literal>daily_backup_pkgng_enable</literal> is set to
<literal>YES</literal> in &man.periodic.conf.5;.</para>
<tip>
<para>To prevent the <application>pkg_install</application>
periodic script from also backing up the package database,
set <literal>daily_backup_pkgdb_enable</literal> to
<literal>NO</literal> in &man.periodic.conf.5;.</para>
</tip>
<para>To restore the contents of a previous package database
backup, run:</para>
<screen>&prompt.root; <userinput>pkg backup -r <replaceable>/path/to/pkgng.db</replaceable></userinput></screen>
</sect3>
<sect3 id="pkgng-clean">
<title>Removing Stale <application>pkgng</application>
Packages</title>
<para>By default, <application>pkgng</application> stores
binary packages in a cache directory as defined by
<envar>PKG_CACHEDIR</envar> in pkg.conf(5). When
upgrading packages with <command>pkg upgrade</command>, old
versions of the upgraded packages are not automatically
removed.</para>
<para>To remove the outdated binary packages, run:</para>
<screen>&prompt.root; <userinput>pkg clean</userinput></screen>
</sect3>
<sect3 id="pkgng-set">
<title>Modifying <application>pkgng</application> Package
Metadata</title>
<para>Historically, software within the &os;&nbsp;Ports
Collection can undergo major version number changes. Unlike
<application>pkg_install</application>,
<application>pkgng</application> has a built-in command to
update package origins. For example, if <filename
role="package">lang/php5</filename> was originally at
version <literal>5.3</literal>, but has been renamed to
<filename role="package">lang/php53</filename> for the
inclusion of version <literal>5.4</literal>,
<application>pkg_install</application> would require the use
of additional software such as <filename
role="package">ports-mgmt/portmaster</filename> to update
the package database, reflecting from which port the
installation originated.</para>
<para>Unlike the <filename
role="package">ports-mgmt/portmaster</filename> and
<filename role="package">ports-mgmt/portupgrade</filename>
ports, the order in which the new and old versions are
listed differ. For <application>pkgng</application>, the
syntax is:</para>
<screen>&prompt.root; <userinput>pkg set -o <replaceable>category/oldport</replaceable>:<replaceable>category/newport</replaceable></userinput></screen>
<para>For example, to change the package origin for the above
example, run:</para>
<screen>&prompt.root; <userinput>pkg set -o lang/php5:lang/php53</userinput></screen>
<para>As another example, to update <filename
role="package">lang/ruby18</filename> to <filename
role="package">lang/ruby19</filename>, run:</para>
<screen>&prompt.root; <userinput>pkg set -o lang/ruby18:lang/ruby19</userinput></screen>
<para>As a final example, to change the origin of the
<filename>libglut</filename> shared libraries from <filename
role="package">graphics/libglut</filename> to <filename
role="package">graphics/freeglut</filename>, run:</para>
<screen>&prompt.root; <userinput>pkg set -o graphics/libglut:graphics/freeglut</userinput></screen>
<note>
<para>When changing package origins, in most cases it is
important to reinstall packages that are dependent on the
package that has had the origin changed. To force a
reinstallation of dependent packages, run:</para>
<screen>&prompt.root; <userinput>pkg install -Rf <replaceable>graphics/freeglut</replaceable></userinput></screen>
</note>
</sect3>
</sect2>
</sect1>
<sect1 id="ports-using">
<title>Using the Ports Collection</title>
<para>This section provides basic instructions on using the Ports
Collection to install or remove software. The detailed
description of available <command>make</command> targets and
environment variables is available in &man.ports.7;.</para>
<warning>
<para>As of mid 2012, the &os; Ports Project has migrated
revision control systems from CVS to Subversion. The
preferred method for obtaining and maintaining the ports tree
is <application>Portsnap</application>. Users requiring local
customization of ports (that is, maintaining additional local
patches) will probably prefer to use Subversion directly. The
<application>CVSup</application> service was phased out
as of February 28, 2013.</para>
</warning>
<sect2 id="ports-tree">
<title>Obtaining the Ports Collection</title>
<para>The Ports Collection is a set of
<filename>Makefiles</filename>, patches, and description files
stored in <filename>/usr/ports</filename>. This set of files
is used to compile and install applications on &os;. The
instructions below show several methods of obtaining the Ports
Collection if it was not installed during initial &os;
setup.</para>
<procedure>
<title>Portsnap Method</title>
<para><application>Portsnap</application> is a fast and
user-friendly tool for retrieving the Ports Collection, the
preferred choice for most users. See
<link linkend="updating-upgrading-portsnap">Using
Portsnap</link> for a detailed description of
<application>Portsnap</application>.</para>
<step>
<para>Download a compressed snapshot of the Ports Collection
into <filename
class="directory">/var/db/portsnap</filename>.</para>
<screen>&prompt.root; <userinput>portsnap fetch</userinput></screen>
</step>
<step>
<para>When running <application>Portsnap</application>
for the first time, extract the snapshot into
<filename class="directory">/usr/ports</filename>:</para>
<screen>&prompt.root; <userinput>portsnap extract</userinput></screen>
</step>
<step>
<para>After the first use of
<application>Portsnap</application> has been completed as
shown above,
<filename class="directory">/usr/ports</filename> can be
updated with:</para>
<screen>&prompt.root; <userinput>portsnap fetch</userinput>
&prompt.root; <userinput>portsnap update</userinput></screen>
</step>
</procedure>
<procedure>
<title>Subversion Method</title>
<para>If more control over the ports tree is needed (for
example, for maintaining local changes),
<application>Subversion</application> can be used to
obtain the Ports Collection. Refer to <ulink
url="&url.articles.committers-guide;/subversion-primer.html">the
Subversion Primer</ulink> for a detailed description of
<application>Subversion</application>.</para>
<step>
<para><application>Subversion</application> must be
installed before it can be used to check out the ports
tree. If a copy of the ports tree is already present,
install <application>Subversion</application> like
this:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/devel/subversion</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>If the ports tree is not available,
<application>Subversion</application> can be installed as
a package:</para>
<screen>&prompt.root; <userinput>pkg_add -r subversion</userinput></screen>
<para>If <application>pkgng</application> is being used to
manage packages, <application>Subversion</application> can
be installed with it instead:</para>
<screen>&prompt.root; <userinput>pkg install subversion</userinput></screen>
</step>
<step>
<para>Check out a copy of the ports tree. Use a specific
<ulink
url="&url.books.handbook;/svn-mirrors.html">Subversion
mirror</ulink> close to your geographic location instead
of <replaceable>svn0.us-east.FreeBSD.org</replaceable> in the
command below for better performance. Committers should
read the <ulink
url="&url.articles.committers-guide;/subversion-primer.html">Subversion
Primer</ulink> first to be sure the correct protocol is
chosen.</para>
<screen>&prompt.root; <userinput>svn checkout https://<replaceable>svn0.us-east.FreeBSD.org</replaceable>/ports/head /usr/ports</userinput></screen>
</step>
<step>
<para>To update
<filename class="directory">/usr/ports</filename> after
the initial <application>Subversion</application>
checkout:</para>
<screen>&prompt.root; <userinput>svn update /usr/ports</userinput></screen>
</step>
</procedure>
<procedure>
<title>Sysinstall Method</title>
<para>This method involves using
<application>sysinstall</application> to install the Ports
Collection from the installation media. Note that the old
copy of Ports Collection from the date of the release will
be installed. If you have Internet access, you should
always use one of the methods mentioned above.</para>
<step>
<para>As <username>root</username>, run
<command>sysinstall</command> as shown below:</para>
<screen>&prompt.root; <userinput>sysinstall</userinput></screen>
</step>
<step>
<para>Scroll down and select
<guimenuitem>Configure</guimenuitem>, press
<keycap>Enter</keycap>.</para>
</step>
<step>
<para>Scroll down and select
<guimenuitem>Distributions</guimenuitem>, press
<keycap>Enter</keycap>.</para>
</step>
<step>
<para>Scroll down to <guimenuitem>ports</guimenuitem>, press
<keycap>Space</keycap>.</para>
</step>
<step>
<para>Scroll up to <guimenuitem>Exit</guimenuitem>, press
<keycap>Enter</keycap>.</para>
</step>
<step>
<para>Select your desired installation media, such as CDROM,
FTP, and so on.</para>
</step>
<step>
<para>Scroll up to <guimenuitem>Exit</guimenuitem> and press
<keycap>Enter</keycap>.</para>
</step>
<step>
<para>Press <keycap>X</keycap> to exit
<application>sysinstall</application>.</para>
</step>
</procedure>
</sect2>
<sect2 id="cvsup-migration">
<title>Migrating from
<application>CVSup</application>/<application>csup</application>
to <application>portsnap</application></title>
<warning>
<para>By February 28, 2013, the ports tree will no longer be
exported to <application>CVS</application> and therefore
<application>CVSup</application> and
<application>csup</application> will no longer provide
updates for the ports tree.</para>
</warning>
<procedure>
<title>Migration to Portsnap</title>
<para>The migration will require about 1&nbsp;GB of disk space
on <filename class="directory">/usr</filename>, plus
<application>Portsnap</application> requires about
150&nbsp;MB disk space on <filename
class="directory">/var</filename>.</para>
<step>
<para>Disable any automated ports updates you may use, such
as a &man.cron.8; job calling
<application>CVSup</application> or
<application>csup</application>.</para>
</step>
<step>
<para>Move the existing ports tree to a temporary
location:</para>
<screen>&prompt.root; <userinput>mv /usr/ports /usr/ports.old</userinput></screen>
</step>
<step>
<para>Fetch the new ports tree with
<application>Portsnap</application> and extract it to
<filename class="directory">/usr/ports</filename>:</para>
<screen>&prompt.root; <userinput>portsnap fetch extract</userinput></screen>
</step>
<step>
<para>Move distfiles and saved packages to the new ports
tree:</para>
<screen>&prompt.root; <userinput>mv /usr/ports.old/distfiles /usr/ports</userinput>
&prompt.root; <userinput>mv /usr/ports.old/packages /usr/ports</userinput></screen>
</step>
<step>
<para>Delete the old ports tree:</para>
<screen>&prompt.root; <userinput>rm -rf /usr/ports.old</userinput></screen>
</step>
<step>
<para>If <application>CVSup</application> was used before,
it can now be uninstalled:</para>
<screen>&prompt.root; <userinput>pkg_delete -r -v cvsup-without-gui-\*</userinput></screen>
<para>Users of <application>pkgng</application> can use the
following command:</para>
<screen>&prompt.root; <userinput>pkg delete cvsup-without-gui</userinput></screen>
</step>
</procedure>
<para>See <link linkend="updating-upgrading-portsnap">Using
Portsnap</link> for a detailed description of
<application>Portsnap</application> and how to update the
ports tree with <application>Portsnap</application>.</para>
</sect2>
<sect2 id="ports-skeleton">
<title>Installing Ports</title>
<indexterm>
<primary>ports</primary>
<secondary>installing</secondary>
</indexterm>
<para>A port skeleton is a set of files that tell &os; system
how to compile and install a program. Each port skeleton
includes:</para>
<itemizedlist>
<listitem>
<para><filename>Makefile</filename>: The
<filename>Makefile</filename> contains statements that
specify how the application should be compiled and where
its components should be installed.</para>
</listitem>
<listitem>
<para><filename>distinfo</filename>: This file contains
information about the files that must be downloaded to
build the port, and their checksums (using
&man.sha256.1;), to verify that files have not been
corrupted during the download.</para>
</listitem>
<listitem>
<para><filename>files/</filename>: This directory contains
any patches needed for the program to compile and install
on &os;. This directory may also contain other files used
to build the port.</para>
</listitem>
<listitem>
<para><filename>pkg-descr</filename>: This file provides a
more detailed description of the program.</para>
</listitem>
<listitem>
<para><filename>pkg-plist</filename>: This is a list
of all the files that will be installed by the port. It
also tells the ports system what files to remove upon
deinstallation.</para>
</listitem>
</itemizedlist>
<para>Some ports include other files, such as
<filename>pkg-message</filename>. The ports system uses these
files to handle special situations. If you want more details
on these files, and on ports in general, refer to the
<ulink url="&url.books.porters-handbook;/index.html">&os;
Porter's Handbook</ulink>.</para>
<para>The port does not include the actual source code, also
known as a <quote>distfile</quote>. Source code is distributed
in whatever manner the software author desires. The two
methods for installing a &os; port are described below.</para>
<note>
<para>You must be logged in as <username>root</username> to
install ports.</para>
</note>
<warning>
<para>Before compiling any port, be sure to have an
up-to-date Ports Collection and check <ulink
url="http://vuxml.freebsd.org/"></ulink> for security
issues related to your port. If <filename
role="package">ports-mgmt/portaudit</filename> is
installed, run <command>portaudit -F</command> before
installing a new port, to fetch the current vulnerabilities
database. A security audit and an update of the database
will be performed during the daily security system check.
For more information read the &man.portaudit.1; and
&man.periodic.8; manual pages.</para>
</warning>
<para>Using the Ports Collection assumes a working Internet
connection. Otherwise, manually obtain and place a copy of
the distfile into
<filename>/usr/ports/distfiles</filename>.</para>
<para>To begin, change to the directory of the port to
be installed:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput></screen>
<para>To compile, or <quote>build</quote>, the port, type
<command>make</command> at the prompt. You should see
messages similar to the ones in this example:</para>
<screen>&prompt.root; <userinput>make</userinput>
&gt;&gt; lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
&gt;&gt; Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===&gt; Extracting for lsof-4.57
...
[extraction output snipped]
...
&gt;&gt; Checksum OK for lsof_4.57D.freebsd.tar.gz.
===&gt; Patching for lsof-4.57
===&gt; Applying FreeBSD patches for lsof-4.57
===&gt; Configuring for lsof-4.57
...
[configure output snipped]
...
===&gt; Building for lsof-4.57
...
[compilation output snipped]
...
&prompt.root;</screen>
<para>Once the compile is complete, you are returned to the
prompt. The next step is to install the port using
<command>make <maketarget>install</maketarget></command>:</para>
<screen>&prompt.root; <userinput>make install</userinput>
===&gt; Installing for lsof-4.57
...
[installation output snipped]
...
===&gt; Generating temporary packing list
===&gt; Compressing manual pages for lsof-4.57
===&gt; Registering installation for lsof-4.57
===&gt; SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;</screen>
<para>Once you are returned to the prompt, you should be able
to run the installed application. Since
<command>lsof</command> is a program that runs with increased
privileges, a security warning is shown. During the building
and installation of ports, take heed of any other warnings
that may appear.</para>
<para>It is a good idea to delete the working subdirectory,
which contains all the temporary files used during
compilation. Doing so saves disk space and minimizes the
chance of problems later when upgrading to the newer version
of the port.</para>
<screen>&prompt.root; <userinput>make clean</userinput>
===&gt; Cleaning for lsof-4.57
&prompt.root;</screen>
<note>
<para>You can save two extra steps by just running
<command>make
<maketarget>install clean</maketarget></command>
instead of <command>make</command>,
<command>make <maketarget>install</maketarget></command>
and <command>make <maketarget>clean</maketarget></command>
as three separate steps.</para>
</note>
<note>
<para>Using only
<command>make <maketarget>install</maketarget></command>
means there will potentially be many
waiting periods between user interaction as the default
behaviour is to prompt the user for options. To avoid this
when there are many dependencies, first run <command>make
<maketarget>config-recursive</maketarget></command> to do
the configuration in one batch. Then run <command>make
<maketarget>install [clean]</maketarget></command>
afterwards.</para>
</note>
<tip>
<para>When using <maketarget>config-recursive</maketarget>,
the list of ports to configure are gathered by the
<maketarget>all-depends-list</maketarget> &man.make.1;
target. It is often recommended to run <command>make
<maketarget>config-recursive</maketarget></command>
until all dependent ports options have been defined, and
ports options &man.dialog.1; screens no longer
appear, to be certain all ports options have been
configured as intended.</para>
</tip>
<note>
<para>Some shells keep a cache of the commands that are
available in the directories listed in the
<envar>PATH</envar> environment variable, to speed up lookup
operations for the executable file of these commands. If
you are using <command>tcsh</command>, you might have to
type <command>rehash</command> so that a newly installed
command can be used without specifying its full path. Use
<command>hash -r</command> instead for the
<command>sh</command> shell. Refer to the documentation for
the shell for more information.</para>
</note>
<para>Some third-party DVD products such as the &os;
Toolkit from the <ulink url="http://www.freebsdmall.com/">&os;
Mall</ulink> contain distfiles. They can be used with the
Ports Collection. Mount the DVD on
<filename>/cdrom</filename>. If you use a different mount
point, set <makevar>CD_MOUNTPTS</makevar> make variable. The
needed distfiles will be automatically used if they are
present on the disk.</para>
<note>
<para>The licenses of a few ports do not allow their inclusion
on the DVD. This could be because a registration form
needs to be filled out before downloading or redistribution
is not allowed. If you wish to install a port not included
on the DVD, you will need to be connected to the
Internet.</para>
</note>
<para>The ports system uses &man.fetch.1; to download the
files, which honors various environment variables, including
<envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>, and
<envar>FTP_PASSWORD</envar>. You may need to set one or more
of these if you are behind a firewall, or need to use an
FTP/HTTP proxy. See &man.fetch.3; for the complete
list.</para>
<para>For users which cannot be connected all the time, the
<command>make <maketarget>fetch</maketarget></command> option
is provided. Run this command within
<filename>/usr/ports</filename> and the required files will
be downloaded. This command also works in the
lower level categories, such as
<filename>/usr/ports/net</filename>. Note that if a port
depends on libraries or other ports, this will
<emphasis>not</emphasis> fetch the distfiles of ports
from another category. Use
<command>make
<maketarget>fetch-recursive</maketarget></command>
to fetch
all the dependencies of a port.</para>
<note>
<para>You can build all the ports in a category or as a
whole by running <command>make</command> in the top level
directory. This is dangerous, however, as some ports cannot
co-exist. In other cases, some ports can install two
different files with the same filename.</para>
</note>
<para>In some rare cases, users may need to acquire the
tarballs from a site other than the default
<makevar>MASTER_SITES</makevar>. You can override the
<makevar>MASTER_SITES</makevar> option with the following
command:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<para>In this example, <makevar>MASTER_SITES</makevar> is
changed to <hostid
role="fqdn">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</hostid>.</para>
<note>
<para>Some ports provide build options which can be used to
enable/disable parts of the application which are unneeded,
provide security options, or allow for other customizations.
Examples include
<filename role="package">www/firefox</filename>,
<filename role="package">security/gpgme</filename>, and
<filename role="package">mail/sylpheed-claws</filename>. A
menu will be displayed at the beginning of a port
compile when compile options are available.</para>
</note>
<sect3>
<title>Overriding the Default Ports Directories</title>
<para>The <makevar>WRKDIRPREFIX</makevar> and
<makevar>PREFIX</makevar> variables can override the default
working and target directories. For example:</para>
<screen>&prompt.root; <userinput>make WRKDIRPREFIX=/usr/home/example/ports install</userinput></screen>
<para>will compile the port in
<filename>/usr/home/example/ports</filename> and install
everything under <filename>/usr/local</filename>.</para>
<screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen>
<para>will compile the port in <filename>/usr/ports</filename>
and install it in
<filename>/usr/home/example/local</filename>.</para>
<para>And</para>
<screen>&prompt.root; <userinput>make WRKDIRPREFIX=../ports PREFIX=../local install</userinput></screen>
<para>will combine the two.</para>
<para>Alternatively, these can be set as environmental
variables. Refer to the manual page for your shell
for instructions on how to set an environmental
variable.</para>
</sect3>
<sect3>
<title>Reconfiguring Ports</title>
<para>Certain ports provide an ncurses-based menu containing
build options. There are several ways to revisit this menu
in order to add, remove, or change these options after a
port has been built. One method is to
<command>cd</command> into the directory containing the
port and type
<command>make <maketarget>config</maketarget></command>.
Another option is to use
<command>make <maketarget>showconfig</maketarget></command>.
Another option is to execute
<command>make <maketarget>rmconfig</maketarget></command>
which will remove all selected options and allow you to
start over. All of these options, and others, are explained
in great detail in the manual page for &man.ports.7;.</para>
</sect3>
</sect2>
<sect2 id="ports-removing">
<title>Removing Installed Ports</title>
<indexterm>
<primary>ports</primary>
<secondary>removing</secondary>
</indexterm>
<para>Installed ports and packages are uninstalled using
the &man.pkg.delete.1; command:</para>
<screen>&prompt.root; <userinput>pkg_delete lsof-4.57</userinput></screen>
</sect2>
<sect2 id="ports-upgrading">
<title>Upgrading Ports</title>
<indexterm>
<primary>ports</primary>
<secondary>upgrading</secondary>
</indexterm>
<para>First, list outdated ports that have a newer version
available in the Ports Collection with the &man.pkg.version.1;
command:</para>
<screen>&prompt.root; <userinput>pkg_version -v</userinput></screen>
<sect3 id="ports-file-updating">
<title>Read <filename>/usr/ports/UPDATING</filename></title>
<para>Once you have updated your Ports Collection, before
attempting a port upgrade, you should check
<filename>/usr/ports/UPDATING</filename>. This file
describes various issues and additional steps users may
encounter and need to perform when updating a port,
including such things as file format changes, changes in
locations of configuration files, or other such
incompatibilities with previous versions.</para>
<para>If <filename>UPDATING</filename> contradicts something
you read here, <filename>UPDATING</filename> takes
precedence.</para>
</sect3>
<sect3 id="portupgrade">
<title>Upgrading Ports Using Portupgrade</title>
<indexterm>
<primary>portupgrade</primary>
</indexterm>
<para>The <application>portupgrade</application> utility is
designed to easily upgrade installed ports. It is available
from the
<filename role="package">ports-mgmt/portupgrade</filename>
port. Install it like any other port, using
<command>make <maketarget>install
clean</maketarget></command>:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portupgrade</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>Scan the list of installed ports using
<command>pkgdb -F</command> and fix all the inconsistencies
it reports. It is a good idea to do this regularly, before
every upgrade.</para>
<para>Use <command>portupgrade -a</command> to upgrade all the
outdated ports installed on the system. Include
<option>-i</option> to be asked for confirmation of every
individual upgrade.</para>
<screen>&prompt.root; <userinput>portupgrade -ai</userinput></screen>
<para>To upgrade only a specified application instead of all
available ports, use <command>portupgrade
<replaceable>pkgname</replaceable></command>. Include
<option>-R</option> to first upgrade all the ports required
by the given application.</para>
<screen>&prompt.root; <userinput>portupgrade -R firefox</userinput></screen>
<para>To use packages instead of ports, include the
<option>-P</option> flag. With this option,
<application>portupgrade</application> searches the local
directories listed in <envar>PKG_PATH</envar>, then fetches
packages from a remote site if not found locally. If
packages can not be found locally or fetched remotely,
<application>portupgrade</application> will use ports. To
avoid using ports, specify <option>-PP</option>.</para>
<screen>&prompt.root; <userinput>portupgrade -PP gnome2</userinput></screen>
<para>To just fetch distfiles (or packages, if
<option>-P</option> is specified) without building or
installing anything, use <option>-F</option>. For further
information see &man.portupgrade.1;.</para>
</sect3>
<sect3 id="portmaster">
<title>Upgrading Ports Using
<application>portmaster</application></title>
<indexterm>
<primary>portmaster</primary>
</indexterm>
<para><filename
role="package">ports-mgmt/portmaster</filename> is another
utility for upgrading installed ports.
<application>portmaster</application> was designed to
use the tools found in the <quote>base</quote> system
without depending upon other ports. It uses the information
in <filename class="directory">/var/db/pkg/</filename> to
determine which ports to upgrade. To install the
port:</para>
<screen>&prompt.root; <userinput>cd <filename class="directory">/usr/ports/ports-mgmt/portmaster</filename></userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para><application>Portmaster</application> groups ports into
four categories:</para>
<itemizedlist>
<listitem>
<para>Root ports: no dependencies and is not depended on
by other ports</para>
</listitem>
<listitem>
<para>Trunk ports: no dependencies, but other ports depend
upon it</para>
</listitem>
<listitem>
<para>Branch ports: have dependencies and are depended
upon by other ports</para>
</listitem>
<listitem>
<para>Leaf ports: have dependencies but are not depended
upon by other ports</para>
</listitem>
</itemizedlist>
<para>To list all installed software and search for updates,
use <option>-L</option>:</para>
<screen>&prompt.root; <userinput>portmaster -L</userinput>
===>>> 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)
===>>> apache22-2.2.3
===>>> New version available: apache22-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</screen>
<para>All the installed ports can be upgraded using this
command:</para>
<screen>&prompt.root; <userinput>portmaster -a</userinput></screen>
<note>
<para>By default, <application>portmaster</application> will
make a backup package before deleting the existing port.
If the installation of the new version is successful,
<application>portmaster</application> will delete the
backup. Using <option>-b</option> will instruct
<application>portmaster</application> not to automatically
delete the backup. Adding <option>-i</option> will start
<application>portmaster</application> in interactive mode,
prompting for confirmation before upgrading each
port.</para>
</note>
<para>If you encounter errors during the upgrade process, use
<option>-f</option> to upgrade/rebuild all ports:</para>
<screen>&prompt.root; <userinput>portmaster -af</userinput></screen>
<para>You can also use <application>portmaster</application>
to install new ports on the system, upgrading all
dependencies before building and installing the new
port:</para>
<screen>&prompt.root; <userinput>portmaster <replaceable>shells/bash</replaceable></userinput></screen>
<para>Refer to &man.portmaster.8; for more information.</para>
</sect3>
</sect2>
<sect2 id="ports-disk-space">
<title>Ports and Disk Space</title>
<indexterm>
<primary>ports</primary>
<secondary>disk-space</secondary>
</indexterm>
<para>Using the Ports Collection will use up disk space over
time. After building and installing a port, <command>make
<maketarget>clean</maketarget></command> will clean up the
temporary <filename class="directory">work</filename>
directory. To sweep the whole Ports Collection:</para>
<screen>&prompt.root; <userinput>portsclean -C</userinput></screen>
<para>A lot of out-dated source distribution files will collect
in <filename class="directory">distfiles</filename> over time.
The following command will delete all the distfiles that are
no longer referenced by any ports:</para>
<screen>&prompt.root; <userinput>portsclean -D</userinput></screen>
<para>To remove all distfiles not referenced by any port
currently installed on the system:</para>
<screen>&prompt.root; <userinput>portsclean -DD</userinput></screen>
<note>
<para>The <command>portsclean</command> utility is part of the
<filename role="package">ports-mgmt/portupgrade</filename>
suite.</para>
</note>
<para><filename
role="package">ports-mgmt/pkg_cutleaves</filename> automates
the task of removing installed ports that are no longer
needed.</para>
</sect2>
</sect1>
<sect1 id="ports-nextsteps">
- <title>Working With Installed Ports</title>
+ <title>Post-Installation Considerations</title>
- <para>Most third party applications will need some level of
- configuration after they were installed. This may be a simple
- configuration file alteration, or perhaps the application will
- just generate a configuration file. Most applications will
- have documentation installed into
- <filename class="directory">/usr/local/share/doc</filename> and
- manual pages. This documentation should be consulted before
- continuing. Some applications run services which must be added
- to the <filename>/etc/rc.conf</filename> file before
- starting.</para>
+ <para>Regardless of whether the software was installed from a
+ binary package or port, most third-party applications require
+ some level of configuration after installation. The following
+ commands and locations can be used to help determine what was
+ installed with the application.</para>
- <para>The following list contains useful information for
- post-install port management. In several cases, finding
- the location of binaries if they were installed outside
- of the <envar>PATH</envar>. Users of &man.csh.1; should run
- <command>rehash</command> to rebuild the known binary
- list in the shells <envar>PATH</envar>.</para>
-
<itemizedlist>
<listitem>
- <para>The &man.pkg.info.1; command will print all installed
- files and their location. For example, if the FooPackage
- version 1.0.0 was just installed, then the following
- command will show all the files installed with the
- package.</para>
-
- <screen>&prompt.root; <userinput>pkg_info -L <replaceable>foopackage-1.0.0</replaceable> | less</userinput></screen>
-
- <para>Configuration files are always installed in
- <filename class="directory">/usr/local/etc</filename>
- and should definitely be consulted before attempting
- to use the new application.</para>
-
- <para>To determine which version of the application was
- installed:</para>
-
- <screen>&prompt.root; <userinput>pkg_info | grep -i <replaceable>foopackage</replaceable></userinput></screen>
-
- <para>will find all the installed packages that have
- <replaceable>foopackage</replaceable> in the package name.
- Replace <replaceable>foopackage</replaceable> as
- necessary.</para>
+ <para>Most applications install at least one default
+ configuration file in <filename
+ class="directory">/usr/local/etc</filename>. The
+ configuration files should be reviewed and possibly edited
+ to meet the system's needs.</para>
</listitem>
<listitem>
- <para>These commands will also show the names of any manual
- pages installed with the application. This additional
- documentation will now be available to the &man.man.1;
- command.</para>
+ <para>Applications which provide documentation will install
+ it into <filename
+ class="directory">/usr/local/share/doc</filename> and many
+ applications also install manual pages. This documentation
+ should be consulted before continuing.</para>
</listitem>
<listitem>
- <para>If the application has a web site, consult it for
- additional documentation or a frequently asked questions
- page. If the website is unknown, the following command
- will be useful to print out this information if it's
- available.</para>
+ <para>Some applications run services which must be added
+ to <filename class="directory">/etc/rc.conf</filename>
+ before starting the application. These applications usually
+ install a startup script in
+ <filename>/usr/local/etc/rc.d</filename>. See <link
+ linkend="configtuning-starting-services">Starting
+ Services</link> for more information.</para>
+ </listitem>
- <screen>&prompt.root; <userinput>pkg_info <replaceable>foopackage-1.0.0</replaceable></userinput></screen>
-
- <para>A <literal>WWW:</literal> line, if present, should
- provide a URL for the application's web site.</para>
+ <listitem>
+ <para>Users of &man.csh.1; should run
+ <command>rehash</command> to rebuild the known binary
+ list in the shells <envar>PATH</envar>.</para>
</listitem>
<listitem>
- <para>Ports that should start at boot time usually install a
- startup script in <filename>/usr/local/etc/rc.d</filename>.
- Review this script for correctness and edit or rename it if
- needed. See <link
- linkend="configtuning-starting-services">Starting
- Services</link> for more information.</para>
+ <para>If the system is running the traditional package system,
+ use &man.pkg.info.1; to determine which files, man pages,
+ and binaries were installed with the application. If the
+ system is running <application>pkgng</application>, instead
+ use <command>pkg info</command>.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="ports-broken">
<title>Dealing with Broken Ports</title>
<para>When coming across a port that does not build or install:</para>
<orderedlist>
<listitem>
<para>Find out if there is a fix pending for the port in
the <ulink url="&url.base;/support.html#gnats">Problem
Report database</ulink>. If so, the proposed fix may work.</para>
</listitem>
<listitem>
<para>Ask the maintainer of the port for help. Type
<command>make <maketarget>maintainer</maketarget></command>
or read the <filename>Makefile</filename> to find the
maintainer's email address. Remember to include the name
and version of the port (send the
<literal>&dollar;FreeBSD:</literal> line from the
<filename>Makefile</filename>) and the output leading up to
the error when you email the maintainer.</para>
<note>
<para>Some ports are not maintained by an individual but
instead by a <ulink
url="&url.articles.mailing-list-faq;/article.html">mailing
list</ulink>. Many, but not all, of these addresses look
like <email
role="nolink">freebsd-listname@FreeBSD.org</email>.
Please take this into account when phrasing your
questions.</para>
<para>In particular, ports shown as maintained by
<email role="nolink">ports@FreeBSD.org</email> are
actually not maintained by anyone. Fixes and support, if
any, come from the general community who subscribe to that
mailing list. More volunteers are always needed!</para>
</note>
<para>If you do not get a response, use &man.send-pr.1; to
submit a bug report (see <ulink
url="&url.articles.problem-reports;/article.html">Writing
&os; Problem Reports</ulink>).</para>
</listitem>
<listitem>
<para>Fix it! The <ulink
url="&url.books.porters-handbook;/index.html">Porter's
Handbook</ulink> includes detailed information on the
<quote>Ports</quote> infrastructure so that you can fix the
occasional broken port or even submit your own!</para>
</listitem>
<listitem>
<para>Use &man.pkg.add.1; to instead install the
package.</para>
</listitem>
</orderedlist>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml (revision 42804)
@@ -1,3280 +1,1996 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="ppp-and-slip">
<chapterinfo>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
<contrib>Restructured, reorganized, and updated by </contrib>
<!-- 1 Mar 2000 -->
</author>
</authorgroup>
</chapterinfo>
<title>PPP and SLIP</title>
<sect1 id="ppp-and-slip-synopsis">
<title>Synopsis</title>
<indexterm id="ppp-ppp">
<primary>PPP</primary>
</indexterm>
<indexterm id="ppp-slip">
<primary>SLIP</primary>
</indexterm>
<para>FreeBSD has a number of ways to link one computer to
another. To establish a network or Internet connection through
a dial-up modem, or to allow others to do so through you,
- requires the use of PPP or SLIP. This chapter describes setting
+ requires the use of PPP. This chapter describes setting
up these modem-based communication services in detail.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>How to set up user PPP.</para>
</listitem>
<listitem>
- <para>How to set up kernel PPP (&os; 7.X only).</para>
- </listitem>
- <listitem>
<para>How to set up <acronym>PPPoE</acronym> (PPP over
Ethernet).</para>
</listitem>
<listitem>
<para>How to set up <acronym>PPPoA</acronym> (PPP over
ATM).</para>
</listitem>
- <listitem>
- <para>How to configure and set up a SLIP client and
- server (&os;&nbsp;7.X only).</para>
- </listitem>
</itemizedlist>
<indexterm id="ppp-ppp-user">
<primary>PPP</primary>
<secondary>user PPP</secondary>
</indexterm>
<indexterm id="ppp-ppp-kernel">
<primary>PPP</primary>
<secondary>kernel PPP</secondary>
</indexterm>
<indexterm id="ppp-ppp-ethernet">
<primary>PPP</primary>
<secondary>over Ethernet</secondary>
</indexterm>
<para>Before reading this chapter, you should:</para>
<itemizedlist>
<listitem>
<para>Be familiar with basic network terminology.</para>
</listitem>
<listitem>
<para>Understand the basics and purpose of a dialup connection
- and PPP and/or SLIP.</para>
+ and PPP.</para>
</listitem>
</itemizedlist>
-
- <para>You may be wondering what the main difference is between
- user PPP and kernel PPP. The answer is simple: user PPP
- processes the inbound and outbound data in userland rather than
- in the kernel. This is expensive in terms of copying the data
- between the kernel and userland, but allows a far more
- feature-rich PPP implementation. User PPP uses the
- <devicename>tun</devicename> device to communicate with the
- outside world whereas kernel PPP uses the
- <devicename>ppp</devicename> device.</para>
-
- <note>
- <para>Throughout in this chapter, user PPP will simply be
- referred to as <application>ppp</application> unless a
- distinction needs to be made between it and any other PPP
- software such as <application>pppd</application>
- (&os;&nbsp;7.X only). Unless otherwise stated, all of the
- commands explained in this chapter should be executed as
- <username>root</username>.</para>
- </note>
</sect1>
<sect1 id="userppp">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Updated and enhanced by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Brian</firstname>
<surname>Somers</surname>
<contrib>Originally contributed by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Nik</firstname>
<surname>Clayton</surname>
<contrib>With input from </contrib>
</author>
<author>
<firstname>Dirk</firstname>
<surname>Fr&ouml;mberg</surname>
</author>
<author>
<firstname>Peter</firstname>
<surname>Childs</surname>
</author>
</authorgroup>
</sect1info>
<title>Using User PPP</title>
<sect2>
<title>User PPP</title>
<sect3>
<title>Assumptions</title>
<para>This document assumes you have the following:</para>
<itemizedlist>
<listitem>
<para>An account with an Internet Service Provider (ISP)<indexterm id="ppp-isp"><primary>ISP</primary></indexterm>
which you connect to using PPP<indexterm id="ppp-ppp2"><primary>PPP</primary></indexterm>.</para>
</listitem>
<listitem>
<para>A modem or
other device connected to your system and properly
configured to allow you to connect to your ISP.</para>
</listitem>
<listitem>
<para>The dial-up number(s) of your ISP.</para>
</listitem>
<listitem>
<para>Your login name<indexterm id="ppp-login"><primary>login name</primary></indexterm> and password<indexterm id="ppp-password"><primary>password</primary></indexterm>. (Either a
regular &unix;<indexterm id="ppp-unix"><primary>UNIX</primary></indexterm> style login and password pair, or a PAP<indexterm id="ppp-pap"><primary>PAP</primary></indexterm>
or CHAP<indexterm id="ppp-chap"><primary>CHAP</primary></indexterm> login and password pair).</para>
</listitem>
<listitem>
<para>The IP address of one or more name servers<indexterm id="ppp-nameserver"><primary>nameserver</primary></indexterm>.
Normally, you will be given two IP addresses by your
ISP to use for this. If they have not given you at
least one, then you can use the <command>enable
dns</command> command in <filename>ppp.conf</filename>
and <application>ppp</application> will set the name
servers for you. This feature depends on your ISPs
PPP implementation supporting DNS negotiation.</para>
</listitem>
</itemizedlist>
<para>The following information may be supplied by your ISP,
but is not completely necessary:</para>
<itemizedlist>
<listitem>
<para>The IP address of your ISP's gateway. The gateway
is the machine to which you will connect and will be
set up as your <emphasis>default route</emphasis>. If
you do not have this information, we can make one up
and your ISP's PPP server will tell us the correct value
when we connect.</para>
<para>This IP number is referred to as
<literal>HISADDR</literal> by
<application>ppp</application>.</para>
</listitem>
<listitem>
<para>The netmask you should use. If your ISP has not
provided you with one, you can safely use <hostid
role="netmask">255.255.255.255</hostid>.</para>
</listitem>
<listitem>
<indexterm id="ppp-static-ip">
<primary>static IP address</primary>
</indexterm>
<para>If your ISP provides you with a static IP address
and hostname, you can enter it. Otherwise, we simply
let the peer assign whatever IP address it sees
fit.</para>
</listitem>
</itemizedlist>
<para>If you do not have any of the required information,
contact your ISP.</para>
<note>
<para>Throughout this section, many of the examples showing
the contents of configuration files are numbered by line.
These numbers serve to aid in the presentation and
discussion only and are not meant to be placed in the
actual file. Proper indentation with tab and space
characters is also important.</para>
</note>
</sect3>
<sect3>
<title>Automatic <application>PPP</application>
Configuration</title>
<indexterm>
<primary>PPP</primary>
<secondary>configuration</secondary>
</indexterm>
- <para>Both <command>ppp</command> and <command>pppd</command>
- (the kernel level implementation of PPP, &os;&nbsp;7.X only)
- use the configuration files located in the <filename
- class="directory">/etc/ppp</filename> directory.
- Examples for user ppp can be found in <filename
+ <para><command>ppp</command> uses the configuration files
+ located in <filename class="directory">/etc/ppp</filename>.
+ Examples can be found in <filename
class="directory">/usr/share/examples/ppp/</filename>.</para>
<para>Configuring <command>ppp</command> requires that you
edit a number of files, depending on your requirements.
What you put in them depends to some extent on whether your
ISP allocates IP addresses statically (i.e., you get given
one IP address, and always use that one) or dynamically
(i.e., your IP address changes each time you connect to
your ISP).</para>
<sect4 id="userppp-staticIP">
<title>PPP and Static IP Addresses</title>
<indexterm>
<primary>PPP</primary>
<secondary>with static IP addresses</secondary>
</indexterm>
<para>You will need to edit the
<filename>/etc/ppp/ppp.conf</filename> configuration file.
It should look similar to the example below.</para>
<note>
<para>Lines that end in a <literal>:</literal> start in
the first column (beginning of the line)&mdash; all
other lines should be indented as shown using spaces
or tabs.</para>
</note>
<programlisting>1 default:
2 set log Phase Chat LCP IPCP CCP tun command
3 ident user-ppp VERSION (built COMPILATIONDATE)
4 set device /dev/cuau0
5 set speed 115200
6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
8 set timeout 180
9 enable dns
10
11 provider:
12 set phone "(123) 456 7890"
13 set authname foo
14 set authkey bar
15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp"
16 set timeout 300
17 set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> 255.255.255.255 0.0.0.0
18 add default HISADDR</programlisting>
<variablelist>
<varlistentry>
<term>Line 1:</term>
<listitem>
<para>Identifies the default entry. Commands in this
entry are executed automatically when ppp is
run.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 2:</term>
<listitem>
<para>Enables logging parameters. When the
configuration is working satisfactorily, this line
should be reduced to saying:</para>
<programlisting>set log phase tun</programlisting>
<para>in order to avoid excessive log file
sizes.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 3:</term>
<listitem>
<para>Tells PPP how to identify itself to the peer.
PPP identifies itself to the peer if it has any
trouble negotiating and setting up the link,
providing information that the peers administrator
may find useful when investigating such
problems.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 4:</term>
<listitem>
<para>Identifies the device to which the modem is
connected. <devicename>COM1</devicename> is
<filename class="devicefile">/dev/cuau0</filename>
and
<devicename>COM2</devicename> is
<filename
class="devicefile">/dev/cuau1</filename>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 5:</term>
<listitem>
<para>Sets the speed you want to connect at. If
115200 does not work (it should with any reasonably
new modem), try 38400 instead.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 6 &amp; 7:</term>
<listitem>
<para>The dial string. User PPP<indexterm><primary>PPP</primary><secondary>user PPP</secondary></indexterm> uses an expect-send
syntax similar to the &man.chat.8; program. Refer
to the manual page for information on the features
of this language.</para>
<para>Note that this command continues onto the next
line for readability. Any command in
<filename>ppp.conf</filename> may do this if the
last character on the line is a <literal>\</literal>
character.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 8:</term>
<listitem>
<para>Sets the idle timeout for the link. 180 seconds
is the default, so this line is purely
cosmetic.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 9:</term>
<listitem>
<para>Tells PPP to ask the peer to confirm the local
resolver settings. If you run a local name server,
this line should be commented out or removed.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 10:</term>
<listitem>
<para>A blank line for readability. Blank lines are
ignored by PPP.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 11:</term>
<listitem>
<para>Identifies an entry for a provider called
<quote>provider</quote>. This could be changed
to the name of your <acronym>ISP</acronym> so
that later you can use the <option>load
<replaceable>ISP</replaceable></option> to start
the connection.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 12:</term>
<listitem>
<para>Sets the phone number for this provider.
Multiple phone numbers may be specified using the
colon (<literal>:</literal>) or pipe character
(<literal>|</literal>) as a separator. The
difference between the two separators is described
in &man.ppp.8;. To summarize, if you want to rotate
through the numbers, use a colon. If you want to
always attempt to dial the first number first and
only use the other numbers if the first number
fails, use the pipe character. Always quote the
entire set of phone numbers as shown.</para>
<para>You must enclose the phone number in quotation
marks (<literal>"</literal>) if there is any
intention on using spaces in the phone number.
This can cause a simple, yet subtle error.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 13 &amp; 14:</term>
<listitem>
<para>Identifies the user name and password. When
connecting using a &unix; style login prompt, these
values are referred to by the <command>set
login</command> command using the \U and \P
variables. When connecting using PAP or CHAP, these
values are used at authentication time.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 15:</term>
<listitem>
<para>If you are using PAP<indexterm><primary>PAP</primary></indexterm> or CHAP<indexterm><primary>CHAP</primary></indexterm>, there will be no
login at this point, and this line should be
commented out or removed. See <link
linkend="userppp-PAPnCHAP">PAP and CHAP
authentication</link> for further details.</para>
<para>The login string is of the same chat-like
syntax as the dial string. In this example, the
string works for a service whose login session looks
like this:</para>
<screen>J. Random Provider
login: <replaceable>foo</replaceable>
password: <replaceable>bar</replaceable>
protocol: ppp</screen>
<para>You will need to alter this script to suit your
own needs. When you write this script for the first
time, you should ensure that you have enabled
<quote>chat</quote> logging so you can determine if
the conversation is going as expected.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 16:</term>
<listitem>
<para>Sets the default idle timeout<indexterm><primary>timeout</primary></indexterm> (in seconds) for
the connection. Here, the connection will be closed
automatically after 300 seconds of inactivity. If
you never want to timeout, set this value to zero
or use the <option>-ddial</option> command line
switch.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 17:</term>
<listitem>
<para>Sets the interface addresses. The string
<replaceable>x.x.x.x</replaceable> should be
replaced by the IP address that your provider<indexterm><primary>ISP</primary></indexterm> has
allocated to you. The string
<replaceable>y.y.y.y</replaceable> should be
replaced by the IP address that your ISP indicated
for their gateway (the machine to which you
connect). If your ISP has not given you a gateway
address, use <hostid
role="netmask">10.0.0.2/0</hostid>. If you need to
use a <quote>guessed</quote> address, make sure that
you create an entry in
<filename>/etc/ppp/ppp.linkup</filename> as per the
instructions for <link
linkend="userppp-dynamicIP">PPP and Dynamic IP
addresses</link>. If this line is omitted,
<command>ppp</command> cannot run in
<option>-auto</option> mode.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 18:</term>
<listitem>
<para>Adds a default route to your ISP's gateway. The
special word <literal>HISADDR</literal> is replaced
with the gateway address specified on line 17. It
is important that this line appears after line 17,
otherwise <literal>HISADDR</literal> will not yet
be initialized.</para>
<para>If you do not wish to run ppp in
<option>-auto</option>, this line should be moved
to the <filename>ppp.linkup</filename> file.</para>
</listitem>
</varlistentry>
</variablelist>
<para>It is not necessary to add an entry to
<filename>ppp.linkup</filename> when you have a static
IP address and are running ppp in <option>-auto</option>
mode as your routing table entries are already correct
before you connect. You may however wish to create an
entry to invoke programs after connection. This is
explained later with the sendmail example.</para>
<para>Example configuration files can be found in the
<filename
class="directory">/usr/share/examples/ppp/</filename>
directory.</para>
</sect4>
<sect4 id="userppp-dynamicIP">
<title>PPP and Dynamic IP Addresses</title>
<indexterm>
<primary>PPP</primary>
<secondary>with dynamic IP addresses</secondary>
</indexterm>
<indexterm>
<primary>IPCP</primary>
</indexterm>
<para>If your service provider does not assign static IP
addresses, <command>ppp</command> can be configured to
negotiate the local and remote addresses. This is done by
<quote>guessing</quote> an IP address and allowing
<command>ppp</command> to set it up correctly using the IP
Configuration Protocol (IPCP) after connecting. The
<filename>ppp.conf</filename> configuration is the same as
<link linkend="userppp-staticIP">PPP and Static IP
Addresses</link>, with the following change:</para>
<programlisting>17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255 0.0.0.0</programlisting>
<para>Again, do not include the line number, it is just for
reference. Indentation of at least one space is
required.</para>
<variablelist>
<varlistentry>
<term>Line 17:</term>
<listitem>
<para>The number after the <literal>/</literal>
character is the number of bits of the address that
ppp will insist on. You may wish to use IP numbers
more appropriate to your circumstances, but the
above example will always work.</para>
<para>The last argument (<literal>0.0.0.0</literal>)
tells PPP to start negotiations using address
<hostid role="ipaddr">0.0.0.0</hostid> rather than
<hostid role="ipaddr">10.0.0.1</hostid> and is
necessary for some ISPs. Do not use
<literal>0.0.0.0</literal> as the first argument
to <command>set ifaddr</command> as it prevents
PPP from setting up an initial route in
<option>-auto</option> mode.</para>
</listitem>
</varlistentry>
</variablelist>
<para>If you are not running in <option>-auto</option> mode,
you will need to create an entry in
<filename>/etc/ppp/ppp.linkup</filename>.
<filename>ppp.linkup</filename> is used after a connection
has been established. At this point,
<command>ppp</command> will have assigned the interface
addresses and it will now be possible to add the routing
table entries:</para>
<programlisting>1 provider:
2 add default HISADDR</programlisting>
<variablelist>
<varlistentry>
<term>Line 1:</term>
<listitem>
<para>On establishing a connection,
<command>ppp</command> will look for an entry in
<filename>ppp.linkup</filename> according to the
following rules: First, try to match the same label
as we used in <filename>ppp.conf</filename>. If
that fails, look for an entry for the IP address of
our gateway. This entry is a four-octet IP style
label. If we still have not found an entry, look
for the <literal>MYADDR</literal> entry.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 2:</term>
<listitem>
<para>This line tells <command>ppp</command> to add a
default route that points to
<literal>HISADDR</literal>.
<literal>HISADDR</literal> will be replaced with the
IP number of the gateway as negotiated by the
IPCP.</para>
</listitem>
</varlistentry>
</variablelist>
<para>See the <literal>pmdemand</literal> entry in the files
<filename>/usr/share/examples/ppp/ppp.conf.sample</filename>
and
<filename>/usr/share/examples/ppp/ppp.linkup.sample</filename>
for a detailed example.</para>
</sect4>
<sect4>
<title>Receiving Incoming Calls</title>
<indexterm>
<primary>PPP</primary>
<secondary>receiving incoming calls</secondary>
</indexterm>
<para>When you configure <application>ppp</application> to
receive incoming calls on a machine connected to a LAN,
you must decide if you wish to forward packets to the LAN.
If you do, you should allocate the peer an IP number from
your LAN's subnet, and use the command <command>enable
proxy</command> in your
<filename>/etc/ppp/ppp.conf</filename> file. You should
also confirm that the <filename>/etc/rc.conf</filename>
file contains the following:</para>
<programlisting>gateway_enable="YES"</programlisting>
</sect4>
<sect4>
<title>Which getty?</title>
<para><link linkend="dialup">Configuring FreeBSD for
Dial-up Services</link> provides a good description
on enabling dial-up services using &man.getty.8;.</para>
<para>An alternative to <command>getty</command> is <ulink
url="http://mgetty.greenie.net/">mgetty</ulink> (from
<filename role="package">comms/mgetty+sendfax</filename>
port), a smarter version of <command>getty</command>
designed with dial-up lines in mind.</para>
<para>The advantages of using <command>mgetty</command> is
that it actively <emphasis>talks</emphasis> to modems,
meaning if port is turned off in
<filename>/etc/ttys</filename> then your modem will not
answer the phone.</para>
<para>Later versions of <command>mgetty</command> (from
0.99beta onwards) also support the automatic detection of
PPP streams, allowing your clients script-less access to
your server.</para>
<para>Refer to <link linkend="userppp-mgetty">Mgetty and
AutoPPP</link> for more information on
<command>mgetty</command>.</para>
</sect4>
<sect4>
<title><application>PPP</application> Permissions</title>
<para>The <command>ppp</command> command must normally be
run as the <username>root</username> user. If however,
you wish to allow <command>ppp</command> to run in
server mode as a normal user by executing
<command>ppp</command> as described below, that user
must be given permission to run <command>ppp</command>
by adding them to the <groupname>network</groupname>
group in <filename>/etc/group</filename>.</para>
<para>You will also need to give them access to one or more
sections of the configuration file using the
<command>allow</command> command:</para>
<programlisting>allow users fred mary</programlisting>
<para>If this command is used in the
<literal>default</literal> section, it gives the specified
users access to everything.</para>
</sect4>
<sect4>
<title>PPP Shells for Dynamic-IP Users</title>
<indexterm>
<primary>PPP shells</primary>
</indexterm>
<para>Create a file called
<filename>/etc/ppp/ppp-shell</filename> containing the
following:</para>
<programlisting>#!/bin/sh
IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`
if [ x$IDENT = xdialup ]; then
IDENT=`basename $TTY`
fi
echo "PPP for $CALLEDAS on $TTY"
echo "Starting PPP for $IDENT"
exec /usr/sbin/ppp -direct $IDENT</programlisting>
<para>This script should be executable. Now make a
symbolic link called <filename>ppp-dialup</filename> to
this script using the following commands:</para>
<screen>&prompt.root; <userinput>ln -s ppp-shell /etc/ppp/ppp-dialup</userinput></screen>
<para>You should use this script as the
<emphasis>shell</emphasis> for all of your dialup users.
This is an example from <filename>/etc/passwd</filename>
for a dialup PPP user with username
<username>pchilds</username> (remember do not directly
edit the password file, use &man.vipw.8;).</para>
<programlisting>pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup</programlisting>
<para>Create a <filename
class="directory">/home/ppp</filename> directory that
is world readable containing the following 0 byte
files:</para>
<screen>-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
-r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts</screen>
<para>which prevents <filename>/etc/motd</filename> from
being displayed.</para>
</sect4>
<sect4>
<title>PPP Shells for Static-IP Users</title>
<indexterm>
<primary>PPP shells</primary>
</indexterm>
<para>Create the <filename>ppp-shell</filename> file as
above, and for each account with statically assigned
IPs create a symbolic link to
<filename>ppp-shell</filename>.</para>
<para>For example, if you have three dialup customers,
<username>fred</username>, <username>sam</username>,
and <username>mary</username>, that you route /24 CIDR
networks for, you would type the following:</para>
<screen>&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred</userinput>
&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam</userinput>
&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary</userinput></screen>
<para>Each of these users dialup accounts should have
their shell set to the symbolic link created above (for
example, <username>mary</username>'s shell should be
<filename>/etc/ppp/ppp-mary</filename>).</para>
</sect4>
<sect4>
<title>Setting Up <filename>ppp.conf</filename> for
Dynamic-IP Users</title>
<para>The <filename>/etc/ppp/ppp.conf</filename> file
should contain something along the lines of:</para>
<programlisting>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</programlisting>
<note>
<para>The indenting is important.</para>
</note>
<para>The <literal>default:</literal> section is loaded
for each session. For each dialup line enabled in
<filename>/etc/ttys</filename> create an entry similar
to the one for <literal>ttyu0:</literal> above. Each
line should get a unique IP address from your pool of
IP addresses for dynamic users.</para>
</sect4>
<sect4>
<title>Setting Up <filename>ppp.conf</filename> for
Static-IP Users</title>
<para>Along with the contents of the sample
<filename>/usr/share/examples/ppp/ppp.conf</filename>
above you should add a section for each of the
statically assigned dialup users. We will continue with
our <username>fred</username>, <username>sam</username>,
and <username>mary</username> example.</para>
<programlisting>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</programlisting>
<para>The file <filename>/etc/ppp/ppp.linkup</filename>
should also contain routing information for each static
IP user if required. The line below would add a route
for the <hostid role="ipaddr">203.14.101.0/24</hostid>
network via the client's ppp link.</para>
<programlisting>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</programlisting>
</sect4>
<sect4 id="userppp-mgetty">
<title><command>mgetty</command> and AutoPPP</title>
<indexterm>
<primary><command>mgetty</command></primary>
</indexterm>
<indexterm>
<primary>AutoPPP</primary>
</indexterm>
<indexterm>
<primary>LCP</primary>
</indexterm>
<para>By default the <filename
role="package">comms/mgetty+sendfax</filename> port
comes with the <literal>AUTO_PPP</literal> option enabled
allowing <command>mgetty</command> to detect the LCP
phase of PPP connections and automatically spawn off a
ppp shell. However, since the default login/password
sequence does not occur it is necessary to authenticate
users using either PAP or CHAP.</para>
<para>This section assumes the user has successfully
compiled, and installed the <filename
role="package">comms/mgetty+sendfax</filename> port on
his system.</para>
<para>Make sure your
<filename>/usr/local/etc/mgetty+sendfax/login.config</filename>
file has the following in it:</para>
<programlisting>/AutoPPP/ - - /etc/ppp/ppp-pap-dialup</programlisting>
<para>This will tell <command>mgetty</command> to run the
<filename>ppp-pap-dialup</filename> script for detected
PPP connections.</para>
<para>Create a file called
<filename>/etc/ppp/ppp-pap-dialup</filename> containing
the following (the file should be executable):</para>
<programlisting>#!/bin/sh
exec /usr/sbin/ppp -direct pap$IDENT</programlisting>
<para>For each dialup line enabled in
<filename>/etc/ttys</filename>, create a corresponding
entry in <filename>/etc/ppp/ppp.conf</filename>. This
will happily co-exist with the definitions we created
above.</para>
<programlisting>pap:
enable pap
set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
enable proxy</programlisting>
<para>Each user logging in with this method will need to
have a username/password in
<filename>/etc/ppp/ppp.secret</filename> file, or
alternatively add the following option to authenticate
users via PAP from the <filename>/etc/passwd</filename>
file.</para>
<programlisting>enable passwdauth</programlisting>
<para>If you wish to assign some users a static IP number,
you can specify the number as the third argument in
<filename>/etc/ppp/ppp.secret</filename>. See
<filename>/usr/share/examples/ppp/ppp.secret.sample</filename>
for examples.</para>
</sect4>
<sect4>
<title>MS Extensions</title>
<indexterm>
<primary>DNS</primary>
</indexterm>
<indexterm>
<primary>NetBIOS</primary>
</indexterm>
<indexterm>
<primary>PPP</primary>
<secondary>Microsoft extensions</secondary>
</indexterm>
<para>It is possible to configure PPP to supply DNS and
NetBIOS nameserver addresses on demand.</para>
<para>To enable these extensions with PPP version 1.x, the
following lines might be added to the relevant section
of <filename>/etc/ppp/ppp.conf</filename>.</para>
<programlisting>enable msext
set ns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5</programlisting>
<para>And for PPP version 2 and above:</para>
<programlisting>accept dns
set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5</programlisting>
<para>This will tell the clients the primary and secondary
name server addresses, and a NetBIOS nameserver
host.</para>
<para>In version 2 and above, if the
<literal>set dns</literal> line is omitted, PPP will
use the values found in
<filename>/etc/resolv.conf</filename>.</para>
</sect4>
<sect4 id="userppp-PAPnCHAP">
<title>PAP and CHAP Authentication</title>
<indexterm><primary>PAP</primary></indexterm>
<indexterm><primary>CHAP</primary></indexterm>
<para>Some ISPs set their system up so that the
authentication part of your connection is done using
either of the PAP or CHAP authentication mechanisms. If
this is the case, your ISP will not give a
<prompt>login:</prompt> prompt when you connect, but will
start talking PPP immediately.</para>
<para>PAP is less secure than CHAP, but security is not
normally an issue here as passwords, although being sent
as plain text with PAP, are being transmitted down a
serial line only. There is not much room for crackers
to <quote>eavesdrop</quote>.</para>
<para>Referring back to the <link
linkend="userppp-staticIP">PPP and Static IP
addresses</link> or <link
linkend="userppp-dynamicIP">PPP and Dynamic IP
addresses</link> sections, the following alterations must
be made:</para>
<programlisting>13 set authname <replaceable>MyUserName</replaceable>
14 set authkey <replaceable>MyPassword</replaceable>
15 set login</programlisting>
<variablelist>
<varlistentry>
<term>Line 13:</term>
<listitem>
<para>This line specifies your PAP/CHAP user name.
You will need to insert the correct value for
<replaceable>MyUserName</replaceable>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 14:</term>
<listitem>
<para>This line specifies your PAP/CHAP password<indexterm><primary>password</primary></indexterm>.
You will need to insert the correct value for
<replaceable>MyPassword</replaceable>. You may
want to add an additional line, such as:</para>
<programlisting>16 accept PAP</programlisting>
<para>or</para>
<programlisting>16 accept CHAP</programlisting>
<para>to make it obvious that this is the intention,
but PAP and CHAP are both accepted by
default.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Line 15:</term>
<listitem>
<para>Your ISP will not normally require that you log
into the server if you are using PAP or CHAP. You
must therefore disable your <quote>set login</quote>
string.</para>
</listitem>
</varlistentry>
</variablelist>
</sect4>
<sect4>
<title>Changing Your <command>ppp</command> Configuration
on the Fly</title>
<para>It is possible to talk to the <command>ppp</command>
program while it is running in the background, but only
if a suitable diagnostic port has been set up. To do
this, add the following line to your configuration:</para>
<programlisting>set server /var/run/ppp-tun<replaceable>%d</replaceable> DiagnosticPassword 0177</programlisting>
<para>This will tell PPP to listen to the specified
&unix; domain socket, asking clients for the specified
password before allowing access. The
<literal>%d</literal> in the name is replaced with the
<devicename>tun</devicename> device number that is in
use.</para>
<para>Once a socket has been set up, the &man.pppctl.8;
program may be used in scripts that wish to manipulate
the running program.</para>
</sect4>
</sect3>
<sect3 id="userppp-nat">
<title>Using PPP Network Address Translation
Capability</title>
<indexterm>
<primary>PPP</primary><secondary>NAT</secondary>
</indexterm>
<para>PPP has ability to use internal NAT without kernel
diverting capabilities. This functionality may be enabled
by the following line in
<filename>/etc/ppp/ppp.conf</filename>:</para>
<programlisting>nat enable yes</programlisting>
<para>Alternatively, PPP NAT may be enabled by command-line
option <literal>-nat</literal>. There is also
<filename>/etc/rc.conf</filename> knob named
<literal>ppp_nat</literal>, which is enabled by
default.</para>
<para>If you use this feature, you may also find useful
the following <filename>/etc/ppp/ppp.conf</filename> options
to enable incoming connections forwarding:</para>
<programlisting>nat port tcp 10.0.0.2:ftp ftp
nat port tcp 10.0.0.2:http http</programlisting>
<para>or do not trust the outside at all</para>
<programlisting>nat deny_incoming yes</programlisting>
</sect3>
<sect3 id="userppp-final">
<title>Final System Configuration</title>
<indexterm>
<primary>PPP</primary><secondary>configuration</secondary>
</indexterm>
<para>You now have <command>ppp</command> configured, but
there are a few more things to do before it is ready to
work. They all involve editing the
<filename>/etc/rc.conf</filename> file.</para>
<para>Working from the top down in this file, make sure the
<literal>hostname=</literal> line is set, e.g.:</para>
<programlisting>hostname="foo.example.com"</programlisting>
<para>If your ISP has supplied you with a static IP address
and name, it is probably best that you use this name as your
host name.</para>
<para>Look for the <literal>network_interfaces</literal>
variable. If you want to configure your system to dial your
ISP on demand, make sure the <devicename>tun0</devicename>
device is added to the list, otherwise remove it.</para>
<programlisting>network_interfaces="lo0 tun0"
ifconfig_tun0=</programlisting>
<note>
<para>The <literal>ifconfig_tun0</literal> variable should
be empty, and a file called
<filename>/etc/start_if.tun0</filename> should be created.
This file should contain the line:</para>
<programlisting>ppp -auto mysystem</programlisting>
<para>This script is executed at network configuration time,
starting your ppp daemon in automatic mode. If you have
a LAN for which this machine is a gateway, you may also
wish to use the <option>-alias</option> switch. Refer
to the manual page for further details.</para>
</note>
<para>Make sure that the router program is set to
<literal>NO</literal> with the following line in your
<filename>/etc/rc.conf</filename>:</para>
<programlisting>router_enable="NO"</programlisting>
<indexterm>
<primary><application>routed</application></primary>
</indexterm>
<para>It is important that the <command>routed</command>
daemon is not started, as <command>routed</command> tends
to delete the default routing table entries created by
<command>ppp</command>.</para>
<para>It is probably a good idea to ensure that the
<literal>sendmail_flags</literal> line does not include the
<option>-q</option> option, otherwise
<command>sendmail</command> will attempt to do a network
lookup every now and then, possibly causing your machine
to dial out. You may try:</para>
<programlisting>sendmail_flags="-bd"</programlisting>
<indexterm>
<primary><application>sendmail</application></primary>
</indexterm>
<para>The downside of this is that you must force
<command>sendmail</command> to re-examine the mail queue
whenever the ppp link is up by typing:</para>
<screen>&prompt.root; <userinput>/usr/sbin/sendmail -q</userinput></screen>
<para>You may wish to use the <command>!bg</command> command
in <filename>ppp.linkup</filename> to do this
automatically:</para>
<programlisting>1 provider:
2 delete ALL
3 add 0 0 HISADDR
4 !bg sendmail -bd -q30m</programlisting>
<indexterm>
<primary>SMTP</primary>
</indexterm>
<para>If you do not like this, it is possible to set up a
<quote>dfilter</quote> to block SMTP traffic. Refer to the
sample files for further details.</para>
<para>All that is left is to reboot the machine. After
rebooting, you can now either type:</para>
<screen>&prompt.root; <userinput>ppp</userinput></screen>
<para>and then <command>dial provider</command> to start the
PPP session, or, if you want <command>ppp</command> to
establish sessions automatically when there is outbound
traffic (and you have not created the
<filename>start_if.tun0</filename> script), type:</para>
<screen>&prompt.root; <userinput>ppp -auto provider</userinput></screen>
</sect3>
<sect3>
<title>Summary</title>
<para>To recap, the following steps are necessary when setting
up ppp for the first time:</para>
<para>Client side:</para>
<procedure>
<step>
<para>Ensure that the <devicename>tun</devicename> device
is built into your kernel.</para>
</step>
<step>
<para>Ensure that the <filename
class="devicefile">tun<replaceable>N</replaceable></filename>
device file is available in the <filename
class="directory">/dev</filename> directory.</para>
</step>
<step>
<para>Create an entry in
<filename>/etc/ppp/ppp.conf</filename>. The
<filename>pmdemand</filename> example should suffice
for most ISPs.</para>
</step>
<step>
<para>If you have a dynamic IP address, create an entry in
<filename>/etc/ppp/ppp.linkup</filename>.</para>
</step>
<step>
<para>Update your <filename>/etc/rc.conf</filename>
file.</para>
</step>
<step>
<para>Create a <filename>start_if.tun0</filename> script
if you require demand dialing.</para>
</step>
</procedure>
<para>Server side:</para>
<procedure>
<step>
<para>Ensure that the <devicename>tun</devicename> device
is built into your kernel.</para>
</step>
<step>
<para>Ensure that the
<filename
class="devicefile">tun<replaceable>N</replaceable></filename>
device file is available in the <filename
class="directory">/dev</filename> directory.</para>
</step>
<step>
<para>Create an entry in <filename>/etc/passwd</filename>
(using the &man.vipw.8; program).</para>
</step>
<step>
<para>Create a profile in this users home directory that
runs <command>ppp -direct direct-server</command> or
similar.</para>
</step>
<step>
<para>Create an entry in
<filename>/etc/ppp/ppp.conf</filename>. The
<filename>direct-server</filename> example should
suffice.</para>
</step>
<step>
<para>Create an entry in
<filename>/etc/ppp/ppp.linkup</filename>.</para>
</step>
<step>
<para>Update your <filename>/etc/rc.conf</filename>
file.</para>
</step>
</procedure>
</sect3>
</sect2>
</sect1>
- <sect1 id="ppp">
- <sect1info>
- <authorgroup>
- <author>
- <firstname>Gennady B.</firstname>
- <surname>Sorokopud</surname>
- <contrib>Parts originally contributed by </contrib>
- </author>
- <author>
- <firstname>Robert</firstname>
- <surname>Huff</surname>
- </author>
- </authorgroup>
- </sect1info>
-
- <title>Using Kernel PPP</title>
-
- <warning>
- <para>This section applies and is valid only for
- &os;&nbsp;7.X.</para>
- </warning>
-
- <sect2>
- <title>Setting Up Kernel PPP</title>
-
- <indexterm>
- <primary>PPP</primary>
- <secondary>kernel PPP</secondary>
- </indexterm>
-
- <para>Before you start setting up PPP on your machine, make sure
- that <command>pppd</command> is located in
- <filename class="directory">/usr/sbin</filename> and the
- directory <filename class="directory">/etc/ppp</filename>
- exists.</para>
-
- <para><command>pppd</command> can work in two modes:</para>
-
- <orderedlist>
- <listitem>
- <para>As a <quote>client</quote> &mdash; you want to connect
- your machine to the outside world via a PPP serial
- connection or modem line.</para>
- </listitem>
-
- <listitem>
- <indexterm>
- <primary>PPP</primary>
- <secondary>server</secondary>
- </indexterm>
-
- <para>As a <quote>server</quote> &mdash; your machine is
- located on the network, and is used to connect other
- computers using PPP.</para>
- </listitem>
- </orderedlist>
-
- <para>In both cases you will need to set up an options file
- (<filename>/etc/ppp/options</filename> or
- <filename>~/.ppprc</filename> if you have more than one user
- on your machine that uses PPP).</para>
-
- <para>You will also need some modem/serial software (preferably
- <filename role="package">comms/kermit</filename>), so you
- can dial and establish a connection with the remote
- host.</para>
- </sect2>
-
- <sect2>
- <sect2info>
- <authorgroup>
- <author>
- <firstname>Trev</firstname>
- <surname>Roydhouse</surname>
- <contrib>Based on information provided by </contrib>
- <!-- Trev.Roydhouse@f401.n711.z3.fidonet.org -->
- </author>
- </authorgroup>
- </sect2info>
-
- <title>Using <command>pppd</command> as a Client</title>
-
- <indexterm>
- <primary>PPP</primary>
- <secondary>client</secondary>
- </indexterm>
-
- <indexterm>
- <primary>Cisco</primary>
- </indexterm>
-
- <para>The following <filename>/etc/ppp/options</filename> might
- be used to connect to a Cisco terminal server PPP line.</para>
-
- <programlisting>crtscts # enable hardware flow control
-modem # modem control line
-noipdefault # remote PPP server must supply your IP address
- # if the remote host does not send your IP during IPCP
- # negotiation, remove this option
-passive # wait for LCP packets
-domain ppp.foo.com # put your domain name here
-
-:<replaceable>remote_ip</replaceable> # put the IP of remote PPP host here
- # it will be used to route packets via PPP link
- # if you didn't specified the noipdefault option
- # change this line to <replaceable>local_ip</replaceable>:<replaceable>remote_ip</replaceable>
-
-defaultroute # put this if you want that PPP server will be your
- # default router</programlisting>
-
- <para>To connect:</para>
-
- <indexterm><primary>Kermit</primary></indexterm>
- <indexterm><primary>modem</primary></indexterm>
- <procedure>
- <step>
- <para>Dial to the remote host using
- <application>Kermit</application> (or some other modem
- program), and enter your user name and password (or
- whatever is needed to enable PPP on the remote
- host).</para>
- </step>
-
- <step>
- <para>Exit <application>Kermit</application> (without
- hanging up the line).</para>
- </step>
-
- <step>
- <para>Enter the following:</para>
-
- <screen>&prompt.root; <userinput>/usr/sbin/pppd <replaceable>/dev/tty01</replaceable> <replaceable>19200</replaceable></userinput></screen>
-
- <para>Be sure to use the appropriate speed and device
- name.</para>
- </step>
- </procedure>
-
- <para>Now your computer is connected with PPP. If the
- connection fails, you can add the <option>debug</option>
- option to the <filename>/etc/ppp/options</filename> file,
- and check console messages to track the problem.</para>
-
- <para>Following <filename>/etc/ppp/pppup</filename> script will
- make all 3 stages automatic:</para>
-
- <programlisting>#!/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</programlisting>
-
- <indexterm>
- <primary>Kermit</primary>
- </indexterm>
-
- <para><filename>/etc/ppp/kermit.dial</filename> is a
- <application>Kermit</application> script that dials and makes
- all necessary authorization on the remote host (an example
- of such a script is attached to the end of this
- document).</para>
-
- <para>Use the following <filename>/etc/ppp/pppdown</filename>
- script to disconnect the PPP line:</para>
-
- <programlisting>#!/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</programlisting>
-
- <para>Check to see if <command>pppd</command> is still running
- by executing <filename>/usr/etc/ppp/ppptest</filename>, which
- should look like this:</para>
-
- <programlisting>#!/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</programlisting>
-
- <para>To hang up the modem, execute
- <filename>/etc/ppp/kermit.hup</filename>, which should
- contain:</para>
-
- <programlisting>set line /dev/tty01 ; put your modem device here
-set speed 19200
-set file type binary
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-
-pau 1
-out +++
-inp 5 OK
-out ATH0\13
-echo \13
-exit</programlisting>
-
- <para>Here is an alternate method using <command>chat</command>
- instead of <command>kermit</command>:</para>
-
- <para>The following two files are sufficient to accomplish a
- <command>pppd</command> connection.</para>
-
- <para><filename>/etc/ppp/options</filename>:</para>
-
- <programlisting>/dev/cuad1 115200
-
-crtscts # enable hardware flow control
-modem # modem control line
-connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
-noipdefault # remote PPP serve must supply your IP address
- # if the remote host doesn't send your IP during
- # IPCP negotiation, remove this option
-passive # wait for LCP packets
-domain <replaceable>your.domain</replaceable> # put your domain name here
-
-: # put the IP of remote PPP host here
- # it will be used to route packets via PPP link
- # if you didn't specified the noipdefault option
- # change this line to <replaceable>local_ip</replaceable>:<replaceable>remote_ip</replaceable>
-
-defaultroute # put this if you want that PPP server will be
- # your default router</programlisting>
-
- <para><filename>/etc/ppp/login.chat.script</filename>:</para>
-
- <note>
- <para>The following should go on a single line.</para>
- </note>
-
- <programlisting>ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<replaceable>phone.number</replaceable>
- CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <replaceable>login-id</replaceable>
- TIMEOUT 5 sword: <replaceable>password</replaceable></programlisting>
-
- <para>Once these are installed and modified correctly, all
- you need to do is run <command>pppd</command>, like so:</para>
-
- <screen>&prompt.root; <userinput>pppd</userinput></screen>
- </sect2>
-
- <sect2>
- <title>Using <command>pppd</command> as a Server</title>
-
- <para><filename>/etc/ppp/options</filename> should contain
- something similar to the following:</para>
-
- <programlisting>crtscts # Hardware flow control
-netmask 255.255.255.0 # netmask (not required)
-192.114.208.20:192.114.208.165 # IP's of local and remote hosts
- # local ip must be different from one
- # you assigned to the Ethernet (or other)
- # interface on your machine.
- # remote IP is IP address that will be
- # assigned to the remote machine
-domain ppp.foo.com # your domain
-passive # wait for LCP
-modem # modem line</programlisting>
-
- <para>The following <filename>/etc/ppp/pppserv</filename> script
- will tell <application>pppd</application> to behave as a
- server:</para>
-
- <programlisting>#!/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</programlisting>
-
- <para>Use this <filename>/etc/ppp/pppservdown</filename> script
- to stop the server:</para>
-
- <programlisting>#!/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</programlisting>
-
- <para>The following <application>Kermit</application> script
- (<filename>/etc/ppp/kermit.ans</filename>) will enable/disable
- autoanswer mode on your modem. It should look like
- this:</para>
-
- <programlisting>set line /dev/tty01
-set speed 19200
-set file type binary
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-
-pau 1
-out +++
-inp 5 OK
-out ATH0\13
-inp 5 OK
-echo \13
-out ATS0=1\13 ; change this to out ATS0=0\13 if you want to disable
- ; autoanswer mode
-inp 5 OK
-echo \13
-exit</programlisting>
-
- <para>A script named <filename>/etc/ppp/kermit.dial</filename>
- is used for dialing and authenticating on the remote host.
- You will need to customize it for your needs. Put your login
- and password in this script; you will also need to change the
- input statement depending on responses from your modem and
- remote host.</para>
-
- <programlisting>;
-; put the com line attached to the modem here:
-;
-set line /dev/tty01
-;
-; put the modem speed here:
-;
-set speed 19200
-set file type binary ; full 8 bit file xfer
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-set modem hayes
-set dial hangup off
-set carrier auto ; Then SET CARRIER if necessary,
-set dial display on ; Then SET DIAL if necessary,
-set input echo on
-set input timeout proceed
-set input case ignore
-def \%x 0 ; login prompt counter
-goto slhup
-
-:slcmd ; put the modem in command mode
-echo Put the modem in command mode.
-clear ; Clear unread characters from input buffer
-pause 1
-output +++ ; hayes escape sequence
-input 1 OK\13\10 ; wait for OK
-if success goto slhup
-output \13
-pause 1
-output at\13
-input 1 OK\13\10
-if fail goto slcmd ; if modem doesn't answer OK, try again
-
-:slhup ; hang up the phone
-clear ; Clear unread characters from input buffer
-pause 1
-echo Hanging up the phone.
-output ath0\13 ; hayes command for on hook
-input 2 OK\13\10
-if fail goto slcmd ; if no OK answer, put modem in command mode
-
-:sldial ; dial the number
-pause 1
-echo Dialing.
-output atdt9,550311\13\10 ; put phone number here
-assign \%x 0 ; zero the time counter
-
-:look
-clear ; Clear unread characters from input buffer
-increment \%x ; Count the seconds
-input 1 {CONNECT }
-if success goto sllogin
-reinput 1 {NO CARRIER\13\10}
-if success goto sldial
-reinput 1 {NO DIALTONE\13\10}
-if success goto slnodial
-reinput 1 {\255}
-if success goto slhup
-reinput 1 {\127}
-if success goto slhup
-if &lt; \%x 60 goto look
-else goto slhup
-
-:sllogin ; login
-assign \%x 0 ; zero the time counter
-pause 1
-echo Looking for login prompt.
-
-:slloop
-increment \%x ; Count the seconds
-clear ; Clear unread characters from input buffer
-output \13
-;
-; put your expected login prompt here:
-;
-input 1 {Username: }
-if success goto sluid
-reinput 1 {\255}
-if success goto slhup
-reinput 1 {\127}
-if success goto slhup
-if &lt; \%x 10 goto slloop ; try 10 times to get a login prompt
-else goto slhup ; hang up and start again if 10 failures
-
-:sluid
-;
-; put your userid here:
-;
-output ppp-login\13
-input 1 {Password: }
-;
-; put your password here:
-;
-output ppp-password\13
-input 1 {Entering SLIP mode.}
-echo
-quit
-
-:slnodial
-echo \7No dialtone. Check the telephone line!\7
-exit 1
-
-; local variables:
-; mode: csh
-; comment-start: "; "
-; comment-start-skip: "; "
-; end:</programlisting>
- </sect2>
- </sect1>
-
<sect1 id="ppp-troubleshoot">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
<!-- 13 June 2003 -->
</sect1info>
<title>Troubleshooting <acronym>PPP</acronym> Connections</title>
<indexterm>
<primary>PPP</primary>
<secondary>troubleshooting</secondary>
</indexterm>
<para>This section covers a few issues which may arise when
using PPP over a modem connection. For instance, perhaps you
need to know exactly what prompts the system you are dialing
into will present. Some <acronym>ISP</acronym>s present the
<literal>ssword</literal> prompt, and others will present
<literal>password</literal>; if the <command>ppp</command>
script is not written accordingly, the login attempt will
fail. The most common way to debug <command>ppp</command>
connections is by connecting manually. The following
information will walk you through a manual connection step by
step.</para>
<sect2>
<title>Check the Device Nodes</title>
<para>When using a custom kernel, make sure to include the
following line in your kernel configuration file:</para>
<programlisting>device uart</programlisting>
<para>The <devicename>uart</devicename> device is already
included in the <literal>GENERIC</literal> kernel, so no
additional steps are necessary in this case. Just
check the <command>dmesg</command> output for the modem
device with:</para>
<screen>&prompt.root; <userinput>dmesg | grep uart</userinput></screen>
<para>You should get some pertinent output about the
<devicename>uart</devicename> devices. These are the COM
ports we need. If your modem acts like a standard serial
port then you should see it listed on
<devicename>uart1</devicename>, or
<devicename>COM2</devicename>. If so, you are not required
to rebuild the kernel. When matching up sio modem is on
<devicename>uart1</devicename> or
<devicename>COM2</devicename> if you are in DOS, then your
modem device would be <filename
class="devicefile">/dev/cuau1</filename>.</para>
</sect2>
<sect2>
<title>Connecting Manually</title>
<para>Connecting to the Internet by manually controlling
<command>ppp</command> is quick, easy, and a great way to
debug a connection or just get information on how your
<acronym>ISP</acronym> treats <command>ppp</command> client
connections. Lets start <application>PPP</application> from
the command line. Note that in all of our examples we will
use <emphasis>example</emphasis> as the hostname of the
machine running <application>PPP</application>. You start
<command>ppp</command> by just typing
<command>ppp</command>:</para>
<screen>&prompt.root; <userinput>ppp</userinput></screen>
<para>We have now started <command>ppp</command>.</para>
<screen>ppp ON example&gt; <userinput>set device <filename class="devicefile">/dev/cuau1</filename></userinput></screen>
<para>We set our modem device, in this case it is
<devicename>cuau1</devicename>.</para>
<screen>ppp ON example&gt; <userinput>set speed 115200</userinput></screen>
<para>Set the connection speed, in this case we
are using 115,200 <acronym>kbps</acronym>.</para>
<screen>ppp ON example&gt; <userinput>enable dns</userinput></screen>
<para>Tell <command>ppp</command> to configure our
resolver and add the nameserver lines to
<filename>/etc/resolv.conf</filename>. If
<command>ppp</command> cannot determine our hostname, we can
set one manually later.</para>
<screen>ppp ON example&gt; <userinput>term</userinput></screen>
<para>Switch to <quote>terminal</quote> mode so that we can
manually control the modem.</para>
<programlisting>deflink: Entering terminal mode on <filename class="devicefile">/dev/cuau1</filename>
type '~h' for help</programlisting>
<screen><userinput>at</userinput>
OK
<userinput>atdt<replaceable>123456789</replaceable></userinput></screen>
<para>Use <command>at</command> to initialize the modem,
then use <command>atdt</command> and the number for your
<acronym>ISP</acronym> to begin the dial in process.</para>
<screen>CONNECT</screen>
<para>Confirmation of the connection, if we are going to have
any connection problems, unrelated to hardware, here is where
we will attempt to resolve them.</para>
<screen>ISP Login:<userinput>myusername</userinput></screen>
<para>Here you are prompted for a username, return the
prompt with the username that was provided by the
<acronym>ISP</acronym>.</para>
<screen>ISP Pass:<userinput>mypassword</userinput></screen>
<para>This time we are prompted for a password, just
reply with the password that was provided by the
<acronym>ISP</acronym>. Just like logging into
&os;, the password will not echo.</para>
<screen>Shell or PPP:<userinput>ppp</userinput></screen>
<para>Depending on your <acronym>ISP</acronym> this prompt
may never appear. Here we are being asked if we wish to
use a shell on the provider, or to start
<command>ppp</command>. In this example, we have chosen
to use <command>ppp</command> as we want an Internet
connection.</para>
<screen>Ppp ON example&gt;</screen>
<para>Notice that in this example the first <option>p</option>
has been capitalized. This shows that we have successfully
connected to the <acronym>ISP</acronym>.</para>
<screen>PPp ON example&gt;</screen>
<para>We have successfully authenticated with our
<acronym>ISP</acronym> and are waiting for the
assigned <acronym>IP</acronym> address.</para>
<screen>PPP ON example&gt;</screen>
<para>We have made an agreement on an <acronym>IP</acronym>
address and successfully completed our connection.</para>
<screen>PPP ON example&gt;<userinput>add default HISADDR</userinput></screen>
<para>Here we add our default route, we need to do this before
we can talk to the outside world as currently the only
established connection is with the peer. If this fails due to
existing routes you can put a bang character
<literal>!</literal> in front of the <option>add</option>.
Alternatively, you can set this before making the actual
connection and it will negotiate a new route
accordingly.</para>
<para>If everything went good we should now have an active
connection to the Internet, which could be thrown into the
background using <keycombo
action="simul"><keycap>CTRL</keycap>
<keycap>z</keycap></keycombo> If you notice the
<command>PPP</command> return to <command>ppp</command> then
we have lost our connection. This is good to know because it
shows our connection status. Capital P's show that we have a
connection to the <acronym>ISP</acronym> and lowercase p's
show that the connection has been lost for whatever reason.
<command>ppp</command> only has these 2 states.</para>
<sect3>
<title>Debugging</title>
<para>If you have a direct line and cannot seem to make a
connection, then turn hardware flow
<acronym>CTS/RTS</acronym> to off with the <option>set
ctsrts off</option>. This is mainly the case if you are
connected to some <application>PPP</application> capable
terminal servers, where <application>PPP</application> hangs
when it tries to write data to your communication link, so
it would be waiting for a <acronym>CTS</acronym>, or Clear
To Send signal which may never come. If you use this option
however, you should also use the <option>set accmap</option>
option, which may be required to defeat hardware dependent
on passing certain characters from end to end, most of the
time XON/XOFF. See the &man.ppp.8; manual page for more
information on this option, and how it is used.</para>
<para>If you have an older modem, you may need to use the
<option>set parity even</option>. Parity is set at none
be default, but is used for error checking (with a large
increase in traffic) on older modems and some
<acronym>ISP</acronym>s. You may need this option for
the Compuserve <acronym>ISP</acronym>.</para>
<para><application>PPP</application> may not return to the
command mode, which is usually a negotiation error where
the <acronym>ISP</acronym> is waiting for your side to start
negotiating. At this point, using the <command>~p</command>
command will force ppp to start sending the configuration
information.</para>
<para>If you never obtain a login prompt, then most likely you
need to use <acronym>PAP</acronym> or
<acronym>CHAP</acronym> authentication instead of the
&unix; style in the example above. To use
<acronym>PAP</acronym> or <acronym>CHAP</acronym> just add
the following options to <application>PPP</application>
before going into terminal mode:</para>
<screen>ppp ON example&gt; <userinput>set authname <replaceable>myusername</replaceable></userinput></screen>
<para>Where <replaceable>myusername</replaceable> should be
replaced with the username that was assigned by the
<acronym>ISP</acronym>.</para>
<screen>ppp ON example&gt; <userinput>set authkey <replaceable>mypassword</replaceable></userinput></screen>
<para>Where <replaceable>mypassword</replaceable> should be
replaced with the password that was assigned by the
<acronym>ISP</acronym>.</para>
<para>If you connect fine, but cannot seem to find any domain
name, try to use &man.ping.8; with an <acronym>IP</acronym>
address and see if you can get any return information. If
you experience 100 percent (100%) packet loss, then it is
most likely that you were not assigned a default route.
Double check that the option <option>add default
HISADDR</option> was set during the connection. If you
can connect to a remote <acronym>IP</acronym> address then
it is possible that a resolver address has not been added
to the <filename>/etc/resolv.conf</filename>. This file
should look like:</para>
<programlisting>domain <replaceable>example.com</replaceable>
nameserver <replaceable>x.x.x.x</replaceable>
nameserver <replaceable>y.y.y.y</replaceable></programlisting>
<para>Where <replaceable>x.x.x.x</replaceable> and
<replaceable>y.y.y.y</replaceable> should be replaced with
the <acronym>IP</acronym> address of your
<acronym>ISP</acronym>'s DNS servers. This information may
or may not have been provided when you signed up, but a
quick call to your <acronym>ISP</acronym> should remedy
that.</para>
<para>You could also have &man.syslog.3; provide a logging
function for your <application>PPP</application> connection.
Just add:</para>
<programlisting>!ppp
*.* /var/log/ppp.log</programlisting>
<para>to <filename>/etc/syslog.conf</filename>. In most
cases, this functionality already exists.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="pppoe">
<sect1info>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
<contrib>Contributed (from
http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html)
by </contrib>
</author>
</authorgroup>
<!-- 10 Jan 2000 -->
</sect1info>
<title>Using PPP over Ethernet (PPPoE)</title>
<indexterm>
<primary>PPP</primary>
<secondary>over Ethernet</secondary>
</indexterm>
<indexterm>
<primary>PPPoE</primary>
<see>PPP, over Ethernet</see>
</indexterm>
<para>This section describes how to set up PPP over Ethernet
(<acronym>PPPoE</acronym>).</para>
<sect2>
<title>Configuring the Kernel</title>
<para>No kernel configuration is necessary for PPPoE any longer.
If the necessary netgraph support is not built into the
kernel, it will be dynamically loaded by
<application>ppp</application>.</para>
</sect2>
<sect2>
<title>Setting Up <filename>ppp.conf</filename></title>
<para>Here is an example of a working
<filename>ppp.conf</filename>:</para>
<programlisting>default:
set log Phase tun command # you can add more detailed logging if you wish
set ifaddr 10.0.0.1/0 10.0.0.2/0
name_of_service_provider:
set device PPPoE:<replaceable>xl1</replaceable> # replace xl1 with your Ethernet device
set authname YOURLOGINNAME
set authkey YOURPASSWORD
set dial
set login
add default HISADDR</programlisting>
</sect2>
<sect2>
<title>Running <application>ppp</application></title>
<para>As <username>root</username>, you can run:</para>
<screen>&prompt.root; <userinput>ppp -ddial name_of_service_provider</userinput></screen>
</sect2>
<sect2>
<title>Starting <application>ppp</application> at Boot</title>
<para>Add the following to your
<filename>/etc/rc.conf</filename> file:</para>
<programlisting>ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO
ppp_profile="name_of_service_provider"</programlisting>
</sect2>
<sect2>
<title>Using a PPPoE Service Tag</title>
<para>Sometimes it will be necessary to use a service tag to
establish your connection. Service tags are used to
distinguish between different PPPoE servers attached to a
given network.</para>
<para>You should have been given any required service tag
information in the documentation provided by your ISP. If
you cannot locate it there, ask your ISP's tech support
personnel.</para>
<para>As a last resort, you could try the method suggested by
the <ulink url="http://www.roaringpenguin.com/pppoe/">Roaring
Penguin PPPoE</ulink> program which can be found in the <link
linkend="ports">Ports Collection</link>. Bear in mind
however, this may de-program your modem and render it useless,
so think twice before doing it. Simply install the program
shipped with the modem by your provider. Then, access the
<guimenu>System</guimenu> menu from the program. The name
of your profile should be listed there. It is usually
<emphasis>ISP</emphasis>.</para>
<para>The profile name (service tag) will be used in the PPPoE
configuration entry in <filename>ppp.conf</filename> as the
provider part of the <command>set device</command> command
(see the &man.ppp.8; manual page for full details). It should
look like this:</para>
<programlisting>set device PPPoE:<replaceable>xl1</replaceable>:<replaceable>ISP</replaceable></programlisting>
<para>Do not forget to change <replaceable>xl1</replaceable>
to the proper device for your Ethernet card.</para>
<para>Do not forget to change <replaceable>ISP</replaceable>
to the profile you have just found above.</para>
<para>For additional information, see:</para>
<itemizedlist>
<listitem>
<para><ulink
url="http://renaud.waldura.com/doc/freebsd/pppoe/">Cheaper
Broadband with FreeBSD on DSL</ulink> by Renaud
Waldura.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="ppp-3com">
<title>PPPoE with a &tm.3com;
<trademark class="registered">HomeConnect</trademark> ADSL
Modem Dual Link</title>
<para>This modem does not follow <ulink
url="http://www.faqs.org/rfcs/rfc2516.html">RFC 2516</ulink>
(<emphasis>A Method for transmitting PPP over Ethernet
(PPPoE)</emphasis>, written by L. Mamakos, K. Lidl, J. Evarts,
D. Carrel, D. Simone, and R. Wheeler). Instead, different
packet type codes have been used for the Ethernet frames.
Please complain to <ulink
url="http://www.3com.com/">3Com</ulink> if you think it
should comply with the PPPoE specification.</para>
<para>In order to make FreeBSD capable of communicating with
this device, a sysctl must be set. This can be done
automatically at boot time by updating
<filename>/etc/sysctl.conf</filename>:</para>
<programlisting>net.graph.nonstandard_pppoe=1</programlisting>
<para>or can be done immediately with the command:</para>
<screen>&prompt.root; <userinput>sysctl net.graph.nonstandard_pppoe=1</userinput></screen>
<para>Unfortunately, because this is a system-wide setting,
it is not possible to talk to a normal PPPoE client or server
and a &tm.3com; <trademark
class="registered">HomeConnect</trademark> ADSL Modem at
the same time.</para>
</sect2>
</sect1>
<sect1 id="pppoa">
<title>Using <application>PPP</application> over ATM
(PPPoA)</title>
<indexterm>
<primary>PPP</primary>
<secondary>over ATM</secondary>
</indexterm>
<indexterm>
<primary>PPPoA</primary>
<see>PPP, over ATM</see>
</indexterm>
<para>The following describes how to set up PPP over ATM (PPPoA).
PPPoA is a popular choice among European DSL providers.</para>
<sect2>
<title>Using PPPoA with the Alcatel &speedtouch; USB</title>
<para>PPPoA support for this device is supplied as a port in
FreeBSD because the firmware is distributed under <ulink
url="http://www.speedtouchdsl.com/disclaimer_lx.htm">Alcatel's
license agreement</ulink> and can not be redistributed freely
with the base system of FreeBSD.</para>
<para>To install the software, simply use the <link
linkend="ports">Ports Collection</link>. Install the
<filename role="package">net/pppoa</filename> port and follow
the instructions provided with it.</para>
<para>Like many USB devices, the Alcatel &speedtouch; USB needs
to download firmware from the host computer to operate
properly. It is possible to automate this process in &os;
so that this transfer takes place whenever the device is
plugged into a USB port. The following information can be
added to the <filename>/etc/usbd.conf</filename> file to
enable this automatic firmware transfer. This file must be
edited as the <username>root</username> user.</para>
<programlisting>device "Alcatel SpeedTouch USB"
devname "ugen[0-9]+"
vendor 0x06b9
product 0x4061
attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"</programlisting>
<para>To enable the USB daemon, <application>usbd</application>,
put the following the line into
<filename>/etc/rc.conf</filename>:</para>
<programlisting>usbd_enable="YES"</programlisting>
<para>It is also possible to set up
<application>ppp</application> to dial up at startup. To do
this add the following lines to
<filename>/etc/rc.conf</filename>. Again, for this procedure
you will need to be logged in as the <username>root</username>
user.</para>
<programlisting>ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="adsl"</programlisting>
<para>For this to work correctly you will need to have used the
sample <filename>ppp.conf</filename> which is supplied with
the <filename role="package">net/pppoa</filename> port.</para>
</sect2>
<sect2>
<title>Using mpd</title>
<para>You can use <application>mpd</application> to connect to a
variety of services, in particular PPTP services. You can
find <application>mpd</application> in the Ports Collection,
<filename role="package">net/mpd</filename>. Many ADSL modems
require that a PPTP tunnel is created between the modem and
computer, one such modem is the Alcatel &speedtouch;
Home.</para>
<para>First you must install the port, and then you can
configure <application>mpd</application> to suit your
requirements and provider settings. The port places a set
of sample configuration files which are well documented in
<filename
class="directory"><replaceable>PREFIX</replaceable>/etc/mpd/</filename>.
Note here that <replaceable>PREFIX</replaceable> means the
directory into which your ports are installed, this defaults
to <filename class="directory">/usr/local/</filename>. A
complete guide to configure <application>mpd</application>
is available in HTML format once the port has been installed.
It is placed in <filename
class="directory"><replaceable>PREFIX</replaceable>/share/doc/mpd/</filename>.
Here is a sample configuration for connecting to an ADSL
service with <application>mpd</application>. The configuration
is spread over two files, first the
<filename>mpd.conf</filename>:</para>
<note>
<para>This example of the <filename>mpd.conf</filename> file
only works with <application>mpd</application> 4.x.</para>
</note>
<programlisting>default:
load adsl
adsl:
new -i ng0 adsl adsl
set bundle authname <replaceable>username</replaceable> <co
id="co-mpd-ex-user"/>
set bundle password <replaceable>password</replaceable> <co
id="co-mpd-ex-pass"/>
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</programlisting>
<calloutlist>
<callout arearefs="co-mpd-ex-user">
<para>The username used to authenticate with your ISP.</para>
</callout>
<callout arearefs="co-mpd-ex-pass">
<para>The password used to authenticate with your ISP.</para>
</callout>
</calloutlist>
<para>The <filename>mpd.links</filename> file contains information
about the link, or links, you wish to establish. An example
<filename>mpd.links</filename> to accompany the above example
is given beneath:</para>
<programlisting>adsl:
set link type pptp
set pptp mode active
set pptp enable originate outcall
set pptp self <replaceable>10.0.0.1</replaceable> <co
id="co-mpd-ex-self"/>
set pptp peer <replaceable>10.0.0.138</replaceable> <co
id="co-mpd-ex-peer"/></programlisting>
<calloutlist>
<callout arearefs="co-mpd-ex-self">
<para>The IP address of your &os; computer which you will be
using <application>mpd</application> from.</para>
</callout>
<callout arearefs="co-mpd-ex-peer">
<para>The IP address of your ADSL modem. For the Alcatel
&speedtouch; Home this address defaults to <hostid
role="ipaddr">10.0.0.138</hostid>.</para>
</callout>
</calloutlist>
<para>It is possible to initialize the connection easily by
issuing the following command as
<username>root</username>:</para>
<screen>&prompt.root; <userinput>mpd -b <replaceable>adsl</replaceable></userinput></screen>
<para>You can see the status of the connection with the following
command:</para>
<screen>&prompt.user; <userinput>ifconfig <replaceable>ng0</replaceable></userinput>
ng0: flags=88d1&lt;UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST&gt; mtu 1500
inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff</screen>
<para>Using <application>mpd</application> is the recommended
way to connect to an ADSL service with &os;.</para>
</sect2>
<sect2>
<title>Using pptpclient</title>
<para>It is also possible to use FreeBSD to connect to other
PPPoA services using <filename
role="package">net/pptpclient</filename>.</para>
<para>To use <filename role="package">net/pptpclient</filename>
to connect to a DSL service, install the port or package and
edit your <filename>/etc/ppp/ppp.conf</filename>. You will
need to be <username>root</username> to perform both of these
operations. An example section of <filename>ppp.conf</filename>
is given below. For further information on
<filename>ppp.conf</filename> options consult the
<application>ppp</application> manual page, &man.ppp.8;.</para>
<programlisting>adsl:
set log phase chat lcp ipcp ccp tun command
set timeout 0
enable dns
set authname <replaceable>username</replaceable> <co id="co-pptp-ex-user"/>
set authkey <replaceable>password</replaceable> <co id="co-pptp-ex-pass"/>
set ifaddr 0 0
add default HISADDR</programlisting>
<calloutlist>
<callout arearefs="co-pptp-ex-user">
<para>The username of your account with the DSL
provider.</para>
</callout>
<callout arearefs="co-pptp-ex-pass">
<para>The password for your account.</para>
</callout>
</calloutlist>
<warning>
<para>Because you must put your account's password in the
<filename>ppp.conf</filename> file in plain text form you
should make sure than nobody can read the contents of this
file. The following series of commands will make sure the
file is only readable by the <username>root</username>
account. Refer to the manual pages for &man.chmod.1; and
&man.chown.8; for further information.</para>
<screen>&prompt.root; <userinput>chown root:wheel /etc/ppp/ppp.conf</userinput>
&prompt.root; <userinput>chmod 600 /etc/ppp/ppp.conf</userinput></screen>
</warning>
<para>This will open a tunnel for a PPP session to your DSL
router. Ethernet DSL modems have a preconfigured LAN IP
address which you connect to. In the case of the Alcatel
&speedtouch; Home this address is <hostid
role="ipaddr">10.0.0.138</hostid>. Your router
documentation should tell you which address your device
uses. To open the tunnel and start a PPP session execute
the following command:</para>
<screen>&prompt.root; <userinput>pptp <replaceable>address</replaceable> <replaceable>adsl</replaceable></userinput></screen>
<tip>
<para>You may wish to add an ampersand (<quote>&amp;</quote>)
to the end of the previous command because
<application>pptp</application> will not return your prompt
to you otherwise.</para>
</tip>
<para>A <devicename>tun</devicename> virtual tunnel device
will be created for interaction between the
<application>pptp</application> and
<application>ppp</application> processes. Once you have been
returned to your prompt, or the
<application>pptp</application> process has confirmed a
connection you can examine the tunnel like so:</para>
<screen>&prompt.user; <userinput>ifconfig <replaceable>tun0</replaceable></userinput>
tun0: flags=8051&lt;UP,POINTOPOINT,RUNNING,MULTICAST&gt; mtu 1500
inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
Opened by PID 918</screen>
<para>If you are unable to connect, check the configuration of
your router, which is usually accessible via
<application>telnet</application> or with a web browser. If
you still cannot connect you should examine the output of the
<command>pptp</command> command and the contents of the
<application>ppp</application> log file,
<filename>/var/log/ppp.log</filename> for clues.</para>
- </sect2>
- </sect1>
-
- <sect1 id="slip">
- <sect1info>
- <authorgroup>
- <author>
- <firstname>Satoshi</firstname>
- <surname>Asami</surname>
- <contrib>Originally contributed by </contrib>
- </author>
- </authorgroup>
- <authorgroup>
- <author>
- <firstname>Guy</firstname>
- <surname>Helmer</surname>
- <contrib>With input from </contrib>
- </author>
- <author>
- <firstname>Piero</firstname>
- <surname>Serini</surname>
- </author>
- </authorgroup>
- </sect1info>
-
- <title>Using SLIP</title>
-
- <indexterm><primary>SLIP</primary></indexterm>
-
- <warning>
- <para>This section applies and is valid only for
- &os;&nbsp;7.X.</para>
- </warning>
-
- <sect2 id="slipc">
- <title>Setting Up a SLIP Client</title>
-
- <indexterm>
- <primary>SLIP</primary>
- <secondary>client</secondary>
- </indexterm>
-
- <para>The following is one way to set up a FreeBSD machine for
- SLIP on a static host network. For dynamic hostname
- assignments (your address changes each time you dial up), you
- probably need to have a more complex setup.</para>
-
- <para>First, determine which serial port your modem is connected
- to. Many people set up a symbolic link, such as
- <filename class="devicefile">/dev/modem</filename>, to point
- to the real device name, <filename
- class="devicefile">/dev/cuad<replaceable>N</replaceable></filename>.
- This allows you to abstract the actual device name should you
- ever need to move the modem to a different port. It can
- become quite cumbersome when you need to fix a bunch of files
- in <filename class="directory">/etc</filename> and
- <filename>.kermrc</filename> files all over the system!</para>
-
- <note>
- <para><filename class="devicefile">/dev/cuad0</filename>
- is <devicename>COM1</devicename>, <filename
- class="devicefile">/dev/cuad1</filename> is
- <devicename>COM2</devicename>, etc.</para>
- </note>
-
- <para>Make sure you have the following in your kernel
- configuration file:</para>
-
- <programlisting>device sl</programlisting>
-
- <para>It is included in the <filename>GENERIC</filename> kernel,
- so this should not be a problem unless you have deleted
- it.</para>
-
- <sect3>
- <title>Things You Have to Do Only Once</title>
-
- <procedure>
- <step>
- <para>Add your home machine, the gateway and nameservers
- to your <filename>/etc/hosts</filename> file. Ours
- looks like this:</para>
-
- <programlisting>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</programlisting>
- </step>
-
- <step>
- <para>Make sure you have <literal>files</literal> before
- <literal>dns</literal> in the <literal>hosts:</literal>
- section of your <filename>/etc/nsswitch.conf</filename>
- file. Without these parameters funny things may
- happen.</para>
- </step>
-
- <step>
- <para>Edit the <filename>/etc/rc.conf</filename>
- file.</para>
-
- <orderedlist>
- <listitem>
- <para>Set your hostname by editing the line that
- says:</para>
-
- <programlisting>hostname="myname.my.domain"</programlisting>
-
- <para>Your machine's full Internet hostname should be
- placed here.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>default
- route</primary></indexterm>
-
- <para>Designate the default router by changing the
- line:</para>
-
- <programlisting>defaultrouter="NO"</programlisting>
-
- <para>to:</para>
-
- <programlisting>defaultrouter="slip-gateway"</programlisting>
- </listitem>
- </orderedlist>
- </step>
-
- <step>
- <para>Make a file <filename>/etc/resolv.conf</filename>
- which contains:</para>
-
- <programlisting>domain CS.Example.EDU
-nameserver 128.32.136.9
-nameserver 128.32.136.12</programlisting>
-
- <indexterm><primary>nameserver</primary></indexterm>
- <indexterm><primary>domain name</primary></indexterm>
- <para>As you can see, these set up the nameserver hosts.
- Of course, the actual domain names and addresses depend
- on your environment.</para>
- </step>
-
- <step>
- <para>Set the password for <username>root</username> and
- <username>toor</username> (and any other
- accounts that do not have a password).</para>
- </step>
-
- <step>
- <para>Reboot your machine and make sure it comes up with
- the correct hostname.</para>
- </step>
- </procedure>
- </sect3>
-
- <sect3>
- <title>Making a SLIP Connection</title>
-
- <indexterm>
- <primary>SLIP</primary>
- <secondary>connecting with</secondary>
- </indexterm>
-
- <procedure>
- <step>
- <para>Dial up, type <command>slip</command> at the prompt,
- enter your machine name and password. What is required
- to be entered depends on your environment. If you use
- <application>Kermit</application>, you can try a script
- like this:</para>
-
- <programlisting># kermit setup
-set modem hayes
-set line /dev/modem
-set speed 115200
-set parity none
-set flow rts/cts
-set terminal bytesize 8
-set file type binary
-# The next macro will dial up and login
-define slip dial 643-9600, input 10 =&gt;, 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</programlisting>
-
- <para>Of course, you have to change the username and
- password to fit yours. After doing so, you can just
- type <command>slip</command> from the
- <application>Kermit</application> prompt to
- connect.</para>
-
- <note>
- <para>Leaving your password in plain text anywhere in
- the filesystem is generally a <emphasis>bad</emphasis>
- idea. Do it at your own risk.</para>
- </note>
- </step>
-
- <step>
- <para>Leave the <application>Kermit</application> there
- (you can suspend it by
- <keycombo>
- <keycap>Ctrl</keycap>
- <keycap>z</keycap>
- </keycombo>) and as <username>root</username>,
- type:</para>
-
- <screen>&prompt.root; <userinput>slattach -h -c -s 115200 /dev/modem</userinput></screen>
-
- <para>If you are able to <command>ping</command> hosts
- on the other side of the router, you are connected!
- If it does not work, you might want to try
- <option>-a</option> instead of <option>-c</option> as
- an argument to <command>slattach</command>.</para>
- </step>
- </procedure>
- </sect3>
-
- <sect3>
- <title>How to Shutdown the Connection</title>
-
- <para>Do the following:</para>
-
- <screen>&prompt.root; <userinput>kill -INT `cat /var/run/slattach.modem.pid`</userinput></screen>
-
- <para>to kill <command>slattach</command>. Keep in mind you
- must be <username>root</username> to do the above. Then
- go back to <command>kermit</command> (by running
- <command>fg</command> if you suspended it) and exit from
- it (<keycap>q</keycap>).</para>
-
- <para>The &man.slattach.8; manual page says you have to use
- <command>ifconfig sl0 down</command> to mark the interface
- down, but this does not seem to make any difference.
- (<command>ifconfig sl0</command> reports the same
- thing.)</para>
-
- <para>Some times, your modem might refuse to drop the carrier.
- In that case, simply start <command>kermit</command> and
- quit it again. It usually goes out on the second
- try.</para>
- </sect3>
-
- <sect3>
- <title>Troubleshooting</title>
-
- <para>If it does not work, feel free to ask on &a.net.name;
- mailing list. The things that people tripped over so
- far:</para>
-
- <itemizedlist>
- <listitem>
- <para>Not using <option>-c</option> or <option>-a</option>
- in <command>slattach</command> (This should not be
- fatal, but some users have reported that this solves
- their problems.)</para>
- </listitem>
-
- <listitem>
- <para>Using <option>s10</option> instead of
- <option>sl0</option> (might be hard to see the
- difference on some fonts).</para>
- </listitem>
-
- <listitem>
- <para>Try <command>ifconfig sl0</command> to see your
- interface status. For example, you might get:</para>
-
- <screen>&prompt.root; <userinput>ifconfig sl0</userinput>
-sl0: flags=10&lt;POINTOPOINT&gt;
- inet 136.152.64.181 --&gt; 136.152.64.1 netmask ffffff00</screen>
- </listitem>
-
- <listitem>
- <para>If you get <errorname>no route to host</errorname>
- messages from &man.ping.8;, there may be a problem
- with your routing table. You can use the
- <command>netstat -r</command> command to display the
- current routes :</para>
-
- <screen>&prompt.root; <userinput>netstat -r</userinput>
-Routing tables
-Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks:
-
-(root node)
-(root node)
-
-Route Tree for Protocol Family inet:
-(root node) =&gt;
-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)</screen>
-
- <para>The preceding examples are from a relatively busy
- system. The numbers on your system will vary depending
- on network activity.</para>
-
- </listitem>
- </itemizedlist>
- </sect3>
- </sect2>
-
- <sect2 id="slips">
- <title>Setting Up a SLIP Server</title>
-
- <indexterm>
- <primary>SLIP</primary>
- <secondary>server</secondary>
- </indexterm>
-
- <para>This document provides suggestions for setting up SLIP
- Server services on a FreeBSD system, which typically means
- configuring your system to automatically start up connections
- upon login for remote SLIP clients.</para>
-
- <!-- Disclaimer is not necessarily relevant
- <para> The author has written this document based
- on his experience; however, as your system and needs may be
- different, this document may not answer all of your questions, and
- the author cannot be responsible if you damage your system or lose
- data due to attempting to follow the suggestions here.</para>
- -->
-
- <sect3 id="slips-prereqs">
- <title>Prerequisites</title>
-
- <indexterm><primary>TCP/IP networking</primary></indexterm>
- <para>This section is very technical in nature, so background
- knowledge is required. It is assumed that you are familiar
- with the TCP/IP network protocol, and in particular, network
- and node addressing, network address masks, subnetting,
- routing, and routing protocols, such as RIP. Configuring
- SLIP services on a dial-up server requires a knowledge of
- these concepts, and if you are not familiar with them,
- please read a copy of either Craig Hunt's <emphasis>TCP/IP
- Network Administration</emphasis> published by O'Reilly
- &amp; Associates, Inc. (ISBN Number 0-937175-82-X), or
- Douglas Comer's books on the TCP/IP protocol.</para>
-
- <indexterm><primary>modem</primary></indexterm>
- <para>It is further assumed that you have already set up your
- modem(s) and configured the appropriate system files to
- allow logins through your modems. If you have not prepared
- your system for this yet, please see <xref
- linkend="dialup"/> for details on dialup services
- configuration. You may also want to check the manual pages
- or &man.sio.4; for information on the serial port device
- driver and &man.ttys.5;, &man.gettytab.5;, &man.getty.8;,
- &amp; &man.init.8; for information relevant to configuring
- the system to accept logins on modems, and perhaps
- &man.stty.1; for information on setting serial port
- parameters (such as <literal>clocal</literal> for
- directly-connected serial interfaces).</para>
- </sect3>
-
- <sect3>
- <title>Quick Overview</title>
-
- <para>In its typical configuration, using FreeBSD as a SLIP
- server works as follows: a SLIP user dials up your FreeBSD
- SLIP Server system and logs in with a special SLIP login
- ID that uses <filename>/usr/sbin/sliplogin</filename> as
- the special user's shell. The <command>sliplogin</command>
- program browses the file
- <filename>/etc/sliphome/slip.hosts</filename> to find a
- matching line for the special user, and if it finds a match,
- connects the serial line to an available SLIP interface and
- then runs the shell script
- <filename>/etc/sliphome/slip.login</filename> to configure
- the SLIP interface.</para>
-
- <sect4>
- <title>An Example of a SLIP Server Login</title>
-
- <para>For example, if a SLIP user ID were
- <username>Shelmerg</username>,
- <username>Shelmerg</username>'s entry in
- <filename>/etc/master.passwd</filename> would look
- something like this:</para>
-
- <programlisting>Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin</programlisting>
-
- <para>When <username>Shelmerg</username> logs in,
- <command>sliplogin</command> will search
- <filename>/etc/sliphome/slip.hosts</filename> for a line
- that had a matching user ID; for example, there may be
- a line in <filename>/etc/sliphome/slip.hosts</filename>
- that reads:</para>
-
- <programlisting>Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting>
-
- <para><command>sliplogin</command> will find that matching
- line, hook the serial line into the next available SLIP
- interface, and then execute
- <filename>/etc/sliphome/slip.login</filename> like
- this:</para>
-
- <programlisting>/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting>
-
- <para>If all goes well,
- <filename>/etc/sliphome/slip.login</filename> will issue
- an <command>ifconfig</command> for the SLIP interface to
- which <command>sliplogin</command> attached itself (SLIP
- interface 0, in the above example, which was the first
- parameter in the list given to
- <filename>slip.login</filename>) to set the local IP
- address (<hostid>dc-slip</hostid>), remote IP address
- (<hostid>sl-helmer</hostid>), network mask for the SLIP
- interface (<hostid role="netmask">0xfffffc00</hostid>),
- and any additional flags (<literal>autocomp</literal>).
- If something goes wrong, <command>sliplogin</command>
- usually logs good informational messages via the
- <application>syslogd</application> daemon facility, which
- usually logs to <filename>/var/log/messages</filename>
- (see the manual pages for &man.syslogd.8; and
- &man.syslog.conf.5; and perhaps check
- <filename>/etc/syslog.conf</filename> to see to what
- <application>syslogd</application> is logging and where
- it is logging to).</para>
- </sect4>
- </sect3>
-
- <sect3>
- <title>Kernel Configuration</title>
-
- <indexterm>
- <primary>kernel</primary>
- <secondary>configuration</secondary>
- </indexterm>
-
- <indexterm>
- <primary>SLIP</primary>
- </indexterm>
-
- <para>&os;'s default kernel (<filename>GENERIC</filename>)
- comes with SLIP (&man.sl.4;) support; in case of a custom
- kernel, you have to add the following line to your kernel
- configuration file:</para>
-
- <programlisting>device sl</programlisting>
-
- <para>By default, your &os; machine will not forward packets.
- If you want your FreeBSD SLIP Server to act as a router, you
- will have to edit the <filename>/etc/rc.conf</filename>
- file and change the setting of the
- <literal>gateway_enable</literal> variable to
- <option>YES</option>. This will make sure that setting the
- routing option will be persistent after a reboot.</para>
-
- <para>To apply the settings immediately you can execute the
- following command as <username>root</username>:</para>
-
- <screen>&prompt.root; service routing start</screen>
-
- <para>Please refer to <xref linkend="kernelconfig"/> on
- Configuring the FreeBSD Kernel for help in
- reconfiguring your kernel.</para>
- </sect3>
-
- <sect3>
- <title>Sliplogin Configuration</title>
-
- <para>As mentioned earlier, there are three files in the
- <filename class="directory">/etc/sliphome</filename>
- directory that are part of the configuration for
- <filename>/usr/sbin/sliplogin</filename> (see
- &man.sliplogin.8; for the actual manual page for
- <command>sliplogin</command>):
- <filename>slip.hosts</filename>, which defines the SLIP
- users and their associated IP addresses;
- <filename>slip.login</filename>, which usually just
- configures the SLIP interface; and (optionally)
- <filename>slip.logout</filename>, which undoes
- <filename>slip.login</filename>'s effects when the serial
- connection is terminated.</para>
-
- <sect4>
- <title><filename>slip.hosts</filename> Configuration</title>
-
- <para><filename>/etc/sliphome/slip.hosts</filename> contains
- lines which have at least four items separated by
- whitespace:</para>
-
- <itemizedlist>
- <listitem>
- <para>SLIP user's login ID</para>
- </listitem>
-
- <listitem>
- <para>Local address (local to the SLIP server) of the
- SLIP link</para>
- </listitem>
-
- <listitem>
- <para>Remote address of the SLIP link</para>
- </listitem>
-
- <listitem>
- <para>Network mask</para>
- </listitem>
- </itemizedlist>
-
- <para>The local and remote addresses may be host names
- (resolved to IP addresses by
- <filename>/etc/hosts</filename> or by the domain name
- service, depending on your specifications in the file
- <filename>/etc/nsswitch.conf</filename>), and the network
- mask may be a name that can be resolved by a lookup into
- <filename>/etc/networks</filename>. On a sample system,
- <filename>/etc/sliphome/slip.hosts</filename> looks like
- this:</para>
-
- <programlisting>#
-# login local-addr remote-addr mask opt1 opt2
-# (normal,compress,noicmp)
-#
-Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting>
-
- <para>At the end of the line is one or more of the
- options:</para>
-
- <itemizedlist>
- <listitem>
- <para><option>normal</option> &mdash; no header
- compression</para>
- </listitem>
-
- <listitem>
- <para><option>compress</option> &mdash; compress
- headers</para>
- </listitem>
-
- <listitem>
- <para><option>autocomp</option> &mdash; compress headers
- if the remote end allows it</para>
- </listitem>
-
- <listitem>
- <para><option>noicmp</option> &mdash; disable ICMP
- packets (so any <quote>ping</quote> packets will be
- dropped instead of using up your bandwidth)</para>
- </listitem>
- </itemizedlist>
-
- <indexterm><primary>SLIP</primary></indexterm>
- <indexterm><primary>TCP/IP networking</primary></indexterm>
- <para>Your choice of local and remote addresses for your
- SLIP links depends on whether you are going to dedicate
- a TCP/IP subnet or if you are going to use <quote>proxy
- ARP</quote> on your SLIP server (it is not
- <quote>true</quote> proxy ARP, but that is the terminology
- used in this section to describe it). If you are not sure
- which method to select or how to assign IP addresses,
- please refer to the TCP/IP books referenced in the SLIP
- Prerequisites (<xref linkend="slips-prereqs"/>) and/or
- consult your IP network manager.</para>
-
- <para>If you are going to use a separate subnet for your
- SLIP clients, you will need to allocate the subnet number
- out of your assigned IP network number and assign each
- of your SLIP client's IP numbers out of that subnet.
- Then, you will probably need to configure a static route
- to the SLIP subnet via your SLIP server on your nearest
- IP router.</para>
-
- <indexterm><primary>Ethernet</primary></indexterm>
- <para>Otherwise, if you will use the <quote>proxy
- ARP</quote> method, you will need to assign your SLIP
- client's IP addresses out of your SLIP server's Ethernet
- subnet, and you will also need to adjust your
- <filename>/etc/sliphome/slip.login</filename> and
- <filename>/etc/sliphome/slip.logout</filename> scripts
- to use &man.arp.8; to manage the <quote>proxy ARP</quote>
- entries in the SLIP server's ARP table.</para>
- </sect4>
-
- <sect4>
- <title><filename>slip.login</filename> Configuration</title>
-
- <para>The typical
- <filename>/etc/sliphome/slip.login</filename> file looks
- like this:</para>
-
- <programlisting>#!/bin/sh -
-#
-# @(#)slip.login 5.1 (Berkeley) 7/1/90
-
-#
-# generic login file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 inet $4 $5 netmask $6</programlisting>
-
- <para>This <filename>slip.login</filename> file merely runs
- <command>ifconfig</command> for the appropriate SLIP
- interface with the local and remote addresses and network
- mask of the SLIP interface.</para>
-
- <para>If you have decided to use the <quote>proxy
- ARP</quote> method (instead of using a separate subnet
- for your SLIP clients), your
- <filename>/etc/sliphome/slip.login</filename> file will
- need to look something like this:</para>
-
- <programlisting>#!/bin/sh -
-#
-# @(#)slip.login 5.1 (Berkeley) 7/1/90
-
-#
-# generic login file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 inet $4 $5 netmask $6
-# Answer ARP requests for the SLIP client with our Ethernet addr
-/usr/sbin/arp -s $5 00:11:22:33:44:55 pub</programlisting>
-
- <para>The additional line in this
- <filename>slip.login</filename>, <command>arp -s
- &#36;5 00:11:22:33:44:55 pub</command>, creates an ARP
- entry in the SLIP server's ARP table. This ARP entry
- causes the SLIP server to respond with the SLIP server's
- Ethernet MAC address whenever another IP node on the
- Ethernet asks to speak to the SLIP client's IP
- address.</para>
-
- <indexterm>
- <primary>Ethernet</primary>
- <secondary>MAC address</secondary>
- </indexterm>
-
- <para>When using the example above, be sure to replace the
- Ethernet MAC address (<hostid
- role="mac">00:11:22:33:44:55</hostid>) with the MAC
- address of your system's Ethernet card, or your
- <quote>proxy ARP</quote> will definitely not work! You
- can discover your SLIP server's Ethernet MAC address by
- looking at the results of running <command>netstat
- -i</command>; the second line of the output should look
- something like:</para>
-
- <screen>ed0 1500 &lt;Link&gt;0.2.c1.28.5f.4a 191923 0 129457 0 116</screen>
-
- <para>This indicates that this particular system's Ethernet
- MAC address is <hostid
- role="mac">00:02:c1:28:5f:4a</hostid> &mdash; the
- periods in the Ethernet MAC address given by
- <command>netstat -i</command> must be changed to colons
- and leading zeros should be added to each single-digit
- hexadecimal number to convert the address into the form
- that &man.arp.8; desires; see the manual page on
- &man.arp.8; for complete information on usage.</para>
-
- <note>
- <para>When you create
- <filename>/etc/sliphome/slip.login</filename> and
- <filename>/etc/sliphome/slip.logout</filename>, the
- <quote>execute</quote> bit (i.e., <command>chmod 755
- /etc/sliphome/slip.login
- /etc/sliphome/slip.logout</command>) must be set, or
- <command>sliplogin</command> will be unable to execute
- it.</para>
- </note>
- </sect4>
-
- <sect4>
- <title><filename>slip.logout</filename>
- Configuration</title>
-
- <para><filename>/etc/sliphome/slip.logout</filename> is not
- strictly needed (unless you are implementing <quote>proxy
- ARP</quote>), but if you decide to create it, this is an
- example of a basic
- <filename>slip.logout</filename> script:</para>
-
- <programlisting>#!/bin/sh -
-#
-# slip.logout
-
-#
-# logout file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 down</programlisting>
-
- <para>If you are using <quote>proxy ARP</quote>, you will
- want to have
- <filename>/etc/sliphome/slip.logout</filename> remove the
- ARP entry for the SLIP client:</para>
-
- <programlisting>#!/bin/sh -
-#
-# @(#)slip.logout
-
-#
-# logout file for a slip line. sliplogin invokes this with
-# the parameters:
-# 1 2 3 4 5 6 7-n
-# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
-#
-/sbin/ifconfig sl$1 down
-# Quit answering ARP requests for the SLIP client
-/usr/sbin/arp -d $5</programlisting>
-
- <para>The <command>arp -d &#36;5</command> removes the ARP
- entry that the <quote>proxy ARP</quote>
- <filename>slip.login</filename> added when the SLIP client
- logged in.</para>
-
- <para>It bears repeating: make sure
- <filename>/etc/sliphome/slip.logout</filename> has the
- execute bit set after you create it (i.e., <command>chmod
- 755 /etc/sliphome/slip.logout</command>).</para>
- </sect4>
- </sect3>
-
- <sect3>
- <title>Routing Considerations</title>
-
- <indexterm>
- <primary>SLIP</primary>
- <secondary>routing</secondary>
- </indexterm>
- <para>If you are not using the <quote>proxy ARP</quote> method
- for routing packets between your SLIP clients and the rest
- of your network (and perhaps the Internet), you will
- probably have to add static routes to your closest default
- router(s) to route your SLIP clients subnet via your SLIP
- server.</para>
-
- <sect4>
- <title>Static Routes</title>
-
- <indexterm><primary>static routes</primary></indexterm>
-
- <para>Adding static routes to your nearest default routers
- can be troublesome (or impossible if you do not have
- authority to do so...). If you have a multiple-router
- network in your organization, some routers, such as those
- made by Cisco and Proteon, may not only need to be
- configured with the static route to the SLIP subnet, but
- also need to be told which static routes to tell other
- routers about, so some expertise and
- troubleshooting/tweaking may be necessary to get
- static-route-based routing to work.</para>
- </sect4>
- </sect3>
</sect2>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/security/chapter.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/security/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/security/chapter.xml (revision 42804)
@@ -1,3828 +1,3829 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="security">
<chapterinfo>
<authorgroup>
<author>
<firstname>Matthew</firstname>
<surname>Dillon</surname>
<contrib>Much of this chapter has been taken from the
security(7) manual page by </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>Security</title>
<indexterm><primary>security</primary></indexterm>
<sect1 id="security-synopsis">
<title>Synopsis</title>
<para>This chapter provides a basic introduction to system
security concepts, some general good rules of thumb, and some
advanced topics under &os;. Many of the topics covered here
can be applied to system and Internet security in general.
Securing a system is imperative to protect data, intellectual
property, time, and much more from the hands of hackers and the
like.</para>
<para>&os; provides an array of utilities and mechanisms to
protect the integrity and security of the system and
network.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>Basic &os; system security concepts.</para>
</listitem>
<listitem>
<para>The various crypt mechanisms available in &os;.</para>
</listitem>
<listitem>
<para>How to set up one-time password authentication.</para>
</listitem>
<listitem>
<para>How to configure <acronym>TCP</acronym> Wrappers for use
with &man.inetd.8;.</para>
</listitem>
<listitem>
<para>How to set up <application>Kerberos</application> on
&os;.</para>
</listitem>
<listitem>
<para>How to configure IPsec and create a
<acronym>VPN</acronym>.</para>
</listitem>
<listitem>
<para>How to configure and use
<application>OpenSSH</application> on &os;.</para>
</listitem>
<listitem>
<para>How to use filesystem <acronym>ACL</acronym>s.</para>
</listitem>
<listitem>
<para>How to use <application>portaudit</application> to
audit third party software packages installed from the
Ports Collection.</para>
</listitem>
<listitem>
<para>How to utilize &os; security advisories.</para>
</listitem>
<listitem>
<para>What Process Accounting is and how to enable it on
&os;.</para>
</listitem>
<listitem>
<para>Understand the resource limits database and
how to utilize it to control user resources.</para>
</listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<itemizedlist>
<listitem>
<para>Understand basic &os; and Internet concepts.</para>
</listitem>
</itemizedlist>
<para>Additional security topics are covered elsewhere in this
Handbook. For example, Mandatory Access Control is discussed in
<xref linkend="mac"/> and Internet firewalls are discussed in
<xref linkend="firewalls"/>.</para>
</sect1>
<sect1 id="security-intro">
<title>Introduction</title>
<para>Security is a function that begins and ends with the system
administrator. While &os; provides some inherent security, the
job of configuring and maintaining additional security
mechanisms is probably one of the single largest undertakings of
the sysadmin.</para>
<para>System security also pertains to dealing with various forms
of attack, including attacks that attempt to crash, or otherwise
make a system unusable, but do not attempt to compromise the
<username>root</username> account. Security concerns can be
split up into several categories:</para>
<orderedlist>
<listitem>
<para>Denial of service attacks.</para>
</listitem>
<listitem>
<para>User account compromises.</para>
</listitem>
<listitem>
<para>Root compromise through accessible services.</para>
</listitem>
<listitem>
<para>Root compromise via user accounts.</para>
</listitem>
<listitem>
<para>Backdoor creation.</para>
</listitem>
</orderedlist>
<indexterm>
<primary>DoS attacks</primary>
<see>Denial of Service (DoS)</see>
</indexterm>
<indexterm>
<primary>security</primary>
<secondary>DoS attacks</secondary>
<see>Denial of Service (DoS)</see>
</indexterm>
<indexterm><primary>Denial of Service (DoS)</primary></indexterm>
<para>A Denial of Service <acronym>DoS</acronym> attack is an
action that deprives the machine of needed resources.
Typically, <acronym>DoS</acronym> attacks are brute-force
mechanisms that attempt to crash or otherwise make a machine
unusable by overwhelming its services or network stack. Attacks
on servers can often be fixed by properly specifying options to
limit the load the servers incur on the system under adverse
conditions. Brute-force network attacks are harder to deal
with. This type of attack may not be able to take the machine
down, but it can saturate the Internet connection.</para>
<indexterm>
<primary>security</primary>
<secondary>account compromises</secondary>
</indexterm>
<para>A user account compromise is more common than a
<acronym>DoS</acronym> attack. Many sysadmins still run
unencrypted services, meaning that users logging into the
system from a remote location are vulnerable to having their
password sniffed. The attentive sysadmin analyzes the remote
access logs looking for suspicious source addresses and
suspicious logins.</para>
<para>In a well secured and maintained system, access to a user
account does not necessarily give the attacker access to
<username>root</username>. Without <username>root</username>
access, the attacker cannot generally hide his tracks and may,
at best, be able to do nothing more than mess with the user's
files or crash the machine. User account compromises are common
because users tend not to take the precautions that sysadmins
take.</para>
<indexterm>
<primary>security</primary>
<secondary>backdoors</secondary>
</indexterm>
<para>There are potentially many ways to break
<username>root</username>: the attacker may know the
<username>root</username> password, the attacker may exploit a
bug in a service which runs as <username>root</username>, or the
attacker may know of a bug in a SUID-root program. An attacker
may utilize a program known as a backdoor to search for
vulnerable systems, take advantage of unpatched exploits to
access a system, and hide traces of illegal activity.</para>
<para>Security remedies should always be implemented with a
multi-layered <quote>onion peel</quote> approach and can be
categorized as follows:</para>
<orderedlist>
<listitem>
<para>Secure <username>root</username> and staff
accounts.</para>
</listitem>
<listitem>
<para>Secure <username>root</username>&ndash;run servers
and SUID/SGID binaries.</para>
</listitem>
<listitem>
<para>Secure user accounts.</para>
</listitem>
<listitem>
<para>Secure the password file.</para>
</listitem>
<listitem>
<para>Secure the kernel core, raw devices, and
filesystems.</para>
</listitem>
<listitem>
<para>Quick detection of inappropriate changes made to the
system.</para>
</listitem>
<listitem>
<para>Paranoia.</para>
</listitem>
</orderedlist>
<para>The next section covers these items in greater depth.</para>
</sect1>
<sect1 id="securing-freebsd">
<title>Securing &os;</title>
<indexterm>
<primary>security</primary>
<secondary>securing &os;</secondary>
</indexterm>
<para>This section describes methods for securing a &os; system
against the attacks that were mentioned in the <link
linkend="security-intro">previous section</link>.</para>
<sect2 id="securing-root-and-staff">
<title>Securing the <username>root</username> Account</title>
<indexterm>
<primary>&man.su.1;</primary>
</indexterm>
<para>Most
systems have a password assigned to the
<username>root</username> account. Assume that this password
is <emphasis>always</emphasis> at risk of being compromised.
This does not mean that the password should be disabled as the
password is almost always necessary for console access to the
machine. However, it should not be possible to use this
password outside of the console or possibly even with
&man.su.1;. For example, setting the entries in
<filename>/etc/ttys</filename> to <literal>insecure</literal>
prevents <username>root</username> logins to the specified
terminals. In &os;, <username>root</username> logins using
&man.ssh.1; are disabled by default as
<literal>PermitRootLogin</literal> is set to
<literal>no</literal> in
<filename>/etc/ssh/sshd_config</filename>. Consider every
access method as services such as FTP often fall through the
cracks. Direct <username>root</username> logins should only
be allowed via the system console.</para>
<indexterm>
<primary><groupname>wheel</groupname></primary>
</indexterm>
<para>Since a sysadmin needs access to
<username>root</username>, additional password verification
should be configured. One method is to add appropriate user
accounts to <groupname>wheel</groupname> in
<filename>/etc/group</filename>. Members of
<groupname>wheel</groupname> are allowed to &man.su.1; to
<username>root</username>. Only those users who actually need
to have <username>root</username> access should be placed in
<groupname>wheel</groupname>. When using Kerberos for
authentication, create a <filename>.k5login</filename> in
the home directory of <username>root</username> to allow
&man.ksu.1; to be used without having to place anyone in
<groupname>wheel</groupname>.</para>
<para>To lock an account completely, use &man.pw.8;:</para>
<screen>&prompt.root; <userinput>pw lock <replaceable>staff</replaceable></userinput></screen>
<para>This will prevent the specified user from logging in using
any mechanism, including &man.ssh.1;.</para>
<para>Another method of blocking access to accounts would be to
replace the encrypted password with a single
<quote><literal>*</literal></quote> character. This character
would never match the encrypted password and thus blocks user
access. For example, the entry for the following
account:</para>
<programlisting>foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh</programlisting>
<para>could be changed to this using &man.vipw.8;:</para>
<programlisting>foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh</programlisting>
<para>This prevents <username>foobar</username> from logging in
using conventional methods. This method for access
restriction is flawed on sites using
<application>Kerberos</application> or in situations where the
user has set up keys with &man.ssh.1;.</para>
<para>These security mechanisms assume that users are logging
in from a more restrictive server to a less restrictive
server. For example, if the server is running network
services, the workstation should not be running any. In
order for a workstation to be reasonably secure, run zero or
as few services as possible and run a password-protected
screensaver. Of course, given physical access to any system,
an attacker can break any sort of security. Fortunately,
many break-ins occur remotely, over a network, from people who
do not have physical access to the system.</para>
<para>Using Kerberos provides the ability to disable or change
the password for a user in one place, and have it immediately
affect all the machines on which the user has an account. If
an account is compromised, the ability to instantly change the
associated password on all machines should not be underrated.
Additional restrictions can be imposed with Kerberos: a
Kerberos ticket can be configured to timeout and the Kerberos
system can require that the user choose a new password after a
configurable period of time.</para>
</sect2>
<sect2>
<title>Securing Root-run Servers and SUID/SGID Binaries</title>
<indexterm>
<primary>sandboxes</primary>
</indexterm>
<indexterm>
<primary>&man.sshd.8;</primary>
</indexterm>
<para>The prudent sysadmin only enables required services and is
aware that third party servers are often the most bug-prone.
Never run a server that has not been checked out carefully.
Think twice before running any service as
<username>root</username> as many daemons can be run as a
separate service account or can be started in a
<firstterm>sandbox</firstterm>. Do not activate insecure
services such as &man.telnetd.8; or &man.rlogind.8;.</para>
<para>Another potential security hole is SUID-root and SGID
binaries. Most of these binaries, such as &man.rlogin.1;,
reside in <filename class="directory">/bin</filename>,
<filename class="directory">/sbin</filename>, <filename
class="directory">/usr/bin</filename>, or <filename
class="directory">/usr/sbin</filename>. While nothing is
100% safe, the system-default SUID and SGID binaries can be
considered reasonably safe. It is recommended to restrict
SUID binaries to a special group that only staff can access,
and to delete any unused SUID binaries. SGID binaries can be
almost as dangerous. If an intruder can break an SGID-kmem
binary, the intruder might be able to read
<filename>/dev/kmem</filename> and thus read the encrypted
password file, potentially compromising user accounts.
Alternatively, an intruder who breaks group
<literal>kmem</literal> can monitor keystrokes sent through
ptys, including ptys used by users who login through secure
methods. An intruder that breaks the
<groupname>tty</groupname> group can write to almost any
user's tty. If a user is running a terminal program or
emulator with a keyboard-simulation feature, the intruder can
potentially generate a data stream that causes the user's
terminal to echo a command, which is then run as that
user.</para>
</sect2>
<sect2 id="secure-users">
<title>Securing User Accounts</title>
<para>User accounts are usually the most difficult to secure.
Be vigilant in the monitoring of user accounts. Use of
&man.ssh.1; and Kerberos for user accounts requires extra
administration and technical support, but provides a good
solution compared to an encrypted password file.</para>
</sect2>
<sect2>
<title>Securing the Password File</title>
<para>The only sure fire way is to star out as many passwords as
possible and use &man.ssh.1; or Kerberos for access to those
accounts. Even though the encrypted password file
(<filename>/etc/spwd.db</filename>) can only be read by
<username>root</username>, it may be possible for an intruder
to obtain read access to that file even if the attacker cannot
obtain root-write access.</para>
<para>Security scripts should be used to check for and report
changes to the password file as described in the <link
linkend="security-integrity">Checking file integrity</link>
section.</para>
</sect2>
<sect2>
<title>Securing the Kernel Core, Raw Devices, and
Filesystems</title>
<para>Most modern kernels have a packet sniffing device driver
built in. Under &os; it is called
<devicename>bpf</devicename>. This device is needed for DHCP,
but can be removed in the custom kernel configuration file of
systems that do not provide or use DHCP.</para>
<indexterm>
<primary>&man.sysctl.8;</primary>
</indexterm>
<para>Even if <devicename>bpf</devicename> is disabled,
<filename>/dev/mem</filename> and
<filename>/dev/kmem</filename> are still problematic. An
intruder can still write to raw disk devices. An enterprising
intruder can use &man.kldload.8; to install his own
<devicename>bpf</devicename>, or another sniffing device, on a
running kernel. To avoid these problems, run the kernel at a
higher security level, at least security level 1.</para>
<para>The security level of the kernel can be set in a variety
of ways. The simplest way of raising the security level of a
running kernel is to set
<varname>kern.securelevel</varname>:</para>
<screen>&prompt.root; <userinput>sysctl kern.securelevel=<replaceable>1</replaceable></userinput></screen>
<para>By default, the &os; kernel boots with a security level of
-1. This is called <quote>insecure mode</quote> because
immutable file flags may be turned off and all devices may be
read from or written to. The security level will remain at -1
unless it is altered, either by the administrator or by
&man.init.8;, because of a setting in the startup scripts.
The security level may be raised during system startup by
setting
<varname>kern_securelevel_enable</varname> to
<literal>YES</literal> in <filename>/etc/rc.conf</filename>,
and the value of <varname>kern_securelevel</varname> to the
desired security level.</para>
<para>Once the security level is set to 1 or a higher value, the
append-only and immutable files are honored, they cannot be
turned off, and access to raw devices is denied. Higher
levels restrict even more operations. For a full description
of the effect of various security levels, refer to
&man.security.7; and &man.init.8;.</para>
<note>
<para>Bumping the security level to 1 or higher may cause a
few problems to <application>&xorg;</application>, as access
to <filename>/dev/io</filename> will be blocked, or to the
installation of &os; built from source as
<maketarget>installworld</maketarget> needs to temporarily
reset the append-only and immutable flags of some files.
In the case of <application>&xorg;</application>, it may be
possible to work around this by starting &man.xdm.1; early
in the boot process, when the security level is still low
enough. Workarounds may not be possible for all secure
levels or for all the potential restrictions they enforce.
A bit of forward planning is a good idea. Understanding the
restrictions imposed by each security level is important as
they severely diminish the ease of system use. It will also
make choosing a default setting much simpler and prevent any
surprises.</para>
</note>
<para>If the kernel's security level is raised to 1 or a higher
value, it may be useful to set the <literal>schg</literal>
flag on critical startup binaries, directories, script files,
and everything that gets run up to the point where the
security level is set. A less strict compromise is to run
the system at a higher security level but skip setting the
<literal>schg</literal> flag. Another possibility is to
mount <filename class="directory">/</filename> and <filename
class="directory">/usr</filename> read-only. It should be
noted that being too draconian about what is permitted may
prevent detection of an intrusion.</para>
</sect2>
<sect2 id="security-integrity">
<title>Checking File Integrity</title>
<para>One can only protect the core system configuration and
control files so much before the convenience factor rears its
ugly head. For example, using &man.chflags.1; to set the
<literal>schg</literal> bit on most of the files in <filename
class="directory">/</filename> and <filename
class="directory">/usr</filename> is probably
counterproductive, because while it may protect the files, it
also closes an intrusion detection window. Security measures
are useless or, worse, present a false sense of security, if
potential intrusions cannot be detected. Half the job of
security is to slow down, not stop, an attacker, in order to
catch him in the act.</para>
<para>The best way to detect an intrusion is to look for
modified, missing, or unexpected files. The best way to look
for modified files is from another, often centralized,
limited-access system. Writing security scripts on the
extra-security limited-access system makes them mostly
invisible to potential attackers. In order to take maximum
advantage, the limited-access box needs significant access to
the other machines, usually either through a read-only
<acronym>NFS</acronym> export or by setting up
&man.ssh.1; key-pairs. Except for its network traffic,
<acronym>NFS</acronym> is the least visible method, allowing
the administrator to monitor the filesystems on each client
box virtually undetected. If a limited-access server is
connected to the client boxes through a switch, the
<acronym>NFS</acronym> method is often the better choice. If
a limited-access server is connected to the client boxes
through several layers of routing, the <acronym>NFS</acronym>
method may be too insecure and &man.ssh.1; may be the better
choice.</para>
<para>Once a limited-access box has been given at least read
access to the client systems it is supposed to monitor, create
the monitoring scripts. Given an <acronym>NFS</acronym>
mount, write scripts out of simple system utilities such as
&man.find.1; and &man.md5.1;. It is best to physically
&man.md5.1; the client system's files at least once a day, and
to test control files such as those found in <filename
class="directory">/etc</filename> and <filename
class="directory">/usr/local/etc</filename> even more often.
When mismatches are found, relative to the base md5
information the limited-access machine knows is valid, it
should alert the sysadmin. A good security script will also
check for inappropriate SUID binaries and for new or deleted
files on system partitions such as <filename
class="directory">/</filename> and <filename
class="directory">/usr</filename>.</para>
<para>When using &man.ssh.1; rather than <acronym>NFS</acronym>,
writing the security script is more difficult. For example,
&man.scp.1; is needed to send the scripts to the client box in
order to run them. The &man.ssh.1; client on the client box
may already be compromised. Using &man.ssh.1; may be
necessary when running over insecure links, but it is harder
to deal with.</para>
<para>A good security script will also check for changes to
hidden configuration files, such as
<filename>.rhosts</filename> and
<filename>.ssh/authorized_keys</filename>, as these files
might fall outside the purview of the
<literal>MD5</literal> check.</para>
<para>For a large amount of user disk space, it may take too
long to run through every file on those partitions. In this
case, consider setting mount flags to disallow SUID binaries
by using <literal>nosuid</literal> with &man.mount.8;. Scan
these partitions at least once a week, since the objective is
to detect a break-in attempt, whether or not the attempt
succeeds.</para>
<para>Process accounting (see &man.accton.8;) is a relatively
low-overhead feature of &os; which might help as a
post-break-in evaluation mechanism. It is especially useful
in tracking down how an intruder broke into a system, assuming
the file is still intact after the break-in has
occurred.</para>
<para>Finally, security scripts should process the log files,
and the logs themselves should be generated in as secure a
manner as possible and sent to a remote syslog server. An
intruder will try to cover his tracks, and log files are
critical to the sysadmin trying to track down the time and
method of the initial break-in. One way to keep a permanent
record of the log files is to run the system console to a
serial port and collect the information to a secure machine
monitoring the consoles.</para>
</sect2>
<sect2>
<title>Paranoia</title>
<para>A little paranoia never hurts. As a rule, a sysadmin can
add any number of security features which do not affect
convenience and can add security features that
<emphasis>do</emphasis> affect convenience with some added
thought. More importantly, a security administrator should
mix it up a bit. If recommendations, such as those mentioned
in this section, are applied verbatim, those methodologies are
given to the prospective attacker who also has access to this
document.</para>
</sect2>
<sect2>
<title>Denial of Service Attacks</title>
<indexterm>
<primary>Denial of Service (DoS)</primary>
</indexterm>
<para>A <acronym>DoS</acronym> attack is typically a packet
attack. While there is not much one can do about spoofed
packet attacks that saturate a network, one can generally
limit the damage by ensuring that the attack cannot take down
servers by:</para>
<orderedlist>
<listitem>
<para>Limiting server forks.</para>
</listitem>
<listitem>
<para>Limiting springboard attacks such as ICMP response
attacks and ping broadcasts.</para>
</listitem>
<listitem>
<para>Overloading the kernel route cache.</para>
</listitem>
</orderedlist>
<para>A common <acronym>DoS</acronym> attack scenario is to
force a forking server to spawn so many child processes that
the host system eventually runs out of memory and file
descriptors, and then grinds to a halt. There are several
options to &man.inetd.8; to limit this sort of attack. It
should be noted that while it is possible to prevent a machine
from going down, it is not generally possible to prevent a
service from being disrupted by the attack. Read
&man.inetd.8; carefully and pay specific attention to
<option>-c</option>, <option>-C</option>, and
<option>-R</option>. Spoofed IP attacks will circumvent
<option>-C</option> to &man.inetd.8;, so typically a
combination of options must be used. Some standalone servers
have self-fork-limitation parameters.</para>
<para><application>Sendmail</application> provides
<option>-OMaxDaemonChildren</option>, which tends to work
better than trying to use
<application>Sendmail</application>'s load limiting options
due to the load lag. Specify a
<literal>MaxDaemonChildren</literal> when starting
<application>Sendmail</application> which is high enough to
handle the expected load, but not so high that the computer
cannot handle that number of
<application>Sendmail</application> instances. It is prudent
to run <application>Sendmail</application> in queued mode
using <option>-ODeliveryMode=queued</option> and to run the
daemon (<command>sendmail -bd</command>) separate from the
queue-runs (<command>sendmail -q15m</command>). For
real-time delivery, run the queue at a much lower interval,
such as <option>-q1m</option>, but be sure to specify a
reasonable <literal>MaxDaemonChildren</literal> to prevent
cascade failures.</para>
<para>&man.syslogd.8; can be attacked directly and it is
strongly recommended to use
<option>-s</option> whenever possible, and
<option>-a</option> otherwise.</para>
<para>Be careful with connect-back services such as
reverse-identd, which can be attacked directly. The
reverse-ident feature of
<application>TCP Wrappers</application> is not recommended for
this reason.</para>
<para>It is recommended to protect internal services from
external access by firewalling them at the border routers.
This is to prevent saturation attacks from outside the LAN,
not so much to protect internal services from network-based
<username>root</username> compromise. Always configure an
exclusive firewall which denies everything by default except
for traffic which is explicitly allowed. The range of port
numbers used for dynamic binding in &os; is controlled by
several <varname>net.inet.ip.portrange</varname>
&man.sysctl.8; variables.</para>
<para>Another common <acronym>DoS</acronym> attack, called a
springboard attack, causes the server to generate responses
which overloads the server, the local network, or some other
machine. The most common attack of this nature is the
<emphasis>ICMP ping broadcast attack</emphasis>. The attacker
spoofs ping packets sent to the LAN's broadcast address with
the source IP address set to the machine to attack. If the
border routers are not configured to drop ping packets sent to
broadcast addresses, the LAN generates sufficient responses to
the spoofed source address to saturate the victim, especially
when the attack is against several dozen broadcast addresses
over several dozen different networks at once. A second
common springboard attack constructs packets that generate
ICMP error responses which can saturate a server's incoming
network and cause the server to saturate its outgoing network
with ICMP responses. This type of attack can crash the
server by running it out of memory, especially if the server
cannot drain the ICMP responses it generates fast enough. Use
the &man.sysctl.8; variable
<literal>net.inet.icmp.icmplim</literal> to limit these
attacks. The last major class of springboard attacks is
related to certain internal &man.inetd.8; services such as the
UDP echo service. An attacker spoofs a UDP packet with a
source address of server A's echo port and a destination
address of server B's echo port, where server A and B on the
same LAN. The two servers bounce this one packet back and
forth between each other. The attacker can overload both
servers and the LAN by injecting a few packets in this manner.
Similar problems exist with the
<application>chargen</application> port. These inetd-internal
test services should remain disabled.</para>
<para>Spoofed packet attacks may be used to overload the kernel
route cache. Refer to the
<varname>net.inet.ip.rtexpire</varname>,
<varname>rtminexpire</varname>, and
<varname>rtmaxcache</varname> &man.sysctl.8; parameters. A
spoofed packet attack that uses a random source IP will cause
the kernel to generate a temporary cached route in the route
table, viewable with <command>netstat -rna | fgrep
W3</command>. These routes typically timeout in 1600
seconds or so. If the kernel detects that the cached route
table has gotten too big, it will dynamically reduce the
<varname>rtexpire</varname> but will never decrease it to less
than <varname>rtminexpire</varname>. This creates two
problems:</para>
<orderedlist>
<listitem>
<para>The kernel does not react quickly enough when a
lightly loaded server is suddenly attacked.</para>
</listitem>
<listitem>
<para>The <varname>rtminexpire</varname> is not low enough
for the kernel to survive a sustained attack.</para>
</listitem>
</orderedlist>
<para>If the servers are connected to the Internet via a T3 or
better, it may be prudent to manually override both
<varname>rtexpire</varname> and <varname>rtminexpire</varname>
via &man.sysctl.8;. Never set either parameter to zero
as this could crash the machine. Setting both parameters to 2
seconds should be sufficient to protect the route table from
attack.</para>
</sect2>
<sect2>
<title>Access Issues with Kerberos and &man.ssh.1;</title>
<indexterm><primary>&man.ssh.1;</primary></indexterm>
<para>There are a few issues with both Kerberos and &man.ssh.1;
that need to be addressed if they are used. Kerberos is an
excellent authentication protocol, but there are bugs in the
kerberized versions of &man.telnet.1; and &man.rlogin.1; that
make them unsuitable for dealing with binary streams. By
default, Kerberos does not encrypt a session unless
<option>-x</option> is used whereas &man.ssh.1; encrypts
everything.</para>
<para>While &man.ssh.1; works well, it forwards encryption keys
by default. This introduces a security risk to a user who
uses &man.ssh.1; to access an insecure machine from a secure
workstation. The keys themselves are not exposed, but
&man.ssh.1; installs a forwarding port for the duration of the
login. If an attacker has broken <username>root</username> on
the insecure machine, he can utilize that port to gain access
to any other machine that those keys unlock.</para>
<para>It is recommended that &man.ssh.1; is used in combination
with Kerberos whenever possible for staff logins and
&man.ssh.1; can be compiled with Kerberos support. This
reduces reliance on potentially exposed <acronym>SSH</acronym>
keys while protecting passwords via Kerberos. Keys should
only be used for automated tasks from secure machines as this
is something that Kerberos is unsuited to. It is recommended
to either turn off key-forwarding in the
<acronym>SSH</acronym> configuration, or to make use
of <literal>from=IP/DOMAIN</literal> in
<filename>authorized_keys</filename> to make the key only
usable to entities logging in from specific machines.</para>
</sect2>
</sect1>
<sect1 id="crypt">
<sect1info>
<authorgroup>
<author>
<firstname>Bill</firstname>
<surname>Swingle</surname>
<contrib>Parts rewritten and updated by </contrib>
</author>
</authorgroup>
<!-- 21 Mar 2000 -->
</sect1info>
<title>DES, Blowfish, MD5, SHA256, SHA512, and Crypt</title>
<indexterm>
<primary>security</primary>
<secondary>crypt</secondary>
</indexterm>
<indexterm><primary>crypt</primary></indexterm>
<indexterm><primary>Blowfish</primary></indexterm>
<indexterm><primary>DES</primary></indexterm>
<indexterm><primary>MD5</primary></indexterm>
<indexterm><primary>SHA256</primary></indexterm>
<indexterm><primary>SHA512</primary></indexterm>
<para>Every user on a &unix; system has a password associated with
their account. In order to keep these passwords secret, they
are encrypted with a <quote>one-way hash</quote>, as they can
be easily encrypted but not decrypted. The operating system
itself does not know the password. It only knows the
<emphasis>encrypted</emphasis> form of the password. The only
way to get the <quote>plain-text</quote> password is by a brute
force search of the space of possible passwords.</para>
<para>Originally, the only secure way to encrypt passwords in
&unix; was based on the Data Encryption Standard
(<acronym>DES</acronym>). Since the source code for
<acronym>DES</acronym> could not be exported outside the US,
&os; had to find a way to both comply with US law and retain
compatibility with other &unix; variants that used
<acronym>DES</acronym>. The solution was MD5 which is believed
to be more secure than <acronym>DES</acronym>.</para>
<sect2>
<title>Recognizing the Crypt Mechanism</title>
<para>Currently the library supports <acronym>DES</acronym>,
MD5, Blowfish, SHA256, and SHA512 hash functions. To identify
which encryption method &os; is set up to use, examine the
encrypted passwords in
<filename>/etc/master.passwd</filename>. Passwords encrypted
with the MD5 hash are longer than those encrypted with the
<acronym>DES</acronym> hash and begin with the characters
<literal>&dollar;1&dollar;</literal>. Passwords starting with
<literal>&dollar;2a&dollar;</literal> are encrypted with the
Blowfish hash function. <acronym>DES</acronym> password
strings do not have any particular identifying
characteristics, but they are shorter than MD5 passwords, and
are coded in a 64-character alphabet which does not include
the <literal>&dollar;</literal> character, so a relatively
short string which does not begin with a dollar sign is very
likely a <acronym>DES</acronym> password. Both SHA256 and
SHA512 begin with the characters
<literal>&dollar;6&dollar;</literal>.</para>
<para>The password format used for new passwords is controlled
by the <literal>passwd_format</literal> login capability in
<filename>/etc/login.conf</filename>, which takes values of
<literal>des</literal>, <literal>md5</literal>,
<literal>blf</literal>, <literal>sha256</literal> or
<literal>sha512</literal>. Refer to &man.login.conf.5; for
more information about login capabilities.</para>
</sect2>
</sect1>
<sect1 id="one-time-passwords">
<title>One-time Passwords</title>
<indexterm><primary>one-time passwords</primary></indexterm>
<indexterm>
<primary>security</primary>
<secondary>one-time passwords</secondary>
</indexterm>
<para>By default, &os; includes support for One-time Passwords In
Everything (<acronym>OPIE</acronym>), which uses the MD5 hash by
default.</para>
<para>There are three different types of passwords. The first is
the usual &unix; style or Kerberos password. The second is the
one-time password which is generated by &man.opiekey.1; and
accepted by &man.opiepasswd.1; and the login prompt. The final
type of password is the <quote>secret password</quote> used by
&man.opiekey.1;, and sometimes &man.opiepasswd.1;, to generate
one-time passwords.</para>
<para>The secret password has nothing to do with the &unix;
password. They can be the same, but this is not recommended.
<acronym>OPIE</acronym> secret passwords are not limited to 8
characters like old &unix; passwords<footnote><para>Under &os;
the standard login password may be up to 128 characters in
length.</para></footnote>. Passwords of six or seven word
long phrases are fairly common. For the most part, the
<acronym>OPIE</acronym> system operates completely independently
of the &unix; password system.</para>
<para>Besides the password, there are two other pieces of data
that are important to <acronym>OPIE</acronym>. One is the
<quote>seed</quote> or <quote>key</quote>, consisting of two
letters and five digits. The other is the <quote>iteration
count</quote>, a number between 1 and 100.
<acronym>OPIE</acronym> creates the one-time password by
concatenating the seed and the secret password, applying the MD5
hash as many times as specified by the iteration count, and
turning the result into six short English words. These six
English words are the one-time password. The authentication
system (primarily PAM) keeps track of the last one-time password
used, and the user is authenticated if the hash of the
user-provided password is equal to the previous password.
Because a one-way hash is used, it is impossible to generate
future one-time passwords if a successfully used password is
captured. The iteration count is decremented after each
successful login to keep the user and the login program in sync.
When the iteration count gets down to 1,
<acronym>OPIE</acronym> must be reinitialized.</para>
<para>There are a few programs involved in this process.
&man.opiekey.1; accepts an iteration count, a seed, and a secret
password, and generates a one-time password or a consecutive
list of one-time passwords. In addition to initializing
<acronym>OPIE</acronym>, &man.opiepasswd.1; is used to change
passwords, iteration counts, or seeds. It takes either a secret
passphrase, or an iteration count, seed, and a one-time
password. The relevant credential files in
<filename>/etc/opiekeys</filename> are examined by
&man.opieinfo.1; which prints out the invoking user's current
iteration count and seed.</para>
<para>There are four different sorts of operations. The first is
to use &man.opiepasswd.1; over a secure connection to set up
one-time-passwords for the first time, or to change the password
or seed. The second operation is to use &man.opiepasswd.1; over
an insecure connection, in conjunction with &man.opiekey.1; over
a secure connection, to do the same. The third is to use
&man.opiekey.1; to log in over an insecure connection. The
fourth is to use &man.opiekey.1; to generate a number of keys
which can be written down or printed out to carry to insecure
locations in order to make a connection to anywhere.</para>
<sect2>
<title>Secure Connection Initialization</title>
<para>To initialize <acronym>OPIE</acronym> for the first time,
execute &man.opiepasswd.1;:</para>
<screen>&prompt.user; <userinput>opiepasswd -c</userinput>
[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</screen>
<para>At the <prompt>Enter new secret pass phrase:</prompt> or
<prompt>Enter secret password:</prompt> prompt, enter a
password or phrase. This is not the login password as this
password is used to generate the one-time login keys. The
<quote>ID</quote> line gives the parameters of the instance:
the login name, iteration count, and seed. When logging in,
the system will remember these parameters and display them,
meaning that they do not have to be memorized. The last line
gives the particular one-time password which corresponds to
those parameters and the secret password. At the next login,
this one-time password is the one to use.</para>
</sect2>
<sect2>
<title>Insecure Connection Initialization</title>
<para>To initialize or change the secret password over an
insecure connection, a secure connection is needed to some
place where &man.opiekey.1; can be run. This might be a shell
prompt on a trusted machine. An iteration count is needed,
where 100 is probably a good value, and the seed can either be
specified or the randomly-generated one used. On the insecure
connection, the machine being initialized, use
&man.opiepasswd.1;:</para>
<screen>&prompt.user; <userinput>opiepasswd</userinput>
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</screen>
<para>To accept the default seed, press <keycap>Return</keycap>.
Before entering an access password, move over to the secure
connection and give it the same parameters:</para>
<screen>&prompt.user; <userinput>opiekey 498 to4268</userinput>
Using the MD5 algorithm to compute response.
Reminder: Do not use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHAT</screen>
<para>Switch back over to the insecure connection, and copy
the generated one-time password over to the relevant
program.</para>
</sect2>
<sect2>
<title>Generating a Single One-time Password</title>
<para>After initializing <acronym>OPIE</acronym> and logging in,
a prompt like this will be displayed:</para>
<screen>&prompt.user; <userinput>telnet example.com</userinput>
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: <userinput>&lt;username&gt;</userinput>
otp-md5 498 gr4269 ext
Password: </screen>
<para>The <acronym>OPIE</acronym> prompts provides a useful
feature. If <keycap>Return</keycap> is pressed at the
password prompt, the prompt will turn echo on and display
what is typed. This can be useful when attempting to type in
a password by hand from a printout.</para>
<indexterm><primary>MS-DOS</primary></indexterm>
<indexterm><primary>Windows</primary></indexterm>
<indexterm><primary>MacOS</primary></indexterm>
<para>At this point, generate the one-time password to answer
this login prompt. This must be done on a trusted system
where it is safe to run &man.opiekey.1;. There are versions
of this command for &windows;, &macos; and &os;. This command
needs the iteration count and the seed as command line
options. Use cut-and-paste from the login prompt on the
machine being logged in to.</para>
<para>On the trusted system:</para>
<screen>&prompt.user; <userinput>opiekey 498 to4268</userinput>
Using the MD5 algorithm to compute response.
Reminder: Do not use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHAT</screen>
<para>Once the one-time password is generated, continue to log
in.</para>
</sect2>
<sect2>
<title>Generating Multiple One-time Passwords</title>
<para>Sometimes there is no access to a trusted machine or
secure connection. In this case, it is possible to use
&man.opiekey.1; to generate a number of one-time passwords
beforehand. For example:</para>
<screen>&prompt.user; <userinput>opiekey -n 5 30 zz99999</userinput>
Using the MD5 algorithm to compute response.
Reminder: Do not use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: <userinput>&lt;secret password&gt;</userinput>
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</screen>
<para>The <option>-n 5</option> requests five keys in sequence,
and <option>30</option> specifies what the last iteration
number should be. Note that these are printed out in
<emphasis>reverse</emphasis> order of use. The really
paranoid might want to write the results down by hand;
otherwise, print the list. Each line shows both the iteration
count and the one-time password. Scratch off the passwords as
they are used.</para>
</sect2>
<sect2>
<title>Restricting Use of &unix; Passwords</title>
<para><acronym>OPIE</acronym> can restrict the use of &unix;
passwords based on the IP address of a login session. The
relevant file is <filename>/etc/opieaccess</filename>, which
is present by default. Refer to &man.opieaccess.5; for more
information on this file and which security considerations to
be aware of when using it.</para>
<para>Here is a sample <filename>opieaccess</filename>:</para>
<programlisting>permit 192.168.0.0 255.255.0.0</programlisting>
<para>This line allows users whose IP source address (which is
vulnerable to spoofing) matches the specified value and mask,
to use &unix; passwords at any time.</para>
<para>If no rules in <filename>opieaccess</filename> are
matched, the default is to deny non-<acronym>OPIE</acronym>
logins.</para>
</sect2>
</sect1>
<sect1 id="tcpwrappers">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
</sect1info>
<title>TCP Wrappers</title>
<indexterm><primary>TCP Wrappers</primary></indexterm>
<para><acronym>TCP</acronym> Wrappers extends the abilities of
<xref linkend="network-inetd"/> to provide support for every
server daemon under its control. It can be configured
to provide logging support, return messages to connections, and
permit a daemon to only accept internal connections. While some
of these features can be provided by implementing a firewall,
<acronym>TCP</acronym> Wrappers adds an extra layer of
protection and goes beyond the amount of control a firewall can
provide.</para>
<para><acronym>TCP</acronym> Wrappers should not be considered a
replacement for a properly configured firewall.
<acronym>TCP</acronym> Wrappers should be used in conjunction
with a firewall and other security enhancements.</para>
<sect2>
<title>Initial Configuration</title>
<para>To enable <acronym>TCP</acronym> Wrappers in &os;, ensure
the &man.inetd.8; server is started from
<filename>/etc/rc.conf</filename> with
<option>-Ww</option>. Then, properly configure
<filename>/etc/hosts.allow</filename>.</para>
<note>
<para>Unlike other implementations of <acronym>TCP</acronym>
Wrappers, the use of <filename>hosts.deny</filename> has
been deprecated. All configuration options should be placed
in <filename>/etc/hosts.allow</filename>.</para>
</note>
<para>In the simplest configuration, daemon connection policies
are set to either be permitted or blocked depending on the
options in <filename>/etc/hosts.allow</filename>. The default
configuration in &os; is to allow a connection to every daemon
started with &man.inetd.8;.</para>
<para>Basic configuration usually takes the form of
<literal>daemon : address : action</literal>, where
<literal>daemon</literal> is the daemon which &man.inetd.8;
started, <literal>address</literal> is a valid hostname,
<acronym>IP</acronym> address, or an IPv6 address enclosed in
brackets ([&nbsp;]), and <literal>action</literal> is
either <literal>allow</literal> or <literal>deny</literal>.
<acronym>TCP</acronym> Wrappers uses a first rule match
semantic, meaning that the configuration file is scanned in
ascending order for a matching rule. When a match is found,
the rule is applied and the search process stops.</para>
<para>For example, to allow <acronym>POP</acronym>3 connections
via the <filename role="package">mail/qpopper</filename>
daemon, the following lines should be appended to
<filename>hosts.allow</filename>:</para>
<programlisting># This line is required for POP3 connections:
qpopper : ALL : allow</programlisting>
<para>After adding this line, &man.inetd.8; needs to be
restarted:</para>
<screen>&prompt.root; <userinput>service inetd restart</userinput></screen>
</sect2>
<sect2>
<title>Advanced Configuration</title>
<para><acronym>TCP</acronym> Wrappers provides advanced options
to allow more control over the way connections are handled.
In some cases, it may be appropriate to return a comment to
certain hosts or daemon connections. In other cases, a log
entry should be recorded or an email sent to the
administrator. Other situations may require the use of a
service for local connections only. This is all possible
through the use of configuration options known as
<literal>wildcards</literal>, expansion characters and
external command execution.</para>
<sect3>
<title>External Commands</title>
<para>Suppose that a situation occurs where a connection
should be denied yet a reason should be sent to the
individual who attempted to establish that connection. That
action is possible with <option>twist</option>. When a
connection attempt is made, <option>twist</option> executes
a shell command or script. An example exists in
<filename>hosts.allow</filename>:</para>
<programlisting># The rest of the daemons are protected.
ALL : ALL \
: severity auth.info \
: twist /bin/echo "You are not welcome to use %d from %h."</programlisting>
<para>In this example, the message <quote>You are not allowed
to use <literal>daemon</literal> from
<literal>hostname</literal>.</quote> will be returned for
any daemon not previously configured in the access file.
This is useful for sending a reply back to the connection
initiator right after the established connection is dropped.
Any message returned <emphasis>must</emphasis> be wrapped in
quote (<literal>"</literal>) characters.</para>
<warning>
<para>It may be possible to launch a denial of service
attack on the server if an attacker, or group of
attackers, could flood these daemons with connection
requests.</para>
</warning>
<para>Another possibility is to use <option>spawn</option>.
Like <option>twist</option>, <option>spawn</option>
implicitly denies the connection and may be used to run
external shell commands or scripts. Unlike
<option>twist</option>, <option>spawn</option> will not send
a reply back to the individual who established the
connection. For example, consider the following
configuration line:</para>
<programlisting># We do not allow connections from example.com:
ALL : .example.com \
: spawn (/bin/echo %a from %h attempted to access %d &gt;&gt; \
/var/log/connections.log) \
: deny</programlisting>
<para>This will deny all connection attempts from <hostid
role="fqdn">*.example.com</hostid> and log the hostname,
<acronym>IP</acronym> address, and the daemon to which
access was attempted to
<filename>/var/log/connections.log</filename>.</para>
<para>This example uses the substitution characters
<literal>%a</literal> and <literal>%h</literal>. Refer to
&man.hosts.access.5; for the complete list.</para>
</sect3>
<sect3>
<title>Wildcard Options</title>
<para>The <literal>ALL</literal> option may be used to match
every instance of a daemon, domain, or an
<acronym>IP</acronym> address. Another wildcard is
<literal>PARANOID</literal> which may be used to match
any host which provides an <acronym>IP</acronym> address
that may be forged. For example,
<literal>PARANOID</literal> may be used to define an action
to be taken whenever a connection is made from an
<acronym>IP</acronym> address that differs from its
hostname. In this example, all connection requests to
&man.sendmail.8; which have an <acronym>IP</acronym> address
that varies from its hostname will be denied:</para>
<programlisting># Block possibly spoofed requests to sendmail:
sendmail : PARANOID : deny</programlisting>
<caution>
<para>Using the <literal>PARANOID</literal> wildcard may
severely cripple servers if the client or server has a
broken <acronym>DNS</acronym> setup. Administrator
discretion is advised.</para>
</caution>
<para>To learn more about wildcards and their associated
functionality, refer to &man.hosts.access.5;.</para>
<para>Before any of the specific configuration lines above
will work, the first configuration line should be commented
out in <filename>hosts.allow</filename>.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="kerberos5">
<sect1info>
<authorgroup>
<author>
<firstname>Tillman</firstname>
<surname>Hodgson</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Mark</firstname>
<surname>Murray</surname>
<contrib>Based on a contribution by </contrib>
</author>
</authorgroup>
</sect1info>
<title><application>Kerberos5</application></title>
<para><application>Kerberos</application> is a network add-on
system/protocol that allows users to authenticate themselves
through the services of a secure server.
<application>Kerberos</application> can be described as an
identity-verifying proxy system. It can also be described as a
trusted third-party authentication system. After a user
authenticates with <application>Kerberos</application>, their
communications can be encrypted to assure privacy and data
integrity.</para>
<para>The only function of <application>Kerberos</application> is
to provide the secure authentication of users on the network.
It does not provide authorization functions (what users are
allowed to do) or auditing functions (what those users did). It
is recommended that <application>Kerberos</application> be used
with other security methods which provide authorization and
audit services.</para>
<para>This section provides a guide on how to set up
<application>Kerberos</application> as distributed for &os;.
Refer to the relevant manual pages for more complete
descriptions.</para>
<para>For purposes of demonstrating a
<application>Kerberos</application> installation, the various
name spaces will be as follows:</para>
<itemizedlist>
<listitem>
<para>The <acronym>DNS</acronym> domain (<quote>zone</quote>)
will be <hostid role="fqdn">example.org</hostid>.</para>
</listitem>
<listitem>
<para>The <application>Kerberos</application> realm will be
<literal>EXAMPLE.ORG</literal>.</para>
</listitem>
</itemizedlist>
<note>
<para>Use real domain names when setting up
<application>Kerberos</application> even if it will run
internally. This avoids <acronym>DNS</acronym> problems
and assures inter-operation with other
<application>Kerberos</application> realms.</para>
</note>
<sect2>
<title>History</title>
<indexterm>
<primary>Kerberos5</primary>
<secondary>history</secondary>
</indexterm>
<para><application>Kerberos</application> was created by
<acronym>MIT</acronym> as a solution to network security
problems. The <application>Kerberos</application> protocol
uses strong cryptography so that a client can prove its
identity to a server (and vice versa) across an insecure
network connection.</para>
<para><application>Kerberos</application> is both the name of a
network authentication protocol and an adjective to describe
programs that implement it, such as
<application>Kerberos</application> telnet. The current
version of the protocol is version 5, described in
<acronym>RFC</acronym>&nbsp;1510.</para>
<para>Several free implementations of this protocol are
available, covering a wide range of operating systems. The
Massachusetts Institute of Technology
(<acronym>MIT</acronym>), where
<application>Kerberos</application> was originally developed,
continues to develop their <application>Kerberos</application>
package. It is commonly used in the <acronym>US</acronym> as
a cryptography product, and has historically been affected by
<acronym>US</acronym> export regulations. The
<acronym>MIT</acronym> <application>Kerberos</application> is
available as the <filename
role="package">security/krb5</filename> package or port.
Heimdal <application>Kerberos</application> is another version
5 implementation, and was explicitly developed outside of the
<acronym>US</acronym> to avoid export regulations. The
Heimdal <application>Kerberos</application> distribution is
available as a the <filename
role="package">security/heimdal</filename> package or port,
and a minimal installation is included in the base &os;
install.</para>
<para>These instructions assume the use of the Heimdal
distribution included in &os;.</para>
</sect2>
<sect2>
<title>Setting up a Heimdal <acronym>KDC</acronym></title>
<indexterm>
<primary>Kerberos5</primary>
<secondary>Key Distribution Center</secondary>
</indexterm>
<para>The Key Distribution Center (<acronym>KDC</acronym>) is
the centralized authentication service that
<application>Kerberos</application> provides. It is the
computer that issues <application>Kerberos</application>
tickets. The <acronym>KDC</acronym> is considered
<quote>trusted</quote> by all other computers in the
<application>Kerberos</application> realm, and thus has
heightened security concerns.</para>
<para>While running the <application>Kerberos</application>
server requires very few computing resources, a dedicated
machine acting only as a <acronym>KDC</acronym> is recommended
for security reasons.</para>
<para>To begin setting up a <acronym>KDC</acronym>, ensure that
<filename>/etc/rc.conf</filename> contains the correct
settings to act as a <acronym>KDC</acronym>. As required,
adjust paths to reflect the system:</para>
<programlisting>kerberos5_server_enable="YES"
kadmind5_server_enable="YES"</programlisting>
<para>Next, edit <filename>/etc/krb5.conf</filename> as
follows:</para>
<programlisting>[libdefaults]
default_realm = EXAMPLE.ORG
[realms]
EXAMPLE.ORG = {
kdc = kerberos.example.org
admin_server = kerberos.example.org
}
[domain_realm]
.example.org = EXAMPLE.ORG</programlisting>
<para>This <filename>/etc/krb5.conf</filename> implies that the
<acronym>KDC</acronym> will use the fully-qualified hostname
<hostid role="fqdn">kerberos.example.org</hostid>. Add a
CNAME (alias) entry to the zone file to accomplish this
if the <acronym>KDC</acronym> has a different hostname.</para>
<note>
<para>For large networks with a properly configured
<acronym>DNS</acronym> server, the above example could be
trimmed to:</para>
<programlisting>[libdefaults]
default_realm = EXAMPLE.ORG</programlisting>
<para>With the following lines being appended to the
<hostid role="fqdn">example.org</hostid> zone file:</para>
<programlisting>_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</programlisting>
</note>
<note>
<para>For clients to be able to find the
<application>Kerberos</application> services, it
<emphasis>must</emphasis> have either a fully configured
<filename>/etc/krb5.conf</filename> or a minimally
configured <filename>/etc/krb5.conf</filename>
<emphasis>and</emphasis> a properly configured DNS
server.</para>
</note>
<para>Next, create the <application>Kerberos</application>
database which contains the keys of all principals encrypted
with a master password. It is not required to remember this
password as it will be stored in
<filename>/var/heimdal/m-key</filename>. To create the
master key, run &man.kstash.8; and enter a password.</para>
<para>Once the master key has been created, initialize the
database using <command>kadmin -l</command>. This option
instructs &man.kadmin.8; to modify the local database files
directly rather than going through the &man.kadmind.8; network
service. This handles the chicken-and-egg problem of trying
to connect to the database before it is created. At the
&man.kadmin.8; prompt, use <command>init</command> to create
the realm's initial database.</para>
<para>Lastly, while still in &man.kadmin.8;, create the first
principal using <command>add</command>. Stick to the default
options for the principal for now, as these can be changed
later with <command>modify</command>. Type
<literal>?</literal> at the &man.kadmin.8; prompt to see the
available options.</para>
<para>A sample database creation session is shown below:</para>
<screen>&prompt.root; <userinput>kstash</userinput>
Master key: <userinput>xxxxxxxx</userinput>
Verifying password - Master key: <userinput>xxxxxxxx</userinput>
&prompt.root; <userinput>kadmin -l</userinput>
kadmin> <userinput>init EXAMPLE.ORG</userinput>
Realm max ticket life [unlimited]:
kadmin> <userinput>add tillman</userinput>
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Attributes []:
Password: <userinput>xxxxxxxx</userinput>
Verifying password - Password: <userinput>xxxxxxxx</userinput></screen>
<para>Next, start the <acronym>KDC</acronym> services. Run
<command>service kerberos start</command> and
<command>service kadmind start</command> to bring up the
services. While there will not be any kerberized daemons
running at this point, it is possible to confirm that the
<acronym>KDC</acronym> is functioning by obtaining and
listing a ticket for the principal (user) that was just
created from the command-line of the <acronym>KDC</acronym>
itself:</para>
<screen>&prompt.user; <userinput>kinit <replaceable>tillman</replaceable></userinput>
tillman@EXAMPLE.ORG's Password:
&prompt.user; <userinput>klist</userinput>
Credentials cache: FILE:<filename>/tmp/krb5cc_500</filename>
Principal: tillman@EXAMPLE.ORG
Issued Expires Principal
Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORG</screen>
<para>The ticket can then be revoked when finished:</para>
<screen>&prompt.user; <userinput>kdestroy</userinput></screen>
</sect2>
<sect2>
<title><application>Kerberos</application> Enabling a Server
with Heimdal Services</title>
<indexterm>
<primary>Kerberos5</primary>
<secondary>enabling services</secondary>
</indexterm>
<para>First, copy
<filename>/etc/krb5.conf</filename> from the
<acronym>KDC</acronym> to the client computer in a secure
- fashion, such as &man.scp.1;, or physically via a removable
+ fashion, such as &man.scp.1;, or physically via removable
media.</para>
<para>Next, create <filename>/etc/krb5.keytab</filename>.
This is the major difference between a server providing
<application>Kerberos</application> enabled daemons and a
workstation: the server must have a
<filename>keytab</filename>. This file contains the
server's host key, which allows it and the
<acronym>KDC</acronym> to verify each others identity. It
must be transmitted to the server in a secure fashion, as
the security of the server can be broken if the key is made
public.</para>
<para>Typically, the <filename>keytab</filename> is transferred
to the server using &man.kadmin.8;. This is handy because the
host principal, the <acronym>KDC</acronym> end of the
<filename>krb5.keytab</filename>, is also created using
&man.kadmin.8;.</para>
<para>A ticket must already be obtained and this ticket must be
allowed to use the &man.kadmin.8; interface in the
<filename>kadmind.acl</filename>. See the section titled
<quote>Remote administration</quote> in<command>info
heimdal</command> for details on designing access control
lists. Instead of enabling remote &man.kadmin.8; access, the
administrator can securely connect to the
<acronym>KDC</acronym> via the local console or &man.ssh.1;,
and perform administration locally using
<command>kadmin -l</command>.</para>
<para>After installing <filename>/etc/krb5.conf</filename>,
use <command>add --random-key</command> from the
<application>Kerberos</application> server. This adds
the server's host principal. Then, use <command>ext</command>
to extract the server's host principal to its own keytab. For
example:</para>
<screen>&prompt.root; <userinput>kadmin</userinput>
kadmin><userinput> add --random-key host/myserver.example.org</userinput>
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Attributes []:
kadmin><userinput> ext host/myserver.example.org</userinput>
kadmin><userinput> exit</userinput></screen>
<para>Note that <command>ext</command> stores the extracted key
in <filename>/etc/krb5.keytab</filename> by default.</para>
<para>If &man.kadmind.8; is not running on the
<acronym>KDC</acronym> and there is no access to
&man.kadmin.8; remotely, add the host principal
(<username>host/myserver.EXAMPLE.ORG</username>) directly on
the <acronym>KDC</acronym> and then extract it to a
temporary file to avoid overwriting the
<filename>/etc/krb5.keytab</filename> on the
<acronym>KDC</acronym>, using something like this:</para>
<screen>&prompt.root; <userinput>kadmin</userinput>
kadmin><userinput> ext --keytab=/tmp/example.keytab host/myserver.example.org</userinput>
kadmin><userinput> exit</userinput></screen>
<para>The keytab can then be securely copied to the server
using &man.scp.1; or a removable media. Be sure to specify a
non-default keytab name to avoid overwriting the keytab on the
<acronym>KDC</acronym>.</para>
<para>At this point, the server can communicate with the
<acronym>KDC</acronym> using
<filename>krb5.conf</filename> and it can prove its
own identity with <filename>krb5.keytab</filename>. It is now
ready for the <application>Kerberos</application> services to
be enabled. For this example, the &man.telnetd.8; service
is enabled in <filename>/etc/inetd.conf</filename> and
&man.inetd.8; has been restarted with <command>service inetd
restart</command>:</para>
<programlisting>telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a user</programlisting>
<para>The critical change is that the <option>-a</option>
authentication type is set to user. Refer to &man.telnetd.8;
for more details.</para>
</sect2>
<sect2>
<title><application>Kerberos</application> Enabling a Client
with Heimdal</title>
<indexterm>
<primary>Kerberos5</primary>
<secondary>configure clients</secondary>
</indexterm>
<para>Setting up a client computer is easy as only
<filename>/etc/krb5.conf</filename> is needed. Securely copy
this file over to the client computer from the
<acronym>KDC</acronym>.</para>
<para>Test the client by attempting to use &man.kinit.1;,
&man.klist.1;, and &man.kdestroy.1; from the client to obtain,
show, and then delete a ticket for the principal created
above. <application>Kerberos</application> applications
should also be able to connect to
<application>Kerberos</application> enabled servers. If that
does not work but obtaining a ticket does, the problem is
likely with the server and not with the client or the
<acronym>KDC</acronym>.</para>
<para>When testing a Kerberized application, try using a packet
sniffer such as &man.tcpdump.1; to confirm that the password
is not sent in the clear.</para>
<para>Various non-core <application>Kerberos</application>
client applications are available. The <quote>minimal</quote>
installation in &os; installs &man.telnetd.8; as the only
<application>Kerberos</application> enabled service.</para>
<para>The Heimdal port installs
<application>Kerberos</application> enabled versions of
&man.ftpd.8;, &man.rshd.8;, &man.rcp.1;, &man.rlogind.8;, and
a few other less common programs. The <acronym>MIT</acronym>
port also contains a full suite of
<application>Kerberos</application> client
applications.</para>
</sect2>
<sect2>
<title>User Configuration Files: <filename>.k5login</filename>
and <filename>.k5users</filename></title>
<indexterm>
<primary><filename>.k5login</filename></primary>
</indexterm>
<indexterm>
<primary><filename>.k5users</filename></primary>
</indexterm>
<para>Users within a realm typically have their
<application>Kerberos</application> principal mapped to a
local user account. Occasionally, one needs to grant access
to a local user account to someone who does not have a
matching <application>Kerberos</application> principal. For
example, <username>tillman@EXAMPLE.ORG</username> may need
access to the local user account
<username>webdevelopers</username>. Other principals may also
need access to that local account.</para>
<para>The <filename>.k5login</filename> and
<filename>.k5users</filename> files, placed in a user's home
directory, can be used to solve this problem. For example, if
<filename>.k5login</filename> with the following contents is
placed in the home directory of
<username>webdevelopers</username>, both principals listed
will have access to that account without requiring a shared
password.:</para>
<screen>tillman@example.org
jdoe@example.org</screen>
<para>Refer to &man.ksu.1; for more information about
<filename>.k5users</filename>.</para>
</sect2>
<sect2>
<title><application>Kerberos</application> Tips, Tricks, and
Troubleshooting</title>
<itemizedlist>
<listitem>
<para>When using either the Heimdal or
<acronym>MIT</acronym>
<application>Kerberos</application><indexterm><primary>Kerberos5</primary><secondary>troubleshooting</secondary></indexterm> ports, ensure that
the <envar>PATH</envar> lists the
<application>Kerberos</application> versions of the
client applications before the system versions.</para>
</listitem>
<listitem>
<para>If all the computers in the realm do not have
synchronized time settings, authentication may fail.
<xref linkend="network-ntp"/> describes how to synchronize
clocks using <acronym>NTP</acronym>.</para>
</listitem>
<listitem>
<para><acronym>MIT</acronym> and Heimdal interoperate
except for &man.kadmin.8;, which is not
standardized.</para>
</listitem>
<listitem>
<para>If the hostname is changed, the
<username>host/</username> principal must be changed and
the keytab updated. This also applies to special keytab
entries like the <username>www/</username> principal
used for Apache's <filename
role="package">www/mod_auth_kerb</filename>.</para>
</listitem>
<listitem>
<para>All hosts in the realm must be both forward and
reverse resolvable in <acronym>DNS</acronym> or, at a
minimum, in <filename>/etc/hosts</filename>. CNAMEs
will work, but the A and PTR records must be correct and
in place. The error message for unresolvable hosts is not
intuitive: <errorname>Kerberos5 refuses authentication
because Read req failed: Key table entry not
found</errorname>.</para>
</listitem>
<listitem>
<para>Some operating systems that act as clients to the
<acronym>KDC</acronym> do not set the permissions for
&man.ksu.1; to be setuid <username>root</username>. This
means that &man.ksu.1; does not work. This is not a
<acronym>KDC</acronym> error.</para>
</listitem>
<listitem>
<para>With <acronym>MIT</acronym>
<application>Kerberos</application>, in order to allow a
principal to have a ticket life longer than the default
ten hours, use <command>modify_principal</command> at the
&man.kadmin.8; prompt to change the maxlife of both the
principal in question and the
<username>krbtgt</username> principal. Then the
principal can use <command>kinit -l</command> to request a
ticket with a longer lifetime.</para>
</listitem>
<listitem>
<note>
<para>When running a packet sniffer on the
<acronym>KDC</acronym> to aid in troubleshooting while
running &man.kinit.1; from a workstation, the Ticket
Granting Ticket (<acronym>TGT</acronym>) is sent
immediately upon running &man.kinit.1;, even before the
password is typed. This is because the
<application>Kerberos</application> server freely
transmits a <acronym>TGT</acronym> to any unauthorized
request. However, every <acronym>TGT</acronym> is
encrypted in a key derived from the user's password.
When a user types their password, it is not sent to the
<acronym>KDC</acronym>, it is instead used to decrypt
the <acronym>TGT</acronym> that &man.kinit.1; already
obtained. If the decryption process results in a valid
ticket with a valid time stamp, the user has valid
<application>Kerberos</application> credentials.
These credentials include a session key for
establishing secure communications with the
<application>Kerberos</application> server in the
future, as well as the actual <acronym>TGT</acronym>,
which is encrypted with the
<application>Kerberos</application> server's own key.
This second layer of encryption allows the
<application>Kerberos</application> server to verify
the authenticity of each <acronym>TGT</acronym>.</para>
</note>
</listitem>
<listitem>
<para>To use long ticket lifetimes, such as a week, when
using <application>OpenSSH</application> to connect to the
machine where the ticket is stored, make sure that
<application>Kerberos</application>
<option>TicketCleanup</option> is set to
<literal>no</literal> in
<filename>sshd_config</filename> or else tickets will be
deleted at log out.</para>
</listitem>
<listitem>
<para>Host principals can have a longer ticket lifetime. If
the user principal has a lifetime of a week but the host
being connected to has a lifetime of nine hours, the user
cache will have an expired host principal and the ticket
cache will not work as expected.</para>
</listitem>
<listitem>
<para>When setting up <filename>krb5.dict</filename> to
prevent specific bad passwords from being used as
described in &man.kadmind.8;, remember that it only
applies to principals that have a password policy assigned
to them. The format used in
<filename>krb5.dict</filename> is one string per line.
Creating a symbolic link to
<filename>/usr/share/dict/words</filename> might be
useful.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Differences with the <acronym>MIT</acronym>
Port</title>
<para>The major difference between <acronym>MIT</acronym> and
Heimdal relates to &man.kadmin.8; which has a different, but
equivalent, set of commands and uses a different protocol.
If the <acronym>KDC</acronym> is <acronym>MIT</acronym>, the
Heimdal version of &man.kadmin.8; cannot be used to administer
the <acronym>KDC</acronym> remotely, and vice versa.</para>
<para>The client applications may also use slightly different
command line options to accomplish the same tasks.
Following the instructions on the <acronym>MIT</acronym>
<application>Kerberos</application> <ulink
url="http://web.mit.edu/Kerberos/www/">web site</ulink> is
recommended. Be careful of path issues: the
<acronym>MIT</acronym> port installs into <filename
class="directory">/usr/local/</filename> by default, and the
<quote>normal</quote> system applications run instead of
<acronym>MIT</acronym> versions if <envar>PATH</envar> lists
the system directories first.</para>
<note>
<para>With the &os; <acronym>MIT</acronym> <filename
role="package">security/krb5</filename> port, be sure to
read
<filename>/usr/local/share/doc/krb5/README.FreeBSD</filename>
installed by the port to understand why logins via
&man.telnetd.8; and <command>klogind</command> behave
somewhat oddly. Correcting the <quote>incorrect permissions
on cache file</quote> behavior requires that the
<command>login.krb5</command> binary be used for
authentication so that it can properly change ownership for
the forwarded credentials.</para>
</note>
<para>The following edits should also be made to
<filename>rc.conf</filename>:</para>
<programlisting>kerberos5_server="/usr/local/sbin/krb5kdc"
kadmind5_server="/usr/local/sbin/kadmind"
+kerberos5_server_flags=""
kerberos5_server_enable="YES"
kadmind5_server_enable="YES"</programlisting>
<para>This is done because the applications for
<acronym>MIT</acronym> Kerberos installs binaries in the
<filename class="directory">/usr/local</filename>
hierarchy.</para>
</sect2>
<sect2>
<title>Mitigating Limitations Found in
<application>Kerberos</application></title>
<indexterm>
<primary>Kerberos5</primary>
<secondary>limitations and shortcomings</secondary>
</indexterm>
<sect3>
<title><application>Kerberos</application> is an
All or Nothing Approach</title>
<para>Every service enabled on the network must be modified
to work with <application>Kerberos</application>, or be
otherwise secured against network attacks, or else the
user's credentials could be stolen and re-used. An example
of this would be <application>Kerberos</application>
enabling all remote shells but not converting the
<acronym>POP3</acronym> mail server which sends passwords in
plain text.</para>
</sect3>
<sect3>
<title><application>Kerberos</application> is Intended for
Single-User Workstations</title>
<para>In a multi-user environment,
<application>Kerberos</application> is less secure. This is
because it stores the tickets in <filename
class="directory">/tmp</filename>, which is readable by
all users. If a user is sharing a computer with other
users, it is possible that the user's tickets can be stolen
or copied by another user.</para>
<para>This can be overcome with the <literal>-c</literal>
command-line option or, preferably, the
<envar>KRB5CCNAME</envar> environment variable. Storing
the ticket in the user's home directory and using file
permissions are commonly used to mitigate this
problem.</para>
</sect3>
<sect3>
<title>The KDC is a Single Point of Failure</title>
<para>By design, the <acronym>KDC</acronym> must be as secure
as its master password database. The <acronym>KDC</acronym>
should have absolutely no other services running on it and
should be physically secure. The danger is high because
<application>Kerberos</application> stores all passwords
encrypted with the same <quote>master</quote> key which is
stored as a file on the <acronym>KDC</acronym>.</para>
<para>A compromised master key is not quite as bad as one
might fear. The master key is only used to encrypt the
<application>Kerberos</application> database and as a seed
for the random number generator. As long as access to the
<acronym>KDC</acronym> is secure, an attacker cannot do much
with the master key.</para>
<para>Additionally, if the <acronym>KDC</acronym> is
unavailable, network services are unusable as authentication
cannot be performed. This can be alleviated with a single
master <acronym>KDC</acronym> and one or more slaves, and
with careful implementation of secondary or fall-back
authentication using <acronym>PAM</acronym>.</para>
</sect3>
<sect3>
<title><application>Kerberos</application>
Shortcomings</title>
<para><application>Kerberos</application> allows users, hosts
and services to authenticate between themselves. It does
not have a mechanism to authenticate the
<acronym>KDC</acronym> to the users, hosts or services.
This means that a trojanned &man.kinit.1; could record all
user names and passwords. Filesystem integrity checking
tools like <filename
role="package">security/tripwire</filename> can alleviate
this.</para>
</sect3>
</sect2>
<sect2>
<title>Resources and Further Information</title>
<indexterm>
<primary>Kerberos5</primary>
<secondary>external resources</secondary>
</indexterm>
<itemizedlist>
<listitem>
<para><ulink
url="http://www.faqs.org/faqs/Kerberos-faq/general/preamble.html">
The <application>Kerberos</application>
FAQ</ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://web.mit.edu/Kerberos/www/dialogue.html">Designing
an Authentication System: a Dialog in Four
Scenes</ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://www.ietf.org/rfc/rfc1510.txt?number=1510">RFC
1510, The <application>Kerberos</application> Network
Authentication Service (V5)</ulink></para>
</listitem>
<listitem>
<para><ulink
url="http://web.mit.edu/Kerberos/www/"><acronym>MIT</acronym>
<application>Kerberos</application> home
page</ulink></para>
</listitem>
<listitem>
<para><ulink url="http://www.pdc.kth.se/heimdal/">Heimdal
<application>Kerberos</application> home
page</ulink></para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="openssl">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
</authorgroup>
</sect1info>
<title>OpenSSL</title>
<indexterm>
<primary>security</primary>
<secondary>OpenSSL</secondary>
</indexterm>
<para>The
<application>OpenSSL</application> toolkit is included in &os;.
It provides an encryption transport layer on top of the normal
communications layer, allowing it to be intertwined with many
network applications and services.</para>
<para>Some uses of <application>OpenSSL</application> may include
encrypted authentication of mail clients and web based
transactions such as credit card payments. Many ports such as
<filename role="package">www/apache22</filename>, and
<filename role="package">mail/claws-mail</filename> offer
compilation support for building with
<application>OpenSSL</application>.</para>
<note>
<para>In most cases, the Ports Collection will attempt to build
the <filename role="package">security/openssl</filename>
port unless <makevar>WITH_OPENSSL_BASE</makevar> is explicitly
set to <quote>yes</quote>.</para>
</note>
<para>The version of <application>OpenSSL</application> included
in &os; supports Secure Sockets Layer v2/v3 (SSLv2/SSLv3) and
Transport Layer Security v1 (TLSv1) network security protocols
and can be used as a general cryptographic library.</para>
<note>
<para>While <application>OpenSSL</application> supports the
<acronym>IDEA</acronym> algorithm, it is disabled by default
due to United States patents. To use it, the license should
be reviewed and, if the restrictions are acceptable, the
<makevar>MAKE_IDEA</makevar> variable must be set in
<filename>/etc/make.conf</filename>.</para>
</note>
<para>One of the most common uses of
<application>OpenSSL</application> is to provide certificates
for use with software applications. These certificates ensure
that the credentials of the company or individual are valid
and not fraudulent. If the certificate in question has not
been verified by a <quote>Certificate Authority</quote>
(<acronym>CA</acronym>), a warning is produced. A
<acronym>CA</acronym> is a company, such as <ulink
url="http://www.verisign.com">VeriSign</ulink>, signs
certificates in order to validate the credentials of individuals
or companies. This process has a cost associated with it and is
not a requirement for using certificates; however, it can put
users at ease.</para>
<sect2>
<title>Generating Certificates</title>
<indexterm>
<primary>OpenSSL</primary>
<secondary>certificate generation</secondary>
</indexterm>
<para>To generate a certificate, the following command is
available:</para>
<screen>&prompt.root; <userinput>openssl req -new -nodes -out req.pem -keyout cert.pem</userinput>
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]:<userinput><replaceable>US</replaceable></userinput>
State or Province Name (full name) [Some-State]:<userinput><replaceable>PA</replaceable></userinput>
Locality Name (eg, city) []:<userinput><replaceable>Pittsburgh</replaceable></userinput>
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<userinput><replaceable>My Company</replaceable></userinput>
Organizational Unit Name (eg, section) []:<userinput><replaceable>Systems Administrator</replaceable></userinput>
Common Name (eg, YOUR name) []:<userinput><replaceable>localhost.example.org</replaceable></userinput>
Email Address []:<userinput><replaceable>trhodes@FreeBSD.org</replaceable></userinput>
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:<userinput><replaceable>SOME PASSWORD</replaceable></userinput>
An optional company name []:<userinput><replaceable>Another Name</replaceable></userinput></screen>
<para>Notice the response directly after the <quote>Common
Name</quote> prompt shows a domain name. This prompt
requires a server name to be entered for verification
purposes and placing anything but a domain name yields a
useless certificate. Other options, such as the expire
time and alternate encryption algorithms, are available. A
complete list of options is described in
&man.openssl.1;.</para>
<para>Two files should now exist in the directory in which this
command was issued. The certificate request,
<filename>req.pem</filename>, may be sent to a
<acronym>CA</acronym> who will validate the entered
credentials, sign the request, and return the signed
certificate. The second file is named
<filename>cert.pem</filename> and is the private key for the
certificate and should be protected at all costs. If this
falls in the hands of others it can be used to impersonate
the user or the server.</para>
<para>In cases where a signature from a <acronym>CA</acronym>
is not required, a self signed certificate can be created.
First, generate the <acronym>RSA</acronym> key:</para>
<screen>&prompt.root; <userinput>openssl dsaparam -rand -genkey -out <filename>myRSA.key</filename> 1024</userinput></screen>
<para>Next, generate the <acronym>CA</acronym> key:</para>
<screen>&prompt.root; <userinput>openssl gendsa -des3 -out <filename>myca.key</filename> <filename>myRSA.key</filename></userinput></screen>
<para>Use this key to create the certificate:</para>
<screen>&prompt.root; <userinput>openssl req -new -x509 -days 365 -key <filename>myca.key</filename> -out <filename>new.crt</filename></userinput></screen>
<para>Two new files should appear in the directory: a
certificate authority signature file,
<filename>myca.key</filename> and the certificate itself,
<filename>new.crt</filename>. These should be placed in a
directory, preferably under <filename
class="directory">/etc</filename>, which is readable only by
<username>root</username>. Permissions of 0700 are
appropriate and can be set using &man.chmod.1;.</para>
</sect2>
<sect2>
<title>Using Certificates</title>
<para>One use for a certificate is to encrypt connections to the
<application>Sendmail</application> <acronym>MTA</acronym>.
This prevents the use of clear text authentication for users
who send mail via the local <acronym>MTA</acronym>.</para>
<note>
<para>Some <acronym>MUA</acronym>s will display error if the
user has not installed the certificate locally. Refer to
the documentation included with the software for more
information on certificate installation.</para>
</note>
<para>To configure <application>Sendmail</application>, the
following lines should be placed in the local
<filename>.mc</filename> file:</para>
<programlisting>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</programlisting>
<para>In this example, <filename
class="directory">/etc/certs/</filename>
stores the certificate and key files locally. After saving
the edits, rebuild the local <filename>.cf</filename> file by
typing
<command>make <maketarget>install</maketarget></command>
within <filename class="directory">/etc/mail</filename>.
Follow that up with <command>make
<maketarget>restart</maketarget></command> which should
start the <application>Sendmail</application> daemon.</para>
<para>If all went well, there will be no error messages in
<filename>/var/log/maillog</filename> and
<application>Sendmail</application> will show up in the
process list.</para>
<para>For a simple test, connect to the mail server using
&man.telnet.1;:</para>
<screen>&prompt.root; <userinput>telnet <replaceable>example.com</replaceable> 25</userinput>
Trying 192.0.34.166...
Connected to <hostid role="fqdn">example.com</hostid>.
Escape character is '^]'.
220 <hostid role="fqdn">example.com</hostid> ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT)
<userinput>ehlo <replaceable>example.com</replaceable></userinput>
250-example.com Hello example.com [192.0.34.166], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP
<userinput>quit</userinput>
221 2.0.0 <hostid role="fqdn">example.com</hostid> closing connection
Connection closed by foreign host.</screen>
<para>If the <quote>STARTTLS</quote> line appears in the
output, everything is working correctly.</para>
</sect2>
</sect1>
<sect1 id="ipsec">
<sect1info>
<authorgroup>
<author>
<firstname>Nik</firstname>
<surname>Clayton</surname>
<affiliation>
<address><email>nik@FreeBSD.org</email></address>
</affiliation>
<contrib>Written by </contrib>
</author>
</authorgroup>
</sect1info>
<title><acronym>VPN</acronym> over IPsec</title>
<indexterm>
<primary>IPsec</primary>
</indexterm>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Hiten M.</firstname>
<surname>Pandya</surname>
<affiliation>
<address><email>hmp@FreeBSD.org</email></address>
</affiliation>
<contrib>Written by </contrib>
</author>
</authorgroup>
</sect2info>
<title>Understanding IPsec</title>
<para>This section demonstrates the process of setting up IPsec.
It assumes familiarity with the concepts of building a custom
kernel (see <xref linkend="kernelconfig"/>).</para>
<para><emphasis>IPsec</emphasis> is a protocol which sits on
top of the Internet Protocol (<acronym>IP</acronym>) layer.
It allows two or more hosts to communicate in a secure manner.
The &os; IPsec <quote>network stack</quote> is based on the
<ulink url="http://www.kame.net/">KAME</ulink> implementation,
which has support for both IPv4 and IPv6.</para>
<indexterm>
<primary>IPsec</primary>
<secondary>ESP</secondary>
</indexterm>
<indexterm>
<primary>IPsec</primary>
<secondary>AH</secondary>
</indexterm>
<para>IPsec consists of two sub-protocols:</para>
<itemizedlist>
<listitem>
<para><emphasis>Encapsulated Security Payload
<acronym>ESP</acronym>)</emphasis>: this protocol
protects the IP packet data from third party interference
by encrypting the contents using symmetric cryptography
algorithms such as Blowfish and 3DES.</para>
</listitem>
<listitem>
<para><emphasis>Authentication Header
(<acronym>AH</acronym>)</emphasis>: this protocol
protects the IP packet header from third party
interference and spoofing by computing a cryptographic
checksum and hashing the IP packet header fields with a
secure hashing function. This is then followed by an
additional header that contains the hash, to allow the
information in the packet to be authenticated.</para>
</listitem>
</itemizedlist>
<para><acronym>ESP</acronym> and <acronym>AH</acronym> can
either be used together or separately, depending on the
environment.</para>
<indexterm>
<primary>VPN</primary>
</indexterm>
<indexterm>
<primary>virtual private network</primary>
<see>VPN</see>
</indexterm>
<para>IPsec can either be used to directly encrypt the traffic
between two hosts using <emphasis>Transport Mode</emphasis> or
to build <quote>virtual tunnels</quote> using
<emphasis>Tunnel Mode</emphasis>. The latter mode is more
commonly known as a <emphasis>Virtual Private Network
(<acronym>VPN</acronym>)</emphasis>. Consult &man.ipsec.4;
for detailed information on the IPsec subsystem in
&os;.</para>
<para>To add IPsec support to the kernel, add the following
options to the custom kernel configuration file:</para>
<indexterm>
<primary>kernel options</primary>
<secondary>IPSEC</secondary>
</indexterm>
<screen>options IPSEC #IP security
device crypto</screen>
<indexterm>
<primary>kernel options</primary>
<secondary>IPSEC_DEBUG</secondary>
</indexterm>
<para>If IPsec debugging support is desired, the following
kernel option should also be added:</para>
<screen>options IPSEC_DEBUG #debug for IP security</screen>
</sect2>
<sect2>
<title><acronym>VPN</acronym> Between a Home and Corporate
Network</title>
<indexterm>
<primary>VPN</primary>
<secondary>creating</secondary>
</indexterm>
<para>There is no standard for what constitutes a
<acronym>VPN</acronym>. <acronym>VPN</acronym>s can be
implemented using a number of different technologies, each
of which has their own strengths and weaknesses. This
section presents the strategies used for implementing a
<acronym>VPN</acronym> for the following scenario:</para>
<itemizedlist>
<listitem>
<para>There are at least two sites where each site is using
IP internally.</para>
</listitem>
<listitem>
<para>Both sites are connected to the Internet through a
gateway that is running &os;.</para>
</listitem>
<listitem>
<para>The gateway on each network has at least one public
IP address.</para>
</listitem>
<listitem>
<para>The internal addresses of the two networks can be
either public or private IP addresses. However, the
address space must not collide. For example, both
networks cannot use
<hostid role="ipaddr">192.168.1.x</hostid>.</para>
</listitem>
</itemizedlist>
<sect3>
<sect3info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<affiliation>
<address><email>trhodes@FreeBSD.org</email></address>
</affiliation>
<contrib>Written by </contrib>
</author>
</authorgroup>
</sect3info>
<title>Configuring IPsec on &os;</title>
<para>To begin,
<filename role="package">security/ipsec-tools</filename>
must be installed from the Ports Collection. This software
provides a number of applications which support the
configuration.</para>
<para>The next requirement is to create two &man.gif.4;
pseudo-devices which will be used to tunnel packets and
allow both networks to communicate properly. As
<username>root</username>, run the following commands,
replacing <replaceable>internal</replaceable> and
<replaceable>external</replaceable> with the real IP
addresses of the internal and external interfaces of the two
gateways:</para>
<screen>&prompt.root; <userinput>ifconfig gif0 create</userinput></screen>
<screen>&prompt.root; <userinput>ifconfig gif0 <replaceable>internal1 internal2</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>ifconfig gif0 tunnel <replaceable>external1 external2</replaceable></userinput></screen>
<para>In this example, the corporate <acronym>LAN</acronym>'s
external <acronym>IP</acronym> address is
<hostid role="ipaddr">172.16.5.4</hostid> and its internal
<acronym>IP</acronym> address is
<hostid role="ipaddr">10.246.38.1</hostid>. The home
<acronym>LAN</acronym>'s external <acronym>IP</acronym>
address is <hostid role="ipaddr">192.168.1.12</hostid> and
its internal private <acronym>IP</acronym> address is
<hostid role="ipaddr">10.0.0.5</hostid>.</para>
<para>If this is confusing, review the following example
output from &man.ifconfig.8;:</para>
<programlisting>Gateway 1:
gif0: flags=8051 mtu 1280
tunnel inet 172.16.5.4 --&gt; 192.168.1.12
inet6 fe80::2e0:81ff:fe02:5881%gif0 prefixlen 64 scopeid 0x6
inet 10.246.38.1 --&gt; 10.0.0.5 netmask 0xffffff00
Gateway 2:
gif0: flags=8051 mtu 1280
tunnel inet 192.168.1.12 --&gt; 172.16.5.4
inet 10.0.0.5 --&gt; 10.246.38.1 netmask 0xffffff00
inet6 fe80::250:bfff:fe3a:c1f%gif0 prefixlen 64 scopeid 0x4</programlisting>
<para>Once complete, both internal <acronym>IP</acronym>
addresses should be reachable using &man.ping.8;:</para>
<programlisting>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</programlisting>
<para>As expected, both sides have the ability to send and
receive <acronym>ICMP</acronym> packets from the privately
configured addresses. Next, both gateways must be told how
to route packets in order to correctly send traffic from
either network. The following command will achieve this
goal:</para>
<screen>&prompt.root; <userinput>corp-net# route add <replaceable>10.0.0.0 10.0.0.5 255.255.255.0</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>corp-net# route add net <replaceable>10.0.0.0: gateway 10.0.0.5</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>priv-net# route add <replaceable>10.246.38.0 10.246.38.1 255.255.255.0</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>priv-net# route add host <replaceable>10.246.38.0: gateway 10.246.38.1</replaceable></userinput></screen>
<para>At this point, internal machines should be reachable
from each gateway as well as from machines behind the
gateways. Again, use &man.ping.8; to confirm:</para>
<programlisting>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</programlisting>
<para>Setting up the tunnels is the easy part. Configuring a
secure link is a more in depth process. The following
configuration uses pre-shared (<acronym>PSK</acronym>)
<acronym>RSA</acronym> keys. Other than the
<acronym>IP</acronym> addresses, the
<filename>/usr/local/etc/racoon/racoon.conf</filename> on
both gateways will be identical and look similar to:</para>
<programlisting>path pre_shared_key "/usr/local/etc/racoon/psk.txt"; #location of pre-shared key file
log debug; #log verbosity setting: set to 'notify' when testing and debugging is complete
padding # options are not to be changed
{
maximum_length 20;
randomize off;
strict_check off;
exclusive_tail off;
}
timer # timing options. change as needed
{
counter 5;
interval 20 sec;
persend 1;
# natt_keepalive 15 sec;
phase1 30 sec;
phase2 15 sec;
}
listen # address [port] that racoon will listening on
{
isakmp 172.16.5.4 [500];
isakmp_natt 172.16.5.4 [4500];
}
remote 192.168.1.12 [500]
{
exchange_mode main,aggressive;
doi ipsec_doi;
situation identity_only;
my_identifier address 172.16.5.4;
peers_identifier address 192.168.1.12;
lifetime time 8 hour;
passive off;
proposal_check obey;
# nat_traversal off;
generate_policy off;
proposal {
encryption_algorithm blowfish;
hash_algorithm md5;
authentication_method pre_shared_key;
lifetime time 30 sec;
dh_group 1;
}
}
sainfo (address 10.246.38.0/24 any address 10.0.0.0/24 any) # address $network/$netmask $type address $network/$netmask $type ( $type being any or esp)
{ # $network must be the two internal networks you are joining.
pfs_group 1;
lifetime time 36000 sec;
encryption_algorithm blowfish,3des,des;
authentication_algorithm hmac_md5,hmac_sha1;
compression_algorithm deflate;
}</programlisting>
<para>For descriptions of each available option, refer to the
manual page for <filename>racoon.conf</filename>.</para>
<para>The Security Policy Database (<acronym>SPD</acronym>)
needs to be configured so that &os; and
<application>racoon</application> are able to encrypt and
decrypt network traffic between the hosts.</para>
<para>This can be achieved with a shell script, similar to the
following, on the corporate gateway. This file will be used
during system initialization and should be saved as
<filename>/usr/local/etc/racoon/setkey.conf</filename>.</para>
<programlisting>flush;
spdflush;
# To the home network
spdadd 10.246.38.0/24 10.0.0.0/24 any -P out ipsec esp/tunnel/172.16.5.4-192.168.1.12/use;
spdadd 10.0.0.0/24 10.246.38.0/24 any -P in ipsec esp/tunnel/192.168.1.12-172.16.5.4/use;</programlisting>
<para>Once in place, <application>racoon</application> may be
started on both gateways using the following command:</para>
<screen>&prompt.root; <userinput>/usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.log</userinput></screen>
<para>The output should be similar to the following:</para>
<programlisting>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]-&gt;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]-&gt;192.168.1.12[0] spi=47784998(0x2d92426)
2006-01-30 01:36:13: INFO: respond new phase 2 negotiation: 172.16.5.4[0]192.168.1.12[0]
2006-01-30 01:36:18: INFO: IPsec-SA established: ESP/Tunnel 192.168.1.12[0]-&gt;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]-&gt;192.168.1.12[0] spi=175852902(0xa7b4d66)</programlisting>
<para>To ensure the tunnel is working properly, switch to
another console and use &man.tcpdump.1; to view network
traffic using the following command. Replace
<literal>em0</literal> with the network interface card as
required:</para>
<screen>&prompt.root; <userinput>tcpdump -i em0 host <replaceable>172.16.5.4 and dst 192.168.1.12</replaceable></userinput></screen>
<para>Data similar to the following should appear on the
console. If not, there is an issue and debugging the
returned data will be required.</para>
<programlisting>01:47:32.021683 IP corporatenetwork.com &gt; 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xa)
01:47:33.022442 IP corporatenetwork.com &gt; 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xb)
01:47:34.024218 IP corporatenetwork.com &gt; 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq=0xc)</programlisting>
<para>At this point, both networks should be available and
seem to be part of the same network. Most likely both
networks are protected by a firewall. To allow traffic to
flow between them, rules need to be added to pass packets.
For the &man.ipfw.8; firewall, add the following lines to
the firewall configuration file:</para>
<programlisting>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</programlisting>
<note>
<para>The rule numbers may need to be altered depending on
the current host configuration.</para>
</note>
<para>For users of &man.pf.4; or &man.ipf.8;, the following
rules should do the trick:</para>
<programlisting>pass in quick proto esp from any to any
pass in quick proto ah from any to any
pass in quick proto ipencap from any to any
pass in quick proto udp from any port = 500 to any port = 500
pass in quick on gif0 from any to any
pass out quick proto esp from any to any
pass out quick proto ah from any to any
pass out quick proto ipencap from any to any
pass out quick proto udp from any port = 500 to any port = 500
pass out quick on gif0 from any to any</programlisting>
<para>Finally, to allow the machine to start support for the
<acronym>VPN</acronym> during system initialization, add the
following lines to <filename>/etc/rc.conf</filename>:</para>
<programlisting>ipsec_enable="YES"
ipsec_program="/usr/local/sbin/setkey"
ipsec_file="/usr/local/etc/racoon/setkey.conf" # allows setting up spd policies on boot
racoon_enable="yes"</programlisting>
</sect3>
</sect2>
</sect1>
<sect1 id="openssh">
<sect1info>
<authorgroup>
<author>
<firstname>Chern</firstname>
<surname>Lee</surname>
<contrib>Contributed by </contrib>
</author>
<!-- 21 April 2001 -->
</authorgroup>
</sect1info>
<title>OpenSSH</title>
<indexterm><primary>OpenSSH</primary></indexterm>
<indexterm>
<primary>security</primary>
<secondary>OpenSSH</secondary>
</indexterm>
<para><application>OpenSSH</application> is a set of network
connectivity tools used to access remote machines securely.
Additionally, TCP/IP connections can be tunneled/forwarded
securely through <acronym>SSH</acronym> connections.
<application>OpenSSH</application> encrypts all traffic to
effectively eliminate eavesdropping, connection hijacking, and
other network-level attacks.</para>
<para><application>OpenSSH</application> is maintained by the
OpenBSD project and is installed by default in &os;. It is
compatible with both <acronym>SSH</acronym> version 1 and 2
protocols.</para>
<sect2>
<title>Advantages of Using
<application>OpenSSH</application></title>
<para>When data is sent over the network in an unencrypted form,
network sniffers anywhere in between the client and server
can steal user/password information or data transferred
during the session. <application>OpenSSH</application> offers
a variety of authentication and encryption methods to prevent
this from happening.</para>
</sect2>
<sect2>
<title>Enabling the SSH Server</title>
<indexterm>
<primary>OpenSSH</primary>
<secondary>enabling</secondary>
</indexterm>
<para>To see if &man.sshd.8; is enabled, check
<filename>/etc/rc.conf</filename> for this line:</para>
<programlisting>sshd_enable="YES"</programlisting>
<para>This will start &man.sshd.8;, the daemon program for
<application>OpenSSH</application>, the next time the system
initializes. Alternatively, it is possible to use
&man.service.8; to start <application>OpenSSH</application>
now:</para>
<screen>&prompt.root; <userinput>service sshd start</userinput></screen>
</sect2>
<sect2>
<title>The SSH Client</title>
<indexterm>
<primary>OpenSSH</primary>
<secondary>client</secondary>
</indexterm>
<para>To use &man.ssh.1; to connect to a system running
&man.sshd.8;, specify the username and host to log
into:</para>
<screen>&prompt.root; <userinput>ssh <replaceable>user@example.com</replaceable></userinput>
Host key not found from the list of known hosts.
Are you sure you want to continue connecting (yes/no)? <userinput>yes</userinput>
Host 'example.com' added to the list of known hosts.
user@example.com's password: <userinput>*******</userinput></screen>
<para><acronym>SSH</acronym> utilizes a key fingerprint system
to verify the authenticity of the server when the client
connects. The user is prompted to type
<literal>yes</literal> when connecting for the first time.
Future attempts to login are verified against the saved
fingerprint key and the &man.ssh.1; client will display an
alert if the saved fingerprint differs from the received
fingerprint on future login attempts. The fingerprints are
saved in <filename>~/.ssh/known_hosts</filename>.</para>
<para>By default, recent versions of &man.sshd.8; only accept
<acronym>SSH</acronym> v2 connections. The client will use
version 2 if possible and will fall back to version 1. The
client can also be forced to use one or the other by passing
it the <option>-1</option> or <option>-2</option> for version
1 or version 2, respectively. The version 1 compatibility is
maintained in the client for backwards compatibility with
older versions.</para>
</sect2>
<sect2>
<title>Secure Copy</title>
<indexterm>
<primary>OpenSSH</primary>
<secondary>secure copy</secondary>
</indexterm>
<indexterm>
<primary>&man.scp.1;</primary>
</indexterm>
<para>Use &man.scp.1; to copy a file to or from a remote machine
in a secure fashion.</para>
<screen>&prompt.root; <userinput> scp <replaceable>user@example.com:/COPYRIGHT COPYRIGHT</replaceable></userinput>
user@example.com's password: <userinput>*******</userinput>
COPYRIGHT 100% |*****************************| 4735
00:00
&prompt.root;</screen>
<para>Since the fingerprint was already saved for this host in
the previous example, it is verified when using &man.scp.1;
here.</para>
<para>The arguments passed to &man.scp.1; are similar to
&man.cp.1;, with the file or files to copy in the first
argument, and the destination in the second. Since the file
is fetched over the network, through an
<acronym>SSH</acronym>, connection, one or more of the file
arguments takes the form
<option>user@host:&lt;path_to_remote_file&gt;</option>.</para>
</sect2>
<sect2>
<title>Configuration</title>
<indexterm>
<primary>OpenSSH</primary>
<secondary>configuration</secondary>
</indexterm>
<para>The system-wide configuration files for both the
<application>OpenSSH</application> daemon and client reside
in <filename class="directory">/etc/ssh</filename>.</para>
<para><filename>ssh_config</filename> configures the client
settings, while <filename>sshd_config</filename> configures
the daemon. Each file has its own manual page which describes
the available configuration options.</para>
</sect2>
<sect2 id="security-ssh-keygen">
<title>&man.ssh-keygen.1;</title>
<para>Instead of using passwords, &man.ssh-keygen.1; can be used
to generate <acronym>DSA</acronym> or <acronym>RSA</acronym>
keys to authenticate a user:</para>
<screen>&prompt.user; <userinput>ssh-keygen -t <replaceable>dsa</replaceable></userinput>
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</screen>
<para>&man.ssh-keygen.1; will create a public and private key
pair for use in authentication. The private key is stored
in <filename>~/.ssh/id_dsa</filename> or
<filename>~/.ssh/id_rsa</filename>, whereas the public key
is stored in <filename>~/.ssh/id_dsa.pub</filename> or
<filename>~/.ssh/id_rsa.pub</filename>, respectively for the
<acronym>DSA</acronym> and <acronym>RSA</acronym> key types.
The public key must be placed in
<filename>~/.ssh/authorized_keys</filename> on the
remote machine for both <acronym>RSA</acronym> or
<acronym>DSA</acronym> keys in order for the setup to
work.</para>
<para>This setup allows connections to the remote machine based
upon <acronym>SSH</acronym> keys instead of passwords.</para>
<warning>
<para>Many users believe that keys are secure by design and
will use a key without a passphrase. This is
<emphasis>dangerous</emphasis> behavior and the method
an administrator may use to verify keys have a passphrase
is to view the key manually. If the private key file
contains the word <literal>ENCRYPTED</literal> the key
owner is using a passphrase. While it may still be a weak
passphrase, at least if the system is compromised, access
to other sites will still require some level of password
guessing. In addition, to better secure end users, the
<literal>from</literal> may be placed in the public key
file. For example, adding
<literal>from="192.168.10.5</literal> in the front of
<literal>ssh-rsa</literal> or <literal>rsa-dsa</literal>
prefix will only allow that specific user to login from
that host <acronym>IP</acronym>.</para>
</warning>
<para>If a passphrase is used in &man.ssh-keygen.1;, the user
will be prompted for the passphrase each time in order to use
the private key. &man.ssh-agent.1; can alleviate the strain
of repeatedly entering long passphrases, and is explored in
<xref linkend="security-ssh-agent"/>.</para>
<warning>
<para>The various options and files can be different according
to the <application>OpenSSH</application> version. To avoid
problems, consult &man.ssh-keygen.1;.</para>
</warning>
</sect2>
<sect2 id="security-ssh-agent">
<title>Using SSH Agent to Cache Keys</title>
<para>To load <acronym>SSH</acronym> keys into memory for use,
without needing to type the passphrase each time, use
&man.ssh-agent.1; and &man.ssh-add.1;.</para>
<para>Authentication is handled by &man.ssh-agent.1;, using the
private key(s) that are loaded into it. Then,
&man.ssh-agent.1; should be used to launch another
application. At the most basic level, it could spawn a shell
or a window manager.</para>
<para>To use &man.ssh-agent.1; in a shell, start it with a shell
as an argument. Next, add the identity by running
&man.ssh-add.1; and providing it the passphrase for the
private key. Once these steps have been completed, the user
will be able to &man.ssh.1; to any host that has the
corresponding public key installed. For example:</para>
<screen>&prompt.user; ssh-agent <replaceable>csh</replaceable>
&prompt.user; ssh-add
Enter passphrase for /home/user/.ssh/id_dsa:
Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)
&prompt.user;</screen>
<para>To use &man.ssh-agent.1; in
<application>&xorg;</application>, a call to &man.ssh-agent.1;
needs to be placed in <filename>~/.xinitrc</filename>. This
provides the &man.ssh-agent.1; services to all programs
launched in <application>&xorg;</application>. An example
<filename>~/.xinitrc</filename> might look like
this:</para>
<programlisting>exec ssh-agent <replaceable>startxfce4</replaceable></programlisting>
<para>This launches &man.ssh-agent.1;, which in turn launches
<application>XFCE</application>, every time
<application>&xorg;</application> starts. Once
<application>&xorg;</application> has been restarted so that
the changes can take effect, run &man.ssh-add.1; to load all
of the <acronym>SSH</acronym> keys.</para>
</sect2>
<sect2 id="security-ssh-tunneling">
<title><acronym>SSH</acronym> Tunneling</title>
<indexterm>
<primary>OpenSSH</primary>
<secondary>tunneling</secondary>
</indexterm>
<para><application>OpenSSH</application> has the ability to
create a tunnel to encapsulate another protocol in an
encrypted session.</para>
<para>The following command tells &man.ssh.1; to create a
tunnel for &man.telnet.1;:</para>
<screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>5023:localhost:23 user@foo.example.com</replaceable></userinput>
&prompt.user;</screen>
<para>This example uses the following options:</para>
<variablelist>
<varlistentry>
<term><option>-2</option></term>
<listitem>
<para>Forces &man.ssh.1; to use version 2 to connect to
the server.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-N</option></term>
<listitem>
<para>Indicates no command, or tunnel only. If omitted,
&man.ssh.1; initiates a normal session.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-f</option></term>
<listitem>
<para>Forces &man.ssh.1; to run in the background.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-L</option></term>
<listitem>
<para>Indicates a local tunnel in
<replaceable>localport:remotehost:remoteport</replaceable>
format.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>user@foo.example.com</option></term>
<listitem>
<para>The login name to use on the specified remote
<acronym>SSH</acronym> server.</para>
</listitem>
</varlistentry>
</variablelist>
<para>An <acronym>SSH</acronym> tunnel works by creating a
listen socket on <hostid>localhost</hostid> on the specified
port. It then forwards any connections received on the local
host/port via the <acronym>SSH</acronym> connection to the
specified remote host and port.</para>
<para>In the example, port <replaceable>5023</replaceable> on
<hostid>localhost</hostid> is forwarded to port
<replaceable>23</replaceable> on <hostid>localhost</hostid>
of the remote machine. Since <replaceable>23</replaceable>
is used by &man.telnet.1;, this creates an encrypted
&man.telnet.1; session through an
<acronym>SSH</acronym> tunnel.</para>
<para>This can be used to wrap any number of insecure TCP
protocols such as SMTP, POP3, and FTP.</para>
<example>
<title>Using &man.ssh.1; to Create a Secure Tunnel
for SMTP</title>
<screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>5025:localhost:25 user@mailserver.example.com</replaceable></userinput>
user@mailserver.example.com's password: <userinput>*****</userinput>
&prompt.user; <userinput>telnet localhost 5025</userinput>
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mailserver.example.com ESMTP</screen>
<para>This can be used in conjunction with &man.ssh-keygen.1;
and additional user accounts to create a more seamless
<acronym>SSH</acronym> tunneling environment. Keys can be
used in place of typing a password, and the tunnels can be
run as a separate user.</para>
</example>
<sect3>
<title>Practical <acronym>SSH</acronym> Tunneling
Examples</title>
<sect4>
<title>Secure Access of a POP3 Server</title>
<para>In this example, there is an <acronym>SSH</acronym>
server that accepts connections from the outside. On the
same network resides a mail server running a POP3 server.
To check email in a secure manner, create an
<acronym>SSH</acronym> connection to the
<acronym>SSH</acronym> server, and tunnel through to the
mail server.</para>
<screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>2110:mail.example.com:110 user@ssh-server.example.com</replaceable></userinput>
user@ssh-server.example.com's password: <userinput>******</userinput></screen>
<para>Once the tunnel is up and running, point the email
client to send POP3 requests to <hostid>localhost</hostid>
on port 2110. This connection will be forwarded securely
across the tunnel to
<hostid>mail.example.com</hostid>.</para>
</sect4>
<sect4>
<title>Bypassing a Draconian Firewall</title>
<para>Some network administrators impose firewall rules
which filter both incoming and outgoing connections. For
example, it might limit access from remote machines to
ports 22 and 80 to only allow &man.ssh.1; and web surfing.
This prevents access to any other service which uses a
port other than 22 or 80.</para>
<para>The solution is to create an <acronym>SSH</acronym>
connection to a machine outside of the network's firewall
and use it to tunnel to the desired service.</para>
<screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>8888:music.example.com:8000 user@unfirewalled-system.example.org</replaceable></userinput>
user@unfirewalled-system.example.org's password: <userinput>*******</userinput></screen>
<para>In this example, a streaming Ogg Vorbis client can now
be pointed to <hostid>localhost</hostid> port 8888, which
will be forwarded over to
<hostid>music.example.com</hostid> on port 8000,
successfully bypassing the firewall.</para>
</sect4>
</sect3>
</sect2>
<sect2>
<title>The <varname>AllowUsers</varname> Option</title>
<para>It is often a good idea to limit which users can log in
and from where using <literal>AllowUsers</literal>. For
example, to only allow <username>root</username> to log in
from <hostid role="ipaddr">192.168.1.32</hostid>, add this
line to <filename>/etc/ssh/sshd_config</filename>:</para>
<programlisting>AllowUsers root@192.168.1.32</programlisting>
<para>To allow <username>admin</username> to log in from
anywhere, list that username by itself:</para>
<programlisting>AllowUsers admin</programlisting>
<para>Multiple users should be listed on the same line, like
so:</para>
<programlisting>AllowUsers root@192.168.1.32 admin</programlisting>
<note>
<para>It is important to list each user that needs to log into
this machine; otherwise, they will be locked out.</para>
</note>
<para>After making changes to
<filename>/etc/ssh/sshd_config</filename>, tell &man.sshd.8;
to reload its configuration file by running:</para>
<screen>&prompt.root; <userinput>service sshd reload</userinput></screen>
</sect2>
<sect2>
<title>Further Reading</title>
<para>The <ulink url="http://www.openssh.com/">OpenSSH</ulink>
website.</para>
<para>&man.ssh.1;, &man.scp.1;, &man.ssh-keygen.1;,
&man.ssh-agent.1;, &man.ssh-add.1;, and &man.ssh.config.5; for
client options.</para>
<para>&man.sshd.8;, &man.sftp-server.8;, and &man.sshd.config.5;
for server options.</para>
</sect2>
</sect1>
<sect1 id="fs-acl">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Filesystem Access Control Lists
(<acronym>ACL</acronym>)s</title>
<indexterm>
<primary>ACL</primary>
</indexterm>
<para>Filesystem Access Control Lists (<acronym>ACL</acronym>s)
extend the standard &unix; permission model in a &posix;.1e
compatible way. This permits an administrator to make use of
and take advantage of a more sophisticated security
model.</para>
<para>The &os; <filename>GENERIC</filename> kernel provides
<acronym>ACL</acronym> support for <acronym>UFS</acronym> file
systems. Users who prefer to compile a custom kernel must
include the following option in their custom kernel
configuration file:</para>
<programlisting>options UFS_ACL</programlisting>
<para>If this option is not compiled in, a warning message will be
displayed when attempting to mount a filesystem supporting
<acronym>ACL</acronym>s. <acronym>ACL</acronym>s rely on
extended attributes being enabled on the filesystem. Extended
attributes are natively supported in
<acronym>UFS2</acronym>.</para>
<note>
<para>A higher level of administrative overhead is required to
configure extended attributes on <acronym>UFS1</acronym>
than on <acronym>UFS2</acronym>. The performance of
extended attributes on <acronym>UFS2</acronym> is also
substantially higher. As a result, <acronym>UFS2</acronym>
is recommended for use with <acronym>ACL</acronym>s.</para>
</note>
<para><acronym>ACL</acronym>s are enabled by the mount-time
administrative flag, <option>acls</option>, which may be added
to <filename>/etc/fstab</filename>. The mount-time flag can
also be automatically set in a persistent manner using
&man.tunefs.8; to modify a superblock <acronym>ACL</acronym>s
flag in the filesystem header. In general, it is preferred
to use the superblock flag for several reasons:</para>
<itemizedlist>
<listitem>
<para>The mount-time <acronym>ACL</acronym>s flag cannot be
changed by a remount using <option>mount -u</option>. It
requires a complete &man.umount.8; and fresh &man.mount.8;.
This means that <acronym>ACL</acronym>s cannot be enabled on
the root filesystem after boot. It also means that the
disposition of a filesystem cannot be changed once it is in
use.</para>
</listitem>
<listitem>
<para>Setting the superblock flag will cause the filesystem
to always be mounted with <acronym>ACL</acronym>s enabled,
even if there is not an <filename>fstab</filename> entry
or if the devices re-order. This prevents accidental
mounting of the filesystem without <acronym>ACL</acronym>s
enabled, which can result in the security problem of
<acronym>ACL</acronym>s being improperly enforced.</para>
</listitem>
</itemizedlist>
<note>
<para>It is desirable to discourage accidental mounting without
<acronym>ACL</acronym>s enabled, because nasty things can
happen if <acronym>ACL</acronym>s are enabled, then disabled,
then re-enabled without flushing the extended attributes. In
general, once <acronym>ACL</acronym>s are enabled on a
filesystem, they should not be disabled, as the resulting file
protections may not be compatible with those intended by the
users of the system, and re-enabling <acronym>ACL</acronym>s
may re-attach the previous <acronym>ACL</acronym>s to files
that have since had their permissions changed, resulting in
unpredictable behavior.</para>
</note>
<para>Filesystems with <acronym>ACL</acronym>s enabled will
show a <literal>+</literal> (plus) sign in their permission
settings when viewed. For example:</para>
<programlisting>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</programlisting>
<para>In this example,
<filename class="directory">directory1</filename>,
<filename class="directory">directory2</filename>, and
<filename class="directory">directory3</filename>
are all taking advantage of <acronym>ACL</acronym>s, whereas
<filename class="directory">public_html</filename>
is not.</para>
<sect2>
<title>Making Use of <acronym>ACL</acronym>s</title>
<para>Filesystem <acronym>ACL</acronym>s can be viewed using
&man.getfacl.1;. For instance, to view the
<acronym>ACL</acronym> settings on
<filename>test</filename>:</para>
<screen>&prompt.user; <userinput>getfacl <filename>test</filename></userinput>
#file:test
#owner:1001
#group:1001
user::rw-
group::r--
other::r--</screen>
<para>To change the <acronym>ACL</acronym> settings on this
file, use &man.setfacl.1;:</para>
<screen>&prompt.user; <userinput>setfacl -k <filename>test</filename></userinput></screen>
<para>To remove all of the currently defined
<acronym>ACL</acronym>s from a file or filesystem, one can use
<option>-k</option>. However, the preferred method is to use
<option>-b</option> as it leaves the basic fields required
for <acronym>ACL</acronym>s to work.</para>
<screen>&prompt.user; <userinput>setfacl -m u:trhodes:rwx,group:web:r--,o::--- <filename>test</filename></userinput></screen>
<para>In this example, <option>-m</option> is used to modify the
default <acronym>ACL</acronym> entries. Since there were no
pre-defined entries, as they were removed by the previous
command, it restores the default options and assign the
options listed. If a user or group is added which does not
exist on the system, an <errorname>Invalid
argument</errorname> error will be displayed.</para>
</sect2>
</sect1>
<sect1 id="security-portaudit">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Monitoring Third Party Security Issues</title>
<indexterm>
<primary>portaudit</primary>
</indexterm>
<para>In recent years, the security world has made many
improvements to how vulnerability assessment is handled. The
threat of system intrusion increases as third party utilities
are installed and configured for virtually any operating
system available today.</para>
<para>Vulnerability assessment is a key factor in security.
While &os; releases advisories for the base system, doing so
for every third party utility is beyond the &os; Project's
capability. There is a way to mitigate third party
vulnerabilities and warn administrators of known security
issues. A &os; add on utility known as
<application>portaudit</application> exists solely for this
purpose.</para>
<para>The
<filename role="package">ports-mgmt/portaudit</filename>
port polls a database, which is updated and maintained by the
&os; Security Team and ports developers, for known security
issues.</para>
<para>To install <application>portaudit</application> from the
Ports Collection:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portaudit &amp;&amp; make install clean</userinput></screen>
<para>During the installation, the configuration files for
&man.periodic.8; will be updated, permitting
<application>portaudit</application> output in the daily
security runs. Ensure that the daily security run emails, which
are sent to <username>root</username>'s email account, are
being read. No other configuration is required.</para>
<para>After installation, an administrator can update the
database and view known vulnerabilities in installed packages
by invoking the following command:</para>
<screen>&prompt.root; <userinput>portaudit -Fda</userinput></screen>
<note>
<para>The database is automatically updated during the
&man.periodic.8; run. The above command is optional and can
be used to manually update the database now.</para>
</note>
<para>To audit the third party utilities installed as part of
the Ports Collection at anytime, an administrator can run the
following command:</para>
<screen>&prompt.root; <userinput>portaudit -a</userinput></screen>
<para><application>portaudit</application> will display messages
for any installed vulnerable packages:</para>
<programlisting>Affected package: cups-base-1.1.22.0_1
Type of problem: cups-base -- HPGL buffer overflow vulnerability.
Reference: &lt;http://www.FreeBSD.org/ports/portaudit/40a3bca2-6809-11d9-a9e7-0001020eed82.html&gt;
1 problem(s) in your installed packages found.
You are advised to update or deinstall the affected package(s) immediately.</programlisting>
<para>By pointing a web browser to the displayed
<acronym>URL</acronym>, an administrator may obtain more
information about the vulnerability. This will include the
versions affected, by &os; port version, along with other web
sites which may contain security advisories.</para>
<para><application>portaudit</application> is a powerful utility
and is extremely useful when coupled with the
<application>portmaster</application> port.</para>
</sect1>
<sect1 id="security-advisories">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>&os; Security Advisories</title>
<indexterm>
<primary>&os; Security Advisories</primary>
</indexterm>
<para>Like many production quality operating systems, &os;
publishes <quote>Security Advisories</quote>. These
advisories are usually mailed to the security lists and noted
in the Errata only after the appropriate releases have been
patched. This section explains what an advisory is, how to
understand it, and what measures to take in order to patch a
system.</para>
<sect2>
<title>What Does an Advisory Look Like?</title>
<para>&os; security advisories use the format seen in this
example:</para>
<programlisting>=============================================================================
FreeBSD-SA-XX:XX.UTIL Security Advisory
The FreeBSD Project
Topic: denial of service due to some problem <co id="co-topic"/>
Category: core <co id="co-category"/>
Module: sys <co id="co-module"/>
Announced: 2003-09-23 <co id="co-announce"/>
Credits: Person <co id="co-credit"/>
Affects: All releases of &os; <co id="co-affects"/>
&os; 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) <co id="co-corrected"/>
<acronym>CVE</acronym> Name: CVE-XXXX-XXXX <co id="co-cve"/>
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 <co id="co-backround"/>
II. Problem Description <co id="co-descript"/>
III. Impact <co id="co-impact"/>
IV. Workaround <co id="co-workaround"/>
V. Solution <co id="co-solution"/>
VI. Correction details <co id="co-details"/>
VII. References <co id="co-ref"/></programlisting>
<calloutlist>
<callout arearefs="co-topic">
<para>The <literal>Topic</literal> field specifies the
problem. It provides an introduction to the security
advisory and notes the utility affected by the
vulnerability.</para>
</callout>
<callout arearefs="co-category">
<para>The <literal>Category</literal> refers to the
affected part of the system which may be one of
<literal>core</literal>, <literal>contrib</literal>, or
<literal>ports</literal>. The <literal>core</literal>
category means that the vulnerability affects a core
component of the &os; operating system. The
<literal>contrib</literal> category means that the
vulnerability affects software contributed to the &os;
Project, such as <application>Sendmail</application>.
The <literal>ports</literal> category indicates that the
vulnerability affects add on software available through
the Ports Collection.</para>
</callout>
<callout arearefs="co-module">
<para>The <literal>Module</literal> field refers to the
component location. In this example, the
<literal>sys</literal> module is affected; therefore, this
vulnerability affects a component used within the
kernel.</para>
</callout>
<callout arearefs="co-announce">
<para>The <literal>Announced</literal> field reflects the
date the security advisory was published, or announced
to the world. This means that the security team has
verified that the problem exists and that a patch has
been committed to the &os; source code repository.</para>
</callout>
<callout arearefs="co-credit">
<para>The <literal>Credits</literal> field gives credit to
the individual or organization who noticed the
vulnerability and reported it.</para>
</callout>
<callout arearefs="co-affects">
<para>The <literal>Affects</literal> field explains which
releases of &os; are affected by this vulnerability.
For the kernel, a quick look over the output from
&man.ident.1; on the affected files will help in
determining the revision. For ports, the version number
is listed after the port name in <filename
class="directory">/var/db/pkg</filename>. If the
system does not sync with the &os; Subversion repository
and is not rebuilt daily, chances are that it is
affected.</para>
</callout>
<callout arearefs="co-corrected">
<para>The <literal>Corrected</literal> field indicates the
date, time, time offset, and release that was
corrected.</para>
</callout>
<callout arearefs="co-cve">
<para>Reserved for the identification information used to
look up vulnerabilities in the <ulink
url="http://cve.mitre.org">Common Vulnerabilities
and Exposures</ulink> database.</para>
</callout>
<callout arearefs="co-backround">
<para>The <literal>Background</literal> field gives
information about the affected utility. Most of the time
this is why the utility exists in &os;, what it is used
for, and a bit of information on how the utility came to
be.</para>
</callout>
<callout arearefs="co-descript">
<para>The <literal>Problem Description</literal> field
explains the security hole in depth. This can include
information on flawed code, or even how the utility
could be maliciously used to open a security hole.</para>
</callout>
<callout arearefs="co-impact">
<para>The <literal>Impact</literal> field describes what
type of impact the problem could have on a system. For
example, this could be anything from a denial of service
attack, to extra privileges available to users, or even
giving the attacker superuser access.</para>
</callout>
<callout arearefs="co-workaround">
<para>The <literal>Workaround</literal> field offers a
workaround to system administrators who cannot
upgrade the system due to time constraints, network
availability, or other reasons. Security should not be
taken lightly, and an affected system should either be
patched or the workaround implemented.</para>
</callout>
<callout arearefs="co-solution">
<para>The <literal>Solution</literal> field offers
instructions for patching the affected system. This is a
step by step tested and verified method for getting a
system patched and working securely.</para>
</callout>
<callout arearefs="co-details">
<para>The <literal>Correction Details</literal> field
displays the Subversion branch or release name with the
periods changed to underscore characters. It also shows
the revision number of the affected files within each
branch.</para>
</callout>
<callout arearefs="co-ref">
<para>The <literal>References</literal> field usually
offers sources of other information. This can include
web <acronym>URL</acronym>s, books, mailing lists, and
newsgroups.</para>
</callout>
</calloutlist>
</sect2>
</sect1>
<sect1 id="security-accounting">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Process Accounting</title>
<indexterm>
<primary>Process Accounting</primary>
</indexterm>
<para>Process accounting is a security method in which an
administrator may keep track of system resources used and
their allocation among users, provide for system monitoring,
and minimally track a user's commands.</para>
<para>This indeed has both positive and negative points. One
of the positives is that an intrusion may be narrowed down to
the point of entry. A negative is the amount of logs
generated by process accounting, and the disk space they may
require. This section walks an administrator through the
basics of process accounting.</para>
<sect2>
<title>Enabling and Utilizing Process Accounting</title>
<para>Before using process accounting, it must be enabled using
the following commands:</para>
<screen>&prompt.root; <userinput>touch /var/account/acct</userinput>
&prompt.root; <userinput>chmod 600 /var/account/acct</userinput>
&prompt.root; <userinput>accton /var/account/acct</userinput>
&prompt.root; <userinput>echo 'accounting_enable="YES"' &gt;&gt; /etc/rc.conf</userinput></screen>
<para>Once enabled, accounting will begin to track information
such as <acronym>CPU</acronym> statistics and executed
commands. All accounting logs are in a non-human readable
format which can be viewed using &man.sa.8;. If issued
without any options, &man.sa.8; prints information relating to
the number of per-user calls, the total elapsed time in
minutes, total <acronym>CPU</acronym> and user time in
minutes, and the average number of I/O operations.</para>
<para>To view information about commands being issued, use
&man.lastcomm.1;. This command displays the commands issued
by users on specific &man.ttys.5;. For example, this command
prints out all known usage of &man.ls.1; by
<username>trhodes</username> on the <literal>ttyp1</literal>
terminal:</para>
<screen>&prompt.root; <userinput>lastcomm ls trhodes ttyp1</userinput></screen>
<para>Many other useful options exist and are explained in
&man.lastcomm.1;, &man.acct.5;, and &man.sa.8;.</para>
</sect2>
</sect1>
<sect1 id="security-resourcelimits">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Resource Limits</title>
<indexterm>
<primary>Resource limits</primary>
</indexterm>
<para>For years, &os; has used a resource limits
database controlled through a flat file,
<filename>/etc/login.conf</filename>. While it has
been discussed previously and is still supported, it
is not the most optimal method of controlling resources.
The flat file requires users to be divided into various
group labels known as classes, which require changes not
only to this flat file but also the password database.
Potentially a single, more constrained user would require
an additional label to be added, the resource database
rebuilt using <command>cap_mkdb</command>, and edits made to
<filename>/etc/master.passwd</filename>. In
addition, the password database must be rebuilt using
<command>pwd_mkdb</command>. This multi-step process could be
very time consuming depending on how many users must be
singled out.</para>
<para>A new command in &os;, &man.rctl.8;, allows for a more
fine grained method of controlling resources limits for
users. This command will support much more than users,
it will also set resource constraints on processes, jails,
and the original login class. These advanced features
provide administrators and users with methods to control
resources through the command line and set rules on
system initialization using a configuration
file.</para>
<para>To enable this feature, add these lines to
<filename>GENERIC</filename>, or the custom kernel
configuration file, and rebuild.:</para>
<programlisting>options RACCT
options RCTL</programlisting>
<para>The entire system will need rebuilt. See
<xref linkend="kernelconfig"/>, which will provide instructions
for the process. Once this is complete,
<command>rctl</command> may be used to set rules for the
system.</para>
<para>Rule syntax is simple, controlled through the use of
a <emphasis>subject</emphasis>, a
<emphasis>subject-id</emphasis>, <emphasis>resource</emphasis>,
and <emphasis>action</emphasis>. Take the following example
rule:</para>
<programlisting>user:trhodes:<literal>maxproc</literal>:<literal>deny</literal>=10/user</programlisting>
<para>This rule shows a basic premise of a rule, here the subject
is <literal>user</literal> and the subject-id is
<literal>trhodes</literal>. The maxproc is, of course, max
number of processes, which is considered the resource. The
action here is set to <literal>deny</literal>, which blocks any
new processes from being created. In the previous example, the
user, <literal>trhodes</literal> will be constrained to
<literal>10</literal> (ten) processes and no greater. Other
actions are available and could be log to the console, pass a
notification to &man.devd.8;, or send a sigterm to the
process.</para>
<para>Some care must be taken while adding rules. The one above
will unfortunately block my user from doing the most simple
tasks after I have logged in and executed a
<command>screen</command> session. When a resource limit has
been hit, an error will be printed, as in this example:</para>
<screen>&prompt.user; <userinput>man test</userinput>
/usr/bin/man: Cannot fork: Resource temporarily unavailable
eval: Cannot fork: Resource temporarily unavailable</screen>
<para>For another example, &man.rctl.8; can be used to prevent
a jail from exceeding a memory limit. This rule could be
written as:</para>
<screen>&prompt.root; <userinput>rctl -a jail:httpd:memoryuse:deny=2G/jail</userinput></screen>
<para>Rules may also persist across reboots if they have been
added to <filename>/etc/rctl.conf</filename>. The format is a
rule, without the preceding command. For example, the previous
rule could be added like the following:</para>
<programlisting># Block jail from using more than 2G memory:
jail:httpd:memoryuse:deny=2G/jail</programlisting>
<para>To remove a rule, just ask <command>rctl</command> to
remove it from the list:</para>
<screen>&prompt.root; <userinput>rctl -r user:trhodes:maxproc:deny=10/user</userinput></screen>
<para>The manual page shows a method for removing all rules;
however, if removing all rules for a single user is required,
this command may be issued:</para>
<screen>&prompt.root; <userinput>rctl -r user:trhodes</userinput></screen>
<para>Many other resources exist which can be used to exert
additional control over various <literal>subjects</literal>.
See &man.rctl.8; to learn about them.</para>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/x11/chapter.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/x11/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/handbook/x11/chapter.xml (revision 42804)
@@ -1,1770 +1,1799 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="x11">
<chapterinfo>
<authorgroup>
<author>
<firstname>Ken</firstname>
<surname>Tom</surname>
<contrib>Updated for X.Org's X11 server by </contrib>
</author>
<author>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
</author>
</authorgroup>
</chapterinfo>
<title>The X Window System</title>
<sect1 id="x11-synopsis">
<title>Synopsis</title>
<para>FreeBSD uses X11 to provide users with
a powerful graphical user interface. X11
is a freely available version of the X Window System that
is implemented in <application>&xorg;</application>
(and other software packages not discussed here). The
default and official flavor of X11 in &os; is
<application>&xorg;</application>, the X11 server developed by
the X.Org Foundation under a license very similar to the one
used by &os;.</para>
<para>For more information on the video hardware that X11
- supports, check the <ulink
- url="http://www.x.org/">&xorg;</ulink> web site.</para>
+ supports, check the
+ <ulink url="http://www.x.org/">&xorg;</ulink> web site.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>The various components of the X Window System, and how
they interoperate.</para>
</listitem>
<listitem>
<para>How to install and configure X11.</para>
</listitem>
<listitem>
<para>How to install and use different window managers.</para>
</listitem>
<listitem>
<para>How to use &truetype; fonts in X11.</para>
</listitem>
<listitem>
<para>How to set up your system for graphical logins
(<application>XDM</application>).</para>
</listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<itemizedlist>
<listitem>
<para>Know how to install additional third-party
software (<xref linkend="ports"/>).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="x-understanding">
<title>Understanding X</title>
<para>Using X for the first time can be somewhat of a shock to
someone familiar with other graphical environments, such as
&microsoft.windows; or &macos;.</para>
<para>While it is not necessary to understand all of the details
of various X components and how they interact, some basic
knowledge makes it possible to take advantage of X's
strengths.</para>
<sect2>
<title>Why X?</title>
<para>X is not the first window system written for &unix;, but
it is the most popular of them. X's original development team
had worked on another window system prior to writing X. That
system's name was <quote>W</quote> (for
<quote>Window</quote>). X was just the next letter in the
Roman alphabet.</para>
- <para>X can be called <quote>X</quote>, <quote>X Window
- System</quote>, <quote>X11</quote>, and a number of other
- terms. You may find that using the term <quote>X
- Windows</quote> to describe X11 can be offensive to some
- people; for a bit more insight on this, see &man.X.7;.</para>
+ <para>X can be called <quote>X</quote>,
+ <quote>X Window System</quote>, <quote>X11</quote>, and a
+ number of other terms. You may find that using the term
+ <quote>X Windows</quote> to describe X11 can be offensive to
+ some people; for a bit more insight on this, see
+ &man.X.7;.</para>
</sect2>
<sect2>
<title>The X Client/Server Model</title>
<para>X was designed from the beginning to be network-centric,
and adopts a <quote>client-server</quote> model.</para>
- <para>In the X model, the
- <quote>X server</quote> runs on the computer that has the
- keyboard, monitor, and mouse attached. The server's
- responsibility includes tasks such as managing the
- display, handling input from the keyboard and mouse, and
+ <para>In the X model, the <quote>X server</quote> runs on the
+ computer that has the keyboard, monitor, and mouse attached.
+ The server's responsibility includes tasks such as managing
+ the display, handling input from the keyboard and mouse, and
other input or output devices (i.e., a <quote>tablet</quote>
- can be used as an input device, and a video projector
- may be an alternative output device). Each X application
- (such as <application>XTerm</application> or
+ can be used as an input device, and a video projector may be
+ an alternative output device). Each X application (such as
+ <application>XTerm</application> or
<application>Firefox</application>) is a
- <quote>client</quote>. A client sends messages to the server
- such as <quote>Please draw a window at these
- coordinates</quote>, and the server sends back messages such
- as <quote>The user just clicked on the OK
- button</quote>.</para>
+ <quote>client</quote>. A client sends messages to the server
+ such as
+ <quote>Please draw a window at these coordinates</quote>, and
+ the server sends back messages such as
+ <quote>The user just clicked on the OK button</quote>.</para>
<para>In a home or small office environment, the X server and
the X clients commonly run on the same computer. However, it
is perfectly possible to run the X server on a less powerful
desktop computer, and run X applications (the clients) on,
say, the powerful and expensive machine that serves the
office. In this scenario the communication between the X
client and server takes place over the network.</para>
<para>This confuses some people, because the X terminology is
exactly backward to what they expect. They expect the
<quote>X server</quote> to be the big powerful machine down
the hall, and the <quote>X client</quote> to be the machine
on their desk.</para>
<para>It is important to remember that the X server is the
machine with the monitor and keyboard, and the X clients are
the programs that display the windows.</para>
<para>There is nothing in the protocol that forces the client
and server machines to be running the same operating system,
or even to be running on the same type of computer. It is
certainly possible to run an X server on &microsoft.windows;
or Apple's &macos;, and there are various free and commercial
applications available that do exactly that.</para>
</sect2>
<sect2>
<title>The Window Manager</title>
<para>The X design philosophy is much like the &unix; design
philosophy, <quote>tools, not policy</quote>. This means
that X does not try to dictate how a task is to be
accomplished. Instead, tools are provided to the user, and
it is the user's responsibility to decide how to use those
tools.</para>
<para>This philosophy extends to X not dictating what windows
should look like on screen, how to move them around with the
mouse, what keystrokes should be used to move between windows
(i.e.,
<keycombo action="simul">
<keycap>Alt</keycap>
<keycap>Tab</keycap>
</keycombo>, in the case of &microsoft.windows;), what the
title bars on each window should look like, whether or not
they have close buttons on them, and so on.</para>
<para>Instead, X delegates this responsibility to an
application called a <quote>Window Manager</quote>. There
are <ulink
url="http://xwinman.org/">dozens of window managers</ulink>
- available for X. Each of
- these window managers provides a different look and feel;
- some of them support <quote>virtual desktops</quote>; some
- of them allow customized keystrokes to manage the desktop;
- some have a <quote>Start</quote> button or similar device;
- some are <quote>themeable</quote>, allowing a complete change
- of look-and-feel by applying a new theme. Window managers
- are available in the
- <filename>x11-wm</filename> category of the Ports
- Collection.</para>
+ available for X. Each of these window managers provides a
+ different look and feel; some of them support
+ <quote>virtual desktops</quote>; some of them allow customized
+ keystrokes to manage the desktop; some have a
+ <quote>Start</quote> button or similar device; some are
+ <quote>themeable</quote>, allowing a complete change of
+ look-and-feel by applying a new theme. Window managers are
+ available in the <filename>x11-wm</filename> category of the
+ Ports Collection.</para>
<para>In addition, the <application>KDE</application> and
<application>GNOME</application> desktop environments both
have their own window managers which integrate with the
desktop.</para>
<para>Each window manager also has a different configuration
mechanism; some expect configuration file written by hand,
others feature GUI tools for most of the configuration tasks;
at least one (<application>Sawfish</application>) has a
configuration file written in a dialect of the Lisp
language.</para>
<note>
<title>Focus Policy</title>
- <para>Another feature the window manager is responsible for
- is the mouse <quote>focus policy</quote>. Every windowing
+ <para>Another feature the window manager is responsible for is
+ the mouse <quote>focus policy</quote>. Every windowing
system needs some means of choosing a window to be actively
receiving keystrokes, and should visibly indicate which
window is active as well.</para>
<para>A familiar focus policy is called
- <quote>click-to-focus</quote>. This is the model utilized
+ <quote>click-to-focus</quote>. This is the model utilized
by &microsoft.windows;, in which a window becomes active
upon receiving a mouse click.</para>
<para>X does not support any particular focus policy.
Instead, the window manager controls which window has the
focus at any one time. Different window managers will
support different focus methods. All of them support
click to focus, and the majority of them support several
others.</para>
<para>The most popular focus policies are:</para>
<variablelist>
<varlistentry>
<term>focus-follows-mouse</term>
<listitem>
<para>The window that is under the mouse pointer is
the window that has the focus. This may not
necessarily be the window that is on top of all the
other windows. The focus is changed by pointing at
another window, there is no need to click in it as
well.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>sloppy-focus</term>
<listitem>
<para>This policy is a small extension to
focus-follows-mouse. With focus-follows-mouse, if
the mouse is moved over the root window (or
background) then no window has the focus, and
keystrokes are simply lost. With sloppy-focus, focus
is only changed when the cursor enters a new
window, and not when exiting the current
window.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>click-to-focus</term>
<listitem>
<para>The active window is selected by mouse click.
The window may then be <quote>raised</quote>, and
appear in front of all other windows. All keystrokes
will now be directed to this window, even if the
cursor is moved to another window.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Many window managers support other policies, as well
as variations on these. Be sure to consult the
documentation for the window manager itself.</para>
</note>
</sect2>
<sect2>
<title>Widgets</title>
<para>The X approach of providing tools and not policy
extends to the widgets seen on screen in each
application.</para>
<para><quote>Widget</quote> is a term for all the items in
the user interface that can be clicked or manipulated in
some way; buttons, check boxes, radio buttons, icons, lists,
and so on. &microsoft.windows; calls these
<quote>controls</quote>.</para>
<para>&microsoft.windows; and Apple's &macos; both have a
very rigid widget policy. Application developers are
supposed to ensure that their applications share a common
look and feel. With X, it was not considered sensible to
mandate a particular graphical style, or set of widgets to
adhere to.</para>
<para>As a result, do not expect X applications to have a
common look and feel. There are several popular widget sets
and variations, including Qt, used by
<application>KDE</application>, and GTK+, used by the
<application>GNOME</application> project. In this respect,
there is some convergence in look-and-feel of the &unix;
desktop, which certainly makes things easier for the novice
user.</para>
</sect2>
</sect1>
<sect1 id="x-install">
<title>Installing X11</title>
<para><application>&xorg;</application> is the X11
implementation for &os;. <application>&xorg;</application>
is the X server of the open source X Window System
implementation released by the X.Org Foundation.
<application>&xorg;</application> is based on the code of
<application>&xfree86;&nbsp;4.4RC2</application> and X11R6.6.
The version of <application>&xorg;</application> currently
available in the &os; Ports Collection is &xorg.version;.</para>
<para>To build and install <application>&xorg;</application>
from the Ports Collection:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/x11/xorg</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<note>
<para>To build <application>&xorg;</application> in its
entirety, be sure to have at least 4&nbsp;GB of free space
available.</para>
</note>
- <para>Alternatively, X11
- can be installed directly from packages.
+ <para>Alternatively, X11 can be installed directly from packages.
Binary packages to use with &man.pkg.add.1; tool are also
available for X11. When the remote fetching feature of
- &man.pkg.add.1; is used, the version number of the package
- must be removed. &man.pkg.add.1; will automatically fetch
- the latest version of the application.</para>
+ &man.pkg.add.1; is used, the version number of the package must
+ be removed. &man.pkg.add.1; will automatically fetch the latest
+ version of the application.</para>
<para>So to fetch and install the package of
<application>&xorg;</application>, simply type:</para>
<screen>&prompt.root; <userinput>pkg_add -r xorg</userinput></screen>
- <note><para>The examples above will install the complete
- X11 distribution including the
- servers, clients, fonts etc. Separate packages and ports of X11
- are also
- available.</para>
+ <note>
+ <para>The examples above will install the complete X11
+ distribution including the servers, clients, fonts etc.
+ Separate packages and ports of X11 are also available.</para>
- <para>To install a minimal X11 distribution you can
- alternatively install
- <filename role="package">x11/xorg-minimal</filename>.</para>
+ <para>To install a minimal X11 distribution you can
+ alternatively install
+ <filename role="package">x11/xorg-minimal</filename>.</para>
</note>
<para>The rest of this chapter will explain how to configure
X11, and how to set up a productive desktop
environment.</para>
</sect1>
<sect1 id="x-config">
<sect1info>
<authorgroup>
<author>
<firstname>Christopher</firstname>
<surname>Shumway</surname>
<contrib>Contributed by </contrib>
<!-- July 2001 -->
</author>
</authorgroup>
</sect1info>
<title>X11 Configuration</title>
-
<indexterm><primary>&xorg;</primary></indexterm>
<indexterm><primary>X11</primary></indexterm>
<sect2>
<title>Before Starting</title>
<para>In most cases, X11 is self-configuring. Those with older
or unusual equipment may find it helpful to gather some
hardware information before beginning configuration.</para>
<itemizedlist>
- <listitem><para>Monitor sync frequencies</para></listitem>
- <listitem><para>Video card chipset</para></listitem>
- <listitem><para>Video card memory</para></listitem>
+ <listitem>
+ <para>Monitor sync frequencies</para>
+ </listitem>
+
+ <listitem>
+ <para>Video card chipset</para>
+ </listitem>
+
+ <listitem>
+ <para>Video card memory</para>
+ </listitem>
</itemizedlist>
<indexterm>
<primary>horizontal sync frequency</primary>
</indexterm>
<indexterm>
<primary>horizontal scan rate</primary>
<see>horizontal sync frequency</see>
</indexterm>
<indexterm><primary>refresh rate</primary></indexterm>
<indexterm>
<primary>vertical sync frequency</primary>
<see>refresh rate</see>
</indexterm>
<indexterm>
<primary>vertical scan rate</primary>
<see>refresh rate</see>
</indexterm>
<para>Screen resolution and refresh rate are determined by the
monitor's horizontal and vertical sync frequencies. Almost
all monitors support electronic autodetection of these values.
A few monitors do not provide these values, and the
specifications must be determined from the printed manual
or manufacturer web site.</para>
<para>The video card chipset is also autodetected, and used to
select the proper video driver. It is beneficial for the user
to be aware of which chipset is installed for when
autodetection does not provide the desired result.</para>
<para>Video card memory determines the maximum resolution and
color depth which can be displayed.</para>
</sect2>
<sect2>
<title>Configuring X11</title>
- <para><application>&xorg;</application>
- uses <acronym>HAL</acronym> to autodetect keyboards and mice.
- The <filename role="package">sysutils/hal</filename> and
+ <para><application>&xorg;</application> uses
+ <acronym>HAL</acronym> to autodetect keyboards and mice. The
+ <filename role="package">sysutils/hal</filename> and
<filename role="package">devel/dbus</filename> ports are
- installed as dependencies of <filename
- role="package">x11/xorg</filename>, but must be enabled by
- the following entries in the
+ installed as dependencies of
+ <filename role="package">x11/xorg</filename>, but must be
+ enabled by the following entries in the
<filename>/etc/rc.conf</filename> file:</para>
<programlisting>hald_enable="YES"
dbus_enable="YES"</programlisting>
<para>These services should be started (either manually or by
rebooting) before further <application>&xorg;</application>
configuration or use is attempted.</para>
- <para><application>&xorg;</application> can
- often work without any further configuration steps by
- simply typing at prompt:</para>
+ <para><application>&xorg;</application> can often work without
+ any further configuration steps by simply typing at
+ prompt:</para>
<screen>&prompt.user; <userinput>startx</userinput></screen>
<para>The automatic configuration may fail to work with some
hardware, or may not set things up quite as desired. In
these cases, manual configuration will be necessary.</para>
<note>
<para>Desktop environments like
<application>GNOME</application>,
<application>KDE</application> or
<application>Xfce</application> have tools allowing the user
to easily set the screen parameters such as the resolution.
So if the default configuration is not acceptable and you
planned to install a desktop environment then just continue
with the installation of the desktop environment and use the
appropriate screen settings tool.</para>
</note>
<para>Configuration of X11 is a multi-step process. The first
step is to build an initial configuration file. As the super
user, simply run:</para>
<screen>&prompt.root; <userinput>Xorg -configure</userinput></screen>
- <para>This will generate an
- X11 configuration skeleton file in the
- <filename>/root</filename> directory called
+ <para>This will generate an X11 configuration skeleton file in
+ the <filename>/root</filename> directory called
<filename>xorg.conf.new</filename> (whether you &man.su.1; or
do a direct login affects the inherited supervisor
- <envar>$HOME</envar> directory variable). The
- X11 program will attempt to probe
- the graphics hardware on the system and write a
- configuration file to load the proper drivers for the detected
- hardware on the target system.</para>
+ <envar>$HOME</envar> directory variable). The X11 program
+ will attempt to probe the graphics hardware on the system and
+ write a configuration file to load the proper drivers for the
+ detected hardware on the target system.</para>
<para>The next step is to test the existing
configuration to verify that <application>&xorg;</application>
can work with the graphics
hardware on the target system. Type:</para>
<screen>&prompt.root; <userinput>Xorg -config xorg.conf.new -retro</userinput></screen>
<para>If a black and grey grid and an X mouse cursor appear,
the configuration was successful. To exit the test, switch
to the virtual console used to start it by pressing
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>Alt</keycap>
<keycap>F<replaceable>n</replaceable></keycap>
</keycombo> (<keycap>F1</keycap> for the first virtual
console) and press
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>C</keycap>
</keycombo>.</para>
<note>
<para>The
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>Alt</keycap>
<keycap>Backspace</keycap>
</keycombo> key combination may also be used to break out of
- <application>&xorg;</application>. To enable it,
- you can either type the following
- command from any X terminal emulator:</para>
+ <application>&xorg;</application>. To enable it, you can
+ either type the following command from any X terminal
+ emulator:</para>
<screen>&prompt.user; <userinput>setxkbmap -option terminate:ctrl_alt_bksp</userinput></screen>
<para>or create a keyboard configuration file for
<application>hald</application> called
<filename>x11-input.fdi</filename> and saved in the
<filename
- class="directory">/usr/local/etc/hal/fdi/policy</filename>
+ class="directory">/usr/local/etc/hal/fdi/policy</filename>
directory. This file should contain the following
lines:</para>
<programlisting>&lt;?xml version="1.0" encoding="iso-8859-1"?&gt;
&lt;deviceinfo version="0.2"&gt;
&lt;device&gt;
&lt;match key="info.capabilities" contains="input.keyboard"&gt;
&lt;merge key="input.x11_options.XkbOptions" type="string"&gt;terminate:ctrl_alt_bksp&lt;/merge&gt;
&lt;/match&gt;
&lt;/device&gt;
&lt;/deviceinfo&gt;</programlisting>
<para>You will have to reboot your machine to force
<application>hald</application> to read this file.</para>
<para>The following line will also have to be added to
<filename>xorg.conf.new</filename>, in the
<literal>ServerLayout</literal> or
<literal>ServerFlags</literal> section:</para>
<programlisting>Option "DontZap" "off"</programlisting>
</note>
- <para>If the mouse does not work, you will need to first
- configure it before proceeding. See <xref linkend="mouse"/>
- in the &os; install chapter. In recent
- <application>Xorg</application> versions,
- the <literal>InputDevice</literal> sections in
- <filename>xorg.conf</filename> are ignored in favor of the
- autodetected devices. To restore the old behavior, add the
- following line to the <literal>ServerLayout</literal> or
- <literal>ServerFlags</literal> section of this file:</para>
+ <para>If the mouse does not work, you will need to first
+ configure it before proceeding. See <xref linkend="mouse"/>
+ in the &os; install chapter. In recent
+ <application>Xorg</application> versions,
+ the <literal>InputDevice</literal> sections in
+ <filename>xorg.conf</filename> are ignored in favor of the
+ autodetected devices. To restore the old behavior, add the
+ following line to the <literal>ServerLayout</literal> or
+ <literal>ServerFlags</literal> section of this file:</para>
- <programlisting>Option "AutoAddDevices" "false"</programlisting>
+ <programlisting>Option "AutoAddDevices" "false"</programlisting>
- <para>Input devices may then be configured as in previous
- versions, along with any other options needed (e.g.,
- keyboard layout switching).</para>
+ <para>Input devices may then be configured as in previous
+ versions, along with any other options needed (e.g., keyboard
+ layout switching).</para>
<note>
- <para>As previously explained
- the <application>hald</application> daemon will, by default,
+ <para>As previously explained the
+ <application>hald</application> daemon will, by default,
automatically detect your keyboard. There are chances that
your keyboard layout or model will not be correct, desktop
environments like <application>GNOME</application>,
<application>KDE</application> or
<application>Xfce</application> provide tools to configure
the keyboard. However, it is possible to set the keyboard
properties directly either with the help of the
&man.setxkbmap.1; utility or with a
<application>hald</application>'s configuration rule.</para>
<para>For example if one wants to use a PC 102 keys keyboard
coming with a french layout, we have to create a keyboard
configuration file for <application>hald</application>
called <filename>x11-input.fdi</filename> and saved in the
<filename
- class="directory">/usr/local/etc/hal/fdi/policy</filename>
+ class="directory">/usr/local/etc/hal/fdi/policy</filename>
directory. This file should contain the following
lines:</para>
<programlisting>&lt;?xml version="1.0" encoding="iso-8859-1"?&gt;
&lt;deviceinfo version="0.2"&gt;
&lt;device&gt;
&lt;match key="info.capabilities" contains="input.keyboard"&gt;
&lt;merge key="input.x11_options.XkbModel" type="string"&gt;pc102&lt;/merge&gt;
&lt;merge key="input.x11_options.XkbLayout" type="string"&gt;fr&lt;/merge&gt;
&lt;/match&gt;
&lt;/device&gt;
&lt;/deviceinfo&gt;</programlisting>
<para>If this file already exists, just copy and add to your
file the lines regarding the keyboard configuration.</para>
<para>You will have to reboot your machine to force
<application>hald</application> to read this file.</para>
<para>It is possible to do the same configuration from an X
terminal or a script with this command line:</para>
<screen>&prompt.user; <userinput>setxkbmap -model pc102 -layout fr</userinput></screen>
<para>The
<filename>/usr/local/share/X11/xkb/rules/base.lst</filename>
file lists the various keyboard, layouts and options
available.</para>
</note>
<indexterm><primary>X11 tuning</primary></indexterm>
- <para>The <filename>xorg.conf.new</filename>
- configuration file may now be tuned to taste. Open the
- file in a text editor such as &man.emacs.1; or &man.ee.1;.
- If the monitor is an older or unusual model that does not
- support autodetection of sync frequencies, those settings
- can be added to <filename>xorg.conf.new</filename>
- under the <literal>"Monitor"</literal> section:</para>
+ <para>The <filename>xorg.conf.new</filename> configuration file
+ may now be tuned to taste. Open the file in a text editor
+ such as &man.emacs.1; or &man.ee.1;. If the monitor is an
+ older or unusual model that does not support autodetection of
+ sync frequencies, those settings can be added to
+ <filename>xorg.conf.new</filename> under the
+ <literal>"Monitor"</literal> section:</para>
<programlisting>Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 30-107
VertRefresh 48-120
EndSection</programlisting>
<para>Most monitors support sync frequency autodetection,
- making manual entry of these values unnecessary. For the
- few monitors that do not support autodetection, avoid
- potential damage by only entering values provided by the
+ making manual entry of these values unnecessary. For the few
+ monitors that do not support autodetection, avoid potential
+ damage by only entering values provided by the
manufacturer.</para>
<para>X allows DPMS (Energy Star) features to be used with
capable monitors. The &man.xset.1; program controls the
time-outs and can force standby, suspend, or off modes. If
you wish to enable DPMS features for your monitor, you must
add the following line to the monitor section:</para>
<programlisting>Option "DPMS"</programlisting>
<indexterm>
<primary><filename>xorg.conf</filename></primary>
</indexterm>
<para>While the <filename>xorg.conf.new</filename>
- configuration file is still open in an editor, select
- the default resolution and color depth desired. This is
- defined in the <literal>"Screen"</literal> section:</para>
+ configuration file is still open in an editor, select the
+ default resolution and color depth desired. This is defined
+ in the <literal>"Screen"</literal> section:</para>
<programlisting>Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768"
EndSubSection
EndSection</programlisting>
- <para>The <literal>DefaultDepth</literal> keyword describes
- the color depth to run at by default. This can be overridden
- with the <option>-depth</option> command line switch to
- &man.Xorg.1;.
- The <literal>Modes</literal> keyword
- describes the resolution to run at for the given color depth.
- Note that only VESA standard modes are supported as defined by
- the target system's graphics hardware.
- In the example above, the default color depth is twenty-four
- bits per pixel. At this color depth, the accepted
- resolution is 1024 by 768 pixels.</para>
+ <para>The <literal>DefaultDepth</literal> keyword describes the
+ color depth to run at by default. This can be overridden with
+ the <option>-depth</option> command line switch to
+ &man.Xorg.1;. The <literal>Modes</literal> keyword describes
+ the resolution to run at for the given color depth. Note that
+ only VESA standard modes are supported as defined by the
+ target system's graphics hardware. In the example above, the
+ default color depth is twenty-four bits per pixel. At this
+ color depth, the accepted resolution is 1024 by 768
+ pixels.</para>
<para>Finally, write the configuration file and test it using
the test mode given above.</para>
<note>
<para>One of the tools available to assist you during
- troubleshooting process are the X11 log files, which
- contain information on each device that the X11 server
- attaches to. <application>&xorg;</application> log file
- names are in the format of
- <filename>/var/log/Xorg.0.log</filename>. The exact name
- of the log can vary from <filename>Xorg.0.log</filename>
- to <filename>Xorg.8.log</filename> and so forth.</para>
+ troubleshooting process are the X11 log files, which contain
+ information on each device that the X11 server attaches to.
+ <application>&xorg;</application> log file names are in the
+ format of <filename>/var/log/Xorg.0.log</filename>. The
+ exact name of the log can vary from
+ <filename>Xorg.0.log</filename> to
+ <filename>Xorg.8.log</filename> and so forth.</para>
</note>
- <para>If all is well, the configuration
- file needs to be installed in a common location where
- &man.Xorg.1; can find it.
+ <para>If all is well, the configuration file needs to be
+ installed in a common location where &man.Xorg.1; can find it.
This is typically <filename>/etc/X11/xorg.conf</filename> or
<filename>/usr/local/etc/X11/xorg.conf</filename>.</para>
<screen>&prompt.root; <userinput>cp xorg.conf.new /etc/X11/xorg.conf</userinput></screen>
- <para>The X11 configuration process is now
- complete. <application>&xorg;</application> may be now
- started with the &man.startx.1; utility.
- The X11 server may also be started with the use of
- &man.xdm.1;.</para>
+ <para>The X11 configuration process is now complete.
+ <application>&xorg;</application> may be now started with the
+ &man.startx.1; utility. The X11 server may also be started
+ with the use of &man.xdm.1;.</para>
</sect2>
<sect2>
<title>Advanced Configuration Topics</title>
<sect3>
<title>Configuration with &intel; <literal>i810</literal>
Graphics Chipsets</title>
- <indexterm><primary>Intel i810 graphic chipset</primary></indexterm>
+ <indexterm>
+ <primary>Intel i810 graphic chipset</primary>
+ </indexterm>
<para>Configuration with &intel; i810 integrated chipsets
- requires the <devicename>agpgart</devicename>
- AGP programming interface for X11
- to drive the card. See the &man.agp.4; driver manual page
- for more information.</para>
+ requires the <devicename>agpgart</devicename> AGP
+ programming interface for X11 to drive the card. See the
+ &man.agp.4; driver manual page for more information.</para>
<para>This will allow configuration of the hardware as any
other graphics board. Note on systems without the
&man.agp.4; driver compiled in the kernel, trying to load
- the module with &man.kldload.8; will not work. This
- driver has to be in the kernel at boot time through being
- compiled in or using
- <filename>/boot/loader.conf</filename>.</para>
+ the module with &man.kldload.8; will not work. This driver
+ has to be in the kernel at boot time through being compiled
+ in or using <filename>/boot/loader.conf</filename>.</para>
</sect3>
<sect3>
<title>Adding a Widescreen Flatpanel to the Mix</title>
- <indexterm><primary>widescreen flatpanel configuration</primary></indexterm>
+ <indexterm>
+ <primary>widescreen flatpanel configuration</primary>
+ </indexterm>
<para>This section assumes a bit of advanced configuration
knowledge. If attempts to use the standard configuration
tools above have not resulted in a working configuration,
- there is information enough in the log files to be of use
- in getting the setup working. Use of a text editor will
- be necessary.</para>
+ there is information enough in the log files to be of use in
+ getting the setup working. Use of a text editor will be
+ necessary.</para>
- <para>Current widescreen (WSXGA, WSXGA+, WUXGA, WXGA,
- WXGA+, et.al.) formats support 16:10 and 10:9 formats or
- aspect ratios that can be problematic. Examples of some
- common screen resolutions for 16:10 aspect ratios
- are:</para>
+ <para>Current widescreen (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+,
+ et.al.) formats support 16:10 and 10:9 formats or aspect
+ ratios that can be problematic. Examples of some common
+ screen resolutions for 16:10 aspect ratios are:</para>
<itemizedlist>
- <listitem><para>2560x1600</para></listitem>
- <listitem><para>1920x1200</para></listitem>
- <listitem><para>1680x1050</para></listitem>
- <listitem><para>1440x900</para></listitem>
- <listitem><para>1280x800</para></listitem>
+ <listitem>
+ <para>2560x1600</para>
+ </listitem>
+
+ <listitem>
+ <para>1920x1200</para>
+ </listitem>
+
+ <listitem>
+ <para>1680x1050</para>
+ </listitem>
+
+ <listitem>
+ <para>1440x900</para>
+ </listitem>
+
+ <listitem>
+ <para>1280x800</para>
+ </listitem>
</itemizedlist>
<para>At some point, it will be as easy as adding one of these
resolutions as a possible <literal>Mode</literal> in the
<literal>Section "Screen"</literal> as such:</para>
<programlisting>Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1680x1050"
EndSubSection
EndSection</programlisting>
<para><application>&xorg;</application> is smart enough to
- pull the resolution information from the widescreen via
- I2C/DDC information so it knows what the monitor can
- handle as far as frequencies and resolutions.</para>
+ pull the resolution information from the widescreen via
+ I2C/DDC information so it knows what the monitor can handle
+ as far as frequencies and resolutions.</para>
<para>If those <literal>ModeLines</literal> do not exist in
the drivers, one might need to give
<application>&xorg;</application> a little hint. Using
<filename>/var/log/Xorg.0.log</filename> one can extract
enough information to manually create a
- <literal>ModeLine</literal> that will work. Simply look
- for information resembling this:</para>
+ <literal>ModeLine</literal> that will work. Simply look for
+ information resembling this:</para>
<programlisting>(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</programlisting>
<para>This information is called EDID information. Creating a
<literal>ModeLine</literal> from this is just a matter of
putting the numbers in the correct order:</para>
<programlisting>ModeLine &lt;name&gt; &lt;clock&gt; &lt;4 horiz. timings&gt; &lt;4 vert. timings&gt;</programlisting>
<para>So that the <literal>ModeLine</literal> in
- <literal>Section "Monitor"</literal>
- for this example would look like this:</para>
+ <literal>Section "Monitor"</literal> for this example would
+ look like this:</para>
<programlisting>Section "Monitor"
Identifier "Monitor1"
VendorName "Bigname"
ModelName "BestModel"
ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
Option "DPMS"
EndSection</programlisting>
<para>Now having completed these simple editing steps, X
should start on your new widescreen monitor.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="x-fonts">
<sect1info>
<authorgroup>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>Using Fonts in X11</title>
<sect2 id="type1">
- <title>Type1 Fonts</title>
+ <title>Type1 Fonts</title>
- <para>The default fonts that ship with X11 are less than ideal
- for typical desktop publishing applications. Large
- presentation fonts show up jagged and unprofessional looking,
- and small fonts are
- almost completely unintelligible. However, there are several
- free, high quality Type1 (&postscript;) fonts available which
- can be readily used with X11. For instance, the URW font
- collection (<filename
- role="package">x11-fonts/urwfonts</filename>) includes high
- quality versions of standard type1 fonts (<trademark
- class="registered">Times Roman</trademark>,
- <trademark class="registered">Helvetica</trademark>, <trademark
- class="registered">Palatino</trademark> and others). The
- Freefonts collection (<filename
- role="package">x11-fonts/freefonts</filename>) includes
- many more fonts, but most of them are intended for use in
- graphics software such as the <application>Gimp</application>,
- and are not complete enough to serve as screen fonts. In
- addition, X11 can be configured to use &truetype; fonts with
- a minimum of effort. For more details on this, see the
- &man.X.7; manual page or the <link linkend="truetype">section
- on &truetype; fonts</link>.</para>
+ <para>The default fonts that ship with X11 are less than ideal
+ for typical desktop publishing applications. Large
+ presentation fonts show up jagged and unprofessional looking,
+ and small fonts are almost completely unintelligible.
+ However, there are several free, high quality Type1
+ (&postscript;) fonts available which can be readily used with
+ X11. For instance, the URW font collection
+ (<filename role="package">x11-fonts/urwfonts</filename>)
+ includes high quality versions of standard type1 fonts
+ (<trademark class="registered">Times Roman</trademark>,
+ <trademark class="registered">Helvetica</trademark>,
+ <trademark class="registered">Palatino</trademark> and
+ others). The Freefonts collection
+ (<filename role="package">x11-fonts/freefonts</filename>)
+ includes many more fonts, but most of them are intended for
+ use in graphics software such as the
+ <application>Gimp</application>, and are not complete enough
+ to serve as screen fonts. In addition, X11 can be configured
+ to use &truetype; fonts with a minimum of effort. For more
+ details on this, see the &man.X.7; manual page or the
+ <link linkend="truetype">section on &truetype;
+ fonts</link>.</para>
- <para>To install the above Type1 font collections from the
- Ports Collection, run the following commands:</para>
+ <para>To install the above Type1 font collections from the
+ Ports Collection, run the following commands:</para>
- <screen>&prompt.root; <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput>
+ <screen>&prompt.root; <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
- <para>And likewise with the freefont or other collections. To
- have the X server detect these fonts, add an appropriate line
- to the X server configuration file
- (<filename>/etc/X11/xorg.conf</filename>), which reads:</para>
+ <para>And likewise with the freefont or other collections. To
+ have the X server detect these fonts, add an appropriate line
+ to the X server configuration file
+ (<filename>/etc/X11/xorg.conf</filename>), which reads:</para>
<programlisting>FontPath "/usr/local/lib/X11/fonts/URW/"</programlisting>
<para>Alternatively, at the command line in the X session
run:</para>
<screen>&prompt.user; <userinput>xset fp+ /usr/local/lib/X11/fonts/URW</userinput>
&prompt.user; <userinput>xset fp rehash</userinput></screen>
<para>This will work but will be lost when the X session is
closed, unless it is added to the startup file
(<filename>~/.xinitrc</filename> for a normal
<command>startx</command> session, or
<filename>~/.xsession</filename> when logging in through a
graphical login manager like <application>XDM</application>).
A third way is to use the new
<filename>/usr/local/etc/fonts/local.conf</filename> file: see
- the section on <link
- linkend="antialias">anti-aliasing</link>.</para>
+ the section on
+ <link linkend="antialias">anti-aliasing</link>.</para>
</sect2>
<sect2 id="truetype">
- <title>&truetype; Fonts</title>
+ <title>&truetype; Fonts</title>
- <indexterm><primary>TrueType Fonts</primary></indexterm>
- <indexterm><primary>fonts</primary>
- <secondary>TrueType</secondary>
- </indexterm>
+ <indexterm>
+ <primary>TrueType Fonts</primary>
+ </indexterm>
+ <indexterm>
+ <primary>fonts</primary>
+ <secondary>TrueType</secondary>
+ </indexterm>
- <para><application>&xorg;</application> has built in support
- for rendering &truetype; fonts. There are two different
- modules that can enable this functionality. The freetype
- module is used in this example because it is more consistent
- with the other font rendering back-ends. To enable the
- freetype module just add the following line to the
- <literal>"Module"</literal> section of the
- <filename>/etc/X11/xorg.conf</filename> file.</para>
+ <para><application>&xorg;</application> has built in support for
+ rendering &truetype; fonts. There are two different modules
+ that can enable this functionality. The freetype module is
+ used in this example because it is more consistent with the
+ other font rendering back-ends. To enable the freetype module
+ just add the following line to the <literal>"Module"</literal>
+ section of the <filename>/etc/X11/xorg.conf</filename>
+ file.</para>
- <programlisting>Load "freetype"</programlisting>
+ <programlisting>Load "freetype"</programlisting>
- <para>Now make a directory for the &truetype; fonts (for
- example,
- <filename>/usr/local/lib/X11/fonts/TrueType</filename>)
- and copy all of the &truetype; fonts into this directory.
- Keep in mind that &truetype; fonts cannot be directly taken
- from a &macintosh;; they must be in &unix;/&ms-dos;/&windows;
- format for use by X11. Once the files have been copied into
- this directory, use <application>ttmkfdir</application> to
- create a <filename>fonts.dir</filename> file, so that the X
- font renderer knows that these new files have been installed.
- <command>ttmkfdir</command> is available from the FreeBSD
- Ports Collection as
- <filename role="package">x11-fonts/ttmkfdir</filename>.</para>
+ <para>Now make a directory for the &truetype; fonts (for
+ example,
+ <filename>/usr/local/lib/X11/fonts/TrueType</filename>) and
+ copy all of the &truetype; fonts into this directory. Keep in
+ mind that &truetype; fonts cannot be directly taken from a
+ &macintosh;; they must be in &unix;/&ms-dos;/&windows; format
+ for use by X11. Once the files have been copied into this
+ directory, use <application>ttmkfdir</application> to create a
+ <filename>fonts.dir</filename> file, so that the X font
+ renderer knows that these new files have been installed.
+ <command>ttmkfdir</command> is available from the FreeBSD
+ Ports Collection as
+ <filename role="package">x11-fonts/ttmkfdir</filename>.</para>
- <screen>&prompt.root; <userinput>cd /usr/local/lib/X11/fonts/TrueType</userinput>
+ <screen>&prompt.root; <userinput>cd /usr/local/lib/X11/fonts/TrueType</userinput>
&prompt.root; <userinput>ttmkfdir -o fonts.dir</userinput></screen>
- <para>Now add the &truetype; directory to the font
- path. This is just the same as described above for <link
- linkend="type1">Type1</link> fonts, that is, use</para>
+ <para>Now add the &truetype; directory to the font path. This
+ is just the same as described above for
+ <link linkend="type1">Type1</link> fonts, that is, use</para>
- <screen>&prompt.user; <userinput>xset fp+ /usr/local/lib/X11/fonts/TrueType</userinput>
+ <screen>&prompt.user; <userinput>xset fp+ /usr/local/lib/X11/fonts/TrueType</userinput>
&prompt.user; <userinput>xset fp rehash</userinput></screen>
- <para>or add a <literal>FontPath</literal> line to the
- <filename>xorg.conf</filename> file.</para>
+ <para>or add a <literal>FontPath</literal> line to the
+ <filename>xorg.conf</filename> file.</para>
<para>That's it. Now <application>Gimp</application>,
<application>Apache OpenOffice</application>, and all of the
other X applications should now recognize the installed
&truetype; fonts. Extremely small fonts (as with text in a
high resolution display on a web page) and extremely large
fonts (within <application>&staroffice;</application>) will
look much better now.</para>
</sect2>
<sect2 id="antialias">
- <sect2info>
- <authorgroup>
- <author>
- <firstname>Joe Marcus</firstname>
- <surname>Clarke</surname>
- <contrib>Updated by </contrib>
- <!-- May 2003 -->
- </author>
- </authorgroup>
- </sect2info>
- <title>Anti-Aliased Fonts</title>
+ <sect2info>
+ <authorgroup>
+ <author>
+ <firstname>Joe Marcus</firstname>
+ <surname>Clarke</surname>
+ <contrib>Updated by </contrib>
+ <!-- May 2003 -->
+ </author>
+ </authorgroup>
+ </sect2info>
+ <title>Anti-Aliased Fonts</title>
- <indexterm><primary>anti-aliased fonts</primary></indexterm>
- <indexterm><primary>fonts</primary>
- <secondary>anti-aliased</secondary></indexterm>
+ <indexterm>
+ <primary>anti-aliased fonts</primary>
+ </indexterm>
+ <indexterm>
+ <primary>fonts</primary>
+ <secondary>anti-aliased</secondary>
+ </indexterm>
- <para>All fonts in X11 that are found
- in <filename>/usr/local/lib/X11/fonts/</filename> and
- <filename>~/.fonts/</filename> are automatically
- made available for anti-aliasing to Xft-aware applications.
- Most recent applications are Xft-aware, including
- <application>KDE</application>,
- <application>GNOME</application>, and
- <application>Firefox</application>.</para>
+ <para>All fonts in X11 that are found in
+ <filename>/usr/local/lib/X11/fonts/</filename> and
+ <filename>~/.fonts/</filename> are automatically made
+ available for anti-aliasing to Xft-aware applications. Most
+ recent applications are Xft-aware, including
+ <application>KDE</application>,
+ <application>GNOME</application>, and
+ <application>Firefox</application>.</para>
- <para>In order to control which fonts are anti-aliased, or to
- configure anti-aliasing properties, create (or edit, if it
- already exists) the file
- <filename>/usr/local/etc/fonts/local.conf</filename>. Several
- advanced features of the Xft font system can be tuned using
- this file; this section describes only some simple
- possibilities. For more details, please see
- &man.fonts-conf.5;.</para>
+ <para>In order to control which fonts are anti-aliased, or to
+ configure anti-aliasing properties, create (or edit, if it
+ already exists) the file
+ <filename>/usr/local/etc/fonts/local.conf</filename>. Several
+ advanced features of the Xft font system can be tuned using
+ this file; this section describes only some simple
+ possibilities. For more details, please see
+ &man.fonts-conf.5;.</para>
- <indexterm><primary>XML</primary></indexterm>
+ <indexterm><primary>XML</primary></indexterm>
- <para>This file must be in XML format. Pay careful attention
- to case, and make sure all tags are properly closed. The
- file begins with the usual XML header followed by a DOCTYPE
- definition, and then the <literal>&lt;fontconfig&gt;</literal>
- tag:</para>
+ <para>This file must be in XML format. Pay careful attention to
+ case, and make sure all tags are properly closed. The file
+ begins with the usual XML header followed by a DOCTYPE
+ definition, and then the <literal>&lt;fontconfig&gt;</literal>
+ tag:</para>
- <programlisting>
+ <programlisting>
&lt;?xml version="1.0"?&gt;
&lt;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&gt;
&lt;fontconfig&gt;</programlisting>
- <para>As previously stated, all fonts in
- <filename>/usr/local/lib/X11/fonts/</filename> as well as
- <filename>~/.fonts/</filename> are already made available to
- Xft-aware applications. If you wish to add another directory
- outside of these two directory trees, add a line similar to the
- following to
- <filename>/usr/local/etc/fonts/local.conf</filename>:</para>
+ <para>As previously stated, all fonts in
+ <filename>/usr/local/lib/X11/fonts/</filename> as well as
+ <filename>~/.fonts/</filename> are already made available to
+ Xft-aware applications. If you wish to add another directory
+ outside of these two directory trees, add a line similar to
+ the following to
+ <filename>/usr/local/etc/fonts/local.conf</filename>:</para>
- <programlisting>&lt;dir&gt;/path/to/my/fonts&lt;/dir&gt;</programlisting>
+ <programlisting>&lt;dir&gt;/path/to/my/fonts&lt;/dir&gt;</programlisting>
- <para>After adding new fonts, and especially new font directories,
- you should run the following command to rebuild the font
- caches:</para>
+ <para>After adding new fonts, and especially new font
+ directories, you should run the following command to rebuild
+ the font caches:</para>
- <screen>&prompt.root; <userinput>fc-cache -f</userinput></screen>
+ <screen>&prompt.root; <userinput>fc-cache -f</userinput></screen>
- <para>Anti-aliasing makes borders slightly fuzzy, which makes
- very small text more readable and removes
- <quote>staircases</quote> from large text, but can cause
- eyestrain if applied to normal text. To exclude font sizes
- smaller than 14 point from anti-aliasing, include these
- lines:</para>
+ <para>Anti-aliasing makes borders slightly fuzzy, which makes
+ very small text more readable and removes
+ <quote>staircases</quote> from large text, but can cause
+ eyestrain if applied to normal text. To exclude font sizes
+ smaller than 14 point from anti-aliasing, include these
+ lines:</para>
<programlisting> &lt;match target="font"&gt;
&lt;test name="size" compare="less"&gt;
&lt;double&gt;14&lt;/double&gt;
&lt;/test&gt;
&lt;edit name="antialias" mode="assign"&gt;
&lt;bool&gt;false&lt;/bool&gt;
&lt;/edit&gt;
&lt;/match&gt;
&lt;match target="font"&gt;
&lt;test name="pixelsize" compare="less" qual="any"&gt;
&lt;double&gt;14&lt;/double&gt;
&lt;/test&gt;
&lt;edit mode="assign" name="antialias"&gt;
&lt;bool&gt;false&lt;/bool&gt;
&lt;/edit&gt;
&lt;/match&gt;</programlisting>
- <indexterm><primary>fonts</primary>
- <secondary>spacing</secondary></indexterm>
+ <indexterm>
+ <primary>fonts</primary>
+ <secondary>spacing</secondary>
+ </indexterm>
- <para>Spacing for some monospaced fonts may also be inappropriate
- with anti-aliasing. This seems to be an issue with
- <application>KDE</application>, in particular. One possible
- fix for this is to force the spacing for such fonts to be 100.
- Add the following lines:</para>
+ <para>Spacing for some monospaced fonts may also be
+ inappropriate with anti-aliasing. This seems to be an issue
+ with <application>KDE</application>, in particular. One
+ possible fix for this is to force the spacing for such fonts
+ to be 100. Add the following lines:</para>
- <programlisting> &lt;match target="pattern" name="family"&gt;
+ <programlisting> &lt;match target="pattern" name="family"&gt;
&lt;test qual="any" name="family"&gt;
&lt;string&gt;fixed&lt;/string&gt;
&lt;/test&gt;
&lt;edit name="family" mode="assign"&gt;
&lt;string&gt;mono&lt;/string&gt;
&lt;/edit&gt;
&lt;/match&gt;
&lt;match target="pattern" name="family"&gt;
&lt;test qual="any" name="family"&gt;
&lt;string&gt;console&lt;/string&gt;
&lt;/test&gt;
&lt;edit name="family" mode="assign"&gt;
&lt;string&gt;mono&lt;/string&gt;
&lt;/edit&gt;
&lt;/match&gt;</programlisting>
<para>(this aliases the other common names for fixed fonts as
<literal>"mono"</literal>), and then add:</para>
<programlisting> &lt;match target="pattern" name="family"&gt;
&lt;test qual="any" name="family"&gt;
&lt;string&gt;mono&lt;/string&gt;
&lt;/test&gt;
&lt;edit name="spacing" mode="assign"&gt;
&lt;int&gt;100&lt;/int&gt;
&lt;/edit&gt;
&lt;/match&gt; </programlisting>
<para>Certain fonts, such as Helvetica, may have a problem when
anti-aliased. Usually this manifests itself as a font that
seems cut in half vertically. At worst, it may cause
- applications to
- crash. To avoid this, consider adding the following to
- <filename>local.conf</filename>:</para>
+ applications to crash. To avoid this, consider adding the
+ following to <filename>local.conf</filename>:</para>
<programlisting> &lt;match target="pattern" name="family"&gt;
&lt;test qual="any" name="family"&gt;
&lt;string&gt;Helvetica&lt;/string&gt;
&lt;/test&gt;
&lt;edit name="family" mode="assign"&gt;
&lt;string&gt;sans-serif&lt;/string&gt;
&lt;/edit&gt;
&lt;/match&gt; </programlisting>
<para>Once you have finished editing
<filename>local.conf</filename> make sure you end the file
with the <literal>&lt;/fontconfig&gt;</literal> tag. Not
doing this will cause your changes to be ignored.</para>
- <para>Finally, users can add their own settings via their
- personal <filename>.fonts.conf</filename> files. To do
- this, each user should simply create a
- <filename>~/.fonts.conf</filename>. This file must also be
- in XML format.</para>
+ <para>Finally, users can add their own settings via their
+ personal <filename>.fonts.conf</filename> files. To do this,
+ each user should simply create a
+ <filename>~/.fonts.conf</filename>. This file must also be in
+ XML format.</para>
- <indexterm><primary>LCD screen</primary></indexterm>
- <indexterm><primary>Fonts</primary>
- <secondary>LCD screen</secondary></indexterm>
+ <indexterm><primary>LCD screen</primary></indexterm>
+ <indexterm><primary>Fonts</primary>
+ <secondary>LCD screen</secondary></indexterm>
- <para>One last point: with an LCD screen, sub-pixel sampling
- may be desired. This basically treats the (horizontally
- separated) red, green and blue components separately to
- improve the horizontal resolution; the results can be
- dramatic. To enable this, add the line somewhere in the
- <filename>local.conf</filename> file:</para>
+ <para>One last point: with an LCD screen, sub-pixel sampling may
+ be desired. This basically treats the (horizontally
+ separated) red, green and blue components separately to
+ improve the horizontal resolution; the results can be
+ dramatic. To enable this, add the line somewhere in the
+ <filename>local.conf</filename> file:</para>
- <programlisting>
+ <programlisting>
&lt;match target="font"&gt;
&lt;test qual="all" name="rgba"&gt;
&lt;const&gt;unknown&lt;/const&gt;
&lt;/test&gt;
&lt;edit name="rgba" mode="assign"&gt;
&lt;const&gt;rgb&lt;/const&gt;
&lt;/edit&gt;
&lt;/match&gt;</programlisting>
- <note>
+ <note>
<para>Depending on the sort of display,
<literal>rgb</literal> may need to be changed to
<literal>bgr</literal>, <literal>vrgb</literal> or
<literal>vbgr</literal>: experiment and see which works
best.</para>
- </note>
+ </note>
</sect2>
</sect1>
<sect1 id="x-xdm">
<sect1info>
<authorgroup>
<author>
<firstname>Seth</firstname>
<surname>Kingsley</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect1info>
<title>The X Display Manager</title>
- <sect2>
+ <sect2>
<title>Overview</title>
<indexterm><primary>X Display Manager</primary></indexterm>
<para>The X Display Manager (<application>XDM</application>)
is an optional part of the X Window System that is used for
login session management. This is useful for several types
of situations, including minimal <quote>X Terminals</quote>,
desktops, and large network display servers. Since the X
Window System is network and protocol independent, there are
a wide variety of possible configurations for running X
clients and servers on different machines connected by a
network. <application>XDM</application> provides a graphical
interface for choosing which display server to connect to,
and entering authorization information such as a login and
password combination.</para>
- <para>Think of <application>XDM</application> as
- providing the same functionality to the user as the
- &man.getty.8; utility (see <xref linkend="term-config"/> for
- details). That is, it performs system logins to the display
- being connected to and then runs a session manager on
- behalf of the user (usually an X window manager).
- <application>XDM</application> then waits for this program to
- exit, signaling that the user is done and should be logged out
- of the display. At this point, <application>XDM</application>
- can display the login and display chooser screens for the next
- user to login.</para>
+ <para>Think of <application>XDM</application> as providing the
+ same functionality to the user as the &man.getty.8; utility
+ (see <xref linkend="term-config"/> for details). That is, it
+ performs system logins to the display being connected to and
+ then runs a session manager on behalf of the user (usually an
+ X window manager). <application>XDM</application> then waits
+ for this program to exit, signaling that the user is done and
+ should be logged out of the display. At this point,
+ <application>XDM</application> can display the login and
+ display chooser screens for the next user to login.</para>
</sect2>
<sect2>
<title>Using XDM</title>
<para>To start using <application>XDM</application>, install
the <filename role="package">x11/xdm</filename> port (it is
not installed by default in recent versions of
<application>&xorg;</application>). The
<application>XDM</application> daemon program may then be
found in <filename>/usr/local/bin/xdm</filename>. This
program can be run at any time as <username>root</username>
and it will start managing the X display on the local machine.
- If <application>XDM</application> is to be run every
- time the machine boots up, a convenient way to do this is by
- adding an entry to <filename>/etc/ttys</filename>. For more
- information about the format and usage of this file, see <xref
- linkend="term-etcttys"/>. There is a line in the default
- <filename>/etc/ttys</filename> file for running the
+ If <application>XDM</application> is to be run every time the
+ machine boots up, a convenient way to do this is by adding an
+ entry to <filename>/etc/ttys</filename>. For more information
+ about the format and usage of this file, see
+ <xref linkend="term-etcttys"/>. There is a line in the
+ default <filename>/etc/ttys</filename> file for running the
<application>XDM</application> daemon on a virtual
terminal:</para>
<screen>ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure</screen>
<para>By default this entry is disabled; in order to enable it
change field 5 from <literal>off</literal> to
<literal>on</literal> and restart &man.init.8; using the
directions in <xref linkend="term-hup"/>. The first field,
the name of the terminal this program will manage, is
<literal>ttyv8</literal>. This means that
<application>XDM</application> will start running on the 9th
virtual terminal.</para>
</sect2>
<sect2>
<title>Configuring XDM</title>
<para>The <application>XDM</application> configuration directory
- is located in <filename>/usr/local/lib/X11/xdm</filename>.
- In this directory there are several files used to change the
- behavior and appearance of
- <application>XDM</application>. Typically these files will
- be found:</para>
+ is located in <filename>/usr/local/lib/X11/xdm</filename>. In
+ this directory there are several files used to change the
+ behavior and appearance of <application>XDM</application>.
+ Typically these files will be found:</para>
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>File</entry>
- <entry>Description</entry>
- </row>
- </thead>
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>File</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
- <tbody>
- <row>
- <entry><filename>Xaccess</filename></entry>
- <entry>Client authorization ruleset.</entry>
- </row>
+ <tbody>
+ <row>
+ <entry><filename>Xaccess</filename></entry>
+ <entry>Client authorization ruleset.</entry>
+ </row>
- <row>
- <entry><filename>Xresources</filename></entry>
- <entry>Default X resource values.</entry>
- </row>
+ <row>
+ <entry><filename>Xresources</filename></entry>
+ <entry>Default X resource values.</entry>
+ </row>
- <row>
- <entry><filename>Xservers</filename></entry>
- <entry>List of remote and local displays to
- manage.</entry>
- </row>
+ <row>
+ <entry><filename>Xservers</filename></entry>
+ <entry>List of remote and local displays to
+ manage.</entry>
+ </row>
- <row>
- <entry><filename>Xsession</filename></entry>
- <entry>Default session script for logins.</entry>
- </row>
+ <row>
+ <entry><filename>Xsession</filename></entry>
+ <entry>Default session script for logins.</entry>
+ </row>
- <row>
- <entry><filename>Xsetup_</filename>*</entry>
- <entry>Script to launch applications before the login
- interface.</entry>
- </row>
+ <row>
+ <entry><filename>Xsetup_</filename>*</entry>
+ <entry>Script to launch applications before the login
+ interface.</entry>
+ </row>
- <row>
- <entry><filename>xdm-config</filename></entry>
- <entry>Global configuration for all displays running
- on this machine.</entry>
- </row>
+ <row>
+ <entry><filename>xdm-config</filename></entry>
+ <entry>Global configuration for all displays running
+ on this machine.</entry>
+ </row>
- <row>
- <entry><filename>xdm-errors</filename></entry>
- <entry>Errors generated by the server program.</entry>
- </row>
+ <row>
+ <entry><filename>xdm-errors</filename></entry>
+ <entry>Errors generated by the server program.</entry>
+ </row>
- <row>
- <entry><filename>xdm-pid</filename></entry>
- <entry>The process ID of the currently running
- XDM.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
+ <row>
+ <entry><filename>xdm-pid</filename></entry>
+ <entry>The process ID of the currently running
+ XDM.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
<para>Also in this directory are a few scripts and programs
used to set up the desktop when <application>XDM</application>
is running. The purpose of each of these files will be
- briefly described. The exact syntax and usage of all of
- these files is described in &man.xdm.1;.</para>
+ briefly described. The exact syntax and usage of all of these
+ files is described in &man.xdm.1;.</para>
<para>The default configuration is a simple rectangular login
- window with the hostname of the machine displayed at the
- top in a large font and <quote>Login:</quote> and
+ window with the hostname of the machine displayed at the top
+ in a large font and <quote>Login:</quote> and
<quote>Password:</quote> prompts below. This is a good
starting point for changing the look and feel of
<application>XDM</application> screens.</para>
<sect3>
<title>Xaccess</title>
<para>The protocol for connecting to
<application>XDM</application>-controlled displays is
called the X Display Manager Connection Protocol (XDMCP).
This file is a ruleset for controlling XDMCP connections
from remote machines. It is ignored unless the
<filename>xdm-config</filename> is changed to listen for
remote connections. By default, it does not allow any
clients to connect.</para>
</sect3>
<sect3>
<title>Xresources</title>
<para>This is an application-defaults file for the display
chooser and login screens. In it, the appearance
of the login program can be modified. The format is
identical to the app-defaults file described in the
X11 documentation.</para>
</sect3>
<sect3>
<title>Xservers</title>
<para>This is a list of the remote displays the chooser should
provide as choices.</para>
</sect3>
<sect3>
<title>Xsession</title>
<para>This is the default session script for
<application>XDM</application> to run after a user has
logged in. Normally each user will have a customized
session script in <filename>~/.xsession</filename> that
overrides this script.</para>
</sect3>
<sect3>
<title>Xsetup_*</title>
<para>These will be run automatically before displaying the
chooser or login interfaces. There is a script for each
display being used, named <filename>Xsetup_</filename>
followed by the local display number (for instance
<filename>Xsetup_0</filename>). Typically these scripts
will run one or two programs in the background such as
<command>xconsole</command>.</para>
</sect3>
<sect3>
<title>xdm-config</title>
<para>This contains settings in the form of app-defaults
that are applicable to every display that this installation
manages.</para>
</sect3>
<sect3>
<title>xdm-errors</title>
<para>This contains the output of the X servers that
<application>XDM</application> is trying to run. If a
display that <application>XDM</application> is trying to
start hangs for some reason, this is a good place to look
for error messages. These messages are also written to the
user's <filename>~/.xsession-errors</filename> file on a
per-session basis.</para>
</sect3>
</sect2>
<sect2>
<title>Running a Network Display Server</title>
<para>In order for other clients to connect to the display
server, you must edit the access control rules and enable
the connection listener. By default these are set to
conservative values. To make <application>XDM</application>
listen for connections, first comment out a line in the
<filename>xdm-config</filename> file:</para>
<screen>! 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</screen>
<para>and then restart <application>XDM</application>.
Remember that comments in app-defaults files begin with a
<quote>!</quote> character, not the usual <quote>#</quote>.
More strict access controls may be desired &mdash; look at the
example entries in <filename>Xaccess</filename>, and refer to
the &man.xdm.1; manual page for further information.</para>
</sect2>
- <sect2>
- <title>Replacements for XDM</title>
+ <sect2>
+ <title>Replacements for XDM</title>
- <para>Several replacements for the default
- <application>XDM</application> program exist. One of them,
- <application>KDM</application> (bundled with
- <application>KDE</application>) is described later in this
- chapter. The <application>KDM</application> display
- manager offers many visual improvements and cosmetic frills,
- as well as the functionality to allow users to choose their
- window manager of choice at login time.</para>
- </sect2>
+ <para>Several replacements for the default
+ <application>XDM</application> program exist. One of them,
+ <application>KDM</application> (bundled with
+ <application>KDE</application>) is described later in this
+ chapter. The <application>KDM</application> display manager
+ offers many visual improvements and cosmetic frills, as well
+ as the functionality to allow users to choose their window
+ manager of choice at login time.</para>
+ </sect2>
</sect1>
<sect1 id="x11-wm">
<sect1info>
<authorgroup>
<author>
<firstname>Valentino</firstname>
<surname>Vaschetto</surname>
<contrib>Contributed by </contrib>
</author>
<!-- June 2001 -->
</authorgroup>
</sect1info>
<title>Desktop Environments</title>
<para>This section describes the different desktop environments
- available for X on FreeBSD. A <quote>desktop
- environment</quote> can mean anything ranging from a simple
- window manager to a complete suite of desktop applications, such
- as <application>KDE</application> or
+ available for X on FreeBSD. A
+ <quote>desktop environment</quote> can mean anything ranging
+ from a simple window manager to a complete suite of desktop
+ applications, such as <application>KDE</application> or
<application>GNOME</application>.</para>
<sect2 id="x11-wm-gnome">
<title>GNOME</title>
<sect3 id="x11-wm-gnome-about">
<title>About GNOME</title>
<indexterm><primary>GNOME</primary></indexterm>
<para><application>GNOME</application> is a user-friendly
desktop environment that enables users to easily use and
configure their computers. <application>GNOME</application>
includes a panel (for starting applications and displaying
status), a desktop (where data and applications can be
placed), a set of standard desktop tools and applications,
anda set of conventions that make it easy for applications
to cooperate and be consistent with each other. Users of
- other operating systems or environments should feel right
- at home using the powerful graphics-driven environment that
- <application>GNOME</application> provides. More
- information regarding <application>GNOME</application> on
- FreeBSD can be found on the <ulink
- url="http://www.FreeBSD.org/gnome">FreeBSD GNOME
- Project</ulink>'s web site. The web site also contains
- fairly comprehensive FAQs about installing, configuring,
- and managing <application>GNOME</application>.</para>
+ other operating systems or environments should feel right at
+ home using the powerful graphics-driven environment that
+ <application>GNOME</application> provides. More information
+ regarding <application>GNOME</application> on FreeBSD can be
+ found on the
+ <ulink url="http://www.FreeBSD.org/gnome">FreeBSD GNOME
+ Project</ulink>'s web site. The web site also contains
+ fairly comprehensive FAQs about installing, configuring, and
+ managing <application>GNOME</application>.</para>
</sect3>
<sect3 id="x11-wm-gnome-install">
<title>Installing GNOME</title>
<para>The software can be easily installed from a package
or the Ports Collection:</para>
<para>To install the <application>GNOME</application> package
from the network, simply type:</para>
<screen>&prompt.root; <userinput>pkg_add -r gnome2</userinput></screen>
+ <para>For <application>pkgng</application> users, the
+ equivalent command is:</para>
+
+ <screen>&prompt.root; <userinput>pkg install gnome2</userinput></screen>
+
<para>To build <application>GNOME</application> from source,
use the ports tree:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/x11/gnome2</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>For proper operation, <application>GNOME</application>
requires the <filename>/proc</filename> filesystem to be
- mounted. Add</para>
+ mounted. Add</para>
<programlisting>proc /proc procfs rw 0 0</programlisting>
<para>to <filename>/etc/fstab</filename> to mount
&man.procfs.5; automatically during
startup.</para>
<para>Once <application>GNOME</application> is installed,
the X server must be told to start
<application>GNOME</application> instead of a default window
manager.</para>
<para>The easiest way to start
<application>GNOME</application> is with
<application>GDM</application>, the GNOME Display Manager.
<application>GDM</application> is installed as part
of the <application>GNOME</application> desktop, although
it is disabled by default. It can be enabled by adding this
line to <filename>/etc/rc.conf</filename>:</para>
<programlisting>gdm_enable="YES"</programlisting>
- <para>Once you have rebooted,
- <application>GDM</application> will start
- automatically.</para>
+ <para>Once you have rebooted, <application>GDM</application>
+ will start automatically.</para>
<para>It is often desirable to start all
<application>GNOME</application> services together with
<application>GDM</application>. To achieve this, add the
following line to <filename>/etc/rc.conf</filename>:</para>
<programlisting>gnome_enable="YES"</programlisting>
<para><application>GNOME</application> may also be started
from the command-line by properly configuring a file named
- <filename>.xinitrc</filename>.
- If a custom <filename>.xinitrc</filename> is already in
- place, simply replace the line that starts the current
- window manager with one that starts
+ <filename>.xinitrc</filename>. If a custom
+ <filename>.xinitrc</filename> is already in place, simply
+ replace the line that starts the current window manager with
+ one that starts
<application>/usr/local/bin/gnome-session</application>
instead. If nothing special has been done to the
configuration file, then it is enough simply to type:</para>
<screen>&prompt.user; <userinput>echo "/usr/local/bin/gnome-session" &gt; ~/.xinitrc</userinput></screen>
<para>Next, type <command>startx</command>, and the
<application>GNOME</application> desktop environment will
be started.</para>
- <note><para>If an older display manager, like
- <application>XDM</application>, is being used, this will
- not work. Instead, create an executable
- <filename>.xsession</filename> file with the same command
- in it. To do this, edit the file and replace the existing
- window manager command with
- <application>/usr/local/bin/gnome-session</application>:
- </para></note>
+ <note>
+ <para>If an older display manager, like
+ <application>XDM</application>, is being used, this will
+ not work. Instead, create an executable
+ <filename>.xsession</filename> file with the same command
+ in it. To do this, edit the file and replace the existing
+ window manager command with
+ <application>/usr/local/bin/gnome-session</application>:</para>
+ </note>
<screen>&prompt.user; <userinput>echo "#!/bin/sh" &gt; ~/.xsession</userinput>
&prompt.user; <userinput>echo "/usr/local/bin/gnome-session" &gt;&gt; ~/.xsession</userinput>
&prompt.user; <userinput>chmod +x ~/.xsession</userinput></screen>
<para>Yet another option is to configure the display manager
to allow choosing the window manager at login time; the
section on
<link linkend="x11-wm-kde-details">KDE details</link>
explains how to do this for <application>KDM</application>,
the display manager of
<application>KDE</application>.</para>
</sect3>
</sect2>
<sect2 id="x11-wm-kde">
<title>KDE</title>
<indexterm><primary>KDE</primary></indexterm>
<sect3 id="x11-wm-kde-about">
<title>About KDE</title>
<para><application>KDE</application> is an easy to use
- contemporary desktop environment. Some of the things
- that <application>KDE</application> brings to the user
+ contemporary desktop environment. Some of the things that
+ <application>KDE</application> brings to the user
are:</para>
<itemizedlist>
<listitem>
<para>A beautiful contemporary desktop</para>
</listitem>
<listitem>
<para>A desktop exhibiting complete network
transparency</para>
</listitem>
<listitem>
<para>An integrated help system allowing for convenient,
consistent access to help on the use of the
<application>KDE</application> desktop and its
applications</para>
</listitem>
<listitem>
<para>Consistent look and feel of all
<application>KDE</application> applications</para>
</listitem>
<listitem>
<para>Standardized menu and toolbars, keybindings,
color-schemes, etc.</para>
</listitem>
<listitem>
<para>Internationalization: <application>KDE</application>
is available in more than 55 languages</para>
</listitem>
<listitem>
<para>Centralized, consistent, dialog-driven desktop
configuration</para>
</listitem>
<listitem>
<para>A great number of useful
<application>KDE</application> applications</para>
</listitem>
</itemizedlist>
<para><application>KDE</application> comes with a web
browser called <application>Konqueror</application>, which
is a solid competitor to other existing web browsers on
&unix; systems. More information on
- <application>KDE</application> can be found on the <ulink
- url="http://www.kde.org/">KDE website</ulink>. For FreeBSD
- specific information and resources on
- <application>KDE</application>, consult the <ulink
- url="http://freebsd.kde.org/">KDE/FreeBSD
- initiative</ulink>'s website.</para>
+ <application>KDE</application> can be found on the
+ <ulink url="http://www.kde.org/">KDE website</ulink>. For
+ FreeBSD specific information and resources on
+ <application>KDE</application>, consult the
+ <ulink url="http://freebsd.kde.org/">KDE/FreeBSD
+ initiative</ulink>'s website.</para>
</sect3>
<sect3 id="x11-wm-kde-install">
<title>Installing KDE</title>
<para>Just as with <application>GNOME</application> or any
other desktop environment, the software can be easily
installed from a package or the Ports Collection:</para>
+
<para>To install the <application>KDE 4</application> package
from the network, type:</para>
<screen>&prompt.root; <userinput>pkg_add -r kde4</userinput></screen>
<para>&man.pkg.add.1; will automatically fetch the latest
version of the application.</para>
<para>For <application>pkgng</application> users, the
equivalent command is:</para>
<screen>&prompt.root; <userinput>pkg install kde4</userinput></screen>
<para>To build <application>KDE</application> from source,
use the ports tree:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/x11/kde4</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>The first time the port is installed, a menu will be
- shown for selecting options.  Accepting the defaults is
+ shown for selecting options. Accepting the defaults is
recommended.</para>
<para><application>KDE 4</application> is a large application,
and will take quite some time to compile even on a fast
computer.</para>
<para>After <application>KDE</application> has been installed,
the X server must be told to launch this application
instead of the default window manager. This is accomplished
by editing the <filename>.xinitrc</filename> file:</para>
<screen>&prompt.user; <userinput>echo "exec /usr/local/kde4/bin/startkde" &gt; ~/.xinitrc</userinput></screen>
<para>Now, whenever the X Window System is invoked with
- <command>startx</command>,
- <application>KDE</application> will be the desktop.</para>
+ <command>startx</command>, <application>KDE</application>
+ will be the desktop.</para>
<para>If a display manager such as
<application>XDM</application> is being used, the
configuration is slightly different. Edit the
<filename>.xsession</filename> file instead. Instructions
for <application>KDM</application> are described later in
this chapter.</para>
</sect3>
</sect2>
<sect2 id="x11-wm-kde-details">
<title>More Details on KDE</title>
- <para>Now that <application>KDE</application> is installed
- on the system, most things can be discovered through the
- help pages, or just by pointing and clicking at various
- menus. &windows; or &mac; users will feel quite at
- home.</para>
+ <para>Now that <application>KDE</application> is installed on
+ the system, most things can be discovered through the help
+ pages, or just by pointing and clicking at various menus.
+ &windows; or &mac; users will feel quite at home.</para>
- <para>The best reference for <application>KDE</application>
- is the on-line documentation.
- <application>KDE</application> comes with its own web
- browser, <application>Konqueror</application>, dozens of
- useful applications, and extensive documentation. The
- remainder of this section discusses the technical items
- that are difficult to learn by random exploration.</para>
+ <para>The best reference for <application>KDE</application> is
+ the on-line documentation. <application>KDE</application>
+ comes with its own web browser,
+ <application>Konqueror</application>, dozens of useful
+ applications, and extensive documentation. The remainder of
+ this section discusses the technical items that are difficult
+ to learn by random exploration.</para>
<sect3 id="x11-wm-kde-kdm">
<title>The KDE Display Manager</title>
- <indexterm><primary>KDE</primary>
- <secondary>display manager</secondary></indexterm>
- <para>An administrator of a multi-user system may wish to
- have a graphical login screen to welcome users.
+ <indexterm>
+ <primary>KDE</primary>
+ <secondary>display manager</secondary>
+ </indexterm>
+ <para>An administrator of a multi-user system may wish to have
+ a graphical login screen to welcome users.
<link linkend="x-xdm">XDM</link> can be used, as described
earlier. However, <application>KDE</application> includes
an alternative, <application>KDM</application>, which is
designed to look more attractive and include more login-time
options. In particular, users can easily choose (via a
menu) which desktop environment
(<application>KDE</application>,
- <application>GNOME</application>, or something else) to
- run after logging on.</para>
+ <application>GNOME</application>, or something else) to run
+ after logging on.</para>
<para><application>KDE 4</application> requires that
&man.procfs.5; be mounted, and this line must be added to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>kdm4_enable="YES"</programlisting>
</sect3>
+ </sect2>
- </sect2>
+ <sect2 id="x11-wm-xfce">
+ <title>Xfce</title>
- <sect2 id="x11-wm-xfce">
- <title>Xfce</title>
- <sect3 id="x11-wm-xfce-about">
+ <sect3 id="x11-wm-xfce-about">
+ <title>About Xfce</title>
- <title>About Xfce</title>
-
<para><application>Xfce</application> is a desktop environment
- based on the GTK+
- toolkit used by <application>GNOME</application>, but is
- much more lightweight and meant for those who want a simple,
- efficient desktop which is nevertheless easy to use and
- configure. Visually, it looks very much like
+ based on the GTK+ toolkit used by
+ <application>GNOME</application>, but is much more
+ lightweight and meant for those who want a simple, efficient
+ desktop which is nevertheless easy to use and configure.
+ Visually, it looks very much like
<application>CDE</application>, found on commercial &unix;
systems. Some of <application>Xfce</application>'s features
are:</para>
- <itemizedlist>
- <listitem>
- <para>A simple, easy-to-handle desktop</para>
- </listitem>
+ <itemizedlist>
+ <listitem>
+ <para>A simple, easy-to-handle desktop</para>
+ </listitem>
- <listitem>
- <para>Fully configurable via mouse, with drag and
- drop, etc.</para>
- </listitem>
+ <listitem>
+ <para>Fully configurable via mouse, with drag and drop,
+ etc.</para>
+ </listitem>
- <listitem>
- <para>Main panel similar to
- <application>CDE</application>, with menus, applets
- and applications launchers</para>
- </listitem>
+ <listitem>
+ <para>Main panel similar to
+ <application>CDE</application>, with menus, applets and
+ applications launchers</para>
+ </listitem>
- <listitem>
- <para>Integrated window manager, file manager, sound
- manager, <application>GNOME</application> compliance
- module, and more</para>
- </listitem>
+ <listitem>
+ <para>Integrated window manager, file manager, sound
+ manager, <application>GNOME</application> compliance
+ module, and more</para>
+ </listitem>
- <listitem>
- <para>Themeable (since it uses GTK+)</para>
- </listitem>
+ <listitem>
+ <para>Themeable (since it uses GTK+)</para>
+ </listitem>
- <listitem>
- <para>Fast, light and efficient: ideal for older/slower
- machines or machines with memory limitations</para>
- </listitem>
- </itemizedlist>
+ <listitem>
+ <para>Fast, light and efficient: ideal for older/slower
+ machines or machines with memory limitations</para>
+ </listitem>
+ </itemizedlist>
- <para>More information on <application>Xfce</application>
- can be found on the <ulink url="http://www.xfce.org/">Xfce
- website</ulink>.</para>
- </sect3>
+ <para>More information on <application>Xfce</application>
+ can be found on the <ulink
+ url="http://www.xfce.org/">Xfce website</ulink>.</para>
+ </sect3>
- <sect3 id="x11-wm-xfce-install">
- <title>Installing Xfce</title>
+ <sect3 id="x11-wm-xfce-install">
+ <title>Installing Xfce</title>
- <para>A binary package for <application>Xfce</application>
- exists (at the time of writing). To install, simply
- type:</para>
+ <para>To install the <application>Xfce</application> from the
+ network, simply type:</para>
<screen>&prompt.root; <userinput>pkg_add -r xfce4</userinput></screen>
+ <para>For <application>pkgng</application> users, the
+ equivalent command is:</para>
+
+ <screen>&prompt.root; <userinput>pkg install xfce4</userinput></screen>
+
<para>Alternatively, to build from source, use the
Ports Collection:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/x11-wm/xfce4</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>Now, tell the X server to launch
<application>Xfce</application> the next time X is started.
- Simply type this:</para>
+ Simply type this:</para>
<screen>&prompt.user; <userinput>echo "/usr/local/bin/startxfce4" &gt; ~/.xinitrc</userinput></screen>
<para>The next time X is started,
- <application>Xfce</application> will be the desktop.
- As before, if a display manager like
+ <application>Xfce</application> will be the desktop. As
+ before, if a display manager like
<application>XDM</application> is being used, create an
- <filename>.xsession</filename>, as described in the
- section on <link linkend="x11-wm-gnome">GNOME</link>, but
- with the <filename>/usr/local/bin/startxfce4</filename>
- command; or, configure the display manager to allow
- choosing a desktop at login time, as explained in
- the section on
+ <filename>.xsession</filename>, as described in the section
+ on <link linkend="x11-wm-gnome">GNOME</link>, but with the
+ <filename>/usr/local/bin/startxfce4</filename> command; or,
+ configure the display manager to allow choosing a desktop at
+ login time, as explained in the section on
<link linkend="x11-wm-kde-kdm">kdm</link>.</para>
</sect3>
</sect2>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/porters-handbook/Makefile
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/porters-handbook/Makefile (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/porters-handbook/Makefile (revision 42804)
@@ -1,51 +1,52 @@
#
# $FreeBSD$
#
# Build the FreeBSD Porter's Handbook.
#
MAINTAINER=doc@FreeBSD.org
DOC?= book
FORMATS?= html-split
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
#
# SRCS lists the individual XML files that make up the document. Changes
# to any of these files will force a rebuild
#
# XML content
SRCS= book.xml
SRCS+= uses.xml
+SRCS+= versions.xml
# Images from the cross-document image library
IMAGES_LIB+= callouts/1.png
IMAGES_LIB+= callouts/2.png
IMAGES_LIB+= callouts/3.png
IMAGES_LIB+= callouts/4.png
IMAGES_LIB+= callouts/5.png
IMAGES_LIB+= callouts/6.png
IMAGES_LIB+= callouts/7.png
IMAGES_LIB+= callouts/8.png
IMAGES_LIB+= callouts/9.png
IMAGES_LIB+= callouts/10.png
IMAGES_LIB+= callouts/11.png
IMAGES_LIB+= callouts/12.png
IMAGES_LIB+= callouts/13.png
IMAGES_LIB+= callouts/14.png
IMAGES_LIB+= callouts/15.png
IMAGES_LIB+= callouts/16.png
IMAGES_LIB+= callouts/17.png
IMAGES_LIB+= callouts/18.png
IMAGES_LIB+= callouts/19.png
IMAGES_LIB+= callouts/20.png
IMAGES_LIB+= callouts/21.png
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/porters-handbook/book.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/porters-handbook/book.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/porters-handbook/book.xml (revision 42804)
@@ -1,17265 +1,12464 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
"../../../share/xml/freebsd45.dtd" [
<!ENTITY values.uses SYSTEM "uses.xml">
+<!ENTITY values.versions SYSTEM "versions.xml">
]>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<book lang='en'>
<bookinfo>
<title>FreeBSD Porter's Handbook</title>
<authorgroup>
<corpauthor>The FreeBSD Documentation Project</corpauthor>
</authorgroup>
<pubdate>$FreeBSD$</pubdate>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<year>2007</year>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<year>2012</year>
<year>2013</year>
<holder role="mailto:doc@FreeBSD.org">The FreeBSD Documentation
Project</holder>
</copyright>
&trademarks;
&legalnotice;
<releaseinfo>$FreeBSD$</releaseinfo>
</bookinfo>
<chapter id="why-port">
<title>Introduction</title>
<para>The FreeBSD ports collection is the way almost everyone
installs applications ("ports") on FreeBSD. Like everything
else about FreeBSD, it is primarily a volunteer effort.
It is important to keep this in mind when reading this
document.</para>
<para>In FreeBSD, anyone may submit a new port, or volunteer
to maintain an existing port if it is unmaintained&mdash;you
do not need any special commit privileges to do so.</para>
</chapter>
<chapter id="own-port">
<title>Making a New Port Yourself</title>
<para>So, you are interested in making your own port or
upgrading an existing one? Great!</para>
<para>What follows are some guidelines for creating a new port for
FreeBSD. If you want to upgrade an existing port, you should
read this and then read <xref linkend="port-upgrading"/>.</para>
<para>When this document is not sufficiently detailed, you should
refer to <filename>/usr/ports/Mk/bsd.port.mk</filename>, which
all port Makefiles include. Even if you do not hack Makefiles
daily, it is well commented, and you will still gain much
knowledge from it. Additionally, you may send specific
questions to the &a.ports;.</para>
<note>
<para>Only a fraction of the variables
(<makevar><replaceable>VAR</replaceable></makevar>) that can
be overridden are mentioned in this document. Most (if not
all) are documented at the start of
<filename>/usr/ports/Mk/bsd.port.mk</filename>; the others
probably ought to be. Note that this file uses a non-standard
tab setting: <application>Emacs</application> and
<application>Vim</application> should recognize the setting on
loading the file. Both &man.vi.1; and &man.ex.1; can be set
- to use the correct value by typing <command>:set
- tabstop=4</command> once the file has been loaded.</para>
+ to use the correct value by typing
+ <command>:set tabstop=4</command> once the file has been
+ loaded.</para>
</note>
<para>
Looking for something easy to start with? Take a look at the
<ulink url="http://wiki.freebsd.org/WantedPorts">list of
requested ports</ulink> and see if you can work on one (or
more).</para>
</chapter>
<chapter id="quick-porting">
<title>Quick Porting</title>
<para>This section tells you how to quickly create a new port. In
many cases, it is not sufficient, so you will have to read
further on into the document.</para>
<para>First, get the original tarball and put it into
<makevar>DISTDIR</makevar>, which defaults to
<filename>/usr/ports/distfiles</filename>.</para>
<note>
<para>The following assumes that the software compiled
out-of-the-box, i.e., there was absolutely no change required
for the port to work on your FreeBSD box. If you needed to
change something, you will have to refer to the next section
too.</para>
</note>
<sect1 id="porting-makefile">
<title>Writing the <filename>Makefile</filename></title>
<para>The minimal <filename>Makefile</filename> would look
something like this:</para>
<programlisting># &dollar;FreeBSD&dollar;
PORTNAME= oneko
PORTVERSION= 1.1b
CATEGORIES= games
MASTER_SITES= ftp://ftp.cs.columbia.edu/archives/X11R5/contrib/
MAINTAINER= asami@FreeBSD.org
COMMENT= Cat chasing a mouse all over the screen
MAN1= oneko.1
MANCOMPRESSED= yes
.include &lt;bsd.port.mk&gt;</programlisting>
<note>
<para>In some cases, the <filename>Makefile</filename> of an
existing port may contain additional lines in the header,
such as the name of the port and the date it was created.
This additional information has been declared obsolete, and
is being phased out.</para>
</note>
<para>See if you can figure it out. Do not worry about the
contents of the <literal>&dollar;FreeBSD&dollar;</literal>
line, it will be filled in automatically by SVN when the port
is imported to our main ports tree. You can find a more
- detailed example in the <link
- linkend="porting-samplem">sample Makefile</link>
+ detailed example in the
+ <link linkend="porting-samplem">sample Makefile</link>
section.</para>
</sect1>
<sect1 id="porting-desc">
<title>Writing the Description Files</title>
<para>There are two description files that are required for
any port, whether they actually package or not. They are
<filename>pkg-descr</filename> and
<filename>pkg-plist</filename>. Their
- <filename>pkg-</filename> prefix distinguishes them from
- other files.</para>
+ <filename>pkg-</filename> prefix distinguishes them from other
+ files.</para>
<sect2>
<title><filename>pkg-descr</filename></title>
<para>This is a longer description of the port. One to a few
paragraphs concisely explaining what the port does is
sufficient.</para>
<note>
<para>This is <emphasis>not</emphasis> a manual or an
in-depth description on how to use or compile the port!
<emphasis>Please be careful if you are copying from the
<filename>README</filename> or manpage</emphasis>; too
often they are not a concise description of the port or
are in an awkward format (e.g., manpages have justified
spacing, as it looks particularly bad with monospaced
fonts).</para>
</note>
<para>A well-written <filename>pkg-descr</filename> describes
the port completely enough that users would not have to
consult the documentation or visit the website to understand
what the software does, how it can be useful, or what
particularly nice features it has. Mentioning certain
requirements like a graphical toolkit, heavy dependencies,
runtime environment, or implementation languages help users
decide whether this port will work for them.</para>
- <para>Include a URL to the official WWW homepage.
- Prepend <emphasis>one</emphasis> of
- the websites (pick the most common one) with
- <literal>WWW:</literal> (followed by single space) so that
- automated tools will work correctly. If the URI is the root
- of the website or directory, it should be terminated with a
- slash.</para>
+ <para>Include a URL to the official WWW homepage. Prepend
+ <emphasis>one</emphasis> of the websites (pick the most
+ common one) with <literal>WWW:</literal> (followed by single
+ space) so that automated tools will work correctly. If the
+ URI is the root of the website or directory, it should be
+ terminated with a slash.</para>
<note>
<para>If the listed webpage for a port is not available, try
to search the Internet first to see if the official site
moved, was renamed, or is hosted elsewhere.</para>
</note>
<para>The following example shows how your
<filename>pkg-descr</filename> should look:</para>
<programlisting>This is a port of oneko, in which a cat chases a poor mouse all over
the screen.
:
(etc.)
WWW: http://www.oneko.org/</programlisting>
</sect2>
<sect2>
<title><filename>pkg-plist</filename></title>
<para>This file lists all the files installed by the port. It
is also called the <quote>packing list</quote> because the
package is generated by packing the files listed here. The
pathnames are relative to the installation prefix (usually
<filename>/usr/local</filename>. If you are using the
<makevar>MAN<replaceable>n</replaceable></makevar> variables
(as you should be), do not list any manpages here. If the
port creates directories during installation, make sure to
add <literal>@dirrm</literal> lines to remove them when the
package is deleted.</para>
<para>Here is a small example:</para>
<programlisting>bin/oneko
lib/X11/app-defaults/Oneko
lib/X11/oneko/cat1.xpm
lib/X11/oneko/cat2.xpm
lib/X11/oneko/mouse.xpm
@dirrm lib/X11/oneko</programlisting>
<para>Refer to the &man.pkg.create.1; manual page for details
on the packing list.</para>
<note>
<para>It is recommended that you keep all the filenames in
this file sorted alphabetically. It will make verifying
the changes when you upgrade the port much easier.</para>
</note>
<note>
<para>Creating a packing list manually can be a very tedious
task. If the port installs a large numbers of files,
<link linkend="plist-autoplist">creating the packing list
automatically</link> might save time.</para>
</note>
<para>There is only one case when
<filename>pkg-plist</filename> can be omitted from a port.
If the port installs just a handful of files, and perhaps
directories, the files and directories may be listed in the
variables <makevar>PLIST_FILES</makevar> and
<makevar>PLIST_DIRS</makevar>, respectively, within the
port's <filename>Makefile</filename>. For instance, we
could get along without <filename>pkg-plist</filename> in
the above <filename>oneko</filename> port by adding the
following lines to the <filename>Makefile</filename>:</para>
<programlisting>PLIST_FILES= bin/oneko \
lib/X11/app-defaults/Oneko \
lib/X11/oneko/cat1.xpm \
lib/X11/oneko/cat2.xpm \
lib/X11/oneko/mouse.xpm
PLIST_DIRS= lib/X11/oneko</programlisting>
<para>Of course, <makevar>PLIST_DIRS</makevar> should be left
unset if a port installs no directories of its own.</para>
+ <note>
+
+ <para>Several ports can share a common directory. In that
+ case, <makevar>PLIST_DIRS</makevar> should be replaced by
+ <makevar>PLIST_DIRSTRY</makevar> so that the directory is
+ removed only if empty, otherwise it is silently ignored.
+ <makevar>PLIST_DIRS</makevar> and
+ <makevar>PLIST_DIRSTRY</makevar> are equivalent to using
+ <literal>@dirrm</literal> and <literal>@dirrmtry</literal>
+ in <filename>pkg-plist</filename>, as described in
+ <xref linkend="plist-dir-cleaning"/>.</para>
+ </note>
+
<para>The price for this way of listing port's files and
directories is that you cannot use command sequences
described in &man.pkg.create.1;. Therefore, it is suitable
only for simple ports and makes them even simpler. At the
same time, it has the advantage of reducing the number of
files in the ports collection. Please consider using this
technique before you resort to
<filename>pkg-plist</filename>.</para>
<para>Later we will see how <filename>pkg-plist</filename>
and <makevar>PLIST_FILES</makevar> can be used to fulfill
<link linkend="plist">more sophisticated
tasks</link>.</para>
</sect2>
</sect1>
<sect1 id="porting-checksum">
<title>Creating the Checksum File</title>
<para>Just type <command>make makesum</command>. The ports make
rules will automatically generate the file
<filename>distinfo</filename>.</para>
<para>If a file fetched has its checksum changed regularly and
you are certain the source is trusted (i.e., it comes from
manufacturer CDs or documentation generated daily), you should
specify these files in the <makevar>IGNOREFILES</makevar>
variable. Then the checksum is not calculated for that file
when you run <command>make makesum</command>, but set to
<literal>IGNORE</literal>.</para>
</sect1>
<sect1 id="porting-testing">
<title>Testing the Port</title>
<para>You should make sure that the port rules do exactly what
you want them to do, including packaging up the port. These
are the important points you need to verify.</para>
<itemizedlist>
<listitem>
<para><filename>pkg-plist</filename> does not contain
anything not installed by your port</para>
</listitem>
<listitem>
<para><filename>pkg-plist</filename> contains everything
that is installed by your port</para>
</listitem>
<listitem>
<para>Your port can be installed multiple times using the
<maketarget>reinstall</maketarget> target</para>
</listitem>
<listitem>
<para>Your port <link linkend="plist-cleaning">cleans
up</link> after itself upon deinstall</para>
</listitem>
</itemizedlist>
<procedure>
<title>Recommended Test Ordering</title>
<step>
<para><command>make install</command></para>
</step>
<step>
<para><command>make package</command></para>
</step>
<step>
<para><command>make deinstall</command></para>
</step>
<step>
<para><command>pkg_add
<replaceable>package-name</replaceable></command></para>
</step>
<step>
<para><command>make deinstall</command></para>
</step>
<step>
<para><command>make reinstall</command></para>
</step>
<step>
<para><command>make package</command></para>
</step>
<step>
<para><command>make readme</command></para>
</step>
</procedure>
<para>Make sure that there are not any warnings issued in any of
the <maketarget>package</maketarget> and
<maketarget>deinstall</maketarget> stages. After step 3,
check to see if all the new directories are correctly deleted.
Also, try using the software after step 4, to ensure that it
works correctly when installed from a package.</para>
<para>The most thorough way to automate these steps is via
installing the <application>ports tinderbox</application>.
This maintains <literal>jails</literal> in which you can
test all of the above steps without changing the state of
your running system. Please see
<filename>ports/ports-mgmt/tinderbox</filename> for more
information.</para>
</sect1>
<sect1 id="porting-portlint">
<title>Checking Your Port with
<command>portlint</command></title>
<para>Please use <command>portlint</command> to see if your port
- conforms to our guidelines. The <filename
- role="package">ports-mgmt/portlint</filename> program is
- part of the ports collection. In particular, you may want to
- check if the <link linkend="porting-samplem">Makefile</link>
- is in the right shape and the <link
- linkend="porting-pkgname">package</link> is named
+ conforms to our guidelines. The
+ <filename role="package">ports-mgmt/portlint</filename>
+ program is part of the ports collection. In particular, you
+ may want to check if the
+ <link linkend="porting-samplem">Makefile</link> is in the
+ right shape and the
+ <link linkend="porting-pkgname">package</link> is named
appropriately.</para>
</sect1>
<sect1 id="porting-submitting">
<title>Submitting the New Port</title>
<para>Before you submit the new port, make sure you have read
- the <link
- linkend="porting-dads">DOs and DON'Ts</link> section.</para>
+ the <link linkend="porting-dads">DOs and DON'Ts</link>
+ section.</para>
<para>Now that you are happy with your port, the only thing
remaining is to put it in the main &os; ports tree and make
everybody else happy about it too. We do not need your
<filename>work</filename> directory or the
<filename>pkgname.tgz</filename> package, so delete them now.
Next, assuming your port is called oneko,
<command>cd</command> to the directory above where the
<literal>oneko</literal> directory is located, and then type
- the following: <command>shar `find oneko` &gt;
- oneko.shar</command></para>
+ the following:
+ <command>shar `find oneko` &gt; oneko.shar</command></para>
<para>Include your <literal>oneko.shar</literal> file in a bug
report and send it with the &man.send-pr.1; program (see
<ulink
url="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL">Bug
Reports and General Commentary</ulink> for more information
about &man.send-pr.1;). Be sure to classify the bug report
as category <literal>ports</literal> and class
<literal>change-request</literal> (Do not mark the report
<literal>confidential</literal>!). Also add a short
description of the program you ported to the
<quote>Description</quote> field of the PR (e.g., perhaps a
short version of the <makevar>COMMENT</makevar>), and add
the shar file to the <quote>Fix</quote> field.</para>
<note>
<para>You can make our work a lot easier, if you use a good
description in the synopsis of the problem report. We
prefer something like <quote>New port:
&lt;category&gt;/&lt;portname&gt; &lt;short description of
the port&gt;</quote> for new ports. If you stick to this
scheme, the chance that someone will take a look at your PR
soon is much better.</para>
</note>
<para>One more time, <emphasis>do not include the original
source distfile, the <filename>work</filename> directory, or
- the package you built with <command>make
- package</command></emphasis>; and, do use &man.shar.1; for
- new ports, not &man.diff.1;.</para>
+ the package you built with
+ <command>make package</command></emphasis>; and, do use
+ &man.shar.1; for new ports, not &man.diff.1;.</para>
<para>After you have submitted your port, please be patient.
Sometimes it can take a few months before a port is included
in &os;, although it might only take a few days. You can
view the list of <ulink
url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?category=ports">ports
PRs waiting to be committed to &os;</ulink>.</para>
<para>Once we have looked at your port, we will get back to you
if necessary, and put it in the tree. Your name will also
be added to the list of <ulink
url="&url.articles.contributors;/contrib-additional.html">Additional
FreeBSD Contributors</ulink> and other files.</para>
</sect1>
</chapter>
<chapter id="slow">
<title>Slow Porting</title>
<para>Ok, so it was not that simple, and the port required some
modifications to get it to work. In this section, we will
explain, step by step, how to modify it to get it to work with
the ports paradigm.</para>
<sect1 id="slow-work">
<title>How Things Work</title>
<para>First, this is the sequence of events which occurs when
the user first types <command>make</command> in your port's
directory. You may find that having
<filename>bsd.port.mk</filename> in another window while you
read this really helps to understand it.</para>
<para>But do not worry if you do not really understand what
<filename>bsd.port.mk</filename> is doing, not many people
do... <!-- smiley --><emphasis>:-)</emphasis></para>
<procedure>
<step>
<para>The <maketarget>fetch</maketarget> target is run. The
<maketarget>fetch</maketarget> target is responsible for
making sure that the tarball exists locally in
<makevar>DISTDIR</makevar>. If
<maketarget>fetch</maketarget> cannot find the required
files in <makevar>DISTDIR</makevar> it will look up the
URL <makevar>MASTER_SITES</makevar>, which is set in the
Makefile, as well as our main FTP site at <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/"></ulink>,
where we put sanctioned distfiles as backup. It will then
attempt to fetch the named distribution file with
<makevar>FETCH</makevar>, assuming that the requesting
site has direct access to the Internet. If that succeeds,
it will save the file in <makevar>DISTDIR</makevar> for
future use and proceed.</para>
</step>
<step>
<para>The <maketarget>extract</maketarget> target is run.
It looks for your port's distribution file (typically a
<command>gzip</command>ped tarball) in
<makevar>DISTDIR</makevar> and unpacks it into a temporary
subdirectory specified by <makevar>WRKDIR</makevar>
(defaults to <filename>work</filename>).</para>
</step>
<step>
<para>The <maketarget>patch</maketarget> target is run.
First, any patches defined in
<makevar>PATCHFILES</makevar> are applied. Second, if any
patch files named
<filename>patch-<replaceable>*</replaceable></filename>
are found in <makevar>PATCHDIR</makevar> (defaults to the
<filename>files</filename> subdirectory), they are applied
at this time in alphabetical order.</para>
</step>
<step>
<para>The <maketarget>configure</maketarget> target is run.
This can do any one of many different things.</para>
<orderedlist>
<listitem>
<para>If it exists,
<filename>scripts/configure</filename> is run.</para>
</listitem>
<listitem>
<para>If <makevar>HAS_CONFIGURE</makevar> or
<makevar>GNU_CONFIGURE</makevar> is set,
<filename><makevar>WRKSRC</makevar>/configure</filename>
is run.</para>
</listitem>
</orderedlist>
</step>
<step>
<para>The <maketarget>build</maketarget> target is run.
This is responsible for descending into the port's private
working directory (<makevar>WRKSRC</makevar>) and building
it. If <makevar>USES= gmake</makevar> is set, GNU
<command>make</command> will be used, otherwise the system
<command>make</command> will be used.</para>
</step>
</procedure>
<para>The above are the default actions. In addition, you can
define targets
<maketarget>pre-<replaceable>something</replaceable></maketarget>
or
<maketarget>post-<replaceable>something</replaceable></maketarget>,
or put scripts with those names, in the
<filename>scripts</filename> subdirectory, and they will be
run before or after the default actions are done.</para>
<para>For example, if you have a
<maketarget>post-extract</maketarget> target defined in your
<filename>Makefile</filename>, and a file
<filename>pre-build</filename> in the
<filename>scripts</filename> subdirectory, the
<maketarget>post-extract</maketarget> target will be called
after the regular extraction actions, and the
<filename>pre-build</filename> script will be executed before
the default build rules are done. It is recommended that you
use <filename>Makefile</filename> targets if the actions are
simple enough, because it will be easier for someone to figure
out what kind of non-default action the port requires.</para>
<para>The default actions are done by the
<filename>bsd.port.mk</filename> targets
<maketarget>do-<replaceable>something</replaceable></maketarget>.
For example, the commands to extract a port are in the target
<maketarget>do-extract</maketarget>. If you are not happy
with the default target, you can fix it by redefining the
<maketarget>do-<replaceable>something</replaceable></maketarget>
target in your <filename>Makefile</filename>.</para>
<note>
<para>The <quote>main</quote> targets (e.g.,
<maketarget>extract</maketarget>,
<maketarget>configure</maketarget>, etc.) do nothing more
than make sure all the stages up to that one are completed
and call the real targets or scripts, and they are not
intended to be changed. If you want to fix the extraction,
fix <maketarget>do-extract</maketarget>, but never ever
change the way <maketarget>extract</maketarget>
operates! Additionally, the target
<maketarget>post-deinstall</maketarget> is invalid and
is not run by the ports infrastructure.</para>
</note>
<para>Now that you understand what goes on when the user types
<command>make</command>, let us go through the recommended
steps to create the perfect port.</para>
</sect1>
<sect1 id="slow-sources">
<title>Getting the Original Sources</title>
<para>Get the original sources (normally) as a compressed
tarball
(<filename><replaceable>foo</replaceable>.tar.gz</filename> or
<filename><replaceable>foo</replaceable>.tar.bz2</filename>)
and copy it into <makevar>DISTDIR</makevar>. Always use
<emphasis>mainstream</emphasis> sources when and where you
can.</para>
<para>You will need to set the variable
<makevar>MASTER_SITES</makevar> to reflect where the original
tarball resides. You will find convenient shorthand
definitions for most mainstream sites in
<filename>bsd.sites.mk</filename>. Please use these
sites&mdash;and the associated definitions&mdash;if at all
possible, to help avoid the problem of having the same
information repeated over again many times in the source base.
As these sites tend to change over time, this becomes a
maintenance nightmare for everyone involved.</para>
<para>If you cannot find a FTP/HTTP site that is well-connected
to the net, or can only find sites that have irritatingly
non-standard formats, you might want to put a copy on a
reliable FTP or HTTP server that you control (e.g., your home
page).</para>
<para>If you cannot find somewhere convenient and reliable to
put the distfile we can <quote>house</quote> it ourselves on
<hostid>ftp.FreeBSD.org</hostid>; however, this is the
least-preferred solution. The distfile must be placed into
<filename>~/public_distfiles/</filename> of someone's
<hostid>freefall</hostid> account. Ask the person who commits
your port to do this. This person will also set
<makevar>MASTER_SITES</makevar> to
<makevar>MASTER_SITE_LOCAL</makevar> and
<makevar>MASTER_SITE_SUBDIR</makevar> to their
<hostid>freefall</hostid> username.</para>
<para>If your port's distfile changes all the time without any
kind of version update by the author, consider putting the
distfile on your home page and listing it as the first
<makevar>MASTER_SITES</makevar>. If you can, try to talk the
port author out of doing this; it really does help to
establish some kind of source code control. Hosting your own
- version will prevent users from getting <errorname>checksum
- mismatch</errorname> errors, and also reduce the workload of
- maintainers of our FTP site. Also, if there is only one
- master site for the port, it is recommended that you house a
- backup at your site and list it as the second
+ version will prevent users from getting
+ <errorname>checksum mismatch</errorname> errors, and also
+ reduce the workload of maintainers of our FTP site. Also, if
+ there is only one master site for the port, it is recommended
+ that you house a backup at your site and list it as the second
<makevar>MASTER_SITES</makevar>.</para>
<para>If your port requires some additional `patches' that are
available on the Internet, fetch them too and put them in
<makevar>DISTDIR</makevar>. Do not worry if they come from a
site other than where you got the main source tarball, we have
- a way to handle these situations (see the description of <link
- linkend="porting-patchfiles">PATCHFILES</link>
+ a way to handle these situations (see the description of
+ <link linkend="porting-patchfiles">PATCHFILES</link>
below).</para>
</sect1>
<sect1 id="slow-modifying">
<title>Modifying the Port</title>
<para>Unpack a copy of the tarball in a private directory and
make whatever changes are necessary to get the port to compile
properly under the current version of &os;. Keep
<emphasis>careful track</emphasis> of everything you do, as
you will be automating the process shortly. Everything,
including the deletion, addition, or modification of files
should be doable using an automated script or patch file when
your port is finished.</para>
<para>If your port requires significant user
interaction/customization to compile or install, you should
take a look at one of Larry Wall's classic
<application>Configure</application> scripts and perhaps do
something similar yourself. The goal of the new ports
collection is to make each port as
<quote>plug-and-play</quote> as possible for the end-user
while using a minimum of disk space.</para>
<note>
<para>Unless explicitly stated, patch files, scripts, and
other files you have created and contributed to the &os;
ports collection are assumed to be covered by the standard
BSD copyright conditions.</para>
</note>
</sect1>
<sect1 id="slow-patch">
<title>Patching</title>
<para>In the preparation of the port, files that have been added
or changed can be picked up with a &man.diff.1; for later
feeding to &man.patch.1;. Each patch you wish to apply should
be saved into a file named
<filename>patch-<replaceable>*</replaceable></filename> where
<replaceable>*</replaceable> indicates the pathname of the
file that is patched, such as
<filename>patch-Imakefile</filename> or
<filename>patch-src-config.h</filename>. These files should
be stored in <makevar>PATCHDIR</makevar> (usually
<filename>files/</filename>, from where they will be
automatically applied. All patches must be relative to
<makevar>WRKSRC</makevar> (generally the directory your port's
tarball unpacks itself into, that being where the build is
done). To make fixes and upgrades easier, you should avoid
having more than one patch fix the same file (e.g.,
<filename>patch-file</filename> and
<filename>patch-file2</filename> both changing
<filename><makevar>WRKSRC</makevar>/foobar.c</filename>).
Note that if the path of a patched file contains an underscore
(<literal>_</literal>) character, the patch needs to have two
underscores instead in its name. For example, to patch a file
named <filename>src/freeglut_joystick.c</filename>, the
corresponding patch should be named
<filename>patch-src-freeglut__joystick.c</filename>.</para>
<para>Please only use characters
<literal>[-+._a-zA-Z0-9]</literal> for naming your patches.
Do not use any other characters besides them. Do not name
your patches like <filename>patch-aa</filename> or
<filename>patch-ab</filename> etc, always mention the path and
file name in patch names.</para>
<para>Do not put RCS strings in patches. SVN will mangle them
when we put the files into the ports tree, and when we check
them out again, they will come out different and the patch
will fail. RCS strings are surrounded by dollar
(<literal>&dollar;</literal>) signs, and typically start with
<literal>&dollar;Id</literal> or
<literal>&dollar;RCS</literal>.</para>
<para>Using the recurse (<option>-r</option>) option to
&man.diff.1; to generate patches is fine, but please take a
look at the resulting patches to make sure you do not have any
unnecessary junk in there. In particular, diffs between two
backup files, <filename>Makefile</filename>s when the port
uses <command>Imake</command> or GNU
<command>configure</command>, etc., are unnecessary and should
be deleted. If you had to edit
<filename>configure.in</filename> and run
<command>autoconf</command> to regenerate
<command>configure</command>, do not take the diffs of
<command>configure</command> (it often grows to a few thousand
lines!); define <literal>USE_AUTOTOOLS=autoconf:261</literal>
and take the diffs of
<filename>configure.in</filename>.</para>
<para>Also, try to minimize the amount of non-functional
whitespace changes in your patches. It is common in the Open
Source world for projects to share large amounts of a code
base, but obey different style and indenting rules. If you
take a working piece of functionality from one project to fix
similar areas in another, please be careful: the resulting
line patch may be full of non-functional changes. It not only
increases the size of the SVN repository but makes it hard to
find out what exactly caused the problem and what you changed
at all.</para>
<para>If you had to delete a file, then you can do it in the
<maketarget>post-extract</maketarget> target rather than as
part of the patch.</para>
<para>Simple replacements can be performed directly from the
port <filename>Makefile</filename> using the in-place mode of
&man.sed.1;. This is very useful when you need to patch in a
variable value. Example:</para>
<programlisting>post-patch:
@${REINPLACE_CMD} -e 's|for Linux|for FreeBSD|g' ${WRKSRC}/README</programlisting>
<para>Quite often, there is a situation when the software being
ported, especially if it is primarily developed on &windows;,
uses the CR/LF convention for most of its source files. This
may cause problems with further patching, compiler warnings,
scripts execution (<command>/bin/sh^M</command> not found),
etc. To quickly convert all files from CR/LF to just LF, add
<literal>USE_DOS2UNIX=yes</literal> to the port
<filename>Makefile</filename>. A list of files to convert can
be specified:</para>
<programlisting>USE_DOS2UNIX= util.c util.h</programlisting>
<para>If you want to convert a group of files across
subdirectories, <makevar>DOS2UNIX_REGEX</makevar> can be used.
Its argument is a <command>find</command> compatible regular
expression. More on the format is in &man.re.format.7;. This
option is useful for converting all files of a given
extension, for example all source code files leaving binary
files intact:</para>
<programlisting>USE_DOS2UNIX= yes
DOS2UNIX_REGEX= .*\.(c|cpp|h)</programlisting>
<para>If you want to create a patch file based off of an
existing file, you can copy it with an
<filename>.orig</filename> extension, and then modify the
original one. The <maketarget>makepatch</maketarget> target
will write out an appropriate patch file to the <filename
class="directory">files</filename> directory of the
port.</para>
</sect1>
<sect1 id="slow-configure">
<title>Configuring</title>
<para>Include any additional customization commands in your
<filename>configure</filename> script and save it in the
<filename>scripts</filename> subdirectory. As mentioned
above, you can also do this with <filename>Makefile</filename>
targets and/or scripts with the name
<filename>pre-configure</filename> or
<filename>post-configure</filename>.</para>
</sect1>
<sect1 id="slow-user-input">
<title>Handling User Input</title>
<para>If your port requires user input to build, configure, or
install, you must set <makevar>IS_INTERACTIVE</makevar> in
your <filename>Makefile</filename>. This will allow
<quote>overnight builds</quote> to skip your port if the user
sets the variable <envar>BATCH</envar> in his environment (and
if the user sets the variable <envar>INTERACTIVE</envar>, then
<emphasis>only</emphasis> those ports requiring interaction
are built). This will save a lot of wasted time on the set of
machines that continually build ports (see below).</para>
<para>It is also recommended that if there are reasonable
default answers to the questions, you check the
<makevar>PACKAGE_BUILDING</makevar> variable and turn off the
interactive script when it is set. This will allow us to
build the packages for CDROMs and FTP.</para>
</sect1>
</chapter>
<chapter id="makefile">
<title>Configuring the Makefile</title>
<para>Configuring the <filename>Makefile</filename> is pretty
simple, and again we suggest that you look at existing examples
- before starting. Also, there is a <link
- linkend="porting-samplem">sample Makefile</link> in this
+ before starting. Also, there is a
+ <link linkend="porting-samplem">sample Makefile</link> in this
handbook, so take a look and please follow the ordering of
variables and sections in that template to make your port easier
for others to read.</para>
<para>Now, consider the following problems in sequence as you
design your new <filename>Makefile</filename>:</para>
<sect1 id="makefile-source">
<title>The Original Source</title>
<para>Does it live in <makevar>DISTDIR</makevar> as a standard
<command>gzip</command>ped tarball named something like
<filename>foozolix-1.2.tar.gz</filename>? If so, you can go on
to the next step. If not, you should look at overriding any
of the <makevar>DISTVERSION</makevar>,
<makevar>DISTNAME</makevar>, <makevar>EXTRACT_CMD</makevar>,
<makevar>EXTRACT_BEFORE_ARGS</makevar>,
<makevar>EXTRACT_AFTER_ARGS</makevar>,
<makevar>EXTRACT_SUFX</makevar>, or
<makevar>DISTFILES</makevar> variables, depending on how alien
a format your port's distribution file is.</para>
<para>In the worst case, you can simply create your own
<maketarget>do-extract</maketarget> target to override the
default, though this should be rarely, if ever,
necessary.</para>
</sect1>
<sect1 id="makefile-naming">
<title>Naming</title>
<para>The first part of the port's <filename>Makefile</filename>
names the port, describes its version number, and lists it
in the correct category.</para>
<sect2>
<title><makevar>PORTNAME</makevar> and
<makevar>PORTVERSION</makevar></title>
<para>You should set <makevar>PORTNAME</makevar> to the
base name of your port, and <makevar>PORTVERSION</makevar>
to the version number of the port.</para>
</sect2>
<sect2 id="makefile-naming-revepoch">
<title><makevar>PORTREVISION</makevar> and
<makevar>PORTEPOCH</makevar></title>
<sect3>
<title><makevar>PORTREVISION</makevar></title>
<para>The <makevar>PORTREVISION</makevar> variable is a
monotonically increasing value which is reset to 0 with
every increase of <makevar>PORTVERSION</makevar> (i.e.,
every time a new official vendor release is made), and
appended to the package name if non-zero. Changes to
<makevar>PORTREVISION</makevar> are used by automated
tools (e.g., &man.pkg.version.1;) to highlight the fact
that a new package is available.</para>
<para><makevar>PORTREVISION</makevar> should be increased
each time a change is made to the port which significantly
affects the content or structure of the derived
package.</para>
<para>Examples of when <makevar>PORTREVISION</makevar>
should be bumped:</para>
<itemizedlist>
<listitem>
<para>Addition of patches to correct security
vulnerabilities, bugs, or to add new functionality to
the port.</para>
</listitem>
<listitem>
<para>Changes to the port <filename>Makefile</filename>
to enable or disable compile-time options in the
package.</para>
</listitem>
<listitem>
<para>Changes in the packing list or the install-time
behavior of the package (e.g., change to a script
which generates initial data for the package, like ssh
host keys).</para>
</listitem>
<listitem>
<para>Version bump of a port's shared library dependency
(in this case, someone trying to install the old
package after installing a newer version of the
dependency will fail since it will look for the old
libfoo.x instead of libfoo.(x+1)).</para>
</listitem>
<listitem>
<para>Silent changes to the port distfile which have
significant functional differences, i.e., changes to
the distfile requiring a correction to
<filename>distinfo</filename> with no corresponding
change to <makevar>PORTVERSION</makevar>, where a
<command>diff -ru</command> of the old and new
versions shows non-trivial changes to the code.</para>
</listitem>
</itemizedlist>
<para>Examples of changes which do not require a
<makevar>PORTREVISION</makevar> bump:</para>
<itemizedlist>
<listitem>
<para>Style changes to the port skeleton with no
functional change to what appears in the resulting
package.</para>
</listitem>
<listitem>
<para>Changes to <makevar>MASTER_SITES</makevar> or
other functional changes to the port which do not
affect the resulting package.</para>
</listitem>
<listitem>
<para>Trivial patches to the distfile such as correction
of typos, which are not important enough that users of
the package should go to the trouble of
upgrading.</para>
</listitem>
<listitem>
<para>Build fixes which cause a package to become
compilable where it was previously failing (as long as
the changes do not introduce any functional change on
any other platforms on which the port did previously
build). Since <makevar>PORTREVISION</makevar>
reflects the content of the package, if the package
was not previously buildable then there is no need to
increase <makevar>PORTREVISION</makevar> to mark a
change.</para>
</listitem>
</itemizedlist>
<para>A rule of thumb is to ask yourself whether a change
committed to a port is something which everyone would
benefit from having (either because of an enhancement,
fix, or by virtue that the new package will actually work
at all), and weigh that against that fact that it will
cause everyone who regularly updates their ports tree to
be compelled to update. If yes, the
<makevar>PORTREVISION</makevar> should be bumped.</para>
</sect3>
<sect3>
<title><makevar>PORTEPOCH</makevar></title>
<para>From time to time a software vendor or FreeBSD porter
will do something silly and release a version of their
software which is actually numerically less than the
previous version. An example of this is a port which goes
from foo-20000801 to foo-1.0 (the former will be
incorrectly treated as a newer version since 20000801 is a
numerically greater value than 1).</para>
<tip>
<para>The results of version number comparisons are not
always obvious. &man.pkg.version.1; can be used to test
the comparison of two version number strings. The
<application>pkgng</application> equivalent is
<command>pkg version -t</command>. For example:</para>
<screen>&prompt.user; <userinput>pkg_version -t 0.031 0.29</userinput>
></screen>
<para>Or, for <application>pkgng</application>
users:</para>
<screen>&prompt.user; <userinput>pkg version -t 0.031 0.29</userinput>
></screen>
<para>The <literal>&gt;</literal> output indicates that
version 0.031 is considered greater than version 0.29,
which may not have been obvious to the porter.</para>
</tip>
<para>In situations such as this, the
<makevar>PORTEPOCH</makevar> version should be increased.
If <makevar>PORTEPOCH</makevar> is nonzero it is appended
to the package name as described in section 0 above.
<makevar>PORTEPOCH</makevar> must never be decreased or
reset to zero, because that would cause comparison to a
package from an earlier epoch to fail (i.e., the package
would not be detected as out of date): the new version
number (e.g., <literal>1.0,1</literal> in the above
example) is still numerically less than the previous
version (20000801), but the <literal>,1</literal> suffix
is treated specially by automated tools and found to be
greater than the implied suffix <literal>,0</literal> on
the earlier package.</para>
<para>Dropping or resetting <makevar>PORTEPOCH</makevar>
incorrectly leads to no end of grief; if you do not
understand the above discussion, please keep after it
until you do, or ask questions on the mailing
lists.</para>
<para>It is expected that <makevar>PORTEPOCH</makevar> will
not be used for the majority of ports, and that sensible
use of <makevar>PORTVERSION</makevar> can often preempt it
becoming necessary if a future release of the software
should change the version structure. However, care is
needed by FreeBSD porters when a vendor release is made
without an official version number &mdash; such as a code
<quote>snapshot</quote> release. The temptation is to
label the release with the release date, which will cause
problems as in the example above when a new
<quote>official</quote> release is made.</para>
<para>For example, if a snapshot release is made on the date
20000917, and the previous version of the software was
version 1.2, the snapshot release should be given a
<makevar>PORTVERSION</makevar> of 1.2.20000917 or similar,
not 20000917, so that the succeeding release, say 1.3, is
still a numerically greater value.</para>
</sect3>
<sect3>
<title>Example of <makevar>PORTREVISION</makevar> and
<makevar>PORTEPOCH</makevar> Usage</title>
<para>The <literal>gtkmumble</literal> port, version
<literal>0.10</literal>, is committed to the ports
collection:</para>
<programlisting>PORTNAME= gtkmumble
PORTVERSION= 0.10</programlisting>
<para><makevar>PKGNAME</makevar> becomes
<literal>gtkmumble-0.10</literal>.</para>
<para>A security hole is discovered which requires a local
FreeBSD patch. <makevar>PORTREVISION</makevar> is bumped
accordingly.</para>
<programlisting>PORTNAME= gtkmumble
PORTVERSION= 0.10
PORTREVISION= 1</programlisting>
<para><makevar>PKGNAME</makevar> becomes
<literal>gtkmumble-0.10_1</literal></para>
<para>A new version is released by the vendor, numbered
<literal>0.2</literal> (it turns out the author actually
intended <literal>0.10</literal> to actually mean
- <literal>0.1.0</literal>, not <quote>what comes after
- 0.9</quote> - oops, too late now). Since the new minor
- version <literal>2</literal> is numerically less than the
- previous version <literal>10</literal>, the
- <makevar>PORTEPOCH</makevar> must be bumped to manually
- force the new package to be detected as
- <quote>newer</quote>. Since it is a new vendor release of
- the code, <makevar>PORTREVISION</makevar> is reset to 0
- (or removed from the
- <filename>Makefile</filename>).</para>
+ <literal>0.1.0</literal>, not
+ <quote>what comes after 0.9</quote> - oops, too late now).
+ Since the new minor version <literal>2</literal> is
+ numerically less than the previous version
+ <literal>10</literal>, the <makevar>PORTEPOCH</makevar>
+ must be bumped to manually force the new package to be
+ detected as <quote>newer</quote>. Since it is a new
+ vendor release of the code,
+ <makevar>PORTREVISION</makevar> is reset to 0 (or removed
+ from the <filename>Makefile</filename>).</para>
<programlisting>PORTNAME= gtkmumble
PORTVERSION= 0.2
PORTEPOCH= 1</programlisting>
<para><makevar>PKGNAME</makevar> becomes
<literal>gtkmumble-0.2,1</literal></para>
<para>The next release is 0.3. Since
<makevar>PORTEPOCH</makevar> never decreases, the version
variables are now:</para>
<programlisting>PORTNAME= gtkmumble
PORTVERSION= 0.3
PORTEPOCH= 1</programlisting>
<para><makevar>PKGNAME</makevar> becomes
<literal>gtkmumble-0.3,1</literal></para>
<note>
<para>If <makevar>PORTEPOCH</makevar> were reset to
<literal>0</literal> with this upgrade, someone who had
installed the <literal>gtkmumble-0.10_1</literal>
package would not detect the
<literal>gtkmumble-0.3</literal> package as newer, since
<literal>3</literal> is still numerically less than
<literal>10</literal>. Remember, this is the whole
point of <makevar>PORTEPOCH</makevar> in the first
place.</para>
</note>
</sect3>
</sect2>
<sect2>
<title><makevar>PKGNAMEPREFIX</makevar> and
<makevar>PKGNAMESUFFIX</makevar></title>
<para>Two optional variables, <makevar>PKGNAMEPREFIX</makevar>
and <makevar>PKGNAMESUFFIX</makevar>, are combined with
<makevar>PORTNAME</makevar> and
<makevar>PORTVERSION</makevar> to form
<makevar>PKGNAME</makevar> as
<literal>${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}</literal>.
- Make sure this conforms to our <link
- linkend="porting-pkgname">guidelines for a good package
- name</link>. In particular, you are
+ Make sure this conforms to our
+ <link linkend="porting-pkgname">guidelines for a good
+ package name</link>. In particular, you are
<emphasis>not</emphasis> allowed to use a hyphen
(<literal>-</literal>) in <makevar>PORTVERSION</makevar>.
Also, if the package name has the
<replaceable>language-</replaceable> or the
<replaceable>-compiled.specifics</replaceable> part (see
below), use <makevar>PKGNAMEPREFIX</makevar> and
<makevar>PKGNAMESUFFIX</makevar>, respectively. Do not make
them part of <makevar>PORTNAME</makevar>.</para>
</sect2>
<sect2>
<title><makevar>LATEST_LINK</makevar></title>
<para><makevar>LATEST_LINK</makevar> is used during package
building to determine a shortened name to create links that
can be used by <command>pkg_add -r</command>. This makes it
possible to, for example, install the latest perl version by
running <command>pkg_add -r perl</command> without knowing
the exact version number. This name needs to be unique and
obvious to users.</para>
<para>In some cases, several versions of a program may be
present in the ports collection at the same time. Both the
index build and the package build system need to be able to
see them as different, independent ports, although they may
all have the same <makevar>PORTNAME</makevar>,
<makevar>PKGNAMEPREFIX</makevar>, and even
<makevar>PKGNAMESUFFIX</makevar>. In those cases, the
optional <makevar>LATEST_LINK</makevar> variable should be
set to a different value for all ports except the
<quote>main</quote> one &mdash; see the
<filename>lang/gcc46</filename> and
<filename>lang/gcc</filename> ports, and the
<filename>www/apache*</filename> family for examples of its
use. By setting <makevar>NO_LATEST_LINK</makevar>, no link
will be generated, which may be an option for all but the
<quote>main</quote> version. Note that how to choose a
- <quote>main</quote> version &mdash; <quote>most
- popular</quote>, <quote>best supported</quote>,
+ <quote>main</quote> version &mdash;
+ <quote>most popular</quote>, <quote>best supported</quote>,
<quote>least patched</quote>, and so on &mdash; is outside
the scope of this handbook's recommendations; we only tell
you how to specify the other ports' versions after you have
picked a <quote>main</quote> one.</para>
</sect2>
<sect2 id="porting-pkgname">
<title>Package Naming Conventions</title>
<para>The following are the conventions you should follow in
naming your packages. This is to have our package directory
easy to scan, as there are already thousands of packages and
users are going to turn away if they hurt their eyes!</para>
<para>The package name should look like
<filename><replaceable><optional>language<optional>_region</optional></optional>-name<optional><optional>-</optional>compiled.specifics</optional>-version.numbers</replaceable></filename>.</para>
<para>The package name is defined as
<literal>${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}</literal>.
Make sure to set the variables to conform to that
format.</para>
<orderedlist>
<listitem>
<para>FreeBSD strives to support the native language of
its users. The <replaceable>language-</replaceable>
part should be a two letter abbreviation of the natural
language defined by ISO-639 if the port is specific to a
certain language. Examples are <literal>ja</literal>
for Japanese, <literal>ru</literal> for Russian,
<literal>vi</literal> for Vietnamese,
<literal>zh</literal> for Chinese, <literal>ko</literal>
for Korean and <literal>de</literal> for German.</para>
<para>If the port is specific to a certain region within
the language area, add the two letter country code as
well. Examples are <literal>en_US</literal> for US
English and <literal>fr_CH</literal> for Swiss
French.</para>
<para>The <replaceable>language-</replaceable> part should
be set in the <makevar>PKGNAMEPREFIX</makevar>
variable.</para>
</listitem>
<listitem>
<para>The first letter of the <filename>name</filename>
part should be lowercase. (The rest of the name may
contain capital letters, so use your own discretion when
you are converting a software name that has some capital
letters in it.) There is a tradition of naming
<literal>Perl 5</literal> modules by prepending
<literal>p5-</literal> and converting the double-colon
separator to a hyphen; for example, the
<literal>Data::Dumper</literal> module becomes
<literal>p5-Data-Dumper</literal>.</para>
</listitem>
<listitem>
<para>Make sure that the port's name and version are
clearly separated and placed into the
<makevar>PORTNAME</makevar> and
<makevar>PORTVERSION</makevar> variables. The only
reason for <makevar>PORTNAME</makevar> to contain a
version part is if the upstream distribution is really
named that way, as in the
<filename>textproc/libxml2</filename> or
<filename>japanese/kinput2-freewnn</filename> ports.
Otherwise, the <makevar>PORTNAME</makevar> should not
contain any version-specific information. It is quite
normal for several ports to have the same
<makevar>PORTNAME</makevar>, as the
<filename>www/apache*</filename> ports do; in that case,
different versions (and different index entries) are
distinguished by the <makevar>PKGNAMEPREFIX</makevar>,
<makevar>PKGNAMESUFFIX</makevar>, and
<makevar>LATEST_LINK</makevar> values.</para>
</listitem>
<listitem>
<para>If the port can be built with different <link
linkend="makefile-masterdir">hardcoded defaults</link>
(usually part of the directory name in a family of
ports), the
<replaceable>-compiled.specifics</replaceable> part
should state the compiled-in defaults (the hyphen is
optional). Examples are paper size and font
units.</para>
<para>The <replaceable>-compiled.specifics</replaceable>
part should be set in the
<makevar>PKGNAMESUFFIX</makevar> variable.</para>
</listitem>
<listitem>
<para>The version string should follow a dash
(<literal>-</literal>) and be a period-separated list of
integers and single lowercase alphabetics. In
particular, it is not permissible to have another dash
inside the version string. The only exception is the
string <literal>pl</literal> (meaning
<quote>patchlevel</quote>), which can be used
<emphasis>only</emphasis> when there are no major and
minor version numbers in the software. If the software
version has strings like <quote>alpha</quote>,
<quote>beta</quote>, <quote>rc</quote>, or
<quote>pre</quote>, take the first letter and put it
immediately after a period. If the version string
continues after those names, the numbers should follow
the single alphabet without an extra period between
them.</para>
<para>The idea is to make it easier to sort ports by
looking at the version string. In particular, make sure
version number components are always delimited by a
period, and if the date is part of the string, use the
<literal>0.0.<replaceable>yyyy</replaceable>.<replaceable>mm</replaceable>.<replaceable>dd</replaceable></literal>
format, not
<literal><replaceable>dd</replaceable>.<replaceable>mm</replaceable>.<replaceable>yyyy</replaceable></literal>
or the non-Y2K compliant
<literal><replaceable>yy</replaceable>.<replaceable>mm</replaceable>.<replaceable>dd</replaceable></literal>
format. It is important to prefix the version with
<literal>0.0.</literal> in case a release with an actual
version number is made, which would of course be
numerically less than
<literal><replaceable>yyyy</replaceable></literal>.</para>
</listitem>
</orderedlist>
<para>Here are some (real) examples on how to convert the name
as called by the software authors to a suitable package
name:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="6">
<thead>
<row>
<entry>Distribution Name</entry>
<entry><makevar>PKGNAMEPREFIX</makevar></entry>
<entry><makevar>PORTNAME</makevar></entry>
<entry><makevar>PKGNAMESUFFIX</makevar></entry>
<entry><makevar>PORTVERSION</makevar></entry>
<entry>Reason</entry>
</row>
</thead>
<tbody>
<row>
<entry>mule-2.2.2</entry>
<entry>(empty)</entry>
<entry>mule</entry>
<entry>(empty)</entry>
<entry>2.2.2</entry>
<entry>No changes required</entry>
</row>
<row>
<entry>EmiClock-1.0.2</entry>
<entry>(empty)</entry>
<entry>emiclock</entry>
<entry>(empty)</entry>
<entry>1.0.2</entry>
<entry>No uppercase names for single programs</entry>
</row>
<row>
<entry>rdist-1.3alpha</entry>
<entry>(empty)</entry>
<entry>rdist</entry>
<entry>(empty)</entry>
<entry>1.3.a</entry>
<entry>No strings like <literal>alpha</literal>
allowed</entry>
</row>
<row>
<entry>es-0.9-beta1</entry>
<entry>(empty)</entry>
<entry>es</entry>
<entry>(empty)</entry>
<entry>0.9.b1</entry>
<entry>No strings like <literal>beta</literal>
allowed</entry>
</row>
<row>
<entry>mailman-2.0rc3</entry>
<entry>(empty)</entry>
<entry>mailman</entry>
<entry>(empty)</entry>
<entry>2.0.r3</entry>
<entry>No strings like <literal>rc</literal>
allowed</entry>
</row>
<row>
<entry>v3.3beta021.src</entry>
<entry>(empty)</entry>
<entry>tiff</entry>
<entry>(empty)</entry>
<entry>3.3</entry>
<entry>What the heck was that anyway?</entry>
</row>
<row>
<entry>tvtwm</entry>
<entry>(empty)</entry>
<entry>tvtwm</entry>
<entry>(empty)</entry>
<entry>pl11</entry>
<entry>Version string always required</entry>
</row>
<row>
<entry>piewm</entry>
<entry>(empty)</entry>
<entry>piewm</entry>
<entry>(empty)</entry>
<entry>1.0</entry>
<entry>Version string always required</entry>
</row>
<row>
<entry>xvgr-2.10pl1</entry>
<entry>(empty)</entry>
<entry>xvgr</entry>
<entry>(empty)</entry>
<entry>2.10.1</entry>
<entry><literal>pl</literal> allowed only when no
major/minor version numbers</entry>
</row>
<row>
<entry>gawk-2.15.6</entry>
<entry>ja-</entry>
<entry>gawk</entry>
<entry>(empty)</entry>
<entry>2.15.6</entry>
<entry>Japanese language version</entry>
</row>
<row>
<entry>psutils-1.13</entry>
<entry>(empty)</entry>
<entry>psutils</entry>
<entry>-letter</entry>
<entry>1.13</entry>
<entry>Paper size hardcoded at package build
time</entry>
</row>
<row>
<entry>pkfonts</entry>
<entry>(empty)</entry>
<entry>pkfonts</entry>
<entry>300</entry>
<entry>1.0</entry>
<entry>Package for 300dpi fonts</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>If there is absolutely no trace of version information
in the original source and it is unlikely that the original
author will ever release another version, just set the
version string to <literal>1.0</literal> (like the
<literal>piewm</literal> example above). Otherwise, ask the
original author or use the date string
(<literal>0.0.<replaceable>yyyy</replaceable>.<replaceable>mm</replaceable>.<replaceable>dd</replaceable></literal>)
as the version.</para>
</sect2>
</sect1>
<sect1 id="makefile-categories">
<title>Categorization</title>
<sect2>
<title><makevar>CATEGORIES</makevar></title>
<para>When a package is created, it is put under
<filename>/usr/ports/packages/All</filename> and links are
made from one or more subdirectories of
<filename>/usr/ports/packages</filename>. The names of
these subdirectories are specified by the variable
<makevar>CATEGORIES</makevar>. It is intended to make life
easier for the user when he is wading through the pile of
packages on the FTP site or the CDROM. Please take a look
at the <link linkend="porting-categories">current list of
categories</link> and pick the ones that are suitable for
your port.</para>
<para>This list also determines where in the ports tree the
port is imported. If you put more than one category here,
it is assumed that the port files will be put in the
- subdirectory with the name in the first category. See <link
- linkend="choosing-categories">below</link> for more
+ subdirectory with the name in the first category. See
+ <link linkend="choosing-categories">below</link> for more
discussion about how to pick the right categories.</para>
</sect2>
<sect2 id="porting-categories">
<title>Current List of Categories</title>
<para>Here is the current list of port categories. Those
marked with an asterisk (<literal>*</literal>) are
<emphasis>virtual</emphasis> categories&mdash;those that do
not have a corresponding subdirectory in the ports tree.
They are only used as secondary categories, and only for
search purposes.</para>
<note>
<para>For non-virtual categories, you will find a one-line
description in the <makevar>COMMENT</makevar> in that
subdirectory's <filename>Makefile</filename>.</para>
</note>
<informaltable frame="none" pgwide="1">
<tgroup cols="3">
<thead>
<row>
<entry>Category</entry>
<entry>Description</entry>
<entry>Notes</entry>
</row>
</thead>
<tbody>
<row>
<entry><filename>accessibility</filename></entry>
<entry>Ports to help disabled users.</entry>
<entry></entry>
</row>
<row>
<entry><filename>afterstep*</filename></entry>
<entry>Ports to support the <ulink
url="http://www.afterstep.org">AfterStep</ulink>
window manager.</entry>
<entry></entry>
</row>
<row>
<entry><filename>arabic</filename></entry>
<entry>Arabic language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>archivers</filename></entry>
<entry>Archiving tools.</entry>
<entry></entry>
</row>
<row>
<entry><filename>astro</filename></entry>
<entry>Astronomical ports.</entry>
<entry></entry>
</row>
<row>
<entry><filename>audio</filename></entry>
<entry>Sound support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>benchmarks</filename></entry>
<entry>Benchmarking utilities.</entry>
<entry></entry>
</row>
<row>
<entry><filename>biology</filename></entry>
<entry>Biology-related software.</entry>
<entry></entry>
</row>
<row>
<entry><filename>cad</filename></entry>
<entry>Computer aided design tools.</entry>
<entry></entry>
</row>
<row>
<entry><filename>chinese</filename></entry>
<entry>Chinese language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>comms</filename></entry>
<entry>Communication software.</entry>
<entry>Mostly software to talk to your serial
port.</entry>
</row>
<row>
<entry><filename>converters</filename></entry>
<entry>Character code converters.</entry>
<entry></entry>
</row>
<row>
<entry><filename>databases</filename></entry>
<entry>Databases.</entry>
<entry></entry>
</row>
<row>
<entry><filename>deskutils</filename></entry>
<entry>Things that used to be on the desktop before
computers were invented.</entry>
<entry></entry>
</row>
<row>
<entry><filename>devel</filename></entry>
<entry>Development utilities.</entry>
<entry>Do not put libraries here just because they are
libraries&mdash;unless they truly do not belong
anywhere else, they should not be in this
category.</entry>
</row>
<row>
<entry><filename>dns</filename></entry>
<entry>DNS-related software.</entry>
<entry></entry>
</row>
<row>
<entry><filename>docs*</filename></entry>
<entry>Meta-ports for FreeBSD documentation.</entry>
<entry></entry>
</row>
<row>
<entry><filename>editors</filename></entry>
<entry>General editors.</entry>
<entry>Specialized editors go in the section for those
tools (e.g., a mathematical-formula editor will go
in <filename>math</filename>).</entry>
</row>
<row>
<entry><filename>elisp*</filename></entry>
<entry>Emacs-lisp ports.</entry>
<entry></entry>
</row>
<row>
<entry><filename>emulators</filename></entry>
<entry>Emulators for other operating systems.</entry>
<entry>Terminal emulators do <emphasis>not</emphasis>
belong here&mdash;X-based ones should go to
<filename>x11</filename> and text-based ones to
either <filename>comms</filename> or
<filename>misc</filename>, depending on the exact
functionality.</entry>
</row>
<row>
<entry><filename>finance</filename></entry>
<entry>Monetary, financial and related
applications.</entry>
<entry></entry>
</row>
<row>
<entry><filename>french</filename></entry>
<entry>French language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>ftp</filename></entry>
<entry>FTP client and server utilities.</entry>
<entry>If your port speaks both FTP and HTTP, put it
in <filename>ftp</filename> with a secondary
category of <filename>www</filename>.</entry>
</row>
<row>
<entry><filename>games</filename></entry>
<entry>Games.</entry>
<entry></entry>
</row>
<row>
<entry><filename>geography*</filename></entry>
<entry>Geography-related software.</entry>
<entry></entry>
</row>
<row>
<entry><filename>german</filename></entry>
<entry>German language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>gnome*</filename></entry>
- <entry>Ports from the <ulink
- url="http://www.gnome.org">GNOME</ulink>
+ <entry>Ports from the
+ <ulink url="http://www.gnome.org">GNOME</ulink>
Project.</entry>
<entry></entry>
</row>
<row>
<entry><filename>gnustep*</filename></entry>
<entry>Software related to the GNUstep desktop
environment.</entry>
<entry></entry>
</row>
<row>
<entry><filename>graphics</filename></entry>
<entry>Graphics utilities.</entry>
<entry></entry>
</row>
<row>
<entry><filename>hamradio*</filename></entry>
<entry>Software for amateur radio.</entry>
<entry></entry>
</row>
<row>
<entry><filename>haskell*</filename></entry>
<entry>Software related to the Haskell
language.</entry>
<entry></entry>
</row>
<row>
<entry><filename>hebrew</filename></entry>
<entry>Hebrew language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>hungarian</filename></entry>
<entry>Hungarian language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>ipv6*</filename></entry>
<entry>IPv6 related software.</entry>
<entry></entry>
</row>
<row>
<entry><filename>irc</filename></entry>
<entry>Internet Relay Chat utilities.</entry>
<entry></entry>
</row>
<row>
<entry><filename>japanese</filename></entry>
<entry>Japanese language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>java</filename></entry>
<entry>Software related to the Java&trade;
language.</entry>
<entry>The <filename>java</filename> category must
not be the only one for a port. Save for ports
directly related to the Java language, porters are
also encouraged not to use <filename>java</filename>
as the main category of a port.</entry>
</row>
<row>
<entry><filename>kde*</filename></entry>
- <entry>Ports from the <ulink
- url="http://www.kde.org">KDE</ulink>
+ <entry>Ports from the
+ <ulink url="http://www.kde.org">KDE</ulink>
Project.</entry>
<entry></entry>
</row>
<row>
<entry><filename>kld*</filename></entry>
<entry>Kernel loadable modules.</entry>
<entry></entry>
</row>
<row>
<entry><filename>korean</filename></entry>
<entry>Korean language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>lang</filename></entry>
<entry>Programming languages.</entry>
<entry></entry>
</row>
<row>
<entry><filename>linux*</filename></entry>
<entry>Linux applications and support
utilities.</entry>
<entry></entry>
</row>
<row>
<entry><filename>lisp*</filename></entry>
<entry>Software related to the Lisp language.</entry>
<entry></entry>
</row>
<row>
<entry><filename>mail</filename></entry>
<entry>Mail software.</entry>
<entry></entry>
</row>
<row>
<entry><filename>math</filename></entry>
<entry>Numerical computation software and other
utilities for mathematics.</entry>
<entry></entry>
</row>
<row>
<entry><filename>mbone*</filename></entry>
<entry>MBone applications.</entry>
<entry></entry>
</row>
<row>
<entry><filename>misc</filename></entry>
<entry>Miscellaneous utilities</entry>
<entry>Basically things that do not belong anywhere
else. If at all possible, try to find a better
category for your port than <literal>misc</literal>,
as ports tend to get overlooked in here.</entry>
</row>
<row>
<entry><filename>multimedia</filename></entry>
<entry>Multimedia software.</entry>
<entry></entry>
</row>
<row>
<entry><filename>net</filename></entry>
<entry>Miscellaneous networking software.</entry>
<entry></entry>
</row>
<row>
<entry><filename>net-im</filename></entry>
<entry>Instant messaging software.</entry>
<entry></entry>
</row>
<row>
<entry><filename>net-mgmt</filename></entry>
<entry>Networking management software.</entry>
<entry></entry>
</row>
<row>
<entry><filename>net-p2p</filename></entry>
<entry>Peer to peer network applications.</entry>
<entry></entry>
</row>
<row>
<entry><filename>news</filename></entry>
<entry>USENET news software.</entry>
<entry></entry>
</row>
<row>
<entry><filename>palm</filename></entry>
<entry>Software support for the <ulink
url="http://www.palm.com/">Palm&trade;</ulink>
series.</entry>
<entry></entry>
</row>
<row>
<entry><filename>parallel*</filename></entry>
<entry>Applications dealing with parallelism in
computing.</entry>
<entry></entry>
</row>
<row>
<entry><filename>pear*</filename></entry>
<entry>Ports related to the Pear PHP
framework.</entry>
<entry></entry>
</row>
<row>
<entry><filename>perl5*</filename></entry>
<entry>Ports that require
<application>Perl</application> version 5 to
run.</entry>
<entry></entry>
</row>
<row>
<entry><filename>plan9*</filename></entry>
<entry>Various programs from <ulink
url="http://www.cs.bell-labs.com/plan9dist/">Plan9</ulink>.</entry>
<entry></entry>
</row>
<row>
<entry><filename>polish</filename></entry>
<entry>Polish language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>ports-mgmt</filename></entry>
<entry>Ports for managing, installing and developing
FreeBSD ports and packages.</entry>
</row>
<row>
<entry><filename>portuguese</filename></entry>
<entry>Portuguese language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>print</filename></entry>
<entry>Printing software.</entry>
<entry>Desktop publishing tools
(previewers, etc.) belong here too.</entry>
</row>
<row>
<entry><filename>python*</filename></entry>
<entry>Software related to the <ulink
url="http://www.python.org/">Python</ulink>
language.</entry>
<entry></entry>
</row>
<row>
<entry><filename>ruby*</filename></entry>
<entry>Software related to the <ulink
url="http://www.ruby-lang.org/">Ruby</ulink>
language.</entry>
<entry></entry>
</row>
<row>
<entry><filename>rubygems*</filename></entry>
<entry>Ports of <ulink
url="http://www.rubygems.org/">RubyGems</ulink>
packages.</entry>
<entry></entry>
</row>
<row>
<entry><filename>russian</filename></entry>
<entry>Russian language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>scheme*</filename></entry>
<entry>Software related to the Scheme
language.</entry>
<entry></entry>
</row>
<row>
<entry><filename>science</filename></entry>
<entry>Scientific ports that do not fit into other
categories such as <filename>astro</filename>,
<filename>biology</filename> and
<filename>math</filename>.</entry>
<entry></entry>
</row>
<row>
<entry><filename>security</filename></entry>
<entry>Security utilities.</entry>
<entry></entry>
</row>
<row>
<entry><filename>shells</filename></entry>
<entry>Command line shells.</entry>
<entry></entry>
</row>
<row>
<entry><filename>spanish*</filename></entry>
<entry>Spanish language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>sysutils</filename></entry>
<entry>System utilities.</entry>
<entry></entry>
</row>
<row>
<entry><filename>tcl*</filename></entry>
<entry>Ports that use Tcl to run.</entry>
<entry></entry>
</row>
<row>
<entry><filename>textproc</filename></entry>
<entry>Text processing utilities.</entry>
<entry>It does not include desktop publishing tools,
which go to <filename>print</filename>.</entry>
</row>
<row>
<entry><filename>tk*</filename></entry>
<entry>Ports that use Tk to run.</entry>
<entry></entry>
</row>
<row>
<entry><filename>ukrainian</filename></entry>
<entry>Ukrainian language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>vietnamese</filename></entry>
<entry>Vietnamese language support.</entry>
<entry></entry>
</row>
<row>
<entry><filename>windowmaker*</filename></entry>
<entry>Ports to support the WindowMaker window
manager.</entry>
<entry></entry>
</row>
<row>
<entry><filename>www</filename></entry>
<entry>Software related to the World Wide Web.</entry>
<entry>HTML language
support belongs here too.</entry>
</row>
<row>
<entry><filename>x11</filename></entry>
<entry>The X Window System and friends.</entry>
<entry>This category is only for software that
directly supports the window system. Do not put
regular X applications here; most of them should go
into other <filename>x11-*</filename> categories
(see below).</entry>
</row>
<row>
<entry><filename>x11-clocks</filename></entry>
<entry>X11 clocks.</entry>
<entry></entry>
</row>
<row>
<entry><filename>x11-drivers</filename></entry>
<entry>X11 drivers.</entry>
<entry></entry>
</row>
<row>
<entry><filename>x11-fm</filename></entry>
<entry>X11 file managers.</entry>
<entry></entry>
</row>
<row>
<entry><filename>x11-fonts</filename></entry>
<entry>X11 fonts and font utilities.</entry>
<entry></entry>
</row>
<row>
<entry><filename>x11-servers</filename></entry>
<entry>X11 servers.</entry>
<entry></entry>
</row>
<row>
<entry><filename>x11-themes</filename></entry>
<entry>X11 themes.</entry>
<entry></entry>
</row>
<row>
<entry><filename>x11-toolkits</filename></entry>
<entry>X11 toolkits.</entry>
<entry></entry>
</row>
<row>
<entry><filename>x11-wm</filename></entry>
<entry>X11 window managers.</entry>
<entry></entry>
</row>
<row>
<entry><filename>xfce*</filename></entry>
- <entry>Ports related to the <ulink
- url="http://www.xfce.org/">Xfce</ulink> desktop
- environment.</entry>
+ <entry>Ports related to the
+ <ulink url="http://www.xfce.org/">Xfce</ulink>
+ desktop environment.</entry>
<entry></entry>
</row>
<row>
<entry><filename>zope*</filename></entry>
<entry><ulink url="http://www.zope.org/">Zope</ulink>
support.</entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2 id="choosing-categories">
<title>Choosing the Right Category</title>
<para>As many of the categories overlap, you often have to
choose which of the categories should be the primary
category of your port. There are several rules that govern
this issue. Here is the list of priorities, in decreasing
order of precedence:</para>
<itemizedlist>
<listitem>
<para>The first category must be a physical category (see
<link linkend="porting-categories">above</link>). This
is necessary to make the packaging work. Virtual
categories and physical categories may be intermixed
after that.</para>
</listitem>
<listitem>
<para>Language specific categories always come first. For
example, if your port installs Japanese X11 fonts, then
your <makevar>CATEGORIES</makevar> line would read
<filename>japanese x11-fonts</filename>.</para>
</listitem>
<listitem>
<para>Specific categories are listed before less-specific
ones. For instance, an HTML editor should be listed as
<filename>www editors</filename>, not the other way
around. Also, you should not list
<filename>net</filename> when the port belongs to any of
<filename>irc</filename>, <filename>mail</filename>,
<filename>news</filename>,
<filename>security</filename>, or
<filename>www</filename>, as <filename>net</filename> is
included implicitly.</para>
</listitem>
<listitem>
<para><filename>x11</filename> is used as a secondary
category only when the primary category is a natural
language. In particular, you should not put
<filename>x11</filename> in the category line for X
applications.</para>
</listitem>
<listitem>
<para><application>Emacs</application> modes should be
placed in the same ports category as the application
supported by the mode, not in
<filename>editors</filename>. For example, an
<application>Emacs</application> mode to edit source
files of some programming language should go into
<filename>lang</filename>.</para>
</listitem>
<listitem>
<para>Ports which install loadable kernel modules should
have the virtual category <filename>kld</filename> in
their <makevar>CATEGORIES</makevar> line.</para>
</listitem>
<listitem>
<para><filename>misc</filename> should not appear with any
other non-virtual category. If you have
<literal>misc</literal> with something else in your
<makevar>CATEGORIES</makevar> line, that means you can
safely delete <literal>misc</literal> and just put the
port in that other subdirectory!</para>
</listitem>
<listitem>
<para>If your port truly does not belong anywhere else,
put it in <filename>misc</filename>.</para>
</listitem>
</itemizedlist>
<para>If you are not sure about the category, please put a
comment to that effect in your &man.send-pr.1; submission so
we can discuss it before we import it. If you are a
committer, send a note to the &a.ports; so we can discuss it
first. Too often, new ports are imported to the wrong
category only to be moved right away. This causes
unnecessary and undesirable bloat in the master source
repository.</para>
</sect2>
<sect2 id="proposing-categories">
<title>Proposing a New Category</title>
<para>As the Ports Collection has grown over time, various new
categories have been introduced. New categories can either
be <emphasis>virtual</emphasis> categories&mdash;those that
do not have a corresponding subdirectory in the ports
tree&mdash; or <emphasis>physical</emphasis>
categories&mdash;those that do. The following text
discusses the issues involved in creating a new physical
category so that you can understand them before you propose
one.</para>
<para>Our existing practice has been to avoid creating a new
physical category unless either a large number of ports
would logically belong to it, or the ports that would belong
to it are a logically distinct group that is of limited
general interest (for instance, categories related to spoken
human languages), or preferably both.</para>
<para>The rationale for this is that such a change creates a
<ulink url="&url.articles.committers-guide;/#ports"> fair
amount of work</ulink> for both the committers and also
for all users who track changes to the Ports Collection. In
addition, proposed category changes just naturally seem to
attract controversy. (Perhaps this is because there is no
clear consensus on when a category is <quote>too
big</quote>, nor whether categories should lend themselves
to browsing (and thus what number of categories would be an
ideal number), and so forth.)</para>
<para>Here is the procedure:</para>
<procedure>
<step>
<para>Propose the new category on &a.ports;. You should
include a detailed rationale for the new category,
including why you feel the existing categories are not
sufficient, and the list of existing ports proposed to
move. (If there are new ports pending in
<application>GNATS</application> that would fit this
category, list them too.) If you are the maintainer
and/or submitter, respectively, mention that as it may
help you to make your case.</para>
</step>
<step>
<para>Participate in the discussion.</para>
</step>
<step>
<para>If it seems that there is support for your idea,
file a PR which includes both the rationale and the list
of existing ports that need to be moved. Ideally, this
PR should also include patches for the following:</para>
<itemizedlist>
<listitem>
<para><filename>Makefile</filename>s for the
new ports once they are repocopied</para>
</listitem>
<listitem>
<para><filename>Makefile</filename> for the
new category</para>
</listitem>
<listitem>
<para><filename>Makefile</filename> for the
old ports' categories</para>
</listitem>
<listitem>
<para><filename>Makefile</filename>s for ports
that depend on the old ports</para>
</listitem>
<listitem>
<para>(for extra credit, you can include the other
files that have to change, as per the procedure
in the Committer's Guide.)</para>
</listitem>
</itemizedlist>
</step>
<step>
<para>Since it affects the ports infrastructure and
involves not only performing repo-copies but also
possibly running regression tests on the build cluster,
the PR should be assigned to the &a.portmgr;.</para>
</step>
<step>
<para>If that PR is approved, a committer will need to
follow the rest of the procedure that is <ulink
url="&url.articles.committers-guide;/article.html#PORTS">
outlined in the Committer's Guide</ulink>.</para>
</step>
</procedure>
<para>Proposing a new virtual category should be similar to
the above but much less involved, since no ports will
actually have to move. In this case, the only patches to
include in the PR would be those to add the new category to
the <makevar>CATEGORIES</makevar> of the affected
ports.</para>
</sect2>
<sect2 id="proposing-reorg">
<title>Proposing Reorganizing All the Categories</title>
<para>Occasionally someone proposes reorganizing the
categories with either a 2-level structure, or some other
kind of keyword structure. To date, nothing has come of any
of these proposals because, while they are very easy to
make, the effort involved to retrofit the entire existing
ports collection with any kind of reorganization is daunting
to say the very least. Please read the history of these
proposals in the mailing list archives before you post this
idea; furthermore, you should be prepared to be challenged
to offer a working prototype.</para>
</sect2>
</sect1>
<sect1 id="makefile-distfiles">
<title>The Distribution Files</title>
<para>The second part of the <filename>Makefile</filename>
describes the files that must be downloaded in order to build
the port, and where they can be downloaded from.</para>
<sect2>
<title><makevar>DISTVERSION/DISTNAME</makevar></title>
<para><makevar>DISTNAME</makevar> is the name of the port as
called by the authors of the software.
<makevar>DISTNAME</makevar> defaults to
<literal>${PORTNAME}-${PORTVERSION}</literal>, so override
it only if necessary. <makevar>DISTNAME</makevar> is only
used in two places. First, the distribution file list
(<makevar>DISTFILES</makevar>) defaults to
<makevar>${DISTNAME}</makevar><makevar>${EXTRACT_SUFX}</makevar>.
Second, the distribution file is expected to extract into a
subdirectory named <makevar>WRKSRC</makevar>, which defaults
to
<filename>work/<makevar>${DISTNAME}</makevar></filename>.</para>
<para>Some vendor's distribution names which do not fit into
the <literal>${PORTNAME}-${PORTVERSION}</literal>-scheme can
be handled automatically by setting
<makevar>DISTVERSION</makevar>.
<makevar>PORTVERSION</makevar> and
<makevar>DISTNAME</makevar> will be derived automatically,
but can of course be overridden. The following table lists
some examples:</para>
<informaltable frame="none" pgwide="0">
<tgroup cols="2">
<thead>
<row>
<entry><makevar>DISTVERSION</makevar></entry>
<entry><makevar>PORTVERSION</makevar></entry>
</row>
</thead>
<tbody>
<row>
<entry>0.7.1d</entry>
<entry>0.7.1.d</entry>
</row>
<row>
<entry>10Alpha3</entry>
<entry>10.a3</entry>
</row>
<row>
<entry>3Beta7-pre2</entry>
<entry>3.b7.p2</entry>
</row>
<row>
<entry>8:f_17</entry>
<entry>8f.17</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<note>
<para><makevar>PKGNAMEPREFIX</makevar> and
<makevar>PKGNAMESUFFIX</makevar> do not affect
<makevar>DISTNAME</makevar>. Also note that if
<makevar>WRKSRC</makevar> is equal to
<filename>work/<makevar>${PORTNAME}-${PORTVERSION}</makevar></filename>
while the original source archive is named something other
than
<makevar>${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}</makevar>,
you should probably leave <makevar>DISTNAME</makevar>
alone&mdash; you are better off defining
<makevar>DISTFILES</makevar> than having to set both
<makevar>DISTNAME</makevar> and <makevar>WRKSRC</makevar>
(and possibly <makevar>EXTRACT_SUFX</makevar>).</para>
</note>
</sect2>
<sect2>
<title><makevar>MASTER_SITES</makevar></title>
<para>Record the directory part of the FTP/HTTP-URL pointing
at the original tarball in <makevar>MASTER_SITES</makevar>.
Do not forget the trailing slash
(<filename>/</filename>)!</para>
<para>The <command>make</command> macros will try to use this
specification for grabbing the distribution file with
<makevar>FETCH</makevar> if they cannot find it already on
the system.</para>
<para>It is recommended that you put multiple sites on this
list, preferably from different continents. This will
safeguard against wide-area network problems. We are even
planning to add support for automatically determining the
closest master site and fetching from there; having multiple
sites will go a long way towards helping this effort.</para>
<para>If the original tarball is part of one of the popular
archives such as SourceForge, GNU, or Perl CPAN, you may be
able refer to those sites in an easy compact form using
<makevar>MASTER_SITE_<replaceable>*</replaceable></makevar>
(e.g., <makevar>MASTER_SITE_SOURCEFORGE</makevar>,
<makevar>MASTER_SITE_GNU</makevar> and
<makevar>MASTER_SITE_PERL_CPAN</makevar>). Simply set
<makevar>MASTER_SITES</makevar> to one of these variables
and <makevar>MASTER_SITE_SUBDIR</makevar> to the path within
the archive. Here is an example:</para>
<programlisting>MASTER_SITES= ${MASTER_SITE_GNU}
MASTER_SITE_SUBDIR= make</programlisting>
<para>Or you can use a condensed format:</para>
<programlisting>MASTER_SITES= GNU/make</programlisting>
<para>These variables are defined in
<filename>/usr/ports/Mk/bsd.sites.mk</filename>. There are
new entries added all the time, so make sure to check the
latest version of this file before submitting a port.</para>
<para>Several <emphasis>magic</emphasis> macros exist for
popular sites with a predictable directory structure. For
these, just use the abbreviation and the system will try to
guess the correct subdirectory for you.</para>
<programlisting>MASTER_SITES= SF</programlisting>
<para>If the guess is incorrect, it can be overridden as
follows.</para>
<programlisting>MASTER_SITES= SF/stardict/WyabdcRealPeopleTTS/${PORTVERSION}</programlisting>
<para>This can be also written as</para>
+
<programlisting>MASTER_SITES= SF
MASTER_SITE_SUBDIR= stardict/WyabdcRealPeopleTTS/${PORTVERSION}</programlisting>
<table frame="none">
<title>Popular Magic <makevar>MASTER_SITES</makevar>
Macros</title>
<tgroup cols="2">
<thead>
<row>
<entry>Macro</entry>
<entry>Assumed subdirectory</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>APACHE_JAKARTA</makevar></entry>
<entry><makevar>/dist/jakarta/${PORTNAME:S,-,,/,}/source</makevar></entry>
</row>
<row>
<entry><makevar>BERLIOS</makevar></entry>
<entry><makevar>/${PORTNAME:L}</makevar></entry>
</row>
<row>
<entry><makevar>CHEESESHOP</makevar></entry>
<entry><makevar>/packages/source/source/${DISTNAME:C/(.).*/\1/}/${DISTNAME:C/(.*)-[0-9].*/\1/}</makevar></entry>
</row>
<row>
<entry><makevar>DEBIAN</makevar></entry>
<entry><makevar>/debian/pool/main/${PORTNAME:C/^((lib)?.).*$/\1/}/${PORTNAME}</makevar></entry>
</row>
<row>
<entry><makevar>GCC</makevar></entry>
<entry><makevar>/pub/gcc/releases/${DISTNAME}</makevar></entry>
</row>
<row>
<entry><makevar>GNOME</makevar></entry>
<entry><makevar>/pub/GNOME/sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}</makevar></entry>
</row>
<row>
<entry><makevar>GNU</makevar></entry>
<entry><makevar>/gnu/${PORTNAME}</makevar></entry>
</row>
<row>
<entry><makevar>MOZDEV</makevar></entry>
<entry><makevar>/pub/mozdev/${PORTNAME:L}</makevar></entry>
</row>
<row>
<entry><makevar>PERL_CPAN</makevar></entry>
<entry><makevar>/pub/CPAN/modules/by-module/${PORTNAME:C/-.*//}</makevar></entry>
</row>
<row>
<entry><makevar>PYTHON</makevar></entry>
<entry><makevar>/ftp/python/${PYTHON_PORTVERSION:C/rc[0-9]//}</makevar></entry>
</row>
<row>
<entry><makevar>RUBYFORGE</makevar></entry>
<entry><makevar>/${PORTNAME:L}</makevar></entry>
</row>
<row>
<entry><makevar>SAVANNAH</makevar></entry>
<entry><makevar>/${PORTNAME:L}</makevar></entry>
</row>
<row>
<entry><makevar>SF</makevar></entry>
<entry><makevar>/project/${PORTNAME:L}/${PORTNAME:L}/${PORTVERSION}</makevar></entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2>
<title><makevar>EXTRACT_SUFX</makevar></title>
<para>If you have one distribution file, and it uses an odd
suffix to indicate the compression mechanism, set
<makevar>EXTRACT_SUFX</makevar>.</para>
<para>For example, if the distribution file was named
<filename>foo.tgz</filename> instead of the more normal
<filename>foo.tar.gz</filename>, you would write:</para>
<programlisting>DISTNAME= foo
EXTRACT_SUFX= .tgz</programlisting>
<para>The <makevar>USE_BZIP2</makevar>,
<makevar>USE_XZ</makevar> and
<makevar>USE_ZIP</makevar> variables automatically set
<makevar>EXTRACT_SUFX</makevar> to
<literal>.tar.bz2</literal>, <literal>.tar.xz</literal>
or <literal>.zip</literal> as necessary. If neither of
these are set then <makevar>EXTRACT_SUFX</makevar>
defaults to <literal>.tar.gz</literal>.</para>
<note>
<para>You never need to set both
<makevar>EXTRACT_SUFX</makevar> and
<makevar>DISTFILES</makevar>.</para>
</note>
</sect2>
<sect2>
<title><makevar>DISTFILES</makevar></title>
<para>Sometimes the names of the files to be downloaded have
no resemblance to the name of the port. For example, it
might be called <filename>source.tar.gz</filename> or
similar. In other cases the application's source code might
be in several different archives, all of which must be
downloaded.</para>
<para>If this is the case, set <makevar>DISTFILES</makevar> to
be a space separated list of all the files that must be
downloaded.</para>
<programlisting>DISTFILES= source1.tar.gz source2.tar.gz</programlisting>
<para>If not explicitly set, <makevar>DISTFILES</makevar>
defaults to
<literal>${DISTNAME}${EXTRACT_SUFX}</literal>.</para>
</sect2>
<sect2>
<title><makevar>EXTRACT_ONLY</makevar></title>
<para>If only some of the <makevar>DISTFILES</makevar> must be
extracted&mdash;for example, one of them is the source code,
while another is an uncompressed document&mdash;list the
filenames that must be extracted in
<makevar>EXTRACT_ONLY</makevar>.</para>
<programlisting>DISTFILES= source.tar.gz manual.html
EXTRACT_ONLY= source.tar.gz</programlisting>
<para>If <emphasis>none</emphasis> of the
<makevar>DISTFILES</makevar> should be uncompressed then set
<makevar>EXTRACT_ONLY</makevar> to the empty string.</para>
<programlisting>EXTRACT_ONLY=</programlisting>
</sect2>
<sect2 id="porting-patchfiles">
<title><makevar>PATCHFILES</makevar></title>
<para>If your port requires some additional patches that are
available by FTP or HTTP, set <makevar>PATCHFILES</makevar>
to the names of the files and <makevar>PATCH_SITES</makevar>
to the URL of the directory that contains them (the format
is the same as <makevar>MASTER_SITES</makevar>).</para>
<para>If the patch is not relative to the top of the source
tree (i.e., <makevar>WRKSRC</makevar>) because it contains
some extra pathnames, set
<makevar>PATCH_DIST_STRIP</makevar> accordingly. For
instance, if all the pathnames in the patch have an extra
<literal>foozolix-1.0/</literal> in front of the filenames,
then set <literal>PATCH_DIST_STRIP=-p1</literal>.</para>
<para>Do not worry if the patches are compressed; they will be
decompressed automatically if the filenames end with
<filename>.gz</filename> or <filename>.Z</filename>.</para>
<para>If the patch is distributed with some other files, such
as documentation, in a <command>gzip</command>ped tarball,
you cannot just use <makevar>PATCHFILES</makevar>. If that
is the case, add the name and the location of the patch
tarball to <makevar>DISTFILES</makevar> and
<makevar>MASTER_SITES</makevar>. Then, use the
<makevar>EXTRA_PATCHES</makevar> variable to point to those
files and <filename>bsd.port.mk</filename> will
automatically apply them for you. In particular, do
<emphasis>not</emphasis> copy patch files into the
<makevar>PATCHDIR</makevar> directory&mdash;that directory
may not be writable.</para>
<note>
<para>The tarball will have been extracted alongside the
regular source by then, so there is no need to explicitly
extract it if it is a regular <command>gzip</command>ped
or <command>compress</command>ed tarball. If you do the
latter, take extra care not to overwrite something that
already exists in that directory. Also, do not forget to
add a command to remove the copied patch in the
<maketarget>pre-clean</maketarget> target.</para>
</note>
</sect2>
<sect2 id="porting-master-sites-n">
<title>Multiple Distribution Files or Patches from Different
Sites and Subdirectories
(<literal>MASTER_SITES:n</literal>)</title>
- <para>(Consider this to be a somewhat <quote>advanced
- topic</quote>; those new to this document may wish to skip
- this section at first).</para>
+ <para>(Consider this to be a somewhat
+ <quote>advanced topic</quote>; those new to this document
+ may wish to skip this section at first).</para>
<para>This section has information on the fetching mechanism
known as both <literal>MASTER_SITES:n</literal> and
<literal>MASTER_SITES_NN</literal>. We will refer to this
mechanism as <literal>MASTER_SITES:n</literal>.</para>
<para>A little background first. OpenBSD has a neat feature
inside the <makevar>DISTFILES</makevar> and
<makevar>PATCHFILES</makevar> variables which allows files
and patches to be postfixed with <literal>:n</literal>
identifiers. Here, <literal>n</literal> can be both
<literal>[0-9]</literal> and denote a group designation.
For example:</para>
<programlisting>DISTFILES= alpha:0 beta:1</programlisting>
<para>In OpenBSD, distribution file <filename>alpha</filename>
will be associated with variable
<makevar>MASTER_SITES0</makevar> instead of our common
<makevar>MASTER_SITES</makevar> and
<filename>beta</filename> with
<makevar>MASTER_SITES1</makevar>.</para>
<para>This is a very interesting feature which can decrease
that endless search for the correct download site.</para>
<para>Just picture 2 files in <makevar>DISTFILES</makevar> and
20 sites in <makevar>MASTER_SITES</makevar>, the sites slow
as hell where <filename>beta</filename> is carried by all
sites in <makevar>MASTER_SITES</makevar>, and
<filename>alpha</filename> can only be found in the 20th
site. It would be such a waste to check all of them if the
maintainer knew this beforehand, would it not? Not a good
start for that lovely weekend!</para>
<para>Now that you have the idea, just imagine more
<makevar>DISTFILES</makevar> and more
<makevar>MASTER_SITES</makevar>. Surely our
<quote>distfiles survey meister</quote> would appreciate the
relief to network strain that this would bring.</para>
<para>In the next sections, information will follow on the
FreeBSD implementation of this idea. We improved a bit on
OpenBSD's concept.</para>
<sect3>
<title>Simplified Information</title>
<para>This section tells you how to quickly prepare fine
grained fetching of multiple distribution files and
patches from different sites and subdirectories. We
describe here a case of simplified
<literal>MASTER_SITES:n</literal> usage. This will be
sufficient for most scenarios. However, if you need
further information, you will have to refer to the next
section.</para>
<para>Some applications consist of multiple distribution
files that must be downloaded from a number of different
sites. For example,
<application>Ghostscript</application> consists of the
core of the program, and then a large number of driver
files that are used depending on the user's printer. Some
of these driver files are supplied with the core, but many
others must be downloaded from a variety of different
sites.</para>
<para>To support this, each entry in
<makevar>DISTFILES</makevar> may be followed by a colon
and a <quote>tag name</quote>. Each site listed in
<makevar>MASTER_SITES</makevar> is then followed by a
colon, and the tag that indicates which distribution files
should be downloaded from this site.</para>
<para>For example, consider an application with the source
split in two parts, <filename>source1.tar.gz</filename>
and <filename>source2.tar.gz</filename>, which must be
downloaded from two different sites. The port's
<filename>Makefile</filename> would include lines like
<xref
linkend="ports-master-sites-n-example-simple-use-one-file-per-site"/>.</para>
<example
id="ports-master-sites-n-example-simple-use-one-file-per-site">
<title>Simplified Use of <literal>MASTER_SITES:n</literal>
with One File Per Site</title>
<programlisting>MASTER_SITES= ftp://ftp.example1.com/:source1 \
ftp://ftp.example2.com/:source2
DISTFILES= source1.tar.gz:source1 \
source2.tar.gz:source2</programlisting>
</example>
<para>Multiple distribution files can have the same tag.
Continuing the previous example, suppose that there was a
third distfile, <filename>source3.tar.gz</filename>, that
should be downloaded from
<hostid>ftp.example2.com</hostid>. The
<filename>Makefile</filename> would then be written like
<xref
linkend="ports-master-sites-n-example-simple-use-more-than-one-file-per-site"/>.</para>
<example
id="ports-master-sites-n-example-simple-use-more-than-one-file-per-site">
<title>Simplified Use of <literal>MASTER_SITES:n</literal>
with More Than One File Per Site</title>
<programlisting>MASTER_SITES= ftp://ftp.example1.com/:source1 \
ftp://ftp.example2.com/:source2
DISTFILES= source1.tar.gz:source1 \
source2.tar.gz:source2 \
source3.tar.gz:source2</programlisting>
</example>
</sect3>
<sect3>
<title>Detailed Information</title>
<para>Okay, so the previous section example did not reflect
your needs? In this section we will explain in detail
how the fine grained fetching mechanism
<literal>MASTER_SITES:n</literal> works and how you can
modify your ports to use it.</para>
<orderedlist>
<listitem>
<para>Elements can be postfixed with
<literal>:<replaceable>n</replaceable></literal> where
<replaceable>n</replaceable> is
<literal>[^:,]+</literal>, i.e.,
<replaceable>n</replaceable> could conceptually be any
alphanumeric string but we will limit it to
<literal>[a-zA-Z_][0-9a-zA-Z_]+</literal> for
now.</para>
<para>Moreover, string matching is case sensitive;
i.e., <literal>n</literal> is different from
<literal>N</literal>.</para>
<para>However, the following words cannot be used for
postfixing purposes since they yield special meaning:
<literal>default</literal>, <literal>all</literal> and
<literal>ALL</literal> (they are used internally in
item <xref
linkend="porting-master-sites-n-what-changes-in-port-targets"/>).
Furthermore, <literal>DEFAULT</literal> is a special
purpose word (check item <xref
linkend="porting-master-sites-n-DEFAULT-group"/>).</para>
</listitem>
<listitem>
<para>Elements postfixed with <literal>:n</literal>
belong to the group <literal>n</literal>,
<literal>:m</literal> belong to group
<literal>m</literal> and so forth.</para>
</listitem>
<listitem id="porting-master-sites-n-DEFAULT-group">
<para>Elements without a postfix are groupless, i.e.,
they all belong to the special group
<literal>DEFAULT</literal>. If you postfix any
elements with <literal>DEFAULT</literal>, you are just
being redundant unless you want to have an element
belonging to both <literal>DEFAULT</literal> and other
groups at the same time (check item <xref
linkend="porting-master-sites-n-comma-operator"/>).</para>
<para>The following examples are equivalent but the
first one is preferred:</para>
<programlisting>MASTER_SITES= alpha</programlisting>
<programlisting>MASTER_SITES= alpha:DEFAULT</programlisting>
</listitem>
<listitem>
<para>Groups are not exclusive, an element may belong to
several different groups at the same time and a group
can either have either several different elements or
none at all. Repeated elements within the same group
will be simply that, repeated elements.</para>
</listitem>
<listitem id="porting-master-sites-n-comma-operator">
<para>When you want an element to belong to several
groups at the same time, you can use the comma
operator (<literal>,</literal>).</para>
<para>Instead of repeating it several times, each time
with a different postfix, we can list several groups
at once in a single postfix. For instance,
<literal>:m,n,o</literal> marks an element that
belongs to group <literal>m</literal>,
<literal>n</literal> and <literal>o</literal>.</para>
<para>All the following examples are equivalent but the
last one is preferred:</para>
<programlisting>MASTER_SITES= alpha alpha:SOME_SITE</programlisting>
<programlisting>MASTER_SITES= alpha:DEFAULT alpha:SOME_SITE</programlisting>
<programlisting>MASTER_SITES= alpha:SOME_SITE,DEFAULT</programlisting>
<programlisting>MASTER_SITES= alpha:DEFAULT,SOME_SITE</programlisting>
</listitem>
<listitem>
<para>All sites within a given group are sorted
according to <makevar>MASTER_SORT_AWK</makevar>. All
groups within <makevar>MASTER_SITES</makevar> and
<makevar>PATCH_SITES</makevar> are sorted as
well.</para>
</listitem>
<listitem id="porting-master-sites-n-group-semantics">
<para>Group semantics can be used in any of the
following variables <makevar>MASTER_SITES</makevar>,
<makevar>PATCH_SITES</makevar>,
<makevar>MASTER_SITE_SUBDIR</makevar>,
<makevar>PATCH_SITE_SUBDIR</makevar>,
<makevar>DISTFILES</makevar>, and
<makevar>PATCHFILES</makevar> according to the
following syntax:</para>
<orderedlist>
<listitem>
<para>All <makevar>MASTER_SITES</makevar>,
<makevar>PATCH_SITES</makevar>,
<makevar>MASTER_SITE_SUBDIR</makevar> and
<makevar>PATCH_SITE_SUBDIR</makevar> elements must
be terminated with the forward slash
<literal>/</literal> character. If any elements
belong to any groups, the group postfix
<literal>:<replaceable>n</replaceable></literal>
must come right after the terminator
<literal>/</literal>. The
<literal>MASTER_SITES:n</literal> mechanism relies
on the existence of the terminator
<literal>/</literal> to avoid confusing elements
where a <literal>:n</literal> is a valid part of
the element with occurrences where
<literal>:n</literal> denotes group
<literal>n</literal>. For compatibility purposes,
since the <literal>/</literal> terminator was not
required before in both
<makevar>MASTER_SITE_SUBDIR</makevar> and
<makevar>PATCH_SITE_SUBDIR</makevar> elements, if
the postfix immediate preceding character is not
a <literal>/</literal> then <literal>:n</literal>
will be considered a valid part of the element
instead of a group postfix even if an element is
postfixed with <literal>:n</literal>. See both
<xref
linkend="ports-master-sites-n-example-detailed-use-master-site-subdir"/>
and <xref
linkend="ports-master-sites-n-example-detailed-use-complete-example-master-sites"/>.</para>
<example
id="ports-master-sites-n-example-detailed-use-master-site-subdir">
<title>Detailed Use of
<literal>MASTER_SITES:n</literal> in
<makevar>MASTER_SITE_SUBDIR</makevar></title>
<programlisting>MASTER_SITE_SUBDIR= old:n new/:NEW</programlisting>
<itemizedlist>
<listitem>
<para>Directories within group
<literal>DEFAULT</literal> -&gt;
old:n</para>
</listitem>
<listitem>
<para>Directories within group
<literal>NEW</literal> -&gt; new</para>
</listitem>
</itemizedlist>
</example>
<example
id="ports-master-sites-n-example-detailed-use-complete-example-master-sites">
<title>Detailed Use of
<literal>MASTER_SITES:n</literal> with Comma
Operator, Multiple Files, Multiple Sites and
Multiple Subdirectories</title>
<programlisting>MASTER_SITES= http://site1/%SUBDIR%/ http://site2/:DEFAULT \
http://site3/:group3 http://site4/:group4 \
http://site5/:group5 http://site6/:group6 \
http://site7/:DEFAULT,group6 \
http://site8/%SUBDIR%/:group6,group7 \
http://site9/:group8
DISTFILES= file1 file2:DEFAULT file3:group3 \
file4:group4,group5,group6 file5:grouping \
file6:group7
MASTER_SITE_SUBDIR= directory-trial:1 directory-n/:groupn \
directory-one/:group6,DEFAULT \
directory</programlisting>
<para>The previous example results in the
following fine grained fetching. Sites are
listed in the exact order they will be
used.</para>
<itemizedlist>
<listitem>
<para><filename>file1</filename> will be
fetched from</para>
<itemizedlist>
<listitem>
<para><makevar>MASTER_SITE_OVERRIDE</makevar></para>
</listitem>
<listitem>
<para>http://site1/directory-trial:1/</para>
</listitem>
<listitem>
<para>http://site1/directory-one/</para>
</listitem>
<listitem>
<para>http://site1/directory/</para>
</listitem>
<listitem>
<para>http://site2/</para>
</listitem>
<listitem>
<para>http://site7/</para>
</listitem>
<listitem>
<para><makevar>MASTER_SITE_BACKUP</makevar></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><filename>file2</filename> will be
fetched exactly as
<filename>file1</filename> since they
both belong to the same group</para>
<itemizedlist>
<listitem>
<para><makevar>MASTER_SITE_OVERRIDE</makevar></para>
</listitem>
<listitem>
<para>http://site1/directory-trial:1/</para>
</listitem>
<listitem>
<para>http://site1/directory-one/</para>
</listitem>
<listitem>
<para>http://site1/directory/</para>
</listitem>
<listitem>
<para>http://site2/</para>
</listitem>
<listitem>
<para>http://site7/</para>
</listitem>
<listitem>
<para><makevar>MASTER_SITE_BACKUP</makevar></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><filename>file3</filename> will be
fetched from</para>
<itemizedlist>
<listitem>
<para><makevar>MASTER_SITE_OVERRIDE</makevar></para>
</listitem>
<listitem>
<para>http://site3/</para>
</listitem>
<listitem>
<para><makevar>MASTER_SITE_BACKUP</makevar></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><filename>file4</filename> will be
fetched from</para>
<itemizedlist>
<listitem>
<para><makevar>MASTER_SITE_OVERRIDE</makevar></para>
</listitem>
<listitem>
<para>http://site4/</para>
</listitem>
<listitem>
<para>http://site5/</para>
</listitem>
<listitem>
<para>http://site6/</para>
</listitem>
<listitem>
<para>http://site7/</para>
</listitem>
<listitem>
<para>http://site8/directory-one/</para>
</listitem>
<listitem>
<para><makevar>MASTER_SITE_BACKUP</makevar></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><filename>file5</filename> will be
fetched from</para>
<itemizedlist>
<listitem>
<para><makevar>MASTER_SITE_OVERRIDE</makevar></para>
</listitem>
<listitem>
<para><makevar>MASTER_SITE_BACKUP</makevar></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><filename>file6</filename> will be
fetched from</para>
<itemizedlist>
<listitem>
<para><makevar>MASTER_SITE_OVERRIDE</makevar></para>
</listitem>
<listitem>
<para>http://site8/</para>
</listitem>
<listitem>
<para><makevar>MASTER_SITE_BACKUP</makevar></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</example>
</listitem>
</orderedlist>
</listitem>
<listitem>
<para>How do I group one of the special variables from
<filename>bsd.sites.mk</filename>, e.g.,
<makevar>MASTER_SITE_SOURCEFORGE</makevar>?</para>
<para>See <xref
linkend="ports-master-sites-n-example-detailed-use-master-site-sourceforge"/>.</para>
<example
id="ports-master-sites-n-example-detailed-use-master-site-sourceforge">
<title>Detailed Use of
<literal>MASTER_SITES:n</literal> with
<makevar>MASTER_SITE_SOURCEFORGE</makevar></title>
<programlisting>MASTER_SITES= http://site1/ ${MASTER_SITE_SOURCEFORGE:S/$/:sourceforge,TEST/}
DISTFILES= something.tar.gz:sourceforge</programlisting>
</example>
<para><filename>something.tar.gz</filename> will be
fetched from all sites within
<makevar>MASTER_SITE_SOURCEFORGE</makevar>.</para>
</listitem>
<listitem>
<para>How do I use this with <makevar>PATCH*</makevar>
variables?</para>
<para>All examples were done with
<makevar>MASTER*</makevar> variables but they work
exactly the same for <makevar>PATCH*</makevar> ones as
can be seen in <xref
linkend="ports-master-sites-n-example-detailed-use-patch-sites"/>.</para>
<example
id="ports-master-sites-n-example-detailed-use-patch-sites">
<title>Simplified Use of
<literal>MASTER_SITES:n</literal> with
<makevar>PATCH_SITES</makevar></title>
<programlisting>PATCH_SITES= http://site1/ http://site2/:test
PATCHFILES= patch1:test</programlisting>
</example>
</listitem>
</orderedlist>
</sect3>
<sect3>
<title>What Does Change for Ports? What Does Not?</title>
<orderedlist numeration="lowerroman">
<listitem>
<para>All current ports remain the same. The
<literal>MASTER_SITES:n</literal> feature code is only
activated if there are elements postfixed with
<literal>:<replaceable>n</replaceable></literal> like
elements according to the aforementioned syntax rules,
especially as shown in item <xref
linkend="porting-master-sites-n-group-semantics"/>.</para>
</listitem>
<listitem
id="porting-master-sites-n-what-changes-in-port-targets">
<para>The port targets remain the same:
<maketarget>checksum</maketarget>,
<maketarget>makesum</maketarget>,
<maketarget>patch</maketarget>,
<maketarget>configure</maketarget>,
<maketarget>build</maketarget>, etc. With the obvious
exceptions of <maketarget>do-fetch</maketarget>,
<maketarget>fetch-list</maketarget>,
<maketarget>master-sites</maketarget> and
<maketarget>patch-sites</maketarget>.</para>
<itemizedlist>
<listitem>
<para><maketarget>do-fetch</maketarget>: deploys the
new grouping postfixed
<makevar>DISTFILES</makevar> and
<makevar>PATCHFILES</makevar> with their matching
group elements within both
<makevar>MASTER_SITES</makevar> and
<makevar>PATCH_SITES</makevar> which use matching
group elements within both
<makevar>MASTER_SITE_SUBDIR</makevar> and
<makevar>PATCH_SITE_SUBDIR</makevar>. Check <xref
linkend="ports-master-sites-n-example-detailed-use-complete-example-master-sites"/>.</para>
</listitem>
<listitem>
<para><maketarget>fetch-list</maketarget>: works
like old <maketarget>fetch-list</maketarget> with
the exception that it groups just like
<maketarget>do-fetch</maketarget>.</para>
</listitem>
<listitem>
<para><maketarget>master-sites</maketarget> and
<maketarget>patch-sites</maketarget>:
(incompatible with older versions) only return the
elements of group <literal>DEFAULT</literal>; in
fact, they execute targets
<maketarget>master-sites-default</maketarget> and
<maketarget>patch-sites-default</maketarget>
respectively.</para>
<para>Furthermore, using target either
<maketarget>master-sites-all</maketarget> or
<maketarget>patch-sites-all</maketarget> is
preferred to directly checking either
<maketarget>MASTER_SITES</maketarget> or
<maketarget>PATCH_SITES</maketarget>. Also,
directly checking is not guaranteed to work in any
future versions. Check item <xref
linkend="porting-master-sites-n-new-port-targets-master-sites-all"/>
for more information on these new port
targets.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>New port targets</para>
<orderedlist>
<listitem>
<para>There are
<maketarget>master-sites-<replaceable>n</replaceable></maketarget>
and
<maketarget>patch-sites-<replaceable>n</replaceable></maketarget>
targets which will list the elements of the
respective group <replaceable>n</replaceable>
within <makevar>MASTER_SITES</makevar> and
<makevar>PATCH_SITES</makevar> respectively. For
instance, both
<maketarget>master-sites-DEFAULT</maketarget> and
<maketarget>patch-sites-DEFAULT</maketarget> will
return the elements of group
<literal>DEFAULT</literal>,
<maketarget>master-sites-test</maketarget> and
<maketarget>patch-sites-test</maketarget> of group
<literal>test</literal>, and thereon.</para>
</listitem>
<listitem
id="porting-master-sites-n-new-port-targets-master-sites-all">
<para>There are new targets
<maketarget>master-sites-all</maketarget> and
<maketarget>patch-sites-all</maketarget> which do
the work of the old
<maketarget>master-sites</maketarget> and
<maketarget>patch-sites</maketarget> ones. They
return the elements of all groups as if they all
belonged to the same group with the caveat that it
lists as many
<makevar>MASTER_SITE_BACKUP</makevar> and
<makevar>MASTER_SITE_OVERRIDE</makevar> as there
are groups defined within either
<makevar>DISTFILES</makevar> or
<makevar>PATCHFILES</makevar>; respectively for
<maketarget>master-sites-all</maketarget> and
<maketarget>patch-sites-all</maketarget>.</para>
</listitem>
</orderedlist>
</listitem>
</orderedlist>
</sect3>
</sect2>
<sect2>
<title><makevar>DIST_SUBDIR</makevar></title>
<para>Do not let your port clutter
<filename>/usr/ports/distfiles</filename>. If your port
requires a lot of files to be fetched, or contains a file
that has a name that might conflict with other ports (e.g.,
<filename>Makefile</filename>), set
<makevar>DIST_SUBDIR</makevar> to the name of the port
(<literal>${PORTNAME}</literal> or
<literal>${PKGNAMEPREFIX}${PORTNAME}</literal> should work
fine). This will change <makevar>DISTDIR</makevar> from the
default <filename>/usr/ports/distfiles</filename> to
<filename>/usr/ports/distfiles/<makevar>DIST_SUBDIR</makevar></filename>,
and in effect puts everything that is required for your port
into that subdirectory.</para>
<para>It will also look at the subdirectory with the same name
on the backup master site at
<filename>ftp.FreeBSD.org</filename>. (Setting
<makevar>DISTDIR</makevar> explicitly in your
<makevar>Makefile</makevar> will not accomplish this, so
please use <makevar>DIST_SUBDIR</makevar>.)</para>
<note>
<para>This does not affect the
<makevar>MASTER_SITES</makevar> you define in your
<filename>Makefile</filename>.</para>
</note>
</sect2>
<sect2>
<title><makevar>ALWAYS_KEEP_DISTFILES</makevar></title>
<para>If your port uses binary distfiles and has a license
that requires that the source code is provided with packages
distributed in binary form, e.g., GPL,
<makevar>ALWAYS_KEEP_DISTFILES</makevar> will instruct the
&os; build cluster to keep a copy of the files specified in
<makevar>DISTFILES</makevar>. Users of these ports will
generally not need these files, so it is a good idea to only
add the source distfiles to <makevar>DISTFILES</makevar>
when <makevar>PACKAGE_BUILDING</makevar> is defined.</para>
<example
id="ports-master-sites-n-example-always-keep-distfiles">
<title>Use of
<makevar>ALWAYS_KEEP_DISTFILES</makevar></title>
<programlisting>.if defined(PACKAGE_BUILDING)
DISTFILES+= <replaceable>foo.tar.gz</replaceable>
ALWAYS_KEEP_DISTFILES= yes
.endif</programlisting>
</example>
<para>When adding extra files to <makevar>DISTFILES</makevar>,
make sure you also add them to
<filename>distinfo</filename>. Also, the additional files
will normally be extracted into <makevar>WRKDIR</makevar> as
well, which for some ports may lead to undesirable side
effects and require special handling.</para>
</sect2>
</sect1>
<sect1 id="makefile-maintainer">
<title><makevar>MAINTAINER</makevar></title>
<para>Set your mail-address here. Please. <!-- smiley
--><emphasis>:-)</emphasis></para>
<para>Note that only a single address without the comment part
is allowed as a <makevar>MAINTAINER</makevar> value. The
format used should be <literal>user@hostname.domain</literal>.
Please do not include any descriptive text such as your real
name in this entry&mdash;that merely confuses
<filename>bsd.port.mk</filename>.</para>
<para>The maintainer is responsible for keeping the port up to
date, and ensuring the port works correctly.
For a detailed description of the responsibilities of a port
maintainer, refer to the <ulink
url="&url.articles.contributing-ports;/maintain-port.html">The
challenge for port maintainers</ulink> section.</para>
<para>Changes to the port will be sent to the maintainer of a
port for review and approval before being committed. If the
maintainer does not respond to an update request after two
weeks (excluding major public holidays), then that is
considered a maintainer timeout, and the update may be made
without explicit maintainer approval. If the maintainer does
not respond within three months, then that maintainer is
considered absent without leave, and can be replaced as the
maintainer of the particular port in question. Exceptions to
this are anything maintained by the &a.portmgr;, or the
&a.security-officer;. No unauthorized commits may ever be
made to ports maintained by those groups.</para>
<para>We reserve the right to modify the maintainer's submission
to better match existing policies and style of the Ports
Collection without explicit blessing from the submitter.
Also, large infrastructural changes can result in a port being
modified without the maintainer's consent. These kinds of
changes will never affect the port's functionality.</para>
<para>The &a.portmgr; reserves the right to revoke or override
anyone's maintainership for any reason, and the
&a.security-officer; reserves the right to revoke or override
maintainership for security reasons.</para>
</sect1>
<sect1 id="makefile-comment">
<title><makevar>COMMENT</makevar></title>
<para>This is a one-line description of the port.
Please respect the following rules:</para>
<orderedlist>
<listitem>
<para>Try to keep the COMMENT value at no longer than 70
characters, as this line will be used by the
&man.pkg.info.1; utility to display a one-line summary
of the port;</para>
</listitem>
<listitem>
<para>Do <emphasis>not</emphasis> include the package
name (or version number of the software);</para>
</listitem>
<listitem>
<para>The comment should begin with a capital and end
without a period;</para>
</listitem>
<listitem>
<para>Do not start with an indefinite article (i.e.,
A or An);</para>
</listitem>
<listitem>
<para>Names are capitalized (for example, Apache,
JavaScript, Perl);</para>
</listitem>
<listitem>
<para>For lists of words, use the Oxford comma (e.g.,
green, red<emphasis>,</emphasis> and blue);</para>
</listitem>
<listitem>
<para>Spell check the text.</para>
</listitem>
</orderedlist>
<para>Here is an example:</para>
<programlisting>COMMENT= Cat chasing a mouse all over the screen</programlisting>
<para>The COMMENT variable should immediately follow the
MAINTAINER variable in the
<filename>Makefile</filename>.</para>
</sect1>
<sect1 id="makefile-portscout">
<title><makevar>PORTSCOUT</makevar></title>
<para><application>Portscout</application> is an automated
distfile check utility for the &os;&nbsp;Ports Collection,
described in detail in
<xref linkend="distfile-survey"/>.</para>
<para>The <makevar>PORTSCOUT</makevar> variable defines
special conditions within which the
<application>Portscout</application> distfile
scanner should be restricted.</para>
<para>Situations where the <makevar>PORTSCOUT</makevar>
variable should be set include:</para>
<itemizedlist>
<listitem>
<para>When distfiles should be ignored, whether for
specific versions, or specific minor revisions. For
example, to exclude version
<replaceable>8.2</replaceable> from distfile version
checks because it is known to be broken, add:</para>
<programlisting>PORTSCOUT= ignore:8.2</programlisting>
-
</listitem>
+
<listitem>
<para>When specific versions or specific major and minor
revisions of a distfile should be checked. For
example, if only version
<replaceable>0.6.4</replaceable> should be monitored
because newer versions have compatablity issues with
&os;, add:</para>
<programlisting>PORTSCOUT= limit:^0\.6\.4</programlisting>
-
</listitem>
+
<listitem>
<para>When URLs listing the available versions differ
from the download URLs. For example, to limit
distfile version checks to the download page for the
<filename role="package">databases/pgtune</filename>
port, add:</para>
<programlisting>PORTSCOUT= site:http://pgfoundry.org/frs/?group_id=1000416</programlisting>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="makefile-depend">
<title>Dependencies</title>
<para>Many ports depend on other ports. This is a very
convenient feature of most Unix-like operating systems,
including &os;. Multiple ports can share a common dependency,
rather than bundling that dependency with every port or
package that needs it. There are seven variables that can be
used to ensure that all the required bits will be on the
user's machine. There are also some pre-supported dependency
variables for common cases, plus a few more to control the
behavior of dependencies.</para>
<sect2>
<title><makevar>LIB_DEPENDS</makevar></title>
<para>This variable specifies the shared libraries this port
depends on. It is a list of
- <replaceable>lib</replaceable>:<replaceable>dir</replaceable><optional><replaceable>:target</replaceable></optional>
+ <replaceable>lib</replaceable>:<replaceable>dir</replaceable>
tuples where <replaceable>lib</replaceable> is the name of
the shared library, <replaceable>dir</replaceable> is the
- directory in which to find it in case it is not available,
- and <replaceable>target</replaceable> is the target to call
- in that directory. For example,</para>
+ directory in which to find it in case it is not available.
+ For example,</para>
- <programlisting>LIB_DEPENDS= jpeg:${PORTSDIR}/graphics/jpeg</programlisting>
+ <programlisting>LIB_DEPENDS= libjpeg.so:${PORTSDIR}/graphics/jpeg</programlisting>
<para>will check for a shared jpeg library with any version,
- and descend into the
- <filename>graphics/jpeg</filename> subdirectory of your
- ports tree to build and install it if it is not found. The
- <replaceable>target</replaceable> part can be omitted if it
- is equal to <makevar>DEPENDS_TARGET</makevar> (which
- defaults to <literal>install</literal>).</para>
+ and descend into the <filename>graphics/jpeg</filename>
+ subdirectory of your ports tree to build and install it if
+ it is not found.</para>
- <note>
- <para>The <replaceable>lib</replaceable> part is a regular
- expression which is being looked up in the
- <command>ldconfig -r</command> output. Values such as
- <literal>intl.9</literal> and
- <literal>intl.[5-7]</literal> are allowed. The first
- pattern, <literal>intl.9</literal>, will match only
- version 9 of intl, while <literal>intl.[5-7]</literal>,
- will match any of: <literal>intl.5</literal>,
- <literal>intl.6</literal> or
- <literal>intl.7</literal>.</para>
- </note>
-
<para>The dependency is checked twice, once from within the
<maketarget>extract</maketarget> target and then from within
the <maketarget>install</maketarget> target. Also, the name
of the dependency is put into the package so that
&man.pkg.add.1; will automatically install it if it is not
on the user's system.</para>
</sect2>
<sect2>
<title><makevar>RUN_DEPENDS</makevar></title>
<para>This variable specifies executables or files this port
depends on during run-time. It is a list of
<replaceable>path</replaceable>:<replaceable>dir</replaceable><optional><replaceable>:target</replaceable></optional>
tuples where <replaceable>path</replaceable> is the name of
the executable or file, <replaceable>dir</replaceable> is
the directory in which to find it in case it is not
available, and <replaceable>target</replaceable> is the
target to call in that directory. If
<replaceable>path</replaceable> starts with a slash
(<literal>/</literal>), it is treated as a file and its
existence is tested with <command>test -e</command>;
otherwise, it is assumed to be an executable, and
<command>which -s</command> is used to determine if the
program exists in the search path.</para>
<para>For example,</para>
<programlisting>RUN_DEPENDS= ${LOCALBASE}/news/bin/innd:${PORTSDIR}/news/inn \
xmlcatmgr:${PORTSDIR}/textproc/xmlcatmgr</programlisting>
<para>will check if the file or directory
<filename>/usr/local/news/bin/innd</filename> exists, and
build and install it from the <filename>news/inn</filename>
subdirectory of the ports tree if it is not found. It will
also see if an executable called
<command>xmlcatmgr</command> is in the search path, and
descend into the <filename>textproc/xmlcatmgr</filename>
subdirectory of your ports tree to build and install it if
it is not found.</para>
<note>
<para>In this case, <command>innd</command> is actually an
executable; if an executable is in a place that is not
expected to be in the search path, you should use the full
pathname.</para>
</note>
<note>
<para>The official search <envar>PATH</envar> used on the
ports build cluster is</para>
<programlisting>/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin</programlisting>
</note>
<para>The dependency is checked from within the
<maketarget>install</maketarget> target. Also, the name of
the dependency is put into the package so that
&man.pkg.add.1; will automatically install it if it is not
on the user's system. The <replaceable>target</replaceable>
part can be omitted if it is the same as
<makevar>DEPENDS_TARGET</makevar>.</para>
<para>A quite common situation is when
<makevar>RUN_DEPENDS</makevar> is literally the same as
<makevar>BUILD_DEPENDS</makevar>, especially if ported
software is written in a scripted language or if it requires
the same build and run-time environment. In this
case, it is both tempting and intuitive to directly
assign one to the other:</para>
<programlisting>RUN_DEPENDS= ${BUILD_DEPENDS}</programlisting>
<para>However, such assignment can pollute run-time
dependencies with entries not defined in the port's original
<makevar>BUILD_DEPENDS</makevar>. This happens because of
&man.make.1;'s lazy evaluation of variable assignment.
Consider a <filename>Makefile</filename> with
<makevar>USE_<replaceable>*</replaceable></makevar>
variables, which are processed by
<filename>ports/Mk/bsd.*.mk</filename> to augment initial
build dependencies. For example,
- <literal>USES= gmake</literal> adds <filename
- role="package">devel/gmake</filename> to
+ <literal>USES= gmake</literal> adds
+ <filename role="package">devel/gmake</filename> to
<makevar>BUILD_DEPENDS</makevar>. To prevent such
additional dependencies from polluting
<makevar>RUN_DEPENDS</makevar>, take care to assign with
expansion, i.e., expand the value before assigning it to the
variable:</para>
<programlisting>RUN_DEPENDS:= ${BUILD_DEPENDS}</programlisting>
</sect2>
<sect2>
<title><makevar>BUILD_DEPENDS</makevar></title>
<para>This variable specifies executables or files this port
requires to build. Like <makevar>RUN_DEPENDS</makevar>, it
is a list of
<replaceable>path</replaceable>:<replaceable>dir</replaceable><optional><replaceable>:target</replaceable></optional>
tuples. For example,</para>
<programlisting>BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip</programlisting>
<para>will check for an executable called
<command>unzip</command>, and descend into the
<filename>archivers/unzip</filename> subdirectory of your
ports tree to build and install it if it is not
found.</para>
<note>
<para><quote>build</quote> here means everything from
extraction to compilation. The dependency is checked from
within the <maketarget>extract</maketarget> target. The
<replaceable>target</replaceable> part can be omitted if
it is the same as <makevar>DEPENDS_TARGET</makevar></para>
</note>
</sect2>
<sect2>
<title><makevar>FETCH_DEPENDS</makevar></title>
<para>This variable specifies executables or files this port
requires to fetch. Like the previous two, it is a list of
<replaceable>path</replaceable>:<replaceable>dir</replaceable><optional><replaceable>:target</replaceable></optional>
tuples. For example,</para>
<programlisting>FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2</programlisting>
<para>will check for an executable called
<command>ncftp2</command>, and descend into the
<filename>net/ncftp2</filename> subdirectory of your ports
tree to build and install it if it is not found.</para>
<para>The dependency is checked from within the
<maketarget>fetch</maketarget> target. The
<replaceable>target</replaceable> part can be omitted if it
is the same as <makevar>DEPENDS_TARGET</makevar>.</para>
</sect2>
<sect2>
<title><makevar>EXTRACT_DEPENDS</makevar></title>
<para>This variable specifies executables or files this port
requires for extraction. Like the previous, it is a list of
<replaceable>path</replaceable>:<replaceable>dir</replaceable><optional><replaceable>:target</replaceable></optional>
tuples. For example,</para>
<programlisting>EXTRACT_DEPENDS= unzip:${PORTSDIR}/archivers/unzip</programlisting>
<para>will check for an executable called
<command>unzip</command>, and descend into the
<filename>archivers/unzip</filename> subdirectory of your
ports tree to build and install it if it is not
found.</para>
<para>The dependency is checked from within the
<maketarget>extract</maketarget> target. The
<replaceable>target</replaceable> part can be omitted if it
is the same as <makevar>DEPENDS_TARGET</makevar>.</para>
<note>
<para>Use this variable only if the extraction does not
already work (the default assumes <command>gzip</command>)
and cannot be made to work using
<makevar>USE_ZIP</makevar> or <makevar>USE_BZIP2</makevar>
described in <xref linkend="use-vars"/>.</para>
</note>
</sect2>
<sect2>
<title><makevar>PATCH_DEPENDS</makevar></title>
<para>This variable specifies executables or files this port
requires to patch. Like the previous, it is a list of
<replaceable>path</replaceable>:<replaceable>dir</replaceable><optional><replaceable>:target</replaceable></optional>
tuples. For example,</para>
<programlisting>PATCH_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/java/jfc:extract</programlisting>
<para>will descend into the <filename>java/jfc</filename>
subdirectory of your ports tree to extract it.</para>
<para>The dependency is checked from within the
<maketarget>patch</maketarget> target. The
<replaceable>target</replaceable> part can be omitted if it
is the same as <makevar>DEPENDS_TARGET</makevar>.</para>
</sect2>
<sect2 id="uses">
<title><makevar>USES</makevar></title>
<para>There several parameters exist for defining different
kind of features and dependencies that the port in question
uses. They can be specified by adding the following line to
the <filename>Makefile</filename> of the port:</para>
<programlisting>USES= feature[:arguments]</programlisting>
<para>For the complete list of such values, please see <xref
linkend="uses-values"/>.</para>
<warning>
<para><makevar>USES</makevar> cannot be assigned after
inclusion of <filename>bsd.port.pre.mk</filename>.</para>
</warning>
</sect2>
<sect2 id="use-vars">
<title><makevar>USE_<replaceable>*</replaceable></makevar></title>
<para>Several variables exist to define
common dependencies shared by many ports. Their
use is optional, but helps to reduce the verbosity of
the port <filename>Makefile</filename>s. Each of them is
styled as
<makevar>USE_<replaceable>*</replaceable></makevar>.
These variables may be used only in the port
<filename>Makefile</filename>s and
<filename>ports/Mk/bsd.*.mk</filename>. They are not meant
for user-settable options &mdash; use
<makevar>PORT_OPTIONS</makevar> for that purpose.</para>
<note>
<para>It is <emphasis>always</emphasis> incorrect to set any
<makevar>USE_<replaceable>*</replaceable></makevar> in
<filename>/etc/make.conf</filename>. For instance,
setting</para>
- <programlisting>USE_GCC=3.4</programlisting>
+ <programlisting>USE_GCC=X.Y</programlisting>
- <para>would add a dependency on gcc34 for every port,
- including gcc34 itself!</para>
+ <para>(where X.Y is version number) would add a dependency on
+ gccXY for every port, including <literal>lang/gccXY</literal>
+ itself!</para>
</note>
<table frame="none">
<title>The
<makevar>USE_<replaceable>*</replaceable></makevar>
Variables</title>
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Means</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>USE_BZIP2</makevar></entry>
<entry>The port's tarballs are compressed with
<command>bzip2</command>.</entry>
</row>
<row>
<entry><makevar>USE_ZIP</makevar></entry>
<entry>The port's tarballs are compressed with
<command>zip</command>.</entry>
</row>
<row>
<entry><makevar>USE_GCC</makevar></entry>
- <entry>The port requires a specific version of
- <command>gcc</command> to build. The exact version
- can be specified with value such as
- <literal>3.4</literal>. The minimal required
- version can be specified as <literal>3.4+</literal>.
- The <command>gcc</command> from the base system is
- used when it satisfies the requested version,
- otherwise an appropriate <command>gcc</command> is
- compiled from ports and the <makevar>CC</makevar>
- and <makevar>CXX</makevar> variables are
- adjusted.</entry>
+ <entry>The port requires GCC (<command>gcc</command> or
+ <command>g++</command>) to build. Some ports need any
+ GCC version, some require modern, recent versions. It
+ is typically set to <literal>any</literal> (in this
+ case, GCC from base would be used on versions of &os;
+ that still have it, or <literal>lang/gcc</literal> port
+ would be installed when default C/C++ compiler is Clang);
+ or <literal>yes</literal> (means always use stable, modern
+ GCC from <literal>lang/gcc</literal> port). The exact
+ version can be also specified, with a value such as
+ <literal>4.7</literal>. The minimal required
+ version can be specified as <literal>4.6+</literal>.
+ The GCC from the base system is used when it satisfies
+ the requested version, otherwise an appropriate compiler
+ in built from the port, and the <makevar>CC</makevar>
+ and <makevar>CXX</makevar> variables are adjusted
+ accordingly.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>Variables related to <application>gmake</application>
and the <filename>configure</filename> script are described
in <xref linkend="building"/>, while
<application>autoconf</application>,
<application>automake</application> and
<application>libtool</application> are described in
<xref linkend="using-autotools"/>.
<application>Perl</application> related variables are
described in <xref linkend="using-perl"/>. X11 variables
are listed in <xref linkend="using-x11"/>.
<xref linkend="using-gnome"/> deals with GNOME and
<xref linkend="using-kde"/> with KDE related variables.
<xref linkend="using-java"/> documents Java variables, while
<xref linkend="using-php"/> contains information on
<application>Apache</application>,
<application>PHP</application> and PEAR modules.
<application>Python</application> is discussed in
<xref linkend="using-python"/>, while
<application>Ruby</application> in
<xref linkend="using-ruby"/>. <xref linkend="using-sdl"/>
provides variables used for <application>SDL</application>
applications and finally, <xref linkend="using-xfce"/>
contains information on
<application>Xfce</application>.</para>
</sect2>
<sect2>
<title>Minimal Version of a Dependency</title>
<para>A minimal version of a dependency can be specified in
any <makevar>*_DEPENDS</makevar> variable except
<makevar>LIB_DEPENDS</makevar> using the following
syntax:</para>
<programlisting>p5-Spiffy>=0.26:${PORTSDIR}/devel/p5-Spiffy</programlisting>
<para>The first field contains a dependent package name, which
must match the entry in the package database, a comparison
sign, and a package version. The dependency is satisfied if
p5-Spiffy-0.26 or newer is installed on the machine.</para>
</sect2>
<sect2>
<title>Notes on Dependencies</title>
<para>As mentioned above, the default target to call when a
dependency is required is
<maketarget>DEPENDS_TARGET</maketarget>. It defaults to
<literal>install</literal>. This is a user variable; it is
never defined in a port's <filename>Makefile</filename>. If
your port needs a special way to handle a dependency, use
the <literal>:target</literal> part of the
<makevar>*_DEPENDS</makevar> variables instead of redefining
<makevar>DEPENDS_TARGET</makevar>.</para>
<para>When you type <command>make clean</command>, its
dependencies are automatically cleaned too. If you do not
wish this to happen, define the variable
<makevar>NOCLEANDEPENDS</makevar> in your environment. This
may be particularly desirable if the port has something that
takes a long time to rebuild in its dependency list, such as
KDE, GNOME or Mozilla.</para>
<para>To depend on another port unconditionally, use the
variable <makevar>${NONEXISTENT}</makevar> as the first
field of <makevar>BUILD_DEPENDS</makevar> or
<makevar>RUN_DEPENDS</makevar>. Use this only when you need
to get the source of the other port. You can often save
compilation time by specifying the target too. For
instance</para>
<programlisting>BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/graphics/jpeg:extract</programlisting>
<para>will always descend to the <literal>jpeg</literal> port
and extract it.</para>
</sect2>
<sect2>
<title>Circular Dependencies Are Fatal</title>
<important>
<para>Do not introduce any circular dependencies into the
ports tree!</para>
</important>
<para>The ports building technology does not tolerate circular
dependencies. If you introduce one, you will have someone,
somewhere in the world, whose FreeBSD installation will
break almost immediately, with many others quickly to
follow. These can really be hard to detect; if in doubt,
before you make that change, make sure you have done the
following: <command>cd /usr/ports; make index</command>.
That process can be quite slow on older machines, but you
may be able to save a large number of people&mdash;including
yourself&mdash; a lot of grief in the process.</para>
</sect2>
<sect2>
<title>Problems Caused by Automatic Dependencies</title>
<para>Dependencies must be declared either explicitly or by
using the <link
linkend="makefile-options">OPTIONS framework</link>.
Using other methods like automatic detection complicates
indexing, which causes problems for port and package
management.</para>
<example>
<title>Wrong Declaration of an Optional Dependency</title>
<programlisting>.include &lt;bsd.port.pre.mk&gt;
.if exists(${LOCALBASE}/bin/foo)
LIB_DEPENDS= bar:${PORTSDIR}/foo/bar
.endif</programlisting>
</example>
<para>The problem with trying to automatically add
dependencies is that files and settings outside an
individual port can change at any time. For example: an
index is built, then a batch of ports are installed. But
one of the ports installs the tested file. The index is now
incorrect, because an installed port unexpectedly has a new
dependency. The index may still be wrong even after
rebuilding if other ports also determine their need for
dependencies based on the existence of other files.</para>
<example>
<title>Correct Declaration of an Optional Dependency</title>
<programlisting>OPTIONS_DEFINE= BAR
BAR_DESC= Bar support
.include &lt;bsd.port.options.mk&gt;
.if ${PORT_OPTIONS:MBAR}
LIB_DEPENDS= bar:${PORTSDIR}/foo/bar
.endif</programlisting>
</example>
<para>Testing option variables is the correct method. It will
not cause inconsistencies in the index of a batch of ports,
provided the options were defined prior to the index build.
Simple scripts can then be used to automate the building,
installation, and updating of these ports and their
packages.</para>
</sect2>
<sect2 id="use-want">
<title><makevar>USE_</makevar> and
<makevar>WANT_</makevar></title>
<para><makevar>USE_</makevar> variables are set by the port
maintainer to define software on which this port depends. A
port that needs Firefox would set</para>
<programlisting>USE_FIREFOX= yes</programlisting>
<para>Some <makevar>USE_</makevar> variables can accept
version numbers or other parameters. For example, a port
that requires Apache 2.2 would set</para>
<programlisting>USE_APACHE= 22</programlisting>
<para>For more control over dependencies in some cases,
<makevar>WANT_</makevar> variables are available to more
precisely specify what is needed. For example, consider the
<filename role="package">mail/squirrelmail</filename> port.
This port needs some PHP modules, which are listed in the
<makevar>USE_PHP</makevar> variable:</para>
<programlisting>USE_PHP= session mhash gettext mbstring pcre openssl xml</programlisting>
<para>Those modules may be available in CLI or web versions,
so the web version is selected with a
<makevar>WANT_</makevar> variable:</para>
<programlisting>WANT_PHP_WEB= yes</programlisting>
<para>Available <makevar>USE_</makevar> and
<makevar>WANT_</makevar> variables are defined in the files
in <filename>/usr/ports/Mk</filename>.</para>
</sect2>
</sect1>
<sect1 id="makefile-masterdir">
<title><makevar>MASTERDIR</makevar></title>
<para>If your port needs to build slightly different versions of
packages by having a variable (for instance, resolution, or
paper size) take different values, create one subdirectory per
package to make it easier for users to see what to do, but try
to share as many files as possible between ports. Typically
you only need a very short <filename>Makefile</filename> in
all but one of the directories if you use variables cleverly.
In the sole <filename>Makefile</filename>, you can use
<makevar>MASTERDIR</makevar> to specify the directory where
the rest of the files are. Also, use a variable as part of
<link
linkend="porting-pkgname"><makevar>PKGNAMESUFFIX</makevar></link>
so the packages will have different names.</para>
<para>This will be best demonstrated by an example. This is
part of <filename>japanese/xdvi300/Makefile</filename>;</para>
<programlisting>PORTNAME= xdvi
PORTVERSION= 17
PKGNAMEPREFIX= ja-
PKGNAMESUFFIX= ${RESOLUTION}
:
# default
RESOLUTION?= 300
.if ${RESOLUTION} != 118 &amp;&amp; ${RESOLUTION} != 240 &amp;&amp; \
${RESOLUTION} != 300 &amp;&amp; ${RESOLUTION} != 400
@${ECHO_MSG} "Error: invalid value for RESOLUTION: \"${RESOLUTION}\""
@${ECHO_MSG} "Possible values are: 118, 240, 300 (default) and 400."
@${FALSE}
.endif</programlisting>
<para><filename role="package">japanese/xdvi300</filename> also
has all the regular patches, package files, etc. If you type
<command>make</command> there, it will take the default value
for the resolution (300) and build the port normally.</para>
<para>As for other resolutions, this is the
<emphasis>entire</emphasis>
<filename>xdvi118/Makefile</filename>:</para>
<programlisting>RESOLUTION= 118
MASTERDIR= ${.CURDIR}/../xdvi300
.include "${MASTERDIR}/Makefile"</programlisting>
<para>(<filename>xdvi240/Makefile</filename> and
<filename>xdvi400/Makefile</filename> are similar). The
<makevar>MASTERDIR</makevar> definition tells
<filename>bsd.port.mk</filename> that the regular set of
subdirectories like <makevar>FILESDIR</makevar> and
<makevar>SCRIPTDIR</makevar> are to be found under
<filename>xdvi300</filename>. The
<literal>RESOLUTION=118</literal> line will override the
<literal>RESOLUTION=300</literal> line in
<filename>xdvi300/Makefile</filename> and the port will be
built with resolution set to 118.</para>
</sect1>
<sect1 id="makefile-manpages">
<title>Man Pages</title>
<para>The <makevar>MAN[1-9LN]</makevar> variables will
automatically add any manpages to
<filename>pkg-plist</filename> (this means you must
<emphasis>not</emphasis> list manpages in the
- <filename>pkg-plist</filename>&mdash;see <link
- linkend="plist-sub">generating PLIST</link> for more). It
- also makes the install stage automatically compress or
+ <filename>pkg-plist</filename>&mdash;see
+ <link linkend="plist-sub">generating PLIST</link> for more).
+ It also makes the install stage automatically compress or
uncompress manpages depending on the setting of
<makevar>NO_MANCOMPRESS</makevar> in
<filename>/etc/make.conf</filename>.</para>
<para>If your port tries to install multiple names for manpages
using symlinks or hardlinks, you must use the
<makevar>MLINKS</makevar> variable to identify these. The
link installed by your port will be destroyed and recreated by
<filename>bsd.port.mk</filename> to make sure it points to the
correct file. Any manpages listed in MLINKS must not be
listed in the <filename>pkg-plist</filename>.</para>
<para>To specify whether the manpages are compressed upon
installation, use the <makevar>MANCOMPRESSED</makevar>
variable. This variable can take three values,
<literal>yes</literal>, <literal>no</literal> and
<literal>maybe</literal>. <literal>yes</literal> means
manpages are already installed compressed,
<literal>no</literal> means they are not, and
<literal>maybe</literal> means the software already respects
the value of <makevar>NO_MANCOMPRESS</makevar> so
<filename>bsd.port.mk</filename> does not have to do anything
special.</para>
<para>If your port anchors its man tree somewhere other than
<makevar>PREFIX</makevar>, you can use the
<makevar>MANPREFIX</makevar> to set it. Also, if only
manpages in certain sections go in a non-standard place, such
as some <literal>perl</literal> modules ports, you can set
individual man paths using
<makevar>MAN<replaceable>sect</replaceable>PREFIX</makevar>
(where <replaceable>sect</replaceable> is one of
<literal>1-9</literal>, <literal>L</literal> or
<literal>N</literal>).</para>
<para>If your manpages go to language-specific subdirectories,
set the name of the languages to <makevar>MANLANG</makevar>.
The value of this variable defaults to <literal>""</literal>
(i.e., English only).</para>
<para>Here is an example that puts it all together.</para>
<programlisting>MAN1= foo.1
MAN3= bar.3
MAN4= baz.4
MLINKS= foo.1 alt-name.8
MANLANG= "" ja
MAN3PREFIX= ${PREFIX}/share/foobar
MANCOMPRESSED= yes</programlisting>
<para>This states that six files are installed by this
port;</para>
<programlisting>${MANPREFIX}/man/man1/foo.1.gz
${MANPREFIX}/man/ja/man1/foo.1.gz
${PREFIX}/share/foobar/man/man3/bar.3.gz
${PREFIX}/share/foobar/man/ja/man3/bar.3.gz
${MANPREFIX}/man/man4/baz.4.gz
${MANPREFIX}/man/ja/man4/baz.4.gz</programlisting>
<para>Additionally
<filename>${MANPREFIX}/man/man8/alt-name.8.gz</filename> may
or may not be installed by your port. Regardless, a symlink
will be made to join the foo(1) manpage and alt-name(8)
manpage.</para>
<para>If only some manpages are translated, you can use several
variables dynamically created from <makevar>MANLANG</makevar>
content:</para>
<programlisting>MANLANG= "" de ja
MAN1= foo.1
MAN1_EN= bar.1
MAN3_DE= baz.3</programlisting>
<para>This translates into this list of files:</para>
<programlisting>${MANPREFIX}/man/man1/foo.1.gz
${MANPREFIX}/man/de/man1/foo.1.gz
${MANPREFIX}/man/ja/man1/foo.1.gz
${MANPREFIX}/man/man1/bar.1.gz
${MANPREFIX}/man/de/man3/baz.3.gz</programlisting>
</sect1>
<sect1 id="makefile-info">
<title>Info Files</title>
<para>If your package needs to install GNU info files, they
should be listed in the <makevar>INFO</makevar> variable
(without the trailing <literal>.info</literal>), one entry per
document. These files are assumed to be installed to
<filename><makevar>PREFIX</makevar>/<makevar>INFO_PATH</makevar></filename>.
You can change <makevar>INFO_PATH</makevar> if your package
uses a different location. However, this is not recommended.
These entries contain just the path relative to
<filename><makevar>PREFIX</makevar>/<makevar>INFO_PATH</makevar></filename>.
For example, <filename role="package">lang/gcc34</filename>
installs info files to
<filename><makevar>PREFIX</makevar>/<makevar>INFO_PATH</makevar>/gcc34</filename>,
and <makevar>INFO</makevar> will be something like
this:</para>
<programlisting>INFO= gcc34/cpp gcc34/cppinternals gcc34/g77 ...</programlisting>
<para>Appropriate installation/de-installation code will be
automatically added to the temporary
<filename>pkg-plist</filename> before package
registration.</para>
</sect1>
<sect1 id="makefile-options">
<title>Makefile Options</title>
<para>Many applications can be built with optional or differing
configurations. Examples include choice of natural (human)
language, GUI versus command-line, or type of database to
support. Users may need a different configuration than the
default, so the ports system provides hooks the port author
can use to control which variant will be built. Supporting
these options properly will make users happy, and effectively
provide two or more ports for the price of one.</para>
<sect2>
<title>Knobs</title>
<sect3>
<title><makevar>WITH_<replaceable>*</replaceable></makevar>
and
<makevar>WITHOUT_<replaceable>*</replaceable></makevar></title>
<para>These variables are designed to be set by the system
administrator. There are many that are standardized in
the <ulink
url="http://svnweb.FreeBSD.org/ports/head/KNOBS?view=markup"><filename>ports/KNOBS</filename></ulink>
file.</para>
<para>When creating a port, do not make knob names specific
to a given application. For example in Avahi port, use
<makevar>WITHOUT_MDNS</makevar> instead of
<makevar>WITHOUT_AVAHI_MDNS</makevar>.</para>
<note>
<para>You should not assume that a
<makevar>WITH_<replaceable>*</replaceable></makevar>
necessarily has a corresponding
<makevar>WITHOUT_<replaceable>*</replaceable></makevar>
variable and vice versa. In general, the default is
simply assumed.</para>
</note>
<note>
<para>Unless otherwise specified, these variables are only
tested for being set or not set, rather than being set
to a specific value such as <literal>YES</literal>
or <literal>NO</literal>.</para>
</note>
<table frame="none">
<title>Common
<makevar>WITH_<replaceable>*</replaceable></makevar> and
<makevar>WITHOUT_<replaceable>*</replaceable></makevar>
Variables</title>
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Means</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>WITH_OPENSSL_BASE</makevar></entry>
<entry>Use the version of OpenSSL in the base
system.</entry>
</row>
<row>
<entry><makevar>WITH_OPENSSL_PORT</makevar></entry>
<entry>Installs the version of OpenSSL from
<filename
role="package">security/openssl</filename>, even
if the base is up to date.</entry>
</row>
</tbody>
</tgroup>
</table>
</sect3>
<sect3>
<title>Knob Naming</title>
<para>Porters should use like-named knobs, both
for the benefit of end-users and to help keep the number
of knob names down. A list of popular knob names can be
found in the <ulink
url="http://svnweb.FreeBSD.org/ports/head/KNOBS?view=markup"><filename>KNOBS</filename></ulink>
file.</para>
<para>Knob names should reflect what the knob is and does.
When a port has a lib-prefix in the
<makevar>PORTNAME</makevar> the lib-prefix should be
dropped in knob naming.</para>
</sect3>
</sect2>
<sect2>
<title><makevar>OPTIONS</makevar></title>
<sect3>
<title>Background</title>
<para>The <makevar>OPTIONS_*</makevar> variables give the
user installing the port a dialog showing the available
options, and then saves those options to
<filename>/var/db/ports/<makevar>${UNIQUENAME}</makevar>/options</filename>.
The next time the port is built, the options are
reused.</para>
<para>When the user runs <command>make config</command> (or
runs <command>make build</command> for the first time),
the framework checks for
<filename>/var/db/ports/<makevar>${UNIQUENAME}</makevar>/options</filename>.
If that file does not exist, the values of
<makevar>OPTIONS_*</makevar> are used, and a dialog box is
displayed where the options can be enabled or disabled.
Then the <filename>options</filename> file is saved and
the configured variables are used when building the
port.</para>
<para>If a new version of the port adds new
<makevar>OPTIONS</makevar>, the dialog will be presented
to the user with the saved values of old
<makevar>OPTIONS</makevar> prefilled.</para>
<para><command>make showconfig</command> shows the
saved configuration. Use <command>make rmconfig</command>
to remove the saved configuration.</para>
</sect3>
<sect3>
<title>Syntax</title>
<para><makevar>OPTIONS_DEFINE</makevar> contains a list of
<makevar>OPTIONS</makevar> to be used. These are
independent of each other and are not grouped:</para>
<programlisting>OPTIONS_DEFINE= OPT1 OPT2</programlisting>
<para>Once defined, <makevar>OPTIONS</makevar> are
described (optional, but strongly recommended):</para>
<programlisting>OPT1_DESC= Describe OPT1
OPT2_DESC= Describe OPT2
OPT3_DESC= Describe OPT3
OPT4_DESC= Describe OPT4
OPT5_DESC= Describe OPT5
OPT6_DESC= Describe OPT6</programlisting>
<tip>
<para><filename>ports/Mk/bsd.options.desc.mk</filename>
has descriptions for many common
<makevar>OPTIONS</makevar>; there is usually no need
to override these.</para>
</tip>
<tip>
<para>When describing options, view it from the
perspective of the user: <quote>What does it do?</quote>
and <quote>Why would I want to enable this?</quote> Do
not just repeat the name. For example, describing the
<literal>NLS</literal> option as
<quote>include NLS support</quote> does not help the
user, who can already see the option name but may not
know what it means. Describing it as <quote>Native
Language Support via gettext utilities</quote> is
much more helpful.</para>
</tip>
<para><makevar>OPTIONS</makevar> can be grouped as radio
choices, where only one choice from each group is
allowed:</para>
<programlisting>OPTIONS_SINGLE= SG1
OPTIONS_SINGLE_SG1= OPT3 OPT4</programlisting>
<para><makevar>OPTIONS</makevar> can be grouped as radio
choices, where none or only one choice from each group
is allowed:</para>
<programlisting>OPTIONS_RADIO= RG1
OPTIONS_RADIO_RG1= OPT7 OPT8</programlisting>
<para><makevar>OPTIONS</makevar> can also be grouped as
<quote>multiple-choice</quote> lists, where
<emphasis>at least one</emphasis> option must be
enabled:</para>
<programlisting>OPTIONS_MULTI= MG1
OPTIONS_MULTI_MG1= OPT5 OPT6</programlisting>
<para><makevar>OPTIONS</makevar> can also be grouped as
<quote>multiple-choice</quote> lists, where none or any
option can be enabled:</para>
<programlisting>OPTIONS_GROUP= GG1
OPTIONS_GROUP_GG1= OPT9 OPT10</programlisting>
<para><makevar>OPTIONS</makevar> are unset by default,
unless they are listed in
<makevar>OPTIONS_DEFAULT</makevar>:</para>
<programlisting>OPTIONS_DEFAULT= OPT1 OPT3 OPT6</programlisting>
<para><makevar>OPTIONS</makevar> definitions must appear
before the inclusion of
<filename>bsd.port.options.mk</filename>. The
<makevar>PORT_OPTIONS</makevar> variable can only be
tested after the inclusion of
<filename>bsd.port.options.mk</filename>. Inclusion of
<filename>bsd.port.pre.mk</filename> can be used instead,
too, and is still widely used in ports written before the
introduction of <filename>bsd.port.options.mk</filename>.
But be aware that some variables will not work as expected
after the inclusion of
<filename>bsd.port.pre.mk</filename>, typically some
<makevar>USE_*</makevar> flags.</para>
<example id="ports-options-simple-use">
<title>Simple Use of <makevar>OPTIONS</makevar></title>
<programlisting>OPTIONS_DEFINE= FOO BAR
FOO_DESC= Enable option foo
BAR_DESC= Support feature bar
OPTIONS_DEFAULT=FOO
.include &lt;bsd.port.options.mk&gt;
.if ${PORT_OPTIONS:MFOO}
CONFIGURE_ARGS+=--with-foo
.else
CONFIGURE_ARGS+=--without-foo
.endif
.if ${PORT_OPTIONS:MBAR}
RUN_DEPENDS+= bar:${PORTSDIR}/bar/bar
.endif
.include &lt;bsd.port.mk&gt;</programlisting>
</example>
<example id ="ports-options-check-unset">
<title>Check for Unset Port
<makevar>OPTIONS</makevar></title>
<programlisting>.if ! ${PORT_OPTIONS:MEXAMPLES}
CONFIGURE_ARGS+=--without-examples
.endif</programlisting>
</example>
<example id="ports-options-practical-use">
<title>Practical Use of <makevar>OPTIONS</makevar></title>
<programlisting>OPTIONS_DEFINE= EXAMPLES
OPTIONS_SINGLE= BACKEND
OPTIONS_SINGLE_BACKEND= MYSQL PGSQL BDB
OPTIONS_MULTI= AUTH
OPTIONS_MULTI_AUTH= LDAP PAM SSL
EXAMPLES_DESC= Install extra examples
MYSQL_DESC= Use MySQL as backend
PGSQL_DESC= Use PostgreSQL as backend
BDB_DESC= Use Berkeley DB as backend
LDAP_DESC= Build with LDAP authentication support
PAM_DESC= Build with PAM support
SSL_DESC= Build with OpenSSL support
OPTIONS_DEFAULT= PGSQL LDAP SSL
.include &lt;bsd.port.options.mk&gt;
.if ${PORT_OPTIONS:MPGSQL}
USE_PGSQL= yes
CONFIGURE_ARGS+= --with-postgres
.else
CONFIGURE_ARGS+= --without-postgres
.endif
.if ${PORT_OPTIONS:MICU}
LIB_DEPENDS+= icuuc:${PORTSDIR}/devel/icu
.endif
.if ! ${PORT_OPTIONS:MEXAMPLES}
CONFIGURE_ARGS+= --without-examples
.endif
# Check other OPTIONS
.include &lt;bsd.port.mk&gt;</programlisting>
</example>
-
</sect3>
<sect3>
<title>Default Options</title>
<para>The following options are always on by default.</para>
<itemizedlist>
<listitem>
<para><literal>DOCS</literal> &mdash; build and install
documentation.</para>
</listitem>
<listitem>
<para><literal>NLS</literal> &mdash; Native Language
Support.</para>
</listitem>
<listitem>
<para><literal>EXAMPLES</literal> &mdash; build and
install examples.</para>
</listitem>
<listitem>
<para><literal>IPV6</literal> &mdash; IPv6 protocol
support.</para>
</listitem>
</itemizedlist>
<note>
<para>There is no need to add these to
<makevar>OPTIONS_DEFAULT</makevar>. To have them show
up in the options selection dialog, however, they must
be added to <makevar>OPTIONS_DEFINE</makevar>.</para>
</note>
</sect3>
</sect2>
<sect2>
<title>Feature Auto-Activation</title>
<para>When using a GNU configure script, keep an eye on which
optional features are activated by auto-detection.
Explicitly disable optional features you do not wish to be
used by passing respective <literal>--without-xxx</literal>
or <literal>--disable-xxx</literal> in
<makevar>CONFIGURE_ARGS</makevar>.</para>
<example>
<title>Wrong Handling of an Option</title>
<programlisting>.if ${PORT_OPTIONS:MFOO}
-LIB_DEPENDS+= foo:${PORTSDIR}/devel/foo
+LIB_DEPENDS+= libfoo.so:${PORTSDIR}/devel/foo
CONFIGURE_ARGS+= --enable-foo
.endif</programlisting>
</example>
<para>In the example above, imagine a library libfoo is
installed on the system. The user does not want this
application to use libfoo, so he toggled the option off in
the <literal>make config</literal> dialog. But the
application's configure script detects the library present
in the system and includes its support in the resulting
executable. Now when the user decides to remove libfoo from
the system, the ports system does not protest (no dependency
on libfoo was recorded) but the application breaks.</para>
<example>
<title>Correct Handling of an Option</title>
<programlisting>.if ${PORT_OPTIONS:MFOO}
-LIB_DEPENDS+= foo:${PORTSDIR}/devel/foo
+LIB_DEPENDS+= libfoo.so:${PORTSDIR}/devel/foo
CONFIGURE_ARGS+= --enable-foo
.else
CONFIGURE_ARGS+= --disable-foo
.endif</programlisting>
</example>
<para>In the second example, the library libfoo is explicitly
disabled. The configure script does not enable related
features in the application, despite library's presence in
the system.</para>
<note>
<para>Under some circumstances, the shorthand conditional
- syntax can cause problems with complex constructs.
- If you receive errors such as <literal>Malformed
- conditional</literal>, an alternative syntax can be
- used.</para>
+ syntax can cause problems with complex constructs. If you
+ receive errors such as
+ <literal>Malformed conditional</literal>, an alternative
+ syntax can be used.</para>
+
<programlisting>.if !empty(VARIABLE:MVALUE)
# as an alternative to
.if ${VARIABLE:MVALUE}</programlisting>
</note>
</sect2>
+
<sect2>
<title>Options Helpers</title>
<para>There are some macros to help simplify conditional
values which differ based on the options set.</para>
<para>If <makevar>OPTIONS_SUB</makevar> is set to
- <literal>yes</literal> then each of the options added
- to <makevar>OPTIONS_DEFINE</makevar> will be added to
+ <literal>yes</literal> then each of the options added
+ to <makevar>OPTIONS_DEFINE</makevar> will be added to
<makevar>PLIST_SUB</makevar>, for example:</para>
<programlisting>OPTIONS_DEFINE= OPT1
OPTIONS_SUB= yes</programlisting>
<para> is equivalent to:</para>
<programlisting>OPTIONS_DEFINE= OPT1
.include &lt;bsd.port.options.mk&gt;
.if ${PORT_OPTIONS:MOPT1}
PLIST_SUB+= OPT1=""
.else
PLIST_SUB+= OPT1="@comment "
.endif</programlisting>
<para>If <makevar>X_CONFIGURE_ENABLE</makevar> is set then
- <literal>--enable-${X_CONFIGURE_ENABLE}</literal>
- or <literal>--disable-${X_CONFIGURE_ENABLE}</literal> will
- be added to <makevar>CONFIGURE_ARGS</makevar> depending on
- the value of the option<makevar>X</makevar>, for example:</para>
+ <literal>--enable-${X_CONFIGURE_ENABLE}</literal> or
+ <literal>--disable-${X_CONFIGURE_ENABLE}</literal> will be
+ added to <makevar>CONFIGURE_ARGS</makevar> depending on the
+ value of the option<makevar>X</makevar>, for example:</para>
<programlisting>OPTIONS_DEFINE= OPT1
OPT1_CONFIGURE_ENABLE= test</programlisting>
<para>is equivalent to:</para>
<programlisting>OPTIONS_DEFINE= OPT1
.include &lt;bsd.port.options.mk&gt;
.if ${PORT_OPTIONS:MOPT1}
CONFIGURE_ARGS+= --enable-test
.else
CONFIGURE_ARGS+= --disable-test
.endif</programlisting>
<para>If <makevar>X_CONFIGURE_WITH</makevar> is set then
<literal>--with-${X_CONFIGURE_WITH}</literal>
or <literal>--without-${X_CONFIGURE_WITH}</literal> will
- be added to <makevar>CONFIGURE_ARGS</makevar> depending
+ be added to <makevar>CONFIGURE_ARGS</makevar> depending
on the status of the option <makevar>X</makevar>,
for example:</para>
<programlisting>OPTIONS_DEFINE= OPT1
OPT1_CONFIGURE_WITH= test</programlisting>
<para>is equivalent to:</para>
<programlisting>OPTIONS_DEFINE= OPT1
.include &lt;bsd.port.options.mk&gt;
.if ${PORT_OPTIONS:MOPT1}
CONFIGURE_ARGS+= --with-test
.else
CONFIGURE_ARGS+= --without-test
.endif</programlisting>
- <para>If <makevar>X_CONFIGURE_ON</makevar> is set then its value
- will be appended to <makevar>CONFIGURE_ARGS</makevar> depending
- on the status of the option <makevar>X</makevar>, for example:
- </para>
+ <para>If <makevar>X_CONFIGURE_ON</makevar> is set then its
+ value will be appended to <makevar>CONFIGURE_ARGS</makevar>
+ depending on the status of the option <makevar>X</makevar>,
+ for example:</para>
<programlisting>OPTIONS_DEFINE= OPT1
OPT1_CONFIGURE_ON= --add-test</programlisting>
<para>is equivalent to:</para>
<programlisting>OPTIONS_DEFINE= OPT1
.include &lt;bsd.port.options.mk&gt;
.if ${PORT_OPTIONS:MOPT1}
CONFIGURE_ARGS+= --add-test
.endif</programlisting>
- <para>If <makevar>X_CONFIGURE_OFF</makevar> is set then its value
- will be appended to <makevar>CONFIGURE_ARGS</makevar> depending
- on the status of the option <makevar>X</makevar>, for example:
- </para>
+ <para>If <makevar>X_CONFIGURE_OFF</makevar> is set then its
+ value will be appended to <makevar>CONFIGURE_ARGS</makevar>
+ depending on the status of the option <makevar>X</makevar>,
+ for example:</para>
<programlisting>OPTIONS_DEFINE= OPT1
OPT1_CONFIGURE_OFF= --no-test</programlisting>
<para>is equivalent to:</para>
<programlisting>OPTIONS_DEFINE= OPT1
.include &lt;bsd.port.options.mk&gt;
.if ! ${PORT_OPTIONS:MOPT1}
CONFIGURE_ARGS+= --no-test
.endif</programlisting>
<para>If <makevar>X_CMAKE_ON</makevar> is set then its value
will be appended to <makevar>CMAKE_ARGS</makevar> depending
- on the status of the option <makevar>X</makevar>, for example:
- </para>
+ on the status of the option <makevar>X</makevar>, for
+ example:</para>
<programlisting>OPTIONS_DEFINE= OPT1
OPT1_CMAKE_ON= -DTEST:BOOL=true</programlisting>
<para>is equivalent to:</para>
<programlisting>OPTIONS_DEFINE= OPT1
.include &lt;bsd.port.options.mk&gt;
.if ${PORT_OPTIONS:MOPT1}
CMAKE_ARGS+= -DTEST:BOOL=true
.endif</programlisting>
<para>If <makevar>X_CMAKE_OFF</makevar> is set then its value
will be appended to <makevar>CMAKE_ARGS</makevar> depending
- on the status of the option <makevar>X</makevar>, for example:
- </para>
+ on the status of the option <makevar>X</makevar>, for
+ example:</para>
<programlisting>OPTIONS_DEFINE= OPT1
OPT1_CMAKE_OFF= -DTEST:BOOL=false</programlisting>
<para>is equivalent to:</para>
<programlisting>OPTIONS_DEFINE= OPT1
.include &lt;bsd.port.options.mk&gt;
.if ! ${PORT_OPTIONS:MOPT1}
CMAKE_ARGS+= -DTEST:BOOL=false
.endif</programlisting>
<para>For any of the following variables:</para>
<itemizedlist>
- <listitem>
- <para><makevar>CFLAGS</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>CFLAGS</makevar></para>
+ </listitem>
- <listitem>
- <para><makevar>CXXFLAGS</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>CPPFLAGS</makevar></para>
+ </listitem>
- <listitem>
- <para><makevar>LDLAGS</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>CXXFLAGS</makevar></para>
+ </listitem>
- <listitem>
- <para><makevar>CONFIGURE_ENV</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>LDFLAGS</makevar></para>
+ </listitem>
- <listitem>
- <para><makevar>MAKE_ENV</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>CONFIGURE_ENV</makevar></para>
+ </listitem>
- <listitem>
- <para><makevar>USES</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>MAKE_ENV</makevar></para>
+ </listitem>
- <listitem>
- <para><makevar>DISTFILES</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>USES</makevar></para>
+ </listitem>
+
+ <listitem>
+ <para><makevar>DISTFILES</makevar></para>
+ </listitem>
</itemizedlist>
<para>If <makevar>X_ABOVEVARIABLE</makevar> is defined then
its value will be appended to
<makevar>ABOVEVARIABLE</makevar> depending on the status of
the option <makevar>X</makevar>, for example:</para>
<programlisting>OPTIONS_DEFINE= OPT1
OPT1_USES= gmake
OPT1_CFLAGS= -DTEST</programlisting>
<para>is equivalent to:</para>
<programlisting>OPTIONS_DEFINE= OPT1
.include &lt;bsd.port.options.mk&gt;
.if ${PORT_OPTIONS:MOPT1}
USES+= gmake
CFLAGS+= -DTEST
.endif</programlisting>
<para>For any of the following dependency type:</para>
<itemizedlist>
- <listitem>
- <para><makevar>PKG_DEPENDS</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>PKG_DEPENDS</makevar></para>
+ </listitem>
- <listitem>
- <para><makevar>EXTRACT_DEPENDS</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>EXTRACT_DEPENDS</makevar></para>
+ </listitem>
- <listitem>
- <para><makevar>PATCH_DEPENDS</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>PATCH_DEPENDS</makevar></para>
+ </listitem>
- <listitem>
- <para><makevar>FETCH_DEPENDS</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>FETCH_DEPENDS</makevar></para>
+ </listitem>
- <listitem>
- <para><makevar>BUILD_DEPENDS</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>BUILD_DEPENDS</makevar></para>
+ </listitem>
- <listitem>
- <para><makevar>LIB_DEPENDS</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>LIB_DEPENDS</makevar></para>
+ </listitem>
- <listitem>
- <para><makevar>RUN_DEPENDS</makevar></para>
- </listitem>
+ <listitem>
+ <para><makevar>RUN_DEPENDS</makevar></para>
+ </listitem>
</itemizedlist>
<para>If <makevar>X_ABOVEVARIABLE</makevar> is defined then
its value will be appended to
<makevar>ABOVEVARIABLE</makevar> depending on the status
of the option <makevar>X</makevar>, for example:</para>
<programlisting>OPTIONS_DEFINE= OPT1
OPT1_LIB_DEPENDS= liba.so:${PORTSDIR}/devel/a</programlisting>
<para>is equivalent to:</para>
<programlisting>OPTIONS_DEFINE= OPT1
.include &lt;bsd.port.options.mk&gt;
.if ${PORT_OPTIONS:MOPT1}
LIB_DEPENDS+= liba.so:${PORTSDIR}/devel/a
.endif</programlisting>
</sect2>
</sect1>
<sect1 id="makefile-wrkdir">
<title>Specifying the Working Directory</title>
<para>Each port is extracted in to a working directory, which
must be writable. The ports system defaults to having the
<makevar>DISTFILES</makevar> unpack in to a directory called
<literal>${DISTNAME}</literal>. In other words, if you have
set:</para>
<programlisting>PORTNAME= foo
PORTVERSION= 1.0</programlisting>
<para>then the port's distribution files contain a top-level
directory, <filename>foo-1.0</filename>, and the rest of the
files are located under that directory.</para>
<para>There are a number of variables you can override if that
is not the case.</para>
<sect2>
<title><makevar>WRKSRC</makevar></title>
<para>The variable lists the name of the directory that is
created when the application's distfiles are extracted. If
our previous example extracted into a directory called
<filename>foo</filename> (and not
<filename>foo-1.0</filename>) you would write:</para>
<programlisting>WRKSRC= ${WRKDIR}/foo</programlisting>
<para>or possibly</para>
<programlisting>WRKSRC= ${WRKDIR}/${PORTNAME}</programlisting>
</sect2>
<sect2>
<title><makevar>NO_WRKSUBDIR</makevar></title>
<para>If the port does not extract in to a subdirectory at all
then you should set <makevar>NO_WRKSUBDIR</makevar> to
indicate that.</para>
<programlisting>NO_WRKSUBDIR= yes</programlisting>
</sect2>
</sect1>
<sect1 id="conflicts">
<title>Conflict Handling</title>
<para>There are three different variables to register a conflict
between packages and ports: <makevar>CONFLICTS</makevar>,
<makevar>CONFLICTS_INSTALL</makevar> and
<makevar>CONFLICTS_BUILD</makevar>.</para>
<note>
<para>The conflict variables automatically set the variable
<makevar>IGNORE</makevar>, which is more fully documented
in <xref linkend="dads-noinstall"/>.</para>
</note>
<para>When removing one of several conflicting ports, it is
advisable to retain the <makevar>CONFLICTS</makevar> entries
in those other ports for a few months to cater for users who
only update once in a while.</para>
<sect2>
<title><makevar>CONFLICTS_INSTALL</makevar></title>
<para>If your package cannot coexist with other packages
(because of file conflicts, runtime incompatibilities,
etc.), list the other package names in the
<makevar>CONFLICTS_INSTALL</makevar> variable. You can use
shell globs like <literal>*</literal> and
<literal>?</literal> here. Package names should be
enumerated the same way they appear in
<filename>/var/db/pkg</filename>. Please make sure that
<makevar>CONFLICTS_INSTALL</makevar> does not match this
port's package itself. Otherwise enforcing its installation
with <makevar>FORCE_PKG_REGISTER</makevar> will no longer
work. The CONFLICTS_INSTALL check is done after the build
stage and prior to the install stage.</para>
</sect2>
<sect2>
<title><makevar>CONFLICTS_BUILD</makevar></title>
<para>If your port cannot be built if a certain port is
already installed, list the other port names in the
<makevar>CONFLICTS_BUILD</makevar> variable. You can use
shell globs like <literal>*</literal> and
<literal>?</literal> here. Package names should be
enumerated the same way they appear in
<filename>/var/db/pkg</filename>. The CONFLICTS_BUILD check
is done prior to the build stage. Build conflicts are not
recorded in the resulting package.</para>
</sect2>
<sect2>
<title><makevar>CONFLICTS</makevar></title>
<para>If your port cannot be built if a certain port is
already installed and the resulting package cannot coexist
with the other package, list the other package name in the
<makevar>CONFLICTS</makevar> variable. You can use shell
globs like <literal>*</literal> and <literal>?</literal>
here. Packages names should be enumerated the same way they
appear in <filename>/var/db/pkg</filename>. Please make
sure that <makevar>CONFLICTS_INSTALL</makevar> does not
match this port's package itself. Otherwise enforcing its
installation with <makevar>FORCE_PKG_REGISTER</makevar> will
no longer work. The CONFLICTS check is done prior to the
build stage and prior to the install stage.</para>
</sect2>
</sect1>
<sect1 id="install">
<title>Installing Files</title>
<sect2 id="install-macros">
<title><makevar>INSTALL_*</makevar> Macros</title>
<para>Do use the macros provided in
<filename>bsd.port.mk</filename> to ensure correct modes and
ownership of files in your own
<maketarget>*-install</maketarget> targets.</para>
<itemizedlist>
<listitem>
<para><makevar>INSTALL_PROGRAM</makevar> is a command to
install binary executables.</para>
</listitem>
<listitem>
<para><makevar>INSTALL_SCRIPT</makevar> is a command to
install executable scripts.</para>
</listitem>
<listitem>
<para><makevar>INSTALL_LIB</makevar> is a command to
install shared libraries.</para>
</listitem>
<listitem>
<para><makevar>INSTALL_KLD</makevar> is a command to
install kernel loadable modules. Some architectures
do not like having the modules stripped, so
use this command instead of
<makevar>INSTALL_PROGRAM</makevar>.</para>
</listitem>
<listitem>
<para><makevar>INSTALL_DATA</makevar> is a command to
install sharable data.</para>
</listitem>
<listitem>
<para><makevar>INSTALL_MAN</makevar> is a command to
install manpages and other documentation (it does not
compress anything).</para>
</listitem>
</itemizedlist>
<para>These are basically the <command>install</command>
command with all the appropriate flags.</para>
</sect2>
<sect2 id="install-strip">
<title>Stripping Binaries and Shared Libraries</title>
<para>Do not strip binaries manually unless you have to. All
binaries should be stripped, but the
<makevar>INSTALL_PROGRAM</makevar> macro will install and
strip a binary at the same time (see the next section). The
<makevar>INSTALL_LIB</makevar> macro does the same thing to
shared libraries.</para>
<para>If you need to strip a file, but wish to use neither
<makevar>INSTALL_PROGRAM</makevar> nor
<makevar>INSTALL_LIB</makevar> macros,
<makevar>${STRIP_CMD}</makevar> will strip your program or
shared library. This is typically done within the
<maketarget>post-install</maketarget> target. For
example:</para>
<programlisting>post-install:
${STRIP_CMD} ${PREFIX}/bin/xdl</programlisting>
<para>Use the &man.file.1; command on the installed executable
to check whether the binary is stripped or not. If it does
not say <literal>not stripped</literal>, it is stripped.
Additionally, &man.strip.1; will not strip a previously
stripped program; it will instead exit cleanly.</para>
</sect2>
<sect2 id="install-copytree">
<title>Installing a Whole Tree of Files</title>
<para>Sometimes, there is a need to install a big number of
files, preserving their hierarchical organization, i.e.,
copying over a whole directory tree from
<makevar>WRKSRC</makevar> to a target directory under
<makevar>PREFIX</makevar>.</para>
<para>Two macros exist for this situation. The advantage of
using these macros instead of <command>cp</command> is that
they guarantee proper file ownership and permissions on
target files. The first macro,
<makevar>COPYTREE_BIN</makevar>, will set all the installed
files to be executable, thus being suitable for installing
into <filename><makevar>PREFIX</makevar>/bin</filename>.
The second macro, <makevar>COPYTREE_SHARE</makevar>, does
not set executable permissions on files, and is therefore
suitable for installing files under
<filename><makevar>PREFIX</makevar>/share</filename>
target.</para>
<programlisting>post-install:
${MKDIR} ${EXAMPLESDIR}
(cd ${WRKSRC}/examples &amp;&amp; ${COPYTREE_SHARE} . ${EXAMPLESDIR})</programlisting>
<para>This example will install the contents of
<filename>examples</filename> directory in the vendor
distfile to the proper examples location of your
port.</para>
<programlisting>post-install:
${MKDIR} ${DATADIR}/summer
(cd ${WRKSRC}/temperatures &amp;&amp; ${COPYTREE_SHARE} "June July August" ${DATADIR}/summer)</programlisting>
<para>And this example will install the data of summer months
to the <filename>summer</filename> subdirectory of a
<filename><makevar>DATADIR</makevar></filename>.</para>
<para>Additional <command>find</command> arguments can be
passed via the third argument to the
<makevar>COPYTREE_*</makevar> macros. For example, to
install all files from the first example except Makefiles,
one can use the following command.</para>
<programlisting>post-install:
${MKDIR} ${EXAMPLESDIR}
(cd ${WRKSRC}/examples &amp;&amp; \
${COPYTREE_SHARE} . ${EXAMPLESDIR} "! -name Makefile")</programlisting>
<para>Note that these macros does not add the installed files
to <filename>pkg-plist</filename>. You still need to list
them.</para>
</sect2>
<sect2 id="install-documentation">
<title>Install Additional Documentation</title>
<para>If your software has some documentation other than the
standard man and info pages that you think is useful for the
user, install it under
<filename><makevar>PREFIX</makevar>/share/doc</filename>.
This can be done, like the previous item, in the
<maketarget>post-install</maketarget> target.</para>
<para>Create a new directory for your port. The directory
name should reflect what the port is. This usually means
<makevar>PORTNAME</makevar>. However, if you think the user
might want different versions of the port to be installed at
the same time, you can use the whole
<makevar>PKGNAME</makevar>.</para>
<para>Make the installation dependent on the variable
<literal>DOCS</literal> option so that users can disable it
in <filename>/etc/make.conf</filename>, like this:</para>
<programlisting>post-install:
.if ${PORT_OPTIONS:MDOCS}
${MKDIR} ${DOCSDIR}
${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${DOCSDIR}
.endif</programlisting>
<para>Here are some handy variables and how they are expanded
by default when used in the
<filename>Makefile</filename>:</para>
<itemizedlist>
<listitem>
<para><makevar>DATADIR</makevar> gets expanded to
<filename><makevar>PREFIX</makevar>/share/<makevar>PORTNAME</makevar></filename>.</para>
</listitem>
<listitem>
<para><makevar>DATADIR_REL</makevar> gets expanded to
<filename>share/<makevar>PORTNAME</makevar></filename>.</para>
</listitem>
<listitem>
<para><makevar>DOCSDIR</makevar> gets expanded to
<filename><makevar>PREFIX</makevar>/share/doc/<makevar>PORTNAME</makevar></filename>.</para>
</listitem>
<listitem>
<para><makevar>DOCSDIR_REL</makevar> gets expanded to
<filename>share/doc/<makevar>PORTNAME</makevar></filename>.</para>
</listitem>
<listitem>
<para><makevar>EXAMPLESDIR</makevar> gets expanded to
<filename><makevar>PREFIX</makevar>/share/examples/<makevar>PORTNAME</makevar></filename>.</para>
</listitem>
<listitem>
<para><makevar>EXAMPLESDIR_REL</makevar> gets expanded to
<filename>share/examples/<makevar>PORTNAME</makevar></filename>.</para>
</listitem>
</itemizedlist>
<note>
<para>The <literal>DOCS</literal> option only controls
additional documentation installed in
<makevar>DOCSDIR</makevar>. It does not apply to standard
man pages and info pages. Things installed in
<makevar>DATADIR</makevar> and
<makevar>EXAMPLESDIR</makevar> are controlled by
<literal>DATA</literal> and <literal>EXAMPLES</literal>
options, respectively.</para>
</note>
<para>These variables are exported to
<makevar>PLIST_SUB</makevar>. Their values will appear
there as pathnames relative to
<filename><makevar>PREFIX</makevar></filename> if possible.
That is,
<filename>share/doc/<makevar>PORTNAME</makevar></filename>
will be substituted for <literal>%%DOCSDIR%%</literal> in
the packing list by default, and so on. (See more on
- <filename>pkg-plist</filename> substitution <link
- linkend="plist-sub">here</link>.)</para>
+ <filename>pkg-plist</filename> substitution
+ <link linkend="plist-sub">here</link>.)</para>
<para>All conditionally installed documentation files and
directories should be included in
<filename>pkg-plist</filename> with the
<literal>%%PORTDOCS%%</literal> prefix, for example:</para>
<programlisting>%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/CONTACT
%%PORTDOCS%%@dirrm %%DOCSDIR%%</programlisting>
<para>As an alternative to enumerating the documentation files
in <filename>pkg-plist</filename>, a port can set the
variable <makevar>PORTDOCS</makevar> to a list of file names
and shell glob patterns to add to the final packing list.
The names will be relative to <makevar>DOCSDIR</makevar>.
Therefore, a port that utilizes <makevar>PORTDOCS</makevar>
and uses a non-default location for its documentation should
set <makevar>DOCSDIR</makevar> accordingly. If a directory
is listed in <makevar>PORTDOCS</makevar> or matched by a
glob pattern from this variable, the entire subtree of
contained files and directories will be registered in the
final packing list. If the <literal>DOCS</literal> option
has been unset then files and directories listed in
<makevar>PORTDOCS</makevar> would not be installed or added
to port packing list. Installing the documentation at
<makevar>PORTDOCS</makevar> as shown above remains up to the
port itself. A typical example of utilizing
<makevar>PORTDOCS</makevar> looks as follows:</para>
<programlisting>PORTDOCS= README.* ChangeLog docs/*</programlisting>
<note>
<para>The equivalents of <makevar>PORTDOCS</makevar> for
files installed under <makevar>DATADIR</makevar> and
<makevar>EXAMPLESDIR</makevar> are
<makevar>PORTDATA</makevar> and
<makevar>PORTEXAMPLES</makevar>, respectively.</para>
<para>You can also use the <filename>pkg-message</filename>
- file to display messages upon installation. See <link
- linkend="porting-message">the section on using
+ file to display messages upon installation. See
+ <link linkend="porting-message">the section on using
<filename>pkg-message</filename></link> for details. The
<filename>pkg-message</filename> file does not need to be
added to <filename>pkg-plist</filename>.</para>
</note>
</sect2>
<sect2 id="install-subdirs">
<title>Subdirectories Under <makevar>PREFIX</makevar></title>
<para>Try to let the port put things in the right
subdirectories of <makevar>PREFIX</makevar>. Some ports
lump everything and put it in the subdirectory with the
port's name, which is incorrect. Also, many ports put
everything except binaries, header files and manual pages in
a subdirectory of <filename>lib</filename>, which does not
work well with the BSD paradigm. Many of the files should
be moved to one of the following: <filename>etc</filename>
(setup/configuration files), <filename>libexec</filename>
(executables started internally), <filename>sbin</filename>
(executables for superusers/managers),
<filename>info</filename> (documentation for info browser)
or <filename>share</filename> (architecture independent
files). See &man.hier.7; for details; the rules governing
<filename>/usr</filename> pretty much apply to
<filename>/usr/local</filename> too. The exception are
ports dealing with USENET <quote>news</quote>. They may use
<filename><makevar>PREFIX</makevar>/news</filename> as a
destination for their files.</para>
</sect2>
</sect1>
</chapter>
<chapter id="special">
<title>Special Considerations</title>
<para>There are some more things you have to take into account
when you create a port. This section explains the most common
of those.</para>
<sect1 id="porting-shlibs">
<title>Shared Libraries</title>
<para>If your port installs one or more shared libraries, define
a <makevar>USE_LDCONFIG</makevar> make variable, which will
instruct a <filename>bsd.port.mk</filename> to run
<literal>&dollar;{LDCONFIG} -m</literal> on the directory
where the new library is installed (usually
<filename><makevar>PREFIX</makevar>/lib</filename>) during
<maketarget>post-install</maketarget> target to register it
into the shared library cache. This variable, when defined,
will also facilitate addition of an appropriate
<literal>@exec /sbin/ldconfig -m</literal> and
<literal>@unexec /sbin/ldconfig -R</literal> pair into your
<filename>pkg-plist</filename> file, so that a user who
installed the package can start using the shared library
immediately and de-installation will not cause the system to
still believe the library is there.</para>
<programlisting>USE_LDCONFIG= yes</programlisting>
<para>If you need, you can override the default directory by
setting the <makevar>USE_LDCONFIG</makevar> value to a list of
directories into which shared libraries are to be installed.
For example if your port installs shared libraries into
<filename><makevar>PREFIX</makevar>/lib/foo</filename> and
<filename><makevar>PREFIX</makevar>/lib/bar</filename>
directories you could use the following in your
<filename>Makefile</filename>:</para>
<programlisting>USE_LDCONFIG= ${PREFIX}/lib/foo ${PREFIX}/lib/bar</programlisting>
<para>Please double-check, often this is not necessary at all or
can be avoided through <literal>-rpath</literal> or setting
- <envar>LD_RUN_PATH</envar> during linking (see <filename
- role="package">lang/moscow_ml</filename> for an example), or
- through a shell-wrapper which sets
+ <envar>LD_RUN_PATH</envar> during linking (see
+ <filename role="package">lang/moscow_ml</filename> for an
+ example), or through a shell-wrapper which sets
<makevar>LD_LIBRARY_PATH</makevar> before invoking the binary,
like <filename role="package">www/seamonkey</filename>
does.</para>
<para>When installing 32-bit libraries on 64-bit system, use
<makevar>USE_LDCONFIG32</makevar> instead.</para>
<para>Try to keep shared library version numbers in the
<filename>libfoo.so.0</filename> format. Our runtime linker
only cares for the major (first) number.</para>
<para>When the major library version number increments in the
update to the new port version, all other ports that link to
the affected library should have their
<makevar>PORTREVISION</makevar> incremented, to force
recompilation with the new library version.</para>
</sect1>
<sect1 id="porting-restrictions">
<title>Ports with Distribution Restrictions</title>
<para>Licenses vary, and some of them place restrictions on how
the application can be packaged, whether it can be sold for
profit, and so on.</para>
<important>
<para>It is your responsibility as a porter to read the
licensing terms of the software and make sure that the
FreeBSD project will not be held accountable for violating
them by redistributing the source or compiled binaries
either via FTP/HTTP or CD-ROM. If in doubt, please contact
the &a.ports;.</para>
</important>
<para>In situations like this, the variables described in the
following sections can be set.</para>
<sect2>
<title><makevar>NO_PACKAGE</makevar></title>
<para>This variable indicates that we may not generate a
binary package of the application. For instance, the
license may disallow binary redistribution, or it may
prohibit distribution of packages created from patched
sources.</para>
<para>However, the port's <makevar>DISTFILES</makevar> may be
freely mirrored on FTP/HTTP. They may also be distributed
on a CD-ROM (or similar media) unless
<makevar>NO_CDROM</makevar> is set as well.</para>
<para><makevar>NO_PACKAGE</makevar> should also be used if the
binary package is not generally useful, and the application
should always be compiled from the source code. For
example, if the application has configuration information
that is site specific hard coded in to it at compile time,
set <makevar>NO_PACKAGE</makevar>.</para>
<para><makevar>NO_PACKAGE</makevar> should be set to a string
describing the reason why the package should not be
generated.</para>
</sect2>
<sect2>
<title><makevar>NO_CDROM</makevar></title>
<para>This variable alone indicates that, although we are
allowed to generate binary packages, we may put neither
those packages nor the port's <makevar>DISTFILES</makevar>
onto a CD-ROM (or similar media) for resale. However, the
binary packages and the port's <makevar>DISTFILES</makevar>
will still be available via FTP/HTTP.</para>
<para> If this variable is set along with
<makevar>NO_PACKAGE</makevar>, then only the port's
<makevar>DISTFILES</makevar> will be available, and only via
FTP/HTTP.</para>
<para><makevar>NO_CDROM</makevar> should be set to a string
describing the reason why the port cannot be redistributed
on CD-ROM. For instance, this should be used if the port's
license is for <quote>non-commercial</quote> use
only.</para>
</sect2>
<sect2>
<title><makevar>NOFETCHFILES</makevar></title>
<para>Files defined in the <makevar>NOFETCHFILES</makevar>
variable are not fetchable from any of the
<makevar>MASTER_SITES</makevar>. An example of such a file
is when the file is supplied on CD-ROM by the vendor.</para>
<para>Tools which check for the availability of these files
on the <makevar>MASTER_SITES</makevar> should ignore these
files and not report about them.</para>
</sect2>
<sect2>
<title><makevar>RESTRICTED</makevar></title>
<para>Set this variable alone if the application's license
permits neither mirroring the application's
<makevar>DISTFILES</makevar> nor distributing the binary
package in any way.</para>
<para><makevar>NO_CDROM</makevar> or
<makevar>NO_PACKAGE</makevar> should not be set along with
<makevar>RESTRICTED</makevar> since the latter variable
implies the former ones.</para>
<para><makevar>RESTRICTED</makevar> should be set to a string
describing the reason why the port cannot be redistributed.
Typically, this indicates that the port contains proprietary
software and that the user will need to manually download
the <makevar>DISTFILES</makevar>, possibly after registering
for the software or agreeing to accept the terms of an
<acronym>EULA</acronym>.</para>
</sect2>
<sect2>
<title><makevar>RESTRICTED_FILES</makevar></title>
<para>When <makevar>RESTRICTED</makevar> or
<makevar>NO_CDROM</makevar> is set, this variable defaults
to <literal>${DISTFILES} ${PATCHFILES}</literal>, otherwise
it is empty. If only some of the distribution files are
restricted, then set this variable to list them.</para>
<para>Note that the port committer should add an entry to
<filename>/usr/ports/LEGAL</filename> for every listed
distribution file, describing exactly what the restriction
entails.</para>
</sect2>
<sect2>
<title>Examples</title>
<para>The preferred way to state "the distfiles for this port
must be fetched manually" is as follows:</para>
<programlisting>.if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX})
IGNORE= may not be redistributed because of licensing reasons. Please visit <replaceable>some-website</replaceable> to accept their license and download ${DISTFILES} into ${DISTDIR}
.endif</programlisting>
<para>This both informs the user, and sets the proper metadata
on the user's machine for use by automated programs.</para>
<para>Note that this stanza must be preceded by an inclusion
of <filename>bsd.port.pre.mk</filename>.</para>
</sect2>
</sect1>
<sect1 id="building">
<title>Building Mechanisms</title>
<sect2 id="parallel-builds">
<title>Building Ports in Parallel</title>
<para>The &os; ports framework supports parallel building
using multiple <command>make</command> sub-processes, which
allows <acronym>SMP</acronym> systems to utilize all of
their available <acronym>CPU</acronym> power, allowing port
builds to be faster and more effective.</para>
<para>This is achieved by passing <makevar>-jX</makevar> flag
to &man.make.1; running on vendor code. Unfortunately, not
all ports handle parallel building well. Therefore it is
required to explicitly enable this feature by adding
<literal>MAKE_JOBS_SAFE=yes</literal> somewhere below the
dependency declaration section of the
<filename>Makefile</filename>.</para>
<para>Another option for controlling this feature from the
maintainer's point of view is the
<makevar>MAKE_JOBS_UNSAFE=yes</makevar> variable. It is
used when a port is known to be broken with
<makevar>-jX</makevar> and a user forces the use of multi
processor compilations for all ports in
<filename>/etc/make.conf</filename> with the
<literal>FORCE_MAKE_JOBS=yes</literal> variable.</para>
</sect2>
<sect2 id="using-make">
<title><command>make</command>, <command>gmake</command>, and
<command>imake</command></title>
<para>If your port uses <application>GNU make</application>,
set <literal>USES= gmake</literal>.</para>
<table frame="none">
<title>Variables for Ports Related to
<application>gmake</application></title>
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Means</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>USES= gmake</makevar></entry>
<entry>The port requires <command>gmake</command> to
build.</entry>
</row>
<row>
<entry><makevar>GMAKE</makevar></entry>
<entry>The full path for <command>gmake</command> if
it is not in the <envar>PATH</envar>.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>If your port is an X application that creates
<filename>Makefile</filename> files from
<filename>Imakefile</filename> files using
<application>imake</application>, then set
<literal>USES= imake</literal>. This will cause the
- configure stage to automatically do an <command>xmkmf
- -a</command>. If the <option>-a</option> flag is a
- problem for your port, set <literal>XMKMF=xmkmf</literal>.
- If the port uses <application>imake</application> but does
- not understand the <maketarget>install.man</maketarget>
- target, <literal>NO_INSTALL_MANPAGES=yes</literal> should be
+ configure stage to automatically do an
+ <command>xmkmf -a</command>. If the <option>-a</option>
+ flag is a problem for your port, set
+ <literal>XMKMF=xmkmf</literal>. If the port uses
+ <application>imake</application> but does not understand the
+ <maketarget>install.man</maketarget> target,
+ <literal>NO_INSTALL_MANPAGES=yes</literal> should be
set.</para>
<para>If your port's source <filename>Makefile</filename> has
something else than <maketarget>all</maketarget> as the main
build target, set <makevar>ALL_TARGET</makevar> accordingly.
Same goes for <maketarget>install</maketarget> and
<makevar>INSTALL_TARGET</makevar>.</para>
</sect2>
<sect2 id="using-configure">
<title><command>configure</command> Script</title>
<para>If your port uses the <command>configure</command>
script to generate <filename>Makefile</filename> files from
<filename>Makefile.in</filename> files, set
<literal>GNU_CONFIGURE=yes</literal>. If you want to give
extra arguments to the <command>configure</command> script
(the default argument is <literal>--prefix=&dollar;{PREFIX}
--infodir=&dollar;{PREFIX}/&dollar;{INFO_PATH}
--mandir=&dollar;{MANPREFIX}/man
--build=&dollar;{CONFIGURE_TARGET}</literal>), set those
extra arguments in <makevar>CONFIGURE_ARGS</makevar>. Extra
environment variables can be passed using
<makevar>CONFIGURE_ENV</makevar> variable.</para>
<table frame="none">
<title>Variables for Ports That Use
<command>configure</command></title>
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Means</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>GNU_CONFIGURE</makevar></entry>
<entry>The port uses <command>configure</command>
script to prepare build.</entry>
</row>
<row>
<entry><makevar>HAS_CONFIGURE</makevar></entry>
<entry>Same as <makevar>GNU_CONFIGURE</makevar>,
except default configure target is not added to
<makevar>CONFIGURE_ARGS</makevar>.</entry>
</row>
<row>
<entry><makevar>CONFIGURE_ARGS</makevar></entry>
<entry>Additional arguments passed to
<command>configure</command> script.</entry>
</row>
<row>
<entry><makevar>CONFIGURE_ENV</makevar></entry>
<entry>Additional environment variables to be set
for <command>configure</command> script run.</entry>
</row>
<row>
<entry><makevar>CONFIGURE_TARGET</makevar></entry>
<entry>Override default configure target. Default
value is
<literal>&dollar;{MACHINE_ARCH}-portbld-freebsd&dollar;{OSREL}</literal>.</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2 id="using-cmake">
<title>Using <command>cmake</command></title>
<para>For ports that use <application>CMake</application>,
define <literal>USES= cmake</literal>, or
<literal>USES= cmake:outsource</literal> to build in a
separate directory (see below).</para>
<table frame="none">
<title>Variables for Ports That Use
<command>cmake</command></title>
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Means</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>CMAKE_ARGS</makevar></entry>
<entry>Port specific <application>CMake</application>
flags to be passed to the <command>cmake</command>
binary.</entry>
</row>
<row>
<entry><makevar>CMAKE_BUILD_TYPE</makevar></entry>
<entry>Type of build (<application>CMake</application>
predefined build profiles). Default is
<literal>Release</literal>, or
<literal>Debug</literal> if
<makevar>WITH_DEBUG</makevar> is set.</entry>
</row>
<row>
<entry><makevar>CMAKE_ENV</makevar></entry>
<entry>Environment variables to be set for
<command>cmake</command> binary. Default is
<literal>&dollar;{CONFIGURE_ENV}</literal>.</entry>
</row>
<row>
<entry><makevar>CMAKE_SOURCE_PATH</makevar></entry>
<entry>Path to the source directory. Default is
<literal>&dollar;{WRKSRC}</literal>.</entry>
</row>
</tbody>
</tgroup>
</table>
<para><application>CMake</application> supports the following
build profiles: <literal>Debug</literal>,
<literal>Release</literal>,
<literal>RelWithDebInfo</literal> and
<literal>MinSizeRel</literal>. <literal>Debug</literal> and
<literal>Release</literal> profiles respect system
<literal>*FLAGS</literal>, <literal>RelWithDebInfo</literal>
and <literal>MinSizeRel</literal> will set
<makevar>CFLAGS</makevar> to <literal>-O2 -g</literal> and
<literal>-Os -DNDEBUG</literal> correspondingly. The
lower-cased value of <makevar>CMAKE_BUILD_TYPE</makevar> is
exported to the <makevar>PLIST_SUB</makevar> and should be
used if port installs <literal>*.cmake</literal> files
- depending on the build type (see <filename
- role="package">deskutils/strigi</filename> for an
+ depending on the build type (see
+ <filename role="package">deskutils/strigi</filename> for an
example). Please note that some projects may define their
own build profiles and/or force particular build type by
setting <literal>CMAKE_BUILD_TYPE</literal> in
<filename>CMakeLists.txt </filename> files. In order to
make a port for such a project respect
<makevar>CFLAGS</makevar> and <makevar>WITH_DEBUG</makevar>,
the <literal>CMAKE_BUILD_TYPE</literal> definitions must be
removed from those files.</para>
<para>Most <application>CMake</application>-based projects
support an out-of-source method of building. The
out-of-source build for a port can be requested by using the
<literal>:outsource</literal> suffix. When enabled,
<makevar>CONFIGURE_WRKSRC</makevar>,
<makevar>BUILD_WRKSRC</makevar> and
<makevar>INSTALL_WRKSRC</makevar> will be set to
<literal>&dollar;{WRKDIR}/.build</literal> and this
directory will be used to keep all files generated during
configuration and build stages, leaving the source directory
intact.</para>
<example id="using-cmake-example">
<title><literal>USES= cmake</literal> Example</title>
<para>The following snippet demonstrates the use of
<application>CMake</application> for a port.
<makevar>CMAKE_SOURCE_PATH</makevar> is not usually
required, but can be set when the sources are not located
in the top directory, or if only a subset of the project
is intended to be built by the port.</para>
<programlisting>USES= cmake:outsource
CMAKE_SOURCE_PATH= &dollar;{WRKSRC}/subproject</programlisting>
</example>
</sect2>
<sect2 id="using-scons">
<title>Using <command>scons</command></title>
<para>If your port uses <application>SCons</application>,
define <literal>USE_SCONS=yes</literal>.</para>
<table frame="none">
<title>Variables for Ports That Use
<command>scons</command></title>
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Means</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>SCONS_ARGS</makevar></entry>
<entry>Port specific SCons flags passed to the SCons
environment.</entry>
</row>
<row>
<entry><makevar>SCONS_BUILDENV</makevar></entry>
<entry>Variables to be set in system
environment.</entry>
</row>
<row>
<entry><makevar>SCONS_ENV</makevar></entry>
<entry>Variables to be set in SCons
environment.</entry>
</row>
<row>
<entry><makevar>SCONS_TARGET</makevar></entry>
<entry>Last argument passed to SCons, similar to
<makevar>MAKE_TARGET</makevar>.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>To make third party <filename>SConstruct</filename>
respect everything that is passed to SCons in
<makevar>SCONS_ENV</makevar> (that is, most importantly,
<makevar>CC/CXX/CFLAGS/CXXFLAGS</makevar>), patch the
<filename>SConstruct</filename> so build
<literal>Environment</literal> is constructed like
this:</para>
<programlisting>env = Environment(**ARGUMENTS)</programlisting>
<para>It may be then modified with
<literal>env.Append</literal> and
<literal>env.Replace</literal>.</para>
</sect2>
</sect1>
<sect1 id="using-autotools">
<title>Using GNU Autotools</title>
<sect2 id="using-autotools-introduction">
<title>Introduction</title>
<para>The various GNU autotools provide an abstraction
mechanism for building a piece of software over a wide
variety of operating systems and machine architectures.
Within the Ports Collection, an individual port can make use
of these tools via a simple construct:</para>
<programlisting>USE_AUTOTOOLS= <replaceable>tool</replaceable>:<replaceable>version</replaceable>[:<replaceable>operation</replaceable>] ...</programlisting>
<para>At the time of writing, <replaceable>tool</replaceable>
can be one of <literal>libtool</literal>,
<literal>libltdl</literal>, <literal>autoconf</literal>,
<literal>autoheader</literal>, <literal>automake</literal>
or <literal>aclocal</literal>.</para>
<para><replaceable>version</replaceable> specifies the
particular tool revision to be used (see
<literal>devel/{automake,autoconf,libtool}[0-9]+</literal>
for valid versions).</para>
<para><replaceable>operation</replaceable> is an optional
extension to modify how the tool is used.</para>
<para>Multiple tools can be specified at once, either by
including them all on a single line, or using the
<literal>+=</literal> Makefile construct.</para>
<para>Finally, there is the special tool, called
<literal>autotools</literal>, which is a convenience
function to bring in all available versions of the autotools
to allow for cross-development work. This can also be
accomplished by installing the
<literal>devel/autotools</literal> port.</para>
</sect2>
<sect2 id="using-libtool">
<title><command>libtool</command></title>
<para>Shared libraries using the GNU building framework
usually use <command>libtool</command> to adjust the
compilation and installation of shared libraries to match
the specifics of the underlying operating system. The usual
practice is to use copy of <command>libtool</command>
bundled with the application. In case you need to use
external <command>libtool</command>, you can use the version
provided by The Ports Collection:</para>
<programlisting>USE_AUTOTOOLS= libtool:<replaceable>version</replaceable>[:env]</programlisting>
<para>With no additional operations,
<literal>libtool:<replaceable>version</replaceable></literal>
tells the building framework to patch the configure script
with the system-installed copy of
<command>libtool</command>. The
<makevar>GNU_CONFIGURE</makevar> is implied. Further, a
number of make and shell variables will be assigned for
onward use by the port. See
<filename>bsd.autotools.mk</filename> for details.</para>
<para>With the <literal>:env</literal> operation, only the
environment will be set up.</para>
<para>Finally, <makevar>LIBTOOLFLAGS</makevar> and
<makevar>LIBTOOLFILES</makevar> can be optionally set to
override the most likely arguments to, and files patched by,
<command>libtool</command>. Most ports are unlikely to need
this. See <filename>bsd.autotools.mk</filename> for further
details.</para>
</sect2>
<sect2 id="using-libltdl">
<title><command>libltdl</command></title>
<para>Some ports make use of the <command>libltdl</command>
library package, which is part of the
<command>libtool</command> suite. Use of this library does
not automatically necessitate the use of
<command>libtool</command> itself, so a separate construct
is provided.</para>
<programlisting>USE_AUTOTOOLS= libltdl:<replaceable>version</replaceable></programlisting>
<para>Currently, all this does is to bring in a
<makevar>LIB_DEPENDS</makevar> on the appropriate
<command>libltdl</command> port, and is provided as a
convenience function to help eliminate any dependencies on
the autotools ports outside of the
<makevar>USE_AUTOTOOLS</makevar> framework. There are no
optional operations for this tool.</para>
</sect2>
<sect2 id="using-autoconf">
<title><command>autoconf</command> and
<command>autoheader</command></title>
<para>Some ports do not contain a configure script, but do
contain an autoconf template in the
<filename>configure.ac</filename> file. You can use the
following assignments to let <command>autoconf</command>
create the configure script, and also have
<command>autoheader</command> create template headers for
use by the configure script.</para>
<programlisting>USE_AUTOTOOLS= autoconf:<replaceable>version</replaceable>[:env]</programlisting>
<para>and</para>
<programlisting>USE_AUTOTOOLS= autoheader:<replaceable>version</replaceable></programlisting>
<para>which also implies the use of
<literal>autoconf:<replaceable>version</replaceable></literal>.</para>
<para>Similarly to <command>libtool</command>, the inclusion
of the optional <literal>:env</literal> operation simply
sets up the environment for further use. Without it,
patching and reconfiguration of the port is carried
out.</para>
<para>The additional optional variables
<makevar>AUTOCONF_ARGS</makevar> and
<makevar>AUTOHEADER_ARGS</makevar> can be overridden by the
port <filename>Makefile</filename> if specifically
requested. As with the <command>libtool</command>
equivalents, most ports are unlikely to need this.</para>
</sect2>
<sect2 id="using-automake">
<title><command>automake</command> and
<command>aclocal</command></title>
<para>Some packages only contain
<filename>Makefile.am</filename> files. These have to be
converted into <filename>Makefile.in</filename> files using
<command>automake</command>, and the further processed by
<command>configure</command> to generate an actual
<filename>Makefile</filename>.</para>
<para>Similarly, packages occasionally do not ship with
included <filename>aclocal.m4</filename> files, again
required to build the software. This can be achieved with
<command>aclocal</command>, which scans
<filename>configure.ac</filename> or
<filename>configure.in</filename>.</para>
<para><command>aclocal</command> has a similar relationship to
<command>automake</command> as <command>autoheader</command>
does to <command>autoconf</command>, described in the
previous section. <command>aclocal</command> implies the
use of <command>automake</command>, thus we have:</para>
<programlisting>USE_AUTOTOOLS= automake:<replaceable>version</replaceable>[:<replaceable>env</replaceable>]</programlisting>
<para>and</para>
<programlisting>USE_AUTOTOOLS= aclocal:<replaceable>version</replaceable></programlisting>
<para>which also implies the use of
<literal>automake:<replaceable>version</replaceable></literal>.</para>
<para>Similarly to <command>libtool</command> and
<command>autoconf</command>, the inclusion of the optional
<literal>:env</literal> operation simply sets up the
environment for further use. Without it, reconfiguration of
the port is carried out.</para>
<para>As with <command>autoconf</command> and
<command>autoheader</command>, both
<command>automake</command> and <command>aclocal</command>
have optional argument variables,
<makevar>AUTOMAKE_ARGS</makevar> and
<makevar>ACLOCAL_ARGS</makevar> respectively, which may be
overridden by the port <filename>Makefile</filename> if
required.</para>
</sect2>
</sect1>
<sect1 id="using-gettext">
<title>Using GNU <literal>gettext</literal></title>
<sect2>
<title>Basic Usage</title>
<para>If your port requires <literal>gettext</literal>, set
<literal>USES= gettext</literal>, and your port will inherit
a dependency on
<filename role="package">devel/gettext</filename>. Other
values for <literal>gettext</literal> usage are listed in
<xref linkend="uses-values"/>.</para>
<para>A rather common case is a port using
<literal>gettext</literal> and <command>configure</command>.
Generally, GNU <command>configure</command> should be able
to locate <literal>gettext</literal> automatically. If it
ever fails to, hints at the location of
<literal>gettext</literal> can be passed in
<envar>CPPFLAGS</envar> and <envar>LDFLAGS</envar> as
follows:</para>
<programlisting>USES= gettext
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
GNU_CONFIGURE= yes</programlisting>
<para>Of course, the code can be more compact if there are no
more flags to pass to <command>configure</command>:</para>
<programlisting>USES= gettext
GNU_CONFIGURE= yes</programlisting>
</sect2>
<sect2>
<title>Optional Usage</title>
<para>Some software products allow for disabling NLS, e.g.,
through passing <option>--disable-nls</option> to
<command>configure</command>. In that case, your port
should use <literal>gettext</literal> conditionally,
- depending on the status of the <makevar>NLS</makevar> option.
- For ports of low to medium complexity, you can rely on the
- following idiom:</para>
+ depending on the status of the <makevar>NLS</makevar>
+ option. For ports of low to medium complexity, you can rely
+ on the following idiom:</para>
<programlisting>GNU_CONFIGURE= yes
.include &lt;bsd.port.options.mk&gt;
.if ${PORT_OPTIONS:MNLS}
USES+= gettext
PLIST_SUB+= NLS=""
.else
CONFIGURE_ARGS+= --disable-nls
PLIST_SUB+= NLS="@comment "
.endif
.include &lt;bsd.port.mk&gt;</programlisting>
<para>The next item on your to-do list is to arrange so that
the message catalog files are included in the packing list
conditionally. The <filename>Makefile</filename> part of
this task is already provided by the idiom. It is explained
in the section on <link linkend="plist-sub">advanced
<filename>pkg-plist</filename> practices</link>. In a
nutshell, each occurrence of <literal>%%NLS%%</literal> in
<filename>pkg-plist</filename> will be replaced by
<quote><literal>@comment&nbsp;</literal></quote> if NLS is
disabled, or by a null string if NLS is enabled.
Consequently, the lines prefixed by
<literal>%%NLS%%</literal> will become mere comments in the
final packing list if NLS is off; otherwise the prefix will
be just left out. All you need to do now is insert
<literal>%%NLS%%</literal> before each path to a message
catalog file in <filename>pkg-plist</filename>. For
example:</para>
<programlisting>%%NLS%%share/locale/fr/LC_MESSAGES/foobar.mo
%%NLS%%share/locale/no/LC_MESSAGES/foobar.mo</programlisting>
<para>In high complexity cases, you may need to use more
advanced techniques than the recipe given here, such as
<link linkend="plist-dynamic">dynamic packing list
generation</link>.</para>
</sect2>
<sect2>
<title>Handling Message Catalog Directories</title>
<para>There is a point to note about installing message
catalog files. The target directories for them, which
reside under
<filename><makevar>LOCALBASE</makevar>/share/locale</filename>,
should rarely be created and removed by a port. The most
-
popular languages have their respective directories listed
in
<filename><makevar>PORTSDIR</makevar>/Templates/BSD.local.dist</filename>.
The directories for many other languages are governed by the
<filename role="package">devel/gettext</filename> port.
Consult its <filename>pkg-plist</filename> and see whether
the port is going to install a message catalog file for a
unique language.</para>
</sect2>
</sect1>
<sect1 id="using-perl">
<title>Using <application>Perl</application></title>
<para>If <makevar>MASTER_SITES</makevar> is set to
<makevar>MASTER_SITE_PERL_CPAN</makevar>, then the preferred
value of <makevar>MASTER_SITE_SUBDIR</makevar> is the
top-level hierarchy name. For example, the recommended value
for <literal>p5-Module-Name</literal> is
<literal>Module</literal>. The top-level hierarchy can be
examined at <ulink
url="http://cpan.org/modules/by-module/">cpan.org</ulink>.
This keeps the port working when the author of the module
changes.</para>
<para>The exception to this rule is when the relevant directory
does not exist or the distfile does not exist in that
directory. In such case, using author's id as
<makevar>MASTER_SITE_SUBDIR</makevar> is allowed.</para>
<para>All of the tunable knobs below accept either
<literal>YES</literal> or a version string like
<literal>5.8.0+</literal>. <literal>YES</literal> means
that the port can be used with any of the supported
Perl versions. If a port only
works with specific versions of
Perl, it can be indicated with a
version string, specifying a minimum version (e.g.,
<literal>5.7.3+</literal>), a maximum version (e.g.,
<literal>5.8.0-</literal>) or an exact version (e.g.,
<literal>5.8.3</literal>).</para>
<table frame="none">
<title>Variables for Ports That Use
<application>Perl</application></title>
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Meaning</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>USE_PERL5</makevar></entry>
<entry>The port uses Perl 5
to build and run.</entry>
</row>
<row>
<entry><makevar>USE_PERL5_BUILD</makevar></entry>
<entry>The port uses Perl 5
to build.</entry>
</row>
<row>
<entry><makevar>USE_PERL5_RUN</makevar></entry>
<entry>The port uses Perl 5
to run.</entry>
</row>
<row>
<entry><makevar>PERL</makevar></entry>
<entry>The full path of the Perl 5 interpreter,
either in the system or installed from a port, but
without the version number. Use this if you need to
replace <quote><literal>#!</literal></quote>lines in
scripts.</entry>
</row>
<row>
<entry><makevar>PERL_CONFIGURE</makevar></entry>
<entry>Configure using Perl's MakeMaker. It implies
<makevar>USE_PERL5</makevar>.</entry>
</row>
<row>
<entry><makevar>PERL_MODBUILD</makevar></entry>
<entry>Configure, build and install using Module::Build.
It implies <makevar>PERL_CONFIGURE</makevar>.</entry>
</row>
</tbody>
</tgroup>
<tgroup cols="2">
<thead>
<row>
<entry>Read only variables</entry>
<entry>Means</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>PERL_VERSION</makevar></entry>
<entry>The full version of Perl
installed (e.g., <literal>5.8.9</literal>).</entry>
</row>
<row>
<entry><makevar>PERL_LEVEL</makevar></entry>
<entry>The installed Perl version as
an integer of the form <literal>MNNNPP</literal>
(e.g., <literal>500809</literal>).</entry>
</row>
<row>
<entry><makevar>PERL_ARCH</makevar></entry>
<entry>Where Perl stores architecture
dependent libraries. Defaults to
<literal>${ARCH}-freebsd</literal>.</entry>
</row>
<row>
<entry><makevar>PERL_PORT</makevar></entry>
<entry>Name of the Perl port that is
installed (e.g., <literal>perl5</literal>).</entry>
</row>
<row>
<entry><makevar>SITE_PERL</makevar></entry>
<entry>Directory name where site specific
Perl packages go. This value is
added to <makevar>PLIST_SUB</makevar>.</entry>
</row>
</tbody>
</tgroup>
</table>
<note>
<para>Ports of Perl modules which do not have an official
website should link to <hostid>cpan.org</hostid> in the WWW
line of <filename>pkg-descr</filename>. The
preferred URL form is
<literal>http://search.cpan.org/dist/Module-Name/</literal>
(including the trailing slash).</para>
</note>
<note>
<para>Do not use <literal>${SITE_PERL}</literal> in dependency
declarations. Doing so assumes that
<filename>bsd.perl.mk</filename> has been included, which is
not always true. Ports depending on this port will have
incorrect dependencies if this port's files move later in an
upgrade. The right way to declare Perl module dependencies
is shown in the example below.</para>
</note>
<example id="use-perl-dependency-example">
<title>Perl Dependency Example</title>
<programlisting>p5-IO-Tee&gt;=0.64:${PORTSDIR}/devel/p5-IO-Tee</programlisting>
</example>
</sect1>
<sect1 id="using-x11">
<title>Using X11</title>
<sect2 id="x11-variables">
<title>X.Org Components</title>
<para>The X11 implementation available in The Ports Collection
is X.Org. If your application depends on X components, set
<makevar>USE_XORG</makevar> to the list of required
components. Available components, at the time of writing,
are:</para>
<para><literal>bigreqsproto compositeproto damageproto dmx
dmxproto dri2proto evieproto fixesproto fontcacheproto
fontenc fontsproto fontutil glproto ice inputproto kbproto
libfs oldx pciaccess pixman printproto randrproto
recordproto renderproto resourceproto scrnsaverproto sm
trapproto videoproto x11 xau xaw xaw6 xaw7 xbitmaps
xcmiscproto xcomposite xcursor xdamage xdmcp xevie xext
xextproto xf86bigfontproto xf86dgaproto xf86driproto
xf86miscproto xf86rushproto xf86vidmodeproto xfixes xfont
xfontcache xft xi xinerama xineramaproto xkbfile xkbui
xmu xmuu xorg-server xp xpm xprintapputil xprintutil
xproto xproxymngproto xrandr xrender xres xscrnsaver xt
xtrans xtrap xtst xv xvmc xxf86dga xxf86misc
xxf86vm</literal>.</para>
<para>Always up-to-date list can be found in
<filename>/usr/ports/Mk/bsd.xorg.mk</filename>.</para>
<para>The Mesa Project is an effort to provide free OpenGL
implementation. You can specify a dependency on various
components of this project with <makevar>USE_GL</makevar>
- variable. Valid options are: <literal>glut, glu, glw, glew,
- gl</literal> and <literal>linux</literal>. For backwards
- compatibility, the value of <literal>yes</literal> maps to
+ variable. Valid options are:
+ <literal>glut, glu, glw, glew, gl</literal> and
+ <literal>linux</literal>. For backwards compatibility, the
+ value of <literal>yes</literal> maps to
<literal>glu</literal>.</para>
<example id="use-xorg-example">
<title>USE_XORG Example</title>
<programlisting>USE_XORG= xrender xft xkbfile xt xaw
USE_GL= glu</programlisting>
</example>
<table frame="none">
<title>Variables for Ports That Use X</title>
<tgroup cols="2">
<tbody>
<row>
<entry><makevar>USES= imake</makevar></entry>
<entry>The port uses <command>imake</command>.</entry>
</row>
<row>
<entry><makevar>XMKMF</makevar></entry>
<entry>Set to the path of <command>xmkmf</command> if
not in the <envar>PATH</envar>. Defaults to
<literal>xmkmf -a</literal>.</entry>
</row>
</tbody>
</tgroup>
</table>
<example id="using-x11-vars">
<title>Using X11-Related Variables</title>
<programlisting># Use some X11 libraries
USE_XORG= x11 xpm</programlisting>
</example>
</sect2>
<sect2 id="x11-motif">
<title>Ports That Require Motif</title>
<para>If your port requires a Motif library, define
<makevar>USES= motif</makevar> in the
<filename>Makefile</filename>. Default Motif implementation
- is <filename
- role="package">x11-toolkits/open-motif</filename>. Users
- can choose <filename
- role="package">x11-toolkits/lesstif</filename> instead by
- setting <makevar>WANT_LESSTIF</makevar> variable.</para>
+ is
+ <filename role="package">x11-toolkits/open-motif</filename>.
+ Users can choose
+ <filename role="package">x11-toolkits/lesstif</filename>
+ instead by setting <makevar>WANT_LESSTIF</makevar>
+ variable.</para>
<para>The <makevar>MOTIFLIB</makevar> variable will be set by
<filename>bsd.port.mk</filename> to reference the
appropriate Motif library. Please patch the source of your
port to use <literal>&dollar;{MOTIFLIB}</literal> wherever
the Motif library is referenced in the original
<filename>Makefile</filename> or
<filename>Imakefile</filename>.</para>
<para>There are two common cases:</para>
<itemizedlist>
<listitem>
<para>If the port refers to the Motif library as
<literal>-lXm</literal> in its
<filename>Makefile</filename> or
<filename>Imakefile</filename>, simply substitute
<literal>&dollar;{MOTIFLIB}</literal> for it.</para>
</listitem>
<listitem>
<para>If the port uses <literal>XmClientLibs</literal> in
its <filename>Imakefile</filename>, change it to
<literal>&dollar;{MOTIFLIB} &dollar;{XTOOLLIB}
&dollar;{XLIB}</literal>.</para>
</listitem>
</itemizedlist>
<para>Note that <makevar>MOTIFLIB</makevar> (usually) expands
to <literal>-L/usr/local/lib -lXm</literal> or
<literal>/usr/local/lib/libXm.a</literal>, so there is no
need to add <literal>-L</literal> or <literal>-l</literal>
in front.</para>
</sect2>
<sect2>
<title>X11 Fonts</title>
<para>If your port installs fonts for the X Window System, put
them in
<filename><makevar>LOCALBASE</makevar>/lib/X11/fonts/local</filename>.</para>
</sect2>
<sect2>
<title>Getting a Fake <envar>DISPLAY</envar> with Xvfb</title>
<para>Some applications require a working X11 display for
compilation to succeed. This pose a problem for machines
that operate headless. When the following variable is used,
the build infrastructure will start the virtual framebuffer
X server. The working <envar>DISPLAY</envar> is then passed
to the build.</para>
- <programlisting>USE_DISPLAY= yes</programlisting>
+ <programlisting>USES= display</programlisting>
</sect2>
<sect2 id="desktop-entries">
<title>Desktop Entries</title>
<para>Desktop entries (<ulink
url="http://standards.freedesktop.org/desktop-entry-spec/latest/">a
Freedesktop standard</ulink>) provide a way to
automatically adjust desktop features when a new program is
installed, without requiring user intervention. For
example, newly-installed programs automatically appear in
the application menus of compatible desktop environments.
Desktop entries originated in the
<application>GNOME</application> desktop environment, but
are now a standard and also work with
<application>KDE</application> and
<application>Xfce</application>. This bit of automation
provides a real benefit to the user, and desktop entries are
encouraged for applications which can be used in a desktop
environment.</para>
<sect3>
<title>Using Predefined <filename>.desktop</filename>
Files</title>
<para>Ports that include predefined
<filename>*.desktop</filename> files should
include those files in <filename>pkg-plist</filename>
and install them in the
<filename><makevar>&dollar;LOCALBASE</makevar>/share/applications</filename>
directory. The <link
linkend="install-macros"><makevar>INSTALL_DATA</makevar>
macro</link> is useful for installing these
files.</para>
</sect3>
<sect3 id="updating-desktop-database">
<title>Updating Desktop Database</title>
<para>If a port has a MimeType entry in its
<filename><replaceable>portname</replaceable>.desktop</filename>,
- the desktop database must
- be updated after install and deinstall. To do this,
- define <makevar>USES</makevar>= desktop-file-utils.</para>
+ the desktop database must be updated after install and
+ deinstall. To do this, define <makevar>USES</makevar>=
+ desktop-file-utils.</para>
+
</sect3>
<sect3 id="desktop-entries-macro">
<title>Creating Desktop Entries with the
<makevar>DESKTOP_ENTRIES</makevar> Macro</title>
<para>Desktop entries can be easily created for applications
by using the <makevar>DESKTOP_ENTRIES</makevar> variable.
A file named
<filename><replaceable>name</replaceable>.desktop</filename>
will be created, installed, and added to the
<filename>pkg-plist</filename> automatically. Syntax
is:</para>
<programlisting>DESKTOP_ENTRIES= "NAME" "COMMENT" "ICON" "COMMAND" "CATEGORY" StartupNotify</programlisting>
<para>The list of possible categories is available on the
<ulink
url="http://standards.freedesktop.org/menu-spec/latest/apa.html">Freedesktop
website</ulink>. <makevar>StartupNotify</makevar>
indicates whether the application is compatible with
<emphasis>startup notifications</emphasis>. These are
typically a graphic indicator like a clock that appear at
the mouse pointer, menu, or panel to give the user an
indication when a program is starting. A program that is
compatible with startup notifications clears the indicator
after it has started. Programs that are not compatible
with startup notifications would never clear the indicator
(potentially confusing and infuriating the user), and
should have <makevar>StartupNotify</makevar> set to
<literal>false</literal> so the indicator is not shown at
all.</para>
<para>Example:</para>
<programlisting>DESKTOP_ENTRIES= "ToME" "Roguelike game based on JRR Tolkien's work" \
"${DATADIR}/xtra/graf/tome-128.png" \
"tome -v -g" "Application;Game;RolePlaying;" \
false</programlisting>
</sect3>
</sect2>
</sect1>
<sect1 id="using-gnome">
<title>Using GNOME</title>
<para>The FreeBSD/GNOME project uses its own set of variables to
define which GNOME components a particular port uses. A
<ulink
url="http://www.FreeBSD.org/gnome/docs/porting.html">comprehensive
list of these variables</ulink> exists within the
FreeBSD/GNOME project's homepage.</para>
</sect1>
<sect1 id="using-qt">
<title>Using Qt</title>
<sect2 id="qt-common">
<title>Ports That Require Qt</title>
<table frame="none">
<title>Variables for Ports That Use Qt</title>
<tgroup cols="2">
<tbody>
<row>
<entry><makevar>USE_QT_VER</makevar></entry>
<entry>The port uses the Qt toolkit. The only
possible value is <literal>3</literal>.
Appropriate parameters are passed to
<command>configure</command> script and
<command>make</command>.</entry>
</row>
<row>
<entry><makevar>USE_QT4</makevar></entry>
<entry>Specify tool and library dependencies for ports
- that use Qt 4. See <link
- linkend="qt4-components">Qt 4 component
+ that use Qt 4. See
+ <link linkend="qt4-components">Qt 4 component
selection</link> for more details.</entry>
</row>
<row>
<entry><makevar>QT_PREFIX</makevar></entry>
<entry>Set to the path where Qt installed to
(read-only variable).</entry>
</row>
<row>
<entry><makevar>MOC</makevar></entry>
<entry>Set to the path of <command>moc</command>
(read-only variable). Default set according to
<makevar>USE_QT_VER</makevar> value.</entry>
</row>
<row>
<entry><makevar>QTCPPFLAGS</makevar></entry>
<entry>Additional compiler flags passed via
<makevar>CONFIGURE_ENV</makevar> for Qt toolkit.
Default set according to
<makevar>USE_QT_VER</makevar>.</entry>
</row>
<row>
<entry><makevar>QTCFGLIBS</makevar></entry>
<entry>Additional libraries for linking passed via
<makevar>CONFIGURE_ENV</makevar> for Qt toolkit.
Default set according to
<makevar>USE_QT_VER</makevar>.</entry>
</row>
<row>
<entry><makevar>QTNONSTANDARD</makevar></entry>
<entry>Suppress modification of
<makevar>CONFIGURE_ENV</makevar>,
<makevar>CONFIGURE_ARGS</makevar>,
<makevar>CPPFLAGS</makevar> and
<makevar>MAKE_ENV</makevar>.</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="none">
<title>Additional Variables for Ports That Use Qt
4.x</title>
<tgroup cols="2">
<tbody>
<row>
<entry><makevar>UIC</makevar></entry>
<entry>Set to the path of <command>uic</command>
(read-only variable).</entry>
</row>
<row>
<entry><makevar>QMAKE</makevar></entry>
<entry>Set to the path of <command>qmake</command>
(read-only variable).</entry>
</row>
<row>
<entry><makevar>QMAKESPEC</makevar></entry>
<entry>Set to the path of configuration file for
<command>qmake</command> (read-only
variable).</entry>
</row>
<row>
<entry><makevar>QMAKEFLAGS</makevar></entry>
<entry>Additional flags for
<command>qmake</command>.</entry>
</row>
<row>
<entry><makevar>QT_INCDIR</makevar></entry>
<entry>Set to Qt 4 include directories (read-only
variable).</entry>
</row>
<row>
<entry><makevar>QT_LIBDIR</makevar></entry>
<entry>Set to Qt 4 libraries path (read-only
variable).</entry>
</row>
<row>
<entry><makevar>QT_PLUGINDIR</makevar></entry>
<entry>Set to Qt 4 plugins path (read-only
variable).</entry>
</row>
</tbody>
</tgroup>
</table>
<para>When <makevar>USE_QT_VER</makevar> is set to
<literal>3</literal>, some useful settings are passed to the
<command>configure</command> script:</para>
<programlisting>CONFIGURE_ARGS+= --with-qt-includes=${QT_PREFIX}/include \
--with-qt-libraries=${QT_PREFIX}/lib \
--with-extra-libs=${LOCALBASE}/lib \
--with-extra-includes=${LOCALBASE}/include
CONFIGURE_ENV+= MOC="${MOC}" LIBS="${QTCFGLIBS}" \
QTDIR="${QT_PREFIX}" KDEDIR="${KDE_PREFIX}"
CPPFLAGS+= ${QTCPPFLAGS}</programlisting>
<para>If <makevar>USE_QT4</makevar> is set, the following
settings are deployed:</para>
<programlisting>CONFIGURE_ARGS+= --with-qt-includes=${QT_INCDIR} \
--with-qt-libraries=${QT_LIBDIR} \
--with-extra-libs=${LOCALBASE}/lib \
--with-extra-includes=${LOCALBASE}/include
CONFIGURE_ENV+= MOC="${MOC}" UIC="${UIC}" LIBS="${QTCFGLIBS}" \
QMAKE="${QMAKE}" QMAKESPEC="${QMAKESPEC}" QTDIR="${QT_PREFIX}"
MAKE_ENV+= QMAKESPEC="${QMAKESPEC}"
PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_REL} \
QT_LIBDIR_REL=${QT_LIBDIR_REL} \
QT_PLUGINDIR_REL=${QT_PLUGINDIR_REL}</programlisting>
</sect2>
<sect2 id="qt4-components">
<title>Component Selection (Qt 4.x Only)</title>
- <para>Individual Qt 4 tool and library dependencies
- must be specified in the <makevar>USE_QT4</makevar>
- variable. Every component
- can be suffixed by either <literal>_build</literal> or
- <literal>_run</literal>, the suffix indicating whether the
- component should be depended on at buildtime or runtime,
- respectively. If unsuffixed, the component will be depended
- on at both build- and runtime. Usually, library components
- should be specified unsuffixed, tool components should be
- specified with the <literal>_build</literal> suffix and
- plugin components should be specified with the
- <literal>_run</literal> suffix. The most commonly used
- components are listed below (all available components are
- listed in <makevar>_USE_QT4_ALL</makevar> in
+ <para>Individual Qt 4 tool and library dependencies must be
+ specified in the <makevar>USE_QT4</makevar> variable. Every
+ component can be suffixed by either
+ <literal>_build</literal> or <literal>_run</literal>, the
+ suffix indicating whether the component should be depended
+ on at buildtime or runtime, respectively. If unsuffixed,
+ the component will be depended on at both build- and
+ runtime. Usually, library components should be specified
+ unsuffixed, tool components should be specified with the
+ <literal>_build</literal> suffix and plugin components
+ should be specified with the <literal>_run</literal> suffix.
+ The most commonly used components are listed below (all
+ available components are listed in
+ <makevar>_USE_QT4_ALL</makevar> in
<filename>/usr/ports/Mk/bsd.qt.mk</filename>):</para>
<table frame="none">
<title>Available Qt 4 Library Components</title>
<tgroup cols="2">
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>corelib</literal></entry>
<entry>core library (can be omitted unless the port
uses nothing but <literal>corelib</literal>)</entry>
</row>
<row>
<entry><literal>gui</literal></entry>
<entry>graphical user interface library</entry>
</row>
<row>
<entry><literal>network</literal></entry>
<entry>network library</entry>
</row>
<row>
<entry><literal>opengl</literal></entry>
<entry>OpenGL library</entry>
</row>
<row>
<entry><literal>qt3support</literal></entry>
<entry>Qt 3 compatibility library</entry>
</row>
<row>
<entry><literal>qtestlib</literal></entry>
<entry>unit testing library</entry>
</row>
<row>
<entry><literal>script</literal></entry>
<entry>script library</entry>
</row>
<row>
<entry><literal>sql</literal></entry>
<entry>SQL library</entry>
</row>
<row>
<entry><literal>xml</literal></entry>
<entry>XML library</entry>
</row>
-
</tbody>
</tgroup>
</table>
<para>You can determine which libraries the application
depends on, by running <command>ldd</command> on the main
executable after a successful compilation.</para>
<table frame="none">
<title>Available Qt 4 Tool Components</title>
<tgroup cols="2">
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>moc</literal></entry>
<entry>meta object compiler (needed for almost
every Qt application at buildtime)</entry>
</row>
<row>
<entry><literal>qmake</literal></entry>
<entry>Makefile generator / build utility</entry>
</row>
<row>
<entry><literal>rcc</literal></entry>
<entry>resource compiler (needed if the application
comes with <filename>*.rc</filename> or
<filename>*.qrc</filename> files)</entry>
</row>
<row>
<entry><literal>uic</literal></entry>
<entry>user interface compiler (needed if the
application comes with <filename>*.ui</filename>
files created by Qt Designer - in practice, every Qt
application with a GUI)</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="none">
<title>Available Qt 4 Plugin Components</title>
<tgroup cols="2">
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>iconengines</literal></entry>
<entry>SVG icon engine plugin (if the application
ships SVG icons)</entry>
</row>
<row>
<entry><literal>imageformats</literal></entry>
<entry>imageformat plugins for GIF, JPEG, MNG and
SVG (if the application ships image files)</entry>
</row>
-
</tbody>
</tgroup>
</table>
<example id="qt4-components-example">
<title>Selecting Qt 4 Components</title>
<para>In this example, the ported application uses the Qt 4
graphical user interface library, the Qt 4 core library,
all of the Qt 4 code generation tools and Qt 4's Makefile
generator. Since the <literal>gui</literal> library
implies a dependency on the core library,
<literal>corelib</literal> does not need to be specified.
The Qt 4 code generation tools <literal>moc</literal>,
<literal>uic</literal> and <literal>rcc</literal>, as well
as the Makefile generator <literal>qmake</literal> are
only needed at buildtime, thus they are specified with the
<literal>_build</literal> suffix:</para>
<programlisting>USE_QT4= gui moc_build qmake_build rcc_build uic_build</programlisting>
</example>
</sect2>
<sect2 id="qt-additional">
<title>Additional Considerations</title>
<para>If the application does not provide a
<filename>configure</filename> file but a
<filename>.pro</filename> file, you can use the
following:</para>
<programlisting>HAS_CONFIGURE= yes
do-configure:
@cd ${WRKSRC} &amp;&amp; ${SETENV} ${CONFIGURE_ENV} \
${QMAKE} ${QMAKEFLAGS} PREFIX=${PREFIX} texmaker.pro</programlisting>
<para>Note the similarity to the <command>qmake</command> line
from the provided <filename>BUILD.sh</filename> script.
Passing <makevar>CONFIGURE_ENV</makevar> ensures
<command>qmake</command> will see the
<makevar>QMAKESPEC</makevar> variable, without which it
cannot work. <command>qmake</command> generates standard
Makefiles, so it is not necessary to write our own
<maketarget>build</maketarget> target.</para>
<para>Qt applications often are written to be cross-platform
and often X11/Unix is not the platform they are developed
on, which in turn often leads to certain loose ends,
like:</para>
<itemizedlist>
<listitem>
<para><emphasis>Missing additional include
paths.</emphasis> Many applications come with
system tray icon support, but neglect to look for
includes and/or libraries in the X11 directories. You
can tell <command>qmake</command> to add directories to
the include and library search paths via the command
line, for example:</para>
<programlisting>${QMAKE} ${QMAKEFLAGS} PREFIX=${PREFIX} INCLUDEPATH+=${LOCALBASE}/include \
LIBS+=-L${LOCALBASE}/lib sillyapp.pro</programlisting>
</listitem>
<listitem>
<para><emphasis>Bogus installation paths.</emphasis>
Sometimes data such as icons or .desktop files are by
default installed into directories which are not scanned
- by XDG-compatible applications. <filename
- role="package">editors/texmaker</filename> is an
- example for this - look at
+ by XDG-compatible applications.
+ <filename role="package">editors/texmaker</filename> is
+ an example for this - look at
<filename>patch-texmaker.pro</filename> in the
<filename>files</filename> directory of that port for a
template on how to remedy this directly in the
<command>qmake</command> project file.</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="using-kde">
<title>Using KDE</title>
<sect2 id="kde4-variables">
<title>KDE 4 Variable Definitions</title>
<para>If your application depends on KDE 4.x, set
<makevar>USE_KDE4</makevar> to the list of required
components. <literal>_build</literal> and
<literal>_run</literal> suffixes can be used to force
components dependency type (e.g.,
<literal>baseapps_run</literal>). If no suffix is set, a
default dependency type will be used. If you want to force
both types, add the component twice with both suffixes
(e.g., <literal>automoc4_build automoc4_run</literal>). The
most commonly used components are listed below (up-to-date
components are documented at the top of
<filename>/usr/ports/Mk/bsd.kde4.mk</filename>):</para>
<table frame="none">
<title>Available KDE 4 Components</title>
<tgroup cols="2">
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>kdehier</literal></entry>
<entry>Hierarchy of common KDE directories</entry>
</row>
<row>
<entry><literal>kdelibs</literal></entry>
<entry>KDE Developer Platform</entry>
</row>
<row>
<entry><literal>kdeprefix</literal></entry>
<entry>If set, port will be installed into
<literal>&dollar;{KDE4_PREFIX}</literal> instead of
<literal>&dollar;{LOCALBASE}</literal></entry>
</row>
<row>
<entry><literal>sharedmime</literal></entry>
<entry>MIME types database for KDE ports</entry>
</row>
<row>
<entry><literal>automoc4</literal></entry>
<entry>Automatic moc for Qt 4 packages</entry>
</row>
<row>
<entry><literal>akonadi</literal></entry>
<entry>Storage server for KDE-Pim</entry>
</row>
<row>
<entry><literal>soprano</literal></entry>
<entry>Qt 4 RDF framework</entry>
</row>
<row>
<entry><literal>strigi</literal></entry>
<entry>Desktop search daemon</entry>
</row>
<row>
<entry><literal>libkcddb</literal></entry>
<entry>KDE CDDB library</entry>
</row>
<row>
<entry><literal>libkcompactdisc</literal></entry>
<entry>KDE library for interfacing with audio
CDs</entry>
</row>
<row>
<entry><literal>libkdeedu</literal></entry>
<entry>Libraries used by educational
applications</entry>
</row>
<row>
<entry><literal>libkdcraw</literal></entry>
<entry>KDE LibRaw library</entry>
</row>
<row>
<entry><literal>libkexiv2</literal></entry>
<entry>KDE Exiv2 library</entry>
</row>
<row>
<entry><literal>libkipi</literal></entry>
<entry> KDE Image Plugin Interface</entry>
</row>
<row>
<entry><literal>libkonq</literal></entry>
<entry>Konqueror core library</entry>
</row>
<row>
<entry><literal>libksane</literal></entry>
<entry>KDE SANE ("Scanner Access Now Easy")
library</entry>
</row>
<row>
<entry><literal>pimlibs</literal></entry>
<entry>KDE-Pim libraries</entry>
</row>
<row>
<entry><literal>kate</literal></entry>
<entry>Text editor framework</entry>
</row>
<row>
<entry><literal>marble</literal></entry>
<entry>Virtual globe</entry>
</row>
<row>
<entry><literal>okular</literal></entry>
<entry>Universal document viewer</entry>
</row>
<row>
<entry><literal>korundum</literal></entry>
<entry>KDE Ruby bindings</entry>
</row>
<row>
<entry><literal>perlkde</literal></entry>
<entry>KDE Perl bindings</entry>
</row>
<row>
<entry><literal>pykde4</literal></entry>
<entry>KDE Python bindings</entry>
</row>
<row>
<entry><literal>pykdeuic4</literal></entry>
<entry>PyKDE user interface compiler</entry>
</row>
<row>
<entry>smokekde<literal></literal></entry>
<entry>KDE SMOKE libraries</entry>
</row>
</tbody>
</tgroup>
</table>
<para>KDE 4.x ports are installed into
<makevar>KDE4_PREFIX</makevar>, which is
- <filename>/usr/local/kde4</filename> currently.
- This is achieved by
- specifying the <literal>kdeprefix</literal> component, which
- overrides the default <makevar>PREFIX</makevar>. The ports
- however respect any <makevar>PREFIX</makevar> set via
- <envar>MAKEFLAGS</envar> environment variable and/or
- <command>make</command> arguments.</para>
+ <filename>/usr/local/kde4</filename> currently. This is
+ achieved by specifying the <literal>kdeprefix</literal>
+ component, which overrides the default
+ <makevar>PREFIX</makevar>. The ports however respect any
+ <makevar>PREFIX</makevar> set via <envar>MAKEFLAGS</envar>
+ environment variable and/or <command>make</command>
+ arguments.</para>
<example id="kde4-components-example">
<title><makevar>USE_KDE4</makevar> Example</title>
<para>This is a simple example for a KDE 4 port.
<literal>USES= cmake:outsource</literal> instructs the
port to utilize <application>CMake</application>, a
configuration tool widely used by KDE 4 projects (see
<xref linkend="using-cmake"/> for detailed usage).
<makevar>USE_KDE4</makevar> brings dependency on KDE
libraries and makes port using
<command>automoc4</command> at build stage.
Required KDE components and other dependencies can be
determined through configure log.
<makevar>USE_KDE4</makevar> does not imply
<makevar>USE_QT4</makevar>. If a port requires some
Qt 4 components, they should be specified in
<makevar>USE_QT4</makevar>.</para>
<programlisting>USES= cmake:outsource
USE_KDE4= kdelibs kdeprefix automoc4
USE_QT4= moc_build qmake_build rcc_build uic_build</programlisting>
</example>
</sect2>
</sect1>
<sect1 id="using-java">
<title>Using Java</title>
<sect2 id="java-variables">
<title>Variable Definitions</title>
<para>If your port needs a Java&trade; Development Kit
(JDK&trade;) to either build, run or even extract the
distfile, then it should define
<makevar>USE_JAVA</makevar>.</para>
<para>There are several JDKs in the ports collection, from
various vendors, and in several versions. If your port must
use one of these versions, you can define which one. The
- most current version, and &os; default is <filename
- role="package">java/openjdk6</filename>.</para>
+ most current version, and &os; default is
+ <filename role="package">java/openjdk6</filename>.</para>
<table frame="none">
<title>Variables Which May be Set by Ports That Use
Java</title>
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Means</entry>
</row>
</thead>
+
<tbody>
<row>
<entry><makevar>USE_JAVA</makevar></entry>
<entry>Should be defined for the remaining variables
to have any effect.</entry>
</row>
<row>
<entry><makevar>JAVA_VERSION</makevar></entry>
<entry>List of space-separated suitable Java versions
for the port. An optional <literal>"+"</literal>
allows you to specify a range of versions (allowed
values:
<literal>1.5[+] 1.6[+] 1.7[+]</literal>).</entry>
</row>
<row>
<entry><makevar>JAVA_OS</makevar></entry>
<entry>List of space-separated suitable JDK port
operating systems for the port (allowed values:
<literal>native linux</literal>).</entry>
</row>
<row>
<entry><makevar>JAVA_VENDOR</makevar></entry>
<entry>List of space-separated suitable JDK port
vendors for the port (allowed values:
<literal>freebsd bsdjava sun
openjdk</literal>).</entry>
</row>
<row>
<entry><makevar>JAVA_BUILD</makevar></entry>
<entry>When set, it means that the selected JDK port
should be added to the build dependencies of the
port.</entry>
</row>
<row>
<entry><makevar>JAVA_RUN</makevar></entry>
<entry>When set, it means that the selected JDK port
should be added to the run dependencies of the
port.</entry>
</row>
<row>
<entry><makevar>JAVA_EXTRACT</makevar></entry>
<entry>When set, it means that the selected JDK port
should be added to the extract dependencies of the
port.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>Below is the list of all settings a port will receive
after setting <makevar>USE_JAVA</makevar>:</para>
<table frame="none">
<title>Variables Provided to Ports That Use Java</title>
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Value</entry>
</row>
</thead>
+
<tbody>
<row>
<entry><makevar>JAVA_PORT</makevar></entry>
<entry>The name of the JDK port (e.g.,
<literal>'java/openjdk6'</literal>).</entry>
</row>
<row>
<entry><makevar>JAVA_PORT_VERSION</makevar></entry>
<entry>The full version of the JDK port (e.g.,
<literal>'1.6.0'</literal>). If you only need the
first two digits of this version number, use
<makevar>${JAVA_PORT_VERSION:C/^([0-9])\.([0-9])(.*)$/\1.\2/}</makevar>.</entry>
</row>
<row>
<entry><makevar>JAVA_PORT_OS</makevar></entry>
-
<entry>The operating system used by the JDK port
(e.g., <literal>'native'</literal>).</entry>
</row>
<row>
<entry><makevar>JAVA_PORT_VENDOR</makevar></entry>
<entry>The vendor of the JDK port (e.g.,
<literal>'openjdk'</literal>).</entry>
</row>
<row>
<entry><makevar>JAVA_PORT_OS_DESCRIPTION</makevar></entry>
<entry>Description of the operating system used by the
JDK port (e.g.,
<literal>'Native'</literal>).</entry>
</row>
<row>
<entry><makevar>JAVA_PORT_VENDOR_DESCRIPTION</makevar></entry>
<entry>Description of the vendor of the JDK port
(e.g., <literal>'OpenJDK BSD Porting
Team'</literal>).</entry>
</row>
<row>
<entry><makevar>JAVA_HOME</makevar></entry>
<entry>Path to the installation directory of the JDK
(e.g.,
<filename>'/usr/local/openjdk6'</filename>).</entry>
</row>
<row>
<entry><makevar>JAVAC</makevar></entry>
<entry>Path to the Java compiler to use (e.g.,
<filename>'/usr/local/openjdk6/bin/javac'</filename>).</entry>
</row>
<row>
<entry><makevar>JAR</makevar></entry>
<entry>Path to the <command>jar</command> tool to use
(e.g.,
<filename>'/usr/local/openjdk6/bin/jar'</filename>
or
<filename>'/usr/local/bin/fastjar'</filename>).</entry>
</row>
<row>
<entry><makevar>APPLETVIEWER</makevar></entry>
<entry>Path to the <command>appletviewer</command>
utility (e.g.,
<filename>'/usr/local/openjdk6/bin/appletviewer'</filename>).</entry>
</row>
<row>
<entry><makevar>JAVA</makevar></entry>
<entry>Path to the <command>java</command> executable.
Use this for executing Java programs (e.g.,
<filename>'/usr/local/openjdk6/bin/java'</filename>).</entry>
</row>
<row>
<entry><makevar>JAVADOC</makevar></entry>
<entry>Path to the <command>javadoc</command> utility
program.</entry>
</row>
<row>
<entry><makevar>JAVAH</makevar></entry>
<entry>Path to the <command>javah</command>
program.</entry>
</row>
<row>
<entry><makevar>JAVAP</makevar></entry>
<entry>Path to the <command>javap</command>
program.</entry>
</row>
<row>
<entry><makevar>JAVA_KEYTOOL</makevar></entry>
<entry>Path to the <command>keytool</command> utility
program.</entry>
</row>
<row>
<entry><makevar>JAVA_N2A</makevar></entry>
<entry>Path to the <command>native2ascii</command>
tool.</entry>
</row>
<row>
<entry><makevar>JAVA_POLICYTOOL</makevar></entry>
<entry>Path to the <command>policytool</command>
program.</entry>
</row>
<row>
<entry><makevar>JAVA_SERIALVER</makevar></entry>
<entry>Path to the <command>serialver</command>
utility program.</entry>
</row>
<row>
<entry><makevar>RMIC</makevar></entry>
<entry>Path to the RMI stub/skeleton generator,
<command>rmic</command>.</entry>
</row>
<row>
<entry><makevar>RMIREGISTRY</makevar></entry>
<entry>Path to the RMI registry program,
<command>rmiregistry</command>.</entry>
</row>
<row>
<entry><makevar>RMID</makevar></entry>
<entry>Path to the RMI daemon program
<command>rmid</command>.</entry>
</row>
<row>
<entry><makevar>JAVA_CLASSES</makevar></entry>
<entry>Path to the archive that contains the JDK class
files,
<filename>${JAVA_HOME}/jre/lib/rt.jar</filename>.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>You may use the <literal>java-debug</literal> make
target to get information for debugging your port. It will
display the value of many of the forecited variables.</para>
<para>Additionally, the following constants are defined so all
Java ports may be installed in a consistent way:</para>
<table frame="none">
<title>Constants Defined for Ports That Use Java</title>
<tgroup cols="2">
<thead>
<row>
<entry>Constant</entry>
<entry>Value</entry>
</row>
</thead>
+
<tbody>
<row>
<entry><makevar>JAVASHAREDIR</makevar></entry>
<entry>The base directory for everything related to
Java. Default:
<filename>${PREFIX}/share/java</filename>.</entry>
</row>
<row>
<entry><makevar>JAVAJARDIR</makevar></entry>
<entry>The directory where JAR files should be
installed. Default:
<filename>${JAVASHAREDIR}/classes</filename>.</entry>
</row>
<row>
<entry><makevar>JAVALIBDIR</makevar></entry>
<entry>The directory where JAR files installed by
other ports are located. Default:
<filename>${LOCALBASE}/share/java/classes</filename>.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>The related entries are defined in both
<makevar>PLIST_SUB</makevar> (documented in
<xref linkend="plist-sub"/>) and
<makevar>SUB_LIST</makevar>.</para>
</sect2>
<sect2 id="java-building-with-ant">
<title>Building with Ant</title>
<para>When the port is to be built using Apache Ant, it has to
define <makevar>USE_ANT</makevar>. Ant is thus considered
to be the sub-make command. When no
<literal>do-build</literal> target is defined by the port, a
default one will be set that simply runs Ant according to
<makevar>MAKE_ENV</makevar>, <makevar>MAKE_ARGS</makevar>
and <makevar>ALL_TARGET</makevar>. This is similar to the
- <makevar>USES= gmake</makevar> mechanism, which is documented
- in <xref linkend="building"/>.</para>
+ <makevar>USES= gmake</makevar> mechanism, which is
+ documented in <xref linkend="building"/>.</para>
</sect2>
<sect2 id="java-best-practices">
<title>Best Practices</title>
<para>When porting a Java library, your port should install
the JAR file(s) in <filename>${JAVAJARDIR}</filename>, and
everything else under
<filename>${JAVASHAREDIR}/${PORTNAME}</filename> (except for
the documentation, see below). In order to reduce the
packing file size, you may reference the JAR file(s)
directly in the <filename>Makefile</filename>. Just use the
following statement (where <filename>myport.jar</filename>
is the name of the JAR file installed as part of the
port):</para>
<programlisting>PLIST_FILES+= %%JAVAJARDIR%%/myport.jar</programlisting>
<para>When porting a Java application, the port usually
installs everything under a single directory (including its
JAR dependencies). The use of
<filename>${JAVASHAREDIR}/${PORTNAME}</filename> is strongly
encouraged in this regard. It is up the porter to decide
whether the port should install the additional JAR
dependencies under this directory or directly use the
already installed ones (from
<filename>${JAVAJARDIR}</filename>).</para>
<para>Regardless of the type of your port (library or
application), the additional documentation should be
- installed in the <link linkend="install-documentation">same
- location</link> as for any other port. The JavaDoc tool is
- known to produce a different set of files depending on the
- version of the JDK that is used. For ports that do not
- enforce the use of a particular JDK, it is therefore a
- complex task to specify the packing list
- (<filename>pkg-plist</filename>). This is one reason why
- porters are strongly encouraged to use the
+ installed in the
+ <link linkend="install-documentation">same location</link>
+ as for any other port. The JavaDoc tool is known to produce
+ a different set of files depending on the version of the JDK
+ that is used. For ports that do not enforce the use of a
+ particular JDK, it is therefore a complex task to specify
+ the packing list (<filename>pkg-plist</filename>). This is
+ one reason why porters are strongly encouraged to use the
<makevar>PORTDOCS</makevar> macro. Moreover, even if you
can predict the set of files that will be generated by
<command>javadoc</command>, the size of the resulting
<filename>pkg-plist</filename> advocates for the use of
<makevar>PORTDOCS</makevar>.</para>
<para>The default value for <makevar>DATADIR</makevar> is
<filename>${PREFIX}/share/${PORTNAME}</filename>. It is a
good idea to override <makevar>DATADIR</makevar> to
<filename>${JAVASHAREDIR}/${PORTNAME}</filename> for Java
ports. Indeed, <makevar>DATADIR</makevar> is automatically
- added to <makevar>PLIST_SUB</makevar> (documented in <xref
- linkend="plist-sub"/>) so you may use
+ added to <makevar>PLIST_SUB</makevar> (documented in
+ <xref linkend="plist-sub"/>) so you may use
<literal>%%DATADIR%%</literal> directly in
<filename>pkg-plist</filename>.</para>
<para>As for the choice of building Java ports from source or
directly installing them from a binary distribution, there
is no defined policy at the time of writing. However,
- people from the <ulink
- url="http://www.freebsd.org/java/">&os; Java
- Project</ulink> encourage porters to have their ports built
- from source whenever it is a trivial task.</para>
+ people from the
+ <ulink url="http://www.freebsd.org/java/">&os; Java
+ Project</ulink> encourage porters to have their ports
+ built from source whenever it is a trivial task.</para>
<para>All the features that have been presented in this
section are implemented in <filename>bsd.java.mk</filename>.
If you ever think that your port needs more sophisticated
Java support, please first have a look at the <ulink
url="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.java.mk?view=markup">bsd.java.mk
SVN log</ulink> as it usually takes some time
to document the latest features. Then, if you think the
support you are lacking would be beneficial to many other
Java ports, feel free to discuss it on the &a.java;.</para>
<para>Although there is a <literal>java</literal> category for
PRs, it refers to the JDK porting effort from the &os; Java
project. Therefore, you should submit your Java port in the
<literal>ports</literal> category as for any other port,
unless the issue you are trying to resolve is related to
either a JDK implementation or
<filename>bsd.java.mk</filename>.</para>
<para>Similarly, there is a defined policy regarding the
<makevar>CATEGORIES</makevar> of a Java port, which is
detailed in <xref linkend="makefile-categories"/>.</para>
</sect2>
</sect1>
<sect1 id="using-php">
<title>Web Applications, Apache and PHP</title>
<sect2 id="using-apache">
<title>Apache</title>
<table frame="none">
<title>Variables for Ports That Use Apache</title>
<tgroup cols="2">
<tbody>
<row>
<entry><makevar>USE_APACHE</makevar></entry>
<entry>The port requires Apache. Possible values:
<literal>yes</literal> (gets any version),
<literal>22</literal>, <literal>24</literal>,
<literal>22-24</literal>, <literal>22+</literal>,
etc. The default APACHE version is
<literal>22</literal>. More details are available
in <filename>ports/Mk/bsd.apache.mk</filename> and
at <ulink
url="http://wiki.freebsd.org/Apache/">wiki.freebsd.org/Apache/</ulink>.</entry>
</row>
<row>
<entry><makevar>APXS</makevar></entry>
<entry>Full path to the <command>apxs</command>
binary. Can be overridden in your port.</entry>
</row>
<row>
<entry><makevar>HTTPD</makevar></entry>
<entry>Full path to the <command>httpd</command>
binary. Can be overridden in your port.</entry>
</row>
<row>
<entry><makevar>APACHE_VERSION</makevar></entry>
<entry>The version of present Apache installation
(read-only variable). This variable is only
available after inclusion of
<filename>bsd.port.pre.mk</filename>. Possible
values: <literal>22</literal>,
<literal>24</literal>.</entry>
</row>
<row>
<entry><makevar>APACHEMODDIR</makevar></entry>
<entry>Directory for Apache modules. This variable is
automatically expanded in
<filename>pkg-plist</filename>.</entry>
</row>
<row>
<entry><makevar>APACHEINCLUDEDIR</makevar></entry>
<entry>Directory for Apache headers. This variable is
automatically expanded in
<filename>pkg-plist</filename>.</entry>
</row>
<row>
<entry><makevar>APACHEETCDIR</makevar></entry>
<entry>Directory for Apache configuration files. This
variable is automatically expanded in
<filename>pkg-plist</filename>.</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="none">
<title>Useful Variables for Porting Apache Modules</title>
<tgroup cols="2">
<tbody>
<row>
<entry><makevar>MODULENAME</makevar></entry>
<entry>Name of the module. Default value is
<makevar>PORTNAME</makevar>. Example:
<literal>mod_hello</literal></entry>
</row>
<row>
<entry><makevar>SHORTMODNAME</makevar></entry>
<entry>Short name of the module. Automatically
derived from <makevar>MODULENAME</makevar>, but can
be overridden. Example:
<literal>hello</literal></entry>
</row>
<row>
<entry><makevar>AP_FAST_BUILD</makevar></entry>
<entry>Use <command>apxs</command> to compile and
install the module.</entry>
</row>
<row>
<entry><makevar>AP_GENPLIST</makevar></entry>
<entry>Also automatically creates a
<filename>pkg-plist</filename>.</entry>
</row>
<row>
<entry><makevar>AP_INC</makevar></entry>
<entry>Adds a directory to a header search path during
compilation.</entry>
</row>
<row>
<entry><makevar>AP_LIB</makevar></entry>
<entry>Adds a directory to a library search path
during compilation.</entry>
</row>
<row>
<entry><makevar>AP_EXTRAS</makevar></entry>
<entry>Additional flags to pass to
<command>apxs</command>.</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2 id="web-apps">
<title>Web Applications</title>
<para>Web applications should be installed into
<filename><makevar>PREFIX</makevar>/www/<replaceable>appname</replaceable></filename>.
For your convenience, this path is available both in
<filename>Makefile</filename> and in
<filename>pkg-plist</filename> as <makevar>WWWDIR</makevar>,
and the path relative to <makevar>PREFIX</makevar> is
available in <filename>Makefile</filename> as
<makevar>WWWDIR_REL</makevar>.</para>
<para>The user and group of web server process are available
as <makevar>WWWOWN</makevar> and <makevar>WWWGRP</makevar>,
in case you need to change the ownership of some files. The
default values of both are <literal>www</literal>. If you
- want different values for your port, use <literal>WWWOWN?=
- myuser</literal> notation, to allow user to override it
- easily.</para>
+ want different values for your port, use
+ <literal>WWWOWN?= myuser</literal> notation, to allow user
+ to override it easily.</para>
<para>Do not depend on Apache unless the web app explicitly
needs Apache. Respect that users may wish to run your web
app on different web server than Apache.</para>
</sect2>
<sect2 id="php-variables">
<title>PHP</title>
<table frame="none">
<title>Variables for Ports That Use PHP</title>
<tgroup cols="2">
<tbody>
<row>
<entry><makevar>USE_PHP</makevar></entry>
<entry>The port requires PHP. The value
<literal>yes</literal> adds a dependency on PHP.
The list of required PHP extensions can be specified
- instead. Example: <literal>pcre xml
- gettext</literal></entry>
+ instead. Example:
+ <literal>pcre xml gettext</literal></entry>
</row>
<row>
<entry><makevar>DEFAULT_PHP_VER</makevar></entry>
<entry>Selects which major version of PHP will be
installed as a dependency when no PHP is installed
yet. Default is <literal>5</literal>. Possible
values: <literal>4</literal>,
<literal>5</literal></entry>
</row>
<row>
<entry><makevar>IGNORE_WITH_PHP</makevar></entry>
<entry>The port does not work with PHP of the given
version. Possible values: <literal>4</literal>,
<literal>5</literal></entry>
</row>
<row>
<entry><makevar>USE_PHPIZE</makevar></entry>
<entry>The port will be built as a PHP
extension.</entry>
</row>
<row>
<entry><makevar>USE_PHPEXT</makevar></entry>
<entry>The port will be treated as a PHP extension,
including installation and registration in the
extension registry.</entry>
</row>
<row>
<entry><makevar>USE_PHP_BUILD</makevar></entry>
<entry>Set PHP as a build dependency.</entry>
</row>
<row>
<entry><makevar>WANT_PHP_CLI</makevar></entry>
<entry>Want the CLI (command line) version of
PHP.</entry>
</row>
<row>
<entry><makevar>WANT_PHP_CGI</makevar></entry>
<entry>Want the CGI version of PHP.</entry>
</row>
<row>
<entry><makevar>WANT_PHP_MOD</makevar></entry>
<entry>Want the Apache module version of PHP.</entry>
</row>
<row>
<entry><makevar>WANT_PHP_SCR</makevar></entry>
<entry>Want the CLI or the CGI version of PHP.</entry>
</row>
<row>
<entry><makevar>WANT_PHP_WEB</makevar></entry>
<entry>Want the Apache module or the CGI version of
PHP.</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2>
<title>PEAR Modules</title>
<para>Porting PEAR modules is a very simple process.</para>
<para>Use the variables <makevar>FILES</makevar>,
<makevar>TESTS</makevar>, <makevar>DATA</makevar>,
<makevar>SQLS</makevar>, <makevar>SCRIPTFILES</makevar>,
<makevar>DOCS</makevar> and <makevar>EXAMPLES</makevar> to
list the files you want to install. All listed files will
be automatically installed into the appropriate locations
and added to <filename>pkg-plist</filename>.</para>
<para>Include
<filename>&dollar;{PORTSDIR}/devel/pear/bsd.pear.mk</filename>
on the last line of the
<filename>Makefile</filename>.</para>
<example id="pear-makefile">
<title>Example Makefile for PEAR Class</title>
<programlisting>PORTNAME= Date
PORTVERSION= 1.4.3
CATEGORIES= devel www pear
MAINTAINER= example@domain.com
COMMENT= PEAR Date and Time Zone Classes
BUILD_DEPENDS= ${PEARDIR}/PEAR.php:${PORTSDIR}/devel/pear-PEAR
RUN_DEPENDS:= ${BUILD_DEPENDS}
FILES= Date.php Date/Calc.php Date/Human.php Date/Span.php \
Date/TimeZone.php
TESTS= test_calc.php test_date_methods_span.php testunit.php \
testunit_date.php testunit_date_span.php wknotest.txt \
bug674.php bug727_1.php bug727_2.php bug727_3.php \
bug727_4.php bug967.php weeksinmonth_4_monday.txt \
weeksinmonth_4_sunday.txt weeksinmonth_rdm_monday.txt \
weeksinmonth_rdm_sunday.txt
DOCS= TODO
_DOCSDIR= .
.include &lt;bsd.port.pre.mk&gt;
.include "&dollar;{PORTSDIR}/devel/pear/bsd.pear.mk"
.include &lt;bsd.port.post.mk&gt;</programlisting>
</example>
</sect2>
</sect1>
<sect1 id="using-python">
<title>Using Python</title>
<para>The Ports Collection supports parallel installation of
multiple Python versions. Ports should make sure to use a
correct <command>python</command> interpreter, according to
the user-settable <makevar>PYTHON_VERSION</makevar> variable.
Most prominently, this means replacing the path to
<command>python</command> executable in scripts with the value
of <makevar>PYTHON_CMD</makevar> variable.</para>
<para>Ports that install files under
<makevar>PYTHON_SITELIBDIR</makevar> should use the
<literal>pyXY-</literal> package name prefix, so their package
name embeds the version of Python they are installed
into.</para>
<programlisting>PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}</programlisting>
<table frame="none">
<title>Most Useful Variables for Ports That Use Python</title>
<tgroup cols="2">
<tbody>
<row>
<entry><makevar>USE_PYTHON</makevar></entry>
<entry>The port needs Python. Minimal required version
can be specified with values such as
<literal>2.6+</literal>. Version ranges can also be
specified, by separating two version numbers with a
dash, e.g.: <literal>2.6-2.7</literal></entry>
</row>
<row>
<entry><makevar>USE_PYDISTUTILS</makevar></entry>
<entry>Use Python distutils for configuring, compiling
and installing. This is required when the port comes
with <filename>setup.py</filename>. This overrides
the <maketarget>do-build</maketarget> and
<maketarget>do-install</maketarget> targets and may
also override <maketarget>do-configure</maketarget> if
<makevar>GNU_CONFIGURE</makevar> is not
defined.</entry>
</row>
<row>
<entry><makevar>PYTHON_PKGNAMEPREFIX</makevar></entry>
<entry>Used as a <makevar>PKGNAMEPREFIX</makevar> to
distinguish packages for different Python versions.
Example: <literal>py24-</literal></entry>
</row>
<row>
<entry><makevar>PYTHON_SITELIBDIR</makevar></entry>
<entry>Location of the site-packages tree, that contains
installation path of Python (usually
<makevar>LOCALBASE</makevar>). The
<makevar>PYTHON_SITELIBDIR</makevar> variable can be
very useful when installing Python modules.</entry>
</row>
<row>
<entry><makevar>PYTHONPREFIX_SITELIBDIR</makevar></entry>
<entry>The PREFIX-clean variant of PYTHON_SITELIBDIR.
Always use <literal>%%PYTHON_SITELIBDIR%%</literal> in
<filename>pkg-plist</filename> when possible. The
default value of
<literal>%%PYTHON_SITELIBDIR%%</literal> is
<literal>lib/python%%PYTHON_VERSION%%/site-packages</literal></entry>
</row>
<row>
<entry><makevar>PYTHON_CMD</makevar></entry>
<entry>Python interpreter command line, including
version number.</entry>
</row>
<row>
<entry><makevar>PYNUMERIC</makevar></entry>
<entry>Dependency line for numeric extension.</entry>
</row>
<row>
<entry><makevar>PYNUMPY</makevar></entry>
<entry>Dependency line for the new numeric extension,
numpy. (PYNUMERIC is deprecated by upstream
vendor).</entry>
</row>
<row>
<entry><makevar>PYXML</makevar></entry>
<entry>Dependency line for XML extension (not needed for
Python 2.0 and higher as it is also in base
distribution).</entry>
</row>
<row>
<entry><makevar>USE_TWISTED</makevar></entry>
<entry>Add dependency on twistedCore. The list of
required components can be specified as a value of
- this variable. Example: <literal>web lore pair
- flow</literal></entry>
+ this variable. Example:
+ <literal>web lore pair flow</literal></entry>
</row>
<row>
<entry><makevar>USE_ZOPE</makevar></entry>
<entry>Add dependency on Zope, a web application
platform. Change Python dependency to Python 2.7.
Set <makevar>ZOPEBASEDIR</makevar> containing a
directory with Zope installation.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>A complete list of available variables can be found in
<filename>/usr/ports/Mk/bsd.python.mk</filename>.</para>
</sect1>
<sect1 id="using-tcl">
<title>Using <application>Tcl/Tk</application></title>
<para>The Ports Collection supports parallel installation of
multiple <application>Tcl/Tk</application> versions. Ports
should try to support at least the default
<application>Tcl/Tk</application> version and higher with the
<makevar>USE_TCL</makevar> and <makevar>USE_TK</makevar>
variables. It is possible to specify the desired version of
<command>tcl</command> with the
<makevar>WITH_TCL_VER</makevar> variable.</para>
<table frame="none">
<title>The Most Useful Variables for Ports That Use
<application>Tcl/Tk</application></title>
<tgroup cols="2">
<tbody>
<row>
<entry><makevar>USE_TCL</makevar></entry>
<entry>The port depends on the
<application>Tcl</application> library (not the
shell). Minimal required version can be specified
with values such as 84+. Individual unsupported
versions can be specified with the
<makevar>INVALID_TCL_VER</makevar> variable.</entry>
</row>
<row>
<entry><makevar>USE_TCL_BUILD</makevar></entry>
<entry>The port needs <application>Tcl</application>
only during the build time.</entry>
</row>
<row>
<entry><makevar>USE_TCL_WRAPPER</makevar></entry>
<entry>Ports that require the
<application>Tcl</application> shell and do not
require a specific <literal>tclsh</literal> version
should use this new variable. The
<literal>tclsh</literal> wrapper is installed on the
system. The user can specify the desired
<command>tcl</command> shell to use.</entry>
</row>
<row>
<entry><makevar>WITH_TCL_VER</makevar></entry>
<entry>User-defined variable that sets the desired
<application>Tcl</application> version.</entry>
</row>
<row>
<entry><makevar><replaceable>UNIQUENAME</replaceable>_WITH_TCL_VER</makevar></entry>
<entry>Like <makevar>WITH_TCL_VER</makevar>, but
per-port.</entry>
</row>
<row>
<entry><makevar>USE_TCL_THREADS</makevar></entry>
<entry>Require a threaded build of
<application>Tcl/Tk</application>.</entry>
</row>
<row>
<entry><makevar>USE_TK</makevar></entry>
<entry>The port depends on the
<application>Tk</application> library (not the wish
shell). Implies <makevar>USE_TCL</makevar> with the
same value. For more information see the description
of <makevar>USE_TCL</makevar> variable.</entry>
</row>
<row>
<entry><makevar>USE_TK_BUILD</makevar></entry>
<entry>Analog to the <makevar>USE_TCL_BUILD</makevar>
variable.</entry>
</row>
<row>
<entry><makevar>USE_TK_WRAPPER</makevar></entry>
<entry>Analog to the <makevar>USE_TCL_WRAPPER</makevar>
variable.</entry>
</row>
<row>
<entry><makevar>WITH_TK_VER</makevar></entry>
<entry>Analog to the <makevar>WITH_TCL_VER</makevar>
variable and implies <makevar>WITH_TCL_VER</makevar>
of the same value.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>A complete list of available variables can be found in
<filename>/usr/ports/Mk/bsd.tcl.mk</filename>.</para>
</sect1>
<sect1 id="using-emacs">
<title>Using Emacs</title>
<para>This section is yet to be written.</para>
</sect1>
<sect1 id="using-ruby">
<title>Using Ruby</title>
<table frame="none">
<title>Useful Variables for Ports That Use Ruby</title>
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>USE_RUBY</makevar></entry>
<entry>The port requires Ruby.</entry>
</row>
<row>
<entry><makevar>USE_RUBY_EXTCONF</makevar></entry>
<entry>The port uses <filename>extconf.rb</filename> to
configure.</entry>
</row>
<row>
<entry><makevar>USE_RUBY_SETUP</makevar></entry>
<entry>The port uses <filename>setup.rb</filename> to
configure.</entry>
</row>
<row>
<entry><makevar>RUBY_SETUP</makevar></entry>
<entry>Set to the alternative name of
<filename>setup.rb</filename>. Common value is
<filename>install.rb</filename>.</entry>
</row>
-
</tbody>
</tgroup>
</table>
<para>The following table shows the selected variables available
to port authors via the ports infrastructure. These variables
should be used to install files into their proper locations.
Use them in <filename>pkg-plist</filename> as much as
possible. These variables should not be redefined in the
port.</para>
<table frame="none">
<title>Selected Read-Only Variables for Ports That Use
Ruby</title>
<tgroup cols="3">
<thead>
<row>
<entry>Variable</entry>
<entry>Description</entry>
<entry>Example value</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>RUBY_PKGNAMEPREFIX</makevar></entry>
<entry>Used as a <makevar>PKGNAMEPREFIX</makevar> to
distinguish packages for different Ruby
versions.</entry>
<entry><literal>ruby18-</literal></entry>
</row>
<row>
<entry><makevar>RUBY_VERSION</makevar></entry>
<entry>Full version of Ruby in the form of
<literal>x.y.z</literal>.</entry>
<entry><literal>1.8.2</literal></entry>
</row>
<row>
<entry><makevar>RUBY_SITELIBDIR</makevar></entry>
<entry>Architecture independent libraries installation
path.</entry>
<entry><literal>/usr/local/lib/ruby/site_ruby/1.8</literal></entry>
</row>
<row>
<entry><makevar>RUBY_SITEARCHLIBDIR</makevar></entry>
<entry>Architecture dependent libraries installation
path.</entry>
<entry><literal>/usr/local/lib/ruby/site_ruby/1.8/amd64-freebsd6</literal></entry>
</row>
<row>
<entry><makevar>RUBY_MODDOCDIR</makevar></entry>
<entry>Module documentation installation path.</entry>
<entry><literal>/usr/local/share/doc/ruby18/patsy</literal></entry>
</row>
<row>
<entry><makevar>RUBY_MODEXAMPLESDIR</makevar></entry>
<entry>Module examples installation path.</entry>
<entry><literal>/usr/local/share/examples/ruby18/patsy</literal></entry>
</row>
-
</tbody>
</tgroup>
</table>
<para>A complete list of available variables can be found in
<filename>/usr/ports/Mk/bsd.ruby.mk</filename>.</para>
</sect1>
<sect1 id="using-sdl">
<title>Using SDL</title>
<para>The <makevar>USE_SDL</makevar> variable is used to
autoconfigure the dependencies for ports which use an SDL
- based library like <filename
- role="package">devel/sdl12</filename> and <filename
+ based library like
+ <filename role="package">devel/sdl12</filename> and <filename
role="package">x11-toolkits/sdl_gui</filename>.</para>
<para>The following SDL libraries are recognized at the
moment:</para>
<itemizedlist>
<listitem>
<para>sdl: <filename
role="package">devel/sdl12</filename></para>
</listitem>
<listitem>
<para>gfx: <filename
role="package">graphics/sdl_gfx</filename></para>
</listitem>
<listitem>
<para>gui: <filename
role="package">x11-toolkits/sdl_gui</filename></para>
</listitem>
<listitem>
<para>image: <filename
role="package">graphics/sdl_image</filename></para>
</listitem>
<listitem>
<para>ldbad: <filename
role="package">devel/sdl_ldbad</filename></para>
</listitem>
<listitem>
<para>mixer: <filename
role="package">audio/sdl_mixer</filename></para>
</listitem>
<listitem>
<para>mm: <filename
role="package">devel/sdlmm</filename></para>
</listitem>
<listitem>
<para>net: <filename
role="package">net/sdl_net</filename></para>
</listitem>
<listitem>
<para>sound: <filename
role="package">audio/sdl_sound</filename></para>
</listitem>
<listitem>
<para>ttf: <filename
role="package">graphics/sdl_ttf</filename></para>
</listitem>
</itemizedlist>
<para>Therefore, if a port has a dependency on
<filename role="package">net/sdl_net</filename> and
<filename role="package">audio/sdl_mixer</filename>,
the syntax will be:</para>
<programlisting>USE_SDL= net mixer</programlisting>
- <para>The dependency <filename
- role="package">devel/sdl12</filename>, which is required by
- <filename role="package">net/sdl_net</filename> and <filename
- role="package">audio/sdl_mixer</filename>, is automatically
- added as well.</para>
+ <para>The dependency
+ <filename role="package">devel/sdl12</filename>, which is
+ required by <filename role="package">net/sdl_net</filename>
+ and <filename role="package">audio/sdl_mixer</filename>, is
+ automatically added as well.</para>
<para>If you use <makevar>USE_SDL</makevar>, it will
automatically:</para>
<itemizedlist>
<listitem>
<para>Add a dependency on
<application>sdl12-config</application> to
<makevar>BUILD_DEPENDS</makevar></para>
</listitem>
<listitem>
<para>Add the variable <makevar>SDL_CONFIG</makevar> to
<makevar>CONFIGURE_ENV</makevar></para>
</listitem>
<listitem>
<para>Add the dependencies of the selected libraries to the
<makevar>LIB_DEPENDS</makevar></para>
</listitem>
</itemizedlist>
<para>To check whether an SDL library is available, you can do
it with the <makevar>WANT_SDL</makevar> variable:</para>
<programlisting>WANT_SDL= yes
.include &lt;bsd.port.pre.mk&gt;
.if ${HAVE_SDL:Mmixer}!=""
USE_SDL+= mixer
.endif
.include &lt;bsd.port.post.mk&gt;</programlisting>
</sect1>
<sect1 id="using-wx">
<title>Using <application>wxWidgets</application></title>
<para>This section describes the status of the
<application>wxWidgets</application> libraries in the ports
tree and its integration with the ports system.</para>
<sect2 id="wx-introduction">
<title>Introduction</title>
<para>There are many versions of the
<application>wxWidgets</application> libraries which
conflict between them (install files under the same name).
In the ports tree this problem has been solved by installing
each version under a different name using version number
suffixes.</para>
<para>The obvious disadvantage of this is that each
application has to be modified to find the expected version.
Fortunately, most of the applications call the
<command>wx-config</command> script to determine the
necessary compiler and linker flags. The script is named
differently for every available version. Majority of
applications respect an environment variable, or accept a
configure argument, to specify which
<command>wx-config</command> script to call. Otherwise they
have to be patched.</para>
</sect2>
<sect2 id="wx-version">
<title>Version Selection</title>
<para>To make your port use a specific version of
<application>wxWidgets</application> there are two variables
available for defining (if only one is defined the other
will be set to a default value):</para>
<table id="wx-ver-sel-table" frame="none">
<title>Variables to Select
<application>wxWidgets</application> Versions</title>
<tgroup cols="3">
<thead>
<row>
<entry>Variable</entry>
<entry>Description</entry>
<entry>Default value</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>USE_WX</makevar></entry>
<entry>List of versions the port can use</entry>
<entry>All available versions</entry>
</row>
<row>
<entry><makevar>USE_WX_NOT</makevar></entry>
<entry>List of versions the port can not use</entry>
<entry>None</entry>
</row>
</tbody>
</tgroup>
</table>
<para>The following is a list of available
<application>wxWidgets</application> versions and the
corresponding ports in the tree:</para>
<table frame="none">
<title>Available <application>wxWidgets</application>
Versions</title>
<tgroup cols="2">
<thead>
<row>
<entry>Version</entry>
<entry>Port</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>2.4</literal></entry>
<entry><filename
role="package">x11-toolkits/wxgtk24</filename></entry>
</row>
<row>
<entry><literal>2.6</literal></entry>
<entry><filename
role="package">x11-toolkits/wxgtk26</filename></entry>
</row>
<row>
<entry><literal>2.8</literal></entry>
<entry><filename
role="package">x11-toolkits/wxgtk28</filename></entry>
</row>
</tbody>
</tgroup>
</table>
<note>
<para>The versions starting from <literal>2.5</literal> also
come in Unicode version and are installed by a slave port
named like the normal one plus a
<literal>-unicode</literal> suffix, but this can be
handled with variables (see <xref
linkend="wx-unicode"/>).</para>
</note>
<para>The variables in <xref linkend="wx-ver-sel-table"/> can
be set to one or more of the following combinations
separated by spaces:</para>
<table frame="none">
<title><application>wxWidgets</application> Version
Specifications</title>
<tgroup cols="2">
<thead>
<row>
<entry>Description</entry>
<entry>Example</entry>
</row>
</thead>
<tbody>
<row>
<entry>Single version</entry>
<entry><literal>2.4</literal></entry>
</row>
<row>
<entry>Ascending range</entry>
<entry><literal>2.4+</literal></entry>
</row>
<row>
<entry>Descending range</entry>
<entry><literal>2.6-</literal></entry>
</row>
<row>
<entry>Full range (must be ascending)</entry>
<entry><literal>2.4-2.6</literal></entry>
</row>
</tbody>
</tgroup>
</table>
<para>There are also some variables to select the preferred
versions from the available ones. They can be set to a list
of versions, the first ones will have higher
priority.</para>
<table frame="none">
<title>Variables to Select Preferred
<application>wxWidgets</application> Versions</title>
<tgroup cols="2">
<thead>
<row>
<entry>Name</entry>
<entry>Designed for</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>WANT_WX_VER</makevar></entry>
<entry>the port</entry>
</row>
<row>
<entry><makevar>WITH_WX_VER</makevar></entry>
<entry>the user</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2 id="wx-components">
<title>Component Selection</title>
<para>There are other applications that, while not being
<application>wxWidgets</application> libraries, are related
to them. These applications can be specified in the
<makevar>WX_COMPS</makevar> variable. The following
components are available:</para>
<table frame="none">
<title>Available <application>wxWidgets</application>
Components</title>
<tgroup cols="3">
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
<entry>Version restriction</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>wx</literal></entry>
<entry>main library</entry>
<entry>none</entry>
</row>
<row>
<entry><literal>contrib</literal></entry>
<entry>contributed libraries</entry>
<entry><literal>none</literal></entry>
</row>
<row>
<entry><literal>python</literal></entry>
<entry><application>wxPython</application>
(<application>Python</application> bindings)</entry>
<entry><literal>2.4-2.6</literal></entry>
</row>
<row>
<entry><literal>mozilla</literal></entry>
<entry><application>wxMozilla</application></entry>
<entry><literal>2.4</literal></entry>
</row>
<row>
<entry><literal>svg</literal></entry>
<entry><application>wxSVG</application></entry>
<entry><literal>2.6</literal></entry>
</row>
</tbody>
</tgroup>
</table>
<para>The dependency type can be selected for each component
by adding a suffix separated by a semicolon. If not present
- then a default type will be used (see <xref
- linkend="wx-def-dep-types"/>). The following types are
- available:</para>
+ then a default type will be used (see
+ <xref linkend="wx-def-dep-types"/>). The following types
+ are available:</para>
<table frame="none">
<title>Available <application>wxWidgets</application>
Dependency Types</title>
<tgroup cols="2">
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>build</literal></entry>
<entry>Component is required for building, equivalent
to <makevar>BUILD_DEPENDS</makevar></entry>
</row>
<row>
<entry><literal>run</literal></entry>
<entry>Component is required for running, equivalent
to <makevar>RUN_DEPENDS</makevar></entry>
</row>
<row>
<entry><literal>lib</literal></entry>
<entry>Component is required for building and running,
equivalent to <makevar>LIB_DEPENDS</makevar></entry>
</row>
</tbody>
</tgroup>
</table>
<para>The default values for the components are detailed in
the following table:</para>
<table id="wx-def-dep-types" frame="none">
<title>Default <application>wxWidgets</application>
Dependency Types</title>
<tgroup cols="2">
<thead>
<row>
<entry>Component</entry>
<entry>Dependency type</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>wx</literal></entry>
<entry><literal>lib</literal></entry>
</row>
<row>
<entry><literal>contrib</literal></entry>
<entry><literal>lib</literal></entry>
</row>
<row>
<entry><literal>python</literal></entry>
<entry><literal>run</literal></entry>
</row>
<row>
<entry><literal>mozilla</literal></entry>
<entry><literal>lib</literal></entry>
</row>
<row>
<entry><literal>svg</literal></entry>
<entry><literal>lib</literal></entry>
</row>
</tbody>
</tgroup>
</table>
<example id="wx-components-example">
<title>Selecting <application>wxWidgets</application>
Components</title>
<para>The following fragment corresponds to a port which
uses <application>wxWidgets</application> version
<literal>2.4</literal> and its contributed
libraries.</para>
<programlisting>USE_WX= 2.4
WX_COMPS= wx contrib</programlisting>
</example>
</sect2>
<sect2 id="wx-unicode">
<title>Unicode</title>
<para>The <application>wxWidgets</application> library
supports Unicode since version <literal>2.5</literal>. In
the ports tree both versions are available and can be
selected with the following variables:</para>
<table id="wx-unicode-var-table" frame="none">
<title>Variables to Select Unicode in
<application>wxWidgets</application>
Versions</title>
<tgroup cols="3">
<thead>
<row>
<entry>Variable</entry>
<entry>Description</entry>
<entry>Designed for</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>WX_UNICODE</makevar></entry>
<entry>The port works <emphasis>only</emphasis> with
the Unicode version</entry>
<entry>the port</entry>
</row>
<row>
<entry><makevar>WANT_UNICODE</makevar></entry>
<entry>The port works with both versions but prefers
the Unicode one</entry>
<entry>the port</entry>
</row>
<row>
<entry><makevar>WITH_UNICODE</makevar></entry>
<entry>The port will use the Unicode version</entry>
<entry>the user</entry>
</row>
<row>
<entry><makevar>WITHOUT_UNICODE</makevar></entry>
<entry>The port will use the normal version if
supported (when <makevar>WX_UNICODE</makevar> is not
defined)</entry>
<entry>the user</entry>
</row>
</tbody>
</tgroup>
</table>
<warning>
<para>Do not use <makevar>WX_UNICODE</makevar> for ports
that can use both Unicode and normal versions. If you
want the port to use Unicode by default define
<makevar>WANT_UNICODE</makevar> instead.</para>
</warning>
</sect2>
<sect2 id="wx-version-detection">
<title>Detecting Installed Versions</title>
<para>To detect an installed version you have to define
<makevar>WANT_WX</makevar>. If you do not set it to a
specific version then the components will have a version
suffix. The <makevar>HAVE_WX</makevar> variable will be
filled after detection.</para>
<example id="wx-ver-det-example">
<title>Detecting Installed
<application>wxWidgets</application> Versions and
Components</title>
<para>The following fragment can be used in a port that uses
<application>wxWidgets</application> if it is installed,
or an option is selected.</para>
<programlisting>WANT_WX= yes
.include &lt;bsd.port.pre.mk&gt;
.if defined(WITH_WX) || !empty(PORT_OPTIONS:MWX) || !empty(HAVE_WX:Mwx-2.4)
USE_WX= 2.4
CONFIGURE_ARGS+= --enable-wx
.endif</programlisting>
<para>The following fragment can be used in a port that
enables <application>wxPython</application> support if it
is installed or if an option is selected, in addition to
<application>wxWidgets</application>, both version
<literal>2.6</literal>.</para>
<programlisting>USE_WX= 2.6
WX_COMPS= wx
WANT_WX= 2.6
.include &lt;bsd.port.pre.mk&gt;
.if defined(WITH_WXPYTHON) || !empty(PORT_OPTIONS:MWXPYTHON) || !empty(HAVE_WX:Mpython)
WX_COMPS+= python
CONFIGURE_ARGS+= --enable-wxpython
.endif</programlisting>
</example>
</sect2>
<sect2 id="wx-defined-variables">
<title>Defined Variables</title>
<para>The following variables are available in the port (after
defining one from
<xref linkend="wx-ver-sel-table"/>).</para>
<table frame="none">
<title>Variables Defined for Ports That Use
<application>wxWidgets</application></title>
<tgroup cols="2">
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>WX_CONFIG</makevar></entry>
<entry>The path to the
<application>wxWidgets</application>
<command>wx-config</command> script (with different
name)</entry>
</row>
<row>
<entry><makevar>WXRC_CMD</makevar></entry>
<entry>The path to the
<application>wxWidgets</application>
<command>wxrc</command> program (with different
name)</entry>
</row>
<row>
<entry><makevar>WX_VERSION</makevar></entry>
<entry>The <application>wxWidgets</application>
version that is going to be used (e.g.,
<literal>2.6</literal>)</entry>
</row>
<row>
<entry><makevar>WX_UNICODE</makevar></entry>
<entry>If not defined but Unicode is going to be used
then it will be defined</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2 id="wx-premk">
<title>Processing in
<filename>bsd.port.pre.mk</filename></title>
<para>If you need to use the variables for running commands
right after including <filename>bsd.port.pre.mk</filename>
you need to define <makevar>WX_PREMK</makevar>.</para>
<important>
<para>If you define <makevar>WX_PREMK</makevar>, then the
version, dependencies, components and defined variables
will not change if you modify the
<application>wxWidgets</application> port variables
<emphasis>after</emphasis> including
<filename>bsd.port.pre.mk</filename>.</para>
</important>
<example id="wx-premk-example">
<title>Using <application>wxWidgets</application> Variables
in Commands</title>
<para>The following fragment illustrates the use of
<makevar>WX_PREMK</makevar> by running the
<command>wx-config</command> script to obtain the full
version string, assign it to a variable and pass it to the
program.</para>
<programlisting>USE_WX= 2.4
WX_PREMK= yes
.include &lt;bsd.port.pre.mk&gt;
.if exists(${WX_CONFIG})
VER_STR!= ${WX_CONFIG} --release
PLIST_SUB+= VERSION="${VER_STR}"
.endif</programlisting>
</example>
<note>
<para>The <application>wxWidgets</application> variables can
be safely used in commands when they are inside targets
without the need of <makevar>WX_PREMK</makevar>.</para>
</note>
</sect2>
<sect2 id="wx-additional-config-args">
<title>Additional <command>configure</command>
Arguments</title>
<para>Some GNU <command>configure</command> scripts can not
find <application>wxWidgets</application> with just the
<literal>WX_CONFIG</literal> environment variable set,
requiring additional arguments. The
<makevar>WX_CONF_ARGS</makevar> variable can be used for
provide them.</para>
<table frame="none">
<title>Legal Values for
<makevar>WX_CONF_ARGS</makevar></title>
<tgroup cols="2">
<thead>
<row>
<entry>Possible value</entry>
<entry>Resulting argument</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>absolute</literal></entry>
<entry><literal>--with-wx-config=${WX_CONFIG}</literal></entry>
</row>
<row>
<entry><literal>relative</literal></entry>
<entry><literal>--with-wx=${LOCALBASE}
--with-wx-config=${WX_CONFIG:T}</literal></entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
</sect1>
<sect1 id="using-lua">
<title>Using <application>Lua</application></title>
<para>This section describes the status of the
<application>Lua</application> libraries in the ports tree and
its integration with the ports system.</para>
<sect2 id="lua-introduction">
<title>Introduction</title>
<para>There are many versions of the
<application>Lua</application> libraries and corresponding
interpreters, which conflict between them (install files
under the same name). In the ports tree this problem has
been solved by installing each version under a different
name using version number suffixes.</para>
<para>The obvious disadvantage of this is that each
application has to be modified to find the expected version.
But it can be solved by adding some additional flags to the
compiler and linker.</para>
</sect2>
<sect2 id="lua-version">
<title>Version Selection</title>
<para>To make your port use a specific version of
<application>Lua</application> there are two variables
available for defining (if only one is defined the other
will be set to a default value):</para>
<table id="lua-ver-sel-table" frame="none">
<title>Variables to Select <application>Lua</application>
Versions</title>
<tgroup cols="3">
<thead>
<row>
<entry>Variable</entry>
<entry>Description</entry>
<entry>Default value</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>USE_LUA</makevar></entry>
<entry>List of versions the port can use</entry>
<entry>All available versions</entry>
</row>
<row>
<entry><makevar>USE_LUA_NOT</makevar></entry>
<entry>List of versions the port can not use</entry>
<entry>None</entry>
</row>
</tbody>
</tgroup>
</table>
<para>The following is a list of available
<application>Lua</application> versions and the
corresponding ports in the tree:</para>
<table frame="none">
<title>Available <application>Lua</application>
Versions</title>
<tgroup cols="2">
<thead>
<row>
<entry>Version</entry>
<entry>Port</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>4.0</literal></entry>
<entry><filename
role="package">lang/lua4</filename></entry>
</row>
<row>
<entry><literal>5.0</literal></entry>
<entry><filename
role="package">lang/lua50</filename></entry>
</row>
<row>
<entry><literal>5.1</literal></entry>
<entry><filename
role="package">lang/lua</filename></entry>
</row>
</tbody>
</tgroup>
</table>
<para>The variables in <xref linkend="lua-ver-sel-table"/> can
be set to one or more of the following combinations
separated by spaces:</para>
<table frame="none">
<title><application>Lua</application> Version
Specifications</title>
<tgroup cols="2">
<thead>
<row>
<entry>Description</entry>
<entry>Example</entry>
</row>
</thead>
<tbody>
<row>
<entry>Single version</entry>
<entry><literal>4.0</literal></entry>
</row>
<row>
<entry>Ascending range</entry>
<entry><literal>5.0+</literal></entry>
</row>
<row>
<entry>Descending range</entry>
<entry><literal>5.0-</literal></entry>
</row>
<row>
<entry>Full range (must be ascending)</entry>
<entry><literal>5.0-5.1</literal></entry>
</row>
</tbody>
</tgroup>
</table>
<para>There are also some variables to select the preferred
versions from the available ones. They can be set to a list
of versions, the first ones will have higher
priority.</para>
<table frame="none">
<title>Variables to Select Preferred
<application>Lua</application> Versions</title>
<tgroup cols="2">
<thead>
<row>
<entry>Name</entry>
<entry>Designed for</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>WANT_LUA_VER</makevar></entry>
<entry>the port</entry>
</row>
<row>
<entry><makevar>WITH_LUA_VER</makevar></entry>
<entry>the user</entry>
</row>
</tbody>
</tgroup>
</table>
<example id="lua-version-example">
<title>Selecting the <application>Lua</application>
Version</title>
<para>The following fragment is from a port which can use
<application>Lua</application> version
<literal>5.0</literal> or <literal>5.1</literal>, and uses
<literal>5.0</literal> by default. It can be overridden
by the user with <makevar>WITH_LUA_VER</makevar>.</para>
<programlisting>USE_LUA= 5.0-5.1
WANT_LUA_VER= 5.0</programlisting>
</example>
</sect2>
<sect2 id="lua-components">
<title>Component Selection</title>
<para>There are other applications that, while not being
<application>Lua</application> libraries, are related to
them. These applications can be specified in the
<makevar>LUA_COMPS</makevar> variable. The following
components are available:</para>
<table frame="none">
<title>Available <application>Lua</application>
Components</title>
<tgroup cols="3">
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
<entry>Version restriction</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>lua</literal></entry>
<entry>main library</entry>
<entry>none</entry>
</row>
<row>
<entry><literal>tolua</literal></entry>
<entry>Library for accessing C/C++ code</entry>
<entry><literal>4.0-5.0</literal></entry>
</row>
<row>
<entry><literal>ruby</literal></entry>
<entry>Ruby bindings</entry>
<entry><literal>4.0-5.0</literal></entry>
</row>
</tbody>
</tgroup>
</table>
<note>
<para>There are more components but they are modules for the
interpreter, not used by applications (only by other
modules).</para>
</note>
<para>The dependency type can be selected for each component
by adding a suffix separated by a semicolon. If not present
- then a default type will be used (see <xref
- linkend="lua-def-dep-types"/>). The following types are
- available:</para>
+ then a default type will be used (see
+ <xref linkend="lua-def-dep-types"/>). The following types
+ are available:</para>
<table frame="none">
<title>Available <application>Lua</application> Dependency
Types</title>
<tgroup cols="2">
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>build</literal></entry>
<entry>Component is required for building, equivalent
to <makevar>BUILD_DEPENDS</makevar></entry>
</row>
<row>
<entry><literal>run</literal></entry>
<entry>Component is required for running, equivalent
to <makevar>RUN_DEPENDS</makevar></entry>
</row>
<row>
<entry><literal>lib</literal></entry>
<entry>Component is required for building and running,
equivalent to <makevar>LIB_DEPENDS</makevar></entry>
</row>
</tbody>
</tgroup>
</table>
<para>The default values for the components are detailed in
the following table:</para>
<table id="lua-def-dep-types" frame="none">
<title>Default <application>Lua</application> Dependency
Types</title>
<tgroup cols="2">
<thead>
<row>
<entry>Component</entry>
<entry>Dependency type</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>lua</literal></entry>
<entry><literal>lib</literal> for
<literal>4.0-5.0</literal> (shared) and
<literal>build</literal> for <literal>5.1</literal>
(static)</entry>
</row>
<row>
<entry><literal>tolua</literal></entry>
<entry><literal>build</literal> (static)</entry>
</row>
<row>
<entry><literal>ruby</literal></entry>
<entry><literal>lib</literal> (shared)</entry>
</row>
</tbody>
</tgroup>
</table>
<example id="lua-components-example">
<title>Selecting <application>Lua</application>
Components</title>
<para>The following fragment corresponds to a port which
uses <application>Lua</application> version
<literal>4.0</literal> and its
<application>Ruby</application> bindings.</para>
<programlisting>USE_LUA= 4.0
LUA_COMPS= lua ruby</programlisting>
</example>
</sect2>
<sect2 id="lua-version-detection">
<title>Detecting Installed Versions</title>
<para>To detect an installed version you have to define
<makevar>WANT_LUA</makevar>. If you do not set it to a
specific version then the components will have a version
suffix. The <makevar>HAVE_LUA</makevar> variable will be
filled after detection.</para>
<example id="lua-ver-det-example">
<title>Detecting Installed <application>Lua</application>
Versions and Components</title>
<para>The following fragment can be used in a port that uses
<application>Lua</application> if it is installed, or an
option is selected.</para>
<programlisting>WANT_LUA= yes
.include &lt;bsd.port.pre.mk&gt;
.if defined(WITH_LUA5) || !empty(PORT_OPTIONS:MLUA5) || !empty(HAVE_LUA:Mlua-5.[01])
USE_LUA= 5.0-5.1
CONFIGURE_ARGS+= --enable-lua5
.endif</programlisting>
<para>The following fragment can be used in a port that
enables <application>tolua</application> support if it is
installed or if an option is selected, in addition to
<application>Lua</application>, both version
<literal>4.0</literal>.</para>
<programlisting>USE_LUA= 4.0
LUA_COMPS= lua
WANT_LUA= 4.0
.include &lt;bsd.port.pre.mk&gt;
.if defined(WITH_TOLUA) || !empty(PORT_OPTIONS:MTOLUA) || !empty(HAVE_LUA:Mtolua)
LUA_COMPS+= tolua
CONFIGURE_ARGS+= --enable-tolua
.endif</programlisting>
</example>
</sect2>
<sect2 id="lua-defined-variables">
<title>Defined Variables</title>
<para>The following variables are available in the port (after
- defining one from <xref
- linkend="lua-ver-sel-table"/>).</para>
+ defining one from
+ <xref linkend="lua-ver-sel-table"/>).</para>
<table frame="none">
<title>Variables Defined for Ports That Use
<application>Lua</application></title>
<tgroup cols="2">
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>LUA_VER</makevar></entry>
<entry>The <application>Lua</application> version that
is going to be used (e.g.,
<literal>5.1</literal>)</entry>
</row>
<row>
<entry><makevar>LUA_VER_SH</makevar></entry>
<entry>The <application>Lua</application> shared
library major version (e.g.,
<literal>1</literal>)</entry>
</row>
<row>
<entry><makevar>LUA_VER_STR</makevar></entry>
<entry>The <application>Lua</application> version
without the dots (e.g.,
<literal>51</literal>)</entry>
</row>
<row>
<entry><makevar>LUA_PREFIX</makevar></entry>
<entry>The prefix where <application>Lua</application>
(and components) is installed</entry>
</row>
<row>
<entry><makevar>LUA_SUBDIR</makevar></entry>
<entry>The directory under
<filename>${PREFIX}/bin</filename>,
<filename>${PREFIX}/share</filename> and
<filename>${PREFIX}/lib</filename> where
<application>Lua</application> is installed</entry>
</row>
<row>
<entry><makevar>LUA_INCDIR</makevar></entry>
<entry>The directory where
<application>Lua</application> and
<application>tolua</application> header files are
installed</entry>
</row>
<row>
<entry><makevar>LUA_LIBDIR</makevar></entry>
<entry>The directory where
<application>Lua</application> and
<application>tolua</application> libraries are
installed</entry>
</row>
<row>
<entry><makevar>LUA_MODLIBDIR</makevar></entry>
<entry>The directory where
<application>Lua</application> module libraries
(<filename>.so</filename>) are installed</entry>
</row>
<row>
<entry><makevar>LUA_MODSHAREDIR</makevar></entry>
<entry>The directory where
<application>Lua</application> modules
(<filename>.lua</filename>) are installed</entry>
</row>
<row>
<entry><makevar>LUA_PKGNAMEPREFIX</makevar></entry>
<entry>The package name prefix used by
<application>Lua</application> modules</entry>
</row>
<row>
<entry><makevar>LUA_CMD</makevar></entry>
<entry>The path to the <application>Lua</application>
interpreter</entry>
</row>
<row>
<entry><makevar>LUAC_CMD</makevar></entry>
<entry>The path to the <application>Lua</application>
compiler</entry>
</row>
<row>
<entry><makevar>TOLUA_CMD</makevar></entry>
<entry>The path to the
<application>tolua</application> program</entry>
</row>
</tbody>
</tgroup>
</table>
<example id="lua-variables-example">
<title>Telling the Port Where to Find
<application>Lua</application></title>
<para>The following fragment shows how to tell a port that
uses a configure script where the
<application>Lua</application> header files and libraries
are.</para>
<programlisting>USE_LUA= 4.0
GNU_CONFIGURE= yes
CONFIGURE_ENV= CPPFLAGS="-I${LUA_INCDIR}" LDFLAGS="-L${LUA_LIBDIR}"</programlisting>
</example>
</sect2>
<sect2 id="lua-premk">
<title>Processing in
<filename>bsd.port.pre.mk</filename></title>
<para>If you need to use the variables for running commands
right after including <filename>bsd.port.pre.mk</filename>
you need to define <makevar>LUA_PREMK</makevar>.</para>
<important>
<para>If you define <makevar>LUA_PREMK</makevar>, then the
version, dependencies, components and defined variables
will not change if you modify the
<application>Lua</application> port variables
<emphasis>after</emphasis> including
<filename>bsd.port.pre.mk</filename>.</para>
</important>
<example id="lua-premk-example">
<title>Using <application>Lua</application> Variables in
Commands</title>
<para>The following fragment illustrates the use of
<makevar>LUA_PREMK</makevar> by running the
<application>Lua</application> interpreter to obtain the
full version string, assign it to a variable and pass it
to the program.</para>
<programlisting>USE_LUA= 5.0
LUA_PREMK= yes
.include &lt;bsd.port.pre.mk&gt;
.if exists(${LUA_CMD})
VER_STR!= ${LUA_CMD} -v
CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
.endif</programlisting>
</example>
<note>
<para>The <application>Lua</application> variables can be
safely used in commands when they are inside targets
without the need of <makevar>LUA_PREMK</makevar>.</para>
</note>
</sect2>
</sect1>
<sect1 id="using-xfce">
<title>Using Xfce</title>
<para>The <makevar>USE_XFCE</makevar> variable is used to
autoconfigure the dependencies for ports which use an Xfce
- based library or application like <filename
- role="package">x11-toolkits/libxfce4gui</filename> and
- <filename role="package">x11-wm/xfce4-panel</filename>.</para>
+ based library or application like
+ <filename role="package">x11-toolkits/libxfce4gui</filename>
+ and <filename
+ role="package">x11-wm/xfce4-panel</filename>.</para>
<para>The following Xfce libraries and applications are
recognized at the moment:</para>
<itemizedlist>
<listitem>
<para>libexo: <filename
role="package">x11/libexo</filename></para>
</listitem>
<listitem>
<para>libgui: <filename
role="package">x11-toolkits/libxfce4gui</filename></para>
</listitem>
<listitem>
<para>libutil: <filename
role="package">x11/libxfce4util</filename></para>
</listitem>
<listitem>
<para>libmcs: <filename
role="package">x11/libxfce4mcs</filename></para>
</listitem>
<listitem>
<para>mcsmanager: <filename
role="package">sysutils/xfce4-mcs-manager</filename></para>
</listitem>
<listitem>
<para>panel: <filename
role="package">x11-wm/xfce4-panel</filename></para>
</listitem>
<listitem>
<para>thunar: <filename
role="package">x11-fm/thunar</filename></para>
</listitem>
<listitem>
<para>wm: <filename
role="package">x11-wm/xfce4-wm</filename></para>
</listitem>
<listitem>
<para>xfdev: <filename
role="package">dev/xfce4-dev-tools</filename></para>
</listitem>
</itemizedlist>
<para>The following additional parameters are recognized:</para>
<itemizedlist>
<listitem>
<para>configenv: Use this if your port requires a special
modified <makevar>CONFIGURE_ENV</makevar> to find its
required libraries.</para>
<programlisting>-I&dollar;{LOCALBASE}/include -L&dollar;{LOCALBASE}/lib</programlisting>
<para>gets added to CPPFLAGS to
<makevar>CONFIGURE_ENV</makevar>.</para>
</listitem>
</itemizedlist>
- <para>Therefore, if a port has a dependency on <filename
- role="package">sysutils/xfce4-mcs-manager</filename> and
- requires the special CPPFLAGS in its configure environment,
- the syntax will be:</para>
+ <para>Therefore, if a port has a dependency on
+ <filename role="package">sysutils/xfce4-mcs-manager</filename>
+ and requires the special CPPFLAGS in its configure
+ environment, the syntax will be:</para>
<programlisting>USE_XFCE= mcsmanager configenv</programlisting>
</sect1>
<sect1 id="using-mozilla">
<title>Using Mozilla</title>
<table frame="none">
<title>Variables for Ports That Use Mozilla</title>
<tgroup cols="2">
<tbody>
<row>
<entry><makevar>USE_GECKO</makevar></entry>
<entry>Gecko backend the port can handle. Possible
values: <literal>libxul</literal>
(<filename>libxul.so</filename>),
<literal>seamonkey</literal>
(<filename>libgtkembedmoz.so</filename>, deprecated,
should not be used any more).</entry>
</row>
<row>
<entry><makevar>USE_FIREFOX</makevar></entry>
<entry>The port requires Firefox as a runtime
dependency. Possible values: <literal>yes</literal>
(get default version), <literal>40</literal>,
<literal>36</literal>, <literal>35</literal>. Default
dependency is on version
<literal>40</literal>.</entry>
</row>
<row>
<entry><makevar>USE_FIREFOX_BUILD</makevar></entry>
<entry>The port requires Firefox as a buildtime
dependency. Possible values: see USE_FIREFOX. This
automatically sets USE_FIREFOX and assigns the same
value.</entry>
</row>
<row>
<entry><makevar>USE_SEAMONKEY</makevar></entry>
<entry>The port requires SeaMonkey as a runtime
dependency. Possible values: <literal>yes</literal>
(get default version), <literal>20</literal>,
<literal>11</literal> (deprecated, should not be used
any more). Default dependency is on version
<literal>20</literal>.</entry>
</row>
<row>
<entry><makevar>USE_SEAMONKEY_BUILD</makevar></entry>
<entry>The port requires SeaMonkey as a buildtime
dependency. Possible values: see USE_SEAMONKEY. This
automatically sets USE_SEAMONKEY and assigns the same
value.</entry>
</row>
<row>
<entry><makevar>USE_THUNDERBIRD</makevar></entry>
<entry>The port requires Thunderbird as a runtime
dependency. Possible values: <literal>yes</literal>
(get default version), <literal>31</literal>,
<literal>30</literal> (deprecated, should not be used
any more). Default dependency is on version
<literal>31</literal>.</entry>
</row>
<row>
<entry><makevar>USE_THUNDERBIRD_BUILD</makevar></entry>
<entry>The port requires Thunderbird as a buildtime
dependency. Possible values: see USE_THUNDERBIRD.
This automatically sets USE_THUNDERBIRD and assigns
the same value.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>A complete list of available variables can be found in
<filename>/usr/ports/Mk/bsd.gecko.mk</filename>.</para>
</sect1>
<sect1 id="using-databases">
<title>Using Databases</title>
<table frame="none">
<title>Variables for Ports Using Databases</title>
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Means</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>USE_BDB</makevar></entry>
<entry>If variable is set to <literal>yes</literal>,
- add dependency on <filename
- role="package">databases/db41</filename> port. The
- variable may also be set to values: 40, 41, 42, 43,
- 44, 46, 47, 48, or 51. You can declare a range of
- acceptable values, <makevar>USE_BDB</makevar>=42+ will
- find the highest installed version, and fall back to
- 42 if nothing else is installed.</entry>
+ add dependency on
+ <filename role="package">databases/db41</filename>
+ port. The variable may also be set to values: 40, 41,
+ 42, 43, 44, 46, 47, 48, or 51. You can declare a
+ range of acceptable values,
+ <makevar>USE_BDB</makevar>=42+ will find the highest
+ installed version, and fall back to 42 if nothing else
+ is installed.</entry>
</row>
<row>
<entry><makevar>USE_MYSQL</makevar></entry>
<entry>If variable is set to <literal>yes</literal>, add
dependency on <filename
role="package">databases/mysql55-client</filename>
port. An associated variable,
<makevar>WANT_MYSQL_VER</makevar>, may be set to
values such as 323, 40, 41, 50, 51, 52, 55, or
60.</entry>
</row>
<row>
<entry><makevar>USE_PGSQL</makevar></entry>
<entry>If set to <literal>yes</literal>, add dependency
on <filename
role="package">databases/postgresql90-client</filename>
port. An associated variable,
<makevar>WANT_PGSQL_VER</makevar>, may be set to
values such as 83, 84, 90, 91 or 92. You can declare
a minimum or maximum value;
<makevar>WANT_PGSQL_VER</makevar>=
<literal> 90+</literal> will cause the
port to depend on a minimum version of 9.0.</entry>
</row>
<row>
<entry><makevar>USE_SQLITE</makevar></entry>
<entry>If variable is set to <literal>yes</literal>, add
dependency on
<filename role="package">databases/sqlite3</filename>
port. The variable may also be set to values: 3,
2.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>More details are available in <ulink
url="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.database.mk?view=markup">bsd.database.mk</ulink>.</para>
</sect1>
<sect1 id="rc-scripts">
<title>Starting and Stopping Services (<literal>rc</literal>
Scripts)</title>
<para><filename>rc.d</filename> scripts are used to start
services on system startup, and to give administrators a
standard way of stopping, starting and restarting the service.
Ports integrate into the system <filename>rc.d</filename>
framework. Details on its usage can be found in <ulink
url="&url.books.handbook;/configtuning-rcd.html">the rc.d
Handbook chapter</ulink>. Detailed explanation of available
commands is provided in &man.rc.8; and &man.rc.subr.8;.
Finally, there is <ulink url="&url.articles.rc-scripting;">an
article</ulink> on practical aspects of
<filename>rc.d</filename> scripting.</para>
<para>One or more <filename>rc.d</filename> scripts can be
installed:</para>
<programlisting>USE_RC_SUBR= doormand</programlisting>
<para>Scripts must be placed in the <filename>files</filename>
subdirectory and a <literal>.in</literal> suffix must be added
to their filename. Standard <makevar>SUB_LIST</makevar>
expansions will be used for this file. Use of the
<literal>%%PREFIX%%</literal> and
<literal>%%LOCALBASE%%</literal> expansions is strongly
encouraged as well. More on <makevar>SUB_LIST</makevar> in
- <link
- linkend="using-sub-files">the relevant
+ <link linkend="using-sub-files">the relevant
section</link>.</para>
<para>Prior to &os;&nbsp;6.1-RELEASE, integration with
&man.rcorder.8; is available by using
<makevar>USE_RCORDER</makevar> instead of
<makevar>USE_RC_SUBR</makevar>. However, use of this method
is not necessary unless the port has an option to install
itself in the base, or the service needs to run prior to the
<filename>FILESYSTEMS</filename> <filename>rc.d</filename>
script in the base.</para>
<para>As of &os;&nbsp;6.1-RELEASE, local
<filename>rc.d</filename> scripts (including those installed
by ports) are included in the overall &man.rcorder.8; of the
base system.</para>
<para>Example simple <filename>rc.d</filename> script:</para>
<programlisting>#!/bin/sh
# &dollar;FreeBSD&dollar;
#
# PROVIDE: doormand
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# doormand_enable (bool): Set to NO by default.
# Set it to YES to enable doormand.
# doormand_config (path): Set to %%PREFIX%%/etc/doormand/doormand.cf
# by default.
. /etc/rc.subr
name=doormand
rcvar=doormand_enable
load_rc_config $name
: ${doormand_enable:="NO"}
: ${doormand_config="%%PREFIX%%/etc/doormand/doormand.cf"}
command=%%PREFIX%%/sbin/${name}
pidfile=/var/run/${name}.pid
command_args="-p $pidfile -f $doormand_config"
run_rc_command "$1"</programlisting>
<para> Unless there is a good reason to start the service
earlier all ports scripts should use</para>
<programlisting>REQUIRE: LOGIN</programlisting>
<para>If the service runs as a particular user (other than root)
this is mandatory.</para>
<programlisting>KEYWORD: shutdown</programlisting>
<para>is included in the script above because the mythical port
we are using as an example starts a service, and should be
shut down cleanly when the system shuts down. If the script
is not starting a persistent service this is not
necessary.</para>
<para>For optional configuration elements the &quot;=&quot;
style of default variable assignment is preferable to the
&quot;:=&quot; style here, since the former sets a default
value only if the variable is unset, and the latter sets one
if the variable is unset <emphasis>or</emphasis> null. A user
might very well include something like</para>
<programlisting>doormand_flags=""</programlisting>
<para>in their <filename>rc.conf.local</filename> file, and a
variable substitution using &quot;:=&quot; would
inappropriately override the user's intention. The
<literal>_enable</literal> variable is not optional,
and should use the &quot;:&quot; for the default.</para>
<note>
<para>No new scripts should be added with the
<filename>.sh</filename> suffix.</para>
</note>
<sect2>
<title>Pre-Commit Checklist</title>
<para>Before contributing a port with an
<filename>rc.d</filename> script, and more importantly,
before committing one, please consult the following
checklist to be sure that it is ready.</para>
<procedure>
<step>
<para>If this is a new file, does it have
<filename>.sh</filename> in the file name? If so that
should be changed to just <filename>file.in</filename>
since new <filename>rc.d</filename> files may not end
with that extension.</para>
</step>
<step>
<para>Does the file have a
<literal>&dollar;FreeBSD&dollar;</literal> tag?</para>
</step>
<step>
<para>Do the name of the file (minus
<filename>.in</filename>), the
<literal>PROVIDE</literal> line, and
<literal>&dollar;</literal><replaceable>name</replaceable>
all match? The file name matching
<literal>PROVIDE</literal> makes debugging easier,
especially for &man.rcorder.8; issues. Matching the
file name and
<literal>&dollar;</literal><replaceable>name</replaceable>
makes it easier to figure out which variables are
relevant in <filename>rc.conf[.local]</filename>. The
latter is also what you might call &ldquo;policy&rdquo;
for all new scripts, including those in the base
system.</para>
</step>
<step>
<para>Is the <literal>REQUIRE</literal> line set to
<literal>LOGIN</literal>? This is mandatory for scripts
that run as a non-root user. If it runs as root, is
there a good reason for it to run prior to
<literal>LOGIN</literal>? If not, it should run there
so that we can loosely group local scripts to a point in
&man.rcorder.8; after most everything in the base is
already running.</para>
</step>
<step>
<para>Does the script start a persistent service? If so,
it should have <literal>KEYWORD:
shutdown</literal>.</para>
</step>
<step>
- <para>Make sure there is no <literal>KEYWORD:
- FreeBSD</literal> present. This has not been
- necessary or desirable for years. It is also an
- indication that the new script was copy/pasted from an
- old script, so extra caution should be given to the
+ <para>Make sure there is no
+ <literal>KEYWORD: FreeBSD</literal> present. This has
+ not been necessary or desirable for years. It is also
+ an indication that the new script was copy/pasted from
+ an old script, so extra caution should be given to the
review.</para>
</step>
<step>
<para>If the script uses an interpreted language like
<command>perl</command>, <command>python</command>, or
<command>ruby</command>, make certain that
<varname>command_interpreter</varname> is set
appropriately. Otherwise,</para>
<screen>&prompt.root; <userinput>service <replaceable>name</replaceable> stop</userinput></screen>
<para>will probably not work properly. See
&man.service.8; for more information.</para>
</step>
<step>
<para>Have all occurrences of
<filename>/usr/local</filename> been replaced with
<literal>%%PREFIX%%</literal>?</para>
</step>
<step>
<para>Do the default variable assignments come after
<function>load_rc_config</function>?</para>
</step>
<step>
<para>Are there default assignments to empty strings?
They should be removed, but double-check that the option
is documented in the comments at the top of the
file.</para>
</step>
<step>
<para>Are things that are set in variables actually used
in the script?</para>
</step>
<step>
<para>Are options listed in the default
<replaceable>name</replaceable><varname>_flags</varname>
things that are actually mandatory? If so, they should
be in <varname>command_args</varname>. The
<option>-d</option> option is a red flag (pardon the
pun) here, since it is usually the option to
&ldquo;daemonize&rdquo; the process, and therefore is
actually mandatory.</para>
</step>
<step>
<para>The
<replaceable>name</replaceable><varname>_flags</varname>
variable should never be included in
<varname>command_args</varname> (and vice versa,
although that error is less common).</para>
</step>
<step>
<para>Does the script execute any code unconditionally?
This is frowned on. Usually these things can/should be
dealt with through a
<function>start_precmd</function>.</para>
</step>
<step>
<para>All boolean tests should utilize the
<function>checkyesno</function> function. No
hand-rolled tests for <literal>[Yy][Ee][Ss]</literal>,
etc.</para>
</step>
<step>
<para>If there is a loop (for example, waiting for
something to start) does it have a counter to terminate
the loop? We do not want the boot to be stuck forever
if there is an error.</para>
</step>
<step>
<para>Does the script create files or directories that
need specific permissions, for example, a
<filename>pid</filename> file that needs to be owned by
the user that runs the process? Rather than the
traditional &man.touch.1;/&man.chown.8;/&man.chmod.1;
routine, consider using &man.install.1; with the proper
command line arguments to do the whole procedure with
one step.</para>
</step>
</procedure>
</sect2>
</sect1>
<sect1 id="users-and-groups">
<title>Adding Users and Groups</title>
<para>Some ports require a certain user to be on the installed
system. Choose a free UID from 50 to 999 and register it
either in <filename>ports/UIDs</filename> (for users) or in
<filename>ports/GIDs</filename> (for groups). Make sure you
do not use a UID already used by the system or other
ports.</para>
<para>Please include a patch against these two files when you
require a new user or group to be created for your
port.</para>
<para>Then you can use <makevar>USERS</makevar> and
<makevar>GROUPS</makevar> variables in your
<filename>Makefile</filename>, and the user will be
automatically created when installing the port.</para>
<programlisting>USERS= pulse
GROUPS= pulse pulse-access pulse-rt</programlisting>
<para>The current list of reserved UIDs and GIDs can be found
in <filename>ports/UIDs</filename> and
<filename>ports/GIDs</filename>.</para>
</sect1>
<sect1 id="requiring-kernel-sources">
<title>Ports That Rely on Kernel Sources</title>
<para>Some ports (such as kernel loadable modules) need the
kernel source files so that the port can compile. Here is the
correct way to determine if the user has them
installed:</para>
<programlisting>.if !exists(${SRC_BASE}/sys/Makefile)
IGNORE= requires kernel sources to be installed
.endif</programlisting>
</sect1>
</chapter>
<chapter id="plist">
<title>Advanced <filename>pkg-plist</filename> Practices</title>
<sect1 id="plist-sub">
<title>Changing <filename>pkg-plist</filename> Based on Make
Variables</title>
<para>Some ports, particularly the <literal>p5-</literal> ports,
need to change their <filename>pkg-plist</filename> depending
on what options they are configured with (or version of
<literal>perl</literal>, in the case of <literal>p5-</literal>
ports). To make this easy, any instances in the
<filename>pkg-plist</filename> of
<literal>%%OSREL%%</literal>, <literal>%%PERL_VER%%</literal>,
and <literal>%%PERL_VERSION%%</literal> will be substituted
for appropriately. The value of <literal>%%OSREL%%</literal>
is the numeric revision of the operating system (e.g.,
<literal>4.9</literal>). <literal>%%PERL_VERSION%%</literal>
and <literal>%%PERL_VER%%</literal> is the full version number
of <command>perl</command> (e.g., <literal>5.8.9</literal>).
Several other
<literal>%%<replaceable>VARS</replaceable>%%</literal> related
- to port's documentation files are described in <link
- linkend="install-documentation">the relevant
+ to port's documentation files are described in
+ <link linkend="install-documentation">the relevant
section</link>.</para>
<para>If you need to make other substitutions, you can set the
<makevar>PLIST_SUB</makevar> variable with a list of
<literal><replaceable>VAR</replaceable>=<replaceable>VALUE</replaceable></literal>
pairs and instances of
<literal>%%<replaceable>VAR</replaceable>%%</literal> will be
substituted with <replaceable>VALUE</replaceable> in the
<filename>pkg-plist</filename>.</para>
<para>For instance, if you have a port that installs many files
in a version-specific subdirectory, you can put something
like</para>
<programlisting>OCTAVE_VERSION= 2.0.13
PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
<para>in the <filename>Makefile</filename> and use
<literal>%%OCTAVE_VERSION%%</literal> wherever the version
shows up in <filename>pkg-plist</filename>. That way, when
you upgrade the port, you will not have to change dozens (or
in some cases, hundreds) of lines in the
<filename>pkg-plist</filename>.</para>
<para>If your port installs files conditionally on the options
set in the port, the usual way of handling it is prefixing the
<filename>pkg-plist</filename> lines with a
<literal>%%TAG%%</literal> and adding that
<literal>TAG</literal> to the <makevar>PLIST_SUB</makevar>
variable inside the <filename>Makefile</filename> with a
special value of <literal>@comment</literal>, which makes
package tools to ignore the line:</para>
<programlisting>.if defined(WITH_X11)
PLIST_SUB+= X11=""
.else
PLIST_SUB+= X11="@comment "
.endif</programlisting>
<para>and in the <filename>pkg-plist</filename>:</para>
<programlisting>%%X11%%bin/foo-gui</programlisting>
- <para>This substitution (as well as addition of any <link
- linkend="makefile-manpages">manual pages</link>) will be
+ <para>This substitution (as well as addition of any
+ <link linkend="makefile-manpages">manual pages</link>) will be
done between the <maketarget>pre-install</maketarget> and
<maketarget>do-install</maketarget> targets, by reading from
<filename><makevar>PLIST</makevar></filename> and writing to
<filename><makevar>TMPPLIST</makevar></filename> (default:
<filename><makevar>WRKDIR</makevar>/.PLIST.mktmp</filename>).
So if your port builds
<filename><makevar>PLIST</makevar></filename> on the fly, do
so in or before <maketarget>pre-install</maketarget>. Also,
if your port needs to edit the resulting file, do so in
<maketarget>post-install</maketarget> to a file named
<filename><makevar>TMPPLIST</makevar></filename>.</para>
- <para>Another possibility to modify port's packing list is based
- on setting the variables <makevar>PLIST_FILES</makevar> and
- <makevar>PLIST_DIRS</makevar>. The value of each variable is
- regarded as a list of pathnames to write to
+ <para>Another way of modifying a port's packing list is based
+ on setting the variables <makevar>PLIST_FILES</makevar>,
+ <makevar>PLIST_DIRS</makevar>, and
+ <makevar>PLIST_DIRSTRY</makevar>. The value of each variable
+ is regarded as a list of pathnames to write to
<filename><makevar>TMPPLIST</makevar></filename> along with
<filename><makevar>PLIST</makevar></filename> contents. Names
- listed in <makevar>PLIST_FILES</makevar> and
- <makevar>PLIST_DIRS</makevar> are subject to
+ listed in <makevar>PLIST_FILES</makevar>,
+ <makevar>PLIST_DIRS</makevar>, and
+ <makevar>PLIST_DIRSTRY</makevar> are subject to
<literal>%%<replaceable>VAR</replaceable>%%</literal>
- substitution, as described above. Except for that, names from
+ substitution as described above. Except for that, names from
<makevar>PLIST_FILES</makevar> will appear in the final
- packing list unchanged, while <literal>@dirrm</literal> will
- be prepended to names from <makevar>PLIST_DIRS</makevar>. To
- take effect, <makevar>PLIST_FILES</makevar> and
- <makevar>PLIST_DIRS</makevar> must be set before
+ packing list unchanged, while <literal>@dirrm</literal> and
+ <literal>@dirrmtry</literal> will
+ be prepended to names from <makevar>PLIST_DIRS</makevar>
+ and <makevar>PLIST_DIRSTRY</makevar>, respectively. To
+ take effect, <makevar>PLIST_FILES</makevar>,
+ <makevar>PLIST_DIRS</makevar>, and
+ <makevar>PLIST_DIRSTRY</makevar> must be set before
<filename><makevar>TMPPLIST</makevar></filename> is written,
i.e., in <maketarget>pre-install</maketarget> or
earlier.</para>
</sect1>
<sect1 id="plist-cleaning">
<title>Empty Directories</title>
<sect2 id="plist-dir-cleaning">
<title>Cleaning Up Empty Directories</title>
<para>Do make your ports remove empty directories when they
are de-installed. This is usually accomplished by adding
<literal>@dirrm</literal> lines for all directories that are
specifically created by the port. You need to delete
subdirectories before you can delete parent
directories.</para>
<programlisting> :
lib/X11/oneko/pixmaps/cat.xpm
lib/X11/oneko/sounds/cat.au
:
@dirrm lib/X11/oneko/pixmaps
@dirrm lib/X11/oneko/sounds
@dirrm lib/X11/oneko</programlisting>
<para>However, sometimes <literal>@dirrm</literal> will give
you errors because other ports share the same directory.
You can use <literal>@dirrmtry</literal> to remove only
empty directories without warning.</para>
<programlisting>@dirrmtry share/doc/gimp</programlisting>
<para>This will neither print any error messages nor cause
&man.pkg.delete.1; to exit abnormally even if
<filename><makevar>${PREFIX}</makevar>/share/doc/gimp</filename>
is not empty due to other ports installing some files in
there.</para>
</sect2>
<sect2 id="plist-dir-empty">
<title>Creating Empty Directories</title>
<para>Empty directories created during port installation need
special attention. They will not get created when
installing the package, because packages only store the
files, and &man.pkg.add.1; creates directories for them as
needed. To make sure the empty directory is created when
installing the package, add this line to
<filename>pkg-plist</filename> above the corresponding
<literal>@dirrm</literal> line:</para>
<programlisting>@exec mkdir -p %D/share/foo/templates</programlisting>
</sect2>
</sect1>
<sect1 id="plist-config">
<title>Configuration Files</title>
<para>If your port installs configuration files to
<filename><makevar>PREFIX</makevar>/etc</filename> (or
elsewhere) do <emphasis>not</emphasis> simply list them in the
<filename>pkg-plist</filename>. That will cause
&man.pkg.delete.1; to remove the files carefully edited by
the user, and a re-installation will wipe them out.</para>
<para>Instead, install sample file(s) with a
<filename><replaceable>filename</replaceable>.sample</filename>
suffix. Then copy the sample file to the real configuration
file name, if it does not already exist. On deinstall
delete the configuration file, but only if it is identical
to the <filename>.sample</filename> file.
You need to handle this both in the port
<filename>Makefile</filename>, and in the
<filename>pkg-plist</filename> (for installation from the
package).</para>
<para>Example of the <filename>Makefile</filename> part:</para>
<programlisting>post-install:
@if [ ! -f ${PREFIX}/etc/orbit.conf ]; then \
${CP} -p ${PREFIX}/etc/orbit.conf.sample ${PREFIX}/etc/orbit.conf ; \
fi</programlisting>
<para>For each configuration file, create the following three
lines in <filename>pkg-plist</filename>:</para>
<programlisting>@unexec if cmp -s %D/etc/orbit.conf.sample %D/etc/orbit.conf; then rm -f %D/etc/orbit.conf; fi
etc/orbit.conf.sample
@exec if [ ! -f %D/etc/orbit.conf ] ; then cp -p %D/%F %B/orbit.conf; fi</programlisting>
<para>The order of these lines is important. On deinstallation,
the sample file is compared to the actual configuration file.
If these files are identical, no changes have been made by the
user and the actual file can be safely deleted. Because the
sample file must still exist for the comparison, the
<literal>@unexec</literal> line comes before the sample
configuration file name. On installation, if an actual
configuration file is not already present, the sample file is
copied to the actual file. The sample file must be present
before it can be copied, so the <literal>@exec</literal> line
comes after the sample configuration file name.</para>
<para>To debug any issues, temporarily remove the
<literal>-s</literal> flag to &man.cmp.1; for more
output.</para>
<para>See &man.pkg.create.1; for more information on
<literal>%D</literal> and related substitution markers.</para>
<para>If there is a very good reason not to install a working
configuration file by default, leave the
<literal>@exec</literal> line out of
- <filename>pkg-plist</filename> and add a <link
- linkend="porting-message">message</link> pointing out that
- the user must copy and edit the file before the software will
- work.</para>
+ <filename>pkg-plist</filename> and add a
+ <link linkend="porting-message">message</link> pointing out
+ that the user must copy and edit the file before the software
+ will work.</para>
</sect1>
<sect1 id="plist-dynamic">
<title>Dynamic Versus Static Package List</title>
<para>A <emphasis>static package list</emphasis> is a package
list which is available in the Ports Collection either as a
<filename>pkg-plist</filename> file (with or without variable
substitution), or embedded into the
<filename>Makefile</filename> via
- <makevar>PLIST_FILES</makevar> and
- <makevar>PLIST_DIRS</makevar>. Even if the contents are
+ <makevar>PLIST_FILES</makevar>,
+ <makevar>PLIST_DIRS</makevar>, and
+ <makevar>PLIST_DIRSTRY</makevar>. Even if the contents are
auto-generated by a tool or a target in the Makefile
<emphasis>before</emphasis> the inclusion into the Ports
Collection by a committer, this is still considered a static
list, since it is possible to examine it without having to
download or compile the distfile.</para>
<para>A <emphasis>dynamic package list</emphasis> is a package
list which is generated at the time the port is compiled based
upon the files and directories which are installed. It is not
possible to examine it before the source code of the ported
application is downloaded and compiled, or after running a
<literal>make clean</literal>.</para>
<para>While the use of dynamic package lists is not forbidden,
maintainers should use static package lists wherever possible,
as it enables users to &man.grep.1; through available ports to
discover, for example, which port installs a certain file.
Dynamic lists should be primarily used for complex ports where
the package list changes drastically based upon optional
features of the port (and thus maintaining a static package
list is infeasible), or ports which change the package list
based upon the version of dependent software used (e.g., ports
which generate docs with
<application>Javadoc</application>).</para>
<para>Maintainers who prefer dynamic package lists are
encouraged to add a new target to their port which generates
the <filename>pkg-plist</filename> file so that users may
examine the contents.</para>
</sect1>
<sect1 id="plist-autoplist">
<title>Automated Package List Creation</title>
<para>First, make sure your port is almost complete, with only
<filename>pkg-plist</filename> missing.</para>
<para>Next, create a temporary directory tree into which your
port can be installed, and install any dependencies.</para>
<screen>&prompt.root; <userinput>mkdir /var/tmp/`make -V PORTNAME`</userinput>
&prompt.root; <userinput>mtree -U -f `make -V MTREE_FILE` -d -e -p /var/tmp/`make -V PORTNAME`</userinput>
&prompt.root; <userinput>make depends PREFIX=/var/tmp/`make -V PORTNAME`</userinput></screen>
<para>Store the directory structure in a new file.</para>
<screen>&prompt.root; <userinput>(cd /var/tmp/`make -V PORTNAME` &amp;&amp; find -d * -type d) | sort &gt; OLD-DIRS</userinput></screen>
<para>Create an empty <filename>pkg-plist</filename>
file:</para>
<screen>&prompt.root; <userinput>:&gt;pkg-plist</userinput></screen>
<para>If your port honors <makevar>PREFIX</makevar> (which it
should) you can then install the port and create the package
list.</para>
<screen>&prompt.root; <userinput>make install PREFIX=/var/tmp/`make -V PORTNAME`</userinput>
&prompt.root; <userinput>(cd /var/tmp/`make -V PORTNAME` &amp;&amp; find -d * \! -type d) | sort &gt; pkg-plist</userinput></screen>
<para>You must also add any newly created directories to the
packing list.</para>
<screen>&prompt.root; <userinput>(cd /var/tmp/`make -V PORTNAME` &amp;&amp; find -d * -type d) | sort | comm -13 OLD-DIRS - | sort -r | sed -e 's#^#@dirrm #' &gt;&gt; pkg-plist</userinput></screen>
<para>Finally, you need to tidy up the packing list by hand; it
is not <emphasis>all</emphasis> automated. Manual pages
should be listed in the port's <filename>Makefile</filename>
under <makevar>MAN<replaceable>n</replaceable></makevar>, and
not in the package list. User configuration files should be
removed, or installed as
<filename><replaceable>filename</replaceable>.sample</filename>.
The <filename>info/dir</filename> file should not be listed
and appropriate <filename>install-info</filename> lines should
- be added as noted in the <link linkend="makefile-info">info
- files</link> section. Any libraries installed by the port
- should be listed as specified in the <link
- linkend="porting-shlibs">shared libraries</link>
+ be added as noted in the
+ <link linkend="makefile-info">info files</link> section. Any
+ libraries installed by the port should be listed as specified
+ in the <link linkend="porting-shlibs">shared libraries</link>
section.</para>
<para>Alternatively, use the <command>plist</command> script in
<filename>/usr/ports/Tools/scripts/</filename> to build the
package list automatically. The <filename>plist</filename>
script is a <application>Ruby</application> script that
automates most of the manual steps outlined in the previous
paragraphs.</para>
<para>The first step is the same as above: take the first three
lines, that is, <command>mkdir</command>,
<command>mtree</command> and <command>make depends</command>.
Then build and install the port:</para>
<screen>&prompt.root; <userinput>make install PREFIX=/var/tmp/`make -V PORTNAME`</userinput></screen>
<para>And let <command>plist</command> create the
<filename>pkg-plist</filename> file:</para>
<screen>&prompt.root; <userinput>/usr/ports/Tools/scripts/plist -Md -m `make -V MTREE_FILE` /var/tmp/`make -V PORTNAME` &gt; pkg-plist</userinput></screen>
<para>The packing list still has to be tidied up by hand as
stated above.</para>
<para>Another tool that might be used to create an initial
- <filename>pkg-plist</filename> is <filename
- role="package">ports-mgmt/genplist</filename>. As with any
- automated tool, the resulting <filename>pkg-plist</filename>
- should be checked and manually edited as needed.</para>
+ <filename>pkg-plist</filename> is
+ <filename role="package">ports-mgmt/genplist</filename>. As
+ with any automated tool, the resulting
+ <filename>pkg-plist</filename> should be checked and manually
+ edited as needed.</para>
</sect1>
</chapter>
<chapter id="pkg-files">
<title>The <filename>pkg-<replaceable>*</replaceable></filename>
Files</title>
<para>There are some tricks we have not mentioned yet about the
<filename>pkg-<replaceable>*</replaceable></filename> files
that come in handy sometimes.</para>
<sect1 id="porting-message">
<title><filename>pkg-message</filename></title>
<para>If you need to display a message to the installer, you may
place the message in <filename>pkg-message</filename>. This
capability is often useful to display additional installation
steps to be taken after a &man.pkg.add.1; or to display
licensing information.</para>
<para>When some lines about the build-time knobs or warnings
have to be displayed, use <makevar>ECHO_MSG</makevar>. The
<filename>pkg-message</filename> file is only for
post-installation steps. Likewise, the distinction between
<makevar>ECHO_MSG</makevar> and <makevar>ECHO_CMD</makevar>
should be kept in mind. The former is for printing
informational text to the screen, while the latter is for
command pipelining:</para>
<programlisting>update-etc-shells:
@${ECHO_MSG} "updating /etc/shells"
@${CP} /etc/shells /etc/shells.bak
@( ${GREP} -v ${PREFIX}/bin/bash /etc/shells.bak; \
${ECHO_CMD} ${PREFIX}/bin/bash) &gt;/etc/shells
@${RM} /etc/shells.bak</programlisting>
<note>
<para>The <filename>pkg-message</filename> file does not need
to be added to <filename>pkg-plist</filename>. Also, it
will not get automatically printed if the user is using the
port, not the package, so you should probably display it
from the <maketarget>post-install</maketarget> target
yourself.</para>
</note>
</sect1>
<sect1 id="pkg-install">
<title><filename>pkg-install</filename></title>
<para>If your port needs to execute commands when the binary
package is installed with &man.pkg.add.1; you can do this via
the <filename>pkg-install</filename> script. This script will
automatically be added to the package, and will be run twice
by &man.pkg.add.1;: the first time as <literal>&dollar;{SH}
pkg-install &dollar;{PKGNAME} PRE-INSTALL</literal> and the
second time as <literal>&dollar;{SH} pkg-install
&dollar;{PKGNAME} POST-INSTALL</literal>.
<literal>&dollar;2</literal> can be tested to determine which
mode the script is being run in. The
<envar>PKG_PREFIX</envar> environmental variable will be set
to the package installation directory. See &man.pkg.add.1;
for additional information.</para>
<note>
<para>This script is not run automatically if you install the
port with <command>make install</command>. If you are
depending on it being run, you will have to explicitly call
it from your port's <filename>Makefile</filename>, with a
line like <literal>PKG_PREFIX=&dollar;{PREFIX} &dollar;{SH}
&dollar;{PKGINSTALL} &dollar;{PKGNAME}
PRE-INSTALL</literal>.</para>
</note>
</sect1>
<sect1 id="pkg-deinstall">
<title><filename>pkg-deinstall</filename></title>
<para>This script executes when a package is removed.</para>
<para>This script will be run twice by &man.pkg.delete.1;.
The first time as <literal>&dollar;{SH} pkg-deinstall
&dollar;{PKGNAME} DEINSTALL</literal> and the second time as
<literal>&dollar;{SH} pkg-deinstall &dollar;{PKGNAME}
POST-DEINSTALL</literal>.</para>
</sect1>
<sect1 id="pkg-req">
<title><filename>pkg-req</filename></title>
<para>If your port needs to determine if it should install or
not, you can create a <filename>pkg-req</filename>
<quote>requirements</quote> script. It will be invoked
automatically at installation/de-installation time to
determine whether or not installation/de-installation should
proceed.</para>
<para>The script will be run at installation time by
&man.pkg.add.1; as
<literal>pkg-req &dollar;{PKGNAME} INSTALL</literal>.
At de-installation time it will be run by
&man.pkg.delete.1; as
<literal>pkg-req &dollar;{PKGNAME} DEINSTALL</literal>.</para>
</sect1>
<sect1 id="pkg-names">
<title id="porting-pkgfiles">Changing the Names of
<filename>pkg-<replaceable>*</replaceable></filename>
Files</title>
<para>All the names of
<filename>pkg-<replaceable>*</replaceable></filename> files
are defined using variables so you can change them in your
<filename>Makefile</filename> if need be. This is especially
useful when you are sharing the same
<filename>pkg-<replaceable>*</replaceable></filename> files
among several ports or have to write to one of the above files
(see <link linkend="porting-wrkdir">writing to places other
than <makevar>WRKDIR</makevar></link> for why it is a bad
idea to write directly into the
<filename>pkg-<replaceable>*</replaceable></filename>
subdirectory).</para>
<para>Here is a list of variable names and their default values.
(<makevar>PKGDIR</makevar> defaults to
<makevar>${MASTERDIR}</makevar>.)</para>
<informaltable frame="none" pgwide="0">
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Default value</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>DESCR</makevar></entry>
<entry><literal>${PKGDIR}/pkg-descr</literal></entry>
</row>
<row>
<entry><makevar>PLIST</makevar></entry>
<entry><literal>${PKGDIR}/pkg-plist</literal></entry>
</row>
<row>
<entry><makevar>PKGINSTALL</makevar></entry>
<entry><literal>${PKGDIR}/pkg-install</literal></entry>
</row>
<row>
<entry><makevar>PKGDEINSTALL</makevar></entry>
<entry><literal>${PKGDIR}/pkg-deinstall</literal></entry>
</row>
<row>
<entry><makevar>PKGREQ</makevar></entry>
<entry><literal>${PKGDIR}/pkg-req</literal></entry>
</row>
<row>
<entry><makevar>PKGMESSAGE</makevar></entry>
<entry><literal>${PKGDIR}/pkg-message</literal></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Please change these variables rather than overriding
<makevar>PKG_ARGS</makevar>. If you change
<makevar>PKG_ARGS</makevar>, those files will not correctly be
installed in <filename>/var/db/pkg</filename> upon install
from a port.</para>
</sect1>
<sect1 id="using-sub-files">
<title>Making Use of <makevar>SUB_FILES</makevar> and
<makevar>SUB_LIST</makevar></title>
<para>The <makevar>SUB_FILES</makevar> and
<makevar>SUB_LIST</makevar> variables are useful for dynamic
values in port files, such as the installation
<makevar>PREFIX</makevar> in
<filename>pkg-message</filename>.</para>
<para>The <makevar>SUB_FILES</makevar> variable specifies a list
of files to be automatically modified. Each
<replaceable>file</replaceable> in the
<makevar>SUB_FILES</makevar> list must have a corresponding
<filename><replaceable>file</replaceable>.in</filename>
present in <makevar>FILESDIR</makevar>. A modified version
will be created in <makevar>WRKDIR</makevar>. Files defined
as a value of <makevar>USE_RC_SUBR</makevar> (or the
deprecated <makevar>USE_RCORDER</makevar>) are automatically
added to the <makevar>SUB_FILES</makevar>. For the files
<filename>pkg-message</filename>,
<filename>pkg-install</filename>,
<filename>pkg-deinstall</filename> and
<filename>pkg-req</filename>, the corresponding Makefile
variable is automatically set to point to the processed
version.</para>
<para>The <makevar>SUB_LIST</makevar> variable is a list of
<literal>VAR=VALUE</literal> pairs. For each pair
<literal>%%VAR%%</literal> will get replaced with
<literal>VALUE</literal> in each file listed in
<makevar>SUB_FILES</makevar>. Several common pairs are
automatically defined: <makevar>PREFIX</makevar>,
<makevar>LOCALBASE</makevar>, <makevar>DATADIR</makevar>,
<makevar>DOCSDIR</makevar>, <makevar>EXAMPLESDIR</makevar>,
<makevar>WWWDIR</makevar>, and <makevar>ETCDIR</makevar>.
Any line beginning with <literal>@comment</literal> will be
deleted from resulting files after a variable
substitution.</para>
<para>The following example will replace
<literal>%%ARCH%%</literal> with the system architecture in a
<filename>pkg-message</filename>:</para>
<programlisting>SUB_FILES= pkg-message
SUB_LIST= ARCH=${ARCH}</programlisting>
<para>Note that for this example, the
<filename>pkg-message.in</filename> file must exist in
<makevar>FILESDIR</makevar>.</para>
<para>Example of a good
<filename>pkg-message.in</filename>:</para>
<programlisting>Now it is time to configure this package.
Copy %%PREFIX%%/share/examples/putsy/%%ARCH%%.conf into your home directory
as .putsy.conf and edit it.</programlisting>
</sect1>
</chapter>
<chapter id="testing">
<title>Testing Your Port</title>
<sect1 id="make-describe">
<title>Running <command>make describe</command></title>
<para>Several of the &os; port maintenance tools, such as
&man.portupgrade.1;, rely on a database called
<filename>/usr/ports/INDEX</filename> which keeps track of
such items as port dependencies. <filename>INDEX</filename>
is created by the top-level
- <filename>ports/Makefile</filename> via <command>make
- index</command>, which descends into each port subdirectory
- and executes <command>make describe</command> there. Thus, if
- <command>make describe</command> fails in any port, no one can
- generate <filename>INDEX</filename>, and many people will
- quickly become unhappy.</para>
+ <filename>ports/Makefile</filename> via
+ <command>make index</command>, which descends into each port
+ subdirectory and executes <command>make describe</command>
+ there. Thus, if <command>make describe</command> fails in any
+ port, no one can generate <filename>INDEX</filename>, and many
+ people will quickly become unhappy.</para>
<note>
<para>It is important to be able to generate this file no
matter what options are present in
<filename>make.conf</filename>, so please avoid doing things
such as using <literal>.error</literal> statements when (for
- instance) a dependency is not satisfied. (See <xref
- linkend="dads-dot-error"/>.)</para>
+ instance) a dependency is not satisfied. (See
+ <xref linkend="dads-dot-error"/>.)</para>
</note>
<para>If <command>make describe</command> produces a string
rather than an error message, you are probably safe. See
<filename>bsd.port.mk</filename> for the meaning of the
string produced.</para>
<para>Also note that running a recent version of
<command>portlint</command> (as specified in the next section)
will cause <command>make describe</command> to be run
automatically.</para>
</sect1>
<sect1 id="testing-portlint">
<title>Portlint</title>
<para>Do check your work with <link
linkend="porting-portlint"><command>portlint</command></link>
before you submit or commit it. <command>portlint</command>
warns you about many common errors, both functional and
- stylistic. For a new (or repocopied) port, <command>portlint
- -A</command> is the most thorough; for an existing port,
- <command>portlint -C</command> is sufficient.</para>
+ stylistic. For a new (or repocopied) port,
+ <command>portlint -A</command> is the most thorough; for an
+ existing port, <command>portlint -C</command> is
+ sufficient.</para>
<para>Since <command>portlint</command> uses heuristics to
try to figure out errors, it can produce false positive
warnings. In addition, occasionally something that is
flagged as a problem really cannot be done in any other
way due to limitations in the ports framework. When in
doubt, the best thing to do is ask on &a.ports;.</para>
</sect1>
<sect1 id="testing-porttools">
<title>Port Tools</title>
- <para>The <filename
- role="package">ports-mgmt/porttools</filename> program is
- part of the Ports Collection.</para>
+ <para>The
+ <filename role="package">ports-mgmt/porttools</filename>
+ program is part of the Ports Collection.</para>
<para><command>port</command> is the front-end script, which can
help you simplify the testing job. Whenever you want to test
a new port or update an existing one, you can use
<command>port test</command> to test your port, including the
<link
linkend="testing-portlint"><command>portlint</command></link>
checking. This command also detects and lists any files that
are not listed in <filename>pkg-plist</filename>. See the
following example:</para>
<screen>&prompt.root; <userinput>port test /usr/ports/net/csup</userinput></screen>
</sect1>
<sect1 id="porting-prefix">
<title><makevar>PREFIX</makevar> and
<makevar>DESTDIR</makevar></title>
<para><makevar>PREFIX</makevar> determines where the port will
be installed. It defaults to <filename>/usr/local</filename>,
but can be set by the user to a custom path like
<filename>/opt</filename>. Your port must respect the value
of this variable.</para>
<para><makevar>DESTDIR</makevar>, if set by the user, determines
the complete alternative environment, usually a jail or an
installed system mounted somewhere other than
<filename>/</filename>. A port will actually install into
<filename><makevar>DESTDIR</makevar>/<makevar>PREFIX</makevar></filename>,
and register with the package database in
<filename><makevar>DESTDIR</makevar>/var/db/pkg</filename>.
As <makevar>DESTDIR</makevar> is handled automatically by the
ports infrastructure with &man.chroot.8;, you do not need any
modifications or any extra care to write
<makevar>DESTDIR</makevar>-compliant ports.</para>
<para>The value of <makevar>PREFIX</makevar> will be set to
<makevar>LOCALBASE</makevar> (defaulting to
<filename>/usr/local</filename>). If
<makevar>USE_LINUX_PREFIX</makevar> is set,
<makevar>PREFIX</makevar> will be <makevar>LINUXBASE</makevar>
(defaulting to <filename>/compat/linux</filename>).</para>
<para>Avoiding hard-coded <filename>/usr/local</filename> paths
in the source makes the port much more flexible and able to
cater to the needs of other sites. Often, this can be
accomplished by simply replacing occurrences of
<filename>/usr/local</filename> in the port's various
<filename>Makefile</filename>s with
<literal>&dollar;{PREFIX}</literal>. This variable is
automatically passed down to every stage of the build and
install processes.</para>
<para>Make sure your application is not installing things in
<filename>/usr/local</filename> instead of
<makevar>PREFIX</makevar>. A quick test for such hard-coded
paths is:</para>
<screen>&prompt.root; <userinput>make clean; make package PREFIX=/var/tmp/`make -V PORTNAME`</userinput></screen>
<para>If anything is installed outside of
<makevar>PREFIX</makevar>, the package creation process will
complain that it cannot find the files.</para>
<para>This test will not find hard-coded paths inside the
port's files, nor will it verify that
<makevar>LOCALBASE</makevar> is being used to correctly refer
to files from other ports. The temporarily-installed port in
<filename>/var/tmp/`make -V PORTNAME`</filename> should be
tested for proper operation to make sure there
are no problems with paths.</para>
<para><makevar>PREFIX</makevar> should not be set explicitly
in a port's <filename>Makefile</filename>. Users installing
the port may have set <makevar>PREFIX</makevar> to a custom
location, and the port should respect that setting.</para>
<para>Refer to programs and files from other ports with the
variables mentioned above, not explicit pathnames. For
instance, if your port requires a macro
<literal>PAGER</literal> to have the full pathname of
<command>less</command>, do not use a literal path of
<filename>/usr/local/bin/less</filename>. Instead, use
<literal>&dollar;{LOCALBASE}</literal>:</para>
<programlisting>-DPAGER=\"&dollar;{LOCALBASE}/bin/less\"</programlisting>
<para>The path with <makevar>LOCALBASE</makevar> is more likely
to still work if the system administrator has moved the whole
<filename>/usr/local</filename> tree somewhere else.</para>
</sect1>
<sect1 id="testing-tinderbox">
<title>Tinderbox</title>
<para>If you are an avid ports contributor, you might want to
take a look at <application>Tinderbox</application>. It is a
powerful system for building and testing ports based on the
- scripts used on <link
- linkend="build-cluster">Pointyhat</link>. You can install
- <application>Tinderbox</application> using <filename
- role="package">ports-mgmt/tinderbox</filename> port. Be
- sure to read supplied documentation since the configuration is
- not trivial.</para>
+ scripts used on
+ <link linkend="build-cluster">Pointyhat</link>. You can
+ install <application>Tinderbox</application> using
+ <filename role="package">ports-mgmt/tinderbox</filename> port.
+ Be sure to read supplied documentation since the configuration
+ is not trivial.</para>
- <para>Visit the <ulink
- url="http://tinderbox.marcuscom.com/">Tinderbox
+ <para>Visit the
+ <ulink url="http://tinderbox.marcuscom.com/">Tinderbox
website</ulink> for more details.</para>
</sect1>
</chapter>
<chapter id="port-upgrading">
<title>Upgrading an Individual Port</title>
<para>When you notice that a port is out of date compared to the
latest version from the original authors, you should first
ensure that you have the latest port. You can find them in the
<filename>ports/ports-current</filename> directory of the &os;
FTP mirror sites. However, if you are working with more than a
few ports, you will probably find it easier to use
<application>Subversion</application> or &man.portsnap.8;
to keep your whole ports
collection up-to-date, as described in the <ulink
url="&url.books.handbook;/ports-using.html">Handbook</ulink>.
This will have the added benefit of tracking all the ports'
dependencies.</para>
<para>The next step is to see if there is an update already
pending. To do this, you have two options. There is a
searchable interface to the <ulink
- url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">
- FreeBSD Problem Report (PR) database</ulink> (also known as
+ url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">FreeBSD
+ Problem Report (PR) database</ulink> (also known as
<literal>GNATS</literal>). Select <literal>ports</literal> in
the dropdown, and enter the name of the port.</para>
<para>However, sometimes people forget to put the name of the port
into the Synopsis field in an unambiguous fashion. In that
- case, you can try the <link linkend="portsmon"> FreeBSD Ports
- Monitoring System</link> (also known as
- <literal>portsmon</literal>). This system attempts to classify
- port PRs by portname. To search for PRs about a particular
- port, use the <ulink
+ case, you can try the
+ <link linkend="portsmon">FreeBSD Ports Monitoring System</link>
+ (also known as <literal>portsmon</literal>). This system
+ attempts to classify port PRs by portname. To search for PRs
+ about a particular port, use the <ulink
url="http://portsmon.FreeBSD.org/portoverview.py">Overview of
One Port</ulink>.</para>
<para>If there is no pending PR, the next step is to send an email
- to the port's maintainer, as shown by <command>make
- maintainer</command>. That person may already be working on
- an upgrade, or have a reason to not upgrade the port right now
- (because of, for example, stability problems of the new
- version); you would not want to duplicate their work. Note that
- unmaintained ports are listed with a maintainer of
+ to the port's maintainer, as shown by
+ <command>make maintainer</command>. That person may already be
+ working on an upgrade, or have a reason to not upgrade the port
+ right now (because of, for example, stability problems of the
+ new version); you would not want to duplicate their work. Note
+ that unmaintained ports are listed with a maintainer of
<literal>ports@FreeBSD.org</literal>, which is just the general
ports mailing list, so sending mail there probably will not help
in this case.</para>
<para>If the maintainer asks you to do the upgrade or there is
no maintainer, then you have a chance to help out &os; by
preparing the update yourself! Please do this by using the
&man.diff.1; command in the base system.</para>
<para>To create a suitable <command>diff</command> for a single
patch, copy the file that needs patching to
<replaceable>something.orig</replaceable>, save your changes to
<replaceable>something</replaceable> and then create your
patch:</para>
<informalexample>
<screen>&prompt.user; <userinput>diff -u something.orig something > something.diff</userinput></screen>
</informalexample>
- <para>Otherwise, you should either use the <command>svn
- diff</command> method (<xref linkend="svn-diff"/>) or copy the
- contents of the port to an entire different directory and use
- the result of the recursive &man.diff.1; output of the new and
- old ports directories (e.g., if your modified port directory is
- called <filename>superedit</filename> and the original is in our
- tree as <filename>superedit.bak</filename>, then save the result
- of <command>diff -ruN superedit.bak superedit</command>).
- Either unified or context diff is fine, but port committers
- generally prefer unified diffs. Note the use of the
- <literal>-N</literal> option&mdash;this is the accepted way to
- force diff to properly deal with the case of new files being
- added or old files being deleted. Before sending us the diff,
- please examine the output to make sure all the changes make
- sense. (In particular, make sure you first clean out the work
- directories with <command>make clean</command>).</para>
+ <para>Otherwise, you should either use the
+ <command>svn diff</command> method (<xref linkend="svn-diff"/>)
+ or copy the contents of the port to an entire different
+ directory and use the result of the recursive &man.diff.1;
+ output of the new and old ports directories (e.g., if your
+ modified port directory is called <filename>superedit</filename>
+ and the original is in our tree as
+ <filename>superedit.bak</filename>, then save the result of
+ <command>diff -ruN superedit.bak superedit</command>). Either
+ unified or context diff is fine, but port committers generally
+ prefer unified diffs. Note the use of the <literal>-N</literal>
+ option&mdash;this is the accepted way to force diff to properly
+ deal with the case of new files being added or old files being
+ deleted. Before sending us the diff, please examine the output
+ to make sure all the changes make sense. (In particular, make
+ sure you first clean out the work directories with
+ <command>make clean</command>).</para>
<para>To simplify common operations with patch files, you can use
<filename>/usr/ports/Tools/scripts/patchtool.py</filename>.
Before using it, please read
<filename>/usr/ports/Tools/scripts/README.patchtool</filename>.</para>
<para>If the port is unmaintained, and you are actively using
it yourself, please consider volunteering to become its
maintainer. &os; has over 4000 ports without maintainers, and
this is an area where more volunteers are always needed. (For a
detailed description of the responsibilities of maintainers,
refer to the section in the <ulink
url="&url.books.developers-handbook;/policies.html#POLICIES-MAINTAINER">
Developer's Handbook</ulink>.)</para>
- <para> The best way to send us the diff is by including it via
+ <para>The best way to send us the diff is by including it via
&man.send-pr.1; (category <literal>ports</literal>). If you are
maintaining the port, be sure to put <literal>[maintainer
update]</literal> at the beginning of your synopsis line and set
the <quote>Class</quote> of your PR to
<literal>maintainer-update</literal>. Otherwise, the
<quote>Class</quote> of your PR should be
<literal>change-request</literal>. Please mention any added or
deleted files in the message, as they have to be explicitly
specified to &man.svn.1; when doing a commit. If the diff is
more than about 20KB, please compress and uuencode it;
otherwise, just include it in the PR as is.</para>
<para>Before you &man.send-pr.1;, you should review the
<ulink url="&url.articles.problem-reports;/pr-writing.html">
Writing the problem report</ulink> section in the Problem
Reports article; it contains far more information about how to
write useful problem reports.</para>
<important>
<para>If your upgrade is motivated by security concerns or a
serious fault in the currently committed port, please notify
the &a.portmgr; to request immediate rebuilding and
redistribution of your port's package. Unsuspecting users
of &man.pkg.add.1; will otherwise continue to install the
old version via <command>pkg_add -r</command> for several
weeks.</para>
</important>
<note>
<para>Once again, please use &man.diff.1; and not &man.shar.1;
to send updates to existing ports! This helps ports
committers understand exactly what is being changed.</para>
</note>
<para>Now that you have done all that, you will want to read about
how to keep up-to-date in <xref linkend="keeping-up"/>.</para>
<sect1 id="svn-diff">
<title>Using <literal>SVN</literal> to Make Patches</title>
<para>If you can, please submit a &man.svn.1; diff &mdash; they
- are easier to handle than diffs between <quote>new and
- old</quote> directories. Plus it is easier for you to see
- what you have changed and to update your diff if something is
- modified in the Ports Collection from when you started to work
- on it until you submit your changes, or if the committer asks
- you to fix something.</para>
+ are easier to handle than diffs between
+ <quote>new and old</quote> directories. Plus it is easier for
+ you to see what you have changed and to update your diff if
+ something is modified in the Ports Collection from when you
+ started to work on it until you submit your changes, or if the
+ committer asks you to fix something.</para>
<screen>&prompt.user; <userinput>cd ~/my_wrkdir</userinput> <co id="my-wrkdir"/>
&prompt.user; <userinput>svn co <replaceable>https://svn0.us-west.FreeBSD.org</replaceable>/ports/head/dns/pdnsd</userinput> <co id="svn-FreeBSD-org"/>
&prompt.user; <userinput>cd ~/my_wrkdir/pdnsd</userinput></screen>
<calloutlist>
<callout arearefs="my-wrkdir">
<para>This can be anywhere you want, of course; building
- ports is not limited to within <filename
- class="directory">/usr/ports/</filename>.</para>
+ ports is not limited to within
+ <filename class="directory">/usr/ports/</filename>.</para>
</callout>
<callout arearefs="svn-FreeBSD-org">
<para><ulink
url="https://svn0.us-west.FreeBSD.org/">svn0.us-west.FreeBSD.org</ulink>
is a public <literal>SVN</literal> server.
Select the closest mirror and verify the mirror server
certificate from the list of <ulink
url="&url.books.handbook;/svn-mirrors.html">Subversion
mirror sites</ulink>.</para>
</callout>
</calloutlist>
<para>While in the working directory, make any changes that you
would usually make to the port. If you add or remove a file,
use <command>svn</command> to track these changes:</para>
<screen>&prompt.user; <userinput>svn add new_file</userinput>
&prompt.user; <userinput>svn remove deleted_file</userinput></screen>
<para>Make sure that you check the port using the checklist in
<xref linkend="porting-testing"/> and
<xref linkend="porting-portlint"/>.</para>
<screen>&prompt.user; <userinput>svn status</userinput>
&prompt.user; <userinput>svn update</userinput> <co id="svn-update"/></screen>
<calloutlist>
<callout arearefs="svn-update">
<para>This will try to merge the differences between your
patch and current SVN; watch the output carefully. The
letter in front of each file name indicates what was done
with it. See <xref linkend="table-svn-up"/> for a
complete list.</para>
</callout>
</calloutlist>
<table pgwide="1" frame="none" id="table-svn-up">
<title><literal>SVN</literal> Update File Prefixes</title>
<tgroup cols="2">
<tbody>
<row>
<entry>U</entry>
<entry>The file was updated without problems.</entry>
</row>
<row>
<entry>G</entry>
<entry>The file was updated without problems (you will
only see this when working against a remote
repository).</entry>
</row>
<row>
<entry>M</entry>
<entry>The file had been modified, and was merged
without conflicts.</entry>
</row>
<row>
<entry>C</entry>
<entry>The file had been modified, and was merged with
conflicts.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>If you get <literal>C</literal> as a result of
<command>svn update</command> it means something changed in
the SVN repository and &man.svn.1; was not able to merge your
local changes and those from the repository. It is always a
good idea to inspect the changes anyway, since &man.svn.1;
does not know anything about how a port should be, so it might
(and probably will) merge things that do not make
sense.</para>
<para>The last step is to make a unified &man.diff.1;
of the files against SVN:</para>
<screen>&prompt.user; <userinput>svn diff &gt; ../`basename ${PWD}`.diff</userinput></screen>
<note>
<para>Any files that have been removed should be explicitly
mentioned in the PR, because file removal may not be obvious
to the committer.</para>
</note>
<para>Send your patch following the guidelines in
<xref linkend="port-upgrading"/>.</para>
</sect1>
<sect1 id="moved-and-updating-files">
<title>The Files <filename>UPDATING</filename> and
<filename>MOVED</filename></title>
<para>If upgrading the port requires special steps like
changing configuration files or running a specific program,
you should document this in the file
<filename>/usr/ports/UPDATING</filename>. The format of
an entry in this file is as follows:</para>
<programlisting>YYYYMMDD:
AFFECTS: users of portcategory/portname
AUTHOR: Your name &lt;Your email address&gt;
Special instructions</programlisting>
<para>If you are including exact portmaster or portupgrading
instructions, please make sure to get the shell escaping
right.</para>
<para>The <filename>/usr/ports/MOVED</filename> file is used to
list moved or removed ports. Each line in the file is made
up of the name of the port, where the port was moved to, when,
and why. If the port was removed, the section detailing where
it was moved to can be left blank. Each section must be
separated by the <literal>|</literal> (pipe) character, like
so:</para>
<programlisting>old name|new name (blank for deleted)|date of move|reason</programlisting>
<para>The date should be entered in the form
<literal>YYYY-MM-DD</literal>. New entries should be added to
the end of the file to keep it in chronological order.</para>
<para>If a port was removed but has since been restored,
delete the line in this file that states that it was
removed.</para>
<para>The changes can be validated with
<command>Tools/scripts/MOVEDlint.awk</command>.</para>
</sect1>
</chapter>
<chapter id="security">
<title>Ports Security</title>
<sect1 id="security-intro">
<title>Why Security is So Important</title>
<para>Bugs are occasionally introduced to the software.
Arguably, the most dangerous of them are those opening
- security vulnerabilities. From the technical viewpoint,
- such vulnerabilities are to be closed by exterminating
- the bugs that caused them. However, the policies for
- handling mere bugs and security vulnerabilities are
- very different.</para>
+ security vulnerabilities. From the technical viewpoint, such
+ vulnerabilities are to be closed by exterminating the bugs
+ that caused them. However, the policies for handling mere
+ bugs and security vulnerabilities are very different.</para>
<para>A typical small bug affects only those users who have
- enabled some combination of options triggering the bug.
- The developer will eventually release a patch followed
- by a new version of the software, free of the bug, but
- the majority of users will not take the trouble of upgrading
- immediately because the bug has never vexed them. A
- critical bug that may cause data loss represents a graver
- issue. Nevertheless, prudent users know that a lot of
- possible accidents, besides software bugs, are likely to
- lead to data loss, and so they make backups of important
- data; in addition, a critical bug will be discovered
- really soon.</para>
+ enabled some combination of options triggering the bug. The
+ developer will eventually release a patch followed by a new
+ version of the software, free of the bug, but the majority of
+ users will not take the trouble of upgrading immediately
+ because the bug has never vexed them. A critical bug that may
+ cause data loss represents a graver issue. Nevertheless,
+ prudent users know that a lot of possible accidents, besides
+ software bugs, are likely to lead to data loss, and so they
+ make backups of important data; in addition, a critical bug
+ will be discovered really soon.</para>
- <para>A security vulnerability is all different. First,
- it may remain unnoticed for years because often it does
- not cause software malfunction. Second, a malicious party
- can use it to gain unauthorized access to a vulnerable
- system, to destroy or alter sensitive data; and in the
- worst case the user will not even notice the harm caused.
- Third, exposing a vulnerable system often assists attackers
- to break into other systems that could not be compromised
- otherwise. Therefore closing a vulnerability alone is
- not enough: the audience should be notified of it in most
- clear and comprehensive manner, which will allow to
- evaluate the danger and take appropriate actions.</para>
+ <para>A security vulnerability is all different. First, it may
+ remain unnoticed for years because often it does not cause
+ software malfunction. Second, a malicious party can use it to
+ gain unauthorized access to a vulnerable system, to destroy or
+ alter sensitive data; and in the worst case the user will not
+ even notice the harm caused. Third, exposing a vulnerable
+ system often assists attackers to break into other systems
+ that could not be compromised otherwise. Therefore closing a
+ vulnerability alone is not enough: the audience should be
+ notified of it in most clear and comprehensive manner, which
+ will allow to evaluate the danger and take appropriate
+ actions.</para>
</sect1>
<sect1 id="security-fix">
<title>Fixing Security Vulnerabilities</title>
<para>While on the subject of ports and packages, a security
vulnerability may initially appear in the original
distribution or in the port files. In the former case, the
original software developer is likely to release a patch or a
new version instantly, and you will only need to update the
port promptly with respect to the author's fix. If the fix is
- delayed for some reason, you should either <link
- linkend="dads-noinstall">mark the port as
+ delayed for some reason, you should either
+ <link linkend="dads-noinstall">mark the port as
<makevar>FORBIDDEN</makevar></link> or introduce a patch file
of your own to the port. In the case of a vulnerable port,
- just fix the port as soon as possible. In either case, <link
- linkend="port-upgrading">the standard procedure for
+ just fix the port as soon as possible. In either case,
+ <link linkend="port-upgrading">the standard procedure for
submitting your change</link> should be followed unless you
have rights to commit it directly to the ports tree.</para>
<important>
<para>Being a ports committer is not enough to commit to
an arbitrary port. Remember that ports usually have
maintainers, whom you should respect.</para>
</important>
<para>Please make sure that the port's revision is bumped
as soon as the vulnerability has been closed.
That is how the users who upgrade installed packages
on a regular basis will see they need to run an update.
Besides, a new package will be built and distributed
over FTP and WWW mirrors, replacing the vulnerable one.
<makevar>PORTREVISION</makevar> should be bumped unless
<makevar>PORTVERSION</makevar> has changed in the course
of correcting the vulnerability. That is you should
bump <makevar>PORTREVISION</makevar> if you have added a
patch file to the port, but you should not if you have updated
the port to the latest software version and thus already
touched <makevar>PORTVERSION</makevar>. Please refer to the
<link linkend="makefile-naming-revepoch">corresponding
section</link> for more information.</para>
</sect1>
<sect1 id="security-notify">
<title>Keeping the Community Informed</title>
<sect2 id="security-notify-vuxml-db">
<title>The VuXML Database</title>
<para>A very important and urgent step to take as early after
a security vulnerability is discovered as possible is to
notify the community of port users about the jeopardy. Such
notification serves two purposes. First, should the danger
be really severe it will be wise to apply an instant
workaround. E.g., stop the affected network service or even
deinstall the port completely until the vulnerability is
closed. Second, a lot of users tend to upgrade installed
packages only occasionally. They will know from the
notification that they <emphasis>must</emphasis> update the
package without delay as soon as a corrected version is
available.</para>
- <para>Given the huge number of ports in the tree
- a security advisory cannot be issued on each incident
- without creating a flood and losing the attention of
- the audience when it comes to really serious
- matters. Therefore security vulnerabilities found in
- ports are recorded in <ulink
- url="http://vuxml.freebsd.org/">the FreeBSD VuXML
- database</ulink>. The Security Officer Team members
- also monitor it for issues requiring their
- intervention.</para>
+ <para>Given the huge number of ports in the tree a security
+ advisory cannot be issued on each incident without creating
+ a flood and losing the attention of the audience when it
+ comes to really serious matters. Therefore security
+ vulnerabilities found in ports are recorded in
+ <ulink url="http://vuxml.freebsd.org/">the FreeBSD VuXML
+ database</ulink>. The Security Officer Team members also
+ monitor it for issues requiring their intervention.</para>
<para>If you have committer rights you can update the VuXML
database by yourself. So you will both help the Security
Officer Team and deliver the crucial information to the
- community earlier. However, if you are not a committer,
- or you believe you have found an exceptionally severe
- vulnerability please do not hesitate to
- contact the Security Officer Team directly as described
- on the <ulink
- url="http://www.freebsd.org/security/#how">FreeBSD
+ community earlier. However, if you are not a committer, or
+ you believe you have found an exceptionally severe
+ vulnerability please do not hesitate to contact the Security
+ Officer Team directly as described on the
+ <ulink url="http://www.freebsd.org/security/#how">FreeBSD
Security Information</ulink> page.</para>
- <para>The VuXML database is an
- XML document. Its source file <filename>vuln.xml</filename>
- is kept right inside the port <filename
- role="package">security/vuxml</filename>. Therefore
- the file's full pathname will be
+ <para>The VuXML database is an XML document. Its source file
+ <filename>vuln.xml</filename> is kept right inside the port
+ <filename role="package">security/vuxml</filename>.
+ Therefore the file's full pathname will be
<filename><envar>PORTSDIR</envar>/security/vuxml/vuln.xml</filename>.
- Each time you discover a security vulnerability in a
- port please add an entry for it to that file.
- Until you are familiar with VuXML, the best thing you can
- do is to find an existing entry fitting your case, then copy
- it and use it as a template.</para>
+ Each time you discover a security vulnerability in a port
+ please add an entry for it to that file. Until you are
+ familiar with VuXML, the best thing you can do is to find an
+ existing entry fitting your case, then copy it and use it as
+ a template.</para>
</sect2>
<sect2 id="security-notify-vuxml-intro">
<title>A Short Introduction to VuXML</title>
<para>The full-blown XML format is complex, and far beyond the
scope of this book. However, to gain basic insight on the
structure of a VuXML entry you need only the notion of tags.
XML tag names are enclosed in angle brackets. Each opening
&lt;tag&gt; must have a matching closing &lt;/tag&gt;. Tags
may be nested. If nesting, the inner tags must be closed
before the outer ones. There is a hierarchy of tags, i.e.,
more complex rules of nesting them. This is similar to
HTML. The major difference is that XML is
e<emphasis>X</emphasis>tensible, i.e., based on defining
custom tags. Due to its intrinsic structure XML puts
otherwise amorphous data into shape. VuXML is particularly
tailored to mark up descriptions of security
vulnerabilities.</para>
<para>Now consider a realistic VuXML entry:</para>
<programlisting>&lt;vuln vid="f4bc80f4-da62-11d8-90ea-0004ac98a7b9"&gt; <co id="co-vx-vid"/>
&lt;topic&gt;Several vulnerabilities found in Foo&lt;/topic&gt; <co id="co-vx-top"/>
&lt;affects&gt;
&lt;package&gt;
&lt;name&gt;foo&lt;/name&gt; <co id="co-vx-nam"/>
&lt;name&gt;foo-devel&lt;/name&gt;
&lt;name&gt;ja-foo&lt;/name&gt;
&lt;range&gt;&lt;ge&gt;1.6&lt;/ge&gt;&lt;lt&gt;1.9&lt;/lt&gt;&lt;/range&gt; <co id="co-vx-rng"/>
&lt;range&gt;&lt;ge&gt;2.*&lt;/ge&gt;&lt;lt&gt;2.4_1&lt;/lt&gt;&lt;/range&gt;
&lt;range&gt;&lt;eq&gt;3.0b1&lt;/eq&gt;&lt;/range&gt;
&lt;/package&gt;
&lt;package&gt;
&lt;name&gt;openfoo&lt;/name&gt; <co id="co-vx-nm2"/>
&lt;range&gt;&lt;lt&gt;1.10_7&lt;/lt&gt;&lt;/range&gt; <co id="co-vx-epo"/>
&lt;range&gt;&lt;ge&gt;1.2,1&lt;/ge&gt;&lt;lt&gt;1.3_1,1&lt;/lt&gt;&lt;/range&gt;
&lt;/package&gt;
&lt;/affects&gt;
&lt;description&gt;
&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;J. Random Hacker reports:&lt;/p&gt; <co id="co-vx-bdy"/>
&lt;blockquote
cite="http://j.r.hacker.com/advisories/1"&gt;
&lt;p&gt;Several issues in the Foo software may be exploited
via carefully crafted QUUX requests. These requests will
permit the injection of Bar code, mumble theft, and the
readability of the Foo administrator account.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/body&gt;
&lt;/description&gt;
&lt;references&gt; <co id="co-vx-ref"/>
&lt;freebsdsa&gt;SA-10:75.foo&lt;/freebsdsa&gt; <co id="co-vx-fsa"/>
&lt;freebsdpr&gt;ports/987654&lt;/freebsdpr&gt; <co id="co-vx-fpr"/>
&lt;cvename&gt;CAN-2010-0201&lt;/cvename&gt; <co id="co-vx-cve"/>
&lt;cvename&gt;CAN-2010-0466&lt;/cvename&gt;
&lt;bid&gt;96298&lt;/bid&gt; <co id="co-vx-bid"/>
&lt;certsa&gt;CA-2010-99&lt;/certsa&gt; <co id="co-vx-cts"/>
&lt;certvu&gt;740169&lt;/certvu&gt; <co id="co-vx-ctv"/>
&lt;uscertsa&gt;SA10-99A&lt;/uscertsa&gt; <co id="co-vx-ucs"/>
&lt;uscertta&gt;SA10-99A&lt;/uscertta&gt; <co id="co-vx-uct"/>
&lt;mlist msgid="201075606@hacker.com"&gt;http://marc.theaimsgroup.com/?l=bugtraq&amp;amp;m=203886607825605&lt;/mlist&gt; <co id="co-vx-mls"/>
&lt;url&gt;http://j.r.hacker.com/advisories/1&lt;/url&gt; <co id="co-vx-url"/>
&lt;/references&gt;
&lt;dates&gt;
&lt;discovery&gt;2010-05-25&lt;/discovery&gt; <co id="co-vx-dsc"/>
&lt;entry&gt;2010-07-13&lt;/entry&gt; <co id="co-vx-ent"/>
&lt;modified&gt;2010-09-17&lt;/modified&gt; <co id="co-vx-mod"/>
&lt;/dates&gt;
&lt;/vuln&gt;</programlisting>
- <para>The tag names are supposed to be self-explanatory
- so we shall take a closer look only at fields you will need
- to fill in by yourself:</para>
+ <para>The tag names are supposed to be self-explanatory so we
+ shall take a closer look only at fields you will need to
+ fill in by yourself:</para>
<calloutlist>
<callout arearefs="co-vx-vid">
<para>This is the top-level tag of a VuXML entry. It has
a mandatory attribute, <literal>vid</literal>,
specifying a universally unique identifier (UUID) for
this entry (in quotes). You should generate a UUID for
each new VuXML entry (and do not forget to substitute it
for the template UUID unless you are writing the entry
from scratch). You can use &man.uuidgen.1; to generate
a VuXML UUID.</para>
</callout>
<callout arearefs="co-vx-top">
<para>This is a one-line description of the issue
found.</para>
</callout>
<callout arearefs="co-vx-nam">
<para>The names of packages affected are listed there.
Multiple names can be given since several packages may
be based on a single master port or software product.
This may include stable and development branches,
localized versions, and slave ports featuring different
choices of important build-time configuration
options.</para>
<important>
<para>It is your responsibility to find all such related
packages when writing a VuXML entry. Keep in mind
that <literal>make search name=foo</literal> is your
friend. The primary points to look for are as
follows:</para>
<itemizedlist>
<listitem>
<para>the <filename>foo-devel</filename> variant
for a <filename>foo</filename> port;</para>
</listitem>
<listitem>
<para>other variants with a suffix like
<literal>-a4</literal> (for print-related
packages), <literal>-without-gui</literal> (for
packages with X support disabled), or
similar;</para>
</listitem>
<listitem>
<para><literal>jp-</literal>,
<literal>ru-</literal>, <literal>zh-</literal>,
and other possible localized variants in the
corresponding national categories of the ports
collection.</para>
</listitem>
</itemizedlist>
</important>
</callout>
<callout arearefs="co-vx-rng">
<para>Affected versions of the package(s) are specified
there as one or more ranges using a combination of
<literal>&lt;lt&gt;</literal>,
<literal>&lt;le&gt;</literal>,
<literal>&lt;eq&gt;</literal>,
<literal>&lt;ge&gt;</literal>, and
<literal>&lt;gt&gt;</literal> elements. The version
ranges given should not overlap.</para>
<para>In a range specification, <literal>*</literal>
(asterisk) denotes the smallest version number. In
particular, <literal>2.*</literal> is less than
<literal>2.a</literal>. Therefore an asterisk may be
used for a range to match all possible
<literal>alpha</literal>, <literal>beta</literal>, and
<literal>RC</literal> versions. For instance,
<literal>&lt;ge&gt;2.*&lt;/ge&gt;&lt;lt&gt;3.*&lt;/lt&gt;</literal>
will selectively match every <literal>2.x</literal>
version while
<literal>&lt;ge&gt;2.0&lt;/ge&gt;&lt;lt&gt;3.0&lt;/lt&gt;</literal>
will not since the latter misses
<literal>2.r3</literal> and matches
<literal>3.b</literal>.</para>
<para>The above example specifies that affected are
versions from <literal>1.6</literal> to
<literal>1.9</literal> inclusive, versions
<literal>2.x</literal> before <literal>2.4_1</literal>,
and version <literal>3.0b1</literal>.</para>
</callout>
<callout arearefs="co-vx-nm2">
<para>Several related package groups (essentially, ports)
can be listed in the <literal>&lt;affected&gt;</literal>
section. This can be used if several software products
(say FooBar, FreeBar and OpenBar) grow from the same
code base and still share its bugs and vulnerabilities.
Note the difference from listing multiple names within a
single &lt;package&gt; section.</para>
</callout>
<callout arearefs="co-vx-epo">
<para>The version ranges should allow for
<makevar>PORTEPOCH</makevar> and
<makevar>PORTREVISION</makevar> if applicable. Please
remember that according to the collation rules, a
version with a non-zero <makevar>PORTEPOCH</makevar> is
greater than any version without
<makevar>PORTEPOCH</makevar>, e.g.,
<literal>3.0,1</literal> is greater than
<literal>3.1</literal> or even than
<literal>8.9</literal>.</para>
</callout>
<callout arearefs="co-vx-bdy">
<para>This is a summary of the issue. XHTML is used in
this field. At least enclosing
<literal>&lt;p&gt;</literal> and
<literal>&lt;/p&gt;</literal> should appear. More
complex mark-up may be used, but only for the sake of
accuracy and clarity: No eye candy please.</para>
</callout>
<callout arearefs="co-vx-ref">
<para>This section contains references to relevant
documents. As many references as apply are
encouraged.</para>
</callout>
<callout arearefs="co-vx-fsa">
<para>This is a <ulink
url="http://www.freebsd.org/security/#adv">FreeBSD
security advisory</ulink>.</para>
</callout>
<callout arearefs="co-vx-fpr">
<para>This is a <ulink
url="http://www.freebsd.org/support.html#gnats">FreeBSD
problem report</ulink>.</para>
</callout>
<callout arearefs="co-vx-cve">
- <para>This is a <ulink
- url="http://www.cve.mitre.org/">MITRE
+ <para>This is a
+ <ulink url="http://www.cve.mitre.org/">MITRE
CVE</ulink> identifier.</para>
</callout>
<callout arearefs="co-vx-bid">
<para>This is a <ulink
url="http://www.securityfocus.com/bid">SecurityFocus
Bug ID</ulink>.</para>
</callout>
<callout arearefs="co-vx-cts">
<para>This is a
<ulink url="http://www.cert.org/">US-CERT</ulink>
security advisory.</para>
</callout>
<callout arearefs="co-vx-ctv">
- <para>This is a <ulink
- url="http://www.cert.org/">US-CERT</ulink>
+ <para>This is a
+ <ulink url="http://www.cert.org/">US-CERT</ulink>
vulnerability note.</para>
</callout>
<callout arearefs="co-vx-ucs">
- <para>This is a <ulink
- url="http://www.cert.org/">US-CERT</ulink>
+ <para>This is a
+ <ulink url="http://www.cert.org/">US-CERT</ulink>
Cyber Security Alert.</para>
</callout>
<callout arearefs="co-vx-uct">
- <para>This is a <ulink
- url="http://www.cert.org/">US-CERT</ulink>
+ <para>This is a
+ <ulink url="http://www.cert.org/">US-CERT</ulink>
Technical Cyber Security Alert.</para>
</callout>
<callout arearefs="co-vx-mls">
<para>This is a URL to an archived posting in a mailing
list. The attribute <literal>msgid</literal> is
optional and may specify the message ID of the
posting.</para>
</callout>
<callout arearefs="co-vx-url">
<para>This is a generic URL. It should be used only if
none of the other reference categories apply.</para>
</callout>
<callout arearefs="co-vx-dsc">
<para>This is the date when the issue was disclosed
(<replaceable>YYYY-MM-DD</replaceable>).</para>
</callout>
<callout arearefs="co-vx-ent">
<para>This is the date when the entry was added
(<replaceable>YYYY-MM-DD</replaceable>).</para>
</callout>
<callout arearefs="co-vx-mod">
<para>This is the date when any information in the entry
was last modified
(<replaceable>YYYY-MM-DD</replaceable>). New entries
must not include this field. It should be added upon
editing an existing entry.</para>
</callout>
</calloutlist>
</sect2>
<sect2 id="security-notify-vuxml-testing">
<title>Testing Your Changes to the VuXML Database</title>
<para>Assume you just wrote or filled in an entry for a
vulnerability in the package <literal>clamav</literal> that
has been fixed in version <literal>0.65_7</literal>.</para>
<para>As a prerequisite, you need to
<emphasis>install</emphasis> fresh versions of the ports
<filename role="package">ports-mgmt/portaudit</filename>,
<filename role="package">ports-mgmt/portaudit-db</filename>,
- and <filename
- role="package">security/vuxml</filename>.</para>
+ and
+ <filename role="package">security/vuxml</filename>.</para>
<note>
<para>To run <command>packaudit</command> you must have
permission to write to its
<filename><makevar>DATABASEDIR</makevar></filename>,
typically <filename>/var/db/portaudit</filename>.</para>
<para>To use a different directory set the
<filename><makevar>DATABASEDIR</makevar></filename>
environment variable to a different location.</para>
<para>If you are working in a directory other than
<filename>${PORTSDIR}/security/vuxml</filename> set the
<filename><makevar>VUXMLDIR</makevar></filename>
environment variable to the directory where
<filename>vuln.xml</filename> is located.</para>
</note>
<para>First, check whether there already is an entry for this
vulnerability. If there were such an entry, it would match
the previous version of the package,
<literal>0.65_6</literal>:</para>
<screen>&prompt.user; <userinput>packaudit</userinput>
&prompt.user; <userinput>portaudit clamav-0.65_6</userinput></screen>
<para>If there is none found, you have the green light to add
a new entry for this vulnerability.</para>
<screen>&prompt.user; <userinput>cd ${PORTSDIR}/security/vuxml</userinput>
&prompt.user; <userinput>make newentry</userinput></screen>
<para>When you are done verify its syntax and
formatting.</para>
<screen>&prompt.user; <userinput>make validate</userinput></screen>
<note>
<para>You will need at least one of the following packages
- installed: <filename
- role="package">textproc/libxml2</filename>, <filename
- role="package">textproc/jade</filename>.</para>
+ installed:
+ <filename role="package">textproc/libxml2</filename>,
+ <filename role="package">textproc/jade</filename>.</para>
</note>
<para>Now rebuild the <command>portaudit</command> database
from the VuXML file:</para>
<screen>&prompt.user; <userinput>packaudit</userinput></screen>
<para>To verify that the <literal>&lt;affected&gt;</literal>
section of your entry will match correct package(s), issue
the following command:</para>
<screen>&prompt.user; <userinput>portaudit -f /usr/ports/INDEX -r <replaceable>uuid</replaceable></userinput></screen>
<note>
<para>Please refer to &man.portaudit.1; for better
understanding of the command syntax.</para>
</note>
<para>Make sure that your entry produces no spurious matches
in the output.</para>
<para>Now check whether the right package versions are matched
by your entry:</para>
<screen>&prompt.user; <userinput>portaudit clamav-0.65_6 clamav-0.65_7</userinput>
Affected package: clamav-0.65_6 (matched by clamav&lt;0.65_7)
Type of problem: clamav remote denial-of-service.
Reference: &lt;http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-0020ed76ef5a.html&gt;
1 problem(s) found.</screen>
- <para>The former version should match while the
- latter one should not.</para>
+ <para>The former version should match while the latter one
+ should not.</para>
<para>Finally, verify whether the web page generated from the
VuXML database looks like expected:</para>
<screen>&prompt.user; <userinput>mkdir -p ~/public_html/portaudit</userinput>
&prompt.user; <userinput>packaudit</userinput>
&prompt.user; <userinput>lynx ~/public_html/portaudit/74a9541d-5d6c-11d8-80e3-0020ed76ef5a.html</userinput></screen>
</sect2>
</sect1>
</chapter>
<chapter id="porting-dads">
<title>Dos and Don'ts</title>
<sect1 id="dads-intro">
<title>Introduction</title>
<para>Here is a list of common dos and don'ts that you encounter
during the porting process. You should check your own port
against this list, but you can also check ports in the <ulink
url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">PR
- database</ulink> that others have submitted. Submit any
+ database</ulink> that others have submitted. Submit any
comments on ports you check as described in <ulink
url="&url.articles.contributing;/contrib-how.html#CONTRIB-GENERAL">Bug
- Reports and General Commentary</ulink>. Checking ports in the
- PR database will both make it faster for us to commit them,
- and prove that you know what you are doing.</para>
+ Reports and General Commentary</ulink>. Checking ports in
+ the PR database will both make it faster for us to commit
+ them, and prove that you know what you are doing.</para>
</sect1>
<sect1 id="porting-wrkdir">
<title><makevar>WRKDIR</makevar></title>
<para>Do not write anything to files outside
<makevar>WRKDIR</makevar>. <makevar>WRKDIR</makevar> is the
only place that is guaranteed to be writable during the port
- build (see <ulink
- url="&url.books.handbook;/ports-using.html#PORTS-CD">
+ build (see
+ <ulink url="&url.books.handbook;/ports-using.html#PORTS-CD">
installing ports from a CDROM</ulink> for an example of
building ports from a read-only tree). If you need to modify
one of the
<filename>pkg-<replaceable>*</replaceable></filename> files,
- do so by <link
- linkend="porting-pkgfiles">redefining a variable</link>, not
- by writing over it.</para>
+ do so by
+ <link linkend="porting-pkgfiles">redefining a variable</link>,
+ not by writing over it.</para>
</sect1>
<sect1 id="porting-wrkdirprefix">
<title><makevar>WRKDIRPREFIX</makevar></title>
<para>Make sure your port honors
<makevar>WRKDIRPREFIX</makevar>. Most ports do not have to
worry about this. In particular, if you are referring to a
<makevar>WRKDIR</makevar> of another port, note that the
correct location is
<filename><makevar>WRKDIRPREFIX</makevar><makevar>PORTSDIR</makevar>/<replaceable>subdir</replaceable>/<replaceable>name</replaceable>/work</filename>
not
<filename><makevar>PORTSDIR</makevar>/<replaceable>subdir</replaceable>/<replaceable>name</replaceable>/work</filename>
or
<filename><makevar>.CURDIR</makevar>/../../<replaceable>subdir</replaceable>/<replaceable>name</replaceable>/work</filename>
or some such.</para>
<para>Also, if you are defining <makevar>WRKDIR</makevar>
yourself, make sure you prepend
<literal>&dollar;{WRKDIRPREFIX}&dollar;{.CURDIR}</literal> in
the front.</para>
</sect1>
<sect1 id="porting-versions">
<title>Differentiating Operating Systems and OS Versions</title>
<para>You may come across code that needs modifications or
- conditional compilation based upon what version of Unix it is
- running under. If you need to make such changes to the code
- for conditional compilation, make sure you make the changes as
- general as possible so that we can back-port code to older
- FreeBSD systems and cross-port to other BSD systems such as
- 4.4BSD from CSRG, BSD/386, 386BSD, NetBSD, and OpenBSD.</para>
-
- <para>The preferred way to tell 4.3BSD/Reno (1990) and newer
- versions of the BSD code apart is by using the
- <literal>BSD</literal> macro defined in <ulink
+ conditional compilation based upon what version of &os; Unix it is
+ running under. The preferred way to tell &os; versions apart
+ are the <literal>__FreeBSD_version</literal> and
+ <literal>__FreeBSD__</literal>
+ macros defined in <ulink
url="http://svnweb.freebsd.org/base/head/sys/sys/param.h?view=markup">sys/param.h</ulink>.
- Hopefully that file is already included; if not, add the
- code:</para>
+ If this file is not included add the code,</para>
- <programlisting>#if (defined(__unix__) || defined(unix)) &amp;&amp; !defined(USG)
-#include &lt;sys/param.h&gt;
-#endif</programlisting>
+ <programlisting>#include &lt;sys/param.h&gt;</programlisting>
- <para>to the proper place in the <filename>.c</filename> file.
- We believe that every system that defines these two symbols
- has <filename>sys/param.h</filename>. If you find a system
- that does not, we would like to know. Please send mail to the
- &a.ports;.</para>
+ <para>to the proper place in the <filename>.c</filename> file.</para>
- <para>Another way is to use the GNU Autoconf style of doing
- this:</para>
+ <para><literal>__FreeBSD__</literal> is defined in all
+ versions of &os; as their major version number. For
+ example, in &os; 9.x, <literal>__FreeBSD__</literal> is
+ defined to be <literal>9</literal>.</para>
- <programlisting>#ifdef HAVE_SYS_PARAM_H
-#include &lt;sys/param.h&gt;
+ <para>
+ <programlisting>#if __FreeBSD__ &gt;= 9
+# if __FreeBSD_version &gt;= 901000
+ /* 9.1+ release specific code here */
+# endif
#endif</programlisting>
-
- <para>Do not forget to add <literal>-DHAVE_SYS_PARAM_H</literal>
- to the <makevar>CFLAGS</makevar> in the
- <filename>Makefile</filename> for this method.</para>
-
- <para>Once you have <filename>sys/param.h</filename> included,
- you may use:</para>
-
- <programlisting>#if (defined(BSD) &amp;&amp; (BSD &gt;= 199103))</programlisting>
-
- <para>to detect if the code is being compiled on a 4.3 Net2 code
- base or newer (e.g., FreeBSD 1.x, 4.3/Reno, NetBSD 0.9,
- 386BSD, BSD/386 1.1 and below).</para>
-
- <para>Use:</para>
-
- <programlisting>#if (defined(BSD) &amp;&amp; (BSD &gt;= 199306))</programlisting>
-
- <para>to detect if the code is being compiled on a 4.4 code base
- or newer (e.g., FreeBSD 2.x, 4.4, NetBSD 1.0, BSD/386 2.0 or
- above).</para>
-
- <para>The value of the <literal>BSD</literal> macro is
- <literal>199506</literal> for the 4.4BSD-Lite2 code base.
- This is stated for informational purposes only. It should not
- be used to distinguish between versions of FreeBSD based only
- on 4.4-Lite versus versions that have merged in changes from
- 4.4-Lite2. The <literal>__FreeBSD__</literal> macro should be
- used instead.</para>
-
- <para>Use sparingly:</para>
-
- <itemizedlist>
- <listitem>
- <para><literal>__FreeBSD__</literal> is defined in all
- versions of FreeBSD. Use it if the change you are making
- <emphasis>only</emphasis> affects FreeBSD. Porting
- gotchas like the use of <literal>sys_errlist[]</literal>
- versus <function>strerror()</function> are Berkeley-isms,
- not FreeBSD changes.</para>
- </listitem>
-
- <listitem>
- <para>In FreeBSD 2.x, <literal>__FreeBSD__</literal> is
- defined to be <literal>2</literal>. In earlier versions,
- it is <literal>1</literal>. Later versions always bump it
- to match their major version number.</para>
- </listitem>
-
- <listitem>
- <para>If you need to tell the difference between a FreeBSD
- 1.x system and a FreeBSD 2.x or above system, usually the
- right answer is to use the <literal>BSD</literal> macros
- described above. If there actually is a FreeBSD specific
- change (such as special shared library options when using
- <command>ld</command>) then it is OK to use
- <literal>__FreeBSD__</literal> and <literal>#if
- __FreeBSD__ &gt; 1</literal> to detect a FreeBSD 2.x and
- later system. If you need more granularity in detecting
- FreeBSD systems since 2.0-RELEASE you can use the
- following:</para>
-
- <programlisting>#if __FreeBSD__ &gt;= 2
-#include &lt;osreldate.h&gt;
-# if __FreeBSD_version &gt;= 199504
- /* 2.0.5+ release specific code here */
-# endif
-#endif</programlisting>
- </listitem>
- </itemizedlist>
-
- <para>In the hundreds of ports that have been done, there have
- only been one or two cases where
- <literal>__FreeBSD__</literal> should have been used. Just
- because an earlier port screwed up and used it in the wrong
- place does not mean you should do so too.</para>
+ </para>
</sect1>
- <sect1 id="freebsd-versions">
- <title><literal>__FreeBSD_version</literal> Values</title>
-
- <para>Here is a convenient list of
- <literal>__FreeBSD_version</literal> values as defined in
- <ulink
- url="http://svnweb.FreeBSD.org/base/head/sys/sys/param.h?view=markup">sys/param.h</ulink>:</para>
-
- <table frame="none">
- <title><literal>__FreeBSD_version</literal> Values</title>
-
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Value</entry>
- <entry>Date</entry>
- <entry>Release</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>119411</entry>
- <entry></entry>
- <entry>2.0-RELEASE</entry>
- </row>
-
- <row>
- <entry>199501, 199503</entry>
- <entry>March 19, 1995</entry>
- <entry>2.1-CURRENT</entry>
- </row>
-
- <row>
- <entry>199504</entry>
- <entry>April 9, 1995</entry>
- <entry>2.0.5-RELEASE</entry>
- </row>
-
- <row>
- <entry>199508</entry>
- <entry>August 26, 1995</entry>
- <entry>2.2-CURRENT before 2.1</entry>
- </row>
-
- <row>
- <entry>199511</entry>
- <entry>November 10, 1995</entry>
- <entry>2.1.0-RELEASE</entry>
- </row>
-
- <row>
- <entry>199512</entry>
- <entry>November 10, 1995</entry>
- <entry>2.2-CURRENT before 2.1.5</entry>
- </row>
-
- <row>
- <entry>199607</entry>
- <entry>July 10, 1996</entry>
- <entry>2.1.5-RELEASE</entry>
- </row>
-
- <row>
- <entry>199608</entry>
- <entry>July 12, 1996</entry>
- <entry>2.2-CURRENT before 2.1.6</entry>
- </row>
-
- <row>
- <entry>199612</entry>
- <entry>November 15, 1996</entry>
- <entry>2.1.6-RELEASE</entry>
- </row>
-
- <row>
- <entry>199612</entry>
- <entry></entry>
- <entry>2.1.7-RELEASE</entry>
- </row>
-
- <row>
- <entry>220000</entry>
- <entry>February 19, 1997</entry>
- <entry>2.2-RELEASE</entry>
- </row>
-
- <row>
- <entry>(not changed)</entry>
- <entry></entry>
- <entry>2.2.1-RELEASE</entry>
- </row>
-
- <row>
- <entry>(not changed)</entry>
- <entry></entry>
- <entry>2.2-STABLE after 2.2.1-RELEASE</entry>
- </row>
-
- <row>
- <entry>221001</entry>
- <entry>April 15, 1997</entry>
- <entry>2.2-STABLE after texinfo-3.9</entry>
- </row>
-
- <row>
- <entry>221002</entry>
- <entry>April 30, 1997</entry>
- <entry>2.2-STABLE after top</entry>
- </row>
-
- <row>
- <entry>222000</entry>
- <entry>May 16, 1997</entry>
- <entry>2.2.2-RELEASE</entry>
- </row>
-
- <row>
- <entry>222001</entry>
- <entry>May 19, 1997</entry>
- <entry>2.2-STABLE after 2.2.2-RELEASE</entry>
- </row>
-
- <row>
- <entry>225000</entry>
- <entry>October 2, 1997</entry>
- <entry>2.2.5-RELEASE</entry>
- </row>
-
- <row>
- <entry>225001</entry>
- <entry>November 20, 1997</entry>
- <entry>2.2-STABLE after 2.2.5-RELEASE</entry>
- </row>
-
- <row>
- <entry>225002</entry>
- <entry>December 27, 1997</entry>
- <entry>2.2-STABLE after ldconfig -R merge</entry>
- </row>
-
- <row>
- <entry>226000</entry>
- <entry>March 24, 1998</entry>
- <entry>2.2.6-RELEASE</entry>
- </row>
-
- <row>
- <entry>227000</entry>
- <entry>July 21, 1998</entry>
- <entry>2.2.7-RELEASE</entry>
- </row>
-
- <row>
- <entry>227001</entry>
- <entry>July 21, 1998</entry>
- <entry>2.2-STABLE after 2.2.7-RELEASE</entry>
- </row>
-
- <row>
- <entry>227002</entry>
- <entry>September 19, 1998</entry>
- <entry>2.2-STABLE after &man.semctl.2; change</entry>
- </row>
-
- <row>
- <entry>228000</entry>
- <entry>November 29, 1998</entry>
- <entry>2.2.8-RELEASE</entry>
- </row>
-
- <row>
- <entry>228001</entry>
- <entry>November 29, 1998</entry>
- <entry>2.2-STABLE after 2.2.8-RELEASE</entry>
- </row>
-
- <row>
- <entry>300000</entry>
- <entry>February 19, 1996</entry>
- <entry>3.0-CURRENT before &man.mount.2; change</entry>
- </row>
-
- <row>
- <entry>300001</entry>
- <entry>September 24, 1997</entry>
- <entry>3.0-CURRENT after &man.mount.2; change</entry>
- </row>
-
- <row>
- <entry>300002</entry>
- <entry>June 2, 1998</entry>
- <entry>3.0-CURRENT after &man.semctl.2; change</entry>
- </row>
-
- <row>
- <entry>300003</entry>
- <entry>June 7, 1998</entry>
- <entry>3.0-CURRENT after ioctl arg changes</entry>
- </row>
-
- <row>
- <entry>300004</entry>
- <entry>September 3, 1998</entry>
- <entry>3.0-CURRENT after ELF conversion</entry>
- </row>
-
- <row>
- <entry>300005</entry>
- <entry>October 16, 1998</entry>
- <entry>3.0-RELEASE</entry>
- </row>
-
- <row>
- <entry>300006</entry>
- <entry>October 16, 1998</entry>
- <entry>3.0-CURRENT after 3.0-RELEASE</entry>
- </row>
-
- <row>
- <entry>300007</entry>
- <entry>January 22, 1999</entry>
- <entry>3.0-STABLE after 3/4 branch</entry>
- </row>
-
- <row>
- <entry>310000</entry>
- <entry>February 9, 1999</entry>
- <entry>3.1-RELEASE</entry>
- </row>
-
- <row>
- <entry>310001</entry>
- <entry>March 27, 1999</entry>
- <entry>3.1-STABLE after 3.1-RELEASE</entry>
- </row>
-
- <row>
- <entry>310002</entry>
- <entry>April 14, 1999</entry>
- <entry>3.1-STABLE after C++ constructor/destructor order
- change</entry>
- </row>
-
- <row>
- <entry>320000</entry>
- <entry></entry>
- <entry>3.2-RELEASE</entry>
- </row>
-
- <row>
- <entry>320001</entry>
- <entry>May 8, 1999</entry>
- <entry>3.2-STABLE</entry>
- </row>
-
- <row>
- <entry>320002</entry>
- <entry>August 29, 1999</entry>
- <entry>3.2-STABLE after binary-incompatible IPFW and
- socket changes</entry>
- </row>
-
- <row>
- <entry>330000</entry>
- <entry>September 2, 1999</entry>
- <entry>3.3-RELEASE</entry>
- </row>
-
- <row>
- <entry>330001</entry>
- <entry>September 16, 1999</entry>
- <entry>3.3-STABLE</entry>
- </row>
-
- <row>
- <entry>330002</entry>
- <entry>November 24, 1999</entry>
- <entry>3.3-STABLE after adding &man.mkstemp.3;
- to libc</entry>
- </row>
-
- <row>
- <entry>340000</entry>
- <entry>December 5, 1999</entry>
- <entry>3.4-RELEASE</entry>
- </row>
-
- <row>
- <entry>340001</entry>
- <entry>December 17, 1999</entry>
- <entry>3.4-STABLE</entry>
- </row>
-
- <row>
- <entry>350000</entry>
- <entry>June 20, 2000</entry>
- <entry>3.5-RELEASE</entry>
- </row>
-
- <row>
- <entry>350001</entry>
- <entry>July 12, 2000</entry>
- <entry>3.5-STABLE</entry>
- </row>
-
- <row>
- <entry>400000</entry>
- <entry>January 22, 1999</entry>
- <entry>4.0-CURRENT after 3.4 branch</entry>
- </row>
-
- <row>
- <entry>400001</entry>
- <entry>February 20, 1999</entry>
- <entry>4.0-CURRENT after change in dynamic linker
- handling</entry>
- </row>
-
- <row>
- <entry>400002</entry>
- <entry>March 13, 1999</entry>
- <entry>4.0-CURRENT after C++ constructor/destructor
- order change</entry>
- </row>
-
- <row>
- <entry>400003</entry>
- <entry>March 27, 1999</entry>
- <entry>4.0-CURRENT after functioning
- &man.dladdr.3;</entry>
- </row>
-
- <row>
- <entry>400004</entry>
- <entry>April 5, 1999</entry>
- <entry>4.0-CURRENT after __deregister_frame_info dynamic
- linker bug fix (also 4.0-CURRENT after EGCS 1.1.2
- integration)</entry>
- </row>
-
- <row>
- <entry>400005</entry>
- <entry>April 27, 1999</entry>
- <entry>4.0-CURRENT after &man.suser.9; API change
- (also 4.0-CURRENT after newbus)</entry>
- </row>
-
- <row>
- <entry>400006</entry>
- <entry>May 31, 1999</entry>
- <entry>4.0-CURRENT after cdevsw registration
- change</entry>
- </row>
-
- <row>
- <entry>400007</entry>
- <entry>June 17, 1999</entry>
- <entry>4.0-CURRENT after the addition of so_cred for
- socket level credentials</entry>
- </row>
-
- <row>
- <entry>400008</entry>
- <entry>June 20, 1999</entry>
- <entry>4.0-CURRENT after the addition of a poll syscall
- wrapper to libc_r</entry>
- </row>
-
- <row>
- <entry>400009</entry>
- <entry>July 20, 1999</entry>
- <entry>4.0-CURRENT after the change of the kernel's
- <literal>dev_t</literal> type to <literal>struct
- specinfo</literal> pointer</entry>
- </row>
-
- <row>
- <entry>400010</entry>
- <entry>September 25, 1999</entry>
- <entry>4.0-CURRENT after fixing a hole
- in &man.jail.2;</entry>
- </row>
-
- <row>
- <entry>400011</entry>
- <entry>September 29, 1999</entry>
- <entry>4.0-CURRENT after the <literal>sigset_t</literal>
- datatype change</entry>
- </row>
-
- <row>
- <entry>400012</entry>
- <entry>November 15, 1999</entry>
- <entry>4.0-CURRENT after the cutover to the GCC 2.95.2
- compiler</entry>
- </row>
-
- <row>
- <entry>400013</entry>
- <entry>December 4, 1999</entry>
- <entry>4.0-CURRENT after adding pluggable linux-mode
- ioctl handlers</entry>
- </row>
-
- <row>
- <entry>400014</entry>
- <entry>January 18, 2000</entry>
- <entry>4.0-CURRENT after importing OpenSSL</entry>
- </row>
-
- <row>
- <entry>400015</entry>
- <entry>January 27, 2000</entry>
- <entry>4.0-CURRENT after the C++ ABI change in GCC
- 2.95.2 from -fvtable-thunks to -fno-vtable-thunks by
- default</entry>
- </row>
-
- <row>
- <entry>400016</entry>
- <entry>February 27, 2000</entry>
- <entry>4.0-CURRENT after importing OpenSSH</entry>
- </row>
-
- <row>
- <entry>400017</entry>
- <entry>March 13, 2000</entry>
- <entry>4.0-RELEASE</entry>
- </row>
-
- <row>
- <entry>400018</entry>
- <entry>March 17, 2000</entry>
- <entry>4.0-STABLE after 4.0-RELEASE</entry>
- </row>
-
- <row>
- <entry>400019</entry>
- <entry>May 5, 2000</entry>
- <entry>4.0-STABLE after the introduction of delayed
- checksums.</entry>
- </row>
-
- <row>
- <entry>400020</entry>
- <entry>June 4, 2000</entry>
- <entry>4.0-STABLE after merging libxpg4 code into
- libc.</entry>
- </row>
-
- <row>
- <entry>400021</entry>
- <entry>July 8, 2000</entry>
- <entry>4.0-STABLE after upgrading Binutils to 2.10.0,
- ELF branding changes, and tcsh in the base
- system.</entry>
- </row>
-
- <row>
- <entry>410000</entry>
- <entry>July 14, 2000</entry>
- <entry>4.1-RELEASE</entry>
- </row>
-
- <row>
- <entry>410001</entry>
- <entry>July 29, 2000</entry>
- <entry>4.1-STABLE after 4.1-RELEASE</entry>
- </row>
-
- <row>
- <entry>410002</entry>
- <entry>September 16, 2000</entry>
- <entry>4.1-STABLE after &man.setproctitle.3; moved from
- libutil to libc.</entry>
- </row>
-
- <row>
- <entry>411000</entry>
- <entry>September 25, 2000</entry>
- <entry>4.1.1-RELEASE</entry>
- </row>
-
- <row>
- <entry>411001</entry>
- <entry></entry>
- <entry>4.1.1-STABLE after 4.1.1-RELEASE</entry>
- </row>
-
- <row>
- <entry>420000</entry>
- <entry>October 31, 2000</entry>
- <entry>4.2-RELEASE</entry>
- </row>
-
- <row>
- <entry>420001</entry>
- <entry>January 10, 2001</entry>
- <entry>4.2-STABLE after combining libgcc.a and
- libgcc_r.a, and associated GCC linkage
- changes.</entry>
- </row>
-
- <row>
- <entry>430000</entry>
- <entry>March 6, 2001</entry>
- <entry>4.3-RELEASE</entry>
- </row>
-
- <row>
- <entry>430001</entry>
- <entry>May 18, 2001</entry>
- <entry>4.3-STABLE after wint_t introduction.</entry>
- </row>
-
- <row>
- <entry>430002</entry>
- <entry>July 22, 2001</entry>
- <entry>4.3-STABLE after PCI powerstate API
- merge.</entry>
- </row>
-
- <row>
- <entry>440000</entry>
- <entry>August 1, 2001</entry>
- <entry>4.4-RELEASE</entry>
- </row>
-
- <row>
- <entry>440001</entry>
- <entry>October 23, 2001</entry>
- <entry>4.4-STABLE after d_thread_t introduction.</entry>
- </row>
-
- <row>
- <entry>440002</entry>
- <entry>November 4, 2001</entry>
- <entry>4.4-STABLE after mount structure changes (affects
- filesystem klds).</entry>
- </row>
-
- <row>
- <entry>440003</entry>
- <entry>December 18, 2001</entry>
- <entry>4.4-STABLE after the userland components of smbfs
- were imported.</entry>
- </row>
-
- <row>
- <entry>450000</entry>
- <entry>December 20, 2001</entry>
- <entry>4.5-RELEASE</entry>
- </row>
-
- <row>
- <entry>450001</entry>
- <entry>February 24, 2002</entry>
- <entry>4.5-STABLE after the usb structure element
- rename.</entry>
- </row>
-
- <row>
- <entry>450004</entry>
- <entry>April 16, 2002</entry>
- <entry>4.5-STABLE after the
- <literal>sendmail_enable</literal> &man.rc.conf.5;
- variable was made to take the value
- <literal>NONE</literal>.</entry>
- </row>
-
- <row>
- <entry>450005</entry>
- <entry>April 27, 2002</entry>
- <entry>4.5-STABLE after moving to XFree86 4 by default
- for package builds.</entry>
- </row>
-
- <row>
- <entry>450006</entry>
- <entry>May 1, 2002</entry>
- <entry>4.5-STABLE after accept filtering was fixed so
- that is no longer susceptible to an easy DoS.</entry>
- </row>
-
- <row>
- <entry>460000</entry>
- <entry>June 21, 2002</entry>
- <entry>4.6-RELEASE</entry>
- </row>
-
- <row>
- <entry>460001</entry>
- <entry>June 21, 2002</entry>
- <entry>4.6-STABLE &man.sendfile.2; fixed to comply with
- documentation, not to count any headers sent against
- the amount of data to be sent from the file.</entry>
- </row>
-
- <row>
- <entry>460002</entry>
- <entry>July 19, 2002</entry>
- <entry>4.6.2-RELEASE</entry>
- </row>
-
- <row>
- <entry>460100</entry>
- <entry>June 26, 2002</entry>
- <entry>4.6-STABLE</entry>
- </row>
-
- <row>
- <entry>460101</entry>
- <entry>June 26, 2002</entry>
- <entry>4.6-STABLE after MFC of `sed -i'.</entry>
- </row>
-
- <row>
- <entry>460102</entry>
- <entry>September 1, 2002</entry>
- <entry>4.6-STABLE after MFC of many new pkg_install
- features from the HEAD.</entry>
- </row>
-
- <row>
- <entry>470000</entry>
- <entry>October 8, 2002</entry>
- <entry>4.7-RELEASE</entry>
- </row>
-
- <row>
- <entry>470100</entry>
- <entry>October 9, 2002</entry>
- <entry>4.7-STABLE</entry>
- </row>
-
- <row>
- <entry>470101</entry>
- <entry>November 10, 2002</entry>
- <entry>Start generated __std{in,out,err}p references
- rather than __sF. This changes std{in,out,err} from a
- compile time expression to a runtime one.</entry>
- </row>
-
- <row>
- <entry>470102</entry>
- <entry>January 23, 2003</entry>
- <entry>4.7-STABLE after MFC of mbuf changes to replace
- m_aux mbufs by m_tag's</entry>
- </row>
-
- <row>
- <entry>470103</entry>
- <entry>February 14, 2003</entry>
- <entry>4.7-STABLE gets OpenSSL 0.9.7</entry>
- </row>
-
- <row>
- <entry>480000</entry>
- <entry>March 30, 2003</entry>
- <entry>4.8-RELEASE</entry>
- </row>
-
- <row>
- <entry>480100</entry>
- <entry>April 5, 2003</entry>
- <entry>4.8-STABLE</entry>
- </row>
-
- <row>
- <entry>480101</entry>
- <entry>May 22, 2003</entry>
- <entry>4.8-STABLE after &man.realpath.3; has been made
- thread-safe</entry>
- </row>
-
- <row>
- <entry>480102</entry>
- <entry>August 10, 2003</entry>
- <entry>4.8-STABLE 3ware API changes to twe.</entry>
- </row>
-
- <row>
- <entry>490000</entry>
- <entry>October 27, 2003</entry>
- <entry>4.9-RELEASE</entry>
- </row>
-
- <row>
- <entry>490100</entry>
- <entry>October 27, 2003</entry>
- <entry>4.9-STABLE</entry>
- </row>
-
- <row>
- <entry>490101</entry>
- <entry>January 8, 2004</entry>
- <entry>4.9-STABLE after e_sid was added to struct
- kinfo_eproc.</entry>
- </row>
-
- <row>
- <entry>490102</entry>
- <entry>February 4, 2004</entry>
- <entry>4.9-STABLE after MFC of libmap functionality
- for rtld.</entry>
- </row>
-
- <row>
- <entry>491000</entry>
- <entry>May 25, 2004</entry>
- <entry>4.10-RELEASE</entry>
- </row>
-
- <row>
- <entry>491100</entry>
- <entry>June 1, 2004</entry>
- <entry>4.10-STABLE</entry>
- </row>
-
- <row>
- <entry>491101</entry>
- <entry>August 11, 2004</entry>
- <entry>4.10-STABLE after MFC of revision 20040629 of
- the package tools</entry>
- </row>
-
- <row>
- <entry>491102</entry>
- <entry>November 16, 2004</entry>
- <entry>4.10-STABLE after VM fix dealing with unwiring
- of fictitious pages</entry>
- </row>
-
- <row>
- <entry>492000</entry>
- <entry>December 17, 2004</entry>
- <entry>4.11-RELEASE</entry>
- </row>
-
- <row>
- <entry>492100</entry>
- <entry>December 17, 2004</entry>
- <entry>4.11-STABLE</entry>
- </row>
-
- <row>
- <entry>492101</entry>
- <entry>April 18, 2006</entry>
- <entry>4.11-STABLE after adding libdata/ldconfig
- directories to mtree files.</entry>
- </row>
-
- <row>
- <entry>500000</entry>
- <entry>March 13, 2000</entry>
- <entry>5.0-CURRENT</entry>
- </row>
-
- <row>
- <entry>500001</entry>
- <entry>April 18, 2000</entry>
- <entry>5.0-CURRENT after adding addition ELF header
- fields, and changing our ELF binary branding
- method.</entry>
- </row>
-
- <row>
- <entry>500002</entry>
- <entry>May 2, 2000</entry>
- <entry>5.0-CURRENT after kld metadata changes.</entry>
- </row>
-
- <row>
- <entry>500003</entry>
- <entry>May 18, 2000</entry>
- <entry>5.0-CURRENT after buf/bio changes.</entry>
- </row>
-
- <row>
- <entry>500004</entry>
- <entry>May 26, 2000</entry>
- <entry>5.0-CURRENT after binutils upgrade.</entry>
- </row>
-
- <row>
- <entry>500005</entry>
- <entry>June 3, 2000</entry>
- <entry>5.0-CURRENT after merging libxpg4 code into
- libc and after TASKQ interface introduction.</entry>
- </row>
-
- <row>
- <entry>500006</entry>
- <entry>June 10, 2000</entry>
- <entry>5.0-CURRENT after the addition of AGP
- interfaces.</entry>
- </row>
-
- <row>
- <entry>500007</entry>
- <entry>June 29, 2000</entry>
- <entry>5.0-CURRENT after Perl upgrade to 5.6.0</entry>
- </row>
-
- <row>
- <entry>500008</entry>
- <entry>July 7, 2000</entry>
- <entry>5.0-CURRENT after the update of KAME code to
- 2000/07 sources.</entry>
- </row>
-
- <row>
- <entry>500009</entry>
- <entry>July 14, 2000</entry>
- <entry>5.0-CURRENT after ether_ifattach() and
- ether_ifdetach() changes.</entry>
- </row>
-
- <row>
- <entry>500010</entry>
- <entry>July 16, 2000</entry>
- <entry>5.0-CURRENT after changing mtree defaults
- back to original variant, adding -L to follow
- symlinks.</entry>
- </row>
-
- <row>
- <entry>500011</entry>
- <entry>July 18, 2000</entry>
- <entry>5.0-CURRENT after kqueue API changed.</entry>
- </row>
-
- <row>
- <entry>500012</entry>
- <entry>September 2, 2000</entry>
- <entry>5.0-CURRENT after &man.setproctitle.3; moved from
- libutil to libc.</entry>
- </row>
-
- <row>
- <entry>500013</entry>
- <entry>September 10, 2000</entry>
- <entry>5.0-CURRENT after the first SMPng commit.</entry>
- </row>
-
- <row>
- <entry>500014</entry>
- <entry>January 4, 2001</entry>
- <entry>5.0-CURRENT after &lt;sys/select.h&gt; moved to
- &lt;sys/selinfo.h&gt;.</entry>
- </row>
-
- <row>
- <entry>500015</entry>
- <entry>January 10, 2001</entry>
- <entry>5.0-CURRENT after combining libgcc.a and
- libgcc_r.a, and associated GCC linkage
- changes.</entry>
- </row>
-
- <row>
- <entry>500016</entry>
- <entry>January 24, 2001</entry>
- <entry>5.0-CURRENT after change allowing libc and libc_r
- to be linked together, deprecating -pthread
- option.</entry>
- </row>
-
- <row>
- <entry>500017</entry>
- <entry>February 18, 2001</entry>
- <entry>5.0-CURRENT after switch from struct ucred to
- struct xucred to stabilize kernel-exported API for
- mountd et al.</entry>
- </row>
-
- <row>
- <entry>500018</entry>
- <entry>February 24, 2001</entry>
- <entry>5.0-CURRENT after addition of CPUTYPE make
- variable for controlling CPU-specific
- optimizations.</entry>
- </row>
-
- <row>
- <entry>500019</entry>
- <entry>June 9, 2001</entry>
- <entry>5.0-CURRENT after moving machine/ioctl_fd.h to
- sys/fdcio.h</entry>
- </row>
-
- <row>
- <entry>500020</entry>
- <entry>June 15, 2001</entry>
- <entry>5.0-CURRENT after locale names renaming.</entry>
- </row>
-
- <row>
- <entry>500021</entry>
- <entry>June 22, 2001</entry>
- <entry>5.0-CURRENT after Bzip2 import.
- Also signifies removal of S/Key.</entry>
- </row>
-
- <row>
- <entry>500022</entry>
- <entry>July 12, 2001</entry>
- <entry>5.0-CURRENT after SSE support.</entry>
- </row>
-
- <row>
- <entry>500023</entry>
- <entry>September 14, 2001</entry>
- <entry>5.0-CURRENT after KSE Milestone 2.</entry>
- </row>
-
- <row>
- <entry>500024</entry>
- <entry>October 1, 2001</entry>
- <entry>5.0-CURRENT after d_thread_t,
- and moving UUCP to ports.</entry>
- </row>
-
- <row>
- <entry>500025</entry>
- <entry>October 4, 2001</entry>
- <entry>5.0-CURRENT after ABI change for descriptor
- and creds passing on 64 bit platforms.</entry>
- </row>
-
- <row>
- <entry>500026</entry>
- <entry>October 9, 2001</entry>
- <entry>5.0-CURRENT after moving to XFree86 4 by default
- for package builds, and after the new libc strnstr()
- function was added.</entry>
- </row>
-
- <row>
- <entry>500027</entry>
- <entry>October 10, 2001</entry>
- <entry>5.0-CURRENT after the new libc strcasestr()
- function was added.</entry>
- </row>
-
- <row>
- <entry>500028</entry>
- <entry>December 14, 2001</entry>
- <entry>5.0-CURRENT after the userland components of
- smbfs were imported.</entry>
- </row>
-
- <row>
- <entry>(not changed)</entry>
- <entry></entry>
- <entry>5.0-CURRENT after the new C99 specific-width
- integer types were added.</entry>
- </row>
-
- <row>
- <entry>500029</entry>
- <entry>January 29, 2002</entry>
- <entry>5.0-CURRENT after a change was made in the return
- value of &man.sendfile.2;.</entry>
- </row>
-
- <row>
- <entry>500030</entry>
- <entry>February 15, 2002</entry>
- <entry>5.0-CURRENT after the introduction of the
- type <literal>fflags_t</literal>, which is the
- appropriate size for file flags.</entry>
- </row>
-
- <row>
- <entry>500031</entry>
- <entry>February 24, 2002</entry>
- <entry>5.0-CURRENT after the usb structure element
- rename.</entry>
- </row>
-
- <row>
- <entry>500032</entry>
- <entry>March 16, 2002</entry>
- <entry>5.0-CURRENT after the introduction of
- Perl 5.6.1.</entry>
- </row>
-
- <row>
- <entry>500033</entry>
- <entry>April 3, 2002</entry>
- <entry>5.0-CURRENT after the
- <literal>sendmail_enable</literal> &man.rc.conf.5;
- variable was made to take the value
- <literal>NONE</literal>.</entry>
- </row>
-
- <row>
- <entry>500034</entry>
- <entry>April 30, 2002</entry>
- <entry>5.0-CURRENT after mtx_init() grew a third
- argument.</entry>
- </row>
-
- <row>
- <entry>500035</entry>
- <entry>May 13, 2002</entry>
- <entry>5.0-CURRENT with Gcc 3.1.</entry>
- </row>
-
- <row>
- <entry>500036</entry>
- <entry>May 17, 2002</entry>
- <entry>5.0-CURRENT without Perl in /usr/src</entry>
- </row>
-
- <row>
- <entry>500037</entry>
- <entry>May 29, 2002</entry>
- <entry>5.0-CURRENT after the addition of
- &man.dlfunc.3;</entry>
- </row>
-
- <row>
- <entry>500038</entry>
- <entry>July 24, 2002</entry>
- <entry>5.0-CURRENT after the types of some struct
- sockbuf members were changed and the structure was
- reordered.</entry>
- </row>
-
- <row>
- <entry>500039</entry>
- <entry>September 1, 2002</entry>
- <entry>5.0-CURRENT after GCC 3.2.1 import.
- Also after headers stopped using
- _BSD_FOO_T_ and started using _FOO_T_DECLARED.
- This value can also be used as a conservative
- estimate of the start of &man.bzip2.1; package
- support.</entry>
- </row>
-
- <row>
- <entry>500040</entry>
- <entry>September 20, 2002</entry>
- <entry>5.0-CURRENT after various changes to disk
- functions were made in the name of removing dependency
- on disklabel structure internals.</entry>
- </row>
-
- <row>
- <entry>500041</entry>
- <entry>October 1, 2002</entry>
- <entry>5.0-CURRENT after the addition of
- &man.getopt.long.3; to libc.</entry>
- </row>
-
- <row>
- <entry>500042</entry>
- <entry>October 15, 2002</entry>
- <entry>5.0-CURRENT after Binutils 2.13 upgrade, which
- included new FreeBSD emulation, vec, and output
- format.</entry>
- </row>
-
- <row>
- <entry>500043</entry>
- <entry>November 1, 2002</entry>
- <entry>5.0-CURRENT after adding weak pthread_XXX stubs
- to libc, obsoleting libXThrStub.so.
- 5.0-RELEASE.</entry>
- </row>
-
- <row>
- <entry>500100</entry>
- <entry>January 17, 2003</entry>
- <entry>5.0-CURRENT after branching for
- RELENG_5_0</entry>
- </row>
-
- <row>
- <entry>500101</entry>
- <entry>February 19, 2003</entry>
- <entry>&lt;sys/dkstat.h&gt; is empty and should
- not be included.</entry>
- </row>
-
- <row>
- <entry>500102</entry>
- <entry>February 25, 2003</entry>
- <entry>5.0-CURRENT after the d_mmap_t interface
- change.</entry>
- </row>
-
- <row>
- <entry>500103</entry>
- <entry>February 26, 2003</entry>
- <entry>5.0-CURRENT after taskqueue_swi changed to run
- without Giant, and taskqueue_swi_giant added to run
- with Giant.</entry>
- </row>
-
- <row>
- <entry>500104</entry>
- <entry>February 27, 2003</entry>
- <entry>cdevsw_add() and cdevsw_remove() no
- longer exists.
- Appearance of MAJOR_AUTO allocation facility.</entry>
- </row>
-
- <row>
- <entry>500105</entry>
- <entry>March 4, 2003</entry>
- <entry>5.0-CURRENT after new cdevsw initialization
- method.</entry>
- </row>
-
- <row>
- <entry>500106</entry>
- <entry>March 8, 2003</entry>
- <entry>devstat_add_entry() has been replaced by
- devstat_new_entry()</entry>
- </row>
-
- <row>
- <entry>500107</entry>
- <entry>March 15, 2003</entry>
- <entry>Devstat interface change; see sys/sys/param.h
- 1.149</entry>
- </row>
-
- <row>
- <entry>500108</entry>
- <entry>March 15, 2003</entry>
- <entry>Token-Ring interface changes.</entry>
- </row>
-
- <row>
- <entry>500109</entry>
- <entry>March 25, 2003</entry>
- <entry>Addition of vm_paddr_t.</entry>
- </row>
-
- <row>
- <entry>500110</entry>
- <entry>March 28, 2003</entry>
- <entry>5.0-CURRENT after &man.realpath.3; has been made
- thread-safe</entry>
- </row>
-
- <row>
- <entry>500111</entry>
- <entry>April 9, 2003</entry>
- <entry>5.0-CURRENT after &man.usbhid.3; has been synced
- with NetBSD</entry>
- </row>
-
- <row>
- <entry>500112</entry>
- <entry>April 17, 2003</entry>
- <entry>5.0-CURRENT after new NSS implementation
- and addition of POSIX.1 getpw*_r, getgr*_r
- functions</entry>
- </row>
-
- <row>
- <entry>500113</entry>
- <entry>May 2, 2003</entry>
- <entry>5.0-CURRENT after removal of the old rc
- system.</entry>
- </row>
-
- <row>
- <entry>501000</entry>
- <entry>June 4, 2003</entry>
- <entry>5.1-RELEASE.</entry>
- </row>
-
- <row>
- <entry>501100</entry>
- <entry>June 2, 2003</entry>
- <entry>5.1-CURRENT after branching for
- RELENG_5_1.</entry>
- </row>
-
- <row>
- <entry>501101</entry>
- <entry>June 29, 2003</entry>
- <entry>5.1-CURRENT after correcting the semantics of
- sigtimedwait(2) and sigwaitinfo(2).</entry>
- </row>
-
- <row>
- <entry>501102</entry>
- <entry>July 3, 2003</entry>
- <entry>5.1-CURRENT after adding the lockfunc and
- lockfuncarg fields to
- &man.bus.dma.tag.create.9;.</entry>
- </row>
-
- <row>
- <entry>501103</entry>
- <entry>July 31, 2003</entry>
- <entry>5.1-CURRENT after GCC 3.3.1-pre 20030711 snapshot
- integration.</entry>
- </row>
-
- <row>
- <entry>501104</entry>
- <entry>August 5, 2003</entry>
- <entry>5.1-CURRENT 3ware API changes to twe.</entry>
- </row>
-
- <row>
- <entry>501105</entry>
- <entry>August 17, 2003</entry>
- <entry>5.1-CURRENT dynamically-linked /bin and /sbin
- support and movement of libraries to /lib.</entry>
- </row>
-
- <row>
- <entry>501106</entry>
- <entry>September 8, 2003</entry>
- <entry>5.1-CURRENT after adding kernel support for
- Coda 6.x.</entry>
- </row>
-
- <row>
- <entry>501107</entry>
- <entry>September 17, 2003</entry>
- <entry>5.1-CURRENT after 16550 UART constants moved from
- <filename>&lt;dev/sio/sioreg.h&gt;</filename> to
- <filename>&lt;dev/ic/ns16550.h&gt;</filename>.
- Also when libmap functionality was unconditionally
- supported by rtld.</entry>
- </row>
-
- <row>
- <entry>501108</entry>
- <entry>September 23, 2003</entry>
- <entry>5.1-CURRENT after PFIL_HOOKS API update</entry>
- </row>
-
- <row>
- <entry>501109</entry>
- <entry>September 27, 2003</entry>
- <entry>5.1-CURRENT after adding kiconv(3)</entry>
- </row>
-
- <row>
- <entry>501110</entry>
- <entry>September 28, 2003</entry>
- <entry>5.1-CURRENT after changing default operations
- for open and close in cdevsw</entry>
- </row>
-
- <row>
- <entry>501111</entry>
- <entry>October 16, 2003</entry>
- <entry>5.1-CURRENT after changed layout of
- cdevsw</entry>
- </row>
-
- <row>
- <entry>501112</entry>
- <entry>October 16, 2003</entry>
- <entry> 5.1-CURRENT after adding kobj multiple
- inheritance</entry>
- </row>
-
- <row>
- <entry>501113</entry>
- <entry>October 31, 2003</entry>
- <entry> 5.1-CURRENT after the if_xname change in
- struct ifnet</entry>
- </row>
-
- <row>
- <entry>501114</entry>
- <entry>November 16, 2003</entry>
- <entry> 5.1-CURRENT after changing /bin and /sbin to
- be dynamically linked</entry>
- </row>
-
- <row>
- <entry>502000</entry>
- <entry>December 7, 2003</entry>
- <entry>5.2-RELEASE</entry>
- </row>
-
- <row>
- <entry>502010</entry>
- <entry>February 23, 2004</entry>
- <entry>5.2.1-RELEASE</entry>
- </row>
-
- <row>
- <entry>502100</entry>
- <entry>December 7, 2003</entry>
- <entry>5.2-CURRENT after branching for
- RELENG_5_2</entry>
- </row>
-
- <row>
- <entry>502101</entry>
- <entry>December 19, 2003</entry>
- <entry>5.2-CURRENT after __cxa_atexit/__cxa_finalize
- functions were added to libc.</entry>
- </row>
-
- <row>
- <entry>502102</entry>
- <entry>January 30, 2004</entry>
- <entry>5.2-CURRENT after change of default thread
- library from libc_r to libpthread.</entry>
- </row>
-
- <row>
- <entry>502103</entry>
- <entry>February 21, 2004</entry>
- <entry>5.2-CURRENT after device driver API
- megapatch.</entry>
- </row>
-
- <row>
- <entry>502104</entry>
- <entry>February 25, 2004</entry>
- <entry>5.2-CURRENT after getopt_long_only()
- addition.</entry>
- </row>
-
- <row>
- <entry>502105</entry>
- <entry>March 5, 2004</entry>
- <entry>5.2-CURRENT after NULL is made into ((void *)0)
- for C, creating more warnings.</entry>
- </row>
-
- <row>
- <entry>502106</entry>
- <entry>March 8, 2004</entry>
- <entry>5.2-CURRENT after pf is linked to the build and
- install.</entry>
- </row>
-
- <row>
- <entry>502107</entry>
- <entry>March 10, 2004</entry>
- <entry>5.2-CURRENT after time_t is changed to a
- 64-bit value on sparc64.</entry>
- </row>
-
- <row>
- <entry>502108</entry>
- <entry>March 12, 2004</entry>
- <entry>5.2-CURRENT after Intel C/C++ compiler support in
- some headers and execve(2) changes to be more strictly
- conforming to POSIX.</entry>
- </row>
-
- <row>
- <entry>502109</entry>
- <entry>March 22, 2004</entry>
- <entry>5.2-CURRENT after the introduction of the
- bus_alloc_resource_any API</entry>
- </row>
-
- <row>
- <entry>502110</entry>
- <entry>March 27, 2004</entry>
- <entry>5.2-CURRENT after the addition of UTF-8
- locales</entry>
- </row>
-
- <row>
- <entry>502111</entry>
- <entry>April 11, 2004</entry>
- <entry>5.2-CURRENT after the removal of the getvfsent(3)
- API</entry>
- </row>
-
- <row>
- <entry>502112</entry>
- <entry>April 13, 2004</entry>
- <entry>5.2-CURRENT after the addition of the .warning
- directive for make.</entry>
- </row>
-
- <row>
- <entry>502113</entry>
- <entry>June 4, 2004</entry>
- <entry>5.2-CURRENT after ttyioctl() was made mandatory
- for serial drivers.</entry>
- </row>
-
- <row>
- <entry>502114</entry>
- <entry>June 13, 2004</entry>
- <entry>5.2-CURRENT after import of the ALTQ
- framework.</entry>
- </row>
-
- <row>
- <entry>502115</entry>
- <entry>June 14, 2004</entry>
- <entry>5.2-CURRENT after changing sema_timedwait(9) to
- return 0 on success and a non-zero error code on
- failure.</entry>
- </row>
-
- <row>
- <entry>502116</entry>
- <entry>June 16, 2004</entry>
- <entry>5.2-CURRENT after changing kernel dev_t to be
- pointer to struct cdev *.</entry>
- </row>
-
- <row>
- <entry>502117</entry>
- <entry>June 17, 2004</entry>
- <entry>5.2-CURRENT after changing kernel udev_t to
- dev_t.</entry>
- </row>
-
- <row>
- <entry>502118</entry>
- <entry>June 17, 2004</entry>
- <entry>5.2-CURRENT after adding support for
- CLOCK_VIRTUAL and CLOCK_PROF to clock_gettime(2) and
- clock_getres(2).</entry>
- </row>
-
- <row>
- <entry>502119</entry>
- <entry>June 22, 2004</entry>
- <entry>5.2-CURRENT after changing network interface
- cloning overhaul.</entry>
- </row>
-
- <row>
- <entry>502120</entry>
- <entry>July 2, 2004</entry>
- <entry>5.2-CURRENT after the update of the package tools
- to revision 20040629.</entry>
- </row>
-
- <row>
- <entry>502121</entry>
- <entry>July 9, 2004</entry>
- <entry>5.2-CURRENT after marking Bluetooth code as
- non-i386 specific.</entry>
- </row>
-
- <row>
- <entry>502122</entry>
- <entry>July 11, 2004</entry>
- <entry>5.2-CURRENT after the introduction of the KDB
- debugger framework, the conversion of DDB into a
- backend and the introduction of the GDB
- backend.</entry>
- </row>
-
- <row>
- <entry>502123</entry>
- <entry>July 12, 2004</entry>
- <entry>5.2-CURRENT after change to make VFS_ROOT take a
- struct thread argument as does vflush. Struct
- kinfo_proc now has a user data pointer. The switch of
- the default X implementation to
- <literal>xorg</literal> was also made at this
- time.</entry>
- </row>
-
- <row>
- <entry>502124</entry>
- <entry>July 24, 2004</entry>
- <entry>5.2-CURRENT after the change to separate the way
- ports rc.d and legacy scripts are started.</entry>
- </row>
-
- <row>
- <entry>502125</entry>
- <entry>July 28, 2004</entry>
- <entry>5.2-CURRENT after the backout of the previous
- change.</entry>
- </row>
-
- <row>
- <entry>502126</entry>
- <entry>July 31, 2004</entry>
- <entry>5.2-CURRENT after the removal of
- kmem_alloc_pageable() and the import of gcc
- 3.4.2.</entry>
- </row>
-
- <row>
- <entry>502127</entry>
- <entry>August 2, 2004</entry>
- <entry>5.2-CURRENT after changing the UMA kernel
- API to allow ctors/inits to fail.</entry>
- </row>
-
- <row>
- <entry>502128</entry>
- <entry>August 8, 2004</entry>
- <entry>5.2-CURRENT after the change of the
- vfs_mount signature as well as global replacement of
- PRISON_ROOT with SUSER_ALLOWJAIL for the suser(9)
- API.</entry>
- </row>
-
- <row>
- <entry>503000</entry>
- <entry>August 23, 2004</entry>
- <entry>5.3-BETA/RC before the pfil API change</entry>
- </row>
-
- <row>
- <entry>503001</entry>
- <entry>September 22, 2004</entry>
- <entry>5.3-RELEASE</entry>
- </row>
-
- <row>
- <entry>503100</entry>
- <entry>October 16, 2004</entry>
- <entry>5.3-STABLE after branching for RELENG_5_3</entry>
- </row>
-
- <row>
- <entry>503101</entry>
- <entry>December 3, 2004</entry>
- <entry>5.3-STABLE after addition of glibc style
- &man.strftime.3; padding options.</entry>
- </row>
-
- <row>
- <entry>503102</entry>
- <entry>February 13, 2005</entry>
- <entry>5.3-STABLE after OpenBSD's nc(1) import
- MFC.</entry>
- </row>
-
- <row>
- <entry>503103</entry>
- <entry>February 27, 2005</entry>
- <entry>5.4-PRERELEASE after the MFC of the fixes in
- <filename>&lt;src/include/stdbool.h&gt;</filename> and
- <filename>&lt;src/sys/i386/include/_types.h&gt;</filename>
- for using the GCC-compatibility of the Intel C/C++
- compiler.</entry>
- </row>
-
- <row>
- <entry>503104</entry>
- <entry>February 28, 2005</entry>
- <entry>5.4-PRERELEASE after the MFC of the change of
- ifi_epoch from wall clock time to uptime.</entry>
- </row>
-
- <row>
- <entry>503105</entry>
- <entry>March 2, 2005</entry>
- <entry>5.4-PRERELEASE after the MFC of the fix of
- EOVERFLOW check in vswprintf(3).</entry>
- </row>
-
- <row>
- <entry>504000</entry>
- <entry>April 3, 2005</entry>
- <entry>5.4-RELEASE.</entry>
- </row>
-
- <row>
- <entry>504100</entry>
- <entry>April 3, 2005</entry>
- <entry>5.4-STABLE after branching for RELENG_5_4</entry>
- </row>
-
- <row>
- <entry>504101</entry>
- <entry>May 11, 2005</entry>
- <entry>5.4-STABLE after increasing the default
- thread stacksizes</entry>
- </row>
-
- <row>
- <entry>504102</entry>
- <entry>June 24, 2005</entry>
- <entry>5.4-STABLE after the addition of sha256</entry>
- </row>
-
- <row>
- <entry>504103</entry>
- <entry>October 3, 2005</entry>
- <entry>5.4-STABLE after the MFC of if_bridge</entry>
- </row>
-
- <row>
- <entry>504104</entry>
- <entry>November 13, 2005</entry>
- <entry>5.4-STABLE after the MFC of bsdiff and
- portsnap</entry>
- </row>
-
- <row>
- <entry>504105</entry>
- <entry>January 17, 2006</entry>
- <entry>5.4-STABLE after MFC of ldconfig_local_dirs
- change.</entry>
- </row>
-
- <row>
- <entry>505000</entry>
- <entry>May 12, 2006</entry>
- <entry>5.5-RELEASE.</entry>
- </row>
-
- <row>
- <entry>505100</entry>
- <entry>May 12, 2006</entry>
- <entry>5.5-STABLE after branching for RELENG_5_5</entry>
- </row>
-
- <row>
- <entry>600000</entry>
- <entry>August 18, 2004</entry>
- <entry>6.0-CURRENT</entry>
- </row>
-
- <row>
- <entry>600001</entry>
- <entry>August 27, 2004</entry>
- <entry>6.0-CURRENT after permanently enabling PFIL_HOOKS
- in the kernel.</entry>
- </row>
-
- <row>
- <entry>600002</entry>
- <entry>August 30, 2004</entry>
- <entry>6.0-CURRENT after initial addition of
- ifi_epoch to struct if_data. Backed out after a
- few days. Do not use this value.</entry>
- </row>
-
- <row>
- <entry>600003</entry>
- <entry>September 8, 2004</entry>
- <entry>6.0-CURRENT after the re-addition of the
- ifi_epoch member of struct if_data.</entry>
- </row>
-
- <row>
- <entry>600004</entry>
- <entry>September 29, 2004</entry>
- <entry>6.0-CURRENT after addition of the struct inpcb
- argument to the pfil API.</entry>
- </row>
-
- <row>
- <entry>600005</entry>
- <entry>October 5, 2004</entry>
- <entry>6.0-CURRENT after addition of the "-d
- DESTDIR" argument to newsyslog.</entry>
- </row>
-
- <row>
- <entry>600006</entry>
- <entry>November 4, 2004</entry>
- <entry>6.0-CURRENT after addition of glibc style
- &man.strftime.3; padding options.</entry>
- </row>
-
- <row>
- <entry>600007</entry>
- <entry>December 12, 2004</entry>
- <entry>6.0-CURRENT after addition of 802.11 framework
- updates.</entry>
- </row>
-
- <row>
- <entry>600008</entry>
- <entry>January 25, 2005</entry>
- <entry>6.0-CURRENT after changes to VOP_*VOBJECT()
- functions and introduction of MNTK_MPSAFE flag for
- Giantfree filesystems.</entry>
- </row>
-
- <row>
- <entry>600009</entry>
- <entry>February 4, 2005</entry>
- <entry>6.0-CURRENT after addition of the cpufreq
- framework and drivers.</entry>
- </row>
-
- <row>
- <entry>600010</entry>
- <entry>February 6, 2005</entry>
- <entry>6.0-CURRENT after importing OpenBSD's
- nc(1).</entry>
- </row>
-
- <row>
- <entry>600011</entry>
- <entry>February 12, 2005</entry>
- <entry>6.0-CURRENT after removing semblance of SVID2
- <literal>matherr()</literal> support.</entry>
- </row>
-
- <row>
- <entry>600012</entry>
- <entry>February 15, 2005</entry>
- <entry>6.0-CURRENT after increase of default thread
- stacks' size.</entry>
- </row>
-
- <row>
- <entry>600013</entry>
- <entry>February 19, 2005</entry>
- <entry>6.0-CURRENT after fixes in
- <filename>&lt;src/include/stdbool.h&gt;</filename> and
- <filename>&lt;src/sys/i386/include/_types.h&gt;</filename>
- for using the GCC-compatibility of the Intel C/C++
- compiler.</entry>
- </row>
-
- <row>
- <entry>600014</entry>
- <entry>February 21, 2005</entry>
- <entry>6.0-CURRENT after EOVERFLOW checks in
- vswprintf(3) fixed.</entry>
- </row>
-
- <row>
- <entry>600015</entry>
- <entry>February 25, 2005</entry>
- <entry>6.0-CURRENT after changing the struct if_data
- member, ifi_epoch, from wall clock time to
- uptime.</entry>
- </row>
-
- <row>
- <entry>600016</entry>
- <entry>February 26, 2005</entry>
- <entry>6.0-CURRENT after LC_CTYPE disk format
- changed.</entry>
- </row>
-
- <row>
- <entry>600017</entry>
- <entry>February 27, 2005</entry>
- <entry>6.0-CURRENT after NLS catalogs disk format
- changed.</entry>
- </row>
-
- <row>
- <entry>600018</entry>
- <entry>February 27, 2005</entry>
- <entry>6.0-CURRENT after LC_COLLATE disk format
- changed.</entry>
- </row>
-
- <row>
- <entry>600019</entry>
- <entry>February 28, 2005</entry>
- <entry>Installation of acpica includes into
- /usr/include.</entry>
- </row>
-
- <row>
- <entry>600020</entry>
- <entry>March 9, 2005</entry>
- <entry>Addition of MSG_NOSIGNAL flag to send(2)
- API.</entry>
- </row>
-
- <row>
- <entry>600021</entry>
- <entry>March 17, 2005</entry>
- <entry>Addition of fields to cdevsw</entry>
- </row>
-
- <row>
- <entry>600022</entry>
- <entry>March 21, 2005</entry>
- <entry>Removed gtar from base system.</entry>
- </row>
-
- <row>
- <entry>600023</entry>
- <entry>April 13, 2005</entry>
- <entry>LOCAL_CREDS, LOCAL_CONNWAIT socket options added
- to unix(4).</entry>
- </row>
-
- <row>
- <entry>600024</entry>
- <entry>April 19, 2005</entry>
- <entry>&man.hwpmc.4; and related tools added to
- 6.0-CURRENT.</entry>
- </row>
-
- <row>
- <entry>600025</entry>
- <entry>April 26, 2005</entry>
- <entry>struct icmphdr added to 6.0-CURRENT.</entry>
- </row>
-
- <row>
- <entry>600026</entry>
- <entry>May 3, 2005</entry>
- <entry>pf updated to 3.7.</entry>
- </row>
-
- <row>
- <entry>600027</entry>
- <entry>May 6, 2005</entry>
- <entry>Kernel libalias and ng_nat introduced.</entry>
- </row>
-
- <row>
- <entry>600028</entry>
- <entry>May 13, 2005</entry>
- <entry>POSIX ttyname_r(3) made available through
- unistd.h and libc.</entry>
- </row>
-
- <row>
- <entry>600029</entry>
- <entry>May 29, 2005</entry>
- <entry>6.0-CURRENT after libpcap updated to v0.9.1 alpha
- 096.</entry>
- </row>
-
- <row>
- <entry>600030</entry>
- <entry>June 5, 2005</entry>
- <entry>6.0-CURRENT after importing NetBSD's
- if_bridge(4).</entry>
- </row>
-
- <row>
- <entry>600031</entry>
- <entry>June 10, 2005</entry>
- <entry>6.0-CURRENT after struct ifnet was broken out
- of the driver softcs.</entry>
- </row>
-
- <row>
- <entry>600032</entry>
- <entry>July 11, 2005</entry>
- <entry>6.0-CURRENT after the import of libpcap
- v0.9.1.</entry>
- </row>
-
- <row>
- <entry>600033</entry>
- <entry>July 25, 2005</entry>
- <entry>6.0-STABLE after bump of all shared library
- versions that had not been changed since
- RELENG_5.</entry>
- </row>
-
- <row>
- <entry>600034</entry>
- <entry>August 13, 2005</entry>
- <entry>6.0-STABLE after credential argument is added to
- dev_clone event handler. 6.0-RELEASE.</entry>
- </row>
-
- <row>
- <entry>600100</entry>
- <entry>November 1, 2005</entry>
- <entry>6.0-STABLE after 6.0-RELEASE</entry>
- </row>
-
- <row>
- <entry>600101</entry>
- <entry>December 21, 2005</entry>
- <entry>6.0-STABLE after incorporating scripts from the
- local_startup directories into the base
- &man.rcorder.8;.</entry>
- </row>
-
- <row>
- <entry>600102</entry>
- <entry>December 30, 2005</entry>
- <entry>6.0-STABLE after updating the ELF types and
- constants.</entry>
- </row>
-
- <row>
- <entry>600103</entry>
- <entry>January 15, 2006</entry>
- <entry>6.0-STABLE after MFC of pidfile(3) API.</entry>
- </row>
-
- <row>
- <entry>600104</entry>
- <entry>January 17, 2006</entry>
- <entry>6.0-STABLE after MFC of ldconfig_local_dirs
- change.</entry>
- </row>
-
- <row>
- <entry>600105</entry>
- <entry>February 26, 2006</entry>
- <entry>6.0-STABLE after NLS catalog support of
- csh(1).</entry>
- </row>
-
- <row>
- <entry>601000</entry>
- <entry>May 6, 2006</entry>
- <entry>6.1-RELEASE</entry>
- </row>
-
- <row>
- <entry>601100</entry>
- <entry>May 6, 2006</entry>
- <entry>6.1-STABLE after 6.1-RELEASE.</entry>
- </row>
-
- <row>
- <entry>601101</entry>
- <entry>June 22, 2006</entry>
- <entry>6.1-STABLE after the import of csup.</entry>
- </row>
-
- <row>
- <entry>601102</entry>
- <entry>July 11, 2006</entry>
- <entry>6.1-STABLE after the iwi(4) update.</entry>
- </row>
-
- <row>
- <entry>601103</entry>
- <entry>July 17, 2006</entry>
- <entry>6.1-STABLE after the resolver update to
- BIND9, and exposure of reentrant version of
- netdb functions.</entry>
- </row>
-
- <row>
- <entry>601104</entry>
- <entry>August 8, 2006</entry>
- <entry>6.1-STABLE after DSO (dynamic shared
- objects) support has been enabled in
- OpenSSL.</entry>
- </row>
-
- <row>
- <entry>601105</entry>
- <entry>September 2, 2006</entry>
- <entry>6.1-STABLE after 802.11 fixups changed the
- api for the IEEE80211_IOC_STA_INFO ioctl.</entry>
- </row>
-
- <row>
- <entry>602000</entry>
- <entry>November 15, 2006</entry>
- <entry>6.2-RELEASE</entry>
- </row>
-
- <row>
- <entry>602100</entry>
- <entry>September 15, 2006</entry>
- <entry>6.2-STABLE after 6.2-RELEASE.</entry>
- </row>
-
- <row>
- <entry>602101</entry>
- <entry>December 12, 2006</entry>
- <entry>6.2-STABLE after the addition of Wi-Spy
- quirk.</entry>
- </row>
-
- <row>
- <entry>602102</entry>
- <entry>December 28, 2006</entry>
- <entry>6.2-STABLE after pci_find_extcap()
- addition.</entry>
- </row>
-
- <row>
- <entry>602103</entry>
- <entry>January 16, 2007</entry>
- <entry>6.2-STABLE after MFC of dlsym change to look for
- a requested symbol both in specified dso and its
- implicit dependencies.</entry>
- </row>
-
- <row>
- <entry>602104</entry>
- <entry>January 28, 2007</entry>
- <entry>6.2-STABLE after MFC of ng_deflate(4) and
- ng_pred1(4) netgraph nodes and new compression and
- encryption modes for ng_ppp(4) node.</entry>
- </row>
-
- <row>
- <entry>602105</entry>
- <entry>February 20, 2007</entry>
- <entry>6.2-STABLE after MFC of BSD licensed version of
- &man.gzip.1; ported from NetBSD.</entry>
- </row>
-
- <row>
- <entry>602106</entry>
- <entry>March 31, 2007</entry>
- <entry>6.2-STABLE after MFC of PCI MSI and MSI-X
- support.</entry>
- </row>
-
- <row>
- <entry>602107</entry>
- <entry>April 6, 2007</entry>
- <entry>6.2-STABLE after MFC of ncurses 5.6 and wide
- character support.</entry>
- </row>
-
- <row>
- <entry>602108</entry>
- <entry>April 11, 2007</entry>
- <entry>6.2-STABLE after MFC of CAM 'SG' peripheral
- device, which implements a subset of Linux SCSI SG
- passthrough device API.</entry>
- </row>
-
- <row>
- <entry>602109</entry>
- <entry>April 17, 2007</entry>
- <entry>6.2-STABLE after MFC of readline 5.2 patchset
- 002.</entry>
- </row>
-
- <row>
- <entry>602110</entry>
- <entry>May 2, 2007</entry>
- <entry>6.2-STABLE after MFC of pmap_invalidate_cache(),
- pmap_change_attr(), pmap_mapbios(),
- pmap_mapdev_attr(), and pmap_unmapbios() for amd64 and
- i386.</entry>
- </row>
-
- <row>
- <entry>602111</entry>
- <entry>June 11, 2007</entry>
- <entry>6.2-STABLE after MFC of BOP_BDFLUSH and caused
- breakage of the filesystem modules KBI.</entry>
- </row>
-
- <row>
- <entry>602112</entry>
- <entry>September 21, 2007</entry>
- <entry>6.2-STABLE after libutil(3) MFC's.</entry>
- </row>
-
- <row>
- <entry>602113</entry>
- <entry>October 25, 2007</entry>
- <entry>6.2-STABLE after MFC of wide and single byte
- ctype separation. Newly compiled binary that
- references to ctype.h may require a new symbol,
- __mb_sb_limit, which is not available on older
- systems.</entry>
- </row>
-
- <row>
- <entry>602114</entry>
- <entry>October 30, 2007</entry>
- <entry>6.2-STABLE after ctype ABI forward compatibility
- restored.</entry>
- </row>
-
- <row>
- <entry>602115</entry>
- <entry>November 21, 2007</entry>
- <entry>6.2-STABLE after back out of wide and single byte
- ctype separation.</entry>
- </row>
-
- <row>
- <entry>603000</entry>
- <entry>November 25, 2007</entry>
- <entry>6.3-RELEASE</entry>
- </row>
-
- <row>
- <entry>603100</entry>
- <entry>November 25, 2007</entry>
- <entry>6.3-STABLE after 6.3-RELEASE.</entry>
- </row>
-
- <row>
- <entry>603101</entry>
- <entry>December 7, 2007</entry>
- <entry>6.3-STABLE after fixing
- multibyte type support in bit macro.</entry>
- </row>
-
- <row>
- <entry>603102</entry>
- <entry>April 24, 2008</entry>
- <entry>6.3-STABLE after adding l_sysid to struct
- flock.</entry>
- </row>
-
- <row>
- <entry>603103</entry>
- <entry>May 27, 2008</entry>
- <entry>6.3-STABLE after MFC of the
- <function>memrchr</function> function.</entry>
- </row>
-
- <row>
- <entry>603104</entry>
- <entry>June 15, 2008</entry>
- <entry>6.3-STABLE after MFC of support for
- <literal>:u</literal> variable modifier in
- make(1).</entry>
- </row>
-
- <row>
- <entry>604000</entry>
- <entry>October 4, 2008</entry>
- <entry>6.4-RELEASE</entry>
- </row>
-
- <row>
- <entry>604100</entry>
- <entry>October 4, 2008</entry>
- <entry>6.4-STABLE after 6.4-RELEASE.</entry>
- </row>
-
- <row>
- <entry>700000</entry>
- <entry>July 11, 2005</entry>
- <entry>7.0-CURRENT.</entry>
- </row>
-
- <row>
- <entry>700001</entry>
- <entry>July 23, 2005</entry>
- <entry>7.0-CURRENT after bump of all shared library
- versions that had not been changed since
- RELENG_5.</entry>
- </row>
-
- <row>
- <entry>700002</entry>
- <entry>August 13, 2005</entry>
- <entry>7.0-CURRENT after credential argument is added to
- dev_clone event handler.</entry>
- </row>
-
- <row>
- <entry>700003</entry>
- <entry>August 25, 2005</entry>
- <entry>7.0-CURRENT after memmem(3) is added to
- libc.</entry>
- </row>
-
- <row>
- <entry>700004</entry>
- <entry>October 30, 2005</entry>
- <entry>7.0-CURRENT after solisten(9) kernel arguments
- are modified to accept a backlog parameter.</entry>
- </row>
-
- <row>
- <entry>700005</entry>
- <entry>November 11, 2005</entry>
- <entry>7.0-CURRENT after IFP2ENADDR() was changed to
- return a pointer to IF_LLADDR().</entry>
- </row>
-
- <row>
- <entry>700006</entry>
- <entry>November 11, 2005</entry>
- <entry>7.0-CURRENT after addition of
- <literal>if_addr</literal> member to <literal>struct
- ifnet</literal> and IFP2ENADDR() removal.</entry>
- </row>
-
- <row>
- <entry>700007</entry>
- <entry>December 2, 2005</entry>
- <entry>7.0-CURRENT after incorporating scripts from the
- local_startup directories into the base
- &man.rcorder.8;.</entry>
- </row>
-
- <row>
- <entry>700008</entry>
- <entry>December 5, 2005</entry>
- <entry>7.0-CURRENT after removal of MNT_NODEV mount
- option.</entry>
- </row>
-
- <row>
- <entry>700009</entry>
- <entry>December 19, 2005</entry>
- <entry>7.0-CURRENT after ELF-64 type changes and symbol
- versioning.</entry>
- </row>
-
- <row>
- <entry>700010</entry>
- <entry>December 20, 2005</entry>
- <entry>7.0-CURRENT after addition of hostb and vgapci
- drivers, addition of pci_find_extcap(), and changing
- the AGP drivers to no longer map the aperture.</entry>
- </row>
-
- <row>
- <entry>700011</entry>
- <entry>December 31, 2005</entry>
- <entry>7.0-CURRENT after tv_sec was made time_t on
- all platforms but Alpha.</entry>
- </row>
-
- <row>
- <entry>700012</entry>
- <entry>January 8, 2006</entry>
- <entry>7.0-CURRENT after ldconfig_local_dirs
- change.</entry>
- </row>
-
- <row>
- <entry>700013</entry>
- <entry>January 12, 2006</entry>
- <entry>7.0-CURRENT after changes to
- <filename>/etc/rc.d/abi</filename> to support
- <filename>/compat/linux/etc/ld.so.cache</filename>
- being a symlink in a readonly filesystem.</entry>
- </row>
-
- <row>
- <entry>700014</entry>
- <entry>January 26, 2006</entry>
- <entry>7.0-CURRENT after pts import.</entry>
- </row>
-
- <row>
- <entry>700015</entry>
- <entry>March 26, 2006</entry>
- <entry>7.0-CURRENT after the introduction of version 2
- of &man.hwpmc.4;'s ABI.</entry>
- </row>
-
- <row>
- <entry>700016</entry>
- <entry>April 22, 2006</entry>
- <entry>7.0-CURRENT after addition of &man.fcloseall.3;
- to libc.</entry>
- </row>
-
- <row>
- <entry>700017</entry>
- <entry>May 13, 2006</entry>
- <entry>7.0-CURRENT after removal of ip6fw.</entry>
- </row>
-
- <row>
- <entry>700018</entry>
- <entry>July 15, 2006</entry>
- <entry>7.0-CURRENT after import of snd_emu10kx.</entry>
- </row>
-
- <row>
- <entry>700019</entry>
- <entry>July 29, 2006</entry>
- <entry>7.0-CURRENT after import of OpenSSL
- 0.9.8b.</entry>
- </row>
-
- <row>
- <entry>700020</entry>
- <entry>September 3, 2006</entry>
- <entry>7.0-CURRENT after addition of bus_dma_get_tag
- function</entry>
- </row>
-
- <row>
- <entry>700021</entry>
- <entry>September 4, 2006</entry>
- <entry>7.0-CURRENT after libpcap 0.9.4 and tcpdump 3.9.4
- import.</entry>
- </row>
-
- <row>
- <entry>700022</entry>
- <entry>September 9, 2006</entry>
- <entry>7.0-CURRENT after dlsym change to look for a
- requested symbol both in specified dso and its
- implicit dependencies.</entry>
- </row>
-
- <row>
- <entry>700023</entry>
- <entry>September 23, 2006</entry>
- <entry>7.0-CURRENT after adding new sound IOCTLs for the
- OSSv4 mixer API.</entry>
- </row>
-
- <row>
- <entry>700024</entry>
- <entry>September 28, 2006</entry>
- <entry>7.0-CURRENT after import of OpenSSL
- 0.9.8d.</entry>
- </row>
-
- <row>
- <entry>700025</entry>
- <entry>November 11, 2006</entry>
- <entry>7.0-CURRENT after the addition of libelf.</entry>
- </row>
-
- <row>
- <entry>700026</entry>
- <entry>November 26, 2006</entry>
- <entry>7.0-CURRENT after major changes on sound
- sysctls.</entry>
- </row>
-
- <row>
- <entry>700027</entry>
- <entry>November 30, 2006</entry>
- <entry>7.0-CURRENT after the addition of Wi-Spy
- quirk.</entry>
- </row>
-
- <row>
- <entry>700028</entry>
- <entry>December 15, 2006</entry>
- <entry>7.0-CURRENT after the addition of sctp calls to
- libc</entry>
- </row>
-
- <row>
- <entry>700029</entry>
- <entry>January 26, 2007</entry>
- <entry>7.0-CURRENT after the GNU &man.gzip.1;
- implementation was replaced with a BSD licensed
- version ported from NetBSD.</entry>
- </row>
-
- <row>
- <entry>700030</entry>
- <entry>February 7, 2007</entry>
- <entry>7.0-CURRENT after the removal of IPIP tunnel
- encapsulation (VIFF_TUNNEL) from the IPv4 multicast
- forwarding code.</entry>
- </row>
-
- <row>
- <entry>700031</entry>
- <entry>February 23, 2007</entry>
- <entry>7.0-CURRENT after the modification of
- bus_setup_intr() (newbus).</entry>
- </row>
-
- <row>
- <entry>700032</entry>
- <entry>March 2, 2007</entry>
- <entry>7.0-CURRENT after the inclusion of ipw(4) and
- iwi(4) firmware.</entry>
- </row>
-
- <row>
- <entry>700033</entry>
- <entry>March 9, 2007</entry>
- <entry>7.0-CURRENT after the inclusion of ncurses wide
- character support.</entry>
- </row>
-
- <row>
- <entry>700034</entry>
- <entry>March 19, 2007</entry>
- <entry>7.0-CURRENT after changes to how insmntque(),
- getnewvnode(), and vfs_hash_insert() work.</entry>
- </row>
-
- <row>
- <entry>700035</entry>
- <entry>March 26, 2007</entry>
- <entry>7.0-CURRENT after addition of a notify mechanism
- for CPU frequency changes.</entry>
- </row>
-
- <row>
- <entry>700036</entry>
- <entry>April 6, 2007</entry>
- <entry>7.0-CURRENT after import of the ZFS
- filesystem.</entry>
- </row>
-
- <row>
- <entry>700037</entry>
- <entry>April 8, 2007</entry>
- <entry>7.0-CURRENT after addition of CAM 'SG' peripheral
- device, which implements a subset of Linux SCSI SG
- passthrough device API.</entry>
- </row>
-
- <row>
- <entry>700038</entry>
- <entry>April 30, 2007</entry>
- <entry>7.0-CURRENT after changing &man.getenv.3;,
- &man.putenv.3;, &man.setenv.3; and &man.unsetenv.3; to
- be POSIX conformant.</entry>
- </row>
-
- <row>
- <entry>700039</entry>
- <entry>May 1, 2007</entry>
- <entry>7.0-CURRENT after the changes in 700038 were
- backed out.</entry>
- </row>
-
- <row>
- <entry>700040</entry>
- <entry>May 10, 2007</entry>
- <entry>7.0-CURRENT after the addition of &man.flopen.3;
- to libutil.</entry>
- </row>
-
- <row>
- <entry>700041</entry>
- <entry>May 13, 2007</entry>
- <entry>7.0-CURRENT after enabling symbol versioning, and
- changing the default thread library to libthr.</entry>
- </row>
-
- <row>
- <entry>700042</entry>
- <entry>May 19, 2007</entry>
- <entry>7.0-CURRENT after the import of gcc
- 4.2.0.</entry>
- </row>
-
- <row>
- <entry>700043</entry>
- <entry>May 21, 2007</entry>
- <entry>7.0-CURRENT after bump of all shared library
- versions that had not been changed since
- RELENG_6.</entry>
- </row>
-
- <row>
- <entry>700044</entry>
- <entry>June 7, 2007</entry>
- <entry>7.0-CURRENT after changing the argument for
- vn_open()/VOP_OPEN() from file descriptor index to the
- struct file *.</entry>
- </row>
-
- <row>
- <entry>700045</entry>
- <entry>June 10, 2007</entry>
- <entry>7.0-CURRENT after changing &man.pam.nologin.8; to
- provide an account management function instead of an
- authentication function to the PAM framework.</entry>
- </row>
-
- <row>
- <entry>700046</entry>
- <entry>June 11, 2007</entry>
- <entry>7.0-CURRENT after updated 802.11 wireless
- support.</entry>
- </row>
-
- <row>
- <entry>700047</entry>
- <entry>June 11, 2007</entry>
- <entry>7.0-CURRENT after adding TCP LRO interface
- capabilities.</entry>
- </row>
-
- <row>
- <entry>700048</entry>
- <entry>June 12, 2007</entry>
- <entry>7.0-CURRENT after
- RFC 3678 API support added to the IPv4 stack.
- Legacy RFC 1724 behavior of the IP_MULTICAST_IF
- ioctl has now been removed; 0.0.0.0/8 may no longer
- be used to specify an interface index.
- struct ipmreqn should be used instead.</entry>
- </row>
-
- <row>
- <entry>700049</entry>
- <entry>July 3, 2007</entry>
- <entry>7.0-CURRENT after importing pf from OpenBSD
- 4.1</entry>
- </row>
-
- <row>
- <entry>(not changed)</entry>
- <entry></entry>
- <entry>7.0-CURRENT after adding IPv6 support for
- FAST_IPSEC, deleting KAME IPSEC, and renaming
- FAST_IPSEC to IPSEC.</entry>
- </row>
-
- <row>
- <entry>700050</entry>
- <entry>July 4, 2007</entry>
- <entry>7.0-CURRENT after converting setenv/putenv/etc.
- calls from traditional BSD to POSIX.</entry>
- </row>
-
- <row>
- <entry>700051</entry>
- <entry>July 4, 2007</entry>
- <entry>7.0-CURRENT after adding new mmap/lseek/etc
- syscalls.</entry>
- </row>
-
- <row>
- <entry>700052</entry>
- <entry>July 6, 2007</entry>
- <entry>7.0-CURRENT after moving I4B headers to
- include/i4b.</entry>
- </row>
-
- <row>
- <entry>700053</entry>
- <entry>September 30, 2007</entry>
- <entry>7.0-CURRENT after the addition of support for
- PCI domains</entry>
- </row>
-
- <row>
- <entry>700054</entry>
- <entry>October 25, 2007</entry>
- <entry>7.0-CURRENT after MFC of wide and single byte
- ctype separation.</entry>
- </row>
-
- <row>
- <entry>700055</entry>
- <entry>October 28, 2007</entry>
- <entry>7.0-RELEASE, and 7.0-CURRENT after ABI backwards
- compatibility to the FreeBSD 4/5/6 versions of the
- PCIOCGETCONF, PCIOCREAD and PCIOCWRITE IOCTLs was
- MFCed, which required the ABI of the PCIOCGETCONF
- IOCTL to be broken again</entry>
- </row>
-
- <row>
- <entry>700100</entry>
- <entry>December 22, 2007</entry>
- <entry>7.0-STABLE after 7.0-RELEASE</entry>
- </row>
-
- <row>
- <entry>700101</entry>
- <entry>February 8, 2008</entry>
- <entry>7.0-STABLE after the MFC of m_collapse().</entry>
- </row>
-
- <row>
- <entry>700102</entry>
- <entry>March 30, 2008</entry>
- <entry>7.0-STABLE after the MFC of
- kdb_enter_why().</entry>
- </row>
-
- <row>
- <entry>700103</entry>
- <entry>April 10, 2008</entry>
- <entry>7.0-STABLE after adding l_sysid to struct
- flock.</entry>
- </row>
-
- <row>
- <entry>700104</entry>
- <entry>April 11, 2008</entry>
- <entry>7.0-STABLE after the MFC of procstat(1).</entry>
- </row>
-
- <row>
- <entry>700105</entry>
- <entry>April 11, 2008</entry>
- <entry>7.0-STABLE after the MFC of umtx
- features.</entry>
- </row>
-
- <row>
- <entry>700106</entry>
- <entry>April 15, 2008</entry>
- <entry>7.0-STABLE after the MFC of &man.write.2; support
- to &man.psm.4;.</entry>
- </row>
-
- <row>
- <entry>700107</entry>
- <entry>April 20, 2008</entry>
- <entry>7.0-STABLE after the MFC of F_DUP2FD command
- to &man.fcntl.2;.</entry>
- </row>
-
- <row>
- <entry>700108</entry>
- <entry>May 5, 2008</entry>
- <entry>7.0-STABLE after some &man.lockmgr.9; changes,
- which makes it necessary to include
- <filename>sys/lock.h</filename> in order to use
- &man.lockmgr.9;.</entry>
- </row>
-
- <row>
- <entry>700109</entry>
- <entry>May 27, 2008</entry>
- <entry>7.0-STABLE after MFC of the
- <function>memrchr</function> function.</entry>
- </row>
-
- <row>
- <entry>700110</entry>
- <entry>August 5, 2008</entry>
- <entry>7.0-STABLE after MFC of kernel NFS lockd
- client.</entry>
- </row>
-
- <row>
- <entry>700111</entry>
- <entry>August 20, 2008</entry>
- <entry>7.0-STABLE after addition of physically
- contiguous jumbo frame support.</entry>
- </row>
-
- <row>
- <entry>700112</entry>
- <entry>August 27, 2008</entry>
- <entry>7.0-STABLE after MFC of kernel DTrace
- support.</entry>
- </row>
-
- <row>
- <entry>701000</entry>
- <entry>November 25, 2008</entry>
- <entry>7.1-RELEASE</entry>
- </row>
-
- <row>
- <entry>701100</entry>
- <entry>November 25, 2008</entry>
- <entry>7.1-STABLE after 7.1-RELEASE.</entry>
- </row>
-
- <row>
- <entry>701101</entry>
- <entry>January 10, 2009</entry>
- <entry>7.1-STABLE after <function>strndup</function>
- merge.</entry>
- </row>
-
- <row>
- <entry>701102</entry>
- <entry>January 17, 2009</entry>
- <entry>7.1-STABLE after cpuctl(4) support
- added.</entry>
- </row>
-
- <row>
- <entry>701103</entry>
- <entry>February 7, 2009</entry>
- <entry>7.1-STABLE after the merge of
- multi-/no-IPv4/v6 jails.</entry>
- </row>
-
- <row>
- <entry>701104</entry>
- <entry>February 14, 2009</entry>
- <entry>7.1-STABLE after the store of the suspension
- owner in the struct mount, and introduction of
- vfs_susp_clean method into the struct vfsops.</entry>
- </row>
-
- <row>
- <entry>701105</entry>
- <entry>March 12, 2009</entry>
- <entry>7.1-STABLE after the incompatible change
- to the kern.ipc.shmsegs sysctl to allow to allocate
- larger SysV shared memory segments on 64bit
- architectures.</entry>
- </row>
-
- <row>
- <entry>701106</entry>
- <entry>March 14, 2009</entry>
- <entry>7.1-STABLE after the merge of a fix for
- POSIX semaphore wait operations.</entry>
- </row>
-
- <row>
- <entry>702000</entry>
- <entry>April 15, 2009</entry>
- <entry>7.2-RELEASE</entry>
- </row>
-
- <row>
- <entry>702100</entry>
- <entry>April 15, 2009</entry>
- <entry>7.2-STABLE after 7.2-RELEASE.</entry>
- </row>
-
- <row>
- <entry>702101</entry>
- <entry>May 15, 2009</entry>
- <entry>7.2-STABLE after ichsmb(4) was changed to
- use left-adjusted slave addressing to match other
- SMBus controller drivers.</entry>
- </row>
-
- <row>
- <entry>702102</entry>
- <entry>May 28, 2009</entry>
- <entry>7.2-STABLE after MFC of the
- <function>fdopendir</function> function.</entry>
- </row>
-
- <row>
- <entry>702103</entry>
- <entry>June 06, 2009</entry>
- <entry>7.2-STABLE after MFC of PmcTools.</entry>
- </row>
-
- <row>
- <entry>702104</entry>
- <entry>July 14, 2009</entry>
- <entry>7.2-STABLE after MFC of the
- <function>closefrom</function> system call.</entry>
- </row>
-
- <row>
- <entry>702105</entry>
- <entry>July 31, 2009</entry>
- <entry>7.2-STABLE after MFC of the SYSVIPC ABI
- change.</entry>
- </row>
-
- <row>
- <entry>702106</entry>
- <entry>September 14, 2009</entry>
- <entry>7.2-STABLE after MFC of the x86 PAT
- enhancements and addition of d_mmap_single() and
- the scatter/gather list VM object type.</entry>
- </row>
-
- <row>
- <entry>703000</entry>
- <entry>February 9, 2010</entry>
- <entry>7.3-RELEASE</entry>
- </row>
-
- <row>
- <entry>703100</entry>
- <entry>February 9, 2010</entry>
- <entry>7.3-STABLE after 7.3-RELEASE.</entry>
- </row>
-
- <row>
- <entry>704000</entry>
- <entry>December 22, 2010</entry>
- <entry>7.4-RELEASE</entry>
- </row>
-
- <row>
- <entry>704100</entry>
- <entry>December 22, 2010</entry>
- <entry>7.4-STABLE after 7.4-RELEASE.</entry>
- </row>
-
- <row>
- <entry>800000</entry>
- <entry>October 11, 2007</entry>
- <entry>8.0-CURRENT. Separating wide and single byte
- ctype.</entry>
- </row>
-
- <row>
- <entry>800001</entry>
- <entry>October 16, 2007</entry>
- <entry>8.0-CURRENT after libpcap 0.9.8 and tcpdump 3.9.8
- import.</entry>
- </row>
-
- <row>
- <entry>800002</entry>
- <entry>October 21, 2007</entry>
- <entry>8.0-CURRENT after renaming kthread_create()
- and friends to kproc_create() etc.</entry>
- </row>
-
- <row>
- <entry>800003</entry>
- <entry>October 24, 2007</entry>
- <entry>8.0-CURRENT after ABI backwards compatibility
- to the FreeBSD 4/5/6 versions of the PCIOCGETCONF,
- PCIOCREAD and PCIOCWRITE IOCTLs was added, which
- required the ABI of the PCIOCGETCONF IOCTL to be
- broken again</entry>
- </row>
-
- <row>
- <entry>800004</entry>
- <entry>November 12, 2007</entry>
- <entry>8.0-CURRENT after agp(4) driver moved from
- src/sys/pci to src/sys/dev/agp</entry>
- </row>
-
- <row>
- <entry>800005</entry>
- <entry>December 4, 2007</entry>
- <entry>8.0-CURRENT after changes to the jumbo frame
- allocator (rev <svnref>174247</svnref>).</entry>
- </row>
-
- <row>
- <entry>800006</entry>
- <entry>December 7, 2007</entry>
- <entry>8.0-CURRENT after the addition of callgraph
- capture functionality to &man.hwpmc.4;.</entry>
- </row>
-
- <row>
- <entry>800007</entry>
- <entry>December 25, 2007</entry>
- <entry>8.0-CURRENT after kdb_enter() gains a "why"
- argument.</entry>
- </row>
-
- <row>
- <entry>800008</entry>
- <entry>December 28, 2007</entry>
- <entry>8.0-CURRENT after LK_EXCLUPGRADE option
- removal.</entry>
- </row>
-
- <row>
- <entry>800009</entry>
- <entry>January 9, 2008</entry>
- <entry>8.0-CURRENT after introduction of
- &man.lockmgr.disown.9;</entry>
- </row>
-
- <row>
- <entry>800010</entry>
- <entry>January 10, 2008</entry>
- <entry>8.0-CURRENT after the &man.vn.lock.9; prototype
- change.</entry>
- </row>
-
- <row>
- <entry>800011</entry>
- <entry>January 13, 2008</entry>
- <entry>8.0-CURRENT after the &man.VOP.LOCK.9; and
- &man.VOP.UNLOCK.9; prototype changes.</entry>
- </row>
-
- <row>
- <entry>800012</entry>
- <entry>January 19, 2008</entry>
- <entry>8.0-CURRENT after introduction of
- &man.lockmgr.recursed.9;, &man.BUF.RECURSED.9; and
- &man.BUF.ISLOCKED.9; and the removal of
- <function>BUF_REFCNT()</function>.</entry>
- </row>
-
- <row>
- <entry>800013</entry>
- <entry>January 23, 2008</entry>
- <entry>8.0-CURRENT after introduction of the
- <quote>ASCII</quote> encoding.</entry>
- </row>
-
- <row>
- <entry>800014</entry>
- <entry>January 24, 2008</entry>
- <entry>8.0-CURRENT after changing the prototype of
- &man.lockmgr.9; and removal of
- <function>lockcount()</function> and
- <function>LOCKMGR_ASSERT()</function>.</entry>
- </row>
-
- <row>
- <entry>800015</entry>
- <entry>January 26, 2008</entry>
- <entry>8.0-CURRENT after extending the types
- of the &man.fts.3; structures.</entry>
- </row>
-
- <row>
- <entry>800016</entry>
- <entry>February 1, 2008</entry>
- <entry>8.0-CURRENT after adding an argument to
- MEXTADD(9)</entry>
- </row>
-
- <row>
- <entry>800017</entry>
- <entry>February 6, 2008</entry>
- <entry>8.0-CURRENT after the introduction of
- LK_NODUP and LK_NOWITNESS options in the
- &man.lockmgr.9; space.</entry>
- </row>
-
- <row>
- <entry>800018</entry>
- <entry>February 8, 2008</entry>
- <entry>8.0-CURRENT after the addition of
- m_collapse.</entry>
- </row>
-
- <row>
- <entry>800019</entry>
- <entry>February 9, 2008</entry>
- <entry>8.0-CURRENT after the addition of current
- working directory, root directory, and jail
- directory support to the kern.proc.filedesc
- sysctl.</entry>
- </row>
-
- <row>
- <entry>800020</entry>
- <entry>February 13, 2008</entry>
- <entry>8.0-CURRENT after introduction of
- &man.lockmgr.assert.9; and
- <function>BUF_ASSERT</function> functions.</entry>
- </row>
-
- <row>
- <entry>800021</entry>
- <entry>February 15, 2008</entry>
- <entry>8.0-CURRENT after introduction of
- &man.lockmgr.args.9; and LK_INTERNAL flag
- removal.</entry>
- </row>
-
- <row>
- <entry>800022</entry>
- <entry>(backed out)</entry>
- <entry>8.0-CURRENT after changing the default system ar
- to BSD &man.ar.1;.</entry>
- </row>
-
- <row>
- <entry>800023</entry>
- <entry>February 25, 2008</entry>
- <entry>8.0-CURRENT after changing the prototypes of
- &man.lockstatus.9; and &man.VOP.ISLOCKED.9;, more
- specifically retiring the
- <literal>struct thread</literal> argument.</entry>
- </row>
-
- <row>
- <entry>800024</entry>
- <entry>March 1, 2008</entry>
- <entry>8.0-CURRENT after axing out the
- <function>lockwaiters</function> and
- <function>BUF_LOCKWAITERS</function> functions,
- changing the return value of
- <function>brelvp</function> from void to int and
- introducing new flags for &man.lockinit.9;.</entry>
- </row>
-
- <row>
- <entry>800025</entry>
- <entry>March 8, 2008</entry>
- <entry>8.0-CURRENT after adding F_DUP2FD command
- to &man.fcntl.2;.</entry>
- </row>
-
- <row>
- <entry>800026</entry>
- <entry>March 12, 2008</entry>
- <entry>8.0-CURRENT after changing the priority parameter
- to cv_broadcastpri such that 0 means no
- priority.</entry>
- </row>
-
- <row>
- <entry>800027</entry>
- <entry>March 24, 2008</entry>
- <entry>8.0-CURRENT after changing the bpf monitoring ABI
- when zerocopy bpf buffers were added.</entry>
- </row>
-
- <row>
- <entry>800028</entry>
- <entry>March 26, 2008</entry>
- <entry>8.0-CURRENT after adding l_sysid to struct
- flock.</entry>
- </row>
-
- <row>
- <entry>800029</entry>
- <entry>March 28, 2008</entry>
- <entry>8.0-CURRENT after reintegration of the
- <function>BUF_LOCKWAITERS</function> function and the
- addition of &man.lockmgr.waiters.9;.</entry>
- </row>
-
- <row>
- <entry>800030</entry>
- <entry>April 1, 2008</entry>
- <entry>8.0-CURRENT after the introduction of the
- &man.rw.try.rlock.9; and &man.rw.try.wlock.9;
- functions.</entry>
- </row>
-
- <row>
- <entry>800031</entry>
- <entry>April 6, 2008</entry>
- <entry>8.0-CURRENT after the introduction of the
- <function>lockmgr_rw</function> and
- <function>lockmgr_args_rw</function>
- functions.</entry>
- </row>
-
- <row>
- <entry>800032</entry>
- <entry>April 8, 2008</entry>
- <entry>8.0-CURRENT after the implementation of the
- openat and related syscalls, introduction of the
- O_EXEC flag for the &man.open.2;, and providing the
- corresponding linux compatibility syscalls.</entry>
- </row>
-
- <row>
- <entry>800033</entry>
- <entry>April 8, 2008</entry>
- <entry>8.0-CURRENT after added &man.write.2; support for
- &man.psm.4; in native operation level. Now arbitrary
- commands can be written to
- <devicename>/dev/psm%d</devicename> and status can be
- read back from it.</entry>
- </row>
-
- <row>
- <entry>800034</entry>
- <entry>April 10, 2008</entry>
- <entry>8.0-CURRENT after introduction of the
- <function>memrchr</function> function.</entry>
- </row>
-
- <row>
- <entry>800035</entry>
- <entry>April 16, 2008</entry>
- <entry>8.0-CURRENT after introduction of the
- <function>fdopendir</function> function.</entry>
- </row>
-
- <row>
- <entry>800036</entry>
- <entry>April 20, 2008</entry>
- <entry>8.0-CURRENT after switchover of 802.11 wireless
- to multi-bss support (aka vaps).</entry>
- </row>
-
- <row>
- <entry>800037</entry>
- <entry>May 9, 2008</entry>
- <entry>8.0-CURRENT after addition of multi routing
- table support (aka setfib(1), setfib(2)).</entry>
- </row>
-
- <row>
- <entry>800038</entry>
- <entry>May 26, 2008</entry>
- <entry>8.0-CURRENT after removal of netatm and
- ISDN4BSD. Also, the addition of the
- Compact C Type (CTF) tools.</entry>
- </row>
-
- <row>
- <entry>800039</entry>
- <entry>June 14, 2008</entry>
- <entry>8.0-CURRENT after removal of sgtty.</entry>
- </row>
-
- <row>
- <entry>800040</entry>
- <entry>June 26, 2008</entry>
- <entry>8.0-CURRENT with kernel NFS lockd client.</entry>
- </row>
-
- <row>
- <entry>800041</entry>
- <entry>July 22, 2008</entry>
- <entry>8.0-CURRENT after addition of arc4random_buf(3)
- and arc4random_uniform(3).</entry>
- </row>
-
- <row>
- <entry>800042</entry>
- <entry>August 8, 2008</entry>
- <entry>8.0-CURRENT after addition of cpuctl(4).</entry>
- </row>
-
- <row>
- <entry>800043</entry>
- <entry>August 13, 2008</entry>
- <entry>8.0-CURRENT after changing bpf(4) to use a
- single device node, instead of device cloning.</entry>
- </row>
-
- <row>
- <entry>800044</entry>
- <entry>August 17, 2008</entry>
- <entry>8.0-CURRENT after the commit of the first step of
- the vimage project renaming global variables to be
- virtualized with a V_ prefix with macros to map them
- back to their global names.</entry>
- </row>
-
- <row>
- <entry>800045</entry>
- <entry>August 20, 2008</entry>
- <entry>8.0-CURRENT after the integration of the
- MPSAFE TTY layer, including changes to various
- drivers and utilities that interact with it.</entry>
- </row>
-
- <row>
- <entry>800046</entry>
- <entry>September 8, 2008</entry>
- <entry>8.0-CURRENT after the separation of the GDT
- per CPU on amd64 architecture.</entry>
- </row>
-
- <row>
- <entry>800047</entry>
- <entry>September 10, 2008</entry>
- <entry>8.0-CURRENT after removal of VSVTX, VSGID
- and VSUID.</entry>
- </row>
-
- <row>
- <entry>800048</entry>
- <entry>September 16, 2008</entry>
- <entry>8.0-CURRENT after converting the kernel NFS mount
- code to accept individual mount options in the
- nmount() iovec, not just one big
- struct nfs_args.</entry>
- </row>
-
- <row>
- <entry>800049</entry>
- <entry>September 17, 2008</entry>
- <entry>8.0-CURRENT after the removal of &man.suser.9;
- and &man.suser.cred.9;.</entry>
- </row>
-
- <row>
- <entry>800050</entry>
- <entry>October 20, 2008</entry>
- <entry>8.0-CURRENT after buffer cache API
- change.</entry>
- </row>
-
- <row>
- <entry>800051</entry>
- <entry>October 23, 2008</entry>
- <entry>8.0-CURRENT after the removal of the
- &man.MALLOC.9; and &man.FREE.9; macros.</entry>
- </row>
-
- <row>
- <entry>800052</entry>
- <entry>October 28, 2008</entry>
- <entry>8.0-CURRENT after the introduction of accmode_t
- and renaming of VOP_ACCESS 'a_mode' argument
- to 'a_accmode'.</entry>
- </row>
-
- <row>
- <entry>800053</entry>
- <entry>November 2, 2008</entry>
- <entry>8.0-CURRENT after the prototype change of
- &man.vfs.busy.9; and the introduction of its
- MBF_NOWAIT and MBF_MNTLSTLOCK flags.</entry>
- </row>
-
- <row>
- <entry>800054</entry>
- <entry>November 22, 2008</entry>
- <entry>8.0-CURRENT after the addition of buf_ring,
- memory barriers and ifnet functions to facilitate
- multiple hardware transmit queues for cards that
- support them, and a lockless ring-buffer
- implementation to enable drivers to more efficiently
- manage queuing of packets.</entry>
- </row>
-
- <row>
- <entry>800055</entry>
- <entry>November 27, 2008</entry>
- <entry>8.0-CURRENT after the addition of Intel&trade;
- Core, Core2, and Atom support to
- &man.hwpmc.4;.</entry>
- </row>
-
- <row>
- <entry>800056</entry>
- <entry>November 29, 2008</entry>
- <entry>8.0-CURRENT after the introduction of
- multi-/no-IPv4/v6 jails.</entry>
- </row>
-
- <row>
- <entry>800057</entry>
- <entry>December 1, 2008</entry>
- <entry>8.0-CURRENT after the switch to the
- ath hal source code.</entry>
- </row>
-
- <row>
- <entry>800058</entry>
- <entry>December 12, 2008</entry>
- <entry>8.0-CURRENT after the introduction of
- the VOP_VPTOCNP operation.</entry>
- </row>
-
- <row>
- <entry>800059</entry>
- <entry>December 15, 2008</entry>
- <entry>8.0-CURRENT incorporates the
- new arp-v2 rewrite.</entry>
- </row>
-
- <row>
- <entry>800060</entry>
- <entry>December 19, 2008</entry>
- <entry>8.0-CURRENT after the addition of makefs.</entry>
- </row>
-
- <row>
- <entry>800061</entry>
- <entry>January 15, 2009</entry>
- <entry>8.0-CURRENT after TCP Appropriate Byte
- Counting.</entry>
- </row>
-
- <row>
- <entry>800062</entry>
- <entry>January 28, 2009</entry>
- <entry>8.0-CURRENT after removal of minor(),
- minor2unit(), unit2minor(), etc.</entry>
- </row>
-
- <row>
- <entry>800063</entry>
- <entry>February 18, 2009</entry>
- <entry>8.0-CURRENT after GENERIC config change to use
- the USB2 stack, but also the addition of
- fdevname(3).</entry>
- </row>
-
- <row>
- <entry>800064</entry>
- <entry>February 23, 2009</entry>
- <entry>8.0-CURRENT after the USB2 stack is moved to and
- replaces dev/usb.</entry>
- </row>
-
- <row>
- <entry>800065</entry>
- <entry>February 26, 2009</entry>
- <entry>8.0-CURRENT after the renaming of all functions
- in libmp(3).</entry>
- </row>
-
- <row>
- <entry>800066</entry>
- <entry>February 27, 2009</entry>
- <entry>8.0-CURRENT after changing USB devfs handling and
- layout.</entry>
- </row>
-
- <row>
- <entry>800067</entry>
- <entry>February 28, 2009</entry>
- <entry>8.0-CURRENT after adding getdelim(), getline(),
- stpncpy(), strnlen(), wcsnlen(), wcscasecmp(), and
- wcsncasecmp().</entry>
- </row>
-
- <row>
- <entry>800068</entry>
- <entry>March 2, 2009</entry>
- <entry>8.0-CURRENT after renaming the ushub devclass to
- uhub.</entry>
- </row>
-
- <row>
- <entry>800069</entry>
- <entry>March 9, 2009</entry>
- <entry>8.0-CURRENT after libusb20.so.1 was renamed to
- libusb.so.1.</entry>
- </row>
-
- <row>
- <entry>800070</entry>
- <entry>March 9, 2009</entry>
- <entry>8.0-CURRENT after merging IGMPv3 and
- Source-Specific Multicast (SSM) to the IPv4
- stack.</entry>
- </row>
-
- <row>
- <entry>800071</entry>
- <entry>March 14, 2009</entry>
- <entry>8.0-CURRENT after gcc was patched to use C99
- inline semantics in c99 and gnu99 mode.</entry>
- </row>
-
- <row>
- <entry>800072</entry>
- <entry>March 15, 2009</entry>
- <entry>8.0-CURRENT after the IFF_NEEDSGIANT flag has
- been removed; non-MPSAFE network device drivers are no
- longer supported.</entry>
- </row>
-
- <row>
- <entry>800073</entry>
- <entry>March 18, 2009</entry>
- <entry>8.0-CURRENT after the dynamic string token
- substitution has been implemented for rpath and needed
- paths.</entry>
- </row>
-
- <row>
- <entry>800074</entry>
- <entry>March 24, 2009</entry>
- <entry>8.0-CURRENT after tcpdump 4.0.0 and
- libpcap 1.0.0 import.</entry>
- </row>
-
- <row>
- <entry>800075</entry>
- <entry>April 6, 2009</entry>
- <entry>8.0-CURRENT after layout of structs vnet_net,
- vnet_inet and vnet_ipfw has been changed.</entry>
- </row>
-
- <row>
- <entry>800076</entry>
- <entry>April 9, 2009</entry>
- <entry>8.0-CURRENT after adding delay profiles in
- dummynet.</entry>
- </row>
-
- <row>
- <entry>800077</entry>
- <entry>April 14, 2009</entry>
- <entry>8.0-CURRENT after removing VOP_LEASE() and
- vop_vector.vop_lease.</entry>
- </row>
-
- <row>
- <entry>800078</entry>
- <entry>April 15, 2009</entry>
- <entry>8.0-CURRENT after struct rt_weight fields have
- been added to struct rt_metrics and struct
- rt_metrics_lite, changing the layout of struct
- rt_metrics_lite. A bump to RTM_VERSION was made, but
- backed out.</entry>
- </row>
-
- <row>
- <entry>800079</entry>
- <entry>April 15, 2009</entry>
- <entry>8.0-CURRENT after struct llentry pointers are
- added to struct route and struct route_in6.</entry>
- </row>
-
- <row>
- <entry>800080</entry>
- <entry>April 15, 2009</entry>
- <entry>8.0-CURRENT after layout of struct inpcb has been
- changed.</entry>
- </row>
-
- <row>
- <entry>800081</entry>
- <entry>April 19, 2009</entry>
- <entry>8.0-CURRENT after the layout of struct
- malloc_type has been changed.</entry>
- </row>
-
- <row>
- <entry>800082</entry>
- <entry>April 21, 2009</entry>
- <entry>8.0-CURRENT after the layout of struct ifnet has
- changed, and with if_ref() and if_rele() ifnet
- refcounting.</entry>
- </row>
-
- <row>
- <entry>800083</entry>
- <entry>April 22, 2009</entry>
- <entry>8.0-CURRENT after the implementation of a
- low-level Bluetooth HCI API.</entry>
- </row>
-
- <row>
- <entry>800084</entry>
- <entry>April 29, 2009</entry>
- <entry>8.0-CURRENT after IPv6 SSM and MLDv2
- changes.</entry>
- </row>
-
- <row>
- <entry>800085</entry>
- <entry>April 30, 2009</entry>
- <entry>8.0-CURRENT after enabling support for
- VIMAGE kernel builds with one active image.</entry>
- </row>
-
- <row>
- <entry>800086</entry>
- <entry>May 8, 2009</entry>
- <entry>8.0-CURRENT after adding support for input lines
- of arbitrarily length in patch(1).</entry>
- </row>
-
- <row>
- <entry>800087</entry>
- <entry>May 11, 2009</entry>
- <entry>8.0-CURRENT after some VFS KPI changes. The
- thread argument has been removed from the FSD parts of
- the VFS. <function>VFS_*</function> functions do not
- need the context any more because it always refers to
- <varname>curthread</varname>. In some special cases,
- the old behavior is retained.</entry>
- </row>
-
- <row>
- <entry>800088</entry>
- <entry>May 20, 2009</entry>
- <entry>8.0-CURRENT after net80211 monitor mode
- changes.</entry>
- </row>
-
- <row>
- <entry>800089</entry>
- <entry>May 23, 2009</entry>
- <entry>8.0-CURRENT after adding UDP control block
- support.</entry>
- </row>
-
- <row>
- <entry>800090</entry>
- <entry>May 23, 2009</entry>
- <entry>8.0-CURRENT after virtualizing interface
- cloning.</entry>
- </row>
-
- <row>
- <entry>800091</entry>
- <entry>May 27, 2009</entry>
- <entry>8.0-CURRENT after adding hierarchical jails
- and removing global securelevel.</entry>
- </row>
-
- <row>
- <entry>800092</entry>
- <entry>May 29, 2009</entry>
- <entry>8.0-CURRENT after changing
- <function>sx_init_flags()</function> KPI. The
- <constant>SX_ADAPTIVESPIN</constant> is retired and a
- new <constant>SX_NOADAPTIVE</constant> flag is
- introduced in order to handle the reversed
- logic.</entry>
- </row>
-
- <row>
- <entry>800093</entry>
- <entry>May 29, 2009</entry>
- <entry>8.0-CURRENT after adding mnt_xflag to
- struct mount.</entry>
- </row>
-
- <row>
- <entry>800094</entry>
- <entry>May 30, 2009</entry>
- <entry>8.0-CURRENT after adding
- &man.VOP.ACCESSX.9;.</entry>
- </row>
-
- <row>
- <entry>800095</entry>
- <entry>May 30, 2009</entry>
- <entry>8.0-CURRENT after changing the polling KPI.
- The polling handlers now return the number of packets
- processed. A new
- <constant>IFCAP_POLLING_NOCOUNT</constant> is also
- introduced to specify that the return value is
- not significant and the counting should be
- skipped.</entry>
- </row>
-
- <row>
- <entry>800096</entry>
- <entry>June 1, 2009</entry>
- <entry>8.0-CURRENT after updating to the new netisr
- implementation and after changing the way we
- store and access FIBs.</entry>
- <!--
- Had been 96 and 97 but were folded because we are
- running out of numbers.
- -->
- </row>
-
- <row>
- <entry>800097</entry>
- <entry>June 8, 2009</entry>
- <entry>8.0-CURRENT after the introduction of vnet
- destructor hooks and infrastructure.</entry>
- </row>
-
- <row>
- <entry>800097</entry>
- <entry>June 11, 2009</entry>
- <entry>8.0-CURRENT after the introduction of netgraph
- outbound to inbound path call detection and queuing,
- which also changed the layout of struct
- thread.</entry>
- </row>
-
- <row>
- <entry>800098</entry>
- <entry>June 14, 2009</entry>
- <entry>8.0-CURRENT after OpenSSL 0.9.8k import.</entry>
- </row>
-
- <row>
- <entry>800099</entry>
- <entry>June 22, 2009</entry>
- <entry>8.0-CURRENT after NGROUPS update and moving
- route virtualization into its own VImage
- module.</entry>
- </row>
-
- <row>
- <entry>800100</entry>
- <entry>June 24, 2009</entry>
- <entry>8.0-CURRENT after SYSVIPC ABI change.</entry>
- </row>
-
- <row>
- <entry>800101</entry>
- <entry>June 29, 2009</entry>
- <entry>8.0-CURRENT after the removal of the
- /dev/net/* per-interface character
- devices.</entry>
- </row>
-
- <row>
- <entry>800102</entry>
- <entry>July 12, 2009</entry>
- <entry>8.0-CURRENT after padding was added to
- struct sackhint, struct tcpcb, and struct
- tcpstat.</entry>
- </row>
-
- <row>
- <entry>800103</entry>
- <entry>July 13, 2009</entry>
- <entry>8.0-CURRENT after replacing struct tcpopt
- with struct toeopt in the TOE driver interface
- to the TCP syncache.</entry>
- </row>
-
- <row>
- <entry>800104</entry>
- <entry>July 14, 2009</entry>
- <entry>8.0-CURRENT after the addition of the
- linker-set based per-vnet allocator.</entry>
- </row>
-
- <row>
- <entry>800105</entry>
- <entry>July 19, 2009</entry>
- <entry>8.0-CURRENT after version bump for all
- shared libraries that do not have symbol versioning
- turned on.</entry>
- </row>
-
- <row>
- <entry>800106</entry>
- <entry>July 24, 2009</entry>
- <entry>8.0-CURRENT after introduction of OBJT_SG
- VM object type.</entry>
- </row>
-
- <row>
- <entry>800107</entry>
- <entry>August 2, 2009</entry>
- <entry>8.0-CURRENT after making the newbus subsystem
- Giant free by adding the newbus sxlock and
- 8.0-RELEASE.</entry>
- </row>
-
- <row>
- <entry>800108</entry>
- <entry>November 21, 2009</entry>
- <entry>8.0-STABLE after implementing EVFILT_USER kevent
- filter.</entry>
- </row>
-
- <row>
- <entry>800500</entry>
- <entry>January 7, 2010</entry>
- <entry>8.0-STABLE after
- <literal>__FreeBSD_version</literal> bump to make
- <command>pkg_add -r</command> use
- packages-8-stable.</entry>
- </row>
-
- <row>
- <entry>800501</entry>
- <entry>January 24, 2010</entry>
- <entry>8.0-STABLE after change of the
- <function>scandir(3)</function> and
- <function>alphasort(3)</function> prototypes to
- conform to SUSv4.</entry>
- </row>
-
- <row>
- <entry>800502</entry>
- <entry>January 31, 2010</entry>
- <entry>8.0-STABLE after addition of
- <function>sigpause(3)</function>.</entry>
- </row>
-
- <row>
- <entry>800503</entry>
- <entry>February 25, 2010</entry>
- <entry>8.0-STABLE after addition of SIOCGIFDESCR
- and SIOCSIFDESCR ioctls to network interfaces. These
- ioctl can be used to manipulate interface description,
- as inspired by OpenBSD.</entry>
- </row>
-
- <row>
- <entry>800504</entry>
- <entry>March 1, 2010</entry>
- <entry>8.0-STABLE after MFC of importing x86emu, a
- software emulator for real mode x86 CPU from
- OpenBSD.</entry>
- </row>
-
- <row>
- <entry>800505</entry>
- <entry>May 18, 2010</entry>
- <entry>8.0-STABLE after MFC of adding liblzma, xz,
- xzdec, and lzmainfo.</entry>
- </row>
-
- <row>
- <entry>801000</entry>
- <entry>June 14, 2010</entry>
- <entry>8.1-RELEASE</entry>
- </row>
-
- <row>
- <entry>801500</entry>
- <entry>June 14, 2010</entry>
- <entry>8.1-STABLE after 8.1-RELEASE.</entry>
- </row>
-
- <row>
- <entry>801501</entry>
- <entry>November 3, 2010</entry>
- <entry>8.1-STABLE after KBI change in struct sysentvec,
- and implementation of PL_FLAG_SCE/SCX/EXEC/SI and
- pl_siginfo for ptrace(PT_LWPINFO) .</entry>
- </row>
-
- <row>
- <entry>802000</entry>
- <entry>December 22, 2010</entry>
- <entry>8.2-RELEASE</entry>
- </row>
-
- <row>
- <entry>802500</entry>
- <entry>December 22, 2010</entry>
- <entry>8.2-STABLE after 8.2-RELEASE.</entry>
- </row>
-
- <row>
- <entry>802501</entry>
- <entry>February 28, 2011</entry>
- <entry>8.2-STABLE after merging DTrace changes,
- including support for userland tracing.</entry>
- </row>
-
- <row>
- <entry>802502</entry>
- <entry>March 6, 2011</entry>
- <entry>8.2-STABLE after merging log2 and log2f
- into libm.</entry>
- </row>
-
- <row>
- <entry>802503</entry>
- <entry>May 1, 2011</entry>
- <entry>8.2-STABLE after upgrade of the gcc to the last
- GPLv2 version from the FSF gcc-4_2-branch.</entry>
- </row>
-
- <row>
- <entry>802504</entry>
- <entry>May 28, 2011</entry>
- <entry>8.2-STABLE after introduction of the KPI and
- supporting infrastructure for modular congestion
- control.</entry>
- </row>
-
- <row>
- <entry>802505</entry>
- <entry>May 28, 2011</entry>
- <entry>8.2-STABLE after introduction of Hhook and Khelp
- KPIs.</entry>
- </row>
-
- <row>
- <entry>802506</entry>
- <entry>May 28, 2011</entry>
- <entry>8.2-STABLE after addition of OSD to struct
- tcpcb.</entry>
- </row>
-
- <row>
- <entry>802507</entry>
- <entry>June 6, 2011</entry>
- <entry>8.2-STABLE after ZFS v28 import.</entry>
- </row>
-
- <row>
- <entry>802508</entry>
- <entry>June 8, 2011</entry>
- <entry>8.2-STABLE after removal of the schedtail event
- handler and addition of the sv_schedtail method to
- struct sysvec.</entry>
- </row>
-
- <row>
- <entry>802509</entry>
- <entry>July 14, 2011</entry>
- <entry>8.2-STABLE after merging the SSSE3 support
- into binutils.</entry>
- </row>
-
- <row>
- <entry>802510</entry>
- <entry>July 19, 2011</entry>
- <entry>8.2-STABLE after addition of
- RFTSIGZMB flag for
- <function>rfork(2)</function>.</entry>
- </row>
-
- <row>
- <entry>802511</entry>
- <entry>September 9, 2011</entry>
- <entry>8.2-STABLE after addition of automatic detection
- of USB mass storage devices which do not support the
- no synchronize cache SCSI command.</entry>
- </row>
-
- <row>
- <entry>802512</entry>
- <entry>September 10, 2011</entry>
- <entry>8.2-STABLE after merging of
- re-factoring of auto-quirk.</entry>
- </row>
-
- <row>
- <entry>802513</entry>
- <entry>October 25, 2011</entry>
- <entry>8.2-STABLE after merging of the MAP_PREFAULT_READ
- flag to <function>mmap(2)</function>.</entry>
- </row>
-
- <row>
- <entry>802514</entry>
- <entry>November 16, 2011</entry>
- <entry>8.2-STABLE after merging of
- addition of posix_fallocate(2) syscall.</entry>
- </row>
-
- <row>
- <entry>802515</entry>
- <entry>January 6, 2012</entry>
- <entry>8.2-STABLE after merging of addition of the
- posix_fadvise(2) system call.</entry>
- </row>
-
- <row>
- <entry>802516</entry>
- <entry>January 16, 2012</entry>
- <entry>8.2-STABLE after merging gperf 3.0.3</entry>
- </row>
-
- <row>
- <entry>802517</entry>
- <entry>February 15, 2012</entry>
- <entry>8.2-STABLE after introduction of the new
- extensible sysctl(3) interface NET_RT_IFLISTL
- to query address lists (rev
- <svnref>231769</svnref>).</entry>
- </row>
-
- <row>
- <entry>803000</entry>
- <entry>March 3, 2012</entry>
- <entry>8.3-RELEASE.</entry>
- </row>
-
- <row>
- <entry>803500</entry>
- <entry>March 3, 2012</entry>
- <entry>8.3-STABLE after branching releng/8.3
- (RELENG_8_3).</entry>
- </row>
-
- <row>
- <entry>804000</entry>
- <entry>March 28, 2013</entry>
- <entry>8.4-RELEASE.</entry>
- </row>
-
- <row>
- <entry>804500</entry>
- <entry>March 28, 2013</entry>
- <entry>8.4-STABLE after 8.4-RELEASE.</entry>
- </row>
-
- <row>
- <entry>900000</entry>
- <entry>August 22, 2009</entry>
- <entry>9.0-CURRENT.</entry>
- </row>
-
- <row>
- <entry>900001</entry>
- <entry>September 8, 2009</entry>
- <entry>9.0-CURRENT after importing x86emu, a software
- emulator for real mode x86 CPU from OpenBSD.</entry>
- </row>
-
- <row>
- <entry>900002</entry>
- <entry>September 23, 2009</entry>
- <entry>9.0-CURRENT after implementing the EVFILT_USER
- kevent filter functionality.</entry>
- </row>
-
- <row>
- <entry>900003</entry>
- <entry>December 2, 2009</entry>
- <entry>9.0-CURRENT after addition of
- <function>sigpause(3)</function> and PIE
- support in csu.</entry>
- </row>
-
- <row>
- <entry>900004</entry>
- <entry>December 6, 2009</entry>
- <entry>9.0-CURRENT after addition of libulog and its
- libutempter compatibility interface.</entry>
- </row>
-
- <row>
- <entry>900005</entry>
- <entry>December 12, 2009</entry>
- <entry>9.0-CURRENT after addition of
- <function>sleepq_sleepcnt()</function>, which can be
- used to query the number of waiters on a specific
- waiting queue.</entry>
- </row>
-
- <row>
- <entry>900006</entry>
- <entry>January 4, 2010</entry>
- <entry>9.0-CURRENT after change of the
- <function>scandir(3)</function> and
- <function>alphasort(3)</function> prototypes to
- conform to SUSv4.</entry>
- </row>
-
- <row>
- <entry>900007</entry>
- <entry>January 13, 2010</entry>
- <entry>9.0-CURRENT after the removal of utmp(5) and
- the addition of utmpx (see
- <function>getutxent(3)</function>) for improved
- logging of user logins and system events.</entry>
- </row>
-
- <row>
- <entry>900008</entry>
- <entry>January 20, 2010</entry>
- <entry>9.0-CURRENT after the import of BSDL bc/dc and
- the deprecation of GNU bc/dc.</entry>
- </row>
-
- <row>
- <entry>900009</entry>
- <entry>January 26, 2010</entry>
- <entry>9.0-CURRENT after the addition of SIOCGIFDESCR
- and SIOCSIFDESCR ioctls to network interfaces. These
- ioctl can be used to manipulate interface description,
- as inspired by OpenBSD.</entry>
- </row>
-
- <row>
- <entry>900010</entry>
- <entry>March 22, 2010</entry>
- <entry>9.0-CURRENT after the import of zlib
- 1.2.4.</entry>
- </row>
-
- <row>
- <entry>900011</entry>
- <entry>April 24, 2010</entry>
- <entry>9.0-CURRENT after adding soft-updates
- journalling.</entry>
- </row>
-
- <row>
- <entry>900012</entry>
- <entry>May 10, 2010</entry>
- <entry>9.0-CURRENT after adding liblzma, xz, xzdec,
- and lzmainfo.</entry>
- </row>
-
- <row>
- <entry>900013</entry>
- <entry>May 24, 2010</entry>
- <entry>9.0-CURRENT after bringing in USB fixes for
- linux(4).</entry>
- </row>
-
- <row>
- <entry>900014</entry>
- <entry>June 10, 2010</entry>
- <entry>9.0-CURRENT after adding Clang.</entry>
- </row>
-
- <row>
- <entry>900015</entry>
- <entry>July 22, 2010</entry>
- <entry>9.0-CURRENT after the import of BSD grep.</entry>
- </row>
-
- <row>
- <entry>900016</entry>
- <entry>July 28, 2010</entry>
- <entry>9.0-CURRENT after adding mti_zone to
- struct malloc_type_internal.</entry>
- </row>
-
- <row>
- <entry>900017</entry>
- <entry>August 23, 2010</entry>
- <entry>9.0-CURRENT after changing back default grep to
- GNU grep and adding WITH_BSD_GREP knob.</entry>
- </row>
-
- <row>
- <entry>900018</entry>
- <entry>August 24, 2010</entry>
- <entry>9.0-CURRENT after the
- <function>pthread_kill(3)</function> -generated signal
- is identified as SI_LWP in si_code. Previously,
- si_code was SI_USER.</entry>
- </row>
-
- <row>
- <entry>900019</entry>
- <entry>August 28, 2010</entry>
- <entry>9.0-CURRENT after addition of the
- MAP_PREFAULT_READ flag to
- <function>mmap(2)</function>.</entry>
- </row>
-
- <row>
- <entry>900020</entry>
- <entry>September 9, 2010</entry>
- <entry>9.0-CURRENT after adding drain functionality
- to sbufs, which also changed the layout of
- struct sbuf.</entry>
- </row>
-
- <row>
- <entry>900021</entry>
- <entry>September 13, 2010</entry>
- <entry>9.0-CURRENT after DTrace has grown support
- for userland tracing.</entry>
- </row>
-
- <row>
- <entry>900022</entry>
- <entry>October 2, 2010</entry>
- <entry>9.0-CURRENT after addition of the BSDL man
- utilities and retirement of GNU/GPL man
- utilities.</entry>
- </row>
-
- <row>
- <entry>900023</entry>
- <entry>October 11, 2010</entry>
- <entry>9.0-CURRENT after updating xz to git 20101010
- snapshot.</entry>
- </row>
-
- <row>
- <entry>900024</entry>
- <entry>November 11, 2010</entry>
- <entry>9.0-CURRENT after libgcc.a was replaced
- by libcompiler_rt.a.</entry>
- </row>
-
- <row>
- <entry>900025</entry>
- <entry>November 12, 2010</entry>
- <entry>9.0-CURRENT after the introduction of the
- modularised congestion control.</entry>
- </row>
-
- <row>
- <entry>900026</entry>
- <entry>November 30, 2010</entry>
- <entry>9.0-CURRENT after the introduction of Serial
- Management Protocol (SMP) passthrough and the
- XPT_SMP_IO and XPT_GDEV_ADVINFO CAM CCBs.</entry>
- </row>
-
- <row>
- <entry>900027</entry>
- <entry>December 5, 2010</entry>
- <entry>9.0-CURRENT after the addition of log2 to
- libm.</entry>
- </row>
-
- <row>
- <entry>900028</entry>
- <entry>December 21, 2010</entry>
- <entry>9.0-CURRENT after the addition of the Hhook
- (Helper Hook), Khelp (Kernel Helpers) and Object
- Specific Data (OSD) KPIs.</entry>
- </row>
-
- <row>
- <entry>900029</entry>
- <entry>December 28, 2010</entry>
- <entry>9.0-CURRENT after the modification of the TCP
- stack to allow Khelp modules to interact with it via
- helper hook points and store per-connection data in
- the TCP control block.</entry>
- </row>
-
- <row>
- <entry>900030</entry>
- <entry>January 12, 2011</entry>
- <entry>9.0-CURRENT after the update of libdialog to
- version 20100428.</entry>
- </row>
-
- <row>
- <entry>900031</entry>
- <entry>February 7, 2011</entry>
- <entry>9.0-CURRENT after the addition of
- <function>pthread_getthreadid_np(3)</function>.</entry>
- </row>
-
- <row>
- <entry>900032</entry>
- <entry>February 8, 2011</entry>
- <entry>9.0-CURRENT after the removal of the uio_yield
- prototype and symbol.</entry>
- </row>
-
- <row>
- <entry>900033</entry>
- <entry>February 18, 2011</entry>
- <entry>9.0-CURRENT after the update of binutils to
- version 2.17.50.</entry>
- </row>
-
- <row>
- <entry>900034</entry>
- <entry>March 8, 2011</entry>
- <entry>9.0-CURRENT after the struct sysvec
- (sv_schedtail) changes.</entry>
- </row>
-
- <row>
- <entry>900035</entry>
- <entry>March 29, 2011</entry>
- <entry>9.0-CURRENT after the update of base gcc and
- libstdc++ to the last GPLv2 licensed revision.</entry>
- </row>
-
- <row>
- <entry>900036</entry>
- <entry>April 18, 2011</entry>
- <entry>9.0-CURRENT after the removal of libobjc and
- Objective-C support from the base system.</entry>
- </row>
-
- <row>
- <entry>900037</entry>
- <entry>May 13, 2011</entry>
- <entry>9.0-CURRENT after importing the libprocstat(3)
- library and fuser(1) utility to the base
- system.</entry>
- </row>
-
- <row>
- <entry>900038</entry>
- <entry>May 22, 2011</entry>
- <entry>9.0-CURRENT after adding a lock flag argument to
- VFS_FHTOVP(9).</entry>
- </row>
-
- <row>
- <entry>900039</entry>
- <entry>June 28, 2011</entry>
- <entry>9.0-CURRENT after importing pf from OpenBSD
- 4.5.</entry>
- </row>
-
- <row>
- <entry>900040</entry>
- <entry>July 19, 2011</entry>
- <entry>Increase default MAXCPU for FreeBSD to 64 on
- amd64 and ia64 and to 128 for XLP (mips).</entry>
- </row>
-
- <row>
- <entry>900041</entry>
- <entry>August 13, 2011</entry>
- <entry>9.0-CURRENT after the implementation of Capsicum
- capabilities; fget(9) gains a rights argument.</entry>
- </row>
-
- <row>
- <entry>900042</entry>
- <entry>August 28, 2011</entry>
- <entry>Bump shared libraries' version numbers for
- libraries whose ABI has changed in preparation for
- 9.0.</entry>
- </row>
-
- <row>
- <entry>900043</entry>
- <entry>September 2, 2011</entry>
- <entry>Add automatic detection of USB mass storage
- devices which do not support the no synchronize cache
- SCSI command.</entry>
- </row>
-
- <row>
- <entry>900044</entry>
- <entry>September 10, 2011</entry>
- <entry>Re-factor auto-quirk. 9.0-RELEASE.</entry>
- </row>
-
-<!-- Note: at one point 900045 was documented as follows, even though
- it was never committed:
- <row>
- <entry>900045</entry>
- <entry>Oct 13, 2011</entry>
- <entry>All non-compatibility system call entry points
- have been prefixed with sys_.</entry>
- </row>
--->
-
- <row>
- <entry>900045</entry>
- <entry>January 2, 2012</entry>
- <entry>9-CURRENT after MFC of true/false from
- 1000002.</entry>
- </row>
-
- <row>
- <entry>900500</entry>
- <entry>January 2, 2012</entry>
- <entry>9.0-STABLE.</entry>
- </row>
-
- <row>
- <entry>900501</entry>
- <entry>January 6, 2012</entry>
- <entry>9.0-STABLE after merging of addition of the
- posix_fadvise(2) system call.</entry>
- </row>
-
- <row>
- <entry>900502</entry>
- <entry>January 16, 2012</entry>
- <entry>9.0-STABLE after merging gperf 3.0.3</entry>
- </row>
-
- <row>
- <entry>900503</entry>
- <entry>February 15, 2012</entry>
- <entry>9.0-STABLE after introduction of the new
- extensible sysctl(3) interface NET_RT_IFLISTL
- to query address lists (rev
- <svnref>231768</svnref>).</entry>
- </row>
-
- <row>
- <entry>900504</entry>
- <entry>March 3, 2012</entry>
- <entry>9.0-STABLE after changes related to mounting
- of filesystem inside a jail (rev
- <svnref>232728</svnref>).</entry>
- </row>
-
- <row>
- <entry>900505</entry>
- <entry>March 13, 2012</entry>
- <entry>9.0-STABLE after introduction of new tcp(4)
- socket options: TCP_KEEPINIT, TCP_KEEPIDLE,
- TCP_KEEPINTVL, and TCP_KEEPCNT (rev
- <svnref>232945</svnref>).</entry>
- </row>
-
- <row>
- <entry>900506</entry>
- <entry>May 22, 2012</entry>
- <entry>9.0-STABLE after introduction of the
- <function>quick_exit</function> function and
- related changes required for C++11 (rev
- <svnref>235786</svnref>).</entry>
- </row>
-
- <row>
- <entry>901000</entry>
- <entry>August 5, 2012</entry>
- <entry>9.1-RELEASE.</entry>
- </row>
-
- <row>
- <entry>901500</entry>
- <entry>August 6, 2012</entry>
- <entry>9.1-STABLE after branching releng/9.1
- (RELENG_9_1).</entry>
- </row>
-
- <row>
- <entry>901501</entry>
- <entry>November 11, 2012</entry>
- <entry>9.1-STABLE after LIST_PREV() added to queue.h
- (rev <svnref>242893</svnref>) and KBI change in USB
- serial devices (rev <svnref>240659</svnref>).</entry>
- </row>
-
- <row>
- <entry>901502</entry>
- <entry>November 28, 2012</entry>
- <entry>9.1-STABLE after USB serial jitter buffer
- requires rebuild of USB serial device modules.</entry>
- </row>
-
- <row>
- <entry>901503</entry>
- <entry>February 21, 2013</entry>
- <entry>9.1-STABLE after USB moved to the driver
- structure requiring a rebuild of all USB modules.
- Also indicates the presence of nmtree.</entry>
- </row>
-
- <row>
- <entry>901504</entry>
- <entry>March 15, 2013</entry>
- <entry>9.1-STABLE after install gained -l, -M, -N and
- related flags and cat gained the -l option.</entry>
- </row>
-
- <row>
- <entry>901505</entry>
- <entry>June 13, 2013</entry>
- <entry>9.1-STABLE after fixes in ctfmerge boostrapping
- (rev <svnref>249243</svnref>).</entry>
- </row>
-
- <row>
- <entry>902001</entry>
- <entry>August 3, 2013</entry>
- <entry><literal>releng/9.2</literal> branched from
- <literal>stable/9</literal>
- (rev <svnref>253912</svnref>).</entry>
- </row>
-
- <row>
- <entry>902501</entry>
- <entry>August 2, 2013</entry>
- <entry>9.2-STABLE after creation of
- <literal>releng/9.2</literal> branch
- (rev <svnref>253913</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000000</entry>
- <entry>September 26, 2011</entry>
- <entry>10.0-CURRENT.</entry>
- </row>
-
- <row>
- <entry>1000001</entry>
- <entry>November 4, 2011</entry>
- <entry>10-CURRENT after addition of the posix_fadvise(2)
- system call.</entry>
- </row>
-
- <row>
- <entry>1000002</entry>
- <entry>December 12, 2011</entry>
- <entry>10-CURRENT after defining boolean true/false in
- sys/types.h, sizeof(bool) may have changed (rev
- <svnref>228444</svnref>). 10-CURRENT after xlocale.h
- was introduced (rev
- <svnref>227753</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000003</entry>
- <entry>December 16, 2011</entry>
- <entry>10-CURRENT after major changes to carp(4),
- changing size of struct&nbsp;in_aliasreq,
- struct&nbsp;in6_aliasreq (rev <svnref>228571</svnref>)
- and straitening arguments check of SIOCAIFADDR (rev
- <svnref>228574</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000004</entry>
- <entry>January 1, 2012</entry>
- <entry>10-CURRENT after the removal of skpc(9) and the
- addition of memcchr(9) (rev
- <svnref>229200</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000005</entry>
- <entry>January 16, 2012</entry>
- <entry>10-CURRENT after the removal of support for
- SIOCSIFADDR, SIOCSIFNETMASK, SIOCSIFBRDADDR,
- SIOCSIFDSTADDR ioctls (rev
- <svnref>230207</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000006</entry>
- <entry>January 26, 2012</entry>
- <entry>10-CURRENT after introduction of read capacity
- data asynchronous notification in the cam(4) layer
- (rev <svnref>230590</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000007</entry>
- <entry>February 5, 2012</entry>
- <entry>10-CURRENT after introduction of new tcp(4)
- socket options: TCP_KEEPINIT, TCP_KEEPIDLE,
- TCP_KEEPINTVL, and TCP_KEEPCNT (rev
- <svnref>231025</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000008</entry>
- <entry>February 11, 2012</entry>
- <entry>10-CURRENT after introduction of the new
- extensible sysctl(3) interface NET_RT_IFLISTL
- to query address lists (rev
- <svnref>231505</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000009</entry>
- <entry>February 25, 2012</entry>
- <entry>10-CURRENT after import of libarchive 3.0.3
- (rev <svnref>232153</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000010</entry>
- <entry>March 31, 2012</entry>
- <entry>10-CURRENT after xlocale cleanup (rev
- <svnref>233757</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000011</entry>
- <entry>April 16, 2012</entry>
- <entry>10-CURRENT import of LLVM/Clang 3.1 trunk r154661
- (rev <svnref>234353</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000012</entry>
- <entry>May 2, 2012</entry>
- <entry>10-CURRENT jemalloc import
- (rev <svnref>234924</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000013</entry>
- <entry>May 22, 2012</entry>
- <entry>10-CURRENT after byacc import
- (rev <svnref>235788</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000014</entry>
- <entry>June 27, 2012</entry>
- <entry>10-CURRENT after BSD sort becoming the default
- sort (rev <svnref>237629</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000015</entry>
- <entry>July 12, 2012</entry>
- <entry>10-CURRENT after import of OpenSSL 1.0.1c
- (rev <svnref>238405</svnref>).</entry>
- </row>
-
- <row>
- <entry>(not changed)</entry>
- <entry>July 13, 2012</entry>
- <entry>10-CURRENT after the fix for LLVM/Clang 3.1
- regression (rev <svnref>238429</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000016</entry>
- <entry>August 8, 2012</entry>
- <entry>10-CURRENT after KBI change in &man.ucom.4;
- (rev <svnref>239179</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000017</entry>
- <entry>August 8, 2012</entry>
- <entry>10-CURRENT after adding streams feature to the
- USB stack (rev <svnref>239214</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000018</entry>
- <entry>September 8, 2012</entry>
- <entry>10-CURRENT after major rewrite of &man.pf.4;
- (rev <svnref>240233</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000019</entry>
- <entry>October 6, 2012</entry>
- <entry>10-CURRENT after &man.pfil.9; KBI/KPI changed
- to supply packets in net byte order to AF_INET
- filter hooks (rev <svnref>241245</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000020</entry>
- <entry>October 16, 2012</entry>
- <entry>10-CURRENT after the network interface cloning
- KPI changed and struct if_clone becoming opaque (rev
- <svnref>241610</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000021</entry>
- <entry>October 22, 2012</entry>
- <entry>10-CURRENT after removal of support for
- non-MPSAFE filesystems and addition of support for
- FUSEFS (rev
- <svnref>241519</svnref>,
- <svnref>241897</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000022</entry>
- <entry>October 22, 2012</entry>
- <entry>10-CURRENT after the entire IPv4 stack switched
- to network byte order for IP packet header storage
- (rev <svnref>241913</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000023</entry>
- <entry>November 5, 2012</entry>
- <entry>10-CURRENT after jitter buffer in the common USB
- serial driver code, to temporarily store characters
- if the TTY buffer is full. Add flow stop and start
- signals when this happens (rev
- <svnref>242619</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000024</entry>
- <entry>November 5, 2012</entry>
- <entry>10-CURRENT after clang was made the default
- compiler on i386 and amd64
- (rev <svnref>242624</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000025</entry>
- <entry>November 17, 2012</entry>
- <entry>10-CURRENT after the sin6_scope_id member
- variable in struct sockaddr_in6 was changed to being
- filled by the kernel before passing the structure to
- the userland via sysctl or routing socket. This means
- the KAME-specific embedded scope id in
- sin6_addr.s6_addr[2] is always cleared in userland
- application (rev <svnref>243443</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000026</entry>
- <entry>January 11, 2013</entry>
- <entry>10-CURRENT after install gained the -N flag (rev
- <svnref>245313</svnref>). May also be used to
- indicate the presence of nmtree.</entry>
- </row>
-
- <row>
- <entry>1000027</entry>
- <entry>January 29, 2013</entry>
- <entry>10-CURRENT after cat gained the -l flag (rev
- <svnref>246083</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000028</entry>
- <entry>February 13, 2013</entry>
- <entry>10-CURRENT after USB moved to the driver
- structure requiring a rebuild of all USB modules (rev
- <svnref>246759</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000029</entry>
- <entry>March 4, 2013</entry>
- <entry>10-CURRENT after the introduction of tickless
- callout facility which also changed the layout of
- struct callout (rev <svnref>247777</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000030</entry>
- <entry>March 12, 2013</entry>
- <entry>10-CURRENT after KPI breakage introduced in the
- VM subsystem to support read/write locking (rev
- <svnref>248084</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000031</entry>
- <entry>April 26, 2013</entry>
- <entry>10-CURRENT after the dst parameter of the
- ifnet <function>if_output</function> method was
- changed to take const qualifier (rev
- <svnref>249925</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000032</entry>
- <entry>May 1, 2013</entry>
- <entry>10-CURRENT after the introduction of the
- <function>accept4</function> (rev
- <svnref>250154</svnref>) and
- <function>pipe2</function> (rev
- <svnref>250159</svnref>) system calls.</entry>
- </row>
-
- <row>
- <entry>1000033</entry>
- <entry>May 21, 2013</entry>
- <entry>10-CURRENT after flex 2.5.37 import (rev
- <svnref>250881</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000034</entry>
- <entry>June 3, 2013</entry>
- <entry>10-CURRENT after the addition of the following
- functions to libm: <function>cacos</function>,
- <function>cacosf</function>,
- <function>cacosh</function>,
- <function>cacoshf</function>,
- <function>casin</function>,
- <function>casinf</function>,
- <function>casinh</function>,
- <function>casinhf</function>,
- <function>catan</function>,
- <function>catanf</function>,
- <function>catanh</function>,
- <function>catanhf</function>,
- <function>logl</function>,
- <function>log2l</function>,
- <function>log10l</function>,
- <function>log1pl</function>,
- <function>expm1l</function> (rev
- <svnref>251294</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000035</entry>
- <entry>June 8, 2013</entry>
- <entry>10-CURRENT after the introduction of the
- <function>aio_mlock</function> system call (rev
- <svnref>251526</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000036</entry>
- <entry>July 9, 2013</entry>
- <entry>10-CURRENT after the addition of a new function
- to the kernel GSSAPI module's
- function call interface (rev
- <svnref>253049</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000037</entry>
- <entry>July 9, 2013</entry>
- <entry>10-CURRENT after the migration of statistics
- structures to PCPU counters.
- Changed structures include: <literal>ahstat</literal>,
- <literal>arpstat</literal>,
- <literal>espstat</literal>,
- <literal>icmp6_ifstat</literal>,
- <literal>icmp6stat</literal>,
- <literal>in6_ifstat</literal>,
- <literal>ip6stat</literal>,
- <literal>ipcompstat</literal>,
- <literal>ipipstat</literal>,
- <literal>ipsecstat</literal>,
- <literal>mrt6stat</literal>,
- <literal>mrtstat</literal>,
- <literal>pfkeystat</literal>,
- <literal>pim6stat</literal>,
- <literal>pimstat</literal>,
- <literal>rip6stat</literal>,
- <literal>udpstat</literal> (rev
- <svnref>253081</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000038</entry>
- <entry>July 16, 2013</entry>
- <entry>10-CURRENT after making <literal>ARM
- EABI</literal> the default ABI on arm,
- armeb, armv6, and armv6eb architectures
- (rev <svnref>253396</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000039</entry>
- <entry>July 22, 2013</entry>
- <entry>10-CURRENT after <literal>CAM</literal>
- and &man.mps.4; driver scanning changes
- (rev <svnref>253549</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000040</entry>
- <entry>July 24, 2013</entry>
- <entry>10-CURRENT after addition of libusb
- pkgconf files (rev <svnref>253638</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000041</entry>
- <entry>August 5, 2013</entry>
- <entry>10-CURRENT after change from
- <function>time_second</function> to
- <function>time_uptime</function>
- in <literal>PF_INET6</literal>
- (rev <svnref>253970</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000042</entry>
- <entry>August 9, 2013</entry>
- <entry>10-CURRENT after VM subsystem change to unify
- soft and hard busy mechanisms
- (rev <svnref>254138</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000043</entry>
- <entry>August 13, 2013</entry>
- <entry>10-CURRENT after <makevar>WITH_ICONV</makevar> is
- enabled by default. A new &man.src.conf.5; option,
- <makevar>WITH_LIBICONV_COMPAT</makevar> (disabled by
- default) adds <function>libiconv_open</function> to
- provide compatibility with the
- <package>libiconv</package> port (rev
- <svnref>254273</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000044</entry>
- <entry>August 15, 2013</entry>
- <entry>10-CURRENT after <literal>libc.so</literal>
- conversion to an &man.ld.1;
- script (rev
- <svnref>251668</svnref>,
- <svnref>254358</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000045</entry>
- <entry>August 15, 2013</entry>
- <entry>10-CURRENT after devfs programming interface
- change by replacing the cdevsw flag
- <literal>D_UNMAPPED_IO</literal> with the struct cdev
- flag <literal>SI_UNMAPPED</literal> (rev
- <svnref>254389</svnref>).</entry>
- </row>
-
- <row>
- <entry>1000046</entry>
- <entry>August 19, 2013</entry>
- <entry>10-CURRENT after addition of
- <literal>M_PROTO[9-12]</literal> and removal of
- <literal>M_NOFREE|M_FRAG|M_FIRSTFRAG|M_LASTFRAG</literal>
- mbuf flags (rev <svnref>254524</svnref>,
- <svnref>254526</svnref>.</entry>
- </row>
-
- <row>
- <entry>1000048</entry>
- <entry>August 22, 2013</entry>
- <entry>10-CURRENT after modification of structure
- <literal>xsctp_inpcb</literal>
- (rev <svnref>254672</svnref>).</entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
-
- <note>
- <para>Note that 2.2-STABLE sometimes identifies itself as
- <quote>2.2.5-STABLE</quote> after the 2.2.5-RELEASE. The
- pattern used to be year followed by the month, but we
- decided to change it to a more straightforward major/minor
- system starting from 2.2. This is because the parallel
- development on several branches made it infeasible to
- classify the releases simply by their real release dates.
- If you are making a port now, you do not have to worry about
- old -CURRENTs; they are listed here just for your
- reference.</para>
- </note>
- </sect1>
-
<sect1 id="dads-after-port-mk">
<title>Writing Something After
<filename>bsd.port.mk</filename></title>
<para>Do not write anything after the <literal>.include
&lt;bsd.port.mk&gt;</literal> line. It usually can be
avoided by including <filename>bsd.port.pre.mk</filename>
somewhere in the middle of your <filename>Makefile</filename>
and <filename>bsd.port.post.mk</filename> at the end.</para>
<note>
<para>Include either the
<filename>bsd.port.pre.mk</filename>/<filename>bsd.port.post.mk</filename>
pair or <filename>bsd.port.mk</filename> only; do not mix
these two usages.</para>
</note>
<para><filename>bsd.port.pre.mk</filename> only defines a few
variables, which can be used in tests in the
<filename>Makefile</filename>,
<filename>bsd.port.post.mk</filename> defines the rest.</para>
<para>Here are some important variables defined in
<filename>bsd.port.pre.mk</filename> (this is not the complete
list, please read <filename>bsd.port.mk</filename> for the
complete list).</para>
<informaltable frame="none" pgwide="0">
<tgroup cols="2">
<thead>
<row>
<entry>Variable</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><makevar>ARCH</makevar></entry>
<entry>The architecture as returned by <command>uname
-m</command> (e.g., <literal>i386</literal>)</entry>
</row>
<row>
<entry><makevar>OPSYS</makevar></entry>
<entry>The operating system type, as returned by
<command>uname -s</command> (e.g.,
<literal>FreeBSD</literal>)</entry>
</row>
<row>
<entry><makevar>OSREL</makevar></entry>
<entry>The release version of the operating system
(e.g., <literal>2.1.5</literal> or
<literal>2.2.7</literal>)</entry>
</row>
<row>
<entry><makevar>OSVERSION</makevar></entry>
<entry>The numeric version of the operating system; the
same as <link
linkend="freebsd-versions"><literal>__FreeBSD_version</literal></link>.</entry>
</row>
<row>
<entry><makevar>LOCALBASE</makevar></entry>
<entry>The base of the <quote>local</quote> tree (e.g.,
<literal>/usr/local</literal>)</entry>
</row>
<row>
<entry><makevar>PREFIX</makevar></entry>
<entry>Where the port installs itself (see <link
linkend="porting-prefix">more on
<makevar>PREFIX</makevar></link>).</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<note>
<para>If you have to define the variable
<makevar>MASTERDIR</makevar>, do so before including
<filename>bsd.port.pre.mk</filename>.</para>
</note>
<para>Here are some examples of things you can write after
<filename>bsd.port.pre.mk</filename>:</para>
<programlisting># no need to compile lang/perl5 if perl5 is already in system
.if ${OSVERSION} &gt; 300003
BROKEN= perl is in system
.endif</programlisting>
<para>You did remember to use tab instead of spaces after
<literal>BROKEN=</literal> and
<!-- smiley -->:-).</para>
</sect1>
<sect1 id="dads-sh-exec">
<title>Use the <function>exec</function> Statement in Wrapper
Scripts</title>
<para>If the port installs a shell script whose purpose is to
launch another program, and if launching that program is the
last action performed by the script, make sure to launch the
program using the <function>exec</function> statement, for
instance:</para>
<programlisting>#!/bin/sh
exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@"</programlisting>
<para>The <function>exec</function> statement replaces the shell
process with the specified program. If
<function>exec</function> is omitted, the shell process
remains in memory while the program is executing, and
needlessly consumes system resources.</para>
</sect1>
<sect1 id="dads-rational">
<title>Do Things Rationally</title>
<para>The <filename>Makefile</filename> should do things simply
and reasonably. If you can make it a couple of lines shorter
or more readable, then do so. Examples include using a make
<literal>.if</literal> construct instead of a shell
<literal>if</literal> construct, not redefining
<maketarget>do-extract</maketarget> if you can redefine
<makevar>EXTRACT*</makevar> instead, and using
<makevar>GNU_CONFIGURE</makevar> instead of
<literal>CONFIGURE_ARGS
+= --prefix=&dollar;{PREFIX}</literal>.</para>
<para>If you find yourself having to write a lot of new code to
try to do something, please go back and review
<filename>bsd.port.mk</filename> to see if it contains an
existing implementation of what you are trying to do. While
hard to read, there are a great many seemingly-hard problems
for which <filename>bsd.port.mk</filename> already provides a
shorthand solution.</para>
</sect1>
<sect1 id="dads-cc">
<title>Respect Both <makevar>CC</makevar> and
<makevar>CXX</makevar></title>
<para>The port must respect both <makevar>CC</makevar> and
<makevar>CXX</makevar> variables. What we mean by this is
that the port must not set the values of these variables
absolutely, overriding existing values; instead, it may
append whatever values it needs to the existing values. This
is so that build options that affect all ports can be set
globally.</para>
<para>If the port does not respect these variables,
- please add <literal>NO_PACKAGE=ignores either cc or
- cxx</literal> to the <filename>Makefile</filename>.</para>
+ please add
+ <literal>NO_PACKAGE=ignores either cc or cxx</literal> to the
+ <filename>Makefile</filename>.</para>
<para>An example of a <filename>Makefile</filename> respecting
both <makevar>CC</makevar> and <makevar>CXX</makevar>
variables follows. Note the <makevar>?=</makevar>:</para>
<programlisting>CC?= gcc</programlisting>
<programlisting>CXX?= g++</programlisting>
<para>Here is an example which respects neither
<makevar>CC</makevar> nor <makevar>CXX</makevar>
variables:</para>
<programlisting>CC= gcc</programlisting>
<programlisting>CXX= g++</programlisting>
<para>Both <makevar>CC</makevar> and <makevar>CXX</makevar>
variables can be defined on FreeBSD systems in
<filename>/etc/make.conf</filename>. The first example
defines a value if it was not previously set in
<filename>/etc/make.conf</filename>, preserving any
system-wide definitions. The second example clobbers
anything previously defined.</para>
</sect1>
<sect1 id="dads-cflags">
<title>Respect <makevar>CFLAGS</makevar></title>
<para>The port must respect the <makevar>CFLAGS</makevar>
variable. What we mean by this is that the port must not
set the value of this variable absolutely, overriding the
existing value; instead, it may append whatever values it
needs to the existing value. This is so that build options
that affect all ports can be set globally.</para>
- <para>If it does not, please add <literal>NO_PACKAGE=ignores
- cflags</literal> to the
+ <para>If it does not, please add
+ <literal>NO_PACKAGE=ignores cflags</literal> to the
<filename>Makefile</filename>.</para>
<para>An example of a <filename>Makefile</filename> respecting
the <makevar>CFLAGS</makevar> variable follows. Note the
<makevar>+=</makevar>:</para>
<programlisting>CFLAGS+= -Wall -Werror</programlisting>
<para>Here is an example which does not respect the
<makevar>CFLAGS</makevar> variable:</para>
<programlisting>CFLAGS= -Wall -Werror</programlisting>
<para>The <makevar>CFLAGS</makevar> variable is defined on
FreeBSD systems in <filename>/etc/make.conf</filename>. The
first example appends additional flags to the
<makevar>CFLAGS</makevar> variable, preserving any system-wide
definitions. The second example clobbers anything previously
defined.</para>
<para>You should remove optimization flags from the third party
<filename>Makefile</filename>s. System
<makevar>CFLAGS</makevar> contains system-wide optimization
flags. An example from an unmodified
<filename>Makefile</filename>:</para>
<programlisting>CFLAGS= -O3 -funroll-loops -DHAVE_SOUND</programlisting>
<para>Using system optimization flags, the
<filename>Makefile</filename> would look similar to the
following example:</para>
<programlisting>CFLAGS+= -DHAVE_SOUND</programlisting>
</sect1>
<sect1 id="dads-pthread">
<title>Threading Libraries</title>
<para>The threading library must be linked to the binaries using
a special flag <literal>-pthread</literal> on &os;. If
a port insists on linking <literal>-lpthread</literal>
directly, patch it to use <literal>-pthread</literal>.</para>
<note>
<para>If building the port errors out with
<literal>unrecognized option '-pthread'</literal>, it may be
desirable to use <command>cc</command> as linker by setting
<makevar>CONFIGURE_ENV</makevar> to
<literal>LD=${CC}</literal>. The
<literal>-pthread</literal> option is not supported by
<command>ld</command> directly.</para>
</note>
</sect1>
<sect1 id="dads-freedback">
<title>Feedback</title>
<para>Do send applicable changes/patches to the original
author/maintainer for inclusion in next release of the code.
This will only make your job that much easier for the next
release.</para>
</sect1>
<sect1 id="dads-readme">
<title><filename>README.html</filename></title>
<para>Do not include the <filename>README.html</filename> file.
This file is not part of the SVN collection but is generated
using the <command>make readme</command> command.</para>
<note>
<para>If <command>make readme</command> fails, make sure that
the default value of <makevar>ECHO_MSG</makevar> has not
been modified by the port.</para>
</note>
</sect1>
<sect1 id="dads-noinstall">
<title>Marking a Port Not Installable with
<makevar>BROKEN</makevar>, <makevar>FORBIDDEN</makevar>, or
<makevar>IGNORE</makevar></title>
<para>In certain cases users should be prevented from installing
a port. To tell a user that a port should not be installed,
there are several <command>make</command> variables that can
be used in a port's <filename>Makefile</filename>. The value
of the following <command>make</command> variables will be the
reason that is given back to users for why the port refuses to
install itself. Please use the correct
<command>make</command> variable as each make variable conveys
radically different meanings to both users, and to automated
systems that depend on the <filename>Makefile</filename>s,
such as <link linkend="build-cluster">the ports build
cluster</link>, <link linkend="freshports">FreshPorts</link>,
and <link linkend="portsmon">portsmon</link>.</para>
<sect2 id="dads-noinstall-variables">
<title>Variables</title>
<itemizedlist>
<listitem>
<para><makevar>BROKEN</makevar> is reserved for ports that
currently do not compile, install, or deinstall
correctly. It should be used for ports where the
problem is believed to be temporary.</para>
<para>If instructed, the build cluster will still attempt
to try to build them to see if the underlying problem
has been resolved. (However, in general, the cluster is
run without this.)</para>
<para>For instance, use <makevar>BROKEN</makevar> when a
port:</para>
<itemizedlist>
<listitem>
<para>does not compile</para>
</listitem>
<listitem>
<para>fails its configuration or installation
process</para>
</listitem>
<listitem>
<para>installs files outside of
<filename>${LOCALBASE}</filename></para>
</listitem>
<listitem>
<para>does not remove all its files cleanly upon
deinstall (however, it may be acceptable, and
desirable, for the port to leave user-modified files
behind)</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><makevar>FORBIDDEN</makevar> is used for ports that
contain a security vulnerability or induce grave concern
regarding the security of a FreeBSD system with a given
port installed (e.g., a reputably insecure program or a
program that provides easily exploitable services).
Ports should be marked as <makevar>FORBIDDEN</makevar>
as soon as a particular piece of software has a
vulnerability and there is no released upgrade. Ideally
ports should be upgraded as soon as possible when a
security vulnerability is discovered so as to reduce the
number of vulnerable FreeBSD hosts (we like being known
for being secure), however sometimes there is a
noticeable time gap between disclosure of a
vulnerability and an updated release of the vulnerable
software. Do not mark a port
<makevar>FORBIDDEN</makevar> for any reason other than
security.</para>
</listitem>
<listitem>
<para><makevar>IGNORE</makevar> is reserved for ports that
should not be built for some other reason. It should be
used for ports where the problem is believed to be
structural. The build cluster will not, under any
circumstances, build ports marked as
<makevar>IGNORE</makevar>. For instance, use
<makevar>IGNORE</makevar> when a port:</para>
<itemizedlist>
<listitem>
<para>compiles but does not run properly</para>
</listitem>
<listitem>
<para>does not work on the installed version of
&os;</para>
</listitem>
<listitem>
<para>requires &os; kernel sources to build, but the
user does not have them installed</para>
</listitem>
<listitem>
<para>has a distfile which may not be automatically
fetched due to licensing restrictions</para>
</listitem>
<listitem>
<para>does not work with some other currently
installed port (for instance, the port depends on
<filename role="package">www/apache20</filename> but
<filename role="package">www/apache22</filename> is
installed)</para>
</listitem>
</itemizedlist>
<note>
<para>If a port would conflict with a currently
installed port (for example, if they install a file in
the same place that performs a different function),
<link linkend="conflicts">use
- <makevar>CONFLICTS</makevar> instead</link>.
+ <makevar>CONFLICTS</makevar> instead</link>.
<makevar>CONFLICTS</makevar> will set
<makevar>IGNORE</makevar> by itself.</para>
</note>
</listitem>
<listitem>
<para>If a port should be marked <makevar>IGNORE</makevar>
only on certain architectures, there are two other
convenience variables that will automatically set
<makevar>IGNORE</makevar> for you:
<makevar>ONLY_FOR_ARCHS</makevar> and
<makevar>NOT_FOR_ARCHS</makevar>. Examples:</para>
<programlisting>ONLY_FOR_ARCHS= i386 amd64</programlisting>
<programlisting>NOT_FOR_ARCHS= ia64 sparc64</programlisting>
<para>A custom <makevar>IGNORE</makevar> message can be
set using <makevar>ONLY_FOR_ARCHS_REASON</makevar> and
<makevar>NOT_FOR_ARCHS_REASON</makevar>. Per
architecture entries are possible with
<makevar>ONLY_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></makevar>
and
<makevar>NOT_FOR_ARCHS_REASON_<replaceable>ARCH</replaceable></makevar>.</para>
</listitem>
<listitem>
<para>If a port fetches i386 binaries and installs them,
<makevar>IA32_BINARY_PORT</makevar> should be set. If
this variable is set, it will be checked whether the
<filename>/usr/lib32</filename> directory is available
for IA32 versions of libraries and whether the kernel
has IA32 compatibility compiled in. If one of these two
dependencies is not satisfied, <makevar>IGNORE</makevar>
will be set automatically.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="dads-noinstall-notes">
<title>Implementation Notes</title>
<para>The strings should not be quoted.
Also, the wording of the string should be somewhat
different due to the way the information is shown to the
user. Examples:</para>
<programlisting>BROKEN= this port is unsupported on FreeBSD 5.x</programlisting>
<programlisting>IGNORE= is unsupported on FreeBSD 5.x</programlisting>
<para>resulting in the following output from
<command>make describe</command>:</para>
<programlisting>===&gt; foobar-0.1 is marked as broken: this port is unsupported on FreeBSD 5.x.</programlisting>
<programlisting>===&gt; foobar-0.1 is unsupported on FreeBSD 5.x.</programlisting>
</sect2>
</sect1>
<sect1 id="dads-deprecated">
<title>Marking a Port for Removal with
<makevar>DEPRECATED</makevar> or
<makevar>EXPIRATION_DATE</makevar></title>
<para>Do remember that <makevar>BROKEN</makevar> and
<makevar>FORBIDDEN</makevar> are to be used as a temporary
resort if a port is not working. Permanently broken ports
should be removed from the tree entirely.</para>
<para>When it makes sense to do so, users can be warned about
a pending port removal with <makevar>DEPRECATED</makevar>
and <makevar>EXPIRATION_DATE</makevar>. The former is
simply a string stating why the port is scheduled for removal;
the latter is a string in ISO 8601 format (YYYY-MM-DD). Both
will be shown to the user.</para>
<para>It is possible to set <makevar>DEPRECATED</makevar>
without an <makevar>EXPIRATION_DATE</makevar> (for instance,
recommending a newer version of the port), but the converse
does not make any sense.</para>
<para>There is no set policy on how much notice to give.
Current practice seems to be one month for security-related
issues and two months for build issues. This also gives any
interested committers a little time to fix the
problems.</para>
</sect1>
<sect1 id="dads-dot-error">
<title>Avoid Use of the <literal>.error</literal>
Construct</title>
<para>The correct way for a <filename>Makefile</filename> to
signal that the port can not be installed due to some external
factor (for instance, the user has specified an illegal
combination of build options) is to set a non-blank value to
<makevar>IGNORE</makevar>. This value will be formatted and
shown to the user by <command>make install</command>.</para>
<para>It is a common mistake to use <literal>.error</literal>
for this purpose. The problem with this is that many
automated tools that work with the ports tree will fail in
this situation. The most common occurrence of this is seen
when trying to build <filename>/usr/ports/INDEX</filename>
(see <xref linkend="make-describe"/>). However, even more
trivial commands such as <command>make maintainer</command>
also fail in this scenario. This is not acceptable.</para>
<example id="dot-error-breaks-index">
<title>How to Avoid Using <literal>.error</literal></title>
<para>Assume that someone has the line</para>
<programlisting>USE_POINTYHAT=yes</programlisting>
<para>in <filename>make.conf</filename>. The first of the
next two <filename>Makefile</filename> snippets will cause
<command>make index</command> to fail, while the second one
will not:</para>
<programlisting>.if USE_POINTYHAT
.error "POINTYHAT is not supported"
.endif</programlisting>
<programlisting>.if USE_POINTYHAT
IGNORE= POINTYHAT is not supported
.endif</programlisting>
</example>
</sect1>
<sect1 id="dads-sysctl">
<title>Usage of <filename>sysctl</filename></title>
<para>The usage of <filename>sysctl</filename> is discouraged
except in targets. This is because the evaluation of any
<literal>makevar</literal>s, such as used during
<command>make index</command>, then has to run the command,
further slowing down that process.</para>
<para>Usage of &man.sysctl.8; should always be done with the
<makevar>SYSCTL</makevar> variable, as it contains the fully
qualified path and can be overridden, if one has such a
special need.</para>
</sect1>
<sect1 id="dads-rerolling-distfiles">
<title>Rerolling Distfiles</title>
<para>Sometimes the authors of software change the content of
released distfiles without changing the file's name. You have
to verify that the changes are official and have been
performed by the author. It has happened in the past that the
distfile was silently altered on the download servers with the
intent to cause harm or compromise end user security.</para>
<para>Put the old distfile aside, download the new one, unpack
them and compare the content with &man.diff.1;. If you see
nothing suspicious, you can update
<filename>distinfo</filename>. Be sure to summarize the
differences in your PR or commit log, so that other people
know that you have taken care to ensure that nothing bad has
happened.</para>
<para>You might also want to contact the authors of the software
and confirm the changes with them.</para>
</sect1>
<sect1 id="dads-avoiding-linuxisms">
<title>Avoiding Linuxisms</title>
<para>Do not use <filename>/proc</filename> if there are any
other ways of getting the information, e.g.,
<function>setprogname(argv[0])</function> in
<function>main()</function> and then &man.getprogname.3; if
you want to <quote>know your name</quote>.</para>
<para>Do not rely on behaviour that is undocumented by
<acronym>POSIX</acronym>.</para>
<para>Do not record timestamps in the critical path of the
application if it also works without. Getting timestamps may
be slow, depending on the accuracy of timestamps in the
<acronym>OS</acronym>. If timestamps are really needed,
determine how precise they have to be and use an
<acronym>API</acronym> which is documented to just deliver the
needed precision.</para>
<para>A number of simple syscalls (for example
&man.gettimeofday.2;, &man.getpid.2;) are much faster on
&linux; than on any other operating system due to caching and
the vsyscall performance optimizations. Do not rely on them
being cheap in performance-critical applications. In general,
try hard to avoid syscalls if possible.</para>
<para>Do not rely on &linux;-specific socket behaviour. In
particular, default socket buffer sizes are different (call
&man.setsockopt.2; with <literal>SO_SNDBUF</literal> and
<literal>SO_RCVBUF</literal>, and while &linux;'s &man.send.2;
blocks when the socket buffer is full, &os;'s will fail and
set <literal>ENOBUFS</literal> in errno.</para>
<para>If relying on non-standard behaviour is required,
encapsulate it properly into a generic <acronym>API</acronym>,
do a check for the behaviour in the configure stage, and stop
if it is missing.</para>
<para>Check the <ulink
url="http://www.freebsd.org/cgi/man.cgi">man pages</ulink>
to see if the function used is a <acronym>POSIX</acronym>
interface (in the <quote>STANDARDS</quote> section of the man
page).</para>
<para>Do not assume that <filename>/bin/sh</filename> is
<application>bash</application>. Ensure that a command line
passed to &man.system.3; will work with a
<acronym>POSIX</acronym> compliant shell.</para>
<para>A list of common <application>bash</application>isms is
available <ulink
url="https://wiki.ubuntu.com/DashAsBinSh">here</ulink>.</para>
<para>Do not <literal>#include
<filename>&lt;stdint.h&gt;</filename></literal> if
<filename>inttypes.h</filename> is sufficient. This will
ensure that the software builds on older versions of
&os;.</para>
<para>Check that headers are included in the
<acronym>POSIX</acronym> or man page recommended way, e.g.,
<filename>sys/types.h</filename> is often forgotten, which is
not as much of a problem for &linux; as it is for &os;.</para>
<para>Compile threaded applications with
<quote>-pthread</quote>, not <quote>-lpthread</quote> or
variations thereof.</para>
-
</sect1>
<sect1 id="dads-misc">
<title>Miscellanea</title>
<para>The files <filename>pkg-descr</filename> and
<filename>pkg-plist</filename> should each be double-checked.
If you are reviewing a port and feel they can be worded
better, do so.</para>
<para>Do not copy more copies of the GNU General Public License
into our system, please.</para>
<para>Please be careful to note any legal issues! Do not let us
illegally distribute software!</para>
</sect1>
-
</chapter>
<chapter id="porting-samplem">
<title>A Sample <filename>Makefile</filename></title>
<para>Here is a sample <filename>Makefile</filename> that you can
use to create a new port. Make sure you remove all the extra
comments (ones between brackets)!</para>
<para>It is recommended that you follow this format (ordering of
variables, empty lines between sections, etc.). This format is
designed so that the most important information is easy to
- locate. We recommend that you use <link
- linkend="porting-portlint">portlint</link> to check the
+ locate. We recommend that you use
+ <link linkend="porting-portlint">portlint</link> to check the
<filename>Makefile</filename>.</para>
<programlisting>[the header...just to make it easier for us to identify the ports.]
# Created by: Satoshi Asami &lt;asami@FreeBSD.org&gt;
[The optional <emphasis>Created by:</emphasis> line names the person who originally
created the port. Note that the <quote>:</quote> is followed by a space
and not a tab character.
If this line is present, future maintainers should
not change or remove it except at the original author's request.]
# &dollar;FreeBSD&dollar;
[ ^^^^^^^^^ This will be automatically replaced with RCS ID string by SVN
when it is committed to our repository. If upgrading a port, do not alter
this line back to "&dollar;FreeBSD&dollar;". SVN deals with it automatically.]
[section to describe the port itself and the master site - PORTNAME
and PORTVERSION are always first, followed by CATEGORIES,
and then MASTER_SITES, which can be followed by MASTER_SITE_SUBDIR.
PKGNAMEPREFIX and PKGNAMESUFFIX, if needed, will be after that.
Then comes DISTNAME, EXTRACT_SUFX and/or DISTFILES, and then
EXTRACT_ONLY, as necessary.]
PORTNAME= xdvi
PORTVERSION= 18.2
CATEGORIES= print
[do not forget the trailing slash ("/")!
if you are not using MASTER_SITE_* macros]
MASTER_SITES= ${MASTER_SITE_XCONTRIB}
MASTER_SITE_SUBDIR= applications
PKGNAMEPREFIX= ja-
DISTNAME= xdvi-pl18
[set this if the source is not in the standard ".tar.gz" form]
EXTRACT_SUFX= .tar.Z
[section for distributed patches -- can be empty]
PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/
PATCHFILES= xdvi-18.patch1.gz xdvi-18.patch2.gz
[maintainer; *mandatory*! This is the person who is volunteering to
handle port updates, build breakages, and to whom a users can direct
questions and bug reports. To keep the quality of the Ports Collection
as high as possible, we no longer accept new ports that are assigned to
"ports@FreeBSD.org".]
MAINTAINER= asami@FreeBSD.org
COMMENT= A DVI Previewer for the X Window System
[dependencies -- can be empty]
RUN_DEPENDS= gs:${PORTSDIR}/print/ghostscript
-LIB_DEPENDS= Xpm:${PORTSDIR}/graphics/xpm
[this section is for other standard bsd.port.mk variables that do not
belong to any of the above]
[If it asks questions during configure, build, install...]
IS_INTERACTIVE= yes
[If it extracts to a directory other than ${DISTNAME}...]
WRKSRC= ${WRKDIR}/xdvi-new
[If the distributed patches were not made relative to ${WRKSRC}, you
may need to tweak this]
PATCH_DIST_STRIP= -p1
[If it requires a "configure" script generated by GNU autoconf to be run]
GNU_CONFIGURE= yes
[If it requires GNU make, not /usr/bin/make, to build...]
USES= gmake
[If it is an X application and requires "xmkmf -a" to be run...]
USES= imake
[et cetera.]
[non-standard variables to be used in the rules below]
MY_FAVORITE_RESPONSE= "yeah, right"
[then the special rules, in the order they are called]
pre-fetch:
i go fetch something, yeah
post-patch:
i need to do something after patch, great
pre-install:
and then some more stuff before installing, wow
[and then the epilogue]
.include &lt;bsd.port.mk&gt;</programlisting>
</chapter>
<chapter id="keeping-up">
<title>Keeping Up</title>
<para>The &os; Ports Collection is constantly changing. Here is
some information on how to keep up.</para>
<sect1 id="freshports">
<title>FreshPorts</title>
<para>One of the easiest ways to learn about updates that have
- already been committed is by subscribing to <ulink
- url="http://www.FreshPorts.org/">FreshPorts</ulink>. You
- can select multiple ports to monitor. Maintainers are
+ already been committed is by subscribing to
+ <ulink url="http://www.FreshPorts.org/">FreshPorts</ulink>.
+ You can select multiple ports to monitor. Maintainers are
strongly encouraged to subscribe, because they will receive
notification of not only their own changes, but also any
changes that any other &os; committer has made. (These are
often necessary to keep up with changes in the underlying
ports framework&mdash;although it would be most polite to
receive an advance heads-up from those committing such
changes, sometimes this is overlooked or just simply
impractical. Also, in some cases, the changes are very minor
in nature. We expect everyone to use their best judgement in
these cases.)</para>
<para>If you wish to use FreshPorts, all you need is an account.
If your registered email address is
<literal>@FreeBSD.org</literal>, you will see the opt-in link
on the right hand side of the webpages. For those of you who
already have a FreshPorts account, but are not using your
<literal>@FreeBSD.org</literal> email address, just change
your email to <literal>@FreeBSD.org</literal>, subscribe, then
change it back again.</para>
<para>FreshPorts also has a sanity test feature which
automatically tests each commit to the FreeBSD ports tree. If
subscribed to this service, you will be notified of any errors
which FreshPorts detects during sanity testing of your
commits.</para>
</sect1>
<sect1 id="svnweb">
<title>The Web Interface to the Source Repository</title>
<para>It is possible to browse the files in the source
repository by using a web interface. Changes that affect the
entire port system are now documented in the <ulink
url="http://svnweb.FreeBSD.org/ports/head/CHANGES">CHANGES</ulink>
file. Changes that affect individual ports
are now documented in the <ulink
url="http://svnweb.FreeBSD.org/ports/head/UPDATING">UPDATING</ulink>
file. However, the definitive answer to
any question is undoubtedly to read the source code of <ulink
url="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.port.mk">bsd.port.mk</ulink>,
and associated files.</para>
</sect1>
<sect1 id="ports-mailling-list">
<title>The &os; Ports Mailing List</title>
<para>If you maintain ports, you should consider following the
&a.ports;. Important changes to the way ports work will be
announced there, and then committed to
<filename>CHANGES</filename>.</para>
<para>If this mailing list is too high volume you may consider
following &a.ports-announce; which is moderated and has no
discussion.</para>
</sect1>
<sect1 id="build-cluster">
<title>The &os; Port Building Cluster on
<hostid role="hostname">pointyhat.FreeBSD.org</hostid></title>
<para>One of the least-publicized strengths of &os; is that
an entire cluster of machines is dedicated to continually
building the Ports Collection, for each of the major OS
releases and for each Tier-1 architecture. You can find
- the results of these builds at <ulink
- url="http://pointyhat.FreeBSD.org/">package building logs
- and errors</ulink>.</para>
+ the results of these builds at
+ <ulink url="http://pointyhat.FreeBSD.org/">package building
+ logs and errors</ulink>.</para>
<para>Individual ports are built unless they are specifically
marked with <makevar>IGNORE</makevar>. Ports that are
marked with <makevar>BROKEN</makevar> will still be attempted,
to see if the underlying problem has been resolved. (This
is done by passing <makevar>TRYBROKEN</makevar> to the
port's <filename>Makefile</filename>.)</para>
</sect1>
<sect1 id="distfile-survey">
<title>Portscout: the &os; Ports Distfile Scanner</title>
<para>The build cluster is dedicated to building the latest
release of each port with distfiles that have already been
fetched. However, as the Internet continually changes,
- distfiles can quickly go missing. <ulink
- url="http://portscout.FreeBSD.org">Portscout</ulink>, the
- &os; Ports distfile scanner, attempts to query every download
- site for every port to find out if each distfile is still
- available. <application>Portscout</application> can generate
- <acronym>HTML</acronym> reports and send emails about newly
- available ports to those who request them. Unless not
+ distfiles can quickly go missing.
+ <ulink url="http://portscout.FreeBSD.org">Portscout</ulink>,
+ the &os; Ports distfile scanner, attempts to query every
+ download site for every port to find out if each distfile is
+ still available. <application>Portscout</application> can
+ generate <acronym>HTML</acronym> reports and send emails about
+ newly available ports to those who request them. Unless not
otherwise subscribed, maintainers are asked to check
periodically for changes, either by hand or using the
<acronym>RSS</acronym> feed.</para>
<para><application>Portscout</application>'s first page gives
the email address of the port maintainer, the number of ports
the maintainer is responsible for, the number of those ports
with new distfiles, and the percentage of those ports that are
out-of-date. The search function allows for searching by
email address for a specific maintainer, and for selecting
whether or not only out-of-date ports should be shown.</para>
- <para>Upon clicking on a maintainer's email address,
- a list of all of their ports is displayed, along with port
- category, current version number, whether or not there is a
- new version, when the port was last updated, and finally when
- it was last checked. A search function on this page allows
- the user to search for a specific port.</para>
+ <para>Upon clicking on a maintainer's email address, a list of
+ all of their ports is displayed, along with port category,
+ current version number, whether or not there is a new version,
+ when the port was last updated, and finally when it was last
+ checked. A search function on this page allows the user to
+ search for a specific port.</para>
<para>Clicking on a port name in the list displays the
<ulink url="http://freshports.org">FreshPorts</ulink> port
information.</para>
</sect1>
<sect1 id="portsmon">
<title>The &os; Ports Monitoring System</title>
- <para>Another handy resource is the <ulink
- url="http://portsmon.FreeBSD.org"> FreeBSD Ports Monitoring
- System</ulink> (also known as <literal>portsmon</literal>).
- This system comprises a database that processes information
- from several sources and allows it to be browsed via a web
- interface. Currently, the ports Problem Reports (PRs), the
- error logs from the build cluster, and individual files from
- the ports collection are used. In the future, this will be
- expanded to include the distfile survey, as well as other
- sources.</para>
+ <para>Another handy resource is the
+ <ulink url="http://portsmon.FreeBSD.org">FreeBSD Ports
+ Monitoring System</ulink> (also known as
+ <literal>portsmon</literal>). This system comprises a
+ database that processes information from several sources and
+ allows it to be browsed via a web interface. Currently, the
+ ports Problem Reports (PRs), the error logs from the build
+ cluster, and individual files from the ports collection are
+ used. In the future, this will be expanded to include the
+ distfile survey, as well as other sources.</para>
<para>To get started, you can view all information about a
particular port by using the <ulink
- url="http://portsmon.FreeBSD.org/portoverview.py">
- Overview of One Port</ulink>.</para>
+ url="http://portsmon.FreeBSD.org/portoverview.py">Overview
+ of One Port</ulink>.</para>
<para>As of this writing, this is the only resource available
that maps GNATS PR entries to portnames. (PR submitters do
not always include the portname in their Synopsis, although we
would prefer that they did.) So, <literal>portsmon</literal>
is a good place to start if you want to find out whether an
existing port has any PRs filed against it and/or any build
errors; or, to find out if a new port that you may be thinking
about creating has already been submitted.</para>
</sect1>
</chapter>
<chapter id="appendices">
<title>Appendices</title>
<sect1 id="uses-values">
<title>Values of <makevar>USES</makevar></title>
<table frame="none">
<title>Values of <makevar>USES</makevar></title>
<tgroup cols="3">
<thead>
<row>
<entry>Feature</entry>
<entry>Arguments</entry>
<entry>Description</entry>
</row>
</thead>
+
<tbody>
&values.uses;
</tbody>
</tgroup>
</table>
+ </sect1>
+
+ <sect1 id="freebsd-versions">
+ <title><literal>__FreeBSD_version</literal> Values</title>
+
+ <para>Here is a convenient list of
+ <literal>__FreeBSD_version</literal> values as defined in
+ <ulink
+ url="http://svnweb.FreeBSD.org/base/head/sys/sys/param.h?view=markup">sys/param.h</ulink>:</para>
+
+ <table frame="none">
+ <title><literal>__FreeBSD_version</literal> Values</title>
+
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Value</entry>
+ <entry>Date</entry>
+ <entry>Release</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ &values.versions;
+ </tbody>
+ </tgroup>
+ </table>
+
+ <note>
+ <para>Note that 2.2-STABLE sometimes identifies itself as
+ <quote>2.2.5-STABLE</quote> after the 2.2.5-RELEASE. The
+ pattern used to be year followed by the month, but we
+ decided to change it to a more straightforward major/minor
+ system starting from 2.2. This is because the parallel
+ development on several branches made it infeasible to
+ classify the releases simply by their real release dates.
+ If you are making a port now, you do not have to worry about
+ old -CURRENTs; they are listed here just for your
+ reference.</para>
+ </note>
</sect1>
</chapter>
</book>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/porters-handbook/uses.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/porters-handbook/uses.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/porters-handbook/uses.xml (revision 42804)
@@ -1,219 +1,230 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
This file documents the values of the USES make variable. The format is
easy to grasp from the already-added entries below (or use this scheme
below as a skeleton):
<row>
<entry><literal>FEATURE</literal></entry>
<entry>ARGUMENTS</entry>
<entry>DESCRIPTION</entry>
</row>
-->
<row>
<entry><literal>ada</literal></entry>
<entry>(none)</entry>
<entry>Depends on an <application>Ada</application>-capable
compiler, and sets <makevar>CC</makevar> accordingly.</entry>
</row>
<row>
<entry><literal>bison</literal></entry>
<entry>(none), <literal>build</literal>, <literal>run</literal>,
<literal>both</literal></entry>
<entry>Implies that the port uses <filename
role="package">devel/bison</filename> in one way or another. By
default, with no arguments or with the <literal>build</literal>
argument, it implies <command>bison</command> as a build-time
dependency, <literal>run</literal> implies a run-time dependency,
and <literal>both</literal> implies both run-time and build-time
dependencies.</entry>
</row>
<row>
<entry><literal>charsetfix</literal></entry>
<entry>(none)</entry>
<entry>Prevents the port from installing
<filename>charset.alias</filename>. This should be installed only
by <filename role="package">converters/libiconv</filename>.
<makevar>CHARSETFIX_MAKEFILEIN</makevar> can be set to a path
relative to <makevar>WRKSRC</makevar> if
<filename>charset.alias</filename> is not installed by
<makevar>WRKSRC</makevar>/<filename>Makefile.in</filename>.</entry>
</row>
<row>
<entry><literal>cmake</literal></entry>
<entry>(none), <literal>outsource</literal></entry>
<entry>The port will use <application>CMake</application> for
configuring and building. With the <literal>outsource</literal>
argument, an out-of-source build will be performed. For more
information see <xref linkend="using-cmake"/>.</entry>
</row>
<row>
<entry><literal>desktop-file-utils</literal></entry>
<entry>(none)</entry>
<entry>Implies that the port uses the
<application>update-desktop-database</application> from
<filename role="package">devel/desktop-file-utils</filename>. An
extra post-install step will be run without interfering with any
post-install steps already in the port
<filename>Makefile</filename>. Lines will be inserted into the
plist to run <application>update-desktop-database</application> on
package install or removal.</entry>
</row>
<row>
<entry><literal>fuse</literal></entry>
<entry>(none)</entry>
<entry>Implies the port will depend on the FUSE library and handle
the dependency on the kernel module depending on the version
of &os;.</entry>
</row>
<row>
<entry><literal>gettext</literal></entry>
<entry>(none), <literal>lib</literal>, <literal>build</literal>,
<literal>run</literal></entry>
<entry>Implies that the port uses
<filename role="package">devel/gettext</filename> in one way or
another. By default, with no arguments or with the
<literal>lib</literal> argument, implies
<command>gettext</command> with build-time and run-time
dependencies, <literal>build</literal> implies a build-time
dependency, and <literal>run</literal> implies a run-time
dependency.</entry>
</row>
<row>
<entry><literal>gmake</literal></entry>
<entry>(none)</entry>
<entry>Implies that the port uses <filename
role="package">devel/gmake</filename> as build-time
dependency.</entry>
</row>
<row>
<entry><literal>iconv</literal></entry>
<entry>(none)</entry>
<entry>Implies that the port uses <filename
role="package">converters/libiconv</filename> as build-time and
run-time dependency.</entry>
</row>
<row>
<entry><literal>imake</literal></entry>
<entry>(none)</entry>
<entry>Implies that the port uses <filename
role="package">devel/imake</filename> as build-time
dependency.</entry>
</row>
<row>
+ <entry><literal>motif</literal></entry>
+ <entry>(none)</entry>
+ <entry>Implies that the ports uses <filename
+ role="package">devel/open-motif</filename> as a library
+ dependency. End users can set <makevar>WANT_LESSTIF</makevar>
+ for the dependency to be on <filename
+ role="package">devel/lesstif</filename> instead of <filename
+ role="package">devel/open-motif</filename>.</entry>
+</row>
+
+<row>
<entry><literal>ncurses</literal></entry>
<entry>(none), <literal>base</literal>,
<literal>port</literal></entry>
<entry>Implies that the port uses
<application>ncurses</application>, and causes some useful
variables to be set.</entry>
</row>
<row>
<entry><literal>pathfix</literal></entry>
<entry>(none)</entry>
<entry>Look for the <filename>Makefile.in</filename> and
<filename>configure</filename> files in the port's associated
sources and fix common paths to make sure they respect the &os;
hierarchy.</entry>
</row>
<row>
<entry><literal>pkgconfig</literal></entry>
<entry>(none), <literal>build</literal>, <literal>run</literal>,
<literal>both</literal></entry>
<entry>Implies that the port uses <filename
role="package">devel/pkgconf</filename> in one way or another.
With no arguments or with the <literal>build</literal>
argument, it implies <command>pkg-config</command> as a build-time
dependency; <literal>run</literal> implies a run-time dependency;
and <literal>both</literal> implies both run-time and build-time
dependencies.</entry>
</row>
<row>
<entry><literal>qmail</literal></entry>
<entry>(none), <literal>build</literal>, <literal>run</literal>,
<literal>both</literal>, <literal>vars</literal></entry>
<entry>Implies that the port uses <filename
role="package">mail/qmail</filename> in one way or another.
With the <literal>build</literal> argument, it implies
<command>qmail</command> as a build-time dependency.
<literal>run</literal> implies a run-time dependency. Using no
argument or the <literal>both</literal> argument implies both
run-time and build-time dependencies. <literal>vars</literal>
will only set QMAIL variables for the port to use.</entry>
</row>
<row>
<entry><literal>readline</literal></entry>
<entry>(none), port</entry>
<entry>Implies that the port uses
<application>readline</application> as library dependency, and
sets <makevar>CPPFLAGS</makevar> and <makevar>LDFLAGS</makevar> as
necessary.</entry>
</row>
<row>
<entry><literal>shared-mime-info</literal></entry>
<entry>(none)</entry>
<entry>Implies that the port uses
<application>update-mime-database</application> from
<filename role="package">misc/shared-mime-info</filename>. This
uses will automatically add a post-install step in such a way that
the port itself still can specify there own post-install step if
needed. It also insert lines into the plist for package install
and removal to run
<application>update-mime-data</application> with the correct
arguments.</entry>
</row>
<row>
<entry><literal>shebangfix</literal></entry>
<entry>(none)</entry>
<entry>A lot of software uses incorrect locations for script
interpreters, most notably <filename>/usr/bin/perl</filename> and
<filename>/bin/bash</filename>. This fixes shebang lines in
scripts listed in <makevar>SHEBANG_FILES</makevar>. Currently
<application>Perl</application>,
<application>Python</application>,
<application>Bash</application>, <application>Ruby</application>,
and <application>PHP</application> are supported by default. To
support another interpreter, set <makevar>SHEBANG_LANG</makevar>
(for example
<literal><makevar>SHEBANG_LANG</makevar>=lua</literal>), then
<makevar>lua_OLD_CMD</makevar> and
<makevar>lua_CMD</makevar>.</entry>
</row>
<row>
<entry><literal>zenoss</literal></entry>
<entry>(none)</entry>
<entry>Implies the port uses
<filename role="package">net-mgmt/zenoss</filename> in one way or
another, but largely is used for building zenoss related zenpack
ports.</entry>
</row>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/books/porters-handbook/versions.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/books/porters-handbook/versions.xml (nonexistent)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/books/porters-handbook/versions.xml (revision 42804)
@@ -0,0 +1,4817 @@
+<!--
+ $FreeBSD$
+
+ This file documents the values of the OSVERSION make variable. The format is
+ easy to grasp from the already-added entries below (or use this scheme
+ below as a skeleton):
+
+<row>
+ <entry>VALUE</entry>
+ <entry>DATE</entry>
+ <entry>RELEASE</entry>
+</row>
+
+-->
+
+<row>
+ <entry>119411</entry>
+ <entry></entry>
+ <entry>2.0-RELEASE</entry>
+</row>
+
+<row>
+ <entry>199501, 199503</entry>
+ <entry>March 19, 1995</entry>
+ <entry>2.1-CURRENT</entry>
+</row>
+
+<row>
+ <entry>199504</entry>
+ <entry>April 9, 1995</entry>
+ <entry>2.0.5-RELEASE</entry>
+</row>
+
+<row>
+ <entry>199508</entry>
+ <entry>August 26, 1995</entry>
+ <entry>2.2-CURRENT before 2.1</entry>
+</row>
+
+<row>
+ <entry>199511</entry>
+ <entry>November 10, 1995</entry>
+ <entry>2.1.0-RELEASE</entry>
+</row>
+
+<row>
+ <entry>199512</entry>
+ <entry>November 10, 1995</entry>
+ <entry>2.2-CURRENT before 2.1.5</entry>
+</row>
+
+<row>
+ <entry>199607</entry>
+ <entry>July 10, 1996</entry>
+ <entry>2.1.5-RELEASE</entry>
+</row>
+
+<row>
+ <entry>199608</entry>
+ <entry>July 12, 1996</entry>
+ <entry>2.2-CURRENT before 2.1.6</entry>
+</row>
+
+<row>
+ <entry>199612</entry>
+ <entry>November 15, 1996</entry>
+ <entry>2.1.6-RELEASE</entry>
+</row>
+
+<row>
+ <entry>199612</entry>
+ <entry></entry>
+ <entry>2.1.7-RELEASE</entry>
+</row>
+
+<row>
+ <entry>220000</entry>
+ <entry>February 19, 1997</entry>
+ <entry>2.2-RELEASE</entry>
+</row>
+
+<row>
+ <entry>(not changed)</entry>
+ <entry></entry>
+ <entry>2.2.1-RELEASE</entry>
+</row>
+
+<row>
+ <entry>(not changed)</entry>
+ <entry></entry>
+ <entry>2.2-STABLE after 2.2.1-RELEASE</entry>
+</row>
+
+<row>
+ <entry>221001</entry>
+ <entry>April 15, 1997</entry>
+ <entry>2.2-STABLE after texinfo-3.9</entry>
+</row>
+
+<row>
+ <entry>221002</entry>
+ <entry>April 30, 1997</entry>
+ <entry>2.2-STABLE after top</entry>
+</row>
+
+<row>
+ <entry>222000</entry>
+ <entry>May 16, 1997</entry>
+ <entry>2.2.2-RELEASE</entry>
+</row>
+
+<row>
+ <entry>222001</entry>
+ <entry>May 19, 1997</entry>
+ <entry>2.2-STABLE after 2.2.2-RELEASE</entry>
+</row>
+
+<row>
+ <entry>225000</entry>
+ <entry>October 2, 1997</entry>
+ <entry>2.2.5-RELEASE</entry>
+</row>
+
+<row>
+ <entry>225001</entry>
+ <entry>November 20, 1997</entry>
+ <entry>2.2-STABLE after 2.2.5-RELEASE</entry>
+</row>
+
+<row>
+ <entry>225002</entry>
+ <entry>December 27, 1997</entry>
+ <entry>2.2-STABLE after ldconfig -R merge</entry>
+</row>
+
+<row>
+ <entry>226000</entry>
+ <entry>March 24, 1998</entry>
+ <entry>2.2.6-RELEASE</entry>
+</row>
+
+<row>
+ <entry>227000</entry>
+ <entry>July 21, 1998</entry>
+ <entry>2.2.7-RELEASE</entry>
+</row>
+
+<row>
+ <entry>227001</entry>
+ <entry>July 21, 1998</entry>
+ <entry>2.2-STABLE after 2.2.7-RELEASE</entry>
+</row>
+
+<row>
+ <entry>227002</entry>
+ <entry>September 19, 1998</entry>
+ <entry>2.2-STABLE after &man.semctl.2; change</entry>
+</row>
+
+<row>
+ <entry>228000</entry>
+ <entry>November 29, 1998</entry>
+ <entry>2.2.8-RELEASE</entry>
+</row>
+
+<row>
+ <entry>228001</entry>
+ <entry>November 29, 1998</entry>
+ <entry>2.2-STABLE after 2.2.8-RELEASE</entry>
+</row>
+
+<row>
+ <entry>300000</entry>
+ <entry>February 19, 1996</entry>
+ <entry>3.0-CURRENT before &man.mount.2; change</entry>
+</row>
+
+<row>
+ <entry>300001</entry>
+ <entry>September 24, 1997</entry>
+ <entry>3.0-CURRENT after &man.mount.2; change</entry>
+</row>
+
+<row>
+ <entry>300002</entry>
+ <entry>June 2, 1998</entry>
+ <entry>3.0-CURRENT after &man.semctl.2; change</entry>
+</row>
+
+<row>
+ <entry>300003</entry>
+ <entry>June 7, 1998</entry>
+ <entry>3.0-CURRENT after ioctl arg changes</entry>
+</row>
+
+<row>
+ <entry>300004</entry>
+ <entry>September 3, 1998</entry>
+ <entry>3.0-CURRENT after ELF conversion</entry>
+</row>
+
+<row>
+ <entry>300005</entry>
+ <entry>October 16, 1998</entry>
+ <entry>3.0-RELEASE</entry>
+</row>
+
+<row>
+ <entry>300006</entry>
+ <entry>October 16, 1998</entry>
+ <entry>3.0-CURRENT after 3.0-RELEASE</entry>
+</row>
+
+<row>
+ <entry>300007</entry>
+ <entry>January 22, 1999</entry>
+ <entry>3.0-STABLE after 3/4 branch</entry>
+</row>
+
+<row>
+ <entry>310000</entry>
+ <entry>February 9, 1999</entry>
+ <entry>3.1-RELEASE</entry>
+</row>
+
+<row>
+ <entry>310001</entry>
+ <entry>March 27, 1999</entry>
+ <entry>3.1-STABLE after 3.1-RELEASE</entry>
+</row>
+
+<row>
+ <entry>310002</entry>
+ <entry>April 14, 1999</entry>
+ <entry>3.1-STABLE after C++ constructor/destructor order
+ change</entry>
+</row>
+
+<row>
+ <entry>320000</entry>
+ <entry></entry>
+ <entry>3.2-RELEASE</entry>
+</row>
+
+<row>
+ <entry>320001</entry>
+ <entry>May 8, 1999</entry>
+ <entry>3.2-STABLE</entry>
+</row>
+
+<row>
+ <entry>320002</entry>
+ <entry>August 29, 1999</entry>
+ <entry>3.2-STABLE after binary-incompatible IPFW and
+ socket changes</entry>
+</row>
+
+<row>
+ <entry>330000</entry>
+ <entry>September 2, 1999</entry>
+ <entry>3.3-RELEASE</entry>
+</row>
+
+<row>
+ <entry>330001</entry>
+ <entry>September 16, 1999</entry>
+ <entry>3.3-STABLE</entry>
+</row>
+
+<row>
+ <entry>330002</entry>
+ <entry>November 24, 1999</entry>
+ <entry>3.3-STABLE after adding &man.mkstemp.3;
+ to libc</entry>
+</row>
+
+<row>
+ <entry>340000</entry>
+ <entry>December 5, 1999</entry>
+ <entry>3.4-RELEASE</entry>
+</row>
+
+<row>
+ <entry>340001</entry>
+ <entry>December 17, 1999</entry>
+ <entry>3.4-STABLE</entry>
+</row>
+
+<row>
+ <entry>350000</entry>
+ <entry>June 20, 2000</entry>
+ <entry>3.5-RELEASE</entry>
+</row>
+
+<row>
+ <entry>350001</entry>
+ <entry>July 12, 2000</entry>
+ <entry>3.5-STABLE</entry>
+</row>
+
+<row>
+ <entry>400000</entry>
+ <entry>January 22, 1999</entry>
+ <entry>4.0-CURRENT after 3.4 branch</entry>
+</row>
+
+<row>
+ <entry>400001</entry>
+ <entry>February 20, 1999</entry>
+ <entry>4.0-CURRENT after change in dynamic linker
+ handling</entry>
+</row>
+
+<row>
+ <entry>400002</entry>
+ <entry>March 13, 1999</entry>
+ <entry>4.0-CURRENT after C++ constructor/destructor
+ order change</entry>
+</row>
+
+<row>
+ <entry>400003</entry>
+ <entry>March 27, 1999</entry>
+ <entry>4.0-CURRENT after functioning
+ &man.dladdr.3;</entry>
+</row>
+
+<row>
+ <entry>400004</entry>
+ <entry>April 5, 1999</entry>
+ <entry>4.0-CURRENT after __deregister_frame_info dynamic
+ linker bug fix (also 4.0-CURRENT after EGCS 1.1.2
+ integration)</entry>
+</row>
+
+<row>
+ <entry>400005</entry>
+ <entry>April 27, 1999</entry>
+ <entry>4.0-CURRENT after &man.suser.9; API change
+ (also 4.0-CURRENT after newbus)</entry>
+</row>
+
+<row>
+ <entry>400006</entry>
+ <entry>May 31, 1999</entry>
+ <entry>4.0-CURRENT after cdevsw registration
+ change</entry>
+</row>
+
+<row>
+ <entry>400007</entry>
+ <entry>June 17, 1999</entry>
+ <entry>4.0-CURRENT after the addition of so_cred for
+ socket level credentials</entry>
+</row>
+
+<row>
+ <entry>400008</entry>
+ <entry>June 20, 1999</entry>
+ <entry>4.0-CURRENT after the addition of a poll syscall
+ wrapper to libc_r</entry>
+</row>
+
+<row>
+ <entry>400009</entry>
+ <entry>July 20, 1999</entry>
+ <entry>4.0-CURRENT after the change of the kernel's
+ <literal>dev_t</literal> type to <literal>struct
+ specinfo</literal> pointer</entry>
+</row>
+
+<row>
+ <entry>400010</entry>
+ <entry>September 25, 1999</entry>
+ <entry>4.0-CURRENT after fixing a hole
+ in &man.jail.2;</entry>
+</row>
+
+<row>
+ <entry>400011</entry>
+ <entry>September 29, 1999</entry>
+ <entry>4.0-CURRENT after the <literal>sigset_t</literal>
+ datatype change</entry>
+</row>
+
+<row>
+ <entry>400012</entry>
+ <entry>November 15, 1999</entry>
+ <entry>4.0-CURRENT after the cutover to the GCC 2.95.2
+ compiler</entry>
+</row>
+
+<row>
+ <entry>400013</entry>
+ <entry>December 4, 1999</entry>
+ <entry>4.0-CURRENT after adding pluggable linux-mode
+ ioctl handlers</entry>
+</row>
+
+<row>
+ <entry>400014</entry>
+ <entry>January 18, 2000</entry>
+ <entry>4.0-CURRENT after importing OpenSSL</entry>
+</row>
+
+<row>
+ <entry>400015</entry>
+ <entry>January 27, 2000</entry>
+ <entry>4.0-CURRENT after the C++ ABI change in GCC
+ 2.95.2 from -fvtable-thunks to -fno-vtable-thunks by
+ default</entry>
+</row>
+
+<row>
+ <entry>400016</entry>
+ <entry>February 27, 2000</entry>
+ <entry>4.0-CURRENT after importing OpenSSH</entry>
+</row>
+
+<row>
+ <entry>400017</entry>
+ <entry>March 13, 2000</entry>
+ <entry>4.0-RELEASE</entry>
+</row>
+
+<row>
+ <entry>400018</entry>
+ <entry>March 17, 2000</entry>
+ <entry>4.0-STABLE after 4.0-RELEASE</entry>
+</row>
+
+<row>
+ <entry>400019</entry>
+ <entry>May 5, 2000</entry>
+ <entry>4.0-STABLE after the introduction of delayed
+ checksums.</entry>
+</row>
+
+<row>
+ <entry>400020</entry>
+ <entry>June 4, 2000</entry>
+ <entry>4.0-STABLE after merging libxpg4 code into
+ libc.</entry>
+</row>
+
+<row>
+ <entry>400021</entry>
+ <entry>July 8, 2000</entry>
+ <entry>4.0-STABLE after upgrading Binutils to 2.10.0,
+ ELF branding changes, and tcsh in the base
+ system.</entry>
+</row>
+
+<row>
+ <entry>410000</entry>
+ <entry>July 14, 2000</entry>
+ <entry>4.1-RELEASE</entry>
+</row>
+
+<row>
+ <entry>410001</entry>
+ <entry>July 29, 2000</entry>
+ <entry>4.1-STABLE after 4.1-RELEASE</entry>
+</row>
+
+<row>
+ <entry>410002</entry>
+ <entry>September 16, 2000</entry>
+ <entry>4.1-STABLE after &man.setproctitle.3; moved from
+ libutil to libc.</entry>
+</row>
+
+<row>
+ <entry>411000</entry>
+ <entry>September 25, 2000</entry>
+ <entry>4.1.1-RELEASE</entry>
+</row>
+
+<row>
+ <entry>411001</entry>
+ <entry></entry>
+ <entry>4.1.1-STABLE after 4.1.1-RELEASE</entry>
+</row>
+
+<row>
+ <entry>420000</entry>
+ <entry>October 31, 2000</entry>
+ <entry>4.2-RELEASE</entry>
+</row>
+
+<row>
+ <entry>420001</entry>
+ <entry>January 10, 2001</entry>
+ <entry>4.2-STABLE after combining libgcc.a and
+ libgcc_r.a, and associated GCC linkage
+ changes.</entry>
+</row>
+
+<row>
+ <entry>430000</entry>
+ <entry>March 6, 2001</entry>
+ <entry>4.3-RELEASE</entry>
+</row>
+
+<row>
+ <entry>430001</entry>
+ <entry>May 18, 2001</entry>
+ <entry>4.3-STABLE after wint_t introduction.</entry>
+</row>
+
+<row>
+ <entry>430002</entry>
+ <entry>July 22, 2001</entry>
+ <entry>4.3-STABLE after PCI powerstate API
+ merge.</entry>
+</row>
+
+<row>
+ <entry>440000</entry>
+ <entry>August 1, 2001</entry>
+ <entry>4.4-RELEASE</entry>
+</row>
+
+<row>
+ <entry>440001</entry>
+ <entry>October 23, 2001</entry>
+ <entry>4.4-STABLE after d_thread_t introduction.</entry>
+</row>
+
+<row>
+ <entry>440002</entry>
+ <entry>November 4, 2001</entry>
+ <entry>4.4-STABLE after mount structure changes (affects
+ filesystem klds).</entry>
+</row>
+
+<row>
+ <entry>440003</entry>
+ <entry>December 18, 2001</entry>
+ <entry>4.4-STABLE after the userland components of smbfs
+ were imported.</entry>
+</row>
+
+<row>
+ <entry>450000</entry>
+ <entry>December 20, 2001</entry>
+ <entry>4.5-RELEASE</entry>
+</row>
+
+<row>
+ <entry>450001</entry>
+ <entry>February 24, 2002</entry>
+ <entry>4.5-STABLE after the usb structure element
+ rename.</entry>
+</row>
+
+<row>
+ <entry>450004</entry>
+ <entry>April 16, 2002</entry>
+ <entry>4.5-STABLE after the
+ <literal>sendmail_enable</literal> &man.rc.conf.5;
+ variable was made to take the value
+ <literal>NONE</literal>.</entry>
+</row>
+
+<row>
+ <entry>450005</entry>
+ <entry>April 27, 2002</entry>
+ <entry>4.5-STABLE after moving to XFree86 4 by default
+ for package builds.</entry>
+</row>
+
+<row>
+ <entry>450006</entry>
+ <entry>May 1, 2002</entry>
+ <entry>4.5-STABLE after accept filtering was fixed so
+ that is no longer susceptible to an easy DoS.</entry>
+</row>
+
+<row>
+ <entry>460000</entry>
+ <entry>June 21, 2002</entry>
+ <entry>4.6-RELEASE</entry>
+</row>
+
+<row>
+ <entry>460001</entry>
+ <entry>June 21, 2002</entry>
+ <entry>4.6-STABLE &man.sendfile.2; fixed to comply with
+ documentation, not to count any headers sent against
+ the amount of data to be sent from the file.</entry>
+</row>
+
+<row>
+ <entry>460002</entry>
+ <entry>July 19, 2002</entry>
+ <entry>4.6.2-RELEASE</entry>
+</row>
+
+<row>
+ <entry>460100</entry>
+ <entry>June 26, 2002</entry>
+ <entry>4.6-STABLE</entry>
+</row>
+
+<row>
+ <entry>460101</entry>
+ <entry>June 26, 2002</entry>
+ <entry>4.6-STABLE after MFC of `sed -i'.</entry>
+</row>
+
+<row>
+ <entry>460102</entry>
+ <entry>September 1, 2002</entry>
+ <entry>4.6-STABLE after MFC of many new pkg_install
+ features from the HEAD.</entry>
+</row>
+
+<row>
+ <entry>470000</entry>
+ <entry>October 8, 2002</entry>
+ <entry>4.7-RELEASE</entry>
+</row>
+
+<row>
+ <entry>470100</entry>
+ <entry>October 9, 2002</entry>
+ <entry>4.7-STABLE</entry>
+</row>
+
+<row>
+ <entry>470101</entry>
+ <entry>November 10, 2002</entry>
+ <entry>Start generated __std{in,out,err}p references
+ rather than __sF. This changes std{in,out,err} from a
+ compile time expression to a runtime one.</entry>
+</row>
+
+<row>
+ <entry>470102</entry>
+ <entry>January 23, 2003</entry>
+ <entry>4.7-STABLE after MFC of mbuf changes to replace
+ m_aux mbufs by m_tag's</entry>
+</row>
+
+<row>
+ <entry>470103</entry>
+ <entry>February 14, 2003</entry>
+ <entry>4.7-STABLE gets OpenSSL 0.9.7</entry>
+</row>
+
+<row>
+ <entry>480000</entry>
+ <entry>March 30, 2003</entry>
+ <entry>4.8-RELEASE</entry>
+</row>
+
+<row>
+ <entry>480100</entry>
+ <entry>April 5, 2003</entry>
+ <entry>4.8-STABLE</entry>
+</row>
+
+<row>
+ <entry>480101</entry>
+ <entry>May 22, 2003</entry>
+ <entry>4.8-STABLE after &man.realpath.3; has been made
+ thread-safe</entry>
+</row>
+
+<row>
+ <entry>480102</entry>
+ <entry>August 10, 2003</entry>
+ <entry>4.8-STABLE 3ware API changes to twe.</entry>
+</row>
+
+<row>
+ <entry>490000</entry>
+ <entry>October 27, 2003</entry>
+ <entry>4.9-RELEASE</entry>
+</row>
+
+<row>
+ <entry>490100</entry>
+ <entry>October 27, 2003</entry>
+ <entry>4.9-STABLE</entry>
+</row>
+
+<row>
+ <entry>490101</entry>
+ <entry>January 8, 2004</entry>
+ <entry>4.9-STABLE after e_sid was added to struct
+ kinfo_eproc.</entry>
+</row>
+
+<row>
+ <entry>490102</entry>
+ <entry>February 4, 2004</entry>
+ <entry>4.9-STABLE after MFC of libmap functionality
+ for rtld.</entry>
+</row>
+
+<row>
+ <entry>491000</entry>
+ <entry>May 25, 2004</entry>
+ <entry>4.10-RELEASE</entry>
+</row>
+
+<row>
+ <entry>491100</entry>
+ <entry>June 1, 2004</entry>
+ <entry>4.10-STABLE</entry>
+</row>
+
+<row>
+ <entry>491101</entry>
+ <entry>August 11, 2004</entry>
+ <entry>4.10-STABLE after MFC of revision 20040629 of
+ the package tools</entry>
+</row>
+
+<row>
+ <entry>491102</entry>
+ <entry>November 16, 2004</entry>
+ <entry>4.10-STABLE after VM fix dealing with unwiring
+ of fictitious pages</entry>
+</row>
+
+<row>
+ <entry>492000</entry>
+ <entry>December 17, 2004</entry>
+ <entry>4.11-RELEASE</entry>
+</row>
+
+<row>
+ <entry>492100</entry>
+ <entry>December 17, 2004</entry>
+ <entry>4.11-STABLE</entry>
+</row>
+
+<row>
+ <entry>492101</entry>
+ <entry>April 18, 2006</entry>
+ <entry>4.11-STABLE after adding libdata/ldconfig
+ directories to mtree files.</entry>
+</row>
+
+<row>
+ <entry>500000</entry>
+ <entry>March 13, 2000</entry>
+ <entry>5.0-CURRENT</entry>
+</row>
+
+<row>
+ <entry>500001</entry>
+ <entry>April 18, 2000</entry>
+ <entry>5.0-CURRENT after adding addition ELF header
+ fields, and changing our ELF binary branding
+ method.</entry>
+</row>
+
+<row>
+ <entry>500002</entry>
+ <entry>May 2, 2000</entry>
+ <entry>5.0-CURRENT after kld metadata changes.</entry>
+</row>
+
+<row>
+ <entry>500003</entry>
+ <entry>May 18, 2000</entry>
+ <entry>5.0-CURRENT after buf/bio changes.</entry>
+</row>
+
+<row>
+ <entry>500004</entry>
+ <entry>May 26, 2000</entry>
+ <entry>5.0-CURRENT after binutils upgrade.</entry>
+</row>
+
+<row>
+ <entry>500005</entry>
+ <entry>June 3, 2000</entry>
+ <entry>5.0-CURRENT after merging libxpg4 code into
+ libc and after TASKQ interface introduction.</entry>
+</row>
+
+<row>
+ <entry>500006</entry>
+ <entry>June 10, 2000</entry>
+ <entry>5.0-CURRENT after the addition of AGP
+ interfaces.</entry>
+</row>
+
+<row>
+ <entry>500007</entry>
+ <entry>June 29, 2000</entry>
+ <entry>5.0-CURRENT after Perl upgrade to 5.6.0</entry>
+</row>
+
+<row>
+ <entry>500008</entry>
+ <entry>July 7, 2000</entry>
+ <entry>5.0-CURRENT after the update of KAME code to
+ 2000/07 sources.</entry>
+</row>
+
+<row>
+ <entry>500009</entry>
+ <entry>July 14, 2000</entry>
+ <entry>5.0-CURRENT after ether_ifattach() and
+ ether_ifdetach() changes.</entry>
+</row>
+
+<row>
+ <entry>500010</entry>
+ <entry>July 16, 2000</entry>
+ <entry>5.0-CURRENT after changing mtree defaults
+ back to original variant, adding -L to follow
+ symlinks.</entry>
+</row>
+
+<row>
+ <entry>500011</entry>
+ <entry>July 18, 2000</entry>
+ <entry>5.0-CURRENT after kqueue API changed.</entry>
+</row>
+
+<row>
+ <entry>500012</entry>
+ <entry>September 2, 2000</entry>
+ <entry>5.0-CURRENT after &man.setproctitle.3; moved from
+ libutil to libc.</entry>
+</row>
+
+<row>
+ <entry>500013</entry>
+ <entry>September 10, 2000</entry>
+ <entry>5.0-CURRENT after the first SMPng commit.</entry>
+</row>
+
+<row>
+ <entry>500014</entry>
+ <entry>January 4, 2001</entry>
+ <entry>5.0-CURRENT after &lt;sys/select.h&gt; moved to
+ &lt;sys/selinfo.h&gt;.</entry>
+</row>
+
+<row>
+ <entry>500015</entry>
+ <entry>January 10, 2001</entry>
+ <entry>5.0-CURRENT after combining libgcc.a and
+ libgcc_r.a, and associated GCC linkage
+ changes.</entry>
+</row>
+
+<row>
+ <entry>500016</entry>
+ <entry>January 24, 2001</entry>
+ <entry>5.0-CURRENT after change allowing libc and libc_r
+ to be linked together, deprecating -pthread
+ option.</entry>
+</row>
+
+<row>
+ <entry>500017</entry>
+ <entry>February 18, 2001</entry>
+ <entry>5.0-CURRENT after switch from struct ucred to
+ struct xucred to stabilize kernel-exported API for
+ mountd et al.</entry>
+</row>
+
+<row>
+ <entry>500018</entry>
+ <entry>February 24, 2001</entry>
+ <entry>5.0-CURRENT after addition of CPUTYPE make
+ variable for controlling CPU-specific
+ optimizations.</entry>
+</row>
+
+<row>
+ <entry>500019</entry>
+ <entry>June 9, 2001</entry>
+ <entry>5.0-CURRENT after moving machine/ioctl_fd.h to
+ sys/fdcio.h</entry>
+</row>
+
+<row>
+ <entry>500020</entry>
+ <entry>June 15, 2001</entry>
+ <entry>5.0-CURRENT after locale names renaming.</entry>
+</row>
+
+<row>
+ <entry>500021</entry>
+ <entry>June 22, 2001</entry>
+ <entry>5.0-CURRENT after Bzip2 import.
+ Also signifies removal of S/Key.</entry>
+</row>
+
+<row>
+ <entry>500022</entry>
+ <entry>July 12, 2001</entry>
+ <entry>5.0-CURRENT after SSE support.</entry>
+</row>
+
+<row>
+ <entry>500023</entry>
+ <entry>September 14, 2001</entry>
+ <entry>5.0-CURRENT after KSE Milestone 2.</entry>
+</row>
+
+<row>
+ <entry>500024</entry>
+ <entry>October 1, 2001</entry>
+ <entry>5.0-CURRENT after d_thread_t,
+ and moving UUCP to ports.</entry>
+</row>
+
+<row>
+ <entry>500025</entry>
+ <entry>October 4, 2001</entry>
+ <entry>5.0-CURRENT after ABI change for descriptor
+ and creds passing on 64 bit platforms.</entry>
+</row>
+
+<row>
+ <entry>500026</entry>
+ <entry>October 9, 2001</entry>
+ <entry>5.0-CURRENT after moving to XFree86 4 by default
+ for package builds, and after the new libc strnstr()
+ function was added.</entry>
+</row>
+
+<row>
+ <entry>500027</entry>
+ <entry>October 10, 2001</entry>
+ <entry>5.0-CURRENT after the new libc strcasestr()
+ function was added.</entry>
+</row>
+
+<row>
+ <entry>500028</entry>
+ <entry>December 14, 2001</entry>
+ <entry>5.0-CURRENT after the userland components of
+ smbfs were imported.</entry>
+</row>
+
+<row>
+ <entry>(not changed)</entry>
+ <entry></entry>
+ <entry>5.0-CURRENT after the new C99 specific-width
+ integer types were added.</entry>
+</row>
+
+<row>
+ <entry>500029</entry>
+ <entry>January 29, 2002</entry>
+ <entry>5.0-CURRENT after a change was made in the return
+ value of &man.sendfile.2;.</entry>
+</row>
+
+<row>
+ <entry>500030</entry>
+ <entry>February 15, 2002</entry>
+ <entry>5.0-CURRENT after the introduction of the
+ type <literal>fflags_t</literal>, which is the
+ appropriate size for file flags.</entry>
+</row>
+
+<row>
+ <entry>500031</entry>
+ <entry>February 24, 2002</entry>
+ <entry>5.0-CURRENT after the usb structure element
+ rename.</entry>
+</row>
+
+<row>
+ <entry>500032</entry>
+ <entry>March 16, 2002</entry>
+ <entry>5.0-CURRENT after the introduction of
+ Perl 5.6.1.</entry>
+</row>
+
+<row>
+ <entry>500033</entry>
+ <entry>April 3, 2002</entry>
+ <entry>5.0-CURRENT after the
+ <literal>sendmail_enable</literal> &man.rc.conf.5;
+ variable was made to take the value
+ <literal>NONE</literal>.</entry>
+</row>
+
+<row>
+ <entry>500034</entry>
+ <entry>April 30, 2002</entry>
+ <entry>5.0-CURRENT after mtx_init() grew a third
+ argument.</entry>
+</row>
+
+<row>
+ <entry>500035</entry>
+ <entry>May 13, 2002</entry>
+ <entry>5.0-CURRENT with Gcc 3.1.</entry>
+</row>
+
+<row>
+ <entry>500036</entry>
+ <entry>May 17, 2002</entry>
+ <entry>5.0-CURRENT without Perl in /usr/src</entry>
+</row>
+
+<row>
+ <entry>500037</entry>
+ <entry>May 29, 2002</entry>
+ <entry>5.0-CURRENT after the addition of
+ &man.dlfunc.3;</entry>
+</row>
+
+<row>
+ <entry>500038</entry>
+ <entry>July 24, 2002</entry>
+ <entry>5.0-CURRENT after the types of some struct
+ sockbuf members were changed and the structure was
+ reordered.</entry>
+</row>
+
+<row>
+ <entry>500039</entry>
+ <entry>September 1, 2002</entry>
+ <entry>5.0-CURRENT after GCC 3.2.1 import.
+ Also after headers stopped using
+ _BSD_FOO_T_ and started using _FOO_T_DECLARED.
+ This value can also be used as a conservative
+ estimate of the start of &man.bzip2.1; package
+ support.</entry>
+</row>
+
+<row>
+ <entry>500040</entry>
+ <entry>September 20, 2002</entry>
+ <entry>5.0-CURRENT after various changes to disk
+ functions were made in the name of removing dependency
+ on disklabel structure internals.</entry>
+</row>
+
+<row>
+ <entry>500041</entry>
+ <entry>October 1, 2002</entry>
+ <entry>5.0-CURRENT after the addition of
+ &man.getopt.long.3; to libc.</entry>
+</row>
+
+<row>
+ <entry>500042</entry>
+ <entry>October 15, 2002</entry>
+ <entry>5.0-CURRENT after Binutils 2.13 upgrade, which
+ included new FreeBSD emulation, vec, and output
+ format.</entry>
+</row>
+
+<row>
+ <entry>500043</entry>
+ <entry>November 1, 2002</entry>
+ <entry>5.0-CURRENT after adding weak pthread_XXX stubs
+ to libc, obsoleting libXThrStub.so.
+ 5.0-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>500100</entry>
+ <entry>January 17, 2003</entry>
+ <entry>5.0-CURRENT after branching for
+ RELENG_5_0</entry>
+</row>
+
+<row>
+ <entry>500101</entry>
+ <entry>February 19, 2003</entry>
+ <entry>&lt;sys/dkstat.h&gt; is empty and should
+ not be included.</entry>
+</row>
+
+<row>
+ <entry>500102</entry>
+ <entry>February 25, 2003</entry>
+ <entry>5.0-CURRENT after the d_mmap_t interface
+ change.</entry>
+</row>
+
+<row>
+ <entry>500103</entry>
+ <entry>February 26, 2003</entry>
+ <entry>5.0-CURRENT after taskqueue_swi changed to run
+ without Giant, and taskqueue_swi_giant added to run
+ with Giant.</entry>
+</row>
+
+<row>
+ <entry>500104</entry>
+ <entry>February 27, 2003</entry>
+ <entry>cdevsw_add() and cdevsw_remove() no
+ longer exists.
+ Appearance of MAJOR_AUTO allocation facility.</entry>
+</row>
+
+<row>
+ <entry>500105</entry>
+ <entry>March 4, 2003</entry>
+ <entry>5.0-CURRENT after new cdevsw initialization
+ method.</entry>
+</row>
+
+<row>
+ <entry>500106</entry>
+ <entry>March 8, 2003</entry>
+ <entry>devstat_add_entry() has been replaced by
+ devstat_new_entry()</entry>
+</row>
+
+<row>
+ <entry>500107</entry>
+ <entry>March 15, 2003</entry>
+ <entry>Devstat interface change; see sys/sys/param.h
+ 1.149</entry>
+</row>
+
+<row>
+ <entry>500108</entry>
+ <entry>March 15, 2003</entry>
+ <entry>Token-Ring interface changes.</entry>
+</row>
+
+<row>
+ <entry>500109</entry>
+ <entry>March 25, 2003</entry>
+ <entry>Addition of vm_paddr_t.</entry>
+</row>
+
+<row>
+ <entry>500110</entry>
+ <entry>March 28, 2003</entry>
+ <entry>5.0-CURRENT after &man.realpath.3; has been made
+ thread-safe</entry>
+</row>
+
+<row>
+ <entry>500111</entry>
+ <entry>April 9, 2003</entry>
+ <entry>5.0-CURRENT after &man.usbhid.3; has been synced
+ with NetBSD</entry>
+</row>
+
+<row>
+ <entry>500112</entry>
+ <entry>April 17, 2003</entry>
+ <entry>5.0-CURRENT after new NSS implementation
+ and addition of POSIX.1 getpw*_r, getgr*_r
+ functions</entry>
+</row>
+
+<row>
+ <entry>500113</entry>
+ <entry>May 2, 2003</entry>
+ <entry>5.0-CURRENT after removal of the old rc
+ system.</entry>
+</row>
+
+<row>
+ <entry>501000</entry>
+ <entry>June 4, 2003</entry>
+ <entry>5.1-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>501100</entry>
+ <entry>June 2, 2003</entry>
+ <entry>5.1-CURRENT after branching for
+ RELENG_5_1.</entry>
+</row>
+
+<row>
+ <entry>501101</entry>
+ <entry>June 29, 2003</entry>
+ <entry>5.1-CURRENT after correcting the semantics of
+ sigtimedwait(2) and sigwaitinfo(2).</entry>
+</row>
+
+<row>
+ <entry>501102</entry>
+ <entry>July 3, 2003</entry>
+ <entry>5.1-CURRENT after adding the lockfunc and
+ lockfuncarg fields to
+ &man.bus.dma.tag.create.9;.</entry>
+</row>
+
+<row>
+ <entry>501103</entry>
+ <entry>July 31, 2003</entry>
+ <entry>5.1-CURRENT after GCC 3.3.1-pre 20030711 snapshot
+ integration.</entry>
+</row>
+
+<row>
+ <entry>501104</entry>
+ <entry>August 5, 2003</entry>
+ <entry>5.1-CURRENT 3ware API changes to twe.</entry>
+</row>
+
+<row>
+ <entry>501105</entry>
+ <entry>August 17, 2003</entry>
+ <entry>5.1-CURRENT dynamically-linked /bin and /sbin
+ support and movement of libraries to /lib.</entry>
+</row>
+
+<row>
+ <entry>501106</entry>
+ <entry>September 8, 2003</entry>
+ <entry>5.1-CURRENT after adding kernel support for
+ Coda 6.x.</entry>
+</row>
+
+<row>
+ <entry>501107</entry>
+ <entry>September 17, 2003</entry>
+ <entry>5.1-CURRENT after 16550 UART constants moved from
+ <filename>&lt;dev/sio/sioreg.h&gt;</filename> to
+ <filename>&lt;dev/ic/ns16550.h&gt;</filename>.
+ Also when libmap functionality was unconditionally
+ supported by rtld.</entry>
+</row>
+
+<row>
+ <entry>501108</entry>
+ <entry>September 23, 2003</entry>
+ <entry>5.1-CURRENT after PFIL_HOOKS API update</entry>
+</row>
+
+<row>
+ <entry>501109</entry>
+ <entry>September 27, 2003</entry>
+ <entry>5.1-CURRENT after adding kiconv(3)</entry>
+</row>
+
+<row>
+ <entry>501110</entry>
+ <entry>September 28, 2003</entry>
+ <entry>5.1-CURRENT after changing default operations
+ for open and close in cdevsw</entry>
+</row>
+
+<row>
+ <entry>501111</entry>
+ <entry>October 16, 2003</entry>
+ <entry>5.1-CURRENT after changed layout of
+ cdevsw</entry>
+</row>
+
+<row>
+ <entry>501112</entry>
+ <entry>October 16, 2003</entry>
+ <entry> 5.1-CURRENT after adding kobj multiple
+ inheritance</entry>
+</row>
+
+<row>
+ <entry>501113</entry>
+ <entry>October 31, 2003</entry>
+ <entry> 5.1-CURRENT after the if_xname change in
+ struct ifnet</entry>
+</row>
+
+<row>
+ <entry>501114</entry>
+ <entry>November 16, 2003</entry>
+ <entry> 5.1-CURRENT after changing /bin and /sbin to
+ be dynamically linked</entry>
+</row>
+
+<row>
+ <entry>502000</entry>
+ <entry>December 7, 2003</entry>
+ <entry>5.2-RELEASE</entry>
+</row>
+
+<row>
+ <entry>502010</entry>
+ <entry>February 23, 2004</entry>
+ <entry>5.2.1-RELEASE</entry>
+</row>
+
+<row>
+ <entry>502100</entry>
+ <entry>December 7, 2003</entry>
+ <entry>5.2-CURRENT after branching for
+ RELENG_5_2</entry>
+</row>
+
+<row>
+ <entry>502101</entry>
+ <entry>December 19, 2003</entry>
+ <entry>5.2-CURRENT after __cxa_atexit/__cxa_finalize
+ functions were added to libc.</entry>
+</row>
+
+<row>
+ <entry>502102</entry>
+ <entry>January 30, 2004</entry>
+ <entry>5.2-CURRENT after change of default thread
+ library from libc_r to libpthread.</entry>
+</row>
+
+<row>
+ <entry>502103</entry>
+ <entry>February 21, 2004</entry>
+ <entry>5.2-CURRENT after device driver API
+ megapatch.</entry>
+</row>
+
+<row>
+ <entry>502104</entry>
+ <entry>February 25, 2004</entry>
+ <entry>5.2-CURRENT after getopt_long_only()
+ addition.</entry>
+</row>
+
+<row>
+ <entry>502105</entry>
+ <entry>March 5, 2004</entry>
+ <entry>5.2-CURRENT after NULL is made into ((void *)0)
+ for C, creating more warnings.</entry>
+</row>
+
+<row>
+ <entry>502106</entry>
+ <entry>March 8, 2004</entry>
+ <entry>5.2-CURRENT after pf is linked to the build and
+ install.</entry>
+</row>
+
+<row>
+ <entry>502107</entry>
+ <entry>March 10, 2004</entry>
+ <entry>5.2-CURRENT after time_t is changed to a
+ 64-bit value on sparc64.</entry>
+</row>
+
+<row>
+ <entry>502108</entry>
+ <entry>March 12, 2004</entry>
+ <entry>5.2-CURRENT after Intel C/C++ compiler support in
+ some headers and execve(2) changes to be more strictly
+ conforming to POSIX.</entry>
+</row>
+
+<row>
+ <entry>502109</entry>
+ <entry>March 22, 2004</entry>
+ <entry>5.2-CURRENT after the introduction of the
+ bus_alloc_resource_any API</entry>
+</row>
+
+<row>
+ <entry>502110</entry>
+ <entry>March 27, 2004</entry>
+ <entry>5.2-CURRENT after the addition of UTF-8
+ locales</entry>
+</row>
+
+<row>
+ <entry>502111</entry>
+ <entry>April 11, 2004</entry>
+ <entry>5.2-CURRENT after the removal of the getvfsent(3)
+ API</entry>
+</row>
+
+<row>
+ <entry>502112</entry>
+ <entry>April 13, 2004</entry>
+ <entry>5.2-CURRENT after the addition of the .warning
+ directive for make.</entry>
+</row>
+
+<row>
+ <entry>502113</entry>
+ <entry>June 4, 2004</entry>
+ <entry>5.2-CURRENT after ttyioctl() was made mandatory
+ for serial drivers.</entry>
+</row>
+
+<row>
+ <entry>502114</entry>
+ <entry>June 13, 2004</entry>
+ <entry>5.2-CURRENT after import of the ALTQ
+ framework.</entry>
+</row>
+
+<row>
+ <entry>502115</entry>
+ <entry>June 14, 2004</entry>
+ <entry>5.2-CURRENT after changing sema_timedwait(9) to
+ return 0 on success and a non-zero error code on
+ failure.</entry>
+</row>
+
+<row>
+ <entry>502116</entry>
+ <entry>June 16, 2004</entry>
+ <entry>5.2-CURRENT after changing kernel dev_t to be
+ pointer to struct cdev *.</entry>
+</row>
+
+<row>
+ <entry>502117</entry>
+ <entry>June 17, 2004</entry>
+ <entry>5.2-CURRENT after changing kernel udev_t to
+ dev_t.</entry>
+</row>
+
+<row>
+ <entry>502118</entry>
+ <entry>June 17, 2004</entry>
+ <entry>5.2-CURRENT after adding support for
+ CLOCK_VIRTUAL and CLOCK_PROF to clock_gettime(2) and
+ clock_getres(2).</entry>
+</row>
+
+<row>
+ <entry>502119</entry>
+ <entry>June 22, 2004</entry>
+ <entry>5.2-CURRENT after changing network interface
+ cloning overhaul.</entry>
+</row>
+
+<row>
+ <entry>502120</entry>
+ <entry>July 2, 2004</entry>
+ <entry>5.2-CURRENT after the update of the package tools
+ to revision 20040629.</entry>
+</row>
+
+<row>
+ <entry>502121</entry>
+ <entry>July 9, 2004</entry>
+ <entry>5.2-CURRENT after marking Bluetooth code as
+ non-i386 specific.</entry>
+</row>
+
+<row>
+ <entry>502122</entry>
+ <entry>July 11, 2004</entry>
+ <entry>5.2-CURRENT after the introduction of the KDB
+ debugger framework, the conversion of DDB into a
+ backend and the introduction of the GDB
+ backend.</entry>
+</row>
+
+<row>
+ <entry>502123</entry>
+ <entry>July 12, 2004</entry>
+ <entry>5.2-CURRENT after change to make VFS_ROOT take a
+ struct thread argument as does vflush. Struct
+ kinfo_proc now has a user data pointer. The switch of
+ the default X implementation to
+ <literal>xorg</literal> was also made at this
+ time.</entry>
+</row>
+
+<row>
+ <entry>502124</entry>
+ <entry>July 24, 2004</entry>
+ <entry>5.2-CURRENT after the change to separate the way
+ ports rc.d and legacy scripts are started.</entry>
+</row>
+
+<row>
+ <entry>502125</entry>
+ <entry>July 28, 2004</entry>
+ <entry>5.2-CURRENT after the backout of the previous
+ change.</entry>
+</row>
+
+<row>
+ <entry>502126</entry>
+ <entry>July 31, 2004</entry>
+ <entry>5.2-CURRENT after the removal of
+ kmem_alloc_pageable() and the import of gcc
+ 3.4.2.</entry>
+</row>
+
+<row>
+ <entry>502127</entry>
+ <entry>August 2, 2004</entry>
+ <entry>5.2-CURRENT after changing the UMA kernel
+ API to allow ctors/inits to fail.</entry>
+</row>
+
+<row>
+ <entry>502128</entry>
+ <entry>August 8, 2004</entry>
+ <entry>5.2-CURRENT after the change of the
+ vfs_mount signature as well as global replacement of
+ PRISON_ROOT with SUSER_ALLOWJAIL for the suser(9)
+ API.</entry>
+</row>
+
+<row>
+ <entry>503000</entry>
+ <entry>August 23, 2004</entry>
+ <entry>5.3-BETA/RC before the pfil API change</entry>
+</row>
+
+<row>
+ <entry>503001</entry>
+ <entry>September 22, 2004</entry>
+ <entry>5.3-RELEASE</entry>
+</row>
+
+<row>
+ <entry>503100</entry>
+ <entry>October 16, 2004</entry>
+ <entry>5.3-STABLE after branching for RELENG_5_3</entry>
+</row>
+
+<row>
+ <entry>503101</entry>
+ <entry>December 3, 2004</entry>
+ <entry>5.3-STABLE after addition of glibc style
+ &man.strftime.3; padding options.</entry>
+</row>
+
+<row>
+ <entry>503102</entry>
+ <entry>February 13, 2005</entry>
+ <entry>5.3-STABLE after OpenBSD's nc(1) import
+ MFC.</entry>
+</row>
+
+<row>
+ <entry>503103</entry>
+ <entry>February 27, 2005</entry>
+ <entry>5.4-PRERELEASE after the MFC of the fixes in
+ <filename>&lt;src/include/stdbool.h&gt;</filename> and
+ <filename>&lt;src/sys/i386/include/_types.h&gt;</filename>
+ for using the GCC-compatibility of the Intel C/C++
+ compiler.</entry>
+</row>
+
+<row>
+ <entry>503104</entry>
+ <entry>February 28, 2005</entry>
+ <entry>5.4-PRERELEASE after the MFC of the change of
+ ifi_epoch from wall clock time to uptime.</entry>
+</row>
+
+<row>
+ <entry>503105</entry>
+ <entry>March 2, 2005</entry>
+ <entry>5.4-PRERELEASE after the MFC of the fix of
+ EOVERFLOW check in vswprintf(3).</entry>
+</row>
+
+<row>
+ <entry>504000</entry>
+ <entry>April 3, 2005</entry>
+ <entry>5.4-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>504100</entry>
+ <entry>April 3, 2005</entry>
+ <entry>5.4-STABLE after branching for RELENG_5_4</entry>
+</row>
+
+<row>
+ <entry>504101</entry>
+ <entry>May 11, 2005</entry>
+ <entry>5.4-STABLE after increasing the default
+ thread stacksizes</entry>
+</row>
+
+<row>
+ <entry>504102</entry>
+ <entry>June 24, 2005</entry>
+ <entry>5.4-STABLE after the addition of sha256</entry>
+</row>
+
+<row>
+ <entry>504103</entry>
+ <entry>October 3, 2005</entry>
+ <entry>5.4-STABLE after the MFC of if_bridge</entry>
+</row>
+
+<row>
+ <entry>504104</entry>
+ <entry>November 13, 2005</entry>
+ <entry>5.4-STABLE after the MFC of bsdiff and
+ portsnap</entry>
+</row>
+
+<row>
+ <entry>504105</entry>
+ <entry>January 17, 2006</entry>
+ <entry>5.4-STABLE after MFC of ldconfig_local_dirs
+ change.</entry>
+</row>
+
+<row>
+ <entry>505000</entry>
+ <entry>May 12, 2006</entry>
+ <entry>5.5-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>505100</entry>
+ <entry>May 12, 2006</entry>
+ <entry>5.5-STABLE after branching for RELENG_5_5</entry>
+</row>
+
+<row>
+ <entry>600000</entry>
+ <entry>August 18, 2004</entry>
+ <entry>6.0-CURRENT</entry>
+</row>
+
+<row>
+ <entry>600001</entry>
+ <entry>August 27, 2004</entry>
+ <entry>6.0-CURRENT after permanently enabling PFIL_HOOKS
+ in the kernel.</entry>
+</row>
+
+<row>
+ <entry>600002</entry>
+ <entry>August 30, 2004</entry>
+ <entry>6.0-CURRENT after initial addition of
+ ifi_epoch to struct if_data. Backed out after a
+ few days. Do not use this value.</entry>
+</row>
+
+<row>
+ <entry>600003</entry>
+ <entry>September 8, 2004</entry>
+ <entry>6.0-CURRENT after the re-addition of the
+ ifi_epoch member of struct if_data.</entry>
+</row>
+
+<row>
+ <entry>600004</entry>
+ <entry>September 29, 2004</entry>
+ <entry>6.0-CURRENT after addition of the struct inpcb
+ argument to the pfil API.</entry>
+</row>
+
+<row>
+ <entry>600005</entry>
+ <entry>October 5, 2004</entry>
+ <entry>6.0-CURRENT after addition of the "-d
+ DESTDIR" argument to newsyslog.</entry>
+</row>
+
+<row>
+ <entry>600006</entry>
+ <entry>November 4, 2004</entry>
+ <entry>6.0-CURRENT after addition of glibc style
+ &man.strftime.3; padding options.</entry>
+</row>
+
+<row>
+ <entry>600007</entry>
+ <entry>December 12, 2004</entry>
+ <entry>6.0-CURRENT after addition of 802.11 framework
+ updates.</entry>
+</row>
+
+<row>
+ <entry>600008</entry>
+ <entry>January 25, 2005</entry>
+ <entry>6.0-CURRENT after changes to VOP_*VOBJECT()
+ functions and introduction of MNTK_MPSAFE flag for
+ Giantfree filesystems.</entry>
+</row>
+
+<row>
+ <entry>600009</entry>
+ <entry>February 4, 2005</entry>
+ <entry>6.0-CURRENT after addition of the cpufreq
+ framework and drivers.</entry>
+</row>
+
+<row>
+ <entry>600010</entry>
+ <entry>February 6, 2005</entry>
+ <entry>6.0-CURRENT after importing OpenBSD's
+ nc(1).</entry>
+</row>
+
+<row>
+ <entry>600011</entry>
+ <entry>February 12, 2005</entry>
+ <entry>6.0-CURRENT after removing semblance of SVID2
+ <literal>matherr()</literal> support.</entry>
+</row>
+
+<row>
+ <entry>600012</entry>
+ <entry>February 15, 2005</entry>
+ <entry>6.0-CURRENT after increase of default thread
+ stacks' size.</entry>
+</row>
+
+<row>
+ <entry>600013</entry>
+ <entry>February 19, 2005</entry>
+ <entry>6.0-CURRENT after fixes in
+ <filename>&lt;src/include/stdbool.h&gt;</filename> and
+ <filename>&lt;src/sys/i386/include/_types.h&gt;</filename>
+ for using the GCC-compatibility of the Intel C/C++
+ compiler.</entry>
+</row>
+
+<row>
+ <entry>600014</entry>
+ <entry>February 21, 2005</entry>
+ <entry>6.0-CURRENT after EOVERFLOW checks in
+ vswprintf(3) fixed.</entry>
+</row>
+
+<row>
+ <entry>600015</entry>
+ <entry>February 25, 2005</entry>
+ <entry>6.0-CURRENT after changing the struct if_data
+ member, ifi_epoch, from wall clock time to
+ uptime.</entry>
+</row>
+
+<row>
+ <entry>600016</entry>
+ <entry>February 26, 2005</entry>
+ <entry>6.0-CURRENT after LC_CTYPE disk format
+ changed.</entry>
+</row>
+
+<row>
+ <entry>600017</entry>
+ <entry>February 27, 2005</entry>
+ <entry>6.0-CURRENT after NLS catalogs disk format
+ changed.</entry>
+</row>
+
+<row>
+ <entry>600018</entry>
+ <entry>February 27, 2005</entry>
+ <entry>6.0-CURRENT after LC_COLLATE disk format
+ changed.</entry>
+</row>
+
+<row>
+ <entry>600019</entry>
+ <entry>February 28, 2005</entry>
+ <entry>Installation of acpica includes into
+ /usr/include.</entry>
+</row>
+
+<row>
+ <entry>600020</entry>
+ <entry>March 9, 2005</entry>
+ <entry>Addition of MSG_NOSIGNAL flag to send(2)
+ API.</entry>
+</row>
+
+<row>
+ <entry>600021</entry>
+ <entry>March 17, 2005</entry>
+ <entry>Addition of fields to cdevsw</entry>
+</row>
+
+<row>
+ <entry>600022</entry>
+ <entry>March 21, 2005</entry>
+ <entry>Removed gtar from base system.</entry>
+</row>
+
+<row>
+ <entry>600023</entry>
+ <entry>April 13, 2005</entry>
+ <entry>LOCAL_CREDS, LOCAL_CONNWAIT socket options added
+ to unix(4).</entry>
+</row>
+
+<row>
+ <entry>600024</entry>
+ <entry>April 19, 2005</entry>
+ <entry>&man.hwpmc.4; and related tools added to
+ 6.0-CURRENT.</entry>
+</row>
+
+<row>
+ <entry>600025</entry>
+ <entry>April 26, 2005</entry>
+ <entry>struct icmphdr added to 6.0-CURRENT.</entry>
+</row>
+
+<row>
+ <entry>600026</entry>
+ <entry>May 3, 2005</entry>
+ <entry>pf updated to 3.7.</entry>
+</row>
+
+<row>
+ <entry>600027</entry>
+ <entry>May 6, 2005</entry>
+ <entry>Kernel libalias and ng_nat introduced.</entry>
+</row>
+
+<row>
+ <entry>600028</entry>
+ <entry>May 13, 2005</entry>
+ <entry>POSIX ttyname_r(3) made available through
+ unistd.h and libc.</entry>
+</row>
+
+<row>
+ <entry>600029</entry>
+ <entry>May 29, 2005</entry>
+ <entry>6.0-CURRENT after libpcap updated to v0.9.1 alpha
+ 096.</entry>
+</row>
+
+<row>
+ <entry>600030</entry>
+ <entry>June 5, 2005</entry>
+ <entry>6.0-CURRENT after importing NetBSD's
+ if_bridge(4).</entry>
+</row>
+
+<row>
+ <entry>600031</entry>
+ <entry>June 10, 2005</entry>
+ <entry>6.0-CURRENT after struct ifnet was broken out
+ of the driver softcs.</entry>
+</row>
+
+<row>
+ <entry>600032</entry>
+ <entry>July 11, 2005</entry>
+ <entry>6.0-CURRENT after the import of libpcap
+ v0.9.1.</entry>
+</row>
+
+<row>
+ <entry>600033</entry>
+ <entry>July 25, 2005</entry>
+ <entry>6.0-STABLE after bump of all shared library
+ versions that had not been changed since
+ RELENG_5.</entry>
+</row>
+
+<row>
+ <entry>600034</entry>
+ <entry>August 13, 2005</entry>
+ <entry>6.0-STABLE after credential argument is added to
+ dev_clone event handler. 6.0-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>600100</entry>
+ <entry>November 1, 2005</entry>
+ <entry>6.0-STABLE after 6.0-RELEASE</entry>
+</row>
+
+<row>
+ <entry>600101</entry>
+ <entry>December 21, 2005</entry>
+ <entry>6.0-STABLE after incorporating scripts from the
+ local_startup directories into the base
+ &man.rcorder.8;.</entry>
+</row>
+
+<row>
+ <entry>600102</entry>
+ <entry>December 30, 2005</entry>
+ <entry>6.0-STABLE after updating the ELF types and
+ constants.</entry>
+</row>
+
+<row>
+ <entry>600103</entry>
+ <entry>January 15, 2006</entry>
+ <entry>6.0-STABLE after MFC of pidfile(3) API.</entry>
+</row>
+
+<row>
+ <entry>600104</entry>
+ <entry>January 17, 2006</entry>
+ <entry>6.0-STABLE after MFC of ldconfig_local_dirs
+ change.</entry>
+</row>
+
+<row>
+ <entry>600105</entry>
+ <entry>February 26, 2006</entry>
+ <entry>6.0-STABLE after NLS catalog support of
+ csh(1).</entry>
+</row>
+
+<row>
+ <entry>601000</entry>
+ <entry>May 6, 2006</entry>
+ <entry>6.1-RELEASE</entry>
+</row>
+
+<row>
+ <entry>601100</entry>
+ <entry>May 6, 2006</entry>
+ <entry>6.1-STABLE after 6.1-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>601101</entry>
+ <entry>June 22, 2006</entry>
+ <entry>6.1-STABLE after the import of csup.</entry>
+</row>
+
+<row>
+ <entry>601102</entry>
+ <entry>July 11, 2006</entry>
+ <entry>6.1-STABLE after the iwi(4) update.</entry>
+</row>
+
+<row>
+ <entry>601103</entry>
+ <entry>July 17, 2006</entry>
+ <entry>6.1-STABLE after the resolver update to
+ BIND9, and exposure of reentrant version of
+ netdb functions.</entry>
+</row>
+
+<row>
+ <entry>601104</entry>
+ <entry>August 8, 2006</entry>
+ <entry>6.1-STABLE after DSO (dynamic shared
+ objects) support has been enabled in
+ OpenSSL.</entry>
+</row>
+
+<row>
+ <entry>601105</entry>
+ <entry>September 2, 2006</entry>
+ <entry>6.1-STABLE after 802.11 fixups changed the
+ api for the IEEE80211_IOC_STA_INFO ioctl.</entry>
+</row>
+
+<row>
+ <entry>602000</entry>
+ <entry>November 15, 2006</entry>
+ <entry>6.2-RELEASE</entry>
+</row>
+
+<row>
+ <entry>602100</entry>
+ <entry>September 15, 2006</entry>
+ <entry>6.2-STABLE after 6.2-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>602101</entry>
+ <entry>December 12, 2006</entry>
+ <entry>6.2-STABLE after the addition of Wi-Spy
+ quirk.</entry>
+</row>
+
+<row>
+ <entry>602102</entry>
+ <entry>December 28, 2006</entry>
+ <entry>6.2-STABLE after pci_find_extcap()
+ addition.</entry>
+</row>
+
+<row>
+ <entry>602103</entry>
+ <entry>January 16, 2007</entry>
+ <entry>6.2-STABLE after MFC of dlsym change to look for
+ a requested symbol both in specified dso and its
+ implicit dependencies.</entry>
+</row>
+
+<row>
+ <entry>602104</entry>
+ <entry>January 28, 2007</entry>
+ <entry>6.2-STABLE after MFC of ng_deflate(4) and
+ ng_pred1(4) netgraph nodes and new compression and
+ encryption modes for ng_ppp(4) node.</entry>
+</row>
+
+<row>
+ <entry>602105</entry>
+ <entry>February 20, 2007</entry>
+ <entry>6.2-STABLE after MFC of BSD licensed version of
+ &man.gzip.1; ported from NetBSD.</entry>
+</row>
+
+<row>
+ <entry>602106</entry>
+ <entry>March 31, 2007</entry>
+ <entry>6.2-STABLE after MFC of PCI MSI and MSI-X
+ support.</entry>
+</row>
+
+<row>
+ <entry>602107</entry>
+ <entry>April 6, 2007</entry>
+ <entry>6.2-STABLE after MFC of ncurses 5.6 and wide
+ character support.</entry>
+</row>
+
+<row>
+ <entry>602108</entry>
+ <entry>April 11, 2007</entry>
+ <entry>6.2-STABLE after MFC of CAM 'SG' peripheral
+ device, which implements a subset of Linux SCSI SG
+ passthrough device API.</entry>
+</row>
+
+<row>
+ <entry>602109</entry>
+ <entry>April 17, 2007</entry>
+ <entry>6.2-STABLE after MFC of readline 5.2 patchset
+ 002.</entry>
+</row>
+
+<row>
+ <entry>602110</entry>
+ <entry>May 2, 2007</entry>
+ <entry>6.2-STABLE after MFC of pmap_invalidate_cache(),
+ pmap_change_attr(), pmap_mapbios(),
+ pmap_mapdev_attr(), and pmap_unmapbios() for amd64 and
+ i386.</entry>
+</row>
+
+<row>
+ <entry>602111</entry>
+ <entry>June 11, 2007</entry>
+ <entry>6.2-STABLE after MFC of BOP_BDFLUSH and caused
+ breakage of the filesystem modules KBI.</entry>
+</row>
+
+<row>
+ <entry>602112</entry>
+ <entry>September 21, 2007</entry>
+ <entry>6.2-STABLE after libutil(3) MFC's.</entry>
+</row>
+
+<row>
+ <entry>602113</entry>
+ <entry>October 25, 2007</entry>
+ <entry>6.2-STABLE after MFC of wide and single byte
+ ctype separation. Newly compiled binary that
+ references to ctype.h may require a new symbol,
+ __mb_sb_limit, which is not available on older
+ systems.</entry>
+</row>
+
+<row>
+ <entry>602114</entry>
+ <entry>October 30, 2007</entry>
+ <entry>6.2-STABLE after ctype ABI forward compatibility
+ restored.</entry>
+</row>
+
+<row>
+ <entry>602115</entry>
+ <entry>November 21, 2007</entry>
+ <entry>6.2-STABLE after back out of wide and single byte
+ ctype separation.</entry>
+</row>
+
+<row>
+ <entry>603000</entry>
+ <entry>November 25, 2007</entry>
+ <entry>6.3-RELEASE</entry>
+</row>
+
+<row>
+ <entry>603100</entry>
+ <entry>November 25, 2007</entry>
+ <entry>6.3-STABLE after 6.3-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>603101</entry>
+ <entry>December 7, 2007</entry>
+ <entry>6.3-STABLE after fixing
+ multibyte type support in bit macro.</entry>
+</row>
+
+<row>
+ <entry>603102</entry>
+ <entry>April 24, 2008</entry>
+ <entry>6.3-STABLE after adding l_sysid to struct
+ flock.</entry>
+</row>
+
+<row>
+ <entry>603103</entry>
+ <entry>May 27, 2008</entry>
+ <entry>6.3-STABLE after MFC of the
+ <function>memrchr</function> function.</entry>
+</row>
+
+<row>
+ <entry>603104</entry>
+ <entry>June 15, 2008</entry>
+ <entry>6.3-STABLE after MFC of support for
+ <literal>:u</literal> variable modifier in
+ make(1).</entry>
+</row>
+
+<row>
+ <entry>604000</entry>
+ <entry>October 4, 2008</entry>
+ <entry>6.4-RELEASE</entry>
+</row>
+
+<row>
+ <entry>604100</entry>
+ <entry>October 4, 2008</entry>
+ <entry>6.4-STABLE after 6.4-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>700000</entry>
+ <entry>July 11, 2005</entry>
+ <entry>7.0-CURRENT.</entry>
+</row>
+
+<row>
+ <entry>700001</entry>
+ <entry>July 23, 2005</entry>
+ <entry>7.0-CURRENT after bump of all shared library
+ versions that had not been changed since
+ RELENG_5.</entry>
+</row>
+
+<row>
+ <entry>700002</entry>
+ <entry>August 13, 2005</entry>
+ <entry>7.0-CURRENT after credential argument is added to
+ dev_clone event handler.</entry>
+</row>
+
+<row>
+ <entry>700003</entry>
+ <entry>August 25, 2005</entry>
+ <entry>7.0-CURRENT after memmem(3) is added to
+ libc.</entry>
+</row>
+
+<row>
+ <entry>700004</entry>
+ <entry>October 30, 2005</entry>
+ <entry>7.0-CURRENT after solisten(9) kernel arguments
+ are modified to accept a backlog parameter.</entry>
+</row>
+
+<row>
+ <entry>700005</entry>
+ <entry>November 11, 2005</entry>
+ <entry>7.0-CURRENT after IFP2ENADDR() was changed to
+ return a pointer to IF_LLADDR().</entry>
+</row>
+
+<row>
+ <entry>700006</entry>
+ <entry>November 11, 2005</entry>
+ <entry>7.0-CURRENT after addition of
+ <literal>if_addr</literal> member to <literal>struct
+ ifnet</literal> and IFP2ENADDR() removal.</entry>
+</row>
+
+<row>
+ <entry>700007</entry>
+ <entry>December 2, 2005</entry>
+ <entry>7.0-CURRENT after incorporating scripts from the
+ local_startup directories into the base
+ &man.rcorder.8;.</entry>
+</row>
+
+<row>
+ <entry>700008</entry>
+ <entry>December 5, 2005</entry>
+ <entry>7.0-CURRENT after removal of MNT_NODEV mount
+ option.</entry>
+</row>
+
+<row>
+ <entry>700009</entry>
+ <entry>December 19, 2005</entry>
+ <entry>7.0-CURRENT after ELF-64 type changes and symbol
+ versioning.</entry>
+</row>
+
+<row>
+ <entry>700010</entry>
+ <entry>December 20, 2005</entry>
+ <entry>7.0-CURRENT after addition of hostb and vgapci
+ drivers, addition of pci_find_extcap(), and changing
+ the AGP drivers to no longer map the aperture.</entry>
+</row>
+
+<row>
+ <entry>700011</entry>
+ <entry>December 31, 2005</entry>
+ <entry>7.0-CURRENT after tv_sec was made time_t on
+ all platforms but Alpha.</entry>
+</row>
+
+<row>
+ <entry>700012</entry>
+ <entry>January 8, 2006</entry>
+ <entry>7.0-CURRENT after ldconfig_local_dirs
+ change.</entry>
+</row>
+
+<row>
+ <entry>700013</entry>
+ <entry>January 12, 2006</entry>
+ <entry>7.0-CURRENT after changes to
+ <filename>/etc/rc.d/abi</filename> to support
+ <filename>/compat/linux/etc/ld.so.cache</filename>
+ being a symlink in a readonly filesystem.</entry>
+</row>
+
+<row>
+ <entry>700014</entry>
+ <entry>January 26, 2006</entry>
+ <entry>7.0-CURRENT after pts import.</entry>
+</row>
+
+<row>
+ <entry>700015</entry>
+ <entry>March 26, 2006</entry>
+ <entry>7.0-CURRENT after the introduction of version 2
+ of &man.hwpmc.4;'s ABI.</entry>
+</row>
+
+<row>
+ <entry>700016</entry>
+ <entry>April 22, 2006</entry>
+ <entry>7.0-CURRENT after addition of &man.fcloseall.3;
+ to libc.</entry>
+</row>
+
+<row>
+ <entry>700017</entry>
+ <entry>May 13, 2006</entry>
+ <entry>7.0-CURRENT after removal of ip6fw.</entry>
+</row>
+
+<row>
+ <entry>700018</entry>
+ <entry>July 15, 2006</entry>
+ <entry>7.0-CURRENT after import of snd_emu10kx.</entry>
+</row>
+
+<row>
+ <entry>700019</entry>
+ <entry>July 29, 2006</entry>
+ <entry>7.0-CURRENT after import of OpenSSL
+ 0.9.8b.</entry>
+</row>
+
+<row>
+ <entry>700020</entry>
+ <entry>September 3, 2006</entry>
+ <entry>7.0-CURRENT after addition of bus_dma_get_tag
+ function</entry>
+</row>
+
+<row>
+ <entry>700021</entry>
+ <entry>September 4, 2006</entry>
+ <entry>7.0-CURRENT after libpcap 0.9.4 and tcpdump 3.9.4
+ import.</entry>
+</row>
+
+<row>
+ <entry>700022</entry>
+ <entry>September 9, 2006</entry>
+ <entry>7.0-CURRENT after dlsym change to look for a
+ requested symbol both in specified dso and its
+ implicit dependencies.</entry>
+</row>
+
+<row>
+ <entry>700023</entry>
+ <entry>September 23, 2006</entry>
+ <entry>7.0-CURRENT after adding new sound IOCTLs for the
+ OSSv4 mixer API.</entry>
+</row>
+
+<row>
+ <entry>700024</entry>
+ <entry>September 28, 2006</entry>
+ <entry>7.0-CURRENT after import of OpenSSL
+ 0.9.8d.</entry>
+</row>
+
+<row>
+ <entry>700025</entry>
+ <entry>November 11, 2006</entry>
+ <entry>7.0-CURRENT after the addition of libelf.</entry>
+</row>
+
+<row>
+ <entry>700026</entry>
+ <entry>November 26, 2006</entry>
+ <entry>7.0-CURRENT after major changes on sound
+ sysctls.</entry>
+</row>
+
+<row>
+ <entry>700027</entry>
+ <entry>November 30, 2006</entry>
+ <entry>7.0-CURRENT after the addition of Wi-Spy
+ quirk.</entry>
+</row>
+
+<row>
+ <entry>700028</entry>
+ <entry>December 15, 2006</entry>
+ <entry>7.0-CURRENT after the addition of sctp calls to
+ libc</entry>
+</row>
+
+<row>
+ <entry>700029</entry>
+ <entry>January 26, 2007</entry>
+ <entry>7.0-CURRENT after the GNU &man.gzip.1;
+ implementation was replaced with a BSD licensed
+ version ported from NetBSD.</entry>
+</row>
+
+<row>
+ <entry>700030</entry>
+ <entry>February 7, 2007</entry>
+ <entry>7.0-CURRENT after the removal of IPIP tunnel
+ encapsulation (VIFF_TUNNEL) from the IPv4 multicast
+ forwarding code.</entry>
+</row>
+
+<row>
+ <entry>700031</entry>
+ <entry>February 23, 2007</entry>
+ <entry>7.0-CURRENT after the modification of
+ bus_setup_intr() (newbus).</entry>
+</row>
+
+<row>
+ <entry>700032</entry>
+ <entry>March 2, 2007</entry>
+ <entry>7.0-CURRENT after the inclusion of ipw(4) and
+ iwi(4) firmware.</entry>
+</row>
+
+<row>
+ <entry>700033</entry>
+ <entry>March 9, 2007</entry>
+ <entry>7.0-CURRENT after the inclusion of ncurses wide
+ character support.</entry>
+</row>
+
+<row>
+ <entry>700034</entry>
+ <entry>March 19, 2007</entry>
+ <entry>7.0-CURRENT after changes to how insmntque(),
+ getnewvnode(), and vfs_hash_insert() work.</entry>
+</row>
+
+<row>
+ <entry>700035</entry>
+ <entry>March 26, 2007</entry>
+ <entry>7.0-CURRENT after addition of a notify mechanism
+ for CPU frequency changes.</entry>
+</row>
+
+<row>
+ <entry>700036</entry>
+ <entry>April 6, 2007</entry>
+ <entry>7.0-CURRENT after import of the ZFS
+ filesystem.</entry>
+</row>
+
+<row>
+ <entry>700037</entry>
+ <entry>April 8, 2007</entry>
+ <entry>7.0-CURRENT after addition of CAM 'SG' peripheral
+ device, which implements a subset of Linux SCSI SG
+ passthrough device API.</entry>
+</row>
+
+<row>
+ <entry>700038</entry>
+ <entry>April 30, 2007</entry>
+ <entry>7.0-CURRENT after changing &man.getenv.3;,
+ &man.putenv.3;, &man.setenv.3; and &man.unsetenv.3; to
+ be POSIX conformant.</entry>
+</row>
+
+<row>
+ <entry>700039</entry>
+ <entry>May 1, 2007</entry>
+ <entry>7.0-CURRENT after the changes in 700038 were
+ backed out.</entry>
+</row>
+
+<row>
+ <entry>700040</entry>
+ <entry>May 10, 2007</entry>
+ <entry>7.0-CURRENT after the addition of &man.flopen.3;
+ to libutil.</entry>
+</row>
+
+<row>
+ <entry>700041</entry>
+ <entry>May 13, 2007</entry>
+ <entry>7.0-CURRENT after enabling symbol versioning, and
+ changing the default thread library to libthr.</entry>
+</row>
+
+<row>
+ <entry>700042</entry>
+ <entry>May 19, 2007</entry>
+ <entry>7.0-CURRENT after the import of gcc
+ 4.2.0.</entry>
+</row>
+
+<row>
+ <entry>700043</entry>
+ <entry>May 21, 2007</entry>
+ <entry>7.0-CURRENT after bump of all shared library
+ versions that had not been changed since
+ RELENG_6.</entry>
+</row>
+
+<row>
+ <entry>700044</entry>
+ <entry>June 7, 2007</entry>
+ <entry>7.0-CURRENT after changing the argument for
+ vn_open()/VOP_OPEN() from file descriptor index to the
+ struct file *.</entry>
+</row>
+
+<row>
+ <entry>700045</entry>
+ <entry>June 10, 2007</entry>
+ <entry>7.0-CURRENT after changing &man.pam.nologin.8; to
+ provide an account management function instead of an
+ authentication function to the PAM framework.</entry>
+</row>
+
+<row>
+ <entry>700046</entry>
+ <entry>June 11, 2007</entry>
+ <entry>7.0-CURRENT after updated 802.11 wireless
+ support.</entry>
+</row>
+
+<row>
+ <entry>700047</entry>
+ <entry>June 11, 2007</entry>
+ <entry>7.0-CURRENT after adding TCP LRO interface
+ capabilities.</entry>
+</row>
+
+<row>
+ <entry>700048</entry>
+ <entry>June 12, 2007</entry>
+ <entry>7.0-CURRENT after
+ RFC 3678 API support added to the IPv4 stack.
+ Legacy RFC 1724 behavior of the IP_MULTICAST_IF
+ ioctl has now been removed; 0.0.0.0/8 may no longer
+ be used to specify an interface index.
+ struct ipmreqn should be used instead.</entry>
+</row>
+
+<row>
+ <entry>700049</entry>
+ <entry>July 3, 2007</entry>
+ <entry>7.0-CURRENT after importing pf from OpenBSD
+ 4.1</entry>
+</row>
+
+<row>
+ <entry>(not changed)</entry>
+ <entry></entry>
+ <entry>7.0-CURRENT after adding IPv6 support for
+ FAST_IPSEC, deleting KAME IPSEC, and renaming
+ FAST_IPSEC to IPSEC.</entry>
+</row>
+
+<row>
+ <entry>700050</entry>
+ <entry>July 4, 2007</entry>
+ <entry>7.0-CURRENT after converting setenv/putenv/etc.
+ calls from traditional BSD to POSIX.</entry>
+</row>
+
+<row>
+ <entry>700051</entry>
+ <entry>July 4, 2007</entry>
+ <entry>7.0-CURRENT after adding new mmap/lseek/etc
+ syscalls.</entry>
+</row>
+
+<row>
+ <entry>700052</entry>
+ <entry>July 6, 2007</entry>
+ <entry>7.0-CURRENT after moving I4B headers to
+ include/i4b.</entry>
+</row>
+
+<row>
+ <entry>700053</entry>
+ <entry>September 30, 2007</entry>
+ <entry>7.0-CURRENT after the addition of support for
+ PCI domains</entry>
+</row>
+
+<row>
+ <entry>700054</entry>
+ <entry>October 25, 2007</entry>
+ <entry>7.0-CURRENT after MFC of wide and single byte
+ ctype separation.</entry>
+</row>
+
+<row>
+ <entry>700055</entry>
+ <entry>October 28, 2007</entry>
+ <entry>7.0-RELEASE, and 7.0-CURRENT after ABI backwards
+ compatibility to the FreeBSD 4/5/6 versions of the
+ PCIOCGETCONF, PCIOCREAD and PCIOCWRITE IOCTLs was
+ MFCed, which required the ABI of the PCIOCGETCONF
+ IOCTL to be broken again</entry>
+</row>
+
+<row>
+ <entry>700100</entry>
+ <entry>December 22, 2007</entry>
+ <entry>7.0-STABLE after 7.0-RELEASE</entry>
+</row>
+
+<row>
+ <entry>700101</entry>
+ <entry>February 8, 2008</entry>
+ <entry>7.0-STABLE after the MFC of m_collapse().</entry>
+</row>
+
+<row>
+ <entry>700102</entry>
+ <entry>March 30, 2008</entry>
+ <entry>7.0-STABLE after the MFC of
+ kdb_enter_why().</entry>
+</row>
+
+<row>
+ <entry>700103</entry>
+ <entry>April 10, 2008</entry>
+ <entry>7.0-STABLE after adding l_sysid to struct
+ flock.</entry>
+</row>
+
+<row>
+ <entry>700104</entry>
+ <entry>April 11, 2008</entry>
+ <entry>7.0-STABLE after the MFC of procstat(1).</entry>
+</row>
+
+<row>
+ <entry>700105</entry>
+ <entry>April 11, 2008</entry>
+ <entry>7.0-STABLE after the MFC of umtx
+ features.</entry>
+</row>
+
+<row>
+ <entry>700106</entry>
+ <entry>April 15, 2008</entry>
+ <entry>7.0-STABLE after the MFC of &man.write.2; support
+ to &man.psm.4;.</entry>
+</row>
+
+<row>
+ <entry>700107</entry>
+ <entry>April 20, 2008</entry>
+ <entry>7.0-STABLE after the MFC of F_DUP2FD command
+ to &man.fcntl.2;.</entry>
+</row>
+
+<row>
+ <entry>700108</entry>
+ <entry>May 5, 2008</entry>
+ <entry>7.0-STABLE after some &man.lockmgr.9; changes,
+ which makes it necessary to include
+ <filename>sys/lock.h</filename> in order to use
+ &man.lockmgr.9;.</entry>
+</row>
+
+<row>
+ <entry>700109</entry>
+ <entry>May 27, 2008</entry>
+ <entry>7.0-STABLE after MFC of the
+ <function>memrchr</function> function.</entry>
+</row>
+
+<row>
+ <entry>700110</entry>
+ <entry>August 5, 2008</entry>
+ <entry>7.0-STABLE after MFC of kernel NFS lockd
+ client.</entry>
+</row>
+
+<row>
+ <entry>700111</entry>
+ <entry>August 20, 2008</entry>
+ <entry>7.0-STABLE after addition of physically
+ contiguous jumbo frame support.</entry>
+</row>
+
+<row>
+ <entry>700112</entry>
+ <entry>August 27, 2008</entry>
+ <entry>7.0-STABLE after MFC of kernel DTrace
+ support.</entry>
+</row>
+
+<row>
+ <entry>701000</entry>
+ <entry>November 25, 2008</entry>
+ <entry>7.1-RELEASE</entry>
+</row>
+
+<row>
+ <entry>701100</entry>
+ <entry>November 25, 2008</entry>
+ <entry>7.1-STABLE after 7.1-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>701101</entry>
+ <entry>January 10, 2009</entry>
+ <entry>7.1-STABLE after <function>strndup</function>
+ merge.</entry>
+</row>
+
+<row>
+ <entry>701102</entry>
+ <entry>January 17, 2009</entry>
+ <entry>7.1-STABLE after cpuctl(4) support
+ added.</entry>
+</row>
+
+<row>
+ <entry>701103</entry>
+ <entry>February 7, 2009</entry>
+ <entry>7.1-STABLE after the merge of
+ multi-/no-IPv4/v6 jails.</entry>
+</row>
+
+<row>
+ <entry>701104</entry>
+ <entry>February 14, 2009</entry>
+ <entry>7.1-STABLE after the store of the suspension
+ owner in the struct mount, and introduction of
+ vfs_susp_clean method into the struct vfsops.</entry>
+</row>
+
+<row>
+ <entry>701105</entry>
+ <entry>March 12, 2009</entry>
+ <entry>7.1-STABLE after the incompatible change
+ to the kern.ipc.shmsegs sysctl to allow to allocate
+ larger SysV shared memory segments on 64bit
+ architectures.</entry>
+</row>
+
+<row>
+ <entry>701106</entry>
+ <entry>March 14, 2009</entry>
+ <entry>7.1-STABLE after the merge of a fix for
+ POSIX semaphore wait operations.</entry>
+</row>
+
+<row>
+ <entry>702000</entry>
+ <entry>April 15, 2009</entry>
+ <entry>7.2-RELEASE</entry>
+</row>
+
+<row>
+ <entry>702100</entry>
+ <entry>April 15, 2009</entry>
+ <entry>7.2-STABLE after 7.2-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>702101</entry>
+ <entry>May 15, 2009</entry>
+ <entry>7.2-STABLE after ichsmb(4) was changed to
+ use left-adjusted slave addressing to match other
+ SMBus controller drivers.</entry>
+</row>
+
+<row>
+ <entry>702102</entry>
+ <entry>May 28, 2009</entry>
+ <entry>7.2-STABLE after MFC of the
+ <function>fdopendir</function> function.</entry>
+</row>
+
+<row>
+ <entry>702103</entry>
+ <entry>June 06, 2009</entry>
+ <entry>7.2-STABLE after MFC of PmcTools.</entry>
+</row>
+
+<row>
+ <entry>702104</entry>
+ <entry>July 14, 2009</entry>
+ <entry>7.2-STABLE after MFC of the
+ <function>closefrom</function> system call.</entry>
+</row>
+
+<row>
+ <entry>702105</entry>
+ <entry>July 31, 2009</entry>
+ <entry>7.2-STABLE after MFC of the SYSVIPC ABI
+ change.</entry>
+</row>
+
+<row>
+ <entry>702106</entry>
+ <entry>September 14, 2009</entry>
+ <entry>7.2-STABLE after MFC of the x86 PAT
+ enhancements and addition of d_mmap_single() and
+ the scatter/gather list VM object type.</entry>
+</row>
+
+<row>
+ <entry>703000</entry>
+ <entry>February 9, 2010</entry>
+ <entry>7.3-RELEASE</entry>
+</row>
+
+<row>
+ <entry>703100</entry>
+ <entry>February 9, 2010</entry>
+ <entry>7.3-STABLE after 7.3-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>704000</entry>
+ <entry>December 22, 2010</entry>
+ <entry>7.4-RELEASE</entry>
+</row>
+
+<row>
+ <entry>704100</entry>
+ <entry>December 22, 2010</entry>
+ <entry>7.4-STABLE after 7.4-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>800000</entry>
+ <entry>October 11, 2007</entry>
+ <entry>8.0-CURRENT. Separating wide and single byte
+ ctype.</entry>
+</row>
+
+<row>
+ <entry>800001</entry>
+ <entry>October 16, 2007</entry>
+ <entry>8.0-CURRENT after libpcap 0.9.8 and tcpdump 3.9.8
+ import.</entry>
+</row>
+
+<row>
+ <entry>800002</entry>
+ <entry>October 21, 2007</entry>
+ <entry>8.0-CURRENT after renaming kthread_create()
+ and friends to kproc_create() etc.</entry>
+</row>
+
+<row>
+ <entry>800003</entry>
+ <entry>October 24, 2007</entry>
+ <entry>8.0-CURRENT after ABI backwards compatibility
+ to the FreeBSD 4/5/6 versions of the PCIOCGETCONF,
+ PCIOCREAD and PCIOCWRITE IOCTLs was added, which
+ required the ABI of the PCIOCGETCONF IOCTL to be
+ broken again</entry>
+</row>
+
+<row>
+ <entry>800004</entry>
+ <entry>November 12, 2007</entry>
+ <entry>8.0-CURRENT after agp(4) driver moved from
+ src/sys/pci to src/sys/dev/agp</entry>
+</row>
+
+<row>
+ <entry>800005</entry>
+ <entry>December 4, 2007</entry>
+ <entry>8.0-CURRENT after changes to the jumbo frame
+ allocator (rev <svnref>174247</svnref>).</entry>
+</row>
+
+<row>
+ <entry>800006</entry>
+ <entry>December 7, 2007</entry>
+ <entry>8.0-CURRENT after the addition of callgraph
+ capture functionality to &man.hwpmc.4;.</entry>
+</row>
+
+<row>
+ <entry>800007</entry>
+ <entry>December 25, 2007</entry>
+ <entry>8.0-CURRENT after kdb_enter() gains a "why"
+ argument.</entry>
+</row>
+
+<row>
+ <entry>800008</entry>
+ <entry>December 28, 2007</entry>
+ <entry>8.0-CURRENT after LK_EXCLUPGRADE option
+ removal.</entry>
+</row>
+
+<row>
+ <entry>800009</entry>
+ <entry>January 9, 2008</entry>
+ <entry>8.0-CURRENT after introduction of
+ &man.lockmgr.disown.9;</entry>
+</row>
+
+<row>
+ <entry>800010</entry>
+ <entry>January 10, 2008</entry>
+ <entry>8.0-CURRENT after the &man.vn.lock.9; prototype
+ change.</entry>
+</row>
+
+<row>
+ <entry>800011</entry>
+ <entry>January 13, 2008</entry>
+ <entry>8.0-CURRENT after the &man.VOP.LOCK.9; and
+ &man.VOP.UNLOCK.9; prototype changes.</entry>
+</row>
+
+<row>
+ <entry>800012</entry>
+ <entry>January 19, 2008</entry>
+ <entry>8.0-CURRENT after introduction of
+ &man.lockmgr.recursed.9;, &man.BUF.RECURSED.9; and
+ &man.BUF.ISLOCKED.9; and the removal of
+ <function>BUF_REFCNT()</function>.</entry>
+</row>
+
+<row>
+ <entry>800013</entry>
+ <entry>January 23, 2008</entry>
+ <entry>8.0-CURRENT after introduction of the
+ <quote>ASCII</quote> encoding.</entry>
+</row>
+
+<row>
+ <entry>800014</entry>
+ <entry>January 24, 2008</entry>
+ <entry>8.0-CURRENT after changing the prototype of
+ &man.lockmgr.9; and removal of
+ <function>lockcount()</function> and
+ <function>LOCKMGR_ASSERT()</function>.</entry>
+</row>
+
+<row>
+ <entry>800015</entry>
+ <entry>January 26, 2008</entry>
+ <entry>8.0-CURRENT after extending the types
+ of the &man.fts.3; structures.</entry>
+</row>
+
+<row>
+ <entry>800016</entry>
+ <entry>February 1, 2008</entry>
+ <entry>8.0-CURRENT after adding an argument to
+ MEXTADD(9)</entry>
+</row>
+
+<row>
+ <entry>800017</entry>
+ <entry>February 6, 2008</entry>
+ <entry>8.0-CURRENT after the introduction of
+ LK_NODUP and LK_NOWITNESS options in the
+ &man.lockmgr.9; space.</entry>
+</row>
+
+<row>
+ <entry>800018</entry>
+ <entry>February 8, 2008</entry>
+ <entry>8.0-CURRENT after the addition of
+ m_collapse.</entry>
+</row>
+
+<row>
+ <entry>800019</entry>
+ <entry>February 9, 2008</entry>
+ <entry>8.0-CURRENT after the addition of current
+ working directory, root directory, and jail
+ directory support to the kern.proc.filedesc
+ sysctl.</entry>
+</row>
+
+<row>
+ <entry>800020</entry>
+ <entry>February 13, 2008</entry>
+ <entry>8.0-CURRENT after introduction of
+ &man.lockmgr.assert.9; and
+ <function>BUF_ASSERT</function> functions.</entry>
+</row>
+
+<row>
+ <entry>800021</entry>
+ <entry>February 15, 2008</entry>
+ <entry>8.0-CURRENT after introduction of
+ &man.lockmgr.args.9; and LK_INTERNAL flag
+ removal.</entry>
+</row>
+
+<row>
+ <entry>800022</entry>
+ <entry>(backed out)</entry>
+ <entry>8.0-CURRENT after changing the default system ar
+ to BSD &man.ar.1;.</entry>
+</row>
+
+<row>
+ <entry>800023</entry>
+ <entry>February 25, 2008</entry>
+ <entry>8.0-CURRENT after changing the prototypes of
+ &man.lockstatus.9; and &man.VOP.ISLOCKED.9;, more
+ specifically retiring the
+ <literal>struct thread</literal> argument.</entry>
+</row>
+
+<row>
+ <entry>800024</entry>
+ <entry>March 1, 2008</entry>
+ <entry>8.0-CURRENT after axing out the
+ <function>lockwaiters</function> and
+ <function>BUF_LOCKWAITERS</function> functions,
+ changing the return value of
+ <function>brelvp</function> from void to int and
+ introducing new flags for &man.lockinit.9;.</entry>
+</row>
+
+<row>
+ <entry>800025</entry>
+ <entry>March 8, 2008</entry>
+ <entry>8.0-CURRENT after adding F_DUP2FD command
+ to &man.fcntl.2;.</entry>
+</row>
+
+<row>
+ <entry>800026</entry>
+ <entry>March 12, 2008</entry>
+ <entry>8.0-CURRENT after changing the priority parameter
+ to cv_broadcastpri such that 0 means no
+ priority.</entry>
+</row>
+
+<row>
+ <entry>800027</entry>
+ <entry>March 24, 2008</entry>
+ <entry>8.0-CURRENT after changing the bpf monitoring ABI
+ when zerocopy bpf buffers were added.</entry>
+</row>
+
+<row>
+ <entry>800028</entry>
+ <entry>March 26, 2008</entry>
+ <entry>8.0-CURRENT after adding l_sysid to struct
+ flock.</entry>
+</row>
+
+<row>
+ <entry>800029</entry>
+ <entry>March 28, 2008</entry>
+ <entry>8.0-CURRENT after reintegration of the
+ <function>BUF_LOCKWAITERS</function> function and the
+ addition of &man.lockmgr.waiters.9;.</entry>
+</row>
+
+<row>
+ <entry>800030</entry>
+ <entry>April 1, 2008</entry>
+ <entry>8.0-CURRENT after the introduction of the
+ &man.rw.try.rlock.9; and &man.rw.try.wlock.9;
+ functions.</entry>
+</row>
+
+<row>
+ <entry>800031</entry>
+ <entry>April 6, 2008</entry>
+ <entry>8.0-CURRENT after the introduction of the
+ <function>lockmgr_rw</function> and
+ <function>lockmgr_args_rw</function>
+ functions.</entry>
+</row>
+
+<row>
+ <entry>800032</entry>
+ <entry>April 8, 2008</entry>
+ <entry>8.0-CURRENT after the implementation of the
+ openat and related syscalls, introduction of the
+ O_EXEC flag for the &man.open.2;, and providing the
+ corresponding linux compatibility syscalls.</entry>
+</row>
+
+<row>
+ <entry>800033</entry>
+ <entry>April 8, 2008</entry>
+ <entry>8.0-CURRENT after added &man.write.2; support for
+ &man.psm.4; in native operation level. Now arbitrary
+ commands can be written to
+ <devicename>/dev/psm%d</devicename> and status can be
+ read back from it.</entry>
+</row>
+
+<row>
+ <entry>800034</entry>
+ <entry>April 10, 2008</entry>
+ <entry>8.0-CURRENT after introduction of the
+ <function>memrchr</function> function.</entry>
+</row>
+
+<row>
+ <entry>800035</entry>
+ <entry>April 16, 2008</entry>
+ <entry>8.0-CURRENT after introduction of the
+ <function>fdopendir</function> function.</entry>
+</row>
+
+<row>
+ <entry>800036</entry>
+ <entry>April 20, 2008</entry>
+ <entry>8.0-CURRENT after switchover of 802.11 wireless
+ to multi-bss support (aka vaps).</entry>
+</row>
+
+<row>
+ <entry>800037</entry>
+ <entry>May 9, 2008</entry>
+ <entry>8.0-CURRENT after addition of multi routing
+ table support (aka setfib(1), setfib(2)).</entry>
+</row>
+
+<row>
+ <entry>800038</entry>
+ <entry>May 26, 2008</entry>
+ <entry>8.0-CURRENT after removal of netatm and
+ ISDN4BSD. Also, the addition of the
+ Compact C Type (CTF) tools.</entry>
+</row>
+
+<row>
+ <entry>800039</entry>
+ <entry>June 14, 2008</entry>
+ <entry>8.0-CURRENT after removal of sgtty.</entry>
+</row>
+
+<row>
+ <entry>800040</entry>
+ <entry>June 26, 2008</entry>
+ <entry>8.0-CURRENT with kernel NFS lockd client.</entry>
+</row>
+
+<row>
+ <entry>800041</entry>
+ <entry>July 22, 2008</entry>
+ <entry>8.0-CURRENT after addition of arc4random_buf(3)
+ and arc4random_uniform(3).</entry>
+</row>
+
+<row>
+ <entry>800042</entry>
+ <entry>August 8, 2008</entry>
+ <entry>8.0-CURRENT after addition of cpuctl(4).</entry>
+</row>
+
+<row>
+ <entry>800043</entry>
+ <entry>August 13, 2008</entry>
+ <entry>8.0-CURRENT after changing bpf(4) to use a
+ single device node, instead of device cloning.</entry>
+</row>
+
+<row>
+ <entry>800044</entry>
+ <entry>August 17, 2008</entry>
+ <entry>8.0-CURRENT after the commit of the first step of
+ the vimage project renaming global variables to be
+ virtualized with a V_ prefix with macros to map them
+ back to their global names.</entry>
+</row>
+
+<row>
+ <entry>800045</entry>
+ <entry>August 20, 2008</entry>
+ <entry>8.0-CURRENT after the integration of the
+ MPSAFE TTY layer, including changes to various
+ drivers and utilities that interact with it.</entry>
+</row>
+
+<row>
+ <entry>800046</entry>
+ <entry>September 8, 2008</entry>
+ <entry>8.0-CURRENT after the separation of the GDT
+ per CPU on amd64 architecture.</entry>
+</row>
+
+<row>
+ <entry>800047</entry>
+ <entry>September 10, 2008</entry>
+ <entry>8.0-CURRENT after removal of VSVTX, VSGID
+ and VSUID.</entry>
+</row>
+
+<row>
+ <entry>800048</entry>
+ <entry>September 16, 2008</entry>
+ <entry>8.0-CURRENT after converting the kernel NFS mount
+ code to accept individual mount options in the
+ nmount() iovec, not just one big
+ struct nfs_args.</entry>
+</row>
+
+<row>
+ <entry>800049</entry>
+ <entry>September 17, 2008</entry>
+ <entry>8.0-CURRENT after the removal of &man.suser.9;
+ and &man.suser.cred.9;.</entry>
+</row>
+
+<row>
+ <entry>800050</entry>
+ <entry>October 20, 2008</entry>
+ <entry>8.0-CURRENT after buffer cache API
+ change.</entry>
+</row>
+
+<row>
+ <entry>800051</entry>
+ <entry>October 23, 2008</entry>
+ <entry>8.0-CURRENT after the removal of the
+ &man.MALLOC.9; and &man.FREE.9; macros.</entry>
+</row>
+
+<row>
+ <entry>800052</entry>
+ <entry>October 28, 2008</entry>
+ <entry>8.0-CURRENT after the introduction of accmode_t
+ and renaming of VOP_ACCESS 'a_mode' argument
+ to 'a_accmode'.</entry>
+</row>
+
+<row>
+ <entry>800053</entry>
+ <entry>November 2, 2008</entry>
+ <entry>8.0-CURRENT after the prototype change of
+ &man.vfs.busy.9; and the introduction of its
+ MBF_NOWAIT and MBF_MNTLSTLOCK flags.</entry>
+</row>
+
+<row>
+ <entry>800054</entry>
+ <entry>November 22, 2008</entry>
+ <entry>8.0-CURRENT after the addition of buf_ring,
+ memory barriers and ifnet functions to facilitate
+ multiple hardware transmit queues for cards that
+ support them, and a lockless ring-buffer
+ implementation to enable drivers to more efficiently
+ manage queuing of packets.</entry>
+</row>
+
+<row>
+ <entry>800055</entry>
+ <entry>November 27, 2008</entry>
+ <entry>8.0-CURRENT after the addition of Intel&trade;
+ Core, Core2, and Atom support to
+ &man.hwpmc.4;.</entry>
+</row>
+
+<row>
+ <entry>800056</entry>
+ <entry>November 29, 2008</entry>
+ <entry>8.0-CURRENT after the introduction of
+ multi-/no-IPv4/v6 jails.</entry>
+</row>
+
+<row>
+ <entry>800057</entry>
+ <entry>December 1, 2008</entry>
+ <entry>8.0-CURRENT after the switch to the
+ ath hal source code.</entry>
+</row>
+
+<row>
+ <entry>800058</entry>
+ <entry>December 12, 2008</entry>
+ <entry>8.0-CURRENT after the introduction of
+ the VOP_VPTOCNP operation.</entry>
+</row>
+
+<row>
+ <entry>800059</entry>
+ <entry>December 15, 2008</entry>
+ <entry>8.0-CURRENT incorporates the
+ new arp-v2 rewrite.</entry>
+</row>
+
+<row>
+ <entry>800060</entry>
+ <entry>December 19, 2008</entry>
+ <entry>8.0-CURRENT after the addition of makefs.</entry>
+</row>
+
+<row>
+ <entry>800061</entry>
+ <entry>January 15, 2009</entry>
+ <entry>8.0-CURRENT after TCP Appropriate Byte
+ Counting.</entry>
+</row>
+
+<row>
+ <entry>800062</entry>
+ <entry>January 28, 2009</entry>
+ <entry>8.0-CURRENT after removal of minor(),
+ minor2unit(), unit2minor(), etc.</entry>
+</row>
+
+<row>
+ <entry>800063</entry>
+ <entry>February 18, 2009</entry>
+ <entry>8.0-CURRENT after GENERIC config change to use
+ the USB2 stack, but also the addition of
+ fdevname(3).</entry>
+</row>
+
+<row>
+ <entry>800064</entry>
+ <entry>February 23, 2009</entry>
+ <entry>8.0-CURRENT after the USB2 stack is moved to and
+ replaces dev/usb.</entry>
+</row>
+
+<row>
+ <entry>800065</entry>
+ <entry>February 26, 2009</entry>
+ <entry>8.0-CURRENT after the renaming of all functions
+ in libmp(3).</entry>
+</row>
+
+<row>
+ <entry>800066</entry>
+ <entry>February 27, 2009</entry>
+ <entry>8.0-CURRENT after changing USB devfs handling and
+ layout.</entry>
+</row>
+
+<row>
+ <entry>800067</entry>
+ <entry>February 28, 2009</entry>
+ <entry>8.0-CURRENT after adding getdelim(), getline(),
+ stpncpy(), strnlen(), wcsnlen(), wcscasecmp(), and
+ wcsncasecmp().</entry>
+</row>
+
+<row>
+ <entry>800068</entry>
+ <entry>March 2, 2009</entry>
+ <entry>8.0-CURRENT after renaming the ushub devclass to
+ uhub.</entry>
+</row>
+
+<row>
+ <entry>800069</entry>
+ <entry>March 9, 2009</entry>
+ <entry>8.0-CURRENT after libusb20.so.1 was renamed to
+ libusb.so.1.</entry>
+</row>
+
+<row>
+ <entry>800070</entry>
+ <entry>March 9, 2009</entry>
+ <entry>8.0-CURRENT after merging IGMPv3 and
+ Source-Specific Multicast (SSM) to the IPv4
+ stack.</entry>
+</row>
+
+<row>
+ <entry>800071</entry>
+ <entry>March 14, 2009</entry>
+ <entry>8.0-CURRENT after gcc was patched to use C99
+ inline semantics in c99 and gnu99 mode.</entry>
+</row>
+
+<row>
+ <entry>800072</entry>
+ <entry>March 15, 2009</entry>
+ <entry>8.0-CURRENT after the IFF_NEEDSGIANT flag has
+ been removed; non-MPSAFE network device drivers are no
+ longer supported.</entry>
+</row>
+
+<row>
+ <entry>800073</entry>
+ <entry>March 18, 2009</entry>
+ <entry>8.0-CURRENT after the dynamic string token
+ substitution has been implemented for rpath and needed
+ paths.</entry>
+</row>
+
+<row>
+ <entry>800074</entry>
+ <entry>March 24, 2009</entry>
+ <entry>8.0-CURRENT after tcpdump 4.0.0 and
+ libpcap 1.0.0 import.</entry>
+</row>
+
+<row>
+ <entry>800075</entry>
+ <entry>April 6, 2009</entry>
+ <entry>8.0-CURRENT after layout of structs vnet_net,
+ vnet_inet and vnet_ipfw has been changed.</entry>
+</row>
+
+<row>
+ <entry>800076</entry>
+ <entry>April 9, 2009</entry>
+ <entry>8.0-CURRENT after adding delay profiles in
+ dummynet.</entry>
+</row>
+
+<row>
+ <entry>800077</entry>
+ <entry>April 14, 2009</entry>
+ <entry>8.0-CURRENT after removing VOP_LEASE() and
+ vop_vector.vop_lease.</entry>
+</row>
+
+<row>
+ <entry>800078</entry>
+ <entry>April 15, 2009</entry>
+ <entry>8.0-CURRENT after struct rt_weight fields have
+ been added to struct rt_metrics and struct
+ rt_metrics_lite, changing the layout of struct
+ rt_metrics_lite. A bump to RTM_VERSION was made, but
+ backed out.</entry>
+</row>
+
+<row>
+ <entry>800079</entry>
+ <entry>April 15, 2009</entry>
+ <entry>8.0-CURRENT after struct llentry pointers are
+ added to struct route and struct route_in6.</entry>
+</row>
+
+<row>
+ <entry>800080</entry>
+ <entry>April 15, 2009</entry>
+ <entry>8.0-CURRENT after layout of struct inpcb has been
+ changed.</entry>
+</row>
+
+<row>
+ <entry>800081</entry>
+ <entry>April 19, 2009</entry>
+ <entry>8.0-CURRENT after the layout of struct
+ malloc_type has been changed.</entry>
+</row>
+
+<row>
+ <entry>800082</entry>
+ <entry>April 21, 2009</entry>
+ <entry>8.0-CURRENT after the layout of struct ifnet has
+ changed, and with if_ref() and if_rele() ifnet
+ refcounting.</entry>
+</row>
+
+<row>
+ <entry>800083</entry>
+ <entry>April 22, 2009</entry>
+ <entry>8.0-CURRENT after the implementation of a
+ low-level Bluetooth HCI API.</entry>
+</row>
+
+<row>
+ <entry>800084</entry>
+ <entry>April 29, 2009</entry>
+ <entry>8.0-CURRENT after IPv6 SSM and MLDv2
+ changes.</entry>
+</row>
+
+<row>
+ <entry>800085</entry>
+ <entry>April 30, 2009</entry>
+ <entry>8.0-CURRENT after enabling support for
+ VIMAGE kernel builds with one active image.</entry>
+</row>
+
+<row>
+ <entry>800086</entry>
+ <entry>May 8, 2009</entry>
+ <entry>8.0-CURRENT after adding support for input lines
+ of arbitrarily length in patch(1).</entry>
+</row>
+
+<row>
+ <entry>800087</entry>
+ <entry>May 11, 2009</entry>
+ <entry>8.0-CURRENT after some VFS KPI changes. The
+ thread argument has been removed from the FSD parts of
+ the VFS. <function>VFS_*</function> functions do not
+ need the context any more because it always refers to
+ <varname>curthread</varname>. In some special cases,
+ the old behavior is retained.</entry>
+</row>
+
+<row>
+ <entry>800088</entry>
+ <entry>May 20, 2009</entry>
+ <entry>8.0-CURRENT after net80211 monitor mode
+ changes.</entry>
+</row>
+
+<row>
+ <entry>800089</entry>
+ <entry>May 23, 2009</entry>
+ <entry>8.0-CURRENT after adding UDP control block
+ support.</entry>
+</row>
+
+<row>
+ <entry>800090</entry>
+ <entry>May 23, 2009</entry>
+ <entry>8.0-CURRENT after virtualizing interface
+ cloning.</entry>
+</row>
+
+<row>
+ <entry>800091</entry>
+ <entry>May 27, 2009</entry>
+ <entry>8.0-CURRENT after adding hierarchical jails
+ and removing global securelevel.</entry>
+</row>
+
+<row>
+ <entry>800092</entry>
+ <entry>May 29, 2009</entry>
+ <entry>8.0-CURRENT after changing
+ <function>sx_init_flags()</function> KPI. The
+ <constant>SX_ADAPTIVESPIN</constant> is retired and a
+ new <constant>SX_NOADAPTIVE</constant> flag is
+ introduced in order to handle the reversed
+ logic.</entry>
+</row>
+
+<row>
+ <entry>800093</entry>
+ <entry>May 29, 2009</entry>
+ <entry>8.0-CURRENT after adding mnt_xflag to
+ struct mount.</entry>
+</row>
+
+<row>
+ <entry>800094</entry>
+ <entry>May 30, 2009</entry>
+ <entry>8.0-CURRENT after adding
+ &man.VOP.ACCESSX.9;.</entry>
+</row>
+
+<row>
+ <entry>800095</entry>
+ <entry>May 30, 2009</entry>
+ <entry>8.0-CURRENT after changing the polling KPI.
+ The polling handlers now return the number of packets
+ processed. A new
+ <constant>IFCAP_POLLING_NOCOUNT</constant> is also
+ introduced to specify that the return value is
+ not significant and the counting should be
+ skipped.</entry>
+</row>
+
+<row>
+ <entry>800096</entry>
+ <entry>June 1, 2009</entry>
+ <entry>8.0-CURRENT after updating to the new netisr
+ implementation and after changing the way we
+ store and access FIBs.</entry>
+ <!--
+ Had been 96 and 97 but were folded because we are
+ running out of numbers.
+ -->
+</row>
+
+<row>
+ <entry>800097</entry>
+ <entry>June 8, 2009</entry>
+ <entry>8.0-CURRENT after the introduction of vnet
+ destructor hooks and infrastructure.</entry>
+</row>
+
+<row>
+ <entry>800097</entry>
+ <entry>June 11, 2009</entry>
+ <entry>8.0-CURRENT after the introduction of netgraph
+ outbound to inbound path call detection and queuing,
+ which also changed the layout of struct
+ thread.</entry>
+</row>
+
+<row>
+ <entry>800098</entry>
+ <entry>June 14, 2009</entry>
+ <entry>8.0-CURRENT after OpenSSL 0.9.8k import.</entry>
+</row>
+
+<row>
+ <entry>800099</entry>
+ <entry>June 22, 2009</entry>
+ <entry>8.0-CURRENT after NGROUPS update and moving
+ route virtualization into its own VImage
+ module.</entry>
+</row>
+
+<row>
+ <entry>800100</entry>
+ <entry>June 24, 2009</entry>
+ <entry>8.0-CURRENT after SYSVIPC ABI change.</entry>
+</row>
+
+<row>
+ <entry>800101</entry>
+ <entry>June 29, 2009</entry>
+ <entry>8.0-CURRENT after the removal of the
+ /dev/net/* per-interface character
+ devices.</entry>
+</row>
+
+<row>
+ <entry>800102</entry>
+ <entry>July 12, 2009</entry>
+ <entry>8.0-CURRENT after padding was added to
+ struct sackhint, struct tcpcb, and struct
+ tcpstat.</entry>
+</row>
+
+<row>
+ <entry>800103</entry>
+ <entry>July 13, 2009</entry>
+ <entry>8.0-CURRENT after replacing struct tcpopt
+ with struct toeopt in the TOE driver interface
+ to the TCP syncache.</entry>
+</row>
+
+<row>
+ <entry>800104</entry>
+ <entry>July 14, 2009</entry>
+ <entry>8.0-CURRENT after the addition of the
+ linker-set based per-vnet allocator.</entry>
+</row>
+
+<row>
+ <entry>800105</entry>
+ <entry>July 19, 2009</entry>
+ <entry>8.0-CURRENT after version bump for all
+ shared libraries that do not have symbol versioning
+ turned on.</entry>
+</row>
+
+<row>
+ <entry>800106</entry>
+ <entry>July 24, 2009</entry>
+ <entry>8.0-CURRENT after introduction of OBJT_SG
+ VM object type.</entry>
+</row>
+
+<row>
+ <entry>800107</entry>
+ <entry>August 2, 2009</entry>
+ <entry>8.0-CURRENT after making the newbus subsystem
+ Giant free by adding the newbus sxlock and
+ 8.0-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>800108</entry>
+ <entry>November 21, 2009</entry>
+ <entry>8.0-STABLE after implementing EVFILT_USER kevent
+ filter.</entry>
+</row>
+
+<row>
+ <entry>800500</entry>
+ <entry>January 7, 2010</entry>
+ <entry>8.0-STABLE after
+ <literal>__FreeBSD_version</literal> bump to make
+ <command>pkg_add -r</command> use
+ packages-8-stable.</entry>
+</row>
+
+<row>
+ <entry>800501</entry>
+ <entry>January 24, 2010</entry>
+ <entry>8.0-STABLE after change of the
+ <function>scandir(3)</function> and
+ <function>alphasort(3)</function> prototypes to
+ conform to SUSv4.</entry>
+</row>
+
+<row>
+ <entry>800502</entry>
+ <entry>January 31, 2010</entry>
+ <entry>8.0-STABLE after addition of
+ <function>sigpause(3)</function>.</entry>
+</row>
+
+<row>
+ <entry>800503</entry>
+ <entry>February 25, 2010</entry>
+ <entry>8.0-STABLE after addition of SIOCGIFDESCR
+ and SIOCSIFDESCR ioctls to network interfaces. These
+ ioctl can be used to manipulate interface description,
+ as inspired by OpenBSD.</entry>
+</row>
+
+<row>
+ <entry>800504</entry>
+ <entry>March 1, 2010</entry>
+ <entry>8.0-STABLE after MFC of importing x86emu, a
+ software emulator for real mode x86 CPU from
+ OpenBSD.</entry>
+</row>
+
+<row>
+ <entry>800505</entry>
+ <entry>May 18, 2010</entry>
+ <entry>8.0-STABLE after MFC of adding liblzma, xz,
+ xzdec, and lzmainfo.</entry>
+</row>
+
+<row>
+ <entry>801000</entry>
+ <entry>June 14, 2010</entry>
+ <entry>8.1-RELEASE</entry>
+</row>
+
+<row>
+ <entry>801500</entry>
+ <entry>June 14, 2010</entry>
+ <entry>8.1-STABLE after 8.1-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>801501</entry>
+ <entry>November 3, 2010</entry>
+ <entry>8.1-STABLE after KBI change in struct sysentvec,
+ and implementation of PL_FLAG_SCE/SCX/EXEC/SI and
+ pl_siginfo for ptrace(PT_LWPINFO) .</entry>
+</row>
+
+<row>
+ <entry>802000</entry>
+ <entry>December 22, 2010</entry>
+ <entry>8.2-RELEASE</entry>
+</row>
+
+<row>
+ <entry>802500</entry>
+ <entry>December 22, 2010</entry>
+ <entry>8.2-STABLE after 8.2-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>802501</entry>
+ <entry>February 28, 2011</entry>
+ <entry>8.2-STABLE after merging DTrace changes,
+ including support for userland tracing.</entry>
+</row>
+
+<row>
+ <entry>802502</entry>
+ <entry>March 6, 2011</entry>
+ <entry>8.2-STABLE after merging log2 and log2f
+ into libm.</entry>
+</row>
+
+<row>
+ <entry>802503</entry>
+ <entry>May 1, 2011</entry>
+ <entry>8.2-STABLE after upgrade of the gcc to the last
+ GPLv2 version from the FSF gcc-4_2-branch.</entry>
+</row>
+
+<row>
+ <entry>802504</entry>
+ <entry>May 28, 2011</entry>
+ <entry>8.2-STABLE after introduction of the KPI and
+ supporting infrastructure for modular congestion
+ control.</entry>
+</row>
+
+<row>
+ <entry>802505</entry>
+ <entry>May 28, 2011</entry>
+ <entry>8.2-STABLE after introduction of Hhook and Khelp
+ KPIs.</entry>
+</row>
+
+<row>
+ <entry>802506</entry>
+ <entry>May 28, 2011</entry>
+ <entry>8.2-STABLE after addition of OSD to struct
+ tcpcb.</entry>
+</row>
+
+<row>
+ <entry>802507</entry>
+ <entry>June 6, 2011</entry>
+ <entry>8.2-STABLE after ZFS v28 import.</entry>
+</row>
+
+<row>
+ <entry>802508</entry>
+ <entry>June 8, 2011</entry>
+ <entry>8.2-STABLE after removal of the schedtail event
+ handler and addition of the sv_schedtail method to
+ struct sysvec.</entry>
+</row>
+
+<row>
+ <entry>802509</entry>
+ <entry>July 14, 2011</entry>
+ <entry>8.2-STABLE after merging the SSSE3 support
+ into binutils.</entry>
+</row>
+
+<row>
+ <entry>802510</entry>
+ <entry>July 19, 2011</entry>
+ <entry>8.2-STABLE after addition of
+ RFTSIGZMB flag for
+ <function>rfork(2)</function>.</entry>
+</row>
+
+<row>
+ <entry>802511</entry>
+ <entry>September 9, 2011</entry>
+ <entry>8.2-STABLE after addition of automatic detection
+ of USB mass storage devices which do not support the
+ no synchronize cache SCSI command.</entry>
+</row>
+
+<row>
+ <entry>802512</entry>
+ <entry>September 10, 2011</entry>
+ <entry>8.2-STABLE after merging of
+ re-factoring of auto-quirk.</entry>
+</row>
+
+<row>
+ <entry>802513</entry>
+ <entry>October 25, 2011</entry>
+ <entry>8.2-STABLE after merging of the MAP_PREFAULT_READ
+ flag to <function>mmap(2)</function>.</entry>
+</row>
+
+<row>
+ <entry>802514</entry>
+ <entry>November 16, 2011</entry>
+ <entry>8.2-STABLE after merging of
+ addition of posix_fallocate(2) syscall.</entry>
+</row>
+
+<row>
+ <entry>802515</entry>
+ <entry>January 6, 2012</entry>
+ <entry>8.2-STABLE after merging of addition of the
+ posix_fadvise(2) system call.</entry>
+</row>
+
+<row>
+ <entry>802516</entry>
+ <entry>January 16, 2012</entry>
+ <entry>8.2-STABLE after merging gperf 3.0.3</entry>
+</row>
+
+<row>
+ <entry>802517</entry>
+ <entry>February 15, 2012</entry>
+ <entry>8.2-STABLE after introduction of the new
+ extensible sysctl(3) interface NET_RT_IFLISTL
+ to query address lists (rev
+ <svnref>231769</svnref>).</entry>
+</row>
+
+<row>
+ <entry>803000</entry>
+ <entry>March 3, 2012</entry>
+ <entry>8.3-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>803500</entry>
+ <entry>March 3, 2012</entry>
+ <entry>8.3-STABLE after branching releng/8.3
+ (RELENG_8_3).</entry>
+</row>
+
+<row>
+ <entry>804000</entry>
+ <entry>March 28, 2013</entry>
+ <entry>8.4-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>804500</entry>
+ <entry>March 28, 2013</entry>
+ <entry>8.4-STABLE after 8.4-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>900000</entry>
+ <entry>August 22, 2009</entry>
+ <entry>9.0-CURRENT.</entry>
+</row>
+
+<row>
+ <entry>900001</entry>
+ <entry>September 8, 2009</entry>
+ <entry>9.0-CURRENT after importing x86emu, a software
+ emulator for real mode x86 CPU from OpenBSD.</entry>
+</row>
+
+<row>
+ <entry>900002</entry>
+ <entry>September 23, 2009</entry>
+ <entry>9.0-CURRENT after implementing the EVFILT_USER
+ kevent filter functionality.</entry>
+</row>
+
+<row>
+ <entry>900003</entry>
+ <entry>December 2, 2009</entry>
+ <entry>9.0-CURRENT after addition of
+ <function>sigpause(3)</function> and PIE
+ support in csu.</entry>
+</row>
+
+<row>
+ <entry>900004</entry>
+ <entry>December 6, 2009</entry>
+ <entry>9.0-CURRENT after addition of libulog and its
+ libutempter compatibility interface.</entry>
+</row>
+
+<row>
+ <entry>900005</entry>
+ <entry>December 12, 2009</entry>
+ <entry>9.0-CURRENT after addition of
+ <function>sleepq_sleepcnt()</function>, which can be
+ used to query the number of waiters on a specific
+ waiting queue.</entry>
+</row>
+
+<row>
+ <entry>900006</entry>
+ <entry>January 4, 2010</entry>
+ <entry>9.0-CURRENT after change of the
+ <function>scandir(3)</function> and
+ <function>alphasort(3)</function> prototypes to
+ conform to SUSv4.</entry>
+</row>
+
+<row>
+ <entry>900007</entry>
+ <entry>January 13, 2010</entry>
+ <entry>9.0-CURRENT after the removal of utmp(5) and
+ the addition of utmpx (see
+ <function>getutxent(3)</function>) for improved
+ logging of user logins and system events.</entry>
+</row>
+
+<row>
+ <entry>900008</entry>
+ <entry>January 20, 2010</entry>
+ <entry>9.0-CURRENT after the import of BSDL bc/dc and
+ the deprecation of GNU bc/dc.</entry>
+</row>
+
+<row>
+ <entry>900009</entry>
+ <entry>January 26, 2010</entry>
+ <entry>9.0-CURRENT after the addition of SIOCGIFDESCR
+ and SIOCSIFDESCR ioctls to network interfaces. These
+ ioctl can be used to manipulate interface description,
+ as inspired by OpenBSD.</entry>
+</row>
+
+<row>
+ <entry>900010</entry>
+ <entry>March 22, 2010</entry>
+ <entry>9.0-CURRENT after the import of zlib
+ 1.2.4.</entry>
+</row>
+
+<row>
+ <entry>900011</entry>
+ <entry>April 24, 2010</entry>
+ <entry>9.0-CURRENT after adding soft-updates
+ journalling.</entry>
+</row>
+
+<row>
+ <entry>900012</entry>
+ <entry>May 10, 2010</entry>
+ <entry>9.0-CURRENT after adding liblzma, xz, xzdec,
+ and lzmainfo.</entry>
+</row>
+
+<row>
+ <entry>900013</entry>
+ <entry>May 24, 2010</entry>
+ <entry>9.0-CURRENT after bringing in USB fixes for
+ linux(4).</entry>
+</row>
+
+<row>
+ <entry>900014</entry>
+ <entry>June 10, 2010</entry>
+ <entry>9.0-CURRENT after adding Clang.</entry>
+</row>
+
+<row>
+ <entry>900015</entry>
+ <entry>July 22, 2010</entry>
+ <entry>9.0-CURRENT after the import of BSD grep.</entry>
+</row>
+
+<row>
+ <entry>900016</entry>
+ <entry>July 28, 2010</entry>
+ <entry>9.0-CURRENT after adding mti_zone to
+ struct malloc_type_internal.</entry>
+</row>
+
+<row>
+ <entry>900017</entry>
+ <entry>August 23, 2010</entry>
+ <entry>9.0-CURRENT after changing back default grep to
+ GNU grep and adding WITH_BSD_GREP knob.</entry>
+</row>
+
+<row>
+ <entry>900018</entry>
+ <entry>August 24, 2010</entry>
+ <entry>9.0-CURRENT after the
+ <function>pthread_kill(3)</function> -generated signal
+ is identified as SI_LWP in si_code. Previously,
+ si_code was SI_USER.</entry>
+</row>
+
+<row>
+ <entry>900019</entry>
+ <entry>August 28, 2010</entry>
+ <entry>9.0-CURRENT after addition of the
+ MAP_PREFAULT_READ flag to
+ <function>mmap(2)</function>.</entry>
+</row>
+
+<row>
+ <entry>900020</entry>
+ <entry>September 9, 2010</entry>
+ <entry>9.0-CURRENT after adding drain functionality
+ to sbufs, which also changed the layout of
+ struct sbuf.</entry>
+</row>
+
+<row>
+ <entry>900021</entry>
+ <entry>September 13, 2010</entry>
+ <entry>9.0-CURRENT after DTrace has grown support
+ for userland tracing.</entry>
+</row>
+
+<row>
+ <entry>900022</entry>
+ <entry>October 2, 2010</entry>
+ <entry>9.0-CURRENT after addition of the BSDL man
+ utilities and retirement of GNU/GPL man
+ utilities.</entry>
+</row>
+
+<row>
+ <entry>900023</entry>
+ <entry>October 11, 2010</entry>
+ <entry>9.0-CURRENT after updating xz to git 20101010
+ snapshot.</entry>
+</row>
+
+<row>
+ <entry>900024</entry>
+ <entry>November 11, 2010</entry>
+ <entry>9.0-CURRENT after libgcc.a was replaced
+ by libcompiler_rt.a.</entry>
+</row>
+
+<row>
+ <entry>900025</entry>
+ <entry>November 12, 2010</entry>
+ <entry>9.0-CURRENT after the introduction of the
+ modularised congestion control.</entry>
+</row>
+
+<row>
+ <entry>900026</entry>
+ <entry>November 30, 2010</entry>
+ <entry>9.0-CURRENT after the introduction of Serial
+ Management Protocol (SMP) passthrough and the
+ XPT_SMP_IO and XPT_GDEV_ADVINFO CAM CCBs.</entry>
+</row>
+
+<row>
+ <entry>900027</entry>
+ <entry>December 5, 2010</entry>
+ <entry>9.0-CURRENT after the addition of log2 to
+ libm.</entry>
+</row>
+
+<row>
+ <entry>900028</entry>
+ <entry>December 21, 2010</entry>
+ <entry>9.0-CURRENT after the addition of the Hhook
+ (Helper Hook), Khelp (Kernel Helpers) and Object
+ Specific Data (OSD) KPIs.</entry>
+</row>
+
+<row>
+ <entry>900029</entry>
+ <entry>December 28, 2010</entry>
+ <entry>9.0-CURRENT after the modification of the TCP
+ stack to allow Khelp modules to interact with it via
+ helper hook points and store per-connection data in
+ the TCP control block.</entry>
+</row>
+
+<row>
+ <entry>900030</entry>
+ <entry>January 12, 2011</entry>
+ <entry>9.0-CURRENT after the update of libdialog to
+ version 20100428.</entry>
+</row>
+
+<row>
+ <entry>900031</entry>
+ <entry>February 7, 2011</entry>
+ <entry>9.0-CURRENT after the addition of
+ <function>pthread_getthreadid_np(3)</function>.</entry>
+</row>
+
+<row>
+ <entry>900032</entry>
+ <entry>February 8, 2011</entry>
+ <entry>9.0-CURRENT after the removal of the uio_yield
+ prototype and symbol.</entry>
+</row>
+
+<row>
+ <entry>900033</entry>
+ <entry>February 18, 2011</entry>
+ <entry>9.0-CURRENT after the update of binutils to
+ version 2.17.50.</entry>
+</row>
+
+<row>
+ <entry>900034</entry>
+ <entry>March 8, 2011</entry>
+ <entry>9.0-CURRENT after the struct sysvec
+ (sv_schedtail) changes.</entry>
+</row>
+
+<row>
+ <entry>900035</entry>
+ <entry>March 29, 2011</entry>
+ <entry>9.0-CURRENT after the update of base gcc and
+ libstdc++ to the last GPLv2 licensed revision.</entry>
+</row>
+
+<row>
+ <entry>900036</entry>
+ <entry>April 18, 2011</entry>
+ <entry>9.0-CURRENT after the removal of libobjc and
+ Objective-C support from the base system.</entry>
+</row>
+
+<row>
+ <entry>900037</entry>
+ <entry>May 13, 2011</entry>
+ <entry>9.0-CURRENT after importing the libprocstat(3)
+ library and fuser(1) utility to the base
+ system.</entry>
+</row>
+
+<row>
+ <entry>900038</entry>
+ <entry>May 22, 2011</entry>
+ <entry>9.0-CURRENT after adding a lock flag argument to
+ VFS_FHTOVP(9).</entry>
+</row>
+
+<row>
+ <entry>900039</entry>
+ <entry>June 28, 2011</entry>
+ <entry>9.0-CURRENT after importing pf from OpenBSD
+ 4.5.</entry>
+</row>
+
+<row>
+ <entry>900040</entry>
+ <entry>July 19, 2011</entry>
+ <entry>Increase default MAXCPU for FreeBSD to 64 on
+ amd64 and ia64 and to 128 for XLP (mips).</entry>
+</row>
+
+<row>
+ <entry>900041</entry>
+ <entry>August 13, 2011</entry>
+ <entry>9.0-CURRENT after the implementation of Capsicum
+ capabilities; fget(9) gains a rights argument.</entry>
+</row>
+
+<row>
+ <entry>900042</entry>
+ <entry>August 28, 2011</entry>
+ <entry>Bump shared libraries' version numbers for
+ libraries whose ABI has changed in preparation for
+ 9.0.</entry>
+</row>
+
+<row>
+ <entry>900043</entry>
+ <entry>September 2, 2011</entry>
+ <entry>Add automatic detection of USB mass storage
+ devices which do not support the no synchronize cache
+ SCSI command.</entry>
+</row>
+
+<row>
+ <entry>900044</entry>
+ <entry>September 10, 2011</entry>
+ <entry>Re-factor auto-quirk. 9.0-RELEASE.</entry>
+</row>
+
+<!-- Note: at one point 900045 was documented as follows, even though
+it was never committed:
+<row>
+ <entry>900045</entry>
+ <entry>Oct 13, 2011</entry>
+ <entry>All non-compatibility system call entry points
+ have been prefixed with sys_.</entry>
+</row>
+-->
+
+<row>
+ <entry>900045</entry>
+ <entry>January 2, 2012</entry>
+ <entry>9-CURRENT after MFC of true/false from
+ 1000002.</entry>
+</row>
+
+<row>
+ <entry>900500</entry>
+ <entry>January 2, 2012</entry>
+ <entry>9.0-STABLE.</entry>
+</row>
+
+<row>
+ <entry>900501</entry>
+ <entry>January 6, 2012</entry>
+ <entry>9.0-STABLE after merging of addition of the
+ posix_fadvise(2) system call.</entry>
+</row>
+
+<row>
+ <entry>900502</entry>
+ <entry>January 16, 2012</entry>
+ <entry>9.0-STABLE after merging gperf 3.0.3</entry>
+</row>
+
+<row>
+ <entry>900503</entry>
+ <entry>February 15, 2012</entry>
+ <entry>9.0-STABLE after introduction of the new
+ extensible sysctl(3) interface NET_RT_IFLISTL
+ to query address lists (rev
+ <svnref>231768</svnref>).</entry>
+</row>
+
+<row>
+ <entry>900504</entry>
+ <entry>March 3, 2012</entry>
+ <entry>9.0-STABLE after changes related to mounting
+ of filesystem inside a jail (rev
+ <svnref>232728</svnref>).</entry>
+</row>
+
+<row>
+ <entry>900505</entry>
+ <entry>March 13, 2012</entry>
+ <entry>9.0-STABLE after introduction of new tcp(4)
+ socket options: TCP_KEEPINIT, TCP_KEEPIDLE,
+ TCP_KEEPINTVL, and TCP_KEEPCNT (rev
+ <svnref>232945</svnref>).</entry>
+</row>
+
+<row>
+ <entry>900506</entry>
+ <entry>May 22, 2012</entry>
+ <entry>9.0-STABLE after introduction of the
+ <function>quick_exit</function> function and
+ related changes required for C++11 (rev
+ <svnref>235786</svnref>).</entry>
+</row>
+
+<row>
+ <entry>901000</entry>
+ <entry>August 5, 2012</entry>
+ <entry>9.1-RELEASE.</entry>
+</row>
+
+<row>
+ <entry>901500</entry>
+ <entry>August 6, 2012</entry>
+ <entry>9.1-STABLE after branching releng/9.1
+ (RELENG_9_1).</entry>
+</row>
+
+<row>
+ <entry>901501</entry>
+ <entry>November 11, 2012</entry>
+ <entry>9.1-STABLE after LIST_PREV() added to queue.h
+ (rev <svnref>242893</svnref>) and KBI change in USB
+ serial devices (rev <svnref>240659</svnref>).</entry>
+</row>
+
+<row>
+ <entry>901502</entry>
+ <entry>November 28, 2012</entry>
+ <entry>9.1-STABLE after USB serial jitter buffer
+ requires rebuild of USB serial device modules.</entry>
+</row>
+
+<row>
+ <entry>901503</entry>
+ <entry>February 21, 2013</entry>
+ <entry>9.1-STABLE after USB moved to the driver
+ structure requiring a rebuild of all USB modules.
+ Also indicates the presence of nmtree.</entry>
+</row>
+
+<row>
+ <entry>901504</entry>
+ <entry>March 15, 2013</entry>
+ <entry>9.1-STABLE after install gained -l, -M, -N and
+ related flags and cat gained the -l option.</entry>
+</row>
+
+<row>
+ <entry>901505</entry>
+ <entry>June 13, 2013</entry>
+ <entry>9.1-STABLE after fixes in ctfmerge boostrapping
+ (rev <svnref>249243</svnref>).</entry>
+</row>
+
+<row>
+ <entry>902001</entry>
+ <entry>August 3, 2013</entry>
+ <entry><literal>releng/9.2</literal> branched from
+ <literal>stable/9</literal>
+ (rev <svnref>253912</svnref>).</entry>
+</row>
+
+<row>
+ <entry>902501</entry>
+ <entry>August 2, 2013</entry>
+ <entry>9.2-STABLE after creation of
+ <literal>releng/9.2</literal> branch
+ (rev <svnref>253913</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000000</entry>
+ <entry>September 26, 2011</entry>
+ <entry>10.0-CURRENT.</entry>
+</row>
+
+<row>
+ <entry>1000001</entry>
+ <entry>November 4, 2011</entry>
+ <entry>10-CURRENT after addition of the posix_fadvise(2)
+ system call.</entry>
+</row>
+
+<row>
+ <entry>1000002</entry>
+ <entry>December 12, 2011</entry>
+ <entry>10-CURRENT after defining boolean true/false in
+ sys/types.h, sizeof(bool) may have changed (rev
+ <svnref>228444</svnref>). 10-CURRENT after xlocale.h
+ was introduced (rev
+ <svnref>227753</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000003</entry>
+ <entry>December 16, 2011</entry>
+ <entry>10-CURRENT after major changes to carp(4),
+ changing size of struct&nbsp;in_aliasreq,
+ struct&nbsp;in6_aliasreq (rev <svnref>228571</svnref>)
+ and straitening arguments check of SIOCAIFADDR (rev
+ <svnref>228574</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000004</entry>
+ <entry>January 1, 2012</entry>
+ <entry>10-CURRENT after the removal of skpc(9) and the
+ addition of memcchr(9) (rev
+ <svnref>229200</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000005</entry>
+ <entry>January 16, 2012</entry>
+ <entry>10-CURRENT after the removal of support for
+ SIOCSIFADDR, SIOCSIFNETMASK, SIOCSIFBRDADDR,
+ SIOCSIFDSTADDR ioctls (rev
+ <svnref>230207</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000006</entry>
+ <entry>January 26, 2012</entry>
+ <entry>10-CURRENT after introduction of read capacity
+ data asynchronous notification in the cam(4) layer
+ (rev <svnref>230590</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000007</entry>
+ <entry>February 5, 2012</entry>
+ <entry>10-CURRENT after introduction of new tcp(4)
+ socket options: TCP_KEEPINIT, TCP_KEEPIDLE,
+ TCP_KEEPINTVL, and TCP_KEEPCNT (rev
+ <svnref>231025</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000008</entry>
+ <entry>February 11, 2012</entry>
+ <entry>10-CURRENT after introduction of the new
+ extensible sysctl(3) interface NET_RT_IFLISTL
+ to query address lists (rev
+ <svnref>231505</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000009</entry>
+ <entry>February 25, 2012</entry>
+ <entry>10-CURRENT after import of libarchive 3.0.3
+ (rev <svnref>232153</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000010</entry>
+ <entry>March 31, 2012</entry>
+ <entry>10-CURRENT after xlocale cleanup (rev
+ <svnref>233757</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000011</entry>
+ <entry>April 16, 2012</entry>
+ <entry>10-CURRENT import of LLVM/Clang 3.1 trunk r154661
+ (rev <svnref>234353</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000012</entry>
+ <entry>May 2, 2012</entry>
+ <entry>10-CURRENT jemalloc import
+ (rev <svnref>234924</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000013</entry>
+ <entry>May 22, 2012</entry>
+ <entry>10-CURRENT after byacc import
+ (rev <svnref>235788</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000014</entry>
+ <entry>June 27, 2012</entry>
+ <entry>10-CURRENT after BSD sort becoming the default
+ sort (rev <svnref>237629</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000015</entry>
+ <entry>July 12, 2012</entry>
+ <entry>10-CURRENT after import of OpenSSL 1.0.1c
+ (rev <svnref>238405</svnref>).</entry>
+</row>
+
+<row>
+ <entry>(not changed)</entry>
+ <entry>July 13, 2012</entry>
+ <entry>10-CURRENT after the fix for LLVM/Clang 3.1
+ regression (rev <svnref>238429</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000016</entry>
+ <entry>August 8, 2012</entry>
+ <entry>10-CURRENT after KBI change in &man.ucom.4;
+ (rev <svnref>239179</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000017</entry>
+ <entry>August 8, 2012</entry>
+ <entry>10-CURRENT after adding streams feature to the
+ USB stack (rev <svnref>239214</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000018</entry>
+ <entry>September 8, 2012</entry>
+ <entry>10-CURRENT after major rewrite of &man.pf.4;
+ (rev <svnref>240233</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000019</entry>
+ <entry>October 6, 2012</entry>
+ <entry>10-CURRENT after &man.pfil.9; KBI/KPI changed
+ to supply packets in net byte order to AF_INET
+ filter hooks (rev <svnref>241245</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000020</entry>
+ <entry>October 16, 2012</entry>
+ <entry>10-CURRENT after the network interface cloning
+ KPI changed and struct if_clone becoming opaque (rev
+ <svnref>241610</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000021</entry>
+ <entry>October 22, 2012</entry>
+ <entry>10-CURRENT after removal of support for
+ non-MPSAFE filesystems and addition of support for
+ FUSEFS (rev
+ <svnref>241519</svnref>,
+ <svnref>241897</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000022</entry>
+ <entry>October 22, 2012</entry>
+ <entry>10-CURRENT after the entire IPv4 stack switched
+ to network byte order for IP packet header storage
+ (rev <svnref>241913</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000023</entry>
+ <entry>November 5, 2012</entry>
+ <entry>10-CURRENT after jitter buffer in the common USB
+ serial driver code, to temporarily store characters
+ if the TTY buffer is full. Add flow stop and start
+ signals when this happens (rev
+ <svnref>242619</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000024</entry>
+ <entry>November 5, 2012</entry>
+ <entry>10-CURRENT after clang was made the default
+ compiler on i386 and amd64
+ (rev <svnref>242624</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000025</entry>
+ <entry>November 17, 2012</entry>
+ <entry>10-CURRENT after the sin6_scope_id member
+ variable in struct sockaddr_in6 was changed to being
+ filled by the kernel before passing the structure to
+ the userland via sysctl or routing socket. This means
+ the KAME-specific embedded scope id in
+ sin6_addr.s6_addr[2] is always cleared in userland
+ application (rev <svnref>243443</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000026</entry>
+ <entry>January 11, 2013</entry>
+ <entry>10-CURRENT after install gained the -N flag (rev
+ <svnref>245313</svnref>). May also be used to
+ indicate the presence of nmtree.</entry>
+</row>
+
+<row>
+ <entry>1000027</entry>
+ <entry>January 29, 2013</entry>
+ <entry>10-CURRENT after cat gained the -l flag (rev
+ <svnref>246083</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000028</entry>
+ <entry>February 13, 2013</entry>
+ <entry>10-CURRENT after USB moved to the driver
+ structure requiring a rebuild of all USB modules (rev
+ <svnref>246759</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000029</entry>
+ <entry>March 4, 2013</entry>
+ <entry>10-CURRENT after the introduction of tickless
+ callout facility which also changed the layout of
+ struct callout (rev <svnref>247777</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000030</entry>
+ <entry>March 12, 2013</entry>
+ <entry>10-CURRENT after KPI breakage introduced in the
+ VM subsystem to support read/write locking (rev
+ <svnref>248084</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000031</entry>
+ <entry>April 26, 2013</entry>
+ <entry>10-CURRENT after the dst parameter of the
+ ifnet <function>if_output</function> method was
+ changed to take const qualifier (rev
+ <svnref>249925</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000032</entry>
+ <entry>May 1, 2013</entry>
+ <entry>10-CURRENT after the introduction of the
+ <function>accept4</function> (rev
+ <svnref>250154</svnref>) and
+ <function>pipe2</function> (rev
+ <svnref>250159</svnref>) system calls.</entry>
+</row>
+
+<row>
+ <entry>1000033</entry>
+ <entry>May 21, 2013</entry>
+ <entry>10-CURRENT after flex 2.5.37 import (rev
+ <svnref>250881</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000034</entry>
+ <entry>June 3, 2013</entry>
+ <entry>10-CURRENT after the addition of the following
+ functions to libm: <function>cacos</function>,
+ <function>cacosf</function>,
+ <function>cacosh</function>,
+ <function>cacoshf</function>,
+ <function>casin</function>,
+ <function>casinf</function>,
+ <function>casinh</function>,
+ <function>casinhf</function>,
+ <function>catan</function>,
+ <function>catanf</function>,
+ <function>catanh</function>,
+ <function>catanhf</function>,
+ <function>logl</function>,
+ <function>log2l</function>,
+ <function>log10l</function>,
+ <function>log1pl</function>,
+ <function>expm1l</function> (rev
+ <svnref>251294</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000035</entry>
+ <entry>June 8, 2013</entry>
+ <entry>10-CURRENT after the introduction of the
+ <function>aio_mlock</function> system call (rev
+ <svnref>251526</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000036</entry>
+ <entry>July 9, 2013</entry>
+ <entry>10-CURRENT after the addition of a new function
+ to the kernel GSSAPI module's
+ function call interface (rev
+ <svnref>253049</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000037</entry>
+ <entry>July 9, 2013</entry>
+ <entry>10-CURRENT after the migration of statistics
+ structures to PCPU counters.
+ Changed structures include: <literal>ahstat</literal>,
+ <literal>arpstat</literal>,
+ <literal>espstat</literal>,
+ <literal>icmp6_ifstat</literal>,
+ <literal>icmp6stat</literal>,
+ <literal>in6_ifstat</literal>,
+ <literal>ip6stat</literal>,
+ <literal>ipcompstat</literal>,
+ <literal>ipipstat</literal>,
+ <literal>ipsecstat</literal>,
+ <literal>mrt6stat</literal>,
+ <literal>mrtstat</literal>,
+ <literal>pfkeystat</literal>,
+ <literal>pim6stat</literal>,
+ <literal>pimstat</literal>,
+ <literal>rip6stat</literal>,
+ <literal>udpstat</literal> (rev
+ <svnref>253081</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000038</entry>
+ <entry>July 16, 2013</entry>
+ <entry>10-CURRENT after making <literal>ARM
+ EABI</literal> the default ABI on arm,
+ armeb, armv6, and armv6eb architectures
+ (rev <svnref>253396</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000039</entry>
+ <entry>July 22, 2013</entry>
+ <entry>10-CURRENT after <literal>CAM</literal>
+ and &man.mps.4; driver scanning changes
+ (rev <svnref>253549</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000040</entry>
+ <entry>July 24, 2013</entry>
+ <entry>10-CURRENT after addition of libusb
+ pkgconf files (rev <svnref>253638</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000041</entry>
+ <entry>August 5, 2013</entry>
+ <entry>10-CURRENT after change from
+ <function>time_second</function> to
+ <function>time_uptime</function>
+ in <literal>PF_INET6</literal>
+ (rev <svnref>253970</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000042</entry>
+ <entry>August 9, 2013</entry>
+ <entry>10-CURRENT after VM subsystem change to unify
+ soft and hard busy mechanisms
+ (rev <svnref>254138</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000043</entry>
+ <entry>August 13, 2013</entry>
+ <entry>10-CURRENT after <makevar>WITH_ICONV</makevar> is
+ enabled by default. A new &man.src.conf.5; option,
+ <makevar>WITH_LIBICONV_COMPAT</makevar> (disabled by
+ default) adds <function>libiconv_open</function> to
+ provide compatibility with the
+ <package>libiconv</package> port (rev
+ <svnref>254273</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000044</entry>
+ <entry>August 15, 2013</entry>
+ <entry>10-CURRENT after <literal>libc.so</literal>
+ conversion to an &man.ld.1;
+ script (rev
+ <svnref>251668</svnref>,
+ <svnref>254358</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000045</entry>
+ <entry>August 15, 2013</entry>
+ <entry>10-CURRENT after devfs programming interface
+ change by replacing the cdevsw flag
+ <literal>D_UNMAPPED_IO</literal> with the struct cdev
+ flag <literal>SI_UNMAPPED</literal> (rev
+ <svnref>254389</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000046</entry>
+ <entry>August 19, 2013</entry>
+ <entry>10-CURRENT after addition of
+ <literal>M_PROTO[9-12]</literal> and removal of
+ <literal>M_FRAG|M_FIRSTFRAG|M_LASTFRAG</literal>
+ mbuf flags (rev <svnref>254524</svnref>,
+ <svnref>254526</svnref>.</entry>
+</row>
+
+<row>
+ <entry>1000047</entry>
+ <entry>August 21, 2013</entry>
+ <entry>10-CURRENT after &man.stat.2; update to allow
+ storing some Windows/DOS and CIFS file attributes
+ as &man.stat.2; flags (rev
+ <svnref>254627</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000048</entry>
+ <entry>August 22, 2013</entry>
+ <entry>10-CURRENT after modification of structure
+ <literal>xsctp_inpcb</literal>
+ (rev <svnref>254672</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000049</entry>
+ <entry>August 24, 2013</entry>
+ <entry>10-CURRENT after &man.physio.9; support for
+ devices that do not function properly with split
+ I/O, such as &man.sa.4; (rev
+ <svnref>254760</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000050</entry>
+ <entry>August 24, 2013</entry>
+ <entry>10-CURRENT after modifications of structure
+ <literal>mbuf</literal>
+ (rev <svnref>254780</svnref>, <svnref>254799</svnref>,
+ <svnref>254804</svnref>, <svnref>254807</svnref>
+ <svnref>254842</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000051</entry>
+ <entry>August 25, 2013</entry>
+ <entry>10-CURRENT after Radeon KMS driver import
+ (rev <svnref>254885</svnref>,
+ <svnref>254887</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000052</entry>
+ <entry>September 3, 2013</entry>
+ <entry>10-CURRENT after import of NetBSD
+ <literal>libexecinfo</literal> is connected to the
+ build (rev <svnref>255180</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000053</entry>
+ <entry>September 6, 2013</entry>
+ <entry>10-CURRENT after API and ABI changes to the
+ Capsicum framework (rev
+ <svnref>255305</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000054</entry>
+ <entry>September 6, 2013</entry>
+ <entry>10-CURRENT after <literal>gcc</literal> and
+ <literal>libstdc++</literal> are no longer built by
+ default (rev <svnref>255321</svnref>).</entry>
+</row>
+
+<row>
+ <entry>1000055</entry>
+ <entry>September 6, 2013</entry>
+ <entry>10-CURRENT after addition of
+ <literal>MMAP_32BIT</literal> &man.mmap.2; flag
+ (rev <svnref>255426</svnref>).</entry>
+</row>
Property changes on: projects/zfsupdate-201307/en_US.ISO8859-1/books/porters-handbook/versions.xml
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/xml
\ No newline at end of property
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/administration.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/administration.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/administration.xml (revision 42804)
@@ -1,489 +1,489 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD Project Administration and Management">
]>
<!-- NOTE: If any alias listed on this page is modified in the
/etc/aliases on the FreeBSD project's mail server,
then this page must be updated. -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.about">
<h2>Introduction</h2>
<p>This page lists teams, groups and individuals within the
FreeBSD project with designated project roles and areas of
responsibility, along with brief descriptions and contact
information.</p>
<ul>
<li>Project Management
<ul>
<li><a href="#t-core">Core Team</a></li>
<li><a href="#t-doceng">Documentation Engineering Team</a></li>
<li><a href="#t-portmgr">Port Management Team</a></li>
</ul>
</li>
<li>Release Engineering
<ul>
<li><a href="#t-re">Primary Release Engineering Team</a></li>
<li><a href="#t-re-builder">Builders Release Engineering Team</a></li>
</ul>
</li>
<li>Teams
<ul>
<li><a href="#t-donations">Donations Team</a></li>
<li><a href="#t-marketing">Marketing Team</a></li>
<li><a href="#t-secteam">Security Team</a></li>
<li><a href="#t-vendor">Vendor Relations</a></li>
</ul>
</li>
<li>Secretaries
<ul>
<li><a href="#t-core-secretary">Core Team Secretary</a></li>
<li><a href="#t-portmgr-secretary">Port Management Team
Secretary</a></li>
<li><a href="#t-secteam-secretary">Security Team Secretary</a></li>
</ul>
</li>
<li>Internal Administration
<ul>
<li><a href="#t-accounts">Accounts Team</a></li>
<li><a href="#t-backups">Backup Administrators</a></li>
<li><a href="#t-bugmeister">Bugmeisters &amp; GNATS
Administrators</a></li>
<li><a href="#t-clusteradm">Cluster Administrators</a></li>
<li><a href="#t-cvsup-master">CVSup Mirror Site
Coordinators</a></li>
<li><a href="#t-dnsadm">DNS Administrators</a></li>
<li><a href="#t-mirror-admin">FTP/WWW Mirror Site
Coordinators</a></li>
<li><a href="#t-perforce-admin">Perforce Repository
Administrators</a></li>
<li><a href="#t-postmaster">Postmaster Team</a></li>
<li><a href="#t-subversion">Subversion Administrators</a></li>
<li><a href="#t-webmaster">Webmaster Team</a></li>
</ul>
</li>
</ul>
<hr/>
<h3><a name="t-core">FreeBSD Core Team</a>
&lt;<a href="mailto:core@FreeBSD.org">core@FreeBSD.org</a>&gt;</h3>
<p>The FreeBSD Core Team constitutes the project's "Board of Directors",
responsible for deciding the project's overall goals and direction as
well as managing specific areas of the FreeBSD project landscape. The
Core Team is elected by the active developers in the project.</p>
<ul>
- <li>&a.tabthorpe.email;</li>
- <li>&a.gavin.email;</li>
+ <li>&a.tabthorpe.email; (Donations Team, Port Management Team Liaison)</li>
+ <li>&a.gavin.email; (Security Team Liaison)</li>
<li>&a.jhb.email;</li>
<li>&a.kib.email;</li>
- <li>&a.theraven.email;</li>
+ <li>&a.theraven.email; (&os; Foundation Liaison)</li>
<li>&a.hrs.email;</li>
<li>&a.peter.email;</li>
<li>&a.miwi.email;</li>
</ul>
<h3><a name="t-doceng">FreeBSD Documentation Engineering Team</a>
&lt;<a href="mailto:doceng@FreeBSD.org">doceng@FreeBSD.org</a>&gt;</h3>
<p>The FreeBSD Documentation Engineering Team is responsible for
defining and following up documentation goals for the committers
in the Documentation project. The <a
href="internal/doceng.html">doceng team charter</a>
describes the duties and responsibilities of the Documentation
Engineering Team in greater detail.</p>
<ul>
<li>&a.gjb.email;</li>
<li>&a.blackend.email;</li>
<li>&a.gabor.email;</li>
<li>&a.hrs.email;</li>
</ul>
<h3><a name="t-portmgr">FreeBSD Port Management Team</a>
&lt;<a href="mailto:portmgr@FreeBSD.org">portmgr@FreeBSD.org</a>&gt;</h3>
<p>The primary responsibility of the FreeBSD Port Management Team is to
ensure that the FreeBSD Ports Developer community provides a ports
collection that is functional, stable, up-to-date and full-featured.
Its secondary responsibility is to coordinate among the committers
and developers who work on it. The <a
href="portmgr/charter.html">portmgr team charter</a>
describes the duties and responsibilities of the Port Management
Team in greater detail.</p>
<ul>
- <li>&a.tabthorpe.email;</li>
+ <li>&a.tabthorpe.email; (Core Team Liaison)</li>
<li>&a.marcus.email;</li>
<li>&a.bapt.email;</li>
<li>&a.bdrewery.email; (Release Engineering Team Liaison)</li>
<li>&a.decke.email;</li>
<li>&a.erwin.email; (Cluster Administration Team Liaison)</li>
<li>&a.itetcu.email;</li>
<li>&a.miwi.email;</li>
</ul>
<hr/>
<h3><a name="t-re">Primary Release Engineering Team</a>
&lt;<a href="mailto:re@FreeBSD.org">re@FreeBSD.org</a>&gt;</h3>
<p>The Primary Release Engineering Team is responsible for setting and
publishing release schedules for official project releases of FreeBSD,
announcing code freezes and maintaining <code>releng/*</code> branches, among other
things. The <a
href="releng/charter.html">release engineering team charter</a>
describes the duties and responsibilities of the Primary Release
Engineering Team in greater detail.</p>
<ul>
<li>&a.mva.email;</li>
<li>&a.gjb.email;</li>
<li>&a.kib.email;</li>
<li>&a.joel.email;</li>
<li>&a.blackend.email;</li>
<li>&a.skreuzer.email;</li>
<li>&a.delphij.email;</li>
<li>&a.jpaetzel.email;</li>
<li>&a.rodrigc.email;</li>
<li>&a.hrs.email;</li>
<li>&a.glebius.email;</li>
<li>&a.kensmith.email; (Lead)</li>
<li>&a.marius.email;</li>
</ul>
<h3><a name="t-re-builder">Builders Release Engineering Team</a>
&lt;<a href="mailto:re-builders@FreeBSD.org">re-builders@FreeBSD.org</a>&gt;</h3>
<p>The builders release engineering team is responsible
for building and packaging FreeBSD releases on the various supported
platforms.</p>
<ul>
<li>&a.marcel.email;</li>
<li>&a.nyan.email;</li>
<li>&a.nwhitehorn.email;</li>
</ul>
<hr/>
<h3><a name="t-donations">Donations Team</a>
&lt;<a href="mailto:donations@FreeBSD.org">donations@FreeBSD.org</a>&gt;</h3>
<p>The FreeBSD Donations Team is responsible for responding to donations
offers, establishing donation guidelines and procedures, and coordinating
donation offers with the FreeBSD developer community. A more detailed
description of the duties of the Donations Team is available on the <a
href="donations/">FreeBSD Donations Liaison</a> page.</p>
<ul>
- <li>&a.tabthorpe.email;</li>
+ <li>&a.tabthorpe.email; (Core Team Liaison)</li>
<li>&a.gjb.email;</li>
<li>&a.gahr.email;</li>
<li>&a.pgollucci.email;</li>
<li>&a.skreuzer.email;</li>
<li>&a.obrien.email;</li>
<li>&a.trhodes.email;</li>
<li>&a.ds.email;</li>
<li>&a.rwatson.email;</li>
</ul>
<h3><a name="t-marketing">Marketing Team</a>
&lt;<a href="mailto:marketing@FreeBSD.org">marketing@FreeBSD.org</a>&gt;</h3>
<p>Press contact, marketing, interviews, information.</p>
<ul>
<li>Steven Beedle &lt;<a
href="mailto:steven@zna.com">steven@zna.com</a>&gt;</li>
<li>Denise Ebery &lt;<a
href="mailto:denise@ixsystems.com">denise@ixsystems.com</a>&gt;</li>
<li>&a.deb.email;</li>
<li>&a.jkoshy.email;</li>
<li>&a.dru.email;</li>
<li>&a.mwlucas.email;</li>
<li>&a.imp.email;</li>
<li>&a.kmoore.email;</li>
<li>&a.murray.email;</li>
<li>&a.matt.email;</li>
<li>Jeremy C. Reed &lt;<a
href="mailto:reed@reedmedia.net">reed@reedmedia.net</a>&gt;</li>
<li>&a.rwatson.email;</li>
</ul>
<h3><a name="t-secteam">Security Team</a>
&lt;<a href="mailto:secteam@FreeBSD.org">secteam@FreeBSD.org</a>&gt;</h3>
<p>The FreeBSD Security Team (headed by the Security Officer) is
responsible for keeping the community aware of bugs, exploits and
security risks affecting the FreeBSD src and ports trees, and to
promote and distribute information needed to safely run FreeBSD
systems. Furthermore, it is responsible for resolving software
bugs affecting the security of FreeBSD and issuing security
advisories. The <a href="security/charter.html">FreeBSD
Security Officer Charter</a> describes the duties and
responsibilities of the Security Officer in greater detail.</p>
<ul>
<li>&a.benl.email;</li>
<li>&a.cperciva.email; (Officer Emeritus)</li>
<li>&a.csjp.email;</li>
<li>&a.delphij.email; (Officer Deputy)</li>
<li>&a.des.email; (Officer)</li>
<li>&a.gavin.email; (Core Team Liaison)</li>
- <li>&a.gnn.email; (Secretary)</li>
+ <li>&a.gnn.email;</li>
<li>&a.jonathan.email;</li>
<li>&a.philip.email;</li>
<li>&a.qingli.email;</li>
<li>&a.remko.email;</li>
<li>&a.rwatson.email;</li>
<li>&a.simon.email; (Officer Emeritus)</li>
<li>&a.stas.email;</li>
- <li>&a.trasz.email;</li>
+ <li>&a.trasz.email; (Secretary)</li>
</ul>
<h3><a name="t-vendor">Vendor Relations</a>
&lt;<a href="mailto:vendor-relations@FreeBSD.org">vendor-relations@FreeBSD.org</a>&gt;</h3>
<p>Vendor Relations is responsible for handling email
from hardware and software vendors. Email sent to Vendor
Relations is forwarded to the &os;&nbsp;Core Team in addition
to the &os;&nbsp;Foundation.</p>
<hr/>
<h3><a name="t-core-secretary">Core Team Secretary</a>
&lt;<a href="mailto:core-secretary@FreeBSD.org">core-secretary@FreeBSD.org</a>&gt;</h3>
<p>The FreeBSD Core Team Secretary is a non-voting member of the Core Team,
responsible for documenting the work done by core, keeping track of the
core agenda, direct contact with non-core members sending mail to core
and to be an the interface to the admin team for
committer/account approval. The Core Team Secretary is also responsible
for writing and sending out monthly status reports to the FreeBSD
Developer community, containing a summary of core's latest decisions and
actions.</p>
<ul>
<li>&a.pgj.email;</li>
</ul>
<h3><a name="t-portmgr-secretary">Port Management Team Secretary</a>
&lt;<a href="mailto:portmgr-secretary@FreeBSD.org">portmgr-secretary@FreeBSD.org</a>&gt;</h3>
<p>The FreeBSD Port Management Team Secretary is a non-voting member of the
Port Management Team, responsible for documenting the work done by portmgr,
keeping track of voting procedures, and to be an interface to the other
teams, especially the admin and Core teams. The Port Management Team
Secretary is also responsible for writing and sending out monthly status
reports to the FreeBSD Developer community, containing a summary of
portmgr's latest decisions and actions.</p>
<ul>
<li>&a.tabthorpe.email;</li>
</ul>
<h3><a name="t-secteam-secretary">Security Team Secretary</a>
&lt;<a href="mailto:secteam-secretary@FreeBSD.org">secteam-secretary@FreeBSD.org</a>&gt;</h3>
<p>The FreeBSD Security Team Secretary will make sure someone responds to
incoming emails towards the Security Team. He will acknowledge
receipt and keep track of the progress within the Security Team.
If needed the Secretary will contact members of the Security Team to
let them provide an update on ongoing items. Currently the Security
Team Secretary does not handle Security Officer Team items.</p>
<ul>
<li>&a.trasz.email;</li>
</ul>
<hr/>
<h3><a name="t-accounts">Accounts Team</a>
<!-- admins mail aliases intentionally left incomplete -->
&lt;accounts@&gt;</h3>
<p>The Accounts Team is responsible for setting up accounts for new
committers in the project. Requests for new accounts will not be
acted upon without the proper approval from the appropriate entity.</p>
<ul>
<li>&a.simon.email;</li>
<li>&a.dhw.email;</li>
</ul>
<h3><a name="t-backups">Backups Administrators</a>
<!-- admins mail aliases intentionally left incomplete -->
&lt;backups@&gt;</h3>
<p>The Backups Administrators handle all backups on the FreeBSD cluster.</p>
<ul>
<li>&a.simon.email;</li>
<li>&a.dhw.email;</li>
</ul>
<h3><a name="t-bugmeister">Bugmeisters &amp; GNATS Administrators</a>
&lt;<a href="mailto:bugmeister@FreeBSD.org">bugmeister@FreeBSD.org</a>&gt;</h3>
<p>The Bugmeisters and GNATS Administrators are responsible for ensuring
that the maintenance database is in working order, that the entries are
correctly categorised and that there are no invalid entries. They are
also responsible for the problem report group.</p>
<ul>
<li>&a.eadler.email;</li>
<li>&a.gavin.email;</li>
<li>&a.gonzo.email;</li>
</ul>
<h3><a name="t-clusteradm">Cluster Administrators</a>
<!-- admins mail aliases intentionally left incomplete -->
&lt;admins@&gt;</h3>
<p>The Cluster Administrators consists of the people responsible for
administrating the machines that the project relies on for its
distributed work and communication to be synchronised. It
consists mainly of those people who have physical access to the servers.
Issues concerning the projects infrastructure or setting up new
machines should be directed to the cluster administrators. This
team is led by the lead cluster administrator whose duties and
responsbilities are described in the <a
href="internal/clusteradm.html">cluster administration charter</a>
in greater detail.</p>
<ul>
<li>&a.bhaga.email;</li>
<li>&a.brd.email;</li>
<li>&a.bz.email;</li>
<li>&a.gjb.email;</li>
<li>&a.kensmith.email;</li>
<li>&a.peter.email; (Lead)</li>
<li>&a.sbruno.email;</li>
<li>&a.simon.email;</li>
<li>&a.zi.email;</li>
</ul>
<h3><a name="t-cvsup-master">CVSup Mirror Site Coordinators</a>
&lt;<a href="mailto:cvsup-master@FreeBSD.org">cvsup-master@FreeBSD.org</a>&gt;</h3>
<p>The CVSup Mirror Site Coordinators coordinates all the CVSup
mirror site adminstrators to ensure that they are distributing current
versions of the software, that they have the capacity to update
themselves when major updates are in progress, and making it easy for
the general public to find their closest CVSup mirror.</p>
<ul>
<li>&a.kuriyama.email;</li>
<li>&a.kensmith.email;</li>
</ul>
<h3><a name="t-dnsadm">DNS Administrators</a>
<!-- admins mail aliases intentionally left incomplete -->
&lt;dnsadm@&gt;</h3>
<p>The DNS Administrators are responsible for managing DNS and related
services.</p>
<ul>
<li>&a.brd.email;</li>
<li>&a.simon.email;</li>
<li>&a.peter.email;</li>
<li>&a.bz.email;</li>
</ul>
<h3><a name="t-mirror-admin">FTP/WWW Mirror Site Coordinators</a>
&lt;<a href="mailto:mirror-admin@FreeBSD.org">mirror-admin@FreeBSD.org</a>&gt;</h3>
<p>The FTP/WWW Mirror Site Coordinators coordinate all the FTP/WWW
mirror site adminstrators to ensure that they are distributing current
versions of the software, that they have the capacity to update
themselves when major updates are in progress, and making it easy for
the general public to find their closest FTP/WWW mirror.</p>
<ul>
<li>&a.brd.email;</li>
<li>&a.kuriyama.email;</li>
<li>&a.simon.email;</li>
<li>&a.kensmith.email;</li>
<li>&a.bz.email;</li>
</ul>
<h3><a name="t-perforce-admin">Perforce Repository Administrators</a>
&lt;<a href="mailto:perforce-admin@FreeBSD.org">perforce-admin@FreeBSD.org</a>&gt;</h3>
<p>The Perforce Repository Administrators are responsible for
administrating the FreeBSD perforce source repository and setting up new
perforce accounts. All requests concerning new perforce accounts
for non-committers should be directed to the perforce
administrators.</p>
<ul>
<li>&a.gibbs.email;</li>
<li>&a.kensmith.email;</li>
<li>&a.gordon.email;</li>
<li>&a.rwatson.email;</li>
<li>&a.peter.email;</li>
</ul>
<h3><a name="t-postmaster">Postmaster Team</a>
&lt;<a href="mailto:postmaster@FreeBSD.org">postmaster@FreeBSD.org</a>&gt;</h3>
<p>The Postmaster Team is responsible for mail being correctly delivered
to the committers' email address, ensuring that the mailing lists work,
and should take measures against possible disruptions of project mail
services, such as having troll-, spam- and virus-filters.</p>
<ul>
<li>&a.jmb.email;</li>
<li>&a.brd.email;</li>
<li>&a.flo.email;</li>
<li>&a.sahil.email;</li>
<li>&a.dhw.email;</li>
</ul>
<h3><a name="t-subversion">Subversion Administrators</a> &lt;svnadm@&gt;</h3>
<p>The FreeBSD Subversion team is responsible for maintaining the health of
the Subversion Repositories.</p>
<ul>
<li>&a.bz.email;</li>
<li>&a.peter.email;</li>
<li>&a.simon.email;</li>
</ul>
<h3><a name="t-webmaster">Webmaster Team</a>
&lt;<a href="mailto:webmaster@FreeBSD.org">webmaster@FreeBSD.org</a>&gt;</h3>
<p>The FreeBSD Webmaster Team is responsible for keeping the main FreeBSD web
sites up and running. This means web server configuration, CGI scripts,
fulltext and mailing list search. Anything web related, technical stuff
belongs to the scope of the Webmaster Team, excluding bugs in the
documentation.</p>
<ul>
<li>&a.nik.email;</li>
<li>&a.kuriyama.email;</li>
<li>&a.simon.email;</li>
<li>&a.jesusr.email;</li>
<li>&a.wosch.email;</li>
<li>&a.don.email;</li>
</ul>
</body>
</html>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/advocacy/myths.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/advocacy/myths.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/advocacy/myths.xml (revision 42804)
@@ -1,424 +1,431 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD Advocacy Project">
<!ENTITY url.articles "../doc/en_US.ISO8859-1/articles">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.about">
<p>As the BSD projects (DragonFlyBSD, FreeBSD, NetBSD, and OpenBSD) have grown in size,
a number of persistent myths have grown up around them. Some of these are
perpetuated by well meaning but misguided individuals, others by people
pursuing their own agendas.</p>
<p>This page aims to dispel those myths while remaining as dispassionate
as possible.</p>
<blockquote><b>Note:</b> Throughout this page, ``*BSD'' refers to all
four of the BSD Projects. Where a myth or response is specific to a
particular project it is indicated as such.</blockquote>
<blockquote>If you are aware of an omission or error on this page, please
let the <a href="mailto:doc@freebsd.org">FreeBSD
documentation project mailing list</a> know.</blockquote>
<h2>Index</h2>
<ul>
<li><a href="#closed-model">*BSD has a closed development model,
it's more ``Cathedral'' than ``Bazaar''</a></li>
<li><a href="#own-distro">You can't make your own distributions or
derivative works of *BSD</a></li>
<li><a href="#server">*BSD makes a great server, but a poor
desktop</a></li>
<li><a href="#old-codebase">The *BSD codebase is old, outdated, and
dying</a></li>
<li><a href="#bsd-war">The *BSD projects are at war with one
another, splinter groups form each week</a></li>
<li><a href="#clustering">You can't cluster *BSD systems (parallel
computing)</a></li>
<li><a href="#support">There's no commercial support for
*BSD</a></li>
<li><a href="#applications">There are no applications for
*BSD</a></li>
<li><a href="#beats">*BSD is better than (some other system)</a></li>
<li><a href="#beaten">(some other system) is better than *BSD</a></li>
</ul>
<h2>Myths</h2>
<h3><a name="closed-model">*BSD</a> has a closed development
model, it's more ``Cathedral'' than ``Bazaar''</h3>
<p>Eric Raymond wrote an influential paper, ``<a href="http://www.catb.org/~esr/writings/cathedral-bazaar/">The
Cathedral and the Bazaar</a>'' in which the Linux development model
(and the model Eric used for <tt>fetchmail</tt>) is held up as an
example of how to do ``open'' development. By contrast, the model
employed by *BSD is often characterized as closed.</p>
<p>The implicit value judgment is that ``bazaar'' (open) is good, and
``cathedral'' (closed) is bad.</p>
<p>If anything, *BSD's development model is probably
<strong>more</strong> akin to the ``bazaar'' that Eric describes than
either Linux or <tt>fetchmail</tt>.</p>
<p>Consider the following;</p>
<ul>
<li><p><b>All the *BSD projects:</b> The current, bleeding edge source
code for FreeBSD, NetBSD, and OpenBSD is available for anyone to download
from the Internet, 24 hours a day. You don't need to wait for
someone else to roll a release.</p>
<p><b>FreeBSD:</b> An installable snapshot of the current
progress is made weekly. These snapshots can be installed
exactly like an ordinary release, and do not require installation
over an existing system.</p>
<p><b>OpenBSD:</b> Installable snapshots are generated daily and if
Theo thinks they are good enough, he uploads them to the mirrors.</p>
<p>Contrast this with Linux, where new kernel distributions are
made available on an ad-hoc basis, and where the frequency of
each Linux distribution release is at the whim of the individual
vendor.</p>
<p>There's none of the Linux fanfare every time a new kernel is
released, simply because for most *BSD users it is an every day
event.</p></li>
<li><p>Anyone can submit patches, bug reports, documentation, and
other contributions. They can do this by using the <tt>send-pr</tt>
program installed on their *BSD system, or by using a web based
interface.</p>
<p>Pointers to this system litter the documentation.</p></li>
<li><p>Not everyone can commit code changes to the *BSD code. You
need to be a <em>committer</em> first. Typically, people are offered
``commit privs'' after they have made a few well-thought out
submissions to the project using <tt>send-pr</tt> or similar.</p>
<p>This is identical to the Linux mechanism. Only one person is
(notionally) allowed to change the Kernel, Linus. But specific areas
(such as the networking code) are delegated to other people.</p>
<p><i>Aside: Nik (nik@FreeBSD.org) is a case in point. After making
several submissions to the FreeBSD Documentation Project and
web pages, he was offered ``commit privs'' so that he did not
have to keep bothering other committers to commit the changes. He
never had to ask for them, they were freely given.</i></p></li>
</ul>
<hr noshade="noshade" size="1"/>
<h3><a name="own-distro">You</a> cannot make your own distributions
or derivative works of *BSD</h3>
<p>You can. You just need to say in the documentation and source
files where the code is derived from. A bunch of derivative
projects exists:</p>
<ul>
<li><p><a href="http://www.dragonflybsd.org/">DragonflyBSD</a>
started as a code fork from
FreeBSD 4.X, but it has since its own user community and
development goals.</p></li>
<li><p><a href="http://www.trustedbsd.org/">TrustedBSD</a>
provides a set of trusted operating system
extensions to the FreeBSD operating system, targeting the
Common Criteria for Information Technology Security
Evaluation (CC). This project is still under development,
and much of the code is destined to make its way back into
the base FreeBSD operating system, but the development
takes place separately.</p></li>
<li><p><a href="http://www.hybrid-cluster.com/">Hybrid Cluster</a> is
a web cluster, based on FreeBSD and ZFS, which provides data
redundancy and automated load balancing of standard LAMP
websites and applications.</p></li>
<li><p><a href="http://frenzy.org.ua/eng/">Frenzy</a> is
another live-CD distribution, but customized
for administering tasks. It contains software for hardware
tests, file system checks, security checks, network setup
and analysis.</p></li>
<li><p><a
href="http://www.FreeBSD.org/cgi/man.cgi?query=picobsd">PicoBSD</a>
is a tailored distribution of FreeBSD that fits
on a floppy. It is great for turning diskless 386 PC into a
router or a network print server. It is a part of the FreeBSD
source tree, see /usr/src/release/picobsd.</p></li>
<li><p><a href="&url.articles;/nanobsd/index.html">NanoBSD</a> is another
project to produce reduced versions
of FreeBSD to put it on a Compact Flash card or other mass
storage. It is also a part of the FreeBSD source tree, see
/usr/src/tools/tools/nanobsd.</p></li>
<li><p><a href="http://code.google.com/p/tinybsd/">TinyBSD</a> is
a set of tools made up of shell scripts designed to allow easy
development of Embedded Systems based on FreeBSD.</p></li>
<li><p><a href="http://thinbsd.zefyris.com/">ThinBSD</a> is a small
FreeBSD based boot image that allows a standard PC to act as
a diskless thin client for a Microsoft Windows RDP server or
an X terminal. It is entirely configured via DHCP.</p></li>
<li><p><a href="http://www.pcbsd.org/">PC-BSD</a> is a desktop
oriented FreeBSD derivative. It is
intended to be easy to install and well-supported by its
community.</p></li>
<li><p><a href="http://www.desktopbsd.net/">DesktopBSD</a> is
another FreeBSD based operating system
customized for desktop usability.</p></li>
<li><p><a href="http://www.gentoo.org/proj/en/gentoo-alt/bsd/fbsd/index.xml">Gentoo/FreeBSD</a>
is an effort by the Gentoo Project to port their complete
administration facilities to take advantage of the reliable
FreeBSD kernel and userland. This project is purely
incomplete and experimental.</p></li>
+ <li><p><a href="https://wiki.debian.org/Debian_GNU/kFreeBSD">Debian
+ GNU/kFreeBSD</a> is a port of the Debian GNU userland
+ tools to the &os; kernel. It takes advantage of the devfs(8)
+ implementation (versus three discordant Linux interfaces),
+ security features (like jails, ipfw, and pf), and ZFS, among
+ other things.</p></li>
+
<li><p><a href="http://www.m0n0.ch/wall/">m0n0wall</a> is
a FreeBSD based firewall system that has
many of the features of expensive firewalls like web
interface, reset to factory defaults, stateful packet
filtering, NAT/PAT redirection, DHCP client and server,
caching DNS forwarder and more.</p></li>
<li><p><a href="http://www.pfsense.com">pfSense</a> is an open source
firewall derived from the m0n0wall firewall system with several
different goals and features, such as OpenBSD's Packet Filter (PF),
FreeBSD 6.1, ALTQ support for excellent packet queuing and
finally an integrated package management system for extending the
environment with new features.</p></li>
<li><p>The Whistle Interjet: A ``network appliance'' that acts as a
router, web server, mailhost (and other functionality), and can be
configured using a web browser. The underlying operating system is
FreeBSD, and Whistle have contributed many of their code
enhancements back to the FreeBSD project (while keeping enough of
them proprietary that they can stay in business).</p></li>
</ul>
<p>Similarly to DragonflyBSD, OpenBSD was not a standalone project,
it started as a spinoff from the NetBSD project, and has since evolved
its own distinctive approach.</p>
<hr noshade="noshade" size="1"/>
<h3><a name="server">*BSD</a> makes a great server, but a poor
(&unix;) desktop</h3>
<p>*BSD makes a great server. It also makes a great desktop. Many of
the requirements for a server (responsiveness under load, stability,
effective use of system resources) are the same requirements as for a
desktop machine.</p>
<p>*BSD has access to the same desktop tools (KDE, GNOME, Firefox,
windowmanagers) as Linux. And ``office'' applications such as
OpenOffice suite work under *BSD too.</p>
<hr noshade="noshade" size="1"/>
<h3><a name="old-codebase">The</a> BSD codebase is old, outdated, and
dying</h3>
<p>While the BSD codebase may be more than 20 years old, it is neither
outdated nor dying. Many professional users like the stability that years
of testing has provided FreeBSD.</p>
<p><a href="../features.html">Technological
enhancements</a> continue to be added to *BSD.</p>
<hr noshade="noshade" size="1"/>
<h3><a name="bsd-war">The</a> *BSD projects are at war with one another,
splinter groups form each week</h3>
<p>No. While occasional advocacy may get a touch heated, the *BSD flavors
continue to work with one another. FreeBSD's Alpha port was initially
heavily based on the work done by the NetBSD team. Both NetBSD and
OpenBSD used the FreeBSD ports collection to bootstrap their own port
sets. FreeBSD and NetBSD both integrate security fixes first discovered
by the OpenBSD team.</p>
<p>The FreeBSD and NetBSD projects separated more than ten years
ago. OpenBSD and DragonflyBSD are the only new BSD projects to
split off in the last ten years.</p>
<p>The *BSD projects cooperate in other areas as well. For example, the
monthly publication <a href="http://www.daemonnews.org/">DaemonNews</a>
is a collaborative effort by members of all four projects.</p>
<hr noshade="noshade" size="1"/>
<h3><a name="clustering">You</a> can't cluster *BSD systems (parallel
computing)</h3>
<p>The following URLs should disprove this;</p>
<ul>
<li><a href="http://www.epm.ornl.gov/pvm/">http://www.epm.ornl.gov/pvm/</a>
The Parallel Virtual Machine is nothing more than a software package that makes
setting up a Cluster simple. The source code is freely available, and will run
on FreeBSD without much problem.</li>
<li><a href="http://www.scl.ameslab.gov/Projects/old/ClusterCookbook/">
http://www.scl.ameslab.gov/Projects/old/ClusterCookbook/</a></li>
<li><a href="http://people.freebsd.org/~brooks/papers/bsdcon2003/fbsdcluster/">
http://people.freebsd.org/~brooks/papers/bsdcon2003/fbsdcluster/</a>
Brooks Davis's paper about the implementation of a FreeBSD
cluster with more than 300 CPU's</li>
<li><a href="http://www.openbsd.org/faq/pf/carp.html">
http://www.openbsd.org/faq/pf/carp.html</a>
OpenBSD's Common Address Redundancy Protocol (CARP) to
build redundant clusters at the level of the firewall</li>
<li><a href="http://www.countersiege.com/doc/pfsync-carp">
http://www.countersiege.com/doc/pfsync-carp</a>
A good explanation of CARP</li>
<li><a href="http://pf4freebsd.love2party.net/carp.html">
http://pf4freebsd.love2party.net/carp.html</a>
OpenBSD's CARP ported to FreeBSD</li>
</ul>
<p>Note, that
<a href="mailto:freebsd-cluster@FreeBSD.org">freebsd-cluster</a>
mailing list is available for further discussion about
clustering of FreeBSD.</p>
<hr noshade="noshade" size="1"/>
<h3><a name="support">There's no commercial support for *BSD</a></h3>
<p><b>FreeBSD:</b> The <a href="../commercial/consult_bycat.html">FreeBSD
Commercial Vendors Page</a> lists companies that offer commercial
support for FreeBSD.</p>
<p>The <a href="http://www.freebsdmall.com">FreeBSD
Mall</a> also offer commercial support, along with shirts,
hats, books, software, and promotional items.</p>
<p>For training, one might try <a href="http://www.bsdmall.com/">BSDMall.com</a>, but they sell
other items too, like shirts, hats, books and software! Definitely worth a look.</p>
<p><b>OpenBSD:</b> The <a href="http://www.openbsd.org/support.html">OpenBSD Commercial
Consulting Page</a> lists companies that offer commercial support for
OpenBSD.</p>
<hr noshade="noshade" size="1"/>
<h3><a name="applications">There</a> are no applications for *BSD</h3>
<p>The free software community started running on predominantly BSD
systems (SunOS and similar). *BSD users can generally compile software
written for these systems without needing to make any changes.</p>
<p>In addition, each *BSD project uses a ``ports'' system to make the
building of ported software much easier.</p>
<p><b>FreeBSD:</b> There are currently more than 24,000
applications ready to download and install in the FreeBSD ports
collection. On i386 and AMD64, the Linux emulation layer will
also run the vast majority of Linux applications. On the AMD64 and Itanium
architectures there is a compatibility layer to run 32-bit FreeBSD binaries.</p>
<p><b>NetBSD:</b> The Linux emulation layer will run the vast majority of
i386 Linux applications, and the majority of SunOS4 applications can be
run on a SPARCStation.</p>
<p><b>OpenBSD:</b> There are currently more than 3700 applications
ready to download and install in the OpenBSD ports collection. The Linux
emulation layer will also run the vast majority of i386 Linux
applications, and the majority of SunOS4 applications can be run on a
SPARCStation.</p>
<p>Both NetBSD and OpenBSD are able to use applications in FreeBSD's ports
collection with minimal effort. Their lower number of ported
applications reflects this.</p>
<p>It is true that most companies when porting to PC Unix will choose Linux
first. Fortunately, *BSD's Linux emulation layer will run these
programs (Acrobat, StarOffice, Mathematica, WordPerfect, Quake, Intel
ICC compiler, Compaq's Alpha compiler ...)
with few, if any, problems.</p>
<p>As a historical note, the first version of Netscape Navigator that ran
on FreeBSD with Java support was the Linux version. Now you can
also use a native FreeBSD version of Mozilla with a native Java
plugin, all compiled conveniently from the ports!</p>
<hr noshade="noshade" size="1"/>
<h3><a name="beats">*BSD</a> is better than (insert other system)</h3>
<p>This is user opinion only.</p>
<hr noshade="noshade" size="1"/>
<h3><a name="beaten">(insert some</a> other system) is better than *BSD</h3>
<p>This is user opinion only.</p>
<hr noshade="noshade" size="1"/>
<h2>Contributors</h2>
<p>Members of the FreeBSD, NetBSD, and OpenBSD projects have contributed
to this page;</p>
<table width="100%">
<tbody>
<tr>
<td>Nik Clayton
&lt;<a href="mailto:nik@FreeBSD.org">nik@FreeBSD.org</a>&gt;</td>
</tr>
<tr>
<td>Jordan Hubbard
&lt;<a href="mailto:jkh@FreeBSD.org">jkh@FreeBSD.org</a>&gt;</td>
</tr>
<tr>
<td>Ian F. Darwin
&lt;<a href="mailto:ian@DarwinSys.com">ian@DarwinSys.com</a>&gt;</td>
</tr>
<tr>
<td>Adrian Filipi-Martin
&lt;<a href="mailto:adrian@ubergeeks.com">adrian@ubergeeks.com</a>&gt;</td>
</tr>
<tr>
<td>Tom Rhodes
&lt;<a href="mailto:trhodes@FreeBSD.org">trhodes@FreeBSD.org</a>&gt;</td>
</tr>
</tbody>
</table>
</body>
</html>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/cgi/man.cgi
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/cgi/man.cgi (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/cgi/man.cgi (revision 42804)
@@ -1,1785 +1,1788 @@
#!/usr/bin/perl -T
#
# Copyright (c) 1996-2011 Wolfram Schneider <wosch@FreeBSD.org>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form 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 SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# man.cgi - HTML hypertext FreeBSD man page interface
#
# based on bsdi-man.pl,v 2.17 1995/10/05 16:48:58 sanders Exp
# bsdi-man -- HTML hypertext BSDI man page interface
# based on bsdi-man.pl,v 2.10 1993/10/02 06:13:23 sanders Exp
# by polk@BSDI.COM 1/10/95
# BSDI Id: bsdi-man,v 1.2 1995/01/11 02:30:01 polk Exp
# Dual CGI/Plexus mode and new interface by sanders@bsdi.com 9/22/1995
#
# $FreeBSD$
############################################################################
# !!! man.cgi is stale perl4 code !!!
############################################################################
# run `perltidy -b man.cgi' to indent the code
# Use standard FreeBSD CGI Style if available.
# Otherwise print simple HTML design.
package cgi_style;
use constant HAS_FREEBSD_CGI_STYLE => eval { require "./cgi-style.pl"; };
package main;
$debug = 2;
$www{'title'} = 'FreeBSD Man Pages';
$www{'home'} = 'http://www.FreeBSD.org';
$www{'head'} = $www{'title'};
#$command{'man'} = '/usr/bin/man'; # 8Bit clean man
$command{'man'} = '/usr/local/www/bin/man.wrapper'; # set CPU limits
# Config Options
# map sections to their man command argument(s)
%sections = (
'', '',
'All', '',
'0', '',
'1', '-S1',
'1c', '-S1',
'1C', '-S1',
'1g', '-S1',
'1m', '-S1',
'2', '-S2',
'2j', '-S2',
'3', '-S3',
'3S', '-S3',
'3f', '-S3',
'3j', '-S3',
'3m', '-S3',
'3n', '-S3',
'3p', '-S3',
'3pm', '-S3',
'3r', '-S3',
'3s', '-S3',
'3x', '-S3',
'4', '-S4',
'5', '-S5',
'6', '-S6',
'7', '-S7',
'8', '-S8',
'8c', '-S8',
'9', '-S9',
'l', '-Sl',
'n', '-Sn',
);
$sectionpath = {
'HP-UX 11.22' => { 'path' => '1:1m:2:3:4:5:7:9' },
'HP-UX 11.20' => { 'path' => '1:1m:2:3:4:5:7:9' },
'HP-UX 11.11' => { 'path' => '1:1m:2:3:4:5:7:9' },
'HP-UX 11.00' => { 'path' => '1:1m:2:3:4:5:7:9' },
'HP-UX 10.20' => { 'path' => '1:1m:2:3:4:5:7:9' },
'HP-UX 10.10' => { 'path' => '1:1m:2:3:4:5:7:9' },
'HP-UX 10.01' => { 'path' => '1:1m:2:3:4:5:7:9' },
'SunOS 5.10' => {
'path' =>
'1:1m:1s:1as:2:3:3c:3malloc:3nsl:3socket:3ldap:3nisdb:3rac:3resolv:3rpc:3slp:3proc:3rt:3c_db:3elf:3kvm:3kstat:3m:3mp:3mvec:3pam:3aio:3bsm:3tsol:3contract:3cpc:3sec:3secdb:3smartcard:3cfgadm:3crypt:3devid:3devinfo:3door:3lib:3libucb:3head:3nvpair:3rsm:7:7d:7fs:7i:7ipp:7m:7p:9:9e:9f:9p:9s:4:5:4b:3gen:3exacct:3sysevent:3uuid:3wsreg:3dmi:3snmp:3tnf:3volmgt:3mail:3layout:3ext:3picl:3picltree:3pool:3project:3perl:3lgrp:3sasl:3scf:3dat:3hbaapi:3tecla:1b:1c:1f:3ucb:3xnet:3curses:3plot:3xcurses:3gss:6:3tiff:3fontconfig:3mlib:l:n',
},
'SunOS 5.9' => {
'path' =>
'1:1m:1s:2:3:3c:3malloc:3dl:3nsl:3socket:3ldap:3nisdb:3rac:3resolv:3rpc:3slp:3xfn:3proc:3rt:3thr:3elf:3kvm:3kstat:3m:3mp:3pam:3sched:3aio:3bsm:3cpc:3sec:3secdb:3cfgadm:3crypt:3devid:3devinfo:3door:3lib:3libucb:3head:3nvpair:3rsm:7:7d:7fs:7i:7m:7p:9:9e:9f:9p:9s:4:5:4b:3gen:3exacct:3sysevent:3wsreg:3dmi:3snmp:3tnf:3volmgt:3mail:3layout:3ext:3picl:3picltree:3pool:3project:1b:1c:1f:3ucb:3xnet:3curses:3plot:3xcurses:3gss:6:l:n',
},
'SunOS 5.8' => {
'path' =>
'1:1m:1s:2:3:3c:3malloc:3dl:3nsl:3socket:3ldap:3krb:3nisdb:3rac:3resolv:3rpc:3slp:3xfn:3proc:3rt:3thr:3elf:3kvm:3kstat:3m:3mp:3pam:3sched:3aio:3bsm:3cpc:3sec:3secdb:3cfgadm:3crypt:3devid:3devinfo:3door:3lib:3libucb:3head:7:7d:7fs:7i:7m:7p:9:9e:9f:9s:4:5:4b:3gen:3dmi:3snmp:3tnf:3volmgt:3mail:3layout:3ext:1b:1c:1f:3ucb:3xnet:3curses:3plot:3xcurses:6:l:n',
},
'SunOS 5.7' => {
'path' =>
'1:1m:1c:1f:1s:1b:2:3:3c:3s:3x:3xc:3n:3r:3t:3xn:3m:3k:3g:3e:3b:9f:9s:9e:9:4:5:7:7d:7i:7m:7p:7fs:4b:6:l:n',
},
'SunOS 5.6' => {
'path' =>
'1:1m:1c:1f:1s:1b:2:3:3c:3s:3x:3xc:3xn:3r:3t:3n:3m:3k:3g:3e:3b:9f:9s:9e:9:4:5:7:7d:7i:7m:7p:7fs:4b:6:l:n',
},
'SunOS 5.5.1' => {
'path' =>
'1:1m:1c:1f:1s:1b:2:3:3c:3s:3x:3xc:3xn:3r:3t:3n:3m:3k:3g:3e:3b:9f:9s:9e:9:4:5:7:7d:7i:7m:7p:7fs:4b:6:l:n',
},
'OpenBSD 3.0' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 3.1' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 3.2' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 3.3' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 3.4' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 3.5' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 3.6' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 3.7' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 3.8' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 3.9' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 4.0' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 4.1' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 4.2' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 4.3' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 4.4' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 4.5' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 4.6' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 4.7' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 4.8' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 4.9' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 5.0' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 5.1' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 5.2' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'OpenBSD 5.3' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', },
'CentOS Linux/i386 3.9' => { 'path' => '1:2:3:3p:4:5:6:7:8:9:n', },
'CentOS Linux/i386 4.8' => { 'path' => '1:1p:2:3:3p:4:5:6:7:8:9:n:0p', },
'CentOS Linux/i386 5.3' => { 'path' => '0p:1:1p:1x:2:2x:3:3p:3x:4:4x:5:5x:6:6x:7:7x:8:8x:9:9x:l:n' },
'CentOS Linux/i386 5.4' => { 'path' => '0p:1:1p:1x:2:2x:3:3p:3x:4:4x:5:5x:6:6x:7:7x:8:8x:9:9x:l:n' },
'CentOS Linux/i386 5.5' => { 'path' => '0p:1:1p:1x:2:2x:3:3p:3x:4:4x:5:5x:6:6x:7:7x:8:8x:9:9x:l:n' },
'CentOS Linux/amd64 5.6' => { 'path' => '0p:1:1p:1x:2:2x:3:3p:3x:4:4x:5:5x:6:6x:7:7x:8:8x:9:9x:l:n' },
'CentOS Linux/amd64 5.7' => { 'path' => '0p:1:1p:1x:2:2x:3:3p:3x:4:4x:5:5x:6:6x:7:7x:8:8x:9:9x:l:n' },
'CentOS Linux/amd64 5.8' => { 'path' => '0p:1:1p:1x:2:2x:3:3p:3x:4:4x:5:5x:6:6x:7:7x:8:8x:9:9x:l:n' },
'CentOS Linux/amd64 6.0' => { 'path' => '0p:1:1p:1x:2:2x:3:3p:3x:4:4x:5:5x:6:6x:7:7x:8:8x:9:9x:l:n' },
'CentOS Linux/amd64 6.1' => { 'path' => '0p:1:1p:1x:2:2x:3:3p:3x:4:4x:5:5x:6:6x:7:7x:8:8x:9:9x:l:n' },
'CentOS Linux/amd64 6.2' => { 'path' => '0p:1:1p:1x:2:2x:3:3p:3x:4:4x:5:5x:6:6x:7:7x:8:8x:9:9x:l:n' },
'CentOS Linux/amd64 6.3' => { 'path' => '0p:1:1p:1x:2:2x:3:3p:3x:4:4x:5:5x:6:6x:7:7x:8:8x:9:9x:l:n' },
'SuSE Linux/i386 4.3' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 5.0' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 5.2' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 5.3' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 6.0' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 6.1' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 6.3' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 6.4' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 7.0' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 7.1' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 7.2' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 7.3' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 8.0' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 8.1' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 8.2' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 9.2' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 9.3' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 10.0' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 10.1' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 10.2' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 10.3' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 11.0' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 11.1' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 11.2' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
'SuSE Linux/i386 11.3' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', },
};
foreach my $os ( keys %$sectionpath ) {
foreach my $section ( split( /:/, $sectionpath->{$os}{'path'} ) ) {
$section =~ /(.)(.*)/;
$sectionpath->{$os}{$1} .=
( $sectionpath->{$os}{$1} ? ':' : '' ) . $section;
}
}
%sectionName = (
'0', 'All Sections', '1', '1 - General Commands',
'2', '2 - System Calls', '3', '3 - Subroutines',
'4', '4 - Special Files', '5', '5 - File Formats',
'6', '6 - Games', '7', '7 - Macros and Conventions',
'8', '8 - Maintenance Commands', '9', '9 - Kernel Interface',
'n', 'n - New Commands',
);
$manLocalDir = '/usr/local/www/bsddoc/man';
-$manPathDefault = 'FreeBSD 9.1-RELEASE';
+$manPathDefault = 'FreeBSD 9.2-RELEASE';
%manPath = (
'FreeBSD 9.0-RELEASE and Ports',
"$manLocalDir/FreeBSD-9.0-RELEASE/man:$manLocalDir/FreeBSD-9.0-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports-9.0-RELEASE/man:$manLocalDir/FreeBSD-ports-9.0-RELEASE/lib-perl5-perl-5.12.4-man:$manLocalDir/FreeBSD-ports-9.0-RELEASE/misc",
'FreeBSD 8.4-RELEASE and Ports',
"$manLocalDir/FreeBSD-8.4-RELEASE/man:$manLocalDir/FreeBSD-8.4-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports-8.4-RELEASE",
'FreeBSD 8.3-RELEASE and Ports',
"$manLocalDir/FreeBSD-8.3-RELEASE/man:$manLocalDir/FreeBSD-8.3-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports-8.3-RELEASE",
'FreeBSD 8.2-RELEASE and Ports',
"$manLocalDir/FreeBSD-8.2-RELEASE/man:$manLocalDir/FreeBSD-8.2-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports-8.2-RELEASE",
'FreeBSD 8.1-RELEASE and Ports',
"$manLocalDir/FreeBSD-8.1-RELEASE/man:$manLocalDir/FreeBSD-8.1-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports-8.1-RELEASE",
'FreeBSD 8.0-RELEASE and Ports',
"$manLocalDir/FreeBSD-8.0-RELEASE/man:$manLocalDir/FreeBSD-8.0-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports-8.0-RELEASE",
'FreeBSD 7.4-RELEASE and Ports',
"$manLocalDir/FreeBSD-7.4-RELEASE/man:$manLocalDir/FreeBSD-7.4-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports-7.4-RELEASE",
'FreeBSD 7.3-RELEASE and Ports',
"$manLocalDir/FreeBSD-7.3-RELEASE/man:$manLocalDir/FreeBSD-7.3-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports-7.3-RELEASE",
'FreeBSD 6.4-RELEASE and Ports',
"$manLocalDir/FreeBSD-6.4-RELEASE/man:$manLocalDir/FreeBSD-6.4-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports-6.2-RELEASE",
'FreeBSD Ports', "$manLocalDir/FreeBSD-ports",
- 'FreeBSD 9-current',
-"$manLocalDir/FreeBSD-9-current/man:$manLocalDir/FreeBSD-9-current/openssl/man",
+ 'FreeBSD 10-current',
+"$manLocalDir/FreeBSD-10-current/man:$manLocalDir/FreeBSD-10-current/openssl/man",
'FreeBSD 9.1-stable',
"$manLocalDir/FreeBSD-9.1-stable/man:$manLocalDir/FreeBSD-9.1-stable/openssl/man",
+ 'FreeBSD 9.2-RELEASE',
+"$manLocalDir/FreeBSD-9.2-RELEASE/man:$manLocalDir/FreeBSD-9.2-RELEASE/openssl/man",
'FreeBSD 9.1-RELEASE',
"$manLocalDir/FreeBSD-9.1-RELEASE/man:$manLocalDir/FreeBSD-9.1-RELEASE/openssl/man",
'FreeBSD 9.0-RELEASE',
"$manLocalDir/FreeBSD-9.0-RELEASE/man:$manLocalDir/FreeBSD-9.0-RELEASE/openssl/man",
'FreeBSD Ports 9.0-RELEASE', "$manLocalDir/FreeBSD-ports-9.0-RELEASE/man:$manLocalDir/FreeBSD-ports-9.0-RELEASE/lib-perl5-perl-5.12.4-man:$manLocalDir/FreeBSD-ports-9.0-RELEASE/misc",
'FreeBSD 8.4-stable',
"$manLocalDir/FreeBSD-8.4-stable/man:$manLocalDir/FreeBSD-8.4-stable/openssl/man",
'FreeBSD 8.4-RELEASE',
"$manLocalDir/FreeBSD-8.4-RELEASE/man:$manLocalDir/FreeBSD-8.4-RELEASE/openssl/man",
'FreeBSD 8.3-RELEASE',
"$manLocalDir/FreeBSD-8.3-RELEASE/man:$manLocalDir/FreeBSD-8.3-RELEASE/openssl/man",
'FreeBSD 8.2-RELEASE',
"$manLocalDir/FreeBSD-8.2-RELEASE/man:$manLocalDir/FreeBSD-8.2-RELEASE/openssl/man",
'FreeBSD Ports 8.2-RELEASE', "$manLocalDir/FreeBSD-ports-8.2-RELEASE",
'FreeBSD 8.1-RELEASE',
"$manLocalDir/FreeBSD-8.1-RELEASE/man:$manLocalDir/FreeBSD-8.1-RELEASE/openssl/man",
'FreeBSD 8.0-RELEASE',
"$manLocalDir/FreeBSD-8.0-RELEASE/man:$manLocalDir/FreeBSD-8.0-RELEASE/openssl/man",
'FreeBSD Ports 8.1-RELEASE', "$manLocalDir/FreeBSD-ports-8.1-RELEASE",
'FreeBSD Ports 8.0-RELEASE', "$manLocalDir/FreeBSD-ports-8.0-RELEASE",
'FreeBSD 7.4-stable',
"$manLocalDir/FreeBSD-7.4-RELEASE/man:$manLocalDir/FreeBSD-7.4-RELEASE/openssl/man",
'FreeBSD 7.4-RELEASE',
"$manLocalDir/FreeBSD-7.4-RELEASE/man:$manLocalDir/FreeBSD-7.4-RELEASE/openssl/man",
'FreeBSD Ports 7.4-RELEASE', "$manLocalDir/FreeBSD-ports-7.4-RELEASE",
'FreeBSD 7.3-RELEASE',
"$manLocalDir/FreeBSD-7.3-RELEASE/man:$manLocalDir/FreeBSD-7.3-RELEASE/openssl/man",
'FreeBSD Ports 7.3-RELEASE', "$manLocalDir/FreeBSD-ports-7.3-RELEASE",
'FreeBSD 7.2-RELEASE',
"$manLocalDir/FreeBSD-7.2-RELEASE/man:$manLocalDir/FreeBSD-7.2-RELEASE/openssl/man",
'FreeBSD 7.1-RELEASE',
"$manLocalDir/FreeBSD-7.1-RELEASE/man:$manLocalDir/FreeBSD-7.1-RELEASE/openssl/man",
'FreeBSD Ports 7.1-RELEASE', "$manLocalDir/FreeBSD-ports-7.1-RELEASE",
'FreeBSD 7.0-RELEASE',
"$manLocalDir/FreeBSD-7.0-RELEASE/man:$manLocalDir/FreeBSD-7.0-RELEASE/openssl/man",
'FreeBSD Ports 7.0-RELEASE', "$manLocalDir/FreeBSD-ports-7.0-RELEASE",
'FreeBSD 6.4-stable', "$manLocalDir/FreeBSD-6.4-stable",
'FreeBSD 6.4-RELEASE',
"$manLocalDir/FreeBSD-6.4-RELEASE/man:$manLocalDir/FreeBSD-6.4-RELEASE/openssl/man",
'FreeBSD 6.3-RELEASE',
"$manLocalDir/FreeBSD-6.3-RELEASE/man:$manLocalDir/FreeBSD-6.3-RELEASE/openssl/man",
'FreeBSD 6.2-RELEASE',
"$manLocalDir/FreeBSD-6.2-RELEASE/man:$manLocalDir/FreeBSD-6.2-RELEASE/openssl/man",
'FreeBSD Ports 6.2-RELEASE', "$manLocalDir/FreeBSD-ports-6.2-RELEASE",
'FreeBSD 6.1-RELEASE',
"$manLocalDir/FreeBSD-6.1-RELEASE/man:$manLocalDir/FreeBSD-6.1-RELEASE/openssl/man",
'FreeBSD 6.0-RELEASE',
"$manLocalDir/FreeBSD-6.0-RELEASE/man:$manLocalDir/FreeBSD-6.0-RELEASE/openssl/man",
'FreeBSD 5.5-RELEASE',
"$manLocalDir/FreeBSD-5.5-RELEASE/man:$manLocalDir/FreeBSD-5.5-RELEASE/openssl/man",
'FreeBSD Ports 5.1-RELEASE', "$manLocalDir/FreeBSD-ports-5.1-RELEASE",
'FreeBSD 5.4-RELEASE',
"$manLocalDir/FreeBSD-5.4-RELEASE/man:$manLocalDir/FreeBSD-5.4-RELEASE/openssl/man",
'FreeBSD 5.3-RELEASE',
"$manLocalDir/FreeBSD-5.3-RELEASE/man:$manLocalDir/FreeBSD-5.3-RELEASE/openssl/man",
'FreeBSD 5.2.1-RELEASE',
"$manLocalDir/FreeBSD-5.2-RELEASE/man:$manLocalDir/FreeBSD-5.2-RELEASE/openssl/man",
'FreeBSD 5.2-RELEASE',
"$manLocalDir/FreeBSD-5.2-RELEASE/man:$manLocalDir/FreeBSD-5.2-RELEASE/openssl/man",
'FreeBSD 5.1-RELEASE',
"$manLocalDir/FreeBSD-5.1-RELEASE/man:$manLocalDir/FreeBSD-5.1-RELEASE/openssl/man",
'FreeBSD 5.0-RELEASE', "$manLocalDir/FreeBSD-5.0-RELEASE",
'FreeBSD 4.11-RELEASE',
"$manLocalDir/FreeBSD-4.11-RELEASE/man:$manLocalDir/FreeBSD-4.11-RELEASE/openssl/man:$manLocalDir/FreeBSD-4.11-RELEASE/perl/man",
'FreeBSD Ports 4.7-RELEASE', "$manLocalDir/FreeBSD-ports-4.7-RELEASE",
'FreeBSD 4.10-RELEASE',
"$manLocalDir/FreeBSD-4.10-RELEASE/man:$manLocalDir/FreeBSD-4.10-RELEASE/openssl/man:$manLocalDir/FreeBSD-4.10-RELEASE/perl/man",
'FreeBSD 4.9-RELEASE', "$manLocalDir/FreeBSD-4.9-RELEASE",
'FreeBSD 4.8-RELEASE', "$manLocalDir/FreeBSD-4.8-RELEASE",
'FreeBSD 4.7-RELEASE', "$manLocalDir/FreeBSD-4.7-RELEASE",
'FreeBSD 4.6.2-RELEASE', "$manLocalDir/FreeBSD-4.6.2-RELEASE",
'FreeBSD 4.6-RELEASE', "$manLocalDir/FreeBSD-4.6-RELEASE",
'FreeBSD 4.5-RELEASE', "$manLocalDir/FreeBSD-4.5-RELEASE",
'FreeBSD 4.4-RELEASE', "$manLocalDir/FreeBSD-4.4-RELEASE",
'FreeBSD 4.3-RELEASE', "$manLocalDir/FreeBSD-4.3-RELEASE",
'FreeBSD 4.2-RELEASE', "$manLocalDir/FreeBSD-4.2-RELEASE",
'FreeBSD 4.1.1-RELEASE', "$manLocalDir/FreeBSD-4.1.1-RELEASE",
'FreeBSD 4.1-RELEASE', "$manLocalDir/FreeBSD-4.1-RELEASE",
'FreeBSD 4.0-RELEASE', "$manLocalDir/FreeBSD-4.0-RELEASE",
'FreeBSD 3.5.1-RELEASE', "$manLocalDir/FreeBSD-3.5.1-RELEASE",
'FreeBSD 3.4-RELEASE', "$manLocalDir/FreeBSD-3.4-RELEASE",
'FreeBSD 3.3-RELEASE', "$manLocalDir/FreeBSD-3.3-RELEASE",
'FreeBSD 3.2-RELEASE', "$manLocalDir/FreeBSD-3.2-RELEASE",
'FreeBSD 3.1-RELEASE', "$manLocalDir/FreeBSD-3.1-RELEASE",
'FreeBSD 3.0-RELEASE', "$manLocalDir/FreeBSD-3.0-RELEASE",
'FreeBSD 2.2.5-RELEASE', "$manLocalDir/FreeBSD-2.2.5-RELEASE",
'FreeBSD 2.2.6-RELEASE', "$manLocalDir/FreeBSD-2.2.6-RELEASE",
'FreeBSD 2.2.7-RELEASE', "$manLocalDir/FreeBSD-2.2.7-RELEASE",
'FreeBSD 2.2.8-RELEASE', "$manLocalDir/FreeBSD-2.2.8-RELEASE",
'FreeBSD 2.2.2-RELEASE', "$manLocalDir/FreeBSD-2.2.2-RELEASE",
'FreeBSD 2.2.1-RELEASE', "$manLocalDir/FreeBSD-2.2.1-RELEASE",
'FreeBSD 2.1.7.1-RELEASE', "$manLocalDir/FreeBSD-2.1.7.1-RELEASE",
'FreeBSD 2.1.6.1-RELEASE', "$manLocalDir/FreeBSD-2.1.6.1-RELEASE",
'FreeBSD 2.1.5-RELEASE', "$manLocalDir/FreeBSD-2.1.5-RELEASE",
'FreeBSD 2.1.0-RELEASE', "$manLocalDir/FreeBSD-2.1.0-RELEASE",
'FreeBSD 2.0.5-RELEASE', "$manLocalDir/FreeBSD-2.0.5-RELEASE",
'FreeBSD 2.0-RELEASE', "$manLocalDir/FreeBSD-2.0-RELEASE",
'FreeBSD 1.1.5.1-RELEASE', "$manLocalDir/FreeBSD-1.1.5.1-RELEASE",
'FreeBSD 1.1-RELEASE', "$manLocalDir/FreeBSD-1.1-RELEASE",
'FreeBSD 1.0-RELEASE', "$manLocalDir/FreeBSD-1.0-RELEASE",
'OpenBSD 2.0', "$manLocalDir/OpenBSD-2.0",
'OpenBSD 2.1', "$manLocalDir/OpenBSD-2.1",
'OpenBSD 2.2', "$manLocalDir/OpenBSD-2.2",
'OpenBSD 2.3', "$manLocalDir/OpenBSD-2.3",
'OpenBSD 2.4', "$manLocalDir/OpenBSD-2.4",
'OpenBSD 2.5', "$manLocalDir/OpenBSD-2.5",
'OpenBSD 2.6', "$manLocalDir/OpenBSD-2.6",
'OpenBSD 2.7', "$manLocalDir/OpenBSD-2.7",
'OpenBSD 2.8', "$manLocalDir/OpenBSD-2.8",
'OpenBSD 2.9', "$manLocalDir/OpenBSD-2.9",
'OpenBSD 3.0', "$manLocalDir/OpenBSD-3.0",
'OpenBSD 3.1', "$manLocalDir/OpenBSD-3.1",
'OpenBSD 3.2', "$manLocalDir/OpenBSD-3.2",
'OpenBSD 3.3', "$manLocalDir/OpenBSD-3.3",
'OpenBSD 3.4',
"$manLocalDir/OpenBSD-3.4/share/man:$manLocalDir/OpenBSD-3.4/X11R6/man",
'OpenBSD 3.5',
"$manLocalDir/OpenBSD-3.5/share/man:$manLocalDir/OpenBSD-3.5/X11R6/man",
'OpenBSD 3.6',
"$manLocalDir/OpenBSD-3.6/share/man:$manLocalDir/OpenBSD-3.6/X11R6/man",
'OpenBSD 3.7', "$manLocalDir/OpenBSD-3.7",
'OpenBSD 3.8', "$manLocalDir/OpenBSD-3.8",
'OpenBSD 3.9', "$manLocalDir/OpenBSD-3.9",
'OpenBSD 4.0', "$manLocalDir/OpenBSD-4.0",
'OpenBSD 4.1', "$manLocalDir/OpenBSD-4.1",
'OpenBSD 4.2', "$manLocalDir/OpenBSD-4.2",
'OpenBSD 4.3', "$manLocalDir/OpenBSD-4.3",
'OpenBSD 4.4', "$manLocalDir/OpenBSD-4.4",
'OpenBSD 4.5', "$manLocalDir/OpenBSD-4.5",
'OpenBSD 4.6', "$manLocalDir/OpenBSD-4.6",
'OpenBSD 4.7', "$manLocalDir/OpenBSD-4.7",
'OpenBSD 4.8', "$manLocalDir/OpenBSD-4.8",
'OpenBSD 4.9', "$manLocalDir/OpenBSD-4.9",
'OpenBSD 5.0', "$manLocalDir/OpenBSD-5.0",
'OpenBSD 5.1', "$manLocalDir/OpenBSD-5.1",
'OpenBSD 5.2', "$manLocalDir/OpenBSD-5.2",
'OpenBSD 5.3', "$manLocalDir/OpenBSD-5.3",
#'NetBSD 0.9', "$manLocalDir/NetBSD-0.9",
'NetBSD 1.0', "$manLocalDir/NetBSD-1.0",
'NetBSD 1.1', "$manLocalDir/NetBSD-1.1",
'NetBSD 1.2', "$manLocalDir/NetBSD-1.2",
'NetBSD 1.2.1', "$manLocalDir/NetBSD-1.2.1",
'NetBSD 1.3', "$manLocalDir/NetBSD-1.3",
'NetBSD 1.3.1', "$manLocalDir/NetBSD-1.3.1",
'NetBSD 1.3.2', "$manLocalDir/NetBSD-1.3.2",
'NetBSD 1.3.3', "$manLocalDir/NetBSD-1.3.3",
'NetBSD 1.4', "$manLocalDir/NetBSD-1.4",
'NetBSD 1.4.1', "$manLocalDir/NetBSD-1.4.1",
'NetBSD 1.4.2', "$manLocalDir/NetBSD-1.4.2",
'NetBSD 1.4.3', "$manLocalDir/NetBSD-1.4.3",
'NetBSD 1.5', "$manLocalDir/NetBSD-1.5",
'NetBSD 1.5.1', "$manLocalDir/NetBSD-1.5.1",
'NetBSD 1.5.2', "$manLocalDir/NetBSD-1.5.2",
'NetBSD 1.5.3', "$manLocalDir/NetBSD-1.5.3",
'NetBSD 1.6', "$manLocalDir/NetBSD-1.6",
'NetBSD 1.6.1', "$manLocalDir/NetBSD-1.6.1",
'NetBSD 1.6.2', "$manLocalDir/NetBSD-1.6.2",
'NetBSD 2.0', "$manLocalDir/NetBSD-2.0",
'NetBSD 2.0.2', "$manLocalDir/NetBSD-2.0.2",
'NetBSD 2.1', "$manLocalDir/NetBSD-2.1",
'NetBSD 3.0', "$manLocalDir/NetBSD-3.0",
'NetBSD 3.1', "$manLocalDir/NetBSD-3.1",
'NetBSD 4.0', "$manLocalDir/NetBSD-4.0",
'NetBSD 4.0.1', "$manLocalDir/NetBSD-4.0.1",
'NetBSD 5.0', "$manLocalDir/NetBSD-5.0",
'NetBSD 5.1', "$manLocalDir/NetBSD-5.1",
'NetBSD 6.0', "$manLocalDir/NetBSD-6.0",
'2.8 BSD', "$manLocalDir/2.8BSD",
'2.9.1 BSD', "$manLocalDir/2.9.1BSD",
'2.10 BSD', "$manLocalDir/2.10BSD",
'2.11 BSD', "$manLocalDir/2.11BSD",
'386BSD 0.0', "$manLocalDir/386BSD-0.0",
'386BSD 0.1', "$manLocalDir/386BSD-0.1",
'4.3BSD Reno', "$manLocalDir/4.3BSD-Reno",
'4.3BSD NET/2', "$manLocalDir/net2",
'4.4BSD Lite2', "$manLocalDir/4.4BSD-Lite2",
'Linux Slackware 3.1', "$manLocalDir/Slackware-3.1",
'Red Hat Linux/i386 4.2', "$manLocalDir/RedHat-4.2",
'Red Hat Linux/i386 5.0', "$manLocalDir/RedHat-5.0",
'Red Hat Linux/i386 5.2', "$manLocalDir/RedHat-5.2-i386",
'Red Hat Linux/i386 6.1', "$manLocalDir/RedHat-6.1-i386",
'Red Hat Linux/i386 6.2', "$manLocalDir/RedHat-6.2-i386",
'Red Hat Linux/i386 7.0', "$manLocalDir/RedHat-7.0-i386",
'Red Hat Linux/i386 7.1', "$manLocalDir/RedHat-7.1-i386",
'Red Hat Linux/i386 7.2', "$manLocalDir/RedHat-7.2-i386",
'Red Hat Linux/i386 7.3', "$manLocalDir/RedHat-7.3-i386",
'Red Hat Linux/i386 8.0', "$manLocalDir/RedHat-8.0-i386",
'Red Hat Linux/i386 9', "$manLocalDir/RedHat-9-i386",
'CentOS Linux/i386 3.9', "$manLocalDir/CentOS-3.9",
'CentOS Linux/i386 4.8', "$manLocalDir/CentOS-4.8",
'CentOS Linux/i386 5.4', "$manLocalDir/CentOS-5.4",
'CentOS Linux/i386 5.5', "$manLocalDir/CentOS-5.5",
'CentOS Linux/amd64 5.6', "$manLocalDir/CentOS-5.6",
'CentOS Linux/amd64 5.7', "$manLocalDir/CentOS-5.7",
'CentOS Linux/amd64 5.8', "$manLocalDir/CentOS-5.8",
'CentOS Linux/amd64 6.0', "$manLocalDir/CentOS-6.0",
'CentOS Linux/amd64 6.1', "$manLocalDir/CentOS-6.1",
'CentOS Linux/amd64 6.2', "$manLocalDir/CentOS-6.2",
'CentOS Linux/amd64 6.3', "$manLocalDir/CentOS-6.3",
'SuSE Linux/i386 4.3', "$manLocalDir/SuSE-4.3-i386",
'SuSE Linux/i386 5.0', "$manLocalDir/SuSE-5.0-i386",
'SuSE Linux/i386 5.2', "$manLocalDir/SuSE-5.2-i386",
'SuSE Linux/i386 5.3', "$manLocalDir/SuSE-5.3-i386",
'SuSE Linux/i386 6.0', "$manLocalDir/SuSE-6.0-i386",
'SuSE Linux/i386 6.1', "$manLocalDir/SuSE-6.1-i386",
'SuSE Linux/i386 6.3', "$manLocalDir/SuSE-6.3-i386",
'SuSE Linux/i386 6.4', "$manLocalDir/SuSE-6.4-i386",
'SuSE Linux/i386 7.0', "$manLocalDir/SuSE-7.0-i386",
'SuSE Linux/i386 7.1', "$manLocalDir/SuSE-7.1-i386",
'SuSE Linux/i386 7.2', "$manLocalDir/SuSE-7.2-i386",
'SuSE Linux/i386 7.3', "$manLocalDir/SuSE-7.3-i386",
'SuSE Linux/i386 8.0', "$manLocalDir/SuSE-8.0-i386",
'SuSE Linux/i386 8.1', "$manLocalDir/SuSE-8.1-i386",
'SuSE Linux/i386 8.2', "$manLocalDir/SuSE-8.2-i386",
'SuSE Linux/i386 9.2', "$manLocalDir/SuSE-9.2-i386",
'SuSE Linux/i386 9.3', "$manLocalDir/SuSE-9.3-i386",
'SuSE Linux/i386 10.0', "$manLocalDir/SuSE-10.0",
'SuSE Linux/i386 10.1', "$manLocalDir/SuSE-10.1",
'SuSE Linux/i386 10.2', "$manLocalDir/SuSE-10.2",
'SuSE Linux/i386 10.3', "$manLocalDir/SuSE-10.3",
'SuSE Linux/i386 11.0', "$manLocalDir/SuSE-11.0",
'SuSE Linux/i386 11.1', "$manLocalDir/SuSE-11.1",
'SuSE Linux/i386 11.2', "$manLocalDir/SuSE-11.2",
'SuSE Linux/i386 11.3', "$manLocalDir/SuSE-11.3",
'SuSE Linux/i386 ES 10 SP1', "$manLocalDir/SLES-10-SP1-i386",
'HP-UX 11.22', "$manLocalDir/HP-UX-11.22",
'HP-UX 11.20', "$manLocalDir/HP-UX-11.20",
'HP-UX 11.11', "$manLocalDir/HP-UX-11.11",
'HP-UX 11.00', "$manLocalDir/HP-UX-11.00",
'HP-UX 10.20', "$manLocalDir/HP-UX-10.20",
'HP-UX 10.10', "$manLocalDir/HP-UX-10.10",
'HP-UX 10.01', "$manLocalDir/HP-UX-10.01",
'SunOS 5.10', "$manLocalDir/SunOS-5.10",
'SunOS 5.9', "$manLocalDir/SunOS-5.9",
'SunOS 5.8', "$manLocalDir/SunOS-5.8",
'SunOS 5.7', "$manLocalDir/SunOS-5.7",
'SunOS 5.6', "$manLocalDir/SunOS-5.6",
'SunOS 5.5.1', "$manLocalDir/SunOS-5.5.1",
'SunOS 4.1.3', "$manLocalDir/SunOS-4.1.3",
#'XFree86 3.2', "$manLocalDir/XFree86-3.2",
'XFree86 2.1', "$manLocalDir/XFree86-2.1",
'XFree86 3.3', "$manLocalDir/XFree86-3.3",
'XFree86 3.3.6', "$manLocalDir/XFree86-3.3.6",
'XFree86 4.0', "$manLocalDir/XFree86-4.0",
'XFree86 4.0.1', "$manLocalDir/XFree86-4.0.1",
'XFree86 4.0.2', "$manLocalDir/XFree86-4.0.2",
'XFree86 4.1.0', "$manLocalDir/XFree86-4.1.0",
'XFree86 4.2.0', "$manLocalDir/XFree86-4.2.0",
'XFree86 4.2.99.3', "$manLocalDir/XFree86-4.2.99.3",
'XFree86 4.3.0', "$manLocalDir/XFree86-4.3.0",
'XFree86 4.4.0', "$manLocalDir/XFree86-4.4.0",
'XFree86 4.5.0', "$manLocalDir/XFree86-4.5.0",
'XFree86 4.6.0', "$manLocalDir/XFree86-4.6.0",
'XFree86 4.7.0', "$manLocalDir/XFree86-4.7.0",
'X11R6.7.0', "$manLocalDir/X11R6.7.0",
'X11R6.8.2', "$manLocalDir/X11R6.8.2",
'X11R6.9.0', "$manLocalDir/X11R6.9.0",
'X11R7.2', "$manLocalDir/X11R7.2",
'X11R7.3.2', "$manLocalDir/X11R7.3.2",
'X11R7.4', "$manLocalDir/X11R7.4",
'ULTRIX 4.2', "$manLocalDir/ULTRIX-4.2",
'OSF1 V4.0/alpha', "$manLocalDir/OSF1-V4.0-alpha",
'OSF1 V5.1/alpha', "$manLocalDir/OSF1-V5.1-alpha",
'Plan 9', "$manLocalDir/plan9",
'Minix 2.0', "$manLocalDir/Minix-2.0",
'Unix Seventh Edition', "$manLocalDir/v7man",
"Darwin 1.3.1/x86", "$manLocalDir/Darwin-1.3.1-x86",
"Darwin 1.4.1/x86", "$manLocalDir/Darwin-1.4.1-x86",
"Darwin 6.0.2/x86", "$manLocalDir/Darwin-6.0.2-x86",
"Darwin 7.0.1", "$manLocalDir/Darwin-7.0.1",
"Darwin 8.0.1/ppc", "$manLocalDir/Darwin-8.0.1-ppc",
"OpenDarwin 20030208pre4/ppc", "$manLocalDir/OpenDarwin-20030208pre4-ppc",
"OpenDarwin 6.6.1/x86", "$manLocalDir/OpenDarwin-6.6.1-x86",
"OpenDarwin 6.6.2/x86", "$manLocalDir/OpenDarwin-6.6.2-x86",
"OpenDarwin 7.2.1", "$manLocalDir/OpenDarwin-7.2.1",
);
my @no_pdf_output = (
'386BSD 0.0',
'386BSD 0.1',
'4.4BSD Lite2',
'NetBSD 0.9',
'NetBSD 1.0',
'NetBSD 1.1',
'NetBSD 1.2',
'NetBSD 1.2.1',
'OpenBSD 2.0',
'OpenBSD 2.1',
'OpenBSD 2.2',
'OpenBSD 2.3',
'OpenBSD 2.4',
'OpenBSD 2.5',
'OpenBSD 2.6',
'OpenBSD 2.7',
'OpenBSD 2.8',
'OpenBSD 2.9',
'OpenBSD 3.0',
'OpenBSD 3.1',
'OpenBSD 3.2',
'OpenBSD 3.3',
'OpenBSD 3.4',
'OpenBSD 3.5',
'OpenBSD 3.6',
'OpenBSD 3.7',
'OpenBSD 3.8',
'OpenBSD 3.9',
'OpenBSD 4.0',
'OpenBSD 4.1',
'OpenBSD 4.2',
'OpenBSD 4.3',
'OpenBSD 4.4',
'OpenBSD 4.5',
'OpenBSD 4.6',
'OpenBSD 4.7',
'OpenBSD 4.8',
'OpenBSD 4.9',
);
my %no_pdf_output = map { $_ => 1 } @no_pdf_output;
my %valid_arch = map { $_ => 1 }
qw/acorn26 acorn32 algor alpha amd64 amiga arc arm arm26 arm32 armish atari aviion bebox cats cesfic cobalt dreamcast evbarm evbmips evbppc evbsh3 evbsh5 hp300 hp700 hpcarm hpcmips hpcsh hppa hppa64 i386 ibmnws landisk loongson luna68k luna88k mac68k macppc mipsco mmeye mvme68k mvme88k mvmeppc netwinder news68k newsmips next68k ofppc palm pc532 pegasos playstation2 pmax pmppc powerpc prep sandpoint sbmips sgi sgimips shark socppc sparc sparc64 sun2 sun3 sun3x tahoe vax walnut wgrisc x68k zaurus/;
my $default_arch = 'i386';
my %arch = (
+'FreeBSD 9.2-RELEASE' => { 'default' => 'i386', 'arch' => [qw/amd64 arm i386 powerpc sparc64/] } ,
'FreeBSD 9.1-RELEASE' => { 'default' => 'i386', 'arch' => [qw/amd64 arm i386 powerpc sparc64/] } ,
'FreeBSD 9.0-RELEASE' => { 'default' => 'i386', 'arch' => [qw/amd64 arm i386 powerpc sparc64/] } ,
'FreeBSD 8.3-RELEASE' => { 'default' => 'i386', 'arch' => [qw/amd64 arm i386 powerpc sparc64/] } ,
'FreeBSD 8.2-RELEASE' => { 'default' => 'i386', 'arch' => [qw/amd64 arm i386 powerpc sparc64/] } ,
'NetBSD 5.1' => { 'arch' => [qw/acorn26 acorn32 alpha amiga arc atari cobalt dreamcast evbarm evbmips evbppc hp300 hp700 hpcarm hpcmips hpcsh i386 mac68k macppc mvme68k pmax prep sgimips sparc sparc64 sun2 sun3 vax x68k/] } ,
'NetBSD 6.0' => { 'arch' => [qw/acorn26 acorn32 alpha amiga arc atari cobalt dreamcast evbarm evbmips evbppc hp300 hp700 hpcarm hpcmips hpcsh i386 mac68k macppc mvme68k pmax prep sgimips sparc sparc64 sun2 sun3 vax x68k/] } ,
'OpenBSD 4.7' => { 'arch' => [qw/alpha amd64 armish aviion hp300 hppa hppa64 i386 landisk loongson luna88k mac68k macppc mvme68k mvme88k mvmeppc palm sgi socppc sparc sparc64 vax zaurus/] },
'OpenBSD 4.8' => { 'arch' => [qw/alpha amd64 armish aviion hp300 hppa hppa64 i386 landisk loongson luna88k mac68k macppc mvme68k mvme88k mvmeppc palm sgi socppc sparc sparc64 vax zaurus/] },
'OpenBSD 4.9' => { 'arch' => [qw/alpha amd64 armish aviion hp300 hppa hppa64 i386 landisk loongson luna88k mac68k macppc mvme68k mvme88k mvmeppc palm sgi socppc sparc sparc64 vax zaurus/] },
'OpenBSD 5.0' => { 'arch' => [qw/alpha amd64 armish aviion hp300 hppa hppa64 i386 landisk loongson luna88k mac68k macppc mvme68k mvme88k mvmeppc palm sgi socppc sparc sparc64 vax zaurus/] },
'OpenBSD 5.1' => { 'arch' => [qw/alpha amd64 armish aviion hp300 hppa hppa64 i386 landisk loongson luna88k mac68k macppc mvme68k mvme88k mvmeppc palm sgi socppc sparc sparc64 vax zaurus/] },
'OpenBSD 5.2' => { 'arch' => [qw/alpha amd64 armish aviion hp300 hppa hppa64 i386 landisk loongson luna88k mac68k macppc mvme68k mvme88k mvmeppc palm sgi socppc sparc sparc64 vax zaurus/] },
'OpenBSD 5.3' => { 'arch' => [qw/alpha amd64 armish aviion hp300 hppa hppa64 i386 landisk loongson luna88k mac68k macppc mvme68k mvme88k mvmeppc palm sgi socppc sparc sparc64 vax zaurus/] },
);
# delete not existing releases
while ( ( $key, $val ) = each %manPath ) {
my $counter = 0;
# if the manpath contains colons, at least one directory must exists
foreach ( split( /:/, $val ) ) {
$counter++ if -d;
}
# give up and delete release
if ( !$counter && $key ne $manPathDefault ) {
delete $manPath{"$key"};
warn qq{man.cgi Remove release "$key"\n} if $debug >= 2;
}
}
# keywords must be in lower cases.
%manPathAliases = (
- 'freebsd', 'FreeBSD 9.1-RELEASE',
- 'freebsd-release', 'FreeBSD 9.1-RELEASE',
+ 'freebsd', 'FreeBSD 9.2-RELEASE',
+ 'freebsd-release', 'FreeBSD 9.2-RELEASE',
'freebsd-stable', 'FreeBSD 9.1-stable',
'freebsd-stable9', 'FreeBSD 9.1-stable',
'freebsd-stable8', 'FreeBSD 8.3-stable',
'freebsd-stable7', 'FreeBSD 7.4-stable',
'freebsd-stable6', 'FreeBSD 6.4-stable',
- 'freebsd-current', 'FreeBSD 9-current',
+ 'freebsd-current', 'FreeBSD 10-current',
'freebsd-release-ports', 'FreeBSD 9.0-RELEASE and Ports',
'slackware', 'Linux Slackware 3.1',
'redhat', 'Red Hat Linux/i386 9',
'centos', 'CentOS Linux/amd64 6.3',
'suse', 'SuSE Linux/i386 11.3',
'linux', 'SuSE Linux/i386 11.3',
'darwin', 'Darwin 8.0.1/ppc',
'opendarwin', 'OpenDarwin 7.2.1',
'macosx', 'Darwin 8.0.1/ppc',
'netbsd', 'NetBSD 6.0',
'openbsd', 'OpenBSD 5.3',
'v7', 'Unix Seventh Edition',
'v7man', 'Unix Seventh Edition',
'x11', 'X11R7.4',
'xfree86', 'XFree86 4.7.0',
'ultrix', 'ULTRIX 4.2',
'hpux', 'HP-UX 11.22',
'solaris', 'SunOS 5.10',
'sunos5', 'SunOS 5.10',
'sunos4', 'SunOS 4.1.3',
'sunos', 'SunOS 4.1.3',
'freebsd ports', 'FreeBSD Ports',
'ports', 'FreeBSD Ports',
'plan9', 'Plan 9',
'osf1', 'OSF1 V5.1/alpha',
'true64', 'OSF1 V5.1/alpha',
);
#
# sort by OS release number
#
# e.g.:
#
# XFree86 2.1
# XFree86 3.3
# XFree86 3.3.6
# XFree86 4.0
# ...
# XFree86 10.0
# XFree86 10.0.1
# XFree86 11
#
sub sort_versions {
my @a = ( lc($a) =~ /(\d+|\D+)/g );
my @b = ( lc($b) =~ /(\d+|\D+)/g );
my $flag = 0;
while ( @a and @b ) {
my $a1 = shift @a;
my $b1 = shift @b;
# sort numerically if possible
if ( $a1 =~ /^\d+$/ && $b1 =~ /^\d+$/ ) {
return $a1 <=> $b1 if $a1 <=> $b1;
$flag++;
}
# sort by characters
else {
# minor number and characters
# 4.1 RELEASE <=> 4.1.1 RELEASE
if ( $flag && ( $a1 =~ /^\d+$/ || $b1 =~ /^\d+$/ ) ) {
return $a1 =~ /^\d+$/ ? 1 : -1;
}
# characters only
return $a1 cmp $b1 if $a1 cmp $b1;
$flag = 0;
}
}
# longest version string wins
return @a <=> @b;
}
foreach ( sort { &sort_versions } keys %manPathAliases ) {
# delete non-existing aliases
if ( !defined( $manPath{ $manPathAliases{$_} } ) ) {
undef $manPathAliases{$_};
next;
}
# add aliases, replases spaces with dashes
if (/\s/) {
local ($key) = $_;
$key =~ s/\s+/-/g;
$manPathAliases{$key} = $manPathAliases{$_};
}
}
@sections = keys %sections;
shift @sections; # all but the "" entry
$sections = join( "|", @sections ); # sections regexp
# mailto - Author
# webmaster - who run this service
$mailto = 'wosch@FreeBSD.org';
$mailtoURL = 'http://wolfram.schneider.org';
$mailtoURL = "mailto:$mailto" if !$mailtoURL;
$full_url = 'http://www.freebsd.org/cgi/man.cgi';
$want_to_link_to_this_page = 1;
&secure_env;
# CGI Interface -- runs at load time
&do_man( &env('SCRIPT_NAME'), &env('PATH_INFO'), &env('QUERY_STRING') )
unless defined($main'plexus_configured);
$enable_include_links = 0;
$enable_mailto_links = 0;
#
# end of config
#######################################################################################
sub html_footer {
my %args = @_;
print
qq{<a href="$BASE?manpath=$m">home</a> | <a href="$BASE/help.html">help</a> \n}
if !$args{'no_home_link'};
if (cgi_style::HAS_FREEBSD_CGI_STYLE) {
print q{<hr noshade="noshade" />};
print &cgi_style::html_footer;
}
else {
print "</body>\n</html>\n";
}
}
sub html_header {
my ( $title, $base ) = @_;
my $html_meta = q|
<meta name="robots" content="nofollow" />
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
<link rel="search" type="application/opensearchdescription+xml" href="http://www.freebsd.org/search/opensearch/man.xml" title="FreeBSD Manpages" />
<link rel="search" type="application/opensearchdescription+xml" href="http://www.freebsd.org/search/opensearch/man-freebsd-release-ports.xml" title="FreeBSD + Ports Manpages" />
<style type="text/css">
<!--
b { color: #996600; }
i { color: #008000; }
-->
</style>
|;
return &html_header2( $title, $html_meta )
if !cgi_style::HAS_FREEBSD_CGI_STYLE;
( my $header = &cgi_style::short_html_header( $title, 1 ) ) =~
s,<head>,<head>\n$html_meta,s;
$header =~ s,^Content-type:\s+\S+\s+,,s;
$header =~ s,<head>,<head>\n<base href="$base" />,s if $base;
return $header;
}
# Plexus Native Interface
sub do_man {
local ( $BASE, $path, $form ) = @_;
local ( $_, %form, $query, $name, $section, $apropos );
local ($u) = $BASE;
return &faq_output($u) if ( $path =~ /\/(faq|help)\.html$/ );
return &get_the_sources if ( $path =~ /source$/ );
return &include_output($path)
if ( $enable_include_links && $path =~ m%^/usr/include/% && -f $path );
return &indexpage if ( $form eq "" );
&decode_form( $form, *form, 0 );
$format = $form{'format'};
$format = 'html' if $format !~ /^(ps|pdf|ascii|latin1)$/;
$arch = $form{'arch'} || "";
$arch = '' if $arch eq 'none' || $arch eq 'default';
if ( $arch =~ /^([a-zA-Z0-9]+)$/ && $valid_arch{$arch} ) {
$arch = $1;
}
elsif ($arch) {
warn "Unknown arch: '$arch', ignored\n";
$arch = "";
}
else {
$arch = "";
}
# remove trailing spaces for dumb users
$form{'query'} =~ s/\s+$//;
$form{'query'} =~ s/^\s+//;
$name = $query = $form{'query'};
$section = $form{'sektion'};
$apropos = $form{'apropos'};
$alttitle = $form{'title'};
$manpath = $form{'manpath'};
if ( $manpath =~ /^([0-9A-Za-z \.\-\/]+)$/ ) {
$manpath = $1;
}
else {
$manpath = '';
}
if ( !$manpath ) {
$manpath = $manPathDefault;
}
elsif ( !$manPath{$manpath} ) {
local ($m) = ( $manpath =~ y/A-Z/a-z/ );
if ( $manPath{ $manPathAliases{$manpath} } ) {
$manpath = $manPathAliases{$manpath};
}
else {
$manpath = $manPathDefault;
}
}
$format = 'html' if $no_pdf_output{$manpath} && $format =~ /^(ps|pdf)$/;
local ($fform) = &dec($form);
if ( $fform =~ m%^([a-zA-Z_\-\.:]+)$% ) {
return &man( $1, '' );
}
elsif ( $fform =~ m%^([a-zA-Z_\-\.:]+)\(([0-9a-zA-Z]+)\)$% ) {
return &man( $1, $2 );
}
# download a man hierarchy as gzip'd tar file
return &download if ( $apropos > 1 );
# empty query
return &indexpage if ( $manpath && $form !~ /query=/ );
$section = "" if $section eq "ALL" || $section eq '';
if ( !$apropos && $query =~ m/^(.*)\(([^\)]*)\)/ ) {
$name = $1;
$section = $2;
}
if ( $name =~ /^([\w\-:\.]+)$/ ) {
$name = $1;
}
else { $name = ''; }
if ( $section =~ /^([\w\-\.]+)$/ ) {
$section = $1;
}
else { $section = ''; }
$apropos ? &apropos($query) : &man( $name, $section, $arch );
}
# --------------------- support routines ------------------------
sub debug {
&http_header("text/plain");
print @_, "\n----------\n\n\n";
}
sub get_the_sources {
local ($file) = $0;
open( R, $file ) || &mydie("open $file: $!\n");
print "Content-type: text/plain\n\n";
while (<R>) { print }
close R;
exit;
}
# download a manual directory as gzip'd tar archive
sub download {
$| = 1;
my $filename = $manpath;
$filename =~ s/\s+/_/;
$filename = &encode_url($filename);
$filename .= '.tgz';
print qq{Content-type: application/x-tgz\n}
. qq{Content-disposition: attachment; filename="$filename"\n} . "\n";
local (@m);
local ($m) = $manPath{"$manpath"};
foreach ( split( /:/, $m ) ) {
push( @m, $_ . '/' ) if s%^$manLocalDir/?%%;
}
chdir($manLocalDir) || do {
print "chdir: $!\n";
exit(0);
};
$m = join( " ", @m );
sleep 1;
system("find $m -print | cpio -o --format ustar 2>/dev/null | gzip -cqf");
exit(0);
}
sub http_header {
local ( $content_type, $filename ) = @_;
print qq{Content-disposition: inline; filename="$filename"\n}
if $filename;
if ( defined($main'plexus_configured) ) {
&main'MIME_header( 'ok', $content_type );
}
else {
print "Content-type: $content_type\n\n";
}
}
sub env { defined( $main'ENV{ $_[0] } ) ? $main'ENV{ $_[0] } : undef; }
sub apropos {
local ($query) = @_;
local ( $_, $title, $head, *APROPOS );
local ( $names, $section, $msg, $key );
local ($prefix);
$prefix = "Apropos ";
if ($alttitle) {
$prefix = "";
$title = &encode_title($alttitle);
$head = &encode_data($alttitle);
}
else {
$title = &encode_title($query);
$head = &encode_data($query);
}
&http_header("text/html");
print &html_header("Apropos $title");
print "<h1>", $www{'head'}, "</h1>\n\n";
&formquery;
local ($mpath) = $manPath{$manpath};
if ( $debug >= 2 ) {
foreach my $dir ( split( /:/, $mpath ) ) {
my $whatis = $dir . '/whatis';
warn "$manpath: no whatis file found: $whatis\n" if !-f $whatis;
}
}
open( APROPOS, "env MANPATH=$mpath $command{'man'} -k . |" ) || do {
warn "$0: Cannot open whatis database for `$mpath'\n";
print "Cannot open whatis database for `$mpath'\n";
print "</dl>\n</body>\n</html>\n";
return;
};
local ($q) = $query;
$q =~ s/(\W)/\\W/g;
local ($acounter) = 0;
print qq{<dl>\n};
while (<APROPOS>) {
next if !/$q/oi;
$acounter++;
# matches whatis.db lines: name[, name ...] (sect) - msg
$names = $section = $msg = $key = undef;
( $key, $section ) = m/^([^()]+)\(([^)]*)\)/;
$key =~ s/\s+$//;
$key =~ s/.*\s+//;
( $names, $msg ) = m/^(.*\))\s+-\s+(.*)/;
print "<dt><a href=\"$BASE?query=", &encode_url($key), "&amp;sektion=",
&encode_url($section), "&amp;apropos=0", "&amp;manpath=",
&encode_url($manpath), "\">", &encode_data("$names"),
"</a>\n</dt>\n<dd>", &encode_data($msg), "</dd>\n";
}
print qq{</dl>\n};
close(APROPOS);
if ( !$acounter ) {
print "Sorry, no data found for `$query'.\n";
print qq{You may look for other }
. qq{<a href="../../search/">FreeBSD Search Services</a>.\n};
}
&html_footer;
}
sub to_filename {
my %args = @_;
my $name = exists $args{'name'} ? $args{'name'} : 'manpage';
my $section = exists $args{'section'}
&& $args{'section'} ne "" ? $args{'section'} : '0';
my $format = exists $args{'format'} ? $args{'format'} : 'unkown';
my $filename = qq{$name.$section.$format};
$filename =~ s/[^\w\-\.]/_/g;
$filename =~ s/_+/_/g;
return $filename;
}
sub man {
local ( $name, $section, $arch ) = @_;
local ( $_, $title, $head, *MAN );
local ( $html_name, $html_section, $prefix );
local (@manargs);
local ($query) = $name;
# $section =~ s/^([0-9ln]).*$/$1/;
$section =~ tr/A-Z/a-z/;
$prefix = "Man ";
if ($alttitle) {
$prefix = "";
$title = &encode_title($alttitle);
$head = &encode_data($alttitle);
}
elsif ($section) {
$title = &encode_title("${name}($section)");
$head = &encode_data("${name}($section)");
}
else {
$title = &encode_title("${name}");
$head = &encode_data("${name}");
}
if ( $format eq "html" ) {
&http_header("text/html");
print &html_header("$title");
print "<h1>", $www{'head'}, "</h1>\n\n";
&formquery;
print "<pre>\n";
}
else {
#$format =~ /^(ps|ascii|latin1)$/')
$ENV{'NROFF_FORMAT'} = $format;
# Content-encoding: x-gzip
if ( $format eq "ps" ) {
&http_header(
"application/postscript",
&to_filename(
'name' => $name,
'section' => $section,
'format' => 'ps'
)
);
}
elsif ( $format eq "pdf" ) {
&http_header(
"application/pdf",
&to_filename(
'name' => $name,
'section' => $section,
'format' => 'pdf'
)
);
}
else {
&http_header("text/plain");
}
}
$html_name = &encode_data($name);
$html_section = &encode_data($section);
#print Dumper($sectionpath);
#print "yy $section yy $manpath\n";
if ( $name =~ /^\s*$/ ) {
print "Empty input, no man page given.\n";
return;
}
if ( index( $name, '*' ) != -1 ) {
print "Invalid character input '*': $name\n";
return;
}
if ( $section !~ /^[0-9ln]\w*$/ && $section ne '' ) {
print "Sorry, section `$section' is not valid\n";
return;
}
if ( !$section ) {
if ( $sectionpath->{$manpath} ) {
$section = "-S " . $sectionpath->{$manpath}{'path'};
}
else {
$section = '';
}
}
else {
if ( $sectionpath->{$manpath}{$section} ) {
$section = "-S " . $sectionpath->{$manpath}{$section};
}
else {
my $s = substr( $section, 0, 1 );
# create a colon separated list of sections
$section = "-S $section" . ( $s ne $section ? ":$s" : '' );
}
}
@manargs = split( / /, $section );
if ($manpath) {
if ( $manPath{$manpath} ) {
unshift( @manargs, ( '-M', $manPath{$manpath} ) );
&groff_path( $manPath{$manpath} );
}
elsif ( $manpath{ &dec($manpath) } ) {
unshift( @manargs, ( '-M', $manPath{ &dec($manpath) } ) );
&groff_path( $manPath{ &dec($manpath) } );
}
else {
# unset invalid manpath
print "x $manpath x\n";
print "x " . &dec($manpath) . "x\n";
undef $manpath;
}
}
if ( $format =~ /^(ps|pdf)$/ ) {
push( @manargs, '-t' );
}
warn "X $command{'man'} @manargs -- x $name x\n" if $debug >= 3;
push( @manargs, ( "-m", $arch ) ) if $arch;
&proc( *MAN, $command{'man'}, @manargs, "--", $name )
|| &mydie("$0: open of $command{'man'} command failed: $!\n");
if ( eof(MAN) ) {
# print "X $command{'man'} @manargs -- x $name x\n";
print qq{</pre>\n};
print "Sorry, no data found for `<i>$html_name</i>"
. ( $html_section ? "($html_section)" : '' ) . "'.\n";
print
qq{Please try a <a href="$BASE?apropos=1&amp;manpath=freebsd-release-ports&amp;query=$html_name">keyword search</a>.\n};
print qq{<p>You may look for other }
. qq{<a href="../../search/">FreeBSD Search Services</a>.</p>\n};
&html_footer;
return;
}
if ( $format ne "html" ) {
if ( $format eq "latin1" || $format eq "ascii" ) {
while (<MAN>) { s/.//g; print; }
}
elsif ( $format eq "pdf" ) {
#
# run a PostScript to PDF converter
#
local (@args) = ( 'mktemp', '/tmp/_man.cgi-ps2pdf-XXXXXXXXXXXX' );
open( TMP, "-|" )
or exec(@args)
or die "open @args: $!\n";
local ($tempfile) = <TMP>;
close TMP;
# chomp, avoid security warnings using -T switch
#chop($tempfile);
if ( $tempfile =~ /(\S+)/ ) {
$tempfile = $1;
}
if ( !$tempfile || !-f $tempfile ) {
die "Cannot create tempfile: $tempfile\n";
}
#warn $tempfile;
#$tempfile = '/tmp/bla2';
open( TMP, "> $tempfile" ) or die "open $tempfile: $!\n";
while (<MAN>) {
print TMP $_;
}
close TMP;
local ( $ENV{'PATH'} ) = '/bin:/usr/bin:/usr/local/bin';
open( PDF, "-|" )
or exec( '/usr/local/bin/ps2pdf', $tempfile, '/dev/stdout' )
or die "open ps2pdf: $!\n";
# sleep and delete the temp file
#select(undef, undef, undef, 0.8);
#unlink($tempfile);
while (<PDF>) {
print;
}
close PDF;
unlink($tempfile);
}
else {
while (<MAN>) { print; }
}
close(MAN);
exit(0);
}
local ($space) = 1;
local (@sect);
local ( $i, $j );
while (<MAN>) {
# remove tailing white space
if (/^\s+$/) {
next if $space;
$space = 1;
}
else {
$space = 0;
}
$_ = &encode_data($_);
if ( $enable_include_links
&& m,(<b>)?\#include(</b>)?\s+(<b>)?\&lt\;(.*\.h)\&gt\;(</b>)?, )
{
$match = $4;
( $regexp = $match ) =~ s/\./\\\./;
s,$regexp,\<a href=\"$BASE/usr/include/$match\"\>$match\</A\>,;
}
/^\s/ && # skip headers
s,((<[IB]>)?[\w\_\.\-]+\s*(</[IB]>)?\s*\(([1-9ln][a-zA-Z]*)\)),&mlnk($1),oige;
# detect E-Mail Addreses in manpages
if ( $enable_mailto_links && /\@/ ) {
s/([a-z0-9_\-\.]+\@[a-z0-9\-\.]+\.[a-z]+)/<a href="mailto:$1">$1<\/A>/gi;
}
# detect URLs in manpages
if (m%tp://%) {
s,((ftp|http)://[^\s<>\)]+),<a href="$1">$1</a>,gi;
}
if (s%^(<b>.*?</b>)+\n?$% ($str = $1) =~ s,(<b>|</b>),,g; $str%ge) {
$i = $_;
$j = &encode_url($i);
$j =~ s/\+/_/g;
$_ = qq{<a name="$j" href="#end"><b>$i</b></a>\n};
push( @sect, $i );
}
print;
}
close(MAN);
print qq{</pre>\n<a name="end" />\n<hr />\n};
for ( $i = 0 ; $i <= $#sect ; $i++ ) {
$j = &encode_url( $sect[$i] );
$j =~ s/\+/_/g;
print qq{<a href="#$j}
. qq{">$sect[$i]</a>}
. ( $i < $#sect ? " |\n" : "\n" );
}
if ($want_to_link_to_this_page) {
my $url = qq{$full_url?query=$html_name};
$url .= qq{&amp;sektion=$html_section} if $html_section != 0;
$url .= qq{&amp;manpath=} . &encode_url($manpath);
print qq{<p align="left">Want to link to this manual page? };
print qq{Use this URL:<br/>&lt;<a href="$url">$url</a>&gt;</p>\n};
}
&html_footer;
# Sleep 0.35 seconds to avoid DoS attacs
select undef, undef, undef, 0.35;
}
#
# You may need to precreate some mdoc.local files for every system you
# support (every collection of man pages), maybe like:
#
# $manLocalDir/NetBSD-1.4.2/tmac
#
# and then in your cgi script itself set the GROFF_TMAC_PATH as appropriate
# like:
#
# GROFF_TMAC_PATH=$manLocalDir/NetBSD-1.4.2/tmac:/usr/share/tmac/
#
sub groff_path {
local $manpath = shift;
local @groff_path;
foreach ( split( /:/, $manpath ) ) {
push( @groff_path, $_ . '/tmac' );
}
$ENV{'GROFF_TMAC_PATH'} = join( ':', @groff_path, '/usr/share/tmac' );
}
sub mlnk {
local ($matched) = @_;
local ( $link, $section );
( $link = $matched ) =~ s/[\s]+//g;
$link =~ s/<\/?[IB]>//ig;
( $link, $section ) = ( $link =~ m/^([^\(]*)\((.*)\)/ );
$link = &encode_url($link);
$section = &encode_url($section);
local ($manpath) = &encode_url($manpath);
return qq{<a href="$BASE?query=$link}
. qq{&amp;sektion=$section&amp;apropos=0&amp;manpath=$manpath">$matched</a>};
}
sub proc {
local ( *FH, $prog, @args ) = @_;
local ($pid) = open( FH, "-|" );
return undef unless defined($pid);
if ( $pid == 0 ) {
exec( $prog, @args )
or &mydie("exec $prog failed\n");
}
1;
}
# $indent is a bit of optional data processing I put in for
# formatting the data nicely when you are emailing it.
# This is derived from code by Denis Howe <dbh@doc.ic.ac.uk>
# and Thomas A Fine <fine@cis.ohio-state.edu>
sub decode_form {
local ( $form, *data, $indent, $key, $_ ) = @_;
foreach $_ ( split( /&/, $form ) ) {
( $key, $_ ) = split( /=/, $_, 2 );
$_ =~ s/\+/ /g; # + -> space
$key =~ s/\+/ /g; # + -> space
$_ =~ s/%([\da-f]{1,2})/pack(C,hex($1))/eig; # undo % escapes
$key =~ s/%([\da-f]{1,2})/pack(C,hex($1))/eig; # undo % escapes
$_ =~ s/[\r\n]+/\n\t/g if defined($indent); # indent data after \n
$data{$key} = &escape($_);
}
}
# block cross-site scripting attacks (css)
sub escape($) { $_ = $_[0]; s/&/&amp;/g; s/</&lt;/g; s/>/&gt;/g; $_; }
sub dec {
local ($_) = @_;
s/\+/ /g; # '+' -> space
s/%(..)/pack("c",hex($1))/ge; # '%ab' -> char ab
return ($_);
}
#
# Splits up a query request, returns an array of items.
# usage: @items = &main'splitquery($query);
#
sub splitquery {
local ($query) = @_;
grep( ( s/%([\da-f]{1,2})/pack(C,hex($1))/eig, 1 ), split( /\+/, $query ) );
}
# encode unknown data for use in a URL <a href="...">
sub encode_url {
local ($_) = @_;
# rfc1738 says that ";"|"/"|"?"|":"|"@"|"&"|"=" may be reserved.
# And % is the escape character so we escape it along with
# single-quote('), double-quote("), grave accent(`), less than(<),
# greater than(>), and non-US-ASCII characters (binary data),
# and white space. Whew.
s/([\000-\032\;\/\?\:\@\&\=\%\'\"\`\<\>\177-\377 ])/sprintf('%%%02x',ord($1))/eg;
s/%20/+/g;
$_;
}
# encode unknown data for use in <TITLE>...</TITILE>
sub encode_title {
# like encode_url but less strict (I couldn't find docs on this)
local ($_) = @_;
s/([\000-\031\%\&\<\>\177-\377])/sprintf('%%%02x',ord($1))/eg;
$_;
}
# encode unknown data for use inside markup attributes <MARKUP ATTR="...">
sub encode_attribute {
# rfc1738 says to use entity references here
local ($_) = @_;
s/([\000-\031\"\'\`\%\&\<\>\177-\377])/sprintf('\&#%03d;',ord($1))/eg;
$_;
}
# encode unknown text data for using as HTML,
# treats ^H as overstrike ala nroff.
sub encode_data {
local ($_) = @_;
local ($str);
# Escape &, < and >
s,\010[><&],,g;
s/\&/\&amp\;/g;
s/\</\&lt\;/g;
s/\>/\&gt\;/g;
s,((_\010[^_])+),($str = $1) =~ s/.\010//g; "<i>$str</i>";,ge;
s,((.\010.)+),($str = $1) =~ s/.\010//g; "<b>$str</b>";,ge;
#s,((_\010.)+),($str = $1) =~ s/.\010//g; "<i>$str</i>";,ge;
#s,(.\010)+,$1,g;
#if (!s,((.\010.)+\s+(.\010.)+),($str = $1) =~ s/.\010//g; "<b>$str</b>";,ge) {
# s,(([^_]\010.)+),($str = $1) =~ s/[^_]\010//g; "<b>$str</b>";,ge;
# s,(([_]\010.)+),($str = $1) =~ s/[_]\010//g; "<i>$str</i>";,ge;
#}
# Escape binary data except for ^H which we process below
# \375 gets turned into the & for the entity reference
#s/([^\010\012\015\032-\176])/sprintf('\375#%03d;',ord($1))/eg;
# Process ^H sequences, we use \376 and \377 (already escaped
# above) to stand in for < and > until those characters can
# be properly escaped below.
#s,\376[IB]\377_\376/[IB]\377,,g;
#s/.[\b]//g; # just do an erase for anything else
# Now convert our magic chars into our tag markers
#s/\375/\&/g; s/\376/</g; s/\377/>/g;
# cleanup all the rest
s,.\010,,g;
$_;
}
sub indexpage {
&http_header("text/html");
print &html_header("$www{'title'}: Index Page") . "<h1>", $www{'head'},
"</h1>\n\n" . &intro;
&formquery;
local ($m) = ( $manpath ? $manpath : $manPathDefault );
$m = &encode_url($m);
print "<b><i>Section Indexes</i></b>:\n";
foreach ( '1', '2', '3', '4', '5', '6', '7', '8', '9', 'n' ) {
print qq{&#164; } if $_ ne '1';
print
qq{<a href="$BASE?query=($_)&amp;sektion=&amp;apropos=1&amp;manpath=$m&amp;title=Section%20$_Index">$_</a>\n};
}
print "<br /><b><i>Explanations of Man Sections:</i></b>\n";
foreach ( '1', '2', '3', '4', '5', '6', '7', '8', '9' ) {
print qq{&#164; } if $_ ne '1';
print
qq{<a href="$BASE?query=intro&amp;sektion=$_&amp;apropos=0&amp;manpath=$m&amp;title=Introduction%20Section%20$_">intro($_)</a>\n};
}
if (0) {
print "<br />\n<b><i>Quick Reference Categories:</i></b>\n";
foreach (
'database', 'disk', 'driver', 'ethernet', 'mail',
'net', 'nfs', 'nis', 'protocol', 'ppp',
'roff', 'string', 'scsi', 'statistic', 'tcl',
'tcp', 'time'
)
{
print
qq{&#164; <a href="$BASE?query=$_&amp;sektion=&amp;apropos=1&amp;manpath=$m&amp;title=Quick%20Ref%20$_">$_</a>\n};
}
}
print <<ETX if 0 && $mailto;
URL: <a href="$BASE" target="_parent">$www{'home'}$BASE</a><br />
ETX
print "<br />\n";
&html_footer( 'no_home_link' => 1 );
}
sub formquery {
local ( $astring, $bstring );
if ( !$apropos ) {
$astring = q{ checked="checked"};
}
else {
$bstring = q{ checked="checked"};
}
print <<ETX;
<form method="get" action="$BASE">
Man Page or Keyword Search:
<input value="$query" name="query" />
<input type="submit" value="Submit" />
<input type="reset" value="Reset" />
<br />
<input name="apropos" value="0" type="radio"$astring /> <a href="$BASE?query=man&amp;sektion=1&amp;apropos=0">Man</a>
<select name="sektion">
ETX
foreach $key ( sort keys %sectionName ) {
print "<option"
. ( ( $key eq $section ) ? ' selected="selected" ' : ' ' )
. qq{value="$key">$sectionName{$key}</option>\n};
}
print qq{</select>\n<select name="manpath">\n};
local ($l) = ( $manpath ? $manpath : $manPathDefault );
foreach ( sort { &sort_versions } keys %manPath ) {
$key = $_;
print "<option"
. ( ( $key eq $l ) ? ' selected="selected" ' : ' ' )
. qq{value="$key">$key</option>\n};
}
print qq{</select>\n};
print qq{<select name="arch">\n};
my @arch = exists $arch{$l} ? @{ $arch{$l}->{'arch'} } : $default_arch;
unshift @arch, 'default';
my $a;
# machine type selected by user
if ($arch) {
$a = $arch;
}
# pickup a default machine type
else {
exists $arch{$l}->{'default'} ? $arch{$l}->{'default'} : 'default';
}
foreach (@arch) {
my $selected = $_ eq $a ? ' selected="selected"' : "";
print qq{<option $selected value="$_">$_</option>\n};
}
print qq{</select>\nArchitecture\n\n};
local ($m) = &encode_url($l);
print <<ETX;
<br />
<input name="apropos" value="1" type="radio"$bstring /> <a href="$BASE?query=apropos&amp;sektion=1&amp;apropos=0">Apropos</a> Keyword Search (all sections)
<select name="format">
ETX
my @format = ('html');
push( @format, ( 'pdf', 'ps' ) ) if !$no_pdf_output{$manpath};
push( @format, ( 'latin1', 'ascii' ) )
; # you need a 8 bit clean man, e.g. jp-man
foreach (@format) {
print qq{<option value="$_">$_</option>\n};
}
print <<ETX;
</select>
Output format
</form>
<a href="$BASE?manpath=$m">home</a> |
<a href="$BASE/help.html">help</a>
<hr />
ETX
0;
}
sub faq {
local ( @list, @list2 );
local ($url);
foreach ( sort { &sort_versions } keys %manPath ) {
$url = &encode_url($_);
push( @list,
qq{<li><a href="$BASE?apropos=2&amp;manpath=$url">[download]}
. qq{</a> "$_" -> $BASE?manpath=$url}
. qq{</li>\n} );
}
foreach ( sort { &sort_versions } keys %manPathAliases ) {
push( @list2,
qq[<li>"$_" -> "$manPathAliases{$_}" -> ]
. qq{<a href="$BASE?manpath=}
. &encode_url($_)
. qq{">$BASE?manpath=}
. &encode_url($_)
. "</a></li>\n" )
if $manPathAliases{$_};
}
local $id =
'$FreeBSD$';
return qq{\
<pre>
Copyright (c) 1996-2012 <a href="$mailtoURL">Wolfram Schneider</a>
Copyright (c) 1993-1995 Berkeley Software Design, Inc.
This data is part of a licensed program from BERKELEY SOFTWARE
DESIGN, INC. Portions are copyrighted by BSDI, The Regents of
the University of California, Massachusetts Institute of
Technology, Free Software Foundation, The FreeBSD Project, and others.
</pre>\n
This script has the revsion: $id
<p />
Copyright (c) for man pages by OS vendors.
<p/>
<a href="ftp://ftp.2bsd.com">2.11 BSD</a>,
<a href="http://www.hp.com">HP</a>,
<a href="http://www.freebsd.org">FreeBSD</a>,
<a href="http://www.cs.vu.nl/~ast/minix.html">Minix</a>,
<a href="http://www.netbsd.org">NetBSD</a>,
<a href="http://www.openbsd.org">OpenBSD</a>,
<a href="http://plan9.bell-labs.com/plan9/">Plan 9</a>,
<a href="http://www.redhat.com">Red Hat</a>,
<a href="http://slackware.com">Slackware Linux</a>,
<a href="http://www.sun.com">SunOS</a>,
<a href="http://www.suse.com">SuSE</a>,
<a href="http://www.digital.com">ULTRIX</a>,
<a href="ftp://elib.zib.de/pub/netlib/att/cs/v7man">Unix Seventh Edition</a>,
<a href="http://www.xfree86.org">XFree86</a>,
<a href="http://www.x.org">X11R6</a>
<h2>FAQ</h2>
<ul>
<li>Get the <a href="$BASE/source">source</a> of the man.cgi script</li>
<li>Troff macros works only if defined in FreeBSD/groff. OS specific
macros like `appeared in NetBSD version 1.2' are not supported.</li>
<li>Some OSs provide only formatted manual pages (catpages), e.g., NetBSD
and OpenBSD. In this case it is not possible to create Postscript
and troff output.</li>
<li>The <a href="http://svnweb.freebsd.org/base/head/share/misc/bsd-family-tree?view=markup">
Unix family tree, BSD part</a>.</li>
<li>The <a href="http://www.freebsd.org/cgi/ports.cgi">
FreeBSD Ports Changes</a> script.</li>
<li>Copyright (c) and download for man pages by
OS vendors</li>
</ul>
<h2>Shortcuts for FreeBSD manual pages</h2>
<ul>
<li>which manpage: <a href="http://man.freebsd.org/which">http://man.freebsd.org/which</a></li>
<li>socket(2) manpage: <a href="http://man.freebsd.org/socket/2">http://man.freebsd.org/socket/2</a></li>
</ul>
<p />
<ul>
<li>which manpage: <a href="$BASE?which">$full_url?which</a></li>
<li>socket(2) manpage: <a href="$BASE?socket(2)">$full_url?socket(2)</a></li>
</ul>
<h2>Releases</h2>
Releases and Releases Aliases are information how
to make a link to this script to the right OS version.
<p />
You may download the manpages as gzip'd tar archive
for private use. A tarball is usually 5MB big.
<p />
<ul>
@list
</ul>
<h2>Releases Aliases</h2>
Release aliases are for lazy people. Plus, they have a longer
lifetime, eg. 'openbsd' points always to the latest OpenBSD release.
<ul>
@list2
</ul>
};
}
sub intro {
return qq{\
<p />
<i>Man Page Lookup</i> searches for man pages name and section as
given in the selection menu and the query dialog. <i>Apropos
Keyword Search</i> searches the database for the string given in
the query dialog. There are also several hypertext links provided
as short-cuts to various queries: <i>Section Indexes</i> is apropos
listings of all man pages by section. <i>Explanations of Man
Sections</i> contains pointers to the intro pages for various man
sections.
<p />
};
}
sub faq_output {
my $base = $BASE;
$base =~ s,[^/]*$,,;
$base = 'http://www.freebsd.org/cgi/'; # XXX
&http_header("text/html");
print &html_header( "FreeBSD manual page help", $base ) . "<h1>",
$www{'head'}, "</h1>\n" . &faq . qq{<br />\n};
&html_footer;
}
sub html_header2 {
my ( $title, $head ) = @_;
return qq{<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>$title</title>
$head
</head>
<body>
};
}
sub secure_env {
$main'ENV{'PATH'} = '/bin:/usr/bin';
$main'ENV{'MANPATH'} = $manPath{$manPathDefault};
$main'ENV{'IFS'} = " \t\n";
$main'ENV{'PAGER'} = 'cat';
$main'ENV{'SHELL'} = '/bin/sh';
$main'ENV{'LANG'} = 'C';
undef $main'ENV{'DISPLAY'};
}
sub include_output {
local ($inc) = @_;
&http_header("text/plain");
open( I, "$inc" ) || do { print "open $inc: $!\n"; exit(1) };
while (<I>) { print }
close(I);
}
# CGI script must die with error status 0
sub mydie {
local ($message) = @_;
&http_header("text/html");
print &html_header("Error");
print $message;
print qq{
<p />
<a href="$BASE">home</a>
};
&html_footer;
exit(0);
}
1;
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/donations/donors.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/donations/donors.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/donations/donors.xml (revision 42804)
@@ -1,2955 +1,2963 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "Hardware Donors Page">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.about">
<p>This page keeps a record of current hardware transactions taking place
under the donations team. These are only completed or believed to be
completed transactions. If something was offered but never shipped to
anyone, please do not list it here.
If you see any mistakes, please send an email to
<a href="mailto:trhodes@FreeBSD.org">trhodes@FreeBSD.org</a> so that I may
correct it. Feel free to cc: donations@FreeBSD.org as well.</p>
<!-- Newest donations go at the bottom. -->
<table class="tblbasic">
<tr>
<th> FROM </th>
<th> ITEM </th>
<th> TO </th>
<th> STATUS </th>
</tr>
<tr>
<td> <tt>nsayer</tt> </td>
<td> 4-port Zynx 'dc' NIC </td>
<td> jlemon </td>
<td> Unknown </td>
</tr>
<tr>
<td> <tt>Sebastian Trahm &lt;inthisdefiance@gmx.net&gt;</tt> </td>
<td> Packet Engines G-NICII 1000SX/PCI </td>
<td> will </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>donxc &lt;donald.creel@verizon.net&gt;</tt> </td>
<td> ATI Rage Pro 128 </td>
<td> anholt </td>
<td> Shipped </td>
</tr>
<tr>
<td> <tt>Stephen Hoover &lt;shoover@442spot.com&gt;</tt> </td>
<td> Pentium III 1GHz 133FSB, 512MB PC133 RAM, Asus TUSL2-C motherboard
(815EP chipset), Intel 82559 (PILA8460B) 10/100 NIC, 52X CD-ROM,
floppy, case w/250W power supply w/case fan </td>
<td> kris </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Salvatore Denaro &lt;sdenaro@speakeasy.net&gt;</tt> </td>
<td> 512MB DDR ECC DIMM </td>
<td> obrien </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Frank Nikolajsen &lt;frank@warpspace.com&gt;</tt> </td>
<td> Three 533MHz 21164A CPU PC164SX (AlphaPC) motherboards </td>
<td> Ports Cluster (obrien/peter) </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>William Gnadt &lt;wgnadt@rri-usa.org&gt;</tt> </td>
<td> PCMCIA CD-ROM drive (Addonics), USB 1.1 HD enclosure w/850MB HD </td>
<td> imp, bsd </td>
<td> CD-ROM shipped to imp, HD enclosure shipped to bsd </td>
</tr>
<tr>
<td> <tt>William Gnadt &lt;wgnadt@rri-usa.org&gt;</tt> </td>
<td> Seagate Cheetah 10K RPM 9GB UW-SCSI HD Model: ST19101W /
68-pin connector, new dual-fan HD cooler </td>
<td> dannyboy </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>William Gnadt &lt;wgnadt@goliath.rri-usa.org&gt;</tt> </td>
<td> Dell Inspiron 3000 laptop (Pentium 266MHz, 64MB RAM, floppy and
CD-ROM drives, docking station, PCMCIA Ethernet/modem card, extra
power supply -- good condition </td>
<td> imp </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>William Gnadt &lt;wgnadt@goliath.rri-usa.org&gt;</tt> </td>
<td> PCMCIA cards: "New Media" 28.8 modem (unknown model #),
Linksys 33.6 LANmodem (model PCMLM36),
Linksys combo ethernet card (model EC2T),
3COM 3C905B Ethernet 10/100B-T network adapter (PCI) </td>
<td> PCMCIA cards to imp, 3COM nic to silby </td>
<td> PCMCIA cards shipped. 3COM nic shipped. </td>
</tr>
<tr>
<td> <tt>William Gnadt &lt;wgnadt@goliath.rri-usa.org&gt;</tt> </td>
<td> 2.5" laptop HDs: Toshiba HDD2714 - 1443MB
Toshiba HDD2731 - 1083MB </td>
<td> darrenr </td>
<td> Awaiting Shipment </td>
</tr>
<tr>
<td> <tt>William Gnadt &lt;wgnadt@goliath.rri-usa.org&gt;</tt> </td>
<td> 68-pin M-M SCSI cable 1 meter (brand new) </td>
<td> mwlucas </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Simon Chang &lt;schang@quantumslipstream.net&gt;</tt> </td>
<td> Dual Pentium Pro 200MHz (both CPUs and VRMs included), 128 MB of RAM
10-GB IDE hard disk drive, IDE CD-ROM drive,
one old 3Com 3C509B-TPO network card </td>
<td> will </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>gj</tt> </td>
<td> pc164 (Alpha) </td>
<td> sos </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Michael Hembo &lt;hembo@micron.dk&gt;</tt> </td>
<td> 4 * 512 MB PC133 SIMM (for ftp.FreeBSD.org) </td>
<td> jesper </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>trhodes</tt> </td>
<td> 40GB IDE HDD </td>
<td> rwatson </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>jesper on behalf of TDC Tele Danmark</tt> </td>
<td> AlphaStation 255/233 </td>
<td> sos </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>&lt;Aaron.Schroeder@qg.com&gt;</tt> </td>
<td> 384MB RAM for an AlphaStation 500 </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>DEC/Compaq</tt> </td>
<td> AS2100 SMP</td>
<td> trevor </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko, on behalf of Compaq</tt> </td>
<td> DS10 </td>
<td> murray, obrien, package cluster </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko, on behalf of HP</tt> </td>
<td> AlphaServer 1000A </td>
<td> markm </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Rolf Huisman</tt></td>
<td> Abit BP6 dual CPU mainboard</td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Stefan Molnar &lt;stefan@csudsu.com&gt; </tt></td>
<td> Sun X6540A dual-channel Symbios 53C876 SCSI card (w/FCode) </td>
<td> jake </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> Hitachi ATAPI CDR-7730 cdrom drive </td>
<td> sos </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> DEC Alpha PWS 2MB B-cache module </td>
<td> gallatin </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> fxp(4), xl(4), pcn(4), dc(4) NIC's; Adaptec AHA-2940UW;
Sun HD/68-pin UW-SCSI cable</td>
<td> jake </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> KVM Switch </td>
<td> kris </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> several AMD Athlon Slot-A 8[05]0 MHz CPUs </td>
<td> gshapiro,gj,fjoe,wilko,mdodd </td>
<td> all received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> AMD Athlon Slot-A 800 MHz CPU + Gigabyte GA-7IXE motherboard + 256 MB
RAM</td>
<td> kris </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> 2x550 MHz Pentium-III system with 256MB RAM, CDROM,
multiple NIC's </td>
<td> scottl </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> nVidia GeForce2 Pro, GeForce 256, Riva TNT2, Riva TNT AGP video cards.
nVidia GeForce2 MX400, MX200, TNT2 PCI video cards.</td>
<td> mdodd </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> two Sun SPARCengine AXi "Panther" 300MHz UltraSparc-IIi with 256MB RAM,
9GB SCSI UW disk </td>
<td> FreeBSD.org cluster, and scottl</td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> Sun Ultra-1 with 128MB RAM, CDROM, 2GB SCA disk </td>
<td> scottl </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> two fxp(4), one pcn(4) Ethernet cards </td>
<td> rwatson </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> AMD Slot-A 900 MHz CPU + Gigabyte GA-7IXE motherboard + 128MB RAM
+ 10 GB and 8 GB IDE disks + 3Com 905c-TX
+ nVidia GeForce2 GTS 64MB AGP video card </td>
<td> jake </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> Matrox G400 AGP dual-head, 2x Celeron 366 MHz socket-370 CPUs,
Athlon 900 Slot-A CPU, PC100 DIMMs </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> Adaptec 3940UW </td>
<td> njl </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> two Aureal Vortex 2 sound card </td>
<td> des and petef </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> pair of AMD Opteron 246 CPUs </td>
<td> kan </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> pair of AMD Opteron 244 CPUs </td>
<td> phk </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> AMD Opteron 244 CPU </td>
<td> sos </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> AMD Athlon64 desktop: 3400+ CPU, 512MB RAM, IDE hard disk,
3Com 3c905c NIC, DVD-ROM drive, nVidia AGP video, floppy, case,
power supply </td>
<td> kris </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> AMD Athlon64 desktop: 3200+ CPU, 512MB DDR333 RAM, two 60GB
IDE hard disks, 3Com 3c996b gigE NIC, 3Com 3c905c NIC, DVD-ROM drive,
nVidia GeForce2 GTS AGP video, floppy, case,
power supply </td>
<td> bde (shipped thru peter) </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> AMD Athlon XP 2800+ Barton CPU </td>
<td> bde (shipped thru peter) </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> six 9GB SCSI LVD disks (2 SCA, 4 68-pin) </td>
<td> scottl </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> DEC Alpha 164SX motherboard, PC164SX 533 MHz CPU, 128MB ECC PC100 RAM,
Adaptec AHA-2940UW SCSI controller, Matrox PCI video card </td>
<td> ru </td>
<td> Received (handcarried to .nl by marks, shipped to ru by wilko) </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> AMD Opteron 850 CPU, 2 x AMD Opteron 254 CPU </td>
<td> ru </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> pair of AMD Athlon-MP 2400+ CPUs, Tyan K7 Thunder motherboard,
power supply, 1MB DDR266 DIMM </td>
<td> imp </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> AMD Athlon64 3000+ CPU </td>
<td> murray </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> AMD Athlon64 3200+ CPU </td>
<td> davidxu </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> MSI AMD Athlon Slot-A motherboard, ATX form factor </td>
<td> trhodes </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> AMD Opteron 150 CPU, ASUS SK8N motherboard, 2GB RAM,
DVD-ROM </td>
<td> krion </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt> </td>
<td> Pair of AMD Opteron 850 CPUs </td>
<td> alc </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>gordont</tt></td>
<td> Sun Ultra-2 SMP 400 MHz with 1GB RAM, 2x 4GB SCA disks </td>
<td> jake </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>gordont</tt></td>
<td> Sun Ultra-2 200 MHz with 512MB RAM, 2GB SCA disk </td>
<td> obrien </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Nick Jeffrey &lt;nick@jeffrey.com&gt;</tt></td>
<td> 2x 9GB SCA SCSI disks </td>
<td> jake </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>kan</tt></td>
<td> Matrox Millennium II PCI video card </td>
<td> nsouch </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt></td>
<td> Winbond ISDN card </td>
<td> hm </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt></td>
<td> 21264/550 EV6 Alpha CPU </td>
<td> obrien </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt></td>
<td> Athlon 850 Slot-A, 64MB DIMM </td>
<td> fjoe </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>NcFTP Software / Mike Gleason &lt;mgleason@ncftp.com&gt;</tt></td>
<td> NcFTPd Server site license for FreeBSD.org </td>
<td> jesper </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Michael Dexter</tt></td>
<td> Yamaha SCSI CDRW drive</td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt></td>
<td> Cologne Chip Design PCI ISDN card and Compaq ISA ISDN card </td>
<td> hm </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>William Gnadt &lt;wgnadt@rri-usa.org&gt;</tt> </td>
<td> IBM Travelstar DJSA-210 Laptop Hard Drive, 10.06GB </td>
<td> jesper </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>mbr</tt> </td>
<td> 10 Gigabyte Hard Disk Drive </td>
<td> sos </td>
<td> Awaiting Shipment </td>
</tr>
<tr>
<td> <tt>The Open Group</tt> </td>
<td> Single &unix; Specification (Version 3) books and CD-ROMs. </td>
<td> mike (and -standards) </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>William Gnadt &lt;wgnadt@rri-usa.org&gt;</tt> </td>
<td> SoundBlaster 128 PCI </td>
<td> mike </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Matt Douhan &lt;mdouhan@fruitsalad.org&gt;</tt> </td>
<td> Two Sony AIT-1 tape drives </td>
<td> will </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>William Gnadt &lt;wgnadt@rri-usa.org&gt;</tt> </td>
<td> Toshiba MK6411MAT, 6495MB </td>
<td> des </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko, on behalf of HP</tt> </td>
<td> AlphaServer 1000A </td>
<td> phk </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>brueffer</tt> </td>
<td> SMC Etherpower II (tx) NIC </td>
<td> mux </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Mike Tancsa, Sentex</tt> </td>
<td> 2 remote machines:<br/>
<b>releng4.sentex.ca:</b>
Intel Celeron CPU 2.00GHz (2000.35-MHz 686-class CPU)
real memory = 528416768 (516032K bytes),
19595MB QUANTUM FIREBALLP LM20.5 UDMA66<br/>
<b>releng5.sentex.ca:</b>
Intel Pentium III/Pentium III Xeon/Celeron (866.38-MHz 686-class CPU)
real memory = 796852224 (759 MB),
19595MB QUANTUM FIREBALLP LM20.5 UDMA66</td>
<td> FreeBSD Security Team (nectar)</td>
<td> In use </td>
</tr>
<tr>
<td> <tt>Mike Tancsa &lt;mike@sentex.net&gt;</tt> </td>
<td> IBM smart cards (PCMCIA and serial port) </td>
<td> des </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>fenner</tt> </td>
<td> AST FourPort/XN ISA serial card </td>
<td> jwd </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Ryan Petersen &lt;rpetersen@4imprint.com&gt;</tt> </td>
<td> Sun Microsystems Sparc Ultra 5 </td>
<td> FreeBSD.org cluster </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Chris Knight &lt;chris@e-easy.com.au&gt;</tt> </td>
<td> 56K PCMCIA Data/Fax modem </td>
<td> trhodes </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wes</tt> </td>
<td> Dual processor motherboard for Intel Celerons </td>
<td> des </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Craig Rodrigues &lt;rodrigc@attbi.com&gt;</tt> </td>
<td> ATI Graphics Xpression PCI 2 MB </td>
<td> nsouch </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Gregory P. Smith &lt;greg@electricrain.com&gt;</tt> </td>
<td> DEC Alpha PC164SX mobo+CPU, 2x 64MB ECC DIMM's, UW SCSI controller,
10/100 NIC </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>gallatin</tt> </td>
<td> Alpha 433au system </td>
<td> will </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Brian Cunnie &lt;brian@cunnie.com&gt;</tt> </td>
<td> DDS-3 scsi tape drive (12GB raw/24GB compr), SCSI terminator,
SCSI cable (50-pin hi-density single-ended),
and several DDS-3 tapes. </td>
<td> kris </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>unfurl</tt> </td>
<td> Dual Pentium 550MHz system </td>
<td> rwatson </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>James Pace &lt;jepace@pobox.com&gt;</tt> </td>
<td> HP Omnibook 4000 ct 4/100,
and an HP Omnibook 5000 cts 5/90 model 1200 </td>
<td> imp </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>murray</tt> </td>
<td> Hard copy of Docbook: The Definite Guide</td>
<td> ceri </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Christoph Franke &lt;Franke.Christoph@gmx.de&gt;</tt> </td>
<td> 1.5GB SyJet </td>
<td> gj </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Christoph Franke &lt;Franke.Christoph@gmx.de&gt;</tt> </td>
<td> IBM DDRS-39130 SCSI LVD/SE Harddisk </td>
<td> des </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Christoph Franke &lt;Franke.Christoph@gmx.de&gt;</tt> </td>
<td> IBM DDRS-34560 SCSI SE Harddisk,
Plextor PX-20TSi SCSI CDROM Drive </td>
<td> ru </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Christoph Franke &lt;Franke.Christoph@gmx.de&gt;</tt> </td>
<td> IOMEGA Zip Drive SCSI 100 MB (incl. 2 Medias) </td>
<td> phk </td>
<td> Shipped </td>
</tr>
<tr>
<td> <tt>ETEK, Chalmers</tt> </td>
<td> Compaq XP1000: DECchip 21264A-9 667MHz, 640MB RAM </td>
<td> obrien </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>ceri</tt> </td>
<td> A well-supported 4 serial port PCI card </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Mike Ray</tt> </td>
<td> MIPS R4000 Microprocessor User's Manual </td>
<td> jmallett </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> 3 FC disks </td>
<td> phk </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko, on behalf of HP</tt> </td>
<td> AlphaServer 4100 </td>
<td> ticso </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko, on behalf of HP</tt> </td>
<td> AlphaStation 200 </td>
<td> ceri </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Brian Cunnie &lt;brian@cunnie.com&gt;</tt> </td>
<td> 40+gb IDE drive </td>
<td> eric </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Jared_Valentine@3com.com</tt> </td>
<td> crypto devices (pci, pcmcia, cardbus cards, CPUs with builtin
crypto+support, 3Com 3CR990, 3CRFW102/103 PC Cards w/ 3DES </td>
<td> sam </td>
<td> Shipped? </td>
</tr>
<tr>
<td> <tt>Jared_Valentine@3com.com</tt> </td>
<td> 3Com XJack Wireless PC Card </td>
<td> imp </td>
<td> Shipped? </td>
</tr>
<tr>
<td> <tt>Jared_Valentine@3com.com</tt> </td>
<td> A 3Com 3XP 3CR990-TX Typhoon txp(4) card </td>
<td> will </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Jared_Valentine@3com.com</tt> </td>
<td> A 3com 3CXFE575CT Cardbus NIC </td>
<td> arved </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko, on behalf of HP</tt> </td>
<td> AlphaServer 4100 </td>
<td> Fruitsalad.org; for KDE development </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>David Leimbach &lt;leimy2k@mac.com&gt;</tt> </td>
<td> One SATA controller </td>
<td> sos </td>
<td> Shipped? </td>
</tr>
<tr>
<td> <tt>David Leimbach &lt;leimy2k@mac.com&gt;</tt> </td>
<td> G3 (blue and white) for the PPC project </td>
<td> obrien </td>
<td> Shipped? </td>
</tr>
<tr>
<td> <tt>Gavin Atkinson &lt;gavin.atkinson@ury.york.ac.uk&gt;</tt> </td>
<td> 2 x 8gb IDE drives </td>
<td> brueffer </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Jonathan Drews &lt;j.e.drews@att.net&gt;</tt> </td>
<td> New motherboard, 1GB DDR2100 RAM, LSI Logic Ultra160
SCSI controller, and two 18GB Maxtor 10K III disks for
2003 edition of cvsup12.FreeBSD.org </td>
<td> will </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Jim Dutton &lt;jimd@siu.edu&gt;</tt> </td>
<td> 512MB of DDR2100 RAM </td>
<td> will </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>www.servercommunity.de</tt></td>
<td> 2 IDE 3.5" 40GB for FreeBSD/alpha test machines</td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Mike Miller</tt></td>
<td> HP Kayak XU (model D8430T) dual Pentium III 450MHz, 512MB RAM, 36GB,
15krpm IBM OEM SCSI drive, Matrox G200 video card,
Intel gigabit and 10/100 NIC, Intel 440BX chip set </td>
<td> deischen </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Linuxtag FreeBSD Team</tt></td>
<td> Adaptec ANA 62022 NIC </td>
<td> mux </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Robin Brocks &lt;robin.brocks@gmx.de&gt;</tt></td>
<td> Two 256MB registered ECC PC133 DIMMs </td>
<td> tmm </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Michael Dexter</tt> </td>
<td> serial-port Towitoko reader, and three crypto cards. </td>
<td> des </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Michael Dexter</tt> </td>
<td> Sony VAIO subnotebook </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Michael Dexter</tt> </td>
<td> HPT1540 SATA RAID controller, PATA-SATA dongles, 2 ATA
controllers Sil0680 + Promise </td>
<td> sos </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>www.servercommunity.de</tt></td>
<td> One of each of the following NICs: SIS 900, Dec 21143,
NatSem 83820</td>
<td> mbr </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Intel Corporation</tt> </td>
<td> Commercial Intel C/C++ compiler license </td>
<td> FreeBSD.org cluster (netchild) </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt></td>
<td> Fore ATM card </td>
<td> des </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>www.servercommunity.de</tt></td>
<td> 20 Gigabyte IBM Laptop Hard Drive</td>
<td> trhodes </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>www.servercommunity.de</tt></td>
<td> Pentium 4, 2,4 GHz, FSB800, 1 GB RAM Samsung PC3200, Altec DVD 16x/48x,
80 GB Maxtor IDE ATA133 (slightly used), 2 * 80 GB Maxtor SATA as
RAID0, ATI Radeon 9200SE clone graphic card, 3,5" TEAC floppy,
420 Watt ATX be quit! ultra low noise power supply, and
Athena CM03 case.</td>
<td> netchild </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Joe Altman</tt></td>
<td> PCI Sound card </td>
<td> kris </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> two UltraSparc-II 300MHz (X1191A) CPU's </td>
<td> obrien </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 128MB PC133 Registered ECC DIMM for Sun Blade 100 </td>
<td> obrien </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 4x 128MB PC100 Registered ECC DIMM for Alpha UP2000 </td>
<td> obrien </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> G4Port serial adapter for Apple G4 </td>
<td> obrien </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Sun 13W3(male) to VGA 15pin(female) converter </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 1 Intel EtherExpress 100 NIC, bulk, new<br/>
1 Seagate ST380011A, 80 GB IDE, new<br/>
1 50 PIN SCSI cable, new<br/>
1 Adaptec 2940 UW, used, tested<br/>
1 Seagate Streamer Travan 20 GB, used, tested<br/>
1 compu-shack SSW-503 5 port switch, 100 Mbit, new<br/> </td>
<td> lioux </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 8 GBic copper modules, FDDI concentrator, and two cables. </td>
<td> phk </td>
<td> 8GBic modules are in transet, others Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> SGI 1100 motherboard replacement </td>
<td> rwatson </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Artem Koltsov &lt;email@NOSPAM.onepost.net&gt;</tt> </td>
<td> 1 PC100 128MB dimm </td>
<td> njl </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Artem Koltsov &lt;email@NOSPAM.onepost.net&gt;</tt> </td>
<td> ATA100 PCI Card2 IDE ports with IDE 100 Cables, Ultra100,
PROMISE TECHNOLOGY, ULTRA100 </td>
<td> petef </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Artem Koltsov &lt;email@NOSPAM.onepost.net&gt;</tt> </td>
<td> SDRAM DIMM 128MB PC133 CL2, Micron Technology, CT16M64S4D7E.16T
SDRAM DIMM 128MB PC133, SDRAM DIMM 128MB PC100,
Motherboard S1598 Socket 7 with AMD K6 450MHz + IDE Cables,
Trinity ATX, Tyan and AMD, S1598, and an IBM HDD IDE 9.1GB,
DJNA-370910 </td>
<td> fjoe </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Artem Koltsov &lt;email@NOSPAM.onepost.net&gt;</tt> </td>
<td> A PS2 Mouse 2 Buttons, M-S34,Compaq, 166861-001 and a
PS2 Mouse 3 Buttons, M-CAC64, Labtec, 851680-0000 </td>
<td> mikeh </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Dynacom Tankers Mgmt LTD</tt> </td>
<td> Sun Ultra 10 </td>
<td> mux </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Jon &lt;juostaus@yahoo.com&gt;</tt> </td>
<td> Samsung 8x8x32 CDRW </td>
<td> rwatson </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> Abit BP6 mainboard incl. CPUs </td>
<td> nsouch </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> SUN SPARC Clone 4x400MHz 1GB RAM 36GB RAID System </td>
<td> krion </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Sten Spans</tt> </td>
<td> AlphaStation 500 </td>
<td> philip </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>mjacob</tt> </td>
<td> AlphaServer 4100 SMP </td>
<td> the FreeBSD cluster at Yahoo! (via obrien) </td>
<td> Still in holding pattern awaiting placement in cluster </td>
</tr>
<tr>
<td> <tt>trevor</tt> </td>
<td> Sun Ultra 1 and GDM-17E20 </td>
<td> jmg </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> A 13W3 Female To DB15HD Male adapter (Sun monitor to VGA) </td>
<td> ceri </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> "XML in a Nutshell" (O'Reilly) and a PCMCIA WLan Adapter </td>
<td> josef </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> Digital NoName Alpha mainboard </td>
<td> ru </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> External SCSI enclosure, 4 1.2GB SCSI disks </td>
<td> le </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Jon Noack &lt;noackjr@alumni.rice.edu&gt;</tt> </td>
<td> Two 32-bit if_em Intel PRO/1000 MT Desktop Adapters </td>
<td> rwatson </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Remi &lt;MrL0L@charter.net&gt;</tt> </td>
<td> Sony VAIO PCG818 </td>
<td> njl (passed to imp when use has ended) </td>
<td> Received by njl </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> BT878 PAL TV-card with a MSP340x/MSP341x </td>
<td> alex </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Christoph Franke &lt;christoph@thefranke.net&gt;</tt> </td>
<td> Pentium IV 2.0 GHz, Asus P4B266, 1 GB Ram (Infineon CL2),
Adaptec 29160 SCSI Controller, Tekram DC390-U2W SCSI Controller,
Seagate 36 GB 10.000rpm HDD, Plextor Ultra-Plex 40 Max SCSI CDROM,
Fujitsu GígaMO Drive (1,3 GB capacity incl. 4 media),
Adaptec Duo Connect Firewire/USB 2.0 Controller, 3Com 905C Ethernet
Card, Turtlebeach Santa Cruz Soundcard PCI, Floppy Drive,
Chieftec Big Tower Case (Noise-Controlled) </td>
<td> mlaier </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>"scottgannon@mail.ellijay.com" &lt;scottgannon@ellijay.com&gt;</tt> </td>
<td> slot1 600MHz P3 CPU </td>
<td> imp </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Oliver Fuckner &lt;Fuckner@strato-rz.de&gt;</tt> </td>
<td> 3Com 3CR990 Typhoon/Sidewinder (txp(4)) NIC. </td>
<td> obrien </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Sun Enterprise 450, 2x250MHz Ultra Sparc CPUs, 512MB RAM,
2x36GB (Seagate ST336705LC 5063) SCSI disk drives,
1x4GB (Seagate ST34371W SUN4.2G 7462) SCSI disk drive and a
Streamer DDS3-DAT (HP C1537A), Intel PRO/1000 (em(4)) NIC </td>
<td> arved </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 256MB Ram (Sun Original #501-5691) </td>
<td> krion </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 1U Rackmount Intel Celeron 2.6GHz, 533MHz compat. motherboard,
256MB PC2100 DDR 266MHz RAM, Savage8 3D Video Accelerator,
80GB 7200rpm ATA100 IDE Harddrive, Integrated 10/100 LAN VT8233 </td>
<td> trhodes </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Athena CM-03 case silver with be quiet! 350 Watt ATX 1.3,
Asus motherboard A7V600, Athlon XP 2800+ processor with Artic copper
cooling, 512 MB Ram Infineon PC3200, AOpen DVD 1648 silver,
Floppy silver, Seagate ST380011A 80 GB IDE, xelo GeForce2 MX400 </td>
<td> josef </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>"Darrell" &lt;skykitty@earthlink.net&gt;</tt> </td>
<td> Abit VP6 Motherboard w/raid, 2 Intel 1ghz CPUs, 1 gig PC 133 ram,
Nvidia video card, Sound Blaster PCI sound card, DVD Player, CD-RW,
Floppy Drive, Case, Power Supply </td>
<td> mikeh </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Aled Morris &lt;aledm@qix.co.uk&gt;</tt> </td>
<td> Netgear GA302T NIC for testing bge(4) </td>
<td> yar </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> Fore ATM card </td>
<td> philip </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Chicago Manual of Style, 15th Edition </td>
<td> ceri </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Quantum Atlas 10KIII 3,5" 73,4 GB </td>
<td> brueffer </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Chris Knight &lt;chris@easy-e.com.au&gt;</tt></td>
<td> Several books, Assembly Step-by-step, TCP Illustrated Vol.2
and HTTP: The Definitive Guide.</td>
<td> hmp </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Hitachi 5K80 (2,5", 80 GB), USB-to-serial adapter,
5.25" enclosure with USB2 and IEEE1394 ports, IEEE1394 PCI card </td>
<td> netchild </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> External 60 GB USB2 disk </td>
<td> le </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Fee for EuroBSDCon tutorial</td>
<td> josef </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Funds for a laptop </td>
<td> ceri </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>ceri</tt> </td>
<td> Dual Pentium 3 motherboard plus processors </td>
<td> vs </td>
<td> Received </td>
</tr>
<tr>
<td> <a href="http://www.netapp.com/">Network Appliance</a> </td>
<td> NetApp F825 filer with 2 terabytes of storage </td>
<td> FreeBSD.org cluster </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 2 256MB DIMMs for AlphaStation DS10 </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 4 256MB DIMMs for an AlphaPC164sx </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> copy of the ANSI T1.617-1991 standard </td>
<td> rik </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td>3,5" Floppy Samsung with cable, CD-Rom Toshiba ,
2 Intel XEON 1,8 GHz, socket 603 with cooler,
2 SCSI-3 68 pin-68 pin cable extern,
7 SCSI-disks 9,1 GB Seagate Barracuda ST319171 WC,
2 SCSI-disks 18,2 GB Seagate Barracuda ST318275FC fibre channel,
3 SCSI-disks 9,1 GB IBM DNES-309170 ,
1 external SCSI-enclosure hot plug Chieftec CT-1034,
8 SCA-adaptors LVD, 1 QLogic fibre channel adapter, 1 Intel 1000 Pro MT NIC,
1 ICP Vortex SCSI raid controller GDT7519RN fibre channel,
1 Adaptec 39160 dual channel SCSI controller 64bit LVD,
1 SCSI-LVD 7+1 cable internal with terminator,
1 INTEL SHG2 DUAL XEON mainboard new,
2x 512MB DDR SDRAM's PC1600-CL2 Samsung M383L6420BT1-CA0</td>
<td> pjd </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td>1 8 port Gigabit switch Netgear GS108,
1 new system: Athlon XP 2800+, 1 GB Ram (2 * 512 GB Infineon PC 3200),
AOpen DVD 1648, Athena CM03 case silver, Floppy, Asrock
motherboard, GForce 4, 80 GB Seagate IDE 3,5", 353 Watt Enermaxx power supply.</td>
<td> mux </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td>1 NetGear GA302 </td>
<td> jesper </td>
<td> Shipped </td>
</tr>
<tr>
<td> <tt>David &lt;dave@hauan.org&gt;</tt> </td>
<td> 1 Alpha Motherboard </td>
<td> kensmith </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> Sun Creator3D UPA graphics card </td>
<td> trhodes </td>
<td> Received </td>
</tr>
<tr>
<td> <a href="http://www.tunix.nl/">Tunix B.V.</a> </td>
<td> ATX tabletop case for my AlphaPC 164sx </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 16Mb flash for Cisco </td>
<td> rik </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Cisco 2600 (64M memory/8M flash) + X.21 cable </td>
<td> rik </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Entrance fee for the EuroBSDCon 2004 </td>
<td> brueffer </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Gavin Atkinson &lt;gavin.atkinson at ury.york.ac.uk&gt;</tt> </td>
<td> Pair of fxp(4) cards </td>
<td> ceri </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> NetGear GA302T bge(4) </td>
<td> jesper </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>philip</tt> </td>
<td> 2x Sun Ultra10 workstation </td>
<td> will </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> <p>
Hardware for laptop:
Pentium III Mobile 600MHz CPU,
2 128MB PC100 SODIMM RAM,
new battery,
Netgear WG511T CardBus adapter
</p>
<p>
AMD64 desktop:
ASUS SK8N motherboard,
AMD Opteron 240 CPU,
Arctic Cooling Silencer 64 Ultra TC,
2 512MB ECC RAM (Kingston),
AOpen Combo drive (COM4824),
4 80GB IDE PATA,
NVIDIA GeForce4 MX 440 AGP 8X video,
3.5" floppy,
Athena CM03 case,
350 Watt Be Quiet! power supply,
S/PDIF out module,
17" LCD monitor Acer AL1715
</p>
<p>
Hardware for Alpha:
4 128MB ECC RAM (Samsung),
18GB SCSI (Fujitsu MAA3182SC) with cable
</p>
<p>
RTL8139 Ethernet CardBus adapter,
2 Intel PRO/1000 MT desktop adapters,
5-port 100Mbps Ethernet switch
</p>
<p>
Flight to Germany and entrance fee for the EuroBSDCon 2004
</p>
</td>
<td> ru </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 2 512MB ECC RAM (Kingston),
2 80GB SATA (Maxtor DiamondMax Plus 9) for RAID1,
2 80GB PATA,
NVIDIA GeForce4 MX 440 AGP 8X video,
ASUS SK8N motherboard,
350 Watt Enermax SLN power supply,
3.5" floppy,
Toshiba DVD-ROM,
Athena CM03 case,
AMD Opteron CPU,
Arctic Cooling Silencer 64 TC,
set of reserve coolers
</td>
<td> phantom </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> SPEC JBB2000 benchmarking software </td>
<td> phantom </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> keyboard with US layout </td>
<td> josef </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Adaptec 39160 dual channel SCSI controller 64bit LVD,
36GB SCSI HDD (HITACHI DK32EJ36NSUN36G)</td>
<td> markus </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>philip</tt> </td>
<td> Sun Ultra10 workstation </td>
<td> thierry </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 4 memory DIMMs for AlphaServer DS10 </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> AlphaStation 500 5/266 workstation </td>
<td> dinoex </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>philip</tt> </td>
<td> Sun Ultra10 workstation </td>
<td> brueffer </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> 2x Seagate Barracuda 9.1GB SCA SCSI disk </td>
<td> philip </td>
<td> Received </td>
</tr>
<tr>
<td> <a href="http://www.absolight.fr/">Absolight</a> </td>
<td> Entrance fee for the EuroBSDCon 2004 </td>
<td> mat </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 2x Seagate ST 380011A, 3.5" disk </td>
<td> clement </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 8x 64M Sun memory </td>
<td> philip </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Netgear GS608 Gigabit Ethernet switch </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Sebastian Trahm &lt;inthisdefiance@gmx.net&gt;</tt> </td>
<td> Specialix SX RS232 concentrator </td>
<td> des </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Netgear GA302T Gigabit Ethernet NIC </td>
<td> brueffer </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>J&uuml;rgen Dankoweit</tt> </td>
<td> Madge Smart MK4 PCI Token Ring adapter </td>
<td> philip </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Cisco 2600, NM-16A, 2x octopus serial cable </td>
<td> philip </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Warren Block &lt;wblock@wonkity.com&gt;</tt></td>
<td> Tecra 8000 </td>
<td> imp </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Michael Dexter</tt> </td>
<td> Apple Power Macintosh G4 machine </td>
<td> gallatin </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Michael Dexter</tt> </td>
<td> NCD Explora 451 PPC Thin Client </td>
<td> obrien </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Juergen Dankoweit &lt;juergen.dankoweit@t-online.de&gt;</tt> </td>
<td> Unsupported CF-Card reader</td>
<td> josef </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>pav</tt> </td>
<td> Two O'Reilly security books</td>
<td> josef </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>ds</tt> </td>
<td>em(4) compatible gigE card, 1000baseTX (copper) interface</td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>keramida</tt> </td>
<td> Copy of "Cascading Style Sheets: The Definitive Guide"
(O'Reilly), ISBN 0-596-00525-3. </td>
<td> ceri </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> PCMCIA FireWire controller</td>
<td> brueffer </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> IBM Laptop AC Adapter</td>
<td> mlaier </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 75 EUR (for ISP)</td>
<td> josef </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Power Battery for IBM Thinkpad T20 </td>
<td> glebius </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 40 Gb notebook HDD </td>
<td> glebius </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>maxim</tt> </td>
<td> <a href="http://www.awprofessional.com/title/0201702452">
The Design and Implementation of the FreeBSD Operating System</a> </td>
<td> glebius </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Funds for a laptop </td>
<td> markus </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>ds</tt> </td>
<td> Funds for a D-Link DWL-AG530 PCI card for ath(4) and
wpa_supplicant testing. </td>
<td> brooks </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> UltraSPARC IIi 300MHz CPU, 4.3G SCA disk, 18.2G SCA disk.</td>
<td> philip </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Funds for a SATA HDD. </td>
<td> ceri </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 2 Intel 100 MBit NICs,
1 be quiet! 350 Watt power supply,
1 DVD Toshiba SD-1912,
1 floppy TEAC FD-235HF,
2 Kingston KVR266X72RC25/512 (1 GB),
1 NVidia MX 4000 graphic card,
1 Ultra Silencer TC cooler,
1 AMD Opteron 144 1.8 GHz,
1 Asus SK8N mobo,
1 Seagate ST380011A HDD (80GB ATA).
</td>
<td> clement </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 1x Sun Ultra60, 768M memory, 2x SCA disk </td>
<td> philip </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> AMD64 server :
ASUS SK8N motherboard,
AMD Opteron 144 1.8Ghz CPU,
Arctic Cooling Silencer 64 Ultra TC,
2 512MB RAM (Kingston),
80GB IDE,
ATI Rage 128 PRO ULTRA Video Controller
</td>
<td> simon </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt></td>
<td> 4x Athlon MP 2400+ CPUs with HSFs </td>
<td> will </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt></td>
<td> 4x Opteron 844 CPU's </td>
<td> alc </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt></td>
<td> 4x Opteron 875 dual-core CPU's </td>
<td> alc </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt></td>
<td> Opteron 275 dual-core Tyan K8W system </td>
<td> alc </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt></td>
<td> 2x Opteron 270 dual-core CPU's, Athlon64 3200+ CPU </td>
<td> kan </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt></td>
<td> 2x Opteron 252 CPU's </td>
<td> kensmith </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt></td>
<td> Athlon64 4600+ X2 dual-core and Athlon64 3800+,
Gigabyte and Asus PCI-express motherboards </td>
<td> scottl </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt></td>
<td> Quad Opteron 870 dual-core system </td>
<td> jeffr </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>will</tt></td>
<td> 2x Athlon XP 2200+ CPUs with HSFs, 1 Sun Seagate
20GB HDD </td>
<td> obrien </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>marcus</tt></td>
<td> 1 Maxtor Atlas 15K U320 8C018L0 SCSI disk for cvsup12 </td>
<td> will </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Jonathan Drews &lt;jon.drews@gmail.com&gt;</tt></td>
<td> 1 copy of the "Design and Implementation of the FreeBSD Operating
System" via gift certificate </td>
<td> will </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 4x Seagate ST173404LCV disks </td>
<td> philip </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 1 copy of the "The AWK Programming Language" Aho, Alfred
and 1 copy of the "Compilers" Aho, Alfred </td>
<td> krion </td>
<td> Received </td>
</tr>
<tr>
<td> <a href="http://www.LF.net">LF.net</a> </td>
<td> Flight to Canada and accommodation fee for BSDCan 2005 </td>
<td> krion </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> i386 machine :
Athlon XP2800+,
Asus A7V600,
Seagate ST 380011A IDE, 80 GB,
Maxtor Diamondmax 10 120 GB,
NVidia Gforce 2 MX 400,
1 GB Ram (2 x Infineon 512 MB DDR, PC 2700),
Compushack 100 MBit NIC, RTL 8139 clone.
</td>
<td> krion </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> 17" monitor LCD Acer 1715-sn </td>
<td> krion </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> Pentium Pro processor and heatsink </td>
<td> des </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Denis Kozjak and Daniel Seuffert</tt> </td>
<td> ASUS A7M266-D,
2x AMD Athlon MP 2000+,
2x CPU Fan,
512 MB RAM,
400W PSU.
</td>
<td> marks </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Funds for a notebook </td>
<td> philip </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Tyan Thunder SE7500WV2 dual Xeon board
and 2 x 512 MB DDR PC 1600 registered DDR-ram.</td>
<td> Peter Holm, Denmark </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Financial help with transportation to BSDCan. </td>
<td> mlaier </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Hartmut Obst &lt;hartmut.obst@gmx.net&gt;</tt> </td>
<td> Q-Tec 5 Port Switch </td>
<td> mlaier </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Netgear WG511T ath(4) card.</td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Brennan Stehling &lt;offwhite@gmail.com&gt;</tt> </td>
<td> Four Java books: The Java Virtual Machine Specification,
Java Virtual Machine,
Programming for the Java Virtual Machine and
The Java Native Interface.</td>
<td> glewis </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Frank Seuberth - Rentable Hardware Systeme &amp; Consulting
&lt;http://www.rentable-hardware.de/&gt;</tt> </td>
<td> 2x Sun Ultra 2 machines </td>
<td> philip </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Gary Jennejohn &lt;gary@jennejohn.org&gt;</tt> </td>
<td> Fujitsu-Siemens Lifebook laptop with accessories. </td>
<td> markm </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Andreas Kohn &lt;andreas.kohn@gmx.net&gt;</tt> </td>
<td> DEC PBXGA "TGA" card. </td>
<td> marcel </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>ds</tt> </td>
<td> SMP mainboard with 2x Xeon 1.8GHz plus RAM </td>
<td> Peter Holm </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> AlphaStation 600 </td>
<td> ticso </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> Adaptec AH-2940UW </td>
<td> mwlucas </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt></td>
<td> 2x AMD Opteron 250 CPU's </td>
<td> scottl </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>obrien</tt></td>
<td> Arima HDAMA dual processor motherboard
+ 2x AMD Opteron 250 CPU's </td>
<td> imp </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Markus Deubel &lt;marcus.deubel@unix-resource.de&gt;</tt> </td>
<td> Sun Ultra 10 440 </td>
<td> marius </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Chris Elsworth &lt;chris@shagged.org&gt;</tt> </td>
<td> Sun Fire v210 </td>
<td> philip </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>ceri</tt> </td>
<td>Apple USB keyboard (US layout) for my Mac Mini</td>
<td>wilko</td>
<td>Received</td>
</tr>
<tr>
<td><tt>David Boyd</tt></td>
<td>SCSI enclosure, lots of hard drives, terminators, cables
and accessories</td>
<td>mwlucas</td>
<td>Received</td>
</tr>
<tr>
<td><tt>Mark &lt;markh60@verizon.net&gt;</tt></td>
<td>Cisco Catalyst 1900 switch</td>
<td>trhodes</td>
<td>Received</td>
</tr>
<tr>
<td><tt>Alexis L&ecirc;-Qu&ocirc;c
&lt;alq666@gmail.com&gt;</tt></td>
<td>One copy of "The Elements of Typographic Style" by Robert
Bringhurst, Hartley &amp; Marks Publishers; 3rd edition (2004). ISBN:
0-88179-206-3.</td>
<td>blackend</td>
<td>Received</td>
</tr>
<tr>
<td><tt>Sun W. Kim from tekgems.com</tt></td>
<td>Gigabit NIC</td>
<td>jcamou</td>
<td>Received</td>
</tr>
<tr>
<td><tt>Mark &lt;markh60@verizon.net&gt;</tt></td>
<td>CISCO 1900 Series switch</td>
<td>trhodes</td>
<td>Received</td>
</tr>
<tr>
<td><tt>obrien</tt></td>
<td>2 x AMD Opteron 275 CPU</td>
<td>mlaier</td>
<td>Received</td>
</tr>
<tr>
<td><tt>obrien</tt></td>
<td>AMD64 mainboard plus Athlon64 3400 CPU</td>
<td>wilko</td>
<td>Received</td>
</tr>
<tr>
<td><tt>wilko</tt></td>
<td>AMD64 mainboard, Athlon64 3400 CPU, 256MB RAM</td>
<td>itetcu</td>
<td>Received</td>
</tr>
<tr>
<td><tt>Joe Altman &lt;fj at panix dot com&gt;</tt></td>
<td>ASUS mainboard plus P-III CPU and 512M; 2 graphics cards; various
hard drives</td>
<td>linimon</td>
<td>Received</td>
</tr>
<tr>
<td><tt>wilko</tt></td>
<td>AlphaStation 500 DIMMs</td>
<td>ticso</td>
<td>Received</td>
</tr>
<tr>
<td><tt>imp</tt></td>
<td>Znyx quad dc(4) NIC</td>
<td>wilko</td>
<td>Received</td>
</tr>
<tr>
<td><tt>Serge Vakulenko &lt;vak at cronyx dot ru&gt;</tt></td>
<td>Cronyx Tau-PCI/32</td>
<td>rik</td>
<td>Received</td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Funds for a hard drive and USB enclosure </td>
<td> cperciva </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Logitech Cordless Desktop MX5000 Laser </td>
<td> markus </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel &lt;DS@praxisvermittlung24.de&gt;,
Seuffert &amp; Waidmann</tt> </td>
<td> Main server:
1U rackmount chassis,
Intel Entry Server Board S845WD1-E,
Pentium 4 2.53 GHz CPU,
2 512MB RAM,
2 150GB PATA
</td>
<td> FreeBSD Russian Documentation Project </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Tamouh H. &lt;tamouh@mediumcube.com&gt;</tt> </td>
<td> PC power supply </td>
<td> kris </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Sten Spans &lt;sten@blinkenlights.nl&gt;</tt> </td>
<td> em(4) GbE card </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td><tt>Chidananda Jayakeerti &lt;ajchida@gmail.com&gt;</tt></td>
<td>AMD Athlon64 desktop:
ECS Nforce 4 motherboard,
AMD Athlon64 3500+ CPU,
512MB DDR 400,
200GB SATA,
16x DVD-ROM,
8MB AGP video
</td>
<td>glewis</td>
<td>Received</td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> AlphaPC164sx, 512MB RAM, 4.5GB SCSI disk, Qlogic SCSI HBA</td>
<td> dunstan </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>trhodes</tt> </td>
<td> USD 500 in cash for BSDCan trip. </td>
<td> ru </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>hrs</tt> </td>
<td> <a href="http://www.sparc.org">UltraSPARC laptop</a> </td>
<td> ru </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>asdf</tt> </td>
<td> 4 SCSI hard drives </td>
<td> marcel, thompsa, kan </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Steve Quirk</tt> </td>
<td> Sun Ultra 10 </td>
<td> jkoshy </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Paul Ghering &lt;pghering@xs4all.nl&gt;</tt> </td>
<td> Asus AP1400R 1U server </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>remko</tt> </td>
<td> 4 Keytronic Lifetime Designer Keyboards </td>
<td> flz </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Mike Tancsa</tt> </td>
<td> Four fiber em(4) NICs, two copper bge(4) NICs </td>
<td> glebius, oleg, yar, ru </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Paul Ghering &lt;pghering@xs4all.nl&gt;</tt> </td>
<td> NatSemi Geode based Web/TV appliance </td>
<td> sos </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Paul Ghering &lt;pghering@xs4all.nl&gt;</tt> </td>
<td> NatSemi Geode based Web/TV appliance </td>
<td> markm </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Paul Ghering &lt;pghering@xs4all.nl&gt;</tt> </td>
<td> NatSemi Geode based Web/TV appliance </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>netchild</tt> </td>
<td> 3Com Wireless LAN 54 MBit adapter,
Netgear RangeMax Wireless USB WPN111GR 108 MBit adapter,
Anycom Blue USB-250 adapter </td>
<td> hselasky </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Martin Nilsson (<a href="http://www.mullet.se">Mullet
Scandinavia AB</a>)</tt> </td>
<td> Seagate 80GB ATA disk,
Samsung 512MB PC3200 RAM </td>
<td> joel </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>lawrence</tt> </td>
<td> 512MB RAM </td>
<td> simon </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Hans Beeksma</tt> </td>
<td> multiple PCMCIA modems &amp; NICs </td>
<td> imp </td>
<td> Shipped </td>
</tr>
<tr>
<td> <tt>Paul Ghering &lt;pghering@xs4all.nl&gt; via wilko</tt> </td>
<td> NatSemi Geode based Web/TV appliance </td>
<td> ariff </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Justin Pessa</tt> </td>
<td> Sun Netra X1 </td>
<td> shaun </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> various PCMCIA cards </td>
<td> <tt>imp</tt> </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Paul Ghering &lt;pghering@xs4all.nl&gt; via wilko</tt> </td>
<td> NatSemi Geode based Web/TV appliance for the FreeNAS project</td>
<td> Olivier Cochard-Labbe &lt;olivier@freenas.org&gt; </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Joe Altman</tt> </td>
<td> Linksys USB ethernet adapter </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Uwe Laverenz &lt;uwe@laverenz.de&gt;</tt> </td>
<td> Ultrabay Slim battery for IBM ThinkPad T41p </td>
<td> markus </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Andrejs Guba (<a href="http://wimax.eu">WiMAX</a>)</tt> </td>
<td> FUJITSU DISK DRIVE 2.5-inch 60GB SATA - MHV2060BH </td>
<td> matteo </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Andrejs Guba (<a href="http://wimax.eu">WiMAX</a>)</tt> </td>
<td> U320 1 channel SCSI CARD - LSI Logic LSI20320C-HP U320 SCSI
PCI-X 133MHz </td>
<td> mjacob </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Bryan Kaplan</tt> </td>
<td> Dell Managed 2708 8-port gig switch </td>
<td> glebius </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Nicole Harrington and Picturetail.com</tt> </td>
<td> Various SCSI drives, cables, and cards for mjacob,
Dual P3 motherboard with chips and RAM for mpp,
146GB SCSI disk for glebius, various other system
components (network cards, CPUs, CPU fans) waiting
for other committers if/when they need it. </td>
<td> All components delivered to trhodes. </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>netchild</tt> </td>
<td> Pentium 4 2,4GHz CPU, Heatsink + CPU Cooler </td>
<td> joel </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>rink</tt> </td>
<td> 2 18GB SCA disks </td>
<td> xride </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>markus</tt> </td>
<td> Sun 100MBit SBus NIC </td>
<td> shaun </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Holger Jeromin</tt> </td>
<td> D-Link DFE-570TX NIC </td>
<td> njl </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>brueffer</tt> </td>
<td> Adaptec ANA-62022 NIC </td>
<td> danfe </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Walter Kiel</tt> </td>
<td> ECS ELITEGROUP 915P-A motherboard + CPU </td>
<td> ade </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Gareth Randall</tt> </td>
<td> Sun Netra t1 </td>
<td> philip </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Garrett Cooper</tt> </td>
<td> Seagate 73GB SCSI disk + 2x Adaptec 2940 U2W controllers and
cables </td>
<td> rink </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Anand S Athreya &amp; Srinivas Podila
(<a href="http://www.juniper.net/">Juniper</a>)</tt> </td>
<td> Dell E520 CPU </td>
<td> jkoshy </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Chess Griffin</tt> </td>
<td> VIA EPIA-M system </td>
<td> brueffer </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Mariusz J. Handke</tt> </td>
<td> SCSI disks + DIMMs </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Christoph Haas &lt;ch@dorsia.de&gt;</tt> </td>
<td> Sun Ultra 60:
2x 450MHz UltraSPARC II, 2GB RAM, 2x 9GB SCSI drives,
QLogic 2200F FC controller<br/>
Sun StorEdge T3 with 9x 36GB FC drives </td>
<td> markus </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>carvay</tt> </td>
<td> hard drive mounting kit for Soekris net4801 </td>
<td> arved </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>brueffer</tt> </td>
<td> soekris vpn1401 </td>
<td> simon </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> Sun Ultra 5 </td>
<td> rink </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel Austin &lt;me@dan.me.uk&gt;</tt> </td>
<td> DIMMs plus ATA disks </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel Austin &lt;me@dan.me.uk&gt;</tt> </td>
<td> DIMMs plus ATA disks </td>
<td> rink </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel Austin &lt;me@dan.me.uk&gt;</tt> </td>
<td> ATA disks </td>
<td> joel </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Daniel Austin &lt;me@dan.me.uk&gt;</tt> </td>
<td> WinTV PCI Tuner card </td>
<td> gavin </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Edwin Verplanke &lt;edwin.verplanke@intel.com&gt;</tt> </td>
<td> Intel D3C6132 Software Development Platform </td>
<td> jkoshy </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Charles Smeijer</tt> </td>
<td> AMD Opteron 250 CPU </td>
<td> des </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> Asus AP1400R 1U server </td>
<td> rink </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>rpaulo</tt> </td>
<td> VIA XinE Firewire OHCI (PCI) </td>
<td> mlaier </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Steve Rikli</tt> </td>
<td> Ultra2 2x400Mhz, 2GB RAM, 2x72GB disks, CDROM </td>
<td> linimon </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Dax Kelson (<a href="http://www.gurulabs.com/training/">Guru Labs</a>)</tt> </td>
<td> Nvidia Geforce 6800 GT </td>
<td> rnoland </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>bms</tt> </td>
<td> Netgear WGT634U </td>
<td> gonzo </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Mike Partin</tt> </td>
<td> 4 x Dell 2550 dual P-III 2U servers<br/>
1 x Dell 6550 quad Xeon 4U server<br/>
2 x IBM Netfinity 400R dual P-III 1U servers</td>
<td> linimon </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Colin Jensen</tt> </td>
<td> 4.4BSD Manuals from O'Reilly </td>
<td> marcel </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Charles Smeijer</tt> </td>
<td> HP/CPQ Gb NIC NC7770, PCI-X 133 HP p/n 284685-003 Rev 0G<br/>
HP/CPQ Gb NIC NC7770, PCI-X 133 HP p/n 284685-003 Rev 0E<br/>
HP/CPQ Dual port Gb NIC NC7170, PCI-X 133 HP p/n 313559-001 Rev 0A<br/>
SMC Fast ethernet USB NIC p/n 98-012084-585<br/>
IBM Gb NIC PCI-X 133 p/n 00P6130<br/>
HP DAT72 data cartridge 72 GB </td>
<td> ed </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>brooks</tt> </td>
<td> 2 DDR400 256MB DIMMs </td>
<td> wilko </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Edson Brandi &lt;ebrandi@fugspbr.org&gt;</tt> </td>
<td> BrookTree chipset TV Capture Card BT878 </td>
<td> lioux </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Charles Smeijer</tt> </td>
<td> HP JetDirect 175x print server </td>
<td> rpaulo </td>
<td> Received </td>
</tr>
<tr>
<td> <tt><a href="http://www.gateworks.com/">Gateworks Corporation</a></tt> </td>
<td> Cambria GW2358-4 board </td>
<td> rpaulo </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Alexis Megas &lt;megas@alum.rpi.edu&gt;</tt> </td>
<td> Sun Ultra Sparc 60 </td>
<td> glewis </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>bms</tt> </td>
<td> MPLS and Label Switching Networks book </td>
<td> rpaulo </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>bms</tt> </td>
<td> See MIPS Run book </td>
<td> stas </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Justin Settle</tt> </td>
<td> Kuma Athlon 7750 </td>
<td> jkim </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Justin Settle</tt> </td>
<td> HTPC Machine </td>
<td> wxs </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Justin Settle</tt> </td>
<td> Soekris 5501 </td>
<td> lstewart </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>gavin</tt> </td>
<td> 3 Zip 100 drives<br/>
3 3ware cards</td>
<td> mav </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Gareth Randall</tt> </td>
<td> HP C1636-00100 SCSI tape drive </td>
<td> cracauer </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Ivan Jedek</tt> </td>
<td> 2 Sun Fire V65 </td>
<td> miwi (for pkg build cluster) </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Gareth Randall</tt> </td>
<td> USB card </td>
<td> gj </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Kyle Anderson (tummy.com)</tt> </td>
<td> 6 SuperMicro servers </td>
<td> brd (firewalls and infrastructure servers <br/>
for the new NYC FreeBSD co-location) </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Garrett Cooper</tt> </td>
<td> Cisco 877WAGN router </td>
<td> ehaupt </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Garrett Cooper</tt> </td>
<td> Linksys WRT160N wireless router </td>
<td> dougb </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>grehan</tt> </td>
<td> Apple XServe G5 </td>
<td> portmgr (for pkg build cluster) </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Garrett Cooper</tt> </td>
<td> 2GB PC6400 DDR2 Corsair RAM module </td>
<td> fjoe </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>sson</tt> </td>
<td> PowerMac G4 </td>
<td> stas </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>sson</tt> </td>
<td> PowerMac G4 </td>
<td> rnoland </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Raymond Vetter</tt> </td>
<td> Sun Ultra 5 </td>
<td> gahr </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>jmallett</tt> </td>
<td> Cavium Octeon MIPS </td>
<td> gonzo </td>
<td> Received </td>
</tr>
<tr>
<td> <tt>Raymond Vetter</tt> </td>
<td> Sitecom CN-500 </td>
<td> itetcu </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Raymond Vetter</tt> </td>
<td> 3xIDE cables<br/>
FDD cable<br/>
VGA cable<br/>
serial cable<br/>
2xCAT7 ethernet cable<br/> </td>
<td> romain </td>
<td> received </td>
</tr>
<tr>
<td> <tt>ds</tt> </td>
<td> memory modules and hard disks </td>
<td> pgj </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Raymond Vetter</tt> </td>
<td> Netier NetXpress XL1000 </td>
<td> rink </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Raymond Vetter</tt> </td>
<td> IBM Thinkpad port replicator </td>
<td> brueffer </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Andreas Thalau</tt> </td>
<td> 512MB PC2700 SO-DIMM RAM module </td>
<td> brueffer </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Andreas Thalau</tt> </td>
<td> Sharp Zaurus SL-5500G </td>
<td> itetcu </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Travis Thaxton</tt> </td>
<td> Dell Optiplex 960 </td>
<td> ade </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Travis Thaxton</tt> </td>
<td> Dell 22" LCD monitor</td>
<td> delphij </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Travis Thaxton</tt> </td>
<td> Dell 22" LCD monitor</td>
<td> dougb</td>
<td> received</td>
</tr>
<tr>
<td> <tt>Olivier Cochard-Labbe</tt> </td>
<td> Sun Blade 150</td>
<td> fjoe</td>
<td> received</td>
</tr>
<tr>
<td> <tt>Andreas Thalau</tt> </td>
<td> Level One GSW-0502T gigabit switch </td>
<td> lme </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Raymond Vetter</tt> </td>
<td> ATI Radeon 9800 </td>
<td> fjoe </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Anton Shterenlikht</tt> </td>
<td> 1x Asus WL-107g (Ralink RT2560 + RT2525, ral(4))<br/>
1x MSI CB54G2 (Ralink RT2560 + RT2525, ral(4))<br/>
1x Sitecom WL-112 (Ralink RT2560 + RT2525, ral(4))<br/>
1x Zonet ZEW1500 (PRISM GT/ISL3890, no driver)<br/>
1x Linksys WPC11v4 (Realtek RTL8180L, no driver)</td>
<td> bschmidt </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Garrett Cooper</tt> </td>
<td> Core2Duo-based i386 machine </td>
<td> bf </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Garrett Cooper</tt> </td>
<td> PowerMac G5 </td>
<td> dchagin </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Eimar Koort &lt;eimar.koort@gmail.com&gt;</tt> </td>
<td> Sun Microsystems Sun Fire V210 </td>
<td> marius </td>
<td> received </td>
</tr>
<tr>
<td> <tt>wilko</tt> </td>
<td> 4x 72GB FibreChannel disk for the sparc package building machine</td>
<td> marius </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Jean-Michel Poure</tt> </td>
<td> Feitian R-301 and ePass2003</td>
<td> arved </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Lyndon Nerenberg</tt> </td>
<td> Sun Microsystems Sun Fire V100</td>
<td> tabthorpe </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Anton Shterenlikht</tt> </td>
<td> Linksys WPC11 ver.3 (no driver)<br/>
US Robotics USR5410 (Texas Instruments, no driver)<br/>
Cisco Aironet 350 (no driver)<br/>
Linksys WPC54G ver3.1 (Broadcom BCM4318, bwi(4))<br/>
NEC CMZ-RT-WP (NEC CMZ-RT-WP, wi(4), unsupported)<br/>
Netgear WG111v2 (Realtek RTL8187L, urtw(4))</td>
<td> adrian </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Garrett Cooper</tt> </td>
<td> Macbook 2.2GHz Santa Rosa </td>
<td> marcel </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Garrett Cooper</tt> </td>
<td> 2x 4GB 1333 DDR3 ECC RAM banks </td>
<td> garga </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Marco Dola</tt> </td>
<td> 2x Kingston KVR1333D3N9/2G RAM banks </td>
<td> gavin </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Greg Larkin</tt> </td>
<td> Belkin #F1D066 OmniView PS/2 KVM Switch <br/>
+ 6 foot VGA cables <br/>
+ 6 foot PS/2&lt;-&gt;PS/2 keyboard/or mouse cables </td>
<td> bf </td>
<td> received </td>
</tr>
<tr>
<td> <tt>Greg Larkin</tt> </td>
<td> Mac G4 Cube 500Mhz PowerPC </td>
<td> alfred </td>
<td> received </td>
</tr>
<tr>
<td> <tt>David Boyd &lt;David.Boyd@insightbb.com&gt;</tt> </td>
<td> Digi AccelePort with fan-out cables </td>
<td> marcel </td>
<td> received </td>
</tr>
+
+ <tr>
+ <td> <tt>Tim Kientzle</tt> </td>
+ <td> Dell PowerEdge R510 server <br/>
+ + Linksys SFE2010 switch </td>
+ <td> sbruno </td>
+ <td> received </td>
+ </tr>
</table>
</body>
</html>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/news/status/Makefile
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/news/status/Makefile (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/news/status/Makefile (revision 42804)
@@ -1,72 +1,73 @@
# $FreeBSD$
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS= status.xml
XMLDOCS= report-2001-06
XMLDOCS+= report-2001-07
XMLDOCS+= report-2001-08
XMLDOCS+= report-2001-09
XMLDOCS+= report-2001-11
XMLDOCS+= report-2001-12-2002-01
XMLDOCS+= report-2002-02-2002-04
XMLDOCS+= report-2002-05-2002-06
XMLDOCS+= report-2002-07-2002-08
XMLDOCS+= report-2002-09-2002-10
XMLDOCS+= report-2002-11-2002-12
XMLDOCS+= report-2003-01-2003-02
XMLDOCS+= report-2003-03-2003-09
XMLDOCS+= report-2003-10-2003-12
XMLDOCS+= report-2004-01-2004-02
XMLDOCS+= report-2004-03-2004-04
XMLDOCS+= report-2004-05-2004-06
XMLDOCS+= report-2004-07-2004-12
XMLDOCS+= report-2005-01-2005-03
XMLDOCS+= report-2005-03-2005-06
XMLDOCS+= report-2005-07-2005-10
XMLDOCS+= report-2005-10-2005-12
XMLDOCS+= report-2006-01-2006-03
XMLDOCS+= report-2006-04-2006-06
XMLDOCS+= report-2006-06-2006-10
XMLDOCS+= report-2006-10-2006-12
XMLDOCS+= report-2007-01-2007-03
XMLDOCS+= report-2007-04-2007-06
XMLDOCS+= report-2007-07-2007-10
XMLDOCS+= report-2007-10-2007-12
XMLDOCS+= report-2008-01-2008-03
XMLDOCS+= report-2008-04-2008-06
XMLDOCS+= report-2008-07-2008-09
XMLDOCS+= report-2008-10-2008-12
XMLDOCS+= report-2009-01-2009-03
XMLDOCS+= report-2009-04-2009-09
XMLDOCS+= report-2009-10-2009-12
XMLDOCS+= report-2010-01-2010-03
XMLDOCS+= report-2010-04-2010-06
XMLDOCS+= report-2010-07-2010-09
XMLDOCS+= report-2010-10-2010-12
XMLDOCS+= report-2011-01-2011-03
XMLDOCS+= report-2011-04-2011-06
XMLDOCS+= report-2011-07-2011-09
XMLDOCS+= report-2011-10-2011-12
XMLDOCS+= report-2012-01-2012-03
XMLDOCS+= report-2012-04-2012-06
XMLDOCS+= report-2012-07-2012-09
XMLDOCS+= report-2012-10-2012-12
XMLDOCS+= report-2013-01-2013-03
XMLDOCS+= report-2013-04-2013-06
XMLDOCS+= report-2013-05-devsummit
+XMLDOCS+= report-2013-07-2013-09
XSLT.DEFAULT= report.xsl
# Install a sample <project> entry.
DATA= report-sample.xml
INDEXLINK= status.html
.include "${DOC_PREFIX}/share/mk/web.site.mk"
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/news/status/README
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/news/status/README (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/news/status/README (revision 42804)
@@ -1,172 +1,174 @@
Compiling status reports - best practices
1) Call for reports
- Are usually sent to freebsd-hackers@ CC freebsd-current@ as the lists
with the most usual suspects for submitting reports. Forward to
developers@ as well. Also ping individuals which are known to have
something cooking.
- The xml-template is at:
http://www.freebsd.org/news/status/report-sample.xml and the generator
CGI at: http://www.freebsd.org/cgi/monthly.cgi at the time of this
writing. Make sure to keep them up to date with regard to categories
to pick from and place them prominently in the CFR - otherwise people
submit plain text reports and you have to format them yourself.
2) In the past we usually had to extend the deadline by a week in order to
get everybody to report. Starting early with kind reminders seems to
help ;)
3) The following groups should be definitely approached for a report on
their recent activities:
- core@, portmgr@, doceng@, secteam@, re@, postmaster@, clusteradm@,
- devsummit@
- - FreeBSD Foundation (deb@), participants of FreeBSD-Foundation-sponsored
- projects, rwatson@ can give hint useful hints on that.
+ devsummit@ (team reports).
+ - FreeBSD Foundation (emaste@), participants of Foundation-sponsored
+ projects.
- Various conference organizers, depending on the season:
- BSDCan (info@bsdcan.org) May (April-June)
- EuroBSDcon (foundation@eurobsdcon.org) Sept-Oct (October-December)
- AsiaBSDCon (secretary@asiabsdcon.org) March (January-March)
+ - Google Summer of Code students and their mentors (soc-students@ and
+ soc-mentors@, April-June, July-September).
- All submitters for the previous quarterly status report (they may have
updates or further improvements).
Our readers seem to value these reports, so we should try to get them in
if at all possible.
4) Building the report:
- Accumulate the received reports in a single .xml file and use tidy(1) to
get them well-formatted. Usually <url>s without a description are missing
the closing "/>" which is the cause for most of the errors you will
encounter. Sometimes other closing tags are missing.
- Invoking tidy with the following options seems to cause the fewest
problems: tidy -xml -i -wrap 74 -latin1 -preserve
- Some special characters still break with that - noticed when sos@
submits a report.
- Remove empty "<help></help>" sections, they cause a strange looking
newline.
- The <body> part usually needs a hand to make it proper html. Use <a
href=""> here, not <url>.
- Lists come out best if you close the <p> before and start a new one
after, like:
... blabla:</p>
<ul>
<li>some item</li>
</ul>
<p>Some more blabla ...
- Review and commit the reports immediately as they are coming in. Hook the
resulting XML to the build for the first time but do not link to it from
anywhere. This gives time for other committers to review and suggest
minor changes.
5) After a couple of iterations of the above, wrap the whole thing in a
report template:
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE report PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for Status
Report//EN"
"http://www.FreeBSD.org/XML/www/share/xml/statusreport.dtd">
<!-- $FreeBSD$ -->
<report>
<date>
<month>July-September</month>
<year>2006</year>
</date>
<section>
<title>Introduction</title>
<p>SUMMARY GOES HERE</p>
<p>Thanks to all the reporters for the excellent work! We hope you
enjoy reading.</p>
</section>
<category>
<name>soc</name>
<description>Google Summer of Code</description>
</category>
<category>
<name>proj</name>
<description>Projects</description>
</category>
<category>
<name>team</name>
<description>FreeBSD Team Reports</description>
</category>
<category>
<name>net</name>
<description>Network Infrastructure</description>
</category>
<category>
<name>kern</name>
<description>Kernel</description>
</category>
<category>
<name>docs</name>
<description>Documentation</description>
</category>
<category>
<name>bin</name>
<description>Userland Programs</description>
</category>
<category>
<name>arch</name>
<description>Architectures</description>
</category>
<category>
<name>ports</name>
<description>Ports</description>
</category>
<category>
<name>misc</name>
<description>Miscellaneous</description>
</category>
</report>
Categories are subject to change obviously. They come out in the order
as stated in the report. After another round of tidy(1) try to balance
the categories. Put things where they belong best, retire categories
that don't fill up, etc. Adding it to your local build and looking at
the html helps. Make sure you have an up-to-date doc tree.
6) Sending it out:
- Explicitly mail all the submitters (in BCC:) with the link pointing to
the HTML version of the prepared report so they could check their
entries before publication. It is wise to set an exact deadline for
this, in order to avoid late comments.
- After a few days, collate and commit the changes. Also update the
next due date in status.xml and link to the new report.
- Add a news entry to head/share/xml/news.xml. Template:
<event>
<title>June-October 2006 Status Report</title>
<p>The <a
href="&enbase;/news/status/report-2006-06-2006-10.html">June to October 2006 Status Report</a>
is now available with 49 entries.</p>
</event>
- Extract a text version with the command
lynx -dump -nolist report.html > report.txt and prettify it.
- Send out To: hackers, CC: current, stable. New email to: announce@.
This needs to be approved, so find someone who can do that before you
start.
7) Repeat.
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/news/status/report-2013-07-2013-09.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/news/status/report-2013-07-2013-09.xml (nonexistent)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/news/status/report-2013-07-2013-09.xml (revision 42804)
@@ -0,0 +1,525 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE report PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for Status Report//EN" "http://www.FreeBSD.org/XML/www/share/xml/statusreport.dtd" >
+<!-- $FreeBSD$ -->
+<report>
+ <date>
+ <month>July-September</month>
+
+ <year>2013</year>
+ </date>
+
+ <section>
+ <title>Introduction</title>
+
+ <p>This report covers &os;-related projects between July and
+ September 2013. This is the third of four reports planned for
+ 2013.</p>
+
+ <!-- XXX: introduction goes here -->
+
+ <!-- XXX: keep updating the number of entries -->
+ <p>Thanks to all the reporters for the excellent work! This report
+ contains 10 entries and we hope you enjoy reading it.</p>
+
+ <!-- XXX: set date for the next set of submissions -->
+ <p>The deadline for submissions covering between October and
+ December 2013 is not yet decided.</p>
+ </section>
+
+ <category>
+ <name>team</name>
+
+ <description>&os; Team Reports</description>
+ </category>
+
+ <category>
+ <name>proj</name>
+
+ <description>Projects</description>
+ </category>
+
+ <category>
+ <name>kern</name>
+
+ <description>Kernel</description>
+ </category>
+
+ <category>
+ <name>ports</name>
+
+ <description>Ports</description>
+ </category>
+
+ <category>
+ <name>doc</name>
+
+ <description>Documentation</description>
+ </category>
+
+ <category>
+ <name>soc</name>
+
+ <description>Google Summer of Code</description>
+ </category>
+
+ <project cat='kern'>
+ <title>AES-NI Improvements for GELI</title>
+
+ <contact>
+ <person>
+ <name>
+ <given>John-Mark</given>
+ <common>Gurney</common>
+ </name>
+ <email>jmg@FreeBSD.org</email>
+ </person>
+ </contact>
+
+ <links>
+ <url href="http://svnweb.freebsd.org/base?view=revision&amp;revision=255187"/>
+ </links>
+
+ <body>
+ <p>An enhancement to the AES-NI implementation for OpenCrypto has
+ been committed that significantly improves AES-XTS and AES-CBC
+ decryption performance. This gives <tt>geli(8)</tt> around a
+ three times performance boost on <tt>gnop(8)</tt> using AES-XTS
+ compared to the old code.</p>
+
+ <p>These improvements are available to users of the OpenCrypto
+ framework and <tt>crypto(4)</tt>.</p>
+ </body>
+ </project>
+
+ <project cat='proj'>
+ <title>Static Code Analysis</title>
+
+ <contact>
+ <person>
+ <name>
+ <given>Ulrich</given>
+ <common>Spoerlein</common>
+ </name>
+ <email>uqs@FreeBSD.org</email>
+ </person>
+ </contact>
+
+ <links>
+ <url href="http://scan.coverity.com/">Coverity Scan</url>
+ <url href="http://scan.freebsd.your.org/">Clang Static Analyzer Scan for &os;</url>
+ <url href="http://clang-analyzer.llvm.org/">Clang Static Analyzer Home Page</url>
+ </links>
+
+ <body>
+ <p>With our own (old and unstable) instance of Coverity Prevent
+ gone, we have now fully transitioned to the Scan project run by
+ Coverity (see links), which Open Source projects can use to
+ learn about possible defects in their source code.</p>
+
+ <p>We also continue to run our code base through the Static
+ Analyzer that is shipped with Clang/LLVM. It cannot track the
+ state of the code over time, but has the benefit that everyone
+ can use it without any special setup. See the home page at the
+ links section for more information on the Clang Static Analyzer
+ project in general, and head over to the &os; Clang Static
+ Analyzer Scan page (see links) to see those possible defects (no
+ signup required).</p>
+
+ <p>We are looking for a co-admin for both of these projects to
+ increase the bus-factor and the chance of survival for these
+ services. Fame and fortune await!</p>
+ </body>
+
+ <help>
+ <task>Maybe turn on email reports for new defects to the internal
+ list of &os; developers.</task>
+
+ <task>Find co-admin.</task>
+
+ <task>Fix the defects reported by Coverity and Clang.</task>
+ </help>
+ </project>
+
+ <project cat='kern'>
+ <title>GEOM Direct Dispatch and Fine-Grained CAM Locking</title>
+
+ <contact>
+ <person>
+ <name>
+ <given>Alexander</given>
+ <common>Motin</common>
+ </name>
+ <email>mav@FreeBSD.org</email>
+ </person>
+ </contact>
+
+ <links>
+ <url href="http://svnweb.freebsd.org/base/projects/camlock/">Project SVN branch</url>
+ <url href="http://people.freebsd.org/~mav/camlock_patches/">Project patches</url>
+ </links>
+
+ <body>
+ <p>Last year's high-performance storage vendors reported a
+ performance bottleneck in the &os; block storage subsystem,
+ limiting peak performance around 300-500K IOPS. While that is
+ still more than enough for average systems, detailed
+ investigation has shown a number of places that require radical
+ improvement. Unmapped I/O support implemented early this year
+ already improved I/O performance by about 30% and moved more
+ accents toward GEOM and CAM subsystems scalability. Fixing
+ these issues was the goal of this project.</p>
+
+ <p>The existing GEOM design assumed most I/O handling to be done
+ by only two kernel threads (<tt>g_up()</tt> and
+ <tt>g_down()</tt>). That simplified locking in some cases, but
+ limited potential SMP scalability and created additional
+ scheduler overhead. This project introduces the concept of
+ direct I/O dispatch into GEOM for cases where it is known to be
+ safe and efficient. That implies marking some GEOM consumers
+ and providers with one or two new flags, declaring situations
+ when a direct function call can be used instead of normal request
+ queuing. That allows avoiding any context switches inside GEOM
+ for the most widely used topologies, simultaneously processing
+ multiple I/Os from multiple calling threads.</p>
+
+ <p>Having GEOM passing through multiple concurrent calls down to
+ the underlying layers exposed major lock congestion in CAM. In
+ the existing CAM design all devices connected to the same ATA/SCSI
+ controller are sharing a single lock, which can be quite busy due
+ to multiple controller hardware accesses and/or code logic.
+ Experiments have shown that applying only the above GEOM direct
+ dispatch changes burns up to 60% of system CPU time or even more
+ in attempts to obtain these locks by multiple callers, killing
+ any benefits of GEOM direct dispatch. To overcome that, new
+ fine-grained CAM locking design was implemented. It implies
+ splitting big per-SIM locks into several smaller ones: per-LUN
+ locks, per-bus locks, queue locks, etc. After these changes,
+ the remaining per-SIM lock protects only the controller driver
+ internals, reducing lock congestion down to an acceptable level
+ and keeping keep compatibility with existing drivers.</p>
+
+ <p>Together, GEOM and CAM changes double the peak I/O rate,
+ reaching up to 1,000,000 IOPS on contemporary hardware.</p>
+
+ <p>The changes were tested by a number of people and will be
+ committed into &os; <tt>head</tt> and merged to
+ <tt>stable/10</tt> after the end of the &os; 10.0 release
+ cycle.</p>
+
+ <p>The project is sponsored by iXsystems, Inc.</p>
+ </body>
+
+ <help>
+ <task>More reviews, more stability and performance tests.</task>
+ </help>
+ </project>
+
+ <project cat='kern'>
+ <title>VMware VMXNET3 Driver</title>
+
+ <contact>
+ <person>
+ <name>
+ <given>Bryan</given>
+ <common>Venteicher</common>
+ </name>
+ <email>bryanv@freebsd.org</email>
+ </person>
+ </contact>
+
+ <links>
+ <url href="http://lists.freebsd.org/pipermail/freebsd-current/2013-August/043494.html"/>
+ <url href="http://svnweb.freebsd.org/base/head/sys/dev/vmware/vmxnet3/"/>
+ </links>
+
+ <body>
+ <p>A port of the OpenBSD <tt>vmx(4)</tt> ethernet driver has been
+ committed. The driver can be used in place of the VMware Tools
+ <tt>vmxnet3</tt> driver, which currently does not support
+ 10.0-RELEASE (or anything past 9.0-RELEASE).</p>
+ </body>
+
+ <help>
+ <task>Performance improvements, multiqueue support.</task>
+ <task>Merge to <tt>stable/9</tt>.</task>
+ </help>
+ </project>
+
+ <project cat='kern'>
+ <title>VirtIO Network Multiqueue</title>
+
+ <contact>
+ <person>
+ <name>
+ <given>Bryan</given>
+ <common>Venteicher</common>
+ </name>
+ <email>bryanv@freebsd.org</email>
+ </person>
+ </contact>
+
+ <links>
+ <url href="http://svnweb.freebsd.org/changeset/base/255112"/>
+ </links>
+
+ <body>
+ <p>The VirtIO network driver, <tt>vtnet(4)</tt>, recently gained
+ support for multiple queues, along with a significant cleanup
+ and support for a few additional features.</p>
+ </body>
+ </project>
+
+ <project cat='ports'>
+ <title>&os; Python Ports</title>
+
+ <contact>
+ <person>
+ <name>
+ <given>&os;</given>
+ <common>Python Team</common>
+ </name>
+ <email>python@FreeBSD.org</email>
+ </person>
+ </contact>
+
+ <links>
+ <url href="https://wiki.FreeBSD.org/Python">The &os; Python Team Page</url>
+ <url href="irc://freebsd-python@irc.freenode.net">IRC channel</url>
+ </links>
+
+ <body>
+ <p>We are currently working on cleaning up the
+ <tt>lang/python*</tt> ports to improve the compatibility with
+ the original upstream build behaviour and to lower the need for
+ &os;-specific build patches. A first step was made in September
+ by reducing the flags injected into the different Python
+ interpreter versions.</p>
+
+ <p>The first tasks for supporting the installation of packages for
+ different Python ports have been done. A new metaport structure
+ has replaced the original Python port behaviour and will be
+ enhanced over the next months to enable improved installation
+ support of packages for different Python versions at the same
+ time.</p>
+
+ <p>The Python ports framework was enhanced by automated packaging
+ list creation and replacement macros, which improve the
+ compatibility with multiple Python versions and reduce the
+ packaging list sizes.</p>
+
+ <p>PyPy was heavily enhanced over the last couple of months.
+ Major updates of the port solved integration issues and a new
+ <tt>pypy-devel</tt> port for snapshots and previews was added.
+ Since the PyPy&nbsp;3 release, there is a new
+ <tt>pypy3-devel</tt> port available to provide not only
+ compatibility for Python&nbsp;2.x specific scripts, but also for
+ those using the 3.x language specification.</p>
+
+ <p>IronPython found its way into the &os; ports tree, which
+ provides an implementation of the Python language based on .NET
+ and Mono.</p>
+ </body>
+
+ <help>
+ <task>Develop a high-level and lightweight Python Ports
+ Policy.</task>
+
+ <task>Chase the unification of Distribute
+ (<tt>devel/py-distribute</tt>) and Setuptools
+ (<tt>devel/py-setuptools*</tt>).</task>
+
+ <task>Add support for granular dependencies (for example
+ <tt>>=1.0</tt> or <tt>&lt; 2.0</tt>).</task>
+
+ <task>Look at what adding <tt>pip</tt> (Python Package Index)
+ support looks like.</task>
+
+ <task>More tasks can be found on the Team's wiki page (see
+ links).</task>
+ </help>
+ </project>
+
+ <project cat='doc'>
+ <title>The <tt>entities</tt> Documentation Branch</title>
+
+ <contact>
+ <person>
+ <name>
+ <given>René</given>
+ <common>Ladan</common>
+ </name>
+ <email>rene@FreeBSD.org</email>
+ </person>
+ </contact>
+
+ <links>
+ <url href="http://svnweb.freebsd.org/changeset/doc/42226"/>
+ </links>
+
+ <body>
+ <p>The <tt>entities</tt> project branch has been succesfully
+ merged into the main documentation branch per revision 42226 of
+ the <tt>doc</tt> repository (see link). The purpose of this
+ branch was to remove the duplicated definitions of authors in
+ both <tt>authors.ent</tt> and <tt>developers.ent</tt>. The
+ latter file has been removed after migrating its contents to the
+ former file. While most changes are not visible to end users,
+ the Committers Guide was changed to accomodate for changes
+ related to adding a new committer. Translators were also
+ informed of the update. The largest hurdle mentioned in the
+ last report, processing the <tt>&lt;email&gt;</tt> element, was
+ solved with the help of Gábor Kövesdán.</p>
+ </body>
+ </project>
+
+ <project cat='team'>
+ <title>&os; Release Engineering Team</title>
+
+ <contact>
+ <person>
+ <name>&os; Release Engineering Team</name>
+ <email>re@FreeBSD.org</email>
+ </person>
+ </contact>
+
+ <links>
+ <url href="http://www.FreeBSD.org/releases/9.2R/schedule.html">&os;&nbsp;9.2-RELEASE schedule</url>
+ <url href="http://www.FreeBSD.org/releases/10.0R/schedule.html">&os;&nbsp;10.0-RELEASE schedule</url>
+ <url href="http://ftp.FreeBSD.org/pub/FreeBSD/snapshots/VM-IMAGES/">&os;&nbsp;Virtual Machine Images</url>
+ <url href="http://ftp.FreeBSD.org/pub/FreeBSD/snapshots/ISO-IMAGES/">&os;&nbsp;Development Snapshots</url>
+ </links>
+
+ <body>
+ <p>The &os; Release Engineering Team is wrapping up the
+ 9.2-RELEASE process. At the time of this writing, the 9.2-RC4
+ builds have begun, which unless any major last-minute issues are
+ discovered, is expected to the be final release candidate for
+ the 9.2-RELEASE cycle.</p>
+
+ <p>The &os;&nbsp;10.0-RELEASE cycle has started, and testing is
+ strongly encouraged. For testing purposes, both installation
+ images and virtual machine images exist on the &os;&nbsp;Project
+ FTP servers.</p>
+ </body>
+
+ <help>
+ <task>Test 10.0-CURRENT and report problems.</task>
+ </help>
+ </project>
+
+ <project cat='soc'>
+ <title>Download Manager Service for the Ports Collection</title>
+
+ <contact>
+ <person>
+ <name>
+ <given>Ambarisha</given>
+ <common>Bhatlapenumarthi</common>
+ </name>
+ <email>ambarisha@freebsd.org</email>
+ </person>
+
+ <person>
+ <name>
+ <given>Xin</given>
+ <common>Li</common>
+ </name>
+ <email>delphij@freebsd.org</email>
+ </person>
+ </contact>
+
+ <links>
+ <url href="https://wiki.freebsd.org/SummerOfCode2013/IntellegentDownloadManager">Project wiki page</url>
+ <url href="https://wiki.freebsd.org/IdeasPage/IDMS">More information on DMS</url>
+ </links>
+
+ <body>
+ <p>This is a Google Summer of Code 2013 project that aims to
+ replace the <tt>fetch(1)</tt>-based method for getting
+ distribution files, such as source tarballs, for the third-party
+ applications (ports) with an intelligent Download Manager
+ Service (see links for more information).</p>
+
+ <p>All the modules highlighted in the project wiki have been
+ completed (see links). Specifically:</p>
+
+ <ul>
+ <li>A service which receives and serves download requests. It
+ samples download speeds from different mirrors and uses this
+ information to pick the best mirror on the next request. It
+ can migrate jobs between mirrors if it realizes that a
+ complete download from a different mirror would be faster than
+ proceeding with the mirror it is currently using.</li>
+
+ <li>A status dump feature has also been added to the client
+ (<tt>dmget</tt>) which dumps the information about active
+ downloads, speeds from mirrors, etc.</li>
+ </ul>
+ </body>
+
+ <help>
+ <task>The implementation (especially job migration and dumping
+ status) has not been tested thoroughly. Test the code, write more
+ unit and regression tests.</task>
+ </help>
+ </project>
+
+ <project cat='ports'>
+ <title>&os; Ada Ports</title>
+
+ <contact>
+ <person>
+ <name>
+ <given>John</given>
+ <common>Marino</common>
+ </name>
+ <email>marino@FreeBSD.org</email>
+ </person>
+ </contact>
+
+ <links>
+ <url href="http://www.dragonlace.net"/>
+ </links>
+
+ <body>
+ <p>A few years ago, Ada-based ports almost completely disappeared
+ from the Ports Collection. This was not surprising as
+ FSF&nbsp;GNAT, the only open-source Ada compiler, ceased to
+ build correctly on any BSD flavor and previously built bootstrap
+ compilers would not run on modern &os;, and certainly not on
+ amd64. The first step, see the link for details, was to patch
+ GCC in order to fix GNAT not only on &os;, but DragonFly,
+ NetBSD, and OpenBSD as well. New bootstraps for both i386 and
+ amd64 platforms were produced during this effort. Ada compilers
+ on &os; now pass 100% of the ACATS and GCC testsuites.</p>
+
+ <p>With the first new Ada compiler port was introduced, the
+ GCC&nbsp;4.6-based <tt>lang/gnat-aux</tt>, the GNAT Programming
+ Studio (multilanguage integrated development environment),
+ XML/Ada, and GTkAda were among the first Ada ports
+ resurrected.</p>
+
+ <p>With the latest compiler, <tt>lang/gcc-aux</tt> based on GCC
+ 4.7, a cohesive Ada framework was created with the new
+ <tt>USES=</tt> capability. Currently around 20 ports are part
+ of this framework including Florist, ASIS, GPRbuild, QtAda,
+ AdaControl, AdaBrowse, PolyOrb, and AWS (Ada Web Server).</p>
+
+ <p>The GNAT AUX compiler is also still in use to serve as a basis
+ for the GNATDroid ports which are &os;-to-Android Ada+C cross-compilers.
+ However, these will soon be integrated in the Ada Framework.</p>
+
+ <p>At this point, it looks like that &os; (shared with DragonFly
+ via DPorts) has taken the crown from Debian as the recognized best
+ Ada development platform. The &os; versions of the software are
+ more recent and the Ports Collection has ports not available on
+ Debian, such as LibSparkCrypto, Matreshka library, and the Ahven
+ unit tester.</p>
+
+ <p>Future work potentially includes converting GCC AUX to
+ GCC&nbsp;4.8 to acquire better Ada&nbsp;2012 support, importing
+ Spark&nbsp;2014 into ports when it arrives and to continue to
+ add new Ada ports to the framework.</p>
+ </body>
+ </project>
+</report>
Property changes on: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/news/status/report-2013-07-2013-09.xml
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/xml
\ No newline at end of property
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/c99/style.css
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/c99/style.css (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/c99/style.css (nonexistent)
@@ -1,38 +0,0 @@
-BODY {
-}
-
-BODY TD {
- font-size: 13px;
-}
-
-BODY SMALL {
- width: 615px;
- font-size: 11px;
-}
-
-.heading {
- font-size: 15px;
- background-color: #cbd2ec;
-}
-
-.section {
- font-size: 15px;
- font-weight: bold;
- background-color: #e7e9f7;
-}
-
-.notes {
- font-size: 13px;
- font-weight: normal;
-}
-
-.main {
- width: 615px;
- height: auto;
- text-align: justify;
-}
-
-.list {
- width: 550px;
- height: auto;
-}
Property changes on: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/c99/style.css
___________________________________________________________________
Deleted: svn:keywords
## -1 +0,0 ##
-FreeBSD=%H
\ No newline at end of property
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/c99/index.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/c99/index.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/c99/index.xml (nonexistent)
@@ -1,2445 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
-"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
-<!ENTITY title "FreeBSD C99 and &posix; Conformance Project">
-<!ENTITY email 'standards'>
-
-<!ENTITY imagebase "&base;/gifs">
-
-<!-- Status levels -->
-<!ENTITY status.blank "&nbsp;">
-<!ENTITY status.blocked "<img xmlns='http://www.w3.org/1999/xhtml' src='&imagebase;/blocked.png' width='22' height='22' alt='Blocked'/>">
-<!ENTITY status.done "<img xmlns='http://www.w3.org/1999/xhtml' src='&imagebase;/done.png' width='22' height='22' alt='Done'/>">
-<!ENTITY status.new "<img xmlns='http://www.w3.org/1999/xhtml' src='&imagebase;/not_started.png' width='22' height='22' alt='Not Started'/>">
-<!ENTITY status.n-a "<img xmlns='http://www.w3.org/1999/xhtml' src='&imagebase;/not_planned.png' width='22' height='22' alt='Not Planned'/>">
-<!ENTITY status.wip "<img xmlns='http://www.w3.org/1999/xhtml' src='&imagebase;/in_progress.png' width='22' height='22' alt='In progress'/>">
-
-
-<!-- XXX: should use docbook man entities. -->
-<!ENTITY man.assert.3 "<a xmlns='http://www.w3.org/1999/xhtml' href='http://www.FreeBSD.org/cgi/man.cgi?query=assert&amp;sektion=3'>assert(3)</a>">
-<!ENTITY man.printf.3 "<a xmlns='http://www.w3.org/1999/xhtml' href='http://www.FreeBSD.org/cgi/man.cgi?query=printf&amp;sektion=3'>printf(3)</a>">
-<!ENTITY man.scanf.3 "<a xmlns='http://www.w3.org/1999/xhtml' href='http://www.FreeBSD.org/cgi/man.cgi?query=scanf&amp;sektion=3'>scanf(3)</a>">
-<!ENTITY man.strtod.3 "<a xmlns='http://www.w3.org/1999/xhtml' href='http://www.FreeBSD.org/cgi/man.cgi?query=strtod&amp;sektion=3'>strtod(3)</a>">
-<!ENTITY man.printf.9 "<a xmlns='http://www.w3.org/1999/xhtml' href='http://www.FreeBSD.org/cgi/man.cgi?query=printf&amp;sektion=9'>printf(9)</a>">
-
-<!-- XXX: from doc/en_US.ISO8859-1/share/xml/mailing-lists.ent -->
-<!ENTITY a.standards.subscribe "<a xmlns='http://www.w3.org/1999/xhtml' href='mailto:freebsd-standards-subscribe@FreeBSD.org'>freebsd-standards-subscribe@FreeBSD.org</a>">
-<!ENTITY a.standards "<a xmlns='http://www.w3.org/1999/xhtml' href='mailto:freebsd-standards@FreeBSD.org'>freebsd-standards@FreeBSD.org</a>">
-
-<!-- Non-committer developers. -->
-<!ENTITY a.ryany "Ryan Younce">
-
-]>
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>&title;</title>
-
- <cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
- </head>
-
- <body class="navinclude.developers">
-
- <img src="&imagebase;/c99.jpg" width="550" height="146" border="0"
- alt="FreeBSD C99 &amp; POSIX Conformance Project"/><br/>
-
- <img src="&imagebase;/project_goal.png" width="229" height="36"
- alt="Project Goal"/>
-
- <p class="main">The FreeBSD C99 &amp; &posix; Conformance Project aims
- to implement all requirements of the ISO 9899:1999 (C99) and
- IEEE 1003.1-2001 (POSIX) standards. In cases where aspects of
- these standards cannot be followed, those aspects will be documented
- in the c99(7) or posix(7) manuals. It is also an aim of this
- project to implement regression tests to ensure correctness
- whenever possible.</p>
-
- <img src="&imagebase;/project_plan.png" width="229" height="36"
- alt="Project Plan"/>
-
- <p class="main">All of the initial development takes place in the
- -CURRENT branch and most changes are merged into the -STABLE
- branch. Since this is a rather large project and is being done
- on a volunteer basis, there is no set schedule.</p>
-
- <img src="&imagebase;/how_to_contribute.png" width="229" height="36"
- alt="How to Contribute"/>
-
- <p class="main">The project is always looking for additional contributors. If you
- wish to participate, the best way to find out what is happening
- is to subscribe to the <a href="#mailinglist">freebsd-standards
- mailing list</a>. If you are working on a specific task
- relating to the project, you should mail to the
- <a href="#mailinglist">list</a> with a
- description of the task so that your task can be listed
- below.</p>
-
- <img src="&imagebase;/resources_and_links.png" width="229" height="36"
- alt="Resources and Links"/>
-
- <ul class="list">
- <li><p>ISO/IEC 9899:1999, also known as C99, is available
- for purchase in electronic form from the
- <a href="http://webstore.ansi.org/ansidocstore/product.asp?sku=ANSI/ISO/IEC+9899-1999">American
- National Standards Institute</a>, or available from the
- <a href="http://www.iso.ch/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=29237&amp;ICS1=35&amp;ICS2=60&amp;ICS3=">International
- Organization for Standardization store</a> in electronic
- and paper form.</p></li>
- <li><p><a href="http://www.unix-systems.org/version3/">IEEE Std 1003.1-2001</a>
- - The free (registration required), online version of
- POSIX.1-2001 and SUSv3 standard.</p></li>
- <li><p><a href="http://www.kuro5hin.org/story/2001/2/23/194544/139">Are
- you Ready For C99?</a> - This article discusses some of the
- new features in C99.</p></li>
- <li><p><a name="mailinglist">Most discussion relating to</a>
- this project takes place on the &a.standards; mailing list.
- To subscribe to the list, send a message to &a.standards.subscribe;.</p></li>
- <li><p>Jens Schweikhardt maintains a
- <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html">list</a>
- with the current status of POSIX Utility Conformance in
- FreeBSD.</p></li>
- </ul>
-
- <img src="&imagebase;/status_board.png" width="229" height="36"
- alt="Status Board"/><br/><br/>
-
- <!-- Tasks should be sorted in order of most complete, then reverse -->
- <!-- chronological order. -->
-
- <table class="tblbasic">
- <tr>
- <th rowspan="2" class="heading"> Task </th>
- <th rowspan="2" class="heading"> Responsible </th>
- <th rowspan="2" class="heading"> Last&nbsp;Updated </th>
- <th colspan="4" class="heading"> Status </th>
- </tr>
-
- <tr>
- <th class="heading"> 9.X </th>
- <th class="heading"> 8.X </th>
- <th class="heading"> 7.X </th>
- <th class="heading"> 6.X </th>
- </tr>
-
- <tr>
- <td colspan="7" class="section"> Documentation </td>
- </tr>
-
- <tr>
- <td> Create stdint(7) manual to document &lt;stdint.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 15 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Document flockfile(3), ftrylockfile(3), funlockfile(3). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 22 January 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Document new _SC options in sysconf(3) (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=20528">20528</a>). </td>
- <td> &a.trhodes; </td>
- <td nowrap="nowrap"> 13 January 2005 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Document standards conformity level of the API. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 26 March 2002 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Document thread safety and async-cancel safety. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 26 March 2002 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Create c99(7) and posix(7) manuals. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 11 December 2001 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Document in posix(7) that the batch job management utilities
- are available in the port net/generic-nqs.</td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 11 December 2001 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
- </table><br/><br/>
-
- <table class="tblbasic">
- <tr>
- <th rowspan="2" class="heading"> Task </th>
- <th rowspan="2" class="heading"> Responsible </th>
- <th rowspan="2" class="heading"> Last&nbsp;Updated </th>
- <th colspan="4" class="heading"> Status </th>
- </tr>
-
- <tr>
- <th class="heading"> 9.X </th>
- <th class="heading"> 8.X </th>
- <th class="heading"> 7.X </th>
- <th class="heading"> 6.X </th>
- </tr>
-
- <tr>
- <td colspan="7" class="section"> Functions and System Calls </td>
- </tr>
-
- <tr>
- <td> Add __func__ reporting to &man.assert.3;. </td>
- <td> &a.asmodai; </td>
- <td nowrap="nowrap"> 27 October 2001 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement imaxabs(), imaxdiv(), llabs(), lldiv(). </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 14 November 2001 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement atoll(), strtoimax(), strtoumax(). </td>
- <td> &a.fenner; </td>
- <td nowrap="nowrap"> 27 November 2001 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement new length modifiers (hh, j, t, z) and new
- flag (') in &man.printf.3;. </td>
- <td> &a.wollman;,<br/>&a.fenner; </td>
- <td nowrap="nowrap"> 30 November 2001 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement strerror_r(). </td>
- <td> &a.wes; </td>
- <td nowrap="nowrap"> 20 December 2001 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement tgamma() based on Lite1's gamma(). </td>
- <td> &a.bde; </td>
- <td nowrap="nowrap"> 27 March 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement new length modifiers (hh, j, ll, t, z) in
- &man.scanf.3;. </td>
- <td> &a.fenner; </td>
- <td nowrap="nowrap"> 20 April 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add WCONTINUED to waitpid(2). </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 1 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement new conversion specifiers (%j and %n) in
- &man.printf.9;. </td>
- <td> &a.dd;<br/>&a.des; </td>
- <td nowrap="nowrap"> 3 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement fstatvfs() and statvfs() (trivial). </td>
- <td> &a.wollman; </td>
- <td nowrap="nowrap"> 14 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement fmtmsg(). </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 8 August 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement ulimit(). </td>
- <td> &a.mkm; </td>
- <td nowrap="nowrap"> 8 August 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement C99's _Exit(). </td>
- <td> &a.wollman; </td>
- <td nowrap="nowrap"> 11 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add required options for POSIX.1-2001 to glob(). (partial MFC)</td>
- <td> &a.mikeh; </td>
- <td nowrap="nowrap"> 20 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Update sysconf(3) for POSIX.1-2001. </td>
- <td> &a.wollman; </td>
- <td nowrap="nowrap"> 18 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Restore insque(), lsearch(), remque() from libcompat. </td>
- <td> &a.robert; </td>
- <td nowrap="nowrap"> 16 November 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement fpclassify(). </td>
- <td> &a.das;,<br/>&a.mike; </td>
- <td nowrap="nowrap"> 8 February 2003 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement isfinite(), isinf(), isnan(), isnormal(). </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 17 February 2003 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement isgreater(), isgreaterequal(), isless(), islessequal(),
- islessgreater(). </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 17 February 2003 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement signbit(). </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 17 February 2003 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement sockatmark(). </td>
- <td> &a.fenner; </td>
- <td nowrap="nowrap"> 23 December 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement wordexp() and wordfree(). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 31 December 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement grantpt(), posix_openpt(), ptsname(), unlockpt(). </td>
- <td> &a.ryany; </td>
- <td nowrap="nowrap"> 4 February 2003 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add floating-point support for the (') modifier in
- &man.printf.3; </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 22 January 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add new conversion specifiers (%a and %A) to &man.printf.3;. </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 22 January 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Transition to vendor (Netlib) source for strtod.c. </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 22 January 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Import Netlib's gdtoa (strtof, strtold, etc.). </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 22 January 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement C99 macros fpclassify(), isfinite(), isinf(), isnan(),
- isnormal(), signbit(). </td>
- <td> &a.mike;,<br/>&a.das; </td>
- <td nowrap="nowrap"> 22 January 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement C99 macros isgreater(), isgreaterequal(), isless(),
- islessequal(), islessgreater(), isunordered(). </td>
- <td> &a.mike;,<br/>&a.das; </td>
- <td nowrap="nowrap"> 22 January 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement new hex floating-point format types (%a/%A) in
- &man.scanf.3;. </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 22 January 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement getpwnam_r(), getpwuid_r(). </td>
- <td> &a.nectar; </td>
- <td nowrap="nowrap"> 7 June 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement posix_madvise(). </td>
- <td> &a.bms; </td>
- <td nowrap="nowrap"> 7 June 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement new functions that appear in &lt;fenv.h&gt;. </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 7 June 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement ftw() and nftw() in terms of fts(). </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 8 July 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement C99 rounding functions lrint(), lrintf(), lrintl(),
- llrint(), llrintf(), llrintl(). </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 13 January 2005 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement getgrgid_r(), getgrnam_r(). </td>
- <td> &a.wes; </td>
- <td nowrap="nowrap"> 19 August 2005 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Obtain a64l(), l64a(), and l64a_r() (extension) from NetBSD (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=51209">51209</a>). </td>
- <td> &a.trhodes; </td>
- <td nowrap="nowrap"> 27 February 2006 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement RTS functions sigqueue(), sigtimedwait(),
- sigwaitinfo(). </td>
- <td> &a.davidxu; </td>
- <td nowrap="nowrap"> 4 October 2006 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement posix_memalign() (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=85090">85090</a>).
- </td>
- <td> &a.jasone; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement exp2(), fma(), nan(), nexttoward(), and
- remquo() in libm. </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Update fmtcheck(3) to recognize new printf(3) flags. </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement the utmpx family of functions. </td>
- <td> &a.ed; </td>
- <td nowrap="nowrap"> 5 December 2010 </td>
- <td> &status.done; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement log2() and log2f() in libm. </td>
- <td> &a.bde;,<br/>&a.das; </td>
- <td nowrap="nowrap"> 6 March 2011 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Make non thread-safe functions thread-safe. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 22 October 2001 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement missing long double functions in libm. </td>
- <td> &a.bde;,<br/>&a.das;,<br/>&a.stefanf;,<br/>&a.kargl; </td>
- <td nowrap="nowrap"> 5 December 2010 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement waitid(2). </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 27 May 2002 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Add restrict type-qualifier to functions that require it. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 16 August 2002 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement new functions that appear in &lt;complex.h&gt;. </td>
- <td> &a.bde;,<br/>&a.das;,<br/>&a.kargl; </td>
- <td nowrap="nowrap"> 6 March 2011 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement iconv(), iconv_close(), iconv_open(). </td>
- <td> &a.gabor; </td>
- <td nowrap="nowrap"> 5 December 2010 </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Make functions async-cancel safe. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 22 October 2001 </td>
- <td> &status.new; </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Add SIG_HOLD support to signal(3)/sigaction(2). </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 13 October 2002 </td>
- <td> &status.new; </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Update fmtcheck(3) to recognize positional parameters. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.new; </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement posix_mem_offset(),
- posix_typed_mem_get_info(), and posix_typed_mem_open().
- </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.new; </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
- </table><br/><br/>
-
- <table class="tblbasic">
- <tr>
- <th rowspan="2" class="heading"> Task </th>
- <th rowspan="2" class="heading"> Responsible </th>
- <th rowspan="2" class="heading"> Last&nbsp;Updated </th>
- <th colspan="4" class="heading"> Status </th>
- </tr>
-
- <tr>
- <th class="heading"> 9.X </th>
- <th class="heading"> 8.X </th>
- <th class="heading"> 7.X </th>
- <th class="heading"> 6.X </th>
- </tr>
-
- <tr>
- <td colspan="7" class="section"> Headers </td>
- </tr>
-
- <tr>
- <td> Fix prototypes and hide non-conforming portions of header
- &lt;arpa/inet.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 19 February 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement the &lt;stdint.h&gt; and &lt;inttypes.h&gt;
- headers. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 1 March 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add exposure control primitives to &lt;sys/cdefs.h&gt;
- (originally developed by &a.wollman;). </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 1 April 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement &lt;sys/_types&gt; to store shared MI types. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 1 April 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement header &lt;strings.h&gt;, and work out
- compatibility issues with header &lt;string.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 4 April 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Hide non-conforming portions, add missing types to
- &lt;sys/un.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 19 April 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Remove pollution and add missing macros to
- &lt;netinet/in.h&gt; and &lt;netinet6/in6.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 23 May 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Hide non-conforming portions of &lt;sys/wait.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 3 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Hide non-conforming portions of &lt;pwd.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 9 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Create &lt;sys/statvfs.h&gt; based on POSIX spec. </td>
- <td> &a.wollman; </td>
- <td nowrap="nowrap"> 14 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add nfds_t and resolve other issues in &lt;poll.h&gt;
- (actually &lt;sys/poll.h&gt;). </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 8 July 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement the XSI header, &lt;cpio.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 1 August 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement &lt;fmtmsg.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 8 August 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement &lt;ulimit.h&gt;. </td>
- <td> &a.mkm; </td>
- <td nowrap="nowrap"> 8 August 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Merge &lt;machine/ansi.h&gt; and &lt;machine/types&gt; into
- a new common header &lt;machine/_types.h&gt;. </td>
- <td> &a.bde;,<br/>&a.mike; </td>
- <td nowrap="nowrap"> 23 August 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespaces, add missing types in &lt;sys/mman.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 29 August 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues in &lt;ctype.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 9 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues in &lt;dlfcn.h&gt;. </td>
- <td> &a.wollman;,<br/>&a.mike; </td>
- <td nowrap="nowrap"> 11 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues in &lt;fcntl.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 18 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues in &lt;fnmatch.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 18 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues in &lt;grp.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 18 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues in &lt;langinfo.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 18 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add va_copy() macro to &lt;stdarg.h&gt;
- (actually &lt;machine/stdarg.h&gt;). </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 20 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespaces issues in &lt;stdlib.h&gt;. </td>
- <td> &a.wollman; </td>
- <td nowrap="nowrap"> 21 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add new pathname, system variable, and POSIX option constants
- to &lt;unistd.h&gt;. </td>
- <td> &a.wollman; </td>
- <td nowrap="nowrap"> 21 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Merge two conflicting math.h headers into a single header. </td>
- <td> &a.bde; </td>
- <td nowrap="nowrap"> 2 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues in &lt;net/if.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 2 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues in &lt;netinet/tcp.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 2 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add size_t, fix regoff_t in &lt;regex.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 2 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues in &lt;sched.h&gt; (actually
- &lt;posix4/sched.h&gt;). </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 5 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues in &lt;semaphore.h&gt; (actually
- &lt;posix4/semaphore.h&gt;). </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 5 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues in &lt;setjmp.h&gt; (actually
- &lt;machine/setjmp.h&gt;). </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 5 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues in &lt;stdio.h&gt;. </td>
- <td> &a.wollman; </td>
- <td nowrap="nowrap"> 7 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add missing members to struct lconv in &lt;locale.h&gt;. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 9 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues, add missing types in
- &lt;sys/socket.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 13 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues, add missing types in &lt;sys/uio.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 13 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix namespace issues in &lt;signal.h&gt; (also
- &lt;sys/signal.h&gt; and &lt;machine/signal.h&gt;). </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 13 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Eliminate &lt;sys/_posix.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 16 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement the header &lt;wordexp.h&gt;. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 31 December 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add missing constants FLT_EVAL_METHOD, DECIMAL_DIG to
- &lt;float.h&gt; (actually &lt;machine/float.h&gt;). </td>
- <td> &a.mike;,<br/>&a.das; </td>
- <td nowrap="nowrap"> 22 January 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement the header &lt;fenv.h&gt;. </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 7 June 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement &lt;ftw.h&gt;. </td>
- <td> &a.das; </td>
- <td nowrap="nowrap"> 8 July 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement &lt;tgmath.h&gt;. </td>
- <td> &a.stefanf; </td>
- <td nowrap="nowrap"> 13 January 2005 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement &lt;utmpx.h&gt; to eventually replace
- &lt;utmp.h&gt;. </td>
- <td> &a.ed; </td>
- <td nowrap="nowrap"> 5 December 2010 </td>
- <td> &status.done; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Hide non-conforming portions, add missing types to
- &lt;sys/types.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 1 April 2002 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Reduce namespace pollution and add missing typedefs in
- &lt;unistd.h&gt; </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 25 March 2002 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Hide non-conforming portions, add missing types to
- &lt;sys/stat.h&gt;. </td>
- <td> &a.mike; </td>
- <td nowrap="nowrap"> 27 February 2003 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement new types and prototypes in header
- &lt;complex.h&gt;. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement the header &lt;iconv.h&gt;. </td>
- <td> &a.gabor; </td>
- <td nowrap="nowrap"> 5 December 2010 </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Decide whether to remove const type-qualifiers in
- &lt;libgen.h&gt;. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 20 September 2002 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Add missing constants in &lt;limits.h&gt;. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 20 September 2002 </td>
- <td> &status.new; </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Fix sizes of members in datum, add missing types, fix namespace
- issues in &lt;ndbm.h&gt;. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 2 October 2002 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Fix size of si_addrlen in struct addrinfo, add missing types,
- fix namespace issues in &lt;netdb.h&gt;. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 2 October 2002 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Evaluate missing features of &lt;pthread.h&gt;. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 2 October 2002 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Add missing members to struct sigevent, fix type of ss_sp in
- struct sigstack, add SIGEV_THREAD constant, add ucontext_t and
- mcontext_t in &lt;sys/signal.h&gt;. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 13 October 2002 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Fix types for members of struct ipc_perm in
- &lt;sys/ipc.h&gt;. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 16 October 2002 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Add restrict type-qualifiers in &lt;glob.h&gt;. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Investigate making ENOTSUP and EOPNOTSUPP distinct in &lt;errno.h&gt; (actually
- &lt;sys/errno.h&gt;). </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
- </table><br/><br/>
-
- <table class="tblbasic">
- <tr>
- <th rowspan="2" class="heading"> Task </th>
- <th rowspan="2" class="heading"> Responsible </th>
- <th rowspan="2" class="heading"> Last&nbsp;Updated </th>
- <th colspan="4" class="heading"> Status </th>
- </tr>
-
- <tr>
- <th class="heading"> 9.X </th>
- <th class="heading"> 8.X </th>
- <th class="heading"> 7.X </th>
- <th class="heading"> 6.X </th>
- </tr>
-
- <tr>
- <td colspan="7" class="section"> Miscellaneous </td>
- </tr>
-
- <tr>
- <td> Obtain a copy of Proc. ACM SIGPLAN '90 (required for
- &man.printf.3; %'f). </td>
- <td> &a.fenner; </td>
- <td nowrap="nowrap"> 9 November 2001 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Upgrade system compiler to GCC 3.1. </td>
- <td> &a.obrien; </td>
- <td nowrap="nowrap"> 15 May 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Merge sys/posix4/* into regular kernel hierarchy, and remove
- sys/posix4. </td>
- <td> &a.trhodes; </td>
- <td nowrap="nowrap"> 13 November 2006 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Add regression test for each function. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Open an Aardvark on how to deal with no newline on the
- last line of a file in diff(1). </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 25 November 2002 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Globally rename the `lint' macro to something in the
- implementation namespace so it can safely modify the
- implementation (<a href="http://www.FreeBSD.org/cgi/mid.cgi?id=20021021093912.A80691@espresso.q9media.com">reference</a>). </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 25 November 2002 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Globally rename the `LOCORE' macro to something in the
- implementation namespace so it can safely modify the
- implementation (<a href="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/sys/ia64/include/setjmp.h.diff?r1=1.6&amp;r2=1.7">reference</a>). </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 25 November 2002 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
- </table><br/><br/>
-
- <table class="tblbasic">
- <tr>
- <th rowspan="2" class="heading"> Task </th>
- <th rowspan="2" class="heading"> Responsible </th>
- <th rowspan="2" class="heading"> Last&nbsp;Updated </th>
- <th colspan="4" class="heading"> Status </th>
- </tr>
-
- <tr>
- <th class="heading"> 9.X </th>
- <th class="heading"> 8.X </th>
- <th class="heading"> 7.X </th>
- <th class="heading"> 6.X </th>
- </tr>
-
- <tr>
- <td colspan="7" class="section"> Utility Conformance </td>
- </tr>
-
- <tr>
- <td> Add -o option and base64 decoding to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#uudecode">uudecode</a> utility. </td>
- <td> &a.jmallett; </td>
- <td nowrap="nowrap"> 26 March 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add -m option and base64 encoding to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#uuencode">uuencode</a> utility. </td>
- <td> &a.jmallett; </td>
- <td nowrap="nowrap"> 26 March 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Require at least one file argument in paste(1). (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36074">36074</a>) </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 1 April 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add the -i option to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#patch">patch</a> utility. </td>
- <td> &a.jmallett; </td>
- <td nowrap="nowrap"> 9 April 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add -r and -t options to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#at">at</a> utility. </td>
- <td> &a.joe.halpin; </td>
- <td nowrap="nowrap"> 16 April 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add the -f and -p options to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#pr">pr</a> utility. (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36243">36243</a>) </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 16 April 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add the -s option to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#m4">m4</a> utility. (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36075">36075</a>) </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 24 April 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Make printf(1) utility conform to POSIX.2 (1992). (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=35616">35616</a>) </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 2 May 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Correct output stream and exit status of the mesg(1) utility. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 6 May 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#asa">asa</a> utility. (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36130">36130</a>) </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 15 May 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#tabs">tabs</a> utility. (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36126">36126</a>) </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 20 May 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Restore <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#sccs">sccs</a> utility from CVS attic. </td>
- <td> &a.jmallett; </td>
- <td nowrap="nowrap"> 22 May 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Make expr(1) conform to POSIX.1-2001. </td>
- <td> &a.wollman; </td>
- <td nowrap="nowrap"> 22 May 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#newgrp">newgrp</a> utility. (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36190">36190</a>)</td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 28 May 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix ctags(1)'s -t option; fix ordering with -x. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 2 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add -L option to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#pwd">pwd</a> utility. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 20 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix exit status of the env(1) utility. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 20 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add the -b and -s option to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#fold">fold</a> utility. (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36245">36245</a>) </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 20 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add -I and -L options to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#xargs">xargs</a> utility. </td>
- <td> &a.jmallett; </td>
- <td nowrap="nowrap"> 20 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#csplit">csplit</a> utility. (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36191">36191</a>) </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 20 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix exit status of the nice(1) utility. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 20 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add -n option to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#nice">nice</a> utility. </td>
- <td> &a.pavalos; </td>
- <td nowrap="nowrap"> 20 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add -n option and resolve other issues in the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#renice">renice</a> utility. (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36950">36950</a>) </td>
- <td> &a.pavalos;,<br/>&a.maxim; </td>
- <td nowrap="nowrap"> 20 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add -t option to unexpand(1) utility. (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=35621">35621</a>) </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 20 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Make the uniq(1) utility accept `-' as a stdin specifier. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 28 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Improve join(1)'s POSIX.1-2001 conformance. (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36072">36072</a>) </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 28 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add -C option to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#tr">tr</a> utility. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 28 June 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement the -m, -p, and -x options in the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#ls">ls</a> utility. </td>
- <td> &a.mkm; </td>
- <td nowrap="nowrap"> 8 July 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Reimplement the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#who">who</a> utility. (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36128">36128</a>) </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 14 July 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Fix exit status, stdout/stderr confusion, and add `-' stdin
- support to the compress(1) utility. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 17 July 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add the -s, -A, -j, -N, and -t options to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#od">od</a> utility. (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36783">36783</a>) </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 24 July 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add -a option to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#split">split</a> utility. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 30 July 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add -m option to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#wc">wc</a> utility. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 29 August 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add -L and -P options to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#cd">cd</a> utility (shell built-in). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 7 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Reimplement command(1) (shell built-in). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 7 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#c99">c99</a> utility (similar to c89). (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36087">36087</a>) </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 8 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Update getconf(1) for POSIX.1-2001. </td>
- <td> &a.wollman; </td>
- <td nowrap="nowrap"> 12 November 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#pathchk">pathchk</a> utility. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 12 November 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Document the -n option in the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#echo">echo</a> utility as being implementation-defined.</td>
- <td> &a.schweikh; </td>
- <td nowrap="nowrap"> 8 May 2003 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add -p option to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#more">more</a> utility. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 30 November 2001 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add -p, -v, and -V options to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#command">command</a> utility (shell built-in).</td>
- <td> &a.stefanf; </td>
- <td nowrap="nowrap"> 27 February 2006 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add missing options to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#mailx">mailx</a> utility. </td>
- <td> &a.mikeh; </td>
- <td nowrap="nowrap"> 24 September 2006 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add missing components to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#jobs">jobs</a>
- utility (PR: <a href="http://www.freebsd.org/cgi/query-pr.cgi?pr=99926">99926</a>). </td>
- <td> &a.stefanf; </td>
- <td nowrap="nowrap"> 7 October 2006 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Add -C and -T options to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#ar">ar</a> utility. </td>
- <td> &a.kientzle; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Bring the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#cp">cp</a> utility up to conformance.</td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#locale">locale</a> utility. </td>
- <td> &a.phantom; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement/import the SCCS development utilities:
- <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#admin">admin</a>,
- <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#delta">delta</a>,
- <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#get">get</a>,
- <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#prs">prs</a>,
- <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#rmdel">rmdel</a>,
- <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#sact">sact</a>,
- <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#unget">unget</a>,
- <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#val">val</a> </td>
- <td> &a.jmallett; </td>
- <td nowrap="nowrap"> 23 May 2002 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Work out conflicting -t option in the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#df">df</a> utility. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Add unimplemented features to the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#sh">sh</a> utility. </td>
- <td> &a.jilles; </td>
- <td nowrap="nowrap"> 5 December 2010 </td>
- <td> &status.wip; </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement the -m, -w, and -t options in the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#lp">lp</a> utility. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Investigate adopting some of the POSIX options in the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#ps">ps</a> utility. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Add missing options and resolve conflicting options in the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#nm">nm</a> utility. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#iconv">iconv</a> utility. </td>
- <td> &a.gabor; </td>
- <td nowrap="nowrap"> 5 December 2010 </td>
- <td> &status.wip; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Investigate importing the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#cflow">cflow</a> utility from the ports collection. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 30 November 2001 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#cxref">cxref</a> utility. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 30 November 2001 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Add the -d, -h, and -M options and fix conflicting -i option in the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#file">file</a> utility. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 30 November 2001 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Bring the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#make">make</a> utility up to conformance. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 30 November 2001 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Add the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#qsub">qsub</a> utility. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 30 November 2001 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#fuser">fuser</a> utility (PR: <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=36076">36076</a>,
- <a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=53682">53682</a>,
- <a href="http://www.freebsd.org/cgi/query-pr.cgi?pr=100017">100017</a>). </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 4 February 2003 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Fix locale support for the printf(1) utility. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
-
- <tr>
- <td> Implement the <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html#localedef">localedef</a> utility. </td>
- <td> &nbsp; </td>
- <td nowrap="nowrap"> 1 August 2008 </td>
- <td> &status.new; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- <td> &status.blank; </td>
- </tr>
- </table><br/><br/>
-
- <table class="tblbasic">
- <tr>
- <th rowspan="2" class="heading"> Task </th>
- <th rowspan="2" class="heading"> Responsible </th>
- <th rowspan="2" class="heading"> Last&nbsp;Updated </th>
- <th colspan="4" class="heading"> Status </th>
- </tr>
-
- <tr>
- <th class="heading"> 9.X </th>
- <th class="heading"> 8.X </th>
- <th class="heading"> 7.X </th>
- <th class="heading"> 6.X </th>
- </tr>
-
- <tr>
- <td colspan="7" class="section"> Wide Character/String Support </td>
- </tr>
-
- <tr>
- <td> Implement basic support for wide character I/O: getwc(),
- fgetwc(), getwchar(), putwc(), fputwc(), putwchar(), ungetwc(),
- fwide(). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 16 August 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add stubs for reentrant wc handling functions btowc(),
- mbrlen(), mbrtowc(), mbsrtowcs(), wcrtomb(), wcsrtombs(),
- wctob(), wctype(). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 23 August 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Add stubs for reentrant wc handling functions iswalnum(),
- iswalpha(), iswcntrl(), iswctype(), iswdigit(), iswgraph(),
- iswlower(), iswprint(), iswpunct(), iswspace(), iswupper(),
- iswxdigit(). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 23 August 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement wcwidth(). </td>
- <td> &a.keichii; </td>
- <td nowrap="nowrap"> 23 August 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement wcswidth(). </td>
- <td> &a.ache; </td>
- <td nowrap="nowrap"> 23 August 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement wcstok(). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 9 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement wcstod(), wcstol(), wcstoul(). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 15 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement wcsftime(). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 15 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement fwprintf(), swprintf(), vfwprintf(), vswprintf(),
- vwprintf(), wprintf(). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 23 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement fwscanf(), swscanf(), vfwscanf(), vswscanf(),
- vwscanf(), wscanf(). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 23 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement wcstoimax(), wcstoll(), wcstoumax(), wcstoull(). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 23 September 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement wide character format types (%C, %S, %lc, %ls) in
- &man.printf.3;. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 16 October 2002 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement wcscoll(), wcsxfrm(). </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 7 June 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
-
- <tr>
- <td> Implement wide character format types (%C, %S, %lc, %ls) in
- &man.scanf.3;. </td>
- <td> &a.tjr; </td>
- <td nowrap="nowrap"> 7 June 2004 </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- <td> &status.done; </td>
- </tr>
- </table><br/><br/>
-
- <table class="tblbasic">
- <tr>
- <th colspan="2" class="heading">Legend</th>
- </tr>
- <tr>
- <td> &status.new; </td>
- <td> Not yet started </td>
- </tr><tr>
- <td> &status.blocked; </td>
- <td> Blocked awaiting completion of another task </td>
- </tr><tr>
- <td> &status.wip; </td>
- <td> Work in progress </td>
- </tr><tr>
- <td> &status.done; </td>
- <td> Task completed </td>
- </tr><tr>
- <td> &status.n-a; </td>
- <td> Not planned </td>
- </tr>
- </table>
- <p><img src="&imagebase;/news.png" width="229" height="36" alt="News"/></p>
-
- <p class="main">The remainder of this page is structured as a
- reverse-chronological log.</p>
-
- <b>31 December 2002</b>
- <ul class="list">
- <li>
- <p>Jens Schweikhardt has updated his <a href="http://people.FreeBSD.org/~schweikh/posix-utilities.html">POSIX Utility Conformance in FreeBSD</a>
- list. Not much works remains to complete utility conformance.</p>
- </li>
- </ul>
-
- <b>13 December 2002</b>
- <ul class="list">
- <li>
- <p>A new <a href="http://www.FreeBSD.org/news/status/report-sept-2002-oct-2002.html#C99-&amp;-POSIX-Conformance-Project">status
- report</a> on the state of the project, covering September through
- October, has been produced.</p>
- </li>
- </ul>
-
- <b>9 October 2002</b>
- <ul class="list">
- <li>
- <p>A new <a href="http://www.FreeBSD.org/news/status/report-july-2002-aug-2002.html#FreeBSD-C99-&amp;-POSIX-Conformance-Project">status
- report</a> on the state of the project, covering July through August,
- has been produced.</p>
- </li>
- </ul>
-
- <b>16 August 2002</b>
- <ul class="list">
- <li>
- <p>A new <a href="http://www.FreeBSD.org/news/status/report-may-2002-june-2002.html#FreeBSD-C99-&amp;-POSIX-Conformance-Project">status
- report</a> on the state of the project, covering May through June,
- has been produced.</p>
- </li>
- </ul>
-
- <b>1 August 2002</b>
- <ul class="list">
- <li>
- <p>The Open Group has generously donated several copies of the
- Authorized Guide to Single &unix; Specification, Version 3,
- books and CD-ROMs to the project. We are greatly appreciative
- of their gift.</p>
- </li>
- </ul>
-
- <b>22 May 2002</b>
- <ul class="list">
- <li>
- <p>A new <a href="http://www.FreeBSD.org/news/status/report-feb-2002-apr-2002.html#FreeBSD-C99-&amp;-POSIX-Conformance-Project">status
- report</a> on the state of the project, covering February through
- April, has been produced.</p>
- </li>
- </ul>
-
- <b>3 March 2002</b>
- <ul class="list">
- <li>
- <p>A new <a href="http://www.FreeBSD.org/news/status/report-dec-2001-jan-2002.html#FreeBSD-C99-&amp;-POSIX-Conformance-Project">status
- report</a> on the state of the project, covering December and
- January, has been produced.</p>
- </li>
- </ul>
-
- <b>30 January 2002</b>
- <ul class="list">
- <li>
- <p>The Open Group has
- <a href="http://www.unix-systems.org/version3/pr.html">announced</a>
- the completion of SUSv3 and POSIX.1-2001 and the availability
- of a free, online version of the specification.</p>
- </li>
- </ul>
-
- <b>14 December 2001</b>
- <ul class="list">
- <li>
- <p>A new <a href="http://www.FreeBSD.org/news/status/report-november-2001.html#FreeBSD-C99-&amp;-POSIX-Conformance-Project">status
- report</a> on the current state of the project has been
- produced.</p>
- </li>
- </ul>
-
- <b>6 December 2001</b>
- <ul class="list">
- <li>
- <p>The IEEE Standards Board has approved the Austin Group
- Specification as IEEE Std 1003.1.</p>
- </li>
- </ul>
-
- <b>28 November 2001</b>
- <ul class="list">
- <li>
- <p>The project mailing list has been moved from
- freebsd-standards@bostonradio.org to &a.standards;.</p>
- </li>
- </ul>
-
- <b>19 October 2001</b>
- <ul class="list">
- <li>
- <p>A <a href="http://www.FreeBSD.org/news/status/report-september-2001.html#FreeBSD-C99/POSIX-Conformance-Project">status
- report</a> on the current state of the project has been
- produced.</p>
- </li>
- </ul>
-
- <b>10 October 2001</b>
- <ul class="list">
- <li>
- <p>This web page was created.</p>
- </li>
- </ul>
- <p><small>The original layout for this web page was borrowed from
- the FreeBSD SMPng Project. BSD Daemon Copyright 1988 by Marshall
- Kirk McKusick. All Rights Reserved.</small></p>
- </body>
-</html>
Property changes on: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/c99/index.xml
___________________________________________________________________
Deleted: svn:keywords
## -1 +0,0 ##
-FreeBSD=%H
\ No newline at end of property
Deleted: svn:mime-type
## -1 +0,0 ##
-text/sgml
\ No newline at end of property
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/c99/Makefile
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/c99/Makefile (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/c99/Makefile (nonexistent)
@@ -1,15 +0,0 @@
-# Summary for C99 project status
-#
-# $FreeBSD$
-
-.if exists(../Makefile.conf)
-.include "../Makefile.conf"
-.endif
-.if exists(../Makefile.inc)
-.include "../Makefile.inc"
-.endif
-
-DOCS= index.xml
-DATA= style.css
-
-.include "${DOC_PREFIX}/share/mk/web.site.mk"
Property changes on: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/c99/Makefile
___________________________________________________________________
Deleted: svn:keywords
## -1 +0,0 ##
-FreeBSD=%H
\ No newline at end of property
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/Makefile
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/Makefile (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/Makefile (revision 42804)
@@ -1,32 +1,32 @@
# $FreeBSD$
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS= projects.xml
DOCS+= newbies.xml
DOCS+= cvsweb.xml
DOCS+= summerofcode.xml
DOCS+= summerofcode-2005.xml
DOCS+= summerofcode-2006.xml
DOCS+= summerofcode-2007.xml
DOCS+= summerofcode-2008.xml
DATA= 2009-freebsd-gsoc-thumbnail.jpg
DATA+= 2009-freebsd-gsoc.pdf
DATA+= 2010-freebsd-gsoc-thumbnail.jpg
DATA+= 2010-freebsd-gsoc.pdf
DATA+= 2011-freebsd-gsoc-thumbnail.jpg
DATA+= 2011-freebsd-gsoc.pdf
DATA+= 2013-freebsd-gsoc-thumbnail.jpg
DATA+= 2013-freebsd-gsoc.pdf
INDEXLINK= projects.html
-SUBDIR= acpi busdma c99 ideas mips netperf
+SUBDIR= acpi busdma ideas mips netperf
.include "${DOC_PREFIX}/share/mk/web.site.mk"
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/projects.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/projects.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/projects/projects.xml (revision 42804)
@@ -1,357 +1,347 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD Development Projects">
<!ENTITY url.articles "../doc/en_US.ISO8859-1/articles">
<!ENTITY url.books "../doc/en_US.ISO8859-1/books">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<a name="development"></a>
<p>In addition to the mainstream development path of FreeBSD, a number
of developer groups are working on the cutting edge to expand
FreeBSD's range of applications in new directions. Follow the links
below to learn more about these exciting projects.</p>
If you feel that a project is missing, please send the URL and a short
description (3-10 lines) to
<a href="../mailto.html">www@FreeBSD.org</a>.
<p>In addition, some of these projects regularly submit status reports,
which can be viewed on the <a href="../news/status/status.html">status
reports page</a>.</p>
<ul>
<li><a href="#documentation">Documentation</a></li>
<li><a href="../advocacy/index.html">Advocacy</a></li>
<li><a href="#applications">Applications</a></li>
<li><a href="#networking">Networking</a></li>
<li><a href="#storage">Storage</a></li>
<li><a href="#kernelandsecurity">Kernel and Security</a></li>
<li><a href="#devicedrivers">Device drivers</a></li>
<li><a href="#architecture">Architecture</a></li>
<li><a href="#misc">Misc</a></li>
<li><a href="summerofcode.html">Google Summer of Code</a></li>
</ul>
<a name="documentation"></a>
<h3>Documentation</h3>
<ul>
<li><a href="../docproj/docproj.html">FreeBSD Documentation Project</a>:
The FreeBSD Documentation Project is a group of people who maintain
and write the documentation (such as the Handbook and FAQ) for the
FreeBSD project. If you want to help with the documentation project,
subscribe to the freebsd-doc@FreeBSD.org
mailing list and participate.</li>
<li><a name="newbies" href="newbies.html">FreeBSD Resources for Newbies</a>:
A list of resources to help those new to FreeBSD and &unix; in
general.</li>
<li><a name="diary" href="http://www.freebsddiary.org/">The FreeBSD
Diary</a>: A collection of how-to entries aimed at UNIX
novices. The aim is to provide a set of step-by-step guides to
installing and configuring various ports.</li>
<li><a href="&url.books;/developers-handbook/index.html">
The FreeBSD Developers' Handbook</a></li>
<li><a href="&url.articles;/contributing-ports/index.html">
Contributing to the FreeBSD Ports Collection</a></li>
</ul>
<a name="applications"></a>
<h3>Applications</h3>
<ul>
<li><a name="java" href="../java/index.html">&java; on FreeBSD</a>:
This contains information on where to obtain the latest &jdk; for
FreeBSD, how to install and run it, and a list of &java; software that
you may find interesting.</li>
<li><a name="gnome" href="../gnome/index.html">GNOME on FreeBSD</a>:
This contains information on where to obtain the latest GNOME for
FreeBSD, how to install and run it, latest project news and
updates, FAQ covering FreeBSD-specific GNOME issues, application
porting guidelines and much more.</li>
<li><a name="kde" href="http://freebsd.kde.org">KDE on FreeBSD</a>:
This contains links to the latest KDE releases for FreeBSD, as well as
documentation and tutorials about how to install and run KDE on
FreeBSD. Project news and a FreeBSD-specific FAQ are also
available.</li>
<li><a name="mono" href="http://www.mono-project.com/Mono:FreeBSD">
Mono on FreeBSD</a>:
Here you can find information about the state of Mono and C# for FreeBSD.</li>
<li><a name="openoffice" href="http://porting.openoffice.org/freebsd/">
OpenOffice.org on FreeBSD</a>:
Information about the various OpenOffice.org ports.</li>
<li><a href="../ports/index.html">FreeBSD Ports Collection</a>:
The FreeBSD Ports Collection provides an easy way to compile and
install a wide range of applications with a minimum amount of effort.
A list of current ports is available along with a search mechanism
to see if a specific application exists in the Ports Collection.</li>
<li><a href="http://people.FreeBSD.org/~fenner/portsurvey/">FreeBSD Ports distfiles survey</a>:
A list which checks the Ports Collection for unfetchable distfiles
and provides a summary for each port.</li>
<li><a href="http://FreshPorts.org/">FreshPorts</a>: Provides the most up-to-date list of
ports and port changes. Add your favourite ports to your watch list and receive email
notification of any changes.</li>
<li><a href="http://pointyhat.FreeBSD.org/">Pointyhat</a>: Is a server which
checks the Ports Collection and keeps package building logs and error
logs for each port.</li>
</ul>
<a name="networking"></a>
<h3>Networking</h3>
<ul>
<li><a name="netperf" href="&base;/projects/netperf/index.html">Netperf</a>:
Network stack optimization for the FreeBSD 5.x and 6.x kernels, a follow-on
to the SMPng network stack locking work for FreeBSD 5.3. This project is
exploring and implementing optimizations strategies for a multi-threaded
network stack.</li>
<li><a name="kame" href="http://www.kame.net/">KAME Project</a>: A free IPv6/IPsec stack for BSD.</li>
<li><a name="SYSLOG-SECURE" href="http://www.faqs.org/rfcs/rfc3164.html">SYSLOG-SECURE</a>:
In August 2001 a standard of syslog was made: RFC3164. This RFC
describes some extensions to add security to syslog. A project
started in 2002 to adapt RFC3164 to the FreeBSD version of syslog and to add
some security extensions, at least syslog-sign. Both libc and syslogd will
be modified. And optionally some tools to verify or manage the security
would be made.
All help is welcome. Send an email to albert@ons-huis.net for info.</li>
</ul>
<a name="storage"></a>
<h3>Storage</h3>
<ul>
<li><a name="afs" href="http://www.stacken.kth.se/projekt/arla/">Arla</a>:
A free AFS client implementation. The main goal is to
make a fully functional client with all capabilities of normal AFS.
Other planned and implemented things are all the normal management
tools and a server.</li>
<li><a name="coda" href="http://www.coda.cs.cmu.edu/">Coda</a>:
A distributed filesystem. Among its features are disconnected
operation, good security model, server replication and persistent
client side caching.</li>
<li><a name="journaling" href="http://www.ece.cmu.edu/~ganger/papers/">
Journaling versus Soft Updates</a>: Asynchronous Meta-data Protection in File Systems.</li>
<li><a name="Tertiary" href="http://now.cs.berkeley.edu/Td/">Tertiary Disk</a>:
A storage system architecture to create large disk storage systems
that avoid the disadvantages of custom built disk arrays. The
name comes from twin goals: to have the cost per megabyte and
capacity of tape libraries and the performance of magnetic
disks. We use commodity, off the shelf components to develop a
scalable, low cost, terabyte capacity disk system. Our target is
to build a complete storage system with about 30-50% extra to
the cost of the raw disk. Tertiary Disk uses PCs connected by a
switched network to host a large number of disks. Our prototype
consists of 20 200MHz PC PCs, which host 370 8GB disks. The PCs
are connected through a 100Mbps Ethernet switch.</li>
<li><a name="vinum" href="http://www.vinumvm.org/">Vinum</a>:
A logical volume manager modeled after the VERITAS volume manager&trade;.
However, it is not a clone of Veritas, and attempts to solve a
number of problems more elegantly than Veritas. It also offers
features that Veritas does not have.</li>
-
-<li><a name="PathConvert" href="http://www.tamacom.com/pathconvert/">
-The PathConvert project</a>: A project to develop utilities which make
-conversion between absolute path name and relative path name. It
-brings benefits mainly to the users of NFS and WWW.</li>
</ul>
<a name="kernelandsecurity"></a>
<h3>Kernel, security</h3>
<ul>
<li><a name="openbsm" href="http://www.OpenBSM.org/">OpenBSM</a>: An open
source implementation of Sun's Basic Security Module (BSM) Audit API and file
format. OpenBSM provides the userland libraries, tools, and documentation
for the TrustedBSD audit implementation that will be integrated into
FreeBSD.</li>
<li><a name="trustedbsd" href="http://www.TrustedBSD.org/">TrustedBSD</a>:
Provides a set of trusted operating system extensions to the FreeBSD operating
system. This includes features such as fine-grained privileges (capabilities),
Access Control Lists, and Mandatory Access Control. These features are
being integrated back into the base FreeBSD distribution, as well as being
ported to other BSD-derived systems.</li>
<li><a name="kernelstresstest"
href="http://www.holm.cc/stress/">Kernel Stress Test Suite</a>: The
purpose of this stress test is to crash the system. The stress test
is composed of small test programs and scripts. Each test targets a
specific area of the kernel. The key concept of this test suite is
chaos. Each test sleeps for a random number of seconds before it
starts up in a random number of invocations.</li>
</ul>
<a name="devicedrivers"></a>
<h3>Device drivers</h3>
<ul>
<li><a name="busdma" href="&base;/projects/busdma/index.html">busdma
and SMPng driver conversion</a>: busdma provides a portable abstraction
to the Direct Memory Access (DMA) hardware primitives used by many high
performance device drivers. By using this abstraction, device driver
authors avoid adding platform-specific DMA management code, improving
the portability of drivers between hardware architectures. This page
also tracks the progress of drivers towards being SMPng-safe.</li>
<li><a name="deviceframework" href="http://people.FreeBSD.org/~dfr/devices.html">
A New Device Framework for FreeBSD</a></li>
<li><a name="atm" href="http://chuck.cranor.org/p/bsdatm.pdf"> BSD ATM: implementation of ATM internetworking under 4.4BSD</a>:
New computer applications in areas such as multimedia, imaging,
and distributed computing demand high levels of performance from
computer networks. ATM-based networking solutions provide one
possible alternative to meeting these performance needs.
However, the complexity of ATM over traditional networks such as
Ethernet has proven to be a barrier to its being used. In this
paper we present the design and implementation of BSD ATM, a
light-weight and efficient ATM software layer for BSD-based
operating systems that requires minimal changes to the operating
system. BSD ATM can be used both for IP-based networking traffic
and for ``native'' ATM traffic.</li>
<li><a name="homeauto" href="http://people.FreeBSD.org/~fsmp/HomeAuto/HomeAuto.html">Home Automation</a>:
Using FreeBSD to run appliance controllers, infra-red controllers,
automated telephone systems, and more.</li>
<li><a name="tokenring" href="http://www.jurai.net/~winter/tr/">The FreeBSD Token-Ring Project</a>:
Information, files, patches, and documentation about adding Token Ring
support to FreeBSD.</li>
<li><a name="xircomcem">Xircom CEM Ethernet Driver</a>: A mailing list exists for further
development of Scott Mitchell's Xircom CEM ethernet driver. Send
<tt>subscribe freebsd-xircom</tt> to <a
href="mailto:majordomo@lovett.com">majordomo@lovett.com</a> to
join.</li>
</ul>
<a name="architecture"></a>
<h3>Architecture</h3>
<ul>
<li><a name="ia64" href="../platforms/ia64/index.html">
Porting FreeBSD to IA-64 systems</a>:
This project is responsible for porting FreeBSD to the IA-64
architecture. Direct any questions specific to this project to the
freebsd-ia64@FreeBSD.org mailing list. </li>
<li><a name="ppc" href="../platforms/ppc.html">Porting FreeBSD to PowerPC&reg; systems</a>:
Contains information on the FreeBSD PPC port, such as mailing list
information and so on.</li>
<li><a name="sparc" href="../platforms/sparc.html">Porting FreeBSD to SPARC&reg; systems</a>:
Contains information on the FreeBSD SPARC port including a FAQ,
some early boot code, information on SPARC processors and motherboards,
and other SPARC projects.</li>
<li><a name="sysvr4" href="http://slash.dotat.org/~newton/freebsd-svr4/">
SysVR4 Emulation</a>: This page describes an SysVR4 emulator for
FreeBSD. It is currently capable of running (or walking, in some
cases) a wide-ish variety of SysV executables taken from Solaris&trade;/x86
2.5.1 and 2.6 systems. I have reason to believe that it will also run
SCO UnixWare and SCO OpenServer binaries.</li>
<li><a name="oskit" href="http://www.cs.utah.edu/flux/oskit/">The OSKit</a>:
The OSKit is a framework and a set of 31 component libraries oriented
to operating systems, together with extensive documentation. By
providing in a modular way not only most of the infrastructure
"grunge" needed by an OS, but also many higher-level components, the
OSKit's goal is to lower the barrier to entry to OS R&amp;D and to
lower its costs. The OSKit makes it vastly easier to create a new OS,
port an existing OS to the x86 (or in the future, to other
architectures supported by the OSkit), or enhance an OS to support a
wider range of devices, filesystem formats, executable formats, or
network services. The OSKit also works well for constructing OS-related
programs, such as boot loaders or OS-level servers atop a
microkernel.</li>
</ul>
<a name="misc"></a>
<h3>Misc</h3>
<ul>
<li><a name="nanobsd" href="&url.articles;/nanobsd/index.html">NanoBSD</a>:
NanoBSD is a tool designed to create a possibly reduced FreeBSD
system image, which is suited to fit on a Compact Flash card
(or other mass storage medium) in a way which is suitable for
use in appliance like applications. The FreeBSD documentation
collection includes an introductory
<a href="&url.articles;/nanobsd/index.html">article about NanoBSD</a>,
which includes useful tips about setting up, running and
using NanoBSD.</li>
<li><a name="global" href="http://www.gnu.org/software/global/global.html">GLOBAL</a>:
A common source code tag system that works the same way across
diverse environments. Currently, it supports the shell command line,
the nvi editor, web browser, the emacs editor, and the elvis editor,
and the supported languages are C, Yacc, and Java.</li>
<li><a name="acpi"
href="&base;/projects/acpi/">ACPI on FreeBSD</a>:
A Project created to get ACPI working smoothly on FreeBSD.</li>
<li><a name="binup"
href="http://www.daemonology.net/freebsd-update/">Binary
Updater</a>: FreeBSD Update is a system for automatically
building, distributing, fetching, and applying binary security
updates for FreeBSD. This makes it possible to easily track
the FreeBSD security branches without the need for fetching
the source tree and recompiling (except on the machine
building the updates, of course). Updates are
cryptographically signed; they are also distributed as binary
diffs using a binary diff tool, which dramatically reduces
the bandwidth used.</li>
-
- <li><a name="c99" href="&base;/projects/c99/index.html">The
- FreeBSD C99 &amp; &posix; Conformance Project</a>: This project aims to
- implement all requirements of the ISO 9899:1999 (C99) and
- IEEE 1003.1-2001 (POSIX) standards.</li>
<li><a name="cvsweb" href="cvsweb.html">CVSweb</a>: A WWW
interface for CVS repositories with which you can browse a file
hierarchy on your browser to view each file's revision history
in a very handy manner.</li>
<li><a name="flcl"
href="http://laptop.bsdgroup.de/freebsd/"> The FreeBSD
Laptop Compatibility List</a>: A comprehensive database of
laptops and PCMCIA cards that work with FreeBSD. This site
contains detailed information about known hardware and
software issues.</li>
<li><a name="tetintegration" href="http://wiki.freebsd.org/TetIntegration">TET
Integration</a>: The Test Execution Toolkit from <a
href="http://www.opengroup.org/">The Open Group</a> is a
light-weight open-source test execution framework that
supports distributed testing. This project investigates
using TET and existing TET-based open-source standards-compliance
test suites (VSX-PCTS, VSC-Lite, VSTH-Lite, VSW5 and others) in
FreeBSD.</li>
</ul>
</body>
</html>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/10.0R/schedule.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/10.0R/schedule.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/10.0R/schedule.xml (revision 42804)
@@ -1,183 +1,196 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/sgml/xhtml10-freebsd.dtd" [
<!ENTITY email 'freebsd-qa'>
<!ENTITY local.rel "10.0">
<!ENTITY local.branch.head "head">
<!ENTITY local.branch.stable "stable/10">
<!ENTITY local.branch.releng "releng/10.0">
<!ENTITY title "FreeBSD &local.rel; Release Process">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.download">
<h1>Introduction</h1>
<p>This is the release schedule for FreeBSD &local.rel;. For more
information about the release engineering process, please see the <a
href="&base;/releng/index.html">Release Engineering</a> section of the
web site.</p>
<p>General discussions about the pending release and known issues should be
sent to the public
<a href="mailto:FreeBSD-stable@FreeBSD.org">freebsd-stable</a> mailing list.
<a href="&base;/doc/en_US.ISO8859-1/books/handbook/freebsd-glossary.html#MFC-GLOSSARY">MFC</a>
requests should be sent to
<a href="mailto:re@FreeBSD.org">re@FreeBSD.org</a>.</p>
<h1>Schedule</h1>
+ <p>During the &local.branch.head; freeze, the Release Engineering
+ Team may create ALPHA snapshots to publish for testing purposes.
+ As the frequency and total number of the ALPHA snapshots will
+ depend on the length of time the &local.branch.head; branch is
+ frozen, no official schedule is provided.</p>
+
+ <p>Announcements regarding the availability of the
+ ALPHA snapshots will be sent to the <a
+ href="mailto:freebsd-current@FreeBSD.org">freebsd-current</a>
+ and <a
+ href="mailto:freebsd-snapshots@FreeBSD.org">freebsd-snapshots</a>
+ mailing lists.</p>
+
<table class="tblbasic">
<tr class="heading">
<td>Action</td>
<td>Expected</td>
<td>Actual</td>
<td>Description</td>
</tr>
<tr>
<td>Initial release schedule announcement</td>
<td>-</td>
<td>13&nbsp;August&nbsp;2013</td>
<td>Release Engineers send announcement email to developers with a
rough schedule.</td>
</tr>
<tr>
<td>Release schedule reminder</td>
<td>19&nbsp;August&nbsp;2013</td>
- <td>-</td>
+ <td>19&nbsp;August&nbsp;2013</td>
<td>Release Engineers send reminder announcement e-mail to developers
with updated schedule.</td>
</tr>
<tr>
<td>Code slush begins</td>
<td>24&nbsp;August&nbsp;2013</td>
- <td>-</td>
+ <td>24&nbsp;August&nbsp;2013</td>
<td>Release Engineers announce that all further commits to the
&local.branch.stable; branch will not require explicit approval,
however new features should be avoided.</td>
</tr>
<tr>
<td>Code freeze begins</td>
<td>7&nbsp;September&nbsp;2013</td>
- <td>-</td>
+ <td>7&nbsp;September&nbsp;2013</td>
<td>Release Engineers announce that all further commits to the
&local.branch.head; branch will require explicit approval.
Certain blanket approvals will be granted for narrow areas of
development, documentation improvements, etc.</td>
</tr>
<tr>
<td>KBI freeze begins</td>
<td>21&nbsp;September&nbsp;2013</td>
- <td>-</td>
+ <td>29&nbsp;September&nbsp;2013</td>
<td>Release Engineers announce that all further commits to the
&local.branch.head; branch will require explicit approval.
Additionally, there can be no changes to the KBI until
&local.branch.head; is branched to &local.branch.stable;.</td>
</tr>
<tr>
- <td>BETA1 builds begin</td>
- <td>12&nbsp;October&nbsp;2013</td>
+ <td>&local.branch.stable; branch</td>
+ <td>10&nbsp;October&nbsp;2013</td>
<td>-</td>
- <td>First beta test snapshot.</td>
+ <td>Subversion branch created; release engineering continues
+ on this branch.</td>
</tr>
<tr>
- <td>&local.branch.stable; branch</td>
- <td>17&nbsp;October&nbsp;2013</td>
+ <td>BETA1 builds begin</td>
+ <td>12&nbsp;October&nbsp;2013</td>
<td>-</td>
- <td>Subversion branch created; release engineering continues
- proceeds on this branch.</td>
+ <td>First beta test snapshot.</td>
</tr>
<tr>
<td>BETA2 builds begin</td>
<td>18&nbsp;October&nbsp;2013</td>
<td>-</td>
<td>Second beta test snapshot.</td>
</tr>
<tr>
<td>&local.branch.releng; branch</td>
<td>25&nbsp;October&nbsp;2013</td>
<td>-</td>
<td>Subversion branch created; future release engineering
proceeds on this branch.</td>
</tr>
<tr>
<td>RC1 builds begin</td>
<td>25&nbsp;October&nbsp;2013</td>
<td>-</td>
<td>First release candidate.</td>
</tr>
<tr>
<td>RC2 builds begin</td>
<td>2&nbsp;November&nbsp;2013</td>
<td>-</td>
<td>Second release candidate.</td>
</tr>
<tr>
<td>RC3 builds begin</td>
<td>10&nbsp;November&nbsp;2013</td>
<td>-</td>
<td>Third release candidate.</td>
</tr>
<tr>
<td>RELEASE builds begin</td>
<td>18&nbsp;November&nbsp;2013</td>
<td>-</td>
<td>10.0-RELEASE build.</td>
</tr>
<tr>
<td>RELEASE announcement</td>
<td>24&nbsp;November&nbsp;2013</td>
<td>-</td>
<td>10.0-RELEASE press release.</td>
</tr>
<tr>
<td>Turn over to the secteam</td>
<td>-</td>
<td>-</td>
<td>&local.branch.releng; branch is handed over to the FreeBSD
Security Officer Team in one or two weeks after the
announcement.</td>
</tr>
</table>
<!--
<h1>Status / TODO</h1>
<a href="http://wiki.freebsd.org/Releng/10.0TODO">http://wiki.freebsd.org/Releng/10.0TODO</a>
-->
<h1>Additional Information</h1>
<ul>
<!--
<li><a href="http://wiki.freebsd.org/Releng/10.0TODO/">FreeBSD 10.0 release
engineering wiki page</a>, which includes todo lists, scheduling
information, binary compatibility information, and more.</li>
-->
<li><a href="&base;/releng/index.html">FreeBSD Release Engineering website</a></li>
</ul>
</body>
</html>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/Makefile
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/Makefile (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/Makefile (revision 42804)
@@ -1,14 +1,20 @@
# $FreeBSD$
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
-DOCS= schedule.xml
+DOCS= announce.xml \
+ relnotes.xml \
+ schedule.xml
-DATA= docbook.css
+DATA= docbook.css \
+ errata.html \
+ hardware.html \
+ installation.html \
+ readme.html
.include "${DOC_PREFIX}/share/mk/web.site.mk"
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/announce.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/announce.xml (nonexistent)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/announce.xml (revision 42804)
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
+"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
+<!ENTITY title "FreeBSD 9.2-RELEASE Announcement">
+]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>&title;</title>
+
+ <cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
+ </head>
+
+ <body class="navinclude.download">
+
+ <p>The FreeBSD Release Engineering Team is pleased to announce the
+ availability of FreeBSD 9.2-RELEASE. This is the second release
+ from the stable/9 branch, which improves on the stability of
+ FreeBSD 9.1 and introduces some new features. Some of the
+ highlights:</p>
+
+ <ul>
+ <li><p>The ZFS filesystem now supports TRIM when used on solid
+ state drives.</p></li>
+ <li><p>The virtio(4) drivers have been added to the GENERIC
+ kernel configuration for amd64 and i386
+ architectures.</p></li>
+ <li><p>The ZFS filesystem now supports lz4 compression.</p></li>
+ <li><p>OpenSSL has been updated to version 0.9.8y.</p></li>
+ <li><p>DTrace hooks have been enabled by default in the GENERIC
+ kernel.</p></li>
+ <li><p>DTrace has been updated to version 1.9.0.</p></li>
+ <li><p>Sendmail has been updated to version 8.14.7.</p></li>
+ <li><p>OpenSSH has been updated to version 6.2p2.</p></li>
+ <li><p>Import unmapped I/O support from head/.</p></li>
+ </ul>
+
+ <p>For a complete list of new features and known problems, please
+ see the online release notes and errata list, available at:</p>
+
+ <ul>
+ <li><p><tt><a href="http://www.FreeBSD.org/releases/9.2R/relnotes.html">http://www.FreeBSD.org/releases/9.2R/relnotes.html</a></tt></p></li>
+ </ul>
+
+ <p>For more information about FreeBSD release engineering
+ activities, please see:</p>
+
+ <ul>
+ <li><p><tt><a href="http://www.FreeBSD.org/releng/">http://www.FreeBSD.org/releng/</a></tt></p></li>
+ </ul>
+
+ <h2 id="availability">Availability</h2>
+
+ <p>FreeBSD 9.2-RELEASE is now available for the amd64, i386, ia64,
+ powerpc, powerpc64, and sparc64 architectures.</p>
+
+ <p>FreeBSD 9.2 can be installed from bootable ISO images or over
+ the network. Some architectures also support installing from
+ a USB memory stick. The required files can be downloaded via
+ FTP as described in the section below. While some of the
+ smaller FTP mirrors may not carry all architectures, they will
+ all generally contain the more common ones such as amd64 and
+ i386.</p>
+
+ <p>MD5 and SHA256 hashes for the release ISO and memory stick
+ images are included at the bottom of this message.</p>
+
+ <p>The purpose of the images provided as part of the release are
+ as follows:</p>
+
+ <dl>
+ <dt>dvd1</dt>
+
+ <dd><p>This contains everything necessary to install the base
+ FreeBSD operating system, the documentation, and a small
+ set of pre-built packages aimed at getting a graphical
+ workstation up and running. It also supports booting into
+ a "livefs" based rescue mode. This should be all you need
+ if you can burn and use DVD-sized media.</p></dd>
+
+ <dt>disc1</dt>
+
+ <dd><p>This contains the base FreeBSD operating system. It also
+ supports booting into a "livefs" based rescue mode. There are
+ no pre-built packages.</p></dd>
+
+ <dt>bootonly</dt>
+
+ <dd><p>This supports booting a machine using the CDROM drive but
+ does not contain the support for installing FreeBSD from the
+ CD itself. You would need to perform a network based install
+ (e.g. from an FTP server) after booting from the CD.</p></dd>
+
+ <dt>memstick</dt>
+
+ <dd><p>This can be written to an USB memory stick (flash drive)
+ and used to do an install on machines capable of booting off
+ USB drives. It also supports booting into a "livefs" based
+ rescue mode. There are no pre-built packages.</p>
+
+ <p>As one example of how to use the memstick image, assuming
+ the USB drive appears as /dev/da0 on your machine something
+ like this should work:</p>
+
+ <pre># dd if=FreeBSD-9.2-RELEASE-amd64-memstick.img of=/dev/da0 bs=10240 conv=sync</pre>
+
+ <p>Be careful to make sure you get the target (of=)
+ correct.</p></dd>
+ </dl>
+
+ <p>FreeBSD 9.2-RELEASE can also be purchased on CD-ROM or DVD from
+ several vendors. One of the vendors that will be offering
+ FreeBSD 9.2-based products is:</p>
+
+ <ul>
+ <li><p>FreeBSD Mall, Inc.<tt><a
+ href="http://www.freebsdmall.com/">http://www.freebsdmall.com</a></tt></p></li>
+ </ul>
+
+ <h2>FTP</h2>
+
+ <p>At the time of this announcement the following FTP sites have
+ FreeBSD 9.2-RELEASE available.</p>
+
+ <ul>
+ <li><p><tt><a href="ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/9.2/">ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/9.2/</a></tt></p></li>
+ </ul>
+
+ <p>However before trying these sites please check your regional
+ mirror(s) first by going to:</p>
+
+ <ul>
+ <li><p><tt><a>ftp://ftp.&lt;yourdomain&gt;.FreeBSD.org/pub/FreeBSD</a></tt></p></li>
+ </ul>
+
+ <p>Any additional mirror sites will be labeled ftp2, ftp3 and so
+ on.</p>
+
+ <p>More information about FreeBSD mirror sites can be found
+ at:</p>
+
+ <ul>
+ <li><p><tt><a href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html">http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html</a></tt></p></li>
+ </ul>
+
+ <p>For instructions on installing FreeBSD or updating an existing
+ machine to 9.2-RELEASE please see:</p>
+
+ <ul>
+ <li><p><tt><a href="http://www.FreeBSD.org/releases/9.2R/installation.html">http://www.FreeBSD.org/releases/9.2R/installation.html</a></tt></p></li>
+ </ul>
+
+ <h2>Support</h2>
+
+ <p>FreeBSD 9.2-RELEASE will be supported until 2014-09-30. The
+ End-of-Life dates can be found at:</p>
+
+ <ul>
+ <li><p><tt><a href="http://www.FreeBSD.org/security/">http://www.FreeBSD.org/security/</a></tt></p></li>
+ </ul>
+
+ <h2>Other Projects Based on FreeBSD</h2>
+
+ <p>There are many "third party" Projects based on FreeBSD. The
+ Projects range from re-packaging FreeBSD into a more "novice
+ friendly" distribution to making FreeBSD available on Amazon's
+ EC2 infrastructure. For more information about these Third
+ Party Projects see:</p>
+
+ <ul>
+ <li><p><tt><a href="http://wiki.FreeBSD.org/3rdPartyProjects">http://wiki.FreeBSD.org/3rdPartyProjects</a></tt></p></li>
+ </ul>
+
+ <h2>Acknowledgments</h2>
+
+ <p>Many companies donated equipment, network access, or man-hours
+ to support the release engineering activities for FreeBSD 9.2
+ including The FreeBSD Foundation, Yahoo!, NetApp, Internet
+ Systems Consortium, Sentex Communications, New York Internet,
+ Juniper Networks, and iXsystems.</p>
+
+ <p>The release engineering team for 9.2-RELEASE includes:</p>
+
+ <table border="0">
+ <tbody>
+ <tr>
+ <td>Ken&nbsp;Smith&nbsp;&lt;<a href="mailto:kensmith@FreeBSD.org">kensmith@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering Lead</td>
+ </tr>
+
+ <tr>
+ <td>Marcus&nbsp;von&nbsp;Appen&nbsp;&lt;<a href="mailto:mva@FreeBSD.org">mva@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering</td>
+ </tr>
+
+ <tr>
+ <td>Glen&nbsp;Barber&nbsp;&lt;<a href="mailto:gjb@FreeBSD.org">gjb@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering, 9.2-RELEASE Release Engineer</td>
+ </tr>
+
+ <tr>
+ <td>Konstantin&nbsp;Belousov&nbsp;&lt;<a href="mailto:kib@FreeBSD.org">kib@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering</td>
+ </tr>
+
+ <tr>
+ <td>Joel&nbsp;Dahl&nbsp;&lt;<a href="mailto:joel@FreeBSD.org">joel@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering</td>
+ </tr>
+
+ <tr>
+ <td>Marc&nbsp;Fonvieille&nbsp;&lt;<a href="mailto:blackend@FreeBSD.org">blackend@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering, Documentation</td>
+ </tr>
+
+ <tr>
+ <td>Steven&nbsp;Kreuzer&nbsp;&lt;<a href="mailto:skreuzer@FreeBSD.org">skreuzer@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering</td>
+ </tr>
+
+ <tr>
+ <td>Erwin&nbsp;Lansing&nbsp;&lt;<a href="mailto:erwin@FreeBSD.org">erwin@FreeBSD.org</a>&gt;</td>
+ <td>Package Building</td>
+ </tr>
+
+ <tr>
+ <td>Xin&nbsp;Li&nbsp;&lt;<a href="mailto:delphij@FreeBSD.org">delphij@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering, Security</td>
+ </tr>
+
+ <tr>
+ <td>Simon&nbsp;L.&nbsp;B.&nbsp;Nielsen&nbsp;&lt;<a href="mailto:simon@FreeBSD.org">simon@FreeBSD.org</a>&gt;</td>
+ <td>Security Officer Emeritus</td>
+ </tr>
+
+ <tr>
+ <td>Josh&nbsp;Paetzel&nbsp;&lt;<a href="mailto:jpaetzel@FreeBSD.org">jpaetzel@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering</td>
+ </tr>
+
+ <tr>
+ <td>Colin&nbsp;Percival&nbsp;&lt;<a href="mailto:cperciva@FreeBSD.org">cperciva@FreeBSD.org</a>&gt;</td>
+ <td>Security Officer Emeritus</td>
+ </tr>
+
+ <tr>
+ <td>Craig&nbsp;Rodrigues&nbsp;&lt;<a href="mailto:rodrigc@FreeBSD.org">rodrigc@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering</td>
+ </tr>
+
+ <tr>
+ <td>Hiroki&nbsp;Sato&nbsp;&lt;<a href="mailto:hrs@FreeBSD.org">hrs@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering, Documentation</td>
+ </tr>
+
+ <tr>
+ <td>Gleb&nbsp;Smirnoff&nbsp;&lt;<a href="mailto:glebius@FreeBSD.org">glebius@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering</td>
+ </tr>
+
+ <tr>
+ <td>Dag-Erling&nbsp;Sm&oslash;rgrav&nbsp;&lt;<a href="mailto:des@FreeBSD.org">des@FreeBSD.org</a>&gt;</td>
+ <td>Security Officer</td>
+ </tr>
+
+ <tr>
+ <td>Marius&nbsp;Strobl&nbsp;&lt;<a href="mailto:marius@FreeBSD.org">marius@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering</td>
+ </tr>
+
+ <tr>
+ <td>Robert&nbsp;Watson&nbsp;&lt;<a href="mailto:rwatson@FreeBSD.org">rwatson@FreeBSD.org</a>&gt;</td>
+ <td>Release Engineering, Security</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h2>Trademark</h2>
+
+ <p>FreeBSD is a registered trademark of The FreeBSD Foundation.</p>
+
+ <h2>ISO Image Checksums</h2>
+
+ <pre>SHA256 (FreeBSD-9.2-RELEASE-amd64-bootonly.iso) = 63db06d3f468d219b308bb3fbc3f48e791134481fb1abf39e9b1ee415dcfc099
+SHA256 (FreeBSD-9.2-RELEASE-amd64-disc1.iso) = a8c1751b83646530148766618a89a97009e7500e7057a5cbe3afd74ef480c915
+SHA256 (FreeBSD-9.2-RELEASE-amd64-dvd1.iso) = 36c99ac1ffb90f2272df1bf10cafec999fde1b1a6bd289b5583836639c3639ae
+SHA256 (FreeBSD-9.2-RELEASE-amd64-memstick.img) = fbc0c46f2db8c347145ee7c8308e4f3058dc5ec3155a9fb51d0f0e52ab2bf5cb</pre>
+
+ <pre>MD5 (FreeBSD-9.2-RELEASE-amd64-bootonly.iso) = 2338f255d0ddc4659d04545a3c27bfa1
+MD5 (FreeBSD-9.2-RELEASE-amd64-disc1.iso) = cde180e3c5e3e370c97598a4feccb5b4
+MD5 (FreeBSD-9.2-RELEASE-amd64-dvd1.iso) = 21448c2688ba938b42c1727449d69750
+MD5 (FreeBSD-9.2-RELEASE-amd64-memstick.img) = 8a7f0ee3cb2570785b2d0a760d99bad6</pre>
+
+ <pre>SHA256 (FreeBSD-9.2-RELEASE-i386-bootonly.iso) = e2df14515911ab964a587c4ae5e23882c71908c4e589ae57f7848399232c161d
+SHA256 (FreeBSD-9.2-RELEASE-i386-disc1.iso) = 76093c27288f0ab939a5de14b621ec8eb1420d96343132c2b7c382747d35b67c
+SHA256 (FreeBSD-9.2-RELEASE-i386-dvd1.iso) = a1bba5668792cfc8197c0f81b28cdd17e912a1ae5816887f8518bf1536a99af8
+SHA256 (FreeBSD-9.2-RELEASE-i386-memstick.img) = aa635578fea1136da680420afaab21a8e0b7c39541566d28f468d6ebb7a1e3a8</pre>
+
+ <pre>MD5 (FreeBSD-9.2-RELEASE-i386-bootonly.iso) = c868d09dace9ec2d673fd62cbd1305b4
+MD5 (FreeBSD-9.2-RELEASE-i386-disc1.iso) = ba7ba7943177aee9626df228fb1ee6c2
+MD5 (FreeBSD-9.2-RELEASE-i386-dvd1.iso) = 917104df8d559f2ec981e98bfdf78e05
+MD5 (FreeBSD-9.2-RELEASE-i386-memstick.img) = affea2f784472cfbed9d16a6fdeab5ce</pre>
+
+ <pre>SHA256 (FreeBSD-9.2-RELEASE-ia64-bootonly.iso) = 138b6f9fe7bbad418db956a53539ff75f77c918aedaf7fcc1d4960aa2ccca476
+SHA256 (FreeBSD-9.2-RELEASE-ia64-disc1.iso) = 906cfc5012504501547aa0c89292e66047faaed34f18e79594ab95635c43f6c2
+SHA256 (FreeBSD-9.2-RELEASE-ia64-memstick.img) = b178d6466f4b2eb9af0520eb8b434ce98ecab11b9d24bf6ad9478a30f9875531</pre>
+
+ <pre>MD5 (FreeBSD-9.2-RELEASE-ia64-bootonly.iso) = 2ef154556774c55ce0a5a27c7a674859
+MD5 (FreeBSD-9.2-RELEASE-ia64-disc1.iso) = aa06455bfd9f54f1257c6b8484e81334
+MD5 (FreeBSD-9.2-RELEASE-ia64-memstick.img) = b047ea9791272a4fbc66cd9f401d6122</pre>
+
+ <pre>SHA256 (FreeBSD-9.2-RELEASE-powerpc-bootonly.iso) = 89fea7d441a71b96def24a80815566936b7b6eaab640030ae78518001806d626
+SHA256 (FreeBSD-9.2-RELEASE-powerpc-disc1.iso) = b5f5adc9ab2392c2796881553582a1da1cfa99c62b62b57a3325fc7e6a7259c4
+SHA256 (FreeBSD-9.2-RELEASE-powerpc-memstick.img) = 3951ab28d6226f9c32a71f6d81d6ad9f9d05c9af5d11cf00118380f6ba20f282</pre>
+
+ <pre>MD5 (FreeBSD-9.2-RELEASE-powerpc-bootonly.iso) = 84ba491526faf1115827ee3c81593f92
+MD5 (FreeBSD-9.2-RELEASE-powerpc-disc1.iso) = 1a1f683a69d20419834d056d43c8e3de
+MD5 (FreeBSD-9.2-RELEASE-powerpc-memstick.img) = dd959ede1dff0971334d3722db8c8bcc</pre>
+
+ <pre>SHA256 (FreeBSD-9.2-RELEASE-powerpc-powerpc64-bootonly.iso) = 092fa817a0a44fb49d05ed7aae44d98e78f4e3e0fc6e0297ee0d11ec8f8ccf37
+SHA256 (FreeBSD-9.2-RELEASE-powerpc-powerpc64-disc1.iso) = 56daf1f49bff7ee9e31c3255170fe2373c8674cfce1c560e78deff4ae81c505d
+SHA256 (FreeBSD-9.2-RELEASE-powerpc-powerpc64-memstick.img) = be87c9edaa0b343a1223ebfb68dd161a023e287e067dd6550198c4ac23d47062</pre>
+
+ <pre>MD5 (FreeBSD-9.2-RELEASE-powerpc-powerpc64-bootonly.iso) = c914b221a8f09ac8d004aa4d7db710a0
+MD5 (FreeBSD-9.2-RELEASE-powerpc-powerpc64-disc1.iso) = f471466df756ae85162fb8bb794d007a
+MD5 (FreeBSD-9.2-RELEASE-powerpc-powerpc64-memstick.img) = c6b739c889dd94e3ed3ac8ef277ced91</pre>
+
+ <pre>SHA256 (FreeBSD-9.2-RELEASE-sparc64-bootonly.iso) = 76813e3a5b400ea56533a3d5762f76284746a736281b6e1bce882d9f0e2dd076
+SHA256 (FreeBSD-9.2-RELEASE-sparc64-disc1.iso) = 0a15095210058fa7c1572102e6af49407462fcd670d28a3af9dfc154efaeb72e</pre>
+
+ <pre>MD5 (FreeBSD-9.2-RELEASE-sparc64-bootonly.iso) = ae21e0dc63aa0d6327f44c733705c055
+MD5 (FreeBSD-9.2-RELEASE-sparc64-disc1.iso) = 7ce9c00d4b6e23124062cc2be8b56a74</pre>
+
+ </body>
+</html>
Property changes on: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/announce.xml
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/sgml
\ No newline at end of property
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/errata.html
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/errata.html (nonexistent)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/errata.html (revision 42804)
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="generator" content="HTML Tidy, see www.w3.org" />
+<title>FreeBSD 9.2-RELEASE Errata</title>
+<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79" />
+<link rel="STYLESHEET" type="text/css" href="docbook.css" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+</head>
+<body class="article" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
+alink="#0000FF">
+<div class="ARTICLE">
+<div class="TITLEPAGE">
+<h1 class="title"><a id="AEN2" name="AEN2">FreeBSD 9.2-RELEASE Errata</a></h1>
+
+<h3 class="corpauthor">&#13; The FreeBSD Project</h3>
+
+<p class="copyright">Copyright &copy; 2012 The FreeBSD Documentation Project</p>
+
+<p class="pubdate">$FreeBSD$<br />
+</p>
+
+<div class="legalnotice"><a id="trademarks" name="trademarks"></a>
+<p>FreeBSD is a registered trademark of the FreeBSD Foundation.</p>
+
+<p>Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or
+registered trademarks of Intel Corporation or its subsidiaries in the United States and
+other countries.</p>
+
+<p>SPARC, SPARC64, SPARCengine, and UltraSPARC are trademarks of SPARC International, Inc
+in the United States and other countries. SPARC International, Inc owns all of the SPARC
+trademarks and under licensing agreements allows the proper use of these trademarks by
+its members.</p>
+
+<p>Many of the designations used by manufacturers and sellers to distinguish their
+products are claimed as trademarks. Where those designations appear in this document, and
+the FreeBSD Project was aware of the trademark claim, the designations have been followed
+by the &#8220;&#8482;&#8221; or the &#8220;®&#8221; symbol.</p>
+</div>
+
+<hr />
+</div>
+
+<blockquote class="ABSTRACT">
+<div class="abstract"><a id="AEN16" name="AEN16"></a>
+<p>This document lists errata items for FreeBSD 9.2-RELEASE, containing significant
+information discovered after the release or too late in the release cycle to be otherwise
+included in the release documentation. This information includes security advisories, as
+well as news relating to the software or documentation that could affect its operation or
+usability. An up-to-date version of this document should always be consulted before
+installing this version of FreeBSD.</p>
+
+<p>This errata document for FreeBSD 9.2-RELEASE will be maintained until the release of
+FreeBSD 9.3-RELEASE.</p>
+</div>
+</blockquote>
+
+<div class="sect1">
+<hr />
+<h2 class="sect1"><a id="intro" name="intro">1 Introduction</a></h2>
+
+<p>This errata document contains &#8220;late-breaking news&#8221; about FreeBSD
+9.2-RELEASE. Before installing this version, it is important to consult this document to
+learn about any post-release discoveries or problems that may already have been found and
+fixed.</p>
+
+<p>Any version of this errata document actually distributed with the release (for
+example, on a CDROM distribution) will be out of date by definition, but other copies are
+kept updated on the Internet and should be consulted as the &#8220;current errata&#8221;
+for this release. These other copies of the errata are located at <a
+href="http://www.FreeBSD.org/releases/"
+target="_top">http://www.FreeBSD.org/releases/</a>, plus any sites which keep up-to-date
+mirrors of this location.</p>
+
+<p>Source and binary snapshots of FreeBSD 9.2-STABLE also contain up-to-date copies of
+this document (as of the time of the snapshot).</p>
+
+<p>For a list of all FreeBSD CERT security advisories, see <a
+href="http://www.FreeBSD.org/security/"
+target="_top">http://www.FreeBSD.org/security/</a> or <a
+href="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/"
+target="_top">ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/</a>.</p>
+</div>
+
+<div class="sect1">
+<hr />
+<h2 class="sect1"><a id="security" name="security">2 Security Advisories</a></h2>
+
+<p>Problems described in the following security advisories have been fixed in
+9.2-RELEASE. For more information, consult the individual advisories available from <a
+href="http://security.FreeBSD.org/" target="_top">http://security.FreeBSD.org/</a>.</p>
+
+<div class="informaltable"><a id="AEN34" name="AEN34"></a>
+<table border="0" frame="void" width="100%" class="CALSTABLE">
+<col width="20%" />
+<col width="20%" />
+<col width="60%" />
+<thead>
+<tr>
+<th>Advisory</th>
+<th>Date</th>
+<th>Topic</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td>No entries to display.</td>
+<td>&nbsp;</td>
+<td>&nbsp;</td>
+</tr>
+
+</tbody>
+</table>
+</div>
+</div>
+
+<div class="sect1">
+<hr />
+<h2 class="sect1"><a id="late-news" name="late-news">3 Late-Breaking News</a></h2>
+
+<p>No entries to display.</p>
+
+</div>
+</div>
+
+<hr />
+<p align="center"><small>This file, and other release-related documents, can be
+downloaded from <a
+href="http://www.FreeBSD.org/releases/">http://www.FreeBSD.org/releases/</a>.</small></p>
+
+<p align="center"><small>For questions about FreeBSD, read the <a
+href="http://www.FreeBSD.org/docs.html">documentation</a> before contacting &#60;<a
+href="mailto:questions@FreeBSD.org">questions@FreeBSD.org</a>&#62;.</small></p>
+
+<p align="center"><small>All users of FreeBSD 9.2-STABLE should subscribe to the &#60;<a
+href="mailto:stable@FreeBSD.org">stable@FreeBSD.org</a>&#62; mailing list.</small></p>
+
+<p align="center"><small>For questions about this documentation, e-mail &#60;<a
+href="mailto:doc@FreeBSD.org">doc@FreeBSD.org</a>&#62;.</small></p>
+</body>
+</html>
+
Property changes on: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/errata.html
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/sgml
\ No newline at end of property
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/hardware.html
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/hardware.html (nonexistent)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/hardware.html (revision 42804)
@@ -0,0 +1,9306 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="generator" content=
+"HTML Tidy for FreeBSD (vers 7 December 2008), see www.w3.org" />
+<meta http-equiv="Content-Type" content=
+"text/html; charset=utf-8" />
+<title>FreeBSD 9.2-RELEASE Hardware Notes</title>
+<link rel="stylesheet" type="text/css" href="docbook.css" />
+<link rev="made" href="doc@FreeBSD.org" />
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1" />
+</head>
+<body>
+<div class="article" title="FreeBSD 9.2-RELEASE Hardware Notes">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"idp58623536"></a>FreeBSD 9.2-RELEASE Hardware Notes</h2>
+</div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="corpauthor">The
+FreeBSD Documentation Project</h3>
+</div>
+<div>
+<p xmlns="http://www.w3.org/1999/xhtml" class="copyright">Copyright
+© 2000-2013 The FreeBSD Documentation Project</p>
+</div>
+<div>
+<div xmlns="http://www.w3.org/1999/xhtml" class="legalnotice"
+title="Legal Notice"><a id="trademarks"></a>
+<p>FreeBSD is a registered trademark of the FreeBSD Foundation.</p>
+<p>AMD, Am486, Am5X86, AMD Athlon, AMD Duron, AMD Opteron, AMD-K6,
+Athlon, Élan, Opteron, and PCnet are trademarks of Advanced Micro
+Devices, Inc.</p>
+<p>Fujitsu, the Fujitsu logo, LifeBook, Stylistic, PRIMEPOWER,
+PRIMEQUEST, PRIMECLUSTER, ETERNUS, TRIOLE, ESPRIMO, BioMedCAChe,
+CAChe, CELLINJECTOR, isS, Materials Explorer, SystemWalker, and
+Interstage are trademarks or registered trademarks of Fujitsu
+Limited in the United States and other countries.</p>
+<p>IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, and
+ThinkPad are trademarks of International Business Machines
+Corporation in the United States, other countries, or both.</p>
+<p>Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and
+Xeon are trademarks or registered trademarks of Intel Corporation
+or its subsidiaries in the United States and other countries.</p>
+<p>SPARC, SPARC64, SPARCengine, and UltraSPARC are trademarks of
+SPARC International, Inc in the United States and other countries.
+SPARC International, Inc owns all of the SPARC trademarks and under
+licensing agreements allows the proper use of these trademarks by
+its members.</p>
+<p>Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer
+Pages, JDK, JRE, JSP, JVM, Netra, OpenJDK, Solaris, StarOffice, Sun
+Blade, Sun Enterprise, Sun Fire, SunOS, Ultra and VirtualBox are
+trademarks or registered trademarks of Sun Microsystems, Inc. in
+the United States and other countries.</p>
+<p>Many of the designations used by manufacturers and sellers to
+distinguish their products are claimed as trademarks. Where those
+designations appear in this document, and the FreeBSD Project was
+aware of the trademark claim, the designations have been followed
+by the <span class="quote">“<span class="quote">™</span>”</span> or
+the <span class="quote">“<span class="quote">®</span>”</span>
+symbol.</p>
+</div>
+</div>
+<div>Last modified on 2013-09-30 by gjb.</div>
+</div>
+<hr /></div>
+<div class="toc">
+<div class="toc-title">Table of Contents</div>
+<dl>
+<dt><span class="sect1"><a href="#intro">1.
+Introduction</a></span></dt>
+<dt><span class="sect1"><a href="#proc">2. Supported Processors and
+System Boards</a></span></dt>
+<dt><span class="sect1"><a href="#support">3. Supported
+Devices</a></span></dt>
+</dl>
+</div>
+<div class="sect1" title="1.&nbsp;Introduction">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h2 xmlns="http://www.w3.org/1999/xhtml" class="title" style=
+"clear: both"><a id="intro"></a>1.&nbsp;Introduction</h2>
+</div>
+</div>
+</div>
+<p>This document contains the hardware compatibility notes for
+FreeBSD 9.2-RELEASE. It lists the hardware platforms supported by
+FreeBSD, as well as the various types of hardware devices (storage
+controllers, network interfaces, and so on), along with known
+working instances of these devices.</p>
+</div>
+<div class="sect1" title=
+"2.&nbsp;Supported Processors and System Boards">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h2 xmlns="http://www.w3.org/1999/xhtml" class="title" style=
+"clear: both"><a id="proc"></a>2.&nbsp;Supported Processors and
+System Boards</h2>
+</div>
+</div>
+</div>
+<p>This section provides some architecture-specific information
+about the specific processors and systems that are supported by
+each architecture.</p>
+<div class="sect2" title="2.1.&nbsp;amd64">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"proc-amd64"></a>2.1.&nbsp;amd64</h3>
+</div>
+</div>
+</div>
+<p>Since mid-2003 FreeBSD/amd64 has supported the AMD64
+(<span class="quote">“<span class="quote">Hammer</span>”</span>)
+and <span class="trademark">Intel</span>® EM64T architecture, and
+is now one of the Tier-1 platforms (fully supported architecture),
+which are expected to be Production Quality with respects to all
+aspects of the FreeBSD operating system, including installation and
+development environments.</p>
+<p>Note that there are two names for this architecture, AMD64 (AMD)
+and Intel EM64T (Extended Memory 64-bit Technology). 64-bit mode of
+the two architectures are almost compatible with each other, and
+FreeBSD/amd64 should support them both.</p>
+<p>As of this writing, the following processors are supported:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p><span class="trademark">AMD&nbsp;Athlon</span>™64 (<span class=
+"quote">“<span class="quote">Clawhammer</span>”</span>).</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">AMD&nbsp;Opteron</span>™ (<span class=
+"quote">“<span class="quote">Sledgehammer</span>”</span>).</p>
+</li>
+<li class="listitem">
+<p>All multi-core <span class="trademark">Intel</span>®
+<span class="trademark">Xeon</span>™ processors except Sossaman
+have EM64T support.</p>
+</li>
+<li class="listitem">
+<p>The single-core <span class="trademark">Intel</span>®
+<span class="trademark">Xeon</span>™ processors <span class=
+"quote">“<span class="quote">Nocona</span>”</span>, <span class=
+"quote">“<span class="quote">Irwindale</span>”</span>, <span class=
+"quote">“<span class="quote">Potomac</span>”</span>, and
+<span class="quote">“<span class="quote">Cranford</span>”</span>
+have EM64T support.</p>
+</li>
+<li class="listitem">
+<p>All <span class="trademark">Intel</span>® Core 2 (not Core Duo)
+and later processors</p>
+</li>
+<li class="listitem">
+<p>All <span class="trademark">Intel</span>® <span class=
+"trademark">Pentium</span>® D processors</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Intel</span>® <span class=
+"trademark">Pentium</span>® 4s and Celeron Ds using the
+<span class="quote">“<span class="quote">Cedar Mill</span>”</span>
+core have EM64T support.</p>
+</li>
+<li class="listitem">
+<p>Some <span class="trademark">Intel</span>® <span class=
+"trademark">Pentium</span>® 4s and Celeron Ds using the
+<span class="quote">“<span class="quote">Prescott</span>”</span>
+core have EM64T support. See the <a class="ulink" href=
+"http://processorfinder.intel.com" target="_top">Intel Processor
+Spec Finder</a> for the definitive answer about EM64T support in
+Intel processors.</p>
+</li>
+</ul>
+</div>
+<p><span class="trademark">Intel</span>® EM64T is an extended
+version of IA-32 (x86) and different from <span class=
+"trademark">Intel</span>® IA-64 (Itanium) architecture, which
+FreeBSD/ia64 supports. Some <span class="trademark">Intel</span>®'s
+old documentation refers to <span class="trademark">Intel</span>®
+EM64T as <span class="quote">“<span class="quote">64-bit extension
+technology</span>”</span> or <span class="quote">“<span class=
+"quote">IA-32e</span>”</span>.</p>
+<p>Both Uniprocessor (UP) and Symmetric Multi-processor (SMP)
+configurations are supported.</p>
+<p>In many respects, FreeBSD/amd64 is similar to FreeBSD/i386, in
+terms of drivers supported. Generally, drivers that already
+function correctly on other 64-bit platforms should work.</p>
+</div>
+<div class="sect2" title="2.2.&nbsp;i386">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"proc-i386"></a>2.2.&nbsp;i386</h3>
+</div>
+</div>
+</div>
+<p>FreeBSD/i386 runs on a wide variety of <span class=
+"quote">“<span class="quote">IBM PC compatible</span>”</span>
+machines. Due to the wide range of hardware available for this
+architecture, it is impossible to exhaustively list all
+combinations of equipment supported by FreeBSD. Nevertheless, some
+general guidelines are presented here.</p>
+<p>Almost all <span class="trademark">i386</span>™-compatible
+processors with a floating point unit are supported. All
+<span class="trademark">Intel</span>® processors beginning with the
+80486 are supported, including the 80486, <span class=
+"trademark">Pentium</span>®, <span class=
+"trademark">Pentium</span>® Pro, <span class=
+"trademark">Pentium</span>® II, <span class=
+"trademark">Pentium</span>® III, <span class=
+"trademark">Pentium</span>® 4, and variants thereof, such as the
+<span class="trademark">Xeon</span>™ and <span class=
+"trademark">Celeron</span>® processors. All <span class=
+"trademark">i386</span>™-compatible AMD processors are also
+supported, including the <span class="trademark">Am486</span>®,
+<span class="trademark">Am5x86</span>®, K5, <span class=
+"trademark">AMD-K6</span>® (and variants), <span class=
+"trademark">AMD&nbsp;Athlon</span>™ (including Athlon-MP,
+Athlon-XP, Athlon-4, and Athlon Thunderbird), and <span class=
+"trademark">AMD&nbsp;Duron</span>™ processors. The AMD Élan SC520
+embedded processor is supported. The Transmeta Crusoe is recognized
+and supported, as are <span class=
+"trademark">i386</span>™-compatible processors from Cyrix and
+NexGen.</p>
+<p>There is a wide variety of motherboards available for this
+architecture. Motherboards using the ISA, VLB, EISA, AGP, and PCI
+expansion buses are well-supported. There is some limited support
+for the MCA (<span class="quote">“<span class=
+"quote">MicroChannel</span>”</span>) expansion bus used in the IBM
+PS/2 line of PCs.</p>
+<p>Symmetric multi-processor (SMP) systems are generally supported
+by FreeBSD, although in some cases, BIOS or motherboard bugs may
+generate some problems. Perusal of the archives of the <a class=
+"ulink" href=
+"http://lists.FreeBSD.org/mailman/listinfo/freebsd-smp" target=
+"_top">FreeBSD symmetric multiprocessing mailing list</a> may yield
+some clues.</p>
+<p>FreeBSD will take advantage of HyperThreading (HTT) support on
+<span class="trademark">Intel</span>® CPUs that support this
+feature. A kernel with the <code class=
+"literal">options&nbsp;SMP</code> feature enabled will
+automatically detect the additional logical processors. The default
+FreeBSD scheduler treats the logical processors the same as
+additional physical processors; in other words, no attempt is made
+to optimize scheduling decisions given the shared resources between
+logical processors within the same CPU. Because this naive
+scheduling can result in suboptimal performance, under certain
+circumstances it may be useful to disable the logical processors
+with the <code class=
+"varname">machdep.hyperthreading_allowed</code> tunable. The
+<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=smp&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">smp</span>(4)</span></a> manual page
+has more details.</p>
+<p>FreeBSD will take advantage of Physical Address Extensions (PAE)
+support on CPUs that support this feature. A kernel with the
+<code class="literal">PAE</code> feature enabled will detect memory
+above 4 gigabytes and allow it to be used by the system. This
+feature places constraints on the device drivers and other features
+of FreeBSD which may be used; consult the <a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=pae&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">pae</span>(4)</span></a> manual page
+for more details.</p>
+<p>FreeBSD will generally run on i386-based laptops, albeit with
+varying levels of support for certain hardware features such as
+sound, graphics, power management, and PCCARD expansion slots.
+These features tend to vary in idiosyncratic ways between machines,
+and frequently require special-case support in FreeBSD to work
+around hardware bugs or other oddities. When in doubt, a search of
+the archives of the <a class="ulink" href=
+"http://lists.FreeBSD.org/mailman/listinfo/freebsd-mobile" target=
+"_top">FreeBSD laptop computer mailing list</a> may be useful.</p>
+<p>Most modern laptops (as well as many desktops) use the Advanced
+Configuration and Power Management (ACPI) standard. FreeBSD
+supports ACPI via the ACPI Component Architecture reference
+implementation from <span class="trademark">Intel</span>®, as
+described in the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=acpi&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">acpi</span>(4)</span></a> manual page.
+The use of ACPI causes instabilities on some machines and it may be
+necessary to disable the ACPI driver, which is normally loaded via
+a kernel module. This may be accomplished by adding the following
+line to <code class="filename">/boot/device.hints</code>:</p>
+<div class="programlisting">hint.acpi.0.disabled="1"</div>
+<p>Users debugging ACPI-related problems may find it useful to
+disable portions of the ACPI functionality. The <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=acpi&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">acpi</span>(4)</span></a> manual page
+has more information on how to do this via loader tunables.</p>
+<p>ACPI depends on a Differentiated System Descriptor Table (DSDT)
+provided by each machine's BIOS. Some machines have bad or
+incomplete DSDTs, which prevents ACPI from functioning correctly.
+Replacement DSDTs for some machines can be found at the <a class=
+"ulink" href="http://acpi.sourceforge.net/dsdt/index.php" target=
+"_top">DSDT</a> section of the <a class="ulink" href=
+"http://acpi.sourceforge.net/" target="_top">ACPI4Linux</a> project
+Web site. FreeBSD can use these DSDTs to override the DSDT provided
+by the BIOS; see the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=acpi&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">acpi</span>(4)</span></a> manual page
+for more information.</p>
+</div>
+<div class="sect2" title="2.3.&nbsp;ia64">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"proc-ia64"></a>2.3.&nbsp;ia64</h3>
+</div>
+</div>
+</div>
+<p>Currently supported processors are the <a class="ulink" href=
+"http://people.freebsd.org/~marcel/refs/ia64/itanium/24532003.pdf"
+target="_top"><span class="trademark">Itanium</span>®</a> and the
+<a class="ulink" href=
+"http://people.freebsd.org/~marcel/refs/ia64/itanium2/25111003.pdf"
+target="_top"><span class="trademark">Itanium</span>® 2</a>.</p>
+<p>Supported chipsets include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>HP zx1</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Intel</span>® 460GX</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Intel</span>® E8870</p>
+</li>
+</ul>
+</div>
+<p>Both Uniprocessor (UP) and Symmetric Multi-processor (SMP)
+configurations are supported.</p>
+<p>Most devices that can be found in or are compatible with ia64
+machines are fully supported. The notable exception is the VGA
+console. The FreeBSD support for VGA consoles is at this time too
+much based on PC hardware and not all ia64 machines have chipsets
+that provide sufficient PC legacy support. As such <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=syscons&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">syscons</span>(4)</span></a> can not be enabled and
+the use of a serial console is required.</p>
+</div>
+<div class="sect2" title="2.4.&nbsp;pc98">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"proc-pc98"></a>2.4.&nbsp;pc98</h3>
+</div>
+</div>
+</div>
+<p>NEC PC-9801/9821 series with almost all <span class=
+"trademark">i386</span>™-compatible processors, including 80486,
+<span class="trademark">Pentium</span>®, <span class=
+"trademark">Pentium</span>® Pro, <span class=
+"trademark">Pentium</span>® II, and variants. All <span class=
+"trademark">i386</span>™-compatible processors by AMD, Cyrix, IBM,
+and IDT are also supported.</p>
+<p>NEC FC-9801/9821 series, and NEC SV-98 series (both of them are
+compatible with PC-9801/9821 series) should be supported.</p>
+<p>EPSON PC-386/486/586 series, which are compatible with NEC
+PC-9801 series are supported.</p>
+<p>High-resolution mode is not supported. NEC PC-98XA/XL/RL/XL^2,
+and NEC PC-H98 series are supported in normal (PC-9801 compatible)
+mode only.</p>
+<p>Although there are some multi-processor systems (such as
+Rs20/B20), SMP-related features of FreeBSD are not supported
+yet.</p>
+<p>PC-9801/9821 standard bus (called C-Bus), PC-9801NOTE expansion
+bus (110pin), and PCI bus are supported. New Extend Standard
+Architecture (NESA) bus (used in PC-H98, SV-H98, and FC-H98 series)
+is not supported.</p>
+</div>
+<div class="sect2" title="2.5.&nbsp;powerpc">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"proc-powerpc"></a>2.5.&nbsp;powerpc</h3>
+</div>
+</div>
+</div>
+<p>This section describes the systems currently known to be
+supported by FreeBSD on the PowerPC platform. This list is not
+exhaustive.</p>
+<p>In general, all New World architecture Apple hardware is
+supported, as well a limited selection of non-Apple machines.</p>
+<p>All systems listed below are fully supported, with the exception
+that software fan control is currently missing on some Power
+Macintosh G5 models. SMP is supported on all systems with more than
+1 processor.</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Apple iMac G3</p>
+</li>
+<li class="listitem">
+<p>Apple iMac G4</p>
+</li>
+<li class="listitem">
+<p>Apple iMac G5</p>
+</li>
+<li class="listitem">
+<p>Apple Power Macintosh G3 (Blue &amp; White)</p>
+</li>
+<li class="listitem">
+<p>Apple Power Macintosh G4</p>
+</li>
+<li class="listitem">
+<p>Apple Power Macintosh G5</p>
+</li>
+<li class="listitem">
+<p>Apple iBook G3</p>
+</li>
+<li class="listitem">
+<p>Apple iBook G4</p>
+</li>
+<li class="listitem">
+<p>Apple PowerBook G3 (Lombard and Pismo)</p>
+</li>
+<li class="listitem">
+<p>Apple PowerBook G4</p>
+</li>
+<li class="listitem">
+<p>Apple XServe G4</p>
+</li>
+<li class="listitem">
+<p>Apple XServe G5</p>
+</li>
+<li class="listitem">
+<p>Apple Mac Mini</p>
+</li>
+<li class="listitem">
+<p>Embedded boards based on MPC85XX</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2" title="2.6.&nbsp;sparc64">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"proc-sparc64"></a>2.6.&nbsp;sparc64</h3>
+</div>
+</div>
+</div>
+<p>This section describes the systems currently known to be
+supported by FreeBSD on the Fujitsu <span class=
+"trademark">SPARC64</span>® and Sun <span class=
+"trademark">UltraSPARC</span>® platforms. For background
+information on the various hardware designs see the <a class=
+"ulink" href="http://sunsolve.sun.com/handbook_pub/" target=
+"_top">Sun System Handbook</a>.</p>
+<p>SMP is supported on all systems with more than 1 processor.</p>
+<p>When using the <code class="filename">GENERIC</code> kernel,
+FreeBSD/sparc64 systems not equipped with a framebuffer supported
+by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=creator&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">creator</span>(4)</span></a> (Sun Creator, Sun
+Creator3D and Sun Elite3D) or <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=machfb&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">machfb</span>(4)</span></a> (Sun PGX and Sun PGX64
+as well as the ATI Mach64 chips found onboard in for example
+<span class="trademark">Sun&nbsp;Blade</span>™ 100, <span class=
+"trademark">Sun&nbsp;Blade</span>™ 150, Sun&nbsp;<span class=
+"trademark">Ultra</span>™ 5 and Sun&nbsp;<span class=
+"trademark">Ultra</span>™ 10) driver must use the serial
+console.</p>
+<p>If you have a system that is not listed here, it may not have
+been tested with FreeBSD 9.2-RELEASE. We encourage you to try it
+and send a note to the <a class="ulink" href=
+"http://lists.FreeBSD.org/mailman/listinfo/freebsd-sparc64" target=
+"_top">FreeBSD SPARC porting mailing list</a> with your results,
+including which devices work and which do not.</p>
+<p>The following systems are fully supported by FreeBSD:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Naturetech GENIALstation 777S</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Blade</span>™ 100</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Blade</span>™ 150</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Enterprise</span>™ 150</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Enterprise</span>™ 220R</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Enterprise</span>™ 250</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Enterprise</span>™ 420R</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Enterprise</span>™ 450</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ B100s (support for
+the on-board NICs first appeared in 8.1-RELEASE)</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ V100</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ V120</p>
+</li>
+<li class="listitem">
+<p>Sun <span class="trademark">Netra</span>™ t1 100/105</p>
+</li>
+<li class="listitem">
+<p>Sun <span class="trademark">Netra</span>™ T1 AC200/DC200</p>
+</li>
+<li class="listitem">
+<p>Sun <span class="trademark">Netra</span>™ t 1100</p>
+</li>
+<li class="listitem">
+<p>Sun <span class="trademark">Netra</span>™ t 1120</p>
+</li>
+<li class="listitem">
+<p>Sun <span class="trademark">Netra</span>™ t 1125</p>
+</li>
+<li class="listitem">
+<p>Sun <span class="trademark">Netra</span>™ t 1400/1405</p>
+</li>
+<li class="listitem">
+<p>Sun <span class="trademark">Netra</span>™ 120</p>
+</li>
+<li class="listitem">
+<p>Sun <span class="trademark">Netra</span>™ X1</p>
+</li>
+<li class="listitem">
+<p>Sun <span class="trademark">SPARCengine</span>® Ultra AX1105</p>
+</li>
+<li class="listitem">
+<p>Sun <span class="trademark">SPARCengine</span>® Ultra AXe</p>
+</li>
+<li class="listitem">
+<p>Sun <span class="trademark">SPARCengine</span>® Ultra AXi</p>
+</li>
+<li class="listitem">
+<p>Sun <span class="trademark">SPARCengine</span>® Ultra AXmp</p>
+</li>
+<li class="listitem">
+<p>Sun <span class="trademark">SPARCengine</span>® CP1500</p>
+</li>
+<li class="listitem">
+<p>Sun&nbsp;<span class="trademark">Ultra</span>™ 1</p>
+</li>
+<li class="listitem">
+<p>Sun&nbsp;<span class="trademark">Ultra</span>™ 1E</p>
+</li>
+<li class="listitem">
+<p>Sun&nbsp;<span class="trademark">Ultra</span>™ 2</p>
+</li>
+<li class="listitem">
+<p>Sun&nbsp;<span class="trademark">Ultra</span>™ 5</p>
+</li>
+<li class="listitem">
+<p>Sun&nbsp;<span class="trademark">Ultra</span>™ 10</p>
+</li>
+<li class="listitem">
+<p>Sun&nbsp;<span class="trademark">Ultra</span>™ 30</p>
+</li>
+<li class="listitem">
+<p>Sun&nbsp;<span class="trademark">Ultra</span>™ 60</p>
+</li>
+<li class="listitem">
+<p>Sun&nbsp;<span class="trademark">Ultra</span>™ 80</p>
+</li>
+<li class="listitem">
+<p>Sun&nbsp;<span class="trademark">Ultra</span>™ 450</p>
+</li>
+</ul>
+</div>
+<p>The following systems are partially supported by FreeBSD. In
+particular the fiber channel controllers in SBus-based systems are
+not supported. However, it is possible to use these with a SCSI
+controller supported by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=esp&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">esp</span>(4)</span></a> driver (Sun
+ESP SCSI, Sun FAS Fast-SCSI and Sun FAS366 Fast-Wide SCSI
+controllers).</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Enterprise</span>™ 3500</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Enterprise</span>™ 4500</p>
+</li>
+</ul>
+</div>
+<p>Starting with 7.2-RELEASE, sparc64 systems based on Sun
+<span class="trademark">UltraSPARC</span>® III and beyond are also
+supported by FreeBSD, which includes the following known working
+systems:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Blade</span>™ 1000</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Blade</span>™ 1500</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Blade</span>™ 2000</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Blade</span>™ 2500</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ 280R</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ V210</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ V215 (support
+first appeared in 7.3-RELEASE and 8.1-RELEASE)</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ V240</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ V245 (support
+first appeared in 7.3-RELEASE and 8.1-RELEASE)</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ V250</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ V440 (support for
+the on-board NICs first appeared in 7.3-RELEASE and
+8.0-RELEASE)</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ V480 (501-6780 and
+501-6790 centerplanes only, for which support first appeared in
+7.3-RELEASE and 8.1-RELEASE, other centerplanes might work
+beginning with 8.3-RELEASE and 9.0-RELEASE)</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ V880</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ V890 (support
+first appeared in 7.4-RELEASE and 8.1-RELEASE, non-mixed
+<span class="trademark">UltraSPARC</span>® IV/IV+
+CPU-configurations only)</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Netra</span>™ 20/<span class=
+"trademark">Netra</span>™ T4</p>
+</li>
+</ul>
+</div>
+<p>The following Sun <span class="trademark">UltraSPARC</span>®
+systems are not tested but believed to be also supported by
+FreeBSD:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ V125</p>
+</li>
+<li class="listitem">
+<p><span class="trademark">Sun&nbsp;Fire</span>™ V490 (support
+first appeared in 7.4-RELEASE and 8.1-RELEASE, non-mixed
+<span class="trademark">UltraSPARC</span>® IV/IV+
+CPU-configurations only)</p>
+</li>
+</ul>
+</div>
+<p>Starting with 7.4-RELEASE and 8.1-RELEASE, sparc64 systems based
+on Fujitsu <span class="trademark">SPARC64</span>® V are also
+supported by FreeBSD, which includes the following known working
+systems:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Fujitsu <span class="trademark">PRIMEPOWER</span>® 250</p>
+</li>
+</ul>
+</div>
+<p>The following Fujitsu <span class="trademark">PRIMEPOWER</span>®
+systems are not tested but believed to be also supported by
+FreeBSD:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Fujitsu <span class="trademark">PRIMEPOWER</span>® 450</p>
+</li>
+<li class="listitem">
+<p>Fujitsu <span class="trademark">PRIMEPOWER</span>® 650</p>
+</li>
+<li class="listitem">
+<p>Fujitsu <span class="trademark">PRIMEPOWER</span>® 850</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1" title="3.&nbsp;Supported Devices">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h2 xmlns="http://www.w3.org/1999/xhtml" class="title" style=
+"clear: both"><a id="support"></a>3.&nbsp;Supported Devices</h2>
+</div>
+</div>
+</div>
+<p>This section describes the devices currently known to be
+supported by FreeBSD. Other configurations may also work, but
+simply have not been tested yet. Feedback, updates, and corrections
+to this list are encouraged.</p>
+<p>Where possible, the drivers applicable to each device or class
+of devices is listed. If the driver in question has a manual page
+in the FreeBSD base distribution (most should), it is referenced
+here. Information on specific models of supported devices,
+controllers, etc. can be found in the manual pages.</p>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">The device lists in this
+document are being generated automatically from FreeBSD manual
+pages. This means that some devices, which are supported by
+multiple drivers, may appear multiple times.</p>
+</div>
+<div class="sect2" title="3.1.&nbsp;Disk Controllers">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"disk"></a>3.1.&nbsp;Disk Controllers</h3>
+</div>
+</div>
+</div>
+<p>[amd64, i386, ia64, pc98, sparc64] IDE/ATA controllers
+(<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ata&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">ata</span>(4)</span></a>
+driver)</p>
+<p>[pc98] IDE/ATA controllers (wdc driver)</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>On-board IDE controller</p>
+</li>
+</ul>
+</div>
+<p>[i386,ia64,amd64] Controllers supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=aac&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">aac</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Adaptec AAC-364</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 2045</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 2405</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 2445</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 2805</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 3085</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 31205</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 31605</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 5085</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 51205</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 51245</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 51605</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 51645</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 52445</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 5405</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 5445</p>
+</li>
+<li class="listitem">
+<p>Adaptec RAID 5805</p>
+</li>
+<li class="listitem">
+<p>Adaptec SAS RAID 3405</p>
+</li>
+<li class="listitem">
+<p>Adaptec SAS RAID 3805</p>
+</li>
+<li class="listitem">
+<p>Adaptec SAS RAID 4000SAS</p>
+</li>
+<li class="listitem">
+<p>Adaptec SAS RAID 4005SAS</p>
+</li>
+<li class="listitem">
+<p>Adaptec SAS RAID 4800SAS</p>
+</li>
+<li class="listitem">
+<p>Adaptec SAS RAID 4805SAS</p>
+</li>
+<li class="listitem">
+<p>Adaptec SATA RAID 2020SA ZCR</p>
+</li>
+<li class="listitem">
+<p>Adaptec SATA RAID 2025SA ZCR</p>
+</li>
+<li class="listitem">
+<p>Adaptec SATA RAID 2026ZCR</p>
+</li>
+<li class="listitem">
+<p>Adaptec SATA RAID 2410SA</p>
+</li>
+<li class="listitem">
+<p>Adaptec SATA RAID 2420SA</p>
+</li>
+<li class="listitem">
+<p>Adaptec SATA RAID 2610SA</p>
+</li>
+<li class="listitem">
+<p>Adaptec SATA RAID 2620SA</p>
+</li>
+<li class="listitem">
+<p>Adaptec SATA RAID 2810SA</p>
+</li>
+<li class="listitem">
+<p>Adaptec SATA RAID 2820SA</p>
+</li>
+<li class="listitem">
+<p>Adaptec SATA RAID 21610SA</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 2020ZCR</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 2025ZCR</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 2120S</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 2130S</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 2130SLP</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 2230SLP</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 2200S</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 2240S</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 3230S</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 3240S</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 5400S</p>
+</li>
+<li class="listitem">
+<p>Dell CERC SATA RAID 2</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 2/Si</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 2/QC</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 3/Si</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 3/Di</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 320/DC</p>
+</li>
+<li class="listitem">
+<p>HP ML110 G2 (Adaptec SATA RAID 2610SA)</p>
+</li>
+<li class="listitem">
+<p>HP NetRAID 4M</p>
+</li>
+<li class="listitem">
+<p>IBM ServeRAID 8i</p>
+</li>
+<li class="listitem">
+<p>IBM ServeRAID 8k</p>
+</li>
+<li class="listitem">
+<p>IBM ServeRAID 8s</p>
+</li>
+<li class="listitem">
+<p>ICP RAID ICP5045BL</p>
+</li>
+<li class="listitem">
+<p>ICP RAID ICP5085BL</p>
+</li>
+<li class="listitem">
+<p>ICP RAID ICP5085SL</p>
+</li>
+<li class="listitem">
+<p>ICP RAID ICP5125BR</p>
+</li>
+<li class="listitem">
+<p>ICP RAID ICP5125SL</p>
+</li>
+<li class="listitem">
+<p>ICP RAID ICP5165BR</p>
+</li>
+<li class="listitem">
+<p>ICP RAID ICP5165SL</p>
+</li>
+<li class="listitem">
+<p>ICP RAID ICP5445SL</p>
+</li>
+<li class="listitem">
+<p>ICP RAID ICP5805BL</p>
+</li>
+<li class="listitem">
+<p>ICP RAID ICP5805SL</p>
+</li>
+<li class="listitem">
+<p>ICP ICP5085BR SAS RAID</p>
+</li>
+<li class="listitem">
+<p>ICP ICP9085LI SAS RAID</p>
+</li>
+<li class="listitem">
+<p>ICP ICP9047MA SATA RAID</p>
+</li>
+<li class="listitem">
+<p>ICP ICP9067MA SATA RAID</p>
+</li>
+<li class="listitem">
+<p>ICP ICP9087MA SATA RAID</p>
+</li>
+<li class="listitem">
+<p>ICP ICP9014RO SCSI RAID</p>
+</li>
+<li class="listitem">
+<p>ICP ICP9024RO SCSI RAID</p>
+</li>
+<li class="listitem">
+<p>Legend S220</p>
+</li>
+<li class="listitem">
+<p>Legend S230</p>
+</li>
+<li class="listitem">
+<p>Sun STK RAID REM</p>
+</li>
+<li class="listitem">
+<p>Sun STK RAID EM</p>
+</li>
+<li class="listitem">
+<p>SG-XPCIESAS-R-IN</p>
+</li>
+<li class="listitem">
+<p>SG-XPCIESAS-R-EX</p>
+</li>
+<li class="listitem">
+<p>AOC-USAS-S4i</p>
+</li>
+<li class="listitem">
+<p>AOC-USAS-S8i</p>
+</li>
+<li class="listitem">
+<p>AOC-USAS-S4iR</p>
+</li>
+<li class="listitem">
+<p>AOC-USAS-S8iR</p>
+</li>
+<li class="listitem">
+<p>AOC-USAS-S8i-LP</p>
+</li>
+<li class="listitem">
+<p>AOC-USAS-S8iR-LP</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=adv&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">adv</span>(4)</span></a> driver
+supports the following SCSI controllers:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AdvanSys ABP510/5150</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP5140</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP5142</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP902/3902</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP3905</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP915</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP920</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP3922</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP3925</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP930, ABP930U, ABP930UA</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP960, ABP960U</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP542</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP742</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP842</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP940</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP940UA/3940UA</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP940U</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP3960UA</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP970, ABP970U</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP752</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP852</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP950</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP980, ABP980U</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP980UA/3980UA</p>
+</li>
+<li class="listitem">
+<p>MELCO IFC-USP (PC-98)</p>
+</li>
+<li class="listitem">
+<p>RATOC REX-PCI30 (PC-98)</p>
+</li>
+<li class="listitem">
+<p>@Nifty FNECHARD IFC-USUP-TX (PC-98)</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=adw&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">adw</span>(4)</span></a> driver
+supports SCSI controllers including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AdvanSys ABP940UW/ABP3940UW</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP950UW</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP970UW</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP3940U2W</p>
+</li>
+<li class="listitem">
+<p>AdvanSys ABP3950U2W</p>
+</li>
+</ul>
+</div>
+<p>[i386] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=aha&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">aha</span>(4)</span></a> driver
+supports the following SCSI host adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Adaptec AHA-154xB</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-154xC</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-154xCF</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-154xCP</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-1640</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-174x in 154x emulation mode</p>
+</li>
+<li class="listitem">
+<p>DTC 3290 SCSI controller in 1542 emulation mode</p>
+</li>
+<li class="listitem">
+<p>Tekram SCSI controllers in 154x emulation mode</p>
+</li>
+</ul>
+</div>
+<p>[i386] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ahb&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ahb</span>(4)</span></a> driver
+supports the following SCSI host adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Adaptec AHA-1740</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-1742</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-1740A</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-1742A</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ahc&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ahc</span>(4)</span></a> driver
+supports the following SCSI host adapter chips and SCSI controller
+cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Adaptec AIC7770 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec AIC7850 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec AIC7860 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec AIC7870 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec AIC7880 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec AIC7890 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec AIC7891 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec AIC7892 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec AIC7895 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec AIC7896 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec AIC7897 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec AIC7899 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec 274X(W)</p>
+</li>
+<li class="listitem">
+<p>Adaptec 274X(T)</p>
+</li>
+<li class="listitem">
+<p>Adaptec 284X</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2910</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2915</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2920C</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2930C</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2930U2</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2940</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2940J</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2940N</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2940U</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2940AU</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2940UW</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2940UW Dual</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2940UW Pro</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2940U2W</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2940U2B</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2950U2W</p>
+</li>
+<li class="listitem">
+<p>Adaptec 2950U2B</p>
+</li>
+<li class="listitem">
+<p>Adaptec 19160B</p>
+</li>
+<li class="listitem">
+<p>Adaptec 29160B</p>
+</li>
+<li class="listitem">
+<p>Adaptec 29160N</p>
+</li>
+<li class="listitem">
+<p>Adaptec 3940</p>
+</li>
+<li class="listitem">
+<p>Adaptec 3940U</p>
+</li>
+<li class="listitem">
+<p>Adaptec 3940AU</p>
+</li>
+<li class="listitem">
+<p>Adaptec 3940UW</p>
+</li>
+<li class="listitem">
+<p>Adaptec 3940AUW</p>
+</li>
+<li class="listitem">
+<p>Adaptec 3940U2W</p>
+</li>
+<li class="listitem">
+<p>Adaptec 3950U2</p>
+</li>
+<li class="listitem">
+<p>Adaptec 3960</p>
+</li>
+<li class="listitem">
+<p>Adaptec 39160</p>
+</li>
+<li class="listitem">
+<p>Adaptec 3985</p>
+</li>
+<li class="listitem">
+<p>Adaptec 4944UW</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9821Xt13 (PC-98)</p>
+</li>
+<li class="listitem">
+<p>NEC RvII26 (PC-98)</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9821X-B02L/B09 (PC-98)</p>
+</li>
+<li class="listitem">
+<p>NEC SV-98/2-B03 (PC-98)</p>
+</li>
+<li class="listitem">
+<p>Many motherboards with on-board SCSI support</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ahci&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ahci</span>(4)</span></a> driver
+supports AHCI compatible controllers having PCI class 1 (mass
+storage), subclass 6 (SATA) and programming interface 1 (AHCI).</p>
+<p>Also, in cooperation with atamarvell and atajmicron drivers of
+ata(4), it supports AHCI part of legacy-PATA + AHCI-SATA combined
+controllers, such as JMicron JMB36x and Marvell 88SE61xx.</p>
+<p>[i386,sparc64,ia64,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ahd&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ahd</span>(4)</span></a> driver
+supports the following:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Adaptec AIC7901 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec AIC7901A host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec AIC7902 host adapter chip</p>
+</li>
+<li class="listitem">
+<p>Adaptec 29320 host adapter</p>
+</li>
+<li class="listitem">
+<p>Adaptec 39320 host adapter</p>
+</li>
+<li class="listitem">
+<p>Many motherboards with on-board SCSI support</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] The adapters supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=aic&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">aic</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Adaptec AHA-1505 (ISA)</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-1510A, AHA-1510B (ISA)</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-1520A, AHA-1520B (ISA)</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-1522A, AHA-1522B (ISA)</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-1535 (ISA)</p>
+</li>
+<li class="listitem">
+<p>Creative Labs SoundBlaster SCSI host adapter (ISA)</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-1460, AHA-1460B, AHA-1460C, AHA-1460D (PC Card)</p>
+</li>
+<li class="listitem">
+<p>Adaptec AHA-1030B, AHA-1030P (PC98)</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9801-100 (PC98)</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] Controllers supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=amd&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">amd</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>MELCO IFC-DP (PC-98)</p>
+</li>
+<li class="listitem">
+<p>Tekram DC390</p>
+</li>
+<li class="listitem">
+<p>Tekram DC390T</p>
+</li>
+</ul>
+</div>
+<p>Controllers supported by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=amr&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">amr</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>MegaRAID SATA 150-4</p>
+</li>
+<li class="listitem">
+<p>MegaRAID SATA 150-6</p>
+</li>
+<li class="listitem">
+<p>MegaRAID SATA 300-4X</p>
+</li>
+<li class="listitem">
+<p>MegaRAID SATA 300-8X</p>
+</li>
+<li class="listitem">
+<p>MegaRAID SCSI 320-1E</p>
+</li>
+<li class="listitem">
+<p>MegaRAID SCSI 320-2E</p>
+</li>
+<li class="listitem">
+<p>MegaRAID SCSI 320-4E</p>
+</li>
+<li class="listitem">
+<p>MegaRAID SCSI 320-0X</p>
+</li>
+<li class="listitem">
+<p>MegaRAID SCSI 320-2X</p>
+</li>
+<li class="listitem">
+<p>MegaRAID SCSI 320-4X</p>
+</li>
+<li class="listitem">
+<p>MegaRAID SCSI 320-0</p>
+</li>
+<li class="listitem">
+<p>MegaRAID SCSI 320-1</p>
+</li>
+<li class="listitem">
+<p>MegaRAID SCSI 320-2</p>
+</li>
+<li class="listitem">
+<p>MegaRAID SCSI 320-4</p>
+</li>
+<li class="listitem">
+<p>MegaRAID Series 418</p>
+</li>
+<li class="listitem">
+<p>MegaRAID i4 133 RAID</p>
+</li>
+<li class="listitem">
+<p>MegaRAID Elite 1500 (Series 467)</p>
+</li>
+<li class="listitem">
+<p>MegaRAID Elite 1600 (Series 493)</p>
+</li>
+<li class="listitem">
+<p>MegaRAID Elite 1650 (Series 4xx)</p>
+</li>
+<li class="listitem">
+<p>MegaRAID Enterprise 1200 (Series 428)</p>
+</li>
+<li class="listitem">
+<p>MegaRAID Enterprise 1300 (Series 434)</p>
+</li>
+<li class="listitem">
+<p>MegaRAID Enterprise 1400 (Series 438)</p>
+</li>
+<li class="listitem">
+<p>MegaRAID Enterprise 1500 (Series 467)</p>
+</li>
+<li class="listitem">
+<p>MegaRAID Enterprise 1600 (Series 471)</p>
+</li>
+<li class="listitem">
+<p>MegaRAID Express 100 (Series 466WS)</p>
+</li>
+<li class="listitem">
+<p>MegaRAID Express 200 (Series 466)</p>
+</li>
+<li class="listitem">
+<p>MegaRAID Express 300 (Series 490)</p>
+</li>
+<li class="listitem">
+<p>MegaRAID Express 500 (Series 475)</p>
+</li>
+<li class="listitem">
+<p>Dell PERC</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 2/SC</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 2/DC</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 3/DCL</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 3/QC</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 4/DC</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 4/IM</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 4/SC</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 4/Di</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 4e/DC</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 4e/Di</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 4e/Si</p>
+</li>
+<li class="listitem">
+<p>Dell PERC 4ei</p>
+</li>
+<li class="listitem">
+<p>HP NetRAID-1/Si</p>
+</li>
+<li class="listitem">
+<p>HP NetRAID-3/Si (D4943A)</p>
+</li>
+<li class="listitem">
+<p>HP Embedded NetRAID</p>
+</li>
+<li class="listitem">
+<p>Intel RAID Controller SRCS16</p>
+</li>
+<li class="listitem">
+<p>Intel RAID Controller SRCU42X</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=arcmsr&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">arcmsr</span>(4)</span></a> driver supports the
+following cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ARC-1110</p>
+</li>
+<li class="listitem">
+<p>ARC-1120</p>
+</li>
+<li class="listitem">
+<p>ARC-1130</p>
+</li>
+<li class="listitem">
+<p>ARC-1160</p>
+</li>
+<li class="listitem">
+<p>ARC-1170</p>
+</li>
+<li class="listitem">
+<p>ARC-1110ML</p>
+</li>
+<li class="listitem">
+<p>ARC-1120ML</p>
+</li>
+<li class="listitem">
+<p>ARC-1130ML</p>
+</li>
+<li class="listitem">
+<p>ARC-1160ML</p>
+</li>
+<li class="listitem">
+<p>ARC-1200</p>
+</li>
+<li class="listitem">
+<p>ARC-1201</p>
+</li>
+<li class="listitem">
+<p>ARC-1210</p>
+</li>
+<li class="listitem">
+<p>ARC-1212</p>
+</li>
+<li class="listitem">
+<p>ARC-1213</p>
+</li>
+<li class="listitem">
+<p>ARC-1214</p>
+</li>
+<li class="listitem">
+<p>ARC-1220</p>
+</li>
+<li class="listitem">
+<p>ARC-1222</p>
+</li>
+<li class="listitem">
+<p>ARC-1223</p>
+</li>
+<li class="listitem">
+<p>ARC-1224</p>
+</li>
+<li class="listitem">
+<p>ARC-1230</p>
+</li>
+<li class="listitem">
+<p>ARC-1231</p>
+</li>
+<li class="listitem">
+<p>ARC-1260</p>
+</li>
+<li class="listitem">
+<p>ARC-1261</p>
+</li>
+<li class="listitem">
+<p>ARC-1270</p>
+</li>
+<li class="listitem">
+<p>ARC-1280</p>
+</li>
+<li class="listitem">
+<p>ARC-1210ML</p>
+</li>
+<li class="listitem">
+<p>ARC-1220ML</p>
+</li>
+<li class="listitem">
+<p>ARC-1231ML</p>
+</li>
+<li class="listitem">
+<p>ARC-1261ML</p>
+</li>
+<li class="listitem">
+<p>ARC-1280ML</p>
+</li>
+<li class="listitem">
+<p>ARC-1380</p>
+</li>
+<li class="listitem">
+<p>ARC-1381</p>
+</li>
+<li class="listitem">
+<p>ARC-1680</p>
+</li>
+<li class="listitem">
+<p>ARC-1681</p>
+</li>
+<li class="listitem">
+<p>ARC-1880</p>
+</li>
+<li class="listitem">
+<p>ARC-1882</p>
+</li>
+</ul>
+</div>
+<p>[i386] The adapters currently supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=asr&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">asr</span>(4)</span></a> driver include
+the following:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Adaptec Zero-Channel SCSI RAID 2000S, 2005S, 2010S, 2015S</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 2100S, 2110S</p>
+</li>
+<li class="listitem">
+<p>Adaptec ATA-100 RAID 2400A</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 3200S, 3210S</p>
+</li>
+<li class="listitem">
+<p>Adaptec SCSI RAID 3400S, 3410S</p>
+</li>
+<li class="listitem">
+<p>Adaptec SmartRAID PM1554</p>
+</li>
+<li class="listitem">
+<p>Adaptec SmartRAID PM1564</p>
+</li>
+<li class="listitem">
+<p>Adaptec SmartRAID PM2554</p>
+</li>
+<li class="listitem">
+<p>Adaptec SmartRAID PM2564</p>
+</li>
+<li class="listitem">
+<p>Adaptec SmartRAID PM2664</p>
+</li>
+<li class="listitem">
+<p>Adaptec SmartRAID PM2754</p>
+</li>
+<li class="listitem">
+<p>Adaptec SmartRAID PM2865</p>
+</li>
+<li class="listitem">
+<p>Adaptec SmartRAID PM3754</p>
+</li>
+<li class="listitem">
+<p>Adaptec SmartRAID PM3755U2B / SmartRAID V Millennium</p>
+</li>
+<li class="listitem">
+<p>Adaptec SmartRAID PM3757</p>
+</li>
+<li class="listitem">
+<p>DEC KZPCC-AC (LVD 1-ch, 4MB or 16MB cache), DEC KZPCC-CE (LVD
+3-ch, 64MB cache), DEC KZPCC-XC (LVD 1-ch, 16MB cache), DEC
+KZPCC-XE (LVD 3-ch, 64MB cache) -- rebadged SmartRAID V
+Millennium</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=bt&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">bt</span>(4)</span></a> driver supports
+the following BusLogic MultiMaster <span class=
+"quote">“<span class="quote">W</span>”</span>, <span class=
+"quote">“<span class="quote">C</span>”</span>, <span class=
+"quote">“<span class="quote">S</span>”</span>, and <span class=
+"quote">“<span class="quote">A</span>”</span> series and compatible
+SCSI host adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>BusLogic BT-445C</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-445S</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-540CF</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-542B</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-542B</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-542D</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-545C</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-545S</p>
+</li>
+<li class="listitem">
+<p>BusLogic/BusTek BT-640</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-742A</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-742A</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-747C</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-747D</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-747S</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-757C</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-757CD</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-757D</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-757S</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-946C</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-948</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-956C</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-956CD</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-958</p>
+</li>
+<li class="listitem">
+<p>BusLogic BT-958D</p>
+</li>
+<li class="listitem">
+<p>Storage Dimensions SDC3211B / SDC3211F</p>
+</li>
+</ul>
+</div>
+<p>AMI FastDisk Host Adapters that are true BusLogic MultiMaster
+clones are also supported by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=bt&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">bt</span>(4)</span></a> driver.</p>
+<p>[i386,ia64,amd64] Controllers supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ciss&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ciss</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Compaq Smart Array 5300</p>
+</li>
+<li class="listitem">
+<p>Compaq Smart Array 532</p>
+</li>
+<li class="listitem">
+<p>Compaq Smart Array 5i</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array 5312</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array 6i</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array 641</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array 642</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array 6400</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array 6400 EM</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array E200</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array E200i</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P212</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P220i</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P222</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P400</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P400i</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P410</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P410i</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P411</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P420</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P420i</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P421</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P600</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P721m</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P800</p>
+</li>
+<li class="listitem">
+<p>HP Smart Array P812</p>
+</li>
+<li class="listitem">
+<p>HP Modular Smart Array 20 (MSA20)</p>
+</li>
+<li class="listitem">
+<p>HP Modular Smart Array 500 (MSA500)</p>
+</li>
+</ul>
+</div>
+<p>[pc98] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ct&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ct</span>(4)</span></a> driver supports
+the following adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ELECOM bus-master SCSI adapters</p>
+</li>
+<li class="listitem">
+<p>I-O DATA SC-98II</p>
+</li>
+<li class="listitem">
+<p>ICM IF-2660, IF-2766, IF-2766ET, IF-2767 and IF-2769</p>
+</li>
+<li class="listitem">
+<p>Logitec LHA-N151 and LHA-20x series</p>
+</li>
+<li class="listitem">
+<p>Midori-Denshi MDC-554NA and MDC-926R</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9801-55, 92 and compatibles</p>
+</li>
+<li class="listitem">
+<p>SMIT transfer type SCSI host adapters</p>
+</li>
+<li class="listitem">
+<p>TEXA HA-55BS2 and its later models</p>
+</li>
+</ul>
+</div>
+<p>[i386,ia64,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=dpt&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">dpt</span>(4)</span></a> driver
+provides support for the following RAID adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>DPT Smart Cache Plus</p>
+</li>
+<li class="listitem">
+<p>Smart Cache II (PM2?2?, PM2022 [EISA], PM2024/PM2124 [PCI])
+(Gen2)</p>
+</li>
+<li class="listitem">
+<p>Smart RAID II (PM3?2?, PM3021, PM3222)</p>
+</li>
+<li class="listitem">
+<p>Smart Cache III (PM2?3?)</p>
+</li>
+<li class="listitem">
+<p>Smart RAID III (PM3?3?, PM3332 [EISA], PM3334UW [PCI])
+(Gen3)</p>
+</li>
+<li class="listitem">
+<p>Smart Cache IV (PM2?4?, PM2042 [EISA], PM2044/PM2144 [PCI])
+(Gen4)</p>
+</li>
+<li class="listitem">
+<p>Smart RAID IV</p>
+</li>
+</ul>
+</div>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">[amd64, i386] Booting from
+these controllers is supported. EISA adapters are not
+supported.</p>
+</div>
+<p>[sparc64] Controllers supported by the <a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=esp&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">esp</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>MELCO IFC-DP (PC-98)</p>
+</li>
+<li class="listitem">
+<p>Sun ESP family</p>
+</li>
+<li class="listitem">
+<p>Sun FAS family</p>
+</li>
+<li class="listitem">
+<p>Tekram DC390</p>
+</li>
+<li class="listitem">
+<p>Tekram DC390T</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=hpt27xx&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">hpt27xx</span>(4)</span></a> driver supports the
+following SAS controllers:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>HighPoint's RocketRAID 271x series</p>
+</li>
+<li class="listitem">
+<p>HighPoint's RocketRAID 272x series</p>
+</li>
+<li class="listitem">
+<p>HighPoint's RocketRAID 274x series</p>
+</li>
+<li class="listitem">
+<p>HighPoint's RocketRAID 276x series</p>
+</li>
+<li class="listitem">
+<p>HighPoint's RocketRAID 278x series</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=hptiop&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">hptiop</span>(4)</span></a> driver supports the
+following SAS and SATA RAID controllers:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>HighPoint RocketRAID 4522</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 4521</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 4520</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 4322</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 4321</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 4320</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 4311</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 4310</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3640</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3622</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3620</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=hptiop&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">hptiop</span>(4)</span></a> driver also supports
+the following SAS and SATA RAID controllers that are already
+End-of-Life:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>HighPoint RocketRAID 4211</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 4210</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3560</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3540</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3530</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3522</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3521</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3520</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3511</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3510</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3410</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3320</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3220</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3122</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3120</p>
+</li>
+<li class="listitem">
+<p>HighPoint RocketRAID 3020</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=hptmv&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">hptmv</span>(4)</span></a> driver
+supports the following ATA RAID controllers:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>HighPoint's RocketRAID 182x series</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=hptrr&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">hptrr</span>(4)</span></a> driver
+supports the following RAID controllers:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>RocketRAID 172x series</p>
+</li>
+<li class="listitem">
+<p>RocketRAID 174x series</p>
+</li>
+<li class="listitem">
+<p>RocketRAID 2210</p>
+</li>
+<li class="listitem">
+<p>RocketRAID 222x series</p>
+</li>
+<li class="listitem">
+<p>RocketRAID 2240</p>
+</li>
+<li class="listitem">
+<p>RocketRAID 230x series</p>
+</li>
+<li class="listitem">
+<p>RocketRAID 231x series</p>
+</li>
+<li class="listitem">
+<p>RocketRAID 232x series</p>
+</li>
+<li class="listitem">
+<p>RocketRAID 2340</p>
+</li>
+<li class="listitem">
+<p>RocketRAID 2522</p>
+</li>
+</ul>
+</div>
+<p>[i386] The following controllers are supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ida&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ida</span>(4)</span></a> driver:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Compaq SMART Array 221</p>
+</li>
+<li class="listitem">
+<p>Compaq Integrated SMART Array Controller</p>
+</li>
+<li class="listitem">
+<p>Compaq SMART Array 4200</p>
+</li>
+<li class="listitem">
+<p>Compaq SMART Array 4250ES</p>
+</li>
+<li class="listitem">
+<p>Compaq SMART 3200 Controller</p>
+</li>
+<li class="listitem">
+<p>Compaq SMART 3100ES Controller</p>
+</li>
+<li class="listitem">
+<p>Compaq SMART-2/DH Controller</p>
+</li>
+<li class="listitem">
+<p>Compaq SMART-2/SL Controller</p>
+</li>
+<li class="listitem">
+<p>Compaq SMART-2/P Controller</p>
+</li>
+<li class="listitem">
+<p>Compaq SMART-2/E Controller</p>
+</li>
+<li class="listitem">
+<p>Compaq SMART Controller</p>
+</li>
+</ul>
+</div>
+<p>[i386,ia64,amd64] Controllers supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=iir&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">iir</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Intel RAID Controller SRCMR</p>
+</li>
+<li class="listitem">
+<p>Intel Server RAID Controller U3-l (SRCU31a)</p>
+</li>
+<li class="listitem">
+<p>Intel Server RAID Controller U3-1L (SRCU31La)</p>
+</li>
+<li class="listitem">
+<p>Intel Server RAID Controller U3-2 (SRCU32)</p>
+</li>
+<li class="listitem">
+<p>All past and future releases of Intel and ICP RAID
+Controllers.</p>
+</li>
+</ul>
+</div>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Intel RAID Controller SRCU21 (discontinued)</p>
+</li>
+<li class="listitem">
+<p>Intel RAID Controller SRCU31 (older revision, not
+compatible)</p>
+</li>
+<li class="listitem">
+<p>Intel RAID Controller SRCU31L (older revision, not
+compatible)</p>
+</li>
+</ul>
+</div>
+<p>The SRCU31 and SRCU31L can be updated via a firmware update
+available from Intel.</p>
+<p>[i386,amd64] Controllers supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ips&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ips</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>IBM ServeRAID 3H</p>
+</li>
+<li class="listitem">
+<p>ServeRAID 4L/4M/4H</p>
+</li>
+<li class="listitem">
+<p>ServeRAID Series 5</p>
+</li>
+<li class="listitem">
+<p>ServeRAID 6i/6M</p>
+</li>
+<li class="listitem">
+<p>ServeRAID 7t/7k/7M</p>
+</li>
+</ul>
+</div>
+<p>Newer ServeRAID controllers are supported by the aac(4) or
+mfi(4) driver.</p>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=isci&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">isci</span>(4)</span></a> driver
+provides support for Intel C600 SAS controllers.</p>
+<p>Cards supported by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=isp&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">isp</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ISP1000</p>
+</li>
+<li class="listitem">
+<p>ISP1020</p>
+</li>
+<li class="listitem">
+<p>ISP1040</p>
+</li>
+<li class="listitem">
+<p>Qlogic 1240</p>
+</li>
+<li class="listitem">
+<p>Qlogic 1020</p>
+</li>
+<li class="listitem">
+<p>Qlogic 1040</p>
+</li>
+<li class="listitem">
+<p>Qlogic 1080</p>
+</li>
+<li class="listitem">
+<p>Qlogic 1280</p>
+</li>
+<li class="listitem">
+<p>Qlogic 12160</p>
+</li>
+<li class="listitem">
+<p>Qlogic 210X</p>
+</li>
+<li class="listitem">
+<p>Qlogic 220X</p>
+</li>
+<li class="listitem">
+<p>Qlogic 2300</p>
+</li>
+<li class="listitem">
+<p>Qlogic 2312</p>
+</li>
+<li class="listitem">
+<p>Qlogic 234X</p>
+</li>
+<li class="listitem">
+<p>Qlogic 2322</p>
+</li>
+<li class="listitem">
+<p>Qlogic 200</p>
+</li>
+<li class="listitem">
+<p>Qlogic 2422</p>
+</li>
+<li class="listitem">
+<p>Qlogic 2432</p>
+</li>
+</ul>
+</div>
+<p>[i386,ia64,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=mfi&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">mfi</span>(4)</span></a> driver
+supports the following hardware:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>LSI MegaRAID SAS 1078</p>
+</li>
+<li class="listitem">
+<p>LSI MegaRAID SAS 8408E</p>
+</li>
+<li class="listitem">
+<p>LSI MegaRAID SAS 8480E</p>
+</li>
+<li class="listitem">
+<p>LSI MegaRAID SAS 9260</p>
+</li>
+<li class="listitem">
+<p>Dell PERC5</p>
+</li>
+<li class="listitem">
+<p>Dell PERC6</p>
+</li>
+<li class="listitem">
+<p>IBM ServeRAID M5015 SAS/SATA</p>
+</li>
+<li class="listitem">
+<p>IBM ServeRAID-MR10i</p>
+</li>
+<li class="listitem">
+<p>Intel RAID Controller SROMBSAS18E</p>
+</li>
+</ul>
+</div>
+<p>[i386,ia64,amd64] Controllers supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=mlx&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">mlx</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Mylex DAC960P</p>
+</li>
+<li class="listitem">
+<p>Mylex DAC960PD / DEC KZPSC (Fast Wide)</p>
+</li>
+<li class="listitem">
+<p>Mylex DAC960PDU</p>
+</li>
+<li class="listitem">
+<p>Mylex DAC960PL</p>
+</li>
+<li class="listitem">
+<p>Mylex DAC960PJ</p>
+</li>
+<li class="listitem">
+<p>Mylex DAC960PG</p>
+</li>
+<li class="listitem">
+<p>Mylex DAC960PU / DEC PZPAC (Ultra Wide)</p>
+</li>
+<li class="listitem">
+<p>Mylex AcceleRAID 150 (DAC960PRL)</p>
+</li>
+<li class="listitem">
+<p>Mylex AcceleRAID 250 (DAC960PTL1)</p>
+</li>
+<li class="listitem">
+<p>Mylex eXtremeRAID 1100 (DAC1164P)</p>
+</li>
+<li class="listitem">
+<p>RAIDarray 230 controllers, aka the Ultra-SCSI DEC KZPAC-AA
+(1-ch, 4MB cache), KZPAC-CA (3-ch, 4MB), KZPAC-CB (3-ch, 8MB
+cache)</p>
+</li>
+</ul>
+</div>
+<p>All major firmware revisions (2.x, 3.x, 4.x and 5.x) are
+supported, however it is always advisable to upgrade to the most
+recent firmware available for the controller.</p>
+<p>Compatible Mylex controllers not listed should work, but have
+not been verified.</p>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">[amd64, i386] Booting from
+these controllers is supported. EISA adapters are not
+supported.</p>
+</div>
+<p>[i386,ia64,amd64] Controllers supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=mly&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">mly</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Mylex AcceleRAID 160</p>
+</li>
+<li class="listitem">
+<p>Mylex AcceleRAID 170</p>
+</li>
+<li class="listitem">
+<p>Mylex AcceleRAID 352</p>
+</li>
+<li class="listitem">
+<p>Mylex eXtremeRAID 2000</p>
+</li>
+<li class="listitem">
+<p>Mylex eXtremeRAID 3000</p>
+</li>
+</ul>
+</div>
+<p>Compatible Mylex controllers not listed should work, but have
+not been verified.</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=mps&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">mps</span>(4)</span></a> driver
+supports the following hardware:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>LSI Logic SAS2004 (4 Port SAS)</p>
+</li>
+<li class="listitem">
+<p>LSI Logic SAS2008 (8 Port SAS)</p>
+</li>
+<li class="listitem">
+<p>LSI Logic SAS2108 (8 Port SAS)</p>
+</li>
+<li class="listitem">
+<p>LSI Logic SAS2116 (16 Port SAS)</p>
+</li>
+<li class="listitem">
+<p>LSI Logic SAS2208 (8 Port SAS)</p>
+</li>
+<li class="listitem">
+<p>LSI Logic SAS2308 (8 Port SAS)</p>
+</li>
+<li class="listitem">
+<p>LSI Logic SSS6200 Solid State Storage</p>
+</li>
+<li class="listitem">
+<p>Intel Integrated RAID Module RMS25JB040</p>
+</li>
+<li class="listitem">
+<p>Intel Integrated RAID Module RMS25JB080</p>
+</li>
+<li class="listitem">
+<p>Intel Integrated RAID Module RMS25KB040</p>
+</li>
+<li class="listitem">
+<p>Intel Integrated RAID Module RMS25KB080</p>
+</li>
+</ul>
+</div>
+<p>The following controllers are supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=mpt&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">mpt</span>(4)</span></a> driver:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>LSI Logic 53c1030, LSI Logic LSI2x320-X (Single and Dual
+Ultra320 SCSI)</p>
+</li>
+<li class="listitem">
+<p>LSI Logic AS1064, LSI Logic AS1068</p>
+</li>
+<li class="listitem">
+<p>LSI Logic FC909 (1Gb/s Fibre Channel)</p>
+</li>
+<li class="listitem">
+<p>LSI Logic FC909A (Dual 1Gb/s Fibre Channel)</p>
+</li>
+<li class="listitem">
+<p>LSI Logic FC919, LSI Logic 7102XP-LC (Single 2Gb/s Fibre
+Channel)</p>
+</li>
+<li class="listitem">
+<p>LSI Logic FC929, LSI Logic FC929X, LSI Logic 7202XP-LC (Dual
+2Gb/s Fibre Channel)</p>
+</li>
+<li class="listitem">
+<p>LSI Logic FC949X (Dual 4Gb/s Fibre Channel)</p>
+</li>
+<li class="listitem">
+<p>LSI Logic FC949E, LSI Logic FC949ES (Dual 4Gb/s Fibre Channel
+PCI-Express)</p>
+</li>
+</ul>
+</div>
+<p>The Ultra 320 SCSI controller chips supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=mpt&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">mpt</span>(4)</span></a> driver can be
+found onboard on many systems including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Dell PowerEdge 1750 thru 2850</p>
+</li>
+<li class="listitem">
+<p>IBM eServer xSeries 335</p>
+</li>
+</ul>
+</div>
+<p>These systems also contain Integrated RAID Mirroring and
+Integrated RAID Mirroring Enhanced which this driver also
+supports.</p>
+<p>The SAS controller chips are also present on many new
+AMD/Opteron based systems, like the Sun 4100. Note that this
+controller can drive both SAS and SATA drives or a mix of them at
+the same time. The Integrated RAID Mirroring available for these
+controllers is poorly supported at best.</p>
+<p>The Fibre Channel controller chipset are supported by a broad
+variety of speeds and systems. The Apple Fibre Channel HBA is in
+fact the FC949ES card.</p>
+<p>This driver also supports target mode for Fibre Channel cards.
+This support may be enabled by setting the desired role of the core
+via the LSI Logic firmware utility that establishes what roles the
+card can take on - no separate compilation is required.</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=mvs&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">mvs</span>(4)</span></a> driver
+supports the following controllers:</p>
+<p>Gen-I (SATA 1.5Gbps):</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>88SX5040</p>
+</li>
+<li class="listitem">
+<p>88SX5041</p>
+</li>
+<li class="listitem">
+<p>88SX5080</p>
+</li>
+<li class="listitem">
+<p>88SX5081</p>
+</li>
+</ul>
+</div>
+<p>Gen-II (SATA 3Gbps, NCQ, PMP):</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>88SX6040</p>
+</li>
+<li class="listitem">
+<p>88SX6041 (including Adaptec 1420SA)</p>
+</li>
+<li class="listitem">
+<p>88SX6080</p>
+</li>
+<li class="listitem">
+<p>88SX6081</p>
+</li>
+</ul>
+</div>
+<p>Gen-IIe (SATA 3Gbps, NCQ, PMP with FBS):</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>88SX6042</p>
+</li>
+<li class="listitem">
+<p>88SX7042 (including Adaptec 1430SA)</p>
+</li>
+<li class="listitem">
+<p>88F5182 SoC</p>
+</li>
+<li class="listitem">
+<p>88F6281 SoC</p>
+</li>
+<li class="listitem">
+<p>MV78100 SoC</p>
+</li>
+</ul>
+</div>
+<p>Note, that this hardware supports command queueing and FIS-based
+switching only for ATA DMA commands. ATAPI and non-DMA ATA commands
+executed one by one for each port.</p>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ncr&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ncr</span>(4)</span></a> driver
+provides support for the following NCR/Symbios SCSI controller
+chips:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>53C810</p>
+</li>
+<li class="listitem">
+<p>53C810A</p>
+</li>
+<li class="listitem">
+<p>53C815</p>
+</li>
+<li class="listitem">
+<p>53C820</p>
+</li>
+<li class="listitem">
+<p>53C825A</p>
+</li>
+<li class="listitem">
+<p>53C860</p>
+</li>
+<li class="listitem">
+<p>53C875</p>
+</li>
+<li class="listitem">
+<p>53C875J</p>
+</li>
+<li class="listitem">
+<p>53C885</p>
+</li>
+<li class="listitem">
+<p>53C895</p>
+</li>
+<li class="listitem">
+<p>53C895A</p>
+</li>
+<li class="listitem">
+<p>53C896</p>
+</li>
+<li class="listitem">
+<p>53C1510D</p>
+</li>
+</ul>
+</div>
+<p>The following add-on boards are known to be supported:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>I-O DATA SC-98/PCI (PC-98)</p>
+</li>
+<li class="listitem">
+<p>I-O DATA SC-PCI (PC-98)</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98] The following devices are currently supported by the
+<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ncv&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ncv</span>(4)</span></a> driver:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>I-O DATA PCSC-DV</p>
+</li>
+<li class="listitem">
+<p>KME KXLC002 (TAXAN ICD-400PN, etc.), KXLC004, and UJDCD450</p>
+</li>
+<li class="listitem">
+<p>Macnica Miracle SCSI-II mPS110</p>
+</li>
+<li class="listitem">
+<p>Media Intelligent MSC-110, MSC-200</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9801N-J03R</p>
+</li>
+<li class="listitem">
+<p>New Media Corporation BASICS SCSI</p>
+</li>
+<li class="listitem">
+<p>Qlogic Fast SCSI</p>
+</li>
+<li class="listitem">
+<p>RATOC REX-9530, REX-5572 (SCSI only)</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98] Controllers supported by the <a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=nsp&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">nsp</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Alpha-Data AD-PCS201</p>
+</li>
+<li class="listitem">
+<p>I-O DATA CBSC16</p>
+</li>
+</ul>
+</div>
+<p>[i386] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=pst&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">pst</span>(4)</span></a> driver
+supports the Promise Supertrak SX6000 ATA hardware RAID
+controller.</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=siis&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">siis</span>(4)</span></a> driver
+supports the following controller chips:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>SiI3124 (PCI-X 133MHz/64bit, 4 ports)</p>
+</li>
+<li class="listitem">
+<p>SiI3131 (PCIe 1.0 x1, 1 port)</p>
+</li>
+<li class="listitem">
+<p>SiI3132 (PCIe 1.0 x1, 2 ports)</p>
+</li>
+<li class="listitem">
+<p>SiI3531 (PCIe 1.0 x1, 1 port)</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98] Controllers supported by the <a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=stg&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">stg</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Adaptec 2920/A</p>
+</li>
+<li class="listitem">
+<p>Future Domain SCSI2GO</p>
+</li>
+<li class="listitem">
+<p>Future Domain TMC-18XX/3260</p>
+</li>
+<li class="listitem">
+<p>IBM SCSI PCMCIA Card</p>
+</li>
+<li class="listitem">
+<p>ICM PSC-2401 SCSI</p>
+</li>
+<li class="listitem">
+<p>MELCO IFC-SC</p>
+</li>
+<li class="listitem">
+<p>RATOC REX-5536, REX-5536AM, REX-5536M, REX-9836A</p>
+</li>
+</ul>
+</div>
+<p>Note that the Adaptec 2920C is supported by the ahc(4)
+driver.</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sym&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">sym</span>(4)</span></a> driver
+provides support for the following Symbios/LSI Logic PCI SCSI
+controllers:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>53C810</p>
+</li>
+<li class="listitem">
+<p>53C810A</p>
+</li>
+<li class="listitem">
+<p>53C815</p>
+</li>
+<li class="listitem">
+<p>53C825</p>
+</li>
+<li class="listitem">
+<p>53C825A</p>
+</li>
+<li class="listitem">
+<p>53C860</p>
+</li>
+<li class="listitem">
+<p>53C875</p>
+</li>
+<li class="listitem">
+<p>53C876</p>
+</li>
+<li class="listitem">
+<p>53C895</p>
+</li>
+<li class="listitem">
+<p>53C895A</p>
+</li>
+<li class="listitem">
+<p>53C896</p>
+</li>
+<li class="listitem">
+<p>53C897</p>
+</li>
+<li class="listitem">
+<p>53C1000</p>
+</li>
+<li class="listitem">
+<p>53C1000R</p>
+</li>
+<li class="listitem">
+<p>53C1010-33</p>
+</li>
+<li class="listitem">
+<p>53C1010-66</p>
+</li>
+<li class="listitem">
+<p>53C1510D</p>
+</li>
+</ul>
+</div>
+<p>The SCSI controllers supported by <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sym&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">sym</span>(4)</span></a> can be either
+embedded on a motherboard, or on one of the following add-on
+boards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ASUS SC-200, SC-896</p>
+</li>
+<li class="listitem">
+<p>Data Technology DTC3130 (all variants)</p>
+</li>
+<li class="listitem">
+<p>DawiControl DC2976UW</p>
+</li>
+<li class="listitem">
+<p>Diamond FirePort (all)</p>
+</li>
+<li class="listitem">
+<p>I-O DATA SC-UPCI (PC-98)</p>
+</li>
+<li class="listitem">
+<p>Logitec LHA-521UA (PC-98)</p>
+</li>
+<li class="listitem">
+<p>NCR cards (all)</p>
+</li>
+<li class="listitem">
+<p>Symbios cards (all)</p>
+</li>
+<li class="listitem">
+<p>Tekram DC390W, 390U, 390F, 390U2B, 390U2W, 390U3D, and
+390U3W</p>
+</li>
+<li class="listitem">
+<p>Tyan S1365</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] SCSI controllers supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=trm&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">trm</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Tekram DC-315 PCI Ultra SCSI adapter without BIOS and internal
+SCSI connector</p>
+</li>
+<li class="listitem">
+<p>Tekram DC-315U PCI Ultra SCSI adapter without BIOS</p>
+</li>
+<li class="listitem">
+<p>Tekram DC-395F PCI Ultra-Wide SCSI adapter with flash BIOS and
+68-pin external SCSI connector</p>
+</li>
+<li class="listitem">
+<p>Tekram DC-395U PCI Ultra SCSI adapter with flash BIOS</p>
+</li>
+<li class="listitem">
+<p>Tekram DC-395UW PCI Ultra-Wide SCSI adapter with flash BIOS</p>
+</li>
+<li class="listitem">
+<p>Tekram DC-395U2W PCI Ultra2-Wide SCSI adapter with flash
+BIOS</p>
+</li>
+</ul>
+</div>
+<p>For the Tekram DC-310/U and DC-390F/U/UW/U2B/U2W/U3W PCI SCSI
+host adapters, use the sym(4) driver.</p>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=twa&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">twa</span>(4)</span></a> driver
+supports the following SATA RAID controllers:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AMCC's 3ware 9500S-4LP</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9500S-8</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9500S-8MI</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9500S-12</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9500S-12MI</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9500SX-4LP</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9500SX-8LP</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9500SX-12</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9500SX-12MI</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9500SX-16ML</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9550SX-4LP</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9550SX-8LP</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9550SX-12</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9550SX-12MI</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9550SX-16ML</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9650SE-2LP</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9650SE-4LPML</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9650SE-8LPML</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9650SE-12ML</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9650SE-16ML</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 9650SE-24M8</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=twe&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">twe</span>(4)</span></a> driver
+supports the following PATA/SATA RAID controllers:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AMCC's 3ware 5000 series</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 6000 series</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 7000-2</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 7006-2</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 7500-4LP</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 7500-8</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 7500-12</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 7506-4LP</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 7506-8</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 7506-12</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 8006-2LP</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 8500-4LP</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 8500-8</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 8500-12</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 8506-4LP</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 8506-8</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 8506-8MI</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 8506-12</p>
+</li>
+<li class="listitem">
+<p>AMCC's 3ware 8506-12MI</p>
+</li>
+</ul>
+</div>
+<p>[i386] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=vpo&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">vpo</span>(4)</span></a> driver
+supports the following parallel to SCSI interfaces:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Adaptec AIC-7110 Parallel to SCSI interface (built-in to Iomega
+ZIP drives)</p>
+</li>
+<li class="listitem">
+<p>Iomega Jaz Traveller interface</p>
+</li>
+<li class="listitem">
+<p>Iomega MatchMaker SCSI interface (built-in to Iomega ZIP+
+drives)</p>
+</li>
+</ul>
+</div>
+<p>[i386] The wds(4) driver supports the WD7000 SCSI
+controller.</p>
+<p>With all supported SCSI controllers, full support is provided
+for SCSI-I, SCSI-II, and SCSI-III peripherals, including hard
+disks, optical disks, tape drives (including DAT, 8mm Exabyte,
+Mammoth, and DLT), medium changers, processor target devices and
+CD-ROM drives. WORM devices that support CD-ROM commands are
+supported for read-only access by the CD-ROM drivers (such as
+<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=cd&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">cd</span>(4)</span></a>).
+WORM/CD-R/CD-RW writing support is provided by <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=cdrecord&amp;amp;sektion=1">
+<span class="citerefentry"><span class=
+"refentrytitle">cdrecord</span>(1)</span></a>, which is a part of
+the <code class="filename">sysutils/cdrtools</code> port in the
+Ports Collection.</p>
+<p>The following CD-ROM type systems are supported at this
+time:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>SCSI interface (also includes ProAudio Spectrum and SoundBlaster
+SCSI) (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=cd&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">cd</span>(4)</span></a>)</p>
+</li>
+<li class="listitem">
+<p>[i386] Sony proprietary interface (all models) (<a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=scd&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">scd</span>(4)</span></a>)</p>
+</li>
+<li class="listitem">
+<p>ATAPI IDE interface (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=acd&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">acd</span>(4)</span></a>)</p>
+</li>
+</ul>
+</div>
+<p>[i386] The following device is unmaintained:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Mitsumi proprietary CD-ROM interface (all models) (<a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=mcd&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">mcd</span>(4)</span></a>)</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2" title="3.2.&nbsp;Ethernet Interfaces">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"ethernet"></a>3.2.&nbsp;Ethernet Interfaces</h3>
+</div>
+</div>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ae&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ae</span>(4)</span></a> driver supports
+Attansic/Atheros L2 PCIe FastEthernet controllers, and is known to
+support the following hardware:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ASUS EeePC 701</p>
+</li>
+<li class="listitem">
+<p>ASUS EeePC 900</p>
+</li>
+</ul>
+</div>
+<p>Other hardware may or may not work with this driver.</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=age&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">age</span>(4)</span></a> driver
+provides support for LOMs based on Attansic/Atheros L1 Gigabit
+Ethernet controller chips, including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ASUS M2N8-VMX</p>
+</li>
+<li class="listitem">
+<p>ASUS M2V</p>
+</li>
+<li class="listitem">
+<p>ASUS M3A</p>
+</li>
+<li class="listitem">
+<p>ASUS P2-M2A590G</p>
+</li>
+<li class="listitem">
+<p>ASUS P5B-E</p>
+</li>
+<li class="listitem">
+<p>ASUS P5B-MX/WIFI-AP</p>
+</li>
+<li class="listitem">
+<p>ASUS P5B-VMSE</p>
+</li>
+<li class="listitem">
+<p>ASUS P5K</p>
+</li>
+<li class="listitem">
+<p>ASUS P5KC</p>
+</li>
+<li class="listitem">
+<p>ASUS P5KPL-C</p>
+</li>
+<li class="listitem">
+<p>ASUS P5KPL-VM</p>
+</li>
+<li class="listitem">
+<p>ASUS P5K-SE</p>
+</li>
+<li class="listitem">
+<p>ASUS P5K-V</p>
+</li>
+<li class="listitem">
+<p>ASUS P5L-MX</p>
+</li>
+<li class="listitem">
+<p>ASUS P5DL2-VM</p>
+</li>
+<li class="listitem">
+<p>ASUS P5L-VM 1394</p>
+</li>
+<li class="listitem">
+<p>ASUS G2S</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ale&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ale</span>(4)</span></a> device driver
+provides support for the following Ethernet controllers:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Atheros AR8113 PCI Express Fast Ethernet controller</p>
+</li>
+<li class="listitem">
+<p>Atheros AR8114 PCI Express Fast Ethernet controller</p>
+</li>
+<li class="listitem">
+<p>Atheros AR8121 PCI Express Gigabit Ethernet controller</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,ia64,amd64,powerpc] Adapters supported by the
+<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=aue&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">aue</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Abocom UFE1000, DSB650TX_NA</p>
+</li>
+<li class="listitem">
+<p>Accton USB320-EC, SpeedStream</p>
+</li>
+<li class="listitem">
+<p>ADMtek AN986, AN8511</p>
+</li>
+<li class="listitem">
+<p>Billionton USB100, USB100LP, USB100EL, USBE100</p>
+</li>
+<li class="listitem">
+<p>Corega Ether FEther USB-T, FEther USB-TX, FEther USB-TXS</p>
+</li>
+<li class="listitem">
+<p>D-Link DSB-650, DSB-650TX, DSB-650TX-PNA</p>
+</li>
+<li class="listitem">
+<p>Elecom LD-USBL/TX</p>
+</li>
+<li class="listitem">
+<p>Elsa Microlink USB2Ethernet</p>
+</li>
+<li class="listitem">
+<p>HP hn210e</p>
+</li>
+<li class="listitem">
+<p>I-O Data USB ETTX</p>
+</li>
+<li class="listitem">
+<p>Kingston KNU101TX</p>
+</li>
+<li class="listitem">
+<p>LinkSys USB10T adapters that contain the AN986 Pegasus chipset,
+USB10TA, USB10TX, USB100TX, USB100H1</p>
+</li>
+<li class="listitem">
+<p>MELCO LUA-TX, LUA2-TX</p>
+</li>
+<li class="listitem">
+<p>Netgear FA101</p>
+</li>
+<li class="listitem">
+<p>Planex UE-200TX</p>
+</li>
+<li class="listitem">
+<p>Sandberg USB to Network Link (model number 133-06)</p>
+</li>
+<li class="listitem">
+<p>Siemens Speedstream</p>
+</li>
+<li class="listitem">
+<p>SmartBridges smartNIC</p>
+</li>
+<li class="listitem">
+<p>SMC 2202USB</p>
+</li>
+<li class="listitem">
+<p>SOHOware NUB100</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64,powerpc] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=axe&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">axe</span>(4)</span></a> driver
+supports ASIX Electronics
+AX88172/AX88178/AX88772/AX88772A/AX88772B/AX88760 based USB
+Ethernet adapters including:</p>
+<p>AX88172:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AboCom UF200</p>
+</li>
+<li class="listitem">
+<p>Acer Communications EP1427X2</p>
+</li>
+<li class="listitem">
+<p>ASIX AX88172</p>
+</li>
+<li class="listitem">
+<p>ATen UC210T</p>
+</li>
+<li class="listitem">
+<p>Billionton SnapPort</p>
+</li>
+<li class="listitem">
+<p>Billionton USB2AR</p>
+</li>
+<li class="listitem">
+<p>Buffalo (Melco Inc.) LUA-U2-KTX</p>
+</li>
+<li class="listitem">
+<p>Corega USB2_TX</p>
+</li>
+<li class="listitem">
+<p>D-Link DUBE100</p>
+</li>
+<li class="listitem">
+<p>Goodway GWUSB2E</p>
+</li>
+<li class="listitem">
+<p>JVC MP_PRX1</p>
+</li>
+<li class="listitem">
+<p>LinkSys USB200M</p>
+</li>
+<li class="listitem">
+<p>Netgear FA120</p>
+</li>
+<li class="listitem">
+<p>Sitecom LN-029</p>
+</li>
+<li class="listitem">
+<p>System TALKS Inc. SGC-X2UL</p>
+</li>
+</ul>
+</div>
+<p>AX88178:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ASIX AX88178</p>
+</li>
+<li class="listitem">
+<p>Belkin F5D5055</p>
+</li>
+<li class="listitem">
+<p>Logitec LAN-GTJ/U2A</p>
+</li>
+<li class="listitem">
+<p>Buffalo (Melco Inc.) LUA3-U2-AGT</p>
+</li>
+<li class="listitem">
+<p>Planex Communications GU1000T</p>
+</li>
+<li class="listitem">
+<p>Sitecom Europe LN-028</p>
+</li>
+</ul>
+</div>
+<p>AX88772:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ASIX AX88772</p>
+</li>
+<li class="listitem">
+<p>Buffalo (Melco Inc.) LUA3-U2-ATX</p>
+</li>
+<li class="listitem">
+<p>D-Link DUBE100B1</p>
+</li>
+<li class="listitem">
+<p>Planex UE-200TX-G</p>
+</li>
+<li class="listitem">
+<p>Planex UE-200TX-G2</p>
+</li>
+</ul>
+</div>
+<p>AX88772A:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ASIX AX88772A</p>
+</li>
+<li class="listitem">
+<p>Cisco-Linksys USB200Mv2</p>
+</li>
+</ul>
+</div>
+<p>AX88772B:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ASIX AX88772B</p>
+</li>
+<li class="listitem">
+<p>Lenovo USB 2.0 Ethernet</p>
+</li>
+</ul>
+</div>
+<p>AX88760:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ASIX AX88760</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=bce&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">bce</span>(4)</span></a> driver
+provides support for various NICs based on the Broadcom NetXtreme
+II family of Gigabit Ethernet controllers, including the
+following:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Broadcom NetXtreme II BCM5706 1000Base-SX</p>
+</li>
+<li class="listitem">
+<p>Broadcom NetXtreme II BCM5706 1000Base-T</p>
+</li>
+<li class="listitem">
+<p>Broadcom NetXtreme II BCM5708 1000Base-SX</p>
+</li>
+<li class="listitem">
+<p>Broadcom NetXtreme II BCM5708 1000Base-T</p>
+</li>
+<li class="listitem">
+<p>Broadcom NetXtreme II BCM5709 1000Base-SX</p>
+</li>
+<li class="listitem">
+<p>Broadcom NetXtreme II BCM5709 1000Base-T</p>
+</li>
+<li class="listitem">
+<p>Broadcom NetXtreme II BCM5716 1000Base-T</p>
+</li>
+<li class="listitem">
+<p>Dell PowerEdge 1950 integrated BCM5708 NIC</p>
+</li>
+<li class="listitem">
+<p>Dell PowerEdge 2950 integrated BCM5708 NIC</p>
+</li>
+<li class="listitem">
+<p>Dell PowerEdge R710 integrated BCM5709 NIC</p>
+</li>
+<li class="listitem">
+<p>HP NC370F Multifunction Gigabit Server Adapter</p>
+</li>
+<li class="listitem">
+<p>HP NC370T Multifunction Gigabit Server Adapter</p>
+</li>
+<li class="listitem">
+<p>HP NC370i Multifunction Gigabit Server Adapter</p>
+</li>
+<li class="listitem">
+<p>HP NC371i Multifunction Gigabit Server Adapter</p>
+</li>
+<li class="listitem">
+<p>HP NC373F PCIe Multifunc Giga Server Adapter</p>
+</li>
+<li class="listitem">
+<p>HP NC373T PCIe Multifunction Gig Server Adapter</p>
+</li>
+<li class="listitem">
+<p>HP NC373i Multifunction Gigabit Server Adapter</p>
+</li>
+<li class="listitem">
+<p>HP NC373m Multifunction Gigabit Server Adapter</p>
+</li>
+<li class="listitem">
+<p>HP NC374m PCIe Multifunction Adapter</p>
+</li>
+<li class="listitem">
+<p>HP NC380T PCIe DP Multifunc Gig Server Adapter</p>
+</li>
+<li class="listitem">
+<p>HP NC382T PCIe DP Multifunction Gigabit Server Adapter</p>
+</li>
+<li class="listitem">
+<p>HP NC382i DP Multifunction Gigabit Server Adapter</p>
+</li>
+<li class="listitem">
+<p>HP NC382m DP 1GbE Multifunction BL-c Adapter</p>
+</li>
+</ul>
+</div>
+<p>[amd64, i386] Broadcom BCM4401 based Fast Ethernet adapters
+(<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=bfe&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">bfe</span>(4)</span></a>
+driver)</p>
+<p>[i386,pc98,sparc64,ia64,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=bge&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">bge</span>(4)</span></a> driver
+provides support for various NICs based on the Broadcom BCM570x
+family of Gigabit Ethernet controller chips, including the
+following:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com 3c996-SX (1000baseSX)</p>
+</li>
+<li class="listitem">
+<p>3Com 3c996-T (10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>Dell PowerEdge 1750 integrated BCM5704C NIC
+(10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>Dell PowerEdge 2550 integrated BCM5700 NIC
+(10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>Dell PowerEdge 2650 integrated BCM5703 NIC
+(10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>Dell PowerEdge R200 integrated BCM5750 NIC
+(10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>Dell PowerEdge R300 integrated BCM5722 NIC
+(10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>IBM x235 server integrated BCM5703x NIC (10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>HP Compaq dc7600 integrated BCM5752 NIC (10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>HP ProLiant NC7760 embedded Gigabit NIC (10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>HP ProLiant NC7770 PCI-X Gigabit NIC (10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>HP ProLiant NC7771 PCI-X Gigabit NIC (10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>HP ProLiant NC7781 embedded PCI-X Gigabit NIC
+(10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>Netgear GA302T (10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>SysKonnect SK-9D21 (10/100/1000baseTX)</p>
+</li>
+<li class="listitem">
+<p>SysKonnect SK-9D41 (1000baseSX)</p>
+</li>
+</ul>
+</div>
+<p>The chips supported by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=cas&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">cas</span>(4)</span></a> driver
+are:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>National Semiconductor DP83065 Saturn Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Sun Cassini Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Sun Cassini+ Gigabit Ethernet</p>
+</li>
+</ul>
+</div>
+<p>The following add-on cards are known to work with the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=cas&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">cas</span>(4)</span></a> driver at this
+time:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Sun GigaSwift Ethernet 1.0 MMF (Cassini Kuheen) (part no.
+501-5524)</p>
+</li>
+<li class="listitem">
+<p>Sun GigaSwift Ethernet 1.0 UTP (Cassini) (part no. 501-5902)</p>
+</li>
+<li class="listitem">
+<p>Sun GigaSwift Ethernet UTP (GCS) (part no. 501-6719)</p>
+</li>
+<li class="listitem">
+<p>Sun Quad GigaSwift Ethernet UTP (QGE) (part no. 501-6522)</p>
+</li>
+<li class="listitem">
+<p>Sun Quad GigaSwift Ethernet PCI-X (QGE-X) (part no.
+501-6738)</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,ia64,amd64,powerpc] The following devices are
+supported by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=cdce&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">cdce</span>(4)</span></a> driver:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Prolific PL-2501 Host-to-Host Bridge Controller</p>
+</li>
+<li class="listitem">
+<p>Sharp Zaurus PDA</p>
+</li>
+<li class="listitem">
+<p>Terayon TJ-715 DOCSIS Cable Modem</p>
+</li>
+</ul>
+</div>
+<p>[amd64, i386] Crystal Semiconductor CS89x0-based NICs (<a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=cs&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">cs</span>(4)</span></a>
+driver)</p>
+<p>[i386,pc98,ia64,amd64,powerpc] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=cue&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">cue</span>(4)</span></a> driver
+supports CATC USB-EL1210A based USB Ethernet adapters
+including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Belkin F5U011/F5U111</p>
+</li>
+<li class="listitem">
+<p>CATC Netmate</p>
+</li>
+<li class="listitem">
+<p>CATC Netmate II</p>
+</li>
+<li class="listitem">
+<p>SmartBridges SmartLink</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=cxgb&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">cxgb</span>(4)</span></a> driver
+supports 10 Gigabit and 1 Gigabit Ethernet adapters based on the T3
+and T3B chipset:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Chelsio 10GBase-CX4</p>
+</li>
+<li class="listitem">
+<p>Chelsio 10GBase-LR</p>
+</li>
+<li class="listitem">
+<p>Chelsio 10GBase-SR</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=dc&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">dc</span>(4)</span></a> driver provides
+support for the following chipsets:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>DEC/Intel 21143</p>
+</li>
+<li class="listitem">
+<p>ADMtek AL981 Comet, AN985 Centaur, ADM9511 Centaur II and
+ADM9513 Centaur II</p>
+</li>
+<li class="listitem">
+<p>ALi/ULi M5261 and M5263</p>
+</li>
+<li class="listitem">
+<p>ASIX Electronics AX88140A and AX88141</p>
+</li>
+<li class="listitem">
+<p>Conexant LANfinity RS7112 (miniPCI)</p>
+</li>
+<li class="listitem">
+<p>Davicom DM9009, DM9100, DM9102 and DM9102A</p>
+</li>
+<li class="listitem">
+<p>Lite-On 82c168 and 82c169 PNIC</p>
+</li>
+<li class="listitem">
+<p>Lite-On/Macronix 82c115 PNIC II</p>
+</li>
+<li class="listitem">
+<p>Macronix 98713, 98713A, 98715, 98715A, 98715AEC-C, 98725, 98727
+and 98732</p>
+</li>
+<li class="listitem">
+<p>Xircom X3201 (cardbus only)</p>
+</li>
+</ul>
+</div>
+<p>The following NICs are known to work with the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=dc&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">dc</span>(4)</span></a> driver at this
+time:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com OfficeConnect 10/100B (ADMtek AN985 Centaur-P)</p>
+</li>
+<li class="listitem">
+<p>Abocom FE2500</p>
+</li>
+<li class="listitem">
+<p>Accton EN1217 (98715A)</p>
+</li>
+<li class="listitem">
+<p>Accton EN2242 MiniPCI</p>
+</li>
+<li class="listitem">
+<p>Adico AE310TX (98715A)</p>
+</li>
+<li class="listitem">
+<p>Alfa Inc GFC2204 (ASIX AX88140A)</p>
+</li>
+<li class="listitem">
+<p>Built in 10Mbps only Ethernet on Compaq Presario 7900 series
+desktops (21143, non-MII)</p>
+</li>
+<li class="listitem">
+<p>Built in Sun DMFE 10/100 Mbps Ethernet on Sun Netra X1 and Sun
+Fire V100 (DM9102A, MII)</p>
+</li>
+<li class="listitem">
+<p>Built in Ethernet on LinkSys EtherFast 10/100 Instant GigaDrive
+(DM9102, MII)</p>
+</li>
+<li class="listitem">
+<p>CNet Pro110B (ASIX AX88140A)</p>
+</li>
+<li class="listitem">
+<p>CNet Pro120A (98715A or 98713A) and CNet Pro120B (98715)</p>
+</li>
+<li class="listitem">
+<p>Compex RL100-TX (98713 or 98713A)</p>
+</li>
+<li class="listitem">
+<p>D-Link DFE-570TX (21143, MII, quad port)</p>
+</li>
+<li class="listitem">
+<p>Digital DE500-BA 10/100 (21143, non-MII)</p>
+</li>
+<li class="listitem">
+<p>ELECOM Laneed LD-CBL/TXA (ADMtek AN985)</p>
+</li>
+<li class="listitem">
+<p>Hawking CB102 CardBus</p>
+</li>
+<li class="listitem">
+<p>IBM EtherJet Cardbus Adapter</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/100 Mobile Cardbus (versions that use the X3201
+chipset)</p>
+</li>
+<li class="listitem">
+<p>Jaton XpressNet (Davicom DM9102)</p>
+</li>
+<li class="listitem">
+<p>Kingston KNE100TX (21143, MII)</p>
+</li>
+<li class="listitem">
+<p>Kingston KNE110TX (PNIC 82c169)</p>
+</li>
+<li class="listitem">
+<p>LinkSys LNE100TX (PNIC 82c168, 82c169)</p>
+</li>
+<li class="listitem">
+<p>LinkSys LNE100TX v2.0 (PNIC II 82c115)</p>
+</li>
+<li class="listitem">
+<p>LinkSys LNE100TX v4.0/4.1 (ADMtek AN985 Centaur-P)</p>
+</li>
+<li class="listitem">
+<p>Matrox FastNIC 10/100 (PNIC 82c168, 82c169)</p>
+</li>
+<li class="listitem">
+<p>Melco LGY-PCI-TXL</p>
+</li>
+<li class="listitem">
+<p>Microsoft MN-120 10/100 CardBus (ADMTek Centaur-C)</p>
+</li>
+<li class="listitem">
+<p>Microsoft MN-130 10/100 PCI (ADMTek Centaur-P)</p>
+</li>
+<li class="listitem">
+<p>NDC SOHOware SFA110A (98713A)</p>
+</li>
+<li class="listitem">
+<p>NDC SOHOware SFA110A Rev B4 (98715AEC-C)</p>
+</li>
+<li class="listitem">
+<p>NetGear FA310-TX Rev. D1, D2 or D3 (PNIC 82c169)</p>
+</li>
+<li class="listitem">
+<p>Netgear FA511</p>
+</li>
+<li class="listitem">
+<p>PlaneX FNW-3602-T (ADMtek AN985)</p>
+</li>
+<li class="listitem">
+<p>SMC EZ Card 10/100 1233A-TX (ADMtek AN985)</p>
+</li>
+<li class="listitem">
+<p>SVEC PN102-TX (98713)</p>
+</li>
+<li class="listitem">
+<p>Xircom Cardbus Realport</p>
+</li>
+<li class="listitem">
+<p>Xircom Cardbus Ethernet 10/100</p>
+</li>
+<li class="listitem">
+<p>Xircom Cardbus Ethernet II 10/100</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,ia64,amd64] Adapters supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=de&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">de</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Adaptec ANA-6944/TX</p>
+</li>
+<li class="listitem">
+<p>Cogent EM100FX and EM440TX</p>
+</li>
+<li class="listitem">
+<p>Corega FastEther PCI-TX</p>
+</li>
+<li class="listitem">
+<p>D-Link DFE-500TX</p>
+</li>
+<li class="listitem">
+<p>DEC DE435, DEC DE450, and DEC DE500</p>
+</li>
+<li class="listitem">
+<p>ELECOM LD-PCI2T, LD-PCITS</p>
+</li>
+<li class="listitem">
+<p>I-O DATA LA2/T-PCI</p>
+</li>
+<li class="listitem">
+<p>SMC Etherpower 8432, 9332 and 9334</p>
+</li>
+<li class="listitem">
+<p>ZNYX ZX3xx</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ed&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ed</span>(4)</span></a> driver supports
+the following Ethernet NICs:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com 3c503 Etherlink II</p>
+</li>
+<li class="listitem">
+<p>AR-P500 Ethernet</p>
+</li>
+<li class="listitem">
+<p>Accton EN1644 (old model), EN1646 (old model), EN2203 (old
+model) (110pin) (flags 0xd00000)</p>
+</li>
+<li class="listitem">
+<p>Accton EN2212/EN2216/UE2216</p>
+</li>
+<li class="listitem">
+<p>Allied Telesis CentreCOM LA100-PCM_V2</p>
+</li>
+<li class="listitem">
+<p>Allied Telesis LA-98 (flags 0x000000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>Allied Telesis SIC-98, SIC-98NOTE (110pin), SIU-98 (flags
+0x600000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>Allied Telesis SIU-98-D (flags 0x610000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>AmbiCom 10BaseT card</p>
+</li>
+<li class="listitem">
+<p>Bay Networks NETGEAR FA410TXC Fast Ethernet</p>
+</li>
+<li class="listitem">
+<p>Belkin F5D5020 PC Card Fast Ethernet</p>
+</li>
+<li class="listitem">
+<p>Billionton LM5LT-10B Ethernet/Modem PC Card</p>
+</li>
+<li class="listitem">
+<p>Bromax iPort 10/100 Ethernet PC Card</p>
+</li>
+<li class="listitem">
+<p>Bromax iPort 10 Ethernet PC Card</p>
+</li>
+<li class="listitem">
+<p>Buffalo LPC2-CLT, LPC3-CLT, LPC3-CLX, LPC4-TX PC Card</p>
+</li>
+<li class="listitem">
+<p>CNet BC40 adapter</p>
+</li>
+<li class="listitem">
+<p>Compex Net-A adapter</p>
+</li>
+<li class="listitem">
+<p>Compex RL2000</p>
+</li>
+<li class="listitem">
+<p>Contec C-NET(98), RT-1007(98), C-NET(9N) (110pin) (flags
+0xa00000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>Contec C-NET(98)E-A, C-NET(98)L-A, C-NET(98)P (flags 0x300000)
+(PC-98)</p>
+</li>
+<li class="listitem">
+<p>Corega Ether98-T (flags 0x000000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>Corega Ether PCC-T/EtherII PCC-T/FEther PCC-TXF/PCC-TXD
+PCC-T/Fether II TXD</p>
+</li>
+<li class="listitem">
+<p>Corega LAPCCTXD (TC5299J)</p>
+</li>
+<li class="listitem">
+<p>CyQ've ELA-010</p>
+</li>
+<li class="listitem">
+<p>DEC EtherWorks DE305</p>
+</li>
+<li class="listitem">
+<p>Danpex EN-6200P2</p>
+</li>
+<li class="listitem">
+<p>D-Link DE-298, DE-298P (flags 0x500000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>D-Link DE-660, DE-660+</p>
+</li>
+<li class="listitem">
+<p>D-Link IC-CARD/IC-CARD+ Ethernet</p>
+</li>
+<li class="listitem">
+<p>ELECOM LD-98P (flags 0x500000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>ELECOM LD-BDN, LD-NW801G (flags 0x200000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>ELECOM Laneed LD-CDL/TX, LD-CDF, LD-CDS, LD-10/100CD, LD-CDWA
+(DP83902A)</p>
+</li>
+<li class="listitem">
+<p>Hawking PN652TX PC Card (AX88790)</p>
+</li>
+<li class="listitem">
+<p>HP PC Lan+ 27247B and 27252A</p>
+</li>
+<li class="listitem">
+<p>IBM Creditcard Ethernet I/II</p>
+</li>
+<li class="listitem">
+<p>ICM AD-ET2-T, DT-ET-25, DT-ET-T5, IF-2766ET, IF-2771ET, NB-ET-T
+(110pin) (flags 0x500000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>I-O DATA LA/T-98, LA/T-98SB, LA2/T-98, ET/T-98 (flags 0x900000)
+(PC-98)</p>
+</li>
+<li class="listitem">
+<p>I-O DATA ET2/T-PCI</p>
+</li>
+<li class="listitem">
+<p>I-O DATA PCLATE</p>
+</li>
+<li class="listitem">
+<p>Kansai KLA-98C/T (flags 0x900000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>Kingston KNE-PC2, CIO10T, KNE-PCM/x Ethernet</p>
+</li>
+<li class="listitem">
+<p>KTI ET32P2 PCI</p>
+</li>
+<li class="listitem">
+<p>Linksys EC2T/PCMPC100/PCM100, PCMLM56</p>
+</li>
+<li class="listitem">
+<p>Linksys EtherFast 10/100 PC Card, Combo PCMCIA Ethernet Card
+(PCMPC100 V2)</p>
+</li>
+<li class="listitem">
+<p>Logitec LAN-98T (flags 0xb00000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>MACNICA Ethernet ME1 for JEIDA</p>
+</li>
+<li class="listitem">
+<p>MACNICA ME98 (flags 0x900000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>MACNICA NE2098 (flags 0x400000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>MELCO EGY-98 (flags 0x300000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>MELCO LGH-98, LGY-98, LGY-98-N (110pin), IND-SP, IND-SS (flags
+0x400000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>MELCO LGY-PCI-TR</p>
+</li>
+<li class="listitem">
+<p>MELCO LPC-T/LPC2-T/LPC2-CLT/LPC2-TX/LPC3-TX/LPC3-CLX</p>
+</li>
+<li class="listitem">
+<p>NDC Ethernet Instant-Link</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9801-77, PC-9801-78 (flags 0x910000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9801-107, PC-9801-108 (flags 0x800000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>National Semiconductor InfoMover NE4100</p>
+</li>
+<li class="listitem">
+<p>NetGear FA-410TX</p>
+</li>
+<li class="listitem">
+<p>NetVin NV5000SC</p>
+</li>
+<li class="listitem">
+<p>Network Everywhere Ethernet 10BaseT PC Card</p>
+</li>
+<li class="listitem">
+<p>Networld 98X3 (flags 0xd00000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>Networld EC-98X, EP-98X (flags 0xd10000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>New Media LANSurfer 10+56 Ethernet/Modem</p>
+</li>
+<li class="listitem">
+<p>New Media LANSurfer</p>
+</li>
+<li class="listitem">
+<p>Novell NE1000/NE2000/NE2100</p>
+</li>
+<li class="listitem">
+<p>PLANEX ENW-8300-T</p>
+</li>
+<li class="listitem">
+<p>PLANEX EN-2298-C (flags 0x200000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>PLANEX EN-2298P-T, EN-2298-T (flags 0x500000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>PLANEX FNW-3600-T</p>
+</li>
+<li class="listitem">
+<p>Psion 10/100 LANGLOBAL Combine iT</p>
+</li>
+<li class="listitem">
+<p>RealTek 8019</p>
+</li>
+<li class="listitem">
+<p>RealTek 8029</p>
+</li>
+<li class="listitem">
+<p>Relia Combo-L/M-56k PC Card</p>
+</li>
+<li class="listitem">
+<p>SMC Elite 16 WD8013</p>
+</li>
+<li class="listitem">
+<p>SMC Elite Ultra</p>
+</li>
+<li class="listitem">
+<p>SMC EtherEZ98 (flags 0x000000) (PC-98)</p>
+</li>
+<li class="listitem">
+<p>SMC
+WD8003E/WD8003EBT/WD8003S/WD8003SBT/WD8003W/WD8013EBT/WD8013W and
+clones</p>
+</li>
+<li class="listitem">
+<p>SMC EZCard PC Card, 8040-TX, 8041-TX (AX88x90), 8041-TX V.2
+(TC5299J)</p>
+</li>
+<li class="listitem">
+<p>Socket LP-E, ES-1000 Ethernet/Serial, LP-E CF, LP-FE CF</p>
+</li>
+<li class="listitem">
+<p>Surecom EtherPerfect EP-427</p>
+</li>
+<li class="listitem">
+<p>Surecom NE-34</p>
+</li>
+<li class="listitem">
+<p>TDK 3000/3400/5670 Fast Ethernet/Modem</p>
+</li>
+<li class="listitem">
+<p>TDK LAK-CD031, Grey Cell GCS2000 Ethernet Card</p>
+</li>
+<li class="listitem">
+<p>TDK DFL5610WS Ethernet/Modem PC Card</p>
+</li>
+<li class="listitem">
+<p>Telecom Device SuperSocket RE450T</p>
+</li>
+<li class="listitem">
+<p>Toshiba LANCT00A PC Card</p>
+</li>
+<li class="listitem">
+<p>VIA VT86C926</p>
+</li>
+<li class="listitem">
+<p>Winbond W89C940</p>
+</li>
+<li class="listitem">
+<p>Winbond W89C940F</p>
+</li>
+</ul>
+</div>
+<p>C-Bus, ISA, PCI and PC Card devices are supported.</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ed&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ed</span>(4)</span></a> driver does not
+support the following Ethernet NICs:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Mitsubishi LAN Adapter B8895</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=em&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">em</span>(4)</span></a> driver supports
+Gigabit Ethernet adapters based on the Intel 82540, 82541ER,
+82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB, 82546GB,
+82547, 82571, 82572, 82573, and 82574 controller chips:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Intel PRO/1000 CT Network Connection (82547)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 F Server Adapter (82543)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 Gigabit Server Adapter (82542)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 GT Desktop Adapter (82541PI)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 MF Dual Port Server Adapter (82546)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 MF Server Adapter (82545)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 MF Server Adapter (LX) (82545)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 MT Desktop Adapter (82540)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 MT Desktop Adapter (82541)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 MT Dual Port Server Adapter (82546)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 MT Quad Port Server Adapter (82546EB)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 MT Server Adapter (82545)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 PF Dual Port Server Adapter (82571)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 PF Quad Port Server Adapter (82571)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 PF Server Adapter (82572)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 PT Desktop Adapter (82572)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 PT Dual Port Server Adapter (82571)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 PT Quad Port Server Adapter (82571)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 PT Server Adapter (82572)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 T Desktop Adapter (82544)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 T Server Adapter (82543)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 XF Server Adapter (82544)</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/1000 XT Server Adapter (82544)</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ep&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ep</span>(4)</span></a> driver supports
+Ethernet adapters based on the 3Com 3C5x9 Etherlink III Parallel
+Tasking chipset, including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com 3C1 CF</p>
+</li>
+<li class="listitem">
+<p>3Com 3C509-TP, 3C509-BNC, 3C509-Combo, 3C509-TPO, 3C509-TPC
+ISA</p>
+</li>
+<li class="listitem">
+<p>3Com 3C509B-TP, 3C509B-BNC, 3C509B-Combo, 3C509B-TPO, 3C509B-TPC
+ISA</p>
+</li>
+<li class="listitem">
+<p>3Com 3C529, 3C529-TP MCA</p>
+</li>
+<li class="listitem">
+<p>3Com 3C562/3C563 PCMCIA</p>
+</li>
+<li class="listitem">
+<p>3Com 3C569B-J-TPO, 3C569B-J-COMBO CBUS</p>
+</li>
+<li class="listitem">
+<p>3Com 3C574, 3C574TX, 3C574-TX, 3CCFE574BT, 3CXFE574BT,
+3C3FE574BT PCMCIA</p>
+</li>
+<li class="listitem">
+<p>3Com 3C579-TP, 3C579-BNC EISA</p>
+</li>
+<li class="listitem">
+<p>3Com 3C589, 3C589B, 3C589C, 3C589D, 3CXE589DT PCMCIA</p>
+</li>
+<li class="listitem">
+<p>3Com 3CCFEM556B, 3CCFEM556BI PCMCIA</p>
+</li>
+<li class="listitem">
+<p>3Com 3CXE589EC, 3CCE589EC, 3CXE589ET, 3CCE589ET PCMCIA</p>
+</li>
+<li class="listitem">
+<p>3Com Megahertz 3CCEM556, 3CXEM556, 3CCEM556B, 3CXEM556B,
+3C3FEM556C PCMCIA</p>
+</li>
+<li class="listitem">
+<p>3Com OfficeConnect 3CXSH572BT, 3CCSH572BT PCMCIA</p>
+</li>
+<li class="listitem">
+<p>Farallon EtherWave and EtherMac PC Card (P/n 595/895 with BLUE
+arrow)</p>
+</li>
+</ul>
+</div>
+<p>Agere ET1310 Gigabit Ethernet adapters (<a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=et&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">et</span>(4)</span></a>
+driver)</p>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ex&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ex</span>(4)</span></a> driver supports
+the following Ethernet adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Intel EtherExpress Pro/10 ISA</p>
+</li>
+<li class="listitem">
+<p>Intel EtherExpress Pro/10+ ISA</p>
+</li>
+<li class="listitem">
+<p>Olicom OC2220 Ethernet PC Card</p>
+</li>
+<li class="listitem">
+<p>Olicom OC2232 Ethernet/Modem PC Card</p>
+</li>
+<li class="listitem">
+<p>Silicom Ethernet LAN PC Card</p>
+</li>
+<li class="listitem">
+<p>Silicom EtherSerial LAN PC Card</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] Controllers and cards supported by the
+<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=fe&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">fe</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Allied Telesis RE1000, RE1000Plus, ME1500 (110-pin)</p>
+</li>
+<li class="listitem">
+<p>CONTEC C-NET(98)P2, C-NET (9N)E (110-pin), C-NET(9N)C
+(ExtCard)</p>
+</li>
+<li class="listitem">
+<p>CONTEC C-NET(PC)C PC Card Ethernet</p>
+</li>
+<li class="listitem">
+<p>Eagle Tech NE200T</p>
+</li>
+<li class="listitem">
+<p>Eiger Labs EPX-10BT</p>
+</li>
+<li class="listitem">
+<p>Fujitsu FMV-J182, FMV-J182A</p>
+</li>
+<li class="listitem">
+<p>Fujitsu MB86960A, MB86965A</p>
+</li>
+<li class="listitem">
+<p>Fujitsu MBH10303, MBH10302 PC Card Ethernet</p>
+</li>
+<li class="listitem">
+<p>Fujitsu Towa LA501 Ethernet</p>
+</li>
+<li class="listitem">
+<p>HITACHI HT-4840-11 PC Card Ethernet</p>
+</li>
+<li class="listitem">
+<p>NextCom J Link NC5310</p>
+</li>
+<li class="listitem">
+<p>RATOC REX-5588, REX-9822, REX-4886, and REX-R280</p>
+</li>
+<li class="listitem">
+<p>RATOC REX-9880/9881/9882/9883</p>
+</li>
+<li class="listitem">
+<p>TDK LAC-98012, LAC-98013, LAC-98025, LAC-9N011 (110-pin)</p>
+</li>
+<li class="listitem">
+<p>TDK LAK-CD011, LAK-CD021, LAK-CD021A, LAK-CD021BX</p>
+</li>
+<li class="listitem">
+<p>Ungermann-Bass Access/PC N98C+(PC85152, PC85142), Access/NOTE
+N98(PC86132) (110-pin)</p>
+</li>
+</ul>
+</div>
+<p>Adapters supported by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=fxp&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">fxp</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Intel EtherExpress PRO/10</p>
+</li>
+<li class="listitem">
+<p>Intel InBusiness 10/100</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/100B / EtherExpressPRO/100 B PCI Adapter</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/100+ Management Adapter</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/100 VE Desktop Adapter</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/100 VM Network Connection</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/100 M Desktop Adapter</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/100 S Desktop, Server and Dual-Port Server
+Adapters</p>
+</li>
+<li class="listitem">
+<p>Contec C-NET(PI)-100TX (PC-98)</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9821Ra20, Rv20, Xv13, Xv20 internal 100Base-TX
+(PC-98)</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9821X-B06 (PC-98)</p>
+</li>
+<li class="listitem">
+<p>Many on-board network interfaces on Intel motherboards</p>
+</li>
+</ul>
+</div>
+<p>Chips supported by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=gem&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">gem</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Apple GMAC</p>
+</li>
+<li class="listitem">
+<p>Sun ERI 10/100 Mbps Ethernet</p>
+</li>
+<li class="listitem">
+<p>Sun GEM Gigabit Ethernet</p>
+</li>
+</ul>
+</div>
+<p>The following add-on cards are known to work with the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=gem&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">gem</span>(4)</span></a> driver at this
+time:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Sun Gigabit Ethernet PCI 2.0/3.0 (GBE/P) (part no. 501-4373)</p>
+</li>
+<li class="listitem">
+<p>Sun Gigabit Ethernet SBus 2.0/3.0 (GBE/S) (part no.
+501-4375)</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=hme&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">hme</span>(4)</span></a> driver
+supports the on-board Ethernet interfaces of many Sun UltraSPARC
+workstation and server models.</p>
+<p>Cards supported by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=hme&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">hme</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Sun PCI SunSwift Adapter</p>
+</li>
+<li class="listitem">
+<p>Sun SBus SunSwift Adapter <span class="quote">“<span class=
+"quote">( hme</span>”</span> and <span class="quote">“<span class=
+"quote">SUNW,hme</span>”</span>)</p>
+</li>
+<li class="listitem">
+<p>Sun PCI Sun100BaseT Adapter 2.0</p>
+</li>
+<li class="listitem">
+<p>Sun SBus Sun100BaseT 2.0</p>
+</li>
+<li class="listitem">
+<p>Sun PCI Quad FastEthernet Controller</p>
+</li>
+<li class="listitem">
+<p>Sun SBus Quad FastEthernet Controller</p>
+</li>
+</ul>
+</div>
+<p>[i386] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ie&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ie</span>(4)</span></a> driver provides
+supports the following 8 and 16bit ISA Ethernet cards that are
+based on the Intel i82586 chip:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3COM 3C507</p>
+</li>
+<li class="listitem">
+<p>AT&amp;T EN100</p>
+</li>
+<li class="listitem">
+<p>AT&amp;T Starlan 10</p>
+</li>
+<li class="listitem">
+<p>AT&amp;T Starlan Fiber</p>
+</li>
+<li class="listitem">
+<p>Intel EtherExpress 16</p>
+</li>
+<li class="listitem">
+<p>RACAL Interlan NI5210</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=igb&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">igb</span>(4)</span></a> driver
+supports Gigabit Ethernet adapters based on the Intel 82575 and
+82576 controller chips:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Intel Gigabit ET Dual Port Server Adapter (82576)</p>
+</li>
+<li class="listitem">
+<p>Intel Gigabit VT Quad Port Server Adapter (82575)</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ixgb&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ixgb</span>(4)</span></a> driver
+supports the following cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Intel PRO/10GbE LR Server Adapter</p>
+</li>
+<li class="listitem">
+<p>Intel PRO/10GbE SR Server Adapter</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ixgbe&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ixgbe</span>(4)</span></a> driver
+supports the following cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Intel(R) 10 Gigabit XF SR/AF Dual Port Server Adapter</p>
+</li>
+<li class="listitem">
+<p>Intel(R) 10 Gigabit XF SR/LR Server Adapter</p>
+</li>
+<li class="listitem">
+<p>Intel(R) 82598EB 10 Gigabit AF Network Connection</p>
+</li>
+<li class="listitem">
+<p>Intel(R) 82598EB 10 Gigabit AT CX4 Network Connection</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=jme&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">jme</span>(4)</span></a> device driver
+provides support for the following Ethernet controllers:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>JMicron JMC250 PCI Express Gigabit Ethernet controller</p>
+</li>
+<li class="listitem">
+<p>JMicron JMC251 PCI Express Gigabit Ethernet with Card Read Host
+controller</p>
+</li>
+<li class="listitem">
+<p>JMicron JMC260 PCI Express Fast Ethernet controller</p>
+</li>
+<li class="listitem">
+<p>JMicron JMC261 PCI Express Gigabit Ethernet with Card Read Host
+controller</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,ia64,amd64,powerpc] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=kue&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">kue</span>(4)</span></a> driver
+supports Kawasaki LSI KL5KLUSB101B based USB Ethernet adapters
+including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com 3c19250</p>
+</li>
+<li class="listitem">
+<p>3Com 3c460 HomeConnect Ethernet USB Adapter</p>
+</li>
+<li class="listitem">
+<p>ADS Technologies USB-10BT</p>
+</li>
+<li class="listitem">
+<p>AOX USB101</p>
+</li>
+<li class="listitem">
+<p>ATen UC10T</p>
+</li>
+<li class="listitem">
+<p>Abocom URE 450</p>
+</li>
+<li class="listitem">
+<p>Corega USB-T</p>
+</li>
+<li class="listitem">
+<p>D-Link DSB-650C</p>
+</li>
+<li class="listitem">
+<p>Entrega NET-USB-E45, NET-HUB-3U1E</p>
+</li>
+<li class="listitem">
+<p>I/O Data USB ETT</p>
+</li>
+<li class="listitem">
+<p>Kawasaki DU-H3E</p>
+</li>
+<li class="listitem">
+<p>LinkSys USB10T</p>
+</li>
+<li class="listitem">
+<p>Netgear EA101</p>
+</li>
+<li class="listitem">
+<p>Peracom USB Ethernet Adapter</p>
+</li>
+<li class="listitem">
+<p>Psion Gold Port USB Ethernet adapter</p>
+</li>
+<li class="listitem">
+<p>SMC 2102USB, 2104USB</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] Adapters supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=lge&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">lge</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>SMC TigerCard 1000 (SMC9462SX)</p>
+</li>
+<li class="listitem">
+<p>D-Link DGE-500SX</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=msk&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">msk</span>(4)</span></a> driver
+provides support for various NICs based on the Marvell/SysKonnect
+Yukon II based Gigabit Ethernet controller chips, including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>D-Link 550SX Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>D-Link 560SX Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>D-Link 560T Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8021CU Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8021 SX/LX Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8022CU Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8022 SX/LX Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8061CU Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8061 SX/LX Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8062CU Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8062 SX/LX Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8035 Fast Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8036 Fast Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8038 Fast Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8039 Fast Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8040 Fast Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8040T Fast Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8042 Fast Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8048 Fast Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8050 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8052 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8053 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8055 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8056 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8057 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8058 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8059 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8070 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8071 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8072 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Marvell Yukon 88E8075 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>SysKonnect SK-9Sxx Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>SysKonnect SK-9Exx Gigabit Ethernet</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=mxge&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">mxge</span>(4)</span></a> driver
+supports 10 Gigabit Ethernet adapters based on the Myricom LANai
+Z8E chips:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Myricom 10GBase-CX4 (10G-PCIE-8A-C, 10G-PCIE-8AL-C)</p>
+</li>
+<li class="listitem">
+<p>Myricom 10GBase-R (10G-PCIE-8A-R, 10G-PCIE-8AL-R)</p>
+</li>
+<li class="listitem">
+<p>Myricom 10G XAUI over ribbon fiber (10G-PCIE-8A-Q,
+10G-PCIE-8AL-Q)</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=my&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">my</span>(4)</span></a> driver provides
+support for various NICs based on the Myson chipset. Supported
+models include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Myson MTD800 PCI Fast Ethernet chip</p>
+</li>
+<li class="listitem">
+<p>Myson MTD803 PCI Fast Ethernet chip</p>
+</li>
+<li class="listitem">
+<p>Myson MTD89X PCI Gigabit Ethernet chip</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=nfe&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">nfe</span>(4)</span></a> driver
+supports the following NVIDIA MCP onboard adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>NVIDIA nForce MCP Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce MCP04 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce 430 MCP12 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce 430 MCP13 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce MCP51 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce MCP55 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce MCP61 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce MCP65 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce MCP67 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce MCP73 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce MCP77 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce MCP79 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce2 MCP2 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce2 400 MCP4 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce2 400 MCP5 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce3 MCP3 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce3 250 MCP6 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce3 MCP7 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce4 CK804 MCP8 Networking Adapter</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce4 CK804 MCP9 Networking Adapter</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=nge&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">nge</span>(4)</span></a> driver
+supports National Semiconductor DP83820 and DP83821 based Gigabit
+Ethernet adapters including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Addtron AEG320T</p>
+</li>
+<li class="listitem">
+<p>Ark PC SOHO-GA2500T (32-bit PCI) and SOHO-GA2000T (64-bit
+PCI)</p>
+</li>
+<li class="listitem">
+<p>Asante FriendlyNet GigaNIX 1000TA and 1000TPC</p>
+</li>
+<li class="listitem">
+<p>D-Link DGE-500T</p>
+</li>
+<li class="listitem">
+<p>Linksys EG1032, revision 1</p>
+</li>
+<li class="listitem">
+<p>Netgear GA621</p>
+</li>
+<li class="listitem">
+<p>Netgear GA622T</p>
+</li>
+<li class="listitem">
+<p>SMC EZ Card 1000 (SMC9462TX)</p>
+</li>
+<li class="listitem">
+<p>Surecom Technology EP-320G-TX</p>
+</li>
+<li class="listitem">
+<p>Trendware TEG-PCITX (32-bit PCI) and TEG-PCITX2 (64-bit PCI)</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=nve&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">nve</span>(4)</span></a> driver
+supports the NVIDIA MCP onboard adapters of mainboards with the
+following chipsets:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>nForce</p>
+</li>
+<li class="listitem">
+<p>nForce2</p>
+</li>
+<li class="listitem">
+<p>nForce3</p>
+</li>
+<li class="listitem">
+<p>nForce4</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=nxge&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">nxge</span>(4)</span></a> driver
+supports Neterion Xframe 10 Gigabit Ethernet adapters listed in
+<a class="ulink" href="http://www.neterion.com/how/pricing.html"
+target="_top">http://www.neterion.com/how/pricing.html</a>.</p>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=oce&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">oce</span>(4)</span></a> driver
+supports the following network adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Emulex BladeEngine 2</p>
+</li>
+<li class="listitem">
+<p>Emulex BladeEngine 3</p>
+</li>
+<li class="listitem">
+<p>Emulex Lancer</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,ia64,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=pcn&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">pcn</span>(4)</span></a> driver
+supports adapters and embedded controllers based on the AMD
+PCnet/FAST, PCnet/FAST+, PCnet/FAST III, PCnet/PRO and PCnet/Home
+Fast Ethernet chips:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AMD Am79C971 PCnet-FAST</p>
+</li>
+<li class="listitem">
+<p>AMD Am79C972 PCnet-FAST+</p>
+</li>
+<li class="listitem">
+<p>AMD Am79C973/Am79C975 PCnet-FAST III</p>
+</li>
+<li class="listitem">
+<p>AMD Am79C976 PCnet-PRO</p>
+</li>
+<li class="listitem">
+<p>AMD Am79C978 PCnet-Home</p>
+</li>
+<li class="listitem">
+<p>Allied-Telesis LA-PCI</p>
+</li>
+</ul>
+</div>
+<p>[amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=qlxgb&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">qlxgb</span>(4)</span></a> driver
+supports 10 Gigabit Ethernet &amp; CNA Adapter based on the
+following chipsets:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>QLogic 3200 series</p>
+</li>
+<li class="listitem">
+<p>QLogic 8200 series</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=re&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">re</span>(4)</span></a> driver supports
+RealTek RTL8139C+, RTL8169, RTL816xS, RTL811xS, RTL8168, RTL810xE
+and RTL8111 based Fast Ethernet and Gigabit Ethernet adapters
+including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Alloy Computer Products EtherGOLD 1439E 10/100 (8139C+)</p>
+</li>
+<li class="listitem">
+<p>Compaq Evo N1015v Integrated Ethernet (8139C+)</p>
+</li>
+<li class="listitem">
+<p>Corega CG-LAPCIGT Gigabit Ethernet (8169S)</p>
+</li>
+<li class="listitem">
+<p>D-Link DGE-528(T) Gigabit Ethernet (8169S)</p>
+</li>
+<li class="listitem">
+<p>Gigabyte 7N400 Pro2 Integrated Gigabit Ethernet (8110S)</p>
+</li>
+<li class="listitem">
+<p>LevelOne GNC-0105T (8169S)</p>
+</li>
+<li class="listitem">
+<p>LinkSys EG1032 (32-bit PCI)</p>
+</li>
+<li class="listitem">
+<p>PLANEX COMMUNICATIONS Inc. GN-1200TC (8169S)</p>
+</li>
+<li class="listitem">
+<p>USRobotics USR997902 Gigabit Ethernet (8169S)</p>
+</li>
+<li class="listitem">
+<p>Xterasys XN-152 10/100/1000 NIC (8169)</p>
+</li>
+</ul>
+</div>
+<p>Adapters supported by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=rl&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">rl</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Accton <span class="quote">“<span class=
+"quote">Cheetah</span>”</span> EN1207D (MPX 5030/5038; RealTek 8139
+clone)</p>
+</li>
+<li class="listitem">
+<p>Allied Telesyn AT2550</p>
+</li>
+<li class="listitem">
+<p>Allied Telesyn AT2500TX</p>
+</li>
+<li class="listitem">
+<p>Belkin F5D5000</p>
+</li>
+<li class="listitem">
+<p>BUFFALO (Melco INC.) LPC-CB-CLX (CardBus)</p>
+</li>
+<li class="listitem">
+<p>Compaq HNE-300</p>
+</li>
+<li class="listitem">
+<p>CompUSA no-name 10/100 PCI Ethernet NIC</p>
+</li>
+<li class="listitem">
+<p>Corega FEther CB-TXD</p>
+</li>
+<li class="listitem">
+<p>Corega FEtherII CB-TXD</p>
+</li>
+<li class="listitem">
+<p>D-Link DFE-520TX (rev. C1)</p>
+</li>
+<li class="listitem">
+<p>D-Link DFE-528TX</p>
+</li>
+<li class="listitem">
+<p>D-Link DFE-530TX+</p>
+</li>
+<li class="listitem">
+<p>D-Link DFE-538TX</p>
+</li>
+<li class="listitem">
+<p>D-Link DFE-690TXD</p>
+</li>
+<li class="listitem">
+<p>Edimax EP-4103DL CardBus</p>
+</li>
+<li class="listitem">
+<p>Encore ENL832-TX 10/100 M PCI</p>
+</li>
+<li class="listitem">
+<p>Farallon NetLINE 10/100 PCI</p>
+</li>
+<li class="listitem">
+<p>Genius GF100TXR</p>
+</li>
+<li class="listitem">
+<p>GigaFast Ethernet EE100-AXP</p>
+</li>
+<li class="listitem">
+<p>KTX-9130TX 10/100 Fast Ethernet</p>
+</li>
+<li class="listitem">
+<p>LevelOne FPC-0106TX</p>
+</li>
+<li class="listitem">
+<p>Longshine LCS-8038TX-R</p>
+</li>
+<li class="listitem">
+<p>NDC Communications NE100TX-E</p>
+</li>
+<li class="listitem">
+<p>Netronix Inc. EA-1210 NetEther 10/100</p>
+</li>
+<li class="listitem">
+<p>Nortel Networks 10/100BaseTX</p>
+</li>
+<li class="listitem">
+<p>OvisLink LEF-8129TX</p>
+</li>
+<li class="listitem">
+<p>OvisLink LEF-8139TX</p>
+</li>
+<li class="listitem">
+<p>Peppercon AG ROL-F</p>
+</li>
+<li class="listitem">
+<p>Planex FNW-3603-TX</p>
+</li>
+<li class="listitem">
+<p>Planex FNW-3800-TX</p>
+</li>
+<li class="listitem">
+<p>SMC EZ Card 10/100 PCI 1211-TX</p>
+</li>
+<li class="listitem">
+<p>SOHO (PRAGMATIC) UE-1211C</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=rue&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">rue</span>(4)</span></a> driver
+supports RealTek RTL8150 based USB Ethernet adapters including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Buffalo (Melco Inc.) LUA-KTX</p>
+</li>
+<li class="listitem">
+<p>Green House GH-USB100B</p>
+</li>
+<li class="listitem">
+<p>LinkSys USB100M</p>
+</li>
+<li class="listitem">
+<p>Billionton 10/100 FastEthernet USBKR2</p>
+</li>
+</ul>
+</div>
+<p>Adapters supported by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sf&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">sf</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ANA-62011 64-bit single port 10/100baseTX adapter</p>
+</li>
+<li class="listitem">
+<p>ANA-62022 64-bit dual port 10/100baseTX adapter</p>
+</li>
+<li class="listitem">
+<p>ANA-62044 64-bit quad port 10/100baseTX adapter</p>
+</li>
+<li class="listitem">
+<p>ANA-69011 32-bit single port 10/100baseTX adapter</p>
+</li>
+<li class="listitem">
+<p>ANA-62020 64-bit single port 100baseFX adapter</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sfxge&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">sfxge</span>(4)</span></a> driver
+supports all 10Gb Ethernet adapters based on Solarflare SFC9000
+family controllers.</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sge&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">sge</span>(4)</span></a> device driver
+provides support for the following Ethernet controllers:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>SiS190 Fast Ethernet controller</p>
+</li>
+<li class="listitem">
+<p>SiS191 Fast/Gigabit Ethernet controller</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sis&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">sis</span>(4)</span></a> driver
+supports Silicon Integrated Systems SiS 900 and SiS 7016 based Fast
+Ethernet adapters and embedded controllers, as well as Fast
+Ethernet adapters based on the National Semiconductor DP83815
+(MacPhyter) and DP83816 chips. Supported adapters include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>@Nifty FNECHARD IFC USUP-TX</p>
+</li>
+<li class="listitem">
+<p>MELCO LGY-PCI-TXC</p>
+</li>
+<li class="listitem">
+<p>Netgear FA311-TX (DP83815)</p>
+</li>
+<li class="listitem">
+<p>Netgear FA312-TX (DP83815)</p>
+</li>
+<li class="listitem">
+<p>SiS 630, 635, and 735 motherboard chipsets</p>
+</li>
+<li class="listitem">
+<p>Soekris Engineering net45xx, net48xx, lan1621, and lan1641</p>
+</li>
+</ul>
+</div>
+<p>Adapters supported by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sk&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">sk</span>(4)</span></a> driver
+include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com 3C940 single port, 1000baseT adapter</p>
+</li>
+<li class="listitem">
+<p>3Com 3C2000-T single port, 1000baseT adapter</p>
+</li>
+<li class="listitem">
+<p>Belkin F5D5005 single port, 1000baseT adapter</p>
+</li>
+<li class="listitem">
+<p>D-Link DGE-530T single port, 1000baseT adapter</p>
+</li>
+<li class="listitem">
+<p>Linksys (revision 2) single port, 1000baseT adapter</p>
+</li>
+<li class="listitem">
+<p>SK-9521 SK-NET GE-T single port, 1000baseT adapter</p>
+</li>
+<li class="listitem">
+<p>SK-9821 SK-NET GE-T single port, 1000baseT adapter</p>
+</li>
+<li class="listitem">
+<p>SK-9822 SK-NET GE-T dual port, 1000baseT adapter</p>
+</li>
+<li class="listitem">
+<p>SK-9841 SK-NET GE-LX single port, single mode fiber adapter</p>
+</li>
+<li class="listitem">
+<p>SK-9842 SK-NET GE-LX dual port, single mode fiber adapter</p>
+</li>
+<li class="listitem">
+<p>SK-9843 SK-NET GE-SX single port, multimode fiber adapter</p>
+</li>
+<li class="listitem">
+<p>SK-9844 SK-NET GE-SX dual port, multimode fiber adapter</p>
+</li>
+<li class="listitem">
+<p>SMC 9452TX single port, 1000baseT adapter</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sn&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">sn</span>(4)</span></a> driver supports
+SMC91Cxx based ISA and PCMCIA cards including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com Megahertz X-Jack Ethernet PC Card XJ10BT, XJ10BC</p>
+</li>
+<li class="listitem">
+<p>3Com Megahertz XJEM and CCEM series: CCEM3288C, CCEM3288T,
+CCEM3336, CEM3336C, CCEM3336T, XJEM1144C, XJEM1144T, XJEM3288C,
+XJEM3288T, XJEM3336</p>
+</li>
+<li class="listitem">
+<p>Farallon EtherMac PC Card 595a</p>
+</li>
+<li class="listitem">
+<p>Motorola Mariner Ethernet/Modem PC Card</p>
+</li>
+<li class="listitem">
+<p>Ositech Seven of Diamonds Ethernet PC Card</p>
+</li>
+<li class="listitem">
+<p>Ositech Jack of Hearts Ethernet/Modem PC Card</p>
+</li>
+<li class="listitem">
+<p>Psion Gold Card Netglobal Ethernet PC Card</p>
+</li>
+<li class="listitem">
+<p>Psion Gold Card Netglobal 10/100 Fast Ethernet PC Card</p>
+</li>
+<li class="listitem">
+<p>Psion Gold Card Netglobal 56k+10Mb Ethernet PC Card</p>
+</li>
+<li class="listitem">
+<p>SMC EZEther PC Card (8020BT)</p>
+</li>
+<li class="listitem">
+<p>SMC EZEther PC Card (8020T)</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sn&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">sn</span>(4)</span></a> driver supports
+the SMC 91C90, SMC 91C92, SMC 91C94, SMC 91C95, SMC 91C96,
+SMC91C100 and SMC 91C100FD chips from SMC.</p>
+<p>The Farallon EtherWave and EtherMac card came in two varieties.
+The ep(4) driver supports the 595 and 895 cards. These cards have
+the blue arrow on the front along with a 3Com logo. The Farallon
+595a cards, which have a red arrow on the front, are also called
+EtherWave and EtherMac. They are supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sn&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">sn</span>(4)</span></a> driver.</p>
+<p>[pc98] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snc&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">snc</span>(4)</span></a> driver
+supports the following cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>National Semiconductor DP83934AVQB</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9801-83</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9801-84</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9801-103</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9801-104</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9801N-15</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9801N-25</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9801N-J02 PCMCIA</p>
+</li>
+<li class="listitem">
+<p>NEC PC-9801N-J02R PCMCIA</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snc&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">snc</span>(4)</span></a> driver also
+includes support for the National Semiconductor NS46C46 as 64 * 16
+bits Microwave Serial EEPROM.</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ste&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ste</span>(4)</span></a> driver
+supports Sundance Technologies ST201 based Fast Ethernet adapters
+and embedded controllers including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>D-Link DFE-530TXS</p>
+</li>
+<li class="listitem">
+<p>D-Link DFE-550TX</p>
+</li>
+<li class="listitem">
+<p>D-Link DFE-580TX</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=stge&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">stge</span>(4)</span></a> driver
+provides support for various NICs based on the Sundance/Tamarack
+TC9021 based Gigabit Ethernet controller chips, including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Antares Microsystems Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>ASUS NX1101 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>D-Link DL-4000 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>IC Plus IP1000A Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Sundance ST-2021 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Sundance ST-2023 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Sundance TC9021 Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Tamarack TC9021 Gigabit Ethernet</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64,sparc64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ti&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ti</span>(4)</span></a> driver supports
+Gigabit Ethernet adapters based on the Alteon Tigon I and II chips.
+The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ti&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ti</span>(4)</span></a> driver has been
+tested with the following adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com 3c985-SX Gigabit Ethernet adapter (Tigon 1)</p>
+</li>
+<li class="listitem">
+<p>3Com 3c985B-SX Gigabit Ethernet adapter (Tigon 2)</p>
+</li>
+<li class="listitem">
+<p>Alteon AceNIC V Gigabit Ethernet adapter (1000baseSX)</p>
+</li>
+<li class="listitem">
+<p>Alteon AceNIC V Gigabit Ethernet adapter (1000baseT)</p>
+</li>
+<li class="listitem">
+<p>Digital EtherWORKS 1000SX PCI Gigabit adapter</p>
+</li>
+<li class="listitem">
+<p>Netgear GA620 Gigabit Ethernet adapter (1000baseSX)</p>
+</li>
+<li class="listitem">
+<p>Netgear GA620T Gigabit Ethernet adapter (1000baseT)</p>
+</li>
+</ul>
+</div>
+<p>The following adapters should also be supported but have not yet
+been tested:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Asante GigaNIX1000T Gigabit Ethernet adapter</p>
+</li>
+<li class="listitem">
+<p>Asante PCI 1000BASE-SX Gigabit Ethernet adapter</p>
+</li>
+<li class="listitem">
+<p>Farallon PN9000SX Gigabit Ethernet adapter</p>
+</li>
+<li class="listitem">
+<p>NEC Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>Silicon Graphics PCI Gigabit Ethernet adapter</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=tl&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">tl</span>(4)</span></a> driver supports
+Texas Instruments ThunderLAN based Ethernet and Fast Ethernet
+adapters including a large number of Compaq PCI Ethernet adapters.
+Also supported are:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Olicom OC-2135/2138 10/100 TX UTP adapter</p>
+</li>
+<li class="listitem">
+<p>Olicom OC-2325/OC-2326 10/100 TX UTP adapter</p>
+</li>
+<li class="listitem">
+<p>Racore 8148 10baseT/100baseTX/100baseFX adapter</p>
+</li>
+<li class="listitem">
+<p>Racore 8165 10/100baseTX adapter</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=tl&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">tl</span>(4)</span></a> driver also
+supports the built-in Ethernet adapters of various Compaq Prosignia
+servers and Compaq Deskpro desktop machines including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Compaq Netelligent 10</p>
+</li>
+<li class="listitem">
+<p>Compaq Netelligent 10 T PCI UTP/Coax</p>
+</li>
+<li class="listitem">
+<p>Compaq Netelligent 10/100</p>
+</li>
+<li class="listitem">
+<p>Compaq Netelligent 10/100 Dual-Port</p>
+</li>
+<li class="listitem">
+<p>Compaq Netelligent 10/100 Proliant</p>
+</li>
+<li class="listitem">
+<p>Compaq Netelligent 10/100 TX Embedded UTP</p>
+</li>
+<li class="listitem">
+<p>Compaq Netelligent 10/100 TX UTP</p>
+</li>
+<li class="listitem">
+<p>Compaq NetFlex 3P</p>
+</li>
+<li class="listitem">
+<p>Compaq NetFlex 3P Integrated</p>
+</li>
+<li class="listitem">
+<p>Compaq NetFlex 3P w/BNC</p>
+</li>
+</ul>
+</div>
+<p>[amd64, i386, pc98] SMC 83c17x (EPIC)-based Ethernet NICs
+(<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=tx&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">tx</span>(4)</span></a>
+driver)</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=txp&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">txp</span>(4)</span></a> driver
+supports the following cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com 3CR990-TX-95</p>
+</li>
+<li class="listitem">
+<p>3Com 3CR990-TX-97</p>
+</li>
+<li class="listitem">
+<p>3Com 3cR990B-TXM</p>
+</li>
+<li class="listitem">
+<p>3Com 3CR990SVR95</p>
+</li>
+<li class="listitem">
+<p>3Com 3CR990SVR97</p>
+</li>
+<li class="listitem">
+<p>3Com 3cR990B-SRV</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=udav&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">udav</span>(4)</span></a> driver
+supports the following adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Corega FEther USB-TXC</p>
+</li>
+<li class="listitem">
+<p>ShanTou ST268 USB NIC</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=vge&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">vge</span>(4)</span></a> driver
+supports VIA Networking VT6120, VT6122, VT6130 and VT6132 based
+Gigabit Ethernet adapters including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>VIA Networking LAN-on-motherboard Gigabit Ethernet</p>
+</li>
+<li class="listitem">
+<p>ZyXEL GN650-T 64-bit PCI Gigabit Ethernet NIC (ZX1701)</p>
+</li>
+<li class="listitem">
+<p>ZyXEL GN670-T 32-bit PCI Gigabit Ethernet NIC (ZX1702)</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=vr&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">vr</span>(4)</span></a> driver supports
+VIA Technologies Rhine I, Rhine II, and Rhine III based Fast
+Ethernet adapters including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AOpen/Acer ALN-320</p>
+</li>
+<li class="listitem">
+<p>D-Link DFE520-TX</p>
+</li>
+<li class="listitem">
+<p>D-Link DFE530-TX</p>
+</li>
+<li class="listitem">
+<p>Hawking Technologies PN102TX</p>
+</li>
+<li class="listitem">
+<p>Soekris Engineering net5501</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,ia64,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=vx&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">vx</span>(4)</span></a> driver supports
+the following cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com 3c590 EtherLink III PCI</p>
+</li>
+<li class="listitem">
+<p>3Com 3c592 EtherLink III EISA</p>
+</li>
+<li class="listitem">
+<p>3Com 3c595 Fast EtherLink III PCI in 10 Mbps mode</p>
+</li>
+<li class="listitem">
+<p>3Com 3c597 Fast EtherLink III EISA in 10 Mbps mode</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=vxge&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">vxge</span>(4)</span></a> driver
+supports Neterion X3100 10 Gigabit Ethernet adapters listed in
+<a class="ulink" href="http://www.neterion.com" target=
+"_top">http://www.neterion.com</a>.</p>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=wb&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">wb</span>(4)</span></a> driver supports
+Winbond W89C840F based Fast Ethernet adapters and embedded
+controllers including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Trendware TE100-PCIE</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=xe&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">xe</span>(4)</span></a> driver supports
+the following cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Xircom CreditCard Ethernet (PS-CE2-10)</p>
+</li>
+<li class="listitem">
+<p>Xircom CreditCard Ethernet + Modem 28 (PS-CEM-28)</p>
+</li>
+<li class="listitem">
+<p>Xircom CreditCard Ethernet + Modem 33 (CEM33)</p>
+</li>
+<li class="listitem">
+<p>Xircom CreditCard 10/100 (CE3, CE3B)</p>
+</li>
+<li class="listitem">
+<p>Xircom CreditCard Ethernet 10/100 + Modem 56 (CEM56)</p>
+</li>
+<li class="listitem">
+<p>Xircom RealPort Ethernet 10 (RE10)</p>
+</li>
+<li class="listitem">
+<p>Xircom RealPort Ethernet 10/100 (RE100)</p>
+</li>
+<li class="listitem">
+<p>Xircom RealPort Ethernet 10/100 + Modem 56 (REM56, REM56G)</p>
+</li>
+<li class="listitem">
+<p>Accton Fast EtherCard-16 (EN2226)</p>
+</li>
+<li class="listitem">
+<p>Compaq Microcom CPQ550 Ethernet/Modem PC Card</p>
+</li>
+<li class="listitem">
+<p>Compaq Netelligent 10/100 PC Card (CPQ-10/100)</p>
+</li>
+<li class="listitem">
+<p>Intel EtherExpress Pro/100 PC Card Mobile Adapter 16 (Pro/100
+M16A)</p>
+</li>
+<li class="listitem">
+<p>Intel EtherExpress Pro/100 LAN/Modem PC Card Adapter (Pro/100
+M16B)</p>
+</li>
+</ul>
+</div>
+<p>Other similar devices using the same hardware may also be
+supported.</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=xl&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">xl</span>(4)</span></a> driver supports
+the following hardware:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com 3c900-TPO</p>
+</li>
+<li class="listitem">
+<p>3Com 3c900-COMBO</p>
+</li>
+<li class="listitem">
+<p>3Com 3c905-TX</p>
+</li>
+<li class="listitem">
+<p>3Com 3c905-T4</p>
+</li>
+<li class="listitem">
+<p>3Com 3c900B-TPO</p>
+</li>
+<li class="listitem">
+<p>3Com 3c900B-TPC</p>
+</li>
+<li class="listitem">
+<p>3Com 3c900B-FL</p>
+</li>
+<li class="listitem">
+<p>3Com 3c900B-COMBO</p>
+</li>
+<li class="listitem">
+<p>3Com 3c905B-T4</p>
+</li>
+<li class="listitem">
+<p>3Com 3c905B-TX</p>
+</li>
+<li class="listitem">
+<p>3Com 3c905B-FX</p>
+</li>
+<li class="listitem">
+<p>3Com 3c905B-COMBO</p>
+</li>
+<li class="listitem">
+<p>3Com 3c905C-TX</p>
+</li>
+<li class="listitem">
+<p>3Com 3c980, 3c980B, and 3c980C server adapters</p>
+</li>
+<li class="listitem">
+<p>3Com 3cSOHO100-TX OfficeConnect adapters</p>
+</li>
+<li class="listitem">
+<p>3Com 3c450 HomeConnect adapters</p>
+</li>
+<li class="listitem">
+<p>3Com 3c555, 3c556 and 3c556B mini-PCI adapters</p>
+</li>
+<li class="listitem">
+<p>3Com 3C3SH573BT, 3C575TX, 3CCFE575BT, 3CXFE575BT, 3CCFE575CT,
+3CXFE575CT, 3CCFEM656, 3CCFEM656B, and 3CCFEM656C, 3CXFEM656,
+3CXFEM656B, and 3CXFEM656C CardBus adapters</p>
+</li>
+<li class="listitem">
+<p>3Com 3c905-TX, 3c905B-TX 3c905C-TX, 3c920B-EMB, and
+3c920B-EMB-WNM embedded adapters</p>
+</li>
+</ul>
+</div>
+<p>Both the 3C656 family of CardBus cards and the 3C556 family of
+MiniPCI cards have a built-in proprietary modem. Neither the
+<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=xl&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">xl</span>(4)</span></a> driver nor any
+other FreeBSD driver supports this modem.</p>
+</div>
+<div class="sect2" title="3.3.&nbsp;FDDI Interfaces">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"fddi"></a>3.3.&nbsp;FDDI Interfaces</h3>
+</div>
+</div>
+</div>
+<p>[i386, pc98] DEC DEFPA PCI (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=fpa&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">fpa</span>(4)</span></a>
+driver)</p>
+<p>[i386] DEC DEFEA EISA (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=fpa&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">fpa</span>(4)</span></a>
+driver)</p>
+</div>
+<div class="sect2" title="3.4.&nbsp;ATM Interfaces">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"atm"></a>3.4.&nbsp;ATM Interfaces</h3>
+</div>
+</div>
+</div>
+<p>[i386, pc98] Midway-based ATM interfaces (<a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=en&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">en</span>(4)</span></a>
+driver)</p>
+<p>[i386, pc98 sparc64] FORE Systems, Inc. PCA-200E ATM PCI
+Adapters (hfa and <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=fatm&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">fatm</span>(4)</span></a> drivers)</p>
+<p>[i386, pc98] IDT NICStAR 77201/211-based ATM Adapters (<a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=idt&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">idt</span>(4)</span></a>
+driver)</p>
+<p>[i386, pc98 sparc64] FORE Systems, Inc. HE155 and HE622 ATM
+interfaces (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=hatm&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">hatm</span>(4)</span></a>
+driver)</p>
+<p>[i386, pc98] IDT77252-based ATM cards (<a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=patm&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">patm</span>(4)</span></a>
+driver)</p>
+</div>
+<div class="sect2" title="3.5.&nbsp;Wireless Network Interfaces">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"wlan"></a>3.5.&nbsp;Wireless Network Interfaces</h3>
+</div>
+</div>
+</div>
+<p>[amd64, i386, pc98] Cisco/Aironet 802.11b wireless adapters
+(<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=an&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">an</span>(4)</span></a>
+driver)</p>
+<p>[i386,pc98,amd64,sparc64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ath&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ath</span>(4)</span></a> driver
+supports all Atheros Cardbus and PCI cards, except those that are
+based on the AR5005VL chipset.</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=bwi&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">bwi</span>(4)</span></a> driver
+supports Broadcom BCM43xx based wireless devices, including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Apple Airport Extreme</p>
+</li>
+<li class="listitem">
+<p>Apple Airport Extreme</p>
+</li>
+<li class="listitem">
+<p>ASUS WL-138g</p>
+</li>
+<li class="listitem">
+<p>Buffalo WLI-CB-G54S</p>
+</li>
+<li class="listitem">
+<p>Buffalo WLI-PCI-G54S</p>
+</li>
+<li class="listitem">
+<p>Compaq R4035 onboard</p>
+</li>
+<li class="listitem">
+<p>Dell Wireless 1390 BCM4311 Mini PCI</p>
+</li>
+<li class="listitem">
+<p>Dell Wireless 1470</p>
+</li>
+<li class="listitem">
+<p>Dell Truemobile 1300 r2</p>
+</li>
+<li class="listitem">
+<p>Dell Truemobile 1400</p>
+</li>
+<li class="listitem">
+<p>HP nx6125</p>
+</li>
+<li class="listitem">
+<p>Linksys WPC54G Ver 3</p>
+</li>
+<li class="listitem">
+<p>Linksys WPC54GS Ver 2</p>
+</li>
+<li class="listitem">
+<p>TRENDnet TEW-401PCplus</p>
+</li>
+<li class="listitem">
+<p>US Robotics 5411</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=bwi&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">bwi</span>(4)</span></a> driver uses
+the older v3 version of Broadcom's firmware. While this older
+firmware does support most BCM43xx parts, the bwn(4) driver works
+better for the newer chips it supports. You must use the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=bwi&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">bwi</span>(4)</span></a> driver if you
+are using older Broadcom chipsets (BCM4301, BCM4303 and BCM4306 rev
+2). The v4 version of the firmware that bwn(4) uses does not
+support these chips.</p>
+<p>[i386, amd64] Intel PRO/Wireless 2100 MiniPCI network adapter
+(<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ipw&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">ipw</span>(4)</span></a>
+driver)</p>
+<p>[i386, amd64] Intel PRO/Wireless 2200BG/2915ABG MiniPCI and
+2225BG PCI network adapters (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=iwi&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">iwi</span>(4)</span></a>
+driver)</p>
+<p>[i386, amd64] Intel Wireless WiFi Link 4965AGN IEEE 802.11n PCI
+network adapters (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=iwn&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">iwn</span>(4)</span></a>
+driver)</p>
+<p>[i386, amd64] Marvell Libertas IEEE 802.11b/g PCI network
+adapters (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=malo&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">malo</span>(4)</span></a>
+driver)</p>
+<p>Marvell 88W8363 IEEE 802.11n wireless network adapters
+(<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=mwl&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">mwl</span>(4)</span></a>
+driver)</p>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ral&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ral</span>(4)</span></a> driver
+supports PCI/PCIe/CardBus wireless adapters based on Ralink
+Technology chipsets, including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>A-Link WL54H</p>
+</li>
+<li class="listitem">
+<p>A-Link WL54PC</p>
+</li>
+<li class="listitem">
+<p>AirLink101 AWLC5025</p>
+</li>
+<li class="listitem">
+<p>AirLink101 AWLH5025</p>
+</li>
+<li class="listitem">
+<p>Amigo AWI-914W</p>
+</li>
+<li class="listitem">
+<p>Amigo AWI-922W</p>
+</li>
+<li class="listitem">
+<p>Amigo AWI-926W</p>
+</li>
+<li class="listitem">
+<p>AMIT WL531C</p>
+</li>
+<li class="listitem">
+<p>AMIT WL531P</p>
+</li>
+<li class="listitem">
+<p>AOpen AOI-831</p>
+</li>
+<li class="listitem">
+<p>ASUS WL-107G</p>
+</li>
+<li class="listitem">
+<p>ASUS WL-130g</p>
+</li>
+<li class="listitem">
+<p>Atlantis Land A02-PCI-W54</p>
+</li>
+<li class="listitem">
+<p>Atlantis Land A02-PCM-W54</p>
+</li>
+<li class="listitem">
+<p>Belkin F5D7000 v3</p>
+</li>
+<li class="listitem">
+<p>Belkin F5D7010 v2</p>
+</li>
+<li class="listitem">
+<p>Billionton MIWLGRL</p>
+</li>
+<li class="listitem">
+<p>Canyon CN-WF511</p>
+</li>
+<li class="listitem">
+<p>Canyon CN-WF513</p>
+</li>
+<li class="listitem">
+<p>CC&amp;C WL-2102</p>
+</li>
+<li class="listitem">
+<p>CNet CWC-854</p>
+</li>
+<li class="listitem">
+<p>CNet CWP-854</p>
+</li>
+<li class="listitem">
+<p>Compex WL54G</p>
+</li>
+<li class="listitem">
+<p>Compex WLP54G</p>
+</li>
+<li class="listitem">
+<p>Conceptronic C54RC</p>
+</li>
+<li class="listitem">
+<p>Conceptronic C54Ri</p>
+</li>
+<li class="listitem">
+<p>Digitus DN-7001G-RA</p>
+</li>
+<li class="listitem">
+<p>Digitus DN-7006G-RA</p>
+</li>
+<li class="listitem">
+<p>E-Tech WGPC02</p>
+</li>
+<li class="listitem">
+<p>E-Tech WGPI02</p>
+</li>
+<li class="listitem">
+<p>Edimax EW-7108PCg</p>
+</li>
+<li class="listitem">
+<p>Edimax EW-7128g</p>
+</li>
+<li class="listitem">
+<p>Eminent EM3036</p>
+</li>
+<li class="listitem">
+<p>Eminent EM3037</p>
+</li>
+<li class="listitem">
+<p>Encore ENLWI-G-RLAM</p>
+</li>
+<li class="listitem">
+<p>Encore ENPWI-G-RLAM</p>
+</li>
+<li class="listitem">
+<p>Fiberline WL-400P</p>
+</li>
+<li class="listitem">
+<p>Fibreline WL-400X</p>
+</li>
+<li class="listitem">
+<p>Gigabyte GN-WI01GS</p>
+</li>
+<li class="listitem">
+<p>Gigabyte GN-WIKG</p>
+</li>
+<li class="listitem">
+<p>Gigabyte GN-WMKG</p>
+</li>
+<li class="listitem">
+<p>Gigabyte GN-WP01GS</p>
+</li>
+<li class="listitem">
+<p>Gigabyte GN-WPKG</p>
+</li>
+<li class="listitem">
+<p>Hawking HWC54GR</p>
+</li>
+<li class="listitem">
+<p>Hawking HWP54GR</p>
+</li>
+<li class="listitem">
+<p>iNexQ CR054g-009 (R03)</p>
+</li>
+<li class="listitem">
+<p>JAHT WN-4054P</p>
+</li>
+<li class="listitem">
+<p>JAHT WN-4054PCI</p>
+</li>
+<li class="listitem">
+<p>LevelOne WNC-0301 v2</p>
+</li>
+<li class="listitem">
+<p>LevelOne WPC-0301 v2</p>
+</li>
+<li class="listitem">
+<p>Linksys WMP54G v4</p>
+</li>
+<li class="listitem">
+<p>Micronet SP906GK</p>
+</li>
+<li class="listitem">
+<p>Micronet SP908GK V3</p>
+</li>
+<li class="listitem">
+<p>Minitar MN54GCB-R</p>
+</li>
+<li class="listitem">
+<p>Minitar MN54GPC-R</p>
+</li>
+<li class="listitem">
+<p>MSI CB54G2</p>
+</li>
+<li class="listitem">
+<p>MSI MP54G2</p>
+</li>
+<li class="listitem">
+<p>MSI PC54G2</p>
+</li>
+<li class="listitem">
+<p>OvisLink EVO-W54PCI</p>
+</li>
+<li class="listitem">
+<p>PheeNet HWL-PCIG/RA</p>
+</li>
+<li class="listitem">
+<p>Pro-Nets CB80211G</p>
+</li>
+<li class="listitem">
+<p>Pro-Nets PC80211G</p>
+</li>
+<li class="listitem">
+<p>Repotec RP-WB7108</p>
+</li>
+<li class="listitem">
+<p>Repotec RP-WP0854</p>
+</li>
+<li class="listitem">
+<p>SATech SN-54C</p>
+</li>
+<li class="listitem">
+<p>SATech SN-54P</p>
+</li>
+<li class="listitem">
+<p>Sitecom WL-112</p>
+</li>
+<li class="listitem">
+<p>Sitecom WL-115</p>
+</li>
+<li class="listitem">
+<p>SMC SMCWCB-GM</p>
+</li>
+<li class="listitem">
+<p>SMC SMCWPCI-GM</p>
+</li>
+<li class="listitem">
+<p>SparkLAN WL-685R</p>
+</li>
+<li class="listitem">
+<p>Surecom EP-9321-g</p>
+</li>
+<li class="listitem">
+<p>Surecom EP-9321-g1</p>
+</li>
+<li class="listitem">
+<p>Surecom EP-9428-g</p>
+</li>
+<li class="listitem">
+<p>Sweex LC500050</p>
+</li>
+<li class="listitem">
+<p>Sweex LC700030</p>
+</li>
+<li class="listitem">
+<p>TekComm NE-9321-g</p>
+</li>
+<li class="listitem">
+<p>TekComm NE-9428-g</p>
+</li>
+<li class="listitem">
+<p>Unex CR054g-R02</p>
+</li>
+<li class="listitem">
+<p>Unex MR054g-R02</p>
+</li>
+<li class="listitem">
+<p>Zinwell ZWX-G160</p>
+</li>
+<li class="listitem">
+<p>Zinwell ZWX-G360</p>
+</li>
+<li class="listitem">
+<p>Zinwell ZWX-G361</p>
+</li>
+<li class="listitem">
+<p>Zonet ZEW1500</p>
+</li>
+<li class="listitem">
+<p>Zonet ZEW1600</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=rum&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">rum</span>(4)</span></a> driver
+supports USB 2.0 wireless adapters based on the Ralink RT2501USB
+and RT2601USB chipsets, including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com Aolynk WUB320g</p>
+</li>
+<li class="listitem">
+<p>Abocom WUG2700</p>
+</li>
+<li class="listitem">
+<p>Airlink101 AWLL5025</p>
+</li>
+<li class="listitem">
+<p>ASUS WL-167g ver 2</p>
+</li>
+<li class="listitem">
+<p>Belkin F5D7050 ver 3</p>
+</li>
+<li class="listitem">
+<p>Belkin F5D9050 ver 3</p>
+</li>
+<li class="listitem">
+<p>Buffalo WLI-U2-SG54HP</p>
+</li>
+<li class="listitem">
+<p>Buffalo WLI-U2-SG54HG</p>
+</li>
+<li class="listitem">
+<p>Buffalo WLI-U2-G54HP</p>
+</li>
+<li class="listitem">
+<p>Buffalo WLI-UC-G</p>
+</li>
+<li class="listitem">
+<p>CNet CWD-854 ver F</p>
+</li>
+<li class="listitem">
+<p>Conceptronic C54RU ver 2</p>
+</li>
+<li class="listitem">
+<p>Corega CG-WLUSB2GO</p>
+</li>
+<li class="listitem">
+<p>D-Link DWA-110</p>
+</li>
+<li class="listitem">
+<p>D-Link DWA-111</p>
+</li>
+<li class="listitem">
+<p>D-Link DWL-G122 rev C1</p>
+</li>
+<li class="listitem">
+<p>D-Link WUA-1340</p>
+</li>
+<li class="listitem">
+<p>Digitus DN-7003GR</p>
+</li>
+<li class="listitem">
+<p>Edimax EW-7318USG</p>
+</li>
+<li class="listitem">
+<p>Gigabyte GN-WB01GS</p>
+</li>
+<li class="listitem">
+<p>Gigabyte GN-WI05GS</p>
+</li>
+<li class="listitem">
+<p>Hawking HWUG1</p>
+</li>
+<li class="listitem">
+<p>Hawking HWU54DM</p>
+</li>
+<li class="listitem">
+<p>Hercules HWGUSB2-54-LB</p>
+</li>
+<li class="listitem">
+<p>Hercules HWGUSB2-54V2-AP</p>
+</li>
+<li class="listitem">
+<p>LevelOne WNC-0301USB v3</p>
+</li>
+<li class="listitem">
+<p>Linksys WUSB54G rev C</p>
+</li>
+<li class="listitem">
+<p>Linksys WUSB54GR</p>
+</li>
+<li class="listitem">
+<p>Planex GW-US54HP</p>
+</li>
+<li class="listitem">
+<p>Planex GW-US54Mini2</p>
+</li>
+<li class="listitem">
+<p>Planex GW-USMM</p>
+</li>
+<li class="listitem">
+<p>Senao NUB-3701</p>
+</li>
+<li class="listitem">
+<p>Sitecom WL-113 ver 2</p>
+</li>
+<li class="listitem">
+<p>Sitecom WL-172</p>
+</li>
+<li class="listitem">
+<p>Sweex LW053</p>
+</li>
+<li class="listitem">
+<p>TP-LINK TL-WN321G</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=run&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">run</span>(4)</span></a> driver
+supports the following wireless adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Airlink101 AWLL6090</p>
+</li>
+<li class="listitem">
+<p>ASUS USB-N11</p>
+</li>
+<li class="listitem">
+<p>ASUS USB-N13 ver. A1</p>
+</li>
+<li class="listitem">
+<p>ASUS WL-160N</p>
+</li>
+<li class="listitem">
+<p>Belkin F5D8051 ver 3000</p>
+</li>
+<li class="listitem">
+<p>Belkin F5D8053</p>
+</li>
+<li class="listitem">
+<p>Belkin F5D8055</p>
+</li>
+<li class="listitem">
+<p>Belkin F6D4050 ver 1</p>
+</li>
+<li class="listitem">
+<p>Buffalo WLI-UC-AG300N</p>
+</li>
+<li class="listitem">
+<p>Buffalo WLI-UC-G300N</p>
+</li>
+<li class="listitem">
+<p>Buffalo WLI-UC-G301N</p>
+</li>
+<li class="listitem">
+<p>Buffalo WLI-UC-GN</p>
+</li>
+<li class="listitem">
+<p>Corega CG-WLUSB2GNL</p>
+</li>
+<li class="listitem">
+<p>Corega CG-WLUSB2GNR</p>
+</li>
+<li class="listitem">
+<p>Corega CG-WLUSB300AGN</p>
+</li>
+<li class="listitem">
+<p>Corega CG-WLUSB300GNM</p>
+</li>
+<li class="listitem">
+<p>D-Link DWA-130 rev B1</p>
+</li>
+<li class="listitem">
+<p>D-Link DWA-140</p>
+</li>
+<li class="listitem">
+<p>DrayTek Vigor N61</p>
+</li>
+<li class="listitem">
+<p>Edimax EW-7711UAn</p>
+</li>
+<li class="listitem">
+<p>Edimax EW-7711UTn</p>
+</li>
+<li class="listitem">
+<p>Edimax EW-7717Un</p>
+</li>
+<li class="listitem">
+<p>Edimax EW-7718Un</p>
+</li>
+<li class="listitem">
+<p>Gigabyte GN-WB30N</p>
+</li>
+<li class="listitem">
+<p>Gigabyte GN-WB31N</p>
+</li>
+<li class="listitem">
+<p>Gigabyte GN-WB32L</p>
+</li>
+<li class="listitem">
+<p>Hawking HWDN1</p>
+</li>
+<li class="listitem">
+<p>Hawking HWUN1</p>
+</li>
+<li class="listitem">
+<p>Hawking HWUN2</p>
+</li>
+<li class="listitem">
+<p>Hercules HWNU-300</p>
+</li>
+<li class="listitem">
+<p>Linksys WUSB54GC v3</p>
+</li>
+<li class="listitem">
+<p>Linksys WUSB600N</p>
+</li>
+<li class="listitem">
+<p>Mvix Nubbin MS-811N</p>
+</li>
+<li class="listitem">
+<p>Planex GW-USMicroN</p>
+</li>
+<li class="listitem">
+<p>Planex GW-US300MiniS</p>
+</li>
+<li class="listitem">
+<p>Sitecom WL-182</p>
+</li>
+<li class="listitem">
+<p>Sitecom WL-188</p>
+</li>
+<li class="listitem">
+<p>Sitecom WL-301</p>
+</li>
+<li class="listitem">
+<p>Sitecom WL-302</p>
+</li>
+<li class="listitem">
+<p>Sitecom WL-315</p>
+</li>
+<li class="listitem">
+<p>SMC SMCWUSBS-N2</p>
+</li>
+<li class="listitem">
+<p>Sweex LW303</p>
+</li>
+<li class="listitem">
+<p>Sweex LW313</p>
+</li>
+<li class="listitem">
+<p>Unex DNUR-81</p>
+</li>
+<li class="listitem">
+<p>Unex DNUR-82</p>
+</li>
+<li class="listitem">
+<p>ZyXEL NWD210N</p>
+</li>
+<li class="listitem">
+<p>ZyXEL NWD270N</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=uath&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">uath</span>(4)</span></a> driver should
+work with the following adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Compex WLU108AG</p>
+</li>
+<li class="listitem">
+<p>Compex WLU108G</p>
+</li>
+<li class="listitem">
+<p>D-Link DWL-G132</p>
+</li>
+<li class="listitem">
+<p>IODATA WN-G54/US</p>
+</li>
+<li class="listitem">
+<p>MELCO WLI-U2-KAMG54</p>
+</li>
+<li class="listitem">
+<p>Netgear WG111T</p>
+</li>
+<li class="listitem">
+<p>Netgear WG111U</p>
+</li>
+<li class="listitem">
+<p>Netgear WPN111</p>
+</li>
+<li class="listitem">
+<p>Olitec 000544</p>
+</li>
+<li class="listitem">
+<p>PLANET WDL-U357</p>
+</li>
+<li class="listitem">
+<p>Siemens Gigaset 108</p>
+</li>
+<li class="listitem">
+<p>SMC SMCWUSBT-G</p>
+</li>
+<li class="listitem">
+<p>SMC SMCWUSBT-G2</p>
+</li>
+<li class="listitem">
+<p>SparkLAN WL-785A</p>
+</li>
+<li class="listitem">
+<p>TP-Link TL-WN620G</p>
+</li>
+<li class="listitem">
+<p>TRENDware International TEW-444UB</p>
+</li>
+<li class="listitem">
+<p>TRENDware International TEW-504UB</p>
+</li>
+<li class="listitem">
+<p>Unex Technology UR054ag</p>
+</li>
+<li class="listitem">
+<p>ZyXEL XtremeMIMO M-202</p>
+</li>
+</ul>
+</div>
+<p>An up to date list can be found at <a class="ulink" href=
+"http://customerproducts.atheros.com/customerproducts/default.asp"
+target=
+"_top">http://customerproducts.atheros.com/customerproducts/default.asp</a>.</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=upgt&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">upgt</span>(4)</span></a> driver
+supports USB 2.0 Conexant/Intersil PrismGT series wireless adapters
+based on the GW3887 chipset, among them:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Belkin F5D7050 (version 1000)</p>
+</li>
+<li class="listitem">
+<p>Cohiba Proto Board</p>
+</li>
+<li class="listitem">
+<p>D-Link DWL-G120 Cohiba</p>
+</li>
+<li class="listitem">
+<p>FSC Connect2Air E-5400 USB D1700</p>
+</li>
+<li class="listitem">
+<p>Gigaset USB Adapter 54</p>
+</li>
+<li class="listitem">
+<p>Inventel UR045G</p>
+</li>
+<li class="listitem">
+<p>SMC EZ ConnectG SMC2862W-G</p>
+</li>
+<li class="listitem">
+<p>Sagem XG703A</p>
+</li>
+<li class="listitem">
+<p>Spinnaker DUT</p>
+</li>
+<li class="listitem">
+<p>Spinnaker Proto Board</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ural&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ural</span>(4)</span></a> driver
+supports USB 2.0 wireless adapters based on the Ralink Technology
+RT2500USB chipset, including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AMIT WL532U</p>
+</li>
+<li class="listitem">
+<p>ASUS WL-167g</p>
+</li>
+<li class="listitem">
+<p>Belkin F5D7050 v2000</p>
+</li>
+<li class="listitem">
+<p>Buffalo WLI-U2-KG54-AI</p>
+</li>
+<li class="listitem">
+<p>CNet CWD-854</p>
+</li>
+<li class="listitem">
+<p>Compex WLU54G 2A1100</p>
+</li>
+<li class="listitem">
+<p>Conceptronic C54RU</p>
+</li>
+<li class="listitem">
+<p>D-Link DWL-G122 b1</p>
+</li>
+<li class="listitem">
+<p>Dynalink WLG25USB</p>
+</li>
+<li class="listitem">
+<p>E-Tech WGUS02</p>
+</li>
+<li class="listitem">
+<p>Gigabyte GN-WBKG</p>
+</li>
+<li class="listitem">
+<p>Hercules HWGUSB2-54</p>
+</li>
+<li class="listitem">
+<p>KCORP LifeStyle KLS-685</p>
+</li>
+<li class="listitem">
+<p>Linksys WUSB54G v4</p>
+</li>
+<li class="listitem">
+<p>Linksys WUSB54GP v4</p>
+</li>
+<li class="listitem">
+<p>MSI MS-6861</p>
+</li>
+<li class="listitem">
+<p>MSI MS-6865</p>
+</li>
+<li class="listitem">
+<p>MSI MS-6869</p>
+</li>
+<li class="listitem">
+<p>NovaTech NV-902</p>
+</li>
+<li class="listitem">
+<p>OvisLink Evo-W54USB</p>
+</li>
+<li class="listitem">
+<p>SerComm UB801R</p>
+</li>
+<li class="listitem">
+<p>SparkLAN WL-685R</p>
+</li>
+<li class="listitem">
+<p>Surecom EP-9001-g</p>
+</li>
+<li class="listitem">
+<p>Sweex LC100060</p>
+</li>
+<li class="listitem">
+<p>Tonze UW-6200C</p>
+</li>
+<li class="listitem">
+<p>Zinwell ZWX-G261</p>
+</li>
+<li class="listitem">
+<p>Zonet ZEW2500P</p>
+</li>
+</ul>
+</div>
+<p>An up to date list can be found at <a class="ulink" href=
+"http://ralink.rapla.net/" target=
+"_top">http://ralink.rapla.net/</a>.</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=urtw&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">urtw</span>(4)</span></a> driver
+supports Realtek RTL8187B/L based wireless network devices,
+including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Belkin F5D7050E</p>
+</li>
+<li class="listitem">
+<p>Linksys WUSB54GCv2</p>
+</li>
+<li class="listitem">
+<p>Netgear WG111v2</p>
+</li>
+<li class="listitem">
+<p>Netgear WG111v3</p>
+</li>
+<li class="listitem">
+<p>Safehome WLG-1500SMA5</p>
+</li>
+<li class="listitem">
+<p>Shuttle XPC Accessory PN20</p>
+</li>
+<li class="listitem">
+<p>Sitecom WL168v1</p>
+</li>
+<li class="listitem">
+<p>Sitecom WL168v4</p>
+</li>
+<li class="listitem">
+<p>SureCom EP-9001-g(2A)</p>
+</li>
+<li class="listitem">
+<p>TRENDnet TEW-424UB V3.xR</p>
+</li>
+</ul>
+</div>
+<p>[amd64, i386, pc98] Lucent Technologies WaveLAN/IEEE 802.11b
+wireless network adapters and workalikes using the Lucent Hermes,
+Intersil PRISM-II, Intersil PRISM-2.5, Intersil Prism-3, and Symbol
+Spectrum24 chipsets (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=wi&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">wi</span>(4)</span></a>
+driver)</p>
+<p>[i386] NCR / AT&amp;T / Lucent Technologies WaveLan T1-speed
+ISA/radio LAN cards (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=wl&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">wl</span>(4)</span></a>
+driver)</p>
+<p>[i386, amd64] Intel PRO/Wireless 3945ABG MiniPCI network
+adapters (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=wpi&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">wpi</span>(4)</span></a>
+driver)</p>
+<p>[i386,amd64] The following devices are known to be supported by
+the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=zyd&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">zyd</span>(4)</span></a> driver:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3COM 3CRUSB10075</p>
+</li>
+<li class="listitem">
+<p>Acer WLAN-G-US1</p>
+</li>
+<li class="listitem">
+<p>Airlink+ AWLL3025</p>
+</li>
+<li class="listitem">
+<p>Airlink 101 AWLL3026</p>
+</li>
+<li class="listitem">
+<p>AOpen 802.11g WL54</p>
+</li>
+<li class="listitem">
+<p>Asus A9T integrated wireless</p>
+</li>
+<li class="listitem">
+<p>Asus WL-159g</p>
+</li>
+<li class="listitem">
+<p>Belkin F5D7050 v.4000</p>
+</li>
+<li class="listitem">
+<p>Billion BiPAC 3011G</p>
+</li>
+<li class="listitem">
+<p>Buffalo WLI-U2-KG54L</p>
+</li>
+<li class="listitem">
+<p>CC&amp;C WL-2203B</p>
+</li>
+<li class="listitem">
+<p>DrayTek Vigor 550</p>
+</li>
+<li class="listitem">
+<p>Edimax EW-7317UG</p>
+</li>
+<li class="listitem">
+<p>Edimax EW-7317LDG</p>
+</li>
+<li class="listitem">
+<p>Fiberline Networks WL-43OU</p>
+</li>
+<li class="listitem">
+<p>iNexQ UR055g</p>
+</li>
+<li class="listitem">
+<p>Linksys WUSBF54G</p>
+</li>
+<li class="listitem">
+<p>Longshine LCS-8131G3</p>
+</li>
+<li class="listitem">
+<p>MSI US54SE</p>
+</li>
+<li class="listitem">
+<p>MyTek MWU-201 USB adapter</p>
+</li>
+<li class="listitem">
+<p>Philips SNU5600</p>
+</li>
+<li class="listitem">
+<p>Planet WL-U356</p>
+</li>
+<li class="listitem">
+<p>Planex GW-US54GZ</p>
+</li>
+<li class="listitem">
+<p>Planex GW-US54GZL</p>
+</li>
+<li class="listitem">
+<p>Planex GW-US54Mini</p>
+</li>
+<li class="listitem">
+<p>Safecom SWMULZ-5400</p>
+</li>
+<li class="listitem">
+<p>Sagem XG 760A</p>
+</li>
+<li class="listitem">
+<p>Sagem XG 76NA</p>
+</li>
+<li class="listitem">
+<p>Sandberg Wireless G54 USB</p>
+</li>
+<li class="listitem">
+<p>Sitecom WL-113</p>
+</li>
+<li class="listitem">
+<p>SMC SMCWUSB-G</p>
+</li>
+<li class="listitem">
+<p>Sweex wireless USB 54 Mbps</p>
+</li>
+<li class="listitem">
+<p>Tekram/Siemens USB adapter</p>
+</li>
+<li class="listitem">
+<p>Telegent TG54USB</p>
+</li>
+<li class="listitem">
+<p>Trendnet TEW-424UB rev A</p>
+</li>
+<li class="listitem">
+<p>Trendnet TEW-429UB</p>
+</li>
+<li class="listitem">
+<p>TwinMOS G240</p>
+</li>
+<li class="listitem">
+<p>Unicorn WL-54G</p>
+</li>
+<li class="listitem">
+<p>US Robotics 5423</p>
+</li>
+<li class="listitem">
+<p>X-Micro XWL-11GUZX</p>
+</li>
+<li class="listitem">
+<p>Yakumo QuickWLAN USB</p>
+</li>
+<li class="listitem">
+<p>Zonet ZEW2501</p>
+</li>
+<li class="listitem">
+<p>ZyXEL ZyAIR G-202</p>
+</li>
+<li class="listitem">
+<p>ZyXEL ZyAIR G-220</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2" title="3.6.&nbsp;Miscellaneous Networks">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"misc-network"></a>3.6.&nbsp;Miscellaneous Networks</h3>
+</div>
+</div>
+</div>
+<p>[i386,pc98] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ce&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ce</span>(4)</span></a> driver supports
+the following models of Tau-PCI/32 WAN adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Cronyx Tau-PCI/32</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau-PCI/32-Lite</p>
+</li>
+</ul>
+</div>
+<p>[i386] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=cx&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">cx</span>(4)</span></a> driver supports
+the following cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Cronyx Sigma-22, Sigma-24</p>
+</li>
+<li class="listitem">
+<p>Cronyx Sigma-100</p>
+</li>
+<li class="listitem">
+<p>Cronyx Sigma-400, Sigma-401, Sigma-404, Sigma-410, Sigma-440</p>
+</li>
+<li class="listitem">
+<p>Cronyx Sigma-500</p>
+</li>
+<li class="listitem">
+<p>Cronyx Sigma-703</p>
+</li>
+<li class="listitem">
+<p>Cronyx Sigma-800, Sigma-801, Sigma-810, Sigma-840</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=cp&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">cp</span>(4)</span></a> driver supports
+the following models of Tau-PCI WAN adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Cronyx Tau-PCI</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau-PCI/R</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau-PCI-L</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau-PCI-L/R</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau-PCI-E1</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau-PCI-G703</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau-PCI-2E1</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau-PCI-4E1</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau-PCI-E3</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau-PCI-T3</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau-PCI-STS1</p>
+</li>
+</ul>
+</div>
+<p>[i386] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ctau&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ctau</span>(4)</span></a> driver
+supports the following cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Cronyx Tau (RS-232/V.35)</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau/R (RS-530/RS-449)</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau/E1 (fractional E1)</p>
+</li>
+<li class="listitem">
+<p>Cronyx Tau/G703 (unframed E1)</p>
+</li>
+</ul>
+</div>
+<p>[i386] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=cm&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">cm</span>(4)</span></a> driver supports
+the following card models:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>SMC90c26</p>
+</li>
+<li class="listitem">
+<p>SMC90c56</p>
+</li>
+<li class="listitem">
+<p>SMC90c66 in '56 compatibility mode.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2" title="3.7.&nbsp;Serial Interfaces">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"serial"></a>3.7.&nbsp;Serial Interfaces</h3>
+</div>
+</div>
+</div>
+<p>[amd64, i386] <span class="quote">“<span class="quote">PC
+standard</span>”</span> 8250, 16450, and 16550-based serial ports
+(<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sio&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">sio</span>(4)</span></a>
+driver)</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=uart&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">uart</span>(4)</span></a> driver
+supports the following classes of UARTs:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>NS8250: standard hardware based on the 8250, 16450, 16550,
+16650, 16750 or the 16950 UARTs.</p>
+</li>
+<li class="listitem">
+<p>SCC: serial communications controllers supported by the scc(4)
+device driver.</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=scc&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">scc</span>(4)</span></a> driver
+supports the following classes of SCCs:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>SAB82532: Siemens SAB 82532 based serial communications
+controllers.</p>
+</li>
+<li class="listitem">
+<p>Z8530: Zilog 8530 based serial communications controllers.</p>
+</li>
+</ul>
+</div>
+<p>[amd64, i386] AST 4 port serial card using shared IRQ</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ARNET 8 port serial card using shared IRQ</p>
+</li>
+<li class="listitem">
+<p>ARNET (now Digiboard) Sync 570/i high-speed serial</p>
+</li>
+</ul>
+</div>
+<p>[i386] Boca multi-port serial cards</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Boca BB1004 4-Port serial card (Modems <span class=
+"emphasis"><em>not</em></span> supported)</p>
+</li>
+<li class="listitem">
+<p>Boca IOAT66 6-Port serial card (Modems supported)</p>
+</li>
+<li class="listitem">
+<p>Boca BB1008 8-Port serial card (Modems <span class=
+"emphasis"><em>not</em></span> supported)</p>
+</li>
+<li class="listitem">
+<p>Boca BB2016 16-Port serial card (Modems supported)</p>
+</li>
+</ul>
+</div>
+<p>[i386] Comtrol Rocketport card (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=rp&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">rp</span>(4)</span></a>
+driver)</p>
+<p>[i386] Cyclades Cyclom-Y serial board (<a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=cy&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">cy</span>(4)</span></a>
+driver)</p>
+<p>[i386] STB 4 port card using shared IRQ</p>
+<p>[i386] DigiBoard intelligent serial cards (digi driver)</p>
+<p>[amd64, i386, ia64] PCI-Based multi-port serial boards
+(<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=puc&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">puc</span>(4)</span></a>
+driver)</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>[amd64, i386] Actiontech 56K PCI</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] Avlab Technology, PCI IO 2S and PCI IO 4S</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] Comtrol RocketPort 550</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] Decision Computers PCCOM 4-port serial and dual
+port RS232/422/485</p>
+</li>
+<li class="listitem">
+<p>[ia64] Diva Serial (GSP) Multiport UART</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] Dolphin Peripherals 4025/4035/4036</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] IC Book Labs Dreadnought 16x Lite and Pro</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] Lava Computers
+2SP-PCI/DSerial-PCI/Quattro-PCI/Octopus-550</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] Middle Digital, Weasle serial port</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] Moxa Industio CP-114, Smartio C104H-PCI and
+C168H/PCI</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] NEC PK-UG-X001 and PK-UG-X008</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] Netmos NM9835 PCI-2S-550</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] Oxford Semiconductor OX16PCI954 PCI UART</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] Syba Tech SD-LAB PCI-4S2P-550-ECP</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] SIIG Cyber I/O PCI 16C550/16C650/16C850</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] SIIG Cyber 2P1S PCI 16C550/16C650/16C850</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] SIIG Cyber 2S1P PCI 16C550/16C650/16C850</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] SIIG Cyber 4S PCI 16C550/16C650/16C850</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] SIIG Cyber Serial (Single and Dual) PCI
+16C550/16C650/16C850</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] Syba Tech Ltd. PCI-4S2P-550-ECP</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] Titan PCI-200H and PCI-800H</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] US Robotics (3Com) 3CP5609 modem</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] VScom PCI-400 and PCI-800</p>
+</li>
+</ul>
+</div>
+<p>[i386] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=rc&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">rc</span>(4)</span></a> driver provides
+support for the SDL Communications RISCom/8 boards.</p>
+<p>[i386, amd64] Specialix SI/XIO/SX multiport serial cards, with
+both the older SIHOST2.x and the <span class="quote">“<span class=
+"quote">enhanced</span>”</span> (transputer based, aka JET) host
+cards (ISA, EISA and PCI) are supported. Note that the newer SX+
+PCI cards are not currently supported. (<a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=si&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">si</span>(4)</span></a>
+driver)</p>
+<p>[pc98] Internel serial interfaces (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sio&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">sio</span>(4)</span></a>
+driver)</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>PC-9801 on-board</p>
+</li>
+<li class="listitem">
+<p>PC-9821 2'nd CCU (flags 0x12000000)</p>
+</li>
+</ul>
+</div>
+<p>[pc98] NEC PC-9861K, PC-9801-101 and Midori-Denshi MDC-926Rs
+(<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sio&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">sio</span>(4)</span></a>
+driver)</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>COM2 (flags 0x01000000)</p>
+</li>
+<li class="listitem">
+<p>COM3 (flags 0x02000000)</p>
+</li>
+</ul>
+</div>
+<p>[pc98] NEC PC-9801-120 (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sio&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">sio</span>(4)</span></a>
+driver)</p>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">"flags 0x11000000" is
+necessary in kernel configuration.</p>
+</div>
+<p>[pc98] Microcore MC-16550, MC-16550II, MC-RS98 (<a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sio&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">sio</span>(4)</span></a>
+driver)</p>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">"flags 0x14000?01" is
+necessary in kernel configuration.</p>
+</div>
+<p>[pc98] Media Intelligent RSB-2000, RSB-3000 and AIWA B98-02
+(<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sio&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">sio</span>(4)</span></a>
+driver)</p>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">"flags 0x15000?01" is
+necessary in kernel configuration.</p>
+</div>
+<p>[pc98] Media Intelligent RSB-384 (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sio&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">sio</span>(4)</span></a>
+driver)</p>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">"flags 0x16000001" is
+necessary in kernel configuration.</p>
+</div>
+<p>[pc98] I-O DATA RSA-98III (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sio&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">sio</span>(4)</span></a>
+driver)</p>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">"flags 0x18000?01" is
+necessary in kernel configuration.</p>
+</div>
+<p>[pc98] Hayes ESP98 (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sio&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">sio</span>(4)</span></a>
+driver)</p>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">"options COM_ESP" and
+"flags 0x19000000" are necessary in kernel configuration.</p>
+</div>
+</div>
+<div class="sect2" title="3.8.&nbsp;Sound Devices">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"sound"></a>3.8.&nbsp;Sound Devices</h3>
+</div>
+</div>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_ad1816&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_ad1816</span>(4)</span></a> driver supports the
+following sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Analog Devices AD1816</p>
+</li>
+</ul>
+</div>
+<p>[i386] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_als4000&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_als4000</span>(4)</span></a> driver supports
+the following sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Avance Logic ALS4000</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_atiixp&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_atiixp</span>(4)</span></a> driver supports the
+following audio chipsets:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ATI IXP 200</p>
+</li>
+<li class="listitem">
+<p>ATI IXP 300</p>
+</li>
+<li class="listitem">
+<p>ATI IXP 400</p>
+</li>
+</ul>
+</div>
+<p>[sparc64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_audiocs&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_audiocs</span>(4)</span></a> driver supports
+the following audio devices:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>CS4231 on SBus based UltraSPARC</p>
+</li>
+<li class="listitem">
+<p>CS4231 on PCI/EBus based UltraSPARC</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_cmi&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_cmi</span>(4)</span></a> driver supports the
+following sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>CMedia CMI8338A</p>
+</li>
+<li class="listitem">
+<p>CMedia CMI8338B</p>
+</li>
+<li class="listitem">
+<p>CMedia CMI8738</p>
+</li>
+<li class="listitem">
+<p>CMedia CMI8738B</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_cs4281&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_cs4281</span>(4)</span></a> driver supports the
+following sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Crystal Semiconductor CS4281</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_csa&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_csa</span>(4)</span></a> driver supports the
+following sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Crystal Semiconductor CS4280</p>
+</li>
+<li class="listitem">
+<p>Crystal Semiconductor CS4610</p>
+</li>
+<li class="listitem">
+<p>Crystal Semiconductor CS4611</p>
+</li>
+<li class="listitem">
+<p>Crystal Semiconductor CS4614</p>
+</li>
+<li class="listitem">
+<p>Crystal Semiconductor CS4615</p>
+</li>
+<li class="listitem">
+<p>Crystal Semiconductor CS4622</p>
+</li>
+<li class="listitem">
+<p>Crystal Semiconductor CS4624</p>
+</li>
+<li class="listitem">
+<p>Crystal Semiconductor CS4630</p>
+</li>
+<li class="listitem">
+<p>Genius Soundmaker 128 Value</p>
+</li>
+<li class="listitem">
+<p>Hercules Game Theatre XP</p>
+</li>
+<li class="listitem">
+<p>Turtle Beach Santa Cruz</p>
+</li>
+</ul>
+</div>
+<p>Some onboard CS4610 chips are accompanied by the CS423x ISA
+codec instead of the CS4297 AC97 codec. Such configurations are not
+supported by the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_csa&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_csa</span>(4)</span></a> driver yet.</p>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_ds1&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_ds1</span>(4)</span></a> driver supports the
+following sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Yamaha DS-1</p>
+</li>
+<li class="listitem">
+<p>Yamaha DS-1E</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_emu10k1&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_emu10k1</span>(4)</span></a> driver supports
+the following sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Creative SoundBlaster Live! (EMU10K1 Chipset)</p>
+</li>
+<li class="listitem">
+<p>Creative SoundBlaster Audigy (EMU10K2 Chipset)</p>
+</li>
+<li class="listitem">
+<p>Creative SoundBlaster Audigy 2 (EMU10K2 Chipset)</p>
+</li>
+<li class="listitem">
+<p>Creative SoundBlaster Audigy 2 (EMU10K3 Chipset)</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_emu10kx&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_emu10kx</span>(4)</span></a> driver supports
+the following sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Creative Sound Blaster Live! (EMU10K1 Chipset). Both PCM and
+MIDI interfaces are available.</p>
+</li>
+<li class="listitem">
+<p>Creative Sound Blaster Audigy (CA0100 and CA0101 Chipset). PCM
+and two MIDI interfaces available.</p>
+</li>
+<li class="listitem">
+<p>Creative Sound Blaster Audigy 2 and Creative Sound Blaster
+Audigy 4 (CA0102 Chipset). PCM support is limited to 48kHz/16 bit
+stereo (192kHz/24 bit part of this chipset is not supported).</p>
+</li>
+<li class="listitem">
+<p>Creative Sound Blaster Audigy 2 Value (CA0108 Chipset). PCM
+support is limited to 48kHz/16 bit stereo (192kHz/24 bit part of
+this chipset is not supported). There is no MIDI support for this
+card.</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_emu10kx&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_emu10kx</span>(4)</span></a> driver does
+<span class="emphasis"><em>not</em></span> support the following
+sound cards (although they have names similar to some supported
+ones):</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Creative Sound Blaster Live! 24-Bit, identified by FreeBSD
+as</p>
+</li>
+<li class="listitem">
+<p>Creative Sound Blaster Audigy LS / ES, identified by FreeBSD
+as</p>
+</li>
+<li class="listitem">
+<p>All other Creative sound cards with -DAT chipsets.</p>
+</li>
+<li class="listitem">
+<p>All Creative X-Fi series sound cards.</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_envy24&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_envy24</span>(4)</span></a> driver supports the
+following audio devices:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>M-Audio Audiophile 2496</p>
+</li>
+<li class="listitem">
+<p>M-Audio Delta Dio 2496</p>
+</li>
+<li class="listitem">
+<p>Terratec DMX 6fire</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_envy24ht&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_envy24ht</span>(4)</span></a> driver supports
+the following audio devices:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Audiotrak Prodigy 7.1</p>
+</li>
+<li class="listitem">
+<p>Audiotrak Prodigy 7.1 LT</p>
+</li>
+<li class="listitem">
+<p>Audiotrak Prodigy 7.1 XT</p>
+</li>
+<li class="listitem">
+<p>Audiotrak Prodigy HD2</p>
+</li>
+<li class="listitem">
+<p>ESI Juli@</p>
+</li>
+<li class="listitem">
+<p>M-Audio Audiophile 192</p>
+</li>
+<li class="listitem">
+<p>M-Audio Revolution 5.1</p>
+</li>
+<li class="listitem">
+<p>M-Audio Revolution 7.1</p>
+</li>
+<li class="listitem">
+<p>Terratec Aureon 5.1 Sky</p>
+</li>
+<li class="listitem">
+<p>Terratec Aureon 7.1 Space</p>
+</li>
+<li class="listitem">
+<p>Terratec Aureon 7.1 Universe</p>
+</li>
+<li class="listitem">
+<p>Terratec PHASE 22</p>
+</li>
+<li class="listitem">
+<p>Terratec PHASE 28</p>
+</li>
+</ul>
+</div>
+<p>[i386,sparc64,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_es137x&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_es137x</span>(4)</span></a> driver supports the
+following sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Creative CT5880-A</p>
+</li>
+<li class="listitem">
+<p>Creative CT5880-C</p>
+</li>
+<li class="listitem">
+<p>Creative CT5880-D</p>
+</li>
+<li class="listitem">
+<p>Creative CT5880-E</p>
+</li>
+<li class="listitem">
+<p>Creative SB AudioPCI CT4730</p>
+</li>
+<li class="listitem">
+<p>Ensoniq AudioPCI ES1370</p>
+</li>
+<li class="listitem">
+<p>Ensoniq AudioPCI ES1371-A</p>
+</li>
+<li class="listitem">
+<p>Ensoniq AudioPCI ES1371-B</p>
+</li>
+<li class="listitem">
+<p>Ensoniq AudioPCI ES1373-A</p>
+</li>
+<li class="listitem">
+<p>Ensoniq AudioPCI ES1373-B</p>
+</li>
+<li class="listitem">
+<p>Ensoniq AudioPCI ES1373-8</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_ess&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_ess</span>(4)</span></a> driver supports the
+following sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Ensoniq ESS ISA PnP/non-PnP</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_fm801&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_fm801</span>(4)</span></a> driver supports
+audio devices based on the following chipset:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Forte Media FM801</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_gusc&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_gusc</span>(4)</span></a> driver supports the
+following sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Gravis UltraSound MAX</p>
+</li>
+<li class="listitem">
+<p>Gravis UltraSound PnP</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_hda&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_hda</span>(4)</span></a> driver supports
+controllers having PCI class 4 (multimedia) and subclass 3 (HDA),
+compatible with Intel HDA specification.</p>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_hda&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_hda</span>(4)</span></a> driver supports more
+than two hundred different controllers and CODECs. There is no
+sense to list all of them here, as in most cases specific CODEC
+configuration and wiring are more important then type of the CODEC
+itself.</p>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_hdspe&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_hdspe</span>(4)</span></a> driver supports the
+following audio devices:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>RME HDSPe AIO</p>
+</li>
+<li class="listitem">
+<p>RME HDSPe RayDAT</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_ich&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_ich</span>(4)</span></a> driver supports the
+following audio devices:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AMD 768</p>
+</li>
+<li class="listitem">
+<p>AMD 8111</p>
+</li>
+<li class="listitem">
+<p>Intel 443MX</p>
+</li>
+<li class="listitem">
+<p>Intel ICH</p>
+</li>
+<li class="listitem">
+<p>Intel ICH revision 1</p>
+</li>
+<li class="listitem">
+<p>Intel ICH2</p>
+</li>
+<li class="listitem">
+<p>Intel ICH3</p>
+</li>
+<li class="listitem">
+<p>Intel ICH4</p>
+</li>
+<li class="listitem">
+<p>Intel ICH5</p>
+</li>
+<li class="listitem">
+<p>Intel ICH6</p>
+</li>
+<li class="listitem">
+<p>Intel ICH7</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce2</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce2 400</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce3</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce3 250</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce4</p>
+</li>
+<li class="listitem">
+<p>SiS 7012</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_maestro&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_maestro</span>(4)</span></a> driver supports
+the following PCI sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ESS Technology Maestro-1</p>
+</li>
+<li class="listitem">
+<p>ESS Technology Maestro-2</p>
+</li>
+<li class="listitem">
+<p>ESS Technology Maestro-2E</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_maestro3&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_maestro3</span>(4)</span></a> driver supports
+the following audio devices:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ESS Technology Allegro-1</p>
+</li>
+<li class="listitem">
+<p>ESS Technology Maestro3</p>
+</li>
+</ul>
+</div>
+<p>[i386] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_mss&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_mss</span>(4)</span></a> driver supports the
+following audio devices:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AD1845</p>
+</li>
+<li class="listitem">
+<p>AD1848</p>
+</li>
+<li class="listitem">
+<p>Aztech 2320</p>
+</li>
+<li class="listitem">
+<p>CMedia CMI8330</p>
+</li>
+<li class="listitem">
+<p>Crystal Semiconductor CS4231</p>
+</li>
+<li class="listitem">
+<p>Crystal Semiconductor CS4232</p>
+</li>
+<li class="listitem">
+<p>Crystal Semiconductor CS4234</p>
+</li>
+<li class="listitem">
+<p>Crystal Semiconductor CS4235</p>
+</li>
+<li class="listitem">
+<p>Crystal Semiconductor CS4236</p>
+</li>
+<li class="listitem">
+<p>Crystal Semiconductor CS4237</p>
+</li>
+<li class="listitem">
+<p>ENSONIQ SoundscapeVIVO ENS4081</p>
+</li>
+<li class="listitem">
+<p>NeoMagic 256AV (non-AC97)</p>
+</li>
+<li class="listitem">
+<p>OPTi 924</p>
+</li>
+<li class="listitem">
+<p>OPTi 925</p>
+</li>
+<li class="listitem">
+<p>OPTi 930</p>
+</li>
+<li class="listitem">
+<p>OPTi 931</p>
+</li>
+<li class="listitem">
+<p>OPTi 933</p>
+</li>
+<li class="listitem">
+<p>Yamaha OPL-SA2</p>
+</li>
+<li class="listitem">
+<p>Yamaha OPL-SA3</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_neomagic&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_neomagic</span>(4)</span></a> driver supports
+the following audio devices:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>NeoMagic 256AV</p>
+</li>
+<li class="listitem">
+<p>NeoMagic 256ZX</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_sbc&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_sbc</span>(4)</span></a> driver supports the
+following sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Avance Asound 110</p>
+</li>
+<li class="listitem">
+<p>Avance Logic ALS100+</p>
+</li>
+<li class="listitem">
+<p>Avance Logic ALS120</p>
+</li>
+<li class="listitem">
+<p>Creative SB16</p>
+</li>
+<li class="listitem">
+<p>Creative SB32</p>
+</li>
+<li class="listitem">
+<p>Creative AWE64</p>
+</li>
+<li class="listitem">
+<p>Creative AWE64 Gold</p>
+</li>
+<li class="listitem">
+<p>Creative ViBRA16C</p>
+</li>
+<li class="listitem">
+<p>Creative ViBRA16X</p>
+</li>
+<li class="listitem">
+<p>ESS ES1681</p>
+</li>
+<li class="listitem">
+<p>ESS ES1688</p>
+</li>
+<li class="listitem">
+<p>ESS ES1868</p>
+</li>
+<li class="listitem">
+<p>ESS ES1869</p>
+</li>
+<li class="listitem">
+<p>ESS ES1878</p>
+</li>
+<li class="listitem">
+<p>ESS ES1879</p>
+</li>
+<li class="listitem">
+<p>ESS ES1888</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_solo&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_solo</span>(4)</span></a> driver supports the
+following sound cards:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ESS Solo-1 (ES1938 Chipset)</p>
+</li>
+<li class="listitem">
+<p>ESS Solo-1E (ES1946 Chipset)</p>
+</li>
+</ul>
+</div>
+<p>Note that older ESS ISA cards with ES18xx chipset are supported
+via snd_ess(4) and/or snd_sbc(4).</p>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_spicds&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_spicds</span>(4)</span></a> driver supports the
+following codecs:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AK4358</p>
+</li>
+<li class="listitem">
+<p>AK4381</p>
+</li>
+<li class="listitem">
+<p>AK4396</p>
+</li>
+<li class="listitem">
+<p>AK4524</p>
+</li>
+<li class="listitem">
+<p>AK4528</p>
+</li>
+<li class="listitem">
+<p>WM8770</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64,sparc64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_t4dwave&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_t4dwave</span>(4)</span></a> driver supports
+the following audio devices:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Acer Labs M5451</p>
+</li>
+<li class="listitem">
+<p>SIS 7018</p>
+</li>
+<li class="listitem">
+<p>Trident 4DWave DX</p>
+</li>
+<li class="listitem">
+<p>Trident 4DWave NX</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_via8233&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_via8233</span>(4)</span></a> driver supports
+the following audio chipsets:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>VIA VT8233</p>
+</li>
+<li class="listitem">
+<p>VIA VT8233A</p>
+</li>
+<li class="listitem">
+<p>VIA VT8233C</p>
+</li>
+<li class="listitem">
+<p>VIA VT8235</p>
+</li>
+<li class="listitem">
+<p>VIA VT8237</p>
+</li>
+<li class="listitem">
+<p>VIA VT8251</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_via82c686&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_via82c686</span>(4)</span></a> driver supports
+audio devices based on the following chipset:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>VIA 82C686A</p>
+</li>
+</ul>
+</div>
+<p>[i386,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=snd_vibes&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">snd_vibes</span>(4)</span></a> driver supports
+audio devices based on the following chipset:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>S3 SonicVibes</p>
+</li>
+</ul>
+</div>
+<p>[pc98] NEC PC-9801-73, 86 and compatibles (nss driver)</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>NEC A-MATE internal sound</p>
+</li>
+<li class="listitem">
+<p>Q-Vision WaveStar, WaveMaster</p>
+</li>
+</ul>
+</div>
+<p>[pc98] NEC X-MATE, CanBe, ValueStar internal (mss driver)</p>
+<p>[pc98] Creative Technologies SoundBlaster(98) (<a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sb&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">sb</span>(4)</span></a>
+driver)</p>
+<p>[pc98] I-O DATA CD-BOX (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sb&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">sb</span>(4)</span></a>
+driver)</p>
+<p>[pc98] MPU-401 and compatible interfaces (mpu driver)</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Q-Vision WaveStar</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2" title=
+"3.9.&nbsp;Camera and Video Capture Devices">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"camera"></a>3.9.&nbsp;Camera and Video Capture Devices</h3>
+</div>
+</div>
+</div>
+<p>[i386,pc98] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=bktr&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">bktr</span>(4)</span></a> driver
+supports video capture cards based on the Brooktree
+Bt848/849/878/879 chips, as well as Pinnacle PCTV cards,
+including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AOpen VA1000</p>
+</li>
+<li class="listitem">
+<p>AVerMedia AVerTV Studio</p>
+</li>
+<li class="listitem">
+<p>AVerMedia TF/FM-98</p>
+</li>
+<li class="listitem">
+<p>ATI TV Wonder VE</p>
+</li>
+<li class="listitem">
+<p>Hauppauge WinCast/TV</p>
+</li>
+<li class="listitem">
+<p>Hauppauge WinTV-Go-FM</p>
+</li>
+<li class="listitem">
+<p>Hauppauge WinTV-pci</p>
+</li>
+<li class="listitem">
+<p>Hauppauge WinTV-radio</p>
+</li>
+<li class="listitem">
+<p>Intel Smart Video Recorder III</p>
+</li>
+<li class="listitem">
+<p>KWORLD PCI TV Tuner</p>
+</li>
+<li class="listitem">
+<p>Miro PC TV</p>
+</li>
+<li class="listitem">
+<p>Pinnacle PCTV Pro</p>
+</li>
+<li class="listitem">
+<p>Pinnacle PCTV Rave</p>
+</li>
+<li class="listitem">
+<p>PixelView PlayTV PAK</p>
+</li>
+<li class="listitem">
+<p>PixelView PlayTV Pro (rev 4C, 9D)</p>
+</li>
+<li class="listitem">
+<p>SIGMA TV II</p>
+</li>
+<li class="listitem">
+<p>STB TV PCI Television Tuner</p>
+</li>
+<li class="listitem">
+<p>Super TV Tuner</p>
+</li>
+<li class="listitem">
+<p>TerraTec TValue</p>
+</li>
+<li class="listitem">
+<p>V-Stream XPERT TV-PVR 878</p>
+</li>
+<li class="listitem">
+<p>Video Highway XTreme</p>
+</li>
+<li class="listitem">
+<p>VideoLogic Captivator PCI</p>
+</li>
+</ul>
+</div>
+<p>[i386] Connectix QuickCam</p>
+</div>
+<div class="sect2" title="3.10.&nbsp;USB Devices">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"usb"></a>3.10.&nbsp;USB Devices</h3>
+</div>
+</div>
+</div>
+<p>[amd64, i386, ia64, pc98] A range of USB peripherals are
+supported; devices known to work are listed in this section. Owing
+to the generic nature of most USB devices, with some exceptions any
+device of a given class will be supported, even if not explicitly
+listed here.</p>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">[amd64, i386, ia64, pc98]
+USB Ethernet adapters can be found in the section listing <a class=
+"link" href="#ethernet" title=
+"3.2.&nbsp;Ethernet Interfaces">Ethernet interfaces</a>.</p>
+</div>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">[amd64, i386, ia64, pc98]
+USB Bluetooth adapters can be found in <a class="link" href=
+"#bluetooth" title="3.12.&nbsp;Bluetooth Devices">Bluetooth</a>
+section.</p>
+</div>
+<p>[i386,pc98,ia64,amd64,powerpc] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ohci&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ohci</span>(4)</span></a> driver
+supports all OHCI v1.0 compliant controllers including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AcerLabs M5237 (Aladdin-V)</p>
+</li>
+<li class="listitem">
+<p>AMD-756</p>
+</li>
+<li class="listitem">
+<p>OPTi 82C861 (FireLink)</p>
+</li>
+<li class="listitem">
+<p>NEC uPD 9210</p>
+</li>
+<li class="listitem">
+<p>CMD Tech 670 (USB0670)</p>
+</li>
+<li class="listitem">
+<p>CMD Tech 673 (USB0673)</p>
+</li>
+<li class="listitem">
+<p>NVIDIA nForce3</p>
+</li>
+<li class="listitem">
+<p>Sun PCIO-2 (RIO USB)</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,ia64,amd64,powerpc] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=uhci&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">uhci</span>(4)</span></a> driver
+supports all UHCI v1.1 compliant controllers including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Intel 82371AB/EB (PIIX4)</p>
+</li>
+<li class="listitem">
+<p>Intel 82371SB (PIIX3)</p>
+</li>
+<li class="listitem">
+<p>VIA 83C572</p>
+</li>
+</ul>
+</div>
+<p>[amd64, i386, ia64, pc98] USB 2.0 controllers using the EHCI
+interface (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ehci&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">ehci</span>(4)</span></a>
+driver)</p>
+<p>[amd64, i386, ia64, pc98] Hubs</p>
+<p>[amd64, i386, ia64, pc98] Keyboards (<a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ukbd&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">ukbd</span>(4)</span></a>
+driver)</p>
+<p>[amd64, i386, pc98] Miscellaneous</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Assist Computer Systems PC Camera C-M1</p>
+</li>
+<li class="listitem">
+<p>ActiveWire I/O Board</p>
+</li>
+<li class="listitem">
+<p>Creative Technology Video Blaster WebCam Plus</p>
+</li>
+<li class="listitem">
+<p>D-Link DSB-R100 USB Radio (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ufm&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">ufm</span>(4)</span></a>
+driver)</p>
+</li>
+<li class="listitem">
+<p>Mirunet AlphaCam Plus</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64,powerpc] The following devices are supported by
+the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=urio&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">urio</span>(4)</span></a> driver:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Diamond MultiMedia Rio 500</p>
+</li>
+<li class="listitem">
+<p>Diamond MultiMedia Rio 600</p>
+</li>
+<li class="listitem">
+<p>Diamond MultiMedia Rio 800</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] Devices supported by the <a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=umodem&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">umodem</span>(4)</span></a> driver include:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com 5605</p>
+</li>
+<li class="listitem">
+<p>Curitel PC5740 Wireless Modem</p>
+</li>
+<li class="listitem">
+<p>Kyocera AH-K3001V Mobile Phone(WILLCOM)</p>
+</li>
+<li class="listitem">
+<p>Kyocera WX320K Mobile Phone(WILLCOM)</p>
+</li>
+<li class="listitem">
+<p>Metricom Ricochet GS USB wireless modem</p>
+</li>
+<li class="listitem">
+<p>Sierra MC5720 Wireless Modem</p>
+</li>
+<li class="listitem">
+<p>Yamaha Broadband Wireless Router RTW65b</p>
+</li>
+<li class="listitem">
+<p>ELSA MicroLink 56k USB modem</p>
+</li>
+<li class="listitem">
+<p>Sony Ericsson W810i phone</p>
+</li>
+<li class="listitem">
+<p>Sonim XP5300 Force</p>
+</li>
+</ul>
+</div>
+<p>[amd64, i386, ia64, pc98] Mice (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ums&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">ums</span>(4)</span></a>
+driver)</p>
+<p>[i386,pc98,amd64,powerpc] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ulpt&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ulpt</span>(4)</span></a> driver
+provides support for USB printers and parallel printer conversion
+cables, including the following:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ATen parallel printer adapter</p>
+</li>
+<li class="listitem">
+<p>Belkin F5U002 parallel printer adapter</p>
+</li>
+<li class="listitem">
+<p>Canon BJ F850, S600</p>
+</li>
+<li class="listitem">
+<p>Canon LBP-1310, 350</p>
+</li>
+<li class="listitem">
+<p>Entrega USB-to-parallel printer adapter</p>
+</li>
+<li class="listitem">
+<p>Hewlett-Packard HP Deskjet 3420 (P/N: C8947A #ABJ)</p>
+</li>
+<li class="listitem">
+<p>Oki Data MICROLINE ML660PS</p>
+</li>
+<li class="listitem">
+<p>Seiko Epson PM-900C, 880C, 820C, 730C</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ubsa&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ubsa</span>(4)</span></a> driver
+supports the following adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>AnyData ADU-500A EV-DO modem</p>
+</li>
+<li class="listitem">
+<p>AnyData ADU-E100A (no EV-DO mode support)</p>
+</li>
+<li class="listitem">
+<p>Belkin F5U103</p>
+</li>
+<li class="listitem">
+<p>Belkin F5U120</p>
+</li>
+<li class="listitem">
+<p>e-Tek Labs Kwik232</p>
+</li>
+<li class="listitem">
+<p>GoHubs GoCOM232</p>
+</li>
+<li class="listitem">
+<p>Peracom single port serial adapter</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ubser&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ubser</span>(4)</span></a> driver
+provides support for the BWCT console management serial
+adapters.</p>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=uftdi&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">uftdi</span>(4)</span></a> driver
+supports the following adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>B&amp;B Electronics USB-&gt;RS422/485 adapter</p>
+</li>
+<li class="listitem">
+<p>Elexol USB MOD1 and USB MOD3</p>
+</li>
+<li class="listitem">
+<p>HP USB-Serial adapter shipped with some HP laptops</p>
+</li>
+<li class="listitem">
+<p>Inland UAS111</p>
+</li>
+<li class="listitem">
+<p>QVS USC-1000</p>
+</li>
+<li class="listitem">
+<p>Buffalo PC-OP-RS / Kurouto-shikou KURO-RS universal remote</p>
+</li>
+<li class="listitem">
+<p>Prologix GPIB-USB Controller</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=uplcom&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">uplcom</span>(4)</span></a> driver supports the
+following devices and adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ADLINK ND-6530 USB-Serial Adapter</p>
+</li>
+<li class="listitem">
+<p>Alcatel One Touch 535/735 Phone</p>
+</li>
+<li class="listitem">
+<p>Alcor AU9720 USB-RS232 Serial Adapter</p>
+</li>
+<li class="listitem">
+<p>AlDiga AL-11U Modem</p>
+</li>
+<li class="listitem">
+<p>Alltronix ACM003U00 Modem</p>
+</li>
+<li class="listitem">
+<p>Anchor Serial adapter</p>
+</li>
+<li class="listitem">
+<p>ATEN UC-232A</p>
+</li>
+<li class="listitem">
+<p>BAFO BF-800 and BF-810</p>
+</li>
+<li class="listitem">
+<p>Belkin F5U257</p>
+</li>
+<li class="listitem">
+<p>BenQ S81 Phone</p>
+</li>
+<li class="listitem">
+<p>Corega CG-USBRS232R Serial Adapter</p>
+</li>
+<li class="listitem">
+<p>Cressi Edy (Seiko) Diving Computer</p>
+</li>
+<li class="listitem">
+<p>ELECOM UC-SGT Serial Adapter</p>
+</li>
+<li class="listitem">
+<p>HAL Corporation Crossam2+USB IR commander</p>
+</li>
+<li class="listitem">
+<p>Hama USB RS-232 Serial Adapter</p>
+</li>
+<li class="listitem">
+<p>Hamlet exagerate XURS232</p>
+</li>
+<li class="listitem">
+<p>HP LD220 Point-Of-Sale (POS) Display</p>
+</li>
+<li class="listitem">
+<p>IOGEAR UC-232A</p>
+</li>
+<li class="listitem">
+<p>I/O DATA USB-RSAQ, USB-RSAQ2, USB-RSAQ3 and USB-RSAQ5</p>
+</li>
+<li class="listitem">
+<p>iTegno WM1080A GSM/GFPRS Modem</p>
+</li>
+<li class="listitem">
+<p>iTegno WM2080A CDMA Modem</p>
+</li>
+<li class="listitem">
+<p>Leadtek 9531 GPS</p>
+</li>
+<li class="listitem">
+<p>Micromax 610U Modem</p>
+</li>
+<li class="listitem">
+<p>Microsoft Palm 700WX</p>
+</li>
+<li class="listitem">
+<p>Mobile Action MA-620 Infrared Adapter</p>
+</li>
+<li class="listitem">
+<p>Motorola Cables</p>
+</li>
+<li class="listitem">
+<p>Nokia CA-42 Cable</p>
+</li>
+<li class="listitem">
+<p>OTI DKU-5 cable</p>
+</li>
+<li class="listitem">
+<p>Panasonic TY-TP50P6-S flat screen</p>
+</li>
+<li class="listitem">
+<p>PLX CA-42 Phone Cable</p>
+</li>
+<li class="listitem">
+<p>PLANEX USB-RS232 URS-03</p>
+</li>
+<li class="listitem">
+<p>Prolific Generic USB-Serial Adapters</p>
+</li>
+<li class="listitem">
+<p>Prolific Pharos USB-Serial Adapter</p>
+</li>
+<li class="listitem">
+<p>RATOC REX-USB60</p>
+</li>
+<li class="listitem">
+<p>Radio Shack USB Serial Cable</p>
+</li>
+<li class="listitem">
+<p>Sagem USB-Serial Adapter</p>
+</li>
+<li class="listitem">
+<p>Samsung I330 Phone Cradle</p>
+</li>
+<li class="listitem">
+<p>Sandberg USB to Serial Link (model number 133-08)</p>
+</li>
+<li class="listitem">
+<p>Sanwa KB-USB2 Multimeter cable</p>
+</li>
+<li class="listitem">
+<p>Siemens/BenQ EF81, SX1, X65 and X75 Mobile Phones</p>
+</li>
+<li class="listitem">
+<p>Sitecom USB-Serial Adapter</p>
+</li>
+<li class="listitem">
+<p>SMART Technologies USB-Serial Adapter</p>
+</li>
+<li class="listitem">
+<p>Sony QN3 Phone Cable</p>
+</li>
+<li class="listitem">
+<p>Sony Ericsson Datapilot</p>
+</li>
+<li class="listitem">
+<p>Sony Ericsson DCU-10 and DCU-11 (Susteen) USB Cables</p>
+</li>
+<li class="listitem">
+<p>SOURCENEXT KeikaiDenwa 8 (with and without charger)</p>
+</li>
+<li class="listitem">
+<p>Speed Dragon USB-Serial Cable</p>
+</li>
+<li class="listitem">
+<p>Syntech CPT-8001C Barcode Scanner</p>
+</li>
+<li class="listitem">
+<p>TDK UHA6400 and UPA9664 USB-PHS Adapters</p>
+</li>
+<li class="listitem">
+<p>TRENDnet USB to Serial Converter (TU-S9)</p>
+</li>
+<li class="listitem">
+<p>Tripp-Lite U209-000-R USB-Serial Adapter</p>
+</li>
+<li class="listitem">
+<p>UIC HCR331 Magnetic Stripe Card Reader</p>
+</li>
+<li class="listitem">
+<p>UIC MSR206 Magnetic Stripe Card Reader</p>
+</li>
+<li class="listitem">
+<p>Willcom W-SIM DD PHS terminal.(WS002IN)</p>
+</li>
+<li class="listitem">
+<p>YC-Cable USB-Serial Adapter</p>
+</li>
+<li class="listitem">
+<p>Zeagle N2iTion3 Diving Computer</p>
+</li>
+</ul>
+</div>
+<p>The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=umct&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">umct</span>(4)</span></a> driver
+supports the following adapters:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Belkin F5U109</p>
+</li>
+<li class="listitem">
+<p>Belkin F5U409</p>
+</li>
+<li class="listitem">
+<p>D-Link DU-H3SP USB BAY Hub</p>
+</li>
+<li class="listitem">
+<p>Magic Control Technology USB-232</p>
+</li>
+<li class="listitem">
+<p>Sitecom USB-232</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64,powerpc] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=umass&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">umass</span>(4)</span></a> driver
+supports USB Mass Storage devices, including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>ADTEC Stick Drive AD-UST32M, 64M, 128M, 256M</p>
+</li>
+<li class="listitem">
+<p>Denno FireWire/USB2 Removable 2.5-inch HDD Case MIFU-25CB20</p>
+</li>
+<li class="listitem">
+<p>FujiFilm Zip USB Drive ZDR100 USB A</p>
+</li>
+<li class="listitem">
+<p>GREEN HOUSE USB Flash Memory "PicoDrive" GH-UFD32M, 64M,
+128M</p>
+</li>
+<li class="listitem">
+<p>Huawei Mobile (SD slot)</p>
+</li>
+<li class="listitem">
+<p>IBM 32MB USB Memory Key (P/N 22P5296)</p>
+</li>
+<li class="listitem">
+<p>IBM 256MB USB Drive (MSYSTEM DiskOnKey2)</p>
+</li>
+<li class="listitem">
+<p>IBM ThinkPad USB Portable CD-ROM Drive (P/N 33L5151)</p>
+</li>
+<li class="listitem">
+<p>I-O DATA USB CD/CD-R/CD-RW/DVD-R/DVD-RW/DVD-RAM/DVD-ROM Drive
+DVR-iUH2 (CDROM, DVD-RAM only)</p>
+</li>
+<li class="listitem">
+<p>I-O DATA USB x6 CD-RW Drive CDRW-i64/USB (CDROM only)</p>
+</li>
+<li class="listitem">
+<p>I-O DATA USB/IEEE1394 Portable HD Drive HDP-i30P/CI,
+HDP-i40P/CI</p>
+</li>
+<li class="listitem">
+<p>Iomega USB Zip 100/250 drive</p>
+</li>
+<li class="listitem">
+<p>Iomega Zip750 USB2.0 drive</p>
+</li>
+<li class="listitem">
+<p>Keian USB1.1/2.0 3.5-inch HDD Case KU350A</p>
+</li>
+<li class="listitem">
+<p>Kurouto Shikou USB 2.5-inch HDD Case GAWAP2.5PS-USB2.0</p>
+</li>
+<li class="listitem">
+<p>LaCie P3 HardDrive USB 200GB</p>
+</li>
+<li class="listitem">
+<p>Logitec LDR-H443U2 DVD-RAM/-R/+R/-RW/+RW drive</p>
+</li>
+<li class="listitem">
+<p>Logitec Mobile USB Memory LMC-256UD</p>
+</li>
+<li class="listitem">
+<p>Logitec USB1.1/2.0 HDD Unit SHD-E60U2</p>
+</li>
+<li class="listitem">
+<p>Logitec USB Double-Speed Floppy Drive LFD-31U2</p>
+</li>
+<li class="listitem">
+<p>Logitec USB/IEEE1394 DVD-RAM/R/RW Unit LDR-N21FU2 (CDROM
+only)</p>
+</li>
+<li class="listitem">
+<p>MELCO USB Flash Disk "ClipDrive", RUF-C32M, -C64M, -C128M,
+-C256M, -C512M</p>
+</li>
+<li class="listitem">
+<p>MELCO USB Flash Disk "PetitDrive", RUF-32M, -64M, -128M,
+-256Mm</p>
+</li>
+<li class="listitem">
+<p>MELCO USB2.0 Flash Disk "PetitDrive2", RUF-256M/U2, -512M/U2</p>
+</li>
+<li class="listitem">
+<p>MELCO USB2.0 MO Drive MO-CH640U2</p>
+</li>
+<li class="listitem">
+<p>Matshita CF-VFDU03 floppy drive</p>
+</li>
+<li class="listitem">
+<p>Merlin SM300 MP3/WMA Player (256Mb)</p>
+</li>
+<li class="listitem">
+<p>Microtech International, Inc. USB-SCSI-HD 50 USB to SCSI
+cable</p>
+</li>
+<li class="listitem">
+<p>Motorola E398 Mobile Phone (TransFlash memory card)</p>
+</li>
+<li class="listitem">
+<p>NOVAC USB2.0 2.5/3.5-inch HDD Case NV-HD351U</p>
+</li>
+<li class="listitem">
+<p>PNY Attache Flash Drive</p>
+</li>
+<li class="listitem">
+<p>Panasonic ("Matshita FDD CF-VFDU03")</p>
+</li>
+<li class="listitem">
+<p>Panasonic KXL-CB20AN Portable DVD-ROM/CD-R/RW</p>
+</li>
+<li class="listitem">
+<p>Panasonic KXL-CB35AN (DVD-ROM &amp; CD-R/RW)</p>
+</li>
+<li class="listitem">
+<p>Panasonic USB2.0 Portable CD-RW Drive KXL-RW40AN (CDROM
+only)</p>
+</li>
+<li class="listitem">
+<p>Panasonic floppy drive</p>
+</li>
+<li class="listitem">
+<p>Qware BeatZkey! Pro</p>
+</li>
+<li class="listitem">
+<p>RATOC Systems USB2.0 Removable HDD Case U2-MDK1, U2-MDK1B</p>
+</li>
+<li class="listitem">
+<p>SanDisk SDDR-31 (Compact Flash)</p>
+</li>
+<li class="listitem">
+<p>SanDisk SDDR-75 (only Compact Flash port works)</p>
+</li>
+<li class="listitem">
+<p>Sitecom CN-300 MultiFlash (MMC/SD, SmartMedia, CF,
+MemoryStick)</p>
+</li>
+<li class="listitem">
+<p>Sony Portable CD-R/RW Drive CRX10U (CDROM only)</p>
+</li>
+<li class="listitem">
+<p>TEAC Portable USB CD-ROM Unit CD-110PU/210PU</p>
+</li>
+<li class="listitem">
+<p>Time DPA20B MP3 Player (1Gb)</p>
+</li>
+<li class="listitem">
+<p>Trek Thumbdrive 8MB</p>
+</li>
+<li class="listitem">
+<p>VAIO floppy drive (includes Y-E Data Flashbuster-U)</p>
+</li>
+<li class="listitem">
+<p>Y-E Data floppy drive (720/1.44/2.88Mb)</p>
+</li>
+</ul>
+</div>
+<p>Among the supported digital cameras are:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Asahi Optical (PENTAX) Optio 230 &amp; 330</p>
+</li>
+</ul>
+</div>
+<p>[amd64, i386, pc98] Audio Devices (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=uaudio&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">uaudio</span>(4)</span></a>
+driver)</p>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=uvisor&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">uvisor</span>(4)</span></a> driver supports the
+following devices:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Aceeca Mez1000 RDA</p>
+</li>
+<li class="listitem">
+<p>Handspring Treo</p>
+</li>
+<li class="listitem">
+<p>Handspring Treo 600</p>
+</li>
+<li class="listitem">
+<p>Handspring Visor</p>
+</li>
+<li class="listitem">
+<p>Palm I705</p>
+</li>
+<li class="listitem">
+<p>Palm M125</p>
+</li>
+<li class="listitem">
+<p>Palm M130</p>
+</li>
+<li class="listitem">
+<p>Palm M500</p>
+</li>
+<li class="listitem">
+<p>Palm M505</p>
+</li>
+<li class="listitem">
+<p>Palm M515</p>
+</li>
+<li class="listitem">
+<p>Palm Tungsten T</p>
+</li>
+<li class="listitem">
+<p>Palm Tungsten Z</p>
+</li>
+<li class="listitem">
+<p>Palm Zire</p>
+</li>
+<li class="listitem">
+<p>Palm Zire 31</p>
+</li>
+<li class="listitem">
+<p>Sony Clie 4.0</p>
+</li>
+<li class="listitem">
+<p>Sony Clie 4.1</p>
+</li>
+<li class="listitem">
+<p>Sony Clie 5.0</p>
+</li>
+<li class="listitem">
+<p>Sony Clie PEG-S500C</p>
+</li>
+<li class="listitem">
+<p>Sony Clie NX60</p>
+</li>
+<li class="listitem">
+<p>Sony Clie S360</p>
+</li>
+<li class="listitem">
+<p>Sony Clie TJ37</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2" title="3.11.&nbsp;IEEE 1394 (Firewire) Devices">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"firewire"></a>3.11.&nbsp;IEEE 1394 (Firewire) Devices</h3>
+</div>
+</div>
+</div>
+<p>[i386,sparc64,ia64,amd64,powerpc] The <a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=fwohci&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">fwohci</span>(4)</span></a> driver provides support
+for PCI/CardBus FireWire interface cards. The driver supports the
+following IEEE 1394 OHCI chipsets:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Adaptec AHA-894x/AIC-5800</p>
+</li>
+<li class="listitem">
+<p>Apple Pangea</p>
+</li>
+<li class="listitem">
+<p>Apple UniNorth</p>
+</li>
+<li class="listitem">
+<p>Intel 82372FB</p>
+</li>
+<li class="listitem">
+<p>IOGEAR GUF320</p>
+</li>
+<li class="listitem">
+<p>Lucent / Agere FW322/323</p>
+</li>
+<li class="listitem">
+<p>NEC uPD72861</p>
+</li>
+<li class="listitem">
+<p>NEC uPD72870</p>
+</li>
+<li class="listitem">
+<p>NEC uPD72871/2</p>
+</li>
+<li class="listitem">
+<p>NEC uPD72873</p>
+</li>
+<li class="listitem">
+<p>NEC uPD72874</p>
+</li>
+<li class="listitem">
+<p>National Semiconductor CS4210</p>
+</li>
+<li class="listitem">
+<p>Ricoh R5C551</p>
+</li>
+<li class="listitem">
+<p>Ricoh R5C552</p>
+</li>
+<li class="listitem">
+<p>Sony CX3022</p>
+</li>
+<li class="listitem">
+<p>Sony i.LINK (CXD3222)</p>
+</li>
+<li class="listitem">
+<p>Sun PCIO-2 (RIO 1394)</p>
+</li>
+<li class="listitem">
+<p>Texas Instruments PCI4410A</p>
+</li>
+<li class="listitem">
+<p>Texas Instruments PCI4450</p>
+</li>
+<li class="listitem">
+<p>Texas Instruments PCI4451</p>
+</li>
+<li class="listitem">
+<p>Texas Instruments TSB12LV22</p>
+</li>
+<li class="listitem">
+<p>Texas Instruments TSB12LV23</p>
+</li>
+<li class="listitem">
+<p>Texas Instruments TSB12LV26</p>
+</li>
+<li class="listitem">
+<p>Texas Instruments TSB43AA22</p>
+</li>
+<li class="listitem">
+<p>Texas Instruments TSB43AB21/A/AI/A-EP</p>
+</li>
+<li class="listitem">
+<p>Texas Instruments TSB43AB22/A</p>
+</li>
+<li class="listitem">
+<p>Texas Instruments TSB43AB23</p>
+</li>
+<li class="listitem">
+<p>Texas Instruments TSB82AA2</p>
+</li>
+<li class="listitem">
+<p>VIA Fire II (VT6306)</p>
+</li>
+</ul>
+</div>
+<p>[amd64, i386, sparc64] Serial Bus Protocol 2 (SBP-2) storage
+devices (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=sbp&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">sbp</span>(4)</span></a>
+driver)</p>
+</div>
+<div class="sect2" title="3.12.&nbsp;Bluetooth Devices">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"bluetooth"></a>3.12.&nbsp;Bluetooth Devices</h3>
+</div>
+</div>
+</div>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ng_bt3c&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">ng_bt3c</span>(4)</span></a> driver provides
+support for the 3Com/HP 3CRWB6096-A PCCARD bluetooth adapter.</p>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ng_ubt&amp;amp;sektion=4">
+<span class="citerefentry"><span class=
+"refentrytitle">ng_ubt</span>(4)</span></a> driver supports all
+Bluetooth USB devices that conform with the Bluetooth specification
+v1.1, including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>3Com 3CREB96</p>
+</li>
+<li class="listitem">
+<p>AIPTEK BR0R02</p>
+</li>
+<li class="listitem">
+<p>EPoX BT-DG02</p>
+</li>
+<li class="listitem">
+<p>Mitsumi Bluetooth USB adapter</p>
+</li>
+<li class="listitem">
+<p>MSI MS-6967</p>
+</li>
+<li class="listitem">
+<p>TDK Bluetooth USB adapter</p>
+</li>
+<li class="listitem">
+<p>Broadcom Bluetooth USB adapter</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2" title="3.13.&nbsp;Cryptographic Accelerators">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"crypto-accel"></a>3.13.&nbsp;Cryptographic Accelerators</h3>
+</div>
+</div>
+</div>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=hifn&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">hifn</span>(4)</span></a> driver
+supports various cards containing the Hifn 7751, 7951, 7811, 7955,
+and 7956 chipsets, such as:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Invertex AEON</p>
+</li>
+<li class="listitem">
+<p>Hifn 7751</p>
+</li>
+<li class="listitem">
+<p>PowerCrypt</p>
+</li>
+<li class="listitem">
+<p>XL-Crypt</p>
+</li>
+<li class="listitem">
+<p>NetSec 7751</p>
+</li>
+<li class="listitem">
+<p>Soekris Engineering vpn1201 and vpn1211</p>
+</li>
+<li class="listitem">
+<p>Soekris Engineering vpn1401 and vpn1411</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=safe&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">safe</span>(4)</span></a> driver
+supports cards containing any of the following chips:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>SafeNet 1141</p>
+</li>
+<li class="listitem">
+<p>SafeNet 1741</p>
+</li>
+</ul>
+</div>
+<p>[i386,pc98,amd64] The <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ubsec&amp;amp;sektion=4"><span class="citerefentry">
+<span class="refentrytitle">ubsec</span>(4)</span></a> driver
+supports cards containing any of the following chips:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Bluesteel 5501</p>
+</li>
+<li class="listitem">
+<p>Bluesteel 5601</p>
+</li>
+<li class="listitem">
+<p>Broadcom BCM5801</p>
+</li>
+<li class="listitem">
+<p>Broadcom BCM5802</p>
+</li>
+<li class="listitem">
+<p>Broadcom BCM5805</p>
+</li>
+<li class="listitem">
+<p>Broadcom BCM5820</p>
+</li>
+<li class="listitem">
+<p>Broadcom BCM5821</p>
+</li>
+<li class="listitem">
+<p>Broadcom BCM5822</p>
+</li>
+<li class="listitem">
+<p>Broadcom BCM5823</p>
+</li>
+<li class="listitem">
+<p>Broadcom BCM5825</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2" title="3.14.&nbsp;Miscellaneous">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"misc"></a>3.14.&nbsp;Miscellaneous</h3>
+</div>
+</div>
+</div>
+<p>[amd64, i386, pc98] FAX-Modem/PCCARD</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>MELCO IGM-PCM56K/IGM-PCM56KH</p>
+</li>
+<li class="listitem">
+<p>Nokia Card Phone 2.0 (gsm900/dcs1800 HSCSD terminal)</p>
+</li>
+</ul>
+</div>
+<p>[amd64, i386, pc98] Floppy drives (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=fdc&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">fdc</span>(4)</span></a>
+driver)</p>
+<p>[amd64, i386] VGA-compatible video cards (<a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=vga&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">vga</span>(4)</span></a>
+driver)</p>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">Information regarding
+specific video cards and compatibility with <span class=
+"application">Xorg</span> can be found at <a class="ulink" href=
+"http://www.x.org/" target="_top">http://www.x.org/</a>.</p>
+</div>
+<p>[amd64, i386, ia64, pc98] Keyboards including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>[i386] AT-style keyboards (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=atkbd&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">atkbd</span>(4)</span></a>
+driver)</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] PS/2 keyboards (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=atkbd&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">atkbd</span>(4)</span></a>
+driver)</p>
+</li>
+<li class="listitem">
+<p>[pc98] Standard keyboards</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386, ia64, pc98] USB keyboards (<a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ukbd&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">ukbd</span>(4)</span></a>
+driver)</p>
+</li>
+</ul>
+</div>
+<p>[amd64, i386, ia64, pc98] Pointing devices including:</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>[amd64, i386, pc98] Bus mice and compatible devices (<a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=mse&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">mse</span>(4)</span></a>
+driver)</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386] PS/2 mice and compatible devices, including many
+laptop pointing devices (<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=psm&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">psm</span>(4)</span></a>
+driver)</p>
+</li>
+<li class="listitem">
+<p>Serial mice and compatible devices</p>
+</li>
+<li class="listitem">
+<p>[amd64, i386, ia64, pc98] USB mice (<a class="citerefentry"
+href="http://www.FreeBSD.org/cgi/man.cgi?query=ums&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">ums</span>(4)</span></a>
+driver)</p>
+</li>
+</ul>
+</div>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml"><a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=moused&amp;amp;sektion=8">
+<span class="citerefentry"><span class=
+"refentrytitle">moused</span>(8)</span></a> has more information on
+using pointing devices with FreeBSD. Information on using pointing
+devices with <span class="application">Xorg</span> can be found at
+<a class="ulink" href="http://www.x.org/" target=
+"_top">http://www.x.org/</a>.</p>
+</div>
+<p>[amd64, i386] <span class="quote">“<span class="quote">PC
+standard</span>”</span> parallel ports (<a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ppc&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">ppc</span>(4)</span></a>
+driver)</p>
+<p>[pc98] <span class="quote">“<span class="quote">PC-9821
+standard</span>”</span> parallel ports (<a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=ppc&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">ppc</span>(4)</span></a>
+driver)</p>
+<p>[i386, amd64] PC-compatible joysticks (<a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=joy&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">joy</span>(4)</span></a>
+driver)</p>
+<p>[pc98] Joystick port of SoundBlaster(98) (<a class=
+"citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=joy&amp;amp;sektion=4"><span class="citerefentry"><span class="refentrytitle">joy</span>(4)</span></a>
+driver)</p>
+<p>[i386, pc98] PHS Data Communication Card/PCCARD</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>NTT DoCoMo P-in Comp@ct</p>
+</li>
+<li class="listitem">
+<p>Panasonic KX-PH405</p>
+</li>
+<li class="listitem">
+<p>SII MC-P200</p>
+</li>
+</ul>
+</div>
+<p>[i386] Xilinx XC6200-based reconfigurable hardware cards
+compatible with the HOT1 from <a class="ulink" href=
+"http://www.vcc.com/" target="_top">Virtual Computers</a> (xrpu
+driver).</p>
+<p>[pc98] Power Management Controller of NEC PC-98 Note (pmc
+driver)</p>
+</div>
+</div>
+</div>
+</body>
+</html>
Property changes on: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/hardware.html
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+on
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/sgml
\ No newline at end of property
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/installation.html
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/installation.html (nonexistent)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/installation.html (revision 42804)
@@ -0,0 +1,226 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="generator" content="HTML Tidy, see www.w3.org" />
+<title>FreeBSD 9.2-RELEASE Installation Instructions</title>
+<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79" />
+<link rel="STYLESHEET" type="text/css" href="docbook.css" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+</head>
+<body class="ARTICLE" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
+alink="#0000FF">
+<div class="ARTICLE">
+<div class="TITLEPAGE">
+<h1 class="TITLE"><a id="AEN2" name="AEN2">FreeBSD 9.2-RELEASE Installation
+Instructions</a></h1>
+
+<h3 class="CORPAUTHOR">The FreeBSD Project</h3>
+
+<p class="COPYRIGHT">Copyright &copy; 2013 The FreeBSD Documentation Project</p>
+
+<p class="PUBDATE">$FreeBSD$<br />
+</p>
+
+<div class="LEGALNOTICE"><a id="TRADEMARKS" name="TRADEMARKS"></a>
+<p>FreeBSD is a registered trademark of the FreeBSD Foundation.</p>
+
+<p>Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or
+registered trademarks of Intel Corporation or its subsidiaries in the United States and
+other countries.</p>
+
+<p>SPARC, SPARC64, SPARCengine, and UltraSPARC are trademarks of SPARC International, Inc
+in the United States and other countries. SPARC International, Inc owns all of the SPARC
+trademarks and under licensing agreements allows the proper use of these trademarks by
+its members.</p>
+
+<p>Many of the designations used by manufacturers and sellers to distinguish their
+products are claimed as trademarks. Where those designations appear in this document, and
+the FreeBSD Project was aware of the trademark claim, the designations have been followed
+by the &#8220;&trade;&#8221; or the &#8220;&reg;&#8221; symbol.</p>
+</div>
+
+<hr />
+</div>
+
+<blockquote class="ABSTRACT">
+<div class="ABSTRACT"><a id="AEN16" name="AEN16"></a>
+<p>This article gives some brief instructions on installing FreeBSD 9.2-RELEASE and
+upgrading the systems running earlier releases.</p>
+</div>
+</blockquote>
+
+<div class="SECT1">
+<hr />
+<h2 class="SECT1"><a id="INSTALL" name="INSTALL">1 Installing FreeBSD</a></h2>
+
+<p>The <a
+href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/bsdinstall.html"
+target="_top">&#8220;Installing &#09; FreeBSD&#8221;</a> chapter of the <a
+href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/" target="_top">FreeBSD
+&#09;Handbook</a> provides more in-depth information about the installation program
+itself, including a guided walk-through with screenshots.</p>
+</div>
+
+<div class="SECT1">
+<hr />
+<h2 class="SECT1"><a id="UPGRADE" name="UPGRADE">2 Upgrading FreeBSD</a></h2>
+
+<!--
+<p>If you are upgrading from a previous release of FreeBSD, please read <a
+href="http://www.FreeBSD.org/releases/9.2R/relnotes-detailed.html#UPGRADE"
+target="_top">upgrading section in the Release Notes</a> for notable incompatibilities
+carefully.</p>
+-->
+
+<div class="SECT2">
+<hr />
+<h3 class="SECT2"><a id="AEN28" name="AEN28">2.1 Upgrading from Source</a></h3>
+
+<p>The procedure for doing a source code based update is &#09;described in &#09;<a
+href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/synching.html"
+target="_top">http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/synching.html</a>
+and &#09;<a
+href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook//makeworld.html"
+target="_top">http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook//makeworld.html</a>.</p>
+
+<p>For SVN use the <tt class="FILENAME">releng/9.2</tt> branch &#09;which will be where
+any upcoming Security Advisories or Errata &#09;Notices will be applied.</p>
+
+<p>Note that CVS is <b>not</b> supported.</p>
+</div>
+
+<div class="SECT2">
+<hr />
+<h3 class="SECT2"><a id="AEN36" name="AEN36">2.2 Upgrading Using &#8220;FreeBSD
+Update&#8221;</a></h3>
+
+<p>The <a
+href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+9.2-RELEASE">
+<span class="CITEREFENTRY"><span
+class="REFENTRYTITLE">freebsd-update</span>(8)</span></a> utility supports binary
+&#09;upgrades of i386 and amd64 systems running &#09;earlier FreeBSD releases. Systems
+running &#09;<tt class="LITERAL">8.[34]-RELEASE</tt>, &#09;<tt
+class="LITERAL">9.[01]-RELEASE</tt>, &#09;<tt class="LITERAL">9.2-BETA[123]</tt>, or
+&#09;<tt class="LITERAL">9.2-RC[1234]</tt> can upgrade as follows:</p>
+
+<pre class="SCREEN">
+<samp class="PROMPT">#</samp> freebsd-update fetch
+<samp class="PROMPT">#</samp> freebsd-update install
+</pre>
+
+<p>Now the <a
+href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+9.2-RELEASE">
+<span class="CITEREFENTRY"><span
+class="REFENTRYTITLE">freebsd-update</span>(8)</span></a> utility can fetch bits
+&#09;belonging to 9.2-RELEASE. During this process &#09;<a
+href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+9.2-RELEASE">
+<span class="CITEREFENTRY"><span
+class="REFENTRYTITLE">freebsd-update</span>(8)</span></a> will ask for help in merging
+&#09;configuration files.</p>
+
+<pre class="SCREEN">
+<samp class="PROMPT">#</samp> freebsd-update upgrade -r 9.2-RELEASE
+</pre>
+
+<p>Due to changes in the way that FreeBSD is packaged on the &#09;release media, two
+complications may arise in this process if &#09;upgrading from FreeBSD 8.x:</p>
+
+<ol type="1">
+<li>
+<p>The FreeBSD kernel, which previously could appear in either &#09; <tt
+class="FILENAME">/boot/kernel</tt> or &#09; <tt class="FILENAME">/boot/GENERIC</tt>, now
+only appears as &#09; <tt class="FILENAME">/boot/kernel</tt>. As a result, any &#09;
+kernel appearing in <tt class="FILENAME">/boot/GENERIC</tt> &#09; will be deleted. Please
+carefully read the output printed &#09; by <a
+href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+9.2-RELEASE">
+<span class="CITEREFENTRY"><span
+class="REFENTRYTITLE">freebsd-update</span>(8)</span></a> and confirm that an updated
+&#09; kernel will be placed into &#09; <tt class="FILENAME">/boot/kernel</tt> before
+proceeding beyond &#09; this point.</p>
+</li>
+
+<li>
+<p>The FreeBSD source tree in <tt class="FILENAME">/usr/src</tt> &#09; (if present) will
+be deleted. (Normally the &#09; <a
+href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+9.2-RELEASE">
+<span class="CITEREFENTRY"><span
+class="REFENTRYTITLE">freebsd-update</span>(8)</span></a> utility will update a source
+tree, &#09; but in this case the changes in release packaging result &#09; in the <a
+href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+9.2-RELEASE">
+<span class="CITEREFENTRY"><span
+class="REFENTRYTITLE">freebsd-update</span>(8)</span></a> utility not recognizing that
+&#09; the source tree from the old release and the source tree &#09; from the new release
+correspond to the same part of &#09; FreeBSD.)</p>
+</li>
+</ol>
+
+<pre class="SCREEN">
+<samp class="PROMPT">#</samp> freebsd-update install
+</pre>
+
+<p>The system must now be rebooted with the newly installed &#09;kernel before the
+non-kernel components are updated.</p>
+
+<pre class="SCREEN">
+<samp class="PROMPT">#</samp> shutdown -r now
+</pre>
+
+<p>After rebooting, <a
+href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+9.2-RELEASE">
+<span class="CITEREFENTRY"><span
+class="REFENTRYTITLE">freebsd-update</span>(8)</span></a> needs to be run &#09;again to
+install the new userland components:</p>
+
+<pre class="SCREEN">
+<samp class="PROMPT">#</samp> freebsd-update install
+</pre>
+
+<p>At this point, users of systems being upgraded from FreeBSD &#09;8.4-RELEASE or
+earlier will be prompted by &#09;<a
+href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+9.2-RELEASE">
+<span class="CITEREFENTRY"><span
+class="REFENTRYTITLE">freebsd-update</span>(8)</span></a> to rebuild all third-party
+applications &#09;(e.g., ports installed from the ports tree) due to updates in
+&#09;system libraries.</p>
+
+<p>After updating installed third-party applications (and &#09;again, only if <a
+href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+9.2-RELEASE">
+<span class="CITEREFENTRY"><span
+class="REFENTRYTITLE">freebsd-update</span>(8)</span></a> printed a message
+&#09;indicating that this was necessary), run &#09;<a
+href="http://www.FreeBSD.org/cgi/man.cgi?query=freebsd-update&sektion=8&manpath=FreeBSD+9.2-RELEASE">
+<span class="CITEREFENTRY"><span
+class="REFENTRYTITLE">freebsd-update</span>(8)</span></a> again so that it can delete the
+old (no &#09;longer used) system libraries:</p>
+
+<pre class="SCREEN">
+<samp class="PROMPT">#</samp> freebsd-update install
+</pre>
+
+<p>Finally, reboot into 9.2-RELEASE</p>
+
+<pre class="SCREEN">
+<samp class="PROMPT">#</samp> shutdown -r now
+</pre>
+</div>
+</div>
+</div>
+
+<hr />
+<p align="center"><small>This file, and other release-related documents, can be
+downloaded from <a
+href="http://www.FreeBSD.org/releases/">http://www.FreeBSD.org/releases/</a>.</small></p>
+
+<p align="center"><small>For questions about FreeBSD, read the <a
+href="http://www.FreeBSD.org/docs.html">documentation</a> before contacting &#60;<a
+href="mailto:questions@FreeBSD.org">questions@FreeBSD.org</a>&#62;.</small></p>
+
+<p align="center"><small>All users of FreeBSD 9.2-STABLE should subscribe to the &#60;<a
+href="mailto:stable@FreeBSD.org">stable@FreeBSD.org</a>&#62; mailing list.</small></p>
+
+<p align="center"><small>For questions about this documentation, e-mail &#60;<a
+href="mailto:doc@FreeBSD.org">doc@FreeBSD.org</a>&#62;.</small></p>
+</body>
+</html>
+
Property changes on: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/installation.html
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/sgml
\ No newline at end of property
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/readme.html
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/readme.html (nonexistent)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/readme.html (revision 42804)
@@ -0,0 +1,515 @@
+<?xml version="1.0" encoding="utf-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="generator" content=
+"HTML Tidy for FreeBSD (vers 7 December 2008), see www.w3.org" />
+<meta http-equiv="Content-Type" content=
+"text/html; charset=utf-8" />
+<title>FreeBSD 9.2-RELEASE README</title>
+<link rel="stylesheet" type="text/css" href="docbook.css" />
+<link rev="made" href="doc@FreeBSD.org" />
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1" />
+</head>
+<body>
+<div class="article" title="FreeBSD 9.2-RELEASE README">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"idp58648112"></a>FreeBSD 9.2-RELEASE README</h2>
+</div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="corpauthor">The
+FreeBSD Project</h3>
+</div>
+<div>
+<p xmlns="http://www.w3.org/1999/xhtml" class="copyright">Copyright
+© 2013 The FreeBSD Documentation Project</p>
+</div>
+<div>
+<div xmlns="http://www.w3.org/1999/xhtml" class="legalnotice"
+title="Legal Notice"><a id="trademarks"></a>
+<p>FreeBSD is a registered trademark of the FreeBSD Foundation.</p>
+<p>Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and
+Xeon are trademarks or registered trademarks of Intel Corporation
+or its subsidiaries in the United States and other countries.</p>
+<p>Motif, OSF/1, and UNIX are registered trademarks and IT DialTone
+and The Open Group are trademarks of The Open Group in the United
+States and other countries.</p>
+<p>SPARC, SPARC64, SPARCengine, and UltraSPARC are trademarks of
+SPARC International, Inc in the United States and other countries.
+SPARC International, Inc owns all of the SPARC trademarks and under
+licensing agreements allows the proper use of these trademarks by
+its members.</p>
+<p>Many of the designations used by manufacturers and sellers to
+distinguish their products are claimed as trademarks. Where those
+designations appear in this document, and the FreeBSD Project was
+aware of the trademark claim, the designations have been followed
+by the <span class="quote">“<span class="quote">™</span>”</span> or
+the <span class="quote">“<span class="quote">®</span>”</span>
+symbol.</p>
+</div>
+</div>
+<div>Last modified on 2013-09-26 by gjb.</div>
+</div>
+<hr /></div>
+<div class="toc">
+<div class="toc-title">Table of Contents</div>
+<dl>
+<dt><span class="sect1"><a href="#intro">1.
+Introduction</a></span></dt>
+<dt><span class="sect1"><a href="#obtain">2. Obtaining
+FreeBSD</a></span></dt>
+<dt><span class="sect1"><a href="#contacting">3. Contacting the
+FreeBSD Project</a></span></dt>
+<dt><span class="sect1"><a href="#seealso">4. Further
+Reading</a></span></dt>
+<dt><span class="sect1"><a href="#acknowledgements">5.
+Acknowledgments</a></span></dt>
+</dl>
+</div>
+<div class="abstract" title="Abstract">
+<div xmlns="" class="titlepage"></div>
+<p>This document gives a brief introduction to FreeBSD 9.2-RELEASE.
+It includes some information on how to obtain FreeBSD, a listing of
+various ways to contact the FreeBSD Project, and pointers to some
+other sources of information.</p>
+</div>
+<div class="sect1" title="1.&nbsp;Introduction">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h2 xmlns="http://www.w3.org/1999/xhtml" class="title" style=
+"clear: both"><a id="intro"></a>1.&nbsp;Introduction</h2>
+</div>
+</div>
+</div>
+<p>This distribution is a snapshot of FreeBSD 9.2-RELEASE, the
+latest point along the 9.2-STABLE branch.</p>
+<div class="sect2" title="1.1.&nbsp;About FreeBSD">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"idp59318960"></a>1.1.&nbsp;About FreeBSD</h3>
+</div>
+</div>
+</div>
+<p>FreeBSD is an operating system based on 4.4 BSD Lite for AMD64
+and Intel EM64T based PC hardware (amd64), Intel, AMD, Cyrix or
+NexGen <span class="quote">“<span class="quote">x86</span>”</span>
+based PC hardware (i386), Intel Itanium Processor based computers
+(ia64), NEC PC-9801/9821 series PCs and compatibles (pc98), and
+<span class="trademark">UltraSPARC</span>® machines (sparc64).
+Versions for the <span class="trademark">ARM</span>® (arm),
+<span class="trademark">MIPS</span>® (mips), and <span class=
+"trademark">PowerPC</span>® (powerpc) architectures are currently
+under development as well. FreeBSD works with a wide variety of
+peripherals and configurations and can be used for everything from
+software development to games to Internet Service Provision.</p>
+<p>This release of FreeBSD contains everything you need to run such
+a system, including full source code for the kernel and all
+utilities in the base distribution. With the source distribution
+installed, you can literally recompile the entire system from
+scratch with one command, making it ideal for students,
+researchers, or users who simply want to see how it all works.</p>
+<p>A large collection of third-party ported software (the
+<span class="quote">“<span class="quote">Ports
+Collection</span>”</span>) is also provided to make it easy to
+obtain and install all your favorite traditional <span class=
+"trademark">UNIX</span>® utilities for FreeBSD. Each <span class=
+"quote">“<span class="quote">port</span>”</span> consists of a set
+of scripts to retrieve, configure, build, and install a piece of
+software, with a single command. Over 24,000 ports, from editors to
+programming languages to graphical applications, make FreeBSD a
+powerful and comprehensive operating environment that extends far
+beyond what's provided by many commercial versions of <span class=
+"trademark">UNIX</span>®. Most ports are also available as
+pre-compiled <span class="quote">“<span class=
+"quote">packages</span>”</span>, which can be quickly installed
+from the installation program.</p>
+</div>
+<div class="sect2" title="1.2.&nbsp;Target Audience">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"idp59346864"></a>1.2.&nbsp;Target Audience</h3>
+</div>
+</div>
+</div>
+<p>This snapshot is aimed primarily at early adopters and various
+other users who want to get involved with the ongoing development
+of FreeBSD. While the FreeBSD development team tries its best to
+ensure that each snapshot works as advertised, 9.2-STABLE is very
+much a work-in-progress.</p>
+<p>The basic requirements for using this snapshot are technical
+proficiency with FreeBSD and an understanding of the ongoing
+development process of FreeBSD 9.2-STABLE (as discussed on the
+<a class="ulink" href=
+"http://lists.FreeBSD.org/mailman/listinfo/freebsd-current" target=
+"_top">FreeBSD-CURRENT mailing list</a>).</p>
+<p>For those more interested in doing business with FreeBSD than in
+experimenting with new FreeBSD technology, formal releases (such as
+9.1-RELEASE) are frequently more appropriate. Releases undergo a
+period of testing and quality assurance checking to ensure high
+reliability and dependability.</p>
+</div>
+</div>
+<div class="sect1" title="2.&nbsp;Obtaining FreeBSD">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h2 xmlns="http://www.w3.org/1999/xhtml" class="title" style=
+"clear: both"><a id="obtain"></a>2.&nbsp;Obtaining FreeBSD</h2>
+</div>
+</div>
+</div>
+<p>FreeBSD may be obtained in a variety of ways. This section
+focuses on those ways that are primarily useful for obtaining a
+complete FreeBSD distribution, rather than updating an existing
+installation.</p>
+<div class="sect2" title="2.1.&nbsp;CDROM and DVD">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"idp59356976"></a>2.1.&nbsp;CDROM and DVD</h3>
+</div>
+</div>
+</div>
+<p>FreeBSD -RELEASE distributions may be ordered on CDROM or DVD
+from several publishers. This is frequently the most convenient way
+to obtain FreeBSD for new installations, as it provides a
+convenient way to quickly reinstall the system if necessary. Some
+distributions include some of the optional, precompiled
+<span class="quote">“<span class="quote">packages</span>”</span>
+from the FreeBSD Ports Collection, or other extra material.</p>
+<p>A list of the CDROM and DVD publishers known to the project are
+listed in the <a class="ulink" href=
+"http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mirrors.html"
+target="_top"><span class="quote">“<span class="quote">Obtaining
+FreeBSD</span>”</span></a> appendix to the Handbook.</p>
+</div>
+<div class="sect2" title="2.2.&nbsp;FTP">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"idp59362736"></a>2.2.&nbsp;FTP</h3>
+</div>
+</div>
+</div>
+<p>You can use FTP to retrieve FreeBSD and any or all of its
+optional packages from <a class="ulink" href=
+"ftp://ftp.FreeBSD.org/" target="_top">ftp://ftp.FreeBSD.org/</a>,
+which is the official FreeBSD release site, or any of its
+<span class="quote">“<span class=
+"quote">mirrors</span>”</span>.</p>
+<p>Lists of locations that mirror FreeBSD can be found in the
+<a class="ulink" href=
+"http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html"
+target="_top">FTP Sites</a> section of the Handbook. Finding a
+close (in networking terms) mirror from which to download the
+distribution is highly recommended.</p>
+<p>Additional mirror sites are always welcome. Contact <code class=
+"email">&lt;<a xmlns="http://www.w3.org/TR/xhtml1/transitional"
+class="email" href=
+"mailto:freebsd-admin@FreeBSD.org">freebsd-admin@FreeBSD.org</a>&gt;</code>
+for more details on becoming an official mirror site. You can also
+find useful information for mirror sites at the <a class="ulink"
+href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/hubs/"
+target="_top">Mirroring FreeBSD</a> article.</p>
+<p>Mirrors generally contain the ISO images generally used to
+create a CDROM of a FreeBSD release. They usually also contain
+floppy disk images (for applicable platforms), as well as the files
+necessary to do an installation over the network. Finally mirrors
+sites usually contain a set of packages for the most current
+release.</p>
+</div>
+</div>
+<div class="sect1" title="3.&nbsp;Contacting the FreeBSD Project">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h2 xmlns="http://www.w3.org/1999/xhtml" class="title" style=
+"clear: both"><a id="contacting"></a>3.&nbsp;Contacting the FreeBSD
+Project</h2>
+</div>
+</div>
+</div>
+<div class="sect2" title="3.1.&nbsp;Email and Mailing Lists">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"idp59383856"></a>3.1.&nbsp;Email and Mailing Lists</h3>
+</div>
+</div>
+</div>
+<p>For any questions or general technical support issues, please
+send mail to the <a class="ulink" href=
+"http://lists.FreeBSD.org/mailman/listinfo/freebsd-questions"
+target="_top">FreeBSD general questions mailing list</a>.</p>
+<p>If you're tracking the 9.2-STABLE development efforts, you
+<span class="emphasis"><em>must</em></span> join the <a class=
+"ulink" href=
+"http://lists.FreeBSD.org/mailman/listinfo/freebsd-current" target=
+"_top">FreeBSD-CURRENT mailing list</a>, in order to keep abreast
+of recent developments and changes that may affect the way you use
+and maintain the system.</p>
+<p>Being a largely-volunteer effort, the FreeBSD Project is always
+happy to have extra hands willing to help—there are already far
+more desired enhancements than there is time to implement them. To
+contact the developers on technical matters, or with offers of
+help, please send mail to the <a class="ulink" href=
+"http://lists.FreeBSD.org/mailman/listinfo/freebsd-hackers" target=
+"_top">FreeBSD technical discussions mailing list</a>.</p>
+<p>Please note that these mailing lists can experience <span class=
+"emphasis"><em>significant</em></span> amounts of traffic. If you
+have slow or expensive mail access, or are only interested in
+keeping up with major FreeBSD events, you may find it preferable to
+subscribe instead to the <a class="ulink" href=
+"http://lists.FreeBSD.org/mailman/listinfo/freebsd-announce"
+target="_top">FreeBSD announcements mailing list</a>.</p>
+<p>All of the mailing lists can be freely joined by anyone wishing
+to do so. Visit the <a class="ulink" href=
+"http://www.FreeBSD.org/mailman/listinfo" target="_top">FreeBSD
+Mailman Info Page</a>. This will give you more information on
+joining the various lists, accessing archives, etc. There are a
+number of mailing lists targeted at special interest groups not
+mentioned here; more information can be obtained either from the
+Mailman pages or the <a class="ulink" href=
+"http://www.FreeBSD.org/support.html#mailing-list" target=
+"_top">mailing lists section</a> of the FreeBSD Web site.</p>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class=
+"important" title="Important">
+<h3 class="admontitle">Important:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">Do <span class=
+"emphasis"><em>not</em></span> send email to the lists asking to be
+subscribed. Use the Mailman interface instead.</p>
+</div>
+</div>
+<div class="sect2" title="3.2.&nbsp;Submitting Problem Reports">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"idp59407152"></a>3.2.&nbsp;Submitting Problem Reports</h3>
+</div>
+</div>
+</div>
+<p>Suggestions, bug reports and contributions of code are always
+valued—please do not hesitate to report any problems you may find.
+Bug reports with attached fixes are of course even more
+welcome.</p>
+<p>The preferred method to submit bug reports from a machine with
+Internet mail connectivity is to use the <a class="citerefentry"
+href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=send-pr&amp;amp;sektion=1">
+<span class="citerefentry"><span class=
+"refentrytitle">send-pr</span>(1)</span></a> command. <span class=
+"quote">“<span class="quote">Problem Reports</span>”</span> (PRs)
+submitted in this way will be filed and their progress tracked; the
+FreeBSD developers will do their best to respond to all reported
+bugs as soon as possible. <a class="ulink" href=
+"http://www.FreeBSD.org/cgi/query-pr-summary.cgi" target="_top">A
+list of all active PRs</a> is available on the FreeBSD Web site;
+this list is useful to see what potential problems other users have
+encountered.</p>
+<p>Note that <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=send-pr&amp;amp;sektion=1">
+<span class="citerefentry"><span class=
+"refentrytitle">send-pr</span>(1)</span></a> itself is a shell
+script that should be easy to move even onto a non-FreeBSD system.
+Using this interface is highly preferred. If, for some reason, you
+are unable to use <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=send-pr&amp;amp;sektion=1">
+<span class="citerefentry"><span class=
+"refentrytitle">send-pr</span>(1)</span></a> to submit a bug
+report, you can try to send it to the <a class="ulink" href=
+"http://lists.FreeBSD.org/mailman/listinfo/freebsd-bugs" target=
+"_top">FreeBSD problem reports mailing list</a>.</p>
+<p>For more information, <a class="ulink" href=
+"http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/problem-reports/"
+target="_top"><span class="quote">“<span class="quote">Writing
+FreeBSD Problem Reports</span>”</span></a>, available on the
+FreeBSD Web site, has a number of helpful hints on writing and
+submitting effective problem reports.</p>
+</div>
+</div>
+<div class="sect1" title="4.&nbsp;Further Reading">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h2 xmlns="http://www.w3.org/1999/xhtml" class="title" style=
+"clear: both"><a id="seealso"></a>4.&nbsp;Further Reading</h2>
+</div>
+</div>
+</div>
+<p>There are many sources of information about FreeBSD; some are
+included with this distribution, while others are available on-line
+or in print versions.</p>
+<div class="sect2" title="4.1.&nbsp;Release Documentation">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"release-docs"></a>4.1.&nbsp;Release Documentation</h3>
+</div>
+</div>
+</div>
+<p>A number of other files provide more specific information about
+this snapshot distribution. These files are provided in various
+formats. Most distributions will include both ASCII text
+(<code class="filename">.TXT</code>) and HTML (<code class=
+"filename">.HTM</code>) renditions. Some distributions may also
+include other formats such as Portable Document Format
+(<code class="filename">.PDF</code>).</p>
+<div class="itemizedlist">
+<ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p><code class="filename">README.TXT</code>: This file, which gives
+some general information about FreeBSD as well as some cursory
+notes about obtaining a distribution.</p>
+</li>
+<li class="listitem">
+<p><code class="filename">RELNOTES.TXT</code>: The release notes,
+showing what's new and different in FreeBSD 9.2-RELEASE compared to
+the previous release (FreeBSD 9.1-RELEASE).</p>
+</li>
+<li class="listitem">
+<p><code class="filename">HARDWARE.TXT</code>: The hardware
+compatibility list, showing devices with which FreeBSD has been
+tested and is known to work.</p>
+</li>
+<li class="listitem">
+<p><code class="filename">ERRATA.TXT</code>: Release errata.
+Late-breaking, post-release information can be found in this file,
+which is principally applicable to releases (as opposed to
+snapshots). It is important to consult this file before installing
+a release of FreeBSD, as it contains the latest information on
+problems which have been found and fixed since the release was
+created.</p>
+</li>
+</ul>
+</div>
+<div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="note"
+title="Note">
+<h3 class="admontitle">Note:</h3>
+<p xmlns="http://www.w3.org/1999/xhtml">It is extremely important
+to read the errata for any given release before installing it, to
+learn about any <span class="quote">“<span class=
+"quote">late-breaking news</span>”</span> or post-release problems.
+The errata file accompanying each release (most likely right next
+to this file) is already out of date by definition, but other
+copies are kept updated on the Internet and should be consulted as
+the <span class="quote">“<span class="quote">current
+errata</span>”</span> for this release. These other copies of the
+errata are located at <a class="ulink" href=
+"http://www.FreeBSD.org/releases/" target=
+"_top">http://www.FreeBSD.org/releases/</a> (as well as any sites
+which keep up-to-date mirrors of this location).</p>
+</div>
+</div>
+<div class="sect2" title="4.2.&nbsp;Manual Pages">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"idp59462320"></a>4.2.&nbsp;Manual Pages</h3>
+</div>
+</div>
+</div>
+<p>As with almost all <span class="trademark">UNIX</span>® like
+operating systems, FreeBSD comes with a set of on-line manual
+pages, accessed through the <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=man&amp;amp;sektion=1"><span class="citerefentry">
+<span class="refentrytitle">man</span>(1)</span></a> command or
+through the <a class="ulink" href=
+"http://www.FreeBSD.org/cgi/man.cgi" target="_top">hypertext manual
+pages gateway</a> on the FreeBSD Web site. In general, the manual
+pages provide information on the different commands and APIs
+available to the FreeBSD user.</p>
+<p>In some cases, manual pages are written to give information on
+particular topics. Notable examples of such manual pages are
+<a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=tuning&amp;amp;sektion=7">
+<span class="citerefentry"><span class=
+"refentrytitle">tuning</span>(7)</span></a> (a guide to performance
+tuning), <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=security&amp;amp;sektion=7">
+<span class="citerefentry"><span class=
+"refentrytitle">security</span>(7)</span></a> (an introduction to
+FreeBSD security), and <a class="citerefentry" href=
+"http://www.FreeBSD.org/cgi/man.cgi?query=style&amp;amp;sektion=9"><span class="citerefentry">
+<span class="refentrytitle">style</span>(9)</span></a> (a style
+guide to kernel coding).</p>
+</div>
+<div class="sect2" title="4.3.&nbsp;Books and Articles">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id=
+"idp59494960"></a>4.3.&nbsp;Books and Articles</h3>
+</div>
+</div>
+</div>
+<p>Two highly-useful collections of FreeBSD-related information,
+maintained by the FreeBSD Project, are the FreeBSD Handbook and
+FreeBSD FAQ (Frequently Asked Questions document). On-line versions
+of the <a class="ulink" href=
+"http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/"
+target="_top">Handbook</a> and <a class="ulink" href=
+"http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/faq/" target=
+"_top">FAQ</a> are always available from the <a class="ulink" href=
+"http://www.FreeBSD.org/docs.html" target="_top">FreeBSD
+Documentation page</a> or its mirrors. If you install the
+<code class="filename">doc</code> distribution set, you can use a
+Web browser to read the Handbook and FAQ locally. In particular,
+note that the Handbook contains a step-by-step guide to installing
+FreeBSD.</p>
+<p>A number of on-line books and articles, also maintained by the
+FreeBSD Project, cover more-specialized, FreeBSD-related topics.
+This material spans a wide range of topics, from effective use of
+the mailing lists, to dual-booting FreeBSD with other operating
+systems, to guidelines for new committers. Like the Handbook and
+FAQ, these documents are available from the FreeBSD Documentation
+Page or in the <code class="filename">doc</code> distribution
+set.</p>
+<p>A listing of other books and documents about FreeBSD can be
+found in the <a class="ulink" href=
+"http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/bibliography.html"
+target="_top">bibliography</a> of the FreeBSD Handbook. Because of
+FreeBSD's strong <span class="trademark">UNIX</span>® heritage,
+many other articles and books written for <span class=
+"trademark">UNIX</span>® systems are applicable as well, some of
+which are also listed in the bibliography.</p>
+</div>
+</div>
+<div class="sect1" title="5.&nbsp;Acknowledgments">
+<div xmlns="" class="titlepage">
+<div>
+<div>
+<h2 xmlns="http://www.w3.org/1999/xhtml" class="title" style=
+"clear: both"><a id=
+"acknowledgements"></a>5.&nbsp;Acknowledgments</h2>
+</div>
+</div>
+</div>
+<p>FreeBSD represents the cumulative work of many hundreds, if not
+thousands, of individuals from around the world who have worked
+countless hours to bring about this snapshot. For a complete list
+of FreeBSD developers and contributors, please see <a class="ulink"
+href=
+"http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributors/"
+target="_top"><span class="quote">“<span class="quote">Contributors
+to FreeBSD</span>”</span></a> on the FreeBSD Web site or any of its
+mirrors.</p>
+<p>Special thanks also go to the many thousands of FreeBSD users
+and testers all over the world, without whom this snapshot simply
+would not have been possible.</p>
+</div>
+</div>
+</body>
+</html>
Property changes on: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/readme.html
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+on
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/sgml
\ No newline at end of property
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/relnotes.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/relnotes.xml (nonexistent)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/relnotes.xml (revision 42804)
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
+"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
+<!ENTITY release.version "9.2-RELEASE">
+<!ENTITY title "&os; &release.version; Release Notes">
+<!ENTITY svn.rev "http://svn.FreeBSD.org/viewvc/base?view=revision&amp;revision=">
+<!ENTITY manlink.begin "http://www.FreeBSD.org/cgi/man.cgi?manpath=&os;+&release.version;">
+<!ENTITY man.awk.1 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=awk&amp;sektion=1'>awk(1)</a>">
+<!ENTITY man.less.1 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=less&amp;sektion=1'>less(1)</a>">
+<!ENTITY man.setfib.1 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=setfib&amp;sektion=1'>setfib(1)</a>">
+<!ENTITY man.xz.1 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=xz&amp;sektion=1'>xz(1)</a>">
+<!ENTITY man.cam.4 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=cam&amp;sektion=4'>cam(4)</a>">
+<!ENTITY man.ctl.4 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=ctl&amp;sektion=4'>ctl(4)</a>">
+<!ENTITY man.cxgbe.4 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=cxgbe&amp;sektion=4'>cxgbe(4)</a>">
+<!ENTITY man.firewire.4 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=firewire&amp;sektion=4'>firewire(4)</a>">
+<!ENTITY man.ixgbe.4 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=ixgbe&amp;sektion=4'>ixgbe(4)</a>">
+<!ENTITY man.virtio.4 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=virtio&amp;sektion=4'>virtio(4)</a>">
+<!ENTITY man.nvme.4 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=nvme&amp;sektion=4'>nvme(4)</a>">
+<!ENTITY man.oce.4 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=oce&amp;sektion=4'>oce(4)</a>">
+<!ENTITY man.vlan.4 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=vlan&amp;sektion=4'>vlan(4)</a>">
+<!ENTITY man.wlan.4 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=wlan&amp;sektion=4'>wlan(4)</a>">
+<!ENTITY man.rc.conf.5 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=rc.conf&amp;sektion=5'>rc.conf(5)</a>">
+<!ENTITY man.sysctl.conf.5 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=sysctl.conf&amp;sektion=5'>sysctl.conf(5)</a>">
+<!ENTITY man.bsdinstall.8 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=bsdinstall&amp;sektion=8'>bsdinstall(8)</a>">
+<!ENTITY man.hostapd.8 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=hostapd&amp;sektion=8'>hostapd(8)</a>">
+<!ENTITY man.rarpd.8 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=rarpd&amp;sektion=8'>rarpd(8)</a>">
+<!--
+ Sample manual page entity:
+ <!ENTITY man.fstab.5 "<a xmlns='http://www.w3.org/1999/xhtml' href='&manlink.begin;&amp;query=fstab&amp;sektion=5'>fstab(5)</a>">
+-->
+]>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>&title;</title>
+
+ <cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
+ </head>
+
+ <body class="navinclude.download">
+
+ <!--
+ <p>This is a simplified version of the &os;&nbsp;&release.version;
+ release notes.</p>
+ -->
+
+ <!--
+ <div class="IMPORTANT">
+ <blockquote class="IMPORTANT">
+ <p><b>Important:</b> If you are upgrading from a previous
+ release of FreeBSD, please read <a
+ href="http://www.FreeBSD.org/releases/9.2R/relnotes-detailed.html#UPGRADE"
+ target="_top">upgrading section in the Release Notes</a> for
+ notable incompatibilities carefully.</p>
+ </blockquote>
+ </div>
+ -->
+
+ <h2>Release Highlights</h2>
+
+ <p>The highlights in the &release.version; include the
+ following.</p>
+
+ <ul>
+ <li>
+ <p>Support for &man.rarpd.8; added to &man.vlan.4;.
+ [<a href="&svn.rev;245076">r245076</a>]</p></li>
+
+ <li>
+ <p>&man.xz.1; updated to version 5.0.4.
+ [<a href="&svn.rev;245128">r245128</a>]</p></li>
+
+ <li>
+ <p>The ZFS filesystem now supports TRIM when used on solid
+ state drives. ZFS TRIM support is enabled by default. [<a
+ href="&svn.rev;251419">r251419</a>] The following
+ tunables have been added:</p>
+ <ul>
+ <li>
+ <p><code class="varname">vfs.zfs.trim.enabled</code>:
+ Enable ZFS TRIM</p></li>
+
+ <li>
+ <p><code class="varname">vfs.zfs.trim.max_interval</code>:
+ Maximum interval in seconds between TRIM queue
+ processing</p></li>
+
+ <li>
+ <p><code class="varname">vfs.zfs.trim.timeout</code>:
+ Delay TRIMs by up to this many seconds</p></li>
+
+ <li>
+ <p><code class="varname">vfs.zfs.trim.txg_delay</code>:
+ Delay TRIMs by up to this many TXGs</p></li>
+ </ul>
+ </li>
+
+ <li>
+ <p>The &man.firewire.4; drivers have been removed from the
+ GENERIC kernel configuration for all architectures. [<a
+ href="&svn.rev;246321">r246321</a>]</p></li>
+
+ <li>
+ <p>&man.awk.1; has been updated to version 20121220. [<a
+ href="&svn.rev;246373">r246373</a>]</p></li>
+
+ <li>
+ <p>The &man.virtio.4; drivers have been added to the GENERIC
+ kernel configuration for amd64 and i386 architectures. [<a
+ href="&svn.rev;247306">r247306</a>]</p></li>
+
+ <li>
+ <p>The ZFS filesystem now supports lz4 compression. [<a
+ href="&svn.rev;247309">r247309</a>]</p></li>
+
+ <li>
+ <p>The &man.oce.4; has been updated to version 4.6.95.0.
+ [<a href="&svn.rev;248062">r248062</a>]</p></li>
+
+ <li>
+ <p><b class="application">OpenSSL</b> has been updated to
+ version 0.9.8y. [<a
+ href="&svn.rev;248272">r248272</a>]</p></li>
+
+ <li>
+ <p>The &man.bsdinstall.8; installer now supports installation
+ over HTTP. [<a
+ href="&svn.rev;248313">r248313</a>]</p></li>
+
+ <li>
+ <p><b class="application">DTrace</b> hooks have been enabled
+ by default in the GENERIC kernel. [<a
+ href="&svn.rev;249549">r249549</a>]</p></li>
+
+ <li>
+ <p><b class="application">DTrace</b> has been updated to
+ version 1.9.0. [<a
+ href="&svn.rev;249856">r249856</a>]</p></li>
+
+ <li>
+ <p><b class="application">Sendmail</b> has been updated to
+ version 8.14.7. [<a
+ href="&svn.rev;r249865">r249865</a>, <a
+ href="&svn.rev;r249866">r249866</a>, <a
+ href="&svn.rev;r249867">r249867</a>, <a
+ href="&svn.rev;r249875">r249875</a>]</p></li>
+
+ <li>
+ <p><b class="application">OpenSSH</b> has been updated to
+ version 6.2p2. [<a
+ href="&svn.rev;251135">r251135</a>]</p></li>
+
+ <li>
+ <p>&man.less.1; has been updated to version 458. [<a
+ href="&svn.rev;251154">r251154</a>]</p></li>
+
+ <li>
+ <p>Add ATA pass-through support to &man.cam.4;. [<a
+ href="&svn.rev;251302">r251302</a>]</p></li>
+
+ <li>
+ <p>Implement new &man.rc.conf.5; syntax for &man.hostapd.8;.
+ The new format is: <code>ifconfig_wlanX="HOSTAP"</code>,
+ where <code>X</code> represents the &man.wlan.4; interface.
+ [<a
+ href="&svn.rev;252748">r252748</a>]</p></li>
+
+ <li>
+ <p>Import unmapped I/O support from <code>head/</code>. [<a
+ href="&svn.rev;251897">r251897</a>]</p></li>
+
+ <li>
+ <p>Merge &man.nvme.4; from <code>head/</code>. [<a
+ href="&svn.rev;252222">r252222</a>]</p></li>
+
+ <li>
+ <p>Add support for the Chelsio 40G T5. [<a
+ href="&svn.rev;252495">r252495</a>]</p></li>
+
+ <li>
+ <p>Add a tunable to increase the initial TCP congestion
+ window from 4 segments to 10 segments. This tunable
+ can be enabled by adding
+ <code>net.inet.tcp.experimental.initcwnd10=1</code> to
+ &man.sysctl.conf.5;. This tunable is turned off by default
+ in &os;&nbsp;&release.version;.
+ [<a
+ href="&svn.rev;252789">r252789</a>]</p></li>
+
+ <li>
+ <p>Update the &man.ixgbe.4; driver. [<a
+ href="&svn.rev;252898">r252898</a>]</p></li>
+
+ <li>
+ <p>Update the Intel e1000 driver. [<a
+ href="&svn.rev;252899">r252899</a>]</p></li>
+
+ <li>
+ <p>Add support for the HighPoint DC Series Data Center HBA
+ (DC7280 and R750). [<a
+ href="&svn.rev;252903">r252903</a>]</p></li>
+
+ <li>
+ <p>Add service-specific &man.setfib.1; support.
+ This is enabled by setting:
+ <code>&lt;name&gt;_fib</code> in &man.rc.conf.5;.[<a
+ href="&svn.rev;253233">r253233</a>]</p></li>
+
+ <li>
+ <p>Update devices supported by &man.cxgbe.4;. [<a
+ href="&svn.rev;253776">r253776</a>]</p></li>
+
+ <li>
+ <p>Remove &man.ctl.4; from the GENERIC kernel configuration.
+ [<a
+ href="&svn.rev;253860">r253860</a>]</p></li>
+
+ </ul>
+
+ </body>
+</html>
Property changes on: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/relnotes.xml
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/sgml
\ No newline at end of property
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/schedule.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/schedule.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/9.2R/schedule.xml (revision 42804)
@@ -1,164 +1,173 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/sgml/xhtml10-freebsd.dtd" [
<!ENTITY email 'freebsd-qa'>
<!ENTITY local.rel "9.2">
<!ENTITY local.branch.stable "stable/9">
<!ENTITY local.branch.releng "releng/9.2">
<!ENTITY title "FreeBSD &local.rel; Release Process">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.download">
<h1>Introduction</h1>
<p>This is the release schedule for FreeBSD &local.rel;. For more
information about the release engineering process, please see the <a
href="&base;/releng/index.html">Release Engineering</a> section of the
web site.</p>
<p>General discussions about the pending release and known issues should be
sent to the public
<a href="mailto:FreeBSD-stable@FreeBSD.org">freebsd-stable</a> mailing list.
<a href="&base;/doc/en_US.ISO8859-1/books/handbook/freebsd-glossary.html#MFC-GLOSSARY">MFC</a>
requests should be sent to
<a href="mailto:re@FreeBSD.org">re@FreeBSD.org</a>.</p>
<h1>Schedule</h1>
<table class="tblbasic">
<tr class="heading">
<td>Action</td>
<td>Expected</td>
<td>Actual</td>
<td>Description</td>
</tr>
<tr>
<td>Initial release schedule announcement</td>
<td>-</td>
<td>23&nbsp;June&nbsp;2013</td>
<td>Release Engineers send announcement email to developers with a
rough schedule.</td>
</tr>
<tr>
<td>Release schedule reminder</td>
<td>1&nbsp;July&nbsp;2013</td>
<td>4&nbsp;July&nbsp;2013</td>
<td>Release Engineers send reminder announcement e-mail to developers
with updated schedule.</td>
</tr>
<tr>
<td>Code slush begins</td>
<td>6&nbsp;July&nbsp;2013</td>
<td>6&nbsp;July&nbsp;2013</td>
<td>Release Engineers announce that all further commits to the
&local.branch.stable; branch will not require explicit approval,
however new features should be avoided.</td>
</tr>
<tr>
<td>Code freeze begins</td>
<td>12&nbsp;July&nbsp;2013</td>
<td>12&nbsp;July&nbsp;2013</td>
<td>Release Engineers announce that all further commits to the
&local.branch.stable; branch will require explicit approval.
Certain blanket approvals will be granted for narrow areas of
development, documentation improvements, etc.</td>
</tr>
<tr>
<td>BETA1 builds begin</td>
<td>19&nbsp;July&nbsp;2013</td>
<td>19&nbsp;July&nbsp;2013</td>
<td>First beta test snapshot.</td>
</tr>
<tr>
<td>BETA2 builds begin</td>
<td>26&nbsp;July&nbsp;2013</td>
<td>26&nbsp;July&nbsp;2013</td>
<td>Second beta test snapshot.</td>
</tr>
<tr>
<td>&local.branch.releng; branch</td>
<td>1&nbsp;August&nbsp;2013</td>
<td>3&nbsp;August&nbsp;2013</td>
<td>Subversion branch created; future release engineering
proceeds on this branch.</td>
</tr>
<tr>
<td>RC1 builds begin</td>
<td>2&nbsp;August&nbsp;2013</td>
<td>3&nbsp;August&nbsp;2013</td>
<td>First release candidate.</td>
</tr>
<tr>
<td>RC2 builds begin</td>
<td>9&nbsp;August&nbsp;2013</td>
<td>15&nbsp;August&nbsp;2013</td>
<td>Second release candidate.</td>
</tr>
<tr>
<td>RC3 builds begin</td>
<td>16&nbsp;August&nbsp;2013</td>
- <td>-</td>
+ <td>24&nbsp;August&nbsp;2013</td>
<td>Third release candidate.</td>
</tr>
<tr>
+ <td>RC4 builds begin</td>
+ <td>31&nbsp;August&nbsp;2013</td>
+ <td>11&nbsp;September&nbsp;2013</td>
+ <td>Fourth release candidate.</td>
+ </tr>
+
+ <tr>
<td>RELEASE builds begin</td>
- <td>23&nbsp;August&nbsp;2013</td>
- <td>-</td>
+ <td><s>23&nbsp;August&nbsp;2013</s><br/>
+ 6&nbsp;September&nbsp;2013</td>
+ <td>26&nbsp;September&nbsp;2013</td>
<td>9.2-RELEASE built.</td>
</tr>
<tr>
<td>RELEASE announcement</td>
- <td>31&nbsp;August&nbsp;2013</td>
- <td>-</td>
+ <td><s>31&nbsp;August&nbsp;2013</s><br/>
+ 14&nbsp;September&nbsp;2013</td>
+ <td>30&nbsp;September&nbsp;2013</td>
<td>9.2-RELEASE press release.</td>
</tr>
<tr>
<td>Turn over to the secteam</td>
<td>-</td>
<td>-</td>
<td>&local.branch.releng; branch is handed over to the FreeBSD
Security Officer Team in one or two weeks after the
announcement.</td>
</tr>
</table>
<!--
<h1>Status / TODO</h1>
<a href="http://wiki.freebsd.org/Releng/9.2TODO">http://wiki.freebsd.org/Releng/9.2TODO</a>
-->
<h1>Additional Information</h1>
<ul>
<!--
<li><a href="http://wiki.freebsd.org/Releng/9.2TODO/">FreeBSD 9.2 release
engineering wiki page</a>, which includes todo lists, scheduling
information, binary compatibility information, and more.</li>
-->
<li><a href="&base;/releng/index.html">FreeBSD Release Engineering website</a></li>
</ul>
</body>
</html>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/Makefile
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/Makefile (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releases/Makefile (revision 42804)
@@ -1,26 +1,27 @@
# $FreeBSD$
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS?= index.xml
SUBDIR= 1.1 1.1.5 2.0 2.0.5R 2.1R 2.1.5R 2.1.6R 2.1.7R 2.2R
SUBDIR+= 2.2.1R 2.2.2R 2.2.5R 2.2.6R 2.2.7R 2.2.8R 3.0R 3.1R 3.2R
SUBDIR+= 3.3R 3.4R 3.5R 4.0R 4.1R 4.1.1R 4.2R 4.3R 4.4R 4.5R 4.6R
SUBDIR+= 4.6.2R 4.7R 4.8R 4.9R 4.10R 4.11R
SUBDIR+= 5.0R 5.1R 5.2R 5.2.1R 5.3R 5.4R 5.5R
SUBDIR+= 6.0R 6.1R 6.2R 6.3R 6.4R
SUBDIR+= 7.0R 7.1R 7.2R 7.3R 7.4R
SUBDIR+= 8.0R 8.1R 8.2R 8.3R 8.4R
SUBDIR+= 9.0R 9.1R 9.2R
+SUBDIR+= 10.0R
.if defined(NEW_BUILD)
SUBDIR=
.endif
.include "${DOC_PREFIX}/share/mk/web.site.mk"
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releng/index.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releng/index.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/releng/index.xml (revision 42804)
@@ -1,468 +1,468 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY email 're'>
<!ENTITY title "Release Engineering Information">
<!ENTITY contact.re '<a xmlns="http://www.w3.org/1999/xhtml" href="mailto:re@FreeBSD.org">re@FreeBSD.org</a>'>
<!ENTITY contact.so '<a xmlns="http://www.w3.org/1999/xhtml" href="mailto:security-officer@FreeBSD.org">security-officer@FreeBSD.org</a>'>
<!ENTITY contact.portmgr '<a xmlns="http://www.w3.org/1999/xhtml" href="mailto:portmgr@FreeBSD.org">portmgr@FreeBSD.org</a>'>
<!ENTITY contact.doc '<a xmlns="http://www.w3.org/1999/xhtml" href="mailto:freebsd-doc@FreeBSD.org">freebsd-doc@FreeBSD.org</a>'>
<!ENTITY contact.doceng '<a xmlns="http://www.w3.org/1999/xhtml" href="mailto:doceng@FreeBSD.org">doceng@FreeBSD.org</a>'>
<!ENTITY contact.www '<a xmlns="http://www.w3.org/1999/xhtml" href="mailto:freebsd-www@FreeBSD.org">freebsd-www@FreeBSD.org</a>'>
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<p>This page contains documentation about the FreeBSD release
engineering process.</p>
<ul>
<li><a href="#schedule">Upcoming Release Schedule</a></li>
<li><a href="#freeze">Code Freeze Status</a></li>
<li><a href="&base;/releng/charter.html">Charter for the Release
Engineering Team</a></li>
<li><a href="#docs">Release Engineering Documentation</a></li>
<li><a href="#team">Current Release Engineering Team</a></li>
<li><a href="#faq">Frequently Asked Questions</a></li>
<!--
<li>General information about committing to -STABLE.</li>
-->
</ul>
<h2><a name="schedule" id="schedule">Upcoming Release Schedule</a></h2>
<p>NOTE: Release dates are approximate and may be subject to
schedule slippage.</p>
<table class="tblbasic">
<tr>
<th>Date</th>
<th>Event</th>
<th>Information</th>
</tr>
<tr>
- <td>August 2013</td>
- <td>&os; 9.2</td>
- <td><a href="&base;/releases/9.2R/schedule.html">Target Schedule</a></td>
+ <td>November 2013</td>
+ <td>&os; 10.0</td>
+ <td><a href="&base;/releases/10.0R/schedule.html">Target Schedule</a></td>
</tr>
</table>
<h2><a name="freeze" id="freeze">Code-Freeze Status</a></h2>
<p>The following table lists the code freeze status for the major
branches of the <tt>src/</tt> subtree of the FreeBSD Subversion
repository. Commits to any branch listed as "frozen" must first
be reviewed and approved by the relevant contact party. The
status of other subtrees such as <tt>ports/</tt> and <tt>doc/</tt>,
is also provided below.</p>
<table class="tblbasic">
<tr>
<th>Branch</th>
<th>Status</th>
<th>Contact</th>
<th>Notes</th>
</tr>
<tr>
<td><tt>head</tt></td>
- <td>Open</td>
- <td>committers</td>
+ <td>Frozen</td>
+ <td>&contact.re;</td>
<td>Active development branch for 10-CURRENT.</td>
</tr>
<tr>
<td><tt>stable/9</tt></td>
<td>Open</td>
<td>committers</td>
<td>Development branch for FreeBSD 9-STABLE.</td>
</tr>
<tr>
<td><tt>releng/9.2</tt></td>
<td>Frozen</td>
<td>&contact.re;</td>
<td>FreeBSD 9.2 supported errata fix branch.</td>
</tr>
<tr>
<td><tt>releng/9.1</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 9.1 supported errata fix branch.</td>
</tr>
<tr>
<td><tt>releng/9.0</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 9.0 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>stable/8</tt></td>
<td>Open</td>
<td>committers</td>
<td>Development branch for 8-STABLE.</td>
</tr>
<tr>
<td><tt>releng/8.4</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 8.4 supported errata fix branch.</td>
</tr>
<tr>
<td><tt>RELENG_8_3</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 8.3 supported errata fix branch.</td>
</tr>
<tr>
<td><tt>RELENG_8_2</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 8.2 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_8_1</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 8.1 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_8_0</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 8.0 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_7</tt></td>
<td>Open</td>
<td>committers</td>
<td>Maintenance branch for 7-STABLE (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_7_4</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 7.4 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_7_3</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 7.3 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_7_2</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 7.2 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_7_1</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 7.1 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_7_0</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 7.0 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_6</tt></td>
<td>Open</td>
<td>committers</td>
<td>Maintenance branch for 6-STABLE (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_6_4</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 6.4 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_6_3</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 6.3 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_6_2</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 6.2 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_6_1</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 6.1 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_6_0</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 6.0 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_5</tt></td>
<td>Open</td>
<td>committers</td>
<td>Maintenance branch for 5-STABLE (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_5_5</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 5.5 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_5_4</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 5.4 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_5_3</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 5.3 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_5_2</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 5.2 / 5.2.1 security fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_5_1</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 5.1 security fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_5_0</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 5.0 security fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_4</tt></td>
<td>Open</td>
<td>committers</td>
<td>Maintenance branch for 4-STABLE (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_4_11</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 4.11 errata fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_4_10</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 4.10 security fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_4_9</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 4.9 security fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_4_8</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 4.8 security fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_4_7</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 4.7 security fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_4_6</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 4.6 security fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_4_5</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 4.5 security fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_4_4</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 4.4 security fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_4_3</tt></td>
<td>Frozen</td>
<td>&contact.so;</td>
<td>FreeBSD 4.3 security fix branch (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_3</tt></td>
<td>Open</td>
<td>committers</td>
<td>Maintenance branch for 3-STABLE (not officially supported).</td>
</tr>
<tr>
<td><tt>RELENG_2_2</tt></td>
<td>Open</td>
<td>committers</td>
<td>Maintenance branch for 2.2-STABLE (not officially supported).</td>
</tr>
<tr class="heading">
<th>Subtree</th>
<th>Status</th>
<th>Contact</th>
<th>Notes</th>
</tr>
<tr>
<td><tt>ports/</tt></td>
<td>Open</td>
<td>&contact.portmgr;</td>
<td>FreeBSD Ports Collection.</td>
</tr>
<tr>
<td><tt>doc/</tt></td>
<td>Open</td>
<td>&contact.doc;</td>
<td>SGML/XML based documentation set.</td>
</tr>
</table>
<h2><a name="docs" id="docs">Release Engineering Documentation</a></h2>
<ul>
<li><p><a href="&base;/doc/en_US.ISO8859-1/articles/releng/index.html">FreeBSD
Release Engineering</a><br/>
<small>Describes the approach used by the FreeBSD release
engineering team to make production quality releases of the
FreeBSD Operating System. It describes the tools available
for those interested in producing customized FreeBSD releases
for corporate rollouts or commercial
productization.</small></p></li>
<li><p><a href="&base;/doc/en_US.ISO8859-1/articles/releng-packages/index.html">FreeBSD
Release Engineering for Third Party Packages</a><br/>
<small>Describes the approach used by the FreeBSD release
engineering team to produce a high quality package set
suitable for official FreeBSD release media. This document is
a work in progress, but eventually it will cover the process
used to build a clean package set on the FreeBSD.org "Ports
Cluster", how to configure any other set of machines as a
ports cluster, how to split up the packages for the release
media, and how to verify that a package set is
consistent.</small></p></li>
</ul>
<h2><a name="team" id="team">Release Engineering Team</a></h2>
<p>The primary release engineering team is responsible for approving
<a href="&base;/doc/en_US.ISO8859-1/books/handbook/freebsd-glossary.html#MFC-GLOSSARY">MFC</a>
requests during code freezes, setting release schedules, and all of
the other responsibilities laid out in our <a
href="&base;/releng/charter.html">charter</a>.</p>
<p><strong>Primary RE Team
(<a href="mailto:re@FreeBSD.org">re@FreeBSD.org</a>)</strong> :
&a.re.members; form the primary release engineering
decision-making group.</p>
<p>The builders release engineering team is responsible
for building and packaging FreeBSD releases on the various supported
platforms.</p>
<p><strong>Builders REs (<a
href="mailto:re-builders@FreeBSD.org">re-builders@FreeBSD.org</a>)</strong> :
&a.re-builders;</p>
<p>The third party packages in the Ports Collection are managed by the
portmgr@ team. Among many other responsibilities, the port managers
keep the ports cluster running smoothly to produce binary
packages.</p>
<p><strong>Package Builders (&contact.portmgr;)</strong> :
&a.portmgr.members;</p>
<h2><a name="faq" id="faq">Frequently Asked Questions</a></h2>
<p>Where can I find the release directory or ISO images for older
FreeBSD releases?</p>
<p>The FreeBSD Project does not maintain a centralized historical
archive of old release ISO images, but there are still many
options. A large collection of the old releases (many
complete with the package sets) is at <a
href="ftp://ftp-archive.FreeBSD.org/pub/FreeBSD-Archive/old-releases/">
ftp://ftp-archive.FreeBSD.org/pub/FreeBSD-Archive/old-releases/</a>.
If you are unable to find an FTP mirror that still contains the
release you are looking for, then you can email CD-ROM vendors to
see if they have any old releases available. In September 2003,
we know of a case where FreeBSD 1.1 was used in a court of law to
invalidate a bogus software patent. Clearly, older releases can
be very important in some situations.</p>
</body>
</html>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/security/security.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/security/security.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/security/security.xml (revision 42804)
@@ -1,184 +1,191 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD Security Information">
]>
<!-- $FreeBSD$ -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.support">
<h2>Introduction</h2>
<p>FreeBSD takes security very seriously and its developers are
constantly working on making the operating system as secure as
possible. This page will provide information about what to do in
the event of a security vulnerability affecting your system, and
how to report vulnerabilities.</p>
<h2>Table of Contents</h2>
<ul>
<li><a href="#recent">Recent FreeBSD security vulnerabilities</a></li>
<li><a href="#how">How to update your system</a></li>
<li><a href="reporting.html">Reporting FreeBSD security incidents</a></li>
</ul>
<a name="recent"></a>
<h2>Recent FreeBSD security vulnerabilities</h2>
<p>A full list of all security vulnerabilities can be found <a
href="advisories.html">on this page</a>.</p>
<a name="how"></a>
<h2>How to update your system</h2>
<p>For most users, the easiest way to update your supported &os;
&rel.current; or &rel2.current; system is to use the following
commands:</p>
<tt># freebsd-update fetch<br />
# freebsd-update install</tt>
<p>If that fails, follow the other instructions in the security
advisory you care about.</p>
<a name="sup"></a>
<h2>Supported FreeBSD releases</h2>
<p>The current designation and estimated lifetimes of the currently
supported branches are given below. The <em>Estimated EoL
(end-of-life)</em> column gives the earliest date on which that
branch is likely to be dropped. Please note that these dates may
be extended into the future, but only extenuating circumstances
would lead to a branch's support being dropped earlier than the
date listed.</p>
<!--
Please also update head/en_US.ISO8859-1/htdocs/releng/index.xml
when updating this list of supported branches.
-->
<table class="tblbasic">
<tr>
<th>Branch</th>
<th>Release</th>
<th>Type</th>
<th>Release Date</th>
<th>Estimated EoL</th>
</tr>
<tr>
- <td>RELENG_8</td>
+ <td>stable/8</td>
<td>n/a</td>
<td>n/a</td>
<td>n/a</td>
<td>last release + 2 years</td>
</tr>
<tr>
- <td>RELENG_8_4</td>
+ <td>releng/8.4</td>
<td>8.4-RELEASE</td>
<td>Extended</td>
<td>June 9, 2013</td>
<td>June 30, 2015</td>
</tr>
<tr>
- <td>RELENG_8_3</td>
+ <td>releng/8.3</td>
<td>8.3-RELEASE</td>
<td>Extended</td>
<td>April 18, 2012</td>
<td>April 30, 2014</td>
</tr>
<tr>
- <td>RELENG_9</td>
+ <td>stable/9</td>
<td>n/a</td>
<td>n/a</td>
<td>n/a</td>
<td>last release + 2 years</td>
</tr>
<tr>
- <td>RELENG_9_1</td>
+ <td>releng/9.1</td>
<td>9.1-RELEASE</td>
<td>Extended</td>
<td>December 30, 2012</td>
<td>December 31, 2014</td>
</tr>
+ <tr>
+ <td>releng/9.2</td>
+ <td>9.2-RELEASE</td>
+ <td>Normal</td>
+ <td>September 30, 2013</td>
+ <td>September 30, 2014</td>
+ </tr>
</table>
<p>Older releases are not maintained and users are strongly
encouraged to upgrade to one of the supported releases mentioned
above. A list of unsupported releases can be found <a
href="unsupported.html">here</a>.</p>
<p>Advisories are sent to the following FreeBSD mailing lists:</p>
<ul>
<li>FreeBSD-security-notifications@FreeBSD.org</li>
<li>FreeBSD-security@FreeBSD.org</li>
<li>FreeBSD-announce@FreeBSD.org</li>
</ul>
<p>The list of released advisories can be found on the <a
href="advisories.html">FreeBSD Security Advisories</a> page.</p>
<p>Advisories are always signed using the FreeBSD Security Officer
<a href="so_public_key.asc">PGP
key</a> and are archived, along with their associated patches, at
the <a href="http://security.FreeBSD.org/">http://security.FreeBSD.org/</a>
web server in the <a
href="http://security.FreeBSD.org/advisories/">advisories</a> and <a
href="http://security.FreeBSD.org/patches/">patches</a>
subdirectories.</p>
<p>The FreeBSD Security Officer provides security advisories for
<em>-STABLE Branches</em> and the <em>Security Branches</em>.
(Advisories are not issued for the <em>-CURRENT Branch</em>.)</p>
<ul>
<li><p>The -STABLE branch tags have
- names like <tt>RELENG_9</tt>. The corresponding builds have
- names like <tt>FreeBSD 9.1-STABLE</tt>.</p></li>
+ names like <tt>stable/9</tt>. The corresponding builds have
+ names like <tt>FreeBSD 9.2-STABLE</tt>.</p></li>
<li><p>Each FreeBSD Release has an associated Security Branch.
- The Security Branch tags have names like <tt>RELENG_9_1</tt>.
+ The Security Branch tags have names like <tt>releng/9.2</tt>.
The corresponding builds have names like <tt>FreeBSD
- 9.1-RELEASE-p1</tt>.</p></li>
+ 9.2-RELEASE-p1</tt>.</p></li>
</ul>
<p>Issues affecting the FreeBSD Ports Collection are covered in <a
href="http://vuxml.FreeBSD.org/">the FreeBSD VuXML
document</a>.</p>
<p>Each branch is supported by the Security Officer for a limited
time only, and is designated as one of `<em>Early adopter</em>',
`<em>Normal</em>', or `<em>Extended</em>'. The designation is
used as a guideline for determining the lifetime of the branch as
follows.</p>
<dl>
<dt>Early adopter</dt>
<dd>Releases which are published from the -CURRENT branch will be
supported by the Security Officer for a minimum of 6 months after
the release.</dd>
<dt>Normal</dt>
<dd>Releases which are published from a -STABLE branch will be
supported by the Security Officer for a minimum of 12 months after the
release, and for sufficient additional time (if needed) to ensure
that there is a newer release for at least 3 months before the
older Normal release expires.
</dd>
<dt>Extended</dt>
<dd>Selected releases (normally every second release plus the last
release from each -STABLE branch) will be supported by the
Security Officer for a minimum of 24 months after the release,
and for sufficient additional time (if needed) to ensure that
there is a newer Extended release for at least 3 months before the
older Extended release expires.
</dd>
</dl>
</body>
</html>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/where.xml
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/where.xml (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/htdocs/where.xml (revision 42804)
@@ -1,262 +1,260 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "Getting FreeBSD">
<!ENTITY url.rel "ftp://ftp.FreeBSD.org/pub/FreeBSD/releases">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.download">
<a name="releases"></a>
<h2><a href="&base;/releases/index.html">Release
Information</a></h2>
<p>Detailed descriptions of past, present, and future releases.
Look here first to determine what the latest version of FreeBSD
is.</p>
<a name="install"></a>
<h2><a href="&base;/doc/en_US.ISO8859-1/books/handbook/install.html">Installing
FreeBSD</a></h2>
<p>There are many options for installing FreeBSD, including
installation from CD-ROM, DVD, floppy disk, an MS-DOS&reg; partition,
magnetic tape, anonymous FTP, and NFS. Please read through the
<a href="&base;/doc/en_US.ISO8859-1/books/handbook/install.html">installation
guide</a> before downloading the entire FreeBSD distribution.</p>
<a name="distribution"></a>
<h2>Buying FreeBSD</h2>
<p>FreeBSD can be acquired on CD-ROM or DVD from <a
href="http://www.freebsdmall.com/">FreeBSD Mall</a>, or
one of the other <a
href="&base;/doc/en_US.ISO8859-1/books/handbook/mirrors.html">CD-ROM
and DVD Publishers</a>.</p>
<a name="download"></a>
<h2>Download FreeBSD</h2>
<p>If you plan on getting FreeBSD via FTP or HTTP, please check
the listing of <a
href="&base;/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html"><strong>mirror
sites</strong></a> in the handbook to see if there is a site
closer to you.</p>
<table class="tblbasic">
<thead>
<tr style="text-align: center;">
<td colspan="2">Version &amp; Platform</td>
<td>Distribution</td>
<td title="ISO9660 CD image"><a href="&base;/doc/en_US.ISO8859-1/books/handbook/install-diff-media.html#install-cdrom">ISO</a></td>
<td>Release<br/>Notes</td>
<td>Hardware<br/>Notes</td>
<td>Installation<br/>Notes</td>
<td>Errata</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">FreeBSD &rel.current;-RELEASE</td>
<td colspan="2"></td>
- <td rowspan="5"><a href="&base;/releases/&rel.current;R/relnotes.html">[View]</a></td>
- <td rowspan="5"><a href="&base;/releases/&rel.current;R/hardware.html">[View]</a></td>
- <td rowspan="5"><a href="&base;/releases/&rel.current;R/installation.html">[View]</a></td>
- <td rowspan="5"><a href="&base;/releases/&rel.current;R/errata.html">[View]</a></td>
+ <td rowspan="7"><a href="&base;/releases/&rel.current;R/relnotes.html">[View]</a></td>
+ <td rowspan="7"><a href="&base;/releases/&rel.current;R/hardware.html">[View]</a></td>
+ <td rowspan="7"><a href="&base;/releases/&rel.current;R/installation.html">[View]</a></td>
+ <td rowspan="7"><a href="&base;/releases/&rel.current;R/errata.html">[View]</a></td>
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/amd64/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/amd64/amd64/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/i386/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/i386/i386/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
-<!--
<tr>
<td></td>
<td>ia64</td>
<td><a href="&url.rel;/ia64/ia64/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/ia64/ia64/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc</td>
<td><a href="&url.rel;/powerpc/powerpc/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
--->
<tr>
<td></td>
<td>powerpc64</td>
<td><a href="&url.rel;/powerpc/powerpc64/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc64/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/sparc64/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/sparc64/sparc64/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
<tr>
<td colspan="2">FreeBSD &rel2.current;-RELEASE</td>
<td colspan="2"></td>
<td rowspan="5"><a href="&base;/releases/&rel2.current;R/relnotes.html">[View]</a></td>
<td rowspan="5"><a href="&base;/releases/&rel2.current;R/hardware.html">[View]</a></td>
<td rowspan="5"><a href="&base;/doc/en_US.ISO8859-1/books/handbook/install.html">[View]</a></td>
<td rowspan="5"><a href="&base;/releases/&rel2.current;R/errata.html">[View]</a></td>
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/&rel2.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/amd64/ISO-IMAGES/&rel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/&rel2.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/i386/ISO-IMAGES/&rel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>pc98</td>
<td><a href="&url.rel;/pc98/&rel2.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/pc98/ISO-IMAGES/&rel2.current;/">[ISO]</a></td>
</tr>
<!--
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/&rel2.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/sparc64/ISO-IMAGES/&rel2.current;/">[ISO]</a></td>
</tr>
-->
<!--
<tr>
<td colspan="2">FreeBSD &rel3.current;-RELEASE</td>
<td colspan="2"></td>
<td rowspan="7"><a href="&base;/releases/&rel3.current;R/relnotes.html">[View]</a></td>
<td rowspan="7"><a href="&base;/releases/&rel3.current;R/hardware.html">[View]</a></td>
<td rowspan="7"><a href="&base;/doc/en_US.ISO8859-1/books/handbook/install.html">[View]</a></td>
<td rowspan="7"><a href="&base;/releases/&rel3.current;R/errata.html">[View]</a></td>
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/&rel3.current;-RELEASE">[Distribution]</a></td>
<td colspan="2" align="right"><a href="&url.rel;/amd64/ISO-IMAGES/&rel3.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/&rel3.current;-RELEASE">[Distribution]</a></td>
<td colspan="2" align="right"><a href="&url.rel;/i386/ISO-IMAGES/&rel3.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>pc98</td>
<td><a href="&url.rel;/pc98/&rel3.current;-RELEASE">[Distribution]</a></td>
<td colspan="2" align="right"><a href="&url.rel;/pc98/ISO-IMAGES/&rel3.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/&rel3.current;-RELEASE">[Distribution]</a></td>
<td colspan="2" align="right"><a href="&url.rel;/sparc64/ISO-IMAGES/&rel3.current;/">[ISO]</a></td>
</tr>
-->
</tbody>
</table>
<p><em>Note:</em> If you are in doubt of which platform /
architecture to get, you probably need <em>i386</em> if you have
an older computer, and <em>amd64</em> if you have a newer
computer.</p>
&beta.desc;
<p>If you are interested in a purely experimental
<strong>snapshot</strong> release of FreeBSD-CURRENT (AKA
&rel.head;-CURRENT), aimed at developers and bleeding-edge
testers only, then please see the <a
href="&base;/snapshots/">&os; Snapshot Releases</a> page. For
more information about past, present and future releases in
general, please visit the <a
href="&base;/releases/index.html">release information
page</a>.</p>
<a name="past"></a>
<h2>Past Releases</h2>
<p>For downloading past releases, please visit the <a
href="http://ftp-archive.FreeBSD.org/pub/FreeBSD-Archive/old-releases/">FTP
archive</a>.</p>
<a name="derived"></a>
<h2>FreeBSD-derived Operating System Distributions</h2>
<p>FreeBSD is widely used as a building block for other commercial
and open-source operating systems. The projects below are
widely used and of particular interest to FreeBSD users.</p>
<ul>
<li><p><a href="http://www.freenas.org">FreeNAS</a> is an open
source storage platform based on FreeBSD and supports sharing
across Windows, Apple, and UNIX-like systems.</p></li>
<li><p><a href="http://www.pcbsd.org">PC-BSD</a> is a FreeBSD
derivative with a graphical installer and impressive desktop
tools aimed at ease of use for the casual computer
user.</p></li>
<li><p><a href="http://www.pfsense.org">pfSense</a> is a free,
open source customized distribution of FreeBSD tailored for
use as a firewall and router.</p></li>
</ul>
<a name="apps"></a>
<h2>Applications and Utility Software</h2>
<h3>The Ports Collection</h3>
<p>The FreeBSD Ports Collection is a diverse collection of utility
and application software that has been ported to FreeBSD.</p>
<ul>
<li><a href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/">FreeBSD
Ports Collection</a></li>
<li><a href="&base;/ports/index.html">Web interface to the Ports
Collection</a></li>
<li><a href="http://www.freshports.org/">FreshPorts - a more
advanced web interface to the Ports Collection</a></li>
</ul>
<p>For information about how <em>you</em> can contribute
<em>your</em> favorite piece of software to the Ports Collection,
have a look at <em><a
href="&base;/doc/en_US.ISO8859-1/books/porters-handbook/index.html">The
Porter's Handbook</a></em> and the article <em><a
href="&base;/doc/en_US.ISO8859-1/articles/contributing/index.html">Contributing
to FreeBSD</a></em>.</p>
</body>
</html>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/share/xml/release.l10n.ent
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/share/xml/release.l10n.ent (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/share/xml/release.l10n.ent (revision 42804)
@@ -1,152 +1,152 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $FreeBSD$ -->
<![%beta2.testing;[
<!ENTITY beta.plural 's'>
]]>
<!ENTITY beta.plural ''>
<![%beta2.testing;[
<!ENTITY beta.second '
<table xmlns="http://www.w3.org/1999/xhtml" class="tblbasic">
<thead>
<tr style="text-align: center;">
<td colspan="2">Version &amp; Platform</td>
<td>Distribution</td>
<td title="ISO9660 CD image"><a href="&base;/doc/en_US.ISO8859-1/books/handbook/install-diff-media.html#install-cdrom">ISO</a></td>
- <td>TODO List</td>
+ <!--<td>TODO List</td>-->
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">FreeBSD &betarel2.current;-&betarel2.vers;</td>
<td colspan="2"></td>
- <td><a href="&base;/releases/&betarel2.current;R/todo.html">[View]</a></td>
+ <!--<td><a href="&base;/releases/&betarel2.current;R/todo.html">[View]</a></td>-->
- <td rowspan="7"><a href="http://wiki.freebsd.org/Releng/7.4TODO">[View]</a></td>
+ <!--<td rowspan="7"><a href="http://wiki.freebsd.org/Releng/7.4TODO">[View]</a></td>-->
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/amd64/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/amd64/amd64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/i386/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/i386/i386/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>ia64</td>
<td><a href="&url.rel;/ia64/ia64/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/ia64/ia64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc</td>
<td><a href="&url.rel;/powerpc/powerpc/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc64</td>
<td><a href="&url.rel;/powerpc/powerpc64/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/sparc64/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/sparc64/sparc64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
</tbody>
</table>
'>
]]>
<!ENTITY beta.second ''>
<![%beta.testing;[
<!ENTITY beta.desc '
<div xmlns="http://www.w3.org/1999/xhtml">
<a name="helptest"></a>
<h2>Help With The Next FreeBSD Release&beta.plural;</h2>
<p>Our developers and release engineers are working on the the
next release&beta.plural; of FreeBSD; if you wish to help with
testing, please download the latest build&beta.plural;. Please
note that these images are, by their very nature, intended for
testing and should not be used in production environments.</p>
<table class="tblbasic">
<thead>
<tr style="text-align: center;">
<td colspan="2">Version &amp; Platform</td>
<td>Distribution</td>
<td title="ISO9660 CD image"><a href="&base;/doc/en_US.ISO8859-1/books/handbook/install-diff-media.html#install-cdrom">ISO</a></td>
<!--<td>Status page</td>-->
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">FreeBSD &betarel.current;-&betarel.vers;</td>
<td colspan="2"></td>
<!--<td rowspan="7"><a href="http://wiki.freebsd.org/Releng/&betarel.current;TODO">[View]</a></td>-->
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/amd64/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/amd64/amd64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/i386/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/i386/i386/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>ia64</td>
<td><a href="&url.rel;/ia64/ia64/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/ia64/ia64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<!--
<tr>
<td></td>
<td>pc98</td>
<td><a href="&url.rel;/pc98/i386/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/pc98/i386/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
-->
<tr>
<td></td>
<td>powerpc</td>
<td><a href="&url.rel;/powerpc/powerpc/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc64</td>
<td><a href="&url.rel;/powerpc/powerpc64/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/sparc64/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/sparc64/sparc64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
</tbody>
</table>
&beta.second;
</div>
'>
]]>
<!ENTITY beta.desc ''>
Index: projects/zfsupdate-201307/en_US.ISO8859-1/share/xml/teams.ent
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1/share/xml/teams.ent (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1/share/xml/teams.ent (revision 42804)
@@ -1,54 +1,56 @@
<!--
Names and email address of teams of people working on specified
tasks. Usually they're just mail aliases set up at hub.FreeBSD.org
Use these entities when referencing appropriate teams.
Please keep this list in alphabetical order by entity names.
IMPORTANT: If you delete names from this file you *must* ensure that
all references to them have been removed from the handbook's
translations. If they haven't then you *will* break the
builds for the other languages, and we will poke fun of you
in public.
$FreeBSD$
-->
<!ENTITY a.admins "FreeBSD Administrators <email>admins@FreeBSD.org</email>">
<!ENTITY a.bugmeister "Problem Report Database administrators <email>bugmeister@FreeBSD.org</email>">
<!ENTITY a.core "Core Team <email>core@FreeBSD.org</email>">
<!ENTITY a.core-secretary "Core Team Secretary <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.cvsadm "CVS Repository Meisters <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.cvsup-master "CVSup Mirror Site Coordinator <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.doceng "Documentation Engineering Team <email>doceng@FreeBSD.org</email>">
<!ENTITY a.donations "Donations Liaison Office <email>donations@FreeBSD.org</email>">
<!ENTITY a.faq "FAQ Maintainer <email>faq@FreeBSD.org</email>">
<!ENTITY a.ftp-master "FTP Mirror Site Coordinator <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.mirror-admin "FTP/WWW Mirror Site Coordinator <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.ncvs "CVS src Repository Meisters <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.perforce-admin "Perforce Repository Meisters <email>perforce-admin@FreeBSD.org</email>">
<!ENTITY a.pcvs "CVS ports Repository Meisters <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.portmgr "Ports Management Team <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.portmgr-secretary "Ports Management Team Secretary <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.projcvs "CVS Third-Party Projects Repository Meisters <email>projcvs@FreeBSD.org</email>">
<!ENTITY a.re "Release Engineering Team <email>re@FreeBSD.org</email>">
+<!ENTITY a.secteam-secretary "Security Team Secretary <email>secteam-secretary@FreeBSD.org</email>">
+
<!ENTITY a.security-officer "Security Officer Team <email>security-officer@FreeBSD.org</email>">
Index: projects/zfsupdate-201307/en_US.ISO8859-1
===================================================================
--- projects/zfsupdate-201307/en_US.ISO8859-1 (revision 42803)
+++ projects/zfsupdate-201307/en_US.ISO8859-1 (revision 42804)
Property changes on: projects/zfsupdate-201307/en_US.ISO8859-1
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,2 ##
Merged /projects/ISBN_1-57176-407-0/en_US.ISO8859-1:r41456
Merged /head/en_US.ISO8859-1:r42573-42802
Index: projects/zfsupdate-201307/fr_FR.ISO8859-1/share/xml/release.l10n.ent
===================================================================
--- projects/zfsupdate-201307/fr_FR.ISO8859-1/share/xml/release.l10n.ent (revision 42803)
+++ projects/zfsupdate-201307/fr_FR.ISO8859-1/share/xml/release.l10n.ent (revision 42804)
@@ -1,123 +1,123 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<![%beta2.testing;[
<!ENTITY beta.plural 's'>
<!ENTITY beta.f.art 'les'>
]]>
<!ENTITY beta.plural ''>
<!ENTITY beta.f.art 'la'>
<![%beta2.testing;[
<!ENTITY beta.second '
<table xmlns="http://www.w3.org/1999/xhtml" class="tblbasic">
<thead>
<tr style="text-align: center;">
<td colspan="2">Version &amp; Plate-forme</td>
<td>Distribution</td>
<td title="ISO9660 CD image"><a href="&enbase;/doc/&url.doc.langcode;/books/handbook/install-diff-media.html#INSTALL-CDROM">ISO</a></td>
<td>Liste des choses &agrave; faire</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">FreeBSD &betarel2.current;-&betarel2.vers;</td>
<td colspan="2"></td>
<td><a href="&base;/releases/&betarel2.current;R/todo.html">[Voir]</a></td>
<td rowspan="7"><a href="http://wiki.freebsd.org/Releng/7.4TODO">[Voir]</a></td>
</tr>
<tr>
<td></td>
<td>amd64</td>
<td><a href="&url.rel;/amd64/amd64/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/amd64/amd64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/i386/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>ia64</td>
- <td><a href="&url.rel;/ia64/ia64/&betarel2.current;-&betarel2.vers;">[Distribution]</td>
- <td><a href="&url.rel;/ia64/ia64/ISO-IMAGES/&betarel2.current;/">[ISO]</td>
+ <td><a href="&url.rel;/ia64/ia64/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
+ <td><a href="&url.rel;/ia64/ia64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc</td>
- <td><a href="&url.rel;/powerpc/powerpc/&betarel2.current;-&betarel2.vers;">[Distribution]</td>
- <td><a href="&url.rel;/powerpc/powerpc/ISO-IMAGES/&betarel2.current;/">[ISO]</td>
+ <td><a href="&url.rel;/powerpc/powerpc/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
+ <td><a href="&url.rel;/powerpc/powerpc/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc64</td>
<td><a href="&url.rel;/powerpc/powerpc64/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/&betarel2.current;-&betarel2.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/sparc64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
</tbody>
</table>
'>
]]>
<!ENTITY beta.second ''>
<![%beta.testing;[
<!ENTITY beta.desc '
<div xmlns="http://www.w3.org/1999/xhtml">
<a name="helptest"></a>
<h2>Venir en aide &agrave; la prochaine version de FreeBSD</h2>
<p>Nos développeurs et ingénieurs de version
travaillent sur &beta.f.art; prochaine&beta.plural; version&beta.plural; de FreeBSD; si vous
désirez aider en la testant, veuillez
télécharger la &beta.f.art; toute&beta.plural; dernière&beta.plural; version&beta.plural;>.
Notez que ces images sont, par leur nature, destinées
uniquement &agrave; être testées et ne devraient
pas être utilisées en production.</p>
<table class="tblbasic">
<thead>
<tr style="text-align: center;">
<td colspan="2">Version &amp; Plate-forme</td>
<td>Distribution</td>
<td title="ISO9660 CD image"><a href="&enbase;/doc/&url.doc.langcode;/books/handbook/install-diff-media.html#INSTALL-CDROM">ISO</a></td>
<td>Page d&apos;état</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">FreeBSD &betarel.current;-&betarel.vers;</td>
<td colspan="2"></td>
<td rowspan="7"><a href="http://wiki.freebsd.org/Releng/&betarel.current;TODO">[Voir]</a></td>
</tr>
<tr>
<td></td>
<td>amd64</td>
<td><a href="&url.rel;/amd64/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/amd64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/i386/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>pc98</td>
<td><a href="&url.rel;/pc98/&betarel.current;-&betarel.vers;">[Distribution]</a></td>
<td><a href="&url.rel;/pc98/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
</tbody>
</table>
&beta.second;
</div>
'>
]]>
<!ENTITY beta.desc ''>
Property changes on: projects/zfsupdate-201307/fr_FR.ISO8859-1/share/xml/release.l10n.ent
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+on
\ No newline at end of property
Index: projects/zfsupdate-201307/fr_FR.ISO8859-1/share/xml/teams.ent
===================================================================
--- projects/zfsupdate-201307/fr_FR.ISO8859-1/share/xml/teams.ent (revision 42803)
+++ projects/zfsupdate-201307/fr_FR.ISO8859-1/share/xml/teams.ent (revision 42804)
@@ -1,57 +1,59 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
The FreeBSD French Documentation Project
Original revision: 1.17
Names and email address of teams of people working on specified
tasks. Usally they're just mail aliases set up at hub.FreeBSD.org
Use these entities when referencing appropriate teams.
Please keep this list in alphabetical order by entity names.
IMPORTANT: If you delete names from this file you *must* ensure that
all references to them have been removed from the handbook's
translations. If they haven't then you *will* break the
builds for the other languages, and we will poke fun of you
in public.
$FreeBSD$
-->
<!ENTITY a.admins "Les administrateurs <email>admins@FreeBSD.org</email>">
<!ENTITY a.core-secretary "Le secrétaire de l'équipe de base <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.cvsadm "Les maitres du dépot CVS <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.cvsup-master "Le coordinateur des sites mirroirs CVSup <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.dcvs "Les maitres du dépot CVS doc <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.doceng "L'équipe d'ingéniérie de la documentation <email>doceng@FreeBSD.org</email>">
<!ENTITY a.donations "Le bureau de liaison des donations <email>donations@FreeBSD.org</email>">
<!ENTITY a.faq "Le mainteneur de la FAQ <email>faq@FreeBSD.org</email>">
<!ENTITY a.ftp-master "Le coordinateur des sites mirroirs FTP <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.mirror-admin "Le coordinateur des sites mirroirs FTP/WWW <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.ncvs "Les maitres du dépot CVS src <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.perforce-admin "Les maitres du dépot Perforce <email>perforce-admin@FreeBSD.org</email>">
<!ENTITY a.pcvs "Les maitres du dépot CVS ports <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.portmgr "L'équipe de gestion des logiciels portés <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.portmgr-secretary "Le secrétaire de l'équipe de gestion des logiciels portés <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.projcvs "Les maitres du dépot CVS pour les projets tiers <email>projcvs@FreeBSD.org</email>">
<!ENTITY a.re "L'équipe d'ingéniérie des versions <email>re@FreeBSD.org</email>">
<!ENTITY a.security-officer "L'officier de sécurité <email>security-officer@FreeBSD.org</email>">
+
+<!ENTITY a.secteam-secretary "Security Team Secretary <email>secteam-secretary@FreeBSD.org</email>">
Index: projects/zfsupdate-201307/fr_FR.ISO8859-1
===================================================================
--- projects/zfsupdate-201307/fr_FR.ISO8859-1 (revision 42803)
+++ projects/zfsupdate-201307/fr_FR.ISO8859-1 (revision 42804)
Property changes on: projects/zfsupdate-201307/fr_FR.ISO8859-1
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
Merged /head/fr_FR.ISO8859-1:r42573-42802
Index: projects/zfsupdate-201307/hu_HU.ISO8859-2/share/xml/teams.ent
===================================================================
--- projects/zfsupdate-201307/hu_HU.ISO8859-2/share/xml/teams.ent (revision 42803)
+++ projects/zfsupdate-201307/hu_HU.ISO8859-2/share/xml/teams.ent (revision 42804)
@@ -1,55 +1,57 @@
<?xml version="1.0" encoding="iso-8859-2"?>
<!--
Names and email address of teams of people working on specified
tasks. Usally they're just mail aliases set up at hub.FreeBSD.org
Use these entities when referencing appropriate teams.
Please keep this list in alphabetical order by entity names.
$FreeBSD$
-->
<!-- The FreeBSD Hungarian Documentation Project
Translated by: Gabor Kovesdan <gabor@FreeBSD.org>
%SOURCE% en_US.ISO8859-1/share/xml/teams.ent
%SRCID% 1.18
-->
<!ENTITY a.admins "FreeBSD Adminisztrátorok <email>admins@FreeBSD.org</email>">
<!ENTITY a.bugmeister "PR Adatbázis Adminisztrátorok <email>bugmeister@FreeBSD.org</email>">
<!ENTITY a.core-secretary "Core Team Titkár <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.cvsadm "CVS Repository Menedzserek <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.cvsup-master "CVSup Tükörszerver Koordinátorok <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.dcvs "CVS doc Repository Menedzserek <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.doceng "Documentation Engineering Team <email>doceng@FreeBSD.org</email>">
<!ENTITY a.donations "Donations Liaison Office <email>donations@FreeBSD.org</email>">
<!ENTITY a.faq "FAQ Karbantartó <email>faq@FreeBSD.org</email>">
<!ENTITY a.ftp-master "FTP Tükörszerver Koordinátor <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.mirror-admin "FTP/WWW Tükörszerverk Koordinátor <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.ncvs "CVS src Repository Menedzserek <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.perforce-admin "Perforce Repository Menedzserek <email>perforce-admin@FreeBSD.org</email>">
<!ENTITY a.pcvs "CVS ports Repository Menedzserek <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.portmgr "Ports Management Team <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.portmgr-secretary "Ports Management Team Titkár <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.projcvs "CVS Third-party Projects Repository Meenedzserek <email>projcvs@FreeBSD.org</email>">
<!ENTITY a.re "Release Engineering Team <email>re@FreeBSD.org</email>">
<!ENTITY a.security-officer "Security Officer Team <email>security-officer@FreeBSD.org</email>">
+
+<!ENTITY a.secteam-secretary "Security Team Secretary <email>secteam-secretary@FreeBSD.org</email>">
Index: projects/zfsupdate-201307/hu_HU.ISO8859-2
===================================================================
--- projects/zfsupdate-201307/hu_HU.ISO8859-2 (revision 42803)
+++ projects/zfsupdate-201307/hu_HU.ISO8859-2 (revision 42804)
Property changes on: projects/zfsupdate-201307/hu_HU.ISO8859-2
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
Merged /head/hu_HU.ISO8859-2:r42573-42802
Index: projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml (revision 42804)
@@ -1,3215 +1,3225 @@
<?xml version="1.0" encoding="euc-jp"?>
<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
- Original revision: r42409
+ Original revision: r42688
$FreeBSD$
-->
<chapter id="updating-upgrading">
<chapterinfo>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
<contrib>ºÆ¹½À®¡¢ºÆÊÔÀ®¤ª¤è¤Ó²þÄû: </contrib>
</author>
<!-- Mar 2000 -->
</authorgroup>
<authorgroup>
<author>
<firstname>Jordan</firstname>
<surname>Hubbard</surname>
<contrib>¸¶ºî: </contrib>
</author>
<author>
<firstname>Poul-Henning</firstname>
<surname>Kamp</surname>
</author>
<author>
<firstname>John</firstname>
<surname>Polstra</surname>
</author>
<author>
<firstname>Nik</firstname>
<surname>Clayton</surname>
</author>
</authorgroup>
<!-- with feedback from various others -->
</chapterinfo>
<title>&os; ¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤È¥¢¥Ã¥×¥°¥ì¡¼¥É</title>
<sect1 id="updating-upgrading-synopsis">
<title>¤³¤Î¾Ï¤Ç¤Ï</title>
<para>¤¢¤ë¥ê¥ê¡¼¥¹¤«¤é¼¡¤Î¥ê¥ê¡¼¥¹¤Þ¤Ç¤Î´ü´Ö¤Ë¤â¡¢
&os; ¤Î³«È¯¤ÏµÙ¤ß¤Ê¤¯Â³¤±¤é¤ì¤Æ¤¤¤Þ¤¹¡£
ºÇ¿·¤Î³«È¯¥Ä¥ê¡¼¤ÈƱ´ü¤¹¤ë¤³¤È¤ò¹¥¤à¿Í¤â¤¤¤Þ¤¹¤·¡¢
¸ø¼°¤Î¥ê¥ê¡¼¥¹ÈǤò¹¥¤ó¤Ç»È¤¦Êý¤â¤¤¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¡¢¸ø¼°¤Î¥ê¥ê¡¼¥¹¤È¤¤¤¨¤É¤â¡¢
¥»¥­¥å¥ê¥Æ¥£¤ä¾¤Î½ÅÍפʽ¤Àµ¤Î¤¿¤á¡¢»þ¤Ë¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
»ÈÍѤ·¤Æ¤¤¤ë¥Ð¡¼¥¸¥ç¥ó¤Ë´Ø¤ï¤é¤º¡¢&os; ¤Ï¡¢
¼ê¸µ¤Î¥·¥¹¥Æ¥à¤òºÇ¿·¤Î³«È¯¥Ä¥ê¡¼¤ÈƱ´ü¤¹¤ë¤¿¤á¤ËɬÍפʥġ¼¥ë¤ò¤¹¤Ù¤ÆÍѰդ·¤Æ¤¤¤Þ¤¹¡£
¤½¤·¤Æ¡¢¤³¤ì¤é¤Î¥Ä¡¼¥ë¤Ï¡¢&os; ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤¿¤á¤Ë»È¤¨¤Þ¤¹¡£
¤³¤Î¾Ï¤Ç¤Ï¡¢³«È¯¥Ö¥é¥ó¥Á¤òÄɤ¤¤«¤±¤ëÊýË¡¡¢¤ª¤è¤Ó¡¢&os;
¥·¥¹¥Æ¥à¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë´ðËÜŪ¤Ê¥Ä¡¼¥ë¤Ë¤Ä¤¤¤Æ²òÀ⤷¤Æ¤¤¤Þ¤¹¡£</para>
<para>¤³¤Î¾Ï¤òÆÉ¤ó¤Çʬ¤«¤ë¤Î¤Ï:</para>
<itemizedlist>
<listitem>
<para>¥·¥¹¥Æ¥à¤È Ports Collection
¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤ËÍѤ¤¤ë¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ë¤Ä¤¤¤Æ</para>
</listitem>
<listitem>
<para><application>freebsd-update</application>,
<application>Subversion</application> ¤â¤·¤¯¤Ï
<application>CTM</application>
¤ò»È¤Ã¤¿ &os; ¥·¥¹¥Æ¥à¤Î¹¹¿·ÊýË¡</para>
</listitem>
<listitem>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤È¡¢Êѹ¹¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¾õÂ֤ȤÎÈæ³ÓÊýË¡¡£</para>
</listitem>
<listitem>
<para><application>Subversion</application>
¤Þ¤¿¤Ï¥É¥­¥å¥á¥ó¥ÈÍѤΠports<!-- and
<application>Docsnap</application>--> ¤ò»È¤Ã¤Æ¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥È¤òºÇ¿·¤Î¤â¤Î¤Ë¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ëÊýË¡¡£</para>
</listitem>
<listitem>
<para>2 ¤Ä¤Î³«È¯¥Ö¥é¥ó¥Á¡¢&os.stable; ¤È &os.current; ¤Î°ã¤¤</para>
</listitem>
<listitem>
<para>¥Ù¡¼¥¹¥·¥¹¥Æ¥àÁ´ÂΤòºÆ¹½ÃÛ¤·¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÊýË¡</para>
</listitem>
</itemizedlist>
<para>¤³¤Î¾Ï¤òÆÉ¤àÁ°¤Ë¡¢°Ê²¼¤Î½àÈ÷¤ò¤·¤Þ¤·¤ç¤¦¡£</para>
<itemizedlist>
<listitem>
<para>¥Í¥Ã¥È¥ï¡¼¥¯Àܳ¤ÎŬÀÚ¤ÊÀßÄê (<xref
linkend="advanced-networking"/>)</para>
</listitem>
<listitem><para>¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Î½¬ÆÀ
(<xref linkend="ports"/>)</para></listitem>
</itemizedlist>
<note>
<para>¤³¤Î¾Ï¤òÄ̤¸¤Æ¡¢
&os; ¤Î¥½¡¼¥¹¥³¡¼¥É¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤¿¤ê¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Î¤Ë
<command>svn</command> ¤¬ÍѤ¤¤é¤ì¤Þ¤¹¡£
¤³¤Î¥³¥Þ¥ó¥É¤ò»È¤¦¤¿¤á¤Ë¤Ï¡¢<filename
role="package">devel/subversion</filename> port ¤Þ¤¿¤Ï package
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£</para>
</note>
</sect1>
<sect1 id="updating-upgrading-freebsdupdate">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>´ó¹Æ: </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Colin</firstname>
<surname>Percival</surname>
<contrib>¥Ù¡¼¥¹¤È¤Ê¤Ã¤¿¥Î¡¼¥È¤ÎÄó¶¡: </contrib>
</author>
</authorgroup>
</sect1info>
<title>&os; Update</title>
<indexterm><primary>Updating and Upgrading</primary></indexterm>
<indexterm>
<primary>freebsd-update</primary>
<see>updating-upgrading</see>
</indexterm>
<para>¥»¥­¥å¥ê¥Æ¥£¥Ñ¥Ã¥Á¤òŬÍѤ¹¤ë¤³¤È¤Ï¡¢¥³¥ó¥Ô¥å¡¼¥¿¥½¥Õ¥È¥¦¥§¥¢¡¢
ÆÃ¤Ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ò´ÉÍý¤¹¤ë¾å¤Ç½ÅÍפÊÌò³ä¤ò²Ì¤¿¤·¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¡¢&os; ¤Ë¤ª¤¤¤Æ¤Ï¡¢
¤³¤Î¥×¥í¥»¥¹¤Ï´Êñ¤Ê¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
¥½¡¼¥¹¥³¡¼¥É¤Ë¥Ñ¥Ã¥Á¤òÅö¤Æ¡¢¥³¡¼¥É¤«¤é¥Ð¥¤¥Ê¥ê¤òºÆ¹½ÃÛ¤·¡¢
¥Ð¥¤¥Ê¥ê¤òºÆ¤Ó¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤·¤¿¡£</para>
<para>¸½ºß¤Î &os; ¤Ç¤Ï <command>freebsd-update</command>
¤È¸Æ¤Ð¤ì¤ë¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤¬Äɲ䵤졢¾õ¶·¤ÏÊѤï¤ê¤Þ¤·¤¿¡£
¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï 2 ¤Ä¤Îµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
Âè°ì¤Ë¡¢&os; ¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Î¥Ó¥ë¥É¤ä¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¤³¤È¤Ê¤¯¡¢
¥Ð¥¤¥Ê¥ê¤Ë¤è¤Ã¤Æ¥»¥­¥å¥ê¥Æ¥£¤ª¤è¤Ó eratta ¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤­¤Þ¤¹¡£
ÂèÆó¤Ë¡¢¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¥Þ¥¤¥Ê¡¼¤ª¤è¤Ó¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£</para>
<note>
<para>¥Ð¥¤¥Ê¥ê¥¢¥Ã¥×¥Ç¡¼¥È¤Ï¡¢
¥»¥­¥å¥ê¥Æ¥£¥Á¡¼¥à¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤È¥ê¥ê¡¼¥¹¤ÇÍøÍѤǤ­¤Þ¤¹¡£
¿·¤·¤¤¥ê¥ê¡¼¥¹¤Ë¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ëÁ°¤Ë¡¢
¥¢¥Ã¥×¥Ç¡¼¥È¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¥ê¥ê¡¼¥¹¤Î¥¢¥Ê¥¦¥ó¥¹¤ËÌܤòÄ̤·¡¢
½ÅÍפʾðÊ󤬤ʤ¤¤«¤É¤¦¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¥ê¥ê¡¼¥¹¤Î¥¢¥Ê¥¦¥ó¥¹¤Ï
<ulink url="http://www.FreeBSD.org/ja/releases/"></ulink>
¤Ç³Îǧ¤Ç¤­¤Þ¤¹¡£</para>
</note>
<para>¤â¤· <command>crontab</command> ¤ÎÃæ¤Ë
&man.freebsd-update.8; ¤Îµ¡Ç½¤¬´Þ¤Þ¤ì¤Æ¤¤¤¿¤é¡¢
°Ê²¼¤Îºî¶È¤ò¹Ô¤¦¤Þ¤Ç¤Ï̵¸ú¤Ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£</para>
<sect2 id="freebsdupdate-config-file">
<title>ÀßÄê¥Õ¥¡¥¤¥ë</title>
<para><filename>/etc/freebsd-update.conf</filename>
¤ÎÀßÄê¤ò¥Ç¥Õ¥©¥ë¥È¤«¤é¤­¤áºÙ¤«¤¯Ä´À°¤·¤Æ¡¢
¥¢¥Ã¥×¥Ç¡¼¥È¥×¥í¥»¥¹¤òÀ©¸æ¤¹¤ë¥æ¡¼¥¶¤â¤¤¤Þ¤¹¡£
¤³¤Îºî¶È¤ÏÎɤ¯Ê¸½ñ²½¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢
°Ê²¼¤Î¹àÌܤˤĤ¤¤Æ¤ÏÀâÌÀ¤¬É¬ÍפǤ·¤ç¤¦¡£</para>
<programlisting># Components of the base system which should be kept updated.
Components src world kernel</programlisting>
<para>¤³¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢&os; ¤Î¤É¤ÎÉôʬ¤òºÇ¿·¤Ë°Ý»ý¤¹¤ë¤«¤òÀßÄꤷ¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥½¡¼¥¹¥³¡¼¥É¡¢¥Ù¡¼¥¹¥·¥¹¥Æ¥àÁ´ÂΡ¢¤½¤·¤Æ¥«¡¼¥Í¥ë¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Þ¤¹¡£
Components ¤ËÀßÄê¤Ç¤­¤ë¹àÌܤϡ¢¥¤¥ó¥¹¥È¡¼¥ë»þ¤ËÁªÂò¤Ç¤­¤ë¤â¤Î¤ÈƱ¤¸¤Ç¤¹¡£
¤¿¤È¤¨¤Ð¡¢¤³¤³¤Ç <literal>world/games</literal> ¤òÄɲ乤ë¤È¡¢
game ¤Ë¥Ñ¥Ã¥Á¤¬Åö¤¿¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
<literal>src/bin</literal> ¤òÄɲ乤ë¤È¡¢
<filename class="directory">src/bin</filename>
¥½¡¼¥¹¥³¡¼¥É¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤òµö²Ä¤·¤Þ¤¹¡£</para>
<para>¤³¤ÎÉôʬ¤Ë¤Ä¤¤¤Æ¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤­¡¢
¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¹àÌܤò¥æ¡¼¥¶¤¬¥ê¥¹¥È¤Ë²Ã¤¨¤ë·Á¤Ë¤¹¤ë¤Î¤¬¥Ù¥¹¥È¤Ç¤·¤ç¤¦¡£
¥½¡¼¥¹¥³¡¼¥É¤È¥Ð¥¤¥Ê¥ê¤¬Æ±´ü¤·¤Æ¤¤¤Ê¤¤¤È¡¢
Èá»´¤Ê·ë²Ì¤ò¤â¤¿¤é¤¹²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£</para>
<programlisting># Paths which start with anything matching an entry in an IgnorePaths
# statement will be ignored.
IgnorePaths</programlisting>
<para><filename class="directory">/bin</filename> ¤ä
<filename class="directory">/sbin</filename>
Åù¤ÎÆÃÄê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤ÇÊѹ¹¤·¤Ê¤¤¤è¤¦¤Ë¡¢
¤³¤ì¤é¤Î¥Ñ¥¹¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥í¡¼¥«¥ë¤ÎÊѹ¹ÅÀ¤ò <command>freebsd-update</command>
¤¬¾å½ñ¤­¤¹¤ë¤³¤È¤òËɤ°ÌÜŪ¤Ë¤âÍøÍѤǤ­¤Þ¤¹¡£</para>
<programlisting># Paths which start with anything matching an entry in an UpdateIfUnmodified
# statement will only be updated if the contents of the file have not been
# modified by the user (unless changes are merged; see below).
UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile</programlisting>
<para>¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ëÀßÄê¥Õ¥¡¥¤¥ë¤ò¡¢
¥í¡¼¥«¥ë¤ÇÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Î¤ß¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Þ¤¹¡£
¥æ¡¼¥¶¤¬¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Æ¤¤¤ë¤È¡¢
¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Î¼«Æ°¥¢¥Ã¥×¥Ç¡¼¥È¤Ï̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
¾¤Ë¡¢<literal>KeepModifiedMetadata</literal>
¤È¤¤¤¦Ê̤Υª¥×¥·¥ç¥ó¤¬Â¸ºß¤·¤Þ¤¹¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢<command>freebsd-update</command>
¤¬¥Þ¡¼¥¸Ãæ¤ËÊѹ¹ÅÀ¤òÊݸ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£</para>
<programlisting># When upgrading to a new &os; release, files which match MergeChanges
# will have any local changes merged into the version from the new release.
MergeChanges /etc/ /var/named/etc/</programlisting>
<para><command>freebsd-update</command>
¤¬¥Þ¡¼¥¸¤¹¤Ù¤­¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î°ìÍ÷¤Ç¤¹¡£
¥Õ¥¡¥¤¥ë¤Î¥Þ¡¼¥¸¤Î¥×¥í¥»¥¹¤Ï¡¢
&man.mergemaster.8; ¤ÈƱÍÍ &man.diff.1; ¥Ñ¥Ã¥Á¤ÎϢ³¤Ç¤¹¤¬¡¢
ÁªÂò»è¤Ï¾¯¤Ê¤¯¡¢¥Þ¡¼¥¸¤ò¾µÇ§¤¹¤ë¤«¡¢¥¨¥Ç¥£¥¿¤òµ¯Æ°¤¹¤ë¤«¡¢
<command>freebsd-update</command>
¤òÃæÃǤ¹¤ë¤«¤É¤¦¤«¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£
¤â¤·¡¢¿´ÇÛ¤ÊÅÀ¤¬¤¢¤ì¤Ð¡¢
<filename class="directory">/etc</filename>
¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Æ¤«¤é¥Þ¡¼¥¸¤ò¾µÇ§¤·¤Æ¤¯¤À¤µ¤¤¡£
<command>mergemaster</command> ¤Î¾ÜºÙ¤Ê¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢
<xref linkend="mergemaster"/> ¤Ç³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<programlisting># Directory in which to store downloaded updates and temporary
# files used by &os; Update.
# WorkDir /var/db/freebsd-update</programlisting>
<para>¤³¤³¤Ç¤Ï¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥Á¤ä°ì¼¡¥Õ¥¡¥¤¥ë¤òÃÖ¤¯¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£
¥Ð¡¼¥¸¥ç¥ó¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
¤³¤Î¾ì½ê¤Ë¤Ï¾¯¤Ê¤¯¤È¤â¥®¥¬¥Ð¥¤¥È¤Î¶õ¤­ÍÆÎ̤¬É¬ÍפǤ¹¡£</para>
<programlisting># When upgrading between releases, should the list of Components be
# read strictly (StrictComponents yes) or merely as a list of components
# which *might* be installed of which &os; Update should figure out
# which actually are installed and upgrade those (StrictComponents no)?
# StrictComponents no</programlisting>
<para>¤³¤Î¥ª¥×¥·¥ç¥ó¤ò <literal>yes</literal> ¤ËÀßÄꤹ¤ë¤È¡¢
<command>freebsd-update</command> ¤Ï
<literal>Components</literal> ¤Î¥ê¥¹¥È¤¬´°Á´¤ËÀµ¤·¤¤¤ÈȽÃǤ·¡¢
¤³¤Î¥ê¥¹¥È°Ê³°¤ÎÊѹ¹ÅÀ¤Ë¤Ä¤¤¤Æ¤Ï¼è¤ê°·¤¤¤Þ¤»¤ó¡£
<command>freebsd-update</command> ¤Ï¡¢¸úΨŪ¤Ë
<literal>Components</literal>
¥ê¥¹¥È¤Ë°¤¹¤ë¥Õ¥¡¥¤¥ë¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Þ¤¹¡£</para>
</sect2>
<sect2 id="freebsdupdate-security-patches">
<title>¥»¥­¥å¥ê¥Æ¥£¥Ñ¥Ã¥Á</title>
<para>°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢&os;
¤Î¥»¥­¥å¥ê¥Æ¥£¥Ñ¥Ã¥Á¤¬¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¡¢¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>freebsd-update fetch</userinput>
&prompt.root; <userinput>freebsd-update install</userinput></screen>
<para>¥¢¥Ã¥×¥Ç¡¼¥È¤Ë¤è¤Ã¤Æ¥«¡¼¥Í¥ë¤Ë¥Ñ¥Ã¥Á¤¬Åö¤¿¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢
¥Ñ¥Ã¥Á¤¬Åö¤¿¤Ã¤¿¥«¡¼¥Í¥ë¤Çµ¯Æ°¤¹¤ë¤è¤¦¤Ë¡¢
¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤â¤·¤¯¤Ï¡¢¥·¥¹¥Æ¥à¤Ë¥Ñ¥Ã¥Á¤¬Åö¤Æ¤é¤ì¡¢
ËèÈդΠ&man.cron.8; ¥¸¥ç¥Ö¤È¤·¤Æ¡¢<command>freebsd-update</command>
¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤Ë¡¢
°Ê²¼¤Î¥¨¥ó¥È¥ê¤ò <filename>/etc/crobntab</filename>
¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£</para>
<programlisting>@daily root freebsd-update cron</programlisting>
<para>¤³¤Î¥¨¥ó¥È¥ê¤Ï¡¢ËèÆü°ìÅÙ <command>freebsd-update</command>
¤ò¼Â¹Ô¤¹¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
<option>cron</option> ¤È¶¦¤Ë¼Â¹Ô¤¹¤ë¤È¡¢
<command>freebsd-update</command>
¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤¬Â¸ºß¤¹¤ë¤È¤­¤À¤±³Îǧ¤·¤Þ¤¹¡£
¥Ñ¥Ã¥Á¤¬Â¸ºß¤¹¤ë¤È¡¢
¼«Æ°Åª¤Ë¥í¡¼¥«¥ë¥Ç¥£¥¹¥¯¤Ë¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤Þ¤¹¤¬¡¢Å¬ÍѤϤµ¤ì¤Þ¤»¤ó¡£
¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤¿¥Ñ¥Ã¥Á¤ò³Îǧ¤·¡¢¼êư¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפΤ¢¤ë¤³¤È¤¬¡¢
<username>root</username> °¸¤Æ¤Ë¥á¡¼¥ë¤ÇÄÌÃΤµ¤ì¤Þ¤¹¡£</para>
<para>¤¦¤Þ¤¯¹Ô¤«¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢<command>freebsd-update</command>
¤ò°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤¹¤ë¤È¡¢ºÇ¸å¤ÎÊѹ¹¤Þ¤Ç¥í¡¼¥ë¥Ð¥Ã¥¯¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>freebsd-update rollback</userinput></screen>
<para>¥«¡¼¥Í¥ë¤Þ¤¿¤Ï¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤¬¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢
´°Î»¸å¤Ë¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Îºî¶È¤Ë¤è¤Ã¤Æ¡¢&os; ¤¬¥Ð¥¤¥Ê¥ê¤ò¥á¥â¥ê¤ËÆÉ¤ß¹þ¤ß¤Þ¤¹¡£</para>
<para><command>freebsd-update</command>
¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤¬¼«Æ°Åª¤Ë¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¥«¡¼¥Í¥ë¤Ï
<filename>GENERIC</filename> ¤Î¤ß¤Ç¤¹¡£
¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
<command>freebsd-update</command> ¤¬Â¾¤ÎÉôʬ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸å¡¢
¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¡¢¤â¤¦°ìÅÙ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¡¢<filename>GENERIC</filename> ¥«¡¼¥Í¥ë¤¬ <filename
class="directory">/boot/GENERIC</filename>
¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢
¸½ºß¤Î¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥«¡¼¥Í¥ë¤Ç¤Ê¤¯¤È¤â¡¢
<command>freebsd-update</command>
¤Ë¤è¤ê¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤Þ¤¹¡£</para>
<note>
<para><filename>GENERIC</filename> ¥«¡¼¥Í¥ë¤ò¡¢¾ï¤Ë <filename
class="directory">/boot/GENERIC</filename>
¤ËÃÖ¤¤¤Æ¤ª¤¯¤³¤È¤ÏÎɤ¤¹Í¤¨¤Ç¤¹¡£
¤µ¤Þ¤¶¤Þ¤ÊÌäÂê¤ò²ò·è¤¹¤ëºÝ¤ä¡¢
<xref linkend="freebsdupdate-upgrade"/> ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢
<command>freebsd-update</command>
¤òÍѤ¤¤Æ¥Ð¡¼¥¸¥ç¥ó¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ëºÝ¤Ë½õ¤±¤È¤Ê¤ê¤Þ¤¹¡£</para>
</note>
<para><filename>/etc/freebsd-update.conf</filename>
¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤òÊѹ¹¤·¤Ê¤¤¸Â¤ê¡¢
<command>freebsd-update</command> ¤Ï¡¢
¾¤Î¹¹¿·¤È¶¦¤Ë¥«¡¼¥Í¥ë¥½¡¼¥¹¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Þ¤¹¡£
¿·¤·¤¤¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤ÎºÆ¹½ÃۤȺƥ¤¥ó¥¹¥È¡¼¥ë¤Ï¡¢
Ä̾ïÄ̤ê¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<note>
<para><command>freebsd-update</command> ¤Ï¡¢
¾ï¤Ë¥«¡¼¥Í¥ë¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£
<command>freebsd-update install</command>
¤Ë¤è¤Ã¤Æ¥«¡¼¥Í¥ë¥½¡¼¥¹¤¬Êѹ¹¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢
¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
¤·¤«¤·¤Ê¤¬¤é <command>freebsd-update</command> ¤Ï¡¢
<filename>/usr/src/sys/conf/newvers.sh</filename>
¤ò¾ï¤Ë¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Þ¤¹¡£
¤³¤ì¤Ï¡¢¸½ºß¤Î¥·¥¹¥Æ¥à¤Î¥Ñ¥Ã¥Á¥ì¥Ù¥ë¤ò
<command>uname -r</command> ¤¬ <literal>-p</literal>
¤Çɽ¼¨¤¹¤ë»þ¤Ë¤³¤Î¥Õ¥¡¥¤¥ë¤¬»²¾È¤µ¤ì¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢²¿¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤â¡¢¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢
&man.uname.1; ¤¬¥·¥¹¥Æ¥à¤ÎÀµ³Î¤Ê¥Ñ¥Ã¥Á¥ì¥Ù¥ë¤òÊó¹ð¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
³Æ¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥¢¥Ã¥×¥Ç¡¼¥È¤ò¤¹¤Ð¤ä¤¯Çİ®¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤Î¤Ç¡¢
ÆÃ¤ËÊ£¿ô¤Î¥·¥¹¥Æ¥à¤ò´ÉÍý¤¹¤ë¤È¤­¤Ë½õ¤±¤È¤Ê¤ê¤Þ¤¹¡£</para>
</note>
</sect2>
<sect2 id="freebsdupdate-upgrade">
<title>¥á¥¸¥ã¡¼¤ª¤è¤Ó¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥ó¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É</title>
<para>&os; ¤Î¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥ó´Ö¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¡¢
¤¿¤È¤¨¤Ð¡¢&os;&nbsp;9.0 ¤«¤é &os;&nbsp;9.1 ¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ï¡¢
<emphasis>¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥ó</emphasis> ¥¢¥Ã¥×¥°¥ì¡¼¥É¤È¸Æ¤Ð¤ì¤Þ¤¹¡£
Ä̾ï¤Ï¡¢¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥ó¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò¹Ô¤Ã¤¿¸å¤Ç¤â¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÌäÂê¤Ê¤¯Æ°¤­¤Þ¤¹¡£</para>
<para><emphasis>¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó</emphasis> ¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ï¡¢
&os;&nbsp;8.X ¤«¤é &os;&nbsp;9.X ¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤È¤¤¤Ã¤¿¡¢
&os; ¤Î¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó¤¬ÊѤï¤ë¤è¤¦¤Ê¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¤³¤È¤Ç¤¹¡£
¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤Ï¡¢
¸Å¤¤¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ä¥é¥¤¥Ö¥é¥ê¤¬ºï½ü¤µ¤ì¡¢
¤³¤ì¤é¤Ë°Í¸¤¹¤ë¿¤¯¤Î¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë±Æ¶Á¤òÍ¿¤¨¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î ports ¤òºï½ü¤·¤ÆºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«¡¢
¥á¥¸¥ã¡¼¥¢¥Ã¥×¥°¥ì¡¼¥É¸å¡¢
<filename role="package">ports-mgmt/portmaster</filename>
¤È¤¤¤Ã¤¿¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»È¤Ã¤Æ¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ö¥ë¡¼¥È¥Õ¥©¡¼¥¹Åª¤ÊºÆ¹½Ãۤϡ¢
°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ë¤è¤ê¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>portmaster -af</userinput></screen>
<para>¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¤¹¤Ù¤Æ¤Î ports ¤òŬÀڤ˺ƥ¤¥ó¥¹¥È¡¼¥ë¤·¤è¤¦¤È¤·¤Þ¤¹¡£
<makevar>BATCH</makevar> ´Ä¶­ÊÑ¿ô¤ò
<literal>yes</literal> ¤ËÀßÄꤷ¤Æ¤ª¤¯¤È¡¢
¥¢¥Ã¥×¥Ç¡¼¥È¥×¥í¥»¥¹¤ÎÅÓÃæ¤Î¼ÁÌä¤ËÂФ·
<literal>yes</literal> ¤ÈÅú¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¤Î¤Ç¡¢
¥Ó¥ë¥É¥×¥í¥»¥¹¤Ç¤Î¼êưÁàºî¤ò¾Êά¤Ç¤­¤Þ¤¹¡£</para>
<sect3 id="freebsd-update-custom-kernel">
<title>¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤Î¼è¤ê°·¤¤</title>
<para>¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¥×¥í¥»¥¹¤Ï¡¢
´öʬʣ»¨¤È¤Ê¤ê¤Þ¤¹¡£
¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¼ê½ç¤Ï &os; ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤ÆÊѤï¤ê¤Þ¤¹¡£</para>
<sect4 id="freebsd-update-custom-kernel-8x">
<title>&os;&nbsp;8.X ¤Ë¤ª¤±¤ë¥«¥¹¥¿¥à¥«¡¼¥Í¥ë</title>
<para><filename>GENERIC</filename> ¥«¡¼¥Í¥ë¤¬
<filename class="directory">/boot/GENERIC</filename>
¤ËÃÖ¤«¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤â¤· <filename>GENERIC</filename>
¥«¡¼¥Í¥ë¤¬¥·¥¹¥Æ¥à¤Ë¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
°Ê²¼¤Î¤É¤ì¤«¤ÎÊýË¡¤ÇÍѰդ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<itemizedlist>
<listitem>
<para>¤¿¤À°ìÅÙ¤À¤±¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤·¤¿¤Î¤Ç¤¢¤ì¤Ð¡¢
<filename
class="directory">/boot/kernel.old</filename>
¤Ï <filename>GENERIC</filename> ¥«¡¼¥Í¥ë¤½¤Î¤â¤Î¤Ç¤¹¡£
¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤ò
<filename class="directory">/boot/GENERIC</filename>
¤Ø¤ÈÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
<listitem>
<para>¥³¥ó¥Ô¥å¡¼¥¿¤Ø¤ÎʪÍýŪ¤Ê¥¢¥¯¥»¥¹¤¬²Äǽ¤Ç¤¢¤ì¤Ð¡¢
°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢
¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤«¤é <filename>GENERIC</filename>
¥«¡¼¥Í¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
&prompt.root; <userinput>cd /cdrom/<replaceable>X.Y-RELEASE</replaceable>/kernels</userinput>
&prompt.root; <userinput>./install.sh GENERIC</userinput></screen>
<para>¤³¤³¤Ç <filename
class="directory"><replaceable>X.Y-RELEASE</replaceable></filename>
¤ò¼ÂºÝ¤Î¥ê¥ê¡¼¥¹ÈÖ¹æ¤ËÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£
<filename>GENERIC</filename> ¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç <filename
class="directory">/boot/GENERIC</filename>
¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>¾åµ­¤ÎÊýË¡¤¬¤¹¤Ù¤Æ¼ºÇÔ¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
<filename>GENERIC</filename> ¥«¡¼¥Í¥ë¤ò¥½¡¼¥¹¤«¤éºÆ¹½ÃÛ¤·¤Æ¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>env DESTDIR=/boot/GENERIC make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null</userinput>
&prompt.root; <userinput>mv /boot/GENERIC/boot/kernel/* /boot/GENERIC</userinput>
&prompt.root; <userinput>rm -rf /boot/GENERIC/boot</userinput></screen>
<para><command>freebsd-update</command> ¤Ï¡¢¤³¤Î¥«¡¼¥Í¥ë¤ò
<filename>GENERIC</filename> ¥«¡¼¥Í¥ë¤È¤·¤Æ°·¤¤¤Þ¤¹¡£
<filename>GENERIC</filename> ¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ï¡¢
¤È¤Ë¤«¤¯Êѹ¹¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
¤Þ¤¿¡¢ÆÃÊ̤ʥª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
</itemizedlist>
<para>¤³¤Î»þÅÀ¤Ç <filename>GENERIC</filename>
¥«¡¼¥Í¥ë¤ÇºÆµ¯Æ°¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£</para>
</sect4>
<sect4 id="freebsd-update-custom-kernel-9x">
<title>&os;&nbsp;9.X °Ê¹ß¤Î¥·¥¹¥Æ¥à¤Ë¤ª¤±¤ë¥«¥¹¥¿¥à¥«¡¼¥Í¥ë</title>
<itemizedlist>
<listitem>
<para>¤¿¤À°ìÅÙ¤À¤±¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤·¤¿¤Î¤Ç¤¢¤ì¤Ð¡¢
<filename
class="directory">/boot/kernel.old</filename>
¤Ï <filename>GENERIC</filename> ¥«¡¼¥Í¥ë¤½¤Î¤â¤Î¤Ç¤¹¡£
¤¿¤Àñ¤Ë¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤ò
<filename class="directory">/boot/kernel</filename>
¤Ø¤ÈÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
<listitem>
<para>¥³¥ó¥Ô¥å¡¼¥¿¤Ø¤ÎʪÍýŪ¤Ê¥¢¥¯¥»¥¹¤¬²Äǽ¤Ç¤¢¤ì¤Ð¡¢
°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç¡¢¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤«¤é
<filename>GENERIC</filename>
¥«¡¼¥Í¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
&prompt.root; <userinput>cd /cdrom/usr/freebsd-dist</userinput>
&prompt.root; <userinput>tar -C/ -xvf kernel.txz boot/kernel/kernel</userinput></screen>
</listitem>
<listitem>
<para>¾åµ­¤ÎÊýË¡¤¬¼ºÇÔ¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
<filename>GENERIC</filename> ¥«¡¼¥Í¥ë¤ò¥½¡¼¥¹¤«¤éºÆ¹½ÃÛ¤·¤Æ¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null</userinput></screen>
<para><command>freebsd-update</command> ¤Ï¡¢¤³¤Î¥«¡¼¥Í¥ë¤ò
<filename>GENERIC</filename> ¥«¡¼¥Í¥ë¤È¤·¤Æ°·¤¤¤Þ¤¹¡£
<filename>GENERIC</filename> ¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ï¡¢
¤È¤Ë¤«¤¯Êѹ¹¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
¤Þ¤¿¡¢ÆÃÊ̤ʥª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¤Ç¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
</itemizedlist>
<para>¤³¤Î»þÅÀ¤Ç <filename>GENERIC</filename>
¥«¡¼¥Í¥ë¤ÇºÆµ¯Æ°¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£</para>
</sect4>
</sect3>
<sect3 id="freebsdupdate-using">
<title>¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò¹Ô¤¦</title>
<para><command>freebsd-update</command>
¤Ë¤è¤ë¥á¥¸¥ã¡¼¡¢¤Þ¤¿¤Ï¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥ó¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤Ï¡¢
¥ê¥ê¡¼¥¹¥Ð¡¼¥¸¥ç¥ó¤ò¥¿¡¼¥²¥Ã¥È¤Ë¤·¤Æ¼Â¹Ô¤·¤Þ¤¹¡£
°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ï¡¢&os;&nbsp;9.1 ¤Ë¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>freebsd-update -r 9.1-RELEASE upgrade</userinput></screen>
<para>¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢<command>freebsd-update</command>
¤ÏÀßÄê¥Õ¥¡¥¤¥ë¤È¸½ºß¤Î¥·¥¹¥Æ¥à¤òɾ²Á¤·¡¢
¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤¿¤á¤ËɬÍפʾðÊó¤ò¼ý½¸¤·¤Þ¤¹¡£
²èÌ̤ˤϡ¢¤É¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬Ç§¼±¤µ¤ì¡¢
¤É¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬Ç§¼±¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¤¤¤Ã¤¿¥ê¥¹¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¤¿¤È¤¨¤Ð°Ê²¼¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£</para>
<screen>Looking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching metadata signature for 9.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</screen>
<para>¤³¤³¤Ç¡¢<command>freebsd-update</command>
¤Ï¥¢¥Ã¥×¥°¥ì¡¼¥É¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹¡£
²¿¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢¤É¤Î¤è¤¦¤Ë¿Ê¤à¤«¤È¤¤¤Ã¤¿¼ÁÌä¤ò¤µ¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£</para>
<para>¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤ò»È¤Ã¤Æ¤¤¤ë¤È¡¢
¾åµ­¤Î¥¹¥Æ¥Ã¥×¤Ç°Ê²¼¤Î¤è¤¦¤Ê·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<screen>WARNING: This system is running a "<replaceable>MYKERNEL</replaceable>" kernel, which is not a
kernel configuration distributed as part of FreeBSD 9.0-RELEASE.
This kernel will not be updated: you MUST update the kernel manually
before running "/usr/sbin/freebsd-update install"</screen>
<para>¤³¤Î»þÅÀ¤Ç¤Ï¤³¤Î·Ù¹ð¤ò̵»ë¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤¿ <filename>GENERIC</filename> ¥«¡¼¥Í¥ë¤Ï¡¢
¥¢¥Ã¥×¥°¥ì¡¼¥É¥×¥í¥»¥¹¤ÎÅÓÃæ¤ÇÍøÍѤµ¤ì¤Þ¤¹¡£</para>
<para>¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥Á¤¬¥í¡¼¥«¥ë¥·¥¹¥Æ¥à¤Ø¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤¿¤é¡¢
¼¡¤Ë¥Ñ¥Ã¥Á¤¬Å¬ÍѤµ¤ì¤Þ¤¹¡£
¤³¤Î¥×¥í¥»¥¹¤Ë¤Ï»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£
¤³¤Î»þ´Ö¤Ï¥³¥ó¥Ô¥å¡¼¥¿¤ÎÀ­Ç½¤È¥ï¡¼¥¯¥í¡¼¥É¤Ë°Í¸¤·¤Þ¤¹¡£
¤½¤Î¸å¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤¬¥Þ¡¼¥¸¤µ¤ì¤Þ¤¹¡£
¤³¤Î¥×¥í¥»¥¹¤Ç¤Ï¡¢¥æ¡¼¥¶¤Ï¥Õ¥¡¥¤¥ë¤ò¥Þ¡¼¥¸¤¹¤ë¤«¡¢
²èÌ̾å¤Ë¥¨¥Ç¥£¥¿¤òΩ¤Á¾å¤²¤Æ¼êư¤Ç¥Þ¡¼¥¸¤¹¤ë¤«¤ò¿Ò¤Í¤é¤ì¤Þ¤¹¡£
¥×¥í¥»¥¹¤¬¿Ê¤à¤´¤È¤Ë¡¢À®¸ù¤·¤¿¥Þ¡¼¥¸¤Î¤¹¤Ù¤Æ¤Î·ë²Ì¤Î¾ðÊ󤬥桼¥¶¤Ë¼¨¤µ¤ì¤Þ¤¹¡£
¥Þ¡¼¥¸¤Ë¼ºÇÔ¤·¤¿¤ê¡¢Ìµ»ë¤·¤¿¾ì¹ç¤Ë¤Ï¡¢¥×¥í¥»¥¹¤¬ÃæÃǤ·¤Þ¤¹¡£
¥æ¡¼¥¶¤Ë¤è¤Ã¤Æ¤Ï <filename class="directory">/etc</filename>
¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ê¡¢
<filename>master.passwd</filename> ¤ä <filename>group</filename>
¤Î¤è¤¦¤Ê½ÅÍפʥե¡¥¤¥ë¤ò¸å¤Ç¼êư¤Ç¥Þ¡¼¥¸¤¹¤ëÊý¤â¤¤¤Þ¤¹¡£</para>
<note>
<para>¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥Á¤ÏÊ̤Υǥ£¥ì¥¯¥È¥ê¤Ç¥Þ¡¼¥¸¤µ¤ì¤Æ¤ª¤ê¡¢
¤Þ¤À¡¢¥·¥¹¥Æ¥à¤Ë¤ÏÈ¿±Ç¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥Á¤¬Àµ¤·¤¯Å¬ÍѤµ¤ì¡¢
¤¹¤Ù¤Æ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤¬¥Þ¡¼¥¸¤µ¤ì¤Æ¥×¥í¥»¥¹¤¬¥¹¥à¡¼¥º¤Ë¿Ê¤ó¤À¤é¡¢
¥æ¡¼¥¶¤Ï°Ê²¼¤Î¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¡¢
Êѹ¹ÅÀ¤ò¥Ç¥£¥¹¥¯¤ËÈ¿±Ç¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
</note>
<para>¥Ñ¥Ã¥Á¤ÏºÇ½é¤Ë¥«¡¼¥Í¥ë¤È¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤ËÂФ·¤ÆÅö¤Æ¤é¤ì¤Þ¤¹¡£
¤³¤³¤Ç¥³¥ó¥Ô¥å¡¼¥¿¤òºÆµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¥·¥¹¥Æ¥à¤¬¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
&man.nextboot.8; ¤ò»È¤Ã¤Æ¼¡²ó¤ÎºÆµ¯Æ°»þ¤Î¥«¡¼¥Í¥ë¤ò¡¢
¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤¿ <filename
class="directory">/boot/GENERIC</filename>
¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>nextboot -k GENERIC</userinput></screen>
<warning>
<para><filename>GENERIC</filename> ¥«¡¼¥Í¥ë¤ÇºÆµ¯Æ°¤¹¤ëÁ°¤Ë¡¢
¥«¡¼¥Í¥ë¤Ë¥·¥¹¥Æ¥à¤¬Å¬Àڤ˵¯Æ°¤¹¤ë¤¿¤á¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥É¥é¥¤¥Ð¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¡¢
¤â¤·¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Æ¤¤¤ë¥³¥ó¥Ô¥å¡¼¥¿¤¬¥ê¥â¡¼¥È¤Ç¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
¥Í¥Ã¥È¥ï¡¼¥¯Àܳ¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥É¥é¥¤¥Ð¤â´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
ÆÃ¤Ë¡¢¤³¤ì¤Þ¤Ç¼Â¹Ô¤·¤Æ¤¤¤ë¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤¬¡¢
¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤¤¤ë¥Ó¥ë¥É¥¤¥ó¤Îµ¡Ç½¤ò´Þ¤ó¤Ç¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
¤³¤ì¤é¤Î¥â¥¸¥å¡¼¥ë¤ò°ì»þŪ¤Ë <filename>/boot/loader.conf</filename>
¤Îµ¡Ç½¤òÍѤ¤¤Æ¡¢
<filename>GENERIC</filename> ¤ËÆÉ¤ß¹þ¤ó¤Ç¤¯¤À¤µ¤¤¡£
¥¢¥Ã¥×¥°¥ì¡¼¥É¥×¥í¥»¥¹¤¬½ª¤ï¤ë¤Þ¤Ç¤Ï¡¢
½ÅÍפǤϤʤ¤¥µ¡¼¥Ó¥¹¤ò̵¸ú¤Ë¤¹¤ë¤È¤È¤â¤Ë¡¢
ɬÍפΤʤ¤¥Ç¥£¥¹¥¯¤ä¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥Þ¥¦¥ó¥È¤Ê¤É¤âÈò¤±¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
</warning>
<para>¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤¿¥«¡¼¥Í¥ë¤Ç¥³¥ó¥Ô¥å¡¼¥¿¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>¥·¥¹¥Æ¥à¤¬¥ª¥ó¥é¥¤¥ó¤ËÌá¤Ã¤¿¤é¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ
<command>freebsd-update</command> ¤òºÆ¤Ó¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¢¥Ã¥×¥Ç¡¼¥È¥×¥í¥»¥¹¤Î¾õÂÖ¤ÏÊݸ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
<command>freebsd-update</command> ¤ò¼Â¹Ô¤¹¤ë¤È¡¢ºÇ½é¤«¤é¤Ç¤Ï¤Ê¤¯¡¢
¸Å¤¤¶¦Í­¥é¥¤¥Ö¥é¥ê¤È¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¥×¥í¥»¥¹¤«¤é»Ï¤Þ¤ê¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<note>
<para>»ÈÍѤ·¤Æ¤¤¤ë¥é¥¤¥Ö¥é¥ê¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ÎÉÕ¤±¤é¤ìÊý¤Ë¤è¤Ã¤Æ¡¢
3 ¤Ä¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥§¡¼¥º¤¬ 2 ¤Ä¤Ë¤Ê¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£</para>
</note>
</sect3>
<sect3 id="freebsdupdate-portsrebuild">
<title>¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¥°¥ì¡¼¥É¸å¤Î ports ¤ÎºÆ¹½ÃÛ</title>
<para>¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò¹Ô¤Ã¤¿¸å¤Ç¤Ï¡¢
¤¹¤Ù¤Æ¤Î¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î¥½¥Õ¥È¥¦¥§¥¢¤òºÆ¹½ÃÛ¤·¡¢
ºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤Îºî¶È¤¬É¬ÍפʤΤϡ¢¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢¤¬¡¢
¥¢¥Ã¥×¥°¥ì¡¼¥É¤ÎºÝ¤Ëºï½ü¤µ¤ì¤¿¥é¥¤¥Ö¥é¥ê¤Ë°Í¸¤·¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¤Ç¤¹¡£
<filename role="package">ports-mgmt/portupgrade</filename>
¤Ï¡¢¤³¤Î¥×¥í¥»¥¹¤ò¼«Æ°²½¤·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>portmaster -f</userinput></screen>
<para>¤³¤Îºî¶È¤Î½ªÎ»¸å¡¢ºÇ¸å¤Ë¤â¤¦°ìÅÙ
<command>freebsd-update</command>
¤ò¼Â¹Ô¤·¤Æ¡¢
¤¹¤Ù¤Æ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¥×¥í¥»¥¹¤Î¤ä¤ê»Ä¤·ºî¶È¤ò¹Ô¤¤¡¢
¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¥×¥í¥»¥¹¤ò´°Î»¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<para><filename>GENERIC</filename>
¥«¡¼¥Í¥ë¤ò°ì»þŪ¤ËÆÉ¤ß¹þ¤ó¤Ç¤¤¤¿¤Î¤Ç¤¢¤ì¤Ð¡¢
¤³¤³¤Ç¡¢Ä̾ï¤ÎÊýË¡¤òÍѤ¤¤Æ¿·¤·¤¤¥«¥¹¥¿¥à¤ò¹½ÃÛ¤·¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¥³¥ó¥Ô¥å¡¼¥¿¤òºÆµ¯Æ°¤·¡¢¿·¤·¤¤ &os; ¤òΩ¤Á¾å¤²¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤Ç¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¥×¥í¥»¥¹¤Ï´°Î»¤Ç¤¹¡£</para>
</sect3>
</sect2>
<sect2 id="freebsdupdate-system-comparison">
<title>¥·¥¹¥Æ¥à¤Î¾õÂÖ¤ÎÈæ³Ó</title>
<para><command>freebsd-update</command> ¤òÍѤ¤¤Æ¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë &os; ¤Î¾õÂ֤ȡ¢
Àµ¤·¤¯Æ°ºî¤¹¤ë¤³¤È¤¬Ê¬¤«¤Ã¤Æ¤¤¤ë¾õÂ֤ȤòÈæ³Ó¤Ç¤­¤Þ¤¹¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥·¥¹¥Æ¥à¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¢¥é¥¤¥Ö¥é¥ê¡¢
ÀßÄê¥Õ¥¡¥¤¥ë¤òɾ²Á¤·¤Þ¤¹¡£
Èæ³Ó¤ò¹Ô¤¦¤Ë¤Ï¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>freebsd-update IDS &gt;&gt; outfile.ids</userinput></screen>
<warning>
<para>¥³¥Þ¥ó¥É¥é¥¤¥ó̾¤Ï <acronym>IDS</acronym> ¤Ç¤¹¤¬¡¢
<filename role="package">security/snort</filename>
¤Î¤è¤¦¤Ê¿¯Æþ¸¡ÃÎ¥·¥¹¥Æ¥à¤ÎËÜÅö¤ÎÃÖ¤­´¹¤¨¤Ë¤Ê¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
<command>freebsd-update</command> ¤Ï¥Ç¡¼¥¿¤ò¥Ç¥£¥¹¥¯¤ËÊݸ¤¹¤ë¤Î¤Ç¡¢
ÉÔÀµ¤ÊÊѹ¹¤¬¹Ô¤ï¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
<varname>kern.securelevel</varname> ¤È¡¢
<command>freebsd-update</command> ¤Î¥Ç¡¼¥¿¤ò»ÈÍѤ·¤Ê¤¤¤È¤­¤Ë¡¢
ÆÉ¤ß¼è¤ê¤Î¤ß¤Îµö²Ä°À­¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÃÖ¤¯¤³¤È¤Ç¡¢
ÉÔÀµ¤ÊÊѹ¹¤Î²ÄǽÀ­¤òÄ㤯¤Ç¤­¤Þ¤¹¤¬¡¢
¤è¤ê¤è¤¤²ò·èÊýË¡¤Ï¡¢
<acronym>DVD</acronym>
¤Þ¤¿¤Ï°ÂÁ´¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë³°Éô <acronym>USB</acronym>
¥Ç¥£¥¹¥¯¤Î¤è¤¦¤Ê°ÂÁ´¤Ê¥Ç¥£¥¹¥¯¤È¥·¥¹¥Æ¥à¤òÈæ³Ó¤¹¤ë¤³¤È¤Ç¤¹¡£</para>
</warning>
<para>¤³¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥·¥¹¥Æ¥à¤Ï¸¡ºº¤µ¤ì¡¢
¥ê¥ê¡¼¥¹¥Õ¥¡¥¤¥ë¤Î &man.sha256.1;
¥Ï¥Ã¥·¥åÃͤȸ½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î¥Ï¥Ã¥·¥åÃͤ¬¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤È¶¦¤Ë¡¢»ØÄꤷ¤¿
<filename>outfile.ids</filename> ¥Õ¥¡¥¤¥ë¤ËÁ÷¤é¤ì¤Þ¤¹¡£</para>
<para>¤³¤ì¤é¤Î¹Ô¤Ï¶Ë¤á¤ÆÄ¹¤¤¤Î¤Ç¤¹¤¬¡¢½ÐÎÏ·Á¼°¤Ï´Êñ¤Ë¤¹¤°¤Ë²òÀϤǤ­¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢¤³¤ì¤é¤Î¥ê¥ê¡¼¥¹¤Ç°Û¤Ê¤Ã¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤òÃΤꤿ¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cat outfile.ids | awk '{ print $1 }' | more</userinput>
/etc/master.passwd
/etc/motd
/etc/passwd
/etc/pf.conf</screen>
<para>¾å¤Îɽ¼¨Îã¤Ç¤Ï½ÐÎϤÏÀÚ¤ê¼Î¤Æ¤é¤ì¤Æ¤ª¤ê¡¢
¼ÂºÝ¤Ë¤Ï¤â¤Ã¤È¿¤¯¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤¹¡£
¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢±¿ÍÑÃæ¤ËÊѹ¹¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢<filename>/etc/passwd</filename>
¤Ï¥æ¡¼¥¶¤¬¥·¥¹¥Æ¥à¤ËÄɲ䵤ì¤ë¤ÈÊѹ¹¤µ¤ì¤Þ¤¹¡£
¤Þ¤¿¡¢¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤Ï¡¢
<command>freebsd-update</command>
¤Ë¤è¤ê¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤ë¤¿¤á¡¢Êѹ¹¤µ¤ì¤Þ¤¹¡£
¤³¤Î¤è¤¦¤ÊÆÃÊ̤ʥե¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°¤¹¤ë¤Ë¤Ï¡¢
¤½¤ì¤é¤ò <filename>/etc/freebsd-update.conf</filename> ¤Î
<literal>IDSIgnorePaths</literal> ¥ª¥×¥·¥ç¥ó¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£</para>
<para>°ÊÁ°¤ËµÄÏÀ¤·¤¿ÊýË¡¤È¤ÏÊ̤ˡ¢
¤³¤Î¥·¥¹¥Æ¥à¤òÆþǰ¤Ê¥¢¥Ã¥×¥°¥ì¡¼¥ÉÊýË¡¤Î°ìÉô¤È¤·¤ÆÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
</sect2>
</sect1>
<sect1 id="updating-upgrading-portsnap">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>´ó¹Æ: </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Colin</firstname>
<surname>Percival</surname>
<contrib>¥Ù¡¼¥¹¤È¤Ê¤Ã¤¿¥Î¡¼¥È¤ÎÄó¶¡: </contrib>
</author>
</authorgroup>
</sect1info>
<title>Portsnap: Ports Collection ¥¢¥Ã¥×¥Ç¡¼¥È¥Ä¡¼¥ë</title>
<indexterm><primary>¥¢¥Ã¥×¥Ç¡¼¥È¤È¥¢¥Ã¥×¥°¥ì¡¼¥É</primary></indexterm>
<indexterm>
<primary>Portsnap</primary>
<see>¥¢¥Ã¥×¥Ç¡¼¥È¤È¥¢¥Ã¥×¥°¥ì¡¼¥É</see>
</indexterm>
<para>&os; ¤Î¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ë¤Ï¡¢
Ports Collection ¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë &man.portsnap.8; ¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢&os; ¤Î¥µ¥¤¥È¤ËÀܳ¤·¡¢¥»¥­¥å¥ê¥Æ¥£¥­¡¼¤ò¸¡¾Ú¤·¡¢
Ports Collection ¤ÎºÇ¿·ÈǤò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹¡£
¥»¥­¥å¥ê¥Æ¥£¥­¡¼¤Ï¡¢
¥À¥¦¥ó¥í¡¼¥É¤·¤¿¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤ËÍѤ¤¤é¤ì¤Þ¤¹¡£
ºÇ¿·¤Î Ports Collection ¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>portsnap fetch</userinput>
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.</screen>
<para>¤³¤ÎÎã¤Ç¤Ï¡¢&man.portsnap.8;
¤¬¸½ºß¤Î ports ¤ËÂФ¹¤ë¥Ñ¥Ã¥Á¤ò¸«¤Ä¤±¡¢¸¡¾Ú¤·¤¿¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
¤Þ¤¿¡¢¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï°ÊÁ°¤Ë¼Â¹Ô¤·¤Æ¤¤¤ë¤³¤È¤â¼¨¤·¤Æ¤¤¤Þ¤¹¡£
¤â¤·½é¤á¤Æ¼Â¹Ô¤·¤¿¤Î¤Ç¤¢¤ì¤Ð¡¢Ports Collection ¤Î¥À¥¦¥ó¥í¡¼¥É¤Î¤ß¤¬¹Ô¤ï¤ì¤Þ¤¹¡£</para>
<para>&man.portsnap.8; ¤¬ <command>fetch</command> ¤ËÀ®¸ù¤¹¤ë¤È¡¢
¸¡¾Ú¤òÄ̤ä¿ Ports Collection ¤È¡¢
¤½¤ì¤Ë³¤¯¥Ñ¥Ã¥Á¤¬¥í¡¼¥«¥ë¥·¥¹¥Æ¥à¤Ë¸ºß¤·¤Þ¤¹¡£
¤Ï¤¸¤á¤Æ <command>portsnap</command> ¤ò¼Â¹Ô¤·¤¿»þ¤Ë¤Ï¡¢
<literal>extract</literal> ¤ò»È¤Ã¤Æ¡¢
¥À¥¦¥ó¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>portsnap extract</userinput>
/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
<replaceable>...</replaceable></screen>
<para>¤¹¤Ç¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë Ports Collection
¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Ë¤Ï¡¢
<command>portsnap update</command> ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>portsnap update</userinput></screen>
<para>¤³¤ì¤Ç¥¢¥Ã¥×¥Ç¡¼¥È¥×¥í¥»¥¹¤Ï´°Î»¤·¤Þ¤·¤¿¡£
¹¹¿·¤µ¤ì¤¿ Ports Collection ¤ò»È¤Ã¤Æ¡¢
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤ê¡¢
¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Þ¤¹¡£</para>
<para><literal>fetch</literal> ¤ò»È¤¦¾ì¹ç¤Ë¤Ï¡¢
<literal>extract</literal> ¤ª¤è¤Ó <literal>update</literal>
¤òϢ³¤·¤Æ¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>portsnap fetch update</userinput></screen>
<para>¤³¤Î¥³¥Þ¥ó¥É¤Ë¤è¤êºÇ¿·¤Î
Ports Collection ¤¬¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¡¢
<filename class="directory">/usr/ports</filename>
°Ê²¼¤Ë¤¢¤ë¥í¡¼¥«¥ë¤Î Ports Collection ¤¬¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤Þ¤¹¡£</para>
</sect1>
<sect1 id="updating-upgrading-documentation">
<title>¥É¥­¥å¥á¥ó¥È¤Î¥¢¥Ã¥×¥Ç¡¼¥È</title>
<indexterm><primary>Updating and Upgrading</primary></indexterm>
<indexterm>
<primary>Documentation</primary>
<see>Updating and Upgrading</see>
</indexterm>
<para>¥É¥­¥å¥á¥ó¥È¤Ï¡¢&os; ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Îɬ¿ÜÍ×ÁǤǤ¹¡£
&os; ¥É¥­¥å¥á¥ó¥È¥»¥Ã¥È¤ÎºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢<ulink
url="http://www.freebsd.org/doc/">&os; ¥¦¥§¥Ö¥µ¥¤¥È</ulink>
¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¤¬¡¢
¥Í¥Ã¥È¥ï¡¼¥¯Àܳ¤¬ÃÙ¤¤¡¢¤â¤·¤¯¤Ï¤Þ¤Ã¤¿¤¯Àܳ¤Ç¤­¤Ê¤¤¥æ¡¼¥¶¤â¤¤¤Þ¤¹¡£
¥í¡¼¥«¥ë¤Î¥É¥­¥å¥á¥ó¥È¤òºÇ¿·¤Î &os;
¥É¥­¥å¥á¥ó¥È¥»¥Ã¥È¤Ë¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ëÊýË¡¤¬¤¤¤¯¤Ä¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<sect2 id="dsvn-doc">
<title><application>Subversion</application>
¤òÍѤ¤¤¿¥É¥­¥å¥á¥ó¥È¤Î¥¢¥Ã¥×¥Ç¡¼¥ÈÊýË¡</title>
<para>&os; ¤Î¥É¥­¥å¥á¥ó¥È¤Î¥½¡¼¥¹¤Ï¡¢
<application>svn</application> ¤òÍѤ¤¤ÆÆþ¼ê¤Ç¤­¤Þ¤¹¡£
¤³¤ÎÀá¤Ç¤Ï°Ê²¼¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
<para>¥É¥­¥å¥á¥ó¥È¥Ä¡¼¥ë¥Á¥§¥¤¥ó¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¡£
¤³¤Î¥Ä¡¼¥ë¤Ï¡¢&os;
¤Î¥É¥­¥å¥á¥ó¥È¤ò¥½¡¼¥¹¤«¤éºÆ¹½ÃÛ¤¹¤ë¤Î¤ËɬÍפǤ¹¡£</para>
</listitem>
<listitem>
<para><application>svn</application> ¤òÍѤ¤¤Æ¡¢
¥É¥­¥å¥á¥ó¥È¤Î¥½¡¼¥¹¤ò
<filename class="directory">/usr/doc</filename>
°Ê²¼¤Ë¥À¥¦¥ó¥í¡¼¥É¤¹¤ëÊýË¡¡£</para>
</listitem>
<listitem>
<para>&os; ¥É¥­¥å¥á¥ó¥È¤ò¥½¡¼¥¹¤«¤éºÆ¹½ÃÛ¤·¡¢
<filename class="directory">/usr/share/doc</filename>
°Ê²¼¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÊýË¡¡£</para>
</listitem>
<listitem>
<para>¥É¥­¥å¥á¥ó¥È¤Î¥Ó¥ë¥É¥·¥¹¥Æ¥à¤Ë¤ª¤¤¤Æ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Ó¥ë¥É¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¡£
¤¿¤È¤¨¤Ð¡¢ËÝÌõ¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Î¤ß¤ò¹½ÃÛ¤¹¤ë¥ª¥×¥·¥ç¥ó¤ä¡¢
¤¢¤ëÆÃÄê¤Î½ÐÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È¤ò»ØÄꤹ¤ë¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="installing-documentation-toolchain">
<title><application>svn</application>
¤ª¤è¤Ó¥É¥­¥å¥á¥ó¥È¥Ä¡¼¥ë¥Á¥§¥¤¥ó¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
<para>&os; ¤Î¥É¥­¥å¥á¥ó¥È¤ò¥½¡¼¥¹¤«¤éºÆ¹½ÃÛ¤¹¤ë¤Ë¤Ï¡¢
¥Ä¡¼¥ë¤Î¥³¥ì¥¯¥·¥ç¥ó¤¬É¬ÍפǤ¹¡£
¤³¤ì¤é¤Î¥Ä¡¼¥ë¤Ï¿¤¯¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤ò»ÈÍѤ¹¤ë¤¿¤á¡¢
&os; ¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Î°ìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤Þ¤¿¡¢¤¹¤Ù¤Æ¤Î &os; ¥æ¡¼¥¶¤Ë¤È¤Ã¤ÆÍ­ÍѤȤ¤¤¦¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢&os;
¤Î¤¿¤á¤Ë¿·¤·¤¤¥É¥­¥å¥á¥ó¥È¤ò³èȯ¤Ë¼¹É®¤·¤Æ¤¤¤ëÊý¤ä¡¢
ÉÑÈˤ˥ɥ­¥å¥á¥ó¥È¤ò¥½¡¼¥¹¤«¤é¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ëÊý¤Ë¸þ¤±¤¿¤â¤Î¤Ç¤¹¡£</para>
<para><application>svn</application> ¤ò´Þ¤áɬÍפʥġ¼¥ë¤Ï¡¢
<filename role="package">textproc/docproj</filename> ¥á¥¿ port
¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£¤³¤Î port ¤Ï¡¢
&os; ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤Ë¤è¤ê³«È¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<note>
<para>¥É¥­¥å¥á¥ó¥È¤Î &postscript; ¤ä PDF ÈǤ¬É¬Íפʤ±¤ì¤Ð¡¢¤«¤ï¤ê¤Ë
<filename
role="package">textproc/docproj-nojadetex</filename>
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤â¹Í¤¨¤Æ¤è¤¤¤Ç¤·¤ç¤¦¡£
¤³¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Î¥Ä¡¼¥ë¥Á¥§¥¤¥ó¤Ï¡¢
<application>teTeX</application>
¤È¸Æ¤Ð¤ì¤ëÁÈÈÇ¥¨¥ó¥¸¥ó¤ò½ü¤¤¤¿¤¹¤Ù¤Æ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
<application>teTeX</application> ¤ÏÂ礭¤Ê¥Ä¡¼¥ë¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢¤â¤· PDF ½ÐÎϤòËÜÅö¤ËɬÍפȤ·¤Ê¤±¤ì¤Ð¡¢
¤³¤Î¥Ä¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤³¤È¤Ï¤È¤Æ¤â¸­ÌÀ¤Ç¤¹¡£</para>
</note>
</sect2>
<sect2 id="updating-documentation-sources">
<title>¥É¥­¥å¥á¥ó¥È¤Î¥½¡¼¥¹¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë</title>
<para>°Ê²¼¤ÎÎã¤Ç¤Ï¡¢<application>svn</application> ¤ò»È¤Ã¤Æ
western US ¥ß¥é¡¼¤«¤é HTTPS ¥×¥í¥È¥³¥ë¤òÍѤ¤¤Æ¡¢
¥É¥­¥å¥á¥ó¥È¤Î¥½¡¼¥¹¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>svn checkout <replaceable>https://svn0.us-west.FreeBSD.org</replaceable>/doc/head /usr/doc</userinput></screen>
<para>ÍøÍѲÄǽ¤Ê <link
linkend="svn-mirrors">Subversion ¥ß¥é¡¼¥µ¥¤¥È</link>
¤ÎÃæ¤«¤é¤â¤Ã¤È¤â¶á¤¤¥ß¥é¡¼¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>ºÇ½é¤Ë¥É¥­¥å¥á¥ó¥È¤Î¥½¡¼¥¹¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤Ë¤Ï¾¯¤·»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£
¥À¥¦¥ó¥í¡¼¥É¤¬½ª¤ï¤ë¤Þ¤Ç¤ªÂÔ¤Á¤¯¤À¤µ¤¤¡£</para>
<para>¥À¥¦¥ó¥í¡¼¥É¤·¤¿¥É¥­¥å¥á¥ó¥È¤Î¥½¡¼¥¹¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>svn update <filename class="directory">/usr/doc</filename></userinput></screen>
<para>¥½¡¼¥¹¤òÆþ¼ê¤·¤¿¤é¡¢
<filename>/usr/doc/Makefile</filename> ¤ò»È¤¤¡¢
°Ê²¼¤Î¤è¤¦¤Ë¥É¥­¥å¥á¥ó¥È¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/doc</userinput>
&prompt.root; <userinput>make update</userinput></screen>
</sect2>
<sect2 id="updating-documentation-options">
<title>¥É¥­¥å¥á¥ó¥È¤Î¥½¡¼¥¹¤ÎÄ´À°²Äǽ¤Ê¥ª¥×¥·¥ç¥ó</title>
<para>&os; ¤Î¥É¥­¥å¥á¥ó¥È¥»¥Ã¥È¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤È¥Ó¥ë¥É¥·¥¹¥Æ¥à¤Ï¡¢
¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤Î°ìÉô¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤ò´Êñ¤Ë¤¹¤ë¥ª¥×¥·¥ç¥ó¤ä¡¢
ÆÃÄê¤ÎËÝÌõ¤Î¥Ó¥ë¥É¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥·¥¹¥Æ¥àÁ´È̤Υª¥×¥·¥ç¥ó¤Ç¤¢¤ë
<filename>/etc/make.conf</filename> ¤ä¡¢&man.make.1;
¤ËÍ¿¤¨¤ë¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ÇÀßÄê¤Ç¤­¤Þ¤¹¡£</para>
<para>¥ª¥×¥·¥ç¥ó¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£</para>
<variablelist>
<varlistentry>
<term><makevar>DOC_LANG</makevar></term>
<listitem>
<para>¥Ó¥ë¥É¤ª¤è¤Ó¥¤¥ó¥¹¥È¡¼¥ë¤Î¸À¸ì¤ª¤è¤Ó¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î°ìÍ÷¡£
¤¿¤È¤¨¤Ð¡¢±Ñ¸ì¤Î¥É¥­¥å¥á¥ó¥È¤ò»ØÄꤹ¤ë¤Ë¤Ï
<literal>en_US.ISO8859-1</literal> ¤òÀßÄꤷ¤Þ¤¹¡£</para>
</listitem>
</varlistentry>
<varlistentry>
<term><makevar>FORMATS</makevar></term>
<listitem>
<para>¥Ó¥ë¥É¤ò¹Ô¤¦¥Õ¥©¡¼¥Þ¥Ã¥È¡¢¤Þ¤¿¤Ï½ÐÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î°ìÍ÷¡£
¸½ºß¤Ï <literal>html</literal>,
<literal>html-split</literal>, <literal>txt</literal>,
<literal>ps</literal>, <literal>pdf</literal>,
¤½¤·¤Æ <literal>rtf</literal> ¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£</para>
</listitem>
</varlistentry>
<varlistentry>
<term><makevar>DOCDIR</makevar></term>
<listitem>
<para>¥É¥­¥å¥á¥ó¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì½ê¡£¥Ç¥Õ¥©¥ë¥È¤Ï
<filename
class="directory">/usr/share/doc</filename> ¤Ç¤¹¡£</para>
</listitem>
</varlistentry>
</variablelist>
<para>&os; ¤Î¥·¥¹¥Æ¥àÁ´È̤Υª¥×¥·¥ç¥ó¤Ë´ØÏ¢¤¹¤ë¤â¤Ã¤È¿¤¯¤Î
<command>make</command> ÊÑ¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢
&man.make.conf.5; ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
<para>&os; ¥É¥­¥å¥á¥ó¥È¤Î¥Ó¥ë¥É¥·¥¹¥Æ¥à¤ÇÂбþ¤·¤Æ¤¤¤ë¤µ¤é¤Ê¤ë
<command>make</command> ¤ÎÊÑ¿ô¤Ë´Ø¤·¤Æ¤Ï¡¢
<ulink url="&url.doc.langbase.en;/books/fdp-primer">¿·¤·¤¤¹×¸¥¼Ô¤Î¤¿¤á¤Î &os; ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥ÈÆþÌç </ulink> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="updating-installed-documentation">
<title>¥½¡¼¥¹¤«¤é &os; ¥É¥­¥å¥á¥ó¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë</title>
<para>¥É¥­¥å¥á¥ó¥È¤Î¥½¡¼¥¹¤ÎºÇ¿·¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò
<filename class="directory">/usr/doc</filename> ¤Ë¥À¥¦¥ó¥í¡¼¥É¤·¤¿¤é¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥È¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë½àÈ÷¤¬¤¹¤Ù¤ÆÀ°¤¤¤Þ¤·¤¿¡£</para>
<para><makevar>DOC_LANG</makevar>
¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¸À¸ì¤ò´°Á´¤Ë¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/doc</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>¤â¤·¡¢¤¢¤ëÆÃÄê¤Î¸À¸ì¤Î¤ß¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
<filename class="directory">/usr/doc</filename>
¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ç°Ê²¼¤Î¤è¤¦¤Ë &man.make.1; ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/doc/en_US.ISO8859-1</userinput>
&prompt.root; <userinput>make update install clean</userinput></screen>
<para><makevar>FORMATS</makevar> ¤òÀßÄꤷ¤Æ¡¢
°Ê²¼¤Î¤è¤¦¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë½ÐÎÏ·Á¼°¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/doc</userinput>
&prompt.root; <userinput>make FORMATS='html html-split' install clean</userinput></screen>
<para>¥É¥­¥å¥á¥ó¥È¤òÊÔ½¸¤·¤¿¤ê¡¢ÄûÀµ¤·¤¿¤â¤Î¤òÄó½Ð¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢
<ulink
url="&url.books.fdp-primer;">¿·¤·¤¤¹×¸¥¼Ô¤Î¤¿¤á¤Î &os;
¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥ÈÆþÌç</ulink> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="doc-ports">
<sect2info>
<authorgroup>
<author>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
<contrib>¥Ù¡¼¥¹¤È¤Ê¤Ã¤¿ºî¶È:</contrib>
</author>
</authorgroup>
</sect2info>
<title>¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó ports</title>
<indexterm><primary>Updating and Upgrading</primary></indexterm>
<indexterm>
<primary>documentation package</primary>
<see>Updating and Upgrading</see>
</indexterm>
<para>¤³¤ì¤Þ¤Ç¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤òÍѤ¤¤¿ &os;
¥É¥­¥å¥á¥ó¥È¤Î¥¢¥Ã¥×¥Ç¡¼¥ÈÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ¤­¤Þ¤·¤¿¡£
¤¹¤Ù¤Æ¤Î &os; ¥·¥¹¥Æ¥à¤Ç¡¢
¥½¡¼¥¹¤«¤é¥É¥­¥å¥á¥ó¥È¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤³¤È¤ÏÆñ¤·¤¤¤«¤âÃΤì¤Þ¤»¤ó¤·¡¢
¤Ç¤­¤¿¤È¤·¤Æ¤â¸½¼ÂŪ¤Ç¤Ï¤Ê¤¤¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
¥É¥­¥å¥á¥ó¥È¤ò¥½¡¼¥¹¤«¤é¹½ÃÛ¤¹¤ë¤Ë¤Ï¡¢
¤«¤Ê¤êÂ礭¤Ê¥Ä¡¼¥ë¤È¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤«¤é¹½À®¤µ¤ì¤ë
<emphasis>¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥Ä¡¼¥ë¥Á¥§¥¤¥ó</emphasis>
¤¬É¬Íפʤ¿¤á¤Ç¤¹¡£
¤Þ¤¿¡¢<application>svn</application>
¥ê¥Ý¥¸¥È¥ê¤«¤é¥½¡¼¥¹¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¡¢
¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤¿¥½¡¼¥¹¤«¤é¥É¥­¥å¥á¥ó¥È¤ò¼êư¤Ç¹½ÃÛ¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¡¢
¤½¤ì¤Ê¤ê¤Ë½ÏÃΤ·¤Æ¤¤¤ëɬÍפ⤢¤ê¤Þ¤¹¡£
¤³¤ÎÀá¤Ç¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë
&os; ¤Î¥É¥­¥å¥á¥ó¥È¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤â¤¦°ì¤Ä¤ÎÊýË¡¤Ç¤¢¤ë¡¢
Ports Collection ¤òÍѤ¤¤¿ÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¡¢
°Ê²¼¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
<para>¹½ÃۺѤΥɥ­¥å¥á¥ó¥È¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÊýË¡¡£
¥í¡¼¥«¥ë¤Ç¤Î¹½ÃÛºî¶È¤ä¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥Ä¡¼¥ë¥Á¥§¥¤¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£</para>
</listitem>
<listitem>
<para>¥É¥­¥å¥á¥ó¥È¤Î¥½¡¼¥¹¤ò¥À¥¦¥ó¥í¡¼¥É¤·¡¢ports
¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤ò»È¤Ã¤Æ¹½ÃÛ¤¹¤ëÊýË¡¤Ç¤¹¡£
¥Á¥§¥Ã¥¯¥¢¥¦¥È¤ª¤è¤Ó¹½ÃÛºî¶È¤¬´Êñ¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
</listitem>
</itemizedlist>
<para>&os; ¤Î¥É¥­¥å¥á¥ó¥È¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤³¤ì¤é¤ÎÊýË¡¤Ï¡¢
&a.doceng; ¤¬Ëè·î¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Æ¤¤¤ë
<emphasis>¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó ports</emphasis>
¤Ë¤è¤ê¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤é¤Î ports ¤Ï¡¢&os; Ports&nbsp;Collection ¤Î <ulink
url="http://www.freshports.org/docs/">docs</ulink>
¥«¥Æ¥´¥ê¤Ë¤Þ¤È¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<sect3 id="doc-ports-install-make">
<title>¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó ports ¤Î¹½Ãۤȥ¤¥ó¥¹¥È¡¼¥ë</title>
<para>¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó ports ¤Ç¤Ï¡¢
ports ¤Î¹½Ãۥե졼¥à¥ï¡¼¥¯¤¬ÍѤ¤¤é¤ì¤ë¤Î¤Ç¡¢
¥É¥­¥å¥á¥ó¥È¤ò´Êñ¤Ë¹½ÃۤǤ­¤Þ¤¹¡£
¤³¤Î ports ¤Ï¡¢¥É¥­¥å¥á¥ó¥È¤Î¥½¡¼¥¹¤ò¼«Æ°Åª¤Ë¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¡¢
´Ä¶­ÊÑ¿ô¤ä¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤òŬÀÚ¤ËÀßÄꤷ¤Æ &man.make.1;
¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¤Þ¤¿¡¢Â¾¤Î &os; port, package ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ÈƱÍͤ˴Êñ¤ÊÊýË¡¤Ç¡¢
¥É¥­¥å¥á¥ó¥È¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ä¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<note>
<para>Äɲäε¡Ç½¤È¤·¤Æ¡¢¤³¤Î ports ¤Ï
<emphasis>¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥Ä¡¼¥ë¥Á¥§¥¤¥ó</emphasis> ports
¤Ø¤Î°Í¸¤òÍý²ò¤·¤Æ¤¤¤ë¤Î¤Ç¡¢
¹½ÃÛ»þ¤Ë¤Ï¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥Ä¡¼¥ë¥Á¥§¥¤¥ó¤â¼«Æ°Åª¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£</para>
</note>
<para>¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó ports ¤Î¹½À®¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£</para>
<itemizedlist>
<listitem>
<para><quote>¥Þ¥¹¥¿ port</quote>, <filename
role="package">misc/freebsd-doc-en</filename>¡£
¤¹¤Ù¤Æ¤Î±Ñ¸ìʸ½ñ¤Î ports ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><quote>¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥È¤Î port</quote>, <filename
role="package">misc/freebsd-doc-all</filename>¡£
¤³¤ì¤Ï¡¢¤¹¤Ù¤Æ¤ÎÍøÍѲÄǽ¤Ê¸À¸ì¤Î¤¹¤Ù¤Æ¤Î¥É¥­¥å¥á¥ó¥È¤ò¹½ÃÛ¤·¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>³Æ¸À¸ì¤Î¤¿¤á¤Ë <quote>¥¹¥ì¡¼¥Ö port</quote>
¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢<filename
role="package">misc/freebsd-doc-hu</filename>
¤Ï¥Ï¥ó¥¬¥ê¡¼¸ì¤Î¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó port ¤Ç¤¹¡£</para>
</listitem>
</itemizedlist>
<para>¤¿¤È¤¨¤Ð¡¢<ulink
url="http://www.FreeBSD.org"></ulink> ¤ÈƱ¤¸·Á¼°¤Ç¤¢¤ë¡¢
±Ñ¸ìÈǤÎʬ³ä¤µ¤ì¤¿ <acronym>HTML</acronym> ·Á¼°¤ò¹½ÃÛ¤·¡¢
<filename
class="directory">/usr/local/share/doc/freebsd</filename>
¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï°Ê²¼¤Î port ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/misc/freebsd-doc-en</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<sect4 id="doc-ports-options">
<title>¶¦Ä̤Υª¥×¥·¥ç¥ó</title>
<para>¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó ports
¤Ë¤Ï¤¿¤¯¤µ¤ó¤Î¥ª¥×¥·¥ç¥ó¤¬ÍѰդµ¤ì¤Æ¤ª¤ê¡¢
°Ê²¼¤Î¤è¤¦¤Ë
ports ¤Î¿¶¤ëÉñ¤¤¤ò¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄ꤫¤éÊѹ¹¤Ç¤­¤Þ¤¹¡£</para>
<variablelist>
<varlistentry>
<term><makevar>WITH_HTML</makevar></term>
<listitem>
<para>HTML ·Á¼°¤ò¹½ÃÛ¤·¤Þ¤¹¡£
³Æ¥É¥­¥å¥á¥ó¥È¤ËÂФ·¡¢Ã±°ìÈǤΠHTML ¥Õ¥¡¥¤¥ë¤¬¹½ÃÛ¤µ¤ì¤Þ¤¹¡£
À°·Á¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ï¡¢
<filename>article.html</filename> ¤ä
<filename>book.html</filename> ¤È¤¤¤Ã¤¿Ì¾Á°¤Ç¡¢
ɬÍפ˱þ¤¸¤Æ²èÁü¤È¤È¤â¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£</para>
</listitem>
</varlistentry>
<varlistentry>
<term><makevar>WITH_PDF</makevar></term>
<listitem>
<para>&adobe; Portable Document Format (PDF) ¤ò¹½ÃÛ¤·¤Þ¤¹¡£
À°·Á¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ï¡¢
<filename>article.pdf</filename> ¤ä
<filename>book.pdf</filename>
¤È¤¤¤Ã¤¿Ì¾Á°¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£</para>
</listitem>
</varlistentry>
<varlistentry>
<term><makevar>DOCBASE</makevar></term>
<listitem>
<para>¥É¥­¥å¥á¥ó¥È¤Î¥¤¥ó¥¹¥È¡¼¥ëÀè¤òÀßÄꤷ¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Î¥¤¥ó¥¹¥È¡¼¥ëÀè¤Ï <filename
class="directory">/usr/local/share/doc/freebsd</filename>
¤Ç¤¹¡£</para>
<note>
<para>¥Ç¥Õ¥©¥ë¥È¤Î¥¿¡¼¥²¥Ã¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢
<application>svn</application>
¤òÍѤ¤¤ëÊýË¡¤È¤Ï°Û¤Ê¤ê¤Þ¤¹¡£
ports ¤ÏÄ̾ï <filename
class="directory">/usr/local</filename>
¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤¿¤á¤Ç¤¹¡£
<makevar>PREFIX</makevar> ÊÑ¿ô¤ò»È¤¦¤³¤È¤Ç¡¢
¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Ë¤â¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
</note>
</listitem>
</varlistentry>
</variablelist>
<para>°Ê²¼¤Ï¡¢¾åµ­¤ÎÊÑ¿ô¤òÍѤ¤¤Æ¥Ï¥ó¥¬¥ê¡¼¸ì¤Î¥É¥­¥å¥á¥ó¥È¤ò
PDF ·Á¼°¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÊýË¡¤Ç¤¹¡£</para>
<screen>&prompt.root; cd /usr/ports/misc/freebsd-doc-hu
&prompt.root; make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean</screen>
</sect4>
</sect3>
<sect3 id="doc-ports-install-package">
<title>¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó package ¤ÎÍøÍÑ</title>
<para>Á°Àá¤ÇÀâÌÀ¤·¤¿¡¢
¥½¡¼¥¹¤«¤é¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó port ¤ò¹½ÃÛ¤¹¤ëÊýË¡¤Ç¤Ï¡¢
¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥Ä¡¼¥ë¥Á¥§¥¤¥ó¤ò¥í¡¼¥«¥ë¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¡¢
¤Þ¤¿¡¢ports ¤Î¹½ÃۤΤ¿¤á¤Ë¥Ç¥£¥¹¥¯ÍÆÎ̤òɬÍפȤ·¤Þ¤¹¡£
¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥Ä¡¼¥ë¥Á¥§¥¤¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥ê¥½¡¼¥¹¤¬¤Ê¤¤¾ì¹ç¤ä¡¢
¥½¡¼¥¹¤«¤é¹½ÃÛ¤¹¤ë¾ì¹ç¤Ë¤Ï¿¤¯¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤òɬÍפȤ¹¤ë¤¿¤á¡¢
¹½ÃۺѤߤΥɥ­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó ports
¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para>&a.doceng; ¤Ï¡¢Ëè·î &os; ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó package
¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤é¤Î¥Ð¥¤¥Ê¥ê package ¤Ï¡¢¥·¥¹¥Æ¥à¤ËÍѰդµ¤ì¤Æ¤¤¤ë
&man.pkg.add.1;, &man.pkg.delete.1; ¤Ê¤É¤Î
package ´ÉÍý¥Ä¡¼¥ë¤òÍѤ¤¤Æ°·¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<note>
<para>¥Ð¥¤¥Ê¥ê package ¤ò»È¤¦¤È¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¸À¸ì¤ËÍѰդµ¤ì¤Æ¤¤¤ë
<emphasis>¤¹¤Ù¤Æ</emphasis> ¤Î·Á¼°¤Î
&os; ¥É¥­¥å¥á¥ó¥È¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£</para>
</note>
<para>¤¿¤È¤¨¤Ð¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢
¥Ï¥ó¥¬¥ê¡¼¸ì¤Î¥É¥­¥å¥á¥ó¥È¤ÎºÇ¿· package ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r hu-freebsd-doc</userinput></screen>
<note>
<para>¥É¥­¥å¥á¥ó¥È¤Î package ¤Ï¡¢Âбþ¤¹¤ë port ̾¤È¤Ï°Û¤Ê¤ê¡¢
<literal><replaceable>lang</replaceable>-freebsd-doc</literal>
¤Î·Á¼°¤Ç̾Á°¤¬¤Ä¤±¤é¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤³¤Ç¡¢<replaceable>lang</replaceable> ¤Ï¸À¸ì¥³¡¼¥É¤Îû½Ì·Á¤Ç¤¹¡£
¥Ï¥ó¥¬¥ê¡¼¸ì¤Î¾ì¹ç¤Ï <literal>hu</literal>¡¢´ÊÂλú¤Î¾ì¹ç¤Ë¤Ï
<literal>zh_cn</literal> ¤Ç¤¹¡£</para>
</note>
</sect3>
<sect3 id="doc-ports-update">
<title>¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó ports ¤Î¥¢¥Ã¥×¥Ç¡¼¥È</title>
<para>¾¤Î port ¤ÈƱÍͤˡ¢¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó port
¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤­¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢<filename
role="package">ports-mgmt/portupgrade</filename>
¤«¤é¡¢package ¤À¤±¤ò»È¤Ã¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥Ï¥ó¥¬¥ê¡¼¸ì¤Î¥É¥­¥å¥á¥ó¥È¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>portmaster -PP hu-freebsd-doc</userinput></screen>
</sect3>
</sect2>
</sect1>
<sect1 id="current-stable">
<title>³«È¯¥Ö¥é¥ó¥Á¤òÄɤ¤¤«¤±¤ë</title>
<indexterm><primary>-CURRENT</primary></indexterm>
<indexterm><primary>-STABLE</primary></indexterm>
<para>&os; ¤Ë¤ÏÆó¤Ä¤Î³«È¯¥Ö¥é¥ó¥Á¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤ì¤Ï &os.current; ¤È &os.stable; ¤Ç¤¹¡£
¤³¤Î¾Ï¤Ç¤Ï¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¡¢
¤É¤Î¤è¤¦¤Ë¤·¤Æ¥·¥¹¥Æ¥à¤ÎÂбþ¤¹¤ë¥Ä¥ê¡¼¤òºÇ¿·¤Î¾õÂÖ¤ËÊݤĤ«¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
¤Þ¤º¤Ï &os.current;¡¢¼¡¤Ë &os.stable; ¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£</para>
<para><emphasis>Ìõ: &a.hanai;¡¢1996 ǯ 11 ·î 6 Æü</emphasis></para>
<sect2 id="current">
<title>ºÇ¿·¤Î &os; ¤òÄɤ¤¤«¤±¤ë</title>
<para>&os.current; ¤È¤Ï &os; ¤Î³«È¯¤Î <quote>ºÇÁ°Àþ</quote> ¤Ç¤¹¡£
&os.current; ¤Î¥æ¡¼¥¶¤Ï¹â¤¤µ»½ÑÎϤò»ý¤Ä¤³¤È¤¬Í׵ᤵ¤ì¡¢
¼«Ê¬¤Î¥·¥¹¥Æ¥à¤¬Êú¤¨¤ëº¤Æñ¤ÊÌäÂê¤ò¼«ÎϤDzò·è¤Ç¤­¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
¤â¤· &os; ¤ò»È¤¤»Ï¤á¤¿¤Ð¤«¤ê¤Ê¤é¡¢
¤³¤ì¤ò±¿ÍѤ¹¤ë¤³¤È¤Ë¤Ä¤¤¤Æ½½Ê¬¸¡Æ¤¤ò½Å¤Í¤¿Êý¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£</para>
<sect3>
<title>&os.current; ¤Ã¤Æ¤Ê¤Ë?</title>
<para>&os.current; ¤Ï &os; ¤ÎºÇ¿·¤Î¥½¡¼¥¹¥³¡¼¥É¤Ç¤¹¡£
Ãæ¤Ë¤Ï¸½ºß³«È¯ÅÓ¾å¤Î¥½¥Õ¥È¥¦¥§¥¢¡¢
¼Â¸³Åª¤ÊÊѹ¹¡¢¤¢¤ë¤¤¤Ï²áÅÏŪ¤Êµ¡Ç½¤Ê¤É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¤Þ¤¿¡¢¤³¤ÎÃæ¤ËÆþ¤Ã¤Æ¤¤¤ëµ¡Ç½¤¬¤¹¤Ù¤Æ¡¢
¼¡¤Î¸ø¼°¥ê¥ê¡¼¥¹¤ËÆþ¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£&os.current;
¤ò¥½¡¼¥¹¤«¤é¤Û¤ÜËèÆü¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤ë¿Í¤Ï¤¿¤¯¤µ¤ó¤¤¤Þ¤¹¤¬¡¢
»þ´ü¤Ë¤è¤Ã¤Æ¤Ï¥³¥ó¥Ñ¥¤¥ë¤µ¤¨¤Ç¤­¤Ê¤¤¾õÂ֤ˤʤäƤ¤¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤é¤ÎÌäÂê¤Ï²Äǽ¤Ê¸Â¤ê¿×®¤Ë²ò·è¤µ¤ì¤Þ¤¹¤¬¡¢
&os.current; ¤¬ÉÔ¹¬¤ò¤â¤¿¤é¤¹¤«¡¢
¤½¤ì¤È¤âÈó¾ï¤ËÁÇÀ²¤é¤·¤¤µ¡Ç½¤ò¤â¤¿¤é¤¹¤«¤Ï¡¢
¤Þ¤µ¤Ë¥½¡¼¥¹¥³¡¼¥É¤òƱ´ü¤·¤¿½Ö´Ö¤Ë¤è¤ë¤Î¤Ç¤¹!</para>
</sect3>
<sect3>
<title>郎 &os.current; ¤òɬÍפȤ·¤Æ¤ë¤Î?</title>
<para>&os.current; ¤Ï¡¢
¼¡¤Î 3 ¤Ä¤Î½ÅÍפʥ°¥ë¡¼¥×¤òÂоݤȤ·¤Æ¤¤¤Þ¤¹¡£</para>
<orderedlist>
<listitem>
<para>¥½¡¼¥¹¥Ä¥ê¡¼¤Î¤¢¤ëÉôʬ¤Ë´Ø¤·¤Æ³èȯ¤Ëºî¶È¤·¤Æ¤¤¤ë
&os; ¥³¥ß¥å¥Ë¥Æ¥£¤Î¥á¥ó¥Ð¡£
Èà¤é¤Ë¤È¤Ã¤Æ¤Ï <quote>ºÇ¿·¤Î¤â¤Î</quote> ¤Ë¤·¤Æ¤ª¤¯¤Î¤¬
ÀäÂФËɬÍפʤ³¤È¤Ê¤Î¤Ç¤¹¡£</para>
</listitem>
<listitem>
<para>³èȯ¤Ë¥Æ¥¹¥È¤·¤Æ¤¤¤ë &os; ¥³¥ß¥å¥Ë¥Æ¥£¤Î¥á¥ó¥Ð¡£
Èà¤é¤Ï¡¢&os.current;
¤¬ <quote>·òÁ´¤Ç¤¢¤ë</quote> ¤³¤È¤ò²Äǽ¤Ê¸Â¤êÊݾڤ¹¤ë¤¿¤á¤Ë¡¢
¼ï¡¹¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤Î¤Ë»þ´Ö¤òÀˤ·¤Þ¤Ê¤¤¿Í¡¹¤Ç¤¹¡£
¤³¤ì¤é¤Î¥Æ¥¹¥¿¡¼¤Ï¡¢¤µ¤Þ¤¶¤Þ¤ÊÊѹ¹¤Ë´Ø¤¹¤ëÄ󰯤ä
&os; ¤ÎÂç¤Þ¤«¤ÊÊý¸þÉÕ¤±¤ò¹Ô¤Ê¤¤¤¿¤¤¤È»×¤Ã¤Æ¤¤¤ë
¿Í¡¹¤Ç¤â¤¢¤ê¡¢¤½¤ì¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤Î¥Ñ¥Ã¥Á¤òÄ󼨤·¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>ñ¤Ë¡¢¤µ¤Þ¤¶¤Þ¤Ê»ö¤ËÌܤò¸þ¤±¡¢
»²¹Í¤Î¤¿¤á¤ËºÇ¿·¤Î¥½¡¼¥¹¤ò»È¤¤¤¿¤¤¤È»×¤Ã¤Æ¤¤¤ë¿Í¡¹¡£
¤³¤ì¤é¤Î¿Í¡¹¤Ï¤Þ¤¿¡¢
»þ¡¹¥³¥á¥ó¥È¤ä¥³¡¼¥É¤ò´ó¹Æ¤·¤Æ¤¯¤ì¤Þ¤¹¡£</para>
</listitem>
</orderedlist>
</sect3>
<sect3>
<title>&os.current;
¤Ë´üÂÔ¤·¤Æ¤Ï<emphasis>¤¤¤±¤Ê¤¤</emphasis>¤³¤È¤Ï?</title>
<orderedlist>
<listitem>
<para>¼¡¤Î¥ê¥ê¡¼¥¹¤ÎÁ°¤Ë¡¢ºÇ¤âÁ᤯¿·¤·¤¤µ¡Ç½¤òÆþ¼ê¤¹¤ë¤³¤È¡£
¥ê¥ê¡¼¥¹Á°¤Îµ¡Ç½¤Ï½½Ê¬¤Ë¥Æ¥¹¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢
¥Ð¥°¤ò´Þ¤ó¤Ç¤¤¤¯²ÄǽÀ­¤¬Â礤¤Ë¤¢¤ê¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>¥Ð¥°¤ò½¤Àµ¤¹¤ë¤¿¤á¤ÎÁÇÁᤤÊýË¡¡£
¤¤¤«¤Ê¤ë¥³¥ß¥Ã¥È¤Ï¡¢
¸µ¤«¤é¤¢¤ë¥Ð¥°¤ò½¤Àµ¤¹¤ë¤Î¤ÈƱ¤¸¤¯¡¢
¿·¤·¤¤¥Ð¥°¤òÀ¸¤ß½Ð¤¹¤ª¤½¤ì¤¬¤¢¤ê¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><quote>¸ø¼°¤Î¥µ¥Ý¡¼¥È</quote> ¤Ï¤¢¤ê¤Þ¤»¤ó¡£</para>
</listitem>
</orderedlist>
</sect3>
<sect3>
<title>&os.current; ¤ò»È¤¦</title>
<orderedlist>
<listitem>
<para>&a.current.name; ¤È &a.svn-src-head.name;<indexterm><primary>-CURRENT</primary><secondary>»ÈÍÑ</secondary></indexterm> ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È
¤Ë²Ã¤ï¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¤µ¤Þ¤¶¤Þ¤Ê¿Í¤¬¥·¥¹¥Æ¥à¤Î¸½ºß¤Î¾õÂ֤ˤĤ¤¤Æ½Ò¤Ù¤Æ¤¤¤ë¥³¥á¥ó¥È¤ò¸«¤¿¤ê¡¢
¥·¥¹¥Æ¥à¤òÀµ¾ï¤ËÊݤĤ¿¤á¤Î½ÅÍפʾðÊó¤ò¸«Æ¨¤µ¤Ê¤¤¤¿¤á¤Ë¡¢
<emphasis>ɬ¿Ü¤Î</emphasis> ¤³¤È¤Ç¤¹¡£</para>
<para>&a.svn-src-head.name; ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ç¤Ï¡¢
¤½¤ì¤¾¤ì¤ÎÊѹ¹¤Ë¤Ä¤¤¤Æ¤Î
commit ¥í¥°¤¬µ­Ï¿¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤Þ¤¿¡¢¤½¤ì¤Ë´Ø¤·¤Æµ¯¤³¤êÆÀ¤ëÉûºîÍѤξðÊó¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢
»²²Ã¤¹¤ë²ÁÃͤΤ¢¤ë¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ç¤¹¡£</para>
<para>¤³¤ì¤é¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ËÆþ¤ë¤Ë¤Ï¡¢
&a.mailman.lists.link;
¤ò¤¿¤É¤Ã¤Æ»²²Ã¤·¤¿¤¤¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ò¥¯¥ê¥Ã¥¯¤·¡¢
¼ê½ç¤ÎÀâÌÀ¤Ë¤·¤¿¤¬¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¥½¡¼¥¹¥Ä¥ê¡¼Á´ÂΤÎÊѹ¹ÅÀ¤òÄɤ¤¤«¤±¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
&a.svn-src-all.name; ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ò¹ØÆÉ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
<listitem>
<para>&os; <link linkend="mirrors">¥ß¥é¡¼¥µ¥¤¥È</link>
¤«¤é¥½¡¼¥¹¤ÎÆþ¼ê¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ê¤¤¤¯¤Ä¤«¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£</para>
<orderedlist>
<listitem>
<para><link
linkend="svn">svn</link><indexterm>
<primary>Subversion</primary>
</indexterm>
<indexterm>
<primary>-CURRENT</primary>
<secondary><application>Subversion</application>
¤ò»È¤Ã¤¿Æ±´ü</secondary>
</indexterm>
¤ò»È¤Ã¤Æ¡¢
´õ˾¤¹¤ë³«È¯¥Ö¥é¥ó¥Á¡¢
¤â¤·¤¯¤Ï¥ê¥ê¡¼¥¹¥Ö¥é¥ó¥Á¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ÎÊýË¡¤Ï¡¢³«È¯Ãæ¤Î &os; ¥ê¥Ý¥¸¥È¥ê¤Ø¤Î¥¢¥¯¥»¥¹¤òÄ󶡤·¤Æ¤ª¤ê¡¢
¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
<link linkend="svn-mirrors">Subversion ¥ß¥é¡¼¥µ¥¤¥È</link>
¤Î¤Ò¤È¤Ä¤Î <literal>head</literal> ¥Ö¥é¥ó¥Á¤«¤é
-CURRENT ¥³¡¼¥É¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
¥ê¥Ý¥¸¥È¥ê¥µ¥¤¥º¤Î´ÑÅÀ¤«¤é¡¢
´õ˾¤¹¤ë¥µ¥Ö¥Ä¥ê¡¼¤Î¤ß¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È¤¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><application><link
linkend="ctm">CTM</link></application><indexterm>
<primary>-CURRENT</primary>
<secondary>CTM ¤ò»È¤Ã¤¿Æ±´ü</secondary>
</indexterm>¤òÍѤ¤¤ë¡£
ÀܳÎÁ¤¬¹â³Û¤À¤Ã¤¿¤ê¡¢email ¤Ç¤Î¥¢¥¯¥»¥¹¤·¤«¤Ç¤­¤Ê¤¤¤è¤¦¤Ê¡¢
¤¢¤Þ¤êÎɼÁ¤Ç¤Ê¤¤ TCP/IP Àܳ¤Î¾ì¹ç¤Ë¤Ï¡¢<application>CTM</application>
¤òÍøÍѤ¹¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£¤¿¤À¤·¡¢<application>
<link linkend="svn">Subversion</link></application>
¤Û¤É¤Ë¤Ï¿®Íê¤Ï¤Ç¤­¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤·¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¤¢¤ì¤Ð¡¢
<application><link
linkend="svn">Subversion</link></application>
¤òÍøÍѤµ¤ì¤ë¤³¤È¤ò¿ä¾©¤·¤Þ¤¹¡£</para>
</listitem>
</orderedlist>
</listitem>
<listitem>
<para>¤â¤·¡¢¥½¡¼¥¹¤òį¤á¤ë¤À¤±¤Ç¤Ê¤¯¡¢
Áö¤é¤»¤ë¤¿¤á¤ËÆþ¼ê¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
°ìÉô¤À¤±Áª¤Ö¤Î¤Ç¤Ï¤Ê¤¯¡¢&os.current;
¤Î<emphasis>Á´ÂÎ</emphasis>¤ò¼ê¤ËÆþ¤ì¤Æ¤¯¤À¤µ¤¤¡£
¥½¡¼¥¹¤Î¤µ¤Þ¤¶¤Þ¤ÊÉôʬ¤¬Â¾¤ÎÉôʬ¤Î¹¹¿·¤Ë°Í¸¤·¤Æ¤ª¤ê¡¢
°ìÉô¤Î¤ß¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤è¤¦¤È¤¹¤ë¤È¡¢
¤Û¤Ü´Ö°ã¤¤¤Ê¤¯ÌäÂ꤬µ¯¤­¤Þ¤¹¡£</para>
<para>&os.current; ¤ò¥³¥ó¥Ñ¥¤¥ë<indexterm>
<primary>-CURRENT</primary>
<secondary>¥³¥ó¥Ñ¥¤¥ë</secondary>
</indexterm>¤¹¤ëÁ°¤Ë
<filename>/usr/src/Makefile</filename>
¤òÃí°Õ¿¼¤¯ÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£
¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î½èÍý¤Î°ìÉô¤È¤·¤Æ¡¢ºÇ½é¤Ë
<link linkend="makeworld">¿·¤·¤¤¥«¡¼¥Í¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·
¤Æ¡¢world ¤òºÆ¹½ÃÛ</link> ¤·¤Æ¤¯¤À¤µ¤¤¡£&a.current; ¤È
<filename>/usr/src/UPDATING</filename> ¤òÆÉ¤á¤Ð¡¢
¼¡¤Î¥ê¥ê¡¼¥¹¤Ø¸þ¤±¤Æ°Ü¤Ã¤Æ¤æ¤¯¤ËÅö¤¿¤Ã¤Æ¡¢
¤È¤­¤É¤­É¬ÍפȤʤë´û¸¥·¥¹¥Æ¥à¤«¤é¤Î¿·¥·¥¹¥Æ¥à¤Î¹½ÃÛ¼ê½ç¤Ë¤Ä¤¤¤Æ¤ÎºÇ¿·¾ðÊ󤬯À¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£</para>
</listitem>
<listitem>
<para>¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤!
&os.current; ¤Î¥æ¡¼¥¶¤Ë¤Ï¡¢
³ÈÄ¥¤ä¥Ð¥°ÄÙ¤·¤Ë´Ø¤·¤ÆÄ󰯤¹¤ë¤³¤È¤¬´«¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£
¥³¡¼¥É¤òȼ¤¦Äó°Æ¤Ï¤â¤Ã¤È¤â´¿·Þ¤µ¤ì¤ë¤â¤Î¤Ç¤¹!</para>
</listitem>
</orderedlist>
</sect3>
</sect2>
<sect2 id="stable">
<title>°ÂÄêÈǤΠ&os; ¤ò»È¤¦</title>
<para><emphasis>Ìõ: &a.jp.iwasaki;</emphasis></para>
<sect3>
<title>&os.stable; ¤Ã¤Æ¤Ê¤Ë?</title>
<indexterm><primary>-STABLE</primary></indexterm>
<para>&os.stable; ¤È¤ÏÄê´üŪ¤Ë¸ø³«¤µ¤ì¤ë¥ê¥ê¡¼¥¹¤òºîÀ®¤¹¤ë¤¿¤á¤Î³«È¯¥Ö¥é¥ó¥Á¤Ç¤¹¡£
¤³¤Î¥Ö¥é¥ó¥Á¤Ë²Ã¤¨¤é¤ì¤ëÊѹ¹¤Ï¸¶Â§¤È¤·¤Æ¡¢
»öÁ°¤Ë &os.current; ¤Ç»î¸³¤º¤ß¤Ç¤¢¤ë¤È¤¤¤¦ÆÃħ¤¬¤¢¤ê¤Þ¤¹¡£
¤¿¤À<emphasis>¤½¤¦¤Ç¤¢¤Ã¤Æ¤â</emphasis>¡¢
¤³¤ì¤Ï³«È¯ÍÑ¥Ö¥é¥ó¥Á¤Î°ì¤Ä¤Ç¤¢¤ë¤È¤¤¤¦¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤Ä¤Þ¤ê¡¢¤¢¤ë»þÅÀ¤Ë¤ª¤±¤ë &os.stable; ¤Î¥½¡¼¥¹¤¬
¤É¤ó¤Ê¾ì¹ç¤Ë¤â»È¤¨¤ë¤â¤Î¤Ç¤¢¤ë¤È¤Ï¸Â¤é¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
¤³¤Î¥Ö¥é¥ó¥Á¤Ï¤â¤¦°ì¤Ä¤Î³«È¯¤Îή¤ì¤È¤¤¤¦¤À¤±¤Ç¤¢¤Ã¤Æ¡¢
¥¨¥ó¥É¥æ¡¼¥¶¸þ¤±¤Î¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£</para>
</sect3>
<sect3>
<title>郎 &os.stable; ¤òɬÍפȤ·¤Æ¤¤¤ë¤Î?</title>
<para>FreeBSD ¤Î³«È¯¥×¥í¥»¥¹¤Ë¶½Ì£¤¬¤¢¤Ã¤¿¤ê¡¢
¤½¤ì¤ËÂФ¹¤ë¹×¸¥¤ò¹Í¤¨¤Æ¤¤¤Æ¡¢ÆÃ¤Ë¤½¤ì¤¬¼¡²ó¤Î
<quote>¥Ý¥¤¥ó¥È</quote> ¥ê¥ê¡¼¥¹¤Ë´Ø·¸¤¹¤ë¤â¤Î¤Ç¤¢¤ë¤Ê¤é
&os.stable; ¤òÄɤ¦¤³¤È¤ò¹Í¤¨¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£</para>
<para>¥»¥­¥å¥ê¥Æ¥£¾å¤Î½¤Àµ¤Ï &os.stable; ¥Ö¥é¥ó¥Á¤ËÂФ·¤Æ¹Ô¤Ê¤ï¤ì¤Þ¤¹¤¬¡¢
¤½¤Î¤¿¤á¤Ë &os.stable; ¤òÄɤ¦<emphasis>ɬÍ×</emphasis>¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤¹¤Ù¤Æ¤Î &os; ¥»¥­¥å¥ê¥Æ¥£´«¹ð¤Ë¤Ï
EOL ¤Ë㤷¤Æ¤¤¤Ê¤¤¤¹¤Ù¤Æ¤Î¥ê¥ê¡¼¥¹¤ËÂФ¹¤ëÌäÂêÅÀ¤Î½¤ÀµÊýË¡¤¬ÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
<footnote>
<para>¸½»þÅÀ¤Ç¤Î¸Å¤¤¥ê¥ê¡¼¥¹¤Î FreeBSD
¤Î¥»¥­¥å¥ê¥Æ¥£¥Ý¥ê¥·¡¼¤ÎÁ´ÀâÌÀ¤òÃΤë¤Ë¤Ï¡¢<ulink
url="&url.base;/security/">http://www.FreeBSD.org/ja/security/</ulink>
¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</footnote>¡£</para>
<para>&os.stable; ¥Ö¥é¥ó¥Á¤Ï¤¤¤Ä¤â¥³¥ó¥Ñ¥¤¥ë¤¬¤Ç¤­¡¢
°ÂÄê¤Ëưºî¤¹¤Ù¤­¤Ç¤¹¤¬¡¢
¤½¤ì¤¬Êݾڤµ¤ì¤Æ¤¤¤ë¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤Þ¤¿¡¢¥³¡¼¥É¤Ï &os.stable; ¤Ë²Ã¤¨¤é¤ì¤ëÁ°¤Ë
&os.current; ¤Ç³«È¯¤µ¤ì¤ë¤Î¤Ç¤¹¤¬¡¢&os.stable; ¤Î¥æ¡¼¥¶¤Ï
&os.current; ¤è¤ê¤â¿¤¤¤¿¤á¡¢&os.current;
¤Çȯ¸«¤µ¤ì¤Ê¤«¤Ã¤¿¥Ð¥°¤¬ &os.stable; ¤Çȯ¸«¤µ¤ì¡¢
¤È¤­¤É¤­¤½¤ì¤¬ÌäÂê¤È¤Ê¤ë¤³¤È¤¬¤¢¤ë¤Î¤ÏÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£</para>
<para>¤³¤Î¤è¤¦¤ÊÍýͳ¤«¤é¡¢ÌÕÌÜŪ¤Ë &os.stable;
¤òÄɤ¤¤«¤±¤ë¤Ù¤­¤Ç¤Ï<emphasis>¤¢¤ê¤Þ¤»¤ó</emphasis>¡£
ÆÃ¤Ë¡¢ºÇ½é¤Ë³«È¯´Ä¶­¤â¤·¤¯¤Ï¥Æ¥¹¥È´Ä¶­¤Ç¥³¡¼¥É¤ò½½Ê¬¤Ë»î¸³¤»¤º¤Ë¡¢
¥×¥í¥À¥¯¥·¥ç¥óÉʼÁ¤¬Í׵ᤵ¤ì¤ë¥µ¡¼¥Ð¤ò &os.stable;
¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£</para>
<para>¤â¤·»î¸³¤ò¤¹¤ë»ñ¸»Åª¤Ê;͵¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢
¥ê¥ê¡¼¥¹´Ö¤Î¥Ð¥¤¥Ê¥ê¥¢¥Ã¥×¥Ç¡¼¥Èµ¡Ç½¤òÍøÍѤ·¤Æ¡¢
ºÇ¿·¤Î FreeBSD ¥ê¥ê¡¼¥¹¤ò»È¤¦¤³¤È¤ò¿ä¾©¤·¤Þ¤¹¡£</para>
</sect3>
<sect3>
<title>&os.stable; ¤ò»È¤¦</title>
<indexterm>
<primary>-STABLE</primary>
<secondary>ÍøÍѤ¹¤ë</secondary>
</indexterm>
<orderedlist>
<listitem>
<para>&os.stable; ¤Î¹½Ãۤ˴ØÏ¢¤¹¤ë»öÊÁ¤ä¡¢
¤½¤Î¾¤ÎÃí°Õ¤¹¤Ù¤­ÅÀ ¤Ë´Ø¤¹¤ë¾ðÊó¤òÆÀ¤ë¤¿¤á¤Ë¡¢
&a.stable.name; ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë²Ã¤ï¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¤Þ¤¿³«È¯¼Ô¤ÏµÄÏÀ¤Î;ÃϤ¬¤¢¤ë½¤Àµ¤äÊѹ¹¤ò¹Í¤¨¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢
¤³¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ç¸øÉ½¤·¡¢
Ä󰯤µ¤ì¤¿Êѹ¹¤Ë´Ø¤·¤ÆÌäÂ꤬À¸¤¸¤ë¤«¤É¤¦¤«¤òÊÖÅú¤¹¤ëµ¡²ñ¤ò¥æ¡¼¥¶¤ËÍ¿¤¨¤Þ¤¹¡£</para>
<para>Äɤ¤¤«¤±¤Æ¤¤¤ë¥Ö¥é¥ó¥Á¤Ë´ØÏ¢¤¹¤ë
<application>svn</application> ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë»²²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£
¤¿¤È¤¨¤Ð¡¢9-STABLE ¥Ö¥é¥ó¥Á¤òÄɤ¤¤«¤±¤Æ¤¤¤ë¥æ¡¼¥¶¤Ï
&a.svn-src-stable-9.name; ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë»²²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥ê¥¹¥È¤Ç¤Ï¡¢
Êѹ¹¤¬¤Ê¤µ¤ì¤ë¤´¤È¤ËºîÀ®¤µ¤ì¤ë commit log ¤ä¤½¤ì¤Ëȼ¤¦
µ¯¤³¤ê¤¦¤ëÉûºîÍѤˤĤ¤¤Æ¤Î¾ðÊ󤬵­Ï¿¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para>¤³¤ì¤é¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ËÆþ¤ë¤Ë¤Ï¡¢
&a.mailman.lists.link;
¤ò¤¿¤É¤Ã¤Æ»²²Ã¤·¤¿¤¤¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ò¥¯¥ê¥Ã¥¯¤·¡¢
¼ê½ç¤ÎÀâÌÀ¤Ë¤·¤¿¤¬¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¥½¡¼¥¹¥Ä¥ê¡¼Á´ÂΤÎÊѹ¹ÅÀ¤òÄɤ¤¤«¤±¤ë¤Ë¤Ï¡¢
&a.svn-src-all.name; ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ò¹ØÆÉ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
<listitem>
<para>Ëè·î¸ø³«¤µ¤ì¤Æ¤¤¤ë &os.stable;
¤«¤é¥Ó¥ë¥É¤µ¤ì¤¿¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Î¿·¤·¤¤¥·¥¹¥Æ¥à¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
¾ÜºÙ¤Ë¤Ä¤¤¤Æ¡¢
<ulink url="&url.base;/snapshots/">¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È</ulink>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
¤â¤·¤¯¤Ï¡¢<link linkend="mirrors">¥ß¥é¡¼¥µ¥¤¥È</link>¤«¤éºÇ¶á¤Î
&os.stable; ¥ê¥ê¡¼¥¹¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢²¼µ­¤ÎÀâÌÀ¤Ë½¾¤Ã¤ÆºÇ¿·¤Î
&os.stable; ¤Î¥½¡¼¥¹¥³¡¼¥É¤Ë¹¹¿·¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£</para>
<para>´û¤Ë &os; ¤Î°ÊÁ°¤Î¥ê¥ê¡¼¥¹¤¬Æ°¤¤¤Æ¤¤¤ë¥·¥¹¥Æ¥à¤ò
&os; <link linkend="mirrors">¥ß¥é¡¼¥µ¥¤¥È</link>
¤«¤é¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤Ê¤¤¤¯¤Ä¤«¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£</para>
<orderedlist>
<listitem>
<para><link linkend="svn">svn</link><indexterm>
<primary>Subversion</primary>
</indexterm> ¤ò»È¤Ã¤Æ¡¢
´õ˾¤¹¤ë³«È¯¥Ö¥é¥ó¥Á¡¢
¤â¤·¤¯¤Ï¥ê¥ê¡¼¥¹¥Ö¥é¥ó¥Á¤ò¥Á¥§¥Ã¥¯¥¢¥¦¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ÎÊýË¡¤Ï¡¢³«È¯Ãæ¤Î &os; ¥ê¥Ý¥¸¥È¥ê¤Ø¤Î¥¢¥¯¥»¥¹¤òÄ󶡤·¤Æ¤ª¤ê¡¢
¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¥Ö¥é¥ó¥Á̾¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸½ºß¤Î³«È¯¤Î¥Ø¥Ã¥É¥Ö¥é¥ó¥Á¤Ï
<literal>head</literal>¡¢¤ª¤è¤Ó <ulink
url="&url.base;/releng/">¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°¤Î¥Ú¡¼¥¸</ulink>
¤ÎÆÃÄê¤Î¥Ö¥é¥ó¥Á¤Ç¤Ï
<literal>stable/9</literal><indexterm>
<primary>-STABLE</primary>
<secondary><application>Subversion</application>
¤ò»È¤Ã¤¿Æ±´ü</secondary>
</indexterm>¡¢¤Þ¤¿¤Ï
<literal>releng/9.0</literal> ¤È¤Ê¤ê¤Þ¤¹¡£
¤ò»È¤Ã¤Æ¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È¤¹¤ëºÝ¤Î
URL ¤Î¥×¥ì¥Õ¥£¥Ã¥¯¥¹¤Ï¡¢<link
linkend="svn-mirrors">Subversion ¥ß¥é¡¼¥µ¥¤¥È</link>
¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¥ê¥Ý¥¸¥È¥ê¥µ¥¤¥º¤Î´ÑÅÀ¤«¤é¡¢
´õ˾¤¹¤ë¥µ¥Ö¥Ä¥ê¡¼¤Î¤ß¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È¤¹¤ë¤³¤È¤¬¿ä¾©¤µ¤ì¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ø¤ÎÀܳ¤Ë¹â®¤Ê²óÀþ¤òÍøÍѤǤ­¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
<application><link
linkend="ctm">CTM</link></application><indexterm>
<primary>-STABLE</primary>
<secondary>CTM ¤ò»È¤Ã¤ÆÆ±´ü¤¹¤ë</secondary>
</indexterm>
¤ò¸¡Æ¤¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£</para>
</listitem>
</orderedlist>
</listitem>
<listitem>
<para>&os.stable;<indexterm>
<primary>-STABLE</primary>
<secondary>¹½ÃÛ¡¢¥³¥ó¥Ñ¥¤¥ë</secondary>
</indexterm> ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÁ°¤Ë¡¢
<filename>/usr/src/Makefile</filename> ¤ò¤è¤¯ÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£
¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î½èÍý¤Î°ìÉô¤È¤·¤ÆºÇ½é¤Ë
<link linkend="makeworld">¿·¤·¤¤¥«¡¼¥Í¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¡¢
world ¤òºÆ¹½ÃÛ</link> ¤·¤Æ¤¯¤À¤µ¤¤¡£&a.stable; ¤È
<filename>/usr/src/UPDATING</filename> ¤òÆÉ¤ó¤Ç¡¢
¼¡¤Î¥ê¥ê¡¼¥¹¤Ø¸þ¤±¤Æ°Ü¤Ã¤Æ¤æ¤¯¤ËÅö¤¿¤Ã¤Æ¡¢
¤È¤­¤É¤­É¬ÍפȤʤë´û¸¥·¥¹¥Æ¥à¤«¤é¤Î¿·¥·¥¹¥Æ¥à¤Î¹½ÃÛ¼ê½ç¤Ë¤Ä¤¤¤Æ¤ÎºÇ¿·¾ðÊó¤òÆÀ¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
</orderedlist>
</sect3>
</sect2>
</sect1>
<sect1 id="synching">
<title>¥½¡¼¥¹¤ÎƱ´ü</title>
<para><emphasis>Ìõ: &a.jp.iwasaki;¡¢1997 ǯ 9 ·î 13 Æü</emphasis></para>
<para>¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÀܳ¤Þ¤¿¤ÏÅŻҥ᡼¥ë¤ò»ÈÍѤ·¤Æ¡¢&os;
¥×¥í¥¸¥§¥¯¥È¤Î¥½¡¼¥¹¤Î¤¢¤ë°ìÉôʬ¤Þ¤¿¤ÏÁ´ÂΤκǿ·¤òÄɤ¤¤«¤±¤ëÊýË¡¤Ï¿§¡¹¤¢¤ê¤Þ¤¹¡£
´ðËÜŪ¤Ê¥µ¡¼¥Ó¥¹¤Ï <link
linkend="svn">Subversion</link>
¤È <link linkend="ctm">CTM</link> ¤Ç¤¹¡£</para>
<warning>
<para>¥½¡¼¥¹¥Ä¥ê¡¼¤Î°ìÉô¤òºÇ¿·¤Î¤â¤Î¤Ë¹¹¿·¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤¹¡£
¤¿¤À¤·¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¢¥Ã¥×¥Ç¡¼¥È¼ê½ç¤Ï¡¢
¥½¡¼¥¹¥Ä¥ê¡¼Á´ÂΤòºÇ¿·¤Î¤â¤Î¤Ë¹¹¿·¤·¡¢
<filename>/bin</filename>, <filename>/sbin</filename>
¤È¤¤¤Ã¤¿¥æ¡¼¥¶¶õ´Ö¤Çưºî¤¹¤ë¤â¤Î¡¢
¤ª¤è¤Ó¥«¡¼¥Í¥ë¥½¡¼¥¹¤òºÆ¹½ÃÛ¤¹¤ë¤³¤È¤Î¤ß¤Ç¤¹¡£
¥½¡¼¥¹¥Ä¥ê¡¼¤Î°ìÉô¤À¤±¤Ç¤¢¤Ã¤¿¤ê¡¢¥«¡¼¥Í¥ë¤À¤±¡¢
¤â¤·¤¯¤Ï¥æ¡¼¥¶¥é¥ó¥É¤Î¥×¥í¥°¥é¥à¤À¤±¤ò¹¹¿·¤·¤¿¾ì¹ç¤Ï¡¢
ÌäÂ꤬À¸¤¸¤ë¤³¤È¤¬¤è¤¯¤¢¤ê¤Þ¤¹¡£
¤³¤Î»þ¤ËȯÀ¸¤¹¤ëÌäÂê¤Ï¥³¥ó¥Ñ¥¤¥ë»þ¤Î¥¨¥é¡¼¤«¤é¥«¡¼¥Í¥ë¥Ñ¥Ë¥Ã¥¯¡¢
¥Ç¡¼¥¿¤ÎÇ˲õ¤È¤µ¤Þ¤¶¤Þ¤Ç¤¹¡£</para>
</warning>
<indexterm>
<primary>Subversion</primary>
</indexterm>
<para><application>Subversion</application>
¤Ï <emphasis>pull</emphasis> Ʊ´ü¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤Þ¤¹¡£
¥æ¡¼¥¶ (¤Þ¤¿¤Ï <command>cron</command> ¥¹¥¯¥ê¥×¥È) ¤¬ <command>svn</command>
¤òµ¯Æ°¤·¡¢¥Õ¥¡¥¤¥ë¤òºÇ¿·¾õÂ֤ˤ·¤Þ¤¹¡£
<application>Subversion</application> ¤Ï¡¢
¥í¡¼¥«¥ë¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ëºÇ¤â¹¥¤Þ¤·¤¤ÊýË¡¤Ç¤¹¡£
¹¹¿·¾ðÊó¤Ï¤½¤Î»þÅÀ¤ÎºÇ¿·¤Î¤â¤Î¤Ç¤¢¤ê¡¢
¥æ¡¼¥¶¤Ï¤¤¤Ä¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤«¤ò¥³¥ó¥È¥í¡¼¥ë¤·¤Þ¤¹¡£
ÆÃÄê¤Î¥Õ¥¡¥¤¥ë¤ä¥Ç¥£¥ì¥¯¥È¥ê¤Ë¸ÂÄꤷ¤Æ¹¹¿·¤¹¤ë¤³¤È¤â´Êñ¤Ë¤Ç¤­¤Þ¤¹¡£
¹¹¿·¾ðÊó¤Ï¥µ¡¼¥Ð¤Ë¤è¤Ã¤ÆÁÇÁ᤯À¸À®¤µ¤ì¤Þ¤¹¡£</para>
<indexterm>
<primary><application>CTM</application></primary>
</indexterm>
<para>°ìÊý¡¢<application>CTM</application>
¤Ï¤¢¤Ê¤¿¤¬»ý¤Ã¤Æ¤¤¤ë¥½¡¼¥¹¤È¥Þ¥¹¥¿¥¢¡¼¥«¥¤¥Ö¾å¤Ë
¤¢¤ë¤½¤ì¤È¤ÎÂÐÏÃŪ¤ÊÈæ³Ó¤ò¤ª¤³¤Ê¤¤¤Þ¤»¤ó¤·¡¢
¤¢¤ë¤¤¤Ï¸þ¤³¤¦Â¦¤«¤éÊѹ¹ÅÀ¤ò pull ¤·¤¿¤ê¤â¤·¤Þ¤»¤ó¡£
¤½¤Î¤«¤ï¤ê¤Ë¡¢Á°²ó¤Î¼Â¹Ô»þ¤«¤é¤ÎÊѹ¹¤òǧ¼±¤¹¤ë¥¹¥¯¥ê¥×¥È¤¬
¥Þ¥¹¥¿ CTM ¥Þ¥·¥ó¾å¤Ç°ìÆü¤Ë¿ô²ó¼Â¹Ô¤µ¤ì¡¢
¤¹¤Ù¤Æ¤ÎÊѹ¹¤ò compress ¤·¤ÆÄ̤·ÈÖ¹æ¤ò¿¶¤ê¡¢
¤µ¤é¤ËÅŻҥ᡼¥ë¤Ç¡¢°õ»ú²Äǽ¤Ê ASCII
¥­¥ã¥é¥¯¥¿¤Î¤ß¤ÇžÁ÷¤Ç¤­¤ë¤è¤¦¤Ë¥¨¥ó¥³¡¼¥É¤·¤Þ¤¹¡£
¼õ¿®¤·¤¿¸å¤Ï¡¢
¤³¤ì¤é¤Î <quote>CTM ¤Î¥Ç¥ë¥¿</quote> ¤Ï¼«Æ°
Ū¤Ë¥Ç¥³¡¼¥É¡¢¸¡ºº¤·¤Æ¥æ¡¼¥¶¤Î¥½¡¼¥¹¤Î¥³¥Ô¡¼¤ËÊѹ¹¤òŬÍѤ¹¤ë
&man.ctm.rmail.1; ¤Ë¤è¤Ã¤Æ½èÍý²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£
¤³¤Î½èÍý¤Ï <application>Subversion</application>
¤è¤ê¤º¤Ã¤È¸úΨŪ¤Ç¤¢¤ê¡¢<emphasis>pull</emphasis> ¥â¥Ç¥ë¤È¤¤¤¦¤è¤ê¤à¤·¤í
<emphasis>push</emphasis> ¥â¥Ç¥ë¤Ç¤¢¤ë¤¿¤á¡¢
¥µ¡¼¥Ð»ñ¸»¤ÎÉé²Ù¤Ï·Ú¤¯¤Ê¤ê¤Þ¤¹¡£</para>
<para>¾¤Î¥È¥ì¡¼¥É¥ª¥Õ¤â¤¢¤ê¤Þ¤¹¡£
<application>Subversion</application> ¤Ç¤¢¤ì¤Ð¡¢
¤¦¤Ã¤«¤ê¥í¡¼¥«¥ë¤Î¥¢¡¼¥«¥¤¥Ö¤Î°ìÉô¤ò¾Ã¤·¤Æ¤·¤Þ¤Ã¤Æ¤â¡¢
²õ¤ì¤¿Éôʬ¤ò¸¡½Ð¤·¤ÆºÆ¹½ÃÛ¤·¤Æ¤¯¤ì¤Þ¤¹¡£
<application>CTM</application> ¤Ï¤³¤ì¤ò¤ä¤Ã¤Æ¤¯¤ì¤Þ¤»¤ó¡£
¤â¤·¥½¡¼¥¹¥Ä¥ê¡¼¤Î°ìÉô¤ò¾Ã¤·¤Æ¤·¤Þ¤¤¡¢
¤½¤·¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢ºÇ¿·¤Î CTM
<quote>¥Ù¡¼¥¹¥Ç¥ë¥¿</quote> ¤òÍѤ¤¤Æ¡¢°ì¤«¤é¤ä¤êľ¤·¡¢
<application>CTM</application>
¤ò»È¤Ã¤Æ¤¹¤Ù¤Æ¤òºÆ¹½ÃÛ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</para>
</sect1>
<sect1 id="makeworld">
<title><quote>world</quote> ¤ÎºÆ¹½ÃÛ</title>
<indexterm>
<primary><quote>world</quote> ¤ÎºÆ¹½ÃÛ</primary>
</indexterm>
<para>&os.stable;¡¢&os.current; ¤Ê¤É¤Î
&os; ¤Î¤É¤ì¤«ÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤Ä¤¤¤Æ¡¢
¥í¡¼¥«¥ë¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤òƱ´ü¤µ¤»¤¿¤é¡¢
¤½¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤ò»È¤Ã¤Æ¥·¥¹¥Æ¥à¤òºÆ¹½ÃۤǤ­¤Þ¤¹¡£</para>
<warning>
<title>¥Ð¥Ã¥¯¥¢¥Ã¥×¤ÎºîÀ®</title>
<para>¥·¥¹¥Æ¥à¤òºÆ¹½ÃÛ¤¹¤ë<emphasis>Á°¤Ë</emphasis>¡¢
¥Ð¥Ã¥¯¥¢¥Ã¥×¤òºîÀ®¤¹¤ë¤³¤È¤Î½ÅÍ×À­¤Ï¡¢
¤¤¤¯¤é¶¯Ä´¤·¤Æ¤â¤·²á¤®¤ë¤È¸À¤¦¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¥·¥¹¥Æ¥àÁ´ÂΤκƹ½ÃÛ¤È¤ÏÆñ¤·¤¤ºî¶È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢
¤É¤ó¤Ê¤ËÃí°Õ¤·¤Æ¤¤¤¿¤È¤·¤Æ¤â¡¢<!-- hrs:2000/01/12 inevitably -->
¥½¡¼¥¹¥Ä¥ê¡¼¤½¤Î¤â¤Î¤Ë¼ê°ã¤¤¤¬¤¢¤Ã¤¿»þ¤Ë¤Ï¡¢
¥·¥¹¥Æ¥à¤¬µ¯Æ°¤·¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¾õÂ֤ˤʤ뤳¤È¤¬¤¢¤ë¤Î¤Ç¤¹¡£
</para>
<para>¤Þ¤º¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤¬¤­¤Á¤ó¤ÈºîÀ®¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¡¢
µ¯Æ°²Äǽ¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤òÍѰդ·¤Æ¤¯¤À¤µ¤¤¡£
¿ʬ¡¢¤½¤ì¤ò»È¤¦¤³¤È¤Ï¤Ê¤¤¤È»×¤¤¤Þ¤¹¤¬¡¢
¤¢¤È¤Ç¸å²ù¤¹¤ë¤³¤È¤Î¤Ê¤¤¤è¤¦¡¢Ç°¤Î¤¿¤áÍѰդ·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£</para>
</warning>
<warning>
<title>¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë»²²Ã¤¹¤ë</title>
<indexterm><primary>¥á¡¼¥ê¥ó¥°¥ê¥¹¥È</primary></indexterm>
<para>¤â¤È¤â¤È¡¢&os.stable; ¤È &os.current; ¤Î¥³¡¼¥É¥Ö¥é¥ó¥Á¤Ï¡¢
<emphasis>³«È¯Ãæ¤Î¤â¤Î</emphasis>¤Ç¤¹¡£
&os; ¤Îºî¶È¤Ë¹×¸¥¤·¤Æ¤¯¤À¤µ¤Ã¤Æ¤¤¤ë¿Íã¤â¿Í´Ö¤Ç¤¹¤«¤é¡¢
»þ¤Ë¤Ï¥ß¥¹¤ò¤¹¤ë¤³¤È¤À¤Ã¤Æ¤¢¤ë¤Ç¤·¤ç¤¦¡£
</para>
<para>¤½¤Î¤è¤¦¤Ê´Ö°ã¤¤¤Ï¡¢
ñ¤Ë·Ù¹ð¤ò¼¨¤¹¸«´·¤ì¤Ê¤¤¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤ò¥·¥¹¥Æ¥à¤¬É½¼¨¤¹¤ë¤è¤¦¤Ê¡¢
¤Þ¤Ã¤¿¤¯³²¤Î¤Ê¤¤¤â¤Î¤Ç¤¢¤ë¤³¤È¤â¤¢¤ì¤Ð¡¢¥·¥¹¥Æ¥à¤òµ¯Æ°¤Ç¤­¤Ê¤¯¤·¤¿¤ê¡¢
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÇ˲õ¤·¤Æ¤·¤Þ¤¦¤è¤¦¤Ê¡¢
¶²¤í¤·¤¤·ë²Ì¤ò¾·¤¯¤â¤Î¤«¤âÃΤì¤Þ¤»¤ó¡£</para>
<para>ÌäÂ꤬À¸¤¸¤¿¾ì¹ç¡¢
ÌäÂê¤Î¾ÜºÙ¤È¡¢¤É¤Î¤è¤¦¤Ê¥·¥¹¥Æ¥à¤¬±Æ¶Á¤ò¼õ¤±¤ë¤«¤Ë¤Ä¤¤¤Æ½ñ¤«¤ì¤¿
<quote>Ãí°Õ (heads up)</quote>
¤Îµ­»ö¤¬Å¬Àڤʥ᡼¥ê¥ó¥°¥ê¥¹¥È¤ËÅê¹Æ¤µ¤ì¤Þ¤¹¡£
¤½¤·¤Æ¡¢¤½¤ÎÌäÂ꤬²ò·è¤µ¤ì¤ë¤È¡¢
<quote>ÌäÂê²ò·è (all clear)</quote>
¤Î¥¢¥Ê¥¦¥ó¥¹µ­»ö¤¬Æ±ÍͤËÅê¹Æ¤µ¤ì¤Þ¤¹¡£</para>
<para>&os.stable; ¤ä &os.current; ¥Ö¥é¥ó¥Á¤òÄɿ路¤Æ¤¤¤ë¥æ¡¼¥¶¤Ç¡¢
&a.stable; ¤ä &a.current; ¤òÆÉ¤Þ¤Ê¤¤¤È¤¤¤¦¤Î¤Ï¡¢
¼«¤éºÒÆñ¤ò¾·¤¯¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£</para>
<para><emphasis>ÌõÃí:</emphasis>
¤³¤ì¤é¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ï±Ñ¸ì¤Ç¤ä¤ê¤È¤ê¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢
ÆüËܸì¤Ç¤ÎÅê¹Æ¤Ï´¿·Þ¤µ¤ì¤Þ¤»¤ó¡£±Ñ¸ì¤Ç¤Î¤ä¤ê¤È¤ê¤¬¤Ç¤­¤Ê¤¤¿Í¤Ï¡¢
<ulink url="http://www.jp.FreeBSD.org">FreeBSD ͧ¤Î²ñ</ulink>
¤Î±¿±Ä¤·¤Æ¤¤¤ë¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ò¤¢¤¿¤Ã¤Æ¤ß¤ë¤Î¤¬¤¤¤¤¤Ç¤·¤ç¤¦¡£
</para>
</warning>
<warning>
<title><command>make world</command> ¤Ï»È¤ï¤Ê¤¤¤³¤È</title>
<para>¸Å¤¤¥É¥­¥å¥á¥ó¥È¤ÎÃæ¤Ë¤Ï¡¢
<command>make world</command> ¤ò»È¤¦¤³¤È¤òÁ¦¤á¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¡¢½ÅÍפʼê½ç¤ò¤¤¤¯¤Ä¤«È´¤«¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢
¥¨¥­¥¹¥Ñ¡¼¥È¤Ç¤Ê¤±¤ì¤Ð»È¤¦¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤Û¤Ü¤¢¤é¤æ¤ë¾ì¹ç¤Ë¤ª¤¤¤Æ¡¢<command>make world</command>
¤ò¼Â¹Ô¤¹¤ë¤Î¤Ï´Ö°ã¤Ã¤Æ¤ª¤ê¡¢
¤³¤³¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¼ê½ç¤òÍѤ¤¤ë¤Ù¤­¤Ç¤¹¡£</para>
</warning>
<sect2 id="canonical-build">
<title>¥·¥¹¥Æ¥à¤ò¹¹¿·¤¹¤ëÀµ¼°¤ÊÊýË¡</title>
<para>¥·¥¹¥Æ¥à¤ò¹¹¿·¤¹¤ëÁ°¤Ë¡¢
<filename>/usr/src/UPDATING</filename> ¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢ÍѰդ·¤¿¥½¡¼¥¹¥³¡¼¥É¤Ç buildworld
¤ò¹Ô¤¦Á°¤ËɬÍפʼê½ç¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¸å¡¢°Ê²¼¤Î¼ê½ç¤òƧ¤ó¤Ç¤¯¤À¤µ¤¤¡£</para>
<para>¤³¤ÎÀá¤ÇÀâÌÀ¤¹¤ë¥¢¥Ã¥×¥Ç¡¼¥È¤Î¥×¥í¥»¥¹¤Ï¡¢¸Å¤¤¥³¥ó¥Ñ¥¤¥é¡¢
¸Å¤¤¥«¡¼¥Í¥ë¡¢¸Å¤¤ world¡¢¤½¤·¤Æ¸Å¤¤¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤«¤é¤Ê¤ë¡¢
¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î &os; ¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£
¤³¤³¤Ç <quote>world</quote> ¤Ï¡¢¥³¥¢¥·¥¹¥Æ¥à¤Î¥Ð¥¤¥Ê¥ê¡¢¥é¥¤¥Ö¥é¥ê¡¢
¥×¥í¥°¥é¥ß¥ó¥°¥Õ¥¡¥¤¥ë¤ò°ÕÌ£¤·¤Þ¤¹¡£
¥³¥ó¥Ñ¥¤¥é¤Ï <quote>world</quote> ¤Î°ìÉô¤Ç¤¹¤¬¡¢
¤¤¤¯¤Ä¤«ÆÃÊ̤˵¤¤ò¤Ä¤±¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£</para>
<para>¤Þ¤¿¡¢¤³¤ì¤é¤Î¥¹¥Æ¥Ã¥×¤Ç¤Ï¡¢
¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î¥½¡¼¥¹¤ò¤¹¤Ç¤ËÆþ¼ê¤·¤Æ¤¤¤ë¤³¤È¤â²¾Äꤷ¤Æ¤¤¤Þ¤¹¡£
¤â¤·¥·¥¹¥Æ¥à¤Î¥½¡¼¥¹¥³¡¼¥É¤¬¸Å¤¤¤è¤¦¤Ç¤·¤¿¤é¡¢
<xref linkend="synching"/> ¤òÆÉ¤ó¤Ç¡¢
¥½¡¼¥¹¥³¡¼¥É¤ò¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤ØÆ±´ü¤¹¤ëÊýË¡¤Î¾ÜºÙ¤òÍý²ò¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¥½¡¼¥¹¤«¤é¤Î¥·¥¹¥Æ¥à¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤Ï¡¢
Åö½éͽÁÛ¤·¤Æ¤¤¤¿¤â¤Î¤è¤ê¤È¤é¤¨¤¬¤¿¤¤¤â¤Î¤Ç¤¹¡£
Ť¤Ç¯·î¤Ë¤ª¤¤¤ÆÈò¤±¤é¤ì¤Ê¤¤°Í¸ÌäÂ꤬ȽÌÀ¤·¤¿¤¿¤á¡¢
&os; ¤Î³«È¯¼Ôã¤Ï¡¢¿ä¾©¤µ¤ì¤ë¥¢¥×¥í¡¼¥Á¤òÂ礭¤¯Êѹ¹¤·¤Þ¤·¤¿¡£
¤³¤ÎÀá¤Ç¤Ï¡¢¸½ºß¿ä¾©¤µ¤ì¤Æ¤¤¤ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¼ê½ç¤ÎÇØ¸å¤Ë¤¢¤ë¡¢
ÍýÏÀŪº¬µò¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£</para>
<para>Ϣ³¤·¤¿¥¢¥Ã¥×¥Ç¡¼¥È¤Î¼ê½ç¤Ï¡¢°Ê²¼¤ÎÌäÂê¤ËÂбþ¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
<para>¸Å¤¤¥³¥ó¥Ñ¥¤¥é¤Ï¡¢
¡¡ ¥Ð¥°¤ò´Þ¤ß¿·¤·¤¤¥«¡¼¥Í¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹
¤½¤Î¤¿¤á¡¢¿·¤·¤¤¥«¡¼¥Í¥ë¤Î¹½Ãۤˤϡ¢
¿·¤·¤¤¥³¥ó¥Ñ¥¤¥é¤ò»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤È¤Î¤³¤È¤Ï¡¢¿·¤·¤¤¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤¹¤ëÁ°¤Ë¡¢
¿·¤·¤¤¥³¥ó¥Ñ¥¤¥é¤ò¹½ÃÛ¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£
ɬ¤º¤·¤â¡¢¿·¤·¤¤¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤¹¤ëÁ°¤Ë¡¢¿·¤·¤¤¥³¥ó¥Ñ¥¤¥é¤¬
<emphasis>¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë</emphasis>
ɬÍפ¬¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£</para>
</listitem>
<listitem>
<para>¿·¤·¤¤ world ¤Ï¡¢
¿·¤·¤¤¥«¡¼¥Í¥ë¤Îµ¡Ç½¤Ë°Í¸¤·¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á¡¢
¿·¤·¤¤ world ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¡¢
¿·¤·¤¤¥«¡¼¥Í¥ë¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</para>
</listitem>
</itemizedlist>
<para>¤³¤ì¤é 2 ¤Ä¤Î½ÅÍ×»ö¹à¤Ï¡¢
°Ê²¼¤ÎÀâÌÀ¤ÇÃæ¿´¤È¤Ê¤ë <maketarget>buildworld</maketarget>,
<maketarget>buildkernel</maketarget>,
<maketarget>installkernel</maketarget>,
<maketarget>installworld</maketarget> ¤Î´ðËܤǤ¹¡£
¾¤ÎÍýͳ¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤Ç¥ê¥¹¥È¥¢¥Ã¥×¤·¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
<para>¸Å¤¤ world ¤Ï¡¢¿·¤·¤¤¥«¡¼¥Í¥ë¤Ç¤ÏÀµ¤·¤¯Æ°¤«¤Ê¤¤¤«¤âÃΤì¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢¿·¤·¤¤¥«¡¼¥Í¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤é¡¢
ľ¤Á¤Ë¿·¤·¤¤ world ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
<listitem>
<para>ÀßÄê¤ÎÃæ¤Ë¤Ï¡¢¿·¤·¤¤ world
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤ËÊѹ¹¤¹¤Ù¤­¤â¤Î¤¬¤¢¤ê¤Þ¤¹¤¬¡¢
¸Å¤¤ world ¤ò²õ¤¹²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢°ìÈÌŪ¤ËÀßÄê¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤Ï¡¢
2 ¤Ä¤Î¼ê½ç¤¬É¬ÍפǤ¹¡£</para>
</listitem>
<listitem>
<para>¿¤¯¤Î¾ì¹ç¡¢¥¢¥Ã¥×¥Ç¡¼¥È¤Î¥×¥í¥»¥¹¤Ï¡¢¥Õ¥¡¥¤¥ë¤òÃÖ¤­´¹¤¨¤¿¤ê¡¢
ÄɲäΤߤò¹Ô¤¤¡¢¸Å¤¤¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤»¤ó¡£
¤³¤Î¤³¤È¤¬ÌäÂê¤ò°ú¤­µ¯¤³¤¹²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥¢¥Ã¥×¥Ç¡¼¥È¤Ë¤ª¤¤¤Æ¤Ï¡¢
¼êư¤Çºï½ü¤¹¤Ù¤­¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤³¤È¤ò¡¢
ÆÃÄê¤Î¥¹¥Æ¥Ã¥×¤Ç»ØÄꤹ¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¾­Í輫ư²½¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¤·¡¢¤µ¤ì¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£</para>
</listitem>
</itemizedlist>
<para>¤³¤ì¤é¤òÇÛθ¤·¡¢°Ê²¼¤Î¿ä¾©¼ê½ç¤¬ºî¤é¤ì¤Þ¤·¤¿¡£
¥¢¥Ã¥×¥Ç¡¼¥È¤ÎºÙ¤«¤¤¼ê½ç¤Ë¤ª¤¤¤Æ¤Ï¡¢Äɲäμê½ç¤¬É¬Íפˤʤ뤫¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢
¤³¤ÎÃæ¿´¤È¤Ê¤ë¥×¥í¥»¥¹¤Ï¡¢¤·¤Ð¤é¤¯¤Î´ÖÊѤï¤Ã¤Æ¤¤¤Þ¤»¤ó¡£</para>
<orderedlist>
<listitem>
<para><command>make <maketarget>buildworld</maketarget></command></para>
<para>¿·¤·¤¤¥³¥ó¥Ñ¥¤¥é¤È´ØÏ¢¥Ä¡¼¥ë¤òºÇ½é¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¡¢
¤½¤Î¸å¡¢¿·¤·¤¤¥³¥ó¥Ñ¥¤¥é¤Ç¡¢
¿·¤·¤¤ world ¤Î»Ä¤ê¤ÎÉôʬ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¤â¤Î¤Ï¡¢
<filename class="directory">/usr/obj</filename> ¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><command>make
<maketarget>buildkernel</maketarget></command></para>
<para>¤³¤³¤Ç¤Ï¡¢
<filename class="directory">/usr/obj</filename> ¤Ë¤¢¤ë
<emphasis>¿·¤·¤¤</emphasis> ¥³¥ó¥Ñ¥¤¥é¤¬ÍѤ¤¤é¤ì¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥³¥ó¥Ñ¥¤¥é¤È¥«¡¼¥Í¥ë¤Î¥ß¥¹¥Þ¥Ã¥Á¤òËɤ°¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><command>make <maketarget>installkernel</maketarget></command></para>
<para>¿·¤·¤¯¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤¿¥«¡¼¥Í¥ë¤Çµ¯Æ°¤Ç¤­¤ë¤è¤¦¤Ë¡¢
¿·¤·¤¤¥«¡¼¥Í¥ë¤È¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤ò¥Ç¥£¥¹¥¯¾å¤ËÇÛÃÖ¤·¤Þ¤¹¡£
</para>
</listitem>
<listitem>
<para>¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤ÇºÆµ¯Æ°</para>
<para>¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ï¡¢
¤¹¤Ç¤Ë¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ëºÝ¤ÎÌäÂê¤òºÇ¾®¸Â¤Ë¤·¤Þ¤¹¡£
¤Þ¤¿¡¢¿·¤·¤¤¥«¡¼¥Í¥ë¾å¤Ç¸Å¤¤ world ¤¬¼Â¹Ô¤µ¤ì¤ëºÝ¤ÎÌäÂê¤âºÇ¾®¸Â¤Ë¤·¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><command>mergemaster <option>-p</option></command></para>
<para>¿·¤·¤¤ world ¤Ë¤ª¤±¤ëºÇ½é¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤ò¹Ô¤¤¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢¿·¤·¤¤¥æ¡¼¥¶¥°¥ë¡¼¥×¤ò¥·¥¹¥Æ¥à¤ËÄɲä·¤¿¤ê¡¢
¥Ñ¥¹¥ï¡¼¥É¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ·¡¢¿·¤·¤¤¥æ¡¼¥¶Ì¾¤òÄɲ乤뤫¤â¤·¤ì¤Þ¤»¤ó¡£
Á°²ó¤Î¥¢¥Ã¥×¥Ç¡¼¥È¸å¤Ë¡¢
¿·¤·¤¤¥°¥ë¡¼¥×¤äÆÃÊ̤Υ·¥¹¥Æ¥à¤Î¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤¬Äɲ䵤줿¾ì¹ç¤Ë¡¢
<maketarget>installworld</maketarget> ¤Î¥¹¥Æ¥Ã¥×¤Ç¡¢
¿·¤·¤¯¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥·¥¹¥Æ¥à¤Î¥æ¡¼¥¶¤Þ¤¿¤Ï¥·¥¹¥Æ¥à¤Î¥°¥ë¡¼¥×̾¤òÌäÂê¤Ê¤¯»È¤¦¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¡¢
¤³¤Îºî¶È¤¬¤È¤­¤É¤­É¬ÍפȤʤê¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><command>make <maketarget>installworld</maketarget></command></para>
<para>world ¤ò <filename class="directory">/usr/obj</filename> ¤«¤é¥³¥Ô¡¼¤·¤Þ¤¹¡£
¤³¤ì¤Ç¡¢¥Ç¥£¥¹¥¯¤Ë¤Ï¿·¤·¤¤¥«¡¼¥Í¥ë¤È world ¤¬ÃÖ¤«¤ì¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><command>mergemaster</command></para>
<para>¥Ç¥£¥¹¥¯¤Ë¿·¤·¤¤ world ¤¬ÃÖ¤«¤ì¤¿¤Î¤Ç¡¢
»Ä¤ê¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><command>make
<maketarget>delete-old</maketarget></command></para>
<para>¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ï (»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿) ¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¡£
¤â¤·»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¥Õ¥¡¥¤¥ë¤¬¥Ç¥£¥¹¥¯¤Ë»Ä¤Ã¤Æ¤¤¤ë¤È¡¢
ÌäÂ꤬µ¯¤­¤ë²ÄǽÀ­¤¬¤¢¤ë¤¿¤á½ÅÍפʺî¶È¤Ç¤¹¡£
¤¿¤È¤¨¤Ð¡¢¸Å¤¤ <filename>utmp.h</filename> ¤¬»Ä¤Ã¤Æ¤¤¤ë¤È¡¢
¿·¤·¤¤ <filename>utmpx.h</filename> ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤È¤­¤Ë¡¢
ÌäÂ꤬µ¯¤­¤ë ports ¤¬¤¢¤ê¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>ºÆµ¯Æ°</para>
<para>¿·¤·¤¤¥«¡¼¥Í¥ë¡¢world ¤½¤·¤ÆÀßÄê¥Õ¥¡¥¤¥ë¤¬¥í¡¼¥É¤µ¤ì¤¿¤Î¤Ç¡¢
ºÆµ¯Æ°¤¬É¬ÍפǤ¹¡£</para>
</listitem>
<listitem>
<para><command>make
<maketarget>delete-old-libs</maketarget></command></para>
<para>»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¥é¥¤¥Ö¥é¥ê¤¬¿·¤·¤¤¥é¥¤¥Ö¥é¥ê¤È¶¥¹ç¤¹¤ë¤³¤È¤òÈò¤±¤ë¤¿¤áºï½ü¤·¤Þ¤¹¡£
¸Å¤¤¥é¥¤¥Ö¥é¥ê¤òºï½ü¤¹¤ëÁ°¤Ë¤¹¤Ù¤Æ¤Î ports ¤òºÆ¹½ÃÛ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
</listitem>
</orderedlist>
<para>¤â¤·¡¢&os; ¤Î¤¢¤ë¥Ö¥é¥ó¥Á¤Î¤¢¤ë¥ê¥ê¡¼¥¹¤«¤é¡¢
Ʊ¤¸¥Ö¥é¥ó¥Á¤ÎºÇ¿·¥ê¥ê¡¼¥¹¤Ë¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð
(¤¿¤È¤¨¤Ð 9.0 ¤«¤é 9.1)¡¢
¤³¤Î¼ê½ç¤Ë¤·¤¿¤¬¤ï¤Ê¤¯¤Æ¤âÎɤ¤¤Ç¤·¤ç¤¦¡£
¤Ê¤¼¤Ê¤é¤Ð¡¢¥³¥ó¥Ñ¥¤¥é¡¢¥«¡¼¥Í¥ë¡¢¥æ¡¼¥¶¥é¥ó¥É¡¢¤½¤·¤ÆÀßÄê¥Õ¥¡¥¤¥ë¤Î´Ö¤Ç¡¢
½ÅÅ٤Υߥ¹¥Þ¥Ã¥Á¤¬µ¯¤­¤ë¤³¤È¤Ï¤¢¤Þ¤ê¹Í¤¨¤é¤ì¤Ê¤¤¤¿¤á¤Ç¤¹¡£
¥Þ¥¤¥Ê¡¼¤Ê¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤Ï¡¢¿·¤·¤¤¥«¡¼¥Í¥ë¤Î¹½Ãۤȥ¤¥ó¥¹¥È¡¼¥ë¸å¤Ë¡¢
¸Å¤¤¥¢¥×¥í¡¼¥Á¤Ç¤¢¤ë
<command>make <maketarget>world</maketarget></command>
¤òÍѤ¤¤Æ¤â¤¦¤Þ¤¯¤¤¤¯¤Ç¤·¤ç¤¦¡£</para>
<para>¥á¥¸¥ã¡¼¥ê¥ê¡¼¥¹¤ò¤Þ¤¿¤¤¤À¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤Ï¡¢
¤³¤ÎÊýË¡¤òÍѤ¤¤Ê¤¤¤È¡¢²¿¤é¤«¤ÎÌäÂê¤Ë¤Ö¤Ä¤«¤ë¤Ç¤·¤ç¤¦¡£</para>
<para>Â礭¤Ê¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¤ª¤¤¤Æ¤Ï¡¢
installworld ¤ÎÁ°¤ËÆÃÄê¤Î¥Õ¥¡¥¤¥ë¤Î̾Á°¤ÎÊѹ¹¤äºï½ü¤¹¤ë¤È¤¤¤Ã¤¿¡¢
ÆÃÊ̤ÊÄɲäΥ¹¥Æ¥Ã¥×¤¬É¬ÍפȤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£
<filename>/usr/src/UPDATING</filename> ¤òÃí°Õ¿¼¤¯ÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£
ÆÃ¤Ë¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤Ë¤Ï¡¢
¸½ºß¿ä¾©¤µ¤ì¤Æ¤¤¤ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î¼ê½ç¤¬¾Ü¤·¤¯Àµ³Î¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para>¤³¤Î¼ê³¤­¤Ï¡¢
³«È¯¼Ô¤¿¤Á¤¬¤¢¤ë¼ï¤Î¥ß¥¹¥Þ¥Ã¥Á¤ò´°Á´¤ËÈò¤±¤ë¤¿¤á¤Ë¡¢Ä¹¤¤Ç¯·î¤ò¤«¤±¤Æ¿Ê²½¤·¤Æ¤­¤Þ¤·¤¿¡£
´ê¤ï¤¯¤Ð¡¢¤³¤Î¸½ºß¤Î¼ê½ç¤¬Ä¹¤¤´Ö°ÂÄꤷ¤Æ¤Û¤·¤¤¤â¤Î¤Ç¤¹¡£</para>
<para>¤Þ¤È¤á¤ë¤È¡¢¸½ºß¡¢¥½¡¼¥¹¤«¤é¤Î &os;
¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ë¤ª¤¤¤Æ¿ä¾©¤µ¤ì¤Æ¤¤¤ëÊýË¡¤Ï°Ê²¼¤È¤Ê¤ê¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make buildworld</userinput>
&prompt.root; <userinput>make buildkernel</userinput>
&prompt.root; <userinput>make installkernel</userinput>
&prompt.root; <userinput>shutdown -r now</userinput></screen>
<note>
<para>¤Þ¤ì¤Ë <maketarget>buildworld</maketarget>
¤ÎÁ°¤Ë <command>mergemaster -p</command>
¤ò;ʬ¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤¬É¬Íפʾì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤½¤Î¾ì¹ç¤Ï
<filename>UPDATING</filename> ¤Ë¤½¤¦½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
&os; ¤Î¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó¤ò¤Þ¤¿¤¤¤Ç¹¹¿·¤¹¤ë¤Î¤Ç¤Ê¤±¤ì¤Ð¡¢
Ä̾ï¤Ï¤³¤Î¼ê½ç¤ò¾Êά¤·¤Æ¤â¤Ê¤ó¤éÌäÂê¤Ê¤¤¤Ç¤·¤ç¤¦¡£</para>
</note>
<para><maketarget>installkernel</maketarget>
¤¬Ìµ»ö¤Ë½ªÎ»¤·¤¿¤é¡¢¥í¡¼¥À¤Î¥×¥í¥ó¥×¥È¤«¤é
<command>boot -s</command>
- ¤ò»È¤Ã¤Æ¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤ÇΩ¤Á¾å¤²¤Æ¤¯¤À¤µ¤¤¡£
- ¤½¤ì¤«¤é¡¢°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ ¤ò»È¤Ã¤Æ¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤ÇΩ¤Á¾å¤²¤Æ¤¯¤À¤µ¤¤¡£</para>
+ <para>UFS ¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ê¤é¡¢°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+
<screen>&prompt.root; <userinput>mount -u /</userinput>
-&prompt.root; <userinput>mount -a -t ufs</userinput>
-&prompt.root; <userinput>adjkerntz -i</userinput>
+&prompt.root; <userinput>mount -a -t ufs</userinput></screen>
+
+ <para>ZFS ¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤
+ (zpool ¤Î̾Á°¤ò zroot ¤È¤·¤Æ¤¤¤Þ¤¹)¡£</para>
+
+ <screen>&prompt.root; <userinput>zfs set readonly=off zroot</userinput>
+&prompt.root; <userinput>zfs mount -a</userinput></screen>
+
+ <para>¤½¤Î¸å¡¢°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£:</para>
+
+ <screen>&prompt.root; <userinput>adjkerntz -i</userinput>
&prompt.root; <userinput>mergemaster -p</userinput>
&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make installworld</userinput>
&prompt.root; <userinput>mergemaster</userinput>
&prompt.root; <userinput>make delete-old</userinput>
&prompt.root; <userinput>reboot</userinput>
&prompt.root; <userinput>make delete-old-libs</userinput></screen>
<warning>
<title>¤³¤Î¸å¤ÎÀâÌÀ¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤</title>
<para>¤³¤Î¸å¤ÎÀá¤Ç¤Ï¤½¤ì¤¾¤ì¤Î¥¹¥Æ¥Ã¥×¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯ÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£
ÆÃ¤Ë¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤òÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£</para>
</warning>
</sect2>
<sect2 id="src-updating">
<title><filename>/usr/src/UPDATING</filename> ¤òÆÉ¤à</title>
<para>¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ëÁ°¤Ë¡¢
<filename>/usr/src/UPDATING</filename> ¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤ÏÀøºßŪ¤ÊÌäÂê¤ä
ÆÃÄê¤Î¥³¥Þ¥ó¥É¤Î½ç¤Ê¤É¤Î½ÅÍפʾðÊó¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
<filename>UPDATING</filename> ¤¬¤³¤ÎÀá¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤â¤Î¤ÈÌ·½â¤·¤Æ¤¤¤ë»þ¤Ï
<filename>UPDATING</filename> ¤òÍ¥À褷¤Æ¤¯¤À¤µ¤¤¡£</para>
<important>
<para><filename>UPDATING</filename> ¤òÆÉ¤à¤È¤¤¤¦¤³¤È¤Ï¡¢
ŬÀڤʥ᡼¥ê¥ó¥°¥ê¥¹¥È¤ò¹ØÆÉ¤¹¤ëÂå¤ï¤ê¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
Æó¤Ä¤ÎÍ×µá¤ÏÁêÊäŪ¤Ê¤â¤Î¤ÇÇÓ¾Ū¤Ê¤â¤Î¤Ç¤Ï¤Ê¤¤¤Î¤Ç¤¹¡£</para>
</important>
</sect2>
<sect2 id="make-conf">
<title><filename>/etc/make.conf</filename> ¤Î³Îǧ</title>
<indexterm>
<primary><filename>make.conf</filename></primary>
</indexterm>
<para>&man.make.1; ¤Î¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¤Ï¡¢&man.make.conf.5; ¤ä
<filename>/usr/share/examples/etc/make.conf</filename> ¤Ë¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤é¤ÎÀßÄê¤ò <filename>/etc/make.conf</filename> ¤ËÄɲ䷤ơ¢
&man.make.1; ¤Î¼Â¹Ô¤ä¥×¥í¥°¥é¥à¤Î¹½ÃÛÊýË¡¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
¤¢¤ëÀßÄê¤òÊѹ¹¤·¤¿¤³¤È¤Ë¤è¤ê¡¢±Æ¶Á¤¬¹­¤¤ÈϰϤˤª¤è¤Ó¡¢
¶Ã¤¯¤Ù¤­·ë²Ì¤ò¤â¤¿¤é¤¹²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
ξÊý¤Î¥Õ¥¡¥¤¥ë¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¥³¥á¥ó¥È¤òÆÉ¤à¤³¤È¤È¡¢
¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ï¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤È°ÂÁ´À­¤Î´ÑÅÀ¤«¤éÁª¤Ð¤ì¤Æ¤¤¤ë¤³¤È¤ò³Ð¤¨¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£</para>
<para><filename>/etc/make.conf</filename> ¤ÇÀßÄꤵ¤ì¤¿¥ª¥×¥·¥ç¥ó¤Ï¡¢
&man.make.1; ¤¬»È¤ï¤ì¤ëºÝ¤Ë¤Ï¾ï¤ËÍ­¸ú¤È¤Ê¤ê¤Þ¤¹¡£
Ports Collection ¤«¤é¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë»þ¡¢
¥æ¡¼¥¶¤¬½ñ¤¤¤¿ C ¥×¥í¥°¥é¥à¤ä &os;
¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ò¹½ÃÛ¤¹¤ëºÝ¤Ë±Æ¶Á¤òµÚ¤Ü¤·¤Þ¤¹¡£</para>
</sect2>
<sect2 id="src-conf">
<title><filename>/etc/src.conf</filename> ¤ò³Îǧ¤¹¤ë</title>
<indexterm>
<primary><filename>src.conf</filename></primary>
</indexterm>
<para><filename>/etc/src.conf</filename> ¤Ï¡¢
¥½¡¼¥¹¥³¡¼¥É¤òÍѤ¤¤¿¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¹½ÃۤˤĤ¤¤Æ¥³¥ó¥È¥í¡¼¥ë¤·¤Þ¤¹¡£
<filename>/etc/make.conf</filename> ¤È¤Ï°Û¤Ê¤ê¡¢
<filename>/etc/src.conf</filename> ¤Ë½ñ¤«¤ì¤¿ÀßÄê¤Ï¡¢
&os; ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤½¤Î¤â¤Î¤ò¹½ÃÛ¤¹¤ë¤È¤­¤Ë¤Î¤ß±Æ¶Á¤·¤Þ¤¹¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤ÇÀßÄê²Äǽ¤Ê¿¤¯¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢
&man.src.conf.5; ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
°ì¸«¤·¤¿¤È¤³¤í̵¸ú¤Ë¤µ¤ì¤Æ¤¤¤ë¡¢
»È¤ï¤ì¤Æ¤¤¤Ê¤¤¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤ä¥Ó¥ë¥É¥ª¥×¥·¥ç¥ó¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤È¤­¤É¤­Í½´ü¤·¤Ê¤«¤Ã¤¿¤ê¡¢¤ï¤º¤«¤Ê±Æ¶Á¤òÍ¿¤¨¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£</para>
</sect2>
<sect2 id="updating-etc">
<title><filename>/etc</filename> ¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤Î¹¹¿·</title>
<para><filename class="directory">/etc</filename> ¤Ë¤Ï¡¢
¥·¥¹¥Æ¥àµ¯Æ°»þ¤Ë¼Â¹Ô¤µ¤ì¤ë¥¹¥¯¥ê¥×¥È¤À¤±¤Ç¤Ê¤¯¡¢
¥·¥¹¥Æ¥à¤ÎÀßÄê¤Ë´ØÏ¢¤¹¤ë¾ðÊó¤ÎÂçÉôʬ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¥¹¥¯¥ê¥×¥È¤Ï¡¢
&os; ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤ÆÂ¿¾¯°Û¤Ê¤ê¤Þ¤¹¡£</para>
<para>ÀßÄê¥Õ¥¡¥¤¥ë¤Î¤Ê¤«¤Ë¤Ï¡¢<filename>/etc/group</filename>
¤Î¤è¤¦¤Ë²ÔÆ¯Ãæ¤Î¥·¥¹¥Æ¥à¤¬Æü¡¹ÍøÍѤ·¤Æ¤¤¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£</para>
<para>
<command>make installworld</command> ¤Ë¤è¤ë¥¤¥ó¥¹¥È¡¼¥ë¤ÎÃʳ¬¤Ç¤Ï¡¢
ÆÃÄê¤Î¥æ¡¼¥¶Ì¾¡¢¤¢¤ë¤¤¤Ï¥°¥ë¡¼¥×¤¬Â¸ºß¤·¤Æ¤¤¤ë¤³¤È¤ò
Í׵᤹¤ë¾ìÌ̤¬¤¢¤ê¤Þ¤¹¡£¥·¥¹¥Æ¥à¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò¹Ô¤Ê¤¦ºÝ¤Ë¤Ï¡¢
¤½¤ì¤é¤Î¥æ¡¼¥¶Ì¾¤ä¥°¥ë¡¼¥×¤¬ºï½ü¡¢
¤¢¤ë¤¤¤ÏÊѹ¹¤µ¤ì¤ÆÂ¸ºß¤·¤Æ¤¤¤Ê¤¤²ÄǽÀ­¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£
<command>make buildworld</command> ¤Ë¤ª¤¤¤Æ¡¢
¤½¤ì¤é¤Î¥æ¡¼¥¶Ì¾¤ä¥°¥ë¡¼¥×¤¬Â¸ºß¤¹¤ë¤«³Îǧ¤¬¹Ô¤ï¤ì¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£
</para>
<para>²ò·èÊýË¡¤Ï¡¢buildworld ¤ÎÁ°¤Ë <option>-p</option>
¤ò¤Ä¤±¤Æ &man.mergemaster.8; ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¤¹¡£
¤³¤ì¤ò¼Â¹Ô¤¹¤ë¤È¡¢<maketarget>buildworld</maketarget> ¤ä
<maketarget>installworld</maketarget>
¤¬À®¸ù¤¹¤ë¤¿¤á¤ËɬÍפʥե¡¥¤¥ë¤À¤±¤òÈæ³Ó¤·¤Þ¤¹¡£</para>
<tip>
<para>̾Á°¤òÊѹ¹¤·¤¿¤ê¡¢ºï½ü¤·¤Æ¤·¤Þ¤Ã¤¿¥°¥ë¡¼¥×¤¬½êÍ­¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ò¡¢
¼¡¤Î¤è¤¦¤Ë¤·¤ÆÄ´¤Ù¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
</para>
<screen>&prompt.root; <userinput>find / -group <replaceable>GID</replaceable> -print</userinput></screen>
<para>¤³¤Î¥³¥Þ¥ó¥É¤Ï¥°¥ë¡¼¥×̾¤â¤·¤¯¤Ï¿ô»ú¤Ç¼¨¤µ¤ì¤ë¥°¥ë¡¼¥× ID
¤Ç»ØÄꤵ¤ì¤¿¥°¥ë¡¼¥× <replaceable>GID</replaceable>
¤¬½êÍ­¤¹¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤òɽ¼¨¤·¤Þ¤¹¡£</para>
</tip>
</sect2>
<sect2 id="makeworld-singleuser">
<title>¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ø¤Î°Ü¹Ô</title>
<indexterm><primary>¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É</primary></indexterm>
<para>¥³¥ó¥Ñ¥¤¥ë¤Ï¡¢¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ç¹Ô¤Ê¤¦¤³¤È¤ò¹Í¤¨¤Æ¤¯¤À¤µ¤¤¡£
¥·¥¹¥Æ¥à¤ÎºÆ¥¤¥ó¥¹¥È¡¼¥ë¤Ï½ÅÍפʥ·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë¡¢
¤¹¤Ù¤Æ¤Îɸ½à¥·¥¹¥Æ¥à¤Î¥Ð¥¤¥Ê¥ê¡¢¥é¥¤¥Ö¥é¥ê¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤òÁàºî¤·¤Þ¤¹¡£
²ÔÆ¯Ãæ¤Î¥·¥¹¥Æ¥à¤Ë (ÆÃ¤Ë¾¤Î¥æ¡¼¥¶¤¬¤½¤Î¥·¥¹¥Æ¥à¤Ë¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë»þ¤Ë)
¤½¤Î¤è¤¦¤ÊÊѹ¹¤ò²Ã¤¨¤ë¤³¤È¤Ï¡¢¥È¥é¥Ö¥ë¤ò°ú¤­µ¯¤³¤¹¸¶°ø¤È¤Ê¤ê¤Þ¤¹¡£</para>
<indexterm><primary>¥Þ¥ë¥Á¥æ¡¼¥¶¥â¡¼¥É</primary></indexterm>
<para>¤â¤¦°ì¤Ä¤ÎÊýË¡¤È¤·¤Æ¡¢¥Þ¥ë¥Á¥æ¡¼¥¶¥â¡¼¥É¤Ç¥·¥¹¥Æ¥à¤òºÆ¹½ÃÛ¤·¤Æ¡¢
¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ë°Ü¹Ô¤·¤Æ¤«¤é¤½¤ì¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡¢
¤È¤¤¤¦¤Î¤¬¤¢¤ê¤Þ¤¹¡£¤â¤·¤³¤Î¤è¤¦¤ÊÊýË¡¤Ç¹Ô¤Ê¤¤¤¿¤¤¾ì¹ç¤Ï¡¢
°Ê²¼¤Î¼ê½ç¤ò¹½ÃÛ¤¬´°Î»¤¹¤ë¤È¤³¤í¤Þ¤ÇÈô¤Ð¤·¤Æ¤¯¤À¤µ¤¤¡£
<maketarget>installkernel</maketarget> ¤â¤·¤¯¤Ï
<maketarget>installworld</maketarget> ¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¡¢
¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ë°Ü¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>shutdown now</userinput></screen>
<para>¤¢¤ë¤¤¤Ï¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¡¢¥Ö¡¼¥È¥×¥í¥ó¥×¥È¤«¤é
<quote>single user</quote> ¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Çµ¯Æ°¤·¤¿¸å¤Ï¡¢
¥·¥§¥ë¥×¥í¥ó¥×¥È¤«¤é¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>fsck -p</userinput>
&prompt.root; <userinput>mount -u /</userinput>
&prompt.root; <userinput>mount -a -t ufs</userinput>
&prompt.root; <userinput>swapon -a</userinput></screen>
<para>¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Á¥§¥Ã¥¯¤·¤¿¸å¡¢
<filename>/</filename> ¤òÆÉ¤ß½ñ¤­²Äǽ¤Ë¤·¤ÆºÆ¥Þ¥¦¥ó¥È¡¢
<filename>/etc/fstab</filename> ¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë¡¢
¤½¤ì°Ê³°¤Î UFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¤¹¤Ù¤Æ¥Þ¥¦¥ó¥È¤·¤Æ¤«¤é
¥¹¥ï¥Ã¥×¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£
</para>
<note>
<para>CMOS ¥¯¥í¥Ã¥¯¤¬Ãϰè»þ´Ö¤ËÀßÄꤵ¤ì¤Æ¤¤¤Æ
GMT ¤Ç¤Ï¤Ê¤¤¾ì¹ç
(&man.date.1; ¤¬Àµ¤·¤¤»þ´Ö¤ÈÃϰè¤òɽ¼¨¤·¤Ê¤¤¤Ê¤éÅö¤Æ¤Ï¤Þ¤ê¤Þ¤¹)¡¢
¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>adjkerntz -i</userinput></screen>
<para>¤³¤¦¤¹¤ì¤Ð¡¢
³Î¼Â¤ËÃϰè»þ¹ï¤¬Àµ¤·¤¯ÀßÄꤵ¤ì¤Þ¤¹¡£</para>
</note>
</sect2>
<sect2 id="cleaning-usr-obj">
<title><filename>/usr/obj</filename> ¤Îºï½ü</title>
<para>¥·¥¹¥Æ¥à¤¬ºÆ¹½ÃÛ¤µ¤ì¤ë»þ¡¢¹½ÃÛ¤µ¤ì¤¿¤â¤Î¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç
<filename>/usr/obj</filename> °Ê²¼¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£
¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ï <filename>/usr/src</filename>
¤ÈƱ¤¸¹½Â¤¤È¤Ê¤ê¤Þ¤¹¡£</para>
<para>¤â¤·¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤·¤Æ¡¢
<command>make buildworld</command> ¤Î¹ÔÄø¤Ë¤«¤«¤ë»þ´Ö¤òû½Ì¤·¡¢
°Í¸ÌäÂê¤ËǺ¤Þ¤µ¤ì¤ë¤è¤¦¤Ê¥È¥é¥Ö¥ë¤ò²óÈò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<para><filename>/usr/obj</filename> °Ê²¼¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢Êѹ¹ÉÔ²Ä
(immutable) ¥Õ¥é¥°¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤ÏºÇ½é¤Ë &man.chflags.1;
¤òÍѤ¤¤Æ¤«¤éºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/obj</userinput>
&prompt.root; <userinput>chflags -R noschg *</userinput>
&prompt.root; <userinput>rm -rf *</userinput></screen>
</sect2>
<sect2 id="updating-upgrading-compilebase">
<title>¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤ÎºÆ¹½ÃÛ</title>
<sect3>
<title>½ÐÎÏ¥á¥Ã¥»¡¼¥¸¤ÎÊݸ</title>
<para>¼Â¹Ô¤µ¤ì¤ë &man.make.1; ¤«¤é¤Î½ÐÎϤϡ¢¥Õ¥¡¥¤¥ë¤ËÊݸ¤¹¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£
¤â¤·¡¢²¿¤«¾ã³²¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Î¥³¥Ô¡¼¤ò
&os; ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ËÅê¹Æ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¥Õ¥¡¥¤¥ë¤ËÊݸ¤¹¤ëºÇ¤â´Êñ¤ÊÊýË¡¤Ï¡¢&man.script.1;
¥³¥Þ¥ó¥É¤ò»È¤¤¡¢°ú¿ô¤Ë½ÐÎϤòÊݸ¤·¤¿¤¤¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ë¤³¤È¤Ç¤¹¡£
¤³¤ì¤ò make world ¤ÎľÁ°¤Ë¹Ô¤Ê¤¤¡¢ºÆ¹½ÃÛ¤¬½ªÎ»¤·¤¿¤é
°Ê²¼¤Î¤è¤¦¤Ë <userinput>exit</userinput> ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>script /var/tmp/mw.out</userinput>
Script started, output file is /var/tmp/mw.out
&prompt.root; <userinput>make TARGET</userinput>
<emphasis>&hellip; compile, compile, compile &hellip;</emphasis>
&prompt.root; <userinput>exit</userinput>
Script done, &hellip;</screen>
<para><filename class="directory">/tmp</filename>
¤Ë½ÐÎϤòÊݸ¤·¤Æ¤Ï<emphasis>¤¤¤±¤Þ¤»¤ó</emphasis>¡£
¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢¼¡¤ÎºÆµ¯Æ°¤Çºï½ü¤µ¤ì¤Æ¤·¤Þ¤¦²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
½ÐÎϤÎÊݸ¤Ë¤Ï¡¢<filename class="directory">/var/tmp</filename> ¤ä
<username>root</username> ¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤¬Å¬¤·¤Æ¤¤¤Þ¤¹¡£</para>
</sect3>
<sect3 id="make-buildworld">
<title>¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Î¹½ÃÛ</title>
<para><filename>/usr/src</filename> ¤Ë¤Æ¡¢
¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
<indexterm><primary><command>make</command></primary></indexterm>
<para>world ¤òºÆ¹½ÃÛ¤¹¤ë¤Ë¤Ï¡¢&man.make.1; ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢<filename>Makefile</filename> ¤«¤é¡¢
&os; ¤ò¹½À®¤¹¤ë¥×¥í¥°¥é¥à¤ÎºÆ¹½ÃÛÊýË¡¤ä¡¢
¤É¤¦¤¤¤¦½çÈ֤Ǥ½¤ì¤é¤ò¹½ÃÛ¤¹¤Ù¤­¤«¤È¤¤¤Ã¤¿¤è¤¦¤Ê»Ø¼¨¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£</para>
<para>¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î°ìÈÌŪ¤Ê½ñ¼°¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£</para>
<screen>&prompt.root; <userinput>make -<replaceable>x</replaceable> -D<replaceable>VARIABLE</replaceable> <replaceable>target</replaceable></userinput></screen>
<para>¤³¤ÎÎã¤Ç¤Ï¡¢<option>-<replaceable>x</replaceable></option> ¤¬
&man.make.1; ¤ËÅϤµ¤ì¤ë¥ª¥×¥·¥ç¥ó¤Ë¤Ê¤ê¤Þ¤¹¡£
¤É¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤¬ÍøÍѤǤ­¤ë¤«¤Ë¤Ä¤¤¤Æ¤Ï¡¢&man.make.1;
¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>
<option>-D<replaceable>VARIABLE</replaceable></option> ¤Ï¡¢
<filename>Makefile</filename> ¤ËÅϤµ¤ì¤ëÊÑ¿ô¤Ç¤¢¤ê¡¢
¤³¤ÎÊÑ¿ô¤Ï <filename>Makefile</filename> ¤Îưºî¤ò¥³¥ó¥È¥í¡¼¥ë¤·¤Þ¤¹¡£
¤Þ¤¿¡¢<filename>/etc/make.conf</filename> ¤ÇÀßÄꤵ¤ì¤ëÊÑ¿ô¤â
ƱÍͤǤ¹¡£¤³¤ì¤ÏÊÑ¿ô¤òÀßÄꤹ¤ë¤â¤¦°ì¤Ä¤ÎÊýË¡¤È¤·¤ÆÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
¤¿¤È¤¨¤Ð°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£</para>
<screen>&prompt.root; <userinput>make -DNO_PROFILE <replaceable>target</replaceable></userinput></screen>
<para>
¤Ï¡¢¥×¥í¥Õ¥¡¥¤¥ëÈǤΥ饤¥Ö¥é¥ê¤ò¹½ÃÛ¤·¤Ê¤¤¤³¤È¤ò»ØÄꤹ¤ë
¤â¤¦°ì¤Ä¤Îµ­Ë¡¤Ç¡¢<filename>/etc/make.conf</filename> Ãæ¤Î</para>
<programlisting>NO_PROFILE= true # Avoid compiling profiled libraries</programlisting>
<para>¤Î¹Ô¤ËÂбþ¤·¤Þ¤¹¡£</para>
<para><replaceable>target</replaceable> ¤Ï¡¢&man.make.1; ¤Ë
¤É¤Î¤è¤¦¤Ëưºî¤¹¤ë¤Î¤«¤ò»Ø¼¨¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£
³Æ <filename>Makefile</filename> ¤Ë¤Ï¡¢¿ô¿¤¯¤Î°Û¤Ê¤ë
<quote>¥¿¡¼¥²¥Ã¥È (target)</quote> ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¡¢
»ØÄꤵ¤ì¤¿¥¿¡¼¥²¥Ã¥È¤Ë¤è¤Ã¤ÆÆ°ºî¤¬·è¤Þ¤ê¤Þ¤¹¡£
</para>
<para><filename>Makefile</filename> ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¥¿¡¼¥²¥Ã¥È¤Ë¤Ï¡¢
¥·¥¹¥Æ¥à¤ÎºÆ¹½ÃÛ¤ËɬÍפÊÃʳ¬¤ò¡¢
¿¤¯¤Î¤µ¤é¤ËºÙ¤«¤¤Ãʳ¬¤Ëʬ³ä¤¹¤ë¤¿¤á¡¢
¹½ÃۤβáÄø¤ÇÍøÍѤµ¤ì¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£</para>
<para>ÂçÄñ¤Î¾ì¹ç¡¢&man.make.1; ¤Ë¥Ñ¥é¥á¡¼¥¿¤ò»ØÄꤹ¤ëɬÍפϤʤ¤¤Ç¤·¤ç¤¦¤«¤é¡¢
¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ï¼¡¤Î¤è¤¦¤Ê¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen>
<para>¤³¤³¤Ç¡¢<replaceable>target</replaceable>
¤Ï¡¢Â¿¤¯¤Î¥Ó¥ë¥É¥ª¥×¥·¥ç¥ó¤Î¤É¤ì¤«¤Ë¤Ê¤ê¤Þ¤¹¡£
ºÇ½é¤Î¥¿¡¼¥²¥Ã¥È¤Ï¤¤¤Ä¤â <maketarget>buildworld</maketarget>
¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£</para>
<para>¤½¤Î̾Á°¤¬¼¨¤¹¤è¤¦¤Ë¡¢<maketarget>buildworld</maketarget> ¤Ï
<filename>/usr/obj</filename>
°Ê²¼¤Ë¿·¤·¤¤´°Á´¤Ê¥Ç¥£¥ì¥¯¥È¥ê¥Ä¥ê¡¼¤ò¹½ÃÛ¤·¡¢
<maketarget>installworld</maketarget> ¤Ï¡¢¤½¤Î¥Ä¥ê¡¼¤ò
¸½ºß¤Î¥Þ¥·¥ó¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£</para>
<para>ÁªÂò»è¤¬Ê¬¤±¤é¤ì¤Æ¤¤¤ë¤³¤È¤Ï¡¢Æó¤Ä¤ÎÍýͳ¤«¤éÍ­ÍѤǤ¹¡£
¤Þ¤ºÂè°ì¤Ë¡¢¹½ÃÛºî¶È¤Ï
<quote>²¿¤Ë¤â°Í¸¤»¤ºÆÈΩ¤·¤Æ¹Ô¤Ê¤ï¤ì</quote>¡¢
²ÔÆ¯Ãæ¤Î¥·¥¹¥Æ¥à¤Ë¤Þ¤Ã¤¿¤¯±Æ¶Á¤òÍ¿¤¨¤Þ¤»¤ó¡£
<!-- hrs:2000/02/14: needs good phrase that means "self hosted" -->
¤½¤Î¤¿¤á¡¢¥Þ¥ë¥Á¥æ¡¼¥¶¥â¡¼¥É¤Ç²ÔÆ¯Ãæ¤Î¥·¥¹¥Æ¥à¤Ç¤â¡¢²¿°ì¤Ä
°­±Æ¶Á¤òÍ¿¤¨¤º¤Ë <maketarget>buildworld</maketarget> ¤ò
¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤¿¤À¤·¡¢<maketarget>installworld</maketarget> ¤Ï
¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ç¹Ô¤Ê¤¦¤³¤È¤ò¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£</para>
<para>ÂèÆó¤Ë¡¢NFS ¥Þ¥¦¥ó¥È¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢
¥Í¥Ã¥È¥ï¡¼¥¯¾å¤ÎÊ£¿ô¤Î¥Þ¥·¥ó¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤³¤È¤¬²Äǽ¤ÊÅÀ¤¬¤¢¤²¤é¤ì¤Þ¤¹¡£
¤¿¤È¤¨¤Ð»°Âæ¤Î¥Þ¥·¥ó¡¢
<hostid>A</hostid>, <hostid>B</hostid>, <hostid>C</hostid>
¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢¤Þ¤º¥Þ¥·¥ó <hostid>A</hostid>
¤Ç <command>make buildworld</command> ¤È
<command>make installworld</command> ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¤½¤ì¤«¤é¡¢¥Þ¥·¥ó <hostid>B</hostid> ¤È¥Þ¥·¥ó <hostid>C</hostid>
¤Ç¥Þ¥·¥ó <hostid>A</hostid> ¤Î
<filename>/usr/src</filename> ¤È <filename>/usr/obj</filename> ¤ò
NFS ¥Þ¥¦¥ó¥È¤·¡¢<command>make installworld</command>
¤È¤¹¤ë¤³¤È¤Ç¹½ÃۺѤߤΥ·¥¹¥Æ¥à¤ò³Æ¥Þ¥·¥ó¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<para><maketarget>world</maketarget> ¥¿¡¼¥²¥Ã¥È¤âÍøÍѲÄǽ¤Ç¤¹¤¬¡¢
¤³¤Î¥¿¡¼¥²¥Ã¥È¤ÎÍøÍѤϿ侩¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£</para>
<para>¤½¤Î¤«¤ï¤ê¡¢¼¡¤Î¥³¥Þ¥ó¥É</para>
<screen>&prompt.root; <userinput>make buildworld</userinput></screen>
<para>¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤³¤Ç <command>make</command> ¤Ë
<option>-j</option> ¤ò¤Ä¤±¤ë¤È¡¢
Ʊ»þ¤ËÊ£¿ô¤Î¥×¥í¥»¥¹¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£
¤³¤Îµ¡Ç½¤Ï¥Þ¥ë¥Á CPU ¥Þ¥·¥ó¤ÇÆÃ¤Ë¸ú²Ì¤òȯ´ø¤·¤Þ¤¹¡£
¹½ÃÛ²áÄø¤ÎÂçÉôʬ¤Ç¤Ï CPU À­Ç½¤Î¸Â³¦¤è¤ê
I/O À­Ç½¤Î¸Â³¦¤ÎÊý¤¬ÌäÂê¤È¤Ê¤ë¤¿¤á¡¢¥·¥ó¥°¥ë CPU
¥Þ¥·¥ó¤Ë¤â¸ú²Ì¤¬¤¢¤ê¤Þ¤¹¡£</para>
<para>ÉáÄ̤Υ·¥ó¥°¥ë CPU ¥Þ¥·¥ó¤Ç°Ê²¼¤Î¥³¥Þ¥ó¥É</para>
<screen>&prompt.root; <userinput>make -j4 buildworld</userinput></screen>
<para>¤ò¼Â¹Ô¤¹¤ë¤È¡¢&man.make.1; ¤ÏºÇÂç 4 ¸Ä¤Þ¤Ç¤Î¥×¥í¥»¥¹¤òƱ»þ¤Ë¼Â¹Ô¤·¤Þ¤¹¡£
¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ËÅê¹Æ¤µ¤ì¤¿·Ð¸³Åª¤ÊÊó¹ð¤Ë¤è¤ë¤È¡¢
4 ¸Ä¤È¤¤¤¦»ØÄ꤬ºÇ¤âÎɤ¤¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò¼¨¤¹¤è¤¦¤Ç¤¹¡£</para>
<para>¤â¤·¡¢Ê£¿ô¤Î CPU ¤òÈ÷¤¨¤¿¥Þ¥·¥ó¤Ç SMP ÀßÄ꤬¹Ô¤Ê¤ï¤ì¤¿¥«¡¼¥Í¥ë¤ò
ÍøÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢6 ¤«¤é 10 ¤Î´Ö¤ÎÃͤòÀßÄꤷ¡¢Â®ÅÙ¤¬¤É¤ì¤¯¤é¤¤
¸þ¾å¤¹¤ë¤«³Îǧ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect3>
<sect3>
<title>¥·¥¹¥Æ¥à¤Î¹½Ãۤˤ«¤«¤ë»þ´Ö</title>
<indexterm>
<primary><quote>world</quote> ¤ÎºÆ¹½ÃÛ</primary>
<secondary>»þ´Ö</secondary>
</indexterm>
<para>¹½ÃÛ»þ´Ö¤ò·è¤á¤ëÍ×ÁǤϤµ¤Þ¤¶¤Þ¤¢¤ê¤Þ¤¹¤¬¡¢
½½Ê¬¿·¤·¤¤¥Þ¥·¥ó¤Ç¤¢¤ì¤Ð¡¢
¥È¥ê¥Ã¥¯¤ä¶áÆ»¤ò»È¤ï¤º¤ËÉáÄ̤˹½ÃÛ¤·¤¿¾ì¹ç¡¢&os.stable;
¤Î¹½ÃÛ¤Ë¤Ï 1, 2 »þ´Ö¤·¤«¤«¤«¤é¤Ê¤¤¤Ç¤·¤ç¤¦¡£
&os.current; ¤Î¹½Ãۤϡ¢¤â¤¦¾¯¤·»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£</para>
</sect3>
</sect2>
<sect2 id="new-kernel">
<title>¿·¤·¤¤¥«¡¼¥Í¥ë¤Î¹½Ãۤȥ¤¥ó¥¹¥È¡¼¥ë</title>
<indexterm>
<primary>¥«¡¼¥Í¥ë (kernel)</primary>
<secondary>¹½ÃÛ¡¢¥³¥ó¥Ñ¥¤¥ë</secondary>
</indexterm>
<para>¿·¤·¤¤¥·¥¹¥Æ¥à¤ÎÁ´µ¡Ç½¤ò´°Á´¤ËÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢
¥«¡¼¥Í¥ë¤òºÆ¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£
ºÆ¹½Ãۤϡ¢¤¢¤ë¼ï¤Î¥á¥â¥ê¹½Â¤ÂΤ¬Êѹ¹¤µ¤ì¤¿»þ¤Ë¤ÏÆÃ¤Ëɬ¿Ü¤Ç¤¢¤ê¡¢
&man.ps.1; ¤ä &man.top.1; ¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ï¡¢
¥«¡¼¥Í¥ë¤È¥½¡¼¥¹¥³¡¼¥É¤Î¥Ð¡¼¥¸¥ç¥ó¤¬°ìÃפ·¤Ê¤¤¤ÈÀµ¾ï¤Ëưºî¤·¤Ê¤¤¤Ç¤·¤ç¤¦¡£</para>
<para>ºÇ¤â´Êñ¤Ç°ÂÁ´¤Ë¥«¡¼¥Í¥ë¤ÎºÆ¹½ÃÛ¤ò¹Ô¤Ê¤¦ÊýË¡¤Ï¡¢
<filename>GENERIC</filename> ¤ò»È¤Ã¤¿¥«¡¼¥Í¥ë¤ò¹½ÃÛ¡¦¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ç¤¹¡£
<filename>GENERIC</filename> ¤Ë¤Ï¤¢¤Ê¤¿¤¬É¬ÍפȤ¹¤ë¥Ç¥Ð¥¤¥¹¤¬¤¹¤Ù¤Æ´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤
¤«¤âÃΤì¤Þ¤»¤ó¤¬¡¢¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤ò¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ç
µ¯Æ°¤µ¤»¤ë¤Î¤ËɬÍפʤâ¤Î¤Ï¤¹¤Ù¤ÆÆþ¤Ã¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ï¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î¥·¥¹¥Æ¥à¤¬¤­¤Á¤ó¤Èưºî¤¹¤ë¤«¤É¤¦¤«
Ä´¤Ù¤ëÎɤ¤ÊýË¡¤Î°ì¤Ä¤Ç¤¹¡£
<filename>GENERIC</filename> ¤Çµ¯Æ°¤·¤Æ¡¢
¥·¥¹¥Æ¥à¤¬Àµ¾ï¤Ëưºî¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò³Î¤«¤á¤¿¤é¡¢
¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¿·¤·¤¤¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>&os; ¤Ç¤Ï¡¢¿·¤·¤¤¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤¹¤ëÁ°¤Ë <link
linkend="make-buildworld">build world</link> ¤ò¹Ô¤¦¤³¤È¤¬½ÅÍפǤ¹¡£
</para>
<note>
<para>´û¤Ë¤¢¤ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤¹¤ë¤Ë¤Ï¡¢
<literal>KERNCONF=<replaceable>MYKERNEL</replaceable></literal>
¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput>
&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
</note>
<para><literal>kern.securelevel</literal> ¤ò 1 ¤è¤êÂ礭¤¯¤·¤Æ¤¤¤Æ¡¢
<emphasis>¤«¤Ä</emphasis> ¥«¡¼¥Í¥ë¤Î¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤Ë
<literal>noschg</literal> ¤Î¤è¤¦¤Ê¥Õ¥é¥°¤òÀßÄꤷ¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
<maketarget>installkernel</maketarget>
¤ò¹Ô¤¦¤Î¤Ë¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ë°Ü¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢
¥Þ¥ë¥Á¥æ¡¼¥¶¥â¡¼¥É¤Ç¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤òÌäÂê¤Ê¤¯Æ°¤«¤»¤ë¤Ï¤º¤Ç¤¹¡£
<literal>kern.securelevel</literal> ¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯¤Ï
&man.init.8; ¤ò¡¢¥Õ¥¡¥¤¥ë¤ÎÍÍ¡¹¤Ê¥Õ¥é¥°¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯¤Ï
&man.chflags.1; ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="new-kernel-singleuser">
<title>¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤ÇºÆµ¯Æ°¤¹¤ë</title>
<indexterm><primary>single-user mode</primary></indexterm>
<para>¿·¤·¤¤¥«¡¼¥Í¥ë¤¬Æ°ºî¤¹¤ë¤«¤É¤¦¤«¥Æ¥¹¥È¤¹¤ë¤¿¤á¤Ë¡¢
¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤ÇºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£
¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ç¤Îµ¯Æ°¤Ï¡¢
<xref linkend="makeworld-singleuser"/>
¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¼ê½ç¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="make-installworld">
<title>¿·¤·¤¤¥·¥¹¥Æ¥à¥Ð¥¤¥Ê¥ê¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
<para>¼¡¤Ë¡¢<maketarget>installworld</maketarget>
¤ò»È¤Ã¤Æ¿·¤·¤¤¥·¥¹¥Æ¥à¥Ð¥¤¥Ê¥ê¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make installworld</userinput></screen>
<note>
<para><command>make buildworld</command>
¤ËÊÑ¿ô¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢Æ±¤¸»ØÄê¤ò
<command>make installworld</command> ¤Ë¤â»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
¤¿¤À¤· <option>-j</option> ¤Ï
<maketarget>installworld</maketarget> ¤ÇÀäÂФ˻ȤäƤϤ¤¤±¤Þ¤»¤ó¡£</para>
<para>¤¿¤È¤¨¤Ð°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤¿¤Ê¤é¡¢</para>
<screen>&prompt.root; <userinput>make -DNO_PROFILE buildworld</userinput></screen>
<para>°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</para>
<screen>&prompt.root; <userinput>make -DNO_PROFILE installworld</userinput></screen>
<para>¤â¤·¤½¤¦¤·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
<command>make buildworld</command> ¤ÎÃʳ¬¤Ç¹½ÃÛ¤µ¤ì¤Æ¤¤¤Ê¤¤
¥×¥í¥Õ¥¡¥¤¥ëÈǥ饤¥Ö¥é¥ê¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤è¤¦¤È¤·¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡£</para>
</note>
</sect2>
<sect2 id="post-installworld-updates">
<title><command>make installworld</command> ¤Ç¹¹¿·¤µ¤ì¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î¹¹¿·</title>
<para>¥·¥¹¥Æ¥à¤ÎºÆ¹½Ãۤϡ¢¤¤¤¯¤Ä¤«¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¢
ÆÃ¤Ë¡¢<filename class="directory">/etc</filename> ¤ä
<filename class="directory">/var</filename> ¤ä
<filename class="directory">/usr</filename> ¤Ë¤ª¤¤¤Æ¡¢
¿·µ¬¤ËƳÆþ¤µ¤ì¤¿¤ê¡¢Êѹ¹¤µ¤ì¤¿ÀßÄê¥Õ¥¡¥¤¥ë¤Ë¤è¤ë
¥Õ¥¡¥¤¥ë¤Î¹¹¿·¤Ï¹Ô¤Ê¤ï¤ì¤Þ¤»¤ó¡£</para>
<para>¤³¤ì¤é¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤¹¤ë¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤Ï¡¢
&man.mergemaster.8; ¤ò»È¤¦¤³¤È¤Ç¤¹¡£
ɬ¤º <filename>/etc</filename>
¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤Ã¤ÆÉÔ¬¤Î»öÂÖ¤ËÈ÷¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
<sect3 id="mergemaster">
<sect3info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>´ó¹Æ: </contrib>
</author>
</authorgroup>
</sect3info>
<title><command>mergemaster</command></title>
<indexterm><primary><command>mergemaster</command></primary></indexterm>
<para>&man.mergemaster.8; ¤Ï Bourne ¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ç¡¢
<filename class="directory">/etc</filename>
¤Ë¤¢¤ëÀßÄê¥Õ¥¡¥¤¥ë¤È¥½¡¼¥¹¥Ä¥ê¡¼¤Î
<filename class="directory">/usr/src/etc</filename>
¤Ë¤¢¤ëÀßÄê¥Õ¥¡¥¤¥ë¤Î°ã¤¤¤ò³Îǧ¤¹¤ë¤Î¤ò¼êÅÁ¤Ã¤Æ¤¯¤ì¤Þ¤¹¡£
¤³¤ì¤ò»È¤¦¤Î¤¬¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤Ë¤¢¤ëÀßÄê¥Õ¥¡¥¤¥ë¤Ë¥·¥¹¥Æ¥à¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò
¹¹¿·¤¹¤ë¤¿¤á¤Ë¿ä¾©¤µ¤ì¤ëÊýË¡¤Ç¤¹¡£</para>
<para>»Ï¤á¤ë¤Ë¤Ï¡¢¥×¥í¥ó¥×¥È¤«¤é
<command>mergemaster</command> ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤
<command>mergemaster</command> ¤Ï
<filename>/</filename> ¤òµ¯ÅÀ¤È¤·¤¿°ì»þŪ¤Ê¥ë¡¼¥È´Ä¶­¤ò¹½ÃÛ¤·¡¢
¤µ¤Þ¤¶¤Þ¤Ê¥·¥¹¥Æ¥àÀßÄê¥Õ¥¡¥¤¥ë¤ò
(ÌõÃí: ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï <filename>/var/tmp/temproot</filename> ¤Ë)
ÃÖ¤¤¤Æ¤¤¤­¤Þ¤¹¡£
¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¸½ºß¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ÈÈæ³Ó¤µ¤ì¤Þ¤¹¡£
°Û¤Ê¤ë¥Õ¥¡¥¤¥ë¤Ï &man.diff.1; ·Á¼°¤Ç¼¨¤µ¤ì¡¢
<option>+</option> ¤Îµ­¹æ¤ÏÄɲäޤ¿¤ÏÊѹ¹¤µ¤ì¤¿¹Ô¤òɽ¤·¡¢
<option>-</option> ¤Ï´°Á´¤Ëºï½ü¤µ¤ì¤¿¤«¿·¤·¤¯ÃÖ¤­´¹¤¨¤é¤ì¤¿¹Ô¤òɽ¤·¤Þ¤¹¡£
&man.diff.1; ¤Î½ñ¼°¤È¥Õ¥¡¥¤¥ë¤Î°ã¤¤¤Îɽ¼¨ÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï¡¢
&man.diff.1; ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>&man.mergemaster.8; ¤Ï°ã¤¤¤Î¤¢¤ë¥Õ¥¡¥¤¥ë¤ò¤½¤ì¤¾¤ì¼¨¤·¤Þ¤¹¡£
¿·¤·¤¤¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¤«¡¢
°ì»þ¥Õ¥¡¥¤¥ë¤ò¤½¤Î¤Þ¤Þ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«¡¢
°ì»þ¥Õ¥¡¥¤¥ë¤È¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤òÅý¹ç¤¹¤ë¤«¡¢
¤â¤·¤¯¤Ï &man.diff.1; ¤Î·ë²Ì¤ò¤â¤¦°ìÅÙ¸«¤ë¤«ÁªÂò¤Ç¤­¤Þ¤¹¡£</para>
<para>°ì»þ¥Õ¥¡¥¤¥ë¤Îºï½ü¤òÁª¤Ö¤È¡¢&man.mergemaster.8;
¤Ë¸½ºß¤Î¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Ê¤¤¤Ç¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤òºï½ü¤»¤è¤ÈÅÁ¤¨¤Þ¤¹¡£
¤³¤ÎÁªÂò¤Ï¡¢¸½ºß¤Î¥Õ¥¡¥¤¥ë¤òÊѹ¹¤¹¤ëÍýͳ¤¬Ê¬¤«¤é¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
¤ª´«¤á¤Ç¤­¤Þ¤»¤ó¡£
&man.mergemaster.8; ¤Î¥×¥í¥ó¥×¥È¤Ç <keycap>?</keycap> ¤È¥¿¥¤¥×¤¹¤ì¤Ð¡¢
¤¤¤Ä¤Ç¤â¥Ø¥ë¥×¤¬¸«¤é¤ì¤Þ¤¹¡£
¥Õ¥¡¥¤¥ë¤Î¥¹¥­¥Ã¥×¤òÁª¤Ö¤È¡¢Â¾¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò½ª¤¨¤¿¤¢¤È¡¢
¤â¤¦°ìÅÙ¤½¤Î¥Õ¥¡¥¤¥ë¤¬Ä󼨤µ¤ì¤Þ¤¹¡£</para>
<para>°ì»þ¥Õ¥¡¥¤¥ë¤ò¤½¤Î¤Þ¤Þ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤òÁª¤Ö¤È¡¢
¸½ºß¤Î¥Õ¥¡¥¤¥ë¤ò¿·¤·¤¤¥Õ¥¡¥¤¥ë¤ÇÃÖ¤­´¹¤¨¤Þ¤¹¡£
¤Û¤È¤ó¤É¤Î¼ê¤ò²Ã¤¨¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥ë¤Ï¡¢
¤³¤ì¤¬°ìÈ֤褤ÁªÂò¤Ç¤¹¡£</para>
<para>¥Õ¥¡¥¤¥ë¤ÎÅý¹ç¤òÁª¤ó¤À¾ì¹ç¡¢
¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤¬µ¯Æ°¤µ¤ì¡¢Î¾Êý¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤¬Ä󼨤µ¤ì¤Þ¤¹¡£
²èÌ̾å¤ËʤÖξÊý¤Î¥Õ¥¡¥¤¥ë¤ò¸«¤Æ¿·¤·¤¤¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤ËξÊý¤«¤éɬÍפÊÉôʬ¤òÁªÂò¤·¡¢
2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤òÅý¹ç¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
ʤó¤Ç¤¤¤ë¥Õ¥¡¥¤¥ë¤òÈæ³Ó¤¹¤ë¤È¤­¡¢
<keycap>l</keycap> ¤Çº¸Â¦¤ÎÃæ¿È¤òÁªÂò¤·¡¢
<keycap>r</keycap> ¤Ç±¦Â¦¤ÎÃæ¿È¤òÁªÂò¤·¤Þ¤¹¡£
ºÇ½ª½ÐÎϤϺ¸±¦Î¾Êý¤ÎÉôʬ¤Ç¤Ç¤­¤¿¥Õ¥¡¥¤¥ë¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤¿¤¤¤Æ¤¤¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥æ¡¼¥¶¤¬ÀßÄê¤òÊѹ¹¤·¤¿¥Õ¥¡¥¤¥ë¤Ë»È¤ï¤ì¤Þ¤¹¡£</para>
<para>&man.diff.1; ¤Î·ë²Ì¤ò¤â¤¦°ìÅÙ¸«¤ë¡¢¤òÁªÂò¤¹¤ë¤È¡¢
¤Á¤ç¤¦¤ÉÀè¤Û¤É &man.mergemaster.8; ¤¬ÁªÂò»è¤òɽ¼¨¤¹¤ëÁ°¤ÈƱ¤¸¤è¤¦¤Ë¡¢
¥Õ¥¡¥¤¥ë¤ÎÁê°ÛÅÀ¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<para>&man.mergemaster.8; ¤¬¥·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë¤ÎÈæ³Ó¤ò½ª¤¨¤¿¤¢¤È¡¢
¾¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤â¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
&man.mergemaster.8;
¤¬¡¢¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤òºÆ¹½ÃÛ¤¹¤ë¤«¤É¤¦¤«¤ò¿Ò¤Í¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
ºÇ¸å¤Ë»Ä¤Ã¤¿°ì»þ¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¤«¤É¤¦¤«¤ò¿Ò¤Í¤Æ½ªÎ»¤·¤Þ¤¹¡£</para>
</sect3>
<sect3>
<title>¼êư¤Ç¤Î¹¹¿·</title>
<para>¼êư¤Ç¹¹¿·¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢Ã±¤Ë¥Õ¥¡¥¤¥ë¤ò
<filename class="directory">/usr/src/etc</filename>
¤«¤é <filename class="directory">/etc</filename> ¤Ë
¥³¥Ô¡¼¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£Àµ¾ï¤Ëưºî¤·¤Ê¤¤¤Ç¤·¤ç¤¦¡£
¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¤Ï¡¢
<quote>¥¤¥ó¥¹¥È¡¼¥ë¤È¤¤¤¦¼ê½ç¤òƧ¤Þ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤â¤Î</quote>
¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
<filename class="directory">/usr/src/etc</filename> ¤Ï
<filename class="directory">/etc</filename>
¤Ë¤½¤Î¤Þ¤ÞÃÖ¤­´¹¤¨¤é¤ì¤ë¤è¤¦¤Ê¥³¥Ô¡¼¤Ç¤Ï
<emphasis>¤Ê¤¤</emphasis>¤«¤é¤Ç¤¹¡£
¤Þ¤¿¡¢<filename>/etc</filename> ¤Ë¤¢¤ë¤Ù¤­¥Õ¥¡¥¤¥ë¤Î¤¦¤Á¤Ç
<filename>/usr/src/etc</filename> ¤Ë¤Ê¤¤¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£</para>
<para>&man.mergemaster.8; ¤ò (´«¤á¤é¤ì¤¿Ä̤ê)
»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢<link
linkend="updating-upgrading-rebooting">¼¡¤ÎÀá</link>
¤Þ¤ÇÈô¤Ð¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£</para>
<para>¼êư¤Ç¹Ô¤¦ºÝ¤Î°ìÈÖ´Êñ¤ÊÊýË¡¤Ï¡¢
¥Õ¥¡¥¤¥ë¤ò¿·¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤«¤é¡¢
°ÊÁ°¤Î¤â¤Î¤È°Û¤Ê¤Ã¤Æ¤¤¤ëÉôʬ¤òÄ´¤Ù¤Æ¹¹¿·ºî¶È¤ò¹Ô¤Ê¤¦¤³¤È¤Ç¤¹¡£</para>
<warning>
<title>´û¸¤Î <filename>/etc</filename> ¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë</title>
<para>¤¿¤È¤¨¤Ð°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¡¢
´û¸¤Î <filename class="directory">/etc</filename>
¤ò¤É¤³¤«°ÂÁ´¤Ê¾ì½ê¤Ë¥³¥Ô¡¼¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£</para>
<screen>&prompt.root; <userinput>cp -Rp /etc /etc.old</userinput></screen>
<para>¤³¤³¤Ç¡¢<option>-R</option> ¤ÏºÆµ¢Åª¤Ê¥³¥Ô¡¼¤ò¹Ô¤Ê¤¤¡¢
<option>-p</option> ¤Ï¥Õ¥¡¥¤¥ë¤Î¹¹¿·»þ´Ö¤ä½êÍ­¼Ô¤Ê¤É¤òÊݸ¤·¤Þ¤¹¡£</para>
</warning>
<para>¿·¤·¤¤ <filename class="directory">/etc</filename>
¤ä¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á¤Î¡¢
²¾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>mkdir /var/tmp/root</userinput>
&prompt.root; <userinput>cd /usr/src/etc</userinput>
&prompt.root; <userinput>make DESTDIR=/var/tmp/root distrib-dirs distribution</userinput></screen>
<para>
¾å¤ÎÎã¤Ï¡¢É¬Íפʥǥ£¥ì¥¯¥È¥ê¹½Â¤¤ò¤Ä¤¯¤ê¡¢¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
<filename class="directory">/var/tmp/root</filename> °Ê²¼¤Ëºî¤é¤ì¤ë¡¢
¤¿¤¯¤µ¤ó¤Î¶õ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ïºï½ü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
°ìÈÖ´Êñ¤Ê¤ä¤êÊý¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /var/tmp/root</userinput>
&prompt.root; <userinput>find -d . -type d | xargs rmdir 2&gt;/dev/null</userinput></screen>
<para>¤³¤ì¤Ï¶õ¥Ç¥£¥ì¥¯¥È¥ê¤ò¤¹¤Ù¤Æºï½ü¤·¤Þ¤¹¡£
¶õ¤Ç¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Ø¤¹¤ë·Ù¹ð¤òÈò¤±¤ë¤¿¤á¤Ë¡¢
ɸ½à¥¨¥é¡¼½ÐÎÏ¤Ï <filename>/dev/null</filename> ¤Ë
¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤Þ¤¹¡£</para>
<para>¤³¤ÎÃʳ¬¤Î <filename class="directory">/var/tmp/root</filename> ¤Ë¤Ï¡¢
ËÜÍè <filename class="directory">/</filename>
°Ê²¼¤Ë¤¢¤ë¤Ù¤­¥Õ¥¡¥¤¥ë¤¬¤¹¤Ù¤Æ´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£³Æ¥Õ¥¡¥¤¥ë¤ò½ç¤Ë¸«¤Æ¡¢
´û¸¤Î¥·¥¹¥Æ¥à¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤È°Û¤Ê¤ëÉôʬ¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£</para>
<para><filename class="directory">/var/tmp/root</filename>
°Ê²¼¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¤Ï¡¢
<quote>.</quote> ¤«¤é»Ï¤Þ¤Ã¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
<command>ls -a</command> ¤ò»È¤Ã¤Æ³Î¤«¤á¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤Ï¡¢Æó¤Ä¤Î¥Õ¥¡¥¤¥ë¤òÈæ³Ó¤¹¤ë¥³¥Þ¥ó¥É
&man.diff.1; ¤ò»È¤¦¤³¤È¤Ç¤¹¡£</para>
<screen>&prompt.root; <userinput>diff /etc/shells /var/tmp/root/etc/shells</userinput></screen>
<para>¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢<filename>/etc/shells</filename> ¥Õ¥¡¥¤¥ë¤È
¿·¤·¤¤ <filename>/var/tmp/root/etc/shells</filename>
¥Õ¥¡¥¤¥ë¤Î°Û¤Ê¤ëÉôʬ¤òɽ¼¨¤·¤Þ¤¹¡£
ÆâÍÆ¤ò³Îǧ¤·¤Æ¡¢½ñ¤­´¹¤¨¤¿¤â¤Î¤ËÊѹ¹ÅÀ¤ò¥Þ¡¼¥¸¤¹¤ë¤«¡¢
¤½¤ì¤È¤â´û¸¤Î¥Õ¥¡¥¤¥ë¤ò¿·¤·¤¤¤â¤Î¤Ç¾å½ñ¤­¤¹¤ë¤«¤òȽÃǤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<tip>
<title>¿·¤·¤¤ root ¥Ç¥£¥ì¥¯¥È¥ê
(<filename class="directory">/var/tmp/root</filename>) ¤Î̾Á°¤Ë
¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÉÕ¤±¤Æ¤ª¤¯¤È¡¢
°Û¤Ê¤ë¥Ð¡¼¥¸¥ç¥ó´Ö¤ÎÈæ³Ó¤ò³Ú¤Ë¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</title>
<para>ÉÑÈˤ˥·¥¹¥Æ¥à¤ÎºÆ¹½ÃÛ¤ò¹Ô¤Ê¤¦¤È¤¤¤¦¤³¤È¤Ï¡¢
<filename class="directory">/etc</filename> ¤Î¹¹¿·¤â¤Þ¤¿¡¢
ÉÑÈˤ˹Ԥ¦É¬Íפ¬¤¢¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
¤³¤ì¤Ï¤Á¤ç¤Ã¤È¼ê´Ö¤Î¤«¤«¤ëºî¶È¤Ç¤¹¡£</para>
<para>¤³¤Îºî¶È¤Ï¡¢¤¢¤Ê¤¿¤¬ <filename class="directory">/etc</filename>
¤Ë¥Þ¡¼¥¸¤·¤¿¡¢
¿·¤·¤¯Êѹ¹¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎºÇ¿·¤Î¥»¥Ã¥È¤Î¥³¥Ô¡¼¤òÊݸ¤·¤Æ¤ª¤¯¤³¤È¤Ç
ÁÇÁ᤯¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<procedure>
<step>
<para>ÉáÄÌ¤Ë make world ¤·¤Þ¤¹¡£
<filename class="directory">/etc</filename> ¤ä
¾¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¹¹¿·¤·¤¿¤¯¤Ê¤Ã¤¿¤È¤­¤Ï¡¢¥¿¡¼¥²¥Ã¥È
¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡¢¤½¤Î¤È¤­¤ÎÆüÉդ˴ð¤Å¤¯Ì¾Á°¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>mkdir /var/tmp/root-20130214</userinput>
&prompt.root; <userinput>cd /usr/src/etc</userinput>
&prompt.root; <userinput>make DESTDIR=/var/tmp/root-20130214 \
distrib-dirs distribution</userinput></screen>
</step>
<step>
<para>¾å¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢
¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤«¤éÊѹ¹ÅÀ¤ò¥Þ¡¼¥¸¤·¤Þ¤¹¡£
¤½¤Îºî¶È¤¬½ªÎ»¤·¤Æ¤â¡¢
<filename>/var/tmp/root-20130214</filename>
¤òºï½ü¤·¤Æ¤Ï<emphasis>¤¤¤±¤Þ¤»¤ó</emphasis>¡£</para>
</step>
<step>
<para>ºÇ¿·ÈǤΥ½¡¼¥¹¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤ÆºÆ¹½ÃÛ¤·¤¿¤é¡¢
¥¹¥Æ¥Ã¥× 1 ¤Ë¤·¤¿¤¬¤Ã¤Æ¤¯¤À¤µ¤¤¡£º£Å٤ϡ¢
¿·¤·¤¤ÆüÉÕ¤òÈ¿±Ç¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ÎÎã¤Ç¤Ï¡¢<filename>/var/tmp/root-20130221</filename>
¤È¤¤¤¦¿·¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¤ò¤Ä¤¯¤ê¤Þ¤¹¡£</para>
</step>
<step>
<para>&man.diff.1; ¤ò»ÈÍѤ·¡¢
Æó¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÈæ³Ó¤¹¤ëºÆµ¢Åª diff ¤òºîÀ®¤¹¤ë¤³¤È¤Ç¡¢
°ì½µ´Ö¤Î´Ö¤Ë¹Ô¤Ê¤ï¤ì¤¿¥½¡¼¥¹¤Ø¤ÎÊѹ¹¤Ë¤è¤ëÁê°ãÅÀ¤òÄ´¤Ù¤Þ¤¹¡£
</para>
<screen>&prompt.root; <userinput>cd /var/tmp</userinput>
&prompt.root; <userinput>diff -r root-20130214 root-20130221</userinput></screen>
<para>¤³¤ì¤Ë¤è¤Ã¤ÆÊó¹ð¤µ¤ì¤ëÁê°ãÅÀ¤Ï¡¢ÂçÄñ¤Î¾ì¹ç¡¢<filename
class="directory">/var/tmp/root-20130221/etc</filename>
¤È
<filename class="directory">/etc</filename>
¤È¤ÎÁê°ãÅÀ¤ËÈæ¤Ù¤ÆÈó¾ï¤Ë¾¯¤Ê¤¤¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£
Áê°ãÅÀ¤¬¾¯¤Ê¤¤¤¿¤á¡¢Êѹ¹ÅÀ¤ò´û¸¤Î
<filename class="directory">/etc</filename>
¤Ë¥Þ¡¼¥¸¤¹¤ë¤³¤È¤Ï¡¢Èæ³ÓÅªÍÆ°×¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
</step>
<step>
<para>¤³¤³¤Þ¤Ç½ªÎ»¤·¤¿¤é¡¢
<filename class="directory">/var/tmp/root-*</filename>
¤ÎÆó¤Ä¤Î¤¦¤Á¡¢¸Å¤¤Êý¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ïºï½ü¤·¤Æ¹½¤¤¤Þ¤»¤ó¡£
</para>
<screen>&prompt.root; <userinput>rm -rf /var/tmp/root-20130214</userinput></screen>
</step>
<step>
<para>¤³¤Î¹©Äø¤ò¡¢
<filename class="directory">/etc</filename>
¤ØÊѹ¹ÅÀ¤ò¥Þ¡¼¥¸¤¹¤ëɬÍפ¬¤¢¤ë¤¿¤Ó¡¢·«¤êÊÖ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
</procedure>
<para>¥Ç¥£¥ì¥¯¥È¥ê̾¤ÎÀ¸À®¤ò¼«Æ°²½¤¹¤ë¤Ë¤Ï¡¢&man.date.1;
¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>mkdir /var/tmp/root-`date "+%Y%m%d"`</userinput></screen>
</tip>
</sect3>
</sect2>
<sect2 id="make-delete-old">
<sect2info>
<authorgroup>
<author>
<firstname>Anton</firstname>
<surname>Shterenlikht</surname>
<contrib>¥Ù¡¼¥¹¤È¤Ê¤Ã¤¿¥Î¡¼¥È¤ÎÄó¶¡: </contrib>
</author>
</authorgroup>
</sect2info>
<title>»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¥Õ¥¡¥¤¥ë¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Îºï½ü</title>
<indexterm>
<primary>Deleting obsolete files and directories</primary>
</indexterm>
<para>&os; ¤Î³«È¯¥µ¥¤¥¯¥ë¤Ë¤ª¤¤¤Æ¡¢
¥Õ¥¡¥¤¥ë¤ä¥·¥¹¥Æ¥à¤Î°ìÉô¤¬»È¤ï¤ì¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤ì¤é¤Îµ¡Ç½¤¬Ê̤ξì½ê¤Ç¼ÂÁõ¤µ¤ì¤¿¤ê¡¢
¥é¥¤¥Ö¥é¥ê¤Î¥Ð¡¼¥¸¥ç¥óÈֹ椬ÊѤï¤Ã¤¿¤ê¡¢
¥·¥¹¥Æ¥à¤«¤é´°Á´¤Ëºï½ü¤µ¤ì¤ë¤³¤È¤¬¤¢¤ë¤¿¤á¤Ç¤¹¡£
¥·¥¹¥Æ¥à¤Î¥¢¥Ã¥×¥Ç¡¼¥È»þ¤Ëºï½ü¤¬É¬Íפˤʤë¤Î¤Ï¡¢
¸Å¤¤¥Õ¥¡¥¤¥ë¡¢¥é¥¤¥Ö¥é¥ê¤½¤·¤Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£
¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¤³¤È¤Ç¡¢
µ­²±ÇÞÂΤä¥Ð¥Ã¥¯¥¢¥Ã¥×ÇÞÂΤˤª¤¤¤ÆÉÔɬÍפÊÍÆÎ̤òÀê¤á¤Æ¤¤¤ë¸Å¤¤¥Õ¥¡¥¤¥ë¤¬¡¢
¥·¥¹¥Æ¥à¾å¤Ë»¶Í𤹤뤳¤È¤¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¤Þ¤¿¡¢¸Å¤¤¥é¥¤¥Ö¥é¥ê¤Î¥»¥­¥å¥ê¥Æ¥£¤ä°ÂÄêÀ­¤ËÌäÂ꤬¤¢¤ë¤È¡¢
¥é¥¤¥Ö¥é¥ê¤ò¿·¤·¤¯¤·¤Æ¥·¥¹¥Æ¥à¤ò°ÂÄê¤Ê¾õÂ֤ˤ·¡¢
¸Å¤¤¥é¥¤¥Ö¥é¥ê¤Ë¤è¤ê¥·¥¹¥Æ¥à¤¬¥¯¥é¥Ã¥·¥å¤¹¤ë¤³¤È¤òËɤ¬¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¥Õ¥¡¥¤¥ë¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢¥é¥¤¥Ö¥é¥ê¤Ï
<filename>/usr/src/ObsoleteFiles.inc</filename>
¤Ë¤Þ¤È¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£°Ê²¼¤Î¼ê½ç¤Ë¤è¤ê¡¢
¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î²áÄø¤Ç¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤Ç¤­¤Þ¤¹¡£</para>
<para>
<command>make <maketarget>installworld</maketarget></command>
¤È¡¢¤½¤Î¸å¤Î <command>mergemaster</command> ¤¬Ìµ»ö¤Ë½ª¤ï¤Ã¤¿¤é¡¢
°Ê²¼¤ÎÊýË¡¤Ç»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¥Õ¥¡¥¤¥ë¤ä¥é¥¤¥Ö¥é¥ê¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make check-old</userinput></screen>
<para>¸«¤Ä¤«¤Ã¤¿¸Å¤¤¥Õ¥¡¥¤¥ë¤Ï¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤Çºï½ü¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>make delete-old</userinput></screen>
<tip>
<para>¤½¤Î¾¤Î¥¿¡¼¥²¥Ã¥È¤Ë¤Ä¤¤¤Æ¤Ï
<filename>/usr/src/Makefile</filename> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
</tip>
<para>»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ëºÝ¡¢
¥Õ¥¡¥¤¥ë¤´¤È¤Ë³Îǧ¤¬µá¤á¤é¤ì¤Þ¤¹¡£
³Îǧ¤ò¾Êά¤·¡¢¼«Æ°Åª¤Ë¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤Ë <makevar>BATCH_DELETE_OLD_FILES</makevar>
¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>make -DBATCH_DELETE_OLD_FILES delete-old</userinput></screen>
<para><command>yes</command>
¤ò¥³¥Þ¥ó¥É¤Ø¥Ñ¥¤¥×¤Ç¤Ä¤Ê¤²¤Æ¤â¾Êά¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>yes|make delete-old</userinput></screen>
</sect2>
<sect2 id="updating-upgrading-rebooting">
<title>ºÆµ¯Æ°</title>
<para>¤¹¤Ù¤Æ¤¬¤¢¤ë¤Ù¤­Àµ¤·¤¤¾ì½ê¤Ë¸ºß¤¹¤ë¤³¤È¤ò¥Á¥§¥Ã¥¯¤·¤¿¤é¡¢
&man.shutdown.8; ¤ò¼Â¹Ô¤·¤Æ¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
</sect2>
<sect2 id="make-delete-old-libs">
<title>»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¥é¥¤¥Ö¥é¥ê¤Îºï½ü</title>
<warning>
<title>Warning</title>
<para>»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¤È¡¢
ºï½ü¤·¤¿¥Õ¥¡¥¤¥ë¤Ë°Í¸¤·¤Æ¤¤¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï²õ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
ÆÃ¤Ë¡¢¸Å¤¤¥é¥¤¥Ö¥é¥ê¤òºï½ü¤¹¤ë¾ì¹ç¤Ëµ¯¤³¤êÆÀ¤Þ¤¹¡£
Ä̾<command>make
<maketarget>delete-old-libs</maketarget></command>
¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢
¤³¤ì¤é¤Î¸Å¤¤¥é¥¤¥Ö¥é¥ê¤ò»È¤Ã¤Æ¤¤¤ë¥×¥í¥°¥é¥à¡¢ports¡¢
¥é¥¤¥Ö¥é¥ê¤òºÆ¹½ÃÛ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
</warning>
<para>¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò¥Á¥§¥Ã¥¯¤¹¤ë¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤È¤·¤Æ¡¢
Ports Collection ¤Î
<filename role="package">sysutils/libchk</filename> ¤ä
<filename
role="package">sysutils/bsdadminscripts</filename>
¤òÍøÍѤǤ­¤Þ¤¹¡£</para>
<para>»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¶¦Í­¥é¥¤¥Ö¥é¥ê¤Ï¡¢
¿·¤·¤¤¥é¥¤¥Ö¥é¥ê¤È¶¥¹ç¤·¡¢°Ê²¼¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£</para>
<screen>/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</screen>
<para>¤³¤ÎÌäÂê¤ò²ò·è¤¹¤ë¤Ë¤Ï¡¢
¤Þ¤º¥é¥¤¥Ö¥é¥ê¤¬¤É¤Î port ¤Ë¤è¤Ã¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¤«¤òÄ´¤Ù¤Æ²¼¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_info -W /usr/local/lib/libtiff.so</userinput>
/usr/local/lib/libtiff.so was installed by package tiff-3.9.4
&prompt.root; <userinput>pkg_info -W /usr/local/lib/libXext.so</userinput>
/usr/local/lib/libXext.so was installed by package libXext-1.1.1,1</screen>
<para>¸«¤Ä¤«¤Ã¤¿ port ¤ò¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢
ºÆ¹½ÃÛ¡¢ºÆ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î²áÄø¤Ï <filename role="package">ports-mgmt/portmaster</filename>
¤Ç¼«Æ°²½¤Ç¤­¤Þ¤¹¡£
¤¹¤Ù¤Æ¤Î ports ¤¬ºÆ¹½ÃÛ¤µ¤ì¡¢
¸Å¤¤¥é¥¤¥Ö¥é¥ê¤¬¤É¤³¤Ë¤â»È¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤·¤¿¤é¡¢
°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç¸Å¤¤¥é¥¤¥Ö¥é¥ê¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen>
<para>¤³¤³¤Þ¤ÇÍè¤ì¤Ð¡¢&os; ¥·¥¹¥Æ¥à¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤ÏÀ®¸ù¤Ç¤¹¡£
¤ª¤á¤Ç¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£</para>
<para>¤â¤·¤Á¤ç¤Ã¤È¤·¤¿ÌäÂ꤬¤¢¤Ã¤¿¾ì¹ç¤Ç¤â¡¢
¥·¥¹¥Æ¥à¤Î°ìÉô¤òºÆ¹½ÃÛ¤¹¤ë¤Î¤Ï´Êñ¤Ç¤¹¡£
¤¿¤È¤¨¤Ð¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É¤ä <filename class="directory">/etc</filename>
¤Î¥Þ¡¼¥¸¤ÎÅÓÃæ¤Ç¸í¤Ã¤Æ
<filename>/etc/magic</filename> ¤òºï½ü¤·¤Æ¤·¤Þ¤¤¡¢
¤½¤Î·ë²Ì &man.file.1; ¤¬Æ°ºî¤·¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢
¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ½¤Éü¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/src/usr.bin/file</userinput>
&prompt.root; <userinput>make all install</userinput></screen>
</sect2>
<sect2 id="updating-questions">
<title>¼ÁÌä¤Ç¤¹¤«?</title>
<qandaset>
<qandaentry>
<question>
<para>Êѹ¹¤¬¹Ô¤Ê¤ï¤ì¤¿¤é¡¢¤½¤ÎÅ٤˥·¥¹¥Æ¥à¤ÎºÆ¹½ÃÛ¤¬É¬Íפˤʤë¤Î¤Ç¤·¤ç¤¦¤«?</para>
</question>
<answer>
<para>¤½¤ì¤ÏÊѹ¹¤ÎÀ­¼Á¤Ë¤è¤ë¤Î¤Ç¡¢¤Ê¤ó¤È¤â¸À¤¨¤Þ¤»¤ó¡£
¤¿¤È¤¨¤Ð¡¢<application>svn</application> ¤ò¼Â¹Ô¤·¤¿¤È¤­¡¢
¼¡¤Ë¤¢¤²¤ë¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤¬¹¹¿·¤µ¤ì¤Æ¤¤¤¿¤È¤·¤Þ¤¹¡£</para>
<screen><filename>src/games/cribbage/instr.c</filename>
<filename>src/games/sail/pl_main.c</filename>
<filename>src/release/sysinstall/config.c</filename>
<filename>src/release/sysinstall/media.c</filename>
<filename>src/share/mk/bsd.port.mk</filename></screen>
<para>¤³¤Î¤È¤­¤Ë¤Ï¡¢²þ¤á¤Æ¥·¥¹¥Æ¥àÁ´ÂΤòºÆ¹½ÃÛ¤¹¤ëɬÍפϤʤ¤¤Ç¤·¤ç¤¦¡£
¤½¤Î¤«¤ï¤ê¡¢Å¬Àڤʥµ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤Ã¤Æ
<command>make all install</command> ¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¤·¤«¤·¡¢¤¿¤È¤¨¤Ð <filename>src/lib/libc/stdlib</filename>
¤Î¤è¤¦¤ÊÂ礭¤ÊÊѹ¹¤¬¹Ô¤Ê¤ï¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢
¥·¥¹¥Æ¥àÁ´ÂΤòºÆ¹½ÃÛ¤¹¤ë¤«¡¢
¾¯¤Ê¤¯¤È¤âÀÅŪ¤Ë¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤òºî¤êľ¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£</para>
<para>·ë¶É¤Î¤È¤³¤í¡¢
¤É¤Î»þÅÀ¤Ç¸½ºß¤Î¥·¥¹¥Æ¥à¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤«¤Ï¤¢¤Ê¤¿¤¬·è¤á¤ë¤³¤È¤Ç¤¹¡£
2 ½µ´Ö¤´¤È¤Ë¥·¥¹¥Æ¥à¤òºÆ¹½ÃÛ¤·¡¢¤½¤Î 2 ½µ´Ö¤ÎÊѹ¹¤ò¼è¤ê¹þ¤à¥æ¡¼¥¶¤â¤¤¤Þ¤¹¤·¡¢
Êѹ¹¤Î¤¢¤Ã¤¿Éôʬ¤À¤±ºÆ¹½ÃÛ¤·¡¢
¤¹¤Ù¤Æ¤Î°Í¸´Ø·¸¤ò³Î¤«¤á¤¿¤¤¤È¹Í¤¨¤ë¥æ¡¼¥¶¤â¤¤¤Þ¤¹¡£</para>
<para>¤½¤ì¤é¤Ï¤É¤Î¤¯¤é¤¤¤ÎÉÑÅ٤ǥ¢¥Ã¥×¥°¥ì¡¼¥É¤·¤¿¤¤¤«¡¢
¤½¤·¤Æ &os.stable; ¤« &os.current; ¤Î¤É¤Á¤é¤òÄɤ¤¤«¤±¤Æ¤¤¤ë¤Î¤«¤Ë¤è¤ê¤Þ¤¹¡£</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>signal 11<indexterm>
<primary>signal 11</primary>
</indexterm>
(¤â¤·¤¯¤Ï¾¤Î¥·¥°¥Ê¥ëÈÖ¹æ) ¤Î¥¨¥é¡¼¤¬¤¿¤¯¤µ¤ó½Ð¤Æ
¥³¥ó¥Ñ¥¤¥ë¤¬¼ºÇÔ¤·¤Þ¤¹¡£²¿¤¬µ¯¤³¤Ã¤Æ¤¤¤ë¤ó¤Ç¤·¤ç¤¦¤«?</para>
</question>
<answer>
<para>¤³¤ì¤ÏÄ̾¥Ï¡¼¥É¥¦¥§¥¢¤ËÌäÂ꤬¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
¥·¥¹¥Æ¥à¤ÎºÆ¹½Ãۤϡ¢¥Ï¡¼¥É¥¦¥§¥¢¤ËÂФ¹¤ëÉé²ÙÂѵ׻¤ò¹Ô¤Ê¤¦¤¿¤á¤Î
Í­¸ú¤Ê¼êÃʤΰì¤Ä¤Ç¡¢¥á¥â¥ê¤Ë´Ø·¸¤¹¤ëÌäÂ꤬¤è¤¯Êó¹ð¤µ¤ì¤Þ¤¹¡£
¤½¤ÎÂçÉôʬ¤Ï¡¢
ÉԲIJò¤Ê°Û¾ï½ªÎ»¤È¤Ê¤ë¤³¤È¤Çȯ¸«¤µ¤ì¤Þ¤¹¡£</para>
<para>ËÜÅö¤Ë¤³¤ÎÌäÂê¤Ë¤è¤ë¤â¤Î¤«¤É¤¦¤«¤Ï¡¢<application>make</application>
¤ò¤â¤¦°ìÅټ¹Ԥ·¡¢
°Û¤Ê¤ëÃʳ¬¤Ç°Û¾ï½ªÎ»¤¬È¯À¸¤¹¤ë¤«¡¢¤È¤¤¤¦¤³¤È¤«¤é³Îǧ¤Ç¤­¤Þ¤¹¡£</para>
<para>¤³¤Î¥¨¥é¡¼¤ËÂбþ¤¹¤ë¤Ë¤Ï¡¢¥Þ¥·¥ó¤ÎÉôÉʤò¸ò´¹¤·¤Æ¡¢
¤É¤ÎÉôʬ¤¬°­¤¤¤Î¤«¤òÄ´¤Ù¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>½ªÎ»¤·¤¿¤é <filename class="directory">/usr/obj</filename>
¤òºï½ü¤·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¤«?</para>
</question>
<answer>
<para>°ì¸À¤ÇÅú¤¨¤ë¤Ê¤é¡Öºï½ü¤·¤Æ¤â¹½¤ï¤Ê¤¤¡×¤Ç¤¹¡£</para>
<para><filename class="directory">/usr/obj</filename> ¤Ë¤Ï¡¢
¥³¥ó¥Ñ¥¤¥ë¤ÎÃʳ¬¤ÇÀ¸À®¤µ¤ì¤¿
¤¹¤Ù¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
Ä̾ï <command>make buildworld</command> ¤ÎºÇ½é¤ÎÃʳ¬¤Ç¤Ï¡¢
¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤·¤Æ¿·¤·¤¯¤Ä¤¯¤êľ¤¹¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¹½ÃÛ½ªÎ»¸å¤â <filename class="directory">/usr/obj</filename>
¤òÊݸ¤·¤Æ¤ª¤¤¤Æ¤â¡¢¤¢¤Þ¤ê°ÕÌ£¤Ï¤¢¤ê¤Þ¤»¤ó¡£
ºï½ü¤¹¤ì¤Ð¡¢¤À¤¤¤¿¤¤ 2&nbsp;GB
¤Î¥Ç¥£¥¹¥¯¥¹¥Ú¡¼¥¹¤ò²òÊü¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<para>Îɤ¯Íý²ò¤ò¤·¤Æ¤¤¤ë¥æ¡¼¥¶¤Ç¤¢¤ì¤Ð¡¢
¤³¤ÎÃʳ¬¤ò¾Êά¤·¤Æ <command>make buildworld</command>
¤ò¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤³¤¦¤¹¤ë¤È¡¢¤Û¤È¤ó¤É¤Î¥½¡¼¥¹¤ÏºÆ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Ê¤¤¤¿¤á¡¢
¹½ÃۤϤ«¤Ê¤ê¹â®²½¤µ¤ì¤Þ¤¹¡£
¤³¤ì¤Ï΢¤ò¤«¤¨¤»¤Ð¡¢¥Ç¥ê¥±¡¼¥È¤Ê°Í¸´Ø·¸¤ÎÌäÂê¤Ë¤è¤Ã¤Æ¡¢
¥·¥¹¥Æ¥à¤Î¹½ÃÛ¤¬´ñ̯¤Ê¼ºÇԤ˽ª¤ï¤ë²ÄǽÀ­¤¬¤¢¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
&os; ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ç¤Ï¤·¤Ð¤·¤Ð¡¢¹½ÃۤμºÇÔ¤¬¡¢
¤³¤ÎÃʳ¬¤Î¾Êά¤Ë¤è¤ë¤â¤Î¤À¤È¤¤¤¦¤³¤È¤òÍý²ò¤»¤º¤Ë
ÉÔËþ¤ÎÀ¼¤ò¤¢¤²¤ë¿Í¤¬¤¤¤Þ¤¹¡£</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>¹½ÃÛ¤òÃæÃǤ·¤¿¾ì¹ç¡¢¤½¤Î¹½ÃÛ¤òÅÓÃæ¤«¤éºÆ³«¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¤«?</para>
</question>
<answer>
<para>¤½¤ì¤Ï¡¢ÌäÂ꤬µ¯¤³¤ë¤Þ¤Ç¤Ë¡¢
¤É¤ì¤À¤±¤Îºî¶È¤ò½ª¤¨¤Æ¤¤¤ë¤«¤Ë¤è¤Ã¤ÆÊѤï¤ê¤Þ¤¹¡£</para>
<para>°ìÈÌŪ¤Ë <command>make buildworld</command> ¤Ï¡¢
&man.gcc.1; ¤ä &man.make.1; ¤Þ¤É¤Î´ðËÜŪ¤Ê¥Ä¡¼¥ë¤ä¡¢
¥·¥¹¥Æ¥à¥é¥¤¥Ö¥é¥ê¤Î¿·¤·¤¤¥³¥Ô¡¼¤òºîÀ®¤·¤Þ¤¹¡£
¤½¤Î¸å¡¢¤³¤ì¤é¤Î¥Ä¡¼¥ë¤ä¥é¥¤¥Ö¥é¥ê¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤«¤é¡¢
¼«Ê¬¼«¿È¤ÎºÆ¹½Ãۤ˻Ȥï¤ì¡¢¤â¤¦°ìÅÙ¡¢¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£
&man.ls.1; ¤ä &man.grep.1;
¤È¤¤¤Ã¤¿É¸½àŪ¤Ê¥æ¡¼¥¶¥×¥í¥°¥é¥à¤ò´Þ¤à¥·¥¹¥Æ¥àÁ´ÂΤ¬¡¢
¤½¤Î¿·¤·¤¤¥·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë¤òÍѤ¤¤Æºî¤êľ¤µ¤ì¤Þ¤¹¡£</para>
<para>ºÆ¹½ÃۤκǽªÃʳ¬¤Ç¤Ï¡¢
¤Þ¤Ã¤¿¤¯°ÂÁ´¤Ë¼¡¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<screen><emphasis>&hellip; fix the problem &hellip;</emphasis>
&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make -DNO_CLEAN all</userinput></screen>
<para>
¤³¤ì¤Ï¡¢Á°²ó¤Î <command>make buildworld</command>
¤Îºî¶È¤ò¤ä¤êľ¤·¤Þ¤»¤ó¡£
</para>
<para>¼¡¤Î¥á¥Ã¥»¡¼¥¸</para>
<screen>--------------------------------------------------------------
Building everything..
--------------------------------------------------------------</screen>
<para>¤¬ <command>make buildworld</command> ¤Î½ÐÎϤˤ¢¤ë¾ì¹ç¤Ë¤Ï¡¢
¾å¤Î¤è¤¦¤Ë¤·¤Æ¤â¤Û¤È¤ó¤É°­±Æ¶Á¤¬¸½¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£</para>
<para>¤â¤·¤³¤Î¥á¥Ã¥»¡¼¥¸¤¬¤Ê¤¤¤È¤«¡¢¤è¤¯Ê¬¤«¤é¤Ê¤¤¤È¤¤¤¦¾ì¹ç¤Ë¤Ï¡¢
°ÂÁ´¤ò³ÎÊݤ·¡¢¸å²ù¤¹¤ë¤è¤¦¤Ê¤³¤È¤¬¤Ê¤¤¤è¤¦¡¢
¥·¥¹¥Æ¥à¤ÎºÆ¹½ÃÛ¤òºÇ½é¤«¤é¤ä¤êľ¤·¤Þ¤·¤ç¤¦¡£</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð make world ¤ò¹â®²½¤Ç¤­¤Þ¤¹¤«?</para>
</question>
<answer>
<itemizedlist>
<listitem>
<para>¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Çư¤«¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
<listitem>
<para><filename class="directory">/usr/src</filename> ¤È
<filename class="directory">/usr/obj</filename>
¤ò¡¢°Û¤Ê¤ë¥Ç¥£¥¹¥¯¾å¤ÎÊ̤Υե¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÃÖ¤¤¤Æ¤¯¤À¤µ¤¤¡£
¤Þ¤¿²Äǽ¤Ê¤é¤Ð¡¢
°Û¤Ê¤ë¥Ç¥£¥¹¥¯¥³¥ó¥È¥í¡¼¥é¤ËÀܳ¤µ¤ì¤¿¥Ç¥£¥¹¥¯¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
<listitem>
<para>¤µ¤é¤Ë¹â®²½¤¹¤ë¤Ë¤Ï¡¢¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò
&man.ccd.4; ¤ò»È¤Ã¤Æ¡¢
Ê£¿ô¤Î¥Ç¥£¥¹¥¯¾å¤ËÃÖ¤¤¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
<listitem>
<para><filename>/etc/make.conf</filename> ¤Ë
<quote>NO_PROFILE=true</quote> ¤ò¥»¥Ã¥È¤·¤Æ¡¢
¥×¥í¥Õ¥¡¥¤¥ëÈǤκîÀ®¤ò̵¸ú²½¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
<listitem>
<para>&man.make.1; ¤Ë
<option>-j<replaceable>n</replaceable></option>
¤ò»ØÄꤷ¤Æ¡¢Ê£¿ô¤Î¥×¥í¥»¥¹¤òÊÂÎó¤Ë¼Â¹Ô¤µ¤»¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤Ï¡¢Ã±°ì¤Î¥×¥í¥»¥Ã¥µ¤Ç¤âÊ£¿ô¤Î¥×¥í¥»¥Ã¥µ¤Ç¤â¡¢
ƱÍͤ˲¸·Ã¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><filename class="directory">/usr/src</filename>
¤Î¤¢¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¡¢<option>noatime</option>
¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ¥Þ¥¦¥ó¥È¤â¤·¤¯¤ÏºÆ¥Þ¥¦¥ó¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤ª¤¤¤Æ¡¢
ºÇ¸å¤Ë¥¢¥¯¥»¥¹¤µ¤ì¤¿»þ¹ï¤Î½ñ¤­¹þ¤ß¤òÍÞÀ©¤·¤Þ¤¹¡£
¤ª¤½¤é¤¯¡¢¤³¤Î¾ðÊó¤¬É¬Íפˤʤ뤳¤È¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡£</para>
<screen>&prompt.root; <userinput>mount -u -o noatime /usr/src</userinput></screen>
<warning>
<para>¾å¤ÎÎã¤Ï¡¢
<filename class="directory">/usr/src</filename>
¼«¿È¤¬ÆÈΩ¤·¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤¢¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£
¤â¤· <filename class="directory">/usr</filename>
¤Î°ìÉô¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢
¤«¤ï¤ê¤ËŬÀڤʥޥ¦¥ó¥È¥Ý¥¤¥ó¥È¤ò»ØÄꤹ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</warning>
</listitem>
<listitem>
<para><filename class="directory">/usr/obj</filename>
¤Î¤¢¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¡¢<option>async</option>
¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æ¥Þ¥¦¥ó¥È¤â¤·¤¯¤ÏºÆ¥Þ¥¦¥ó¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤Ë¤è¤Ã¤Æ¡¢¥Ç¥£¥¹¥¯¤Ø¤Î½ñ¤­¹þ¤ß¤¬È󯱴ü¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢½ñ¤­¹þ¤ßÌ¿Îá¤Ï¤¹¤°¤Ë´°Î»¤¹¤ë¤Î¤ËÂФ·¡¢
¼ÂºÝ¤Ë¥Ç¡¼¥¿¤¬¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¤Î¤Ï¡¢¤½¤Î¿ôÉøå¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤Ã¤Æ¡¢½ñ¤­¹þ¤ß½èÍý¤Î°ì³ç²½¤¬²Äǽ¤Ë¤Ê¤ë¤¿¤á¡¢
·àŪ¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤Î¸þ¾å¤¬´üÂԤǤ­¤Þ¤¹¡£
<!-- hrs:2000/02/15 (for ja-translators)
"be clusterd togather" is translated into "clusterization" -->
</para>
<warning>
<para>
¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï
²õ¤ì¤ä¤¹¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ¤¤¤Æ¡¢ÆÍÁ³ÅŸ»¤¬Íî¤Á¤¿¾ì¹ç¤Ë¤Ï¡¢
ºÆµ¯Æ°¸å¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ÉüµìÉÔǽ¤Ë¤Ê¤ë²ÄǽÀ­¤¬
Èó¾ï¤Ë¹â¤¯¤Ê¤ê¤Þ¤¹¡£</para>
<para>¤â¤·¡¢<filename class="directory">>/usr/obj</filename>
¤¬¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤¢¤ëÍ£°ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ì¤Ð¡¢
¤³¤ì¤ÏÌäÂê¤Ë¤Ê¤ê¤Þ¤»¤ó¡£
¤·¤«¤·¡¢Æ±¤¸¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¡¢Â¾¤Îµ®½Å¤Ê¥Ç¡¼¥¿¤òÃÖ¤¤¤Æ¤¤¤ë¤È¤­¤Ë¤Ï¡¢
¤³¤Î¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ëÁ°¤Ë¡¢
¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¤­¤Á¤ó¤È¼è¤Ã¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£</para>
</warning>
<screen>&prompt.root; <userinput>mount -u -o async /usr/obj</userinput></screen>
<warning>
<para>¤â¤· <filename class="directory">/usr/obj</filename>
¼«¿È¤¬¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
ŬÀڤʥޥ¦¥ó¥È¥Ý¥¤¥ó¥È¤ò»Ø¤¹¤è¤¦¤Ë¡¢
¾å¤ÎÎã¤Î̾Á°¤òÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
</warning>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>¤Ê¤Ë¤«°­¤¤¤³¤È¤¬¤¢¤Ã¤¿¤é¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤Ç¤¹¤«?</para>
</question>
<answer>
<para>¼«Ê¬¤Î´Ä¶­¤ËÁ°¤Î¥Ó¥ë¥É¤Î;·×¤Ê¥´¥ß¤¬»Ä¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤ò¤Ï¤Ã¤­¤ê¤È³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>chflags -R noschg /usr/obj/usr</userinput>
&prompt.root; <userinput>rm -rf /usr/obj/usr</userinput>
&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make cleandir</userinput>
&prompt.root; <userinput>make cleandir</userinput></screen>
<para>¤¨¤¨¡¢<command>make cleandir</command>
¤ÏËÜÅö¤Ë 2 ²ó¼Â¹Ô¤¹¤ë¤Î¤Ç¤¹¡£</para>
<para>¤½¤·¤Æ¡¢<command>make buildworld</command> ¤ò¹Ô¤¤¡¢
Á´¥×¥í¥»¥¹¤òºÇ½é¤«¤é¤ä¤êľ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¤Þ¤ÀÌäÂ꤬¤¢¤ì¤Ð¡¢¥¨¥é¡¼¤È <command>uname -a</command>
¤Î½ÐÎϤò &a.questions; ¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£
ÀßÄê¤Ë¤Ä¤¤¤Æ¤µ¤é¤Ë¼ÁÌ䤵¤ì¤Æ¤âÅú¤¨¤é¤ì¤ë¤è¤¦ÍѰդ·¤Æ¤¯¤À¤µ¤¤!</para>
</answer>
</qandaentry>
</qandaset>
</sect2>
</sect1>
<sect1 id="small-lan">
<sect1info>
<authorgroup>
<author>
<firstname>Mike</firstname>
<surname>Meyer</surname>
<contrib>´ó¹Æ: </contrib>
</author>
</authorgroup>
</sect1info>
<title>Ê£¿ô¤Î¥Þ¥·¥ó¤ÇÄɤ¤¤«¤±¤ë</title>
<indexterm>
<primary>NFS</primary>
<secondary>Ê£¿ô¤Î¥Þ¥·¥ó¤Ë¥¤¥ó¥¹¥È¡¼¥ë</secondary>
</indexterm>
<para>Ê£¿ô¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ÇƱ¤¸¥½¡¼¥¹¥Ä¥ê¡¼¤òÄɤ¤¤«¤±¤Æ¤¤¤Æ¡¢
Á´Éô¤Î¥Þ¥·¥ó¤Ë¥½¡¼¥¹¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤ÆÁ´Éô¤òºÆ¹½ÃÛ¤¹¤ë¤Î¤Ï¡¢
¥Ç¥£¥¹¥¯¥¹¥Ú¡¼¥¹¡¢¥Í¥Ã¥È¥ï¡¼¥¯ÂÓ°è¡¢¤½¤·¤Æ CPU ¥µ¥¤¥¯¥ë¤Î̵Â̻Ȥ¤¤Ç¤¹¡£
²ò·èºö¤Ï 1 ¤Ä¤Î¥Þ¥·¥ó¤Ë»Å»ö¤Î¤Û¤È¤ó¤É¤ò¤µ¤»¡¢
»Ä¤ê¤Î¥Þ¥·¥ó¤Ï NFS ·Ðͳ¤Ç¤½¤ì¤ò¥Þ¥¦¥ó¥È¤¹¤ë¡¢¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£
¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¤½¤Î¤ä¤êÊý¤ò³µ´Ñ¤·¤Þ¤¹¡£</para>
<sect2 id="small-lan-preliminaries">
<title>½àÈ÷</title>
<para>¤Þ¤º½é¤á¤Ë¡¢Æ±¤¸¥Ð¥¤¥Ê¥ê¤Çư¤«¤½¤¦¤È¤¹¤ë¥Þ¥·¥ó¤¿¤Á¤ò·è¤á¤Þ¤¹¡£
¤³¤Î¥Þ¥·¥ó¤¿¤Á¤Î¤³¤È¤ò<emphasis>¥Ó¥ë¥É¥»¥Ã¥È</emphasis>¤È¸Æ¤Ó¤Þ¤¹¡£
¤½¤ì¤¾¤ì¤Î¥Þ¥·¥ó¤Ï¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢
Ʊ¤¸¥æ¡¼¥¶¥é¥ó¥É¥Ð¥¤¥Ê¥ê¤òư¤«¤½¤¦¤È¤¤¤¦¤Î¤Ç¤¹¡£
¤³¤Î¥Ó¥ë¥É¥»¥Ã¥È¤«¤é¡¢
<emphasis>¥Ó¥ë¥É¥Þ¥·¥ó</emphasis>¤È¤Ê¤ë¥Þ¥·¥ó¤ò 1 ÂæÁª¤Ó¤Þ¤¹¡£
¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤È¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤¹¤ë¤Î¤Ï¤³¤Î¥Þ¥·¥ó¤Ë¤Ê¤ê¤Þ¤¹¡£
ÍýÁÛŪ¤Ë¤Ï¡¢¤³¤Î¥Þ¥·¥ó¤Ï <command>make buildworld</command>
¤È <command>make buildkernel</command>
¤ò¼Â¹Ô¤¹¤ë¤Î¤Ë½½Ê¬¤Ê CPU ¤ò»ý¤Ã¤¿Â®¤¤¥Þ¥·¥ó¤Ç¤¢¤ë¤Ù¤­¤Ç¤¹¡£
<emphasis>¥Æ¥¹¥È¥Þ¥·¥ó</emphasis>¤È¤Ê¤ë¤Ù¤­¥Þ¥·¥ó¤âÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£
¹¹¿·¤µ¤ì¤¿¥½¥Õ¥È¥¦¥§¥¢¤ò»È¤¦Á°¤Ë¤½¤Î¥Þ¥·¥ó¤Ç¥Æ¥¹¥È¤¹¤ë¤Î¤Ç¤¹¡£
¥Æ¥¹¥È¥Þ¥·¥ó¤Ï¤«¤Ê¤êŤ¤»þ´ÖÍî¤Á¤Æ¤¤¤Æ¤â
¤À¤¤¤¸¤ç¤¦¤Ö¤Ê¥Þ¥·¥ó<emphasis>¤Ç¤¢¤Ã¤¿¤Û¤¦¤¬¤¤¤¤¤Ç¤·¤ç¤¦</emphasis>¡£
¥Ó¥ë¥É¥Þ¥·¥ó¤Ç¤â¤«¤Þ¤¤¤Þ¤»¤ó¤¬¡¢¥Ó¥ë¥É¥Þ¥·¥ó¤Ç¤¢¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£</para>
<para>¤³¤Î¥Ó¥ë¥É¥»¥Ã¥È¤Î¥Þ¥·¥ó¤Ï¤¹¤Ù¤Æ
<filename class="directory">/usr/obj</filename> ¤È
<filename class="directory">/usr/src</filename>
¤òƱ¤¸¥Þ¥·¥ó¤ÎƱ¤¸¾ì½ê¤«¤é¥Þ¥¦¥ó¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
ÍýÁÛŪ¤Ë¤Ï¥Ó¥ë¥É¥Þ¥·¥ó¤Î 2 ¤Ä¤Î°ã¤¦¥É¥é¥¤¥Ö¾å¤Ë¤¢¤ë¤È¤è¤¤¤Î¤Ç¤¹¤¬¡¢
¥Ó¥ë¥É¥Þ¥·¥ó¤Ë NFS ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
¥Ó¥ë¥É¥»¥Ã¥È¼«ÂΤ¬Ê£¿ô¤¢¤ë¾ì¹ç¤Ï¡¢
<filename class="directory">/usr/src</filename>
¤Ï¤Ò¤È¤Ä¤Î¥Ó¥ë¥É¥Þ¥·¥ó¾å¤Ë¤¢¤ë¤Ù¤­¤Ç¤¹¡£
¾¤Î¥Þ¥·¥ó¤«¤é¤Ï¤½¤ì¤ò NFS ¥Þ¥¦¥ó¥È¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£</para>
<para>ºÇ¸å¤Ë¥Ó¥ë¥É¥»¥Ã¥È¤Î¤¹¤Ù¤Æ¤Î¥Þ¥·¥ó¾å¤Î
<filename>/etc/make.conf</filename> ¤È
<filename>/etc/src.conf</filename>
¤¬¥Ó¥ë¥É¥Þ¥·¥ó¤È°ìÃפ·¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤Ä¤Þ¤ê¡¢¥Ó¥ë¥É¥Þ¥·¥ó¤Ï¥Ó¥ë¥É¥»¥Ã¥È¤Î¤É¤Î¥Þ¥·¥ó¤â¥¤¥ó¥¹¥È¡¼¥ë¤·¤è¤¦¤È¤·¤Æ¤¤¤ë
¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤òÁ´Éô¥Ó¥ë¥É¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
¤Þ¤¿¡¢³Æ¥Ó¥ë¥É¥Þ¥·¥ó¤Ï <filename>/etc/make.conf</filename>
¤Ë¤½¤ì¤¾¤ì¤Î¥Ó¥ë¥É¥Þ¥·¥ó¤Î¥«¡¼¥Í¥ë̾¤ò
<makevar>KERNCONF</makevar> ¤Ç»ØÄꤷ¡¢
¥Ó¥ë¥É¥Þ¥·¥ó¤Ï¼«Ê¬¼«¿È¤Î¥«¡¼¥Í¥ë¤«¤é½ç¤ËÁ´Éô¤Î¥«¡¼¥Í¥ë̾¤ò
<makevar>KERNCONF</makevar> ¤Ë¥ê¥¹¥È¥¢¥Ã¥×¤·¤Æ¤¯¤À¤µ¤¤¡£
³Æ¥Þ¥·¥ó¤Î¥«¡¼¥Í¥ë¤â¥Ó¥ë¥É¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
¥Ó¥ë¥É¥Þ¥·¥ó¤Ï³Æ¥Þ¥·¥ó¤Î¥«¡¼¥Í¥ëÀßÄê¥Õ¥¡¥¤¥ë¤ò <filename
class="directory">/usr/src/sys/<replaceable>arch</replaceable>/conf</filename>
¤Ë»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</para>
</sect2>
<sect2 id="small-lan-base-system">
<title>¥Ù¡¼¥¹¥·¥¹¥Æ¥à</title>
<para>¥Ó¥ë¥É¥Þ¥·¥ó¤Ë¤Æ¡¢
<xref linkend="make-buildworld"/>
¤Ë½ñ¤¤¤Æ¤¢¤ë¤è¤¦¤Ë¥«¡¼¥Í¥ë¤È¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤ò¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤Ç¤â¡¢¤Þ¤À¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
¥Ó¥ë¥É¤¬½ª¤ï¤Ã¤¿¤é¡¢¥Æ¥¹¥È¥Þ¥·¥ó¤Ë°Ü¤ê¡¢
¥Ó¥ë¥É¤·¤¿¥«¡¼¥Í¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Æ¥¹¥È¥Þ¥·¥ó¤¬ NFS ·Ðͳ¤Ç
<filename class="directory">/usr/src</filename> ¤È
<filename class="directory">/usr/obj</filename>
¤ò¥Þ¥¦¥ó¥È¤·¤Æ¤¤¤ë¤Ê¤é¡¢
¥·¥ó¥°¥ë¥æ¡¼¥¶¤ÇºÆµ¯Æ°¤·¤¿¤È¤­¤Ë¥Í¥Ã¥È¥ï¡¼¥¯¤ò»È¤¨¤ë¤è¤¦¤Ë¤·¤Æ¡¢
¤³¤ì¤é¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¥Þ¥¦¥ó¥È¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤Ï¡¢
¥Þ¥ë¥Á¥æ¡¼¥¶¥â¡¼¥É¤Çµ¯Æ°¤·¤Æ¡¢<command>shutdown now</command>
¤ò¼Â¹Ô¤·¤Æ¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Ë°Ü¹Ô¤¹¤ë¤³¤È¤Ç¤¹¡£
¤½¤¦¤·¤¿¤é¡¢¥«¡¼¥Í¥ë¤È¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢
¤¤¤Ä¤â¤¹¤ë¤è¤¦¤Ë
<command>mergemaster</command> ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
½ª¤ï¤Ã¤¿¤é¡¢
¥Æ¥¹¥È¥Þ¥·¥ó¤òºÆµ¯Æ°¤·¤ÆÄ̾ï¤Î¥Þ¥ë¥Á¥æ¡¼¥¶Æ°ºî¤ËÌᤷ¤Þ¤¹¡£</para>
<para>¥Æ¥¹¥È¥Þ¥·¥ó¤Ë¤¢¤ë¤â¤Î¤¹¤Ù¤Æ¤¬¤Á¤ã¤ó¤Èư¤¤¤Æ¤¤¤ë³Î¿®¤¬ÆÀ¤é¤ì¤¿¤é¡¢
Ʊ¤¸¼ê½ç¤Ç¥Ó¥ë¥É¥»¥Ã¥È¤Î¾¤Î¥Þ¥·¥ó¤Ë¤â¿·¤·¤¤¥½¥Õ¥È¥¦¥§¥¢¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£</para>
</sect2>
<sect2 id="small-lan-ports">
<title>Ports</title>
<para>ports ¥Ä¥ê¡¼¤Ë¤âƱ¤¸¥¢¥¤¥Ç¥¢¤¬»È¤¨¤Þ¤¹¡£
ºÇ½é¤Ë½ÅÍפÊÅÀ¤Ï¡¢
¥Ó¥ë¥É¥»¥Ã¥È¤Î¤¹¤Ù¤Æ¤Î¥Þ¥·¥ó¤ËƱ¤¸¥Þ¥·¥ó¤Î <filename
class="directory">/usr/ports</filename> ¤ò¥Þ¥¦¥ó¥È¤¹¤ë¤³¤È¤Ç¤¹¡£
¤½¤·¤Æ¡¢distfiles ¤ò¶¦Í­¤¹¤ë¤è¤¦¤Ë
<filename>/etc/make.conf</filename> ¤òŬÀÚ¤ËÀßÄꤷ¤Þ¤¹¡£
NFS ¥Þ¥¦¥ó¥È¤Ë¤è¤Ã¤Æ¥Þ¥Ã¥×¤µ¤ì¤ë <username>root</username>
¥æ¡¼¥¶¤¬²¿¤Ç¤¢¤ì¡¢<makevar>DISTDIR</makevar>
¤Ï¤½¤Î¥æ¡¼¥¶¤¬½ñ¤­¹þ¤á¤ë¶¦Ä̤ζ¦Í­¥Ç¥£¥ì¥¯¥È¥ê¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
³Æ¥Þ¥·¥ó¤Ï <makevar>WRKDIRPREFIX</makevar>
¤ò¼«Ê¬¤Î¥Þ¥·¥ó¤Î¥Ó¥ë¥É¥Ç¥£¥ì¥¯¥È¥ê¤ËÀßÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
ºÇ¸å¤Ë¡¢packages ¤ò¥Ó¥ë¥É¤·¤ÆÇÛÉÛ¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
<makevar>DISTDIR</makevar> ¤ÈƱ¤¸¤è¤¦¤Ë
<makevar>PACKAGES</makevar> ¥Ç¥£¥ì¥¯¥È¥ê¤âÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/desktop/chapter.xml
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/desktop/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/desktop/chapter.xml (revision 42804)
@@ -1,1326 +1,1327 @@
<?xml version="1.0" encoding="euc-jp"?>
<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
- Original revision: r41707
+ Original revision: r42717
$FreeBSD$
-->
<chapter id="desktop">
<chapterinfo>
<authorgroup>
<author>
<firstname>Christophe</firstname>
<surname>Juniet</surname>
<contrib>´ó¹Æ: </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>¥Ç¥¹¥¯¥È¥Ã¥×¥¢¥×¥ê¥±¡¼¥·¥ç¥ó</title>
<sect1 id="desktop-synopsis">
<title>¤³¤Î¾Ï¤Ç¤Ï</title>
<para>&os; ¤ÏÀ­Ç½¤ä°ÂÄêÀ­¤Ë¤è¤ê¥µ¡¼¥Ð¤È¤·¤Æ¿Íµ¤¤¬¤¢¤ë°ìÊý¤Ç¡¢
Æü¡¹¤Î¥Ç¥¹¥¯¥È¥Ã¥×¤È¤·¤Æ¤ÎÍøÍѤˤâŬ¤·¤Æ¤¤¤Þ¤¹¡£<link
linkend="packages-using">packages</link> ¤ä <link
linkend="ports-using">ports</link> ¤«¤é
&os.numports; ¤òͤ¨¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÍøÍѤǤ­¤ë¤Î¤Ç¡¢
¤µ¤Þ¤¶¤Þ¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òư¤«¤»¤ë¤è¤¦¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¥Ç¥¹¥¯¥È¥Ã¥×¤òºî¤ê¾å¤²¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤³¤Î¾Ï¤Ç¤Ï¡¢packages ¤ä Ports Collection
¤òÍѤ¤¤Æ¡¢¿Íµ¤¤Î¹â¤¤¥Ç¥¹¥¯¥È¥Ã¥×¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò³Ú¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÊýË¡¤òÀâÌÀ¤·¤Þ¤¹¡£</para>
<para>&os; ¤Ï¡¢<link linkend="linuxemu">&linux; ¥Ð¥¤¥Ê¥ê¸ß´¹</link>
µ¡Ç½¤ò»ý¤Ä¤Î¤Ç¡¢&linux; ÍѤ˳«È¯¤µ¤ì¤¿Â¿¤¯¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò
&os; ¤Î¥Ç¥¹¥¯¥È¥Ã¥×¤Ç¤âÍøÍѤǤ­¤Þ¤¹¡£
&linux; ¥Ð¥¤¥Ê¥ê¸ß´¹µ¡Ç½¤òÍѤ¤¤¿ port
¤Î¿¤¯¤Ï <quote>linux-</quote> ¤«¤é¤Ï¤¸¤Þ¤ë̾Á°¤ò»ý¤Á¤Þ¤¹¡£
¤³¤Î¾Ï¤Ç¤Ï¡¢&linux; ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë
&linux; ¥Ð¥¤¥Ê¥ê¸ß´¹µ¡Ç½¤¬Í­¸ú¤Ç¤¢¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£</para>
<para>¤³¤Î¾Ï¤Ç¤Ï¡¢
°Ê²¼¤Î¥Ç¥¹¥¯¥È¥Ã¥×¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="4">
<thead>
<row>
<entry>ʬÌî</entry>
<entry>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾</entry>
<entry>Package ̾</entry>
<entry>Ports ̾</entry>
</row>
</thead>
<tbody>
<row>
<entry>¥Ö¥é¥¦¥¶</entry>
<entry><application>Firefox</application></entry>
<entry><literal>firefox</literal></entry>
<entry><filename
role="package">www/firefox</filename></entry>
</row>
<row>
<entry>¥Ö¥é¥¦¥¶</entry>
<entry><application>Opera</application></entry>
<entry><literal>opera</literal></entry>
<entry><filename
role="package">www/opera</filename></entry>
</row>
<row>
<entry>¥Ö¥é¥¦¥¶</entry>
<entry><application>Konqueror</application></entry>
<entry><literal>kde4-baseapps</literal></entry>
<entry><filename
role="package">x11/kde4-baseapps</filename></entry>
</row>
<row>
<entry>¥Ö¥é¥¦¥¶</entry>
<entry><application>Chromium</application></entry>
<entry><literal>chromium</literal></entry>
<entry><filename
role="package">www/chromium</filename></entry>
</row>
<row>
<entry>À¸»ºÅª¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó</entry>
<entry><application>Calligra</application></entry>
<entry><literal>calligra</literal></entry>
<entry><filename
role="package">editors/calligra</filename></entry>
</row>
<row>
<entry>À¸»ºÅª¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó</entry>
<entry><application>AbiWord</application></entry>
<entry><literal>abiword</literal></entry>
<entry><filename
role="package">editors/abiword</filename></entry>
</row>
<row>
<entry>À¸»ºÅª¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó</entry>
<entry><application>The GIMP</application></entry>
<entry><literal>gimp</literal></entry>
<entry><filename
role="package">graphics/gimp</filename></entry>
</row>
<row>
<entry>À¸»ºÅª¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó</entry>
<entry><application>Apache
OpenOffice</application></entry>
<entry><literal>openoffice</literal></entry>
<entry><filename
role="package">editors/openoffice-3</filename></entry>
</row>
<row>
<entry>À¸»ºÅª¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó</entry>
<entry><application>LibreOffice</application></entry>
<entry><literal>libreoffice</literal></entry>
<entry><filename
role="package">editors/libreoffice</filename></entry>
</row>
<row>
<entry>¥É¥­¥å¥á¥ó¥È¥Ó¥å¡¼¥¢</entry>
<entry><application>&acrobat.reader;</application></entry>
<entry><literal>¥é¥¤¥»¥ó¥¹¤ÎÀ©¸Â¤Ë¤è¤ê package
¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£</literal></entry>
<entry><filename
role="package">print/acroread9</filename></entry>
</row>
<row>
<entry>¥É¥­¥å¥á¥ó¥È¥Ó¥å¡¼¥¢</entry>
<entry><application>gv</application></entry>
<entry><literal>gv</literal></entry>
<entry><filename
role="package">print/gv</filename></entry>
</row>
<row>
<entry>¥É¥­¥å¥á¥ó¥È¥Ó¥å¡¼¥¢</entry>
<entry><application>Xpdf</application></entry>
<entry><literal>xpdf</literal></entry>
<entry><filename
role="package">graphics/xpdf</filename></entry>
</row>
<row>
<entry>¥É¥­¥å¥á¥ó¥È¥Ó¥å¡¼¥¢</entry>
<entry><application>GQview</application></entry>
<entry><literal>gqview</literal></entry>
<entry><filename
role="package">graphics/gqview</filename></entry>
</row>
<row>
<entry>ºâ̳´ÉÍý¥½¥Õ¥È¥¦¥§¥¢</entry>
<entry><application>GnuCash</application></entry>
<entry><literal>gnucash</literal></entry>
<entry><filename
role="package">finance/gnucash</filename></entry>
</row>
<row>
<entry>ºâ̳´ÉÍý¥½¥Õ¥È¥¦¥§¥¢</entry>
<entry><application>Gnumeric</application></entry>
<entry><literal>gnumeric</literal></entry>
<entry><filename
role="package">math/gnumeric</filename></entry>
</row>
<row>
<entry>ºâ̳´ÉÍý¥½¥Õ¥È¥¦¥§¥¢</entry>
<entry><application>KMyMoney</application></entry>
<entry><literal>kmymoney-kde4</literal></entry>
<entry><filename
role="package">finance/kmymoney-kde4</filename></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>¤³¤Î¾Ï¤òÆÉ¤àÁ°¤Ë¡¢°Ê²¼¤Î¤³¤È¤òÍý²ò¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
<para>package ¤Þ¤¿¤Ï ports
¤òÍѤ¤¤¿¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¥½¥Õ¥È¥¦¥§¥¢¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¡£</para>
</listitem>
<listitem>
<para>&linux; ¥Ð¥¤¥Ê¥ê¸ß´¹µ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ëÊýË¡¡£</para>
</listitem>
</itemizedlist>
<para>¥Þ¥ë¥Á¥á¥Ç¥£¥¢´Ä¶­¤òÀ°¤¨¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï
<xref linkend="multimedia"/> ¤ò¡¢
ÅŻҥ᡼¥ë¤òÀßÄꤷ¤Æ»È¤¤¤¿¤¤¾ì¹ç¤Ë¤Ï
<xref linkend="mail"/> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<note>
<title>ÌõÃí</title>
<para>¤³¤Îʸ½ñ¤Ï±Ñ¸ì¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¸¶Ê¸¤ò¤½¤Î¤Þ¤ÞË®Ìõ¤·¤¿¤â¤Î¤Ç¤¹¡£
ɬ¤º¤·¤â³Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÇÆüËܸ줬°·¤¨¤ë¤È¤Ï¸Â¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
ÆüËܸì¤ËÂбþ¤·¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢Ports Collection ¤Î
japanese ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£</para>
</note>
</sect1>
<sect1 id="desktop-browsers">
<title>Web ¥Ö¥é¥¦¥¶</title>
<indexterm>
<primary>¥Ö¥é¥¦¥¶</primary>
<secondary>web</secondary>
</indexterm>
<para>&os; ¤Ç¤Ï Web ¥Ö¥é¥¦¥¶¤Ï»öÁ°¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
¤½¤Î¤«¤ï¤ê¡¢Ports Collection ¤Î
<ulink url="http://www.FreeBSD.org/ja/ports/www.html">www</ulink>
¥«¥Æ¥´¥ê¤Ë¤Ï¿ô¿¤¯¤Î Web ¥Ö¥é¥¦¥¶ ¤¬ÍѰդµ¤ì¤Æ¤ª¤ê¡¢
¿¤¯¤Î¥×¥í¥°¥é¥à¤ò packages ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤ê¡¢
Ports Collection ¤«¤é¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤¹¡£</para>
<para><application>KDE</application> ¤ä
<application>GNOME</application> ¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤Ë¤Ï¡¢
¤½¤ì¤¾¤ì HTML ¥Ö¥é¥¦¥¶¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤é¤Î¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤òÀßÄꤹ¤ë¤¿¤á¤Î¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï
<xref linkend="x11-wm"/> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>·ÚÎ̤ʥ֥饦¥¶¤È¤·¤Æ¤Ï¡¢
<filename role="package">www/dillo2</filename>,
<filename role="package">www/links</filename>,
<filename role="package">www/w3m</filename>
¤È¤¤¤Ã¤¿¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£</para>
<para>¤³¤ÎÀá¤Ç¤Ï°Ê²¼¤Î¿Íµ¤¤Î¤¢¤ë web ¥Ö¥é¥¦¥¶¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
¤â¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¥ê¥½¡¼¥¹¤òÂçÎ̤˾ÃÈñ¤·¤¿¤ê¡¢
ports ¤«¤é¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë»þ´Ö¤¬¤«¤«¤Ã¤¿¤ê¡¢
¤â¤·¤¯¤ÏÂ礭¤Ê°Í¸¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¤³¤È¤Ë¤Ä¤¤¤Æ¤â¿¨¤ì¤Þ¤¹¡£</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="4">
<thead>
<row>
<entry>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾</entry>
<entry>ɬÍפʥ꥽¡¼¥¹</entry>
<entry>port ¤«¤é¤Î¥¤¥ó¥¹¥È¡¼¥ë</entry>
<entry>È÷¹Í</entry>
</row>
</thead>
<tbody>
<row>
<entry><application>Firefox</application></entry>
<entry>Ãæ</entry>
<entry>½Å</entry>
<entry>&os; ¤ª¤è¤Ó &linux; ÈǤò¤¬ÍøÍѤǤ­¤Þ¤¹¡£</entry>
</row>
<row>
<entry><application>Opera</application></entry>
<entry>¾¯</entry>
<entry>·Ú</entry>
<entry>&os; ¤È &linux; ÈǤòÍøÍѤǤ­¤Þ¤¹¡£</entry>
</row>
<row>
<entry><application>Konqueror</application></entry>
<entry>Ãæ</entry>
<entry>½Å</entry>
<entry><application>KDE</application> ¥é¥¤¥Ö¥é¥ê¤òɬÍפȤ·¤Þ¤¹¡£</entry>
</row>
<row>
<entry><application>Chromium</application></entry>
<entry>Ãæ</entry>
<entry>½Å</entry>
<entry><application>Gtk+</application> ¤òɬÍפȤ·¤Þ¤¹¡£</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<sect2>
<title>Firefox</title>
<indexterm>
<primary><application>Firefox</application></primary>
</indexterm>
<para><application>Firefox</application> ¤Ï¡¢
Àè¿ÊŪ¤Ç̵ÎÁ¤«¤Ä¥ª¡¼¥×¥ó¥½¡¼¥¹¤Î¥Ö¥é¥¦¥¶¤Ç¤¹¡£
&os; ¤Ë´°Á´¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£
ɸ½à¤Ë½àµò¤·¤¿ HTML ɽ¼¨¥¨¥ó¥¸¥ó¡¢¥¿¥Ö¥Ö¥é¥¦¥¸¥ó¥°¡¢¥Ý¥Ã¥×¥¢¥Ã¥×¥Ö¥í¥Ã¥¯¡¢
³ÈÄ¥À­¡¢¹â¤¤°ÂÁ´À­¤Ê¤É¤¬ÆÃħ¤Ç¤¹¡£
<application>Firefox</application> ¤Ï <application>Mozilla</application>
¤Î¥³¡¼¥É¥Ù¡¼¥¹¤«¤éÇÉÀ¸¤·¤¿¥Ö¥é¥¦¥¶¤Ç¤¹¡£</para>
<para>ºÇ¿·¤Î <application>Firefox</application> ¤Î package
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r firefox</userinput></screen>
<para><application>Firefox</application> ±äĹ¥µ¥Ý¡¼¥ÈÈÇ
(ESR: Extended Support Release) ¤òÍøÍѤ·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢
¤«¤ï¤ê¤Ë°Ê²¼¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r firefox-esr</userinput></screen>
<para>¥í¡¼¥«¥é¥¤¥ºÈǤϡ¢<filename
role="package">www/firefox-i18n</filename> ¤ª¤è¤Ó <filename
role="package">www/firefox-esr-i18n</filename>
¤«¤éÍøÍѤǤ­¤Þ¤¹¡£</para>
<para>¤«¤ï¤ê¤Ë¥½¡¼¥¹¥³¡¼¥É¤«¤é´õ˾¤Î <application>firefox</application>
¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¤³¤ÎÎã¤Ç¤Ï <filename
role="package">www/firefox</filename> ¤ò¥Ó¥ë¥É¤·¤Þ¤¹¤¬¡¢
<literal>firefox</literal> ¤ÎÉôʬ¤Ï¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë ESR ¤ä¥í¡¼¥«¥é¥¤¥º¤ËÃÖ¤­´¹¤¨¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/firefox</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<sect3 id="moz-java-plugin">
<title>Firefox ¤È &java; ¥×¥é¥°¥¤¥ó</title>
<note>
<para>°Ê²¼¤ÎÀá¤Ç¤Ï¡¢<application>Firefox</application>
¤¬¤¢¤é¤«¤¸¤á¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£</para>
</note>
<para><filename role="package">java/icedtea-web</filename> ¤Ï¡¢
Java ¥¢¥×¥ì¥Ã¥È¤ËÂФ·¡¢¥Õ¥ê¡¼¥½¥Õ¥È¤Î web ¥Ö¥é¥¦¥¶¤Î¥×¥é¥°¥¤¥ó¤òÄ󶡤·¤Þ¤¹¡£
package ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£port ¤«¤é¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/java/icedtea-web</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>¤É¤Á¤é¤Î ports ¤â¡¢¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¤Þ¤Þ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤é¡¢¥Ö¥é¥¦¥¶¤òµ¯Æ°¤·¡¢¥í¥±¡¼¥·¥ç¥ó¥Ð¡¼¤Ë
<literal>about:plugins</literal> ¤ÈÆþÎϤ·¤Æ
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥×¥é¥°¥¤¥ó°ìÍ÷¤Î¥Ú¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
<application>&java;</application>
¥×¥é¥°¥¤¥ó¤¬°ìÍ÷¤ËÄɲäµ¤ì¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¡£</para>
<para>¥×¥é¥°¥¤¥ó¤¬°ìÍ÷¤ËÄɲäµ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
¥æ¡¼¥¶¤´¤È¤Ë°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢¥Ö¥é¥¦¥¶¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.user; <userinput>ln -s /usr/local/lib/IcedTeaPlugin.so \
$HOME/.mozilla/plugins/</userinput></screen>
</sect3>
<sect3 id="moz-flash-plugin">
<title>Firefox ¤È &adobe; &flash; ¥×¥é¥°¥¤¥ó</title>
<indexterm>
<primary>Flash</primary>
</indexterm>
<para>&os; ÍѤΠ&adobe; &flash; ¥×¥é¥°¥¤¥ó¤ÏÄ󶡤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
¤·¤«¤·¤Ê¤¬¤é¡¢&linux;
¥Ð¡¼¥¸¥ç¥ó¤Î¥×¥é¥°¥¤¥ó¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î¥½¥Õ¥È¥¦¥§¥¢¥ì¥¤¥ä (wrapper) ¤¬Â¸ºß¤·¤Þ¤¹¡£
¤³¤Î wrapper ¤Ï¡¢
&realplayer; ¥×¥é¥°¥¤¥ó¤È¤¤¤Ã¤¿Â¾¤Î¥Ö¥é¥¦¥¶¤Î¥×¥é¥°¥¤¥ó¤Ë¤âÂбþ¤·¤Æ¤¤¤Þ¤¹¡£</para>
<para>¥×¥é¥°¥¤¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤ÆÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<procedure>
<step>
<para>
<filename role="package">www/nspluginwrapper</filename>
port ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¥é¥¤¥»¥ó¥¹¤ÎÀ©¸Â¤Î¤¿¤á package ¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£
¤³¤Î port ¤Ï¡¢<filename
role="package">emulators/linux_base-f10</filename>
¤È¤¤¤¦Â礭¤Ê port ¤òɬÍפȤ·¤Þ¤¹¡£</para>
</step>
<step>
<para><filename
role="package">www/linux-f10-flashplugin11</filename>
port ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¥é¥¤¥»¥ó¥¹¤ÎÀ©¸Â¤Ë¤è¤ê¡¢package ¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£</para>
</step>
<step>
<screen>&prompt.root; <userinput>ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so \
/usr/local/lib/browser_plugins/</userinput></screen>
<para><filename
class="directory">/usr/local/lib/browser_plugins</filename>
¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
<step>
<para>¥×¥é¥°¥¤¥ó¤òºÇ½é¤Ë»È¤¦Á°¤Ë¡¢
¥æ¡¼¥¶¤´¤È¤Ë°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£</para>
<screen>&prompt.user; <userinput>nspluginwrapper -v -a -i</userinput></screen>
<para>¥×¥é¥°¥¤¥ó¤Î port ¤¬¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¡¢ºÆ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¤é¡¢
³Æ¥æ¡¼¥¶¤Ï°Ê²¼¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<screen>&prompt.user; <userinput>nspluginwrapper -v -a -u</userinput></screen>
<para>¥Ö¥é¥¦¥¶¤òµ¯Æ°¤·¡¢¥í¥±¡¼¥·¥ç¥ó¥Ð¡¼¤Ë
<literal>about:plugins</literal> ¤ÈÆþÎϤ·¤Æ
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¸½ºßÍøÍѲÄǽ¤Ê¥×¥é¥°¥¤¥ó¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
</step>
</procedure>
</sect3>
<sect3 id="moz-swfdec-flash-plugin">
<title>Firefox ¤È Swfdec &flash; ¥×¥é¥°¥¤¥ó</title>
<para>Swfdec ¤Ï &flash;
¥¢¥Ë¥á¡¼¥·¥ç¥ó¤Î¥Ç¥³¡¼¥É¤ä¥ì¥ó¥À¥ê¥ó¥°¤ò¹Ô¤¦¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡£
Swfdec-Mozilla ¤Ï¡¢<application>Firefox</application> ¥Ö¥é¥¦¥¶¤Ë¤ª¤¤¤Æ
SWF ¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î¥×¥é¥°¥¤¥ó¤Ç¡¢Swfdec ¥é¥¤¥Ö¥é¥ê¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥é¥¤¥Ö¥é¥ê¤Ï¡¢¸½ºß¤Ç¤âÀ¹¤ó¤Ë³«È¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para>package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r swfdec-plugin</userinput></screen>
<para>package ¤òÍøÍѤǤ­¤Ê¤¤¾ì¹ç¤Ï¡¢Ports Collection
¤«¤é¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/swfdec-plugin</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>¤½¤Î¸å¡¢¥Ö¥é¥¦¥¶¤òºÆµ¯Æ°¤·¤Æ¥×¥é¥°¥¤¥ó¤òÍ­¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect3>
</sect2>
<sect2>
<title>Opera</title>
<indexterm>
<primary><application>Opera</application></primary>
</indexterm>
<para><application>Opera</application> ¤Ï¡¢
µ¡Ç½ËþºÜ¤Ç¡¢É¸½àµ¬³Ê¤Ë½àµò¤·¤¿ Web ¥Ö¥é¥¦¥¶¤Ç¤¹¤¬¡¢
·ÚÎ̤ǹ⮤Ǥ¹¡£
¥á¡¼¥ë¤ª¤è¤Ó¥Ë¥å¡¼¥¹¥ê¡¼¥À¤ä¡¢IRC ¥¯¥é¥¤¥¢¥ó¥È¡¢
RSS/Atom ¥Õ¥£¡¼¥É¥ê¡¼¥À¡¢¤½¤Î¾¤¤¤í¤¤¤í¤Ê¤â¤Î¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
&os; <quote>¥Í¥¤¥Æ¥£¥Ö</quote> ¥Ð¡¼¥¸¥ç¥ó¤È¡¢
&linux; ¥Ð¥¤¥Ê¥ê¸ß´¹µ¡Ç½¤Ë¤è¤Ã¤ÆÆ°ºî¤¹¤ë¥Ð¡¼¥¸¥ç¥ó¤Î
2 ¤Ä¤¬¤¢¤ê¤Þ¤¹¡£</para>
<para>°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ï¡¢&os; ÈǤΠ<application>Opera</application>
package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
&linux; ÈǤò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
<literal>opera</literal> ¤ò <literal>linux-opera</literal>
¤ËÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r opera</userinput></screen>
<para>¤¢¤ë¤¤¤Ï Ports Collection ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç¡¢¥Í¥¤¥Æ¥£¥ÖÈǤ¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/opera</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>&linux; ÈǤΠ<application>Opera</application>
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢<literal>opera</literal> ¤ò
<literal>linux-opera</literal> ¤ËÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>&adobe; &flash; ¥×¥é¥°¥¤¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º <filename
role="package">www/linux-f10-flashplugin11</filename> port
¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£package ¤Ï¡¢¥é¥¤¥»¥ó¥¹¤ÎÀ©¸Â¤Ë¤è¤êÍøÍѤǤ­¤Þ¤»¤ó¡£
¤½¤Î¸å¡¢<filename
role="package">www/opera-linuxplugins</filename> port
¤â¤·¤¯¤Ï package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
°Ê²¼¤ÎÎã¤Ç¤Ï¡¢Î¾Êý¤ò ports ¤«¤é¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/linux-f10-flashplugin11</userinput>
&prompt.root; <userinput>make install clean</userinput>
&prompt.root; <userinput>cd /usr/ports/www/opera-linuxplugins</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤¬½ªÎ»¤·¤¿¤é¡¢
¥×¥é¥°¥¤¥ó¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¤«¤É¤¦¤«¤ò¥Ö¥é¥¦¥¶¤òµ¯Æ°¤·¤Æ³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¥í¥±¡¼¥·¥ç¥ó¥Ð¡¼¤Ë <literal>about:plugins</literal> ¤ÈÆþÎϤ·¤Æ
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¸½ºßÍøÍѲÄǽ¤Ê¥×¥é¥°¥¤¥ó¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<para><application>&java;</application> ¥×¥é¥°¥¤¥ó¤òÄɲ乤ë¤Ë¤Ï¡¢
<link linkend="moz-java-plugin">Firefox ¤Ç¤Î¼ê½ç</link>
¤Ë¤·¤¿¤¬¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2>
<title>Konqueror</title>
<indexterm>
<primary><application>Konqueror</application></primary>
</indexterm>
<para><application>Konqueror</application> ¤Ï <filename
role="package">x11/kde4-baseapps</filename>
¤ò¹½À®¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£
<application>Konqueror</application> ¤Ï¥Ö¥é¥¦¥¶¤Ç¤¢¤ë¤ÈƱ»þ¤Ë¡¢
¥Õ¥¡¥¤¥ë¥Þ¥Í¡¼¥¸¥ã¤ª¤è¤Ó¥Þ¥ë¥Á¥á¥Ç¥£¥¢¥Ó¥å¡¼¥¢¤ÎÌò³ä¤â²Ì¤¿¤·¤Þ¤¹¡£</para>
<para><application>Konqueror</application> ¤Ï¡¢KHTML ¤È¤È¤â¤Ë¡¢WebKit
¤Ë¤âÂбþ¤·¤Æ¤¤¤Þ¤¹¡£WebKit ¤Ï Chromium
¤Ê¤ÉºÇ¶á¤Î¥Ö¥é¥¦¥¶¤Î¿¤¯¤ÇºÎÍѤµ¤ì¤Æ¤¤¤ë¥ì¥ó¥À¥ê¥ó¥°¥¨¥ó¥¸¥ó¤Ç¤¹¡£
&os; ¤Î <application>Konqueror</application> ¤Ç WebKit
¤ò»È¤¦¤Ë¤Ï <filename
role="package">www/kwebkitpart</filename> package ¤Þ¤¿¤Ï¡¢
port ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
°Ê²¼¤ÎÎã¤Ç¤Ï¡¢port ¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/kwebkitpart</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para><application>Konqueror</application> ¤Ç¡¢WebKit ¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢
<quote>Settings</quote>, <quote>Configure Konqueror</quote>
¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
<quote>General</quote> ¤ÎÀßÄê¥Ú¡¼¥¸¤Ë¤ª¤¤¤Æ¡¢
¥É¥í¥Ã¥×¥À¥¦¥ó¥á¥Ë¥å¡¼¤«¤é
<quote>Default web browser engine</quote> ¤ò¥¯¥ê¥Ã¥¯¤·¡¢
<quote>WebKit</quote> ¤ò<quote>KHTML</quote> ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para><application>Konqueror</application> ¤Ï
<application>&flash;</application> ¤Ë¤âÂбþ¤·¤Æ¤¤¤Þ¤¹¡£
<application>Konqueror</application> ¤Ë <application>&flash;</application>
¤òƳÆþ¤¹¤ë¤¿¤á¤Î <quote>How To</quote> ¥¬¥¤¥É¤¬
<ulink url="http://freebsd.kde.org/howtos/konqueror-flash.php"></ulink>
¤Ë¤¢¤ê¤Þ¤¹¡£</para>
</sect2>
<sect2>
<title>Chromium</title>
<indexterm>
<primary><application>Chromium</application></primary>
</indexterm>
<para><application>Chromium</application> ¤Ï¡¢
¥ª¡¼¥×¥ó¥½¡¼¥¹¤Î¥Ö¥é¥¦¥¶¤Î¥×¥í¥¸¥§¥¯¥È¤Ç¡¢
°ÂÁ´¤«¤Ä¹â®¡¢°ÂÄꤷ¤¿¥¦¥§¥Ö¥Ö¥é¥¦¥¸¥ó¥°¤ÎÂ䶤òÌܻؤ·¤Æ¤¤¤Þ¤¹¡£
<application>Chromium</application> ¤Ï¡¢¥¿¥Ö¥Ö¥é¥¦¥¸¥ó¥°¡¢
¥Ý¥Ã¥×¥¢¥Ã¥×¥Ö¥í¥Ã¥¯¡¢³ÈÄ¥µ¡Ç½¤Ê¤É¤Îµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
<application>Chromium</application> ¤Ï¡¢Google Chrome
¥¦¥§¥Ö¥Ö¥é¥¦¥¶¤¬¥Ù¡¼¥¹¤È¤·¤Æ¤¤¤ë¥ª¡¼¥×¥ó¥½¡¼¥¹¤Î¥×¥í¥¸¥§¥¯¥È¤Ç¤¹¡£</para>
<para><application>Chromium</application> ¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤ËÆþÎϤ¹¤ë¤³¤È¤Ç package ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r chromium</userinput></screen>
<para>¤Þ¤¿¤Ï¡¢Ports Collection ¤òÍѤ¤¤Æ
<application>Chromium</application>
¤ò¥½¡¼¥¹¤«¤é¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/www/chromium</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<note>
<para><application>Chromium</application> ¤Î¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Ï¡¢
<filename>/usr/local/bin/chrome</filename> ¤Ç¤¹¡£
<filename>/usr/local/bin/chromium</filename> ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£</para>
</note>
<sect3 id="chromium-java-plugin">
<title>Chromium ¤È &java; ¥×¥é¥°¥¤¥ó</title>
<note>
<para>°Ê²¼¤ÎÀá¤Ç¤Ï¡¢<application>Chromium</application>
¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£</para>
</note>
<para>&java; ¥×¥é¥°¥¤¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
<xref linkend="moz-java-plugin"/>
¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¼ê½ç¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>&java; ¤Î¥µ¥Ý¡¼¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤é¡¢
<application>Chromium</application> ¤òµ¯Æ°¤·¡¢¥¢¥É¥ì¥¹¥Ð¡¼¤Ë¡¢
<literal>about:plugins</literal> ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥×¥é¥°¥¤¥ó¤Î°ìÍ÷¤Ë
IcedTea-Web ¤¬Äɲäµ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£</para>
<para><application>Chromium</application>
¤Ë IcedTea-Web ¥×¥é¥°¥¤¥ó¤¬Äɲäµ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢¥Ö¥é¥¦¥¶¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>mkdir -p /usr/local/share/chromium/plugins
&prompt.root; ln -s /usr/local/lib/IcedTeaPlugin.so \
/usr/local/share/chromium/plugins/</userinput></screen>
</sect3>
<sect3 id="chromium-flash-plugin">
<title>Chromium ¤È &adobe;&nbsp;&flash; ¥×¥é¥°¥¤¥ó</title>
<para><application>Chromium</application> ¤È &adobe;&nbsp;&flash;
¤ÎÀßÄê¤Ï¡¢<link
linkend="moz-flash-plugin">Firefox ¤Î¼ê½ç</link> ¤ÈƱ¤¸¤Ç¤¹¡£
<application>Chromium</application>
¤Ï¡¢Â¾¤Î¥Ö¥é¥¦¥¶¤Î¥×¥é¥°¥¤¥ó¤òÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¡¢
ÄɲäÎÀßÄê¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£</para>
</sect3>
</sect2>
</sect1>
<sect1 id="desktop-productivity">
<title>À¸»ºÅª¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó</title>
<para>À¸»ºÅª¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¤È¡¢
¿·¤·¤¤¥æ¡¼¥¶¤Ï¤·¤Ð¤·¤ÐÌ¥ÎÏŪ¤Ê¥ª¥Õ¥£¥¹¥¹¥¤¡¼¥È¤ä
¿Æ¤·¤ß¤Î¤¢¤ë¥ï¡¼¥É¥×¥í¥»¥Ã¥µ¤òµá¤á¤ë¤Ç¤·¤ç¤¦¡£
¥Ç¥Õ¥©¥ë¥È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢
<application>KDE</application> ¤Î¤è¤¦¤Ê
<link linkend="x11-wm">¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­</link>
¤Ï¥ª¥Õ¥£¥¹¥¹¥¤¡¼¥È¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤Ë¤«¤«¤ï¤é¤º¡¢&os; ¤Ç¤Ï¡¢
¤¤¤¯¤Ä¤â¤Î¥ª¥Õ¥£¥¹¥¹¥¤¡¼¥È¡¢Ê¸½ñºîÀ®¥½¥Õ¥È¥¦¥§¥¢¤òÍøÍѤǤ­¤Þ¤¹¡£</para>
<para>¤³¤ÎÀá¤Ç¤Ï¡¢°Ê²¼¤Î¿Íµ¤¤Î¤¢¤ëÀ¸»ºÅª¤Ê¥½¥Õ¥È¥¦¥§¥¢¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
¤â¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¥ê¥½¡¼¥¹¤òÂçÎ̤˾ÃÈñ¤·¤¿¤ê¡¢
ports ¤«¤é¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë»þ´Ö¤¬¤«¤«¤Ã¤¿¤ê¡¢
¤â¤·¤¯¤ÏÂ礭¤Ê°Í¸¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¤³¤È¤Ë¤Ä¤¤¤Æ¤â¿¨¤ì¤Þ¤¹¡£</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="4">
<thead>
<row>
<entry>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾</entry>
<entry>ɬÍפʥ꥽¡¼¥¹</entry>
<entry>port ¤«¤é¤Î¥¤¥ó¥¹¥È¡¼¥ë</entry>
<entry>¼Â¹Ô¤ËɬÍפȤʤë¼ç¤Ê´Ä¶­</entry>
</row>
</thead>
<tbody>
<row>
<entry><application>Calligra</application></entry>
<entry>¾¯</entry>
<entry>½Å</entry>
<entry><application>KDE</application></entry>
</row>
<row>
<entry><application>AbiWord</application></entry>
<entry>¾¯</entry>
<entry>·Ú</entry>
<entry><application>Gtk+</application> ¤Þ¤¿¤Ï
<application>GNOME</application></entry>
</row>
<row>
<entry><application>Gimp</application></entry>
<entry>¾¯</entry>
<entry>½Å</entry>
<entry><application>Gtk+</application></entry>
</row>
<row>
<entry><application>Apache
OpenOffice</application></entry>
<entry>¿</entry>
<entry>ÇüÂç</entry>
<entry><application>&jdk;</application> ¤ª¤è¤Ó
<application>Mozilla</application></entry>
</row>
<row>
<entry><application>LibreOffice</application></entry>
<entry>¤ä¤ä¿</entry>
<entry>ÇüÂç</entry>
<entry><application>Gtk+</application> ¤Þ¤¿¤Ï
<application>KDE</application>/
<application>GNOME</application> ¤Þ¤¿¤Ï
<application>&jdk;</application></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<sect2>
<title>Calligra</title>
<indexterm>
<primary><application>Calligra</application></primary>
</indexterm>
<indexterm>
<primary>¥ª¥Õ¥£¥¹¥¹¥¤¡¼¥È</primary>
<secondary><application>Calligra</application></secondary>
</indexterm>
<para>KDE ¥³¥ß¥å¥Ë¥Æ¥£¤Ï¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤È¤È¤â¤Ë¡¢
<application>KDE</application> ´Ä¶­°Ê³°¤Ç¤âÍøÍѲÄǽ¤Ê
¥ª¥Õ¥£¥¹¥¹¥¤¡¼¥È¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
<application>Calligra</application> ¤Ë¤Ï¡¢Â¾¤Î¥ª¥Õ¥£¥¹¥¹¥¤¡¼¥È¤ÈƱÍͤˡ¢
ɸ½àŪ¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
<application>Words</application> ¤Ïʸ½ñºîÀ®¥½¥Õ¥È¥¦¥§¥¢¡¢
<application>Sheets</application> ¤Ïɽ·×»»¥½¥Õ¥È¥¦¥§¥¢¡¢
<application>Stage</application>
¤Ï¥×¥ì¥¼¥ó¥Æ¡¼¥·¥ç¥ó¥½¥Õ¥È¥¦¥§¥¢¡¢¤½¤·¤Æ
<application>Karbon</application> ¤Ï¿Þ·ÁÉÁ²è¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£</para>
<para>ºÇ¿·¤Î <application>KOffice</application>
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢»öÁ°¤Ë <application>KDE</application>
¤òºÇ¿·¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£</para>
<para><filename
role="package">editors/calligra</filename> ¤Ï¡¢package ¤Þ¤¿¤Ï port
¤«¤é¥¤¥ó¥¹¥È¡¼¥ë½ÐÍè¤Þ¤¹¡£
package ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r calligra</userinput></screen>
<para>package ¤òÆþ¼ê¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢¤«¤ï¤ê¤Ë Ports Collection
¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/editors/calligra</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
<sect2>
<title>AbiWord</title>
<indexterm>
<primary><application>AbiWord</application></primary>
</indexterm>
<para><application>AbiWord</application>
¤Ï¡¢<application>&microsoft; Word</application>
¤Î¤è¤¦¤Ê¸«¤¿ÌܤäÁàºî´¶¤ò»ý¤Ä¥Õ¥ê¡¼¤Î¥ï¡¼¥É¥×¥í¥»¥Ã¥µ¤Ç¤¹¡£
½ñÎà¤ä¼ê»æ¡¢Êó¹ð½ñ¡¢¥á¥â¤Ê¤É¤ò½ñ¤¯¤Î¤ËŬ¤·¤Æ¤¤¤Þ¤¹¡£
®¤¯¡¢Â¿¤¯¤ÎÆÃħ¤¬¤¢¤ê¡¢¥æ¡¼¥¶¥Õ¥ì¥ó¥É¥ê¤Ç¤¹¡£</para>
<para><application>AbiWord</application> ¤Ï¡¢
&microsoft; <filename>.doc</filename>
¤Î¤è¤¦¤ÊÆÈ¼«»ÅÍͤò´Þ¤à¿¤¯¤Î·Á¼°¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß½ñ¤­¤Ç¤­¤Þ¤¹¡£</para>
<para><application>AbiWord</application> ¤ò package
¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r abiword</userinput></screen>
<para>package ¤òÆþ¼ê¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢Ports Collection ¤«¤é¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/editors/abiword</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
<sect2>
<title>GIMP</title>
<indexterm>
<primary><application>GIMP</application></primary>
</indexterm>
<para>²èÁü¤òÉÁ²è¤·¤¿¤ê¼Ì¿¿¤ò½¤Àµ¤¹¤ë¤³¤È¤Ë´Ø¤·¤Æ¡¢
<application>GIMP</application>
¤ÏÀöÎý¤µ¤ì¤¿ÊÔ½¸¥×¥í¥°¥é¥à¤Ç¤¹¡£
ñ½ã¤Ë¤ª³¨¤«¤­¥½¥Õ¥È¥¦¥§¥¢¤È¤·¤Æ»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¤·¡¢
¹âÉʼÁ¤Ê¼Ì¿¿¤Î²Ã¹©¥Ä¡¼¥ë¤È¤·¤Æ¤â»È¤¨¤Þ¤¹¡£
¿¤¯¤Î¥×¥é¥°¥¤¥ó¤ËÂбþ¤·¤Æ¤ª¤ê¡¢
¥¹¥¯¥ê¥×¥È¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÆÃħ¤È¤·¤Æ¤¤¤Þ¤¹¡£
<application>GIMP</application>
¤Ï¤µ¤Þ¤¶¤Þ¤Ê·Á¼°¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß½ñ¤­¤Ç¤­¡¢
¥¹¥­¥ã¥Ê¤ä¥¿¥Ö¥ì¥Ã¥È¤È¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤âÂбþ¤·¤Æ¤¤¤Þ¤¹¡£</para>
<para>package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r gimp</userinput></screen>
<para>¤â¤·¤¯¤Ï¡¢Ports Collection ¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/graphics/gimp</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>Ports Collection ¤Î <ulink
url="http://www.FreeBSD.org/ports/graphics.html">graphics</ulink>
¥«¥Æ¥´¥ê¤Ë¤Ï¡¢<application>GIMP</application> ¤Ë´ØÏ¢¤·¤¿¥×¥é¥°¥¤¥ó¡¢
¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥æ¡¼¥¶¥Þ¥Ë¥å¥¢¥ë¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£</para>
</sect2>
<sect2>
<title>Apache OpenOffice</title>
<indexterm>
<primary>
<application>Apache OpenOffice</application>
</primary>
</indexterm>
<indexterm>
<primary>¥ª¥Õ¥£¥¹¥¹¥¤¡¼¥È</primary>
<secondary>
<application>Apache OpenOffice</application>
</secondary>
</indexterm>
<para>2011 ǯ 7 ·î 1 Æü¡¢&oracle; ¤Ï
<application>OpenOffice.org</application> ¤Î¥³¡¼¥É¥Ù¡¼¥¹¤ò
Apache Software Foundation ¤Ø´ó£¤·¤Þ¤·¤¿¡£
¸½ºß <application>OpenOffice.org</application> ¤Ï¡¢
<application>Apache OpenOffice</application> ¤È¤·¤ÆÃΤé¤ì¡¢
Apache Software Foundation
¤Î¥¤¥ó¥­¥å¥Ù¡¼¥¿¥×¥í¥¸¥§¥¯¥È¤È¤·¤Æ³«È¯¤¬¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para><application>Apache OpenOffice</application>
¤Ï¡¢´°Á´¤Ê¥ª¥Õ¥£¥¹¥¹¥¤¡¼¥È¤Ëɬ¿Ü¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
(¥ï¡¼¥É¥×¥í¥»¥Ã¥µ¡¢É½·×»»¥½¥Õ¥È¥¦¥§¥¢¡¢
¥×¥ì¥¼¥ó¥Æ¡¼¥·¥ç¥ó¥½¥Õ¥È¥¦¥§¥¢¡¢¤½¤·¤Æ¿Þ·ÁÉÁ²è¥½¥Õ¥È¥¦¥§¥¢)
¤ò¤Ò¤È¤È¤ª¤ê·¤¨¤Æ¤¤¤Þ¤¹¡£
¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¾¤Î¥ª¥Õ¥£¥¹¥¹¥¤¡¼¥È¤È»÷¤Æ¤ª¤ê¡¢
¹­¤¯ÍѤ¤¤é¤ì¤Æ¤¤¤ë¤µ¤Þ¤¶¤Þ¤Ê·Á¼°¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß½ñ¤­¤Ç¤­¤Þ¤¹¡£
¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥¹¥Ú¥ë¥Á¥§¥Ã¥«¡¢¼­½ñ¤Ï¹ñºÝ²½¤µ¤ì¤Æ¤ª¤ê¡¢
¿¤¯¤Î¸À¸ì¤ÇÍøÍѤǤ­¤Þ¤¹¡£</para>
<para><application>Apache OpenOffice</application>
¤Î¥ï¡¼¥É¥×¥í¥»¥Ã¥µ¤Ï¡¢¥Í¥¤¥Æ¥£¥Ö¤Î¥Õ¥¡¥¤¥ë·Á¼°¤Ë XML ¤òºÎÍѤ¹¤ë¤³¤È¤Ç
¥Ý¡¼¥¿¥Ó¥ê¥Æ¥£¤ä½ÀÆðÀ­¤ò¹â¤á¤Æ¤¤¤Þ¤¹¡£
ɽ·×»»¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ï¥Þ¥¯¥íµ¡Ç½¤¬¤¢¤ê¡¢
³°Éô¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÈÀܳ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
<application>Apache OpenOffice</application> ¤Ï¡¢
&windows;, &linux;, &os; ¤ª¤è¤Ó &macos;&nbsp;X
¤Ë¤ª¤¤¤Æ°ÂÄꤷ¤Æ¥Í¥¤¥Æ¥£¥Ö¤Ëưºî¤·¤Æ¤¤¤Þ¤¹¡£
<application>Apache OpenOffice</application>
¤Ë¤Ä¤¤¤Æ¤Î¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï¡¢<ulink
url="http://incubator.apache.org/openofficeorg/">Apache
OpenOffice web ¥µ¥¤¥È</ulink> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢<ulink
url="http://porting.openoffice.org/freebsd/">&os; Apache
OpenOffice °Ü¿¢¥Á¡¼¥à</ulink>
¤Î web ¥µ¥¤¥È¤«¤é¡¢&os; ÆÃÍ­¤Î¾ðÊó¤ä
packages ¤òľÀܼèÆÀ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£</para>
<para><application>Apache OpenOffice</application> package
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r apache-openoffice</userinput></screen>
<note>
<para>&os; ¤Î¥ê¥ê¡¼¥¹ÈǤò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤ÎÁàºî¤Ï¤¦¤Þ¤¯¤¤¤¯¤Ç¤·¤ç¤¦¡£
¤½¤ì°Ê³°¤ÎÈǤò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
&os; <application>Apache OpenOffice</application>
°Ü¿¢¥Á¡¼¥à¤Î web ¥µ¥¤¥È¤«¤éŬÀÚ¤Ê package ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¡¢
&man.pkg.add.1; ¤ò»ÈÍѤ·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥¦¥§¥Ö¥µ¥¤¥È¤«¤é¡¢¥ê¥ê¡¼¥¹ÈǤȳ«È¯ÈǤÎξÊý¤ò¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£</para>
</note>
<para>package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤é¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Æ
<application>Apache OpenOffice</application> ¤òµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.user; <userinput>openoffice-<replaceable>X.Y.Z</replaceable></userinput></screen>
<para>¤³¤³¤Ç <replaceable>X.Y.Z</replaceable> ¤Ï¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë
<application>Apache OpenOffice</application> ¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ç¤¹¡£</para>
<note>
<para>½é²óµ¯Æ°»þ¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¼ÁÌ䤬¹Ô¤ï¤ì¡¢
¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë <filename>.openoffice.org</filename>
¥Õ¥©¥ë¥À¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£</para>
</note>
<para>´õ˾¤Î <application>Apache OpenOffice</application> ¤Î packages
¤òÍøÍѤǤ­¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢port ¤òÍøÍѤ¹¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¡¢¥³¥ó¥Ñ¥¤¥ë¤Ë¤ÏÂ礭¤Ê¥Ç¥£¥¹¥¯¥¹¥Ú¡¼¥¹¤È¡¢
ËÜÅö¤Ë¤«¤Ê¤êŤ¤»þ´Ö¤òɬÍפȤ·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/editors/openoffice-3</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<note>
<para>Ãϰ貽¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤ò¥Ó¥ë¥É¤¹¤ë¤Ë¤Ï¡¢
¾åµ­¥³¥Þ¥ó¥É¤ÎÂå¤ï¤ê¤Ë°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ²¼¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>make LOCALIZED_LANG=<replaceable>your_language</replaceable> install clean</userinput></screen>
<para><replaceable>your_language</replaceable> ¤òÀµ¤·¤¤¸À¸ì ISO ¥³¡¼¥É¤ËÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£
¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¸À¸ì¥³¡¼¥É¤Ï¡¢Æ±¤¸ port ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë
<filename>files/Makefile.localized</filename> ¤Ë½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£</para>
</note>
</sect2>
<sect2>
<title>LibreOffice</title>
<indexterm>
<primary><application>LibreOffice</application></primary>
</indexterm>
<indexterm>
<primary>¥ª¥Õ¥£¥¹¥¹¥¤¡¼¥È</primary>
<secondary><application>LibreOffice</application></secondary>
</indexterm>
<para><application>LibreOffice</application> ¤Ï¡¢<ulink
url="http://www.documentfoundation.org/">The Document
Foundation</ulink>
¤¬³«È¯¤·¤Æ¤¤¤ë¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Î¥ª¥Õ¥£¥¹¥¹¥£¡¼¥È¤Ç¤¹¡£
¾¤Î¥á¥¸¥ã¡¼¤Ê¥ª¥Õ¥£¥¹¥¹¥£¡¼¥È¤È¸ß´¹À­¤¬¤¢¤ê¡¢
¤µ¤Þ¤¶¤Þ¤Ê¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ÇÍøÍѤǤ­¤Þ¤¹¡£
´°Á´¤Ê¥ª¥Õ¥£¥¹À¸»ºÀ­¥¹¥£¡¼¥È¤Ëɬ¿Ü¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
(ʸ½ñºîÀ®¥½¥Õ¥È¥¦¥§¥¢¡¢É½·×»»¥½¥Õ¥È¥¦¥§¥¢¡¢¥×¥ì¥¼¥ó¥Æ¡¼¥·¥ç¥ó¥½¥Õ¥È¥¦¥§¥¢¡¢
¿Þ·ÁÉÁ²è¥½¥Õ¥È¥¦¥§¥¢¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹´ÉÍý¥½¥Õ¥È¥¦¥§¥¢¡¢¿ô¼°¥¨¥Ç¥£¥¿)
¤ò¤¹¤Ù¤ÆÂ·¤¨¤Æ¤¤¤ë <application>OpenOffice.org</application>
¤«¤é¤Î¿·¤·¤¤¥Õ¥©¡¼¥¯¤Ç¤¹¡£
¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡¢¥¹¥Ú¥ë¥Á¥§¥Ã¥«¡¢¼­½ñ¤Ï¹ñºÝ²½¤µ¤ì¤Æ¤ª¤ê¡¢
¿¤¯¤Î¸À¸ì¤ÇÍøÍѤǤ­¤Þ¤¹¡£</para>
<para><application>LibreOffice</application>
¤Î¥ï¡¼¥É¥×¥í¥»¥Ã¥µ¤Ï¡¢
¥Í¥¤¥Æ¥£¥Ö¤Î¥Õ¥¡¥¤¥ë·Á¼°¤Ë XML ¤òºÎÍѤ¹¤ë¤³¤È¤Ç
¥Ý¡¼¥¿¥Ó¥ê¥Æ¥£¤ä½ÀÆðÀ­¤ò¹â¤á¤Æ¤¤¤Þ¤¹¡£
ɽ·×»»¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ï¥Þ¥¯¥íµ¡Ç½¤¬¤¢¤ê¡¢
³°Éô¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÈÀܳ¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
<application>LibreOffice</application> ¤Ï¡¢
&windows;, &solaris;, &linux;, &os;, &macos;&nbsp;X
¤Ë¤ª¤¤¤Æ°ÂÄꤷ¤Æ¥Í¥¤¥Æ¥£¥Ö¤Ëưºî¤·¤Æ¤¤¤Þ¤¹¡£
<application>LibreOffice</application>
¤Ë¤Ä¤¤¤Æ¤Î¾Ü¤·¤¤¾ðÊó¤Ï¡¢
<ulink url="http://www.libreoffice.org/">LibreOffice ¥¦¥§¥Ö¥µ¥¤¥È</ulink>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
<para>±Ñ¸ìÈǤΠ<application>LibreOffice</application> package
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r libreoffice</userinput></screen>
<para>Ports Collection ¤Î <ulink
url="http://www.FreeBSD.org/ports/editors.html">editors</ulink>
¥«¥Æ¥´¥ê¤Ë¤Ï¡¢Ãϰ貽¤µ¤ì¤¿ <application>LibreOffice</application>
¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
Ãϰ貽¤µ¤ì¤¿ package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
<literal>libreoffice</literal> ¤òÃϰ貽¤µ¤ì¤¿
package ̾¤ËÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤é¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç
<application>LibreOffice</application> ¤òµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.user; <userinput>libreoffice</userinput></screen>
<note>
<para>½é²óµ¯Æ°»þ¤Ë¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¼ÁÌ䤬¹Ô¤ï¤ì¡¢
¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë
<filename class="directory">.libreoffice</filename>
¥Õ¥©¥ë¥À¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£</para>
</note>
<para>´õ˾¤Î <application>LibreOffice</application> ¤Î packages
¤òÍøÍѤǤ­¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢port ¤«¤é¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¡¢¥³¥ó¥Ñ¥¤¥ë¤Ë¤ÏÂ礭¤Ê¥Ç¥£¥¹¥¯¥¹¥Ú¡¼¥¹¤È¡¢
ËÜÅö¤Ë¤«¤Ê¤êŤ¤»þ´Ö¤òɬÍפȤ·¤Þ¤¹¡£
°Ê²¼¤ÎÎã¤Ç¤Ï¡¢±Ñ¸ìÈǤ¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/editors/libreoffice</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<note>
<para>Ãϰ貽¤µ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤ò¥Ó¥ë¥É¤·¤¿¤¤¤Î¤Ê¤é¡¢
´õ˾¤Î¸À¸ì¤Î port ¥Ç¥£¥ì¥¯¥È¥ê¤Ë <application>cd</application>
¥³¥Þ¥ó¥É¤Ç°Üư¤·¤Æ¤¯¤À¤µ¤¤¡£
Âбþ¤·¤Æ¤¤¤ë¸À¸ì¤Ï¡¢Ports Collection ¤Î <ulink
url="http://www.FreeBSD.org/ports/editors.html">editors</ulink>
¥«¥Æ¥´¥ê¤Ë¤¢¤ê¤Þ¤¹¡£</para>
</note>
</sect2>
</sect1>
<sect1 id="desktop-viewers">
<title>¥É¥­¥å¥á¥ó¥È¥Ó¥å¡¼¥¢</title>
<para>&unix; ¤Î½Ð¸½°Ê¹ß¡¢¤¤¤¯¤Ä¤«¤Î¿·¤·¤¤Ê¸½ñ·Á¼°¤¬¤è¤¯»È¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
´ðËÜ¥·¥¹¥Æ¥à¤Ë¤Ï¡¢¤½¤ì¤é¤Îʸ½ñ¤¬Í׵᤹¤ë¥Ó¥å¡¼¥¢¤¬¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¤³¤ÎÀá¤Ç¤Ï¤½¤ì¤é¤Î¥É¥­¥å¥á¥ó¥È¥Ó¥å¡¼¥¢¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="4">
<thead>
<row>
<entry>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾</entry>
<entry>ɬÍפʥ꥽¡¼¥¹</entry>
<entry>port ¤«¤é¤Î¥¤¥ó¥¹¥È¡¼¥ë</entry>
<entry>¼Â¹Ô¤ËɬÍפˤʤë¼ç¤Ê´Ä¶­</entry>
</row>
</thead>
<tbody>
<row>
<entry><application>&acrobat.reader;</application></entry>
<entry>¾¯</entry>
<entry>·Ú</entry>
<entry>&linux; ¥Ð¥¤¥Ê¥ê¸ß´¹µ¡Ç½</entry>
</row>
<row>
<entry><application>gv</application></entry>
<entry>¾¯</entry>
<entry>·Ú</entry>
<entry><application>Xaw3d</application></entry>
</row>
<row>
<entry><application>Xpdf</application></entry>
<entry>¾¯</entry>
<entry>·Ú</entry>
<entry><application>FreeType</application></entry>
</row>
<row>
<entry><application>GQview</application></entry>
<entry>¾¯</entry>
<entry>·Ú</entry>
<entry><application>Gtk+</application> ¤Þ¤¿¤Ï
<application>GNOME</application></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<sect2>
<title>&acrobat.reader;</title>
<indexterm>
<primary><application>Acrobat Reader</application></primary>
</indexterm>
<indexterm>
<primary>PDF</primary>
<secondary>¥Ó¥å¡¼¥¢</secondary>
</indexterm>
<para>º£¤ä¿¤¯¤Îʸ½ñ¤¬ Portable Document Format (PDF)
¥Õ¥¡¥¤¥ë·Á¼°¤ÇÇÛÉÛ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
PDF ¥Õ¥¡¥¤¥ë¤òÆÉ¤à¤Î¤Ë¤è¤¯ÍѤ¤¤é¤ì¤ë¥Ó¥å¡¼¥¢¤¬
&adobe; ¤¬ &linux; ÍѤ˥ê¥ê¡¼¥¹¤·¤Æ¤¤¤ë
<application>&acrobat.reader;</application> ¤Ç¤¹¡£
&os; ¤Ï &linux; ¥Ð¥¤¥Ê¥ê¤ò¼Â¹Ô¤Ç¤­¤ë¤Î¤Ç¡¢
&os; ¤Ç¤â¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÍøÍѤǤ­¤Þ¤¹¡£
¥é¥¤¥»¥ó¥¹¤ÎÀ©¸Â¤«¤é package ¤ÏÍøÍѤǤ­¤Ê¤¤¤¿¤á¡¢
ports ¤«¤é¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
Ãϰ貽¤µ¤ì¤¿¤â¤Î¤¬ Ports Collection ¤Î <ulink
url="http://www.FreeBSD.org/ports/print.html">print</ulink>
¥«¥Æ¥´¥ê¤ËÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para>°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ï¡¢Ports Collection ¤«¤é¡¢
<application>&acrobat.reader; 9</application>
¤Î±Ñ¸ìÈǤò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£Ãϰ貽¤µ¤ì¤¿ÈǤò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
¤«¤ï¤ê¤Ë´õ˾¤Î ports ¥Ç¥£¥ì¥¯¥È¥ê¤Ë <application>cd</application>
¥³¥Þ¥ó¥É¤Ç°Üư¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/print/acroread9</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
<sect2>
<title><application>gv</application></title>
<indexterm>
<primary><application>gv</application></primary>
</indexterm>
<indexterm>
<primary>PDF</primary>
<secondary>¥Ó¥å¡¼¥¢</secondary>
</indexterm>
<indexterm>
<primary>PostScript</primary>
<secondary>¥Ó¥å¡¼¥¢</secondary>
</indexterm>
<para><ulink
url="http://www.gnu.org/software/gv/">gv</ulink>
¤Ï &postscript; ¤È PDF
¤Î¥Ó¥å¡¼¥¢¤Ç¤¹¡£¤³¤ì¤Ï¤â¤È¤â¤È
<application>ghostview</application> ¤ò¥Ù¡¼¥¹¤È¤·¤Æ¤¤¤Þ¤¹¤¬¡¢
<application>Xaw3d</application>
¥é¥¤¥Ö¥é¥ê¤Ë¤è¤Ã¤Æ¤è¤êÎɤ¤³°´Ñ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
ưºî¤¬Â®¤¯¤Æ¡¢¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤â¥·¥ó¥×¥ë¤Ç¤¹¡£
<application>gv</application> ¤ÏÍÑ»æ¤Î¸þ¤­¤ä¥µ¥¤¥º¡¢
³ÈÂç½Ì¾®¡¢¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹¤Ê¤É¤¿¤¯¤µ¤ó¤Îµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
¤Û¤È¤ó¤É¤¹¤Ù¤Æ¤ÎÁàºî¤Ï¥­¡¼¥Ü¡¼¥É¤È¥Þ¥¦¥¹¤ÎξÊý¤Ç¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<para>package ¤«¤é <application>gv</application>
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r gv</userinput></screen>
<para>package ¤òÍøÍѤǤ­¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢Ports Collection
¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/print/gv</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
<sect2>
<title>Xpdf</title>
<indexterm>
<primary><application>Xpdf</application></primary>
</indexterm>
<indexterm>
<primary>PDF</primary>
<secondary>¥Ó¥å¡¼¥¢</secondary>
</indexterm>
<para>&os; ¸þ¤±¤Î·Ú¤¤ PDF ¥Ó¥å¡¼¥¢¤ò»È¤¤¤¿¤¤¤Î¤Ê¤é¡¢<ulink
url="http://www.foolabs.com/xpdf/">xpdf</ulink>
¤ò»î¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤Ï¾¯¤Ê¤¤¥ê¥½¡¼¥¹¤Çưºî¤¹¤ë¥Ó¥å¡¼¥¢¤Ç¡¢·Ú¤¯¤Æ¸úΨŪ¤Ç¤¹¡£
ɸ½à¤Î X ¥Õ¥©¥ó¥È¤òÍøÍѤ·¡¢
<application>&motif;</application>,
¤½¤Î¾¤Î X ¥Ä¡¼¥ë¥­¥Ã¥È¤òɬÍפȤ·¤Þ¤»¤ó¡£</para>
<para><application>Xpdf</application> ¤Î
package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r xpdf</userinput></screen>
<para>package ¤òÆþ¼ê¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢
Ports Collection ¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/graphics/xpdf</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤¬´°Î»¤·¤¿¤é <application>xpdf</application>
¤òµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£
¥á¥Ë¥å¡¼¤òɽ¼¨¤¹¤ë¤Ë¤Ï¥Þ¥¦¥¹¤Î±¦¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2>
<title>GQview</title>
<indexterm>
<primary><application>GQview</application></primary>
</indexterm>
<para><ulink
url="http://gqview.sourceforge.net/">GQview</ulink>
¤Ï²èÁü´ÉÍý¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£
¥¯¥ê¥Ã¥¯¤Ò¤È¤Ä¤Ç²èÁü¥Õ¥¡¥¤¥ë¤ò³«¤¤¤¿¤ê¡¢³°Éô¥¨¥Ç¥£¥¿¤òµ¯Æ°¤·¤¿¤ê¡¢
¥µ¥à¥Í¥¤¥ë²èÁü¤òºîÀ®¤Ç¤­¤Þ¤¹¡£
¤Þ¤¿¡¢¥¹¥é¥¤¥É¥·¥ç¡¼¤ä´ðËÜŪ¤Ê¥Õ¥¡¥¤¥ëÁàºîµ¡Ç½¤âÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£
²èÁü¤Î¥³¥ì¥¯¥·¥ç¥ó¤Î´ÉÍý¤ä¡¢½ÅÊ£¤·¤¿¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤ë¤³¤È¤¬´Êñ¤Ë¤Ç¤­¤Þ¤¹¡£
<application>GQview</application> ¤ÏÁ´²èÌÌɽ¼¨¡¢
¤ª¤è¤Ó¹ñºÝ²½¤Ë¤âÂбþ¤·¤Æ¤¤¤Þ¤¹¡£</para>
<para><application>GQview</application>
package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r gqview</userinput></screen>
<para>package ¤òÆþ¼ê¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢
Ports Collection ¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/graphics/gqview</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
</sect1>
<sect1 id="desktop-finance">
<title>ºâ̳´ÉÍý¥½¥Õ¥È¥¦¥§¥¢</title>
<para>&os; ¤Î¥Ç¥¹¥¯¥È¥Ã¥×¤Ç¸Ä¿ÍŪ¤Êºâ̳´ÉÍý¤¬¤Ç¤­¤ë¤è¤¦¤Ë¡¢
¶¯ÎϤǴÊñ¤Ë»È¤¨¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
¤½¤ì¤é¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÃæ¤Ë¤Ï
<application><trademark class="registered">Quicken</trademark></application>
¤ä <application>Excel</application>
¤Ê¤É¤Î¹­¤¯¹Ô¤­ÅϤä¿·Á¼°¤Î¥Õ¥¡¥¤¥ë¤È¸ß´¹À­¤¬¤¢¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£</para>
<para>¤³¤ÎÀá¤Ç¤Ï¼¡¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="4">
<thead>
<row>
<entry>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾</entry>
<entry>ɬÍפʥ꥽¡¼¥¹</entry>
<entry>port ¤«¤é¤Î¥¤¥ó¥¹¥È¡¼¥ë</entry>
<entry>¼Â¹Ô¤ËɬÍפˤʤë¼ç¤Ê´Ä¶­</entry>
</row>
</thead>
<tbody>
<row>
<entry><application>GnuCash</application></entry>
<entry>¾¯</entry>
<entry>½Å</entry>
<entry><application>GNOME</application></entry>
</row>
<row>
<entry><application>Gnumeric</application></entry>
<entry>¾¯</entry>
<entry>½Å</entry>
<entry><application>GNOME</application></entry>
</row>
<row>
<entry><application>KMyMoney</application></entry>
<entry>¾¯</entry>
<entry>½Å</entry>
<entry><application>KDE</application></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<sect2>
<title>GnuCash</title>
<indexterm>
<primary><application>GnuCash</application></primary>
</indexterm>
<para><ulink
url="http://www.gnucash.org/">GnuCash</ulink> ¤Ï¡¢
<application>GNOME</application> ¤Î°ìÉô¤Ç¡¢
»È¤¤¤ä¤¹¤¯¤«¤Ä¶¯ÎϤʥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¤·¤Æ¥¨¥ó¥É¥æ¡¼¥¶¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£
<application>GnuCash</application> ¤ò»È¤¨¤Ð¡¢
¼ýÆþ¤ä»Ù½Ð¡¢¶ä¹Ô¸ýºÂ¡¢¤¢¤ë¤¤¤Ï³ô¤ò´ÉÍý¤Ç¤­¤Þ¤¹¡£
ľ´ÑŪ¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÆÃħ¤È¤·¤Æ¤¤¤Þ¤¹¤¬¡¢
¹âÅ٤ʵ¡Ç½¤âÄ󶡤·¤Æ¤¤¤Þ¤¹¡£</para>
<para><application>GnuCash</application> ¤ÏÀöÎý¤µ¤ì¤¿ÅÐÏ¿µ¡Ç½¡¢
³¬Áع½Â¤¤Î´ªÄꥷ¥¹¥Æ¥à¡¢Â¿¤¯¤Î¥­¡¼¥Ü¡¼¥É¥·¥ç¡¼¥È¥«¥Ã¥È¡¢
¼«Æ°Êä´°µ¡Ç½¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
ñ°ì¤Î¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ò¤è¤ê¾®¤µ¤ÊÍ×ÁǤËʬ²ò¤Ç¤­¤Þ¤¹¡£
<application>GnuCash</application> ¤Ï¡¢
<application>Quicken</application>
¤Î QIF ¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ß¤ä¥Þ¡¼¥¸¤¬¤Ç¤­¤Þ¤¹¡£
¤Þ¤¿¡¢¹ñºÝŪ¤ÊÆüÉÕ¤ª¤è¤ÓÄ̲߷Á¼°¤â°·¤¨¤Þ¤¹¡£</para>
<para><application>GnuCash</application> package
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r gnucash</userinput></screen>
<para>package ¤¬¼ê¤ËÆþ¤é¤Ê¤±¤ì¤Ð¡¢Ports Collection ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/finance/gnucash</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
<sect2>
<title>Gnumeric</title>
<indexterm>
<primary><application>Gnumeric</application></primary>
</indexterm>
<indexterm>
<primary>ɽ·×»»¥½¥Õ¥È¥¦¥§¥¢</primary>
<secondary><application>Gnumeric</application></secondary>
</indexterm>
<para><ulink
url="http://projects.gnome.org/gnumeric/index.shtml">Gnumeric</ulink> ¤Ï¡¢
<application>GNOME</application>
¥³¥ß¥å¥Ë¥Æ¥£¤Ë¤è¤Ã¤Æ³«È¯¤µ¤ì¤Æ¤¤¤ëɽ·×»»¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£
¥»¥ë¤Î½ñ¼°¤Ë½¾¤Ã¤Æ¥æ¡¼¥¶¤ÎÆþÎϤò¼«Æ°Åª¤Ë
<quote>¿ä¬</quote>¤¹¤ëÊØÍø¤Êµ¡Ç½¤ä¡¢
¿¤¯¤Î¥·¡¼¥±¥ó¥¹¤ËÂФ¹¤ë¼«Æ°Êä´°µ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£
<application>Excel</application>,
<application>Lotus 1-2-3</application>,
<application>Quattro Pro</application>
¤È¤¤¤Ã¤¿¹­¤¯¹Ô¤­ÅϤäƤ¤¤ë¿¤¯¤Î·Á¼°¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¤³¤á¤Þ¤¹¡£
¿¤¯¤Î´Ø¿ô¤òÆâ¢¤·¤Æ¤ª¤ê¡¢
¿ôÃÍ¡¢Ä̲ߡ¢ÆüÉÕ¡¢»þ´Ö¤Ê¤É¤Î¤è¤¯»È¤¦¥»¥ë¤Î½ñ¼°¤¬ÍøÍѤǤ­¤Þ¤¹¡£</para>
<para><application>Gnumeric</application> package
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r gnumeric</userinput></screen>
<para>package ¤¬¼ê¤ËÆþ¤é¤Ê¤±¤ì¤Ð¡¢Ports Collection
¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/math/gnumeric</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
<sect2>
<title>KMyMoney</title>
<indexterm><primary><application>KMyMoney</application></primary></indexterm>
<indexterm>
<primary>ɽ·×»»¥½¥Õ¥È¥¦¥§¥¢</primary>
<secondary><application>KMyMoney</application></secondary>
</indexterm>
<para><ulink
url="http://kmymoney2.sourceforge.net">KMyMoney</ulink>
- ¤Ï¡¢KDE ¥³¥ß¥å¥Ë¥Æ¥£¤¬ºîÀ®¤·¤Æ¤¤¤ë¸Ä¿ÍÍѺâ̳´ÉÍý¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£
+ ¤Ï¡¢<application>KDE</application>
+ ¥³¥ß¥å¥Ë¥Æ¥£¤¬ºîÀ®¤·¤Æ¤¤¤ë¸Ä¿ÍÍѺâ̳´ÉÍý¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¹¡£
¾¦ÍѤθĿÍÍѺâ̳´ÉÍý¥½¥Õ¥È¥¦¥§¥¢¤Ë¸«¤é¤ì¤ëµ¡Ç½¤ò¼è¤êÆþ¤ì¡¢
Ä󶡤¹¤ë¤³¤È¤òÌܻؤ·¤Æ¤¤¤Þ¤¹¡£
¤Þ¤¿¡¢»È¤¤¤ä¤¹¤¤Ê£¼°Êíµ­µ¡Ç½¤âÆÃħ¤Ç¤¹¡£
KMyMoney ¤Ïɸ½à¤Î Quicken Interchange
Format (QIF) ¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥Ý¡¼¥È²Äǽ¤Ç¡¢
Åê»ñÍúÎò¤äÊ£¿ôÄ̲ߤμ谷¤¤¡¢ºâÀ¯¾õ¶·¤Î¥ì¥Ý¡¼¥È¤òÄ󶡤·¤Þ¤¹¡£</para>
<para>package ¤«¤é <application>KMyMoney</application>
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r kmymoney-kde4</userinput></screen>
<para>package ¤¬¼ê¤ËÆþ¤é¤Ê¤¤¾ì¹ç¤Ï¡¢Ports Collection ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/finance/kmymoney-kde4</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
</sect2>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/install/chapter.xml
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/install/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/install/chapter.xml (revision 42804)
@@ -1,5058 +1,4784 @@
<?xml version="1.0" encoding="euc-jp"?>
<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
- Original revision: r41823
+ Original revision: r42409
$FreeBSD$
-->
<chapter id="install">
<chapterinfo>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
<contrib>ºÆ¹½À®¡¢ÉôʬŪ¤Ë½ñ¤­Ä¾¤·: </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Randy</firstname>
<surname>Pratt</surname>
<contrib>Sysinstall ¤Ë¤Ä¤¤¤Æ¡¢¥¦¥©¡¼¥¯¥¹¥ë¡¼¡¢¥¹¥¯¥ê¡¼¥ó¥·¥ç¥Ã¥È¡¢
µÚ¤Ó¤½¤Î¾¸¶¹Æ: </contrib>
</author>
</authorgroup>
<!-- January 2000 -->
</chapterinfo>
- <title>&os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë (8.<replaceable>X</replaceable> °ÊÁ°¤Î¾ì¹ç)</title>
+ <title>&os;&nbsp;8.<replaceable>X</replaceable> ¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
<sect1 id="install-synopsis">
<title>¤³¤Î¾Ï¤Ç¤Ï</title>
<indexterm><primary>installation</primary></indexterm>
- <para>FreeBSD ¤Ç¤Ï¡¢
- ¥Æ¥­¥¹¥È¥Ù¡¼¥¹¤Î»È¤¤¤ä¤¹¤¤¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥°¥é¥à¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
- &os; 9.0-RELEASE °Ê¹ß¤Ç¤Ï <application>bsdinstall</application>
+ <para>&os; ¤Ï¡¢
+ ¥Æ¥­¥¹¥È¥Ù¡¼¥¹¤Î»È¤¤¤ä¤¹¤¤¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥°¥é¥à¤òÍѰդ·¤Æ¤¤¤Þ¤¹¡£
+ &os; 9.0-RELEASE °Ê¹ß¤Ç¤Ï &man.bsdinstall.8;
¤È¸Æ¤Ð¤ì¤ë¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥°¥é¥à¤ò»È¤¤¡¢
- 9.0-RELEASE ¤è¤êÁ°¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï
- <application>sysinstall</application> ¤ò»È¤¤¤Þ¤¹¡£
- ¤³¤Î¾Ï¤Ç¤Ï¡¢<application>sysinstall</application> ¤ò»È¤Ã¤¿
- &os; ¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤òÀâÌÀ¤·¤Þ¤¹¡£
- <application>bsdsysinstall</application> ¤ÎÍøÍѤˤĤ¤¤Æ¤Ï
+ &os;&nbsp;8.<replaceable>X</replaceable> ¤Ç¤Ï
+ &man.sysinstall.8; ¤ò»È¤¤¤Þ¤¹¡£
+ ¤³¤Î¾Ï¤Ç¤Ï¡¢&man.sysinstall.8; ¤Î»È¤¤Êý¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
+ &man.bsdinstall.8; ¤ÎÍøÍѤˤĤ¤¤Æ¤Ï
<xref linkend="bsdinstall"/> ¤ÇÀâÌÀ¤·¤Þ¤¹¡£</para>
<para>¤³¤Î¾Ï¤òÆÉ¤á¤Ð¡¢¼¡¤Î¤³¤È¤¬¤ï¤«¤ë¤Ç¤·¤ç¤¦:</para>
<itemizedlist>
<listitem>
- <para>FreeBSD ¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥¹¥¯¤Îºî¤êÊý¡£</para>
+ <para>&os; ¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤Îºî¤êÊý¡£</para>
</listitem>
<listitem>
- <para>FreeBSD ¤¬¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤ò¤É¤Î¤è¤¦¤Ë»²¾È¤¹¤ë¤«¡¢
+ <para>&os; ¤¬¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤ò¤É¤Î¤è¤¦¤Ë»²¾È¤¹¤ë¤«¡¢
¤Þ¤¿¤É¤Î¤è¤¦¤Ëʬ³ä¤¹¤ë¤«¡£</para>
</listitem>
<listitem>
- <para><application>sysinstall</application>
+ <para>&man.sysinstall.8;
¤ò¤É¤Î¤è¤¦¤Ëµ¯Æ°¤¹¤ë¤«¡£</para>
</listitem>
<listitem>
- <para><application>sysinstall</application>
+ <para>&man.sysinstall.8;
¤¬Ê¹¤¤¤Æ¤¯¤ë¼ÁÌ䤬¤É¤Î¤è¤¦¤Ê°ÕÌ£¤Ç¤¢¤ê¡¢
¤Þ¤¿¤É¤Î¤è¤¦¤ËÅú¤¨¤ì¤ÐÎɤ¤¤«¡£</para>
</listitem>
</itemizedlist>
<para>¤³¤Î¾Ï¤òÆÉ¤àÁ°¤Ë¡¢°Ê²¼¤Î¤³¤È¤ò³Îǧ¤·¤Æ²¼¤µ¤¤:</para>
<itemizedlist>
<listitem>
- <para>¥¤¥ó¥¹¥È¡¼¥ë¤·¤è¤¦¤È¤¹¤ë¥Ð¡¼¥¸¥ç¥ó¤Î FreeBSD
+ <para>¥¤¥ó¥¹¥È¡¼¥ë¤·¤è¤¦¤È¤¹¤ë¥Ð¡¼¥¸¥ç¥ó¤Î &os;
¤ËÉÕ°¤·¤Æ¤¤¤ë¥µ¥Ý¡¼¥È¥Ï¡¼¥É¥¦¥§¥¢°ìÍ÷¤òÆÉ¤ó¤Ç¡¢
- ¤¢¤Ê¤¿¤Î»È¤Ã¤Æ¤¤¤ë¥Ï¡¼¥É¥¦¥§¥¢¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«³Îǧ¤·¤Æ²¼¤µ¤¤¡£</para>
+ ¥·¥¹¥Æ¥à¤Î¥Ï¡¼¥É¥¦¥§¥¢¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«³Îǧ¤·¤Æ²¼¤µ¤¤¡£</para>
</listitem>
</itemizedlist>
<note>
- <para>Ä̾¤³¤ì¤é¤Î¥¤¥ó¥¹¥È¡¼¥ëÀâÌÀ½ñ¤Ï &i386; (<quote>PC ¸ß´¹</quote>)
- ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î¥³¥ó¥Ô¥å¡¼¥¿¤òÂоݤˤ·¤Æ¤¤¤Þ¤¹¡£
- ¾¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ËÆÃÍ­¤ÎÀâÌÀ¤Ë¤Ä¤¤¤Æ¤ÏÌÀµ­¤·¤Æ¤¤¤Þ¤¹¡£
- ¤³¤Î¥¬¥¤¥É¤Ç¤Ï¡¢½ÐÍè¤ë¸Â¤êºÇ¿·¤Î¾ðÊó¤òÄ󶡤¹¤ë¤è¤¦¤ËÅØÎϤ·¤Æ¤¤¤Þ¤¹¤¬¡¢
+ <para>¤³¤Î¾Ï¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¥¤¥ó¥¹¥È¡¼¥ë¼ê½ç¤Ï¡¢&i386; ¤ª¤è¤Ó
+ &os;/&arch.amd64; ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤òÂоݤˤ·¤Æ¤¤¤Þ¤¹¡£
+ ¾¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ËÆÃÍ­¤ÎÀâÌÀ¤Ë¤Ä¤¤¤Æ¤â¡¢
+ ³ºÅö¤¹¤ë¾ì½ê¤ËÌÀµ­¤·¤Æ¤¤¤Þ¤¹¡£
¥¤¥ó¥¹¥È¡¼¥é¤È¤³¤Îʸ½ñ¤Çµ­½Ò¤·¤Æ¤¤¤ëÆâÍÆ¤È¤Î´Ö¤Ë¤Ï¤¤¤¯¤é¤«¥º¥ì¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¾Ï¤òÀµ³Î¤Ê¥¤¥ó¥¹¥È¡¼¥ë¥Þ¥Ë¥å¥¢¥ë¤È¤·¤Æ¤Ç¤Ï¤Ê¤¯¡¢
°ìÈÌŪ¤Ê¥¬¥¤¥É¤È¤·¤Æ¤´ÍøÍѤ¯¤À¤µ¤¤¡£</para>
</note>
</sect1>
<sect1 id="install-hardware">
<title>¥Ï¡¼¥É¥¦¥§¥¢Í×·ï</title>
<sect2 id="install-hardware-minimal">
<title>ºÇ¾®¹½À®</title>
<para>&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëºÇ¾®¹½À®¤Ï¡¢
&os; ¤Î¥Ð¡¼¥¸¥ç¥ó¤ä¥Ï¡¼¥É¥¦¥§¥¢¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£</para>
<para>°Ê²¼¤ÎÀá¤Ç¤Ï¡¢ºÇ¾®¹½À®¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤ò¤Þ¤È¤á¤Æ¤¤¤Þ¤¹¡£
- ¤Þ¤¿¡¢&os; ¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Ë¤è¤Ã¤Æ¡¢¥Õ¥í¥Ã¥Ô¡¼¥É¥é¥¤¥Ö¤ä¡¢
- Âбþ¤·¤Æ¤¤¤ë CDROM ¥É¥é¥¤¥Ö¡¢
- ¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥À¥×¥¿¤¬É¬ÍפȤʤê¤Þ¤¹¡£
- ¤³¤ì¤Ë´Ø¤·¤Æ¤Ï¡¢<xref linkend="install-boot-media"/>
- ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
+ ¤Þ¤¿¡¢&os; ¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤Ë¤è¤Ã¤Æ¡¢¥Õ¥í¥Ã¥Ô¡¼¥É¥é¥¤¥Ö¡¢
+ CDROM ¥É¥é¥¤¥Ö¡¢¤â¤·¤¯¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥À¥×¥¿¤¬É¬ÍפȤʤê¤Þ¤¹¡£
+ ¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤Î½àÈ÷ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+ <xref linkend="install-boot-media"/> ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<sect3>
<title>&os;/&arch.i386; ¤ª¤è¤Ó &os;/&arch.pc98;</title>
<para>&os;/&arch.i386; ¤È &os;/&arch.pc98; ¤ÎξÊý¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ï¡¢
486 °Ê¾å¤Î¥×¥í¥»¥Ã¥µ¤È¡¢
¾¯¤Ê¤¯¤È¤â 24&nbsp;MB ¤Î RAM ¤¬É¬ÍפǤ¹¡£
ºÇ¾®¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤Ï¡¢
¾¯¤Ê¤¯¤È¤â 150 &nbsp;MB ¤Î¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Î¶õ¤­ÍÆÎ̤¬É¬ÍפǤ¹¡£</para>
<note>
- <para>Ä̾¸Å¤¤¹½À®¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
+ <para>Ä̾¸Å¤¤¥Ï¡¼¥É¥¦¥§¥¢¤Ç¤Ï¡¢
®¤¤¥×¥í¥»¥Ã¥µ¤òÆþ¼ê¤¹¤ë¤è¤ê¡¢¤è¤ê¿¤¯¤Î RAM
- ¤ä¤è¤ê¿¤¯¤ÎÍÆÎ̤Υϡ¼¥É¥É¥é¥¤¥Ö¤òÍѰդ¹¤ë¤Û¤¦¤¬½ÅÍפǤ¹¡£</para>
+ ¤ä¤è¤ê¿¤¯¤ÎÍÆÎ̤Υϡ¼¥É¥É¥é¥¤¥Ö¤òÍѰդ¹¤ë¤Û¤¦¤¬½ÅÍפȤʤê¤Þ¤¹¡£</para>
</note>
</sect3>
<sect3>
<title>&os;/&arch.amd64;</title>
<para>&os;/&arch.amd64; ¤ò¼Â¹Ô²Äǽ¤Ê¥×¥í¥»¥Ã¥µ¤Ë¤Ï
2 ¤Ä¤Î¥¯¥é¥¹¤¬¤¢¤ê¤Þ¤¹¡£
1 ¤ÄÌܤΥ¯¥é¥¹¤Ï¡¢&amd.athlon;64, &amd.athlon;64-FX, &amd.opteron;
¤ä¤½¤ì¤è¤ê¿·¤·¤¤¥×¥í¥»¥Ã¥µ¤Ç¤¹¡£</para>
<para>¤â¤¦ 1 ¤Ä¤Î¥¯¥é¥¹¤Ï¡¢
&intel; EM64T ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤òºÎÍѤ·¤Æ¤¤¤ë¥×¥í¥»¥Ã¥µ¤Ç¤¹¡£
¤³¤ì¤é¤Î¥×¥í¥»¥Ã¥µ¤ÎÎã¤Ï¡¢
&intel;&nbsp;&core;&nbsp;2 Duo, Quad, Extreme ¥×¥í¥»¥Ã¥µ¥Õ¥¡¥ß¥ê¤ª¤è¤Ó
&intel;&nbsp;&xeon; 3000, 5000, ¤ª¤è¤Ó 7000 ·Ï¤Î¥×¥í¥»¥Ã¥µ¤Ç¤¹¡£</para>
<para>nVidia nForce3 Pro-150 ¥Ù¡¼¥¹¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢
BIOS ¤Î¥»¥Ã¥È¥¢¥Ã¥×¤ò»È¤Ã¤Æ¡¢IO APIC ¤ò̵¸ú¤Ë¤¹¤ë
<emphasis>ɬÍפ¬¤¢¤ê¤Þ¤¹</emphasis>¡£
¤â¤·¡¢¤³¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤¬¤Ê¤±¤ì¤Ð¡¢
- Âå¤ï¤ê¤Ë ACPI ¤ò̵¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£
- Pro-150 ¥Á¥Ã¥×¥»¥Ã¥È¤Ë¤Ï²óÈòºö¤¬¸«¤Ä¤«¤Ã¤Æ¤¤¤Ê¤¤¥Ð¥°¤¬¤¢¤ê¤Þ¤¹¡£</para>
+ ¤«¤ï¤ê¤Ë ACPI ¤ò̵¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
+ Pro-150 ¥Á¥Ã¥×¥»¥Ã¥È¤Ë¤Ï²óÈòºö¤¬¸«¤Ä¤«¤Ã¤Æ¤¤¤Ê¤¤¥Ð¥°¤¬¤¢¤ë¤¿¤á¤Ç¤¹¡£</para>
</sect3>
<sect3>
<title>&os;/&arch.sparc64;</title>
<para>&os;/&arch.sparc64; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
- ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Ï¡¼¥É¥¦¥§¥¢¤¬É¬ÍפǤ¹
+ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤¬É¬ÍפǤ¹
(<xref linkend="install-hardware-supported"/> ¤ò¤´Í÷¤¯¤À¤µ¤¤)¡£</para>
<para>¸½»þÅÀ¤Ç¤Ï¡¢Â¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¥Ç¥£¥¹¥¯¤Î¶¦Í­¤¬¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢
&os;/&arch.sparc64; ÀìÍѤΥǥ£¥¹¥¯¤¬É¬ÍפǤ¹¡£</para>
</sect3>
</sect2>
<sect2 id="install-hardware-supported">
<title>¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Ï¡¼¥É¥¦¥§¥¢</title>
<para>¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥Ï¡¼¥É¥¦¥§¥¢¤Î¥ê¥¹¥È¤Ï &os; ¤Î¥ê¥ê¡¼¥¹¤È°ì½ï¤Ë
&os; ¥Ï¡¼¥É¥¦¥§¥¢¥Î¡¼¥È¤È¤·¤ÆÄ󶡤µ¤ì¤Þ¤¹¡£
¤³¤Î¥É¥­¥å¥á¥ó¥È¤ÏÄ̾ï CDROM ¤ä FTP ÇÛÉۤΰìÈÖ¾å¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ä
- <application>sysinstall</application> ¤Î¥É¥­¥å¥á¥ó¥È¥á¥Ë¥å¡¼¤Ë¤¢¤ë
+ &man.sysinstall.8; ¤Î¥É¥­¥å¥á¥ó¥È¥á¥Ë¥å¡¼¤Ë¤¢¤ë
<filename>HARDWARE.TXT</filename> ¤È¤¤¤¦Ì¾¤Î¥Õ¥¡¥¤¥ë¤Ç¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤´¤È¤ËÍѰդµ¤ì¤ë¤½¤Î¥ê¥¹¥È¤ò¸«¤ë¤³¤È¤Ç¡¢&os;
¤Î³Æ¥ê¥ê¡¼¥¹¤Ç¤É¤Î¤è¤¦¤Ê¥Ï¡¼¥É¥¦¥§¥¢ÁõÃÖ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤ë¤«¤¬¤ï¤«¤ê¤Þ¤¹¡£
¥ê¥ê¡¼¥¹¤´¤È¡¢¤ª¤è¤Ó¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤´¤È¤Î¥Ï¡¼¥É¥¦¥§¥¢¥ê¥¹¥È¤Ï¡¢
&os; ¤Î¥¦¥§¥Ö¥µ¥¤¥È¤Î <ulink
url="http://www.FreeBSD.org/ja/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó</ulink>
¤Î¥Ú¡¼¥¸¤Ë¤¢¤ê¤Þ¤¹¡£</para>
</sect2>
</sect1>
<sect1 id="install-pre">
<title>¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë¹Ô¤¦ºî¶È</title>
<sect2 id="install-inventory">
- <title>¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ÎÉôÉʰìÍ÷¤òºî¤ë (Inventory)</title>
+ <title>¥³¥ó¥Ô¥å¡¼¥¿¤ÎÉôÉʰìÍ÷¤òºî¤ë</title>
<para>&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¡¢
- ¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ç»ÈÍѤ·¤Æ¤¤¤ëÉôÉʤΰìÍ÷¤òºî¤Ã¤Æ¤ª¤¤¤¿¤Û¤¦¤¬¤¤¤¤¤Ç¤·¤ç¤¦¡£
- &os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥ë¡¼¥Á¥ó¤Ï¡¢ÉôÉÊ (¥Ï¡¼¥É¥Ç¥£¥¹¥¯¡¢
- ¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼¥É¡¢CDROM ¥É¥é¥¤¥Ö¤Ê¤É)
- ¤Î¥â¥Ç¥ëÈÖ¹æ¤È¥á¡¼¥«¡¼¤òɽ¼¨¤·¡¢
- ¤µ¤é¤Ë¤³¤ì¤é¤Î¥Ç¥Ð¥¤¥¹¤Ë¤Ä¤¤¤Æ¡¢»ÈÍѤ¹¤ë IRQ, IO
- ¥Ý¡¼¥È¤Þ¤Ç´Þ¤á¤ÆÀµ¤·¤¤ÀßÄê¤òǧ¼±¤·¤è¤¦¤È»î¤ß¤Þ¤¹¡£¤·¤«¤·¡¢PC
- ¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤è¤Ã¤Æ¤Ï¡¢¤³¤Î²áÄø¤Ï´°Á´¤Ë¤ÏÀ®¸ù¤»¤º¡¢&os;
- ¤¬Ç§¼±¤·¤¿ÀßÄê¤ò½¤Àµ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤â¤¢¤ê¤Þ¤¹¡£</para>
+ ¥³¥ó¥Ô¥å¡¼¥¿¤Ç»ÈÍѤ·¤Æ¤¤¤ëÉôÉʤΰìÍ÷¤òºî¤Ã¤Æ¤ª¤¯¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£
+ &os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥ë¡¼¥Á¥ó¤Ç¤Ï¡¢¥Ï¡¼¥É¥Ç¥£¥¹¥¯¡¢¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼¥É¡¢
+ CDROM ¥É¥é¥¤¥Ö¤Ê¤É¤ÎÉôÉʤò¡¢¥â¥Ç¥ëÈֹ桢¥á¡¼¥«¡¼Ì¾¤È¤È¤â¤Ëɽ¼¨¤·¤Þ¤¹¡£
+ ¤µ¤é¤Ë¤³¤ì¤é¤Î¥Ç¥Ð¥¤¥¹¤Ë¤Ä¤¤¤Æ¡¢»ÈÍѤ¹¤ë IRQ, I/O
+ ¥Ý¡¼¥È¤Þ¤Ç´Þ¤á¤ÆÀµ¤·¤¤ÀßÄê¤òǧ¼±¤·¤è¤¦¤È»î¤ß¤Þ¤¹¡£
+ ¤·¤«¤·¡¢¥³¥ó¥Ô¥å¡¼¥¿¤Î¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤è¤Ã¤Æ¤Ï¡¢
+ ¤³¤Î²áÄø¤¬´°Á´¤ËÀ®¸ù¤¹¤ë¤È¤Ï¸Â¤é¤º¡¢
+ ¼êư¤Ç½¤Àµ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤â¤¢¤ê¤Þ¤¹¡£</para>
- <para>&windows; ¤ä Linux ¤Ê¤É¤Î¡¢
- ¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬´û¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
- ¤½¤ì¤é¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤Î¤¢¤Ê¤¿¤Î¥Ï¡¼¥É¥¦¥§¥¢¤ÎÀßÄê¤ò»²¹Í¤Ë¤¹¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£
+ <para>´û¤ËÊ̤Υª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
+ ¤½¤ì¤é¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤Î¥Ï¡¼¥É¥¦¥§¥¢¤ÎÀßÄê¤ò»²¹Í¤Ë¤¹¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£
³ÈÄ¥¥«¡¼¥É¤Ê¤É¤ÎÀßÄ꤬¤è¤¯Ê¬¤«¤é¤Ê¤¤¾ì¹ç¤Ï¡¢
- ¥«¡¼¥É¾å¤Î°õºþ¤ò¸«¤ë¤³¤È¤Çʬ¤«¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
- ¤è¤¯»È¤ï¤ì¤ë IRQ ¤Ï 3, 5, 7 ¤Ç¡¢IO ¥Ý¡¼¥È¥¢¥É¥ì¥¹¤ÏÄ̾ï 0x330 ¤Î¤è¤¦¤Ê
+ ¥«¡¼¥É¤½¤Î¤â¤Î¤Ë°õºþ¤µ¤ì¤Æ¤¤¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
+ ¤è¤¯»È¤ï¤ì¤ë IRQ ¤Ï 3, 5, 7 ¤Ç¡¢I/O ¥Ý¡¼¥È¥¢¥É¥ì¥¹¤ÏÄ̾ï
+ <literal>0x330</literal> ¤Î¤è¤¦¤Ê
16 ¿Ê¿ô¤Ç½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para>&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¡¢
- ¤³¤Î¾ðÊó¤ò°õºþ¤¹¤ë¤«½ñ¤­Î±¤á¤Æ¤ª¤¯¤«¤¹¤ë¤³¤È¤ò´«¤á¤Þ¤¹¡£
+ ¤³¤ì¤é¤Î¾ðÊó¤ò°õºþ¤¹¤ë¤«½ñ¤­Î±¤á¤Æ¤ª¤¯¤³¤È¤ò´«¤á¤Þ¤¹¡£
Î㤨¤Ð¼¡¤Î¤è¤¦¤Êɽ¤Ç¤¹:</para>
<table pgwide="1" frame="none">
<title>¥µ¥ó¥×¥ë¥Ç¥Ð¥¤¥¹°ìÍ÷</title>
<tgroup cols="4">
<colspec colwidth="2*"/>
<colspec colwidth="1*"/>
<colspec colwidth="1*"/>
<colspec colwidth="4*"/>
<thead>
<row>
<entry>¥Ç¥Ð¥¤¥¹¤Î̾Á°</entry>
<entry>IRQ</entry>
- <entry>IO ¥Ý¡¼¥È</entry>
+ <entry>I/O ¥Ý¡¼¥È</entry>
<entry>¥á¥â</entry>
</row>
</thead>
<tbody>
<row>
<entry>1 ÂæÌܤΥϡ¼¥É¥Ç¥£¥¹¥¯</entry>
<entry>N/A</entry>
<entry>N/A</entry>
<entry>40&nbsp;GB, Seagate À½¡¢¥×¥é¥¤¥Þ¥ê IDE ¥Þ¥¹¥¿</entry>
</row>
<row>
<entry>CDROM</entry>
<entry>N/A</entry>
<entry>N/A</entry>
<entry>¥×¥é¥¤¥Þ¥ê IDE ¥¹¥ì¡¼¥Ö</entry>
</row>
<row>
<entry>2 ÂæÌܤΥϡ¼¥É¥Ç¥£¥¹¥¯</entry>
<entry>N/A</entry>
<entry>N/A</entry>
<entry>20&nbsp;GB, IBM À½¡¢¥»¥«¥ó¥À¥ê IDE ¥Þ¥¹¥¿</entry>
</row>
<row>
<entry>1 ¤ÄÌܤΠIDE ¥³¥ó¥È¥í¡¼¥é</entry>
<entry>14</entry>
<entry>0x1f0</entry>
<entry></entry>
</row>
<row>
<entry>¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼¥É</entry>
<entry>N/A</entry>
<entry>N/A</entry>
<entry>&intel; 10/100</entry>
</row>
<row>
<entry>¥â¥Ç¥à</entry>
<entry>N/A</entry>
<entry>N/A</entry>
<entry>&tm.3com; 56K ¥Õ¥¡¥Ã¥¯¥¹¥â¥Ç¥à¡¢COM1 ¤ËÀܳ</entry>
</row>
<row>
<entry>&hellip;</entry>
</row>
</tbody>
</tgroup>
</table>
<para>¥³¥ó¥Ô¥å¡¼¥¿¤Ç»ÈÍѤ·¤Æ¤¤¤ëÉôÉʤΰìÍ÷¤òºîÀ®¤·¤¿¤é¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë &os;
¤Î¥ê¥ê¡¼¥¹¤Î¥Ï¡¼¥É¥¦¥§¥¢Í×·ï¤òËþ¤¿¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2>
<title>¥Ç¡¼¥¿¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×</title>
- <para>&os;
- ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥³¥ó¥Ô¥å¡¼¥¿¤Ë²ÁÃͤΤ¢¤ë¥Ç¡¼¥¿¤¬Æþ¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢
- ³Î¼Â¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¤È¤ê¡¢
+ <para>¥³¥ó¥Ô¥å¡¼¥¿¤Ë²ÁÃͤΤ¢¤ë¥Ç¡¼¥¿¤¬Æþ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
+ &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¡¢¥Ç¡¼¥¿¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¤È¤ê¡¢
¤µ¤é¤ËÀµ¤·¤¯¥Ð¥Ã¥¯¥¢¥Ã¥×¤¬¤È¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ²¼¤µ¤¤¡£&os;
- ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥ë¡¼¥Á¥ó¤Ï¡¢¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Ë¼ÂºÝ¤Ë½ñ¤­¹þ¤àÁ°¤Ë³Îǧ¤òµá¤á¤Þ¤¹¤¬¡¢
+ ¤Î¥¤¥ó¥¹¥È¡¼¥é¤Ï¡¢¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Ë¼ÂºÝ¤Ë½ñ¤­¹þ¤àÁ°¤Ë³Îǧ¤òµá¤á¤Þ¤¹¤¬¡¢
°ìÅټºݤ˽ñ¤­¹þ¤àºî¶È¤¬»Ï¤Þ¤Ã¤Æ¤·¤Þ¤¦¤È¡¢
¤â¤¦¸µ¤ËÌ᤹¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£</para>
</sect2>
<sect2 id="install-where">
<title>&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì½ê¤Î·èÄê</title>
- <para>&os; ¤ò¡¢¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤¹¤Ù¤Æ¤ò»È¤Ã¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¤Ï¡¢
- ¤³¤Î»þÅÀ¤Ç³Îǧ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤Ï²¿¤â¤¢¤ê¤Þ¤»¤ó &mdash;
- ¤³¤ÎÀá¤òÈô¤Ð¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ <para>¥Ï¡¼¥É¥Ç¥£¥¹¥¯Á´ÂÎ¤Ë &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢
+ ¤³¤ÎÀá¤ÏÆÉ¤ßÈô¤Ð¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¤·¤«¤· &os;
¤ò¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¶¦Â¸¤µ¤»¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ï¡¢
- ¥Ç¡¼¥¿¤¬¥Ç¥£¥¹¥¯¤Ë¤É¤Î¤è¤¦¤ËÇÛÃÖ¤µ¤ì¤Æ¤ª¤ê¡¢
- ¤½¤ì¤¬¤É¤Î¤è¤¦¤Ë±Æ¶Á¤¹¤ë¤«¤òÂç¤Þ¤«¤ËÍý²ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
+ ¥Ç¡¼¥¿¤¬¥Ç¥£¥¹¥¯¤Ë¤É¤Î¤è¤¦¤ËÇÛÃÖ¤µ¤ì¤ë¤«¤òÂç¤Þ¤«¤ËÍý²ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<sect3 id="install-where-i386">
<title>&os;/&arch.i386; ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Î¥Ç¥£¥¹¥¯¥ì¥¤¥¢¥¦¥È</title>
- <para>PC ¤Î¥Ç¥£¥¹¥¯¤Ï¸ÄÊ̤βô¤Ëʬ³ä¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
- ¤³¤ì¤é¤Î²ô¤Ï <firstterm>¥Ñ¡¼¥Æ¥£¥·¥ç¥ó</firstterm> ¤È¸Æ¤Ð¤ì¤Þ¤¹¡£
+ <para>PC ¤Î¥Ç¥£¥¹¥¯¤Ï¡¢
+ <firstterm>¥Ñ¡¼¥Æ¥£¥·¥ç¥ó</firstterm> ¤È¸Æ¤Ð¤ì¤ë¡¢
+ ¸ÄÊ̤βô¤Ëʬ³ä¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
&os; ¤ÏÆâÉô¤Ë¤â¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»ý¤Ä¤Î¤Ç¡¢¤³¤Î̾¾Î¤Ïº®Íð¤ò¤ª¤³¤·¤Þ¤¹¡£
- ¤½¤Î¤¿¤á¡¢&os; ¤Ç¤Ï¤³¤Î²ô¤ò¥Ç¥£¥¹¥¯¥¹¥é¥¤¥¹¤Þ¤¿¤Ïñ¤Ë¥¹¥é¥¤¥¹¤È¸Æ¤Ó¤Þ¤¹¡£
- ¤¿¤È¤¨¤Ð¡¢PC ¥Ç¥£¥¹¥¯¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÁàºî¤¹¤ë &os; ¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î
- <command>fdisk</command> ¤Ï¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ç¤Ï¤Ê¤¯¥¹¥é¥¤¥¹¤È¸Æ¤Ó¤Þ¤¹¡£
+ ¤½¤Î¤¿¤á¡¢&os; ¤Ç¤Ï¤³¤Î²ô¤ò¥¹¥é¥¤¥¹¤È¸Æ¤Ó¤Þ¤¹¡£
+ ¤¿¤È¤¨¤Ð¡¢&man.fdisk.8; ¤Î &os; ÈǤϡ¢
+ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ç¤Ï¤Ê¤¯¥¹¥é¥¤¥¹¤È¸Æ¤Ó¤Þ¤¹¡£
PC ¤Ç¤Ï¡¢¥Ç¥£¥¹¥¯ 1 Âæ¤¢¤¿¤ê 4 ¤Ä¤Þ¤Ç¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤é¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï<firstterm>¥×¥é¥¤¥Þ¥ê¥Ñ¡¼¥Æ¥£¥·¥ç¥ó</firstterm>¤È¸Æ¤Ð¤ì¤Þ¤¹¡£
¤³¤ÎÀ©¸Â¤ò²óÈò¤·¡¢
4 ¤Ä°Ê¾å¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤¹¤ë¤¿¤á¤Ë<firstterm>³ÈÄ¥¥Ñ¡¼¥Æ¥£¥·¥ç¥ó</firstterm>¤È¸Æ¤Ð¤ì¤ë¿·¤·¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó·Á¼°¤¬ºî¤é¤ì¤Þ¤·¤¿¡£
¥Ç¥£¥¹¥¯ 1 Âæ¤Ë¤Ä¤­ 1 ¤Ä¤À¤±³ÈÄ¥¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤Ç¤­¤Þ¤¹¡£
ÏÀÍý¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¸Æ¤Ð¤ì¤ëÆÃÊ̤Υѡ¼¥Æ¥£¥·¥ç¥ó¤Ï¡¢
¤³¤Î³ÈÄ¥¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÆâÉô¤ËºîÀ®¤Ç¤­¤Þ¤¹¡£</para>
<para>¤½¤ì¤¾¤ì¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¡¢
¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤ë¥Ç¡¼¥¿¤Î·Á¼°¤ò¼¨¤¹¿ô»ú¤Ç¤¢¤ë¡¢
<firstterm>¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ID</firstterm> ¤ò»ý¤Á¤Þ¤¹¡£&os;
¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ID ¤Ï <literal>165</literal>¤Ç¤¹¡£</para>
<para>Ä̾³Æ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ï¡¢
- ¤½¤ì¤¾¤ìÆÈ¼«¤ÎÊýË¡¤Ç¸Ä¡¹¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¼±Ê̤·¤Þ¤¹¡£Î㤨¤Ð &ms-dos; ¤ä
- &windows; ¤Ê¤É¤Î &ms-dos; ¤Î»Ò¹¤Ï¡¢
- ¥×¥é¥¤¥Þ¥ê¥Ñ¡¼¥Æ¥£¥·¥ç¥óµÚ¤ÓÏÀÍý¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤½¤ì¤¾¤ì¤Ë
+ ¤½¤ì¤¾¤ìÆÈ¼«¤ÎÊýË¡¤Ç¸Ä¡¹¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¼±Ê̤·¤Þ¤¹¡£
+ ¤¿¤È¤¨¤Ð &windows; ¤Ï¡¢
+ ¥×¥é¥¤¥Þ¥ê¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ª¤è¤ÓÏÀÍý¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤½¤ì¤¾¤ì¤Ë
<devicename>C:</devicename> ¤«¤é»Ï¤Þ¤ë
<firstterm>¥É¥é¥¤¥Ö¥ì¥¿¡¼</firstterm>¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£</para>
<para>&os;
¤Ï¥×¥é¥¤¥Þ¥ê¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
- &os; ¤Ï¤¢¤Ê¤¿¤¬ºîÀ®¤·¤¿¥Õ¥¡¥¤¥ë¤ò´Þ¤à¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤ò¡¢
- ¤³¤Î°ì¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÊÝ»ý¤Ç¤­¤Þ¤¹¡£
- ¤·¤«¤·Ê£¿ô¤Î¥Ç¥£¥¹¥¯¤¬¤¢¤ë¾ì¹ç¤Ï¤½¤Î¤¦¤Á¤Î¤¤¤¯¤Ä¤«¡¢¤â¤·¤¯¤Ï¤¹¤Ù¤Æ¤Ë¡¢
+ Ê£¿ô¤Î¥Ç¥£¥¹¥¯¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤Î¤¦¤Á¤Î¤¤¤¯¤Ä¤«¡¢¤â¤·¤¯¤Ï¤¹¤Ù¤Æ¤Ë¡¢
&os; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»þ¤Ï
- 1 ¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»ÈÍѲÄǽ¤Ë¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
- ¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¡¢¿·¤¿¤ËÍѰդ·¤¿¶õÇò¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ç¤â¤¤¤¤¤Ç¤¹¤·¡¢
- ¤Þ¤¿¤Ï̵¤¯¤Ê¤Ã¤Æ¤â¹½¤ï¤Ê¤¤¥Ç¡¼¥¿¤·¤«Æþ¤Ã¤Æ¤¤¤Ê¤¤¡¢
+ ¾¯¤Ê¤¯¤È¤â 1 ¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»ÈÍѲÄǽ¤Ë¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+ ¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¡¢¶õÇò¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¢
+ ¤â¤·¤¯¤Ï̵¤¯¤Ê¤Ã¤Æ¤â¹½¤ï¤Ê¤¤¥Ç¡¼¥¿¤·¤«Æþ¤Ã¤Æ¤¤¤Ê¤¤¡¢
´û¸¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£</para>
- <para>¤¹¤Ù¤Æ¤Î¥Ç¥£¥¹¥¯¤Ç¡¢´û¤Ë¤¹¤Ù¤Æ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
+ <para>¤¹¤Ù¤Æ¤Î¥Ç¥£¥¹¥¯¤Î¤¹¤Ù¤Æ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¥Ä¡¼¥ë
- (Î㤨¤Ð &ms-dos; ¤Þ¤¿¤Ï &windows; ¤Î <command>fdisk</command>) ¤ò»ÈÍѤ·¤Æ¡¢
- ¤½¤Î¤¦¤Á¤Î 1 ¤Ä¤ò &os; ¤Î¤¿¤á¤Ë²òÊü¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</para>
+ (¤¿¤È¤¨¤Ð &windows; ¤Î <command>fdisk</command>) ¤ò»ÈÍѤ·¤Æ¡¢
+ ¤½¤Î¤¦¤Á¤Î 1 ¤Ä¤ò &os; ¤Î¤¿¤á¤Ë²òÊü¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
- <para>ͽÈ÷¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¤½¤ì¤ò»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
- ¤·¤«¤·¡¢¤Þ¤º»Ï¤á¤Ï
- 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î´û¸¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò½Ì¾®¤¹¤ë¤³¤È¤ò¹Í¤¨¤Æ¤âÎɤ¤¤Ç¤·¤ç¤¦¡£</para>
+ <para>ͽÈ÷¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ì¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
+ ¤â¤·¡¢ÍøÍѤǤ­¤ëÍÆÎ̤¬¾¯¤Ê¤±¤ì¤Ð¡¢
+ 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î´û¸¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò½Ì¾®¤·¤Æ¡¢
+ ÍøÍѤǤ­¤ëÍÆÎ̤ò³ÎÊݤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>&os; ¤ÎºÇ¾®¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ï¡¢100&nbsp;MB
ÄøÅ٤Υǥ£¥¹¥¯ÍÆÎ̤¬É¬ÍפǤ¹¡£
¤·¤«¤·¤³¤ì¤Ï<emphasis>Èó¾ï¤Ë</emphasis>¾®¤µ¤Ê¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤¢¤ê¡¢
¼«Ê¬¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¥¹¥Ú¡¼¥¹¤Ï¤Û¤È¤ó¤É»Ä¤é¤Ê¤¤¤Ç¤·¤ç¤¦¡£
¸½¼ÂŪ¤Ë¤Ï¡¢¥°¥é¥Õ¥£¥«¥ë¤Ê´Ä¶­¤¬É¬Íפʤ¤¤Î¤Ç¤¢¤ì¤Ð 250&nbsp;MB¡¢
¥°¥é¥Õ¥£¥«¥ë¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò»ÈÍѤ¹¤ë¤Î¤Ç¤¢¤ì¤Ð 350&nbsp;MB
°Ê¾å¤ÏɬÍפǤ·¤ç¤¦¡£
- ¤½¤Î¾å¡¢Â¿¤¯¤Î¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¥½¥Õ¥È¥¦¥§¥¢¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ê¤é¤Ð¡¢
+ ¤½¤Î¾å¡¢¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¥½¥Õ¥È¥¦¥§¥¢¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ê¤é¤Ð¡¢
¤µ¤é¤Ë¿¤¯¤Î¥¹¥Ú¡¼¥¹¤¬É¬Íפˤʤë¤Ç¤·¤ç¤¦¡£</para>
<para>&os; ¤Î¤¿¤á¤Î¥¹¥Ú¡¼¥¹¤òÍѰդ¹¤ëºÝ¡¢
¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥µ¥¤¥º¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë¡¢
<application>GParted</application>
¤Ê¤É¤Î¥Ä¡¼¥ë¤ò»ÈÍѤǤ­¤Þ¤¹¡£
<application>GParted</application> ¤Ï¡¢
<acronym>NTFS</acronym> ¤òÁàºî¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢
<ulink url="http://www.sysresccd.org/">SystemRescueCD</ulink>
¤È¤¤¤Ã¤¿Â¿¤¯¤Î Live CD Linux ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤ÇÍøÍѤǤ­¤Þ¤¹¡£</para>
- <para>&microsoft; Vista
- ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥µ¥¤¥º¤ÎÊѹ¹¤Ë´Ø¤·¤ÆÌäÂ꤬Êó¹ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
- ¤³¤Î¤è¤¦¤Êºî¶È¤ò¹Ô¤¦ºÝ¤Ï¡¢
- Vista ¤Î¥¤¥ó¥¹¥È¡¼¥ë CDROM ¤ò¼ê¸µ¤ËÃÖ¤¤¤Æ¤ª¤¯¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
- ¤Þ¤¿¡¢¤³¤Î¤è¤¦¤Ê¥Ç¥£¥¹¥¯´ÉÍý¤Îºî¶È¤ò¹Ô¤¦»þ¤Ë¤Ï¡¢
- ¸½ºß¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤Ã¤Æ¤ª¤¯¤³¤È¤¬¶¯¤¯¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
-
<warning>
- <para>¤³¤ì¤é¤Î¥Ä¡¼¥ë¤Î»ÈÍÑÊýË¡¤ò¸í¤ë¤È¡¢
+ <para>¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥µ¥¤¥º¤ò½Ì¾®¤¹¤ë¥Ä¡¼¥ë¤Î»ÈÍÑÊýË¡¤ò¸í¤ë¤È¡¢
¥Ç¥£¥¹¥¯¾å¤Î¥Ç¡¼¥¿¤¬¾Ã¤¨¤Æ¤·¤Þ¤¦²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
- »ÈÍÑÁ°¤Ë¤Ïɬ¤º¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¤È¤Ã¤Æ²¼¤µ¤¤¡£</para>
+ ¤³¤Î¼ï¤Î¥Ä¡¼¥ë¤ò»È¤¦ºÝ¤Ë¤Ï¡¢
+ »ÈÍÑÁ°¤Ëɬ¤ººÇ¿·¤Î¥Ç¡¼¥¿¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¤È¤Ã¤Æ²¼¤µ¤¤¡£</para>
</warning>
<example>
<title>´û¸¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÊѹ¹¤»¤º¤Ë»ÈÍÑ</title>
<para>´û¤Ë &windows; ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë 4&nbsp;GB ¤Î¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤¬
1 ÂæÀܳ¤µ¤ì¤Æ¤ª¤ê¡¢¤½¤Î¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Ï 2 ¤Ä¤Î¥É¥é¥¤¥Ö¥ì¥¿¡¼
- <devicename>C:</devicename> µÚ¤Ó <devicename>D:</devicename>
- ¤Ëʬ³ä¤µ¤ì¤Æ¤ª¤ê¡¢¤½¤ì¤¾¤ì¤Î¥µ¥¤¥º¤¬ 2&nbsp;GB ¤Ç¤¢¤ë PC
- ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È²¾Äꤷ¤Þ¤¹¡£
- ¤Þ¤¿¤³¤Î»þ¡¢<devicename>C:</devicename> ¤Ë¤Ï 1&nbsp;GB,
+ <devicename>C:</devicename> ¤ª¤è¤Ó <devicename>D:</devicename>
+ ¤Ëʬ³ä¤µ¤ì¤Æ¤ª¤ê¡¢¤½¤ì¤¾¤ì¤Î¥µ¥¤¥º¤¬ 2&nbsp;GB ¤Ç¤¢¤ë¤È¤·¤Þ¤¹¡£
+ <devicename>C:</devicename> ¤Ë¤Ï 1&nbsp;GB,
<devicename>D:</devicename> ¤Ë¤Ï 0.5&nbsp;GB ¤Î¥Ç¡¼¥¿¤¬¤¢¤ë¤È¤·¤Þ¤¹¡£</para>
- <para>¥É¥é¥¤¥Ö¥ì¥¿¡¼ 1 ¤Ä¤¢¤¿¤ê 1 ¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ç¤¹¤«¤é¡¢
- ¤¢¤Ê¤¿¤Î¥Ç¥£¥¹¥¯¤Ë¤Ï¹ç·×¤Ç
- 2 ¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
+ <para>¥Ç¥£¥¹¥¯¤Ë¤Ï¡¢¥É¥é¥¤¥Ö¥ì¥¿¡¼ 1 ¤Ä¤¢¤¿¤ê 1 ¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¢
+ ¹ç·×¤Ç 2 ¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢<devicename>D:</devicename> ¤Ë¤¢¤ë¥Ç¡¼¥¿¤ò¤¹¤Ù¤Æ
<devicename>C:</devicename> ¤Ë¥³¥Ô¡¼¤¹¤ì¤Ð¡¢
2 ¤ÄÌܤΥѡ¼¥Æ¥£¥·¥ç¥ó¤ò²òÊü¤·¡¢&os;
¤Î¤¿¤á¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£</para>
</example>
<example>
<title>´û¸¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò½Ì¾®¤¹¤ë</title>
<para>´û¤Ë &windows; ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë 4&nbsp;GB ¤Î¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤¬
- 1 ÂæÀܳ¤µ¤ì¤¿ PC ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È²¾Äꤷ¤Þ¤¹¡£¤µ¤é¤Ë &windows;
- ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëºÝ¡¢1 ¤Ä¤ÎÂ礭¤Ê¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·
+ 1 ÂæÀܳ¤µ¤ì¤¿ PC ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È¤·¤Þ¤¹¡£¤µ¤é¤Ë &windows;
+ ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëºÝ¡¢1 ¤Ä¤ÎÂ礭¤Ê¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¡¢
<devicename>C:</devicename> ¥É¥é¥¤¥Ö¤È¤·¤Æ 4&nbsp;GB ¤ò³ä¤êÅö¤Æ¤¿¤È¤·¤Þ¤¹¡£
- ¤½¤·¤Æ¸½ºß 1.5&nbsp;GB »ÈÍѤ·¤Æ¤ª¤ê¡¢&os; ¤Ç 2&nbsp;GB »È¤¤¤¿¤¤¤È¤·¤Þ¤¹¡£</para>
+ ¸½ºß 1.5&nbsp;GB »ÈÍѤ·¤Æ¤ª¤ê¡¢&os; ¤Ç 2&nbsp;GB »È¤¤¤¿¤¤¤È¤·¤Þ¤¹¡£</para>
<para>&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
°Ê²¼¤Î¤É¤Á¤é¤«¤ò¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</para>
<orderedlist>
<listitem>
<para>&windows; ¤Î¥Ç¡¼¥¿¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¡¢¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë 2&nbsp;GB
- ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤ÆºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£</para>
+ ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Æ &windows; ¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£</para>
</listitem>
<listitem>
<para>Àè¤Ë½Ò¤Ù¤¿ &windows;
¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò½Ì¾®¤¹¤ë¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ë¡£</para>
</listitem>
</orderedlist>
</example>
</sect3>
</sect2>
<sect2>
<title>¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄê¤Î¾ÜºÙ¤ò¤Þ¤È¤á¤ë</title>
- <para>&os; ¤ò¥Í¥Ã¥È¥ï¡¼¥¯¤òÍøÍѤ·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¤Ï
- (Î㤨¤Ð FTP ¥µ¥¤¥È¡¢¤Þ¤¿¤Ï NFS ¥µ¡¼¥Ð¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç),
+ <para>FTP ¥µ¥¤¥È¤Þ¤¿¤Ï <acronym>NFS</acronym>
+ ¥µ¡¼¥Ð¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¤Ï¡¢
¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÀßÄê¤òÃΤëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
- &os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò´°Î»¤¹¤ë¤¿¤á¤Ë¥Í¥Ã¥È¥ï¡¼¥¯¤ËÀܳ¤Ç¤­¤ë¤è¤¦¡¢
- ¥¤¥ó¥¹¥È¡¼¥ëÃæ¤Ë¤³¤ì¤é¤Î¾ðÊó¤òÆþÎϤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
+ ¥¤¥ó¥¹¥È¡¼¥ë¤ò´°Î»¤¹¤ë¤¿¤á¤Ë¥Í¥Ã¥È¥ï¡¼¥¯¤ËÀܳ¤Ç¤­¤ë¤è¤¦¡¢
+ ¤³¤ì¤é¤Î¾ðÊó¤ò¥¤¥ó¥¹¥È¡¼¥é¤Î¥×¥í¥ó¥×¥È¤ËÆþÎϤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<sect3>
<title>¥¤¡¼¥µ¥Í¥Ã¥È¤â¤·¤¯¤Ï¥±¡¼¥Ö¥ë / DSL ¥â¥Ç¥à¤Ç¤ÎÀܳ</title>
- <para>¥¤¡¼¥µ¥Í¥Ã¥È¤Î¥Í¥Ã¥È¥ï¡¼¥¯¤ËÀܳ¤¹¤ë¾ì¹ç¡¢
- ¤â¤·¤¯¤Ï¥±¡¼¥Ö¥ë / DSL ¥â¥Ç¥à·Ðͳ¤Ç¥¤¡¼¥µ¥Í¥Ã¥È¥¢¥À¥×¥¿¤òÍøÍѤ·¤Æ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤¹¤ë¾ì¹ç¤Ï¡¢
+ <para>¥¤¡¼¥µ¥Í¥Ã¥È¥Í¥Ã¥È¥ï¡¼¥¯¤ËÀܳ¤¹¤ë¾ì¹ç¤ä¡¢
+ ¥±¡¼¥Ö¥ë / DSL ¥â¥Ç¥à·Ðͳ¤Ç¥¤¡¼¥µ¥Í¥Ã¥È¥¢¥À¥×¥¿¤òÍøÍѤ·¤Æ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤¹¤ë¾ì¹ç¤Ï¡¢
¼¡¤Î¾ðÊó¤¬É¬Íפˤʤê¤Þ¤¹:</para>
<orderedlist>
<listitem>
<para>IP ¥¢¥É¥ì¥¹</para>
</listitem>
<listitem>
<para>¥Ç¥Õ¥©¥ë¥È¥²¡¼¥È¥¦¥§¥¤¤Î IP ¥¢¥É¥ì¥¹</para>
</listitem>
<listitem>
<para>¥Û¥¹¥È̾</para>
</listitem>
<listitem>
<para>DNS ¥µ¡¼¥Ð¤Î IP ¥¢¥É¥ì¥¹</para>
</listitem>
<listitem>
<para>¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯</para>
</listitem>
</orderedlist>
- <para>¤³¤ì¤é¤Î¾ðÊ󤬤狼¤é¤Ê¤¤¾ì¹ç¡¢
- ¥·¥¹¥Æ¥à´ÉÍý¼Ô¤«¥×¥í¥Ð¥¤¥À¤ËÌ䤤¹ç¤ï¤»¤Æ²¼¤µ¤¤¡£
- Ì䤤¹ç¤ï¤»¤ë¤È¡¢<firstterm>DHCP</firstterm>
- ¤ò»ÈÍѤ·¤Æ¼«Æ°Åª¤Ë³ä¤êÅö¤Æ¤Æ¤¤¤ë¤È¸À¤ï¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤½¤Î¾ì¹ç¤Ï
- DHCP ¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤ò½ñ¤­Î±¤á¤Æ¤ª¤¤¤Æ²¼¤µ¤¤¡£</para>
+ <para>¤³¤ì¤é¤Î¾ðÊ󤬤狼¤é¤Ê¤±¤ì¤Ð¡¢
+ ¥·¥¹¥Æ¥à´ÉÍý¼Ô¤«¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤ËÌ䤤¹ç¤ï¤»¤Æ²¼¤µ¤¤¡£
+ <firstterm>DHCP</firstterm>
+ ¤ò»ÈÍѤ·¤Æ¡¢¤³¤Î¾ðÊó¤ò¼«Æ°Åª¤Ë³ä¤êÅö¤Æ¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£</para>
</sect3>
<sect3>
<title>¥â¥Ç¥à¤ò»ÈÍѤ·¤¿Àܳ</title>
<para>Èó¾ï¤ËŤ¤»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¤¬¡¢
- Ä̾ï¤Î¥â¥Ç¥à¤ò»ÈÍѤ·¤¿¥À¥¤¥¢¥ë¥¢¥Ã¥×¤Ç ISP ¤ËÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢
- ¥¤¥ó¥¿¡¼¥Í¥Ã¥È·Ðͳ¤Ç &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ ¥À¥¤¥¢¥ë¥¢¥Ã¥×¥â¥Ç¥à¤ò»È¤Ã¤Æ¡¢
+ ¥¤¥ó¥¿¡¼¥Í¥Ã¥È·Ðͳ¤Ç &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<para>¤³¤Î¾ì¹ç¡¢°Ê²¼¤ÎÆâÍÆ¤ò¤¢¤é¤«¤¸¤á³Îǧ¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹:</para>
<orderedlist>
<listitem>
- <para>ISP ¤Ë¥À¥¤¥¢¥ë¤¹¤ëºÝ¤ÎÅÅÏÃÈÖ¹æ</para>
+ <para>¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À
+ (<acronym>ISP</acronym>) ¤Ë¥À¥¤¥¢¥ë¤¹¤ëºÝ¤ÎÅÅÏÃÈÖ¹æ</para>
</listitem>
<listitem>
<para>Àܳ¤Ë»ÈÍѤ¹¤ë COM: ¥Ý¡¼¥È</para>
</listitem>
<listitem>
- <para>ISP ¤Î¥¢¥«¥¦¥ó¥È¤Î¥æ¡¼¥¶Ì¾µÚ¤Ó¥Ñ¥¹¥ï¡¼¥É</para>
+ <para><acronym>ISP</acronym>
+ ¤Î¥¢¥«¥¦¥ó¥È¤Î¥æ¡¼¥¶Ì¾µÚ¤Ó¥Ñ¥¹¥ï¡¼¥É</para>
</listitem>
</orderedlist>
</sect3>
</sect2>
<sect2>
<title>&os; Errata ¤Î³Îǧ</title>
<para>&os; ¥×¥í¥¸¥§¥¯¥È¤Ç¤Ï &os;
¤Î³Æ¥ê¥ê¡¼¥¹¤¬¤Ç¤­¤ë¸Â¤ê°ÂÄꤹ¤ë¤è¤¦ÅØÎϤ·¤Æ¤¤¤Þ¤¹¤¬¡¢
»þ¡¹¥Ð¥°¤¬È¯À¸¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¶Ë¤Þ¤ì¤Ë¡¢
ȯÀ¸¤·¤¿¥Ð¥°¤Ë¤è¤ê¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥»¥¹¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤é¤ÎÌäÂê¤Ïȯ¸«¤µ¤ì²ò·è¤µ¤ì¤ë¤È¤È¤â¤Ë¡¢
&os; ¤Î¥¦¥§¥Ö¥µ¥¤¥È¤Î
<ulink url="http://www.FreeBSD.org/releases/&rel.current;R/errata.html">&os; Errata</ulink> ¤Ë·Ç¼¨¤µ¤ì¤Þ¤¹¡£
Ãí°Õ¤¹¤Ù¤­´ûÃΤÎÌäÂ̵꤬¤¤¤³¤È¤ò³Î¤«¤á¤ë¤¿¤á¤Ë¡¢¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë
- Errata ¤ò³Îǧ¤¹¤ë¤Ù¤­¤Ç¤¹¡£</para>
+ Errata ¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>Errata ¤ò´Þ¤à¡¢¤¹¤Ù¤Æ¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¡¢
<ulink
url="&url.base;/ja/index.html">&os; ¤Î¥¦¥§¥Ö¥µ¥¤¥È</ulink> ¤Î
<ulink
url="&url.base;/ja/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó</ulink>
¤Î¹à¤Ç³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
</sect2>
<sect2>
<title>&os; ¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥¡¥¤¥ë¤ÎÆþ¼ê</title>
- <para>&os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥»¥¹¤Ç¤Ï¡¢
+ <para>&os; ¤Î¥¤¥ó¥¹¥È¡¼¥é¤Ï¡¢
°Ê²¼¤Î¤¤¤º¤ì¤«¤Î¾ì½ê¤ËÃÖ¤¤¤Æ¤¢¤ë¥Õ¥¡¥¤¥ë¤«¤é &os;
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£</para>
<itemizedlist>
<title>¥í¡¼¥«¥ë¥á¥Ç¥£¥¢</title>
<listitem>
<para>CDROM ¤Þ¤¿¤Ï DVD</para>
</listitem>
<listitem>
<para>USB ¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯</para>
</listitem>
<listitem>
<para>Ʊ¤¸¥³¥ó¥Ô¥å¡¼¥¿¾å¤Î &ms-dos; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó</para>
</listitem>
<listitem>
- <para>SCSI ¤Þ¤¿¤Ï QIC ¥Æ¡¼¥×</para>
+ <para>¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯ (&os;/&arch.pc98; ¤Î¤ß)</para>
</listitem>
-
- <listitem>
- <para>¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯</para>
- </listitem>
</itemizedlist>
<itemizedlist>
<title>¥Í¥Ã¥È¥ï¡¼¥¯</title>
<listitem>
- <para>FTP ¥µ¥¤¥È (ɬÍפ˱þ¤¸¤Æ¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ò·Ðͳ¡¢
- ¤Þ¤¿¤Ï HTTP ¥×¥í¥­¥·¤òÍøÍÑ)</para>
+ <para>¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë·Ðͳ¤Þ¤¿¤Ï HTTP ¥×¥í¥­¥·¤òÍøÍѤ·¤¿
+ FTP ¥µ¥¤¥È</para>
</listitem>
<listitem>
<para>NFS ¥µ¡¼¥Ð</para>
</listitem>
<listitem>
<para>¥Ñ¥é¥ì¥ë¤Þ¤¿¤Ï¥·¥ê¥¢¥ëÀìÍÑÀܳ</para>
</listitem>
</itemizedlist>
- <para>&os; ¤ò CD ¤Þ¤¿¤Ï DVD ¤Ç¹ØÆþ¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
- ɬÍפʤâ¤Î¤Ï¤¹¤Ù¤Æ¤½¤í¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¼¡¤ÎÀá
- (<xref linkend="install-boot-media"/>) ¤òÆÉ¤ßÈô¤Ð¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ <para>¹ØÆþ¤·¤¿ CD ¤Þ¤¿¤Ï DVD ¤«¤é &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
+ <xref linkend="install-boot-media"/> ¤òÆÉ¤ßÈô¤Ð¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
- <para>&os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥¡¥¤¥ë¤ò¤Þ¤À»ý¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
+ <para>&os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥¡¥¤¥ë¤òÆþ¼ê¤¹¤ë¤Ë¤Ï¡¢
<xref linkend="install-diff-media"/> ¤Þ¤ÇÆÉ¤ßÈô¤Ð¤·¤Æ¤¯¤À¤µ¤¤¡£
- &os;
- ¤ò¾å¤Ç¼¨¤·¤¿¾ì½ê¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á¤Î½àÈ÷¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£
+ ¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤ò¤É¤Î¤è¤¦¤Ë½àÈ÷¤¹¤ì¤ÐÎɤ¤¤«ÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥»¥¯¥·¥ç¥ó¤òÆÉ¤ß½ª¤ï¤Ã¤¿¸å¡¢¤³¤³¤ËÌá¤Ã¤Æ¤­¤Æ¡¢
<xref linkend="install-boot-media"/> ¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="install-boot-media">
<title>¥Ö¡¼¥È¥á¥Ç¥£¥¢¤Î½àÈ÷</title>
<para>&os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥»¥¹¤Ï¡¢&os;
- ¥¤¥ó¥¹¥È¡¼¥é¤Ç¥³¥ó¥Ô¥å¡¼¥¿¤òµ¯Æ°¤¹¤ë¤³¤È¤«¤é»Ï¤Þ¤ê¤Þ¤¹&mdash;¥¤¥ó¥¹¥È¡¼¥é¤Ï¡¢
+ ¥¤¥ó¥¹¥È¡¼¥é¤Ç¥³¥ó¥Ô¥å¡¼¥¿¤òµ¯Æ°¤¹¤ë¤³¤È¤«¤é»Ï¤Þ¤ê¤Þ¤¹¡£
+ ¥¤¥ó¥¹¥È¡¼¥é¤Ï¡¢
Ê̤Υª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
Ä̾¥³¥ó¥Ô¥å¡¼¥¿¤Ï¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤«¤éµ¯Æ°¤·¤Þ¤¹¤¬¡¢
CDROM ¤ä USB ¥Ç¥£¥¹¥¯¤«¤éµ¯Æ°¤¹¤ë¤è¤¦¤ËÀßÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£</para>
<tip>
- <para>&os; ¤Î CDROM ¤Þ¤¿¤Ï DVD ¤ò (¹ØÆþ¤·¤¿¤ê¡¢¼«Ê¬¼«¿È¤Ç½àÈ÷¤ò¤·¤Æ)
- »ý¤Ã¤Æ¤ª¤ê¡¢
- ¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ç CDROM µÚ¤Ó DVD ¤«¤é¤Îµ¯Æ°¤¬²Äǽ¤Ç¤¢¤ë¾ì¹ç
- (Ä̾ï <quote>Boot Order</quote> ¤Þ¤¿¤ÏÎà»÷¤Î BIOS
- ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹)¡¢¤³¤ÎÀá¤òÈô¤Ð¤·¤Æ¤¯¤À¤µ¤¤¡£
+ <para>CDROM ¤ª¤è¤Ó DVD ¤«¤é¤Îµ¯Æ°¤¬²Äǽ¤Ê BIOS ¤ò»ý¤Ä¥³¥ó¥Ô¥å¡¼¥¿¤Ë
+ CDROM ¤Þ¤¿¤Ï DVD ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
+ ¤³¤ÎÀá¤òÈô¤Ð¤·¤Æ¤¯¤À¤µ¤¤¡£
&os; ¤Î CDROM ¤È DVD ¥¤¥á¡¼¥¸¤Ïµ¯Æ°²Äǽ¤Ç¤¢¤ê¡¢
¾¤ÎÆÃÊ̤ʽàÈ÷¤ò¤¹¤ë¤³¤È¤Ê¤¯ &os;
¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ÇÍøÍѤǤ­¤Þ¤¹¡£</para>
</tip>
<para>µ¯Æ°²Äǽ¤Ê¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤òºîÀ®¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢
°Ê²¼¤Î¼ê½ç¤Ë¤·¤¿¤¬¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<procedure>
<step>
<title>¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤Î¥¤¥á¡¼¥¸¤Î¼èÆÀ</title>
- <para>&os;&nbsp;8.<replaceable>X</replaceable> °ÊÁ°¤Î¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤Î¥¤¥á¡¼¥¸¤Ï¡¢
+ <para>&os;&nbsp;8.<replaceable>X</replaceable>
+ ¤Î¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤Î¥¤¥á¡¼¥¸¤Ï¡¢
<literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<replaceable>arch</replaceable>/ISO-IMAGES/<replaceable>version</replaceable>/&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-memstick.img</literal> ¤Î
<filename class="directory">ISO-IMAGES/</filename> ¥Ç¥£¥ì¥¯¥È¥ê¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£
¤³¤³¤Ç¡¢ <replaceable>arch</replaceable> ¤È
<replaceable>version</replaceable> ¤ÎÉôʬ¤ò¡¢
¤½¤ì¤¾¤ì¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤È¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ËÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£
¤¿¤È¤¨¤Ð¡¢&os;/&arch.i386;&nbsp;&rel2.current;-RELEASE
¤Î¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤Î¥¤¥á¡¼¥¸¤Ï¡¢<ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/ISO-IMAGES/&rel2.current;/&os;-&rel2.current;-RELEASE-&arch.i386;-memstick.img"></ulink>
¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¡£</para>
<tip>
<para>&os;&nbsp;9.0-RELEASE ¤«¤é¤Ï¡¢
°Û¤Ê¤ë¥Ç¥£¥ì¥¯¥È¥ê¥Ñ¥¹¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
- &os;&nbsp;9.0-RELEASE
- °Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¥À¥¦¥ó¥í¡¼¥É¤È¥¤¥ó¥¹¥È¡¼¥ë¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+ &os;&nbsp;9.<replaceable>X</replaceable>
+ ¤Î¥À¥¦¥ó¥í¡¼¥É¤È¥¤¥ó¥¹¥È¡¼¥ë¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
<xref linkend="bsdinstall"/> ¤ÇÀâÌÀ¤·¤Þ¤¹¡£</para>
</tip>
<para>¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¥¤¥á¡¼¥¸¤Ë¤Ï¡¢<filename>.img</filename>
¤È¤¤¤¦³ÈÄ¥»Ò¤¬¤Ä¤¤¤Æ¤¤¤Þ¤¹¡£<filename
class="directory">ISO-IMAGES/</filename>
- ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤ÏÊ£¿ô¤Î°Û¤Ê¤ë¥¤¥á¡¼¥¸¤¬¤¢¤ê¡¢¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë
- &os; ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢
- ¤Þ¤¿¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤è¤Ã¤Æ¡¢
- »È¤¤Ê¬¤±¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
+ ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤ÏÊ£¿ô¤Î°Û¤Ê¤ë¥¤¥á¡¼¥¸¤¬¤¢¤ê¡¢
+ ÍѤ¤¤ë¤Ù¤­¥¤¥á¡¼¥¸¤Ï¡¢
+ &os; ¤Î¥Ð¡¼¥¸¥ç¥ó¤ä¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ï¡¼¥É¥¦¥§¥¢¤¬Âбþ¤·¤Æ¤¤¤ë¥á¥Ç¥£¥¢¤Ë°Í¸¤·¤Þ¤¹¡£</para>
<important>
<para>°Ê²¼¤Îºî¶È¤Ë¤è¤Ã¤Æ¥Ç¡¼¥¿¤¬<emphasis>¾Ãµî</emphasis>¤µ¤ì¤ë¤Î¤Ç¡¢
Àè¤Ë¿Ê¤àÁ°¤Ë¡¢»ÈÍѤ¹¤ë USB
¥¹¥Æ¥£¥Ã¥¯¤Ë¤¢¤ë¥Ç¡¼¥¿¤ò<emphasis>¥Ð¥Ã¥¯¥¢¥Ã¥×</emphasis>¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</important>
</step>
<step>
<title>¥¤¥á¡¼¥¸¥Õ¥¡¥¤¥ë¤ò¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤Ë½ñ¤­¹þ¤à</title>
<procedure>
<title>&os; ¤ò»È¤Ã¤Æ¥¤¥á¡¼¥¸¤ò½ñ¤­¹þ¤à</title>
<warning>
<para>°Ê²¼¤ÎÎã¤Ç¤Ï¡¢µ¯Æ°¤¹¤ë¥Ç¥Ð¥¤¥¹¤ò
<filename class="devicefile">/dev/da0</filename> ¤È¤·¤Æ¤¤¤Þ¤¹¡£
ŬÀڤʥǥХ¤¥¹¤ò½ÐÎÏÀè¤ËÀßÄꤷ¤Æ¤¤¤ë¤³¤È¤ò½½Ê¬³Îǧ¤·¤Æ¤¯¤À¤¤¡£
¤µ¤â¤Ê¤±¤ì¤Ð¡¢¸½ºß¤¢¤ë¥Ç¡¼¥¿¤òÇ˲õ¤·¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡£</para>
</warning>
<step>
<title>¥¤¥á¡¼¥¸¤ò &man.dd.1; ¤ò»È¤Ã¤Æ½ñ¤­¹þ¤à</title>
<para><filename>.img</filename> ¥Õ¥¡¥¤¥ë¤Ï¡¢
- ¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¤è¤¦¤Ê¡¢
+ ñ½ã¤Ë¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¤è¤¦¤Ê¡¢
Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï<emphasis>¤¢¤ê¤Þ¤»¤ó</emphasis>¡£
- ¥Ç¥£¥¹¥¯¤Î´°Á´¤ÊÆâÍÆ¤Î¥¤¥á¡¼¥¸¤Ç¤¹¡£
- ¤·¤¿¤¬¤Ã¤Æ¡¢¥Ç¥£¥¹¥¯¤«¤é¾¤Î¥Ç¥£¥¹¥¯¤Ø¤Î¥³¥Ô¡¼¤Ï´Êñ¤Ë¤Ï<emphasis>¤Ç¤­¤Þ¤»¤ó</emphasis>¡£
- ¤½¤Î¤«¤ï¤ê¤Ë¡¢
- ¥¤¥á¡¼¥¸¤òľÀܥǥ£¥¹¥¯¤Ë½ñ¤­¹þ¤à &man.dd.1; ¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
+ ¥Ç¥£¥¹¥¯¤ÎÆâÍÆ¤Î´°Á´¤Ê¥¤¥á¡¼¥¸¤Ç¤¹¡£
+ ¤·¤¿¤¬¤Ã¤Æ¡¢&man.dd.1; ¤ò»ÈÍѤ·¤Æ¡¢
+ ľÀܥǥ£¥¹¥¯¤Ë¥¤¥á¡¼¥¸¤ò½ñ¤­¹þ¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>dd if=&os;-&rel2.current;-RELEASE-&arch.i386;-memstick.img of=/dev/<replaceable>da0</replaceable> bs=64k</userinput></screen>
<para>
<computeroutput>Operation not permitted</computeroutput>
¥¨¥é¡¼¤¬É½¼¨¤µ¤ì¤¿¤é¡¢¥¿¡¼¥²¥Ã¥È¥Ç¥Ð¥¤¥¹¤¬Â¾¤ÇÍøÍѤµ¤ì¤Æ¤¤¤Ê¤¤¤«¤É¤¦¤«¡¢
¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤É¤¦¤«¡¢
- ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥×¥í¥°¥é¥à¤¬µ¤¤òÍø¤«¤»¤Æ¼«Æ°Åª¤Ë¥Þ¥¦¥ó¥È¤·¤Æ¤¤¤Ê¤¤¤«¤É¤¦¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
+ ¾¤Î¥×¥í¥°¥é¥à¤¬¼«Æ°Åª¤Ë¥Þ¥¦¥ó¥È¤·¤Æ¤¤¤Ê¤¤¤«¤É¤¦¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤Î¸å¡¢¤â¤¦°ìÅټ¹Ԥ·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
</procedure>
<procedure>
<title>&windows; ¤ò»È¤Ã¤Æ¥¤¥á¡¼¥¸¤ò½ñ¤­¹þ¤à</title>
<warning>
- <para>°Ê²¼¤ÎÎã¤Ç¤Ï¡¢µ¯Æ°¤¹¤ë¥Ç¥Ð¥¤¥¹¤ò
- <filename class="devicefile">H:</filename> ¤È¤·¤Æ¤¤¤Þ¤¹¡£
- ŬÀڤʥǥХ¤¥¹¤ò½ÐÎÏÀè¤ËÀßÄꤷ¤Æ¤¤¤ë¤³¤È¤ò½½Ê¬³Îǧ¤·¤Æ¤¯¤À¤¤¡£
- ¤µ¤â¤Ê¤±¤ì¤Ð¡¢¸½ºß¤¢¤ë¥Ç¡¼¥¿¤òÇ˲õ¤·¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡£</para>
+ <para>°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ï¡¢
+ »ØÄꤷ¤¿¥Ç¥Ð¥¤¥¹¤Ë¸½ºß¤¢¤ë¥Ç¡¼¥¿¤ò¾å½ñ¤­¤·¤ÆÇ˲õ¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢
+ ½ÐÎÏÀè¤ËŬÀڤʥɥ饤¥Ö¥ì¥¿¡¼¤òÀßÄꤷ¤Æ¤¤¤ë¤³¤È¤ò½½Ê¬³Îǧ¤·¤Æ¤¯¤À¤¤¡£</para>
</warning>
<step>
<title><application>Image Writer for Windows</application>
¤òÆþ¼ê¤¹¤ë</title>
<para><application>Image Writer for Windows</application> ¤Ï¡¢
¥¤¥á¡¼¥¸¥Õ¥¡¥¤¥ë¤ò¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤ËÀµ¤·¤¯½ñ¤­¹þ¤à¤³¤È¤Î¤Ç¤­¤ë¥Õ¥ê¡¼¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¹¡£
<ulink url="https://launchpad.net/win32-image-writer/"></ulink>
¤«¤é¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¡¢¥Õ¥©¥ë¥À¤ËŸ³«¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
<step>
<title>¥¤¥á¡¼¥¸¥é¥¤¥¿¤ò»È¤Ã¤Æ¥¤¥á¡¼¥¸¤ò½ñ¤­¹þ¤à</title>
<para><application>Win32DiskImager</application>
¥¢¥¤¥³¥ó¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ¡¢¥×¥í¥°¥é¥à¤òµ¯Æ°¤·¤Þ¤¹¡£
<computeroutput>Device</computeroutput>
¤Î²¼¤Ëɽ¼¨¤µ¤ì¤ë¥Ç¥Ð¥¤¥¹¥ì¥¿¡¼¤¬¡¢
¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤Î¥É¥é¥¤¥Ö¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Õ¥©¥ë¥À¤Î¥¢¥¤¥³¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¡¢
¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤Ë½ñ¤­¹þ¤à¥¤¥á¡¼¥¸¥Õ¥¡¥¤¥ë¤òÁªÂò¤·¤Þ¤¹¡£
<guibutton>Save</guibutton> ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¡¢
¥¤¥á¡¼¥¸¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò¥¢¥¯¥»¥×¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
¤¹¤Ù¤Æ¤¬Àµ¤·¤¯¹Ô¤ï¤ì¤¿¤«¤É¤¦¤«¡¢¤Þ¤¿¡¢
¾¤Î¥¦¥£¥ó¥É¥¦¤Ç¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤Î¥Õ¥©¥ë¥À¤¬³«¤«¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
ºÇ¸å¤Ë¡¢<guibutton>Write</guibutton> ¤ò²¡¤·¤Æ¡¢¥É¥é¥¤¥Ö¤Ë¥¤¥á¡¼¥¸¥Õ¥¡¥¤¥ë¤ò½ñ¤­¹þ¤ß¤Þ¤¹¡£</para>
</step>
</procedure>
</step>
</procedure>
<para>&os;/&arch.pc98;
¤Î¥¤¥ó¥¹¥È¡¼¥ëÍѤ˵¯Æ°¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤òºîÀ®¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
¼¡¤Î¥¹¥Æ¥Ã¥×¤Ë½¾¤Ã¤Æ²¼¤µ¤¤:</para>
<procedure>
<step>
<title>µ¯Æ°¥Õ¥í¥Ã¥Ô¡¼¥¤¥á¡¼¥¸¤Î¼èÆÀ</title>
<para>&os;/&arch.pc98; ¤Î¥Ö¡¼¥È¥Ç¥£¥¹¥¯¤Ï¡¢
floppies ¥Ç¥£¥ì¥¯¥È¥ê¡¢
<literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/pc98/<replaceable>version</replaceable>-RELEASE/floppies/</literal>
¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¡£
¤³¤³¤Ç <replaceable>version</replaceable> ¤ÎÉôʬ¤ò¡¢
¤½¤ì¤¾¤ì¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ËÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¥Õ¥í¥Ã¥Ô¡¼¥¤¥á¡¼¥¸¤Ï <filename>.flp</filename>
¤È¤¤¤¦³ÈÄ¥»Ò¤¬¤Ä¤¤¤Æ¤¤¤Þ¤¹¡£<filename
class="directory">floppies/</filename>
¤Ë¤ÏÊ£¿ô¤Î°Û¤Ê¤ë¥¤¥á¡¼¥¸¤¬¤¢¤ê¤Þ¤¹¡£
<filename>boot.flp</filename> ¤È¤È¤â¤Ë¡¢
<filename>kern.small*</filename> ¤Þ¤¿¤Ï
<filename>kern*</filename>
¤È¤¤¤Ã¤¿¥¤¥ó¥¹¥È¡¼¥ë¤Î¼ïÎà¤Ë´ØÏ¢¤Å¤¤¤¿Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<important>
<para>FTP ¥×¥í¥°¥é¥à¤ò»ÈÍѤ·¤Æ¤³¤ì¤é¤Î¥Ç¥£¥¹¥¯¥¤¥á¡¼¥¸¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë»þ¤Ï¡¢
ɬ¤º<emphasis>¥Ð¥¤¥Ê¥ê¥â¡¼¥É</emphasis>¤Ë¤·¤Æ²¼¤µ¤¤¡£
- Web ¥Ö¥é¥¦¥¶¤Ë¤è¤Ã¤Æ¤Ï<emphasis>¥Æ¥­¥¹¥È</emphasis>
- (¤Þ¤¿¤Ï<emphasis>¥¢¥¹¥­¡¼</emphasis>)
- ¥â¡¼¥É¤Ç¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤·¤Þ¤¦¤â¤Î¤¬¤¢¤ê¡¢
+ Web ¥Ö¥é¥¦¥¶¤Ë¤è¤Ã¤Æ¤Ï <emphasis>¥Æ¥­¥¹¥È</emphasis>
+ ¤Þ¤¿¤Ï <emphasis>¥¢¥¹¥­¡¼</emphasis>
+ ¥â¡¼¥É¤Ç¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤â¤Î¤¬¤¢¤ê¡¢
¥Ç¥£¥¹¥¯¤«¤éµ¯Æ°¤Ç¤­¤Ê¤¤¤È¤­¤ÏÂçÄñ¤³¤ì¤¬¸¶°ø¤Ç¤¹¡£</para>
</important>
</step>
<step>
<title>¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ÎÍѰÕ</title>
- <para>¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¥¤¥á¡¼¥¸¥Õ¥¡¥¤¥ë 1 ¤Ä¤Ë¤Ä¤­
+ <para>¥À¥¦¥ó¥í¡¼¥É¤·¤¿¥¤¥á¡¼¥¸¥Õ¥¡¥¤¥ë 1 ¤Ä¤Ë¤Ä¤­
1 Ëç¤Î¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤òÍѰդ·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤é¤Î¥Ç¥£¥¹¥¯¤Ë·ç´Ù¤¬¤¢¤Ã¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
¤³¤ì¤ò³Îǧ¤¹¤ëºÇ¤â´Êñ¤ÊÊýË¡¤Ï¡¢
¼«Ê¬¼«¿È¤Ç¥Õ¥©¡¼¥Þ¥Ã¥È¤·¤Æ¤ß¤ë¤³¤È¤Ç¤¹¡£
¥Õ¥©¡¼¥Þ¥Ã¥È¤¹¤ëÁ°¤Î¥Õ¥í¥Ã¥Ô¡¼¤ò¿®ÍѤ·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
&windows; ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢
ÉÔÎɥǥ£¥¹¥¯¤¬¤¢¤Ã¤Æ¤â¶µ¤¨¤Æ¤Ï¤¯¤ì¤Ê¤¤¤Ç¤·¤ç¤¦¡£
¤½¤ì¤é¤ò <quote>bad</quote> ¤È¥Þ¡¼¥¯¤·¤Æ¡¢Ìµ»ë¤¹¤ë¤À¤±¤Ç¤¹¡£
- ¤â¤·¡¢¥Õ¥í¥Ã¥Ô¡¼¤òÍѤ¤¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¤Î¤Ç¤¢¤ì¤Ð¡¢
¿·ÉʤΥեí¥Ã¥Ô¡¼¤ò»È¤¦¤³¤È¤ò¤ªÁ¦¤á¤·¤Þ¤¹¡£</para>
<important>
- <para>&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤è¤¦¤È¤·¤¿»þ¤Ë¡¢
- ¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥°¥é¥à¤¬¥¯¥é¥Ã¥·¥å¤·¤¿¤ê¥Õ¥ê¡¼¥º¤·¤¿¤ê¡¢
+ <para>¥¤¥ó¥¹¥È¡¼¥é¤¬¥¯¥é¥Ã¥·¥å¤·¤¿¤ê¥Õ¥ê¡¼¥º¤·¤¿¤ê¡¢
¤ª¤«¤·¤Êưºî¤ò¤·¤¿»þ¡¢
¤Þ¤º¤Ï¤¸¤á¤Ëµ¿¤¦¤Ù¤­¤â¤Î¤Î¤¦¤Á¤Î 1 ¤Ä¤Ï¥Õ¥í¥Ã¥Ô¡¼¤Ç¤¹¡£
¥Õ¥í¥Ã¥Ô¡¼¥¤¥á¡¼¥¸¤ò¿·¤·¤¤¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤ó¤Ç¡¢
¤â¤¦°ìÅٻ¤Æ¤ß¤Æ²¼¤µ¤¤¡£</para>
</important>
</step>
<step>
<title>¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ø¥¤¥á¡¼¥¸¥Õ¥¡¥¤¥ë¤ò½ñ¤­¹þ¤à¡£</title>
<para><filename>.flp</filename> ¥Õ¥¡¥¤¥ë¤Ï¡¢
- ¤¤¤Ä¤â¹Ô¤ï¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¥Ç¥£¥¹¥¯¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¤è¤¦¤Ê¡¢
+ ¥Ç¥£¥¹¥¯¤Ë¥³¥Ô¡¼¤Ç¤­¤ë¤è¤¦¤Ê¡¢
Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï<emphasis>¤¢¤ê¤Þ¤»¤ó</emphasis>¡£
- ¥Ç¥£¥¹¥¯¤Î´°Á´¤ÊÆâÍÆ¤Î¥¤¥á¡¼¥¸¤Ç¤¹¡£
- ¤·¤¿¤¬¤Ã¤Æ¡¢¥Ç¥£¥¹¥¯¤«¤é¾¤Î¥Ç¥£¥¹¥¯¤Ø¤Î¥³¥Ô¡¼¤Ï´Êñ¤Ë¤Ï
- <emphasis>¤Ç¤­¤Þ¤»¤ó</emphasis>¡£
- ¤½¤Î¤«¤ï¤ê¤Ë¡¢
+ ´°Á´¤Ê¥Ç¥£¥¹¥¯¤ÎÆâÍÆ¤Î¥¤¥á¡¼¥¸¤Ç¤¹¡£
¥¤¥á¡¼¥¸¤òľÀܥǥ£¥¹¥¯¤Ë½ñ¤­¹þ¤àÆÃÊ̤ʥġ¼¥ë¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<indexterm><primary>DOS</primary></indexterm>
- <para>&ms-dos; / &windows;
- ¤¬Æ°ºî¤·¤Æ¤¤¤ë¥³¥ó¥Ô¥å¡¼¥¿¤Ç¥Õ¥í¥Ã¥Ô¡¼¤òºîÀ®¤¹¤ë¾ì¹ç¤Ï¡¢
- »ä¤¿¤Á¤¬ÍѰդ·¤¿ <command>fdimage</command>
- ¤È¤¤¤¦¥Ä¡¼¥ë¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ <para>&os; ¤Ï¡¢&windows;
+ ¤¬Æ°ºî¤·¤Æ¤¤¤ë¥³¥ó¥Ô¥å¡¼¥¿¤Ç¥Õ¥í¥Ã¥Ô¡¼¤òºîÀ®¤¹¤ë
+ <command>rawrite</command> ¤È¸Æ¤Ð¤ì¤ë¥Ä¡¼¥ë¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
+ ¤³¤Î¥Ä¡¼¥ë¤Ï &os; ¤Î FTP ¥µ¥¤¥È¾å¤Î
+ <literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/pc98/<replaceable>
+ version</replaceable>-RELEASE/tools/</literal>
+ ¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£
+ ¤³¤Î¥Ä¡¼¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤¿¤é¡¢¥Õ¥í¥Ã¥Ô¡¼¤òÁÞÆþ¤·¤Æ¤¯¤À¤µ¤¤¡£
+ ¤½¤Î¸å¡¢¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Æ¥Õ¥í¥Ã¥Ô¡¼¥É¥é¥¤¥Ö¤Ë½ñ¤­¹þ¤ó¤Ç¤¯¤À¤µ¤¤¡£</para>
- <para>CDROM ¤ËÆþ¤Ã¤Æ¤¤¤ë ¥Õ¥í¥Ã¥Ô¡¼¥¤¥á¡¼¥¸¤ò»È¤ª¤¦¤È¤·¤Æ¤ª¤ê¡¢
- ¤³¤Î»þ CDROM ¤¬ <devicename>E:</devicename> ¥É¥é¥¤¥Ö¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢
- ¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹:</para>
+ <screen><prompt>C:\&gt;</prompt> <userinput>rawrite boot.flp A:</userinput></screen>
- <screen><prompt>E:\&gt;</prompt> <userinput>tools\fdimage floppies\boot.flp A:</userinput></screen>
-
<para>Ëè²ó¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤òÆþ¤ì´¹¤¨¡¢
- ¥Ç¥£¥¹¥¯¤Ë¥³¥Ô¡¼¤·¤¿¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò¼¨¤¹¥é¥Ù¥ë¤òÉÕ¤±¤Ê¤¬¤é¡¢
+ ¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò¼¨¤¹¥é¥Ù¥ë¤òÉÕ¤±¤Ê¤¬¤é¡¢
¤½¤ì¤¾¤ì¤Î <filename>.flp</filename>
¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¤³¤Î¥³¥Þ¥ó¥É¤ò·«¤êÊÖ¤·¤Þ¤¹¡£
<filename>.flp</filename> ¥Õ¥¡¥¤¥ë¤òÃÖ¤¤¤¿¾ì½ê¤Ë±þ¤¸¤Æ¡¢
- ¥³¥Þ¥ó¥É¥é¥¤¥ó¤òÊѹ¹¤·¤Æ²¼¤µ¤¤¡£
- CDROM ¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢<command>fdimage</command> ¤Ï &os; ¤Î
- FTP ¥µ¥¤¥È¤Î <ulink
- url="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/"><filename class="directory">tools</filename>
- ¥Ç¥£¥ì¥¯¥È¥ê</ulink>¤«¤é¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ ¥³¥Þ¥ó¥É¥é¥¤¥ó¤òÊѹ¹¤·¤Æ²¼¤µ¤¤¡£</para>
- <para>(Ê̤Π&os; ¥·¥¹¥Æ¥à¤Î¤è¤¦¤Ê) &unix;
- ¥·¥¹¥Æ¥à¾å¤Ç¥Õ¥í¥Ã¥Ô¡¼¤Ø¤Î½ñ¤­¹þ¤ß¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢
+ <para>&os; ¥·¥¹¥Æ¥à¤Î¤è¤¦¤Ê¡¢
+ &unix;-like ¥·¥¹¥Æ¥à¤Ç¥Õ¥í¥Ã¥Ô¡¼¤Ø¤Î½ñ¤­¹þ¤ß¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢
¥¤¥á¡¼¥¸¥Õ¥¡¥¤¥ë¤òľÀܥǥ£¥¹¥¯¤Ë½ñ¤­¹þ¤à¤¿¤á¤Ë &man.dd.1;
- ¥³¥Þ¥ó¥É¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£&os; ¾å¤Ç¤Ï¡¢
- ¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹:</para>
+ ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£&os; ¾å¤Ç¤Ï¡¢
+ ¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>dd if=boot.flp of=/dev/fd0</userinput></screen>
<para>&os; ¤Ë¤ª¤¤¤Æ¤Ï¡¢<filename>/dev/fd0</filename> ¤¬
- 1 ÂæÌܤΥեí¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö (<devicename>A:</devicename>
- ¥É¥é¥¤¥Ö) ¤òɽ¤·¤Þ¤¹¡£Æ±ÍÍ¤Ë <filename>/dev/fd1</filename>
- ¤Ï <devicename>B:</devicename> ¥É¥é¥¤¥Ö¤òɽ¤·¤Þ¤¹¡£
- ¾¤Î &unix; ¤ÎÊÑ·Á¤Ç¤Ï¡¢
+ 1 ÂæÌܤΥեí¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤òɽ¤·¤Þ¤¹¡£
+ ¾¤Î &unix; ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¥Ç¥Ð¥¤¥¹¤Ë¤ÏÊ̤Î̾Á°¤¬¤Ä¤¤¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¤Î¤Ç¡¢
ɬÍפ˱þ¤¸¤Æ¤½¤Î¥·¥¹¥Æ¥à¤Î¥É¥­¥å¥á¥ó¥È¤ò³Îǧ¤·¤Æ²¼¤µ¤¤¡£</para>
</step>
</procedure>
<para>¤³¤ì¤Ç &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÍѰդ¬¤Ç¤­¤Þ¤·¤¿¡£</para>
</sect2>
</sect1>
<sect1 id="install-start">
<title>¥¤¥ó¥¹¥È¡¼¥ë¤Î³«»Ï</title>
<important>
- <para>¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¼¡¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Þ¤Ç
- ¥¤¥ó¥¹¥È¡¼¥é¤Ï¥Ç¥£¥¹¥¯¤Ë²¿¤ÎÊѹ¹¤â²Ã¤¨¤Þ¤»¤ó¡£</para>
+ <para>¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
+ ¼¡¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Þ¤Ç¥¤¥ó¥¹¥È¡¼¥é¤Ï¥Ç¥£¥¹¥¯¤Ë²¿¤ÎÊѹ¹¤â²Ã¤¨¤Þ¤»¤ó¡£</para>
<literallayout class="monospaced">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!</literallayout>
<para>¤³¤ÎºÇ¸å¤Î·Ù¹ð¤ÎÁ°¤Ç¤¢¤ì¤Ð¡¢
¤¤¤Ä¤Ç¤â¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤ÎÆâÍÆ¤òÊѹ¹¤¹¤ë¤³¤È¤Ê¤¯¥¤¥ó¥¹¥È¡¼¥ë¤òÃæÃǤǤ­¤Þ¤¹¡£
¤â¤·¡¢²¿¤«¤ò´Ö°ã¤Ã¤ÆÀßÄꤷ¤Æ¤·¤Þ¤Ã¤¿¤³¤È¤¬¿´Çۤʤé¤Ð¡¢
ºÇ¸å¤Î·Ù¹ð¤ÎÁ°¤Ëñ¤Ë¥³¥ó¥Ô¥å¡¼¥¿¤ò¥ª¥Õ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
Èï³²¤ò»Ä¤µ¤º¤ËºÑ¤ß¤Þ¤¹¡£</para>
</important>
<sect2 id="install-starting">
<title>µ¯Æ°</title>
<sect3 id="install-starting-i386">
<title>&i386; ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Îµ¯Æ°</title>
<procedure>
<step>
- <para>¤Þ¤º¡¢¥³¥ó¥Ô¥å¡¼¥¿¤ÎÅŸ»¤òÀÚ¤ê¤Þ¤¹¡£</para>
- </step>
-
- <step>
<para>¥³¥ó¥Ô¥å¡¼¥¿¤ÎÅŸ»¤ò¤¤¤ì¤Þ¤¹¡£
µ¯Æ°¤¬»Ï¤Þ¤ë¤È¡¢¤¹¤°¤Ë¥·¥¹¥Æ¥à¤Þ¤¿¤Ï BIOS
¤Î¥»¥Ã¥È¥¢¥Ã¥×¥á¥Ë¥å¡¼¤ËÆþ¤ë¤¿¤á¤Î¥ª¥×¥·¥ç¥ó¤¬É½¼¨¤µ¤ì¤ë¤Ï¤º¤Ç¤¹¡£
°ìÈÌŪ¤Ë¤Ï <keycap>F2</keycap>, <keycap>F10</keycap>,
<keycap>Del</keycap> ¤Î¤è¤¦¤Ê¥­¡¼¤Þ¤¿¤Ï
<keycombo action="simul">
<keycap>Alt</keycap>
<keycap>S</keycap>
</keycombo> ¤Î¤è¤¦¤Ê¥­¡¼¤ÎÁȹ礻¤Ç¤¹¡£
- ²èÌ̾å¤Ë¼¨¤µ¤ì¤ë¥­¡¼¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢
- µ¯Æ°¤¹¤ë¤È²èÁü¤òɽ¼¨¤¹¤ë¥³¥ó¥Ô¥å¡¼¥¿¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
+ ²èÌ̾å¤Ë¼¨¤µ¤ì¤ë¥­¡¼¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+ ¥³¥ó¥Ô¥å¡¼¥¿¤Ë¤è¤Ã¤Æ¤Ï¡¢
+ µ¯Æ°¤¹¤ë´Ö¤Ë²èÁü¤òɽ¼¨¤¹¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£
ÂçÄñ¤Î¾ì¹ç¡¢<keycap>Esc</keycap> ¥­¡¼¤ò²¡¤¹¤È¡¢
- ²èÁü¤¬¾Ã¤¨¤ÆÉ¬Íפʥá¥Ã¥»¡¼¥¸¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ ²èÁü¤¬¾Ã¤¨¤Æ¥Ö¡¼¥È¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
</step>
<step>
<para>¤É¤ÎÁõÃÖ¤«¤é¥·¥¹¥Æ¥à¤¬µ¯Æ°¤¹¤ë¤«¤òÀ©¸æ¤¹¤ëÀßÄê¤òõ¤·¤Æ¤¯¤À¤µ¤¤¡£
Ä̾ï¤Ï <quote>Boot Order</quote> ¤È¸Æ¤Ð¤ì¡¢°ìÈÌŪ¤Ë¤Ï¡¢
<literal>Floppy</literal>, <literal>CDROM</literal>,
<literal>First Hard Disk</literal>
¤Ê¤É¤ÎÁõÃ֤ΰìÍ÷¤È¤·¤ÆÉ½¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
- <para>CDROM ¤«¤éµ¯Æ°¤¹¤ë¾ì¹ç¤Ë¤Ï CDROM ¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò¡¢
- USB ¥Ç¥£¥¹¥¯¤Þ¤¿¤Ï¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤«¤éµ¯Æ°¤¹¤ë¤Ê¤é
- USB ¥Ç¥£¥¹¥¯¤Þ¤¿¤Ï¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
+ <para>CD ¤Þ¤¿¤Ï DVD ¤«¤éµ¯Æ°¤¹¤ë¾ì¹ç¤Ë¤Ï CDROM ¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò¡¢
+ USB ¥Ç¥£¥¹¥¯¤«¤éµ¯Æ°¤¹¤ë¤Ê¤é
+ USB ¥Ç¥£¥¹¥¯¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¼«¿®¤¬Ìµ¤¤¾ì¹ç¤Ï¡¢
- ¥³¥ó¥Ô¥å¡¼¥¿¤ä¥Þ¥¶¡¼¥Ü¡¼¥É¤Î¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ ¥³¥ó¥Ô¥å¡¼¥¿¤ä¥Þ¥¶¡¼¥Ü¡¼¥ÉÉÕ°¤Î¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>Êѹ¹¤òÊݸ¤·¤Æ½ªÎ»¤·¤Æ¤¯¤À¤µ¤¤¡£
¥³¥ó¥Ô¥å¡¼¥¿¤¬ºÆµ¯Æ°¤¹¤ë¤Ï¤º¤Ç¤¹¡£</para>
</step>
<step>
<para><xref linkend="install-boot-media"/>
- ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë <quote>µ¯Æ°</quote> USB ¥¹¥Æ¥£¥Ã¥¯¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢
- ¥³¥ó¥Ô¥å¡¼¥¿¤òΩ¤Á¾å¤²¤ëÁ°¤Ë¡¢USB ¥¹¥Æ¥£¥Ã¥¯¤òÁÞÆþ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë <quote>µ¯Æ°</quote> USB
+ ¥¹¥Æ¥£¥Ã¥¯¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢
+ ¥³¥ó¥Ô¥å¡¼¥¿¤òΩ¤Á¾å¤²¤ëÁ°¤Ë¡¢
+ USB ¥¹¥Æ¥£¥Ã¥¯¤òÁÞÆþ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
- <para>CDROM ¤«¤éµ¯Æ°¤¹¤ë¾ì¹ç¡¢¥³¥ó¥Ô¥å¡¼¥¿¤òΩ¤Á¾å¤²¡¢
- ¤¹¤°¤Ë CDROM ¤òÁÞÆþ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
+ <para>CD ¤Þ¤¿¤Ï DVD ¤«¤éµ¯Æ°¤¹¤ë¾ì¹ç¡¢¥³¥ó¥Ô¥å¡¼¥¿¤òΩ¤Á¾å¤²¡¢
+ ¤¹¤°¤Ë CD ¤Þ¤¿¤Ï DVD ¤òÁÞÆþ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<note>
<para>&os;/&arch.pc98; ¤Ç¤Ï¡¢
¥¤¥ó¥¹¥È¡¼¥ëÍѤε¯Æ°¥Õ¥í¥Ã¥Ô¡¼¤¬ÍѰդµ¤ì¤Æ¤ª¤ê¡¢
<xref linkend="install-boot-media"/>
¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ëÊýË¡¤ÇºîÀ®¤Ç¤­¤Þ¤¹¡£
<filename>boot.flp</filename>
¤¬ºÇ½é¤ËÁÞÆþ¤¹¤ë¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ç¤¹¡£
¥¤¥ó¥¹¥È¡¼¥é¤òµ¯Æ°¤Ç¤­¤ë¤è¤¦¤Ë¡¢
¤³¤Î¥Õ¥í¥Ã¥Ô¡¼¤ò¥Õ¥í¥Ã¥Ô¡¼¥É¥é¥¤¥Ö¤ËÁÞÆþ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</note>
<para>¤â¤·¡¢¥³¥ó¥Ô¥å¡¼¥¿¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë OS ¤òÆÉ¤ß¹þ¤ß¡¢
Ä̾ïÄ̤굯ư¤·¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤¢¤ì¤Ð¡¢
°Ê²¼¤Î¸¶°ø¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£</para>
<orderedlist>
<listitem>
<para>µ¯Æ°¥Ç¥£¥¹¥¯¤¬µ¯Æ°¥×¥í¥»¥¹¤Ë¤ª¤¤¤Æ½½Ê¬Áᤤ¥¿¥¤¥ß¥ó¥°¤ÇÁÞÆþ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
¥Ç¥£¥¹¥¯¤ò¤½¤Î¤Þ¤Þ¤Ë¤·¤Æ¥³¥ó¥Ô¥å¡¼¥¿¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
<listitem>
- <para>ÀèÄø¤Î BIOS ¤ÎÊѹ¹¤¬Å¬Àڤ˹Ԥï¤ì¤Æ¤¤¤Þ¤»¤ó¡£
+ <para>BIOS ¤ÎÊѹ¹¤¬Å¬Àڤ˹Ԥï¤ì¤Æ¤¤¤Þ¤»¤ó¡£
Àµ¤·¤¤¥ª¥×¥·¥ç¥ó¤òÀßÄꤷ¤Æ¤ä¤êľ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
<listitem>
<para>»ÈÍѤ·¤Æ¤¤¤ë BIOS ¤Ï¡¢
- ´õ˾¤·¤Æ¤¤¤ë¥á¥Ç¥£¥¢¤«¤é¤Î¥Ö¡¼¥È¤ËÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£</para>
+ ´õ˾¤·¤Æ¤¤¤ë¥á¥Ç¥£¥¢¤«¤é¤Îµ¯Æ°¤ËÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£</para>
</listitem>
</orderedlist>
</step>
<step>
- <para>&os; ¤Ïµ¯Æ°¤ò³«»Ï¤·¤Þ¤¹¡£CDROM ¤«¤éµ¯Æ°¤·¤Æ¤¤¤ë¾ì¹ç¡¢
- ¼¡¤Î¤è¤¦¤Ê²èÌ̤¬É½¼¨¤µ¤ì¤ë¤Ç¤·¤ç¤¦ (¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Ï¾Êά¤·¤Æ¤¤¤Þ¤¹)¡£</para>
+ <para>&os; ¤Ïµ¯Æ°¤ò³«»Ï¤·¤Þ¤¹¡£CD ¤Þ¤¿¤Ï DVD ¤«¤éµ¯Æ°¤·¤Æ¤¤¤ë¾ì¹ç¡¢
+ ¼¡¤Î¤è¤¦¤Ê²èÌ̤¬É½¼¨¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£</para>
<screen>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]
\</screen>
<para>¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤«¤éµ¯Æ°¤·¤Æ¤¤¤ë¾ì¹ç¡¢
- ¼¡¤Î¤è¤¦¤Ê²èÌ̤¬¸½¤ì¤ë¤Ç¤·¤ç¤¦ (¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Ï¾Êά¤·¤Æ¤¤¤Þ¤¹)¡£</para>
+ ¼¡¤Î¤è¤¦¤Ê²èÌ̤¬¸½¤ì¤ë¤Ç¤·¤ç¤¦¡£</para>
<screen>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...</screen>
- <para>¾åµ­¤ÎÀâÌÀ¤Ë¤·¤¿¤¬¤Ã¤Æ¡¢
- <filename>boot.flp</filename> ¥Ç¥£¥¹¥¯¤òÈ´¤­¡¢
- <filename>kern1.flp</filename> ¥Ç¥£¥¹¥¯¤òÁÞÆþ¤·¡¢
+ <para><filename>boot.flp</filename> ¥Õ¥í¥Ã¥Ô¡¼¤òÈ´¤­¡¢
+ ¼¡¤Î¥Õ¥í¥Ã¥Ô¡¼¤òÁÞÆþ¤·¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
- ºÇ½é¤Î¥Ç¥£¥¹¥¯¤Çµ¯Æ°¤·¡¢¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤¿¤é¡¢
+ ¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤¿¤é¡¢
Í׵ᤵ¤ì¤ëÄ̤ê¤Ë¾¤Î¥Ç¥£¥¹¥¯¤òÁÞÆþ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
<step>
- <para>CDROM, USB ¥¹¥Æ¥£¥Ã¥¯¤Þ¤¿¤Ï¥Õ¥í¥Ã¥Ô¡¼¤Î¤É¤ì¤«¤éµ¯Æ°¤¹¤ë¤«¤Ë¤«¤«¤ï¤é¤º¡¢
- µ¯Æ°¥×¥í¥»¥¹¤Ï &os; ¥Ö¡¼¥È¥í¡¼¥À¥á¥Ë¥å¡¼¤ËÅþ㤷¤Þ¤¹¡£</para>
+ <para>µ¯Æ°¥×¥í¥»¥¹¤Ï &os; ¥Ö¡¼¥È¥í¡¼¥À¥á¥Ë¥å¡¼¤òɽ¼¨¤·¤Þ¤¹¡£</para>
<figure id="boot-loader-menu">
<title>&os; ¥Ö¡¼¥È¥í¡¼¥À¥á¥Ë¥å¡¼</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/boot-loader-menu"/>
</imageobject>
</mediaobject>
</figure>
<para>10 ÉôÖÂԤĤ«¡¢<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
</procedure>
</sect3>
<sect3>
<title>&sparc64; ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Îµ¯Æ°</title>
<para>¤Û¤È¤ó¤É¤Î &sparc64; ¥·¥¹¥Æ¥à¤Ï¡¢
¥Ç¥£¥¹¥¯¤«¤é¼«Æ°Åª¤Ëµ¯Æ°¤¹¤ë¤è¤¦¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
- &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯¤Þ¤¿¤Ï CDROM
- ¤«¤éµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¡¢¤½¤Î¤¿¤á¤Ë¤Ï PROM (OpenFirmware)
- ¤ËÆþ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
+ &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯¤Þ¤¿¤Ï CD/DVD
+ ¤«¤éµ¯Æ°¤·¡¢¥Ö¡¼¥È¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Þ¤ÇÂԤäƤ¯¤À¤µ¤¤¡£
+ ¥â¥Ç¥ë¤Ë¤è¤ê¤Þ¤¹¤¬¡¢°Ê²¼¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
- <para>PROM ¤ËÆþ¤ë¤Ë¤Ï¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¡¢
- ¥Ö¡¼¥È¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Þ¤ÇÂԤäƤ¯¤À¤µ¤¤¡£
- ¥â¥Ç¥ë¤Ë¤è¤ê¤Þ¤¹¤¬¡¢°Ê²¼¤Î¤è¤¦¤Êɽ¼¨¤Ç¤¹¡£</para>
-
<screen>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.</screen>
- <para>¤â¤·¥·¥¹¥Æ¥à¤¬¤³¤Î»þÅÀ¤Ç¥Ç¥£¥¹¥¯¤«¤éµ¯Æ°¤¹¤ë¤è¤¦¤Ç¤·¤¿¤é¡¢
+ <para>¤â¤·¥·¥¹¥Æ¥à¤¬¥Ç¥£¥¹¥¯¤«¤éµ¯Æ°¤¹¤ë¤è¤¦¤Ç¤·¤¿¤é¡¢
¥­¡¼¥Ü¡¼¥É¤«¤é
<keycombo action="simul"><keycap>L1</keycap><keycap>A</keycap></keycombo>
¤Þ¤¿¤Ï
<keycombo action="simul"><keycap>Stop</keycap><keycap>A</keycap></keycombo>
- ¤ò²¡¤¹¤«¡¢¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤«¤é <command>BREAK</command>
- (¤¿¤È¤¨¤Ð¡¢&man.tip.1; ¤Þ¤¿¤Ï &man.cu.1; ¤Ç¤Ï <command>~#</command>)
- ¤òÁ÷¿®¤·¤Æ¡¢PROM ¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Æ¤¯¤À¤µ¤¤¡£
+ ¤ò²¡¤¹¤«¡¢¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤«¤é
+ &man.tip.1; ¤Þ¤¿¤Ï &man.cu.1; ¤Ç <command>~#</command>
+ ¤ò»È¤Ã¤Æ <command>BREAK</command> ¤òÁ÷¿®¤·¤Æ¡¢
+ PROM ¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Æ¤¯¤À¤µ¤¤¡£
¼¡¤Î¤è¤¦¤Êɽ¼¨¤Ç¤¹¡£</para>
<screen><prompt>ok </prompt><co id="prompt-single"/>
<prompt>ok {0} </prompt><co id="prompt-smp"/></screen>
<calloutlist>
<callout arearefs="prompt-single">
<para>ñ°ì¤Î CPU ¤ò»ý¤Ä¥·¥¹¥Æ¥à¤Ç¤Î¥×¥í¥ó¥×¥È</para>
</callout>
<callout arearefs="prompt-smp">
<para>SMP ¥·¥¹¥Æ¥à¤Î¥×¥í¥ó¥×¥È¡£¿ô»ú¤Ï¥¢¥¯¥Æ¥£¥Ö¤Ê CPU ¤Î¿ô¡£</para>
</callout>
</calloutlist>
- <para>¤³¤³¤Ç¡¢CDROM ¤ò¥É¥é¥¤¥Ö¤ËÁÞÆþ¤·¡¢
+ <para>¤³¤³¤Ç¡¢CD ¤Þ¤¿¤Ï DVD ¤ò¥É¥é¥¤¥Ö¤ËÁÞÆþ¤·¡¢
PROM ¥×¥í¥ó¥×¥È¤Ç <command>boot cdrom</command> ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect3>
</sect2>
<sect2 id="view-probe">
<title>¥Ç¥Ð¥¤¥¹¸¡½Ð·ë²Ì¤òºÆÉ½¼¨¤¹¤ë</title>
<para>²èÌ̤Ëɽ¼¨¤µ¤ì¤ë¿ôÉ´¹Ô¤Îʸ»úÎó¤Ï (¥Ð¥Ã¥Õ¥¡¤Ë) µ­²±¤µ¤ì¤Æ¤ª¤ê¡¢
ºÆÉ½¼¨¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£</para>
- <para>¥Ð¥Ã¥Õ¥¡¤òºÆÉ½¼¨¤¹¤ë¤Ë¤Ï¡¢<keycap>Scroll Lock</keycap> ¥­¡¼¤ò²¡¤·¤Þ¤¹¡£
+ <para>¥Ð¥Ã¥Õ¥¡¤òºÆÉ½¼¨¤¹¤ë¤Ë¤Ï¡¢<keycap>Scroll Lock</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤Ç¡¢²èÌ̤ò¥¹¥¯¥í¡¼¥ë¤Ç¤­¤Þ¤¹¡£·ë²Ì¤ò¸«¤ë¤¿¤á¤Ë¤Ï¡¢Ìð°õ¥­¡¼¤â¤·¤¯¤Ï
<keycap>PageUp</keycap> ¤« <keycap>PageDown</keycap> ¤ò»È¤¤¤Þ¤¹¡£
<keycap>Scroll Lock</keycap> ¤ò¤â¤¦°ìÅÙ²¡¤¹¤È¡¢¥¹¥¯¥í¡¼¥ë¤òÄä»ß¤·¤Þ¤¹¡£</para>
- <para>ľ¤Á¤Ë¤³¤Îºî¶È¤ò¹Ô¤Ã¤Æ¡¢¥«¡¼¥Í¥ë¤¬¥Ç¥Ð¥¤¥¹¸¡½Ð¤ò¼Â¹Ô¤·¤Æ¤¤¤ë»þ¤Ë
- ²èÌ̤γ°¤Ëή¤ì¤¿Ê¸»úÎó¤òºÆÉ½¼¨¤·¤Æ¤¯¤À¤µ¤¤¡£
+ <para>¤³¤Îºî¶È¤ò¹Ô¤Ã¤Æ¡¢¥«¡¼¥Í¥ë¤¬¥Ç¥Ð¥¤¥¹¸¡½Ð¤ò¼Â¹Ô¤·¤Æ¤¤¤ë»þ¤Ë²èÌ̤γ°¤Ëή¤ì¤¿Ê¸»úÎó¤òºÆÉ½¼¨¤·¤Æ¤¯¤À¤µ¤¤¡£
<xref linkend="install-dev-probe"/> ¤Ë¤è¤¯»÷¤¿²èÌ̤¬¸½¤ï¤ì¤ë¤Ç¤·¤ç¤¦¤¬¡¢
- ¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ËÅëºÜ¤µ¤ì¤Æ¤¤¤ë¥Ç¥Ð¥¤¥¹¤Ë¤è¤Ã¤Æ¡¢É½¼¨¤µ¤ì¤ëʸ»úÎó¤Ï°Û¤Ê¤ë¤Ç¤·¤ç¤¦¡£</para>
+ ¥³¥ó¥Ô¥å¡¼¥¿¤ËÅëºÜ¤µ¤ì¤Æ¤¤¤ë¥Ç¥Ð¥¤¥¹¤Ë¤è¤Ã¤Æ¡¢É½¼¨¤µ¤ì¤ëʸ»úÎó¤Ï°Û¤Ê¤ê¤Þ¤¹¡£</para>
<figure id="install-dev-probe">
<title>¸ÅŵŪ¤Ê¥Ç¥Ð¥¤¥¹¸¡½Ð·ë²Ì¤ÎÎã</title>
<screen>avail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image &lt;/mfsroot&gt; 4423680 bytes at 0xc03ddcd4
md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: &lt;math processor&gt; on motherboard
npx0: INT 16 interface
pcib0: &lt;Host to PCI bridge&gt; on motherboard
pci0: &lt;PCI bus&gt; on pcib0
pcib1:&lt;VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge&gt; at device 1.0 on pci0
pci1: &lt;PCI bus&gt; on pcib1
pci1: &lt;Matrox MGA G200 AGP graphics accelerator&gt; at 0.0 irq 11
isab0: &lt;VIA 82C586 PCI-ISA bridge&gt; at device 7.0 on pci0
isa0: &lt;iSA bus&gt; on isab0
atapci0: &lt;VIA 82C586 ATA33 controller&gt; port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 &lt;VIA 83C572 USB controller&gt; port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: &lt;VIA 83572 USB controller&gt; 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: &lt;unknown card&gt; (vendor=0x1106, dev=0x3040) at 7.3
dc0: &lt;ADMtek AN985 10/100BaseTX&gt; 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: &lt;MII bus&gt; on dc0
ukphy0: &lt;Generic IEEE 802.3u media interface&gt; on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: &lt;NE2000 PCI Ethernet (RealTek 8029)&gt; 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: &lt;Option ROM&gt; at iomem 0xc0000-0xc7fff on isa0
fdc0: &lt;NEC 72065B or clone&gt; at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: &lt;1440-KB 3.5&rdquo; drive&gt; on fdc0 drive 0
atkbdc0: &lt;Keyboard controller (i8042)&gt; at port 0x60,0x64 on isa0
atkbd0: &lt;AT Keyboard&gt; flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: &lt;PS/2 Mouse&gt; irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: &lt;Generic ISA VGA&gt; at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: &lt;System console&gt; at flags 0x100 on isa0
sc0: VGA &lt;16 virtual consoles, flags=0x300&gt;
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: &lt;Parallel port&gt; 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: &lt;PLIP network interface&gt; on ppbus0
ad0: 8063MB &lt;IBM-DHEA-38451&gt; [16383/16/63] at ata0-master UDMA33
acd0: CD-RW &lt;LITE-ON LTR-1210B&gt; at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0</screen>
</figure>
- <para>ðǰ¤Ë¸¡½Ð·ë²Ì¤ò¥Á¥§¥Ã¥¯¤·¤Æ¡¢¤¢¤Ê¤¿¤¬Í½´ü¤·¤¿¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥¤¥¹¤ò
+ <para>ðǰ¤Ë¸¡½Ð·ë²Ì¤ò¥Á¥§¥Ã¥¯¤·¤Æ¡¢¤¹¤Ù¤Æ¤Î¥Ç¥Ð¥¤¥¹¤ò
&os; ¤¬¸¡½Ð¤Ç¤­¤¿»ö¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£¥Ç¥Ð¥¤¥¹¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
¸¡½Ð·ë²Ì¤ØÉ½¼¨¤µ¤ì¤Þ¤»¤ó¡£
<link linkend="kernelconfig">¥«¥¹¥¿¥à¥«¡¼¥Í¥ë</link> ¤ò¹½ÃÛ¤¹¤ë¤³¤È¤Ç¡¢
- ¥µ¥¦¥ó¥É¥«¡¼¥É¤Î¤è¤¦¤Ë <filename>GENERIC</filename>
- ¥«¡¼¥Í¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¥Ç¥Ð¥¤¥¹¤Î¥µ¥Ý¡¼¥È¤òÄɲ乤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ <filename>GENERIC</filename>
+ ¥«¡¼¥Í¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¥Ç¥Ð¥¤¥¹¤ËÂбþ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
<para>¥Ç¥Ð¥¤¥¹¸¡½Ð¸å¡¢
- <xref linkend="config-country"/> ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
- Ìð°õ¥­¡¼¤ò»È¤Ã¤Æ¡¢¹ñ¡¢Ãϰ衢¥°¥ë¡¼¥×¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¤½¤Î¸å¡¢<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¹ñ¤ò´Êñ¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£</para>
+ <xref linkend="config-country"/> ¤Ë¼¨¤µ¤ì¤ë¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
+ Ìð°õ¥­¡¼¤ò»È¤Ã¤Æ¡¢¹ñ¡¢Ãϰè¤Þ¤¿¤Ï¥°¥ë¡¼¥×¤òÁªÂò¤·¡¢
+ ¤½¤Î¸å¡¢<keycap>Enter</keycap> ¤ò²¡¤·¤Æ·èÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="config-country">
<title>¹ñ¤ÎÁªÂò¥á¥Ë¥å¡¼</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/config-country"/>
</imageobject>
</mediaobject>
</figure>
<para>¹ñ¤Ë <guimenuitem>United States</guimenuitem> ¤òÁªÂò¤·¤¿¾ì¹ç¤Ë¤Ï¡¢
- ɸ½à¤Î¥¢¥á¥ê¥«¤Î¥­¡¼¥Ü¡¼¥É¥Þ¥Ã¥×¤¬»È¤ï¤ì¤Þ¤¹¡£
+ ɸ½à¤Î¥¢¥á¥ê¥«¤Î¥­¡¼¥Ü¡¼¥É¥Þ¥Ã¥×¤¬»È¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¾¤Î¹ñ¤òÁªÂò¤¹¤ë¤È°Ê²¼¤Î¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
- Ìð°õ¥­¡¼¤ò»È¤Ã¤Æ¡¢Å¬Àڤʥ­¡¼¥Ü¡¼¥É¥Þ¥Ã¥×¤òÁªÂò¤·¤Æ
+ Ìð°õ¥­¡¼¤ò»È¤¤¡¢Å¬Àڤʥ­¡¼¥Ü¡¼¥É¥Þ¥Ã¥×¤òÁªÂò¤·¤Æ
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="config-keymap">
<title>¥­¡¼¥Ü¡¼¥É¥á¥Ë¥å¡¼¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/config-keymap"/>
</imageobject>
</mediaobject>
</figure>
- <para>¹ñ¤ÎÀßÄ꤬½ª¤ï¤Ã¤¿¤é¡¢<application>sysinstall</application>
- ¥á¥¤¥ó¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
+ <para>¹ñ¤ÎÀßÄ꤬½ª¤ï¤Ã¤¿¤é¡¢&man.sysinstall.8;
+ ¤Î¥á¥¤¥ó¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
</sect2>
</sect1>
<sect1 id="using-sysinstall">
- <title>Sysinstall ¤Î¾Ò²ð</title>
+ <title>&man.sysinstall.8; ¤Î¾Ò²ð</title>
- <para><application>sysinstall</application> ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï &os;
- ¥×¥í¥¸¥§¥¯¥È¤¬Ä󶡤¹¤ë¥¤¥ó¥¹¥È¡¼¥ëÍÑ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¹¡£
- ¤³¤ì¤Ï¡¢¥³¥ó¥½¡¼¥ë¾å¤Çưºî¤·¡¢
- ¥¤¥ó¥¹¥È¡¼¥ë¤ÎÀßÄê¤äÀ©¸æ¤Ë»È¤¨¤ë¤¤¤¯¤Ä¤â¤Î¥á¥Ë¥å¡¼¤ä²èÌ̤Ëʬ¤«¤ì¤Æ¤¤¤Þ¤¹¡£</para>
+ <para>&os;&nbsp;8.<replaceable>X</replaceable> ¤Î¥¤¥ó¥¹¥È¡¼¥é¤Ç¤¢¤ë
+ &man.sysinstall.8; ¤Ï¡¢
+ ¥³¥ó¥½¡¼¥ë¾å¤Çưºî¤·¡¢
+ ¤¤¤¯¤Ä¤â¤Î¥á¥Ë¥å¡¼¤ä²èÌ̤«¤é¹½À®¤µ¤ì¡¢
+ ÀßÄê¤ä¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥»¥¹¤ò¥³¥ó¥È¥í¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
- <para><application>sysinstall</application> ¤Î¥á¥Ë¥å¡¼¤Ï¥«¡¼¥½¥ë¥­¡¼¡¢
+ <para>¥á¥Ë¥å¡¼¤Ï¥«¡¼¥½¥ë¥­¡¼¡¢
<keycap>Enter</keycap>, <keycap>Tab</keycap>,
<keycap>Space</keycap> Åù¤ÇÁàºî¤·¤Þ¤¹¡£
- ¥­¡¼¤Î¾Ü¤·¤¤²òÀâ¤È¤½¤Î°ÕÌ£¤Ë¤Ä¤¤¤Æ¤Ï
- <application>sysinstall</application> ¤Î»ÈÍÑË¡¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
-
- <para>¤³¤ÎÀâÌÀ¤òÆÉ¤à¤Ë¤Ï¡¢<xref linkend="sysinstall-main3"/> ¤Ë¼¨¤¹¤è¤¦¤Ë¡¢
+ ¤³¤ì¤é¤Î¥­¡¼¤Î¾Ü¤·¤¤²òÀâ¤È¤½¤Î°ÕÌ£¤Ë¤Ä¤¤¤Æ¤Ï¡¢<xref
+ linkend="sysinstall-main3"/> ¤Ë¼¨¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢
<guimenuitem>Usage</guimenuitem> ¤Î¹àÌܤ¬¶¯Ä´É½¼¨¤µ¤ì¡¢
- <guibutton>[Select]</guibutton> ¥Ü¥¿¥ó¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¡¢
+ <guibutton>[Select]</guibutton> ¥Ü¥¿¥ó¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤«¤é¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¥á¥Ë¥å¡¼¥·¥¹¥Æ¥à¤Î»È¤¤Êý¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ÆÉ¤ß½ª¤Ã¤¿¤é¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¥á¥¤¥ó¥á¥Ë¥å¡¼¤ËÌá¤ê¤Þ¤·¤ç¤¦¡£</para>
<figure id="sysinstall-main3">
<title>Sysinstall ¤Î¥á¥¤¥ó¥á¥Ë¥å¡¼¤«¤é Usage ¤òÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/main1"/>
</imageobject>
</mediaobject>
</figure>
<sect2 id="select-doc">
<title>¥É¥­¥å¥á¥ó¥È¥á¥Ë¥å¡¼¤ÎÁªÂò</title>
<para>¥á¥¤¥ó¥á¥Ë¥å¡¼¤«¤é¡¢¥«¡¼¥½¥ë¥­¡¼¤Ç
<guimenuitem>Doc</guimenuitem> ¤òÁªÂò¤·¤Æ
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="main-doc">
<title>¥É¥­¥å¥á¥ó¥È¥á¥Ë¥å¡¼¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/main-doc"/>
</imageobject>
</mediaobject>
</figure>
<para>¤³¤ì¤Ç¥É¥­¥å¥á¥ó¥È¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<figure id="docmenu1">
<title>Sysinstall ¥É¥­¥å¥á¥ó¥È¥á¥Ë¥å¡¼</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/docmenu1"/>
</imageobject>
</mediaobject>
</figure>
- <para>ÍѰդµ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤òÆÉ¤à¤Î¤ÏÂçÀڤʤ³¤È¤Ç¤¹¡£</para>
-
- <para>¥É¥­¥å¥á¥ó¥È¤òÆÉ¤à¤Ë¤Ï¡¢¥«¡¼¥½¥ë¥­¡¼¤ÇÁªÂò¤·¤Æ
+ <para>ÉÕ°¤Î¥É¥­¥å¥á¥ó¥È¤òÆÉ¤à¤³¤È¤Ï½ÅÍפǤ¹¡£
+ ¥É¥­¥å¥á¥ó¥È¤òÆÉ¤à¤Ë¤Ï¡¢¥«¡¼¥½¥ë¥­¡¼¤ÇÁªÂò¤·¤Æ
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£ÆÉ¤ß½ª¤¨¤¿¤é¡¢
- <keycap>Enter</keycap> ¤ò²¡¤¹¤È¥É¥­¥å¥á¥ó¥È¥á¥Ë¥å¡¼¤ËÌá¤ê¤Þ¤¹¡£</para>
+ <keycap>Enter</keycap> ¤ò²¡¤¹¤È¥É¥­¥å¥á¥ó¥È¤Î¥á¥Ë¥å¡¼¤ËÌá¤ê¤Þ¤¹¡£</para>
<para>¥á¥¤¥ó¤Î¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ë¥å¡¼¤ËÌá¤ë¤Ë¤Ï¡¢¥«¡¼¥½¥ë¥­¡¼¤Ç
<guimenuitem>Exit</guimenuitem> ¤òÁªÂò¤·¤Æ¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="keymap">
<title>¥­¡¼ÇÛÎó¥á¥Ë¥å¡¼¤ÎÁªÂò</title>
<para>¥­¡¼¥Ü¡¼¥ÉÇÛÎó¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢¥«¡¼¥½¥ë¥­¡¼¤Ç
<guimenuitem>Keymap</guimenuitem> ¤òÁªÂò¤·¤Æ¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
»ÈÍѤ·¤Æ¤¤¤ë¥­¡¼¥Ü¡¼¥É¤¬¡¢É¸½à¤Ç¤Ï¤Ê¤«¤Ã¤¿¤ê¡¢
¤Þ¤¿¤Ï US ¤Ç¤Ï¤Ê¤¤¾ì¹ç¤ËÊѹ¹ºî¶È¤¬É¬ÍפȤʤê¤Þ¤¹¡£</para>
<figure id="sysinstall-keymap">
<title>Sysinstall ¥á¥¤¥ó¥á¥Ë¥å¡¼</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/main-keymap"/>
</imageobject>
</mediaobject>
</figure>
<para>¾å²¼¤Î¥«¡¼¥½¥ë¥­¡¼¤Ç¥á¥Ë¥å¡¼¹àÌܤòÁªÂò¤·¤Æ
- <keycap>Space</keycap> ¤ò²¡¤»¤Ð°Û¤Ê¤ë¥­¡¼¥Ü¡¼¥ÉÇÛÎó¤òÁªÂò¤Ç¤­¤Þ¤¹¡£
+ <keycap>Space</keycap> ¤ò²¡¤¹¤È¡¢°Û¤Ê¤ë¥­¡¼¥Ü¡¼¥ÉÇÛÎó¤òÁªÂò¤Ç¤­¤Þ¤¹¡£
¤â¤¦°ìÅÙ <keycap>Space</keycap> ¤ò²¡¤¹¤È¡¢ÁªÂò¤ò²ò½ü¤·¤Þ¤¹¡£
´°Î»¤·¤¿¤é¡¢¥«¡¼¥½¥ë¥­¡¼¤Ç &gui.ok; ¤òÁªÂò¤·¤Æ
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¤³¤Î¥¹¥¯¥ê¡¼¥óɽ¼¨¤Ç¤Ï¡¢¥ê¥¹¥È¤Î°ìÉô¤·¤«É½¼¨¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
<keycap>Tab</keycap> ¤ò²¡¤·¤Æ &gui.cancel; ¤òÁªÂò¤¹¤ë¤È¡¢
¥Ç¥Õ¥©¥ë¥È¤Î¥­¡¼¥Þ¥Ã¥×¤ò»ÈÍѤ·¤Æ¡¢
¥á¥¤¥ó¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ë¥å¡¼¤ËÌá¤ê¤Þ¤¹¡£</para>
<figure id="sysinstall-keymap-menu">
<title>Sysinstall ¥­¡¼ÇÛÎó¥á¥Ë¥å¡¼</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/keymap"/>
</imageobject>
</mediaobject>
</figure>
</sect2>
<sect2 id="viewsetoptions">
<title>¥¤¥ó¥¹¥È¡¼¥ë¥ª¥×¥·¥ç¥ó²èÌÌ</title>
<para><guimenuitem>Options</guimenuitem> ¤òÁªÂò¤·¤Æ¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="sysinstall-options">
<title>Sysinstall ¥á¥¤¥ó¥á¥Ë¥å¡¼</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/main-options"/>
</imageobject>
</mediaobject>
</figure>
<figure id="options">
<title>Sysinstall ¥ª¥×¥·¥ç¥ó</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/options"/>
</imageobject>
</mediaobject>
</figure>
<para>¤Û¤È¤ó¤É¤Î¥æ¡¼¥¶¡¼¤Ë¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÃͤǤ褯¡¢Êѹ¹¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
¥ê¥ê¡¼¥¹Ì¾¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤ÆÊѤï¤ê¤Þ¤¹¡£</para>
<para>ÁªÂò¤µ¤ì¤¿¹àÌܤÎÀâÌÀ¤¬¡¢²èÌ̤β¼Éô¤ËÀĤ¯¶¯Ä´É½¼¨¤µ¤ì¤Þ¤¹¡£
¥ª¥×¥·¥ç¥ó¤Î 1 ¤Ä¤Ï <guimenuitem>Use Defaults</guimenuitem> ¤È¤¤¤¦¡¢
¤¹¤Ù¤Æ¤ÎÃͤò½é´üÃͤËÌ᤹¤â¤Î¤Ç¤¢¤ë¤³¤È¤Ëµ¤¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£</para>
<para><keycap>F1</keycap> ¤ò²¡¤¹¤È¡¢
¤µ¤Þ¤¶¤Þ¤Ê¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤ÎÀâÌÀ¤òÆÉ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<para><keycap>Q</keycap> ¤ò²¡¤¹¤È¡¢
¥á¥¤¥ó¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ë¥å¡¼¤ËÌá¤ê¤Þ¤¹¡£</para>
</sect2>
<sect2 id="start-install">
<title>ɸ½à¥¤¥ó¥¹¥È¡¼¥ë¤Î³«»Ï</title>
<para>&unix; ¤ä &os; ¤¬½é¤á¤Æ¤Î¿Í¤Ë¤Ï
<guimenuitem>Standard</guimenuitem> ¥¤¥ó¥¹¥È¡¼¥ë¤¬¤ª¾©¤á¤Ç¤¹¡£
- ¥«¡¼¥½¥ë¥­¡¼¤Ç <guimenuitem>Standard</guimenuitem> ¤òÁªÂò¤·¤Æ¡¢
+ ¥«¡¼¥½¥ë¥­¡¼¤Ç <guimenuitem>Standard</guimenuitem> ¤òÁªÂò¤·¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤ò»Ï¤á¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="sysinstall-standard">
<title>ɸ½à¥¤¥ó¥¹¥È¡¼¥ë¤Î³«»Ï</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/main-std"/>
</imageobject>
</mediaobject>
</figure>
</sect2>
</sect1>
<sect1 id="install-steps">
<title>¥Ç¥£¥¹¥¯Îΰè¤Î³ä¤êÅö¤Æ</title>
<para>ºÇ½é¤Î²ÝÂê¤Ï¡¢&os; ÍѤ˥ǥ£¥¹¥¯Îΰè¤ò³ä¤êÅö¤Æ¡¢
- <application>sysinstall</application>
+ &man.sysinstall.8;
¤¬»È¤¨¤ë¤è¤¦¤Ë¥é¥Ù¥ë¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¹¡£
¤½¤¦¤¹¤ë¤¿¤á¤Ë¤Ï¡¢&os;
¤¬¥Ç¥£¥¹¥¯¾å¤Ë¤É¤Î¤è¤¦¤Ê¾ðÊ󤬤¢¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤ë¤«¤òÃΤé¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</para>
<sect2 id="install-drive-bios-numbering">
<title>BIOS ¥É¥é¥¤¥Ö¤ÎÈÖ¹æÉÕ¤±</title>
<para>&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤ÆÀßÄꤹ¤ëÁ°¤Ë¡¢
&os; ¤¬¤É¤Î¤è¤¦¤Ë BIOS
¥É¥é¥¤¥Ö¥Þ¥Ã¥Ô¥ó¥°¤ò¼è¤ê°·¤¦¤«¤òÍý²ò¤·¤Æ¤ª¤¯¤³¤È¤¬½ÅÍפǤ¹¡£</para>
<indexterm><primary>MS-DOS</primary></indexterm>
<indexterm><primary>Microsoft Windows</primary></indexterm>
- <para>&ms-dos; ¤ä &microsoft.windows; ¤Î¤è¤¦¤Ê BIOS
+ <para>&microsoft.windows; ¤Î¤è¤¦¤Ê
¤Ë°Í¸¤·¤¿¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬Æ°¤¤¤Æ¤¤¤ë PC ¤Ç¤Ï¡¢
BIOS ¤¬¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤Î½ç½ø¤ò¹½À®¤Ç¤­¡¢
- OS ¤Ï¤½¤ÎÊѲ½¤ËÄɽ¾¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢"¥×¥é¥¤¥Þ¥ê¡¼¥Þ¥¹¥¿"
+ OS ¤Ï¤½¤ÎÊѲ½¤ËÄɽ¾¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢"¥×¥é¥¤¥Þ¥ê¥Þ¥¹¥¿"
°Ê³°¤Î¥Ç¥£¥¹¥¯¤«¤éµ¯Æ°¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤³¤Î»ÅÁȤߤòÍѤ¤¤ì¤Ð¥·¥¹¥Æ¥à¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë´Êñ¤ÊÊýË¡¤ò¹½ÃۤǤ­¤Þ¤¹¡£
¤â¤¦°ì¤ÄƱ¤¸¥Ç¥£¥¹¥¯¤òÇ㤤¡¢
°ì¤ÄÌܤΥǥ£¥¹¥¯¤«¤éÆó¤Ä¤á¤Î¥Ç¥£¥¹¥¯¤Ø¤Î¥³¥Ô¡¼¤òÄê´üŪ¤Ë¼è¤ì¤Ð¤¤¤¤¤Î¤Ç¤¹¡£
¤½¤·¤Æ¡¢°ì¤ÄÌܤΥǥ£¥¹¥¯¤Ë¾ã³²¤¬µ¯¤­¤¿¤ê¡¢¥¦¥£¥ë¥¹¤Ë´¶À÷¤·¤¿¤ê¡¢
¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ÎÉÔ¶ñ¹ç¤Ç¤á¤Á¤ã¤¯¤Á¤ã¤Ë¤µ¤ì¤Æ¤·¤Þ¤Ã¤¿»þ¤Ë¤Ï¡¢
BIOS ¤ËÂФ·¤Æ¥É¥é¥¤¥Ö¤òÏÀÍýŪ¤Ë¸ò´¹¤¹¤ë¤è¤¦¤Ë»Ø¼¨¤¹¤ë¤³¤È¤Ç´Êñ¤ËÉüµì¤Ç¤­¤ë¤Î¤Ç¤¹¡£
¤³¤ÎÊýË¡¤Ï¥É¥é¥¤¥Ö¤Î¥±¡¼¥Ö¥ë¤ò¸ò´¹¤¹¤ë¤Î¤ÈƱ¤¸¤è¤¦¤Ê¤³¤È¤Ê¤Î¤Ç¤¹¤¬¡¢
¥±¡¼¥¹¤ò³«¤±¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£</para>
<indexterm><primary>SCSI</primary></indexterm>
<indexterm><primary>BIOS</primary></indexterm>
- <para>SCSI ¥³¥ó¥È¥í¡¼¥é¤òÈ÷¤¨¤¿¤â¤Ã¤È¹â²Á¤Ê¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
+ <para>SCSI ¥³¥ó¥È¥í¡¼¥é¤òÈ÷¤¨¤¿¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
¤·¤Ð¤·¤Ð BIOS ¤Ë³ÈÄ¥¤¬»Ü¤µ¤ì¤Æ¤ª¤ê¡¢Æ±¤¸¤è¤¦¤Ë 7
Âæ¤Þ¤Ç¤Î¥É¥é¥¤¥Ö¤Î½çÈÖ¤òÁȤߴ¹¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£</para>
<para>°Ê¾å¤Î¤è¤¦¤Êµ¡Ç½¤òÊØÍø¤Ë»È¤Ã¤Æ¤¤¤ë¥æ¡¼¥¶¤Ï¡¢
&os; ¤Ç¤ÏƱ¤¸¤è¤¦¤Ê·ë²Ì¤Ë¤Ê¤é¤Ê¤¤¤³¤È¤Ë¶Ã¤¯¤«¤â¤·¤ì¤Þ¤»¤ó¡£&os; ¤Ï
BIOS ¤òÍøÍѤ·¤Ê¤¤¤¿¤á¡¢<quote>ÏÀÍý BIOS ¥É¥é¥¤¥Ö¥Þ¥Ã¥Ô¥ó¥°</quote>
¤Ë¤Ä¤¤¤Æ¤ÏÃΤé¤Ê¤¤¤Î¤Ç¤¹¡£
- ¤³¤Î¤¿¤á¡¢ÆÃ¤Ë¤¤¤¯¤Ä¤«¤Î¥É¥é¥¤¥Ö¤¬Æ±¤¸¥¸¥ª¥á¥È¥ê¤ò»ý¤Ã¤Æ¤¤¤ë»þ¤Ë¡¢
- ¤½¤·¤Æ¤Þ¤¿¤¢¤ë¤â¤Î¤ò¤â¤¦°ì¤Ä¤Î¥¯¥í¡¼¥ó¤È¤·¤Æ»È¤Ã¤Æ¤¤¤ë»þ¤Ë¡¢
- Èó¾ï¤Ë¤ä¤ä¤³¤·¤¤¾õ¶·¤Ë¤Ê¤êÆÀ¤Þ¤¹¡£</para>
+ ¤³¤Î¤¿¤á¡¢ÆÃ¤ËƱ¤¸ÊªÍý¥¸¥ª¥á¥È¥ê¤ò»ý¤Ã¤Æ¤¤¤ë¤¤¤¯¤Ä¤«¤Î¥É¥é¥¤¥Ö¤ò¥Ç¡¼¥¿¤Î¥¯¥í¡¼¥ó¤È¤·¤Æ»È¤Ã¤Æ¤¤¤ë»þ¤Ë¡¢
+ ¤ä¤ä¤³¤·¤¤¾õ¶·¤Ë¤Ê¤êÆÀ¤Þ¤¹¡£</para>
<para>&os; ¤ò»È¤¦»þ¤Ï¡¢
¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë¥É¥é¥¤¥Ö¤ÎÈÖ¹æÉÕ¤±¤¬¼«Á³¤Ê¤â¤Î¤Ë¤Ê¤ë¤è¤¦¤Ë¡¢
- ɬ¤º BIOS ¤ÎÀßÄê¤ò˺¤ì¤º¤ËÌᤷ¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£
+ ɬ¤º BIOS ¤ÎÀßÄê¤òÌᤷ¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£
¤â¤·¥É¥é¥¤¥Ö¤ÎÈÖ¹æÉÕ¤±¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢
- ¥±¡¼¥¹¤ò³«¤±¥¸¥ã¥ó¥Ñ¡¼¤ä¥±¡¼¥Ö¥ë¤ò°Üư¤¹¤ë¤È¤¤¤¦¥Ï¡¼¥É¥¦¥§¥¢Åª¤Ê¤ä¤ê¤«¤¿¤ò¤È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
+ ¥±¡¼¥¹¤ò³«¤±¥¸¥ã¥ó¥Ñ¡¼¤ä¥±¡¼¥Ö¥ë¤ò°Üư¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<sidebar>
<title>Bill ¤È Fred ¤Î¥¤¥±¥¤¥±ËÁ¸±µ­¤è¤ê</title>
<para>Bill ¤Ï Fred ¤Î¤¿¤á¤Ë¤â¤¦°ì¤Ä &os; È¢¤òºî¤í¤¦¤È¸Å¤¤
Wintel È¢¤òÄÙ¤·¤Þ¤·¤¿¡£Bill ¤Ï ¥æ¥Ë¥Ã¥ÈÈÖ¹æ 0 ¤Î SCSI ¥É¥é¥¤
¥Ö¤ò°ì¤ÄÄɲä·¡¢¤½¤³¤Ë &os; ¤òÆþ¤ì¤Þ¤·¤¿¡£</para>
<para>Fred ¤Ï¤³¤Î¥·¥¹¥Æ¥à¤ò»È¤¤»Ï¤á¤Þ¤·¤¿¤¬¡¢¿ôÆü¸å¤½¤Î¸Å¤¤
- SCSI ¥É¥é¥¤¥Ö¤¬¤¿¤¯¤µ¤ó¤Î¥½¥Õ¥È¥¨¥é¡¼¤òÅǤ¤¤Æ¤¤¤ë¤Î¤Ëµ¤ÉÕ¤­¡¢
- Bill ¤ËÊó¹ð¤·¤Þ¤·¤¿¡£</para>
+ SCSI ¥É¥é¥¤¥Ö¤¬¤¿¤¯¤µ¤ó¤Î¥¨¥é¡¼¤òÅǤ¤¤Æ¤¤¤ë¤³¤È¤Ëµ¤ÉÕ¤­¤Þ¤·¤¿¡£</para>
- <para>¤µ¤é¤Ë¿ôÆü¸å¡¢Bill ¤Ï¤½¤ÎÌäÂê¤ËÂн褷¤è¤¦¤È·è°Õ¤·¡¢
- ÁҸˤΥǥ£¥¹¥¯¥É¥é¥¤¥Ö¥¢¡¼¥«¥¤¥Ö¤«¤éƱ¤¸ SCSI ¥É¥é¥¤¥Ö¤ò¼è¤Ã¤Æ¤­¤Þ¤·¤¿¡£
- ¤Þ¤º¥É¥é¥¤¥Ö¤Î¥µ¡¼¥Õ¥£¥¹¥¹¥­¥ã¥ó¤ò¹Ô¤Ê¤Ã¤Æ¤ß¤Þ¤·¤¿¤¬¡¢
- ÆÃ¤ËÌäÂê¤Ê¤«¤Ã¤¿¤¿¤á¡¢Bill ¤Ï¤³¤Î¥É¥é¥¤¥Ö¤ò¥æ¥Ë¥Ã¥ÈÈÖ¹æ 4 ¤È
+ <para>¤½¤ÎÌäÂê¤ËÂн褹¤ë¤¿¤á¡¢
+ Bill ¤ÏƱ¤¸ SCSI ¥É¥é¥¤¥Ö¤ò¼è¤Ã¤Æ¤­¤Þ¤·¤¿¡£
+ ¤³¤Î¥É¥é¥¤¥Ö¤ò SCSI ¥æ¥Ë¥Ã¥ÈÈÖ¹æ 4 ¤È
¤·¤Æ¼è¤êÉÕ¤±¡¢¥É¥é¥¤¥Ö 0 ¤«¤é¥É¥é¥¤¥Ö 4 ¤Ø¤Î¥¤¥á¡¼¥¸¥³¥Ô¡¼¤ò¹Ô¤Ê¤¤¤Þ¤·¤¿¡£
- ¿·¤·¤¤¥É¥é¥¤¥Ö¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¡¢¤·¤«¤â¤¦¤Þ
- ¤¯Æ°¤¤¤Æ¤¤¤ë¤¿¤á¡¢Bill ¤Ï¤½¤ì¤ò»È¤¤»Ï¤á¤Æ¤â¤¤¤¤¤À¤í¤¦¤È»×¤¤¤Þ¤·¤¿¡£
+ ¿·¤·¤¤¥É¥é¥¤¥Ö¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¡¢
+ ¤·¤«¤â¤¦¤Þ¤¯Æ°¤¤¤Æ¤¤¤ë¤¿¤á¡¢Bill
+ ¤Ï¤½¤ì¤ò»È¤¤»Ï¤á¤Æ¤â¤¤¤¤¤À¤í¤¦¤È»×¤¤¤Þ¤·¤¿¡£
¤½¤³¤ÇÈà¤Ï SCSI BIOS ¤Îµ¡Ç½¤ò»È¤Ã¤Æ¥·¥¹¥Æ¥à¤¬¥æ¥Ë¥Ã¥È 4
¤«¤éµ¯Æ°¤¹¤ë¤è¤¦¤Ë¥Ç¥£¥¹¥¯¥É¥é¥¤¥Ö¤Î½ç½ø¤òÆþ¤ì´¹¤¨¤Þ¤·¤¿¡£
&os; ¤¬µ¯Æ°¤·¡¢Ä´»ÒÎɤ¯Æ°¤­»Ï¤á¤Þ¤·¤¿¡£</para>
- <para>Fred ¤Ï¿ôÆüºî¶È¤ò³¤±¤Þ¤·¤¿¤¬¡¢¤¹¤°¤Ë Bill ¤È Fred
- ¤Ï¿·¤·¤¤ËÁ¸±¤ËÄ©À魯¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î &os;
- ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤Î¤Ç¤¹¡£Bill ¤Ï SCSI ¥æ¥Ë¥Ã¥È 0
- ¤Î¥Ç¥£¥¹¥¯¤ÏÅö¤Æ¤Ë¤Ê¤é¤Ê¤¤¤Î¤Ç¼è¤ê¤Ï¤º¤·¡¢<quote>¥¢¡¼¥«¥¤¥Ö</quote>
- ¤«¤é»ý¤Ã¤Æ¤­¤¿Ê̤ο·¤·¤¤¥É¥é¥¤¥Ö¤È¸ò´¹¤·¤Þ¤·¤¿¡£¤½¤·¤Æ¡¢¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î
- &os; ¤ò¡¢Fred ¤Î»ý¤Ã¤Æ¤¤¤¿ËâË¡¤Î¥¤¥ó¥¿¡¼¥Í¥Ã¥È FTP
- ¥Õ¥í¥Ã¥Ô¡¼¤òÍѤ¤¤Æ¿·¤·¤¤ SCSI ¥æ¥Ë¥Ã¥È 0 ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤Î¤Ç¤¹¡£
+ <para>Fred ¤Ïºî¶È¤ò³¤±¤Þ¤·¤¿¤¬¡¢¤¹¤°¤Ë
+ ¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î &os;
+ ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£Bill ¤Ï SCSI ¥æ¥Ë¥Ã¥È 0
+ ¤Î¥Ç¥£¥¹¥¯¤ÏÅö¤Æ¤Ë¤Ê¤é¤Ê¤¤¤Î¤Ç¼è¤ê¤Ï¤º¤·¡¢
+ Ê̤ο·¤·¤¤Æ±¤¸¥É¥é¥¤¥Ö¤È¸ò´¹¤·¤Þ¤·¤¿¡£
+ ¤½¤·¤Æ¡¢Bill ¤Ï¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î
+ &os; ¤ò¡¢¿·¤·¤¤ SCSI ¥æ¥Ë¥Ã¥È 0 ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤·¤¿¡£
¥¤¥ó¥¹¥È¡¼¥ë¤Ï¤¦¤Þ¤¯¤¤¤­¤Þ¤·¤¿¡£</para>
<para>Fred ¤Ï¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î &os; ¤ò¿ôÆü»È¤Ã¤Æ¤ß¤Æ¡¢
µ»½ÑÉôÌç¤Ç¤â»È¤¨¤ë¤¯¤é¤¤½½Ê¬¤ËÎɤ¤¤â¤Î¤À¤È³Îǧ¤·¤Þ¤·¤¿¡£
¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤«¤é¤¹¤Ù¤Æ¤Îºî¶È¤ò¥³¥Ô¡¼¤¹¤ë»þ¤¬Í褿¤Î¤Ç¤¹¡£
- ¤½¤³¤Ç Fred ¤Ï SCSI ¥æ¥Ë¥Ã¥È 4 (¸Å¤¤ &os;
- ¤Ç¹Ô¤Ê¤Ã¤Æ¤¤¤¿ºî¶È¤ÎºÇ¿·¤Î¤â¤Î¤òÃÖ¤¤¤Æ¤¢¤ë¥É¥é¥¤¥Ö¤Ç¤¹)
+ ¤½¤³¤Ç Fred ¤Ï¡¢¸Å¤¤ &os;
+ ¤Ç¹Ô¤Ê¤Ã¤Æ¤¤¤¿ºî¶È¤ÎºÇ¿·¤Î¤â¤Î¤¬ÃÖ¤¤¤Æ¤¢¤ë¤Ï¤º¤Î SCSI ¥æ¥Ë¥Ã¥È 4
¤ò¥Þ¥¦¥ó¥È¤·¤Þ¤·¤¿¡£¤È¤³¤í¤¬¡¢Fred ¤Ï SCSI ¥æ¥Ë¥Ã¥È 4
- ¤Ë¤Ï¼«Ê¬¤Îµ®½Å¤Êºî¶È¤¬¤Ê¤Ë¤â»Ä¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤òȯ¸«¤·¤Æ¹²¤Æ¤Õ¤¿¤á¤­¤Þ¤·¤¿¡£</para>
+ ¤Ë¤Ï¼«Ê¬¤Îºî¶È¤¬¤Ê¤Ë¤â»Ä¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤òȯ¸«¤·¤Æ¹²¤Æ¤Õ¤¿¤á¤­¤Þ¤·¤¿¡£</para>
- <para>¥Ç¡¼¥¿¤Ï¤É¤³¤Ø¹Ô¤Ã¤¿¤Î¤Ç¤·¤ç¤¦?</para>
-
<para>Bill ¤¬¥ª¥ê¥¸¥Ê¥ë¤Î SCSI ¥æ¥Ë¥Ã¥È 0 ¤Î¥¤¥á¡¼¥¸¤ò¥æ¥Ë¥Ã¥È
- 4 ¤Ë¥³¥Ô¡¼¤·¤¿»þ¡¢¥æ¥Ë¥Ã¥È 4 ¤Ï <quote>¿·¥¯¥í¡¼¥ó</quote> ¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
- Bill ¤¬¥æ¥Ë¥Ã¥È 4 ¤«¤éµ¯Æ°¤¹¤ë¤è¤¦¤Ë SCSI BIOS ¤Ç½ç½ø¤ÎÆþ¤ì´¹¤¨¤ò¹Ô¤Ê¤Ã¤¿»þ¡¢
- ¼Â¤Ï¤ª¥Ð¥«¤Ê¤³¤È¤Ë¤½¤¦Êѹ¹¤·¤¿¤È»×¤¤¹þ¤ó¤Ç¤¤¤¿¤À¤±¤Ê¤Î¤Ç¤¹¡£
+ 4 ¤Ë¥³¥Ô¡¼¤·¤¿»þ¤Ë¡¢¥æ¥Ë¥Ã¥È 4 ¤¬ <quote>¿·¥¯¥í¡¼¥ó</quote>
+ ¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¡£
+ Bill ¤¬¥æ¥Ë¥Ã¥È 4 ¤«¤éµ¯Æ°¤¹¤ë¤è¤¦¤Ë SCSI BIOS ¤Ç½ç½ø¤ÎÆþ¤ì´¹¤¨¤ò¹Ô¤Ê¤Ã¤¿¸å¤Ç¤â¡¢
&os; ¤Ï°ÍÁ³¤È¤·¤Æ SCSI ¥æ¥Ë¥Ã¥È 0 ¾å¤Çư¤¤¤Æ¤¤¤¿¤Î¤Ç¤¹¡£
BIOS ¤Ë¤³¤Î¤è¤¦¤ÊÊѹ¹¤ò¹Ô¤Ê¤Ã¤Æ¤â Boot ¤È
Loader ¤Î¥³¡¼¥É¤Î°ìÉô¤â¤·¤¯¤ÏÁ´Éô¤ÏÁªÂò¤µ¤ì¤¿ BIOS
- ¥É¥é¥¤¥Ö¤«¤é¼èÆÀ¤µ¤ì¤ë¤â¤Î¤Î¡¢½èÍý¤¬ &os;
- ¤Î¥«¡¼¥Í¥ë¥É¥é¥¤¥Ð¡¼¤Ë°ú¤­ÅϤµ¤ì¤¿»þ¤«¤é BIOS ¥É¥é¥¤¥Ö¤Î½ç½ø¤Ï̵»ë¤µ¤ì¡¢
+ ¥É¥é¥¤¥Ö¤«¤é¼èÆÀ¤µ¤ì¤Þ¤¹¡£¤·¤«¤·¤Ê¤¬¤é¡¢½èÍý¤¬ &os;
+ ¤Î¥«¡¼¥Í¥ë¥É¥é¥¤¥Ð¤Ë°ú¤­ÅϤµ¤ì¤¿»þ¤«¤é BIOS ¥É¥é¥¤¥Ö¤Î½ç½ø¤Ï̵»ë¤µ¤ì¡¢
&os; ¤Ï¡¢Ä̾ï¤Î¥É¥é¥¤¥ÖÈÖ¹æ½ç¤Ë°Ü¹Ô¤¹¤ë¤Î¤Ç¤¹¡£
¤µ¤­¤Û¤É¤ÎÎã¤Ç¤Ï¡¢¥·¥¹¥Æ¥à¤Ï¥ª¥ê¥¸¥Ê¥ë¤Î SCSI ¥æ¥Ë¥Ã¥È 0 ¤Çư¤­Â³¤±¤Æ¤ª¤ê¡¢
Fred ¤Î¥Ç¡¼¥¿¤Ï¤¹¤Ù¤Æ SCSI ¥æ¥Ë¥Ã¥È 4 ¤Ç¤Ï¤Ê¤¯¤½¤Î¥Ç¥£¥¹¥¯¤Ë»Ä¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¡£
¥·¥¹¥Æ¥à¤¬ SCSI ¥æ¥Ë¥Ã¥È 4
¤Çư¤¤¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤¿¤Î¤Ïñ¤Ë¿Í¤Î´üÂÔ¤«¤é¤¯¤ëÌÑÁÛ¤À¤Ã¤¿¤Î¤Ç¤¹¡£</para>
- <para>¤³¤¦¤¤¤Ã¤¿¸½¾Ý¤òȯ¸«¤·¤Æ¤â¡¢
- ¥Ç¡¼¥¿¤Ï¤Þ¤Ã¤¿¤¯¼º¤Ê¤ï¤ì¤Æ¤â»¤Ê¤ï¤ì¤Æ¤â¤¤¤Ê¤¤¤³¤È¤ò¡¢´î¤ó¤ÇÅÁ¤¨¤Æ¤ª¤­¤Þ¤¹¡£
- ¸Å¤¤ SCSI ¥æ¥Ë¥Ã¥È 0 ¤Ï¥¬¥é¥¯¥¿¤Î»³¤«¤é¸«¤Ä¤±½Ð¤µ¤ì¡¢
- Fred ¤¬¹Ô¤Ê¤Ã¤¿ºî¶È¤Ï¤¹¤Ù¤ÆÈà¤Î¤â¤È¤ØÊ֤äƤ­¤¿¤Î¤Ç¤¹
- (¤½¤·¤Æ Bill ¤Ï¼«Ê¬¤¬ 0 ¤Þ¤Ç¤Ï¿ô¤¨¤é¤ì¤ë¤³¤È¤ò³Ø¤ó¤À¤Î¤Ç¤·¤¿)¡£</para>
+ <para>¹¬±¿¤Ë¤â¡¢¸Å¤¤ SCSI ¥æ¥Ë¥Ã¥È 0 ¤Ï¸«¤Ä¤±½Ð¤µ¤ì¡¢
+ Fred ¤¬¹Ô¤Ê¤Ã¤¿ºî¶È¤Ï¤¹¤Ù¤ÆÈà¤Î¤â¤È¤ØÊ֤äƤ­¤¿¤Î¤Ç¤¹¡£</para>
<para>¤³¤ÎÎã¤Ç¤Ï SCSI ¥É¥é¥¤¥Ö¤¬ÍѤ¤¤é¤ì¤Þ¤·¤¿¤¬¡¢¤½¤Î³µÇ°¤Ï
IDE ¥É¥é¥¤¥Ö¤Ë¤âƱ¤¸¤è¤¦¤ËÅö¤Æ¤Ï¤Þ¤ê¤Þ¤¹¡£</para>
</sidebar>
</sect2>
<sect2 id="main-fdisk">
<title>fdisk ¤Ç¥¹¥é¥¤¥¹ºîÀ®</title>
- <note>
- <para>¤³¤ÎÃʳ¬¤Ç¤Ê¤Ë¤âÊѹ¹¤ò²Ã¤¨¤Ê¤¤¤È¤·¤Æ¤â¡¢
- ¤½¤Î¤³¤È¤Ï¥Ç¥£¥¹¥¯¤Ë½ñ¤­¤³¤Þ¤ì¤ë¤Ç¤·¤ç¤¦¡£
- ¤â¤·´Ö°ã¤¤¤ò¤·¤¿¤È¹Í¤¨¤Æ¤â¤¦°ìÅÙ¤ä¤êľ¤·¤¿¤¤¤Î¤Ê¤é¡¢
- ¥á¥Ë¥å¡¼¤ò»È¤Ã¤Æ <application>sysinstall</application>
- ¤ò½ªÎ»¤·¤Æ¤ä¤êľ¤¹¤«¡¢<keycap>U</keycap> ¤ò²¡¤·¤Æ
- <guimenuitem>Undo</guimenuitem> ¥ª¥×¥·¥ç¥ó¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
- ¤Ê¤Ë¤ò¤¹¤ì¤Ð¤¤¤¤¤«Ê¬¤«¤é¤Ê¤¯¤Ê¤Ã¤Æ¡¢½ªÎ»¤¹¤ëÊýË¡¤¬Ê¬¤«¤é¤Ê¤¤¤È¤­¤Ï¡¢
- ¤¤¤Ä¤Ç¤â¥³¥ó¥Ô¥å¡¼¥¿¤òÀڤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
- </note>
-
- <para><application>sysinstall</application>
- ¥á¥¤¥ó¥á¥Ë¥å¡¼¤Ç¥¹¥¿¥ó¥À¡¼¥É¥¤¥ó¥¹¥È¡¼¥ë¤òÁªÂò¤·¤¿¤¢¤È¤Ë¤Ï¡¢
+ <para>&man.sysinstall.8; ¤Ç Standard ¥¤¥ó¥¹¥È¡¼¥ë¤òÁªÂò¤¹¤ë¤È¡¢
¼¡¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£</para>
<screen> 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 ]</screen>
- <para>»Ø¼¨¤µ¤ì¤¿¤È¤ª¤ê <keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¼¡¤Ë¡¢¥Ç¥Ð¥¤¥¹¤ÎÁöºº¤ò¼Â¹Ô¤·¤¿¤È¤­¤Ë¥«¡¼¥Í¥ë¤¬¸«ÉÕ¤±¤¿¡¢
- ¤¹¤Ù¤Æ¤Î¥Ï¡¼¥É¥É¥é¥¤¥Ö¤Î¥ê¥¹¥È¤¬É½¼¨¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£
+ <para><keycap>Enter</keycap> ¤ò²¡¤¹¤È¡¢
+ ¥«¡¼¥Í¥ë¤¬¥Ç¥Ð¥¤¥¹¸¡½Ð»þ¤Ë¸«ÉÕ¤±¤¿¡¢
+ ¤¹¤Ù¤Æ¤Î¥Ï¡¼¥É¥É¥é¥¤¥Ö¤Î¥ê¥¹¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
<xref linkend="sysinstall-fdisk-drive1"/> ¤Ï
- IDE ¥Ç¥£¥¹¥¯¤òÆó¤Ä¤â¤Ä¥·¥¹¥Æ¥à¤ÎÎã¤Ç¤¹¡£
- ¤³¤ì¤é¤Ï
<devicename>ad0</devicename> ¤ª¤è¤Ó
- <devicename>ad2</devicename> ¤È̾ÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤¹¡£</para>
+ <devicename>ad2</devicename> ¤È̾ÉÕ¤±¤é¤ì¤¿
+ 2 ¤Ä¤Î IDE ¥Ç¥£¥¹¥¯¤ò¤â¤Ä¥·¥¹¥Æ¥à¤ÎÎã¤Ç¤¹¡£</para>
<figure id="sysinstall-fdisk-drive1">
<title>fdisk ¤ò¼Â¹Ô¤¹¤ë¥Ç¥£¥¹¥¯¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/fdisk-drive1"/>
</imageobject>
</mediaobject>
</figure>
- <para>¤Ê¤¼ <devicename>ad1</devicename>
- ¤¬¤³¤³¤Ëɽ¼¨¤µ¤ì¤Ê¤¤¤«ÉԻ׵Ĥ˻פ¦¤«¤â¤·¤ì¤Þ¤»¤ó¡£
- ¤Ê¤¼Ëº¤ì¤é¤ì¤¿¤Î¤«?</para>
+ <para>¤³¤Î²èÌ̤Ǥϡ¢°ìÍ÷¤Ë <devicename>ad1</devicename>
+ ¤¬É½¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ËÃíÌܤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
- <para>IDE ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤ò°ì¤ÄÌܤϥץ饤¥Þ¥ê
- IDE ¥³¥ó¥È¥í¡¼¥é¤Î¥Þ¥¹¥¿¤È¤·¤Æ¡¢
- Æó¤ÄÌܤϥ»¥«¥ó¥À¥ê IDE ¥³¥ó¥È¥í¡¼¥é¤Î¥Þ¥¹¥¿¤È¤·¤ÆÆó¤ÄÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¡¢
- ¤Ê¤Ë¤¬µ¯¤³¤ë¤«¹Í¤¨¤Æ¤¯¤À¤µ¤¤¡£
+ <para>°ì¤ÄÌܤϥץ饤¥Þ¥ê IDE ¥³¥ó¥È¥í¡¼¥é¤Î¥Þ¥¹¥¿¡¢
+ Æó¤ÄÌܤϥ»¥«¥ó¥À¥ê IDE ¥³¥ó¥È¥í¡¼¥é¤Î¥Þ¥¹¥¿¤È¤·¤ÆÀܳ¤·¤Æ¤¤¤ë
+ 2 ¤Ä¤Î IDE ¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤ò¹Í¤¨¤Æ¤¯¤À¤µ¤¤¡£
¤â¤· &os; ¤¬¤³¤ì¤é¤ò <devicename>ad0</devicename> ¤È
- <devicename>ad1</devicename> ¤Î¤è¤¦¤Ë¡¢
- ¸«ÉÕ¤±¤¿½çÈÖ¤ÇÈÖ¹æ¤ò¤Ä¤±¤¿¤È¤·¤Æ¤â¤¹¤Ù¤Æ¤Ïưºî¤¹¤ë¤Ç¤·¤ç¤¦¡£</para>
+ <devicename>ad1</devicename>
+ ¤Î¤è¤¦¤ËÈÖ¹æ¤Ä¤±¤Æ¤â¡¢¤¹¤Ù¤Æ¤Ïưºî¤¹¤ë¤Ç¤·¤ç¤¦¡£</para>
<para>¤·¤«¤·¡¢¤½¤Î¸å¥×¥é¥¤¥Þ¥ê IDE ¥³¥ó¥È¥í¡¼¥é¤Î¥¹¥ì¡¼¥Ö¤È¤·¤Æ
- »°¤ÄÌܤΥǥ£¥¹¥¯¤òÄɲä·¤¿¤È¤·¤¿¤é¡¢
+ 3 ¤ÄÌܤΥǥ£¥¹¥¯¤òÄɲä·¤¿¤È¤·¤¿¤é¡¢
¤½¤ì¤Ï¤¿¤Ã¤¿º£ <devicename>ad1</devicename> ¤È¤Ê¤ê¡¢
°ÊÁ°¤Î <devicename>ad1</devicename> ¤Ï
<devicename>ad2</devicename> ¤È¤Ê¤ë¤Ç¤·¤ç¤¦¡£
- ¥Ç¥Ð¥¤¥¹Ì¾ (<devicename>ad1s1a</devicename> ¤Î¤è¤¦¤Ê)
- ¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¸«¤Ä¤±¤ë¤Î¤Ë»È¤ï¤ì¤ë¤Î¤Ç¡¢
+ ¥Ç¥Ð¥¤¥¹Ì¾¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¸«¤Ä¤±¤ë¤Î¤Ë»È¤ï¤ì¤ë¤¿¤á¡¢
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¤¤¤¯¤Ä¤«¤ÏÆÍÁ³Àµ¤·¤¯¸½¤ì¤Ê¤¯¤Ê¤ë¤«¤â¤·¤ì¤º¡¢
&os; ¤ÎÀßÄê¤òÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£</para>
<para>¤³¤ì¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¡¢¥Ç¥£¥¹¥¯¤¬¸«¤Ä¤«¤Ã¤¿½çÈ֤ǤϤʤ¯¡¢
¤É¤³¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¤«¤È¤¤¤¦¤³¤È¤Ë´ð¤Å¤¤¤Æ
IDE ¥Ç¥£¥¹¥¯¤ò̾Á°¤Å¤±¤¹¤ë¤è¤¦¤Ë¥«¡¼¥Í¥ë¤òÀßÄê¤Ç¤­¤Þ¤¹¡£
¤³¤Îµ¡¹½¤Ë¤è¤Ã¤Æ¡¢¥»¥«¥ó¥À¥ê IDE ¥³¥ó¥È¥í¡¼¥é¤Î¥Þ¥¹¥¿¥Ç¥£¥¹¥¯¤Ï¡¢
¤¿¤È¤¨ <devicename>ad0</devicename> ¤Þ¤¿¤Ï <devicename>ad1</devicename>
¥Ç¥Ð¥¤¥¹¤¬¤Ê¤¤¤È¤·¤Æ¤â<emphasis>¤¤¤Ä¤Ç¤â</emphasis>
<devicename>ad2</devicename> ¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£</para>
<para>¤³¤ÎÀßÄê¤Ï &os; ¥«¡¼¥Í¥ë¤Îɸ½àÀßÄê¤Ç¤¹¡£
- ¤³¤ì¤¬¤³¤Î²èÌÌ¤Ç <devicename>ad0</devicename> ¤ª¤è¤Ó
- <devicename>ad2</devicename> ¤òɽ¼¨¤¹¤ëÍýͳ¤Ç¤¹¡£
+ ¤³¤ì¤¬¤³¤ÎÎã¤Ç²èÌÌ¤Ë <devicename>ad0</devicename> ¤ª¤è¤Ó
+ <devicename>ad2</devicename> ¤¬É½¼¨¤µ¤ì¤ëÍýͳ¤Ç¤¹¡£
¤³¤Î¥¹¥¯¥ê¡¼¥ó¥·¥ç¥Ã¥È¤¬ÆÀ¤é¤ì¤¿¥Þ¥·¥ó¤Ë¤Ï¡¢
IDE ¥³¥ó¥È¥í¡¼¥é¤ÎξÊý¤Î¥Þ¥¹¥¿¥Á¥ã¥Í¥ë¤Ë¥Ç¥£¥¹¥¯¤¬¤¢¤ê¡¢
¥¹¥ì¡¼¥Ö¥Á¥ã¥Í¥ë¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó¡£</para>
<para>&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤¥Ç¥£¥¹¥¯¤òÁªÂò¤·¤Æ¡¢
&gui.ok; ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
<xref linkend="sysinstall-fdisk1"/> ¤Î¤è¤¦¤Êɽ¼¨¤È¤È¤â¤Ë
- <application>fdisk</application> ¤¬µ¯Æ°¤¹¤ë¤Ç¤·¤ç¤¦¡£</para>
+ <application>Fdisk</application> ¤¬µ¯Æ°¤¹¤ë¤Ç¤·¤ç¤¦¡£</para>
- <para><application>fdisk</application>
+ <para><application>Fdisk</application>
¤Î²èÌ̤ϻ°¤Ä¤Î¥»¥¯¥·¥ç¥ó¤Ëʬ¤«¤ì¤Þ¤¹¡£</para>
<para>°ì¤ÄÌܤΥ»¥¯¥·¥ç¥ó¤Ï¡¢¤³¤ì¤Ïɽ¼¨¤ÎÀèÆ¬Æó¹Ô¤Ë¤ï¤¿¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢
¸½ºßÁªÂò¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥¹¥¯¤Î¾ÜºÙ¤òɽ¼¨¤·¤Þ¤¹¡£
¥Ç¥£¥¹¥¯¤Î¾ÜºÙ¤Ë¤Ï &os; ¤Ç¤Î¥Ç¥Ð¥¤¥¹Ì¾¡¢¥Ç¥£¥¹¥¯¤Î¥¸¥ª¥á¥È¥ê¡¢
¤½¤·¤Æ¥Ç¥£¥¹¥¯¤ÎÁ´ÍÆÎ̤¬´Þ¤Þ¤ì¤Þ¤¹¡£</para>
<para>Æó¤ÄÌܤΥ»¥¯¥·¥ç¥ó¤Ï¸½ºß¥Ç¥£¥¹¥¯¾å¤Ë¤¢¤ë¥¹¥é¥¤¥¹¤òɽ¼¨¤·¤Þ¤¹¡£
¥¹¥é¥¤¥¹¤Î³«»Ï¥»¥¯¥¿¤È½ªÎ»¥»¥¯¥¿¡¢Â礭¤µ¡¢&os; ¾å¤Ç¤Î̾Á°¡¢
¼ïÎà¤È¥µ¥Ö¥¿¥¤¥×¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¤³¤ÎÎã¤Ç¤Ï¡¢PC ¾å¤Î¥Ç¥£¥¹¥¯¥ì¥¤¥¢¥¦¥Èµ¡Ç½¤¬À¸¤ß½Ð¤·¤¿¡¢
̤»ÈÍѤµ¤Ê¥¹¥é¥¤¥¹¤òÆó¤Äɽ¼¨¤·¤Æ¤¤¤Þ¤¹¡£
- ¤Þ¤¿Â礭¤Ê <acronym>FAT</acronym> ¥¹¥é¥¤¥¹¤â°ì¤Äɽ¼¨¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢
- &ms-dos; ¤Þ¤¿¤Ï &windows; ¤Ë¤ª¤¤¤Æ <devicename>C:</devicename> ¥É¥é¥¤¥Ö
- ¤ª¤è¤Ó¾¤Î¥É¥é¥¤¥Ö̾¤Î³ÈÄ¥¥¹¥é¥¤¥¹¤È¤·¤Æ¸½¤ì¤Þ¤¹¡£</para>
+ ¤Þ¤¿Â礭¤Ê <acronym>FAT</acronym> ¥¹¥é¥¤¥¹¤â°ì¤Äɽ¼¨¤·¤Æ¤¤¤Þ¤¹¡£
+ ¤³¤ì¤Ï¡¢&windows; ¤Ë¤ª¤¤¤Æ <devicename>C:</devicename> ¥É¥é¥¤¥Ö¡¢
+ ¤ª¤è¤Ó³ÈÄ¥¥¹¥é¥¤¥¹¤È¤·¤Æ¸½¤ì¤Þ¤¹
+ (¤³¤Î¾ì¹ç¡¢Â¾¤Î¥É¥é¥¤¥Ö¥ì¥¿¡¼¤È¤Ê¤ê¤¨¤Þ¤¹)¡£</para>
- <para>»°¤ÄÌܤΥ»¥¯¥·¥ç¥ó¤Ï <application>fdisk</application>
+ <para>»°¤ÄÌܤΥ»¥¯¥·¥ç¥ó¤Ï <application>FDisk</application>
¤Ë¤ª¤¤¤ÆÍøÍѲÄǽ¤Ê¥³¥Þ¥ó¥É¤òɽ¼¨¤·¤Þ¤¹¡£</para>
<figure id="sysinstall-fdisk1">
- <title>ÊÔ½¸¤¹¤ëÁ°¤Îŵ·¿Åª¤Ê <command>fdisk</command> ¹½À®</title>
+ <title>ŵ·¿Åª¤Ê <application>FDisk</application> ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/fdisk-edit1"/>
</imageobject>
</mediaobject>
</figure>
<para>º£¤«¤é¹Ô¤¦¤³¤È¤Ï¡¢
- ¤¢¤Ê¤¿¤¬¤É¤Î¤è¤¦¤Ë¥Ç¥£¥¹¥¯¤òʬ³ä¤·¤¿¤¤¤«¤Ë¤è¤ê¤Þ¤¹¡£</para>
+ ¤É¤Î¤è¤¦¤Ë¥Ç¥£¥¹¥¯¤òʬ³ä¤¹¤ë¤«¤Ë¤è¤ê¤Þ¤¹¡£</para>
- <para>&os; ¤ò¥Ç¥£¥¹¥¯Á´ÂΤǻȤ¤¤¿¤¤¤Ê¤é¡¢
+ <para>&os; ¤ò¥Ç¥£¥¹¥¯Á´ÂΤ˥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
<guimenuitem>Use Entire Disk</guimenuitem> ¥ª¥×¥·¥ç¥ó¤òɽ¤¹
- <keycap>A</keycap> ¥­¡¼¤ò²¡¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
- ¤³¤Î¤³¤È¤Ï <application>sysinstall</application>
- ¤¬¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥»¥¹¤Î»Ä¤ê¤ò³¤±¤ë¤³¤È¤Ë¤¢¤Ê¤¿¤¬Æ±°Õ¤·¤¿¤È¤­¡¢
- ¤³¤Î¥Ç¥£¥¹¥¯¤Î¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤òºï½ü¤¹¤ë¤Ç¤·¤ç¤¦¡£
+ <keycap>A</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
+ ¤³¤Î¾ì¹ç¡¢¤³¤Î¥Ç¥£¥¹¥¯¤Î¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤Ïºï½ü¤µ¤ì¤Þ¤¹¡£
¸ºß¤·¤Æ¤¤¤ë¥¹¥é¥¤¥¹¤Ï¼è¤ê½ü¤«¤ì¡¢
- <literal>unused</literal> ¤Î¾®¤µ¤ÊÎΰè
- (PC¥Ç¥£¥¹¥¯¥ì¥¤¥¢¥¦¥Èµ¡Ç½¤ÎÉû»ºÊª) ¤È¡¢
+ <literal>unused</literal> ¤Î¾®¤µ¤ÊÎΰè¤È¡¢
&os; ¤Î¤¿¤á¤ÎÂ礭¤Ê¥¹¥é¥¤¥¹¤ØÃÖ¤­¤«¤ï¤ë¤Ç¤·¤ç¤¦¡£
- ¤³¤ì¤ò¹Ô¤Ã¤¿¤é¡¢¼¡¤ËÊý¸þ¥­¡¼¤ò»È¤Ã¤Æ¿·¤·¤¯ºîÀ®¤µ¤ì¤¿
+ ¼¡¤ËÊý¸þ¥­¡¼¤ò»È¤Ã¤Æ¿·¤·¤¯ºîÀ®¤µ¤ì¤¿
&os; ¥¹¥é¥¤¥¹¤òÁªÂò¤·¡¢¥¹¥é¥¤¥¹¤Ëµ¯Æ°²Äǽ¤Î°õ¤ò¤Ä¤±¤ë¤¿¤á¤Ë
<keycap>S</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤Î¤È¤­¡¢²èÌ̤諤¿ÌÜ¤Ï <xref linkend="sysinstall-fdisk2"/>
¤È¤è¤¯»÷¤¿¤â¤Î¤È¤Ê¤ë¤Ç¤·¤ç¤¦¡£
<literal>Flags</literal> Îó¤Î <literal>A</literal> ¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤Ï¤³¤Î¥¹¥é¥¤¥¹¤¬ <emphasis>¥¢¥¯¥Æ¥£¥Ö</emphasis> ¤Ç¡¢
¤³¤³¤«¤éµ¯Æ°¤¹¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£</para>
<para>&os; ¤Î¤¿¤á¤Î¶õ¤­Îΰè¤òºîÀ®¤¹¤ë¤¿¤á¤Ë¡¢
¸ºß¤·¤Æ¤¤¤ë¥¹¥é¥¤¥¹¤òºï½ü¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤Ê¤é¡¢
Êý¸þ¥­¡¼¤ò¤Ä¤«¤Ã¤Æ¥¹¥é¥¤¥¹¤òÁªÂò¤·¤Æ
<keycap>D</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ì¤«¤é <keycap>C</keycap> ¥­¡¼¤ò²¡¤¹¤È¡¢
ºîÀ®¤·¤¿¤¤¥¹¥é¥¤¥¹¤ÎÂ礭¤µ¤ÎÆþÎϤòÂ¥¤µ¤ì¤Þ¤¹¡£
ŬÀڤʿô»ú¤òÆþÎϤ·¤Æ <keycap>Enter</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¤³¤ÎÍó¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢¥¹¥é¥¤¥¹¤ËÂФ·¤Æ³ä¤êÅö¤Æ¤ë¤³¤È¤Î¤Ç¤­¤ëºÇÂç¤ÎÃͤǤ¹¡£
+ ¤³¤ÎÍó¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢
+ ¥¹¥é¥¤¥¹¤ËÂФ·¤Æ³ä¤êÅö¤Æ¤ë¤³¤È¤Î¤Ç¤­¤ëºÇÂç¤ÎÃͤǤ¹¡£
¤³¤ÎÃͤϡ¢³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Ê¤¤Îΰè¤ÎϢ³¤·¤¿¥Ö¥í¥Ã¥¯¡¢¤Þ¤¿¤Ï¡¢¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤ÎÁ´¥µ¥¤¥º¤Ç¤¹¡£</para>
<para>&os; ¤Î¤¿¤á¤Î¶õ¤­Îΰè¤ò´û¤ËºîÀ®¤·¤Æ¤¤¤ë¤Ê¤é¡¢
¤½¤Î¤È¤­¤Ï <keycap>C</keycap>
¥­¡¼¤ò²¡¤·¤Æ¿·¤·¤¤¥¹¥é¥¤¥¹¤òºîÀ®¤Ç¤­¤Þ¤¹¡£
ºÆ¤Ó¡¢ºîÀ®¤·¤¿¤¤¥¹¥é¥¤¥¹¤ÎÂ礭¤µ¤ÎÆþÎϤòÂ¥¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£</para>
<figure id="sysinstall-fdisk2">
- <title>¥Ç¥£¥¹¥¯Á´ÂΤò»È¤¦ fdisk ¹½À®</title>
+ <title>¥Ç¥£¥¹¥¯Á´ÂΤò»È¤¦ FDisk ¹½À®</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/fdisk-edit2"/>
</imageobject>
</mediaobject>
</figure>
- <para>½ªÎ»¤·¤¿¤é <keycap>Q</keycap> ¥­¡¼¤ò²¡¤·¤Þ¤¹¡£
- ¤¢¤Ê¤¿¤ÎÊѹ¹¤Ï <application>sysinstall</application>
+ <para>½ªÎ»¤·¤¿¤é <keycap>Q</keycap> ¥­¡¼¤ò²¡¤·¤¯¤À¤µ¤¤¡£
+ ¤¢¤Ê¤¿¤ÎÊѹ¹¤Ï &man.sysinstall.8;
Æâ¤ËÊݸ¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£
¤·¤«¤·¡¢¤Þ¤À¥Ç¥£¥¹¥¯¤Ë¤Ï½ñ¤­¤³¤Þ¤ì¤Þ¤»¤ó¡£</para>
</sect2>
+
<sect2 id="bootmgr">
<title>¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
- <para>¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«¤É¤¦¤«¹Í¤¨¤Þ¤·¤ç¤¦¡£°ìÈÌŪ¤Ë¡¢¼¡¤Î¾ì¹ç¤Ï
+ <para>¼¡¤Î¥á¥Ë¥å¡¼¤Ç¤Ï¡¢
+ ¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«¤É¤¦¤«¤òÁªÂò¤·¤Þ¤¹¡£
+ °ìÈÌŪ¤Ë¡¢¼¡¤Î¾ì¹ç¤Ï
&os; ¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ù¤­¤Ç¤¹¡£</para>
<itemizedlist>
<listitem>
<para>Æó¤Ä°Ê¾å¤Î¥É¥é¥¤¥Ö¤¬¤¢¤ê¡¢
- °ìÈÖÌܤΥɥ饤¥Ö°Ê³°¤Ë &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç</para>
+ °ìÈÖÌܤΥɥ饤¥Ö°Ê³°¤Ë &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç</para>
</listitem>
<listitem>
<para>&os; ¤òƱ¤¸¥Ç¥£¥¹¥¯Æâ¤Ë¾¤Î OS ¤È¶¦Â¸¤µ¤»¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ª¤ê¡¢
¥³¥ó¥Ô¥å¡¼¥¿¤òµ¯Æ°¤¹¤ëºÝ¤Ë &os; ¤«Â¾¤Î OS ¤«¤òÁªÂò¤·¤¿¤¤¾ì¹ç</para>
</listitem>
</itemizedlist>
<para>¤â¤·¡¢¥³¥ó¥Ô¥å¡¼¥¿¤Ë &os; ¤Î¤ß¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
ºÇ½é¤Î¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢
<guimenuitem>Standard</guimenuitem> ¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
¤â¤·¡¢&os; ¤ò¥Ö¡¼¥È²Äǽ¤Ê¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤ò»È¤¦¤Î¤Ç¤¢¤ì¤Ð¡¢
<guimenuitem>None</guimenuitem> ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>ÁªÂò¤ò¤·¤Æ <keycap>Enter</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="sysinstall-bootmgr">
<title>sysinstall ¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¥á¥Ë¥å¡¼</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/boot-mgr"/>
</imageobject>
</mediaobject>
</figure>
<para><keycap>F1</keycap> ¥­¡¼¤ò²¡¤¹¤Èɽ¼¨¤µ¤ì¤ë¥Ø¥ë¥×²èÌ̤Ǥϡ¢
¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤ò
OS ´Ö¤Ç¶¦Í­¤¹¤ë¾ì¹ç¤Ëµ¯¤³¤êÆÀ¤ëÌäÂê¤Ë¤Ä¤¤¤ÆµÄÏÀ¤·¤Æ¤¤¤Þ¤¹¡£</para>
</sect2>
<sect2>
<title>¾¤Î¥É¥é¥¤¥Ö¤Î¥¹¥é¥¤¥¹¤ÎºîÀ®</title>
<para>Æó¤Ä°Ê¾å¥É¥é¥¤¥Ö¤¬¤¢¤ë¾ì¹ç¡¢
¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤òÁªÂò¤·¤¿¸å¡¢¥É¥é¥¤¥ÖÁªÂò²èÌ̤ËÌá¤ê¤Þ¤¹¡£
&os; ¤òÆó¤Ä°Ê¾å¤Î¥Ç¥£¥¹¥¯¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤¤Î¤Ê¤é¡¢
- ¤½¤Î¤È¤­¤Ï¤³¤³¤Ç¾¤Î¥Ç¥£¥¹¥¯¤òÁªÂò¤·¡¢
- <application>fdisk</application>
- ¤òÍѤ¤¤Æ¥¹¥é¥¤¥¹ºîÀ®¤Îºî¶È¤ò·«¤ê¤«¤¨¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ ¾¤Î¥Ç¥£¥¹¥¯¤òÁªÂò¤·¡¢<application>FDisk</application>
+ ¤òÍѤ¤¤Æ¥¹¥é¥¤¥¹ºîÀ®¤Îºî¶È¤ò·«¤ê¤«¤¨¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<important>
<para>°ìÈÖÌܰʳ°¤Î¥É¥é¥¤¥Ö¤Ë &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
ξÊý¤Î¥É¥é¥¤¥Ö¤Ë &os;
¤Î¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
</important>
<figure id="sysinstall-fdisk-drive2">
<title>¥É¥é¥¤¥ÖÁªÂò¤Î½ªÎ»</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/fdisk-drive2"/>
</imageobject>
</mediaobject>
</figure>
- <para><keycap>Tab</keycap> ¥­¡¼¤ò²¡¤¹¤³¤È¤Ç¡¢
+ <para><keycap>Tab</keycap> ¥­¡¼¤ò²¡¤·¤Æ¡¢
ºÇ¸å¤ËÁªÂò¤·¤¿¥É¥é¥¤¥Ö¤È
- &gui.ok; ¤ª¤è¤Ó &gui.cancel; ¤Î´Ö¤òÀڤ꤫¤¨¤é¤ì¤Þ¤¹¡£</para>
+ &gui.ok; ¤ª¤è¤Ó &gui.cancel; ¤Î´Ö¤òÀڤ꤫¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>&gui.ok; ¤Ë°Ü¤ë¤¿¤á¤Ë <keycap>Tab</keycap> ¥­¡¼¤ò°ìÅÙ²¡¤·¡¢
¤½¤ì¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤ò³¤±¤ë¤¿¤á¤Ë
<keycap>Enter</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="bsdlabeleditor">
<title><application>disklabel</application> ¤Ç¥Ñ¡¼¥Æ¥£¥·¥ç¥óºîÀ®</title>
- <para>¤µ¤Æ¡¢ºîÀ®¤·¤¿¤Ð¤«¤ê¤Î¥¹¥é¥¤¥¹Æâ¤Ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¤¤¤¯¤Ä¤«ºîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+ <para>¼¡¤Ë¡¢ºîÀ®¤·¤¿¤Ð¤«¤ê¤Î¥¹¥é¥¤¥¹Æâ¤Ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¤¤¤¯¤Ä¤«ºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ì¤¾¤ì¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤Ï
<literal>a</literal> ¤«¤é <literal>h</literal> ¤Þ¤Ç¤Îʸ»ú¤¬¤Ä¤±¤é¤ì¡¢
<literal>b</literal>, <literal>c</literal> ¤½¤·¤Æ
<literal>d</literal>
- ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¼é¤ë¤Ù¤­´·½¬Åª¤Ê°ÕÌ£¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤ò˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£</para>
+ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¼é¤ë¤Ù¤­´·½¬Åª¤Ê°ÕÌ£¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£</para>
<para>ÆÃÄê¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢ÆÃÊ̤Υѡ¼¥Æ¥£¥·¥ç¥ó¹½À®
(ÆÃ¤ËÆó¤Ä°Ê¾å¤Î¥Ç¥£¥¹¥¯¤Ë¤ï¤¿¤Ã¤Æ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¹½À®¤·¤Æ¤¤¤ë¾ì¹ç)
¤«¤éÍø±×¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
- ¤·¤«¤·¤³¤Î¤³¤È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤Ï¤¸¤á¤Æ &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¡¢
+ ¤·¤«¤·¤Ê¤¬¤é¡¢¤Ï¤¸¤á¤Æ &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¡¢
¥Ç¥£¥¹¥¯¤ò¤É¤Î¤è¤¦¤Ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¶èÀڤ뤫¡¢
¤È¤¤¤¦¤³¤È¤ò¤¢¤Þ¤êÂ礲¤µ¤Ë¹Í¤¨¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ»È¤¤Êý¤ò³Ø¤Ó¤Ï¤¸¤á¤ë¤³¤È¤ÎÊý¤¬¤è¤ê½ÅÍפǤ¹¡£
- OS ¤Ë¤è¤ê¾Ü¤·¤¯¤Ê¤Ã¤¿¤È¤­¤Ë¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¹½À®¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë
- &os; ¤ò¤¤¤Ä¤Ç¤âºÆ¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
+ ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤è¤ê¾Ü¤·¤¯¤Ê¤Ã¤¿¸å¡¢
+ ¤¤¤Ä¤Ç¤â &os; ¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ç¡¢
+ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¹½À®¤òÊѹ¹¤Ç¤­¤Þ¤¹¡£</para>
- <para>°Ê²¼¤Ï»Í¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó &mdash; °ì¤Ä¤Ï¥¹¥ï¥Ã¥×Îΰ衢
- »°¤Ä¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¡¢¤Î¹½À®¤Ç¤¹¡£</para>
+ <para>°Ê²¼¤Ï»Í¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó : °ì¤Ä¤Ï¥¹¥ï¥Ã¥×Îΰ衢
+ »°¤Ä¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¡¢¤Î¹½À®¤Ç¤¹¡£</para>
<table frame="none" pgwide="1">
<title>°ì¤ÄÌܤΥǥ£¥¹¥¯¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥ì¥¤¥¢¥¦¥È</title>
<tgroup cols="4">
<colspec colwidth="1*"/>
<colspec colwidth="1*"/>
<colspec colwidth="1*"/>
<colspec colwidth="4*"/>
<thead>
<row>
<entry>¥Ñ¡¼¥Æ¥£¥·¥ç¥ó</entry>
<entry>¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à</entry>
<entry>¥µ¥¤¥º</entry>
<entry>ÀâÌÀ</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>a</literal></entry>
- <entry><filename>/</filename></entry>
+ <entry><filename class="directory">/</filename></entry>
<entry>1&nbsp;GB</entry>
<entry>¤³¤ì¤Ï¥ë¡¼¥È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤¹¡£
¾¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¤¹¤Ù¤Æ¤³¤Î²¼¤Î¤É¤³¤«¤Ë¥Þ¥¦¥ó¥È¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£
- 1&nbsp;GB ¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¼ê¤´¤í¤Ê¥µ¥¤¥º¤Ç¤¹¡£
- Ä̾ï¤Î &os; ¥¤¥ó¥¹¥È¡¼¥ë¤¬¤³¤³¤ËÌó 128&nbsp;MB
- ¤Î¥Ç¡¼¥¿¤òÇÛÃÖ¤¹¤ë¤è¤¦¤Ë¡¢
- ¤³¤³¤Ë¤Ï¤¢¤Þ¤ê¿¤¯¤Î¥Ç¡¼¥¿¤ò³ÊǼ¤·¤Ê¤¤¤Ç¤·¤ç¤¦¡£
- »Ä¤ê¤ÎÎΰè¤Ï°ì»þŪ¤Ê¥Ç¡¼¥¿¤Î¤¿¤á¤Ë¤¢¤ê¡¢¤½¤·¤Æ
- &os; ¤Î¾­Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ <filename>/</filename>
- ¤Ë¤è¤ê¿¤¯¤ÎÎΰè¤òɬÍפȤ·¤¿¾ì¹ç¤Î³ÈÄ¥Îΰè¤È¤·¤Æ»Ä¤·¤Þ¤¹¡£
- </entry>
+ ¥æ¡¼¥¶¤Î¥Õ¥¡¥¤¥ë¤Ï¤³¤³¤Ë³ÊǼ¤µ¤ì¤º¡¢¤Þ¤¿¡¢
+ Ä̾ï¤Î &os; ¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤Ï¡¢
+ ¤³¤³¤ËÇÛÃÖ¤¹¤ë¥Ç¡¼¥¿¤ÏÌó 128&nbsp;MB ¤Ê¤Î¤Ç¡¢
+ 1&nbsp;GB ¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¼ê¤´¤í¤Ê¥µ¥¤¥º¤Ç¤¹¡£</entry>
</row>
<row>
<entry><literal>b</literal></entry>
<entry>¤Ê¤·</entry>
<entry>¥á¥â¥ê¤Î 2-3 ÇÜ</entry>
<entry><para><literal>b</literal> ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤Ï¡¢
¥·¥¹¥Æ¥à¤Î¥¹¥ï¥Ã¥×Îΰ褬ÊÝ»ý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¥¹¥ï¥Ã¥×Îΰè¤ÎÀµ¤·¤¤ÍÆÎ̤ò·è¤á¤ë¤³¤È¤Ï¡¢
¤Á¤ç¤Ã¤È¤·¤¿·Ý½Ñ¤«¤â¤·¤ì¤Þ¤»¤ó¡£
³Î¼Â¤Ê·Ð¸³Â§¤Ï¡¢ÊªÍýŪ¤Ê¥á¥â¥ê (RAM) ¤Î
2-3 ÇܤΥµ¥¤¥º¤Î¥¹¥ï¥Ã¥×Îΰè¤È¤¹¤ë¤è¤¦¤Ë¡¢¤È¤·¤Æ¤¤¤Þ¤¹¡£
¤Þ¤¿¡¢ºÇÄã 64&nbsp;MB ¤Î¥¹¥ï¥Ã¥×¤ò³ÎÊݤ¹¤ë¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£
- ¤·¤¿¤¬¤Ã¤Æ¡¢¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¤¬
+ ¤·¤¿¤¬¤Ã¤Æ¡¢¥³¥ó¥Ô¥å¡¼¥¿¤¬
32&nbsp;MB ̤Ëþ¤Î¥á¥â¥ê¤òÅëºÜ¤·¤Æ¤¤¤ë»þ¤Ï¡¢
- ¥¹¥ï¥Ã¥×Îΰè¤ò 64&nbsp;MB ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para><para>Æó¤Ä°Ê¾å¤Î¥Ç¥£¥¹¥¯¤¬¤¢¤ë¤È¤­¤Ë¤Ï¡¢
+ ¥¹¥ï¥Ã¥×Îΰè¤ò 64&nbsp;MB ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
+ Æó¤Ä°Ê¾å¤Î¥Ç¥£¥¹¥¯¤¬¤¢¤ë¤È¤­¤Ë¤Ï¡¢
¤½¤ì¤¾¤ì¤Î¥Ç¥£¥¹¥¯¤Ë¥¹¥ï¥Ã¥×¤òÃÖ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
&os; ¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¥£¥¹¥¯¤ò¥¹¥ï¥Ã¥×¤ËÍѤ¤¡¢
¥¹¥ï¥Ã¥×ưºî¤ò¸ú²ÌŪ¤Ë¹â®²½¤µ¤»¤ë¤Ç¤·¤ç¤¦¡£
- ¤³¤Î¾ì¹ç¡¢É¬ÍפȤ¹¤ë¥¹¥ï¥Ã¥×¥µ¥¤¥º¤Î¹ç·×¤ò·×»»¤·
- (¤¿¤È¤¨¤Ð 128&nbsp;MB)¡¢
+ ¤³¤Î¾ì¹ç¡¢É¬ÍפȤ¹¤ë¥¹¥ï¥Ã¥×¥µ¥¤¥º¤Î¹ç·×¤ò·×»»¤·¡¢
¤½¤ì¤¾¤ì¤Î¥Ç¥£¥¹¥¯¤ËÃÖ¤¯¥¹¥ï¥Ã¥×¥µ¥¤¥º¤òµá¤á¤ë¤¿¤á¤Ë¡¢
- ¤¢¤Ê¤¿¤Î»ý¤Ã¤Æ¤¤¤ë¥Ç¥£¥¹¥¯¿ô (¤¿¤È¤¨¤ÐÆó¤Ä) ¤Ç³ä¤Ã¤Æ¤¯¤À¤µ¤¤¡£
- ¤³¤ÎÎã¤Î¾ì¹ç¤Ï¡¢
- °ì¤Ä¤Î¥Ç¥£¥¹¥¯¤´¤È¤Ë 64&nbsp;MB ¤Î¥¹¥ï¥Ã¥×¤È¤Ê¤ê¤Þ¤¹¡£</para></entry>
+ ¥Ç¥£¥¹¥¯¿ô¤Ç³ä¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
+ </entry>
</row>
<row>
<entry><literal>e</literal></entry>
- <entry><filename>/var</filename></entry>
+ <entry><filename
+ class="directory">/var</filename></entry>
<entry>512&nbsp;MB ¡Á 4096&nbsp;MB</entry>
- <entry><filename>/var</filename>
- ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¡¢¥í¥°¥Õ¥¡¥¤¥ë¤ä¤½¤Î¾¤Î´ÉÍý¥Õ¥¡¥¤¥ë¤È¤¤¤Ã¤¿¡¢
+ <entry><filename class="directory">/var</filename>
+ ¤Ë¤Ï¡¢¥í¥°¥Õ¥¡¥¤¥ë¤ä¤½¤Î¾¤Î´ÉÍý¥Õ¥¡¥¤¥ë¤È¤¤¤Ã¤¿¡¢
À䤨¤ºÊѲ½¤¹¤ë¥Õ¥¡¥¤¥ë¤¬Êݸ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Î¿¤¯¤Ï
&os; ¤ÎËèÆü¤Îưºî¤Î´Ö¤Ë¹­ÈϰϤˤ錄¤Ã¤ÆÆÉ¤ß¤³¤Þ¤ì¡¢
½ñ¤­¤³¤Þ¤ì¤Þ¤¹¡£ (ÌõÃí: <filename>/</filename>¤È¤Ï)
Ê̤Υե¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òÃÖ¤¯¤³¤È¤Ï¡¢
°Û¤Ê¤Ã¤¿¥¢¥¯¥»¥¹ÉÑÅ٤Υǥ£¥ì¥¯¥È¥êÆâ¤Ë¤¢¤ë¾¤Î¥Õ¥¡¥¤¥ë¤Ë±Æ¶Á¤òÍ¿¤¨¤º¤Ë¡¢
&os; ¤¬¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î¥¢¥¯¥»¥¹¤òºÇŬ²½¤¹¤ë¤³¤È¤ò²Äǽ¤È¤·¤Þ¤¹¡£</entry>
</row>
<row>
<entry><literal>f</literal></entry>
- <entry><filename>/usr</filename></entry>
+ <entry><filename
+ class="directory">/usr</filename></entry>
<entry>¥Ç¥£¥¹¥¯¤Î»Ä¤ê (¾¯¤Ê¤¯¤È¤â 8&nbsp;GB)</entry>
- <entry>¾¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¼ç¤Ë <filename>/usr</filename>
+ <entry>¾¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¼ç¤Ë
+ <filename class="directory">/usr</filename>
¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥êÆâ¤ËÊݸ¤µ¤ì¤Þ¤¹¡£</entry>
</row>
</tbody>
</tgroup>
</table>
<warning>
<para>¾åµ­¤Î¥µ¥¤¥º¤ÎÃͤϡ¢Îã¤È¤·¤ÆºÜ¤»¤¿¤â¤Î¤Ç¤¹¡£
·Ð¸³¤Î¤¢¤ë¥æ¡¼¥¶¤Î¤ß¤¬»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
&os; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¨¥Ç¥£¥¿¤Î <literal>Auto
Defaults</literal>
¤ÇÁªÂò¤Ç¤­¤ë¼«Æ°¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥ì¥¤¥¢¥¦¥È¤¬¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
</warning>
<para>Æó¤Ä°Ê¾å¤Î¥Ç¥£¥¹¥¯¤Ë &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤Ê¤é¡¢
ÀßÄꤷ¤¿Â¾¤Î¥¹¥é¥¤¥¹¤Ë¤â¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡£
ºÇ¤â´Êñ¤ÊÊýË¡¤Ï¡¢
¤½¤ì¤¾¤ì¤Î¥Ç¥£¥¹¥¯¤ËÆó¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¹¡£
°ì¤Ä¤Ï¥¹¥ï¥Ã¥×Îΰ衢
¤½¤·¤Æ°ì¤Ä¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¤¿¤á¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ç¤¹¡£</para>
<table frame="none" pgwide="1">
<title>»Ä¤ê¤Î¥Ç¥£¥¹¥¯¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¹½À®</title>
<tgroup cols="4">
<colspec colwidth="1*"/>
<colspec colwidth="1*"/>
<colspec colwidth="2*"/>
<colspec colwidth="3*"/>
<thead>
<row>
<entry>¥Ñ¡¼¥Æ¥£¥·¥ç¥ó</entry>
<entry>¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à</entry>
<entry>¥µ¥¤¥º</entry>
<entry>ÀâÌÀ</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>b</literal></entry>
<entry>¤Ê¤·</entry>
<entry>ÀâÌÀ¤ò»²¾È</entry>
- <entry>¤¹¤Ç¤ËµÄÏÀ¤·¤¿¤è¤¦¤Ë¡¢
- ¥¹¥ï¥Ã¥×Îΰè¤ò¤½¤ì¤¾¤ì¤Î¥Ç¥£¥¹¥¯¤Ë¤ï¤¿¤Ã¤ÆÊ¬³ä¤Ç¤­¤Þ¤¹¡£
+ <entry>¥¹¥ï¥Ã¥×Îΰè¤ò¤½¤ì¤¾¤ì¤Î¥Ç¥£¥¹¥¯¤Ë¤ï¤¿¤Ã¤ÆÊ¬³ä¤Ç¤­¤Þ¤¹¡£
¤¿¤È¤¨ <literal>a</literal> ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬
(ÌõÃí: ¤½¤Î¥¹¥é¥¤¥¹¤Ë) ¤Ê¤¤¤È¤·¤Æ¤â¡¢
´·½¬¤Ë¤è¤ê¡¢¥¹¥ï¥Ã¥×Îΰè¤Ï
<literal>b</literal> ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¤Ê¤ê¤Þ¤¹¡£</entry>
</row>
<row>
<entry><literal>e</literal></entry>
<entry>/disk<replaceable>n</replaceable></entry>
<entry>¥Ç¥£¥¹¥¯¤Î»Ä¤ê</entry>
<entry>¥Ç¥£¥¹¥¯¤Î»Ä¤ê¤Ï°ì¤Ä¤ÎÂ礭¤Ê¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤Ï <literal>e</literal> ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÂå¤ï¤ê¤Ë¡¢
<literal>a</literal>
¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¾å¤Ø´Êñ¤ËÃÖ¤¯¤³¤È¤¬¤Ç¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¤·¤«¤·¤Ê¤¬¤é´·½¬¤Ë¤è¤ê¡¢¥¹¥é¥¤¥¹¾å¤Î <literal>a</literal>
- ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¥ë¡¼¥È (<filename>/</filename>)
+ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¥ë¡¼¥È
+ (<filename class="directory">/</filename>)
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤Ê¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¤¿¤á¤ËͽÌó¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
- ¤¢¤Ê¤¿¤Ï¤³¤Î´·½¬¤Ë¤·¤¿¤¬¤¦É¬ÍפϤ¢¤ê¤Þ¤»¤ó¤¬
- <application>sysinstall</application> ¤¬Âå¤ï¤ê¤Ë¤ä¤Ã¤Æ¤¯¤ì¤Þ¤¹¡£
- ¤·¤¿¤¬¤Ã¤Æ¤³¤Î¤³¤È¤Ë¤è¤ê¡¢
- ¥¤¥ó¥¹¥È¡¼¥ë¤¬¾¯¤·¤À¤±¤è¤ê´Êñ¤Ë¤Ê¤ê¤Þ¤¹¡£
- ¤³¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤¹¤ë¾ì½ê¤ò¤É¤³¤Ç¤âÁªÂò¤Ç¤­¤Þ¤¹¡£
+ ¤³¤Î´·½¬¤Ë¤·¤¿¤¬¤¦É¬ÍפϤ¢¤ê¤Þ¤»¤ó¤¬
+ &man.sysinstall.8; ¤Ï¤³¤Î¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£
+ ¤·¤¿¤¬¤Ã¤Æ¤³¤Î´·½¬¤Ë½¾¤¦¤³¤È¤Ç,
+ ¥¤¥ó¥¹¥È¡¼¥ë¤¬¾¯¤·¤À¤±¤ï¤«¤ê¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
+ ¤³¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤¹¤ë¾ì½ê¤Ï¤É¤³¤Ë¤Ç¤âÁªÂò¤Ç¤­¤Þ¤¹¡£
¤³¤ÎÎã¤Ç¤Ï¡¢¤³¤ì¤é¤ò
- <filename>/disk<replaceable>n</replaceable></filename>
- ¥Ç¥£¥ì¥¯¥È¥ê¤È¤·¤Æ¥Þ¥¦¥ó¥È¤¹¤ë¤è¤¦Ä󰯤·¤Æ¤¤¤Þ¤¹¡£
- <replaceable>n</replaceable>
- ¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¥£¥¹¥¯¤´¤È¤ËÊѹ¹¤¹¤ë¿ô»ú¤Ç¤¹¡£
- ¤·¤«¤·¤¢¤Ê¤¿¤¬Ë¾¤à¤Ê¤é¾¤Î¹½À®¤ò»ÈÍѤǤ­¤Þ¤¹¡£</entry>
+ <filename
+ class="directory">/disk<replaceable>n</replaceable></filename>
+ ¤È¤·¤Æ¥Þ¥¦¥ó¥È¤¹¤ë¤è¤¦Ä󰯤·¤Æ¤¤¤Þ¤¹¡£
+ ¤³¤³¤Ç <replaceable>n</replaceable>
+ ¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¥£¥¹¥¯¤´¤È¤ËÊѹ¹¤¹¤ë¿ô»ú¤Ç¤¹¡£</entry>
</row>
</tbody>
</tgroup>
</table>
- <para>¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¹½À®¤ò·èÄꤷ¤¿¤é¡¢
- º£¤«¤é <application>sysinstall</application> ¤òÍѤ¤¤ÆºîÀ®¤Ç¤­¤Þ¤¹¡£
- ¤³¤Î¥á¥Ã¥»¡¼¥¸¤¬¸½¤ì¤ë¤Ç¤·¤ç¤¦¡£</para>
+ <para>¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¹½À®¤ò·è¤á¤¿¤é¡¢
+ &man.sysinstall.8; ¤òÍѤ¤¤ÆºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen> 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 ]</screen>
- <para><application>disklabel</application> ¤È¸Æ¤Ð¤ì¤ë
- &os; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¨¥Ç¥£¥¿¤ò¤Ï¤¸¤á¤ë¤¿¤á¤Ë
+ <para><application>Disklabel</application> ¤È¸Æ¤Ð¤ì¤ë
+ &os; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¨¥Ç¥£¥¿¤ò»È¤¦¤¿¤á¤Ë¡¢
<keycap>Enter</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para><xref linkend="sysinstall-label"/> ¤Ï
- <application>disklabel</application>
- ¤ò¤Ï¤¸¤á¤Æµ¯Æ°¤·¤¿¤È¤­¤Î²èÌÌɽ¼¨¤Ç¤¹¡£
- ¤³¤Î²èÌ̤ϻ°¤Ä¤Î¥»¥¯¥·¥ç¥ó¤Ëʬ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
-</para>
+ <application>Disklabel</application>
+ ¤òµ¯Æ°¤·¤¿¤È¤­¤Î²èÌÌɽ¼¨¤Ç¤¹¡£
+ ¤³¤Î²èÌ̤ϻ°¤Ä¤Î¥»¥¯¥·¥ç¥ó¤Ëʬ¤«¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para>¤Ï¤¸¤á¤Î¿ô¹Ô¤Ï¸½ºßºî¶È¤·¤Æ¤¤¤ë¥Ç¥£¥¹¥¯¤Î̾Á°¡¢
¤½¤·¤ÆºîÀ®¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò´Þ¤à¥¹¥é¥¤¥¹¤òɽ¼¨¤·¤Þ¤¹
- (¤³¤Î»þÅÀ¤Ç <application>disklabel</application>
- ¤Ï¥¹¥é¥¤¥¹¤Î¤³¤È¤ò¥¹¥é¥¤¥¹Ì¾¤Ç¤Ï¤Ê¤¯<literal>¥Ñ¡¼¥Æ¥£¥·¥ç¥ó̾</literal>¤È¸Æ¤Ó¤Þ¤¹) ¡£
+ ¤³¤Î»þÅÀ¤Ç <application>Disklabel</application>
+ ¤Ï¥¹¥é¥¤¥¹¤Î¤³¤È¤ò¥¹¥é¥¤¥¹Ì¾¤Ç¤Ï¤Ê¤¯<literal>¥Ñ¡¼¥Æ¥£¥·¥ç¥ó̾</literal>¤È¸Æ¤Ó¤Þ¤¹ ¡£
¤³¤Î²èÌ̤ϥ¹¥é¥¤¥¹Æâ¤Î¶õ¤­Îΰè¤Î¹ç·×¤âɽ¼¨¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¶õ¤­Îΰè¤Ï¥¹¥é¥¤¥¹Æâ¤Ë¸ºß¤·¤Æ¤¤¤Æ¡¢
¤·¤«¤·¤Þ¤À¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Ê¤¤Îΰè¤Ç¤¹¡£</para>
<para>²èÌ̤ÎÃæÃʤϺîÀ®¤·¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òɽ¼¨¤·¤Æ¤¤¤Þ¤¹¡£
¤½¤ì¤¾¤ì¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬´Þ¤à¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î̾Á°¡¢¥µ¥¤¥º¡¢
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àºîÀ®¤Ë¤Þ¤Ä¤ï¤ë¤¤¤¯¤Ä¤«¤Î¥ª¥×¥·¥ç¥ó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<para>²èÌ̤β¼Ãʤˤ¢¤ë»°¤ÄÌܤΥ»¥¯¥·¥ç¥ó¤Ï
<application>disklabel</application>
¤ÇÍ­¸ú¤Ê¥­¡¼Áàºî¤òɽ¼¨¤·¤Þ¤¹¡£</para>
<figure id="sysinstall-label">
<title>sysinstall ¥Ç¥£¥¹¥¯¥é¥Ù¥ë¥¨¥Ç¥£¥¿</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-ed1"/>
</imageobject>
</mediaobject>
</figure>
- <para><application>disklabel</application>
+ <para><application>Disklabel</application>
¤Ï¼«Æ°Åª¤Ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¡¢
- ¥Ç¥Õ¥©¥ë¥È¤Î¥µ¥¤¥º¤ò³ä¤ê¤¢¤Æ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ ¥Ç¥Õ¥©¥ë¥È¤Î¥µ¥¤¥º¤ò³ä¤ê¤¢¤Æ¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Î¥µ¥¤¥º¤Ï¡¢
¥Ç¥£¥¹¥¯¤Î¥µ¥¤¥º¤«¤é¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥µ¥¤¥º¤ò·è¤á¤ë¥¢¥ë¥´¥ê¥º¥à¤Ë¤è¤Ã¤Æ·×»»¤µ¤ì¤Þ¤¹¡£
- <keycap>A</keycap> ¥­¡¼¤ò²¡¤·¤Æ¡¢º£»î¤·¤Æ¤¯¤À¤µ¤¤¡£
- <xref linkend="sysinstall-label2"/> ¤È¤è¤¯»÷¤¿²èÌ̤Ȥʤë¤Ç¤·¤ç¤¦¡£
- ¤¢¤Ê¤¿¤¬»ÈÍѤ·¤Æ¤¤¤ë¥Ç¥£¥¹¥¯¤Î¥µ¥¤¥º¤Ë°Í¸¤·¤Æ¤¤¤ë¤Î¤Ç¡¢
- ¥Ç¥Õ¥©¥ë¥È¤Ï´õ˾¤·¤Æ¤¤¤ë¤â¤Î¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤·¡¢
- ¤Ê¤é¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
- ¥Ç¥Õ¥©¥ë¥È¤ò¤½¤Î¤Þ¤Þ¼õ¤±Æþ¤ì¤ëɬÍפϤʤ¤¤Î¤Ç¡¢
- ¤³¤Î¤³¤È¤ÏÌäÂê¤Ë¤Ê¤ê¤Þ¤»¤ó¡£</para>
+ <keycap>A</keycap> ¥­¡¼¤ò²¡¤¹¤È¡¢
+ <xref linkend="sysinstall-label2"/> ¤È¤è¤¯»÷¤¿²èÌ̤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
+ ¥Ç¥Õ¥©¥ë¥È¤Î¥µ¥¤¥º¤Ï»ÈÍѤ·¤Æ¤¤¤ë¥Ç¥£¥¹¥¯¤Î¥µ¥¤¥º¤Ë°Í¸¤¹¤ë¤Î¤Ç¡¢
+ ´õ˾¤¹¤ë¥µ¥¤¥º¤Ë¤Ê¤ë¤³¤È¤â¤¢¤ë¤·¡¢¤Ê¤é¤Ê¤¤¤³¤È¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£</para>
<note>
- <para>¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¹½À®¤Ï
- <filename>/tmp</filename> ¥Ç¥£¥ì¥¯¥È¥ê¤Ë
- <filename>/</filename> ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î°ìÉô¤Ç¤Ï¤Ê¤¯¡¢
+ <para>¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¹½À®¤Ç¤Ï¡¢
+ <filename class="directory">/tmp</filename> ¤ËÂФ·¤Æ¡¢
+ <filename class="directory">/</filename>
+ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î°ìÉô¤Ç¤Ï¤Ê¤¯¡¢
¤½¤ì¼«¿È¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£
- ¤³¤Î¤³¤È¤Ï¡¢°ì»þ¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ <filename>/</filename>
+ ¤³¤Î¤³¤È¤Ï¡¢°ì»þ¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ
+ <filename class="directory">/</filename>
¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤Õ¤ì¤Æ¤·¤Þ¤¦¤³¤È¤òËɤ°¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£</para>
</note>
<figure id="sysinstall-label2">
<title>¥Ç¥Õ¥©¥ë¥È¤Î¼«Æ°³ä¤êÅö¤Æ¤Ë¤è¤ë sysinstall ¥Ç¥£¥¹¥¯¥é¥Ù¥ë¥¨¥Ç¥£¥¿</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-auto"/>
</imageobject>
</mediaobject>
</figure>
- <para>¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò»È¤ï¤Ê¤¤¤Ç¡¢
- ¤¢¤Ê¤¿¼«¿È¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¹½À®¤ËÃÖ¤­´¹¤¨¤ë¤Ë¤Ï¡¢
- Êý¸þ¥­¡¼¤òÍѤ¤¤Æ¡¢°ìÈÖÌܤΥѡ¼¥Æ¥£¥·¥ç¥ó¤òÁªÂò¤·¡¢
- ºï½ü¤¹¤ë¤¿¤á¤Ë <keycap>D</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
- Ä󰯤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºï½ü¤¹¤ë¤¿¤á¤Ë¡¢
- ¤³¤ì¤ò·«¤êÊÖ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ <para>¥Ç¥Õ¥©¥ë¥È¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢
+ Êý¸þ¥­¡¼¤òÍѤ¤¤Æ°ìÈÖÌܤΥѡ¼¥Æ¥£¥·¥ç¥ó¤òÁªÂò¤·¡¢
+ <keycap>D</keycap> ¥­¡¼¤ò²¡¤·¤Æºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
+ ¤³¤Îºî¶È¤ò·«¤êÊÖ¤·¤Æ¡¢
+ Ä󰯤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
- <para>°ìÈÖÌܤΥѡ¼¥Æ¥£¥·¥ç¥ó (<filename>/</filename> ¤È¤·¤Æ¥Þ¥¦¥ó¥È¤µ¤ì¤ë
- <literal>a</literal> ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó &mdash; ¥ë¡¼¥È) ¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢
+ <para>°ìÈÖÌܤΥѡ¼¥Æ¥£¥·¥ç¥ó (<filename class="directory">/</filename>
+ ¤È¤·¤Æ¥Þ¥¦¥ó¥È¤µ¤ì¤ë <literal>a</literal>) ¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢
²èÌ̤ÎÀèÆ¬¤ÎŬÀڤʥǥ£¥¹¥¯¥¹¥é¥¤¥¹¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¡¢
<keycap>C</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¿·¤·¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥µ¥¤¥º¤ÎÆþÎϤò¤¦¤Ê¤¬¤¹¥À¥¤¥¢¥í¥°¤¬¸½¤ì¤ë¤Ç¤·¤ç¤¦
- (<xref linkend="sysinstall-label-add"/>)¡£
- »ÈÍѤ·¤¿¤¤¥µ¥¤¥º¤ò¥Ö¥í¥Ã¥¯¤Î¿ô¤ÇÆþÎϤǤ­¤Þ¤¹¡£
- ¤Þ¤¿¤Ï¡¢
- ¥á¥¬¥Ð¥¤¥Èñ°Ì¤Ç»ØÄꤹ¤ë <literal>M</literal>¡¢
- ¥®¥¬¥Ð¥¤¥Èñ°Ì¤Ç»ØÄꤹ¤ë <literal>G</literal>¡¢
- ¥·¥ê¥ó¥Àñ°Ì¤Ç»ØÄꤹ¤ë <literal>C</literal>
- ¤ò¿ô¤Î¸å¤Ë¤Ä¤±¤ÆÆþÎϤǤ­¤Þ¤¹¡£</para>
+ <xref linkend="sysinstall-label-add"/> ¤Ë¼¨¤µ¤ì¤ë¤è¤¦¤Ê¡¢
+ ¿·¤·¤¤¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥µ¥¤¥º¤ÎÆþÎϤò¤¦¤Ê¤¬¤¹¥À¥¤¥¢¥í¥°¤¬¸½¤ì¤Þ¤¹¡£
+ »ÈÍѤ·¤¿¤¤¥µ¥¤¥º¤ò¥Ö¥í¥Ã¥¯¿ô¤ÇÆþÎϤ¹¤ë¤«¡¢
+ ¿ô»ú¤Î¸å¤Ë <literal>M</literal> ¤ò¤Ä¤±¤Æ¥á¥¬¥Ð¥¤¥Èñ°Ì ¡¢
+ <literal>G</literal> ¤ò¤Ä¤±¤Æ¥®¥¬¥Ð¥¤¥Èñ°Ì ¡¢
+ <literal>C</literal>
+ ¤ò¤Ä¤±¤Æ¥·¥ê¥ó¥Àñ°Ì¤ÇÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="sysinstall-label-add">
<title>¥ë¡¼¥È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë³ä¤ê¤¢¤Æ¤ëÍÆÎÌ</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-root1"/>
</imageobject>
</mediaobject>
</figure>
<para>(ÌõÃí: ¥À¥¤¥¢¥í¥°¤Ë) ɽ¼¨¤µ¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥µ¥¤¥º¤Ï¡¢
¥¹¥é¥¤¥¹¤Ë»Ä¤Ã¤Æ¤¤¤ë¥µ¥¤¥º¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤¹¤ë¤Ç¤·¤ç¤¦¡£
¾å½Ò¤·¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥µ¥¤¥º¤òÍѤ¤¤ë¾ì¹ç¤Ï <keycap>Backspace</keycap>
¥­¡¼¤òÍѤ¤¤ÆÉ½¼¨¤µ¤ì¤Æ¤¤¤ë¿ô»ú¤òºï½ü¤·
<xref linkend="sysinstall-label-add2"/> ¤Î¤è¤¦¤Ë <userinput>512M</userinput>
¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¤½¤·¤Æ &gui.ok; ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="sysinstall-label-add2">
<title>¥ë¡¼¥È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥µ¥¤¥º¤ÎÊÔ½¸</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-root2"/>
</imageobject>
</mediaobject>
</figure>
<para>¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥µ¥¤¥º¤òÆþÎϤ¹¤ë¤È¡¢
- ¼¡¤Ë¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ê¤Î¤«¡¢
- ¤½¤ì¤È¤â¥¹¥ï¥Ã¥×Îΰè¤Ê¤Î¤«¤òʹ¤«¤ì¤ë¤Ç¤·¤ç¤¦¡£
+ ¼¡¤Ë¥¤¥ó¥¹¥È¡¼¥é¤Ï¡¢¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ê¤Î¤«¡¢
+ ¤½¤ì¤È¤â¥¹¥ï¥Ã¥×Îΰè¤Ê¤Î¤«¤òʹ¤¤¤Æ¤­¤Þ¤¹¡£
<xref linkend="sysinstall-label-type"/>
¤Î¤è¤¦¤Ë¥À¥¤¥¢¥í¥°¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¤³¤Î°ìÈÖÌܤΥѡ¼¥Æ¥£¥·¥ç¥ó¤Ë¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬´Þ¤Þ¤ì¤ë¤Î¤Ç¡¢
<guimenuitem>FS</guimenuitem> ¤òÁªÂò¤·¡¢
<keycap>Enter</keycap> ¥­¡¼¤ò²¡¤·¤Þ¤¹¡£</para>
<figure id="sysinstall-label-type">
<title>¥ë¡¼¥È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¿¥¤¥×¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-fs"/>
</imageobject>
</mediaobject>
</figure>
- <para>¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤Ç¡¢
- ºÇ¸å¤Ë <application>disklabel</application> ¤ËÂФ·¤Æ¡¢
+ <para>ºÇ¸å¤Ë <application>Disklabel</application> ¤ËÂФ·¤Æ¡¢
¤³¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¤É¤³¤Ë¥Þ¥¦¥ó¥È¤µ¤ì¤ë¤«¶µ¤¨¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
<xref linkend="sysinstall-label-mount"/>
¤Î¤è¤¦¤Ê¥À¥¤¥¢¥í¥°¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
- ¥ë¡¼¥È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤Ï <filename>/</filename>
- ¤Ê¤Î¤Ç¡¢<userinput>/</userinput> ¤ÈÆþÎϤ·
- <keycap>Enter</keycap> ¥­¡¼¤ò²¡¤·¤Þ¤¹¡£</para>
+ <userinput>/</userinput> ¤ÈÆþÎϤ·
+ <keycap>Enter</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="sysinstall-label-mount">
<title>¥ë¡¼¥È¤Î¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥ÈÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-root3"/>
</imageobject>
</mediaobject>
</figure>
- <para>¤½¤Î¸å¡¢
- ¿·¤·¤¯ºîÀ®¤·¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òɽ¼¨¤¹¤ë¤¿¤á¤Ë²èÌ̤Ϲ¹¿·¤¹¤ë¤Ç¤·¤ç¤¦¡£
- ¾¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤¹¤ë¤¿¤á¤Ë¡¢¤³¤Îºî¶È¤ò·«¤ê¤«¤¨¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¥¹¥ï¥Ã¥×¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¥Þ¥¦¥ó¥È¤µ¤ì¤Ê¤¤¤Î¤Ç¡¢
+ <para>²èÌ̤Ϲ¹¿·¤µ¤ì¤Æ¡¢
+ ¿·¤·¤¯ºîÀ®¤·¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
+ ¤³¤Îºî¶È¤ò·«¤ê¤«¤¨¤·¤Æ¡¢
+ ¾¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¹¥ï¥Ã¥×¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¤·¤¿¤È¤­¤Ë¤Ï¡¢
- ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤ÎÆþÎϤÏÂ¥¤µ¤ì¤Ê¤¤¤Ç¤·¤ç¤¦¡£
- ºÇ¸å¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î <filename>/usr</filename> ¤òºîÀ®¤¹¤ë¤È¤­¤Ï¡¢
- ¥¹¥é¥¤¥¹¤Ë»Ä¤Ã¤Æ¤¤¤ë¥µ¥¤¥º¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¡¢
- ɽ¼¨¤µ¤ì¤¿¥µ¥¤¥º¤ò¤½¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤ÎÆþÎϤÏÂ¥¤µ¤ì¤Þ¤»¤ó¡£
+ ºÇ¸å¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î <filename class="directory">/usr</filename>
+ ¤òºîÀ®¤¹¤ë¤È¤­¤Ï¡¢É½¼¨¤µ¤ì¤¿¥µ¥¤¥º¤ò¤½¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¤¤Æ¡¢
+ ¥¹¥é¥¤¥¹¤Ë»Ä¤Ã¤Æ¤¤¤ë¥µ¥¤¥º¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
- <para>ºÇ½ªÅª¤Ê &os; ¥Ç¥£¥¹¥¯¥é¥Ù¥ë¥¨¥Ç¥£¥¿ ¤Î²èÌ̤ϡ¢
+ <para>ºÇ½ªÅª¤Ê &os; ¥Ç¥£¥¹¥¯¥é¥Ù¥ë¥¨¥Ç¥£¥¿¤Î²èÌ̤ϡ¢
ÁªÂò¤µ¤ì¤¿¿ôÃͤϰۤʤäƤ¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢
<xref linkend="sysinstall-label4"/> ¤Î¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
<keycap>Q</keycap> ¥­¡¼¤ò²¡¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£</para>
<figure id="sysinstall-label4">
<title>sysinstall ¥Ç¥£¥¹¥¯¥é¥Ù¥ë¥¨¥Ç¥£¥¿</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-ed2"/>
</imageobject>
</mediaobject>
</figure>
</sect2>
</sect1>
<sect1 id="install-choosing">
<title>²¿¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«ÁªÂò¤¹¤ë</title>
<sect2 id="distset">
<title>¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¥»¥Ã¥È¤ÎÁªÂò</title>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¥»¥Ã¥È¤òÁªÂò¤·¤Þ¤¹¡£
¤³¤ì¤Ï»È¤ª¤¦¤È¤¹¤ë¥·¥¹¥Æ¥à¤äÍøÍѲÄǽ¤Ê¥Ç¥£¥¹¥¯¤ÎÍÆÎ̤˰͸¤·¤Þ¤¹¡£
ºÇ¾®¹½À®¤Î¥¤¥ó¥¹¥È¡¼¥ë¤«¤éÁ´¤Æ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Þ¤Ç¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤é¤«¤¸¤áÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
- &unix; ¤ä &os; ¤Ë´·¤ì¤Æ¤Ê¤¤¿Í¤Ï¤Û¤Ü´Ö°ã¤¤¤Ê¤¯¤³¤ì¤é¤ÎÍѰդµ¤ì¤¿¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á¤Î 1 ¤Ä¤òÁª¤Ö¤Ù¤­¤Ç¤¹¡£
+ &unix; ¤ä &os; ¤Ë´·¤ì¤Æ¤Ê¤¤¿Í¤Ï¤³¤ì¤é¤Î¤É¤Á¤é¤«¤òÁª¤Ö¤Ù¤­¤Ç¤¹¡£
¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¥»¥Ã¥È¤Î¥«¥¹¥¿¥Þ¥¤¥º¤Ï¡¢¼ç¤È¤·¤Æ¤è¤ê·Ð¸³¤òÀѤó¤À¥æ¡¼¥¶¡¼¤Î¤¿¤á¤Ë¤¢¤ê¤Þ¤¹¡£</para>
<para><keycap>F1</keycap> ¥­¡¼¤ò²¡¤¹¤È¤½¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¥»¥Ã¥È¤Î¥ª¥×¥·¥ç¥ó¤ä¤½¤ì¤é¤¬²¿¤ò´Þ¤ó¤Ç¤¤¤ë¤«¤È¤¤¤¦¤è¤ê¾Ü¤·¤¤¾ðÊó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
- ¥Ø¥ë¥×¤ò¸«½ª¤ï¤Ã¤¿¸å¤Ë¤Ï¡¢
- <keycap>Enter</keycap> ¥­¡¼¤ò²¡¤¹¤³¤È¤Ç¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤ÎÁªÂò¥á¥Ë¥å¡¼¤ËÌá¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ ¥Ø¥ë¥×¤ò¸«½ª¤ï¤Ã¤¿¸å¤Ë¤Ï¡¢<keycap>Enter</keycap>
+ ¥­¡¼¤ò²¡¤·¤Æ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤ÎÁªÂò¥á¥Ë¥å¡¼¤ËÌá¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¥°¥é¥Õ¥£¥«¥ë¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò˾¤à¾ì¹ç¤Ë¤Ï¡¢
&os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ë
- X ¥µ¡¼¥Ð¤Ë¤Ä¤¤¤Æ¤ÎÀßÄê¤È¥Ç¥Õ¥©¥ë¥È¥Ç¥¹¥¯¥È¥Ã¥×¤ÎÁªÂò¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
- X ¥µ¡¼¥Ð¤Î¥¤¥ó¥¹¥È¡¼¥ë¤äÀßÄê¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ê¾ðÊó¤Ï
+ <application>&xorg;</application>
+ ¤ÎÀßÄê¤È¥Ç¥Õ¥©¥ë¥È¥Ç¥¹¥¯¥È¥Ã¥×¤ÎÁªÂò¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
+ <application>&xorg;</application>
+ ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤äÀßÄê¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ê¾ðÊó¤Ï
<xref linkend="x11"/> ¤Ë¤¢¤ê¤Þ¤¹¡£</para>
<para>¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëͽÄê¤Ê¤é¤Ð¥½¡¼¥¹¥³¡¼¥É¤ò´Þ¤à¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¤Þ¤¹¡£
¤Ê¤¼¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤ò¹½ÃÛ¤¹¤ë¤Î¤«¡¢¤Þ¤¿¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤Î¹½ÃÛÊýË¡¤Ë´Ø¤·¤Æ¤Ï
<xref linkend="kernelconfig"/> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
- <para>ÅöÁ³¤Ê¤¬¤é¡¢Á´¤Æ¤ò´Þ¤à¥·¥¹¥Æ¥à¤¬ºÇ¤â¿¤¯¤Î¤³¤È¤ò¹Ô¤¨¤Þ¤¹¡£
+ <para>¤¹¤Ù¤Æ¤ò´Þ¤à¥·¥¹¥Æ¥à¤¬ºÇ¤â¿¤¯¤Î¤³¤È¤ò¹Ô¤¨¤Þ¤¹¡£
½½Ê¬¤Ê¥Ç¥£¥¹¥¯¥¹¥Ú¡¼¥¹¤¬¤¢¤ë¤Ê¤é¤Ð¡¢<xref linkend="distribution-set1"/>
¤Ç¼¨¤µ¤ì¤ë¤è¤¦¤Ë <guimenuitem>All</guimenuitem> ¤òÌð°õ¥­¡¼¤ÇÁªÂò¤·¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Þ¤¹¡£
¥Ç¥£¥¹¥¯¥¹¥Ú¡¼¥¹¤Ë·üǰ¤¬¤¢¤ë¤Ê¤é¤Ð¡¢¾õ¶·¤Ë¹ç¤Ã¤¿¤è¤ê¤Õ¤µ¤ï¤·¤¤¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¤Þ¤¹¡£
¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ë¤½¤Î¤Û¤«¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤ò²Ã¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¡¢
´°àú¤ÊÁªÂò¤ò¤·¤è¤¦¤È¤·¤ÆÇº¤Þ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£</para>
<figure id="distribution-set1">
<title>¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/dist-set"/>
</imageobject>
</mediaobject>
</figure>
</sect2>
<sect2 id="portscol">
<title>Ports Collection ¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
<para>¤ªË¾¤ß¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤òÁª¤Ö¤È¡¢
&os; Ports Collection ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«¤É¤¦¤«¤ò¿Ò¤Í¤Æ¤­¤Þ¤¹¡£
Ports Collection ¤È¤Ï¡¢´Êñ¤Ë¥½¥Õ¥È¥¦¥§¥¢¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÊýË¡¤Ç¤¹¡£
- ¤³¤ì¤Ï¥½¥Õ¥È¥¦¥§¥¢¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Î¤ËɬÍפʥ½¡¼¥¹¥³¡¼¥É¤ò´Þ¤ß¤Þ¤»¤ó¡£
- ¤½¤ÎÂå¤ï¤ê¡¢¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î¥½¥Õ¥È¥¦¥§¥¢¥Ñ¥Ã¥±¡¼¥¸¤ò¼«Æ°Åª¤Ë¥À¥¦¥ó¥í¡¼¥É¡¢¥³¥ó¥Ñ¥¤¥ë¡¢¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¤¿¤á¤Î¥Õ¥¡¥¤¥ë¤Î½¸¤Þ¤ê¤Ç¤¹¡£
+ ¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î¥½¥Õ¥È¥¦¥§¥¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥À¥¦¥ó¥í¡¼¥É¡¢
+ ¥³¥ó¥Ñ¥¤¥ë¡¢¥¤¥ó¥¹¥È¡¼¥ë¤ò¼«Æ°Åª¤Ë¹Ô¤¦¤¿¤á¤Î¥Õ¥¡¥¤¥ë¤Î½¸¤Þ¤ê¤Ç¤¹¡£
<xref linkend="ports"/> ¤Ç Ports Collection ¤Î»ÈÍÑÊýË¡¤¬²òÀ⤵¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para>¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥°¥é¥à¤Ï¥Ç¥£¥¹¥¯¤Ë½½Ê¬¤Ê¶õ¤­ÍÆÎ̤¬¤¢¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤»¤ó¤Î¤Ç¡¢
½½Ê¬¤Ê¶õ¤­ÍÆÎ̤¬¤¢¤ë¾ì¹ç¤Î¤ß¤³¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
&os; &rel.current; ¤Ç¤Ï¡¢&os; Ports Collection ¤Ï¡¢Ìó &ports.size;
¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤òɬÍפȤ·¤Þ¤¹¡£
¤è¤êºÇ¿·¤Î &os; ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢°ÂÁ´¤Î¤¿¤á¤â¤¦¾¯¤·Â礭¤Ê¥µ¥¤¥º¤òÁÛÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen> User Confirmation Requested
FreeBSD Ports Collection ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¤«?
¤³¤ì¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢&os.numports; °Ê¾å¤Î°Ü¿¢¥½¥Õ¥È¥¦¥§¥¢¥Ñ¥Ã¥±¡¼
¥¸¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¡Ö¥¯¥ê¡¼¥ó¤Ê¡×¾õÂ֤ǤÏÌó &ports.size;
¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤òÀê¤á¤Þ¤¹¤¬¡¢ÇÛÉÛ¤µ¤ì¤Æ¤¤¤ë tarball ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¤¤¯¤È¡¢¹¹¤Ë
Â礭¤ÊÎΰè¤òÀê¤á¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹ (¤¿¤À¤·¡¢FreeBSD ¤Î CD/DVD ¤ÇÇÛÉÛ¤µ¤ì¤Æ¤¤¤ë
extra disk ¤ò»ý¤Ã¤Æ¤¤¤Æ¡¢¤½¤ì¤ò /cdrom ¤Ë¥Þ¥¦¥ó¥È¤·¤Æ»ÈÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢
¤µ¤Û¤ÉÌäÂê¤Ë¤Ï¤Ê¤é¤Ê¤¤¤Ç¤·¤ç¤¦) ¡£
Ports Collection ¤Ï¡¢Èó¾ï¤ËÍ­ÍѤʻñ¸»¤Ç¤¢¤ê¡¢/usr ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÃÖ
¤¤¤Æ¤ª¤¯¤À¤±¤Î²ÁÃͤϽ½Ê¬¤Ë¤¢¤ê¤Þ¤¹¡£¤³¤Î¼ÁÌä¤Ë¤Ï Yes ¤ÈÅú¤¨¤ë¤Î¤¬¸­ÌÀ¤Ç
¤·¤ç¤¦¡£
Ports Collection ¤Ë´Ø¤¹¤ë¤µ¤é¤Ë¾Ü¤·¤¤¾ðÊó¤ä¡¢ºÇ¿·¤Î Ports ¤Ë´Ø¤·¤Æ¤Ï¡¢
°Ê²¼¤Î¾ì½ê¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
http://www.FreeBSD.org/ports
[ Yes ] No</screen>
<para>Ports Collection ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ê¤é &gui.yes;
¤ò¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð &gui.no;
¤òÌð°õ¥­¡¼¤ÇÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£
<keycap>Enter</keycap> ¥­¡¼¤ò²¡¤·¤ÆÀè¤Ë¿Ê¤ß¤Þ¤¹¡£
¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤ÎÁªÂò¥á¥Ë¥å¡¼¤¬ºÆÅÙɽ¼¨¤µ¤ì¤Þ¤¹¡£</para>
<figure id="distribution-set2">
<title>¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Î³Îǧ</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/dist-set2"/>
</imageobject>
</mediaobject>
</figure>
<para>¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¤¿¤éÌð°õ¥­¡¼¤Ç <guimenuitem>Exit</guimenuitem>
¤òÁª¤Ó¡¢&gui.ok; ¤¬¥Ï¥¤¥é¥¤¥È¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¡¢
- <keycap>Enter</keycap> ¤ò²¡¤·¤ÆÀè¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£</para>
+ <keycap>Enter</keycap> ¤ò²¡¤·¤ÆÀè¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£</para>
</sect2>
</sect1>
<sect1 id="install-media">
<title>¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤ÎÁªÂò</title>
- <para>CD-ROM ¤Þ¤¿¤Ï DVD ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¡¢Ìð°õ¥­¡¼¤ò»È¤Ã¤Æ
+ <para>CD ¤Þ¤¿¤Ï DVD ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¡¢Ìð°õ¥­¡¼¤ò»È¤Ã¤Æ
<guimenuitem>Install from a FreeBSD CD/DVD</guimenuitem> ¤òÁª¤ó¤Ç²¼¤µ¤¤¡£
&gui.ok; ¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¡¢
<keycap>Enter</keycap> ¥­¡¼¤ò²¡¤·¥¤¥ó¥¹¥È¡¼¥ë¤ò³«»Ï¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¤½¤Î¤Û¤«¤ÎÊýË¡¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢
ŬÀڤʥª¥×¥·¥ç¥ó¤òÁªÂò¤·¤½¤Î¸å¤Î»Ø¼¨¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<para><keycap>F1</keycap> ¥­¡¼¤ò²¡¤¹¤È¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤Ë´Ø¤¹¤ë¥ª¥ó¥é¥¤¥ó¥Ø¥ë¥×¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¥á¥Ç¥£¥¢ÁªÂò¥á¥Ë¥å¡¼¤ËÌá¤ë¤Ë¤Ï <keycap>Enter</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="choose-media">
<title>¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/media"/>
</imageobject>
</mediaobject>
</figure>
<note>
<title>FTP ¥¤¥ó¥¹¥È¡¼¥ë¥â¡¼¥É</title>
<indexterm>
<primary>¥¤¥ó¥¹¥È¡¼¥ë</primary>
<secondary>¥Í¥Ã¥È¥ï¡¼¥¯</secondary>
<tertiary>FTP</tertiary>
</indexterm>
<para>FTP ·Ðͳ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¾ì¹ç¡¢active FTP, passive FTP,
HTTP proxy ·Ðͳ¤Î»°¼ïÎà¤Î FTP
- ¥¤¥ó¥¹¥È¡¼¥ë¥â¡¼¥É¤òÁªÂò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ ¥¤¥ó¥¹¥È¡¼¥ë¥â¡¼¥É¤«¤éÁªÂò¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
<variablelist>
<varlistentry>
<term>FTP Active: <guimenuitem>Install from an FTP
server</guimenuitem></term>
<listitem>
<para>¤¹¤Ù¤Æ¤Î FTP žÁ÷¤ÎºÝ¤Ë <quote>Active</quote>
¥â¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ëÆâÉô¤Î¥Þ¥·¥ó¤Ç¤Ï¤¦¤Þ¤¯Æ°¤­¤Þ¤»¤ó¤¬¡¢
¿¤¯¤Î¾ì¹ç passive ¥â¡¼¥É¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¤è¤¦¤Ê¸Å¤¤
FTP ¥µ¡¼¥Ð¤Ç¤âưºî¤·¤Þ¤¹¡£
passive ¥â¡¼¥É¤Ç¤Î FTP žÁ÷ (¤³¤Á¤é¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¤¹)
¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¡¢active ¥â¡¼¥É¤Ç³Î¤«¤á¤Þ¤·¤ç¤¦!</para>
</listitem>
</varlistentry>
<varlistentry>
<term>FTP Passive: <guimenuitem>Install from an FTP server through a
firewall</guimenuitem></term>
<listitem>
- <indexterm>
- <primary>FTP</primary>
- <secondary>Passive ¥â¡¼¥É</secondary>
- </indexterm>
-
<para>¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢
- <application>sysinstall</application> ¤Ï¡¢¤¹¤Ù¤Æ¤Î FTP žÁ÷¤ÎºÝ¤Ë
- <quote>Passive</quote> ¥â¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
+ &man.sysinstall.8; ¤Ï¡¢¤¹¤Ù¤Æ¤Î FTP žÁ÷¤ÎºÝ¤Ë
+ passive ¥â¡¼¥É<indexterm>
+ <primary>FTP</primary>
+ <secondary>Passive ¥â¡¼¥É</secondary>
+ </indexterm>¤ò»ÈÍѤ·¤Þ¤¹¡£
¤³¤Î¥â¡¼¥É¤ò»ÈÍѤ¹¤ë¤È¡¢
¥é¥ó¥À¥à TCP ¥Ý¡¼¥È¤Ë¤è¤ë³°Éô¤«¤é¤ÎÀܳ¤òµö²Ä¤·¤Æ¤¤¤Ê¤¤¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ò±Û¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
</listitem>
</varlistentry>
<varlistentry>
<term>HTTP proxy ·Ðͳ¤Î FTP:
<guimenuitem>Install from an FTP server
through a http proxy</guimenuitem></term>
<listitem>
- <indexterm>
- <primary>FTP</primary>
- <secondary>HTTP proxy ·Ðͳ</secondary>
- </indexterm>
-
- <para>¤³¤ÎÊýË¡¤Ç¤Ï¡¢<application>sysinstall</application> ¤Ï¡¢
- (¥¦¥§¥Ö¥Ö¥é¥¦¥¶¤ÈƱÍͤË) HTTP
+ <para>¤³¤ÎÊýË¡¤Ç¤Ï¡¢&man.sysinstall.8; ¤Ï¡¢HTTP
¥×¥í¥È¥³¥ë¤ò»È¤Ã¤Æ proxy ¥µ¡¼¥Ð¤ËÀܳ¤·¡¢FTP ¤ÎÁàºî¤ò¼Â¸½¤·¤Þ¤¹¡£
proxy ¥µ¡¼¥Ð¤Ï FTP Í×µá¤ò (ÌõÃí: HTTP ¤«¤é FTP ¤Ë) ÊÑ´¹¤·¤Æ
FTP ¥µ¡¼¥Ð¤ËÁ÷¤ë¤¿¤á¡¢¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤¬ FTP
- Àܳ¤ò¶Ø»ß¤·¤Æ¤¤¤Æ¤â¡¢HTTP proxy ¥µ¡¼¥Ð¤¬Ä󶡤µ¤ì¤Æ¤¤¤ì¤Ð
+ Àܳ¤ò¶Ø»ß¤·¤Æ¤¤¤Æ¤â¡¢HTTP proxy ¥µ¡¼¥Ð<indexterm>
+ <primary>FTP</primary>
+ <secondary>HTTP proxy ·Ðͳ</secondary>
+ </indexterm>¤¬Ä󶡤µ¤ì¤Æ¤¤¤ì¤Ð
¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤òͤ¨¤¿ FTP Àܳ¤ò¹Ô¤Ê¤¦¤³¤È¤¬²Äǽ¤Ç¤¹¡£
¤³¤ÎÊýË¡¤òÍѤ¤¤ë¾ì¹ç¤Ë¤Ï¡¢FTP ¥µ¡¼¥Ð¤Î¾¤Ë proxy
¥µ¡¼¥Ð¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
</listitem>
</varlistentry>
</variablelist>
- <para>Ä̾ï proxy FTP ¥µ¡¼¥Ð¤ËÂФ·¤Æ¤Ï¡¢¥æ¡¼¥¶Ì¾¤Î°ìÉô¤È¤·¤Æ
+ <para>proxy FTP ¥µ¡¼¥Ð¤ËÂФ·¤Æ¤Ï¡¢¥æ¡¼¥¶Ì¾¤Î°ìÉô¤È¤·¤Æ
¼ÂºÝ¤ËÀܳ¤·¤¿¤¤¥µ¡¼¥Ð¤Î̾Á°¤ò <quote>@</quote>
µ­¹æ¤Ë³¤±¤ÆÍ¿¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤½¤¦¤¹¤ë¤È proxy ¥µ¡¼¥Ð¤ÏËÜÅö¤Î¥µ¡¼¥Ð¤Î<quote>¤Õ¤ê</quote>
¤ò¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢1234 ¥Ý¡¼¥È¤ÇÍ×µá¤òÂÔ¤Ä proxy FTP ¥µ¡¼¥Ð
<hostid role="fqdn">foo.example.com</hostid> ¤ò»È¤Ã¤Æ¡¢
<hostid role="fqdn">ftp.FreeBSD.org</hostid>
- ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤¤È¤·¤Þ¤¹¡£</para>
-
- <para>¤³¤Î¾ì¹ç¡¢¥ª¥×¥·¥ç¥ó¥á¥Ë¥å¡¼¤Ç
+ ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
+ ¥ª¥×¥·¥ç¥ó¥á¥Ë¥å¡¼¤Ç
FTP ¥æ¡¼¥¶Ì¾¤Ë <literal>ftp@ftp.FreeBSD.org</literal> ¤ò¡¢
¥Ñ¥¹¥ï¡¼¥É¤È¤·¤Æ¤¢¤Ê¤¿¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹¤òÀßÄꤷ¤Þ¤¹¡£
¤½¤·¤Æ¡¢¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤Ë FTP (proxy ¥µ¡¼¥Ð¤¬Âбþ¤·¤Æ¤¤¤ë¤Ê¤é¤Ð
passive FTP)¡¢URL ¤È¤·¤Æ
<literal>ftp://foo.example.com:1234/pub/FreeBSD</literal>
¤ò»ØÄꤷ¤Þ¤¹¡£</para>
- <para>¤³¤Î¤è¤¦¤ËÀßÄꤹ¤ë¤È¡¢
- <hostid role="fqdn">ftp.FreeBSD.org</hostid> ¤Î
- <filename>/pub/FreeBSD</filename> ¤ËÂФ¹¤ë FTP
- Í×µá¤Ë¤Ä¤¤¤Æ¤Ï <hostid role="fqdn">foo.example.com</hostid>
- ¤¬ÂåÍý¤Ç½èÍý¤ò¤ª¤³¤Ê¤¦¤³¤È¤Ë¤Ê¤ê¡¢<emphasis>¤½¤Î</emphasis>
- ¥Þ¥·¥ó¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹
- (¥¤¥ó¥¹¥È¡¼¥ë»þ¤ÎÍ×µá¤Ë±þ¤¸¤Æ
+ <para><hostid role="fqdn">ftp.FreeBSD.org</hostid> ¤Î
+ <filename class="directory">/pub/FreeBSD</filename> ¤Ï
+ <hostid role="fqdn">foo.example.com</hostid>
+ ¤¬ÂåÍý¤Ç½èÍý¤ò¤ª¤³¤Ê¤¦¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢
+ ¥¤¥ó¥¹¥È¡¼¥ë»þ¤ÎÍ×µá¤Ë±þ¤¸¤Æ
<hostid role="fqdn">ftp.FreeBSD.org</hostid>
- ¤«¤é¥Õ¥¡¥¤¥ë¤ò¼è¤ê´ó¤»¤Þ¤¹)¡£</para>
+ ¤«¤é¥Õ¥¡¥¤¥ë¤ò¼è¤ê´ó¤»¤Þ¤¹¡£</para>
</note>
</sect1>
<sect1 id="install-final-warning">
<title>¥¤¥ó¥¹¥È¡¼¥ëÁàºî¤Î³ÎÄê</title>
<para>¤³¤ì¤ÇÎɤ¤¤È»×¤Ã¤¿¤é¡¢¤³¤³¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤ò¿Ê¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á¤Ë¤ª¤³¤Ê¤¦¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤ËÂФ¹¤ëÊѹ¹¤ò¤ä¤á¤ë¤Ê¤é¡¢
¤³¤³¤¬ºÇ¸å¤Î¥Á¥ã¥ó¥¹¤Ç¤â¤¢¤ê¤Þ¤¹¡£</para>
<screen> 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</screen>
<para>&gui.yes; ¤òÁªÂò¤·¤Æ
<keycap>Enter</keycap> ¥­¡¼¤ò²¡¤¹¤³¤È¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤Ï¿Ê¤ß¤Þ¤¹¡£</para>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤«¤«¤ë»þ´Ö¤Ï¡¢¤É¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤òÁª¤ó¤À¤«¡¢
¤É¤Î¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤ò»È¤Ã¤¿¤«¡¢
¤½¤·¤Æ¥³¥ó¥Ô¥å¡¼¥¿¤Î®Å٤ˤâ°Í¸¤·¤Þ¤¹¡£
¥¤¥ó¥¹¥È¡¼¥ë¾õ¶·¤Ë½¾¤Ã¤Æ¡¢¥á¥Ã¥»¡¼¥¸¤¬Ã༡ɽ¼¨¤µ¤ì¤Þ¤¹¡£</para>
<para>¼¡¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ì¤Ð¥¤¥ó¥¹¥È¡¼¥ë¤Ï½ª¤ï¤ê¤Ç¤¹¡£</para>
<screen> 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 ]</screen>
<para><keycap>Enter</keycap> ¥­¡¼¤ò²¡¤»¤Ð¥¤¥ó¥¹¥È¡¼¥ë¸å¤ÎÀßÄê²èÌ̤Ë
°Ü¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<para>&gui.no; ¤òÁªÂò¤·¤Æ
<keycap>Enter</keycap> ¥­¡¼¤ò²¡¤¹¤È¡¢¥¤¥ó¥¹¥È¡¼¥ë¤òÃæÃǤ·¤Æ
¥·¥¹¥Æ¥à¤Ë¤Ï²¿¤ÎÊѹ¹¤â¤ª¤³¤Ê¤¤¤Þ¤»¤ó¡£
¤½¤Î¤È¤­¤Ë¤Ï¼¡¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<screen> Message
Installation complete with some errors. You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.
[ OK ]</screen>
<para>²¿¤â¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Ê¤«¤Ã¤¿¤¿¤á¡¢¤³¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
<keycap>Enter</keycap> ¥­¡¼¤ò²¡¤·¤Þ¤¹¤È¡¢
¥¤¥ó¥¹¥È¡¼¥é¤ò½ªÎ»¤¹¤ë¤¿¤á¤Ë¥á¥¤¥ó¥á¥Ë¥å¡¼¤ËÌá¤ê¤Þ¤¹¡£</para>
</sect1>
<sect1 id="install-post">
<title>¥¤¥ó¥¹¥È¡¼¥ë¸å¤Îºî¶È</title>
<para>¥¤¥ó¥¹¥È¡¼¥ë´°Î»¸å¤Ë¿ô¡¹¤Î¥ª¥×¥·¥ç¥óÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¥ª¥×¥·¥ç¥ó¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿ &os; ¤òµ¯Æ°¤¹¤ëÁ°¤Ë configuration
¤Î¹àÌÜ¤ËÆþ¤ê¤Ê¤ª¤¹¤«¡¢ºÆµ¯Æ°¸å¤Ë
- <command>sysinstall</command>
+ &man.sysinstall.8;
¤ÎÃæ¤Ë¤¢¤ë <guimenuitem>Configure</guimenuitem>
¤Î¹àÌܤÇÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<sect2 id="inst-network-dev">
<title>¥Í¥Ã¥È¥ï¡¼¥¯¥Ç¥Ð¥¤¥¹¤ÎÀßÄê</title>
<para>¤â¤·¡¢FTP ¥¤¥ó¥¹¥È¡¼¥ë¤Î¤¿¤á¤Ë PPP ¤òÀßÄꤷ¤¿¤Î¤Ê¤é¤Ð¡¢
¤³¤Î²èÌ̤Ïɽ¼¨¤µ¤ì¤º¡¢Á°¹à¤Ç½Ò¤Ù¤¿¤è¤¦¤Ë¸å¤«¤éÀßÄê¤Ç¤­¤Þ¤¹¡£</para>
<para>LAN ¤Î¾ÜºÙ¾ðÊó¤È¡¢&os; ¤Î¥²¡¼¥È¥¦¥§¥¤¡¦¥ë¡¼¥¿¤ÎÀßÄê¤Ë¤Ä¤¤¤Æ¤Ï
<link linkend="advanced-networking">¹âÅ٤ʥͥåȥ¥¯</link>
¤Î¾Ï¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen> User Confirmation Requested
Would you like to configure any Ethernet or PPP network devices?
(Ìõ¡§¥¤¡¼¥µ¥Í¥Ã¥È¤ä SLIP/PPP ¥Í¥Ã¥È¥ï¡¼¥¯¥Ç¥Ð¥¤¥¹¤òÀßÄꤷ¤¿¤¤¤Ç¤¹¤«¡©)
[ Yes ] No</screen>
<para>¥Í¥Ã¥È¥ï¡¼¥¯¥Ç¥Ð¥¤¥¹¤òÀßÄꤹ¤ë¤Ë¤Ï &gui.yes;
¤òÁª¤Ó¡¢<keycap>Enter</keycap> ¥­¡¼¤ò²¡¤·¤Þ¤¹¡£
ÀßÄꤷ¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢&gui.no; ¤òÁª¤Ó¤Þ¤¹¡£</para>
<figure id="ed-config1">
<title>¥¤¡¼¥µ¥Í¥Ã¥È¥Ç¥Ð¥¤¥¹¤òÁª¤Ö</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/ed0-conf"/>
</imageobject>
</mediaobject>
</figure>
<para>ÀßÄꤷ¤¿¤¤¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÌð°õ¥­¡¼¤ÇÁª¤Ó¡¢<keycap>Enter</keycap>
¥­¡¼¤ò²¡¤·¤Þ¤¹¡£</para>
<screen> User Confirmation Requested
Do you want to try IPv6 configuration of the interface?
(Ìõ¡§¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¾å¤Ç IPv6 ¤ÎÀßÄê¤ò¹Ô¤Ê¤¤¤¿¤¤¤Ç¤¹¤«¡©)
Yes [ No ]</screen>
<para>¥×¥é¥¤¥Ù¡¼¥È¤Ê LAN ¤Ë¤ª¤¤¤Æ¡¢¸½¹Ô¤Î¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥×¥í¥È¥³¥ë
(<acronym>IPv4</acronym>)
¤Ç½½Ê¬¤Ê¤Î¤Ç¤¢¤ì¤Ð¡¢Ìð°õ¥­¡¼¤Ç &gui.no; ¤òÁª¤Ó
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
- <para><acronym>RA</acronym> ¥µ¡¼¥Ð¤È <acronym>IPv6</acronym> ¥Í¥Ã¥È¥ï¡¼¥¯¤ÇÀܳ¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
+ <para><acronym>RA</acronym> ¥µ¡¼¥Ð¤È
+ <acronym>IPv6</acronym> ¥Í¥Ã¥È¥ï¡¼¥¯¤ÇÀܳ¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
&gui.yes; ¤òÁª¤ó¤Ç <keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¤¹¤ë¤È¡¢¿ôÉÃ´Ö RA ¥µ¡¼¥Ð¤ò¸¡º÷¤·¤Þ¤¹¡£</para>
<screen> User Confirmation Requested
Do you want to try DHCP configuration of the interface?
(Ìõ¡§¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¾å¤Ç DHCP ÀßÄê¤ò¹Ô¤Ê¤¤¤¿¤¤¤Ç¤¹¤«¡©)
Yes [ No ]</screen>
- <para>¤â¤·¡¢DHCP (Dynamic Host Configuration Protocol)
+ <para>¤â¤·¡¢Dynamic Host Configuration Protocol (<acronym>DHCP</acronym>)
¤¬É¬Íפʤ±¤ì¤Ð¡¢Ìð°õ¤Ç &gui.no; ¤òÁª¤Ó <keycap>Enter</keycap>
¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>&gui.yes; ¤òÁª¤ó¤À¾ì¹ç¡¢
- <application>dhclient</application> ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ÀßÄ꤬À®¸ù¤¹¤ë¤È¡¢
+ &man.dhclient.8; ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ÀßÄ꤬À®¸ù¤¹¤ë¤È¡¢
¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄê¾ðÊ󤬼«Æ°Êä´°¤µ¤ì¤Þ¤¹¡£ ¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï
<xref linkend="network-dhcp"/> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¼¡¤Î¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄê²èÌ̤Ǥϡ¢LAN
ÍÑ¥²¡¼¥È¥¦¥§¥¤¥·¥¹¥Æ¥à¤Î¥¤¡¼¥µ¥Í¥Ã¥È¥Ç¥Ð¥¤¥¹¹½À®¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<figure id="ed-config2">
<title><replaceable>ed0</replaceable> ¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÀßÄê</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/ed0-conf2"/>
</imageobject>
</mediaobject>
</figure>
<para><keycap>Tab</keycap> ¤ò¤Ä¤«¤Ã¤Æ¹àÌܤòÁª¤Ó¡¢
ŬÀڤʾðÊó¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<variablelist>
<varlistentry>
<term>Host</term>
<listitem>
<para>´°Á´½¤¾þ¤µ¤ì¤¿¥Û¥¹¥È̾¡£¤³¤ÎÎã¤Ç¤Ï¡¢<hostid role="fqdn">k6-2.example.com</hostid>¡£</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Domain</term>
<listitem>
<para>¥³¥ó¥Ô¥å¡¼¥¿¤Î¥É¥á¥¤¥ó̾¡£¤³¤ÎÎã¤Ç¤Ï <hostid role="domainname">example.com</hostid>¡£</para>
</listitem>
</varlistentry>
<varlistentry>
<term>IPv4 Gateway</term>
<listitem>
<para>¥í¡¼¥«¥ë°Ê³°¤Î¥Û¥¹¥È¤Ø¥Ñ¥±¥Ã¥È¤òÁ÷¤ëºÝ¤Ë»È¤¦ IP ¥¢¥É¥ì¥¹¤Ç¤¹¡£
¤â¤·¥³¥ó¥Ô¥å¡¼¥¿¤¬¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Ë¤¤¤ë¾ì¹ç¤ÏÆþÎϤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¥³¥ó¥Ô¥å¡¼¥¿¤¬¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥²¡¼¥È¥¦¥§¥¤¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï
<emphasis>¤³¤Î¹àÌܤ϶õÇò¤Î¤Þ¤Þ</emphasis>¤Ë¤·¤Þ¤¹¡£
IPv4 ¥²¡¼¥È¥¦¥§¥¤¤Ï¥Ç¥Õ¥©¥ë¥È¥²¡¼¥È¥¦¥§¥¤¤Þ¤¿¤Ï¥Ç¥Õ¥©¥ë¥È¥ë¡¼¥È¤È¤â¸Æ¤Ð¤ì¤Þ¤¹¡£</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Name server</term>
<listitem>
<para>¥í¡¼¥«¥ë DNS ¥µ¡¼¥Ð¤Î IP ¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
¥í¡¼¥«¥ë DNS ¥µ¡¼¥Ð¤¬¥×¥é¥¤¥Ù¡¼¥È LAN ¾å¤Ë¤Ê¤¤¤Î¤Ç¡¢
¥×¥í¥Ð¥¤¥À¤Î DNS ¥µ¡¼¥Ð (<hostid role="ipaddr">208.163.10.2</hostid>)
¤ò»ØÄꤷ¤Þ¤·¤¿¡£</para>
</listitem>
</varlistentry>
<varlistentry>
<term>IPv4 address</term>
<listitem>
<para>¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç»È¤¦ IP ¥¢¥É¥ì¥¹¤Ï
<hostid role="ipaddr">192.168.0.1</hostid>¡£</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Netmask</term>
<listitem>
<para>¤³¤ÎÎã¤Ç¤Ï¡¢LAN ¤Ç»È¤¦¥¢¥É¥ì¥¹¥Ö¥í¥Ã¥¯¤Ï¡¢
<hostid role="ipaddr">192.168.0.0</hostid> -
<hostid role="ipaddr">192.168.0.255</hostid>
¤Ç¤¹¡£
¥Í¥Ã¥È¥Þ¥¹¥¯¤Ï
(<hostid role="netmask">255.255.255.0</hostid>) ¤Ç¤¹¡£</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>Extra options to ifconfig</term>
+ <term>Extra options to &man.ifconfig.8;</term>
<listitem>
- <para>¤¢¤Ê¤¿¤¬²Ã¤¨¤¿¤¤ <command>ifconfig</command> ¤Ø¤Î
- ¥ª¥×¥·¥ç¥ó¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£º£²ó¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£</para>
+ <para>&man.ifconfig.8; ¤Ø¤ÎÄɲäΥª¥×¥·¥ç¥ó¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£
+ º£²ó¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£</para>
</listitem>
</varlistentry>
</variablelist>
<para>½ªÎ»¤¹¤ë¤È¤­¤Ï¡¢<keycap>Tab</keycap> ¥­¡¼¤ò»È¤Ã¤Æ &gui.ok; ¤òÁª¤Ó¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Þ¤¹¡£</para>
<screen> User Confirmation Requested
Would you like to bring the ed0 interface up right now?
(Ìõ¡§¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ø¤ÎÀßÄê¤òº£¤¹¤°Í­¸ú¤Ë¤·¤Þ¤¹¤«¡©)
[ Yes ] No</screen>
<para>&gui.yes; ¤òÁª¤ó¤Ç <keycap>Enter</keycap>
¤ò²¡¤¹¤È¡¢¥Í¥Ã¥È¥ï¡¼¥¯¤Ø¤ÎÀßÄê¤ò¹Ô¤¤¡¢ÍøÍѲÄǽ¤Ê¾õÂ֤ˤ·¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¡¢¥³¥ó¥Ô¥å¡¼¥¿¤ò¤Þ¤ÀºÆµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤Ç¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤Î´Ö¤Ë¤Ï¡¢Â¿¤¯¤Î¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¡£</para>
</sect2>
<sect2 id="gateway">
<title>¥²¡¼¥È¥¦¥§¥¤¤ÎÀßÄê</title>
<screen> User Confirmation Requested
Do you want this machine to function as a network gateway?
(Ìõ¡§¤³¤Î¥Þ¥·¥ó¤Ë¥Í¥Ã¥È¥ï¡¼¥¯¥²¡¼¥È¥¦¥§¥¤µ¡Ç½¤òÅëºÜ¤·¤Þ¤¹¤«¡©)
[ Yes ] No</screen>
<para>¤â¤·¡¢¥Þ¥·¥ó¤¬ LAN ¤Î¥²¡¼¥È¥¦¥¨¥¤¤Ç¤¢¤ê¡¢Â¾¥Þ¥·¥ó´Ö¤Î
¥Ñ¥±¥Ã¥È¤òžÁ÷¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢&gui.yes; ¤òÁª¤ó¤Ç
<keycap>Enter</keycap> ¤ò²¡¤·¤Þ¤¹¡£
¤â¤·¡¢¥Þ¥·¥ó¤¬¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¥Î¡¼¥É¤Ç¤¢¤ë¾ì¹ç¡¢&gui.no; ¤òÁª¤Ó
<keycap>Enter</keycap> ¤ò²¡¤·¤ÆÀè¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="inetd-services">
<title>¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥µ¡¼¥Ó¥¹¤ÎÀßÄê</title>
<screen> User Confirmation Requested
Do you want to configure inetd and the network services that it provides?
(Ìõ¡§inetd µÚ¤ÓÄ󶡤¹¤ë¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¤«¡©)
Yes [ No ]</screen>
- <para>¤â¤· &gui.no; ¤òÁª¤ó¤À¾ì¹ç¤Ë¤Ï¡¢¤µ¤Þ¤¶¤Þ¤Ê¥µ¡¼¥Ó¥¹¡¢
- ¤¿¤È¤¨¤Ð <application>telnetd</application> ¤Ê¤É¤ÏÍ­¸ú¤Ë¤Ê¤ê¤Þ¤»¤ó¡£
- ¤³¤ì¤Ï¡¢¥ê¥â¡¼¥È¥æ¡¼¥¶¤¬¤³¤Î¥Þ¥·¥ó¤ËÂФ·¤Æ <application>telnet</application>
- ¤ò»È¤¨¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
- ¥í¡¼¥«¥ë¥æ¡¼¥¶¤Ï̤¤À¤Ë¥ê¥â¡¼¥È¥Þ¥·¥ó¤Ø¤Î¥¢¥¯¥»¥¹¤Ë
- <application>telnet</application> ¤ò½ÅÊõ¤·¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¡£</para>
-
- <para>¤³¤ì¤é¤Î¥µ¡¼¥Ó¥¹¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ë <filename>/etc/inetd.conf</filename>
- ¤ò¼«Ê¬¤Î¹¥¤­¤Ê¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤ÇÊÔ½¸¤¹¤ë¤³¤È¤ÇÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
+ <para>¤â¤· &gui.no; ¤òÁª¤ó¤À¾ì¹ç¤Ë¤Ï¡¢¤µ¤Þ¤¶¤Þ¤Ê¥µ¡¼¥Ó¥¹¤ÏÍ­¸ú¤Ë¤Ê¤ê¤Þ¤»¤ó¡£
+ ¤³¤ì¤é¤Î¥µ¡¼¥Ó¥¹¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ë <filename>/etc/inetd.conf</filename>
+ ¤ò¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤ÇÊÔ½¸¤¹¤ë¤³¤È¤ÇÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
¾Ü¤·¤¯¤Ï inetd ¤Î¾Ï <!-- <xref linkend="network-inetd-overview"/> --> ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¤³¤ì¤é¤Î¥µ¡¼¥Ó¥¹¤òÍøÍѤ·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤ë¤Ê¤é¤Ð¡¤
&gui.yes; ¤òÁª¤Ó¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
ÄɲäγÎǧ»ö¹à¤¬É½¼¨¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£</para>
<screen> 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.
(Ìõ¡§inetd ¤Ï finger¡¤ftp¡¤telnet ¤ò´Þ¤à¿ô¿¤¯¤Î¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥µ¡¼¥Ó¥¹¤ò
µö²Ä¤·¤Þ¤¹¡£¤³¤Îµ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ë¤È¥·¥¹¥Æ¥à¤Ø¤Î¥¢¥¯¥»¥¹¤ÎÁý²Ã¤Ë¤è¤ë
¥»¥­¥å¥ê¥Æ¥£¾å¤Î¥ê¥¹¥¯¤¬Áý²Ã¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£)
With this in mind, do you wish to enable inetd?
[ Yes ] No</screen>
<para>&gui.yes; ¤òÁª¤ó¤Ç³¤±¤Þ¤¹¡£</para>
<screen> 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.
(Ìõ¡§inetd(8) ¤¬ÍøÍѲÄǽ¤Ë¤¹¤ë¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥µ¡¼¥Ó¥¹¤Î¼ïÎà¤Ë¤Ä¤¤¤Æ¤Ï
ÀßÄê¥Õ¥¡¥¤¥ë (/etc/inetd.conf) ¤Ë°Í¸¤·¤Þ¤¹¡£FreeBSD ¤ËÉÕ°¤¹¤ë
inetd.conf(5) ¤Î½é´üÀßÄê¤Ï¡¢¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ó¥¹¤¬Ìµ¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
½¾¤Ã¤Æ¡¢inetd(8) ¤ò°ìÅÙÍ­¸ú¤Ë¤·¤¿¸å¤ËÀßÄê¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç
ɬÍפʥµ¡¼¥Ó¥¹¤òÍ­¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Ê¤ª¡¢IPv4 ¥µ¡¼¥Ó¥¹Â¦¤«¤é
IPv6 ¤Î¥µ¡¼¥Ó¥¹¤ò¸ÄÊ̤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
[Yes] ¤òÁª¤Ö¤È /etc/inetd.conf ¤ò¥¨¥Ç¥£¥¿¤ÇÊÔ½¸¤Ç¤­¤Þ¤¹¡£
[No] ¤òÁª¤Ö¤È¡¢¸½ºß¤ÎÀßÄê¤ò¤Ä¤«¤¤¤Þ¤¹¡£)
[ Yes ] No</screen>
<para>&gui.yes; ¤òÁª¤Ö¤È¡¢
- ÀèÆ¬¹Ô¤«¤éÀßÄ꤬¤Ï¤¸¤Þ¤ê¤Þ¤¹¡£
- <literal>#</literal> ¤òºï½ü¤¹¤ë¤³¤È¤Ç¥µ¡¼¥Ó¥¹¤òµö²Ä¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ Âбþ¤¹¤ë¥µ¡¼¥Ó¥¹¤ÎÀèÆ¬¹Ô¤Ë¤¢¤ë
+ <literal>#</literal> ¤òºï½ü¤¹¤ë¤³¤È¤Ç¡¢¥µ¡¼¥Ó¥¹¤òÍ­¸ú¤Ë¤Ç¤­¤Þ¤¹¡£</para>
<figure id="inetd-edit">
<title><filename>inetd.conf</filename> ¤ÎÊÔ½¸</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/edit-inetd-conf"/>
</imageobject>
</mediaobject>
</figure>
- <para>´õ˾¤¹¤ë¥µ¡¼¥Ó¥¹¤òÄɲä·¤¿¤é¡¢<keycap>Esc</keycap> ¤ò²¡¤·¡¢
- ɽ¼¨¤µ¤ì¤ë¥á¥Ë¥å¡¼¤Ç exiting and saving the changes (Êѹ¹¤òÊݸ¤·¤Æ½ªÎ»)
- ¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£</para>
+ <para>Êѹ¹¤¬½ª¤ï¤Ã¤¿¤é¡¢<keycap>Esc</keycap> ¤ò²¡¤·¡¢
+ ɽ¼¨¤µ¤ì¤ë¥á¥Ë¥å¡¼¤Ç¥¨¥Ç¥£¥¿¤ò½ªÎ»¤·¡¢Êѹ¹ÅÀ¤òÊݸ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="ssh-login">
<title>SSH ¥í¥°¥¤¥ó¤òÍ­¸ú¤Ë¤¹¤ë</title>
<indexterm>
<primary>SSH</primary>
<secondary>sshd</secondary>
</indexterm>
<screen> User Confirmation Requested
Would you like to enable SSH login?
Yes [ No ]</screen>
<para>&gui.yes; ¤òÁªÂò¤¹¤ë¤È¡¢<application>OpenSSH</application>
¤Î¥Ç¡¼¥â¥ó¤Ç¤¢¤ë &man.sshd.8; ¤¬Í­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
- ¥³¥ó¥Ô¥å¡¼¥¿¤Ø¤Î°ÂÁ´¤Ê¥ê¥â¡¼¥È¥¢¥¯¥»¥¹¤òµö²Ä¤·¤Þ¤¹¡£
+ ¤³¤ì¤Ï¡¢¥³¥ó¥Ô¥å¡¼¥¿¤Ø¤Î°ÂÁ´¤Ê¥ê¥â¡¼¥È¥¢¥¯¥»¥¹¤òµö²Ä¤·¤Þ¤¹¡£
<application>OpenSSH</application> ¤Î¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢
<xref linkend="openssh"/> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="ftpanon">
<title>Anonymous FTP</title>
<indexterm>
<primary>FTP</primary>
<secondary>anonymous</secondary>
</indexterm>
<screen> User Confirmation Requested
Do you want to have anonymous FTP access to this machine?
Yes [ No ]</screen>
<sect3 id="deny-anon">
<title>Anonymous FTP ¤òµö²Ä¤·¤Ê¤¤</title>
<para>¥Ç¥Õ¥©¥ë¥È¤Î &gui.no; ¤òÁªÂò¤·¤Æ
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¢¥«¥¦¥ó¥È¤ò»ý¤Ã¤¿¥æ¡¼¥¶¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ò»È¤¤ FTP
¤Ç¥³¥ó¥Ô¥å¡¼¥¿¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£</para>
</sect3>
<sect3 id="ftpallow">
<title>Anonymous FTP ¤òµö²Ä¤¹¤ë</title>
<para>anonymous FTP ¤ÎÀܳ¤òµö²Ä¤¹¤ë¤È¡¢
ï¤Ç¤â¥³¥ó¥Ô¥å¡¼¥¿¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ëÁ°¤Ë¡¢
¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÌäÂêÅÀ¤ò¸¡Æ¤¤·¤Æ¤¯¤À¤µ¤¤¡£
¥»¥­¥å¥ê¥Æ¥£¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
<xref linkend="security"/> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
<para>anonymous FTP ¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢Ìð°õ¥­¡¼¤ò»È¤Ã¤Æ
&gui.yes; ¤òÁªÂò¤·¡¢<keycap>Enter</keycap>
¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£°Ê²¼¤Î¤è¤¦¤Ê³Îǧ»ö¹à¤¬É½¼¨¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£</para>
<screen> User Confirmation Requested
Anonymous FTP permits un-authenticated users to connect to the system
FTP server, if FTP service is enabled. Anonymous users are
restricted to a specific subset of the file system, and the default
configuration provides a drop-box incoming directory to which uploads
are permitted. You must separately enable both inetd(8), and enable
ftpd(8) in inetd.conf(5) for FTP services to be available. If you
did not do so earlier, you will have the opportunity to enable inetd(8)
again later.
If you want the server to be read-only you should leave the upload
directory option empty and add the -r command-line option to ftpd(8)
in inetd.conf(5)
Do you wish to continue configuring anonymous FTP?
[ Yes ] No</screen>
- <para>¤³¤Î¥á¥Ã¥»¡¼¥¸¤Ï¡¢<filename>/etc/inetd.conf</filename>
+ <para>¤³¤Î¥á¥Ã¥»¡¼¥¸¤Ï¡¢anonymous FTP Àܳ¤òµö²Ä¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
+ <filename>/etc/inetd.conf</filename>
¤Ë¤ª¤¤¤Æ¤â FTP ¥µ¡¼¥Ó¥¹¤òÍ­¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
- ¤â¤·¡¢anonymous FTP Àܳ¤òµö²Ä¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢<xref
- linkend="inetd-services"/> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
- &gui.yes; ¤òÁª¤Ó <keycap>Enter</keycap> ¤ò²¡¤·¤ÆÀè¤Ë¿Ê¤à¤È¡¢
+ &gui.yes; ¤òÁª¤Ó <keycap>Enter</keycap> ¤ò²¡¤·¤ÆÀè¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£
°Ê²¼¤Î²èÌ̤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<figure id="anon-ftp2">
<title>Anonymous FTP ¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/ftp-anon1"/>
</imageobject>
</mediaobject>
</figure>
<para><keycap>Tab</keycap> ¤ò»È¤Ã¤Æ¹àÌܤòÁª¤Ó¡¢
ŬÀڤʾðÊó¤ÇËä¤á¤Æ¤¯¤À¤µ¤¤¡£</para>
<variablelist>
<varlistentry>
<term>UID</term>
<listitem>
<para>anonymous FTP ¥æ¡¼¥¶¤ËÂФ·¤Æ³ä¤êÅö¤Æ¤é¤ì¤ë¥æ¡¼¥¶ ID¡£
¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤Ï¤³¤Î ID ¤È¤Ê¤ê¤Þ¤¹¡£</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Group</term>
<listitem>
<para>anonymous FTP ¥æ¡¼¥¶¤¬½ê°¤¹¤ë¥°¥ë¡¼¥×</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Comment</term>
<listitem>
<para><filename>/etc/passwd</filename>
Æâ¤Î¥æ¡¼¥¶¾ðÊó¤òɽ¤¹Ê¸»úÎó</para>
</listitem>
</varlistentry>
<varlistentry>
<term>FTP Root Directory</term>
<listitem>
<para>anonymous FTP ¤ÇÍøÍѲÄǽ¤Ê¥Õ¥¡¥¤¥ë¤ÎÃÖ¤­¾ì</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Upload Subdirectory</term>
<listitem>
<para>anonymous FTP ¥æ¡¼¥¶¤Ë¤è¤ê¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤ë¾ì½ê</para>
</listitem>
</varlistentry>
</variablelist>
- <para>¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢FTP ¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ï
- <filename>/var</filename> ¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
+ <para>¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢FTP ¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ï <filename
+ class="directory">/var</filename>
+ ¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
FTP ¤¬É¬ÍפȤ¹¤ë½½Ê¬¤ÊÍÆÎ̤¬ÍѰդµ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
- <filename>/usr</filename> ¥Ç¥£¥ì¥¯¥È¥ê¤ò»È¤Ã¤Æ¡¢
- FTP ¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò <filename>/usr/ftp</filename>
- ¤ÈÀßÄê¤Ç¤­¤Þ¤¹¡£</para>
+ ¤«¤ï¤ê¤Ë FTP ¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò
+ <filename class="directory">/usr/ftp</filename>
+ ¤ÈÀßÄꤷ¡¢
+ <filename class="directory">/usr</filename> ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>½½Ê¬¤ÊÀßÄ꤬¤Ç¤­¤¿¤é¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤ÆÀè¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£</para>
<screen> User Confirmation Requested
Create a welcome message file for anonymous FTP users?
[ Yes ] No</screen>
- <para>&gui.yes; ¤òÁªÂò¤·
+ <para>&gui.yes; ¤òÁªÂò¤·¤¿¾ì¹ç¤Ë¤Ï¡¢
<keycap>Enter</keycap> ¤ò²¡¤¹¤È¡¢
¥á¥Ã¥»¡¼¥¸ÊÔ½¸ÍѤΥ¨¥Ç¥£¥¿¤¬¼«Æ°Åª¤Ëµ¯Æ°¤·¤Þ¤¹¡£</para>
<figure id="anon-ftp4">
<title>FTP Welcome ¥á¥Ã¥»¡¼¥¸¤ÎÊÔ½¸</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/ftp-anon2"/>
</imageobject>
</mediaobject>
</figure>
- <para>¤³¤ì¤Ï <command>ee</command> ¤È¸Æ¤Ð¤ì¤ë¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤Ç¤¹¡£
- ¤³¤Î¥¨¥Ç¥£¥¿¤Ç¥á¥Ã¥»¡¼¥¸¤òÊѹ¹¤¹¤ë¤«¡¢¤Þ¤¿¤Ï¡¢
- ¸å¤Ç´õ˾¤¹¤ë¥¨¥Ç¥£¥¿¤ò»È¤Ã¤Æ¥á¥Ã¥»¡¼¥¸¤òÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
+ <para>Áàºî¤ÎÀâÌÀ¤Ë½¾¤Ã¤Æ¥á¥Ã¥»¡¼¥¸¤òÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¨¥Ç¥£¥¿¤Î²èÌ̤β¼¤Ëɽ¼¨¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¡¢¾ì½ê¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para><keycap>Esc</keycap> ¤ò²¡¤¹¤È¡¢¥Ý¥Ã¥×¥¢¥Ã¥×¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Ï <guimenuitem>a) leave editor</guimenuitem> ¤Ç¤¹¡£
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ½ªÎ»¤·¡¢Àè¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£
Êѹ¹¤ò¹Ô¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¤â¤¦°ìÅÙ <keycap>Enter</keycap>
¤ò²¡¤·¤Æ¡¢Êѹ¹ÅÀ¤òÊݸ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect3>
</sect2>
<sect2 id="nfsconf">
<title>¥Í¥Ã¥È¥ï¡¼¥¯¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÀßÄê</title>
- <para>¥Í¥Ã¥È¥ï¡¼¥¯¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à (NFS) ¤òÍѤ¤¤ë¤È¡¢
+ <para>¥Í¥Ã¥È¥ï¡¼¥¯¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à (<acronym>NFS</acronym>) ¤òÍѤ¤¤ë¤È¡¢
¥Í¥Ã¥È¥ï¡¼¥¯¤ò²ð¤·¤Æ¥Õ¥¡¥¤¥ë¤Î¶¦Í­¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¥³¥ó¥Ô¥å¡¼¥¿¤ò¥µ¡¼¥Ð¡¢¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤ÏξÊý¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£
¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï <xref linkend="network-nfs"/>
¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<sect3 id="nsf-server-options">
<title>NFS ¥µ¡¼¥Ð</title>
<screen> User Confirmation Requested
Do you want to configure this machine as an NFS server?
Yes [ No ]</screen>
- <para>¥Í¥Ã¥È¥ï¡¼¥¯¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥µ¡¼¥Ð¤Îµ¡Ç½¤òɬÍפȤ·¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
+ <para><acronym>NFS</acronym> ¤Îµ¡Ç½¤òɬÍפȤ·¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
&gui.no; ¤òÁªÂò¤·
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>&gui.yes; ¤òÁª¤ó¤À¾ì¹ç¤Ë¤Ï¡¢
- <filename>exports</filename>
- ¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤ò¼¨¤¹¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
+ <filename>/etc/exports</filename>
+ ¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤ò¼¨¤¹¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<screen> 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 ]</screen>
<para><keycap>Enter</keycap> ¤ò²¡¤·¤ÆÀè¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£
- <filename>exports</filename> ¥Õ¥¡¥¤¥ë¤ÎºîÀ®¡¢
- ÊÔ½¸¤¹¤ë¤¿¤á¤Ë¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤¬Î©¤Á¾å¤¬¤ê¤Þ¤¹¡£</para>
+ <filename>/etc/exports</filename>
+ ¤òÊÔ½¸¤¹¤ë¤¿¤á¤Ë¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤¬Î©¤Á¾å¤¬¤ê¤Þ¤¹¡£</para>
<figure id="nfs-server-edit">
<title><filename>exports</filename> ¥Õ¥¡¥¤¥ë¤ÎÊÔ½¸</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/nfs-server-edit"/>
</imageobject>
</mediaobject>
</figure>
- <para>¤³¤³¤Ç¡¢¼ÂºÝ¶¦Í­¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÄɲ乤뤫¡¢
- ¸å¤Ç´õ˾¤¹¤ë¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤ò»È¤Ã¤ÆÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
- ¥¨¥Ç¥£¥¿¤Î¥¹¥¯¥ê¡¼¥ó¤Î²¼¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë̾¡¢
- °ÌÃ֤ξðÊó¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ <para>ÀâÌÀ¤Ë½¾¤¤¡¢¶¦Í­¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
+ ¥¨¥Ç¥£¥¿¤Î¥¹¥¯¥ê¡¼¥ó¤Î²¼¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë̾¤Î¾ì½ê¤Î¾ðÊó¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para><keycap>Esc</keycap> ¤ò²¡¤¹¤È¥Ý¥Ã¥×¥¢¥Ã¥×¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Ï <guimenuitem>a) leave editor</guimenuitem> ¤Ç¤¹¡£
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ½ªÎ»¤·¡¢Àè¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£</para>
</sect3>
<sect3 id="nfs-client-options">
- <title>NFS ¥¯¥é¥¤¥¢¥ó¥È</title>
+ <title><acronym>NFS</acronym> ¥¯¥é¥¤¥¢¥ó¥È</title>
- <para>ÍøÍѤ·¤Æ¤¤¤ë¥³¥ó¥Ô¥å¡¼¥¿¤¬ NFS ¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ
- NFS ¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
+ <para>ÍøÍѤ·¤Æ¤¤¤ë¥³¥ó¥Ô¥å¡¼¥¿¤¬ <acronym>NFS</acronym>
+ ¥¯¥é¥¤¥¢¥ó¥È¤Ë¤è¤Ã¤Æ
+ <acronym>NFS</acronym> ¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
<screen> User Confirmation Requested
Do you want to configure this machine as an NFS client?
Yes [ No ]</screen>
<para>Ìð°õ¥­¡¼¤ò»È¤Ã¤Æ¡¢Å¬ÀÚ¤Ë &gui.yes; ¤Þ¤¿¤Ï
&gui.no; ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect3>
</sect2>
<sect2 id="console">
<title>¥·¥¹¥Æ¥à¥³¥ó¥½¡¼¥ë¤ÎÀßÄê</title>
<para>¥·¥¹¥Æ¥à¥³¥ó¥½¡¼¥ë¤ò¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£</para>
<screen> User Confirmation Requested
Would you like to customize your system console settings?
[ Yes ] No</screen>
<para>&gui.yes; ¤òÁªÂò¤·¡¢<keycap>Enter</keycap>
¤ò²¡¤·¤Æ¥ª¥×¥·¥ç¥ó¤Î³Îǧ¤ª¤è¤ÓÀßÄê¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="saver-options">
<title>¥·¥¹¥Æ¥à¥³¥ó¥½¡¼¥ëÀßÄꥪ¥×¥·¥ç¥ó</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/console-saver1"/>
</imageobject>
</mediaobject>
</figure>
<para>Îɤ¯»È¤ï¤ì¤ë¥ª¥×¥·¥ç¥ó¤Ï¥¹¥¯¥ê¡¼¥ó¥»¡¼¥Ð¤Ç¤¹¡£
Ìð°õ¥­¡¼¤ò»È¤Ã¤Æ <guimenuitem>Saver</guimenuitem> ¤òÁªÂò¤·¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="saver-select">
<title>¥¹¥¯¥ê¡¼¥ó¥»¡¼¥Ð¥ª¥×¥·¥ç¥ó</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/console-saver2"/>
</imageobject>
</mediaobject>
</figure>
<para>Ìð°õ¥­¡¼¤ò»È¤Ã¤Æ¡¢¤ªË¾¤ß¤Î¥¹¥¯¥ê¡¼¥ó¥»¡¼¥Ð¤òÁªÂò¤·¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¥·¥¹¥Æ¥à¥³¥ó¥½¡¼¥ë¤ÎÀßÄê¥á¥Ë¥å¡¼¤¬ºÆ¤Óɽ¼¨¤µ¤ì¤Þ¤¹¡£</para>
<para>¥Ç¥Õ¥©¥ë¥È¤Î»þ´Ö¤Î´Ö³Ö¤Ï 300 ÉäǤ¹¡£
»þ´Ö¤Î´Ö³Ö¤òÊѹ¹¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢
¤â¤¦°ìÅÙ <guimenuitem>Saver</guimenuitem> ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¹¥¯¥ê¡¼¥ó¥»¡¼¥Ð¤Î¥ª¥×¥·¥ç¥ó¥á¥Ë¥å¡¼¤Ë¤Æ¡¢
Ìð°õ¥­¡¼¤Ç <guimenuitem>Timeout</guimenuitem> ¤òÁªÂò¤·¤Æ
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Ý¥Ã¥×¥¢¥Ã¥×¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<figure id="saver-timeout">
<title>¥¹¥¯¥ê¡¼¥ó¥»¡¼¥Ð¤Î¥¿¥¤¥à¥¢¥¦¥È</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/console-saver3"/>
</imageobject>
</mediaobject>
</figure>
<para>ÃͤòÊѹ¹¤·¤¿¤é &gui.ok; ¤òÁªÂò¤·¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¡¢
¥·¥¹¥Æ¥à¥³¥ó¥½¡¼¥ë¤ÎÀßÄê¥á¥Ë¥å¡¼¤ËÌá¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="saver-exit">
<title>¥·¥¹¥Æ¥à¥³¥ó¥½¡¼¥ë¤ÎÀßÄê¤Î½ªÎ»</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/console-saver4"/>
</imageobject>
</mediaobject>
</figure>
<para><guimenuitem>Exit</guimenuitem> ¤òÁªÂò¤·¡¢<keycap>Enter</keycap>
¤ò²¡¤·¤Æ¡¢¥¤¥ó¥¹¥È¡¼¥ë¸å¤ÎÀßÄê¤ò³¤±¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="timezone">
<title>¥¿¥¤¥à¥¾¡¼¥ó¤ÎÀßÄê</title>
<para>»ÈÍѤ·¤Æ¤¤¤ë¥³¥ó¥Ô¥å¡¼¥¿¤Î¥¿¥¤¥à¥¾¡¼¥ó¤òÀßÄꤹ¤ë¤³¤È¤Ç¡¢
Ãϰè¤Ë¤è¤ë»þ¹ï¤Î°ã¤¤¤¬¼«Æ°Åª¤ËÄ´À°¤µ¤ì¡¢
¥¿¥¤¥à¥¾¡¼¥ó¤Ë´ØÏ¢¤·¤¿µ¡Ç½¤¬Å¬Àڤ˼è¤ê°·¤ï¤ì¤Þ¤¹¡£</para>
<para>¤³¤³¤Ç¤ÎÎã¤Ç¤Ï¡¢¥³¥ó¥Ô¥å¡¼¥¿¤¬ United States ¤Î
- Eastern ¥¿¥¤¥à¥¾¡¼¥ó¤Ë¤¢¤ë¤â¤Î¤È¤·¤Þ¤¹¡£
+ Eastern ¥¿¥¤¥à¥¾¡¼¥ó¤Ë¤¢¤ë¤È¤·¤Æ¤¤¤Þ¤¹¡£
¼ÂºÝ¤ÎÃÏÍýŪ°ÌÃÖ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen> User Confirmation Requested
Would you like to set this machine's time zone now?
[ Yes ] No</screen>
<para>&gui.yes; ¤òÁªÂò¤·
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¡¢¥¿¥¤¥à¥¾¡¼¥ó¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen> User Confirmation Requested
Is this machine's CMOS clock set to UTC? If it is set to local time
or you don't know, please choose NO here!
Yes [ No ]</screen>
<para>¥³¥ó¥Ô¥å¡¼¥¿¤Î¥¯¥í¥Ã¥¯¤¬¤É¤Î¤è¤¦¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¤«¤Ë½¾¤Ã¤Æ¡¢
&gui.yes; ¤Þ¤¿¤Ï &gui.no;
¤òÁªÂò¤·¡¢<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="set-timezone-region">
<title>Ãϰè¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/timezone1"/>
</imageobject>
</mediaobject>
</figure>
<para>Ìð°õ¥­¡¼¤ò»È¤Ã¤Æ¡¢Å¬ÀÚ¤ÊÃϰè¤òÁªÂò¤·¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="set-timezone-country">
<title>¹ñ̾¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/timezone2"/>
</imageobject>
</mediaobject>
</figure>
<para>Ìð°õ¥­¡¼¤ò»È¤Ã¤Æ¡¢Å¬Àڤ˹ñ̾¤òÁª¤Ó¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="set-timezone-locality">
<title>¥¿¥¤¥à¥¾¡¼¥ó¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/timezone3"/>
</imageobject>
</mediaobject>
</figure>
<para>Ìð°õ¥­¡¼¤ò»È¤Ã¤ÆÅ¬Àڤʥ¿¥¤¥à¥¾¡¼¥ó¤òÁªÂò¤·¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen> Confirmation
Does the abbreviation 'EDT' look reasonable?
[ Yes ] No</screen>
<para>¥¿¥¤¥à¥¾¡¼¥ó¤Îû½Ì·Á¤¬Å¬ÀÚ¤«¤É¤¦¤«¤ò³Îǧ¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£
ÌäÂê¤Ê¤±¤ì¤Ð <keycap>Enter</keycap> ¤ò²¡¤·¤Æ¡¢¥¤¥ó¥¹¥È¡¼¥ë¸å¤ÎÀßÄê¤ò³¤±¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="mouse">
<title>¥Þ¥¦¥¹¤ÎÀßÄê</title>
<para>¤³¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤³¤È¤Ç¡¢
¥³¥ó¥½¡¼¥ë¤ä¥æ¡¼¥¶¥×¥í¥°¥é¥à¤Ë¤ª¤¤¤Æ
3-¥Ü¥¿¥ó¥Þ¥¦¥¹¤Ë¤è¤ë¥Æ¥­¥¹¥È¤Î¥«¥Ã¥È¥¢¥ó¥É¥Ú¡¼¥¹¥È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
- 2-¥Ü¥¿¥ó¥Þ¥¦¥¹¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤ò¤·¤¿¸å¤Ë
- 3-¥Ü¥¿¥ó¤Î¥¨¥ß¥å¥ì¡¼¥È¤Ë¤Ä¤¤¤Æ &man.moused.8;
- ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¤³¤³¤Ç¤Ï¡¢Èó USB ¥Þ¥¦¥¹ (PS/2 ¤Þ¤¿¤Ï COM ¥Ý¡¼¥È¥Þ¥¦¥¹)
- ¤ÎÀßÄê¤òÎã¤ËÀâÌÀ¤·¤Þ¤¹¡£</para>
+ 2-¥Ü¥¿¥ó¥Þ¥¦¥¹¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
+ 3-¥Ü¥¿¥ó¤Î¥¨¥ß¥å¥ì¡¼¥È¤Ë¤Ä¤¤¤Æ &man.moused.8; ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+ ¤³¤³¤Ç¤Ï¡¢Èó USB ¥Þ¥¦¥¹¤ÎÀßÄê¤òÎã¤ËÀâÌÀ¤·¤Þ¤¹¡£</para>
<screen> User Confirmation Requested
Does this system have a PS/2, serial, or bus mouse?
[ Yes ] No </screen>
<para>PS/2¡¢¥·¥ê¥¢¥ë¤Þ¤¿¤Ï¥Ð¥¹¥Þ¥¦¥¹¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï
&gui.yes; ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
USB ¥Þ¥¦¥¹¤òÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢&gui.no; ¤òÁªÂò¤·
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="mouse-protocol">
<title>¥Þ¥¦¥¹¥×¥í¥È¥³¥ë¤Î¥¿¥¤¥×¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mouse1"/>
</imageobject>
</mediaobject>
</figure>
<para>Ìð°õ¥­¡¼¤Ç <guimenuitem>Type</guimenuitem> ¤òÁªÂò¤·¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="set-mouse-protocol">
<title>¥Þ¥¦¥¹¥×¥í¥È¥³¥ë¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mouse2"/>
</imageobject>
</mediaobject>
</figure>
<para>¤³¤ÎÎã¤Ç¤Ï PS/2 ¥Þ¥¦¥¹¤ò»È¤¦¤Î¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î
<guimenuitem>Auto</guimenuitem> ¤¬Å¬ÀڤǤ¹¡£
- ¥×¥í¥È¥³¥ë¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢Ìð°õ¥­¡¼¤ò»È¤Ã¤ÆÂ¾¤Î¥×¥í¥È¥³¥ë¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
+ ¥Þ¥¦¥¹¤Î¥×¥í¥È¥³¥ë¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢
+ Ìð°õ¥­¡¼¤ò»È¤Ã¤ÆÂ¾¤Î¥×¥í¥È¥³¥ë¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
&gui.ok; ¤¬¥Ï¥¤¥é¥¤¥È¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤³¤Î¥á¥Ë¥å¡¼¤ò½ªÎ»¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="config-mouse-port">
<title>¥Þ¥¦¥¹¥Ý¡¼¥È¤ÎÀßÄê</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mouse3"/>
</imageobject>
</mediaobject>
</figure>
<para>Ìð°õ¥­¡¼¤Ç <guimenuitem>Port</guimenuitem> ¤òÁªÂò¤·¤Æ
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="set-mouse-port">
<title>¥Þ¥¦¥¹¥Ý¡¼¥È ¤ÎÀßÄê</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mouse4"/>
</imageobject>
</mediaobject>
</figure>
<para>¤³¤Î¥·¥¹¥Æ¥à¤Ç¤Ï PS/2 ¥Þ¥¦¥¹¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î
<guimenuitem>PS/2</guimenuitem> ¤¬Å¬ÀڤǤ¹¡£
¥Ý¡¼¥È¤òÊѹ¹¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢Ìð°õ¥­¡¼¤ÇÁªÂò¤·¤Æ
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="test-daemon">
<title>¥Þ¥¦¥¹¥Ç¡¼¥â¥ó¤òÍ­¸ú¤Ë¤¹¤ë¡£</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mouse5"/>
</imageobject>
</mediaobject>
</figure>
<para>ºÇ¸å¤Ë¡¢Ìð°õ¥­¡¼¤Ç <guimenuitem>Enable</guimenuitem> ¤òÁªÂò¤·¤Æ
<keycap>Enter</keycap> ¤ò²¡¤·¡¢¥Þ¥¦¥¹¥Ç¡¼¥â¥ó¤òÍ­¸ú¤Ë¤·¤Æ¡¢
¥Æ¥¹¥È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="test-mouse-daemon">
<title>¥Þ¥¦¥¹¥Ç¡¼¥â¥ó¤Î¥Æ¥¹¥È</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mouse6"/>
</imageobject>
</mediaobject>
</figure>
<para>¥¹¥¯¥ê¡¼¥ó¾å¤Ç¥Þ¥¦¥¹¤òư¤«¤·¡¢
¥«¡¼¥½¥ë¤¬Àµ¤·¤¯È¿±þ¤¹¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
³Îǧ¤¬¤Ç¤­¤¿¤é¡¢ &gui.yes; ¤òÁªÂò¤·¤Æ
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¤â¤·¡¢¤¦¤Þ¤¯Æ°¤«¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢¥Þ¥¦¥¹¤ÎÀßÄ꤬ŬÀڤ˹Ԥï¤ì¤Æ¤¤¤Þ¤»¤ó¡£
&mdash; &gui.no; ¤òÁªÂò¤·¤Æ¡¢
¾¤ÎÀßÄꥪ¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ»î¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>Ìð°õ¥­¡¼¤Ç <guimenuitem>Exit</guimenuitem> ¤òÁªÂò¤·¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¸å¤ÎÀßÄê¤ò³¤±¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="packages">
<title>Packages ¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
<para>packages ¤Ï¥³¥ó¥Ñ¥¤¥ëºÑ¤ß¤Î¥Ð¥¤¥Ê¥ê¤Ç¡¢
¥½¥Õ¥È¥¦¥§¥¢¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤ËÊØÍø¤ÊÊýË¡¤Ç¤¹¡£</para>
<para>ÀâÌÀ¤Ç¤Ï¡¢Îã¤È¤·¤Æ¤Ò¤È¤Ä¤Î package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¤¬¡¢
- ¤ªË¾¤ß¤Ç¤¢¤ì¤Ð¡¢¤³¤³¤ÇÊ£¿ô¤Î package ¤òÄɲ䷤ƥ¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
- ¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ï¡¢<command>sysinstall</command> ¤ò»È¤Ã¤Æ
+ ¤ªË¾¤ß¤Ç¤¢¤ì¤Ð¡¢¤³¤³¤ÇÊ£¿ô¤Î package ¤òÄɲ乤뤳¤È¤â¤Ç¤­¤Þ¤¹¡£
+ ¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ï¡¢&man.sysinstall.8; ¤ò»È¤Ã¤Æ
package ¤òÄɲäǤ­¤Þ¤¹¡£</para>
<screen> 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</screen>
<para>&gui.yes; ¤òÁªÂò¤·¤Æ¡¢
- <keycap>Enter</keycap> ¤ò²¡¤¹¤È¡¢
+ <keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
Package ¤òÁªÂò¤¹¤ë²èÌ̤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<figure id="package-category">
<title>Package ¥«¥Æ¥´¥ê¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/pkg-cat"/>
</imageobject>
</mediaobject>
</figure>
<para>¸½ºß¤Î¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤Ë¸ºß¤¹¤ë packages ¤Î¤ß¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<para><guimenuitem>All</guimenuitem> ¤òÁª¤Ö¤È¡¢
ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î package ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
- ¤â¤·¤¯¤Ï¡¢ÆÃÄê¤Î¥«¥Æ¥´¥ê¤òÁªÂò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
+ ¤â¤·¤¯¤Ï¡¢ÆÃÄê¤Î¥«¥Æ¥´¥ê¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
Ìð°õ¥­¡¼¤ÇÁªÂò¤·¤¿¤¤¥«¥Æ¥´¥ê¤ò¥Ï¥¤¥é¥¤¥È¤·¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤</para>
<para>ÁªÂò¤·¤¿¥«¥Æ¥´¥ê¤ÇÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î
package ¤Î¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<figure id="package-select">
<title>Packages ¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/pkg-sel"/>
</imageobject>
</mediaobject>
</figure>
<para>¤³¤³¤Ç¤Ï¡¢<application>bash</application> ¥·¥§¥ë¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
- ´õ˾¤¹¤ë¿ô¤À¤± package ¤òÁªÂò¤· (¥Ï¥¤¥é¥¤¥È¤Çɽ¼¨¤µ¤ì¤Þ¤¹)¡¢
- <keycap>Space</keycap> ¥­¡¼¤ò²¡¤·¤ÆÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
+ ´õ˾¤¹¤ë¿ô¤À¤± package ¤òÁªÂò¤·¤Æ¥Ï¥¤¥é¥¤¥Èɽ¼¨¤Ë¤·¡¢
+ <keycap>Space</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ì¤¾¤ì¤Î package ¤Î´Êñ¤ÊÀâÌÀ¤¬¥¹¥¯¥ê¡¼¥ó²¼¤Îº¸Ã¼¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£</para>
<para><keycap>Tab</keycap> ¥­¡¼¤ò²¡¤¹¤È¡¢ºÇ¸å¤ËÁªÂò¤·¤¿ package
¤È &gui.ok;, &gui.cancel; ¤ÇÁªÂò¤¬ÀÚ¤êÂØ¤ï¤ê¤Þ¤¹¡£</para>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë package ¤ÎÁªÂò¤¬½ª¤ï¤Ã¤¿¤é¡¢
<keycap>Tab</keycap> ¤ò°ìÅÙ²¡¤·¤Æ &gui.ok; ¤ËÀÚ¤êÂØ¤¨¡¢
¤½¤Î¸å <keycap>Enter</keycap> ¤ò²¡¤·¤Æ
Package ÁªÂò¥á¥Ë¥å¡¼¤ËÌá¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>º¸±¦¤ÎÌð°õ¥­¡¼¤Ç¤â¡¢&gui.ok; ¤È &gui.cancel;
ÀÚ¤êÂØ¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤³¤ÎÊýË¡¤Ç &gui.ok; ¤òÁªÂò¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢
¤½¤Î¸å¡¢<keycap>Enter</keycap> ¤ò²¡¤·¤Æ
Package ÁªÂò¥á¥Ë¥å¡¼¤ËÌá¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="package-install">
<title>Packages ¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/pkg-install"/>
</imageobject>
</mediaobject>
</figure>
<para><keycap>Tab</keycap> ¤ÈÌð°õ¥­¡¼¤Ç <guibutton>[&nbsp;Install&nbsp;]</guibutton>
- ¤òÁªÂò¤·¡¢<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¤½¤Î¸å¡¢¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë package ¤Î³Îǧ¤ò¹Ô¤¤¤Þ¤¹¡£</para>
+ ¤òÁªÂò¤·¡¢<keycap>Enter</keycap> ¤ò²¡¤¹¤È¡¢
+ ¥¤¥ó¥¹¥È¡¼¥ë¤ò³Îǧ¤¹¤ë¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<figure id="package-install-confirm">
<title>Package ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Î³Îǧ</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/pkg-confirm"/>
</imageobject>
</mediaobject>
</figure>
<para>&gui.ok; ¤òÁªÂò¤·¡¢<keycap>Enter</keycap> ¤ò²¡¤¹¤È
package ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤¬»Ï¤Þ¤ê¤Þ¤¹¡£
- ¥¤¥ó¥¹¥È¡¼¥ëÃæ¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢
+ ¥¤¥ó¥¹¥È¡¼¥ë¤¬½ª¤ï¤ë¤Þ¤Ç¡¢¥¤¥ó¥¹¥È¡¼¥ë¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Ê¤¤¤«¤É¤¦¤«Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>packages ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤é¡¢ºÇ¸å¤ÎÀßÄê¤Ë¿Ê¤ß¤Þ¤¹¡£
- package ¤òÁªÂò¤»¤º¡¢ºÇ¸å¤ÎÀßÄê¤ËÌá¤ê¤¿¤¤¾ì¹ç¤â
- <guibutton>Install</guibutton> ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ package ¤òÁªÂò¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤â¡¢
+ <guibutton>Install</guibutton> ¤òÁªÂò¤·¤Æ¡¢
+ ºÇ¸å¤ÎÀßÄê¤ËÌá¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="addusers">
<title>¥æ¡¼¥¶/¥°¥ë¡¼¥×¤ÎÄɲÃ</title>
- <para>¥·¥¹¥Æ¥à¤Ë <username>root</username> ¤Ç¥í¥°¥¤¥ó¤¹¤ë¤³¤È¤òÈò¤±¤ë¤¿¤á¡¢
- ¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¤Ï¡¢¾¯¤Ê¤¯¤È¤â°ì¿Í¤Î¥æ¡¼¥¶¤òÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+ <para>¥·¥¹¥Æ¥à¤Ë <username>root</username> °Ê³°¤Ç¥í¥°¥¤¥ó¤Ç¤­¤ë¤è¤¦¡¢
+ ¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¤Ï¡¢¾¯¤Ê¤¯¤È¤â°ì¿Í¤Î¥æ¡¼¥¶¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
Ä̾ï root ¥Ñ¡¼¥Æ¥£¥Ã¥·¥ç¥ó¤ÎÍÆÎ̤Ͼ®¤µ¤¤¤Î¤Ç¡¢
<username>root</username> ¸¢¸Â¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤È¡¢
¤¹¤°¤Ë¾ÃÈñ¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£</para>
<screen> 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</screen>
<para>&gui.yes; ¤òÁªÂò¤·¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¡¢¥æ¡¼¥¶¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£</para>
<figure id="add-user2">
<title>User ¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/adduser1"/>
</imageobject>
</mediaobject>
</figure>
<para>Ìð°õ¥­¡¼¤Ç <guimenuitem>User</guimenuitem> ¤òÁªÂò¤·¤Æ¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="add-user3">
<title>¥æ¡¼¥¶¾ðÊó¤ÎÆþÎÏ</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/adduser2"/>
</imageobject>
</mediaobject>
</figure>
<para><keycap>Tab</keycap> ¤Ç¹àÌܤòÁªÂò¤¹¤ë¤È¡¢
ɬÍפȤµ¤ì¤ë¾ðÊó¤ÎÆþÎϤò½õ¤±¤ë¤¿¤á¡¢
¥¹¥¯¥ê¡¼¥ó¤Î²¼¤Ë°Ê²¼¤ÎÀâÌÀ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<variablelist>
<varlistentry>
<term>Login ID</term>
<listitem>
<para>¿·¤·¤¤¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥Í¡¼¥à (ɬ¿Ü)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>UID</term>
<listitem>
<para>¿·¤·¤¤¥æ¡¼¥¶¤Î ID ÈÖ¹æ
(¶õÍó¤Î¤Þ¤Þ¤Ë¤¹¤ë¤È¡¢¼«Æ°Åª¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Group</term>
<listitem>
- <para>¿·¤·¤¤¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥°¥ë¡¼¥×
- (¶õÍó¤Î¤Þ¤Þ¤Ë¤¹¤ë¤È¡¢¼«Æ°Åª¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹)</para>
+ <para>¿·¤·¤¤¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥°¥ë¡¼¥×</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Password</term>
<listitem>
<para>¤³¤Î¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥É
(¤³¤Î¥Õ¥£¡¼¥ë¥É¤ÏÃí°Õ¤·¤ÆÆþÎϤ·¤Æ¤¯¤À¤µ¤¤!)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Full name</term>
<listitem>
<para>¥æ¡¼¥¶¤Î¥Õ¥ë¥Í¡¼¥à (¥³¥á¥ó¥È)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Member groups</term>
<listitem>
<para>¤³¤Î¥æ¡¼¥¶¤Î½ê°¤¹¤ë¥°¥ë¡¼¥×¤Ë¤Ä¤¤¤Æ
(¤¹¤Ê¤ï¤Á¡¢¤É¤Î¤è¤¦¤Ê¥¢¥¯¥»¥¹¸¢¤ò»ý¤Ä¤«)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Home directory</term>
<listitem>
<para>¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê
(¶õÍó¤Ë¤¹¤ë¤È¥Ç¥Õ¥©¥ë¥È¤ÇÀßÄꤵ¤ì¤Þ¤¹)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Login shell</term>
<listitem>
<para>¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥·¥§¥ë
- (¶õÍó¤Ë¤¹¤ë¤È¥Ç¥Õ¥©¥ë¥È (Îã <filename>/bin/sh</filename>)
- ¤ËÀßÄꤵ¤ì¤Þ¤¹¡£)</para>
+ (¶õÍó¤Ë¤¹¤ë¤È¥Ç¥Õ¥©¥ë¥È¤Î <filename>/bin/sh</filename>
+ ¤ËÀßÄꤵ¤ì¤Þ¤¹)¡£</para>
</listitem>
</varlistentry>
</variablelist>
- <para>¥í¥°¥¤¥ó¥·¥§¥ë¤Ï
+ <para>¤³¤ÎÎã¤Ç¤Ï¡¢¥í¥°¥¤¥ó¥·¥§¥ë¤Ï
<filename>/bin/sh</filename> ¤«¤é¡¢
Àè¤Û¤É package ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿ <application>bash</application>
- ¥·¥§¥ë¤ò»È¤¦¤è¤¦¡¢<filename>/usr/local/bin/bash</filename>
+ ¤ò»È¤¦¤è¤¦¡¢<filename>/usr/local/bin/bash</filename>
¤ËÊѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
- ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¥·¥§¥ë¤òÁª¤Ö¤È¡¢¥í¥°¥¤¥ó¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢
+ ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¥·¥§¥ë¤òÁª¤Ö¤È¡¢
+ ¥æ¡¼¥¶¤Ï¥í¥°¥¤¥ó¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¥·¥§¥ë¤ÏÁª¤Ð¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
- BSD ¤ÎÀ¤³¦¤Ç¤Ï¡¢ºÇ¤âɸ½àŪ¤Ê¥·¥§¥ë¤Ï C ¥·¥§¥ë¤Ç¤¹¡£
+ &os; ¤ÇºÇ¤âɸ½àŪ¤Ê¥·¥§¥ë¤Ï C ¥·¥§¥ë¤Ç¤¹¡£
<filename>/bin/tcsh</filename> ¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£</para>
<para>¥æ¡¼¥¶¤Ï¡¢<groupname>root</groupname>
¸¢¸Â¤ò»ý¤Ä¥¹¡¼¥Ñ¥æ¡¼¥¶¤Ë¤Ê¤ë¤³¤È¤¬¤Ç¤­¤ë
<groupname>wheel</groupname> ¥°¥ë¡¼¥×¤Ë¤âÄɲäµ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para>½½Ê¬¤Ëµ­½Ò¤·¤¿¤é¡¢&gui.ok; ¤ò²¡¤·¤Æ¡¢
User ¤ª¤è¤Ó Group ´ÉÍý¥á¥Ë¥å¡¼¤òºÆ¤Óɽ¼¨¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="add-user4">
<title>¥æ¡¼¥¶¤ª¤è¤Ó¥°¥ë¡¼¥×¤Î´ÉÍý¤ò½ªÎ»¤¹¤ë</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/adduser3"/>
</imageobject>
</mediaobject>
</figure>
- <para>ÆÃÊ̤ËɬÍפ¬¤¢¤ì¤Ð¡¢¤³¤Î»þ¤Ë¥°¥ë¡¼¥×¤òÄɲ乤뤳¤È¤â¤Ç¤­¤Þ¤¹¡£
- ¤Þ¤¿¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤¬½ª¤ï¤Ã¤Æ¤«¤é
- <filename>sysinstall</filename> ¤òÍøÍѤ·¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£
- </para>
+ <para>¤³¤³¤Ç¥°¥ë¡¼¥×¤òÄɲ乤뤳¤È¤â¤Ç¤­¤Þ¤¹¡£
+ ¤Þ¤¿¤Ï¡¢¸å¤Ç
+ &man.sysinstall.8; ¤òÍøÍѤ·¤Æ¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡£</para>
<para>¥æ¡¼¥¶¤òÄɲä·¤¿¤é¡¢Ìð°õ¥­¡¼¤Ç¡¢
<guimenuitem>Exit</guimenuitem> ¤òÁªÂò¤·¤Æ¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¡¢¼¡¤Î¥¤¥ó¥¹¥È¡¼¥ë¹àÌܤ˿ʤó¤Ç¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="rootpass">
<title><username>root</username> ¥Ñ¥¹¥ï¡¼¥É¤ÎÀßÄê</title>
<screen> Message
Now you must set the system manager's password.
This is the password you'll use to log in as "root".
[ OK ]
[ Press enter or space ]</screen>
<para><keycap>Enter</keycap> ¤ò²¡¤·¤Æ¡¢
<username>root</username> ¥Ñ¥¹¥ï¡¼¥É¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¥Ñ¥¹¥ï¡¼¥É¤Ï¡¢Àµ¤·¤¯ 2 ²óÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£
- ¸À¤¦¤Þ¤Ç¤â¤Ê¤¯¡¢¥Ñ¥¹¥ï¡¼¥É¤ò˺¤ì¤¿¤È¤­¤Î¤¿¤á¤Ë¡¢
- »×¤¤½Ð¤¹ÊýË¡¤òÍѰդ·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
+ ¥Ñ¥¹¥ï¡¼¥É¤Ï˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
¥Ñ¥¹¥ï¡¼¥É¤È¤·¤ÆÆþÎϤ·¤¿Ê¸»ú¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¤·¡¢
¥¢¥¹¥¿¥ê¥¹¥¯¤¬É½¼¨¤µ¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤»¤ó¡£</para>
<screen>New password:
Retype new password :</screen>
<para>¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤËÀ®¸ù¤·¤¿¤é¡¢¥¤¥ó¥¹¥È¡¼¥ë¤Ï¼¡¤Ë¿Ê¤ß¤Þ¤¹¡£</para>
</sect2>
<sect2 id="exit-inst">
<title>¥¤¥ó¥¹¥È¡¼¥ë¤Î½ªÎ»</title>
- <para>¤µ¤é¤Ë
- <link linkend="network-services">¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤ÎÀßÄê</link>
- ¤ä¾¤ÎÀßÄê¤ò¹Ô¤¦É¬Íפ¬¤¢¤ë¾ì¹ç¡¢
- ¤³¤Î»þÅÀ¤Ç¹Ô¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¤·¡¢¥¤¥ó¥¹¥È¡¼¥ë¤Î¸å¤«¤é
- <filename>sysinstall</filename> ¤òÍѤ¤¤ÆÀßÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£</para>
+ <para>°Ê²¼¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¡¢
+ ÀßÄ꤬½ª¤ï¤Ã¤¿¤«¤É¤¦¤«¤ò¿Ò¤Í¤é¤ì¤Þ¤¹¡£</para>
<screen> User Confirmation Requested
Visit the general configuration menu for a chance to set any last
options?
Yes [ No ]</screen>
<para>&gui.no; ¤òÁªÂò¤·¡¢
<keycap>Enter</keycap>
¤ò²¡¤¹¤³¤È¤Ç¥á¥¤¥ó¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ë¥å¡¼¤ËÌá¤ê¤Þ¤¹¡£</para>
<figure id="final-main">
<title>¥¤¥ó¥¹¥È¡¼¥ë¤Î½ªÎ»</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mainexit"/>
</imageobject>
</mediaobject>
</figure>
<para>Êý¸þ¥­¡¼¤Ç <guibutton>[X Exit Install]</guibutton>
¤òÁªÂò¤·¡¢<keycap>Enter</keycap>¤ò²¡¤·¤Þ¤¹¡£
- ¥¤¥ó¥¹¥È¡¼¥ë¤ò½ªÎ»¤·¤Æ¤â¤è¤¤¤«³Îǧ¤òµá¤á¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£</para>
+ ¥¤¥ó¥¹¥È¡¼¥é¤¬¥¤¥ó¥¹¥È¡¼¥ë¤ò½ªÎ»¤·¤Æ¤â¤è¤¤¤«³Îǧ¤òµá¤á¤Þ¤¹¡£</para>
<screen> User Confirmation Requested
Are you sure you wish to exit? The system will reboot.
[ Yes ] No</screen>
<para>&gui.yes; ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
CDROM ¥É¥é¥¤¥Ö¤«¤éµ¯Æ°¤·¤Æ¤¤¤ë¤Î¤Ê¤é¡¢
¥Ç¥£¥¹¥¯¤ò¼è¤ê½Ð¤¹¤³¤È¼¨¤¹°Ê²¼¤Î¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<screen> Message
Be sure to remove the media from the drive.
[ OK ]
[ Press enter or space ]</screen>
<para>¥Þ¥·¥ó¤¬ºÆµ¯Æ°¤·»Ï¤á¤ë¤È CDROM ¥É¥é¥¤¥Ö¤Ï¥í¥Ã¥¯¤µ¤ì¤ë¤Î¤Ç¡¢
- ¥É¥é¥¤¥Ö¤«¤é (ÁÇÁ᤯) ¥Ç¥£¥¹¥¯¤ò¼è¤ê½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£
+ ¥É¥é¥¤¥Ö¤«¤éÁÇÁ᤯¥Ç¥£¥¹¥¯¤ò¼è¤ê½Ð¤·¤Æ¤¯¤À¤µ¤¤¡£
&gui.ok; ¤ò²¡¤·¤ÆºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¥·¥¹¥Æ¥à¤ÏºÆµ¯Æ°¤¹¤ë¤Î¤Ç¡¢
ɽ¼¨¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¤¹¤Ù¤Æ¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢<xref linkend="freebsdboot"/> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="network-services">
<sect2info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
- <contrib>Contributed by </contrib>
+ <contrib>´ó¹Æ: </contrib>
</author>
</authorgroup>
</sect2info>
<title>¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤ÎÀßÄê</title>
<para>¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤ÎÀßÄê¤Ï¡¢¿·¤·¤¤¥æ¡¼¥¶¤Ë¤È¤Ã¤Æ¡¢
¤³¤ÎÎΰè¤Ë¤Ä¤¤¤Æ´ðËÜŪ¤ÊÃ챤ò»ý¤¿¤Ê¤¤¤Èµ¤¤¬±ó¤¯¤Ê¤ë¤è¤¦¤Êºî¶È¤È¤Ê¤ë¤Ç¤·¤ç¤¦¡£
- ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ò´Þ¤à¥Í¥Ã¥È¥ï¡¼¥¯¤Ï¡¢&os;
- ¤ò´Þ¤à¸½Âå¤Î¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤È¤Ã¤Æ½ÅÍפʤΤǡ¢&os;
- ¤Î¹­ÈϰϤˤ錄¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤ÎǽÎϤòÍý²ò¤¹¤ë¤³¤È¤Ï¤È¤Æ¤âÌò¤ËΩ¤Á¤Þ¤¹¡£
- ¥¤¥ó¥¹¥È¡¼¥ëÃæ¤Ë¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤ÎÀßÄê¤òÍý²ò¤¹¤ë¤È¡¢
- ¥æ¡¼¥¶¤¬ÍøÍѤǤ­¤ë¤µ¤Þ¤¶¤Þ¤Ê¥µ¡¼¥Ó¥¹¤òÍý²ò¤Ç¤­¤Þ¤¹¡£</para>
+ ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ò´Þ¤à¥Í¥Ã¥È¥ï¡¼¥¯¤Ï¡¢
+ ¸½Âå¤Î¤¹¤Ù¤Æ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤È¤Ã¤Æ½ÅÍפʤΤǡ¢&os;
+ ¤Î¹­ÈϰϤˤ錄¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤ÎǽÎϤòÍý²ò¤¹¤ë¤³¤È¤ÏÍ­±×¤Ç¤·¤ç¤¦¡£</para>
<para>¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤Ï¡¢
¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¤É¤³¤«¤é¤Ç¤â¥¢¥¯¥»¥¹¤òµö²Ä¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤¹¡£
- ¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤¬¡¢<quote>Í­³²</quote> ¤Ê¤³¤È¤ò¤·¤Ê¤¤¤è¤¦¤Ë¡¢
- ¤¢¤é¤æ¤ëÅØÎϤ¬¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
- »Äǰ¤Ê¤¬¤é¡¢¥×¥í¥°¥é¥Þ¤Ï´°¤Ú¤­¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢
- »þ´Ö¤¬·Ð²á¤¹¤ë¤È¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤Î¥Ð¥°¤¬¹¶·â¼Ô¤Ë¤è¤êȯ¸«¤µ¤ì¡¢
- °­»ö¤¬¹Ô¤ï¤ì¤ë¥±¡¼¥¹¤¬¤¢¤ê¤Þ¤¹¡£
+ »þ´Ö¤¬·Ð²á¤¹¤ë¤È¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤Î¥Ð¥°¤¬¹¶·â¼Ô¤Ë¤è¤êȯ¸«¤µ¤ì¤ë¤Î¤Ç¡¢
ɬÍפʥͥåȥ¥¯¥µ¡¼¥Ó¥¹¤Î¤ß¤òÍ­¸ú¤Ë¤¹¤ë¤³¤È¤Ï½ÅÍפǤ¹¡£
¤â¤·¡¢¤¢¤ë¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤¬É¬Íפ«¤É¤¦¤«µ¿¤ï¤·¤¤¾ì¹ç¤Ë¤Ï¡¢
- ¤¢¤Ê¤¿¤¬¤½¤ì¤òɬÍפǤ¢¤ë¤ÈÍý²ò¤Ç¤­¤ë¤Þ¤Ç¤Ï¡¢
- ¤½¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤òÍ­¸ú¤Ë¤·¤Ê¤¤¤³¤È¤¬ºÇÁ±¤Ç¤¹¡£
- ¸å¤Ç <application>sysinstall</application> ¤òºÆ¤Ó¼Â¹Ô¤¹¤ë¤«¡¢
+ ¤½¤ì¤¬É¬ÍפȤʤë¤Þ¤Ç¤Ï¡¢
+ ¤½¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤òÍ­¸ú¤Ë¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
+ ¸å¤Ç &man.sysinstall.8; ¤ò¼Â¹Ô¤¹¤ë¤«¡¢
<filename>/etc/rc.conf</filename>
- ¥Õ¥¡¥¤¥ë¤ÇÄ󶡤µ¤ì¤ëµ¡Ç½¤ò»È¤¦¤³¤È¤Ç¡¢
- ¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤ò¤¤¤Ä¤Ç¤âÍ­¸ú¤Ë¤Ç¤­¤Þ¤¹¡£</para>
+ ¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë¤³¤È¤Çµ¡Ç½¤òÍ­¸ú¤Ë¤Ç¤­¤Þ¤¹¡£</para>
<para><guimenu>Networking</guimenu> ¥ª¥×¥·¥ç¥ó¤òÁªÂò¤¹¤ë¤È¡¢
°Ê²¼¤Î¤è¤¦¤Ê¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<figure id="network-configuration">
<title>¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄê (¥á¥Ë¥å¡¼¤ÎÁ°È¾)</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/net-config-menu1"/>
</imageobject>
</mediaobject>
</figure>
- <para>ºÇ½é¤Î¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ë <guimenuitem>Interfaces</guimenuitem> ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
- ¤¹¤Ç¤Ë <xref linkend="inst-network-dev"/> ¤ÇÀâÌÀ¤·¤¿¤Î¤Ç¡¢
- ̵»ë¤·¤Æ¹½¤¤¤Þ¤»¤ó¡£</para>
+ <para>ºÇ½é¤Î¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ë
+ <guimenuitem>Interfaces</guimenuitem> ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+ <xref linkend="inst-network-dev"/> ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para><guimenuitem>AMD</guimenuitem> ¥ª¥×¥·¥ç¥ó¤òÁªÂò¤¹¤ë¤È
- <acronym>BSD</acronym>
- ¼«Æ°¥Þ¥¦¥ó¥È¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ËÂбþ¤·¤Þ¤¹¡£
+ &man.amd.8; ¤ËÂбþ¤·¤Þ¤¹¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Ä̾ï
- <acronym>NFS</acronym> ¥×¥í¥È¥³¥ë (°Ê²¼¤ò¤´Í÷¤¯¤À¤µ¤¤)
- ¤È¤È¤â¤Ë¡¢¥ê¥â¡¼¥È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¼«Æ°¥Þ¥¦¥ó¥È¤Î¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£
- ¤³¤³¤Ç¤ÏÆÃÊ̤ÊÀßÄê¤òɬÍפȤ·¤Þ¤»¤ó¡£</para>
+ <acronym>NFS</acronym> ¥×¥í¥È¥³¥ë¤È¤â¤Ë¡¢
+ ¥ê¥â¡¼¥È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¼«Æ°¥Þ¥¦¥ó¥È¤Î¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£</para>
- <para>¼¡¤Î¹Ô¤Ï <guimenuitem>AMD Flags</guimenuitem> ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
+ <para>¼¡¤Ï <guimenuitem>AMD Flags</guimenuitem> ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
ÁªÂò¤¹¤ë¤È <acronym>AMD</acronym>
¥Õ¥é¥°¤òÆþÎϤ¹¤ë¤¿¤á¤Î¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¥á¥Ë¥å¡¼¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥Ç¥Õ¥©¥ë¥È¤Î¥ª¥×¥·¥ç¥ó¤Î¥»¥Ã¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<screen>-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map</screen>
<para><option>-a</option>
- ¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥Þ¥¦¥ó¥È°ÌÃÖ¤ò»ØÄꤷ¤Þ¤¹¡£
+ ¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥Þ¥¦¥ó¥È°ÌÃÖ¤ò»ØÄꤷ¤Þ¤¹¡£
¤³¤³¤Ç¤Ï <filename>/.amd_mnt</filename> ¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£
- <option>-l</option> ¥ª¥×¥·¥ç¥ó¤Ï¡¢
- ¥Ç¥Õ¥©¥ë¥È¤Î <filename>log</filename> ¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
- ¤¿¤À¤·¡¢<literal>syslogd</literal> ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢
+ <option>-l</option> ¤Ï¡¢
+ ¥Ç¥Õ¥©¥ë¥È¤Î <filename>log</filename> ¤ò»ØÄꤷ¤Þ¤¹¡£
+ ¤¿¤À¤·¡¢&man.syslogd.8; ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢
¤¹¤Ù¤Æ¤Î¥í¥°¤Ï¥·¥¹¥Æ¥à¥í¥°¤Î¥Ç¡¼¥â¥ó¤ËÁ÷¤é¤ì¤Þ¤¹¡£
- <filename class="directory">/host</filename> ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢
+ <filename class="directory">/host</filename> ¤Ï¡¢
¥ê¥â¡¼¥È¥Û¥¹¥È¤«¤é¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤¿¥·¥¹¥Æ¥à¤Î¥Þ¥¦¥ó¥È¤Ë»È¤ï¤ì¤Þ¤¹¡£
°ìÊý <filename class="directory">/net</filename>
- ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢<acronym>IP</acronym>
+ ¤Ï¡¢<acronym>IP</acronym>
¥¢¥É¥ì¥¹¤«¤é¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Þ¥¦¥ó¥È¤Ë»È¤ï¤ì¤Þ¤¹¡£
- <filename>/etc/amd.map</filename> ¥Õ¥¡¥¤¥ë¤Ï¡¢
+ <filename>/etc/amd.map</filename> ¤Ï¡¢
<acronym>AMD</acronym> ¥¨¥¯¥¹¥Ý¡¼¥È¤Î¥Ç¥Õ¥©¥ë¥È¥ª¥×¥·¥ç¥ó¤òÄêµÁ¤·¤Þ¤¹¡£</para>
<indexterm>
<primary>FTP</primary>
<secondary>anonymous</secondary>
</indexterm>
<para><guimenuitem>Anon FTP</guimenuitem> ¤Ï¡¢anonymous
<acronym>FTP</acronym> Àܳ¤òµö²Ä¤·¤Þ¤¹¡£
»ÈÍѤ·¤Æ¤¤¤ë¥³¥ó¥Ô¥å¡¼¥¿¤ò <acronym>FTP</acronym>
¥µ¡¼¥Ð¤È¤·¤ÆÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢
¤³¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¤¿ºÝ¤Î¥»¥­¥å¥ê¥Æ¥£¾å¤Î¥ê¥¹¥¯¤Ë¤Ä¤¤¤ÆÇİ®¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¥»¥­¥å¥ê¥Æ¥£¥ê¥¹¥¯¤ÎÀâÌÀ¡¢¤ª¤è¤Ó¡¢¾ÜºÙ¤ÎÀßÄê¤Î¤¿¤á¤Î¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
- <para>¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢<guimenuitem>Gateway</guimenuitem>
- ¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥á¥Ë¥å¡¼¤Ç¤Ï¡¢
+ <para><guimenuitem>Gateway</guimenuitem> ¥á¥Ë¥å¡¼¤Ç¤Ï¡¢
¥³¥ó¥Ô¥å¡¼¥¿¤ò¥²¡¼¥È¥¦¥§¥¤¤ËÀßÄꤷ¤Þ¤¹¡£
¤â¤·¡¢¥¤¥ó¥¹¥È¡¼¥ë¤Î²áÄø¤Ç <guimenuitem>Gateway</guimenuitem>
¥ª¥×¥·¥ç¥ó¤ò´Ö°ã¤Ã¤ÆÁªÂò¤·¤¿¤Î¤Ç¤¢¤ì¤Ð¡¢¤³¤³¤Ç̵¸ú¤Ë¤Ç¤­¤Þ¤¹¡£</para>
- <para><guimenuitem>Inetd</guimenuitem> ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¤³¤ì¤Þ¤Ç¤ËµÄÏÀ¤·¤¿
- &man.inetd.8; ¥Ç¡¼¥â¥ó¤òÀßÄꤷ¤¿¤ê¡¢´°Á´¤Ë̵¸ú¤Ë¤Ç¤­¤Þ¤¹¡£</para>
+ <para><guimenuitem>Inetd</guimenuitem> ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢
+ &man.inetd.8; ¤òÀßÄꤷ¤¿¤ê¡¢´°Á´¤Ë̵¸ú¤Ë¤Ç¤­¤Þ¤¹¡£</para>
<para><guimenuitem>Mail</guimenuitem> ¥ª¥×¥·¥ç¥ó¤Ç¤Ï¡¢¥·¥¹¥Æ¥à¤Î¥Ç¥Õ¥©¥ë¥È¤Î
- <acronym>MTA</acronym> (Mail Transfer Agent) ¤òÀßÄê¤Ç¤­¤Þ¤¹¡£
+ Mail Transfer Agent (<acronym>MTA</acronym>) ¤òÀßÄê¤Ç¤­¤Þ¤¹¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤¹¤ë¤È¡¢°Ê²¼¤Î¥á¥Ë¥å¡¼¤¬µ¯Æ°¤·¤Þ¤¹¡£</para>
<figure id="mta-selection">
<title>¥Ç¥Õ¥©¥ë¥È¤Î MTA ¤ÎÁªÂò</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mta-main"/>
</imageobject>
</mediaobject>
</figure>
- <para>¤³¤³¤Ç¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¥Ç¥Õ¥©¥ë¥È¤ËÀßÄꤹ¤ë
+ <para>¤³¤Î¥á¥Ë¥å¡¼¤Ç¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¥Ç¥Õ¥©¥ë¥È¤ËÀßÄꤹ¤ë
<acronym>MTA</acronym> ¤òÁªÂò¤Ç¤­¤Þ¤¹¡£
<acronym>MTA</acronym> ¤Ï¡¢
- ¥·¥¹¥Æ¥à¾å¤Þ¤¿¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Î¥æ¡¼¥¶¤Ë¥á¡¼¥ë¤òÇÛÁ÷¤¹¤ë¥á¡¼¥ë¥µ¡¼¥Ð¤Ë¤¹¤®¤Þ¤»¤ó¡£</para>
+ ¥·¥¹¥Æ¥à¾å¤Þ¤¿¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Î¥æ¡¼¥¶¤Ë¥á¡¼¥ë¤òÇÛÁ÷¤¹¤ë¥á¡¼¥ë¥µ¡¼¥Ð¤Ç¤¹¡£</para>
<para><guimenuitem>Sendmail</guimenuitem> ¤òÁªÂò¤¹¤ë¤È¡¢
- &os; ¤Î¥Ç¥Õ¥©¥ë¥È¤Ç°ìÈÌŪ¤Ê <application>sendmail</application>
- ¥µ¡¼¥Ð¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£
- <guimenuitem>Sendmail local</guimenuitem> ¥ª¥×¥·¥ç¥ó¤Ï¡¢
+ ¥Ç¥Õ¥©¥ë¥È¤Î <acronym>MTA</acronym> ¤È¤·¤Æ
+ <application>sendmail</application> ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£
+ <guimenuitem>Sendmail local</guimenuitem> ¤òÁªÂò¤¹¤ë¤È¡¢
<application>sendmail</application> ¤ò¥Ç¥Õ¥©¥ë¥È¤Î
<acronym>MTA</acronym> ¤ËÀßÄꤷ¤Þ¤¹¤¬¡¢
¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤«¤é¤ÎÅŻҥ᡼¥ë¤Î¼õ¤±¼è¤ê¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
¾¤Î¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ë
<guimenuitem>Postfix</guimenuitem> ¤ä
<guimenuitem>Exim</guimenuitem> ¤â¡¢
- <guimenuitem>Sendmail</guimenuitem> ¤ÈƱ¤¸¤è¤¦¤Ë¥á¡¼¥ë¤òÇÛÁ÷¤·¤Þ¤¹¡£
- ¤¢¤ë¥æ¡¼¥¶¤Ï¡¢<application>sendmail</application>
- <acronym>MTA</acronym> ¤è¤ê¤³¤ì¤é¤ò¹¥¤ß¤Þ¤¹¡£</para>
+ <guimenuitem>Sendmail</guimenuitem> ¤ÈƱ¤¸¤è¤¦¤Ë¥á¡¼¥ë¤òÇÛÁ÷¤·¤Þ¤¹¡£</para>
- <para><acronym>MTA</acronym> ¤òÁªÂò¤¹¤ë¤«¡¢¤Þ¤¿¤Ï
- MTA ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤³¤È¤òÁª¤Ö¤È¡¢
- ¥Í¥Ã¥È¥ï¡¼¥¯¥á¥Ë¥å¡¼¤Ë¤Ï¡¢¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ë
- <guimenuitem>NFS client</guimenuitem> ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
-
- <para><acronym>NFS</acronym> ¥¯¥é¥¤¥¢¥ó¥È¤Ï¡¢¥·¥¹¥Æ¥à¤ò
- <acronym>NFS</acronym> ·Ðͳ¤Ç¥µ¡¼¥Ð¤ÈÄÌ¿®¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£
- <acronym>NFS</acronym> ¥µ¡¼¥Ð¤Ï¡¢
- <acronym>NFS</acronym> ¥×¥í¥È¥³¥ë¤òÄ̤·¤Æ¡¢
- ¥Í¥Ã¥È¥ï¡¼¥¯¾å¤ÎÊ̤Υޥ·¥ó¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÍøÍѤǤ­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
- ÍøÍѤ·¤Æ¤¤¤ë¥³¥ó¥Ô¥å¡¼¥¿¤¬¥¹¥¿¥ó¥É¥¢¥í¡¼¥ó¤Ç¤¢¤ì¤Ð¡¢
- ¤³¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¤Ê¤¤¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
- ¥·¥¹¥Æ¥à¤Ï¹¹¤Ê¤ëÀßÄê¤ò¸å¤ÇɬÍפȤ·¤Þ¤¹¡£
+ <para><acronym>MTA</acronym> ¥á¥Ë¥å¡¼¤Î¼¡¤Î¥á¥Ë¥å¡¼¤Ï
+ <guimenuitem>NFS client</guimenuitem> ¤Ç¤¹¡£
+ ¤³¤Î¥á¥Ë¥å¡¼¤Ï¡¢¥·¥¹¥Æ¥à¤¬ <acronym>NFS</acronym>
+ ¥µ¡¼¥Ð¤ÈÄÌ¿®¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£
+ <acronym>NFS</acronym> ¤Ç¤Ï¡¢<acronym>NFS</acronym>
+ ¥×¥í¥È¥³¥ë¤òÄ̤¸¤Æ¡¢Â¾¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¯¥é¥¤¥¢¥ó¥È¤ä¥µ¡¼¥Ð¤ÎÀßÄê¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï
- <xref linkend="network-nfs"/> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
-
- <para>¤½¤Î²¼¤Î¥ª¥×¥·¥ç¥ó¤¬ <guimenuitem>NFS server</guimenuitem> ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
- ¥·¥¹¥Æ¥à¤ò <acronym>NFS</acronym> ¥µ¡¼¥Ð¤Ë¥»¥Ã¥È¥¢¥Ã¥×¤Ç¤­¤Þ¤¹¡£
- ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢<acronym>RPC</acronym> (remote procedure call)
+ <xref linkend="network-nfs"/> ¤ò¤´Í÷¤¯¤À¤µ¤¤</para>
+
+ <para>¤½¤Î²¼¤Î¥ª¥×¥·¥ç¥ó¤¬ <guimenuitem>NFS server</guimenuitem>
+ ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
+ ¥·¥¹¥Æ¥à¤ò <acronym>NFS</acronym> ¥µ¡¼¥Ð¤ËÀßÄꤷ¤Þ¤¹¡£
+ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Remote Procedure Call <acronym>RPC</acronym>
¥µ¡¼¥Ó¥¹¤ËɬÍפʥª¥×¥·¥ç¥ó¤òÄɲä·¤Þ¤¹¡£
<acronym>RPC</acronym> ¤Ï¡¢
¥Û¥¹¥È¤È¥×¥í¥°¥é¥à´Ö¤ÎÀܳ¤ÎÄ´À°¤ËÍøÍѤǤ­¤Þ¤¹</para>
<para>¼¡¤Î¹Ô¤Ï <guimenuitem>Ntpdate</guimenuitem> ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
¤³¤ì¤Ï¡¢»þ¹ï¤ÎƱ´ü¤ò¼è¤ê°·¤¤¤Þ¤¹¡£
ÁªÂò¤¹¤ë¤È²¼¤Î¤è¤¦¤Ê¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<figure id="Ntpdate-config">
<title>Ntpdate ¤ÎÀßÄê</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/ntp-config"/>
</imageobject>
</mediaobject>
</figure>
<para>¤³¤Î¥á¥Ë¥å¡¼¤Ç¤Ï¡¢
- ¥Í¥Ã¥È¥ï¡¼¥¯Åª¤ËºÇ¤â¶á¤¤¥µ¡¼¥Ð¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
+ ÃÏÍýŪ¤ËºÇ¤â¶á¤¤¥µ¡¼¥Ð¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
±ó¤¤¾ì½ê¤Î¥µ¡¼¥Ð¤òÁª¤Ö¤È¡¢
¥Í¥Ã¥È¥ï¡¼¥¯¤Î±þÂлþ´Ö¤¬Ä¹¤¯¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ë¤Î¤Ç¡¢
ºÇ¤â¶á¤¤¥µ¡¼¥Ð¤òÁªÂò¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢
¤è¤êÀµ³Î¤Ê»þ¹ï¤ÎƱ´ü¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
<para>¼¡¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢<acronym>PCNFSD</acronym> ¤ÎÁªÂò¤Ç¤¹¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Ports Collection ¤«¤é
<filename role="package">net/pcnfsd</filename> package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
Microsoft ¤Î &ms-dos;
¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¤è¤¦¤Ê¡¢¼«Ê¬¼«¿È¤Ç¤Ï <acronym>NFS</acronym>
ǧ¾Ú¥µ¡¼¥Ó¥¹¤òÄ󶡤Ǥ­¤Ê¤¤¥·¥¹¥Æ¥à¤ËÂФ·¡¢<acronym>NFS</acronym>
ǧ¾Ú¥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ëÍ­¸ú¤Ê¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç¤¹¡£</para>
<para>¤³¤³¤Ç¡¢Â¾¤Î¥ª¥×¥·¥ç¥ó¤ò¸«¤ë¤¿¤á¤Ë¡¢
¾¯¤·¥¹¥¯¥í¡¼¥ë¥À¥¦¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<figure id="Network-configuration-cont">
<title>¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄê (¥á¥Ë¥å¡¼¤Î¸åȾ)</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/net-config-menu2"/>
</imageobject>
</mediaobject>
</figure>
- <para>&man.rpcbind.8;, &man.rpc.statd.8; ¤ª¤è¤Ó
- &man.rpc.lockd.8; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢¤¹¤Ù¤Æ
- Remote Procedure
- Calls (<acronym>RPC</acronym>) ¤ËÍøÍѤµ¤ì¤Þ¤¹¡£
- <command>rpcbind</command> ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢
- <acronym>NFS</acronym>
+ <para><acronym>RPC</acronym>¡£
+ &man.rpcbind.8; ¤Ï¡¢<acronym>NFS</acronym>
¥µ¡¼¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤ÎÄÌ¿®¤ò¼è¤ê°·¤¤¡¢
<acronym>NFS</acronym> ¥µ¡¼¥Ð¤¬Àµ¤·¤¯µ¡Ç½¤¹¤ë¤¿¤á¤ËɬÍפǤ¹¡£
- <application>rpc.statd</application> ¥Ç¡¼¥â¥ó¤Ï¡¢
- ¾¤Î¥Û¥¹¥È¤Î <application>rpc.statd</application> ¥Ç¡¼¥â¥ó¤ÈÄÌ¿®¤·¡¢
- ¥¹¥Æ¡¼¥¿¥¹¤ò´Æ»ë¤·¤Þ¤¹¡£
+ &man.rpc.statd.8; ¥Ç¡¼¥â¥ó¤Ï¡¢¥¹¥Æ¡¼¥¿¥¹¤ò´Æ»ë¤·¡¢
Êó¹ð¤µ¤ì¤¿¥¹¥Æ¡¼¥¿¥¹¤Ï¡¢Ä̾ï
- <filename>/var/db/statd.status</filename> ¥Õ¥¡¥¤¥ë¤Ëµ­Ï¿¤µ¤ì¤Þ¤¹¡£
- ¤³¤³¤Ç¾Ò²ð¤¹¤ëºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤Ï <guimenuitem>rpc.lockd</guimenuitem>
- ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
- ¤³¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤¹¤ë¤È¡¢¥Õ¥¡¥¤¥ë¥í¥Ã¥¯¥µ¡¼¥Ó¥¹¤òÄ󶡤·¤Þ¤¹¡£
- ¤³¤Îµ¡Ç½¤ÏÄ̾ï <application>rpc.statd</application> ¤È¶¦¤Ë¡¢
+ <filename>/var/db/statd.status</filename> ¤Ëµ­Ï¿¤µ¤ì¤Þ¤¹¡£
+ ¼¡¤Î¥ª¥×¥·¥ç¥ó¤Î &man.rpc.lockd.8; ¤Ï¡¢
+ ¥Õ¥¡¥¤¥ë¥í¥Ã¥¯¥µ¡¼¥Ó¥¹¤òÄ󶡤·¤Þ¤¹¡£
+ ¤³¤Îµ¡Ç½¤ÏÄ̾ï &man.rpc.statd.8; ¤È¶¦¤Ë¡¢
¤É¤Î¥Û¥¹¥È¤¬¥í¥Ã¥¯¤òɬÍפȤ·¤Æ¤¤¤ë¤«¡¢
¤É¤Î¤¯¤é¤¤¤ÎÉÑÅ٤ǥꥯ¥¨¥¹¥È¤¹¤ë¤«¤ò¥â¥Ë¥¿¤¹¤ë¤¿¤á¤ËÍøÍѤµ¤ì¤Þ¤¹¡£
- ºÇ¸å¤ÎÆó¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Ð¥Ã¥°»þ¤ËÈó¾ï¤ËÍ­ÍѤǤ¹¤¬¡¢
+ ºÇ¸å¤ÎÆó¤Ä¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Ð¥Ã¥°»þ¤ËÍ­ÍѤǤ¹¤¬¡¢
<acronym>NFS</acronym>
¥µ¡¼¥Ð¤ª¤è¤Ó¥¯¥é¥¤¥¢¥ó¥È¤Îưºî»þ¤Ë¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£</para>
- <para>¥ê¥¹¥È¤ò¹ß¤ê¤Æ¤¤¤¯¤È¡¢¼¡¤Î¹àÌܤϡ¢¥ë¡¼¥Æ¥£¥ó¥°¥Ç¡¼¥â¥ó¤Î
- <guimenuitem>Routed</guimenuitem> ¤Ç¤¹¡£
- &man.routed.8; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯¥ë¡¼¥Æ¥£¥ó¥°¥Æ¡¼¥Ö¥ë¤ò´ÉÍý¤·¡¢
+ <para>¼¡¤Î¥á¥Ë¥å¡¼¤Î <guimenuitem>Routed</guimenuitem> ¤Ï¡¢
+ ¥ë¡¼¥Æ¥£¥ó¥°¥Ç¡¼¥â¥ó¤òÀßÄꤷ¤Þ¤¹¡£
+ &man.routed.8; ¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯¥ë¡¼¥Æ¥£¥ó¥°¥Æ¡¼¥Ö¥ë¤ò´ÉÍý¤·¡¢
¥Þ¥ë¥Á¥­¥ã¥¹¥È¥ë¡¼¥¿¡¼¤òÍý²ò¤·¡¢
¤½¤·¤Æ¡¢¥ê¥¯¥¨¥¹¥È¤¬¤¢¤ë¤È¡¢ÊªÍýŪ¤ËÀܳ¤·¤¿¥Û¥¹¥È¤ËÂФ·¡¢
¥Í¥Ã¥È¥ï¡¼¥¯¤òÄ̤·¤Æ¥ë¡¼¥Æ¥£¥ó¥°¥Æ¡¼¥Ö¥ë¤òÄ󶡤·¤Þ¤¹¡£
¤³¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢
¼ç¤Ë¥í¡¼¥«¥ë¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥²¡¼¥È¥¦¥§¥¤¥Þ¥·¥ó¤ÇÍøÍѤµ¤ì¤Þ¤¹¡£
- ÁªÂò¤¹¤ë¤È¡¢¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î¥Ç¥Õ¥©¥ë¥È¤Î¾ì½ê¤òÍ׵᤹¤ë¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
- ¥Ç¥Õ¥©¥ë¥È¤Î¾ì½ê¤Ï¤¹¤Ç¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¡¢
- <keycap>Enter</keycap> ¥­¡¼¤ò²¡¤¹¤ÈÁªÂò¤µ¤ì¤Þ¤¹¡£
+ ÁªÂò¤¹¤ë¤È¡¢
+ ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î¥Ç¥Õ¥©¥ë¥È¤Î¾ì½ê¤òÍ׵᤹¤ë¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
+ ¥Ç¥Õ¥©¥ë¥È¤Î¾ì½ê¤ÇÎɤ±¤ì¤Ð¡¢
+ <keycap>Enter</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤Î¸å¡¢Ê̤Υá¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¡¢
- <application>routed</application> ¤ËÍ¿¤¨¤ë¥Õ¥é¥°¤òÍ׵ᤷ¤Þ¤¹¡£
- ¥á¥Ë¥å¡¼¤Ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥é¥°¤Î <option>-q</option>
- ¤¬¤¹¤Ç¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ç¤·¤ç¤¦¡£</para>
+ &man.routed.8; ¤ËÅϤ¹¥Õ¥é¥°¤òÍ׵ᤷ¤Þ¤¹¡£
+ ²èÌ̤ˤˤϡ¢¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥é¥°¤Î <option>-q</option>
+ ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
- <para>¼¡¤Î¹Ô¤Ï <guimenuitem>Rwhod</guimenuitem> ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
- ¤³¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤¹¤ë¤È¡¢¥·¥¹¥Æ¥à¤Î½é´ü²½»þ¤Ë
- &man.rwhod.8; ¥Ç¡¼¥â¥ó¤¬µ¯Æ°¤·¤Þ¤¹¡£
- <command>rwhod</command> ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤·¡¢
- ¥·¥¹¥Æ¥à¤Î¥á¥Ã¥»¡¼¥¸¤òȯ¿®¤·¤Þ¤¹¡£
- ¤Þ¤¿ <quote>consumer</quote> ¥â¡¼¥É¤Ç¤Ï¡¢
+ <para>¼¡¤Î¥á¥Ë¥å¡¼¤Ï <guimenuitem>Rwhod</guimenuitem> ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
+ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢¥·¥¹¥Æ¥à¤Î½é´ü²½»þ¤Ë
+ &man.rwhod.8; ¤òµ¯Æ°¤·¤Þ¤¹¡£
+ <command>rwhod</command>
+ ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢Äê´üŪ¤Ë¥·¥¹¥Æ¥à¤Î¥á¥Ã¥»¡¼¥¸¤ò¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤·¡¢
+ <quote>consumer</quote> ¥â¡¼¥É¤Ç¤Ï¡¢
¥·¥¹¥Æ¥à¤Î¥á¥Ã¥»¡¼¥¸¤ò¼ý½¸¤·¤Þ¤¹¡£
¾ÜºÙ¤Ê¾ðÊó¤Ï¡¢&man.ruptime.1; ¤ª¤è¤Ó
- &man.rwho.1; ¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë¤¢¤ê¤Þ¤¹¡£</para>
+ &man.rwho.1; ¥Ú¡¼¥¸¤Ë¤¢¤ê¤Þ¤¹¡£</para>
- <para>¥ê¥¹¥È¤ÎºÇ¸å¤«¤é 2 ÈÖÌܤΥª¥×¥·¥ç¥ó¤Ï¡¢
- &man.sshd.8; ¥Ç¡¼¥â¥ó¤Ç¤¹¡£
+ <para>¥ê¥¹¥È¤ÎºÇ¸å¤«¤é 2 ÈÖÌܤΥª¥×¥·¥ç¥ó¤Ï¡¢&man.sshd.8; ¤Ç¤¹¡£
¤³¤ì¤Ï <application>OpenSSH</application>
¤Î¤¿¤á¤Î¥»¥­¥å¥¢¥·¥§¥ë¥µ¡¼¥Ð¤Ç¤¹¡£
- ɸ½à¤Î <application>telnet</application> ¤ä <acronym>FTP</acronym>
+ ɸ½à¤Î &man.telnetd.8; ¤ä &man.ftpd.8;
¥µ¡¼¥Ð¤Ç¤Ï¤Ê¤¯¡¢¤³¤Î¥µ¡¼¥Ð¤¬¶¯¤¯¿ä¾©¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
- <application>sshd</application> ¥µ¡¼¥Ð¤Ï¡¢°Å¹æ²½¤µ¤ì¤¿ÄÌ¿®¤ò¹Ô¤¤¡¢
+ ¤³¤Î¥µ¡¼¥Ð¤Ï¡¢°Å¹æ²½¤µ¤ì¤¿ÄÌ¿®¤ò¹Ô¤¤¡¢
¤¢¤ë¥Û¥¹¥È¤È¾¤Î¥Û¥¹¥È¤ò°ÂÁ´¤ËÀܳ¤·¤Þ¤¹¡£</para>
- <para>ºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤¬ <guimenuitem>TCP Extensions</guimenuitem> ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
+ <para>ºÇ¸å¤Î¥ª¥×¥·¥ç¥ó¤¬
+ <guimenuitem>TCP Extensions</guimenuitem> ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢<acronym>RFC</acronym>&nbsp;1323 ¤ª¤è¤Ó
- <acronym>RFC</acronym>&nbsp;1644 ¤ÇÄêµÁ¤µ¤ì¤ë
- <acronym>TCP</acronym> ³ÈÄ¥¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£
+ <acronym>RFC</acronym>&nbsp;1644 ¤ÇÄêµÁ¤µ¤ì¤Þ¤¹¡£
¿¤¯¤Î¥Û¥¹¥È¤Ë¤ª¤¤¤Æ¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥³¥Í¥¯¥·¥ç¥ó¤ò¹â®¤Ë¤¹¤ë°ìÊý¤Ç¡¢
- ¤¤¤¯¤Ä¤«¤Î¥³¥Í¥¯¥·¥ç¥ó¤âÇË´þ¤·¤Þ¤¹¡£
+ ¤¤¤¯¤Ä¤«¤Î¥³¥Í¥¯¥·¥ç¥ó¤òÇË´þ¤·¤Þ¤¹¡£
¥µ¡¼¥Ð¤ËÂФ·¤Æ¿ä¾©¤Ï¤µ¤ì¤Þ¤»¤ó¤¬¡¢
¥¹¥¿¥ó¥É¥¢¥í¡¼¥ó¤Ê¥³¥ó¥Ô¥å¡¼¥¿¤Ë¤ÏÍ­±×¤Ç¤·¤ç¤¦¡£</para>
- <para>°Ê¾å¤Ç¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤ÎÀßÄ꤬½ª¤ï¤ê¤Þ¤·¤¿¡£
+ <para>¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤ÎÀßÄ꤬½ª¤ï¤Ã¤¿¤é¡¢
°ìÈÖ¾å¤Î <guimenuitem>X Exit</guimenuitem>
¤Þ¤Ç¥¹¥¯¥í¡¼¥ë¥¢¥Ã¥×¤·¤Æ¼¡¤ÎÀßÄê¹àÌܤ˿ʤफ¡¢
<guimenuitem>X Exit</guimenuitem> ¤ò 2 ²óÁªÂò¤·¡¢¤½¤Î¸å
<guibutton>[X Exit Install]</guibutton> ¤òÁª¤Ó¡¢
- <application>sysinstall</application> ¤ò½ªÎ»¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ &man.sysinstall.8; ¤ò½ªÎ»¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="freebsdboot">
<title>&os; ¤Î¥Ö¡¼¥È</title>
<sect3 id="freebsdboot-i386">
<title>&os;/&arch.i386; ¤Îµ¯Æ°</title>
<para>¤¹¤Ù¤Æ¤¬¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤ì¤Ð¡¢²èÌ̾å¤Ë¥á¥Ã¥»¡¼¥¸¤¬¥¹¥¯¥í¡¼¥ë¤·¡¢
- ¥í¥°¥¤¥ó¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£<keycap>Scroll-Lock</keycap>
- ¤ò²¡¤·¡¢¤µ¤é¤Ë <keycap>PgUp</keycap> ¤ª¤è¤Ó <keycap>PgDn</keycap>
- ¥­¡¼¤òÍѤ¤¤ë¤³¤È¤Ç¡¢¥á¥Ã¥»¡¼¥¸¤ÎÆâÍÆ¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ ¥í¥°¥¤¥ó¥×¥í¥ó¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
+ ¤³¤Î¥á¥Ã¥»¡¼¥¸¤ò¸«¤ë¤Ë¤Ï¡¢<keycap>Scroll-Lock</keycap>
+ ¤ò²¡¤·¡¢<keycap>PgUp</keycap> ¤ª¤è¤Ó <keycap>PgDn</keycap>
+ ¥­¡¼¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
<keycap>Scroll-Lock</keycap>
- ¤ò¤â¤¦°ìÅÙ²¡¤¹¤È¥×¥í¥ó¥×¥È¤ËÌá¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£</para>
+ ¤ò¤â¤¦°ìÅÙ²¡¤¹¤È¥×¥í¥ó¥×¥È¤ËÌá¤ê¤Þ¤¹¡£</para>
- <para>¤¹¤Ù¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤Ï (¥Ð¥Ã¥Õ¥¡¤ÎÍÆÎÌÀ©¸Â¤Ë¤è¤ê)
- ɽ¼¨¤µ¤ì¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢
- ¥í¥°¥¤¥ó¤Î¸å¤Ë¥×¥í¥ó¥×¥È¤«¤é¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç <command>dmesg</command>
- ¤ÈÆþÎϤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¤½¤ì¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ <para>¥Ð¥Ã¥Õ¥¡¤ÎÍÆÎÌÀ©¸Â¤Ë¤è¤ê¡¢
+ ¤¹¤Ù¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤Ïɽ¼¨¤µ¤ì¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢
+ ¥í¥°¥¤¥ó¤Î¸å¤Ë &man.dmesg.8; ¤Ç¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
- <para>¥¤¥ó¥¹¥È¡¼¥ë¤ÎºÝ¤ËÀßÄꤷ¤¿¥æ¡¼¥¶Ì¾
- (¤³¤ÎÎã¤Î¾ì¹ç¡¢<username>rpratt</username>)
- ¤È¥Ñ¥¹¥ï¡¼¥É¤òÍѤ¤¤Æ¥í¥°¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£
+ <para>¥¤¥ó¥¹¥È¡¼¥ë¤ÎºÝ¤ËÀßÄꤷ¤¿¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤òÍѤ¤¤Æ¥í¥°¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£
ɬÍפʻþ¤ò½ü¤­ <username>root</username>
¤È¤·¤Æ¥í¥°¥¤¥ó¤¹¤ë¤³¤È¤ÏÈò¤±¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>ŵ·¿Åª¤Ê¥Ö¡¼¥È¥á¥Ã¥»¡¼¥¸ (¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Ï¾Êά¤·¤Æ¤¤¤Þ¤¹)</para>
<screen>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&lt;FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX&gt;
AMD Features=0x80000800&lt;SYSCALL,3DNow!&gt;
real memory = 268435456 (262144K bytes)
config&gt; di sn0
config&gt; di lnc0
config&gt; di le0
config&gt; di ie0
config&gt; di fe0
config&gt; di cs0
config&gt; di bt0
config&gt; di aic0
config&gt; di aha0
config&gt; di adv0
config&gt; 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: &lt;math processor&gt; on motherboard
npx0: INT 16 interface
pcib0: &lt;Host to PCI bridge&gt; on motherboard
pci0: &lt;PCI bus&gt; on pcib0
pcib1: &lt;VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge&gt; at device 1.0 on pci0
pci1: &lt;PCI bus&gt; on pcib1
pci1: &lt;Matrox MGA G200 AGP graphics accelerator&gt; at 0.0 irq 11
isab0: &lt;VIA 82C586 PCI-ISA bridge&gt; at device 7.0 on pci0
isa0: &lt;ISA bus&gt; on isab0
atapci0: &lt;VIA 82C586 ATA33 controller&gt; port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: &lt;VIA 83C572 USB controller&gt; port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: &lt;VIA 83C572 USB controller&gt; 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: &lt;VIA 82C586B ACPI interface&gt; at device 7.3 on pci0
ed0: &lt;NE2000 PCI Ethernet (RealTek 8029)&gt; 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: &lt;NEC 72065B or clone&gt; at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: &lt;1440-KB 3.5" drive&gt; on fdc0 drive 0
atkbdc0: &lt;keyboard controller (i8042)&gt; at port 0x60-0x64 on isa0
atkbd0: &lt;AT Keyboard&gt; flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: &lt;PS/2 Mouse&gt; irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: &lt;Generic ISA VGA&gt; at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: &lt;System console&gt; at flags 0x1 on isa0
sc0: VGA &lt;16 virtual consoles, flags=0x300&gt;
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: &lt;Parallel port&gt; 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: &lt;PLIP network interface&gt; on ppbus0
lpt0: &lt;Printer&gt; on ppbus0
lpt0: Interrupt-driven port
ppi0: &lt;Parallel I/O&gt; on ppbus0
ad0: 8063MB &lt;IBM-DHEA-38451&gt; [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB &lt;IBM-DHEA-38451&gt; [16383/16/63] at ata1-master using UDMA33
acd0: CDROM &lt;DELTA OTC-H101/ST3 F/W by OIPD&gt; 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&lt;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&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; 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:</screen>
<para>Ä㮤ʥޥ·¥ó¤Ç¤Ï¡¢
RSA ¤ª¤è¤Ó DSA ¥­¡¼¤òºîÀ®¤¹¤ë¤Î¤Ë¾¯¡¹»þ´Ö¤¬¤«¤«¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¤³¤ì¤Ï½é¤á¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸å¤Ë½é¤á¤Æ¥Ö¡¼¥È¤¹¤ë»þ¤À¤±µ¯¤³¤ê¤Þ¤¹¡£
¤½¤Î¸å¤Î¥Ö¡¼¥È¤Ï¤è¤ê®¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£</para>
- <para>X ¥µ¡¼¥Ð¤¬ÀßÄꤵ¤ì¡¢¥Ç¥Õ¥©¥ë¥È¥Ç¥¹¥¯¥È¥Ã¥×¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢
+ <para><application>&xorg;</application> ¤¬ÀßÄꤵ¤ì¡¢
+ ¥Ç¥Õ¥©¥ë¥È¥Ç¥¹¥¯¥È¥Ã¥×¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢
¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç <command>startx</command>
- ¤ÈÆþÎϤ¹¤ë¤³¤È¤Çµ¯Æ°¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£</para>
+ ¤ÈÆþÎϤ¹¤ë¤³¤È¤Ç <application>&xorg;</application>
+ ¤òµ¯Æ°¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£</para>
</sect3>
</sect2>
<sect2 id="shutdown">
<title>&os; ¤Î¥·¥ã¥Ã¥È¥À¥¦¥ó</title>
<para>¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤òŬÀڤ˥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤³¤È¤Ï½ÅÍפǤ¹¡£
¤¿¤ÀÅŸ»¤òÍ¤È¤¤¤¦¤³¤È¤Ï¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
- ¤Þ¤º¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é <command>su</command> ¤ÈÆþÎϤ·¡¢
+ ¤Þ¤º¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é &man.su.1; ¤ÈÆþÎϤ·¡¢
<username>root</username> ¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Æ¥¹¡¼¥Ñ¥æ¡¼¥¶¤È¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤Ï <groupname>wheel</groupname>
- ¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¤È¤Ê¤Ã¤Æ¤¤¤ë¥æ¡¼¥¶¤À¤±¤¬¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
- ¤Þ¤¿¤Ï <username>root</username> ¤È¤·¤Æ¥í¥°¥¤¥ó¤·¡¢
- <command>shutdown -h now</command>
- ¤ò»ÈÍѤ·¤Þ¤¹¡£</para>
+ ¤Î¥á¥ó¥Ð¤È¤Ê¤Ã¤Æ¤¤¤ë¥æ¡¼¥¶¤À¤±¤¬¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ ¤½¤¦¤Ç¤Ê¤±¤ì¤Ð <username>root</username> ¤È¤·¤Æ¥í¥°¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£
+ ¥·¥¹¥Æ¥à¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¡¢<command>shutdown -h now</command>
+ ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>The operating system has halted.
Please press any key to reboot.</screen>
<para>¥·¥ã¥Ã¥È¥À¥¦¥ó¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¡¢
<quote>Please press any key to reboot</quote>
¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬¸½¤ì¤¿¸å¤ËÅŸ»¤òÍ¤³¤È¤Ï°ÂÁ´¤Ç¤¹¡£
ÅŸ»¤òÍÂå¤ï¤ê¤Ë²¿¤é¤«¤Î¥­¡¼¤¬²¡¤µ¤ì¤¿¾ì¹ç¡¢
¥·¥¹¥Æ¥à¤Ï¥ê¥Ö¡¼¥È¤¹¤ë¤Ç¤·¤ç¤¦¡£</para>
<para>
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>Alt</keycap>
<keycap>Del</keycap>
</keycombo>
- ¤È¤¤¤¦¥­¡¼¤ÎÁȹ礻¤ò»È¤Ã¤Æ¥·¥¹¥Æ¥à¤ò¥ê¥Ö¡¼¥È¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢
- Ä̾ï¤Î±¿ÍѤˤª¤¤¤Æ¤³¤ì¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó¡£</para>
+ ¤È¤¤¤¦¥­¡¼¤ÎÁȹ礻¤ò»È¤Ã¤Æ¥·¥¹¥Æ¥à¤ò¥ê¥Ö¡¼¥È¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
+ ¤·¤«¤·¤Ê¤¬¤é¡¢¿ä¾©¤Ï¤µ¤ì¤Þ¤»¤ó¡£</para>
</sect2>
</sect1>
<sect1 id="install-trouble">
<title>¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°</title>
<indexterm>
<primary>¥¤¥ó¥¹¥È¡¼¥ë</primary>
<secondary>¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°</secondary>
</indexterm>
- <para>¤³¤ÎÀá¤Ç¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤ÎºÝ¤Î¡¢¤³¤ì¤Þ¤ÇÊó¹ð¤µ¤ì¤¿¶¦Ä̤ÎÌäÂê¤ËÂФ¹¤ë²ò·è¤Î¤¿¤á¤Î¾ðÊ󤬽ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£
- ¤Þ¤¿¡¢&os; ¤È &ms-dos; ¤Þ¤¿¤Ï¡¢&windows;
+ <para>¤³¤ÎÀá¤Ç¤Ï¡¢
+ ¥¤¥ó¥¹¥È¡¼¥ë¤ÎºÝ¤Ëµ¯¤³¤ê¤¨¤ë¶¦Ä̤ÎÌäÂê¤ò²ò·è¤¹¤ë¤¿¤á¤Î¾ðÊ󤬽ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£
+ ¤Þ¤¿¡¢&os; ¤È &windows;
¤Î¥Ç¥å¥¢¥ë¥Ö¡¼¥È¤ò¹Ô¤¦ºÝ¤Î¤¤¤¯¤Ä¤«¤Î¼ÁÌä¤È²óÅú¤â½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£</para>
<sect2>
<title>¤Ê¤Ë¤«¤ª¤«¤·¤¤¤È¤­¤Ë¤Ï²¿¤ò¤¹¤ì¤Ð¤è¤¤¤Ç¤·¤ç¤¦¤«</title>
- <para>PC ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ÎÍÍ¡¹¤ÊÀ©¸Â¤Ë¤è¤ê¡¢100% ³Î¼Â¤Ë¸¶°ø¤òÆÍ¤­»ß¤á¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¹¤¬¡¢
- ¼ºÇÔ¤·¤¿»þ¤Ë¤¤¤¯¤Ä¤«¤Ç¤­¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£</para>
+ <para>PC ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î¤µ¤Þ¤¶¤Þ¤ÊÀ©¸Â¤Ë¤è¤ê¡¢
+ 100% ³Î¼Â¤Ë¥Ç¥Ð¥¤¥¹¤òǧ¼±¤¹¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¹¡£
+ ¤·¤«¤·¤Ê¤¬¤é¡¢¼ºÇÔ¤·¤¿»þ¤Ë¤¤¤¯¤Ä¤«¤Ç¤­¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£</para>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë &os; ¤Î¥Ð¡¼¥¸¥ç¥ó¤Î <ulink
url="http://www.FreeBSD.org/ja/releases/index.html">¥Ï¡¼¥É¥¦¥§¥¢¥Î¡¼¥È</ulink>
¤òÄ´¤Ù¤Æ¡¢
»È¤Ã¤Æ¤¤¤ë¥Ï¡¼¥É¥¦¥§¥¢¤ËÂбþ¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¤â¤·¥Ï¡¼¥É¥¦¥§¥¢¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤Ë¤â¤«¤«¤ï¤é¤º¡¢
ưºî¤·¤Ê¤«¤Ã¤¿¤ê¾¤ÎÌäÂêÅÀ¤¬¤¢¤ë»þ¤Ï¡¢<link
linkend="kernelconfig">¥«¥¹¥¿¥à¥«¡¼¥Í¥ë</link>
- ¤ò¹½ÃÛ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£<filename>GENERIC</filename>
- ¥«¡¼¥Í¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¥Ç¥Ð¥¤¥¹¤Î¥µ¥Ý¡¼¥È¤òÄɲ乤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£
- µ¯Æ°¥Ç¥£¥¹¥¯¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢¤Û¤È¤ó¤É¤Î¥Ï¡¼¥É¥¦¥§¥¢¥Ç¥Ð¥¤¥¹¤Î IRQ, IO ¥¢¥É¥ì¥¹¡¢
- DMA ¥Á¥ã¥Í¥ë¤¬¹©¾ì½Ð²Ù»þ¤Î¾õÂ֤Ǥ¢¤ë¤ÈÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
- ¤â¤·¥Ï¡¼¥É¥¦¥§¥¢¤ÎÀßÄ꤬Êѹ¹¤µ¤ì¤Æ¤¤¤ë¤È¡¢
- ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¡¢
- ºÆ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤Ê¤Ã¤Æ¡¢¤³¤ì¤é¤ÎÃͤò
- &os; ¤ËÀßÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</para>
+ ¤ò¹½ÃÛ¤·¤Æ <filename>GENERIC</filename>
+ ¥«¡¼¥Í¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¥Ç¥Ð¥¤¥¹¤Î¥µ¥Ý¡¼¥È¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
+ ¥Ç¥Õ¥©¥ë¥È¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢¤Û¤È¤ó¤É¤Î¥Ï¡¼¥É¥¦¥§¥¢¥Ç¥Ð¥¤¥¹¤Î IRQ, IO ¥¢¥É¥ì¥¹¡¢
+ DMA ¥Á¥ã¥Í¥ë¤¬¹©¾ì½Ð²Ù»þ¤Î¾õÂ֤Ǥ¢¤ë¤È²¾Äꤷ¤Æ¤¤¤Þ¤¹¡£
+ ¤â¤·¥Ï¡¼¥É¥¦¥§¥¢¤ÎÀßÄ꤬Êѹ¹¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
+ ¥«¥¹¥¿¥à¥«¡¼¥Í¥ë¤Î¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢
+ ºÆ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤Ê¤Ã¤Æ¡¢
+ &os; ¤¬Ç§¼±¤¹¤ë¤è¤¦ÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¸ºß¤·¤Ê¤¤¥Ç¥Ð¥¤¥¹¤òǧ¼±¤·¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤è¤ê¡¢
¤½¤Î¸å¼ÂºÝ¤Ë¸ºß¤¹¤ë¥Ç¥Ð¥¤¥¹¤Îǧ¼±¤ò¼ºÇÔ¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ï¾×ÆÍ¤·¤Æ¤¤¤ë¥É¥é¥¤¥Ð¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£</para>
<note>
- <para>¤¤¤¯¤Ä¤«¤Î¥¤¥ó¥¹¥È¡¼¥ë¾å¤ÎÌäÂê¤Ï¤µ¤Þ¤¶¤Þ¤Ê¥Ï¡¼¥É¥¦¥§¥¢ÁõÃ֤Ρ¢
- ÆÃ¤Ë¥Þ¥¶¡¼¥Ü¡¼¥É¤Î¥Õ¥¡¡¼¥à¥¦¥§¥¢¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤Ç²óÈò¤Þ¤¿¤Ï´ËϤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
- ¥Þ¥¶¡¼¥Ü¡¼¥É¤Î¥Õ¥¡¡¼¥à¥¦¥§¥¢¤Ï <acronym>BIOS</acronym>
- ¤È¸Æ¤Ð¤ì¤ë¤³¤È¤â¤¢¤ê¡¢
- ¿¤¯¤Î¥Þ¥¶¡¼¥Ü¡¼¥É¤Þ¤¿¤Ï¥³¥ó¥Ô¥å¡¼¥¿À½Â¤¥á¡¼¥«¡¼¤Ï¥¢¥Ã¥×¥°¥ì¡¼¥É¾ðÊó¤òºÜ¤»¤Æ¤¤¤ë¥¦¥§¥Ö¥µ¥¤¥È¤òÍѰդ·¤Æ¤¤¤Þ¤¹¡£</para>
+ <para>¤¤¤¯¤Ä¤«¤Î¥¤¥ó¥¹¥È¡¼¥ë¾å¤ÎÌäÂê¤Ï¡¢³Æ¥Ï¡¼¥É¥¦¥§¥¢ÁõÃÖ¡¢
+ ÆÃ¤Ë¥Þ¥¶¡¼¥Ü¡¼¥É <acronym>BIOS</acronym>
+ ¤Î¥Õ¥¡¡¼¥à¥¦¥§¥¢¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤Ç²óÈò¤Þ¤¿¤Ï´ËϤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ ¤Û¤È¤ó¤É¤Î¥Þ¥¶¡¼¥Ü¡¼¥É¤Þ¤¿¤Ï¥³¥ó¥Ô¥å¡¼¥¿À½Â¤¥á¡¼¥«¡¼¤Ï¡¢
+ ¥¢¥Ã¥×¥°¥ì¡¼¥É¾ðÊó¤òºÜ¤»¤Æ¤¤¤ë¥¦¥§¥Ö¥µ¥¤¥È¤òÍѰդ·¤Æ¤¤¤Þ¤¹¡£</para>
<para>¿¤¯¤ÎÀ½Â¤¥á¡¼¥«¡¼¤Ï¡¢
½ÅÍפʹ¹¿·¤Î¤è¤¦¤Ê¤½¤ì¤Ê¤ê¤ÎÍýͳ¤¬¤Ê¤¤¸Â¤ê¥Þ¥¶¡¼¥Ü¡¼¥É¤Î
<acronym>BIOS</acronym> ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ï¹Ô¤ï¤Ê¤¤¤è¤¦¶¯¤¯¿ä¾©¤·¤Æ¤¤¤Þ¤¹¡£
¥¢¥Ã¥×¥Ç¡¼¥È¤Î²áÄø¤Ç¼ºÇÔ¤¹¤ë<emphasis>¤«¤â¤·¤ì¤º</emphasis>¡¢
<acronym>BIOS</acronym> ¥Á¥Ã¥×¤Ë¿¼¹ï¤Ê¥À¥á¡¼¥¸¤òÍ¿¤¨¤ë¸¶°ø¤È¤Ê¤êÆÀ¤ë¤«¤é¤Ç¤¹¡£</para>
</note>
</sect2>
<sect2>
- <title>&ms-dos; ¤ª¤è¤Ó &windows; ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÍøÍÑ</title>
+ <title>&windows; ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÍøÍÑ</title>
<para>¸½»þÅÀ¤Ç¤Ï¡¢&os; ¤Ï¡¢
<application>Double Space&trade;</application>
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç°µ½Ì¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢&os; ¤¬¥Ç¡¼¥¿¤Ë¥¢¥¯¥»¥¹¤¹¤ëÁ°¤Ë¡¢
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òŸ³«¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
Ÿ³«¤¹¤ë¤Ë¤Ï¡¢<guimenuitem>Start</guimenuitem>&gt; <guimenuitem>Programs</guimenuitem> &gt;
<guimenuitem>System Tools</guimenuitem> ¥á¥Ë¥å¡¼¤Î
<application>Compression Agent</application> ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>&os; ¤Ï¡¢&ms-dos; ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à
(FAT ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤â¸Æ¤Ð¤ì¤Þ¤¹) ¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£
&man.mount.msdosfs.8; ¥³¥Þ¥ó¥É¤Ï¡¢
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÆâÍÆ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¡¢
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¸½Â¸¤Î¥Ç¥£¥ì¥¯¥È¥ê¹½À®¤Ë¥Þ¥¦¥ó¥È¤·¤Þ¤¹¡£
Ä̾ï &man.mount.msdosfs.8; ¥×¥í¥°¥é¥à¤Ï¡¢Ä¾ÀÜÍѤ¤¤é¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¥·¥¹¥Æ¥à¤«¤é <filename>/etc/fstab</filename> ·Ðͳ¤ÇÍøÍѤµ¤ì¤¿¤ê¡¢
- &man.mount.8;
- ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤«¤éŬÀڤʥѥé¥á¡¼¥¿¤È¤È¤â¤ËÍѤ¤¤é¤ì¤Þ¤¹¡£</para>
+ &man.mount.8; ¤«¤éŬÀڤʥѥé¥á¡¼¥¿¤È¤È¤â¤ËÍѤ¤¤é¤ì¤Þ¤¹¡£</para>
<para><filename>/etc/fstab</filename>
¤Îŵ·¿Åª¤Êµ­½ÒÎã¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
<programlisting>/dev/ad0sN /dos msdosfs rw 0 0</programlisting>
- <note><para>¤³¤Îµ­½Ò¤¬¤¦¤Þ¤¯¤¤¤¯¤¿¤á¤Ë¤Ï¡¢<filename>/dos</filename>
- ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+ <note><para>¤³¤Îµ­½Ò¤¬¤¦¤Þ¤¯¤¤¤¯¤¿¤á¤Ë¤Ï¡¢<filename
+ class="directory">/dos</filename> ¤¬Â¸ºß¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
<filename>/etc/fstab</filename> ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
&man.fstab.5; ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para></note>
- <para>&ms-dos; ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤¹¤ë &man.mount.8;
+ <para>FAT ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤¹¤ë &man.mount.8;
¤Îŵ·¿Îã¤Ï°Ê²¼¤È¤Ê¤ê¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>mount -t msdosfs /dev/ad0s1 /mnt</userinput></screen>
- <para>¤³¤ÎÎã¤Ç¤Ï¡¢&ms-dos; ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢
+ <para>¤³¤ÎÎã¤Ç¤Ï¡¢FAT ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢
¥×¥é¥¤¥Þ¥ê¤Î¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤ÎºÇ½é¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
- &ms-dos; ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î°ÌÃ֤ϡ¢»ÈÍѤ·¤Æ¤¤¤ë´Ä¶­¤Ë¤è¤Ã¤ÆÊѤï¤ê¤Þ¤¹¤Î¤Ç¡¢
- <command>dmesg</command> ¤ä <command>mount</command>
- ¥³¥Þ¥ó¥É¤Î½ÐÎϤò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
+ &man.dmesg.8; ¤ä &man.mount.8; ¤Î½ÐÎϤ«¤é¡¢
¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥ì¥¤¥¢¥¦¥È¤òÇİ®¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¾ðÊó¤òÆÀ¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£</para>
- <note><para>&os; ¤¬³ä¤êÅö¤Æ¤ë¥Ç¥£¥¹¥¯¥¹¥é¥¤¥¹
- (¤¹¤Ê¤ï¤Á¡¢&ms-dos; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó) ¤ÎÈÖ¹æ¤Ï¡¢
+ <note><para>&os; ¤¬³ä¤êÅö¤Æ¤ë FAT ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÈÖ¹æ¤Ï¡¢
¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¤â¤Î¤È¤Ï°Û¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
- ÆÃ¤Ë³ÈÄ¥ &ms-dos; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤Ï¡¢¥×¥é¥¤¥Þ¥ê¤Î
- &ms-dos; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤è¤êÂ礭¤Ê¥¹¥é¥¤¥¹Èֹ椬Ä̾ï³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£
- &man.fdisk.8; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢¤É¤Î¥¹¥é¥¤¥¹¤¬ &os; ¤Ë°¤·¡¢
- ¤É¤Î¥¹¥é¥¤¥¹¤¬Â¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë°¤¹¤ë¤«¤ò·è¤á¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£</para>
+ ÆÃ¤Ë³ÈÄ¥¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤Ï¡¢
+ ¥×¥é¥¤¥Þ¥ê¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤è¤êÂ礭¤Ê¥¹¥é¥¤¥¹Èֹ椬Ä̾ï³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£
+ ¤É¤Î¥¹¥é¥¤¥¹¤¬ &os; ¤Ë°¤·¡¢
+ ¤É¤Î¥¹¥é¥¤¥¹¤¬Â¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë°¤¹¤ë¤«¤ò·è¤á¤ë¤Î¤Ë
+ &man.fdisk.8; ¤ÏÌòΩ¤Á¤Þ¤¹¡£</para>
</note>
<para>NTFS ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤â¡¢Æ±ÍÍ¤Ë &man.mount.ntfs.8;
¥³¥Þ¥ó¥É¤Ç¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤¹¡£</para>
</sect2>
<sect2>
<title>¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤Ë´Ø¤¹¤ë Q &amp; A</title>
<qandaset>
<qandaentry>
<question>
<para>µ¯Æ°»þ¤Î¥Ï¡¼¥É¥¦¥§¥¢¸¡½Ð¤Ç¡¢¥·¥¹¥Æ¥à¤¬¥Ï¥ó¥°¥¢¥Ã¥×¤·¤Þ¤¹¡£
- ¤Þ¤¿¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ëÃæ¤Ë¥·¥¹¥Æ¥à¤¬¤ª¤«¤·¤¯¤Ê¤ë¡£¤Þ¤¿¤Ï¡¢
- ¥Õ¥í¥Ã¥Ô¡¼¥É¥é¥¤¥Ö¤¬¸¡½Ð¤µ¤ì¤Þ¤»¤ó¡£</para>
+ ¤Þ¤¿¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ëÃæ¤Ë¥·¥¹¥Æ¥à¤¬¤ª¤«¤·¤¯¤Ê¤ê¤Þ¤¹¡£</para>
</question>
<answer>
<para>i386, amd64 ¤ª¤è¤Ó ia64 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤ª¤¤¤Æ¡¢
&os; ¤Ï¥·¥¹¥Æ¥à¤ÎÀßÄê¤ò¼ê½õ¤±¤¹¤ë¥·¥¹¥Æ¥à ACPI ¥µ¡¼¥Ó¥¹¤ò¡¢
µ¯Æ°»þ¤Ë¸¡½Ð¤µ¤ì¤¿¾ì¹ç¤Ë¹­¤¯»È¤¤¤Þ¤¹¡£
»Äǰ¤Ê¤¬¤é¡¢¤Þ¤À¤¤¤¯¤Ä¤«¤ÎÉÔ¶ñ¹ç¤¬¡¢
- ACPI ¥É¥é¥¤¥Ð¤È¥·¥¹¥Æ¥à¤Î¥Þ¥¶¡¼¥Ü¡¼¥É¤ª¤è¤Ó BIOS ξÊý¤Ë¸ºß¤·¤Æ¤¤¤Þ¤¹¡£
+ ACPI ¥É¥é¥¤¥Ð¤È¥·¥¹¥Æ¥à¤Î¥Þ¥¶¡¼¥Ü¡¼¥É¤Ë¸ºß¤·¤Æ¤¤¤Þ¤¹¡£
µ¯Æ°¥¹¥Æ¡¼¥¸ 3 ¤Ë¤ª¤¤¤Æ¡¢¥Ò¥ó¥È¾ðÊó
<literal>hint.acpi.0.disabled</literal>
¤ò°Ê²¼¤Î¤è¤¦¤ËÀßÄꤹ¤ë¤È ACPI ¤ò̵¸ú¤Ë¤Ç¤­¤Þ¤¹¡£</para>
<screen><userinput>set hint.acpi.0.disabled="1"</userinput></screen>
<para>¤³¤ÎÀßÄê¤Ï¥·¥¹¥Æ¥à¤¬µ¯Æ°¤¹¤ë¤¿¤Ó¤Ë¥ê¥»¥Ã¥È¤µ¤ì¤ë¤Î¤Ç¡¢
- <filename>/boot/loader.conf</filename> ¥Õ¥¡¥¤¥ë¤Ë
- <literal>hint.acpi.0.disabled="1"</literal> ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
+ <filename>/boot/loader.conf</filename> ¤Ë
+ <literal>hint.acpi.0.disabled="1"</literal>
+ ¤òÄɲ䷤ơ¢±Ê³Ū¤ËÊѹ¹¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Ö¡¼¥È¥í¡¼¥À¤Î¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï
<xref linkend="boot-synopsis"/> ¤ÇÀâÌÀ¤·¤Þ¤¹¡£</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸å¤ÎºÇ½é¤Î¥Ï¡¼¥É¥¦¥§¥¢¤«¤é¤Îµ¯Æ°¤Ç¡¢
¥«¡¼¥Í¥ë¤¬ÆÉ¤ß¹þ¤Þ¤ì¡¢¥Ï¡¼¥É¥¦¥§¥¢¤ò¸¡½Ð¤·¤Þ¤·¤¿¤¬¡¢
¼¡¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤ÆÄä»ß¤·¤Þ¤·¤¿¡£</para>
<screen>changing root device to ad1s1a panic: cannot mount root</screen>
- <para>²¿¤¬ÌäÂê¤Ç¤¹¤«¡© ²¿¤«¤Ç¤­¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤¹¤«¡©</para>
-
- <para>¥Ö¡¼¥È¤Î¥Ø¥ë¥×¤Çɽ¼¨¤µ¤ì¤ë¡¢
- <literal>bios_drive:interface(unit,partition)kernel_name</literal>
- ¤Ï²¿¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¤«?</para>
+ <para>²¿¤¬ÌäÂê¤Ç¤¹¤«¡©</para>
</question>
-
<answer>
<para>µ¯Æ°¥Ç¥£¥¹¥¯¤¬¥·¥¹¥Æ¥à¤ÎºÇ½é¤Î¥Ç¥£¥¹¥¯¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
- Ĺǯ¤ÎÌäÂ꤬¤¢¤ê¤Þ¤¹¡£BIOS ¤Ï¡¢&os; ¤È¤Ï°Û¤Ê¤ëÈÖ¹æÉÕ¤±¤òÍѤ¤¡¢
+ ¤³¤ÎÌäÂ꤬µ¯¤³¤ê¤¨¤Þ¤¹¡£BIOS ¤Ï¡¢&os; ¤È¤Ï°Û¤Ê¤ëÈÖ¹æÉÕ¤±¤òÍѤ¤¡¢
¤É¤ÎÈֹ椬¤É¤ÎÈÖ¹æ¤ËÂбþ¤¹¤ë¤«¤òÀµ¤·¤¯¸«¤Ä¤±½Ð¤¹¤³¤È¤Ï´Êñ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£</para>
- <para>µ¯Æ°¥Ç¥£¥¹¥¯¤¬¥·¥¹¥Æ¥à¤Î 1 ÈÖÌܤΥǥ£¥¹¥¯¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
- &os; ¤¬¥Ç¥£¥¹¥¯¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
- 2 ¤Ä¤Î°ìÈÌŪ¤Ê¾õ¶·¤¬¤¢¤ê¤Þ¤¹¡£¤É¤Á¤é¤Î¾ì¹ç¤Ç¤â¡¢
- ¥ë¡¼¥È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¤É¤³¤Ë¤¢¤ë¤«¤ò &os; ¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
- BIOS ¥Ç¥£¥¹¥¯ÈÖ¹æ¤È¡¢¥Ç¥£¥¹¥¯¤Î¥¿¥¤¥×¤ª¤è¤Ó¤½¤Î¥Ç¥£¥¹¥¯¥¿¥¤¥×¤ËÂФ¹¤ë
- &os; ¥Ç¥£¥¹¥¯ÈÖ¹æ¤òÀßÄꤹ¤ë¤³¤È¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£
- </para>
+ <para>¤³¤ÎÌäÂ꤬µ¯¤­¤¿¾ì¹ç¤Ë¤Ï¡¢
+ BIOS ¥Ç¥£¥¹¥¯Èֹ桢¥Ç¥£¥¹¥¯¤Î¥¿¥¤¥×¤ª¤è¤Ó¤½¤Î¥Ç¥£¥¹¥¯¥¿¥¤¥×¤ËÂФ¹¤ë
+ &os; ¥Ç¥£¥¹¥¯ÈÖ¹æ¤òÀßÄꤹ¤ë¤³¤È¤Ç¡¢
+ ¥ë¡¼¥È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¤É¤³¤Ë¤¢¤ë¤«¤ò &os; ¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
- <para>ºÇ½é¤Î¾õ¶·¤Ï¡¢¥·¥¹¥Æ¥à¤Ë¤½¤ì¤¾¤ì IDE ¥Ð¥¹¤Î¥Þ¥¹¥¿¤ËÀܳ¤µ¤ì¤¿
- 2 ¤Ä¤Î IDE ¥Ç¥£¥¹¥¯¤¬¤¢¤ê¡¢2 ÈÖÌܤΥǥ£¥¹¥¯¤«¤é &os; ¤òµ¯Æ°¤¹¤ë¾ì¹ç¤Ç¤¹¡£
+ <para>¥·¥¹¥Æ¥à¤Î¤½¤ì¤¾¤ì IDE ¥Ð¥¹¤Î¥Þ¥¹¥¿¤ËÀܳ¤µ¤ì¤¿
+ 2 ¤Ä¤Î IDE ¥Ç¥£¥¹¥¯¤¬¤¢¤ê¡¢2 ÈÖÌܤΥǥ£¥¹¥¯¤«¤é
+ &os; ¤òµ¯Æ°¤¹¤ë¾ì¹ç¤ò¹Í¤¨¤Þ¤¹¡£
BIOS ¤Ï¡¢¤³¤ì¤é¤Î¥Ç¥Ð¥¤¥¹¤ò¥Ç¥£¥¹¥¯ 0 ¤ª¤è¤Ó ¥Ç¥£¥¹¥¯ 1 ¤Èǧ¼±¤·¡¢
°ìÊý &os; ¤Ï¡¢<devicename>ad0</devicename> ¤ª¤è¤Ó
<devicename>ad2</devicename> ¤Èǧ¼±¤·¤Þ¤¹¡£</para>
<para>BIOS ¥Ç¥£¥¹¥¯ 1 ¤Ë &os; ¤¬¤¢¤ê¡¢
¥Ç¥£¥¹¥¯¥¿¥¤¥×¤¬ <literal>ad</literal> ¤Ç¡¢
&os; ¥Ç¥£¥¹¥¯Èֹ椬 2 ¤Î¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£</para>
<screen><userinput>1:ad(2,a)kernel</userinput></screen>
<para>¥×¥é¥¤¥Þ¥ê¥Ð¥¹¤Ë¥¹¥ì¡¼¥Ö¤¬Àܳ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
- ¾åµ­¤ÏɬÍפ¢¤ê¤Þ¤»¤ó (¼ÂºÝ¾å¡¢´Ö°ã¤¤¤Ç¤¹)¡£</para>
+ ¾åµ­¤ÏɬÍפʤ¯¡¢Å¬ÀڤǤϤ¢¤ê¤Þ¤»¤ó¡£</para>
<para>2 ÈÖÌܤξõ¶·¤Ï¡¢¥·¥¹¥Æ¥à¤Ë 1 ¤Ä¤Þ¤¿¤Ï¤½¤ì°Ê¾å¤Î
IDE ¥Ç¥£¥¹¥¯¤¬¤¢¤ë¤È¤­¤Ë¡¢SCSI ¥Ç¥£¥¹¥¯¤«¤éµ¯Æ°¤¹¤ë¤è¤¦¤Ê¾ì¹ç¤Ç¤¹¡£
¤³¤Î¤è¤¦¤Ê¥±¡¼¥¹¤Ç¤Ï¡¢&os; ¥Ç¥£¥¹¥¯ÈÖ¹æ¤Ï¡¢
BIOS ¥Ç¥£¥¹¥¯ÈÖ¹æ¤è¤ê¾®¤µ¤ÊÈÖ¹æ¤Ë¤Ê¤ê¤Þ¤¹¡£
2 ¤Ä¤Î IDE ¥Ç¥£¥¹¥¯¤È SCSI ¥Ç¥£¥¹¥¯¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢
- SCSI ¥Ç¥£¥¹¥¯¤Ï BIOS ¥Ç¥£¥¹¥¯ 2 ¤Ç¤¢¤ê¡¢
- ¥Ç¥£¥¹¥¯¥¿¥¤¥×¤¬ <literal>da</literal>¡¢&os; ¥Ç¥£¥¹¥¯Èֹ椬 0 ¤È¤Ê¤ë¤Î¤Ç¡¢
+ SCSI ¥Ç¥£¥¹¥¯¤Ï BIOS ¥Ç¥£¥¹¥¯ 2¡¢
+ ¥¿¥¤¥× <literal>da</literal>¡¢
+ &os; ¥Ç¥£¥¹¥¯Èֹ椬 0 ¤È¤Ê¤ë¤¿¤á¡¢
&os; ¤Ë BIOS ¥Ç¥£¥¹¥¯ 2 (¥·¥¹¥Æ¥à¤Î 1 ÈÖÌܤΠSCSI ¥Ç¥£¥¹¥¯)
¤«¤éµ¯Æ°¤¹¤ë¤è¤¦¤ËÀßÄꤹ¤ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
<screen><userinput>2:da(0,a)kernel</userinput></screen>
<para>IDE ¥Ç¥£¥¹¥¯¤¬ 1 ¤Ä¤Î¾ì¹ç¤Ë¤Ï¡¢
- Âå¤ï¤ê¤Ë <literal>1:</literal> ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
+ ¤«¤ï¤ê¤Ë <literal>1:</literal> ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>»ÈÍѤ¹¤ëŬÀÚ¤ÊÃͤ¬·è¤Þ¤Ã¤¿¤é¡¢
- Ä̾ï¤Î¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤ò»È¤Ã¤Æ¡¢¥³¥Þ¥ó¥É¤òÆþÎϤ·¤¿Ä̤ê¤Ë
- <filename>/boot.config</filename> ¥Õ¥¡¥¤¥ë¤ËÀµ³Î¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
+ ¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤ò»È¤Ã¤Æ¡¢¥³¥Þ¥ó¥É¤ò
+ <filename>/boot.config</filename> ¤Ëµ­½Ò¤·¤Æ¤¯¤À¤µ¤¤¡£
¾¤Ë»ØÄ꤬¤Ê¤±¤ì¤Ð¡¢&os; ¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò¡¢
¥Ç¥Õ¥©¥ë¥È¤Î <literal>boot:</literal>
¥×¥í¥ó¥×¥È¤Ø¤Î¥ì¥¹¥Ý¥ó¥¹¤È¤·¤Æ»È¤¤¤Þ¤¹¡£</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸å¡¢¥Ï¡¼¥É¥¦¥§¥¢¤«¤éµ¯Æ°¤·¤Þ¤·¤¿¤¬¡¢
- ¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢¤¤¤Ä¤â¥Ö¡¼¥È¥á¥Ë¥å¡¼¤Ç
+ ¥Ö¡¼¥È¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢¥Ö¡¼¥È¥á¥Ë¥å¡¼¤Ç
<literal>F?</literal> ¤òɽ¼¨¤·¡¢¤½¤ì°Ê¾åµ¯Æ°¤¬¿Ê¤ß¤Þ¤»¤ó¡£</para>
</question>
<answer>
<para> &os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¡¢
¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¨¥Ç¥£¥¿¤Ç»ØÄꤷ¤¿¥Ï¡¼¥É¥¦¥§¥¢¤Î¥Ç¥£¥¹¥¯¥¸¥ª¥á¥È¥ê¤¬Àµ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£
¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¨¥Ç¥£¥¿¤Þ¤ÇÌá¤ê¡¢
¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤ÎÀµ¤·¤¤¥¸¥ª¥á¥È¥ê¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
- Àµ¤·¤¤¥¸¥ª¥á¥È¥ê¤ÎÀßÄê¤Ç¤â¤¦°ìÅٺǽ餫¤é &os;
- ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
+ ¥¸¥ª¥á¥È¥ê¤òÀµ¤·¤¯ÀßÄꤹ¤ë½ê¤«¤é &os;
+ ¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
- <para>»ÈÍѤ·¤Æ¤¤¤ë¥³¥ó¥Ô¥å¡¼¥¿¤ÎÀµ¤·¤¤¥¸¥ª¥á¥È¥ê¤¬¤Þ¤Ã¤¿¤¯¤ï¤«¤é¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
- °Ê²¼¤Î¤è¤¦¤Ê tip ¤¬¤¢¤ê¤Þ¤¹¡£
- ¥Ç¥£¥¹¥¯¤ÎºÇ½é¤Ë¾®¤µ¤Ê &ms-dos; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢
- ¤½¤Î¸å &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥°¥é¥à¤Ï &ms-dos; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òǧ¼±¤·¡¢
- ¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤«¤éÀµ¤·¤¤¥¸¥ª¥á¥È¥ê¤ò¿ä¬¤·¤Þ¤¹¡£
- Ä̾ï¤Ï¤³¤ì¤Ç¤¦¤Þ¤¯¤¤¤­¤Þ¤¹¡£</para>
-
- <para>¼¡¤Î tip ¤Ï¡¢¤â¤Ï¤ä¿ä¾©¤µ¤ì¤Þ¤»¤ó¤¬¡¢
- »²¹Í¤Î¤¿¤á¤Ë»Ä¤·¤Æ¤ª¤­¤Þ¤¹¡£</para>
-
- <blockquote>
- <para>&os; ÀìÍѤΥµ¡¼¥Ð¤ä¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥ó¤È¤·¤ÆÀßÄꤷ¡¢
- &ms-dos;, Linux ¤ä¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¤Î¸ß´¹À­¤ò (¾­ÍèŪ¤Ë)
- ¹Í¤¨¤ëɬÍפ¬¤Ê¤±¤ì¤Ð¡¢&os; ¤¬ (¥»¥¯¥¿¤ÎºÇ½é¤«¤éºÇ¸å¤Þ¤Ç)
- ¥Ç¥£¥¹¥¯¤Î¤¹¤Ù¤Æ¤òÍѤ¤¤ëÈóɸ½à¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤¹¤ë¤³¤È¤Ç¡¢
- ¥Ç¥£¥¹¥¯Á´ÂÎ (¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¨¥Ç¥£¥¿¤Ç
- <guimenuitem>A</guimenuitem>) ¤ò»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
- ¤³¤Î¾ì¹ç¤Ë¤Ï¡¢¥¸¥ª¥á¥È¥ê¤Ë¤Ä¤¤¤Æ¹Í¤¨¤ëɬÍפϤʤ¯¤Ê¤ê¤Þ¤¹¤¬¡¢
- &os; °Ê³°¤Ç¥Ç¥£¥¹¥¯¤òÍøÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£</para>
- </blockquote>
+ <para>&os; ÀìÍѤΥ·¥¹¥Æ¥à¤Ç¡¢
+ ¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¤Î¸ß´¹À­¤¬É¬Íפʤ±¤ì¤Ð¡¢
+ ¥¤¥ó¥¹¥È¡¼¥é¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¨¥Ç¥£¥¿¤Ç
+ <guimenuitem>A</guimenuitem>) ¤òÁªÂò¤·¤Æ¡¢
+ ¥Ç¥£¥¹¥¯¤Î¤¹¤Ù¤Æ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>¥·¥¹¥Æ¥à¤¬ &man.ed.4; ¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼¥É¤ò¸¡½Ð¤·¤Þ¤·¤¿¤¬¡¢
¥Ç¥Ð¥¤¥¹¤Î¥¿¥¤¥à¥¢¥¦¥È¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£</para>
</question>
<answer>
<para>»ÈÍѤ·¤Æ¤¤¤ë¥«¡¼¥É¤Î IRQ ¤¬¡¢
<filename>/boot/device.hints</filename>
- ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤵ¤ì¤¿ IRQ ¤È°Û¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
- &man.ed.4; ¥É¥é¥¤¥Ð¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï <quote>¥½¥Õ¥È¥¦¥§¥¢</quote> ¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó
- (&ms-dos; ¤Î EZSETUP ¤ÇÆþÎϤµ¤ì¤¿ÃÍ) ¤òÍѤ¤¤Þ¤»¤ó¡£
- ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥Ò¥ó¥È¾ðÊó¤Ë <literal>-1</literal> ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¡¢
+ ¤Ç»ØÄꤵ¤ì¤¿ IRQ ¤È°Û¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
+ &man.ed.4; ¥É¥é¥¤¥Ð¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï <quote>¥½¥Õ¥È¥¦¥§¥¢</quote>
+ ¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤òÍѤ¤¤Þ¤»¤ó¤¬¡¢
+ ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥Ò¥ó¥È¾ðÊó¤Ë <literal>-1</literal>
+ ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¡¢
¥½¥Õ¥È¥¦¥§¥¢¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤¬ÍѤ¤¤é¤ì¤Þ¤¹¡£</para>
- <para>¥«¡¼¥É¤Î¥¸¥ã¥ó¥Ñ¤òÊѹ¹¤·¤Æ¡¢
- ¥Ï¡¼¥É¥¦¥§¥¢¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤ÎÀßÄê¤ò¹Ô¤¦¤«
- (ɬÍפ¬¤¢¤ì¤Ð¡¢¥«¡¼¥Í¥ë¤ÎÀßÄê¤òÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤)¡¢
+ <para>¥«¡¼¥É¤Î¥¸¥ã¥ó¥Ñ¤òÊѹ¹¤·¤Æ¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤ÎÀßÄê¤ò¹Ô¤¦¤«¡¢
<literal>hint.ed.0.irq="-1"</literal> ¤È»ØÄꤷ¤Æ IRQ ¤Ë
<literal>-1</literal> ¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤
- (¤³¤Î¤è¤¦¤ËÀßÄꤹ¤ë¤È¡¢
- ¥«¡¼¥Í¥ë¤¬¥½¥Õ¥È¥¦¥§¥¢¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤òÍøÍѤ·¤Þ¤¹)¡£</para>
+ ¤³¤Î¤è¤¦¤ËÀßÄꤹ¤ë¤È¡¢
+ ¥«¡¼¥Í¥ë¤¬¥½¥Õ¥È¥¦¥§¥¢¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤òÍøÍѤ·¤Þ¤¹¡£</para>
<para>¤½¤Î¾¤È¤·¤Æ¡¢ÍøÍѤ·¤Æ¤¤¤ë¥«¡¼¥É¤¬ IRQ 9 ¤ò»È¤Ã¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
- ¤³¤Î IRQ ¤Ï IRQ 2 ¤È¶¦Í­¤µ¤ì¡¢¤·¤Ð¤·¤ÐÌäÂê¤ò°ú¤­µ¯¤³¤·¤Þ¤¹
- (ÆÃ¤Ë¡¢IRQ 2 ¤ò»È¤Ã¤Æ¤¤¤ë VGA ¥«¡¼¥É¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï !)¡£
+ ¤³¤Î IRQ ¤Ï IRQ 2 ¤È¶¦Í­¤µ¤ì¡¢
+ ÆÃ¤Ë¡¢IRQ 2 ¤ò»È¤Ã¤Æ¤¤¤ë VGA ¥«¡¼¥É¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
+ ¤·¤Ð¤·¤ÐÌäÂê¤ò°ú¤­µ¯¤³¤·¤Þ¤¹¡£
¤Ç¤­¤ë¤À¤± IRQ 2 ¤ä 9 ¤òÈò¤±¤ë¤Ù¤­¤Ç¤·¤ç¤¦¡£</para>
</answer>
</qandaentry>
<qandaentry>
<question>
- <para>X11 üËö¤«¤é <application>sysinstall</application> ¤ò»È¤¦¤È¡¢
+ <para><application>&xorg;</application> üËö¤«¤é
+ &man.sysinstall.8; ¤ò»È¤¦¤È¡¢
¥é¥¤¥È¥°¥ì¡¼¤ÎÇØ·Ê¤Ë¥Õ¥©¥ó¥È¤¬²«¿§¤Çɽ¼¨¤µ¤ì¡¢ÆÉ¤ß¤º¤é¤¤¤Ç¤¹¡£
- ¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥³¥ó¥È¥é¥¹¥È¤ò¹â¤¯¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¤«
- <indexterm><primary>color</primary><secondary>contrast</secondary>
- </indexterm>?</para>
+ ¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥³¥ó¥È¥é¥¹¥È
+ <indexterm><primary>color</primary>
+ <secondary>contrast</secondary></indexterm>
+ ¤ò¹â¤¯¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤¹¤«?</para>
</question>
<answer>
- <para>¤¹¤Ç¤Ë X11 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤Æ¡¢&man.xterm.1; ¤ä &man.rxvt.1;
- »ÈÍÑ»þ¤Ë¤ª¤±¤ë <application>sysinstall</application>
+ <para><filename
+ role="package">x11/xterm</filename> ¤ä <filename
+ role="package">x11/rxvt</filename>
+ »ÈÍÑ»þ¤Ë¤ª¤±¤ë &man.sysinstall.8;
¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥«¥é¡¼¤¬ÆÉ¤ß¤Ë¤¯¤¤¾ì¹ç¤Ë¤Ï¡¢<literal>XTerm*color7:
#c0c0c0</literal> ¤ò <filename>~/.Xdefaults</filename>
¤ËÄɲ䷤ơ¢¤è¤ê°Å¤¤¥°¥ì¡¼¤ÎÇØ·Ê¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</answer>
</qandaentry>
</qandaset>
</sect2>
</sect1>
<sect1 id="install-advanced">
<sect1info>
<authorgroup>
<author>
<firstname>Valentino</firstname>
<surname>Vaschetto</surname>
- <contrib>Contributed by </contrib>
+ <contrib>´ó¹Æ: </contrib>
</author>
<!-- May 2001 -->
</authorgroup>
<authorgroup>
<author>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
- <contrib>Updated by </contrib>
+ <contrib>²þÄû: </contrib>
</author>
</authorgroup>
<!-- August 2010 -->
</sect1info>
<title>¹âÅ٤ʥ¤¥ó¥¹¥È¡¼¥ë¥¬¥¤¥É</title>
<para>¤³¤ÎÀá¤Ç¤ÏÆÃ¼ì¤Ê¾õ¶·¤Ç¤Î &os; ¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤¬µ­½Ò¤·¤Æ¤¢¤ê¤Þ¤¹¡£</para>
<sect2 id="headless-install">
<title>&os; ¤ò¥â¥Ë¥¿¤ä¥­¡¼¥Ü¡¼¥É¤Î¤Ê¤¤¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë</title>
<indexterm>
<primary>installation</primary>
<secondary>headless (serial console)</secondary>
</indexterm>
<indexterm><primary>serial console</primary></indexterm>
<para>¤³¤Î·Á¼°¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ï <quote>ɽ¼¨¤Î¤Ê¤¤¥¤¥ó¥¹¥È¡¼¥ë</quote> ¤È¸Æ¤Ð¤ì¤Þ¤¹¡£
¤Ê¤¼¤Ê¤é¡¢&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤è¤¦¤È¤¹¤ë¥Þ¥·¥ó¤Ë¥â¥Ë¥¿¤¬Àܳ¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢
- VGA ½ÐÎϤµ¤¨¤â¤Ã¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
- ¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤è¤¤¤Ç¤·¤ç¤¦¤«?
- ¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
- ¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤Ï´ðËÜŪ¤ËÊ̤Υޥ·¥ó¤ò¥·¥¹¥Æ¥à¤Î¼ç¥Ç¥£¥¹¥×¥ì¥¤¤ä¥­¡¼¥Ü¡¼¥É¤È¤·¤Æ»È¤¤¤Þ¤¹¡£
+ VGA ½ÐÎϤò¤â¤Ã¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
+ ¤³¤Î¤è¤¦¤Ê¥·¥¹¥Æ¥à¤Ø¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ï¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤ò»È¤¤¡¢
+ Ê̤Υޥ·¥ó¤ò¥·¥¹¥Æ¥à¤Î¼ç¥Ç¥£¥¹¥×¥ì¥¤¤ä¥­¡¼¥Ü¡¼¥É¤È¤·¤Æ»È¤¦¤È²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤ò¹Ô¤¦¤Ë¤Ï¡¢<xref linkend="install-boot-media"/>
¤ÎÀâÌÀ¤Ë½¾¤¤¡¢¥¤¥ó¥¹¥È¡¼¥ëÍѤΠUSB ¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤òºîÀ®¤¹¤ë¤«¡¢
<xref linkend="install-cdrom"/> ¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¥¤¥ó¥¹¥È¡¼¥ëÍѤÎ
ISO ¥¤¥á¡¼¥¸¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>°Ê²¼¤ÎÀâÌÀ¤Ë½¾¤Ã¤Æ¡¢
¤³¤ì¤é¤Î¥á¥Ç¥£¥¢¤ò¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤ò»È¤Ã¤Æµ¯Æ°¤¹¤ë¤è¤¦¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤
- (CDROM ¤ò»È¤¦¤Î¤Ç¤¢¤ì¤Ð¡¢ºÇ½é¤Î¼ê½ç¤òÈô¤Ð¤·¤Æ¤¯¤À¤µ¤¤)¡£</para>
+ CD/DVD ¥á¥Ç¥£¥¢¤ò»È¤¦¤Î¤Ç¤¢¤ì¤Ð¡¢ºÇ½é¤Î¼ê½ç¤òÈô¤Ð¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<procedure>
<step>
<title>¥¤¥ó¥¹¥È¡¼¥ëÍÑ USB ¥¹¥Æ¥£¥Ã¥¯¤Î¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤Ø¤Îµ¯Æ°¤òÍ­¸ú¤Ë¤¹¤ë</title>
<indexterm>
- <primary><command>mount</command></primary>
+ <primary>&man.mount.8;</primary>
</indexterm>
- <para>ºîÀ®¤·¤¿ USB ¥¹¥Æ¥£¥Ã¥¯¤Çµ¯Æ°¤¹¤ë¤È¡¢
- &os; ¤ÏÄ̾ï¤Î¥¤¥ó¥¹¥È¡¼¥ë¥â¡¼¥É¤Çµ¯Æ°¤·¤Þ¤¹¡£
- ¥¤¥ó¥¹¥È¡¼¥ë¤Ë¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤ò»È¤Ã¤Æ &os; ¤òµ¯Æ°¤·¤¿¤¤¤Î¤Ç¡¢
- ¤½¤Î¤¿¤á¤Ë¤Ï¡¢¤Þ¤º &os; ¤Î¥·¥¹¥Æ¥à¤Ë &man.mount.8;
- ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ USB ¥Ç¥£¥¹¥¯¤ò¥Þ¥¦¥ó¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
+ <para>¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢USB ¥¹¥Æ¥£¥Ã¥¯¤Çµ¯Æ°¤¹¤ë¤È¡¢
+ ¥¤¥ó¥¹¥È¡¼¥é¤òµ¯Æ°¤·¤Þ¤¹
+ ¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤ò»È¤Ã¤Æµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢
+ os; ¤Î¥·¥¹¥Æ¥à¤Ë &man.mount.8;
+ ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ USB ¥Ç¥£¥¹¥¯¤ò¥Þ¥¦¥ó¥È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>mount /dev/<replaceable>da0a</replaceable> <replaceable>/mnt</replaceable></userinput></screen>
<note>
<para>¥Ç¥Ð¥¤¥¹¥Î¡¼¥É¤ª¤è¤Ó¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤ÎÉôʬ¤Ï¡¢
ÍøÍѤ·¤Æ¤¤¤ë´Ä¶­¤Ë¹ç¤ï¤»¤Æ¤¯¤À¤µ¤¤¡£</para>
</note>
<para>¥¹¥Æ¥£¥Ã¥¯¤ò¥Þ¥¦¥ó¥È¤·¤¿¤é¡¢USB
- ¥¹¥Æ¥£¥Ã¥¯¤ò¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤ò»È¤Ã¤Æµ¯Æ°¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
- ¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤ò¥·¥¹¥Æ¥à¤Î¥³¥ó¥½¡¼¥ë¤ËÀßÄꤹ¤ë¹Ô¤ò´Þ¤ó¤À
- <filename>loader.conf</filename> ¥Õ¥¡¥¤¥ë¤ò USB
- ¥¹¥Æ¥£¥Ã¥¯¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËºîÀ®¤·¤Þ¤¹¡£</para>
+ ¥¹¥Æ¥£¥Ã¥¯¤ò¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤ò»È¤Ã¤Æµ¯Æ°¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
+ °Ê²¼¤Î¹Ô¤ò USB ¥¹¥Æ¥£¥Ã¥¯¤Î
+ <filename>/boot/loader.conf</filename> ¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>echo 'console="comconsole"' &gt;&gt; <replaceable>/mnt</replaceable>/boot/loader.conf</userinput></screen>
<para>USB ¥¹¥Æ¥£¥Ã¥¯¤òÀµ¤·¤¯ÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤¿¤é¡¢
- &man.umount.8; ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥Ç¥£¥¹¥¯¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ &man.umount.8; ¤ò»È¤Ã¤Æ¥Ç¥£¥¹¥¯¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>umount <replaceable>/mnt</replaceable></userinput></screen>
<para>¤½¤Î¸å USB ¥¹¥Æ¥£¥Ã¥¯¤òÈ´¤­¡¢3 ÈÖÌܤμê½ç¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£</para>
</step>
<step>
- <title>¥¤¥ó¥¹¥È¡¼¥ëÍÑ CD ¤Î¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤Ø¤Îµ¯Æ°¤òÍ­¸ú¤Ë¤¹¤ë</title>
+ <title>¥¤¥ó¥¹¥È¡¼¥ëÍÑ CD/DVD
+ ¤Î¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤Ø¤Îµ¯Æ°¤òÍ­¸ú¤Ë¤¹¤ë</title>
<indexterm>
- <primary><command>mount</command></primary>
+ <primary>&man.mount.8;</primary>
</indexterm>
- <para>¥¤¥ó¥¹¥È¡¼¥ëÍѤΠISO ¥¤¥á¡¼¥¸ (<xref
- linkend="install-cdrom"/> ¤ò¤´Í÷¤¯¤À¤µ¤¤) ¤«¤éºîÀ®¤·¤¿ CD ¤Çµ¯Æ°¤¹¤ë¤È¡¢
- &os; ¤ÏÄ̾ï¤Î¥¤¥ó¥¹¥È¡¼¥ë¥â¡¼¥É¤Çµ¯Æ°¤·¤Þ¤¹¡£
- ¥¤¥ó¥¹¥È¡¼¥ë¤Ë¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤ò»È¤Ã¤Æ &os; ¤òµ¯Æ°¤·¤¿¤¤¤Î¤Ç¡¢
- ¤½¤Î¤¿¤á¤Ë¤Ï¡¢ISO ¥¤¥á¡¼¥¸¤ò CD-R ¥á¥Ç¥£¥¢¤Ë¾Æ¤¯Á°¤Ë¡¢
+ <para>¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ëÍѤΠCD/DVD
+ ¤Çµ¯Æ°¤¹¤ë¤È¡¢&os; ¤ÏÄ̾ï¤Î¥¤¥ó¥¹¥È¡¼¥ë¥â¡¼¥É¤Çµ¯Æ°¤·¤Þ¤¹¡£
+ ¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤Çµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢
+ ISO ¥¤¥á¡¼¥¸¤ò CD/DVD ¥á¥Ç¥£¥¢¤Ë¾Æ¤¯Á°¤Ë¡¢
Ÿ³«¤·¤Æ¡¢Êѹ¹¤·¡¢ºÆ¤Ó ISO ¥¤¥á¡¼¥¸¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
- <para>¥¤¥ó¥¹¥È¡¼¥ëÍѤΠISO ¥¤¥á¡¼¥¸ (¤³¤³¤Ç¤Ï
- <filename>&os;-<replaceable>&rel.current;</replaceable>-RELEASE-<replaceable>i386</replaceable>-disc1.iso</filename>
- ¤È¤·¤Þ¤¹) ¤¬Êݸ¤µ¤ì¤Æ¤¤¤ë &os; ¤Î¥·¥¹¥Æ¥à¤Ç¡¢
+ <para>¥¤¥ó¥¹¥È¡¼¥ëÍѤΠISO ¥¤¥á¡¼¥¸¤¬Êݸ¤µ¤ì¤Æ¤¤¤ë
+ &os; ¥·¥¹¥Æ¥à¤Ç¡¢
°Ê²¼¤Î¤è¤¦¤Ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò
- &man.tar.1; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»È¤Ã¤ÆÅ¸³«¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ &man.tar.1; ¤ò»È¤Ã¤ÆÅ¸³«¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>mkdir <replaceable>/path/to/headless-iso</replaceable></userinput>
&prompt.root; <userinput>tar -C <replaceable>/path/to/headless-iso</replaceable> -pxvf &os;-<replaceable>&rel.current;</replaceable>-RELEASE-<replaceable>i386</replaceable>-disc1.iso</userinput></screen>
<para>¼¡¤Ë¡¢
¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤ò¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤ò»È¤Ã¤Æµ¯Æ°¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£
- ¥·¥ê¥¢¥ë¥³¥ó¥½¡¼¥ë¤ò¥·¥¹¥Æ¥à¤Î¥³¥ó¥½¡¼¥ë¤ËÀßÄꤹ¤ë¹Ô¤ò´Þ¤ó¤À
- <filename>loader.conf</filename> ¥Õ¥¡¥¤¥ë¤ò¡¢
- Ÿ³«¤·¤¿ ISO ¥¤¥á¡¼¥¸¤ËºîÀ®¤·¤Þ¤¹¡£</para>
+ °Ê²¼¤Î¹Ô¤òŸ³«¤·¤¿ ISO ¥¤¥á¡¼¥¸¤Î
+ <filename>/boot/loader.conf</filename> ¤ËÄɲä·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>echo 'console="comconsole"' &gt;&gt; <replaceable>/path/to/headless-iso</replaceable>/boot/loader.conf</userinput></screen>
- <para>¤½¤Î¸å¡¢½¤Àµ¤µ¤ì¤¿¥Ä¥ê¡¼¤ò»È¤Ã¤Æ ISO ¥¤¥á¡¼¥¸¤òºîÀ®¤·¤Þ¤¹¡£
- °Ê²¼¤Î¤è¤¦¤Ë¡¢<filename
- role="package">sysutils/cdrtools</filename> port ¤Î
- &man.mkisofs.8; ¥Ä¡¼¥ë¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
+ <para>¤½¤Î¸å¡¢½¤Àµ¤µ¤ì¤¿¥Ä¥ê¡¼¤ò»È¤Ã¤Æ¿·¤·¤¤ ISO ¥¤¥á¡¼¥¸¤òºîÀ®¤·¤Þ¤¹¡£
+ ¤³¤ÎÎã¤Ç¤Ï¡¢<filename
+ role="package">sysutils/cdrtools</filename> package ¤Þ¤¿¤Ï port
+ ¤Î &man.mkisofs.8; ¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "<replaceable>Headless_install</replaceable>" \
- -o <replaceable>Headless-</replaceable>&os;-<replaceable>&rel.current;</replaceable>-RELEASE-<replaceable>i386</replaceable>-disc1.iso <replaceable>/path/to/headless-iso</replaceable></userinput></screen>
+ -o <replaceable>Headless-</replaceable>&os;-<replaceable>&rel2.current;</replaceable>-RELEASE-<replaceable>i386</replaceable>-disc1.iso<replaceable>/path/to/headless-iso</replaceable></userinput></screen>
<para>ŬÀÚ¤Ê ISO ¥¤¥á¡¼¥¸¤òºîÀ®¤Ç¤­¤¿¤Î¤Ç¡¢
¤ªµ¤¤ËÆþ¤ê¤Î CD ¥é¥¤¥¿ÍѤΥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò»È¤Ã¤Æ
- CD-R ¤Ë¾Æ¤¤¤Æ¤¯¤À¤µ¤¤¡£</para>
+ CD/DVD ¤Ë¾Æ¤¤¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
<step>
<title>¥Ì¥ë¥â¥Ç¥à¥±¡¼¥Ö¥ë¤ÎÀܳ</title>
<indexterm><primary>¥Ì¥ë¥â¥Ç¥à¥±¡¼¥Ö¥ë</primary></indexterm>
- <para>2 ¤Ä¤Î¥Þ¥·¥ó´Ö¤ò
+ <para>2 ¤Ä¤Î¥Þ¥·¥ó´Ö¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È¤ò¡¢
<!-- <link linkend="term-cables-null">¥Ì¥ë¥â¥Ç¥à¥±¡¼¥Ö¥ë</link> -->
- ¥Ì¥ë¥â¥Ç¥à¥±¡¼¥Ö¥ë
- ¤ÇÀܳ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
- ¥±¡¼¥Ö¥ë¤Ç 2 ¤Ä¤Î¥Þ¥·¥ó¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥ÈƱ»Î¤ò¤Ä¤Ê¤²¤Æ¤¯¤À¤µ¤¤¡£
+ ¥Ì¥ë¥â¥Ç¥à¥±¡¼¥Ö¥ë¤ÇÀܳ¤·¤Æ¤¯¤À¤µ¤¤¡£
<emphasis>ÉáÄ̤Υ·¥ê¥¢¥ë¥±¡¼¥Ö¥ë¤Ï¤³¤³¤Ç¤Ï»È¤¨¤Þ¤»¤ó¡£</emphasis>
- ÆâÉôÇÛÀþ¤Î¤¤¤¯¤Ä¤«¤¬¥¯¥í¥¹¤µ¤ì¤¿¥Ì¥ë¥â¥Ç¥à¥±¡¼¥Ö¥ë¤¬É¬ÍפǤ¹¡£</para>
+ ¥Ì¥ë¥â¥Ç¥à¥±¡¼¥Ö¥ë¤¬É¬ÍפǤ¹¡£</para>
</step>
<step>
<title>¥¤¥ó¥¹¥È¡¼¥ë¤Î¤¿¤á¤Ëµ¯Æ°</title>
<para>¤¤¤è¤¤¤è¥¤¥ó¥¹¥È¡¼¥ë¤ò³«»Ï¤·¤Þ¤¹¡£
- USB ¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤ò¡¢²èÌ̤Τʤ¤¡¢
+ USB ¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤Þ¤¿¤Ï CD/DVD ¥á¥Ç¥£¥¢¤ò¡¢²èÌ̤Τʤ¤¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤ª¤¦¤È¤·¤Æ¤¤¤ë¥Þ¥·¥ó¤ËÁÞÆþ¤·¡¢
- ÅŸ»¤òÅêÆþ¤·¤Æ¤¯¤À¤µ¤¤¡£ºîÀ®¤·¤¿ CDROM ¤ò»È¤¦¾ì¹ç¤Ë¤Ï¡¢
- ¥Þ¥·¥ó¤ÎÅŸ»¤òÅêÆþ¤·¡¢¥Ç¥£¥¹¥¯¤òÁÞÆþ¤·¤Æµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ ÅŸ»¤òÅêÆþ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
<step>
<title>²èÌ̤¬¤Ê¤¤¥Þ¥·¥ó¤Ø¤ÎÀܳ</title>
<indexterm>
- <primary><command>cu</command></primary>
+ <primary>&man.cu.1;</primary>
</indexterm>
<para>&man.cu.1; ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¤¤¿¤¤¥Þ¥·¥ó¤ËÀܳ¤·¤Æ¤¯¤À¤µ¤¤:</para>
<screen>&prompt.root; <userinput>cu -l /dev/cuau0</userinput></screen>
</step>
</procedure>
- <para>¤Ç¤­¤Þ¤·¤¿!
- <command>cu</command> ¤Î¥»¥Ã¥·¥ç¥ó¤òÄ̤·¤Æ²èÌ̤¬¤Ê¤¤¥Þ¥·¥ó¤òÁàºî¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
- ¥¤¥ó¥¹¥È¡¼¥é¤¬ <filename>kern1.flp</filename>
- ¤òÁÞÆþ¤¹¤ë¤è¤¦¤ËÍ׵ᤷ¡¢
- ¤½¤Î¸å¤É¤Î¼ïÎà¤ÎüËö¤ò»È¤¦¤«Áª¤Ö¤è¤¦Ìä¤ï¤ì¤Þ¤¹¡£
+ <para>&man.cu.1;¤òÄ̤·¤Æ²èÌ̤¬¤Ê¤¤¥Þ¥·¥ó¤òÁàºî¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ ¥«¡¼¥Í¥ë¤òÆÉ¤ß¹þ¤ß¡¢
+ ¤½¤Î¸å¤É¤Î¼ïÎà¤ÎüËö¤ò»È¤¦¤«ÁªÂò¤¹¤ë²èÌ̤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
&os; ¥«¥é¡¼¥³¥ó¥½¡¼¥ë¤òÁª¤ó¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤ò³¹Ô¤·¤Æ¤¯¤À¤µ¤¤!</para>
</sect2>
</sect1>
<sect1 id="install-diff-media">
- <title>¼«Ê¬¤Î¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤Î½àÈ÷</title>
+ <title>¥«¥¹¥¿¥à¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤Î½àÈ÷</title>
- <note>
- <para>¾Êά¤Î¤¿¤á¡¢°Ê²¼¤Ë¤ª¤¤¤Æ <quote>&os; ¥Ç¥£¥¹¥¯</quote>¤È¤¤¤¦¤Î¤Ï¡¢
- ¤¢¤Ê¤¿¤¬¹ØÆþ¡¢¤â¤·¤¯¤Ï¼«Ê¬¤ÇºîÀ®¤·¤¿
- &os; ¤Î CDROM ¤Þ¤¿¤Ï DVD ¤Î¤³¤È¤ò°ÕÌ£¤¹¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£</para>
- </note>
+ <para>¤¢¤ë¾õ¶·¤Ç¤Ï¡¢¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿ &os;
+ ¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤ä¥½¡¼¥¹¤òÍѰդ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+ ¤³¤ì¤Ï
+ &man.sysinstall.8;
+ ¤¬¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥¡¥¤¥ë¤ò»ý¤Ã¤Æ¤¯¤ë¤³¤È¤Î¤Ç¤­¤ë¡¢
+ ʪÍýŪ¤Ê¥á¥Ç¥£¥¢¤Ç¤¢¤Ã¤¿¤ê¡¢¥½¡¼¥¹¤Î¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£
+ ¤¿¤È¤¨¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ê¾õ¶·¤Ç¤¹¡£</para>
- <para>¼«Ê¬ÍѤΠ&os; ¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤ä¥½¡¼¥¹¤òÍѰդ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
- ¤³¤ì¤Ï¼§µ¤¥Æ¡¼¥×¤Î¤è¤¦¤ÊʪÍýŪ¤Ê¥á¥Ç¥£¥¢¤Ç¤¢¤Ã¤¿¤ê¡¢
- ¥í¡¼¥«¥ë FTP ¥µ¥¤¥È¤Þ¤¿¤Ï &ms-dos;
- ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¤¤¤Ã¤¿ <application>sysinstall</application>
- ¤¬¥Õ¥¡¥¤¥ë¤ò»ý¤Ã¤Æ¤¯¤ë¤³¤È¤Î¤Ç¤­¤ë¥ê¥½¡¼¥¹¤Î¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£</para>
-
- <para>¤¿¤È¤¨¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ê¾õ¶·¤Ç¤¹¡£</para>
-
<itemizedlist>
<listitem>
- <para>¥í¡¼¥«¥ë¥Í¥Ã¥È¥ï¡¼¥¯¤Ë·Ò¤¬¤Ã¤¿¤¿¤¯¤µ¤ó¤Î¥Þ¥·¥ó¤È¡¢
- 1 ¤Ä¤Î &os; ¥Ç¥£¥¹¥¯¤¬¤¢¤ë¤È¤·¤Þ¤¹¡£
- &os; ¥Ç¥£¥¹¥¯¤ÎÆâÍÆ¤ò»È¤Ã¤Æ¥í¡¼¥«¥ë FTP ¥µ¥¤¥È¤òºîÀ®¤·¡¢
- ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤¹¤ëɬÍפÎÂå¤ï¤ê¤Ë¤³¤Î¥í¡¼¥«¥ë FTP
- ¥µ¥¤¥È¤ò»È¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£</para>
+ <para>¤¿¤¯¤µ¤ó¤Î¥Þ¥·¥ó¤¬·Ò¤¬¤Ã¤¿¥í¡¼¥«¥ë¥Í¥Ã¥È¥ï¡¼¥¯¤Ë
+ &os; ¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥¡¥¤¥ë¤ò»ý¤Ä¥í¡¼¥«¥ë FTP ¥µ¡¼¥Ð¤ò¥Û¥¹¥È¤·¡¢
+ ³Æ¥Þ¥·¥ó¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤³¤Î¥µ¡¼¥Ð¤Î¥Õ¥¡¥¤¥ë¤ò»È¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£</para>
</listitem>
<listitem>
- <para>&os; ¥Ç¥£¥¹¥¯¤ò»ý¤Ã¤Æ¤¤¤Æ¡¢&os; ¤Ï¤¢¤Ê¤¿¤Î
- CD/DVD ¥É¥é¥¤¥Ö¤òǧ¼±¤Ç¤­¤Ê¤¤¤¬¡¢
- &ms-dos; / &windows; ¤Ï¤½¤ì¤¬¤Ç¤­¤ë¤È¤·¤Þ¤¹¡£
- ¥³¥ó¥Ô¥å¡¼¥¿¾å¤Î &ms-dos; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë &os;
+ <para>&os; ¤Ï CD/DVD ¥É¥é¥¤¥Ö¤òǧ¼±¤Ç¤­¤Ê¤¤¤¬¡¢
+ &windows; ¤Ï¤½¤ì¤¬¤Ç¤­¤ë¤È¤·¤Þ¤¹¡£
+ ¤³¤Î¾ì¹ç¡¢Æ±¤¸¥³¥ó¥Ô¥å¡¼¥¿¾å¤Î &windows; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë &os;
¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤Æ¡¢&os;
¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò»È¤¤¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¤¤¿¤¤¥³¥ó¥Ô¥å¡¼¥¿¤¬ CD/DVD
¥É¥é¥¤¥Ö¤ä¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼¥É¤òÅëºÜ¤·¤Æ¤Ê¤¯¤Æ¤â¡¢
- <quote>Laplink ¥¹¥¿¥¤¥ë¤Î</quote>¥·¥ê¥¢¥ë¤Þ¤¿¤Ï¥Ñ¥é¥ì¥ë¥±¡¼¥Ö¥ë¤Ç¡¢
- ¤½¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ËÀܳ¤Ç¤­¤Þ¤¹¡£</para>
+ ¥Ì¥ë¥×¥ê¥ó¥¿¥±¡¼¥Ö¥ë¤òÍѤ¤¤Æ¤½¤Î¥³¥ó¥Ô¥å¡¼¥¿¤ËÀܳ¤Ç¤­¤Þ¤¹¡£</para>
</listitem>
<listitem>
- <para>&os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë»È¤¨¤ë¼§µ¤¥Æ¡¼¥×¤òºîÀ®¤·¤Þ¤¹¡£</para>
+ <para>¼§µ¤¥Æ¡¼¥×¤ò &os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë»È¤¨¤Þ¤¹¡£</para>
</listitem>
</itemizedlist>
<sect2 id="install-cdrom">
- <title>¥¤¥ó¥¹¥È¡¼¥ë CDROM ¤ÎºîÀ®</title>
+ <title>¥¤¥ó¥¹¥È¡¼¥ë ISO ¤ÎºîÀ®</title>
<para>&os; ¥×¥í¥¸¥§¥¯¥È¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥ê¥ê¡¼¥¹¤ËÂФ·¤Æ
- ¾¯¤Ê¤¯¤È¤â 2 ¤Ä¤Î CDROM ¥¤¥á¡¼¥¸ (<quote>ISO ¥¤¥á¡¼¥¸</quote>)
- ¤ò¤½¤ì¤¾¤ì¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤´¤È¤ËÍѰդ·¤Æ¤¤¤Þ¤¹¡£
- CD ¥é¥¤¥¿¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢¥¤¥á¡¼¥¸¤ò CD ¤Ë½ñ¤­¹þ¤à
+ <quote>ISO ¥¤¥á¡¼¥¸</quote>
+ ¤ò¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤´¤È¤ËÍѰդ·¤Þ¤¹¡£
+ ½ñ¤­¹þ¤ßÍѤΥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÍѤ¤¤Æ¥¤¥á¡¼¥¸¤ò CD ¤Þ¤¿¤Ï DVD
+ ¥á¥Ç¥£¥¢¤Ë½ñ¤­¹þ¤à
(<quote>¾Æ¤¯</quote>) ¤³¤È¤¬¤Ç¤­¡¢
¤½¤ì¤ò»È¤Ã¤Æ &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£
- CD ¥é¥¤¥¿¤ò»ý¤Ã¤Æ¤¤¤Æ¡¢¥Ð¥ó¥ÉÉý¤ò°Â¤¯ÍøÍѤǤ­¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
+ CD/DVD ¥é¥¤¥¿¤òÍøÍѤǤ­¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
¤³¤ì¤¬ &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëºÇ¤â´Êñ¤ÊÊýË¡¤Ç¤¹¡£</para>
<procedure>
<step>
<title>ŬÀÚ¤Ê ISO ¥¤¥á¡¼¥¸¤Î¥À¥¦¥ó¥í¡¼¥É</title>
<para>¤½¤ì¤¾¤ì¤Î¥ê¥ê¡¼¥¹¤Î ISO ¥¤¥á¡¼¥¸¤Ï¡¢
<filename>ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-<replaceable>arch</replaceable>/<replaceable>version</replaceable></filename>
¤â¤·¤¯¤Ï¶á¤¯¤Î¥ß¥é¡¼¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£
¤³¤³¤Ç¡¢<replaceable>arch</replaceable> ¤È
<replaceable>version</replaceable> ¤ÎÉôʬ¤ÏŬÀڤʤâ¤Î¤ËÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>Ä̾¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï°Ê²¼¤Î¥¤¥á¡¼¥¸¤¬ÃÖ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£</para>
<table frame="none">
<title>&os;
ISO ¥¤¥á¡¼¥¸¤Î̾Á°¤ÈÆâÍÆ</title>
<tgroup cols="2">
<thead>
<row>
<entry>¥Õ¥¡¥¤¥ë̾</entry>
<entry>ÆâÍÆ</entry>
</row>
</thead>
<tbody>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-bootonly.iso</filename></entry>
- <entry>CD-ROM ¥É¥é¥¤¥Ö¤òÈ÷¤¨¤¿¥Þ¥·¥ó¤Çµ¯Æ°¤Ç¤­¤ë¥¤¥á¡¼¥¸¤Ç¤¹¡£
+ <entry>CD-ROM ¥É¥é¥¤¥Ö¤«¤éµ¯Æ°¤¹¤ë¤³¤È¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë CD ¥¤¥á¡¼¥¸¤Ç¤¹¡£
¤³¤Î CD ¤Î¤ß¤ò»È¤Ã¤Æ &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
- ¤³¤Î CD ¤«¤éµ¯Æ°¤·¤¿¸å¤Ï¡¢(FTP ¥µ¡¼¥Ð¤Ê¤É¤«¤é)
- ¥Í¥Ã¥È¥ï¡¼¥¯·Ðͳ¤Ç¥¤¥ó¥¹¥È¡¼¥ëºî¶È¤ò¤·¤Þ¤¹¡£</entry>
+ ¤³¤Î CD ¤«¤éµ¯Æ°¤·¤¿¸å¤Ï¡¢
+ FTP ¥µ¡¼¥Ð¤Ê¤É¤«¤é¥Í¥Ã¥È¥ï¡¼¥¯·Ðͳ¤Ç¥¤¥ó¥¹¥È¡¼¥ëºî¶È¤ò¤·¤Þ¤¹¡£</entry>
</row>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-dvd1.iso.gz</filename></entry>
<entry>¤³¤Î DVD ¥¤¥á¡¼¥¸¤Ë¤Ï¡¢
&os; ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥Ù¡¼¥¹¥·¥¹¥Æ¥à¡¢
¥³¥ó¥Ñ¥¤¥ëºÑ¤ß¤Î package °ì¼°¡¢
¥É¥­¥å¥á¥ó¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á¤ËɬÍפʤâ¤Î¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£
<quote>livefs</quote> ¥Ù¡¼¥¹¤Î¥ì¥¹¥­¥å¡¼¥â¡¼¥É¤Çµ¯Æ°¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£</entry>
</row>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-memstick.img</filename></entry>
<entry>USB ¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤Ë½ñ¤­¹þ¤á¤ë¥¤¥á¡¼¥¸¤Ç¤¹¡£
- USB ¥É¥é¥¤¥Ö¤«¤é¤Îµ¯Æ°²Äǽ¤Ê¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Ï¡¢
- ¤³¤ì¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
- <quote>livefs</quote> ¥Ù¡¼¥¹¤Î¥ì¥¹¥­¥å¡¼¥â¡¼¥É¤Çµ¯Æ°¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
+ USB ¥É¥é¥¤¥Ö¤«¤éµ¯Æ°²Äǽ¤Ê¥³¥ó¥Ô¥å¡¼¥¿¤Ç¡¢
+ ¥¤¥ó¥¹¥È¡¼¥ë¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ <quote>livefs</quote>
+ ¥Ù¡¼¥¹¤Î¥ì¥¹¥­¥å¡¼¥â¡¼¥É¤Çµ¯Æ°¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
package ¤Ï¡¢¥É¥­¥å¥á¥ó¥È¤Ë´ØÏ¢¤¹¤ë¤â¤Î¤Î¤ß¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£</entry>
</row>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-disc1.iso</filename></entry>
<entry>¤³¤Î CD ¥¤¥á¡¼¥¸¤Ë¤Ï¡¢
&os; ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤È¥É¥­¥å¥á¥ó¥È¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á¤ËɬÍפʤâ¤Î¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¾¤Î package ¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£</entry>
</row>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-disc2.iso</filename></entry>
<entry>¤³¤Î CD ¥¤¥á¡¼¥¸¤Ë¤Ï¡¢¥Ç¥£¥¹¥¯¤Ë¼ý¤Þ¤ëÍÆÎ̤Υµ¡¼¥É¥Ñ¡¼¥Æ¥£À½
package ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î¥¤¥á¡¼¥¸¤Ï¡¢
&os;&nbsp;9.<replaceable>X</replaceable>
°Ê¹ß¤Ç¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£</entry>
</row>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-disc3.iso</filename></entry>
<entry>¥Ç¥£¥¹¥¯¤Ë¼ý¤Þ¤ëÍÆÎ̤Υµ¡¼¥É¥Ñ¡¼¥Æ¥£À½
package ¤ò´Þ¤à¤â¤¦ 1 ¤Ä¤Î CD ¥¤¥á¡¼¥¸¤Ç¤¹¡£¤³¤Î¥¤¥á¡¼¥¸¤Ï¡¢
&os;&nbsp;9.<replaceable>X</replaceable>
°Ê¹ß¤Ç¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£</entry>
</row>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-livefs.iso</filename></entry>
<entry><quote>livefs</quote>
¥Ù¡¼¥¹¤Î¥ì¥¹¥­¥å¡¼¥â¡¼¥É¤Çµ¯Æ°¤Ç¤­¤ë¥¤¥á¡¼¥¸¤Ç¤¹¡£
¤³¤Î CD ¤Î¤ß¤ò»È¤Ã¤Æ¥·¥¹¥Æ¥à¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£</entry>
</row>
</tbody>
</tgroup>
</table>
- <para><literal>bootonly</literal> ISO ¥¤¥á¡¼¥¸¤Þ¤¿¤Ï
- <literal>disc1</literal> ¥¤¥á¡¼¥¸¤Î¤É¤Á¤é¤«¤ò¥À¥¦¥ó¥í¡¼¥É
- <emphasis>¤·¤Ê¤±¤ì¤Ð</emphasis> ¤Ê¤ê¤Þ¤»¤ó¡£
+ <para>CD ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¤Ë¤Ï¡¢
+ <literal>bootonly</literal> ISO ¥¤¥á¡¼¥¸¤Þ¤¿¤Ï
+ <literal>disc1</literal> ¤Î¤É¤Á¤é¤«¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
<literal>disc1</literal> ¤Ë¤Ï¡¢<literal>bootonly</literal>
ISO ¥¤¥á¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤â¤Î¤Ï¤¹¤Ù¤Æ´Þ¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
ξÊý¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£</para>
- <para>¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ø¤Î¥¢¥¯¥»¥¹¤¬°Â¤¯ÍøÍѤǤ­¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
+ <para>¥¤¥ó¥¿¡¼¥Í¥Ã¥È·Ðͳ¤Ç¥Í¥Ã¥È¥ï¡¼¥¯¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¤Ë¤Ï¡¢
<literal>bootonly</literal> ISO ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
- &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢¤½¤Î¸åɬÍפǤ¢¤ì¤Ð¡¢
- ports/packages ¥·¥¹¥Æ¥à (<xref linkend="ports"/> ¤ò¤´Í÷¤¯¤À¤µ¤¤)
- ¤òÍѤ¤¤Æ¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î package
- ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¡¢¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
+ ÄɲäΥ½¥Õ¥È¥§¥¢¤¬É¬ÍפǤ¢¤ì¤Ð¡¢
+ <xref linkend="ports"/> ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë Ports Collection
+ ¤òÍѤ¤¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
- <para>&os; ¤Î¥ê¥ê¡¼¥¹¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢
+ <para>&os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢
¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î package ¤ò¥Ç¥£¥¹¥¯¾å¤«¤éÍøÍѤ·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
<literal>dvd1</literal> ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
-
- <para>¤½¤Î¾¤ÎÄɲäΥǥ£¥¹¥¯¥¤¥á¡¼¥¸¤âÍ­ÍѤǤ¹¤¬¡¢
- ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ø¤Î¥¢¥¯¥»¥¹¤¬¹â®¤Î´Ä¶­¤Ç¤Ï¡¢
- ɬ¿Ü¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£</para>
</step>
<step>
- <title>¥¤¥á¡¼¥¸¤ò CD ¤Ø½ñ¤­¹þ¤à</title>
+ <title>¥á¥Ç¥£¥¢¤Ø¥¤¥á¡¼¥¸¤ò½ñ¤­¹þ¤à</title>
- <para>¼¡¤Ë¡¢CD ¥¤¥á¡¼¥¸¤ò¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤ó¤Ç¤¯¤À¤µ¤¤¡£
- ¾¤Î &os; ¥·¥¹¥Æ¥à¾å¤Ç½ñ¤­¹þ¤ß¤ò¹Ô¤¦¾ì¹ç¤Ë¤Ï¡¢
- <xref linkend="creating-cds"/>
- (ÆÃ¤Ë¡¢<xref linkend="burncd"/> ¤ª¤è¤Ó
- <xref linkend="cdrecord"/>) ¤òÆÉ¤ó¤Ç¡¢
- ¤è¤ê¾Ü¤·¤¤¾ðÊó¤òÆÀ¤Æ¤¯¤À¤µ¤¤¡£</para>
+ <para>¼¡¤Ë¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤¿¥¤¥á¡¼¥¸¤ò¥Ç¥£¥¹¥¯¤Ë½ñ¤­¹þ¤ó¤Ç¤¯¤À¤µ¤¤¡£
+ ¾¤Î &os; ¥·¥¹¥Æ¥à¤Ç½ñ¤­¹þ¤ß¤ò¹Ô¤¦¾ì¹ç¤Ë¤Ï¡¢
+ <xref linkend="burncd"/> ¤ª¤è¤Ó
+ <xref linkend="cdrecord"/> ¤Î¼ê½ç¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¾¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç½ñ¤­¹þ¤ß¤ò¹Ô¤¦¾ì¹ç¤Ë¤Ï¡¢
- ¤½¤Î¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë CD
- ¥é¥¤¥¿ÍѤΥ桼¥Æ¥£¥ê¥Æ¥£¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
+ ¤½¤Î¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë½ñ¤­¹þ¤ßÍѤΥ桼¥Æ¥£¥ê¥Æ¥£¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
Ä󶡤µ¤ì¤Æ¤¤¤ë¥¤¥á¡¼¥¸¤Ïɸ½à¤Î ISO ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤¹¡£Â¿¤¯¤Î CD
¥é¥¤¥¿ÍѤΥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¤³¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£</para>
</step>
</procedure>
<note><para>¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿ &os;
- ¤Î¥ê¥ê¡¼¥¹¤Î¹½Ãۤ˶½Ì£¤¬¤¢¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢<ulink
+ ¤Î¥ê¥ê¡¼¥¹¤ò¹½ÃÛ¤¹¤ë¤Ë¤Ï¡¢<ulink
url="&url.articles.releng;">Release Engineering
Article</ulink> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para></note>
</sect2>
<sect2 id="install-ftp">
<title>&os; ¥Ç¥£¥¹¥¯¤ò»È¤Ã¤¿¥í¡¼¥«¥ë FTP ¥µ¥¤¥È¤ÎºîÀ®</title>
<indexterm>
<primary>installation</primary>
<secondary>network</secondary>
<tertiary>FTP</tertiary>
</indexterm>
<para>&os; ¤Î¥Ç¥£¥¹¥¯¤Ï FTP ¥µ¥¤¥È¤ÈƱ¤¸ÇÛÃÖ¤¬¤Ê¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
- ¤³¤ì¤Ï &os; ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»þ¤Ë¤ª¤¤¤Æ¡¢
- ¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¾¤Î¥Þ¥·¥ó¤¬»È¤¦¤³¤È¤Î¤Ç¤­¤ë¥í¡¼¥«¥ë¤Ê FTP
- ¥µ¥¤¥È¤ò´Êñ¤Ë¹½ÃۤǤ­¤ë¤³¤È¤ò¤¢¤é¤ï¤·¤Æ¤¤¤Þ¤¹¡£</para>
+ ¤½¤Î¤¿¤á¡¢¥í¡¼¥«¥ë¤Ê FTP
+ ¥µ¥¤¥È¤ò¹½ÃÛ¤·¤Æ¡¢¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¾¤Î¥Þ¥·¥ó¤¬ &os;
+ ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤Ë»È¤¦¤è¤¦¤Ë¤Ç¤­¤Þ¤¹¡£</para>
<procedure>
<step>
- <para>FTP ¥µ¥¤¥È¤Î¥Û¥¹¥È¤È¤Ê¤ë &os; ¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ë¤Ï¡¢
- CDROM ¤ò¥É¥é¥¤¥Ö¤ËÆþ¤ì <filename>/cdrom</filename>
- ¤Ë¥Þ¥¦¥ó¥È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ <para>FTP ¥µ¥¤¥È¤Î¥Û¥¹¥È¤È¤Ê¤ë &os; ¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ë¡¢
+ CD/DVD ¤ò¥É¥é¥¤¥Ö¤ËÆþ¤ì¡¢¥Þ¥¦¥ó¥È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>mount /cdrom</userinput></screen>
</step>
<step>
- <para>anonymous FTP ¤Î¥¢¥«¥¦¥ó¥È¤ò <filename>/etc/passwd</filename>
- ¤ËºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£
- <filename>/etc/passwd</filename> ¤ÎÊÔ½¸¤Ë¤Ï &man.vipw.8;
- ¤ò»ÈÍѤ·¤Æ¼¡¤Î¹Ô¤ò²Ã¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
+ <para>anonymous FTP ¤Î¥¢¥«¥¦¥ó¥È¤òºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£
+ &man.vipw.8; ¤ò»ÈÍѤ·¤Æ¼¡¤Î¹Ô¤ò²Ã¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
<programlisting>ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent</programlisting>
</step>
<step>
<para>FTP ¥µ¡¼¥Ó¥¹¤òÀÁ¤±É餦¤¿¤á¤Ë
<filename>/etc/inetd.conf</filename> ¤ÇÍ­¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
</procedure>
- <para>¤¢¤Ê¤¿¤Î¥Þ¥·¥ó¤Ë¥Í¥Ã¥È¥ï¡¼¥¯¤Ç·Ò¤¬¤Ã¤Æ¤¤¤ë¤É¤Î¥Þ¥·¥ó¤â¡¢
+ <para>¤³¤Î¥Þ¥·¥ó¤Ë¥Í¥Ã¥È¥ï¡¼¥¯¤Ç·Ò¤¬¤Ã¤Æ¤¤¤ë¥Þ¥·¥ó¤Ï¡¢
¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¥á¥Ç¥£¥¢¥¿¥¤¥×¤Ç FTP ¤òÁªÂò¤·¡¢
FTP ¥µ¥¤¥È¥á¥Ë¥å¡¼¤Ç <quote>Other</quote> ¤òÁª¤ó¤À¸å
<userinput>ftp://<replaceable>your machine</replaceable></userinput>
¤ÈÂǤÁ¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<note>
- <para>¤â¤· FTP ¥¯¥é¥¤¥¢¥ó¥È¤Îµ¯Æ°¥á¥Ç¥£¥¢ (Ä̾ï¤Ï¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯)
- ¤Î &os; ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ FTP ¥µ¥¤¥È¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¥Ð¡¼¥¸¥ç¥ó¤ÈÀµ³Î¤ËƱ¤¸¤Ç¤Ê¤±¤ì¤Ð¡¢
- <application>sysinstall</application> ¤Ç¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ï¤¦¤Þ¤¯¤¤¤­¤Þ¤»¤ó¡£
- ¤â¤·¥Ð¡¼¥¸¥ç¥ó¤¬°Û¤Ê¤ê¡¢¥Ð¡¼¥¸¥ç¥ó¤ò½ñ¤­´¹¤¨¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
+ <para>¤â¤· FTP ¥¯¥é¥¤¥¢¥ó¥È¤Îµ¯Æ°¥á¥Ç¥£¥¢¤Î
+ &os; ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ FTP ¥µ¥¤¥È¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¥Ð¡¼¥¸¥ç¥ó¤ÈÀµ³Î¤ËƱ¤¸¤Ç¤Ê¤±¤ì¤Ð¡¢
+ &man.sysinstall.8; ¤Ç¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ï¤¦¤Þ¤¯¤¤¤­¤Þ¤»¤ó¡£
+ ¥Ð¡¼¥¸¥ç¥ó¤ò½ñ¤­´¹¤¨¤ë¤Ë¤Ï¡¢
<guimenu>Options</guimenu> ¥á¥Ë¥å¡¼¤Ç distribution name ¤ò
<guimenuitem>any</guimenuitem> ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</note>
<warning>
<para>¤³¤ÎÊýË¡¤Ï¥í¡¼¥«¥ë¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¡¢
- ¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÇÊݸ¤ì¤¿¥Þ¥·¥ó¤ËÍ­ÍѤǤ¹¡£
- ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ò²ð¤·¤¿ (¥í¡¼¥«¥ë¥Í¥Ã¥È¥ï¡¼¥¯¤Ç¤Ï¤Ê¤¤)
- ¾¤Î¥Þ¥·¥ó¤Ë FTP ¥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ë¤³¤È¤Ï¡¢
- ¤¢¤Ê¤¿¤Î¥Þ¥·¥ó¤ò¥¯¥é¥Ã¥«¡¼¤ä¤½¤Î¾¹¥¤Þ¤·¤¯¤Ê¤¤¾õ¶·¤Ë¤µ¤é¤·¤Þ¤¹¡£
- ¤³¤ÎÊýË¡¤òÍѤ¤¤ë¤È¤­¤Ë¤Ï¥»¥­¥å¥ê¥Æ¥£¤Î¾õÂÖ¤ËÃí°Õ¤¹¤ë¤³¤È¤ò
- ¶¯¤¯Äó¸À¤·¤Þ¤¹¡£</para>
+ ¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÇÊݸ¤ì¤¿¥Þ¥·¥ó¤Ç¤ÏÍÆÇ§¤Ç¤­¤Þ¤¹¤¬¡¢
+ ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ò²ð¤·¤ÆÂ¾¤Î¥Þ¥·¥ó¤Ë FTP ¥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ë¤³¤È¤Ï¡¢
+ ¥»¥­¥å¥ê¥Æ¥£¥ê¥¹¥¯¤¬¹â¤Þ¤ê¤Þ¤¹¡£
+ ¥¤¥ó¥¿¡¼¥Í¥Ã¥È·Ðͳ¤Ç¥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ë¾ì¹ç¤Ë¤Ï¡¢
+ ¥»¥­¥å¥ê¥Æ¥£¤Î¾õÂÖ¤ËÃí°Õ¤¹¤ë¤³¤È¤ò¶¯¤¯Äó¸À¤·¤Þ¤¹¡£</para>
</warning>
</sect2>
- <sect2>
- <title>¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥í¥Ã¥Ô¡¼¤ÎºîÀ®</title>
-
- <indexterm>
- <primary>installation</primary>
- <secondary>floppies</secondary>
- </indexterm>
-
- <para>¤¢¤Ê¤¿¤¬¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤«¤é¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç
- (»ä¤¿¤Á¤Ï¤³¤ÎÊýË¡¤ò<emphasis>¤È¤é¤Ê¤¤</emphasis>¤³¤È¤òÄ󰯤·¤Þ¤¹)¡¢
- ¤½¤ÎÍýͳ¤Ï¥Ï¡¼¥É¥¦¥§¥¢¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤Ê¤«¤Ã¤¿¤¿¤á¤«¡¢
- ñ¤Ë¤¤¤Ð¤é¤ÎÆ»¤òÄ̤뤳¤È¤ò³Ú¤·¤ó¤Ç¤¤¤ë¤«¤é¤Ç¤·¤ç¤¦¤¬¡¢
- ¥¤¥ó¥¹¥È¡¼¥ëÍѤΥեí¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤òÍѰդ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
-
- <para>ºÇÄã¤Ç¤â <filename>base</filename>
- ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¤¤¤ì¤é¤ì¤ë¤À¤±¤Î
- 1.44&nbsp;MB ¤Î¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤¬É¬ÍפǤ¹¡£
- ¤³¤ì¤é¤Î¥Õ¥í¥Ã¥Ô¡¼¤ò &ms-dos; ¤ÇºîÀ®¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
- ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ï &ms-dos; ¤Î <command>FORMAT</command>
- ¥³¥Þ¥ó¥É¤Ç½é´ü²½<emphasis>¤µ¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó</emphasis>¡£
- &windows; ¤ò¤ª»È¤¤¤Î¾ì¹ç¤Ë¤Ï¡¢
- ¥¨¥¯¥¹¥×¥í¡¼¥é¡¼¤ò»ÈÍѤ·¤Æ¥Ç¥£¥¹¥¯¤ò½é´ü²½¤·¤Æ¤¯¤À¤µ¤¤
- (<devicename>A:</devicename> ¥É¥é¥¤¥Ö¤ò±¦¥¯¥ê¥Ã¥¯¤·¤Æ¡¢
- <quote>¥Õ¥©¡¼¥Þ¥Ã¥È</quote>¤òÁªÂò¤·¤Þ¤¹)¡£</para>
-
- <para>¹©¾ì¤Ç¤Î½é´ü²½ºÑ¤ß¥Ç¥£¥¹¥¯¤ò¿®ÍÑ<emphasis>¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤</emphasis>¡£
- ǰ¤Î¤¿¤á¼«Ê¬¤Ç¥Õ¥©¡¼¥Þ¥Ã¥È¤·Ä¾¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¥æ¡¼¥¶¤«¤é¤Î¥È¥é¥Ö¥ëÊó¹ð¤Î¿¤¯¤Ï¤­¤Á¤ó¤È¥Õ¥©¡¼¥Þ¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ç¥£¥¹¥¯¤ò»ÈÍѤ·¤¿¤³¤È¤¬¸¶°ø¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
- ¥Õ¥©¡¼¥Þ¥Ã¥È¤·Ä¾¤·¤Æ¤¯¤À¤µ¤¤¤È½Ò¤Ù¤Æ¤¤¤ë¤Î¤Ï¡¢
- ¤³¤¦¤¤¤Ã¤¿Íýͳ¤«¤é¤Ç¤¹¡£</para>
-
- <para>¾¤Î &os; ¥Þ¥·¥ó¤Ç¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤òºîÀ®¤·¤Æ¤¤¤ë¾ì¹ç¡¢
- ¥Õ¥©¡¼¥Þ¥Ã¥È¤¹¤ë¤³¤È¤Ï°­¤¤¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
- ¤¤¤Á¤¤¤Á &ms-dos; ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤òºîÀ®¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢
- <command>bsdlabel</command> ¥³¥Þ¥ó¥É¤È <command>newfs</command> ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢
- ¼¡¤Î¤è¤¦¤Ê¼ê½ç¤Ç (3.5 ¥¤¥ó¥Á 1.44&nbsp;MB ¥Ç¥£¥¹¥¯ÍѤÎ)
- UFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹:</para>
-
- <screen>&prompt.root; <userinput>fdformat -f 1440 fd0.1440</userinput>
-&prompt.root; <userinput>bsdlabel -w fd0.1440 floppy3</userinput>
-&prompt.root; <userinput>newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0</userinput></screen>
-
- <para>¤³¤ì¤Ç¾¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÈƱÍͤË
- mount ¤·¤Æ½ñ¤­¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
-
- <para>¥Õ¥©¡¼¥Þ¥Ã¥È¤µ¤ì¤¿¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤òÍѰդ·¤¿¤é¡¢
- ¤½¤ì¤é¤Ë¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
- ÇÛÉÛ¥Õ¥¡¥¤¥ë¤Ï¤¤¤¯¤Ä¤«¤Î¤«¤¿¤Þ¤ê¤Ë¤ï¤«¤ì¤Æ¤¤¤Æ¡¢
- ¤³¤ì¤é¤«¤¿¤Þ¤ê 5 ¤Ä¤Ç°ìÈÌŪ¤Ê 1.44&nbsp;MB ¤Î¥Õ¥í¥Ã¥Ô¡¼¤Ë¼ý¤Þ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
- ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ËÆþ¤ë¤À¤±¥Õ¥¡¥¤¥ë¤òÆþ¤ì¤Æ¤¤¤Ã¤Æ¡¢
- ÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò¤¹¤Ù¤Æ¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¤½¤ì¤¾¤ì¤ÎÇÛÉÛ¥Õ¥¡¥¤¥ë¤Ï¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
- ¤¿¤È¤¨¤Ð¡¢ <filename>a:\base\base.aa</filename>,
- <filename>a:\base\base.ab</filename> ¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
-
- <important>
- <para><filename>base</filename> ¥»¥Ã¥È¤ÎºÇ½é¤Î¥Õ¥í¥Ã¥Ô¡¼¤Ë¤Ï¡¢
- <filename>base.inf</filename> ¥Õ¥¡¥¤¥ë¤âɬÍפǤ¹¡£
- ¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥°¥é¥à¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¡¢
- ÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò fetch ¤·¡¢Ï¢·ë¤¹¤ëºÝ¤Ë¡¢
- ¤É¤ì¤À¤±¤Î¿ô¤Î¤«¤¿¤Þ¤ê¤Ëʬ¤«¤ì¤Æ¤¤¤ë¤«¤òÍý²ò¤·¤Þ¤¹¡£</para>
- </important>
-
- <para>¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤ÎÁªÂò¾ìÌ̤ˤʤ俤顢
- <guimenuitem>Floppy</guimenuitem> ¤òÁªÂò¤·¤Æ¡¢
- »Ä¤ê¤Î»ØÄê¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
- </sect2>
-
<sect2 id="install-msdos">
- <title>&ms-dos; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤«¤é¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
+ <title>&windows; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤«¤é¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
<indexterm>
<primary>installation</primary>
- <secondary>from MS-DOS</secondary>
+ <secondary>from &windows;</secondary>
</indexterm>
- <para>¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Î &ms-dos; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¤­¤Ë¤Ï¡¢
+ <para>¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Î &windows; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¤­¤Ë¤Ï¡¢
ÇÛÉÛ¥Õ¥¡¥¤¥ë¤òÎ㤨¤Ð <filename>c:\freebsd</filename>
- ¤Ê¤É¤È¤·¤Æ¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î
- <filename>freebsd</filename> ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£
- CDROM ¤ä FTP ¥µ¥¤¥È¤Ë¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤òÈ¿±Ç¤·¤Æ¥³¥Ô¡¼¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
- ¤½¤³¤Ç CD ¤«¤é¥³¥Ô¡¼¤¹¤ë¾ì¹ç¤Ë¤Ï &ms-dos; ¤Î <command>xcopy</command>
- ¥³¥Þ¥ó¥É¤Î»ÈÍѤò¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£
+ ¤Ê¤É¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£
+ ¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤òÈ¿±Ç¤·¤Æ¥³¥Ô¡¼¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤Ç¡¢
+ CD/DVD ¤«¤é¥³¥Ô¡¼¤¹¤ë¾ì¹ç¤Ë¤Ï <command>robocopy</command>
+ ¤Î»ÈÍѤò¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£
Î㤨¤Ð¡¢ºÇÄã¸Â¤Î &os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¤Ë¤Ï¡¢
¼¡¤Î¤è¤¦¤Ë½àÈ÷¤·¤Þ¤¹:</para>
<screen><prompt>C:\&gt;</prompt> <userinput>md c:\freebsd</userinput>
-<prompt>C:\&gt;</prompt> <userinput>xcopy e:\bin c:\freebsd\bin\ /s</userinput>
-<prompt>C:\&gt;</prompt> <userinput>xcopy e:\manpages c:\freebsd\manpages\ /s</userinput></screen>
+<prompt>C:\&gt;</prompt> <userinput>robocopy e:\bin c:\freebsd\bin\ /s</userinput>
+<prompt>C:\&gt;</prompt> <userinput>robocopy e:\manpages c:\freebsd\manpages\ /s</userinput></screen>
<para>¤³¤³¤Ç <devicename>C:</devicename> ¥É¥é¥¤¥Ö¤Ë¤Ï½½Ê¬¤Ê¶õ¤­ÍÆÎ̤¬¤¢¤ê¡¢
- CDROM ¤Ï <devicename>E:</devicename> ¥É¥é¥¤¥Ö¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤È¤·¤Þ¤¹¡£</para>
+ CD/DVD ¤Ï <devicename>E:</devicename>
+ ¥É¥é¥¤¥Ö¤Ë¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤È¤·¤Þ¤¹¡£</para>
- <para>CDROM ¥É¥é¥¤¥Ö¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ <ulink
- url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">ftp.FreeBSD.org</ulink>
- ¤«¤éÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ <para>¤¢¤ë¤¤¤Ï¡¢<ulink
+ url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">ftp.FreeBSD.org</ulink>
+ ¤«¤éÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ì¤¾¤ì¤ÎÇÛÉÛ¥Õ¥¡¥¤¥ë¤ÏÆÈ¼«¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÆþ¤Ã¤Æ¤¤¤Þ¤¹¡£
Î㤨¤Ð¡¢<emphasis>base</emphasis> ÇÛÉÛ¥Õ¥¡¥¤¥ë¤Ï <ulink
- url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/base/">&rel.current;/base/</ulink>
+ url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/base/">&rel2.current;/base/</ulink>
¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£</para>
- <para>&ms-dos; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤«¤é¤¿¤¯¤µ¤ó¤ÎÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤
- (¤½¤·¤Æ¥Ç¥£¥¹¥¯¤ÎÍÆÎ̤¬¤¢¤ë) ¾ì¹ç¡¢
- ¤½¤ì¤¾¤ì <filename>c:\freebsd</filename>
- ¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
- &mdash; <literal>BIN</literal>
- ÇÛÉÛ¥Õ¥¡¥¤¥ë¤Ï¡¢ºÇÄã¸ÂɬÍפʤâ¤Î¤Ç¤¹¡£</para>
+ <para>&windows; ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î <filename
+ class="directory">c:\freebsd</filename>
+ ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤ÎÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£
+ <literal>base</literal> ¤ª¤è¤Ó <literal>kernel</literal>
+ ÇÛÉÛ¥Õ¥¡¥¤¥ë¤Ï¡¢ºÇÄã¸ÂɬÍפǤ¹¡£</para>
</sect2>
<sect2>
- <title>¥¤¥ó¥¹¥È¡¼¥ë¥Æ¡¼¥×¤ÎºîÀ®</title>
-
- <indexterm>
- <primary>installation</primary>
- <secondary>from QIC/SCSI Tape</secondary>
- </indexterm>
-
- <para>¥Æ¡¼¥×¤«¤é¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ï¤ª¤½¤é¤¯ FTP
- ¤òÍøÍѤ·¤¿¥ª¥ó¥é¥¤¥ó¥¤¥ó¥¹¥È¡¼¥ë¤«
- CDROM ¥¤¥ó¥¹¥È¡¼¥ë¤ò½ü¤±¤Ð¤â¤Ã¤È¤â´Êñ¤ÊÊýË¡¤Ç¤·¤ç¤¦¡£
- ¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥°¥é¥à¤Ï¥Õ¥¡¥¤¥ë¤¬Ã±½ã¤Ë tar
- ¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò´üÂÔ¤·¤Þ¤¹¡£
- ɬÍפÊÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò¤¹¤Ù¤ÆÍѰդ·¤¿¤é¡¢
- ¤½¤ì¤é¤ò¥Æ¡¼¥×¾å¤Ëñ½ã¤Ë tar ¤·¤Þ¤¹¡£</para>
-
- <screen>&prompt.root; <userinput>cd /freebsd/distdir</userinput>
-&prompt.root; <userinput>tar cvf /dev/rwt0 dist1 ... dist2</userinput></screen>
-
- <para>¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦ºÝ¡¢
- °ì»þ»ÈÍѥǥ£¥ì¥¯¥È¥ê¤Ë½½Ê¬¤Ê¶õ¤­¥¹¥Ú¡¼¥¹¤ò³ÎÊݤ·¤Æ¡¢
- ºîÀ®¤·¤¿¥Æ¡¼¥×¤Î<emphasis>¤¹¤Ù¤Æ¤Î</emphasis>¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤Ç¤­¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤
- (°ì»þ»ÈÍѥǥ£¥ì¥¯¥È¥ê¤Ï¼«Ê¬¤ÇÁª¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹)¡£
- ¥Æ¡¼¥×¤ÎÆÃÀ­¾å¡¢¥é¥ó¥À¥à¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Î¤Ç¡¢
- °ì»þŪ¤Ë¤­¤ï¤á¤ÆÂçÎ̤ÎÍÆÎ̤òɬÍפȤ·¤Þ¤¹¡£</para>
-
- <note>
- <para>¥¤¥ó¥¹¥È¡¼¥ë¤ò»Ï¤á¤ë»þ¤Ë¤Ï¡¢
- µ¯Æ°¥Õ¥í¥Ã¥Ô¡¼¤«¤éΩ¤Á¾å¤²¤ë<emphasis>Á°¤Ë</emphasis>¥Æ¡¼¥×¤ò¥É¥é¥¤¥Ö¤Ë¤¤¤ì¤Æ¤ª¤«¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
- ¤µ¤â¤Ê¤¤¤È¥¤¥ó¥¹¥È¡¼¥ë»þ¤Î¥Ç¥Ð¥¤¥¹¸¡½Ð»þ¤Ë¥É¥é¥¤¥Ö¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó¡£</para>
- </note>
- </sect2>
-
- <sect2>
<title>¥Í¥Ã¥È¥ï¡¼¥¯·Ðͳ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ÎÁ°¤Ë</title>
<indexterm>
<primary>installation</primary>
<secondary>network</secondary>
<tertiary>serial (PPP)</tertiary>
</indexterm>
<indexterm>
<primary>installation</primary>
<secondary>network</secondary>
<tertiary>parallel (PLIP)</tertiary>
</indexterm>
<indexterm>
<primary>installation</primary>
<secondary>network</secondary>
<tertiary>Ethernet</tertiary>
</indexterm>
<para>3 ¼ïÎà¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
- ¥¤¡¼¥µ¥Í¥Ã¥È (ɸ½àŪ¤Ê¥¤¡¼¥µ¥Í¥Ã¥È¥³¥ó¥È¥í¡¼¥é)¡¢
- ¥·¥ê¥¢¥ë¥Ý¡¼¥È (PPP)¡¢¤Þ¤¿¤Ï¡¢
- ¥Ñ¥é¥ì¥ë¥Ý¡¼¥È (PLIP (laplink ¥±¡¼¥Ö¥ë»ÈÍÑ))
- ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ ¥¤¡¼¥µ¥Í¥Ã¥È¡¢PPP¡¢¤½¤·¤Æ¡¢PLIP ¤Ç¤¹¡£</para>
- <para>¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¹¥È¡¼¥ë¤Î¤¦¤Á¤â¤Ã¤È¤â¹â®¤Ê¤â¤Î¤È¤·¤Æ¡¢
- ¥¤¡¼¥µ¥Í¥Ã¥È¥¢¥À¥×¥¿¤¬¤¤¤Ä¤â¤è¤¤ÁªÂò¤È¤Ê¤ê¤Þ¤¹¡£
+ <para>ºÇ¤â¹â®¤Ê¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¤Ë¤Ï¡¢
+ ¥¤¡¼¥µ¥Í¥Ã¥È¥¢¥À¥×¥¿¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
&os; ¤Ï¤­¤ï¤á¤ÆÂ¿¤¯¤Î PC ¥¤¡¼¥µ¥Í¥Ã¥È¥«¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£
- ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥«¡¼¥É¤Î°ìÍ÷ (¤È¡¢É¬ÍפÊÀßÄê) ¤Ï
+ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥«¡¼¥É¤Î°ìÍ÷¤Ï¡¢
&os; ¤½¤ì¤¾¤ì¤Î¥ê¥ê¡¼¥¹¤Î¥Ï¡¼¥É¥¦¥§¥¢¥Î¡¼¥È¤ÇÄ󶡤µ¤ì¤Þ¤¹¡£
¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë PCMCIA ¥¤¡¼¥µ¥Í¥Ã¥È¥«¡¼¥É¤ò»È¤¦¾ì¹ç¡¢
- ¥é¥Ã¥×¥È¥Ã¥×¤ÎÅŸ»¤òÆþ¤ì¤ë<emphasis>Á°¤Ë</emphasis>º¹¤·¹þ¤ó¤Ç¤ª¤¯¤³¤È¤Ë¤âÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
- »Äǰ¤Ê¤¬¤é¡¢º£¤Î &os; ¤Ï¥¤¥ó¥¹¥È¡¼¥ë»þ¤Î PCMCIA
+ ¥·¥¹¥Æ¥à¤ÎÅŸ»¤òÆþ¤ì¤ë<emphasis>Á°¤Ë</emphasis>º¹¤·¹þ¤ó¤Ç¤ª¤¯¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+ &os; ¤Ï¥¤¥ó¥¹¥È¡¼¥ë»þ¤Î PCMCIA
¥«¡¼¥É¤Î³èÀþÁÞÈ´¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£</para>
- <para>¥Í¥Ã¥È¥ï¡¼¥¯¤Ç¤Î IP ¥¢¥É¥ì¥¹¡¢
- ¥¢¥É¥ì¥¹¥¯¥é¥¹¤ËÂбþ¤·¤¿¥Í¥Ã¥È¥Þ¥¹¥¯¡¢
- ¥Þ¥·¥ó̾¤òÃΤäƤª¤¯¤³¤È¤âɬÍפǤ¹¡£
- PPP Àܳ¤òÍøÍѤ·¤¿¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¤¤¿¤¤¤¬¡¢
- ¸ÇÄê IP ¥¢¥É¥ì¥¹¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤È¤¤¤¦¾ì¹ç¤Ï¡¢
- ISP ¤¬¼«Æ°Åª¤Ë IP ¥¢¥É¥ì¥¹¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£
- ¥Í¥Ã¥È¥ï¡¼¥¯´ÉÍý¼Ô¤Ë¿Ò¤Í¤ì¤Ð¤É¤ó¤ÊÃͤò»È¤Ã¤¿¤é¤è¤¤¤«¶µ¤¨¤Æ¤¯¤ì¤ë¤Ç¤·¤ç¤¦¡£
- ¤â¤·Â¾¤Î¥Û¥¹¥È¤ò IP ¥¢¥É¥ì¥¹¤Ç¤Ï¤Ê¤¯Ì¾Á°¤Ç°ú¤­¤¿¤¤¾ì¹ç¡¢
- ¥Í¡¼¥à¥µ¡¼¥Ð¤È¡¢¤½¤ì¤ò»È¤¦¤¿¤á¤Î¥²¡¼¥È¥¦¥§¥¤¤Î¥¢¥É¥ì¥¹
- (PPP ¤ò¤´»ÈÍѤξì¹ç¤Ï¡¢¥×¥í¥Ð¥¤¥À¤Î IP ¥¢¥É¥ì¥¹¤Ë¤Ê¤ê¤Þ¤¹)
- ¤âÃΤé¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
+ <para>ÀÅŪ¤ËÀßÄꤹ¤ë¾ì¹ç¤Ë¤Ï¡¢¥·¥¹¥Æ¥à¤Î IP ¥¢¥É¥ì¥¹¡¢
+ ¥µ¥Ö¥Í¥Ã¥È¥Þ¥¹¥¯¡¢¥Û¥¹¥È̾¡¢¥Ç¥Õ¥©¥ë¥È¥²¡¼¥È¥¦¥§¥¤¥¢¥É¥ì¥¹¡¢
+ DNS ¥µ¡¼¥Ð¥¢¥É¥ì¥¹¤òÃΤäƤª¤¯¤³¤È¤¬É¬ÍפǤ¹¡£
HTTP ¥×¥í¥­¥··Ðͳ¤Ç FTP ¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¤¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢
¥×¥í¥­¥·¥µ¡¼¥Ð¤Î¥¢¥É¥ì¥¹¤âɬÍפȤʤê¤Þ¤¹¡£
- ¤³¤ì¤é¤Î¤¦¤Á¤¹¤Ù¤Æ¡¢¤Þ¤¿¤Ï¤¤¤¯¤Ä¤«¤òÃΤé¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
+ ¤³¤ì¤é¤Î¾ðÊó¤òÃΤé¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
¥¤¡¼¥µ¥Í¥Ã¥È·Ðͳ¤Ç¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò»Ï¤á¤ë<emphasis>Á°¤Ë</emphasis>¡¢
¥Í¥Ã¥È¥ï¡¼¥¯´ÉÍý¼Ô¤« ISP ¤ËÁêÃ̤¹¤ë¤Ù¤­¤Ç¤·¤ç¤¦¡£</para>
- <para>¤â¤·¥â¥Ç¥à¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢
- »Ä¤µ¤ì¤¿ÁªÂò»è¤Ï¤Û¤Ü´Ö°ã¤¤¤Ê¤¯ PPP ¤Ç¤·¤ç¤¦¡£
- Á᤯Àµ¤·¤¯¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤ËɬÍפȤʤê¤Þ¤¹¤Î¤Ç¡¢
- ¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤Ë´Ø¤¹¤ë¾ðÊó¤òÍѰդ·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£</para>
+ <para>¤â¤·¥À¥¤¥¢¥ë¥¢¥Ã¥×¥â¥Ç¥à¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ê¤é¡¢
+ ¥¤¥ó¥¹¥È¡¼¥ë¥×¥í¥»¥¹¤Î½é´ü¤Ë¥µ¡¼¥Ó¥¹¥×¥í¥Ð¥¤¥À¤Î PPP
+ ¤Î¾ðÊó¤¬É¬ÍפȤʤë¤Î¤Ç¡¢¤³¤Î¾ðÊó¤ò¼ê¸µ¤ËÍѰդ·¤Æ¤¯¤À¤µ¤¤¡£</para>
- <para>¤â¤· ISP ¤ËÀܳ¤¹¤ë¤Î¤Ë PAP ¤ä CHAP
- ¤òÍѤ¤¤ë¤Ê¤é (¸À¤¤´¹¤¨¤ë¤È¡¢¤â¤· &windows; ¤Ç ISP
- ¤ËÀܳ¤¹¤ë»þ¤Ë¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð)¡¢
- <command>dial</command> ¤È <application>ppp</application>
- ¤Î¥×¥í¥ó¥×¥È¤ËÂФ·¤ÆÆþÎϤ¹¤ë¤À¤±¤Ç¤¤¤¤¤Ç¤¹¡£
+ <para>¤â¤· <acronym>ISP</acronym> ¤ËÀܳ¤¹¤ë¤Î¤Ë PAP ¤ä CHAP
+ ¤òÍѤ¤¤Æ¤¤¤Æ¡¢¥¹¥¯¥ê¥×¥È¤ò»ÈÍѤ·¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
+ <command>dial</command> ¤È &os; ¤Î <application>ppp</application>
+ ¤Î¥×¥í¥ó¥×¥È¤ËÂФ·¤ÆÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥â¥Ç¥à¸ÇÍ­¤Î <quote>AT ¥³¥Þ¥ó¥É</quote>¤ò»È¤Ã¤Æ
- ISP ¤Ë¥À¥¤¥ä¥ë¤¹¤ëÊýË¡¤òÃΤäƤª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
- ¤³¤ì¤Ç PPP ¥À¥¤¥ä¥é¤Ï¤È¤Æ¤â¥·¥ó¥×¥ë¤ÊüËö¥¨¥ß¥å¥ì¡¼¥¿¤Î¤ß¤òÄ󶡤·¤Þ¤¹¡£
- ¤³¤ì°Ê¾å¤Î¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï <link linkend="userppp">¥Ï¥ó¥É¥Ö¥Ã¥¯</link>
- ¤ä <ulink url="&url.books.faq;/ppp.html">FAQ</ulink> ¤Î¥æ¡¼¥¶¡¼
- PPP ¥¨¥ó¥È¥ê¡¼¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
- ÌäÂ꤬µ¯¤­¤¿¾ì¹ç¤Ë¤Ï <command>set log local ...</command>
+ <acronym>ISP</acronym> ¤Ë¥À¥¤¥ä¥ë¤¹¤ëÊýË¡¤òÃΤäƤª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
+ PPP ¥À¥¤¥ä¥é¤Ï¤È¤Æ¤â¥·¥ó¥×¥ë¤ÊüËö¥¨¥ß¥å¥ì¡¼¥¿¤·¤«Ä󶡤·¤Æ¤¤¤Þ¤»¤ó¡£
+ ¤³¤ì°Ê¾å¤Î¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï <xref linkend="userppp"/> ¤ä <ulink
+ url="&url.books.faq;/ppp.html"></ulink>
+ ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+ <command>set log local ...</command>
¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¥í¥°¤ò²èÌ̤ËÅǤ¯¤³¤È¤â¤Ç¤­¤Þ¤¹¡£</para>
<para>&os; ¤Îư¤¤¤Æ¤¤¤ëÊ̤Υޥ·¥ó¤ÈľÀÜÀܳ¤¬²Äǽ¤Ç¤·¤¿¤é¡¢
- <quote>laplink</quote> ¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¥±¡¼¥Ö¥ë¤ò²ð¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤â¤Þ¤¿¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£
+ ¥Ì¥ë¥â¥Ç¥à¥Ñ¥é¥ì¥ë¥Ý¡¼¥È¥±¡¼¥Ö¥ë¤ò²ð¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
¥Ñ¥é¥ì¥ë¥Ý¡¼¥È·Ðͳ¤Î¥Ç¡¼¥¿Å¾Á÷¥¹¥Ô¡¼¥É¤Ï¡¢
- ¥·¥ê¥¢¥ë¥é¥¤¥ó¤Ç¤Î°ìÈÌŪ¤Ê¥¹¥Ô¡¼¥É (ºÇ¹â 50&nbsp;kbytes/sec)
- ¤è¤ê¤â¤º¤Ã¤È¹â®¤Ê¤Î¤Ç¡¢¤è¤êÁ᤯¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
+ ¥·¥ê¥¢¥ë¥é¥¤¥ó¤Ç¤Î°ìÈÌŪ¤Ê¥¹¥Ô¡¼¥É¤è¤ê¤â¹â®¤Ç¤¹¡£</para>
<sect3>
- <title>NFS ·Ðͳ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ÎÁ°¤Ë</title>
+ <title><acronym>NFS</acronym> ·Ðͳ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ÎÁ°¤Ë</title>
<indexterm>
<primary>installation</primary>
<secondary>network</secondary>
<tertiary>NFS</tertiary>
</indexterm>
- <para>NFS ¥¤¥ó¥¹¥È¡¼¥ë¤Ï¤Þ¤Ã¤¿¤¯Ã±½ãÌÀ²÷¤Ç¤¹¡£
- &os; ¤ÎÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò NFS ¥µ¡¼¥Ð¤Î¹¥¤­¤Ê¾ì½ê¤Ë¥³¥Ô¡¼¤·¤Æ¤ª¤¤¤Æ¡¢
- ¥á¥Ç¥£¥¢ÁªÂò¤Ç NFS ¤òÁªÂò¤·¤Þ¤¹¡£</para>
+ <para><acronym>NFS</acronym> ¥¤¥ó¥¹¥È¡¼¥ë¤Ï¤Þ¤Ã¤¿¤¯Ã±½ãÌÀ²÷¤Ç¤¹¡£
+ &os; ¤ÎÇÛÉÛ¥Õ¥¡¥¤¥ë¤ò <acronym>NFS</acronym>
+ ¥µ¡¼¥Ð¤Î¹¥¤­¤Ê¾ì½ê¤Ë¥³¥Ô¡¼¤·¤Æ¤ª¤¤¤Æ¡¢
+ ¥¤¥ó¥¹¥È¡¼¥é¤Î¥á¥Ç¥£¥¢ÁªÂò¤Ç <acronym>NFS</acronym>
+ ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¤â¤·¥µ¡¼¥Ð¤¬<quote>ÆÃ¸¢¥Ý¡¼¥È</quote>¤Ø¤Î¥¢¥¯¥»¥¹¤Î¤ß¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¾ì¹ç¡¢
- (Sun ¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥ó¤Îɸ½à¤Ï¤³¤¦¤Ê¤Ã¤Æ¤¤¤Þ¤¹)
¥¤¥ó¥¹¥È¡¼¥ë¤ò¿Ê¤á¤ëÁ°¤Ë <guimenu>Options</guimenu> ¥á¥Ë¥å¡¼¤Ç
<literal>NFS Secure</literal> ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¥¤¡¼¥µ¥Í¥Ã¥È¥«¡¼¥É¤ÎÀ­Ç½¤¬°­¤¯¡¢
žÁ÷®ÅÙ¤¬ÃÙ¤¯¤Æº¤¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
<literal>NFS Slow</literal> ¥Õ¥é¥°¤òÁªÂò¤¹¤ë¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£</para>
- <para>NFS ·Ðͳ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
+ <para><acronym>NFS</acronym> ·Ðͳ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤â´Þ¤ó¤À¥Þ¥¦¥ó¥È¤Ë¥µ¡¼¥Ð¤¬Âбþ¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
Î㤨¤Ð &os;&nbsp;&rel.current; ¤ÎÇÛÉÛ¥Õ¥¡¥¤¥ë¤¬
- <filename>ziggy:/usr/archive/stuff/FreeBSD</filename>
+ <filename
+ class="directory">ziggy:/usr/archive/stuff/FreeBSD</filename>,
¤Ë¤¢¤ë¤È¤¹¤ë¤È¡¢¥Þ¥·¥ó <hostid>ziggy</hostid> ¤Ç¤Ï
- <filename>/usr</filename> ¤ä <filename>/usr/archive/stuff</filename>
- ¤À¤±¤Ç¤Ê¤¯ <filename>/usr/archive/stuff/FreeBSD</filename>
+ <filename class="directory">/usr</filename> ¤ä
+ <filename
+ class="directory">/usr/archive/stuff</filename>
+ ¤À¤±¤Ç¤Ê¤¯ <filename
+ class="directory">/usr/archive/stuff/FreeBSD</filename>
¤ÎľÀÜ¥Þ¥¦¥ó¥È¤¬²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</para>
<para>&os; ¤Î <filename>/etc/exports</filename>
¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢¤³¤Î¤³¤È¤Ï <option>-alldirs</option>
- ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÀ©¸æ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
- ¾¤Î NFS ¥µ¡¼¥Ð¤Î¾ì¹ç¤À¤È¤Þ¤¿Ï䬰ã¤Ã¤Æ¤¯¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
+ ¤Ë¤è¤Ã¤ÆÀ©¸æ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+ ¾¤Î <acronym>NFS</acronym>
+ ¥µ¡¼¥Ð¤Î¾ì¹ç¤À¤È¤Þ¤¿Ï䬰ã¤Ã¤Æ¤¯¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¤â¤·¥µ¡¼¥Ð¤«¤é <errorname>permission denied</errorname>
¤¬Ê֤äƤ¯¤ë¤è¤¦¤Ç¤·¤¿¤é¡¢
¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¥Þ¥¦¥ó¥È¤ò¤Á¤ã¤ó¤ÈÍ­¸ú¤Ë¤Ç¤­¤Æ¤¤¤Ê¤¤¤³¤È¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£</para>
</sect3>
</sect2>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/introduction/chapter.xml
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/introduction/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/introduction/chapter.xml (revision 42804)
@@ -1,977 +1,983 @@
<?xml version="1.0" encoding="euc-jp"?>
<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
- Original revision: r42186
+ Original revision: r42409
$FreeBSD$
-->
<chapter id="introduction">
<chapterinfo>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
- <contrib>²þÄû: </contrib>
+ <contrib>ºÆ¹½À®¡¢ÉôʬŪ¤Ê²þÄû: </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>¤Ï¤¸¤á¤Ë</title>
- <sect1>
+ <sect1 id="introduction-synopsis">
<title>¤³¤Î¾Ï¤Ç¤Ï</title>
<para>&os; ¤Ë¶½Ì£¤ò»ý¤Ã¤Æ¤¤¤¿¤À¤­¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹!
¤³¤Î¾Ï¤Ç¤Ï &os; ¤ÎÎò»Ë¡¢ÌÜɸ¡¢³«È¯¥â¥Ç¥ë¤Ê¤É¡¢
&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤Ë´Ø¤¹¤ë¤µ¤Þ¤¶¤Þ¤Ê»öÊÁ¤ò°·¤¤¤Þ¤¹¡£</para>
<para>¤³¤Î¾Ï¤Ë½ñ¤«¤ì¤Æ¤¤¤ëÏÃÂê¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£</para>
<itemizedlist>
<listitem>
<para>&os; ¤È¤½¤Î¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¤Î°ã¤¤</para>
</listitem>
<listitem>
<para>&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤ÎÎò»Ë</para>
</listitem>
<listitem>
<para>&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤ÎÌÜɸ</para>
</listitem>
<listitem>
<para>&os; ¥ª¡¼¥×¥ó¥½¡¼¥¹³«È¯¥â¥Ç¥ë¤Î´ðËÜŪ¤Ê¹Í¤¨Êý</para>
</listitem>
<listitem>
<para>¤½¤·¤Æ¡¢<quote>&os;</quote> ¤È¤¤¤¦Ì¾Á°¤ÎͳÍè¤Ë¤Ä¤¤¤Æ</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="nutshell">
<title>&os; ¤Ø¤è¤¦¤³¤½!</title>
<indexterm><primary>4.4BSD-Lite</primary></indexterm>
<para>&os; ¤Ï¡¢4.4BSD-Lite
¤«¤éÇÉÀ¸¤·¤¿¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¡¢
Intel (x86 ¤ª¤è¤Ó &itanium;), AMD64,
Sun &ultrasparc; ¥³¥ó¥Ô¥å¡¼¥¿¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£
¾¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ËÂФ¹¤ë°Ü¿¢¤â¿Ê¹ÔÃæ¤Ç¤¹¡£
<link linkend="history">&os; ¤ÎÎò»Ë</link>¤ä¡¢
<link linkend="relnotes">¸½ºß¤Î¥ê¥ê¡¼¥¹¤Ë¤Ä¤¤¤Æ</link>¤âÆÉ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¥×¥í¥¸¥§¥¯¥È¤Ø¤Î²¿¤é¤«¤Î¹×¸¥ (¥½¡¼¥¹¥³¡¼¥É¡¢¥Ï¡¼¥É¥¦¥§¥¢¡¢
»ñ¶â¤ÎÄ󶡤ʤÉ) ¤Ë¤Ä¤¤¤Æ¶½Ì£¤¬¤¢¤ì¤Ð¡¢
<ulink url="&url.articles.contributing;/index.html">&os;
¤Ø¤Î¹×¸¥</ulink>¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
<sect2 id="os-overview">
<title>&os; ¤Ç²¿¤¬¤Ç¤­¤ë¤Î?</title>
<para>&os; ¤Ë¤Ï¿¤¯¤ÎÃíÌܤ¹¤Ù¤­µ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£
Îã¤òµó¤²¤ì¤Ð°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:</para>
<itemizedlist>
<listitem>
- <indexterm><primary>¥×¥ê¥¨¥ó¥×¥Æ¥£¥Ö¥Þ¥ë¥Á¥¿¥¹¥­¥ó¥°</primary></indexterm>
-
- <para>
- Í¥ÀèÅÙ¤òưŪ¤ËÄ´À᤹¤ëµ¡Ç½¤òÈ÷¤¨¤ë¤³¤È¤Ç
+ <para>Í¥ÀèÅÙ¤òưŪ¤ËÄ´À᤹¤ëµ¡Ç½¤òÈ÷¤¨¤ë¤³¤È¤Ç
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¥æ¡¼¥¶¤È¤Î´Ö¤Ç±ß³ê¤«¤Ä¸øÊ¿¤Ê
¥³¥ó¥Ô¥å¡¼¥¿»ñ¸»¶¦Í­¤ò¼Â¸½¤·¡¢
ÆÃ¤Ë¹â¤¤Éé²Ù¤Ë¤âÂѤ¨¤ë¤³¤È¤¬¤Ç¤­¤ë·øÏ´¤µ¤òÈ÷¤¨¤¿
- <emphasis>¥×¥ê¥¨¥ó¥×¥Æ¥£¥Ö¥Þ¥ë¥Á¥¿¥¹¥­¥ó¥°</emphasis>¡£</para>
+ <emphasis>¥×¥ê¥¨¥ó¥×¥Æ¥£¥Ö¥Þ¥ë¥Á¥¿¥¹¥­¥ó¥°</emphasis><indexterm>
+ <primary>¥×¥ê¥¨¥ó¥×¥Æ¥£¥Ö¥Þ¥ë¥Á¥¿¥¹¥­¥ó¥°</primary>
+ </indexterm>¡£</para>
</listitem>
<listitem>
<para>¿¤¯¤Î¿Í¡¹¤¬ 1 ¤Ä¤Î &os;
¥·¥¹¥Æ¥à¤ò¤µ¤Þ¤¶¤Þ¤ÊÌÜŪ¤ÇƱ»þ¤Ë»È¤¦¤³¤È¤ò²Äǽ¤Ë¤¹¤ë
- <emphasis>¥Þ¥ë¥Á¥æ¡¼¥¶µ¡Ç½</emphasis>¡£
+ <emphasis>¥Þ¥ë¥Á¥æ¡¼¥¶µ¡Ç½</emphasis><indexterm>
+ <primary>¥Þ¥ë¥Á¥æ¡¼¥¶µ¡Ç½</primary>
+ </indexterm>¡£
¤³¤ì¤ÏÎ㤨¤Ð¡¢¥×¥ê¥ó¥¿¤ä¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹¤È¤¤¤Ã¤¿¥·¥¹¥Æ¥à¤Î¼þÊÕµ¡´ï¤¬¡¢
¤½¤Î¥·¥¹¥Æ¥à¤òÍøÍѤ¹¤ëÁ´¤Æ¤Î¥æ¡¼¥¶¤À¤±¤Ç¤Ê¤¯
¥Í¥Ã¥È¥ï¡¼¥¯·Ðͳ¤Ë¤ª¤¤¤Æ¤â¼«Á³¤Ê·Á¤Ç¶¦Í­¤µ¤ì¡¢
¤µ¤é¤Ë½ÅÍפʥ·¥¹¥Æ¥à»ñ¸»¤Î»È¤¤²á¤®¤òËɤ°¤¿¤á¤Ë
¸Ä¡¹¤Î»ñ¸»¤ËÂФ¹¤ëÀ©¸Â¤¬¥æ¡¼¥¶Ã±°Ì¡¢
¥°¥ë¡¼¥×ñ°Ì¤ÇÀßÄê¤Ç¤­¤ë¡¢¤È¤¤¤¦¤è¤¦¤Ê¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£
</para>
</listitem>
<listitem>
<para>SCTP ¤ä DHCP, NFS, NIS, PPP, SLIP, IPsec, IPv6
¤È¤¤¤Ã¤¿¶È³¦É¸½àµ¬³Ê¤Î¥µ¥Ý¡¼¥È¤ò´Þ¤ó¤À·ø¸Ç¤Ê
- <emphasis>TCP/IP ¥Í¥Ã¥È¥ï¡¼¥­¥ó¥°</emphasis>¡£
- ¤³¤ì¤Ë¤è¤Ã¤Æ¡¢&os;
+ <emphasis>TCP/IP ¥Í¥Ã¥È¥ï¡¼¥­¥ó¥°</emphasis><indexterm>
+ <primary>TCP/IP ¥Í¥Ã¥È¥ï¡¼¥­¥ó¥°</primary>
+ </indexterm>¡£¤³¤ì¤Ë¤è¤Ã¤Æ¡¢&os;
¥Þ¥·¥ó¤¬¾¦ÍÑ¥µ¡¼¥Ð¤ÈƱ¤¸¤è¤¦¤ËÁê¸ß¤Ë±¿ÍѤǤ­¡¢
NFS (¥ê¥â¡¼¥È¥Õ¥¡¥¤¥ë¥¢¥¯¥»¥¹) ¤ä¡¢
ÅŻҥ᡼¥ë¥µ¡¼¥Ó¥¹¤Î¤è¤¦¤Ê¶Ë¤á¤Æ½ÅÍפʵ¡Ç½¤òÄ󶡤·¤Þ¤¹¡£
¤Þ¤¿¡¢WWW ¤ä FTP, ¥ë¡¼¥Æ¥£¥ó¥°¡¢¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë (¥»¥­¥å¥ê¥Æ¥£)
¥µ¡¼¥Ó¥¹¤òÍѤ¤¤Æ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ÈÀܳ¤Ç¤­¤Þ¤¹¡£</para>
</listitem>
<listitem>
- <indexterm><primary>¥á¥â¥êÊݸî</primary></indexterm>
-
<para>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó (¤¢¤ë¤¤¤Ï¥æ¡¼¥¶) ¤¬¤ª¸ß¤¤¤Ë´³¾Ä¤Ç¤­¤Ê¤¤
- ¤è¤¦¤Ë¤¹¤ë<emphasis>¥á¥â¥êÊݸî</emphasis>µ¡Ç½¡£
+ ¤è¤¦¤Ë¤¹¤ë<emphasis>¥á¥â¥êÊݸî</emphasis><indexterm>
+ <primary>¥á¥â¥êÊݸî</primary>
+ </indexterm>µ¡Ç½¡£
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¥¯¥é¥Ã¥·¥å¤·¤Æ¤â¡¢
¤É¤Î¤è¤¦¤Ê¾ì¹ç¤Ç¤â¾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤Ï±Æ¶Á¤òÍ¿¤¨¤Þ¤»¤ó¡£</para>
</listitem>
<listitem>
- <indexterm>
- <primary>X Window System</primary>
- </indexterm>
-
- <para>¶È³¦É¸½à¤Ç¤¢¤ë <emphasis>X Window ¥·¥¹¥Æ¥à</emphasis>
- (X11R7) ¤Ï¡¢ÉáÄ̤Î
+ <para>¶È³¦É¸½à¤Ç¤¢¤ë <emphasis>X Window
+ ¥·¥¹¥Æ¥à</emphasis><indexterm>
+ <primary>X Window System</primary>
+ </indexterm> (X11R7) ¤Ï¡¢ÉáÄ̤Î
VGA ¥«¡¼¥É¤ä¥â¥Ë¥¿¤Ç¥°¥é¥Õ¥£¥«¥ë¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹ (GUI)
¤òÄ󶡤·¡¢¤¹¤Ù¤Æ¤Î¥½¡¼¥¹¥³¡¼¥É¤â°ì½ï¤ËÄ󶡤µ¤ì¤Þ¤¹¡£</para>
</listitem>
<listitem>
- <indexterm>
- <primary>¥Ð¥¤¥Ê¥ê¸ß´¹À­</primary>
- <secondary>Linux</secondary>
- </indexterm>
- <indexterm>
- <primary>¥Ð¥¤¥Ê¥ê¸ß´¹À­</primary>
- <secondary>SCO</secondary>
- </indexterm>
- <indexterm>
- <primary>¥Ð¥¤¥Ê¥ê¸ß´¹À­</primary>
- <secondary>SVR4</secondary>
- </indexterm>
- <indexterm>
- <primary>¥Ð¥¤¥Ê¥ê¸ß´¹À­</primary>
- <secondary>BSD/OS</secondary>
- </indexterm>
- <indexterm>
- <primary>¥Ð¥¤¥Ê¥ê¸ß´¹À­</primary>
- <secondary>NetBSD</secondary>
- </indexterm>
- <para>Linux ¤ä SCO, SVR4, BSDI, NetBSD
+ <para>
+ <indexterm>
+ <primary>¥Ð¥¤¥Ê¥ê¸ß´¹À­</primary>
+ <secondary>Linux</secondary>
+ </indexterm>
+ <indexterm>
+ <primary>¥Ð¥¤¥Ê¥ê¸ß´¹À­</primary>
+ <secondary>SCO</secondary>
+ </indexterm>
+ <indexterm>
+ <primary>¥Ð¥¤¥Ê¥ê¸ß´¹À­</primary>
+ <secondary>SVR4</secondary>
+ </indexterm>
+ <indexterm>
+ <primary>¥Ð¥¤¥Ê¥ê¸ß´¹À­</primary>
+ <secondary>BSD/OS</secondary>
+ </indexterm>
+ <indexterm>
+ <primary>¥Ð¥¤¥Ê¥ê¸ß´¹À­</primary>
+ <secondary>NetBSD</secondary>
+ </indexterm>
+ Linux ¤ä SCO, SVR4, BSDI, NetBSD
ÍѤ˺î¤é¤ì¤¿Â¿¤¯¤Î¥×¥í¥°¥é¥à¤È¤Î
<emphasis>¥Ð¥¤¥Ê¥ê¸ß´¹À­</emphasis>¡£</para>
</listitem>
<listitem>
<para>²¿Àé¤â¤Î<emphasis>¤¹¤°¤Ë¼Â¹Ô²Äǽ¤Ê</emphasis>
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ &os; ¤Î <emphasis>ports</emphasis> ¤ä
<emphasis>packages</emphasis> ¥³¥ì¥¯¥·¥ç¥ó¤ÇÍøÍѲÄǽ¤Ç¤¹¡£
¤³¤³¤ËÍѰդµ¤ì¤Æ¤¤¤ë¤â¤Î¤Ï¥Í¥Ã¥È¤òõ¤·²ó¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó</para>
</listitem>
<listitem>
<para>¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤ÇÆþ¼ê²Äǽ¤Ê¡¢
<emphasis>°Ü¿¢¤¬ÍưפÊ</emphasis>
²¿Àé¤â¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÄɲäǤ­¤Þ¤¹¡£&os;
¤ÏºÇ¤âɾȽ¤Î¤è¤¤¾¦ÍѤΠ&unix;
¥·¥¹¥Æ¥à¤È¥½¡¼¥¹¥³¡¼¥É¥ì¥Ù¥ë¤Ç¸ß´¹À­¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¤¿¤á¡¢¤Û¤È¤ó¤É¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢
¤â¤·¤¢¤Ã¤¿¤È¤·¤Æ¤â¤Û¤ó¤Î¾¯¤·¤ÎÊѹ¹¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
</listitem>
<listitem>
- <indexterm><primary>²¾ÁÛ¥á¥â¥ê</primary></indexterm>
-
- <para>¥Ç¥Þ¥ó¥É¥Ú¡¼¥¸¥ó¥°<emphasis>²¾ÁÛ¥á¥â¥ê</emphasis>
- ¤È¤½¤ì¤Ë <quote>ÉÕ¿ï¤Î VM/buffer ¥­¥ã¥Ã¥·¥å</quote> ¤ÎÀ߷פϡ¢
+ <para>¥Ç¥Þ¥ó¥É¥Ú¡¼¥¸¥ó¥°<emphasis>²¾ÁÛ¥á¥â¥ê</emphasis><indexterm>
+ <primary>²¾ÁÛ¥á¥â¥ê</primary>
+ </indexterm> ¤È¤½¤ì¤Ë <quote>ÉÕ¿ï¤Î VM/buffer ¥­¥ã¥Ã¥·¥å</quote>
+ ¤ÎÀ߷פϡ¢
¿¤¯¤Î¥á¥â¥ê¤òÍ׵᤹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÂФ·¤Æ
¸úΨ¤è¤¯¥á¥â¥ê¤òÍ¿¤¨¤ë¤è¤¦¤Ë¤¹¤ë°ìÊý¤Ç¡¢
¾¤Î¥æ¡¼¥¶¤ËÂФ·¤Æ¤âÂÐÏÃŪ¤Ê±þÅú¤ò°Ý»ý¤·¤Þ¤¹¡£</para>
</listitem>
<listitem>
- <indexterm>
- <primary>Âоη¿¥Þ¥ë¥Á¥×¥í¥»¥Ã¥·¥ó¥° (SMP)</primary>
- </indexterm>
-
<para>Ê£¿ô¤Î CPU ¤òÅëºÜ¤·¤¿¥Þ¥·¥ó¤Ë¤ª¤±¤ë
- <emphasis>SMP µ¡Ç½</emphasis>¤Î¥µ¥Ý¡¼¥È¡£
- </para>
+ <emphasis>SMP</emphasis><indexterm>
+ <primary>Âоη¿¥Þ¥ë¥Á¥×¥í¥»¥Ã¥·¥ó¥° (SMP)</primary>
+ </indexterm>¤Î¥µ¥Ý¡¼¥È¡£</para>
</listitem>
<listitem>
- <indexterm>
- <primary>¥³¥ó¥Ñ¥¤¥é</primary>
- <secondary>C</secondary>
- </indexterm>
- <indexterm>
- <primary>¥³¥ó¥Ñ¥¤¥é</primary>
- <secondary>C++</secondary>
- </indexterm>
-
- <para>´°Á´¤Ê <emphasis>C</emphasis> ¤ä <emphasis>C++</emphasis>
+ <para>
+ <indexterm>
+ <primary>¥³¥ó¥Ñ¥¤¥é</primary>
+ <secondary>C</secondary>
+ </indexterm>
+ <indexterm>
+ <primary>¥³¥ó¥Ñ¥¤¥é</primary>
+ <secondary>C++</secondary>
+ </indexterm>
+ ´°Á´¤Ê <emphasis>C</emphasis> ¤ä <emphasis>C++</emphasis>
¤Î³«È¯¥Ä¡¼¥ë¡£¿Ê¤ó¤À¸¦µæ¤ä³«È¯¤Î¤¿¤á¤Î¿¤¯¤Î¾¤Î¸À¸ì¤â
ports ¤ä packages ¥³¥ì¥¯¥·¥ç¥ó¤ÇÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
</listitem>
<listitem>
- <indexterm><primary>¥½¡¼¥¹¥³¡¼¥É</primary></indexterm>
-
- <para>¥·¥¹¥Æ¥àÁ´ÂΤÎ<emphasis>¥½¡¼¥¹¥³¡¼¥É</emphasis>
- ¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
+ <para>¥·¥¹¥Æ¥àÁ´ÂΤÎ<emphasis>¥½¡¼¥¹¥³¡¼¥É</emphasis><indexterm>
+ <primary>¥½¡¼¥¹¥³¡¼¥É</primary>
+ </indexterm>¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
Í×µá¤Ë¹ç¤ï¤»¤Æ´Ä¶­¤òºÇÂç¸Â¤ËŬ¹ç¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¿¿¤Î¥ª¡¼¥×¥ó¥·¥¹¥Æ¥à¤¬ÍøÍѤǤ­¤ë¤Î¤Ç¤¹¤«¤é¡¢
½êÍ­¸¢¤Î¤¢¤ë²ò·èÊýË¡¤ËÄù¤á¤Ä¤±¤é¤ì¡¢
¥Ù¥ó¥À¤Î¤Ê¤¹¤¬¤Þ¤Þ¤Ë¤Ê¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£</para>
</listitem>
<listitem>
<para>ËÄÂç¤ÊÎ̤Î
<emphasis>¥ª¥ó¥é¥¤¥ó¥É¥­¥å¥á¥ó¥È</emphasis>¡£</para>
</listitem>
<listitem>
<para><emphasis>¤â¤¦½ñ¤­¤­¤ì¤Þ¤»¤ó!</emphasis></para>
</listitem>
</itemizedlist>
- <indexterm><primary>4.4BSD-Lite</primary></indexterm>
- <indexterm>
- <primary>Computer Systems Research Group (CSRG)</primary>
- </indexterm>
- <indexterm><primary>U.C. Berkeley</primary></indexterm>
<para>&os; ¤Ï¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³Ø¥Ð¡¼¥¯¥ì¥¤¹»¤Î Computer Systems
- Research Group (CSRG) ¤Ë¤è¤ë 4.4BSD-Lite ¥ê¥ê¡¼¥¹¤ò´ð¤Ë¤·¤Æ¤ª¤ê¡¢
+ Research Group (CSRG)<indexterm>
+ <primary>Computer Systems Research Group (CSRG)</primary></indexterm>
+ ¤Ë¤è¤ë 4.4BSD-Lite<indexterm>
+ <primary>4.4BSD-Lite</primary>
+ </indexterm> ¥ê¥ê¡¼¥¹¤ò´ð¤Ë¤·¤Æ¤ª¤ê¡¢
BSD ¥·¥¹¥Æ¥à¤Î³«È¯¤ÎÍ¥¤ì¤¿ÅÁÅý¤ò¼é¤ê³¤±¤Æ¤¤¤Þ¤¹¡£
CSRG ¤Ë¤è¤ëÁÇÀ²¤é¤·¤¤³èư¤Ë²Ã¤¨¤Æ¡¢
&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤Ï²¿Àé»þ´Ö¤â¤Î»þ´Ö¤òÃí¤®¹þ¤ó¤Ç¡¢
¼ÂºÝ¤Î»ÈÍѤξì¤Ë¤ª¤¤¤ÆºÇÂç¤ÎÀ­Ç½¤È¿®ÍêÀ­¤ò
ȯ´ø¤¹¤ë¤¿¤á¤Ë¥·¥¹¥Æ¥à¤Î¥Á¥å¡¼¥Ë¥ó¥°¤ò¤ª¤³¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¿¤¯¤ÎÂç´ë¶È¤¬ PC ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ÎʬÌî¤Ç
¼Â¸½¤·¤è¤¦¤ÈʳƮ¤·¤Æ¤¤¤ë¤½¤Î¤è¤¦¤Êµ¡Ç½¤äÀ­Ç½¡¢¿®ÍêÀ­¤ò
&os; ¤Ï<emphasis>º£¤¹¤°</emphasis>Ä󶡤Ǥ­¤Þ¤¹!</para>
<para>¤¢¤Ê¤¿¤Î»×¤¤¤Ä¤¯¸Â¤ê¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢²¿¤Ç¤â &os;
¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹¡£¥½¥Õ¥È¥¦¥§¥¢³«È¯¤«¤é¥Õ¥¡¥¯¥È¥ê¥ª¡¼¥È¥á¡¼¥·¥ç¥ó¡¢
ºß¸ËÀ©¸æ¤«¤é±ó¤¯Î¥¤ì¤¿¿Í¹©±ÒÀ±¤Î¥¢¥ó¥Æ¥Ê¤ÎÊý¸þÄ´À°¤Þ¤Ç;
¾¦ÍÑ &unix; À½ÉʤǤǤ­¤ë¤³¤È¤Ï¡¢&os; ¤Ç¤â½½Ê¬¤Ë¤Ç¤­¤ë¤Î¤Ç¤¹!
¤Þ¤¿¡¢&os; ¤ÏÀ¤³¦Ãæ¤Î¸¦µæ¥»¥ó¥¿¡¼¤äÂç³Ø¤Ë¤è¤Ã¤Æ³«È¯¤µ¤ì¤ë
ʸ»úÄ̤겿Àé¤â¤Î¹âÉʼÁ¤Ç¡¢¤¿¤¤¤Æ¤¤¤Ï¤Û¤È¤ó¤É̵ÎÁ¤ÇÍøÍѤǤ­¤ë
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤ë²¸·Ã¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¾¦ÍѤΥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤âÄ󶡤µ¤ì¤Æ¤ª¤ê¡¢
Æü¡¹Áý¤¨Â³¤±¤Æ¤¤¤Þ¤¹¡£</para>
<para>&os; ¤Î¥½¡¼¥¹¥³¡¼¥É¤Ï¹­¤¯Ä󶡤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
¥·¥¹¥Æ¥à¤âÆÃÊ̤ʥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä¥×¥í¥¸¥§¥¯¥È¤Ë¹ç¤ï¤»¤Æ¡¢
¤¤¤¯¤é¤Ç¤â¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤Ïͭ̾¤Ê¾¦¶È¥Ù¥ó¥À¤«¤é½Ð¤Æ¤¤¤ë¤Û¤È¤ó¤É¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°
¥·¥¹¥Æ¥à¤Ç¤ÏÉÔ²Äǽ¤Ê¤³¤È¤Ç¤¹¡£°Ê²¼¤Ë¸½ºß &os; ¤ò
»È¤Ã¤Æ¤¤¤ë¿Í¡¹¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÎã¤ò¤¤¤¯¤Ä¤«¾å¤²¤Þ¤¹:</para>
<itemizedlist>
<listitem>
<para><emphasis>¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥µ¡¼¥Ó¥¹:</emphasis>
&os; ¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë ´è¶¯¤Ê TCP/IP
¥Í¥Ã¥È¥ï¡¼¥­¥ó¥°µ¡Ç½¤Ï¼¡¤Î¤è¤¦¤Ê¤µ¤Þ¤¶¤Þ¤Ê
¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥µ¡¼¥Ó¥¹¤ÎÍýÁÛŪ¤Ê¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë¤Ê¤ê¤Þ¤¹:</para>
<itemizedlist>
<listitem>
- <indexterm><primary>FTP ¥µ¡¼¥Ð</primary></indexterm>
-
- <para>FTP ¥µ¡¼¥Ð</para>
+ <para>FTP ¥µ¡¼¥Ð<indexterm>
+ <primary>FTP ¥µ¡¼¥Ð</primary>
+ </indexterm></para>
</listitem>
<listitem>
- <indexterm><primary>web ¥µ¡¼¥Ð</primary></indexterm>
-
- <para>World Wide Web ¥µ¡¼¥Ð (ɸ½à¡¢¤â¤·¤¯¤Ï°ÂÁ´¤Ê [SSL])</para>
+ <para>World Wide Web ¥µ¡¼¥Ð<indexterm>
+ <primary>web ¥µ¡¼¥Ð</primary>
+ </indexterm>
+ (ɸ½à¡¢¤â¤·¤¯¤Ï°ÂÁ´¤Ê [SSL])</para>
</listitem>
<listitem>
<para>IPv4 ¤ª¤è¤Ó IPv6 ¥ë¡¼¥Æ¥£¥ó¥°</para>
</listitem>
<listitem>
- <indexterm><primary>¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë</primary></indexterm>
- <indexterm><primary>NAT</primary></indexterm>
-
- <para>¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤È NAT
+ <para>¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë<indexterm>
+ <primary>¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë</primary>
+ </indexterm>¤È NAT<indexterm>
+ <primary>NAT</primary>
+ </indexterm>
(<quote>IP ¥Þ¥¹¥«¥ì¡¼¥É</quote>) ¥²¡¼¥È¥¦¥§¥¤</para>
</listitem>
<listitem>
- <indexterm>
- <primary>ÅŻҥ᡼¥ë</primary>
- </indexterm>
- <indexterm>
- <primary>email</primary>
- </indexterm>
- <para>ÅŻҥ᡼¥ë¥µ¡¼¥Ð
- </para>
+ <para>
+ <indexterm>
+ <primary>ÅŻҥ᡼¥ë</primary>
+ </indexterm>
+ <indexterm>
+ <primary>email</primary>
+ </indexterm>
+ ÅŻҥ᡼¥ë¥µ¡¼¥Ð</para>
</listitem>
<listitem>
- <indexterm><primary>USENET</primary></indexterm>
-
- <para>USENET ¥Ë¥å¡¼¥¹¤ª¤è¤ÓÅŻҷǼ¨ÈÄ¥·¥¹¥Æ¥à
+ <para>USENET<indexterm>
+ <primary>USENET</primary>
+ </indexterm> ¥Ë¥å¡¼¥¹¤ª¤è¤ÓÅŻҷǼ¨ÈÄ¥·¥¹¥Æ¥à
</para>
</listitem>
<listitem>
<para>¤µ¤é¤Ë¤¤¤í¤¤¤í¡Ä</para>
</listitem>
</itemizedlist>
<para>&os; ¤òÍøÍѤ¹¤ì¤Ð¡¢¾®µ¬ÌϤǰ²Á¤Ê 386 ¥¯¥é¥¹¤Î
PC ¤Ç¤âµ¤·Ú¤ËƳÆþ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤·¡¢
»ö¶È¤ÎÀ®Ä¹¤Ë¹ç¤ï¤»¤Æ¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤¿
4 ¤Ä¤Î Xeon ¥×¥í¥»¥Ã¥µ¤È
RAID ¥¹¥È¥ì¡¼¥¸¥Ç¥Ð¥¤¥¹¤òÈ÷¤¨¤¿¥·¥¹¥Æ¥à¤Ç¤â¡¢
Á´¤¯¤½¤Î¤Þ¤Þ»È¤¦¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¤¹¡£</para>
</listitem>
<listitem>
<para><emphasis>¶µ°é:</emphasis>
¤¢¤Ê¤¿¤Ï¡¢·×»»µ¡²Ê³Ø¤Þ¤¿¤Ï´ØÏ¢Ê¬Ìî¤Î¹©³Ø¤òÀì¹¶¤¹¤ë³ØÀ¸¤µ¤ó¤Ç¤¹¤«?
¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ä¥³¥ó¥Ô¥å¡¼¥¿¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡¢
¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¤Ä¤¤¤Æ³Ø½¬¤¹¤ë¤Ê¤é¡¢
¼ÂºÝ¤Ë &os; ¤Î¥½¡¼¥¹¥³¡¼¥É¤òÆÉ¤ó¤Ç¡¢
¤½¤ì¤¬¤É¤Î¤è¤¦¤Ëưºî¤¹¤ë¤Î¤«¤ò³Ø¤Ö¤Î¤¬°ìÈ֤褤ÊýË¡¤Ç¤¹¡£
¤Þ¤¿¡¢ÌµÎÁ¤ÇÍøÍѤǤ­¤ë CAD ¤ä¿ô³Ø¡¢
¥°¥é¥Õ¥£¥Ã¥¯¥Ç¥¶¥¤¥ó¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬¤¤¤¯¤Ä¤â¤¢¤ë¤Î¤Ç¡¢
¥³¥ó¥Ô¥å¡¼¥¿¤Ë´Ø¤ï¤ë¼çÍפÊÌÜŪ¤¬¡¢
<emphasis>¾</emphasis>¤Î¤³¤È¤ò¤¹¤ë¤³¤È¤Ë¤¢¤ëÊý¤Ë¤â¡¢
Â礤¤ËÌòΩ¤Á¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><emphasis>¸¦µæ:</emphasis>
¥·¥¹¥Æ¥àÁ´ÂΤΥ½¡¼¥¹¥³¡¼¥É¤¬ÍøÍѤǤ­¤ë¤¿¤á¡¢
&os; ¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¸¦µæ¤À¤±¤Ç¤Ê¤¯¡¢
·×»»µ¡²Ê³Ø¤Î¾¤ÎÉôÌç¤Ë¤ª¤¤¤Æ¤âÍ¥¤ì¤¿¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤¹¡£
¼«Í³¤ËÍøÍѤǤ­¤ë &os; ¤ÎÆÃĹ¤Ï¡¢¥ª¡¼¥×¥ó¥Õ¥©¡¼¥é¥à¤Ç
µÄÏÀ¤µ¤ì¤ëÆÃÊ̤ʥ饤¥»¥ó¥¹¤ÎƱ°Õ¤äÀ©¸Â¤Ë¤Ä¤¤¤Æ¿´ÇÛ¤¹¤ë¤³¤È¤Ê¤¯¡¢
Î¥¤ì¤¿¥°¥ë¡¼¥×¤Ç¤â¥¢¥¤¥Ç¥£¥¢¤ä³«È¯¤Î¶¦Í­¤Ë¤è¤ë¶¦Æ±¸¦µæ¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£</para>
</listitem>
<listitem>
- <indexterm><primary>¥ë¡¼¥¿</primary></indexterm>
- <indexterm><primary>DNS ¥µ¡¼¥Ð</primary></indexterm>
-
<para><emphasis>¥Í¥Ã¥È¥ï¡¼¥­¥ó¥°:</emphasis>
- ¿·¤·¤¤¥ë¡¼¥¿¤¬É¬Í×? ¥Í¡¼¥à¥µ¡¼¥Ð (DNS) ¤Ï?
+ ¿·¤·¤¤¥ë¡¼¥¿<indexterm>
+ <primary>¥ë¡¼¥¿</primary>
+ </indexterm>¤¬É¬Í×? ¥Í¡¼¥à¥µ¡¼¥Ð (DNS)<indexterm>
+ <primary>DNS ¥µ¡¼¥Ð</primary>
+ </indexterm> ¤Ï?
ÆâÉô¤Î¥Í¥Ã¥È¥ï¡¼¥¯¤ò¿Í¡¹¤«¤é¼é¤ë¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤Ï?
&os; ¤Ï¤¹¤ß¤Ë̲¤Ã¤Æ¤¤¤ë»È¤ï¤ì¤Æ¤¤¤Ê¤¤ 386 ¤ä 486 ¤Î PC ¤ò´Êñ¤Ë
ÀöÎý¤µ¤ì¤¿¥Ñ¥±¥Ã¥È¥Õ¥£¥ë¥¿¥ê¥ó¥°µ¡Ç½¤ò»ý¤Ä¹âµé¤Ê¥ë¡¼¥¿¤Ë
ÊѤ¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
</listitem>
<listitem>
- <indexterm>
- <primary>X Window System</primary>
- </indexterm>
- <indexterm>
- <primary>X Window System</primary>
- <secondary>Accelerated-X</secondary>
- </indexterm>
- <para><emphasis>X Window ¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥ó:</emphasis>
+ <para>
+ <indexterm>
+ <primary>X Window System</primary>
+ </indexterm>
+ <indexterm>
+ <primary>X Window System</primary>
+ <secondary>Accelerated-X</secondary>
+ </indexterm>
+ <emphasis>X Window ¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥ó:</emphasis>
¼«Í³¤ËÍøÍѤǤ­¤ë X11 ¥µ¡¼¥Ð¤ò»È¤¦¤³¤È¤Ë¤è¤Ã¤Æ¡¢
°Â²Á¤Ê X üËö¤È¤·¤Æ &os; ¤ò»È¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
X üËö¤È¤Ï°ã¤Ã¤Æ &os;
¤Ï¿¤¯¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥í¡¼¥«¥ë¤ËÁö¤é¤»¤ë¤³¤È¤â¤Ç¤­¡¢
Ãæ¿´¤Î¥µ¡¼¥Ð¤ÎÉé²Ù¤ò·Ú¸º¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
&os; ¤Ï<quote>¥Ç¥£¥¹¥¯¥ì¥¹</quote>¤Ç¤â¥Ö¡¼¥È²Äǽ¤Ç¤¢¤ê¡¢
¸Ä¡¹¤Î¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥ó¤ò°Â²Á¤Ç¡¢
ÍÆ°×¤Ë´ÉÍý¤¹¤ë¤³¤È¤µ¤¨²Äǽ¤Ë¤·¤Þ¤¹¡£</para>
</listitem>
<listitem>
- <indexterm><primary>GNU Compiler Collection</primary></indexterm>
-
<para><emphasis>¥½¥Õ¥È¥¦¥§¥¢³«È¯:</emphasis>
- ´ðËÜŪ¤Ê &os; ¥·¥¹¥Æ¥à¤Ë¤Ï¡¢Í­Ì¾¤Ê GNU ¤Î C/C++
+ ´ðËÜŪ¤Ê &os; ¥·¥¹¥Æ¥à¤Ë¤Ï¡¢Í­Ì¾¤Ê GNU ¤Î
+ C/C++<indexterm>
+ <primary>GNU Compiler Collection</primary>
+ </indexterm>
¥³¥ó¥Ñ¥¤¥é¤ä¥Ç¥Ð¥Ã¥¬¤ò´Þ¤ó¤À´°Á´¤Ê³«È¯¥Ä¡¼¥ë¤¬¤Ä¤¤¤Æ¤­¤Þ¤¹¡£</para>
</listitem>
</itemizedlist>
<para>&os; ¤Ï¡¢¥½¡¼¥¹¤È¥Ð¥¤¥Ê¥ê¤ÎξÊý¤È¤â¡¢CD-ROM ¤Þ¤¿¤Ï
anonymous FTP ¤ÇÆþ¼ê²Äǽ¤Ç¤¹¡£
¾Ü¤·¤¯¤Ï <xref linkend="mirrors"/> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="introduction-nutshell-users">
<title>&os; ¤Ï¤É¤³¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹¤«?</title>
<indexterm>
<primary>¥æ¡¼¥¶</primary>
<secondary>&os; ¤òÍøÍѤ·¤Æ¤¤¤ëÂ絬ÌÏ¥µ¥¤¥È</secondary>
</indexterm>
<para>&os; ¤Ï¡¢°Ê²¼¤ËÂåɽ¤µ¤ì¤ë¤è¤¦¤ÊÀ¤³¦ºÇÂ祯¥é¥¹¤Î
IT ²ñ¼Ò¤Î¥Ç¥Ð¥¤¥¹¤ª¤è¤ÓÀ½ÉʤΥץé¥Ã¥È¥Õ¥©¡¼¥à¤È¤·¤ÆÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
- <indexterm><primary>Apple</primary></indexterm>
-
- <para><ulink url="http://www.apple.com/">Apple</ulink></para>
+ <para><ulink
+ url="http://www.apple.com/">Apple</ulink><indexterm>
+ <primary>Apple</primary></indexterm></para>
</listitem>
<listitem>
- <indexterm><primary>Cisco</primary></indexterm>
-
- <para><ulink url="http://www.cisco.com/">Cisco</ulink></para>
+ <para><ulink
+ url="http://www.cisco.com/">Cisco</ulink><indexterm>
+ <primary>Cisco</primary></indexterm></para>
</listitem>
<listitem>
- <indexterm><primary>Juniper</primary></indexterm>
-
- <para><ulink url="http://www.juniper.net/">Juniper</ulink></para>
+ <para><ulink
+ url="http://www.juniper.net/">Juniper</ulink></para>
</listitem>
<listitem>
- <indexterm><primary>NetApp</primary></indexterm>
-
- <para><ulink url="http://www.netapp.com/">NetApp</ulink></para>
+ <para><ulink
+ url="http://www.netapp.com/">NetApp</ulink><indexterm>
+ <primary>NetApp</primary></indexterm></para>
</listitem>
</itemizedlist>
<para>&os; ¤Ï¡¢°Ê²¼¤Î¥µ¥¤¥È¤ËÂåɽ¤µ¤ì¤ë¤è¤¦¤Ê¡¢
¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤ÇºÇÂ祯¥é¥¹¤Î¥µ¥¤¥È¤Ç¤âÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
- <indexterm><primary>Yahoo!</primary></indexterm>
-
- <para><ulink url="http://www.yahoo.com/">Yahoo!</ulink></para>
+ <para><ulink
+ url="http://www.yahoo.com/">Yahoo!</ulink><indexterm>
+ <primary>Yahoo!</primary></indexterm></para>
</listitem>
<listitem>
- <indexterm><primary>Yandex</primary></indexterm>
-
- <para><ulink url="http://www.yandex.ru/">Yandex</ulink></para>
+ <para><ulink
+ url="http://www.yandex.ru/">Yandex</ulink><indexterm>
+ <primary>Yandex</primary></indexterm></para>
</listitem>
<listitem>
- <indexterm><primary>Apache</primary></indexterm>
-
- <para><ulink url="http://www.apache.org/">Apache</ulink></para>
+ <para><ulink
+ url="http://www.apache.org/">Apache</ulink><indexterm>
+ <primary>Apache</primary></indexterm></para>
</listitem>
<listitem>
- <indexterm><primary>Rambler</primary></indexterm>
-
- <para><ulink url="http://www.rambler.ru/">Rambler</ulink></para>
+ <para><ulink
+ url="http://www.rambler.ru/">Rambler</ulink><indexterm>
+ <primary>Rambler</primary></indexterm></para>
</listitem>
<listitem>
- <indexterm><primary>Sina</primary></indexterm>
-
- <para><ulink url="http://www.sina.com/">Sina</ulink></para>
+ <para><ulink
+ url="http://www.sina.com/">Sina</ulink><indexterm>
+ <primary>Sina</primary>
+ </indexterm></para>
</listitem>
<listitem>
- <para><ulink url="http://www.pair.com/">Pair Networks</ulink></para>
+ <para><ulink url="http://www.pair.com/">Pair
+ Networks</ulink><indexterm>
+ <primary>Pair Networks</primary></indexterm></para>
</listitem>
<listitem>
- <para><ulink url="http://www.sony.co.jp/">Sony Japan</ulink></para>
+ <para><ulink url="http://www.sony.co.jp/">Sony
+ Japan</ulink><indexterm>
+ <primary>Sony Japan</primary></indexterm></para>
</listitem>
<listitem>
- <indexterm><primary>Netcraft</primary></indexterm>
-
- <para><ulink url="http://www.netcraft.com/">Netcraft</ulink></para>
+ <para><ulink
+ url="http://www.netcraft.com/">Netcraft</ulink><indexterm>
+ <primary>Netcraft</primary></indexterm></para>
</listitem>
<listitem>
- <indexterm><primary>NetEase</primary></indexterm>
-
- <para><ulink url="http://www.163.com/">NetEase</ulink></para>
+ <para><ulink
+ url="http://www.163.com/">NetEase</ulink><indexterm>
+ <primary>NetEase</primary></indexterm></para>
</listitem>
<listitem>
- <indexterm><primary>Weathernews</primary></indexterm>
-
<para><ulink
- url="http://www.weathernews.com/">Weathernews</ulink></para>
+ url="http://www.weathernews.com/">Weathernews</ulink><indexterm>
+ <primary>Weathernews</primary></indexterm></para>
</listitem>
<listitem>
- <indexterm><primary>TELEHOUSE America</primary></indexterm>
-
<para><ulink url="http://www.telehouse.com/">TELEHOUSE
- America</ulink></para>
+ America</ulink><indexterm>
+ <primary>TELEHOUSE America</primary>
+ </indexterm></para>
</listitem>
<listitem>
- <indexterm><primary>Experts Exchange</primary></indexterm>
-
<para><ulink url="http://www.experts-exchange.com/">Experts
- Exchange</ulink></para>
+ Exchange</ulink><indexterm>
+ <primary>Experts Exchange</primary>
+ </indexterm></para>
</listitem>
-
</itemizedlist>
<para>¤Þ¤¿¡¢¤³¤Î¾¤Ë¤â¤¢¤ê¤Þ¤¹¡£</para>
</sect2>
</sect1>
<sect1 id="history">
<title>&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ</title>
<para>°Ê²¼¤ÎÀá¤Ç¤Ï´Êñ¤ÊÎò»Ë¤ä¥×¥í¥¸¥§¥¯¥È¤ÎÌÜɸ¡¢
³«È¯¥â¥Ç¥ë¤Ê¤É¡¢ÉáÃʤÏɽ¤Ë¤Ç¤Ê¤¤ÏÃÂê¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£</para>
<sect2 id="intro-history">
-
<title>&os; ¾®»Ë</title>
<!-- <para><emphasis>Ìõ: &a.jp.masaki;, &a.jp.hino;.
19 December 1996.</emphasis></para> -->
<indexterm><primary>386BSD Patchkit</primary></indexterm>
<indexterm><primary>Hubbard, Jordan</primary></indexterm>
<indexterm><primary>Williams, Nate</primary></indexterm>
<indexterm><primary>Grimes, Rod</primary></indexterm>
<indexterm>
<primary>FreeBSD ¥×¥í¥¸¥§¥¯¥È</primary>
<secondary>history</secondary>
</indexterm>
<para>&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤Ï 1993 ǯ¤Î»Ï¤á¤Ë Unofficial
386BSD Patchkit ¤ÎºÇ¸å¤Î 3 ¿Í¤Î¤Þ¤È¤áÌò¤Ë¤è¤Ã¤Æ¡¢ÉôʬŪ¤Ë
patchkit ¤«¤éÇÉÀ¸¤¹¤ë·Á¤Ç³«»Ï¤µ¤ì¤Þ¤·¤¿¡£¤³¤³¤Ç¤Î
3 ¿Í¤Î¤Þ¤È¤áÌò¤È¤¤¤¦¤Î¤Ï¡¢Nate Williams, Rod Grimes ¤È¡¢
Jordan Hubbard ¤Ç¤¹¡£</para>
<indexterm><primary>386BSD</primary></indexterm>
<para>¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Î¤â¤È¤â¤È¤ÎÌÜɸ¤Ï¡¢patchkit
¤È¤¤¤¦»ÅÁȤߤǤϤ⤦½½Ê¬¤Ë²ò·è¤Ç¤­¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿ 386BSD
¤Î¿ô¿¤¯¤ÎÌäÂê¤ò½¤Àµ¤¹¤ë¤¿¤á¤Î¡¢386BSD
¤Î»ÃÄêŪ¤Ê¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤·¤¿¡£
¤³¤¦¤¤¤Ã¤¿·Ð°Þ¤ò·Ð¤Æ¤¤¤ë¤Î¤Ç¡¢
¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Î½é´ü¤Îº¢¤Î̾Á°¤Ï 386BSD 0.5 ¤ä
386BSD »ÃÄêÈÇ (Interim) ¤Ç¤·¤¿¡£</para>
<indexterm><primary>Jolitz, Bill</primary></indexterm>
<para>386BSD ¤Ï¡¢Bill Jolitz ¤¬ (ÌõÃí: ¥Ð¡¼¥¯¥ì¥¤ Net/2
¥Æ¡¼¥×¤ò´ð¤Ë) ºîÀ®¤·¤¿¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤¹¡£Åö»þ¤Î
386BSD ¤Ï¡¢¤Û¤Ü°ìǯ¤Ë¤ï¤¿¤Ã¤ÆÊü¤Ã¤Æ¤ª¤«¤ì¤Æ¤¤¤¿ (ÌõÃí:
ºî¼Ô¤¬¥Ð¥°¤ÎÊó¹ð¤ò¼õ¤±¤Æ¤â²¿¤â¤·¤Ê¤«¤Ã¤¿)
¤È¤¤¤¦¤Ò¤É¤¤¾õ¶·¤Ë¶ì¤·¤ó¤Ç¤¤¤Þ¤·¤¿¡£
ºî¼Ô¤ÎÂå¤ï¤ê¤ËÌäÂê¤ò½¤Àµ¤·Â³¤±¤Æ¤¤¤¿ patchkit
¤ÏÆü¤òÄɤ¦¤´¤È¤ËÉÔ²÷¤Ê¤Þ¤Ç¤ËËÄÄ¥¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
¤³¤Î¤è¤¦¤Ê¾õ¶·¤ËÂФ·¤Æ¡¢Èà¤é¤Ï»ÃÄêŪ¤Ê
<quote>¥¯¥ê¡¼¥ó¥¢¥Ã¥×</quote> ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤òºîÀ®¤¹¤ë¤³¤È¤Ç
Bill ¤ò¼ê½õ¤±¤·¤è¤¦¤È·è¤á¤Þ¤·¤¿¡£¤·¤«¤·¡¢
¤³¤Î·×²è¤ÏÅâÆÍ¤Ë½ªÎ»¤·¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£Bill Jolitz ¤¬¡¢
¤³¤Î¥×¥í¥¸¥§¥¯¥È¤ËÂФ¹¤ë¼õ¤±Æþ¤ì»Ù»ý¤ò¼è¤ê²¼¤²¤ë¤³¤È¤òÆÍÁ³·è°Õ¤·¡¢
¤Ê¤ª¤«¤Ä¤³¤Î¥×¥í¥¸¥§¥¯¥È¤ÎÂå¤ï¤ê¤Ë²¿¤ò¤¹¤ë¤Î¤«¤ò°ìÀÚ¸ÀÌÀ¤·¤Ê¤«¤Ã¤¿¤Î¤Ç¤¹¡£</para>
<indexterm><primary>Greenman, David</primary></indexterm>
<indexterm><primary>Walnut Creek CDROM</primary></indexterm>
<para>¤¿¤È¤¨ Bill ¤¬»Ù»ý¤·¤Æ¤¯¤ì¤Ê¤¤¤È¤·¤Æ¤â¡¢
Èà¤é 3 ¿Í¤ÎÌÜɸ¤Ë¤Ï°ÍÁ³¤È¤·¤Æ¤ä¤ë²ÁÃͤ¬¤¢¤ë¤È¹Í¤¨¤Æ¤¤¤¿¤¿¤á¡¢
David Greenman ¤¬¹Í°Æ¤·¤¿Ì¾¾Î <quote>&os;</quote>
¤ò¥×¥í¥¸¥§¥¯¥È¤Î̾Á°¤ËºÎÍѤ·¡¢¿·¤¿¤Ê¥¹¥¿¡¼¥È¤òÀÚ¤ê¤Þ¤·¤¿¡£
¤³¤Î»þÅÀ¤Ç¤Î¥×¥í¥¸¥§¥¯¥È¤Î½é´üÌÜɸ¤Ï¡¢¤¹¤Ç¤Ë¤³¤Î¥·¥¹¥Æ¥à
(ÌõÃí: 386BSD + Patchkit)
¤ò»È¤Ã¤Æ¤¤¤¿ÍøÍѼԤ¿¤Á¤ÈÁêÃ̤·¤Æ·è¤á¤é¤ì¤Þ¤·¤¿¡£
¥×¥í¥¸¥§¥¯¥È¤¬¼Â¸½¤Ë¸þ¤±¤Æµ°Æ»¤Ë¾è¤Ã¤Æ¤­¤¿¤³¤È¤¬ÌÀ³Î¤Ë¤Ê¤Ã¤¿»þÅÀ¤Ç¡¢
Jordan ¤Ï Walnut Creek CDROM
¼Ò¤ËÏ¢Íí¤·¤Æ¤ß¤Þ¤·¤¿¡£CD-ROM ¤ò»È¤Ã¤Æ &os;
¤òÇÛÉÛ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÍÆ°×¤ËÀܳ¤Ç¤­¤Ê¤¤Â¿¤¯¤Î¿Í¡¹¤¬ &os;
¤ò´Êñ¤ËÆþ¼ê¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤È¹Í¤¨¤¿¤«¤é¤Ç¤¹¡£Walnut Creek
CDROM ¼Ò¤Ï &os; ¤ò CD
¤ÇÇÛÉÛ¤¹¤ë¤È¤¤¤¦¥¢¥¤¥Ç¥¢¤òºÎÍѤ·¤Æ¤¯¤ì¤¿¤Ð¤«¤ê¤«¡¢
ºî¶È¤¹¤ë¤¿¤á¤Î¥Þ¥·¥ó¤È¹â®¤Ê¥¤¥ó¥¿¡¼¥Í¥Ã¥È²óÀþ¤ò¥×¥í¥¸¥§¥¯¥È¤ËÄ󶡤·¤Æ¤¯¤ì¤Þ¤·¤¿¡£
Åö»þ¤Ï³¤¤Î¤â¤Î¤È¤â»³¤Î¤â¤Î¤È¤â¤ï¤«¤é¤Ê¤«¤Ã¤¿¤³¤Î¥×¥í¥¸¥§¥¯¥È¤ËÂФ·¤Æ¡¢Walnut
Creek CDROM ¼Ò¤¬¿®¤¸¤é¤ì¤Ê¤¤¤Û¤É¤Î¿®Íê¤ò´ó¤»¤Æ¤¯¤ì¤¿¤ª¤«¤²¤Ç¡¢
&os; ¤Ïû´ü´Ö¤Î¤¦¤Á¤Ë¤³¤³¤Þ¤ÇÂ礭¤¯À®Ä¹¤·¤¿¤Î¤Ç¤¹¡£</para>
<indexterm><primary>4.3BSD-Lite</primary></indexterm>
<indexterm><primary>Net/2</primary></indexterm>
<indexterm><primary>U.C. Berkeley</primary></indexterm>
<indexterm><primary>386BSD</primary></indexterm>
- <indexterm><primary>Free Software Foundation</primary></indexterm>
+ <indexterm><primary>Free Software
+ Foundation</primary></indexterm>
<para>CD-ROM ¤Ë¤è¤ëºÇ½é¤ÎÇÛÉÛ (¤½¤·¤Æ¥Í¥Ã¥È¤Ç¤Î¡¢
¥Ù¡¼¥¿ÈǤǤϤʤ¤ºÇ½é¤Î°ìÈ̸þ¤±ÇÛÉÛ) ¤Ï &os;&nbsp;1.0 ¤Ç¡¢1993 ǯ
12 ·î¤Ë¸ø³«¤µ¤ì¤Þ¤·¤¿¡£¤³¤ì¤Ï¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³Ø¥Ð¡¼¥¯¥ì¥¤¹»¤Î
4.3BSD-Lite (<quote>Net/2</quote>) ¤ò´ð¤È¤·¡¢386BSD ¤ä Free
Software Foundation ¤«¤é¤â¿¤¯¤ÎÉôʬ¤ò¼è¤êÆþ¤ì¤¿¤â¤Î¤Ç¤¹¡£
¤³¤ì¤Ï½é¤á¤Æ¸ø³«¤·¤¿¤â¤Î¤È¤·¤Æ¤Ï½½Ê¬¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£Â³¤±¤Æ 1994 ǯ
5 ·î¤Ë &os;&nbsp;1.1 ¤ò¸ø³«¤·¡¢
Èó¾ï¤ËÂ礭¤ÊÀ®¸ù¤ò¼ý¤á¤Þ¤·¤¿¡£</para>
<indexterm><primary>Novell</primary></indexterm>
<indexterm><primary>U.C. Berkeley</primary></indexterm>
<indexterm><primary>Net/2</primary></indexterm>
<indexterm><primary>AT&amp;T</primary></indexterm>
<para>¤³¤Î»þ´ü¡¢
¤¢¤Þ¤êͽÁÛ¤·¤Æ¤¤¤Ê¤«¤Ã¤¿Íò¤¬±ó¤¯¤«¤éÀܶᤷ¤Æ¤­¤Æ¤¤¤Þ¤·¤¿¡£
¥Ð¡¼¥¯¥ì¥¤ Net/2 ¥Æ¡¼¥×¤ÎˡŪ¤Ê°ÌÃ֤Ť±¤Ë¤Ä¤¤¤Æ¡¢Novell
¼Ò¤È¥«¥ê¥Õ¥©¥ë¥Ë¥¢Âç³Ø¥Ð¡¼¥¯¥ì¥¤¹»¤È¤Î´Ö¤ÎĹ´ü¤Ë¤ï¤¿¤ë
Ë¡ÄîÏÀÁè¤Ë¤ª¤¤¤ÆÏ²ò¤¬À®Î©¤·¤¿¤Î¤Ç¤¹¡£Ï²ò¤ÎÆâÍÆ¤Ï¡¢Net/2
¤Î¤«¤Ê¤ê¤ÎÉôʬ¤¬ <quote>¸¢Íø¤Ä¤­ (encumbered)</quote>
¥³¡¼¥É¤Ç¤¢¤ê¡¢¤½¤ì¤Ï Novell ¼Ò¤Î½êͭʪ¤Ç¤¢¤ë¡¢
¤È¤¤¤¦¥Ð¡¼¥¯¥ì¥¤¹»Â¦¤¬¾ùÊ⤷¤¿¤â¤Î¤Ç¤·¤¿¡£¤Ê¤ª¡¢Novell
¼Ò¤Ï¤³¤ì¤é¤Î¸¢Íø¤òºÛȽ¤¬»Ï¤Þ¤ë¾¯¤·Á°¤Ë AT&amp;T
¼Ò¤«¤éÇã¼ý¤·¤Æ¤¤¤Þ¤·¤¿¡£
ϲò¤Ë¤ª¤±¤ë¾ùÊâ¤Î¸«ÊÖ¤ê¤Ë¥Ð¡¼¥¯¥ì¥¤¹»¤¬ÆÀ¤¿¤Î¤Ï¡¢
4.4BSD-Lite ¤¬ºÇ½ªÅª¤Ëȯɽ¤µ¤ì¤¿»þÅÀ¤Ç¡¢
4.4BSD-Lite ¤Ï¸¢Íø¤Ä¤­¤Ç¤Ï¤Ê¤¤¤È¸ø¼°¤ËÀë¸À¤µ¤ì¤ë¤³¤È¡¢
¤½¤·¤Æ¤¹¤Ù¤Æ¤Î´û¸¤Î Net/2 ¤ÎÍøÍѼԤ¬ 4.4BSD-Lite
¤ÎÍøÍѤؤȰܹԤ¹¤ë¤³¤È¤¬¶¯¤¯¾©Î夵¤ì¤ë¤³¤È¡¢¤È¤¤¤¦ Novell
¼Ò¤«¤é¤Î <quote>¤¢¤ê¤¬¤¿¤­Å·¤«¤é¤Î·Ã¤ß</quote> ¤Ç¤·¤¿ (ÌõÃí:
4.4BSD-Lite ¤Ï¤½¤Î¸å Novell
¼Ò¤Î¥Á¥§¥Ã¥¯¤ò¼õ¤±¤Æ¤«¤é¸ø³«¤µ¤ì¤¿)¡£&os; ¤â Net/2
¤òÍøÍѤ·¤Æ¤¤¤Þ¤·¤¿¤«¤é¡¢1994 ǯ¤Î 7 ·î¤Î½ª¤ï¤ê¤Þ¤Ç¤Ë Net/2 ¥Ù¡¼¥¹¤Î
&os; ¤Î½Ð²Ù¤òÄä»ß¤¹¤ë¤è¤¦¤Ë¸À¤ï¤ì¤Þ¤·¤¿¡£¤¿¤À¤·¡¢
¤³¤Î¤È¤­¤Î¹ç°Õ¤Ë¤è¤Ã¤Æ¡¢
»ä¤¿¤Á¤ÏÄù¤áÀÚ¤ê¤Þ¤Ç¤Ë°ì²ó¤À¤±ºÇ¸å¤Î¸ø³«¤ò¤¹¤ë¤³¤È¤òµö¤µ¤ì¤Þ¤·¤¿¡£
¤½¤·¤Æ¤½¤ì¤Ï &os;&nbsp;1.1.5.1 ¤È¤Ê¤ê¤Þ¤·¤¿¡£</para>
<para>¤½¤ì¤«¤é &os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤Ï¡¢¤Þ¤Ã¤µ¤é¤Ç¤«¤Ê¤êÉÔ´°Á´¤Ê
4.4BSD-Lite ¤ò´ð¤Ë¡¢Ê¸»ú¤É¤ª¤ê°ì¤«¤éºÆÅÙºî¤êľ¤¹¤È¤¤¤¦¡¢
Æñ¤·¤¯¤ÆÂçÊѤʺî¶È¤Î½àÈ÷¤ò»Ï¤á¤Þ¤·¤¿¡£<quote>Lite</quote>
¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢ÉôʬŪ¤Ë¤ÏËÜÅö¤Ë·Ú¤¯¤Æ¡¢Ãæ¿È¤¬¤Ê¤«¤Ã¤¿¤Î¤Ç¤¹¡£
µ¯Æ°¤·¡¢
ưºî¤Ç¤­¤ë¥·¥¹¥Æ¥à¤ò¼ÂºÝ¤Ëºî¤ê¾å¤²¤ë¤¿¤á¤ËɬÍפȤʤë¥×¥í¥°¥é¥à¥³¡¼¥É¤Î¤«¤Ê¤ê¤ÎÉôʬ¤¬¥Ð¡¼¥¯¥ì¥¤¹»¤Î
CSRG (ÌõÃí: BSD¤òºî¤Ã¤Æ¤¤¤ë¥°¥ë¡¼¥×) ¤Ë¤è¤Ã¤Æ
(¤¤¤í¤¤¤í¤ÊˡŪÍ×µá¤Î¤»¤¤¤Ç)
ºï½ü¤µ¤ì¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¤È¤¤¤¦¤³¤È¤È¡¢4.4BSD ¤Î Intel
¥¢¡¼¥­¥Æ¥¯¥Á¥ãÂбþ¤¬¸µ¡¹¤«¤Ê¤êÉÔ´°Á´¤Ç¤¢¤Ã¤¿¤È¤¤¤¦¤³¤È¤¬¤½¤ÎÍýͳ¤Ç¤¹¡£
¤³¤Î°Ü¹Ôºî¶È¤Ï·ë¶É 1994 ǯ¤Î 11 ·î¤Þ¤Ç¤«¤«¤ê¤Þ¤·¤¿¡£
¤½¤·¤Æ¤½¤Î»þÅÀ¤Ç &os;&nbsp;2.0 ¤ò¥Í¥Ã¥È¤È
CD-ROM (12 ·îËö¤´¤í) ¤òÄ̤¸¤Æ¸ø³«¤·¤Þ¤·¤¿¡£¤³¤ì¤Ï¡¢
¤«¤Ê¤êÁƺï¤ê¤Ê¤È¤³¤í¤¬»Ä¤Ã¤Æ¤¤¤¿¤Ë¤â¤«¤«¤ï¤é¤º¡¢
¤«¤Ê¤ê¤ÎÀ®¸ù¤ò¼ý¤á¤Þ¤·¤¿¡£¤½¤·¤Æ¤½¤Î¸å¤Ë¡¢¤è¤ê¿®ÍêÀ­¤¬¹â¤¯¡¢
¤½¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¬´Êñ¤Ë¤Ê¤Ã¤¿ &os;&nbsp;2.0.5 ¤¬ 1995 ǯ¤Î
6 ·î¤Ë¸ø³«¤µ¤ì¤Þ¤·¤¿¡£</para>
<para>¤³¤ì°Ê¹ß¡¢&os; ¤Î°ÂÄêÀ­¡¢Â®¤µ¤äµ¡Ç½¤Ï²þÁ±¤µ¤ì¡¢
¥ê¥ê¡¼¥¹¤¬¹Ô¤ï¤ì¤Æ¤­¤Þ¤·¤¿¡£</para>
<para>Ĺ´üŪ¤Ê³«È¯¥×¥í¥¸¥§¥¯¥È¤Ï 10.X-CURRENT ³«È¯¥Ö¥é¥ó¥Á
(¥È¥é¥ó¥¯) ¤Ç³¤±¤é¤ì¡¢
10.X ¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥ê¥ê¡¼¥¹¤Ï¡¢³«È¯¤Î¿Ê¹Ô¾õ¶·¤Ë±þ¤¸¤Æ
<ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots">¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥µ¡¼¥Ð</ulink>
¤è¤ê·Ñ³¤·¤ÆÆþ¼ê¤Ç¤­¤Þ¤¹¡£</para>
</sect2>
<sect2 id="goals">
<sect2info>
<authorgroup>
<author>
<firstname>Jordan</firstname>
<surname>Hubbard</surname>
<contrib>´ó¹Æ: </contrib>
</author>
</authorgroup>
</sect2info>
<title>&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤ÎÌÜɸ</title>
<!-- <para><emphasis>Ìõ: &a.jp.kiroh;
1996 ǯ 9 ·î 24 Æü.</emphasis></para> -->
<indexterm>
<primary>FreeBSD ¥×¥í¥¸¥§¥¯¥È</primary>
<secondary>ÌÜɸ</secondary>
</indexterm>
<para>&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤ÎÌÜŪ¤Ï¡¢¤¤¤«¤Ê¤ëÍÑÅӤˤâ»ÈÍѤǤ­¡¢
²¿¤éÀ©¸Â¤Î¤Ê¤¤¥½¥Õ¥È¥¦¥§¥¢¤ò¶¡µë¤¹¤ë¤³¤È¤Ç¤¹¡£
»ä¤¿¤Á¤Î¿¤¯¤Ï¡¢
¥³¡¼¥É (¤½¤·¤Æ¥×¥í¥¸¥§¥¯¥È) ¤ËÂФ·¤Æ¤«¤Ê¤ê¤ÎÅê»ñ¤ò¤·¤Æ¤­¤Æ¤ª¤ê¡¢
¤³¤ì¤«¤é¤â¿¾¯¤Î̵Â̤Ϥ¢¤Ã¤Æ¤âÅê»ñ¤ò³¤±¤Æ¹Ô¤¯¤Ä¤â¤ê¤Ç¤¹¡£¤¿¤À¡¢
¾¤Î¿Íã¤Ë¤âƱ¤¸¤è¤¦¤ÊÉéô¤ò¤¹¤ë¤è¤¦¤Ë¼çÄ¥¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
&os; ¤Ë¶½Ì£¤ò»ý¤Ã¤Æ¤¤¤ë°ì¿Í¤Î»Ä¤é¤ºÁ´¤Æ¤Î¿Í¡¹¤Ë¡¢
ÌÜŪ¤ò¸ÂÄꤷ¤Ê¤¤¤Ç¥³¡¼¥É¤òÄ󶡤¹¤ë¤³¤È¡£¤³¤ì¤¬¡¢
»ä¤¿¤Á¤ÎºÇ½é¤Î¤½¤·¤ÆºÇÂç¤Î <quote>Ǥ̳</quote>
¤Ç¤¢¤ë¤È¿®¤¸¤Æ¤¤¤Þ¤¹¡£¤½¤¦¤¹¤ì¤Ð¡¢¥³¡¼¥É¤Ï²Äǽ¤Ê¸Â¤ê¹­¤¯»È¤ï¤ì¡¢
ºÇÂç¤Î²¸·Ã¤ò¤â¤¿¤é¤¹¤³¤È¤¬¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£¤³¤ì¤¬¡¢
»ä¤¿¤Á¤¬Ç®Îõ¤Ë»Ù»ý¤·¤Æ¤¤¤ë¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤ÎºÇ¤â´ðËÜŪ¤ÊÌÜŪ¤Ç¤¢¤ë¤È¡¢
»ä¤Ï¿®¤¸¤Æ¤¤¤Þ¤¹¡£</para>
<indexterm>
<primary>GNU General Public License (GPL)</primary>
</indexterm>
<indexterm>
<primary>GNU Lesser General Public License (LGPL)</primary>
</indexterm>
<indexterm><primary>BSD Copyright</primary></indexterm>
<para>»ä¤¿¤Á¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤Ë´Þ¤Þ¤ì¤ë¥½¡¼¥¹¤Î¤¦¤Á¡¢
GNU °ìÈ̸øÍ­»ÈÍѵöÂú (GPL) ¤Þ¤¿¤Ï GNU ¥é¥¤¥Ö¥é¥ê°ìÈ̸øÍ­»ÈÍѵöÂú (LGPL)
¤Ë½¾¤Ã¤Æ¤¤¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ¤Ï¡¢Â¿¾¯À©¸Â¤¬²Ý¤»¤é¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢
¥½¡¼¥¹¥³¡¼¥É¤Ø¤Î¥¢¥¯¥»¥¹¤ÎÊݾڤȤ¤¤¦¡¢
°ìÈ̤ÎÀ©¸Â¤È¤Ï¤¤¤ï¤ÐµÕ¤ÎÀ©¸Â (ÌõÃí1) ¤Ç¤¹¡£
GPL ¥½¥Õ¥È¥¦¥§¥¢¤Î¾¦ÍøÍѤˤϡ¢¤½¤Î¥é¥¤¥»¥ó¥¹¤Ë¤¢¤ë
Ê£»¨¤Ê¦Ì̤¬±Æ¶Á¤·¤Æ¤¯¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
¤Ç¤¹¤«¤é»ä¤¿¤Á¤Ï¡¢¤½¤¦¤¹¤ë¤³¤È¤¬¹çÍýŪ¤Ç¤¢¤ë¤ÈȽÃǤµ¤ì¤¿¤È¤­¤Ë¤Ï¡¢
¤è¤êÀ©¸Â¤Î¾¯¤Ê¤¤¡¢BSD
Ãøºî¸¢É½¼¨¤òºÎÍѤ·¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢¤òÁªÂò¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£</para>
<para>(ÌõÃí1) GPL ¤Ç¤Ï¡¢¡Ö¥½¡¼¥¹¥³¡¼¥É¤ò¼ÂºÝ¤Ë¼õ¤±¼è¤ë¤«¡¢
¤¢¤ë¤¤¤Ï¡¢´õ˾¤·¤µ¤¨¤¹¤ì¤Ð¤½¤ì¤òÆþ¼ê¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤³¤È¡×
¤òµá¤á¤Æ¤¤¤Þ¤¹¡£</para>
</sect2>
<sect2 id="development">
<sect2info>
<authorgroup>
<author>
<!-- hrs: needs to support Japanese author's name order -->
<firstname>Àõ¸«</firstname>
<surname>¸­</surname>
<contrib>´ó¹Æ: </contrib>
</author>
</authorgroup>
</sect2info>
<title>&os; ¤Î³«È¯¥â¥Ç¥ë</title>
<!-- <para><emphasis>Ìõ: &a.asami;.
1996 ǯ 10 ·î 31 Æü.</emphasis></para> -->
<indexterm>
<primary>FreeBSD ¥×¥í¥¸¥§¥¯¥È</primary>
<secondary>³«È¯¥â¥Ç¥ë</secondary>
</indexterm>
<para>&os; ¤Î³«È¯¤ÏÈó¾ï¤Ë³«¤«¤ì¤¿¡¢½ÀÆðÀ­¤Î¤¢¤ë¥×¥í¥»¥¹¤Ç¤¹¡£
<ulink url="&url.articles.contributors;/article.html">¹×¸¥¼Ô¥ê¥¹¥È
</ulink>¤ò¸«¤Æ¤¤¤¿¤À¤±¤ì¤Ð¤ï¤«¤ë¤È¤ª¤ê¡¢
&os; ¤Ïʸ»úÄ̤êÀ¤³¦Ãæ¤Î²¿É´¤È¤¤¤¦¿Í¡¹¤ÎÅØÎϤˤè¤Ã¤Æ³«È¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
&os; ¤Î³«È¯´Ä¶­¤Ï¡¢
¤³¤Î²¿É´¤È¤¤¤¦³«È¯¼Ô¤¬¥¤¥ó¥¿¡¼¥Í¥Ã¥È·Ðͳ¤Ç¶¦Æ±ºî¶È¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¡£
¿·¤·¤¤³«È¯¼Ô¤Ï¤¤¤Ä¤Ç¤âÂç´¿·Þ¤Ç¤¹¤Î¤Ç¡¢&a.hackers;
¤Ë¥á¡¼¥ë¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£
&a.announce; ¤â¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢Â¾¤Î &os;
¥æ¡¼¥¶¤Ë¼«Ê¬¤Î¤ä¤Ã¤Æ¤¤¤ë¤³¤È¤òÀëÅÁ¤·¤¿¤¤»þ¤Ë¤Ï¤É¤¦¤¾»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¤¢¤È¡¢&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤È¤½¤Î³«È¯¥×¥í¥»¥¹¤Ë¤Ä¤¤¤Æ¡¢
¤É¤Ê¤¿¤Ë¤âÃΤäƤ¤¤Æ¤¤¤¿¤À¤­¤¿¤¤¤Î¤Ï°Ê²¼¤Î¤è¤¦¤Ê¤³¤È¤Ç¤¹¡£</para>
<variablelist>
<varlistentry>
<term>SVN ¥ê¥Ý¥¸¥È¥ê<anchor
id="development-cvs-repository"/></term>
<listitem>
- <indexterm>
- <primary>CVS</primary>
- </indexterm>
+ <para>
+ <indexterm>
+ <primary>CVS</primary>
+ </indexterm>
- <indexterm>
- <primary>CVS ¥ê¥Ý¥¸¥È¥ê</primary>
- </indexterm>
+ <indexterm>
+ <primary>CVS ¥ê¥Ý¥¸¥È¥ê</primary>
+ </indexterm>
- <indexterm>
- <primary>Concurrent Version System</primary>
- <see>CVS</see>
- </indexterm>
- <indexterm>
- <primary>Subversion</primary>
- </indexterm>
- <indexterm>
- <primary>Subversion ¥ê¥Ý¥¸¥È¥ê</primary>
- </indexterm>
+ <indexterm>
+ <primary>Concurrent Versions System</primary>
+ <see>CVS</see>
+ </indexterm>
- <indexterm>
- <primary>SVN</primary>
- <see>Subversion</see>
- </indexterm>
+ <indexterm>
+ <primary>Subversion</primary>
+ </indexterm>
- <para>Ĺǯ¤Ë¤ï¤¿¤ê &os; ¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤Ï
+ <indexterm>
+ <primary>Subversion ¥ê¥Ý¥¸¥È¥ê</primary>
+ </indexterm>
+
+ <indexterm>
+ <primary>SVN</primary>
+ <see>Subversion</see>
+ </indexterm>
+ Ĺǯ¤Ë¤ï¤¿¤ê &os; ¤Î¥½¡¼¥¹¥Ä¥ê¡¼¤Ï
<ulink url="http://www.nongnu.org/cvs/">CVS</ulink>
(Concurrent Versions System) ¤Ë¤è¤Ã¤Æ¥á¥ó¥Æ¥Ê¥ó¥¹¤µ¤ì¤Æ¤­¤Þ¤·¤¿¡£
CVS ¤Ï¥½¡¼¥¹¥³¡¼¥É´ÉÍýÍѤΥե꡼¥½¥Õ¥È¥¦¥§¥¢¤Ç¡¢
&os; ¤Î¥ê¥ê¡¼¥¹¤Ë¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
2008 ǯ 6 ·î¡¢¥×¥í¥¸¥§¥¯¥È¤Ï¥½¡¼¥¹¥³¡¼¥É´ÉÍý¤Î¥·¥¹¥Æ¥à¤ò <ulink
- url="http://subversion.tigris.org">SVN</ulink> (Subversion)
- ¤Ë°Ü¹Ô¤·¤Þ¤·¤¿¡£
+ url="http://subversion.tigris.org">SVN</ulink>
+ (Subversion) ¤Ë°Ü¹Ô¤·¤Þ¤·¤¿¡£
¥½¡¼¥¹¥Ä¥ê¡¼¤ÎµÞ®¤ÊÁý²Ã¤ä¡¢
¤³¤ì¤Þ¤Ç¤ËÃßÀѤµ¤ì¤¿ËÄÂç¤ÊÎ̤ÎÍúÎò¤Ë¤è¤Ã¤Æ¡¢
<application>CVS</application>
¤Î»ý¤Äµ»½ÑŪ¤Ê¸Â³¦¤¬ÌÀ¤«¤Ë¤Ê¤Ã¤Æ¤­¤¿¤¿¤á¤Ç¤¹¡£
¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤È
Ports Collection ¥ê¥Ý¥¸¥È¥ê¤â¡¢¤½¤ì¤¾¤ì
2012 ǯ 5 ·î¤È 7 ·î¤Ë
<application>CVS</application> ¤«¤é
<application>SVN</application> ¤Ø¤È°Ü¹Ô¤·¤Þ¤·¤¿¡£
&os; <literal>src/</literal> ¥ê¥Ý¥¸¥È¥ê¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Î¾ðÊó¤Ï
<link linkend="synching">
¥½¡¼¥¹¥Ä¥ê¡¼¤ÎƱ´ü</link> ¤Î¾Ï¤ò¡¢&os;
Ports Collection ¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï
<link linkend="ports-using">Ports Collection ¤ÎÍøÍÑ</link>
¤Î¾Ï¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
-
</listitem>
</varlistentry>
<varlistentry>
- <term>¥½¡¼¥¹¥Ä¥ê¡¼´ÉÍý¼Ô
- <anchor id="development-committers"/></term>
+ <term>¥½¡¼¥¹¥Ä¥ê¡¼´ÉÍý¼Ô<anchor
+ id="development-committers"/></term>
<listitem>
- <indexterm><primary>¥³¥ß¥Ã¥¿¡¼</primary></indexterm>
-
- <para><firstterm>¥³¥ß¥Ã¥¿¡¼ (committers)</firstterm> ¤Ï
+ <para><firstterm>¥³¥ß¥Ã¥¿¡¼ (committers)</firstterm><indexterm>
+ <primary>¥³¥ß¥Ã¥¿¡¼</primary></indexterm> ¤Ï
Subversion ¥Ä¥ê¡¼¤Ø¤Î<emphasis>½ñ¤­¹þ¤ß¸¢¸Â</emphasis>¤ò»ý¤Ã¤Æ¤¤¤ë¿Í¡¢
&os; ¤Î¥½¡¼¥¹¤ËÊѹ¹¤ò²Ã¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¿Í¤Ç¤¹
(¥ê¥Ý¥¸¥È¥ê¤ËÊѹ¹¤ò²Ã¤¨¤ë¤Ë¤Ï¡¢¥½¡¼¥¹¤ò¥³¥ó¥È¥í¡¼¥ë¤¹¤ë
<command>commit</command> ¤È¤¤¤¦¥³¥Þ¥ó¥É¤ò»È¤¦¤Î¤Ç¡¢
¤³¤ì¤é¤Î¿Í¡¹¤Ï±Ñ¸ì¤Ç¤Ï <quote>committers</quote>
¤È¸Æ¤Ð¤ì¤Þ¤¹)¡£
³«È¯¼Ô¤Ë¥³¡¼¥É¤òÁ÷¤Ã¤Æ¸«¤Æ¤â¤é¤¦¤Î¤Ë°ìÈÖ¤¤¤¤ÊýË¡¤Ï
&man.send-pr.1; ¥³¥Þ¥ó¥É¤ò»È¤¦¤³¤È¤Ç¤¹¡£
¤â¤·¡¢²¿¤«ÌäÂ꤬¤¢¤Ã¤Æ <command>send-pr</command>
¤¬»È¤¨¤Ê¤¤¤Ê¤é &a.committers;
¤Ë¥á¡¼¥ë¤òÁ÷¤Ã¤Æ¤¤¤¿¤À¤¤¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>FreeBSD ¥³¥¢¥Á¡¼¥à<anchor id="development-core"/></term>
+ <term>FreeBSD ¥³¥¢¥Á¡¼¥à<anchor
+ id="development-core"/></term>
<listitem>
- <para><firstterm>&os; ¥³¥¢¥Á¡¼¥à</firstterm>¤Ï
+ <para><firstterm>&os; ¥³¥¢¥Á¡¼¥à</firstterm><indexterm>
+ <primary>¥³¥¢¥Á¡¼¥à</primary>
+ </indexterm>¤Ï
&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤¬²ñ¼Ò¤À¤È¤¹¤ë¤È¼èÄùÌò²ñ¤Ë¤¢¤¿¤ë¤â¤Î¤Ç¤¹¡£
¥³¥¢¥Á¡¼¥à¤È¤·¤Æ°ìÈÖ½ÅÍפÊÌò³ä¤Ï
&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤¬Á´ÂΤȤ·¤Æ¤è¤¤Êý¸þ¤Ë¸þ¤«¤Ã¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤¹¤ë¤³¤È¤Ç¤¹¡£
ÀÕǤ´¶¤¢¤Õ¤ì¤ë³«È¯¼Ô¤ò¾åµ­¤Î¥½¡¼¥¹¥Ä¥ê¡¼´ÉÍý¼Ô¤È¤·¤Æ¾·¤¯¤³¤È¡¢
¤Þ¤¿»Å»ö¾å¤ÎÅÔ¹ç¤Ê¤É¤Ç¥³¥¢¥Á¡¼¥à¤ò¤ä¤á¤¿¿Í¤¿¤Á¤Î¸åǤ¤ò¸«¤Ä¤±¤ë¤³¤È¤â¥³¥¢¥Á¡¼¥à¤ÎÌò³ä¤Ç¤¹¡£
¸½ºß¤Î¥³¥¢¥Á¡¼¥à¤Ï &os; ³«È¯¼Ô (committer) ¤ÎÃæ¤«¤é
2012 ǯ 7 ·î¤ËÁªµó¤Ë¤è¤Ã¤ÆÁª½Ð¤µ¤ì¤Þ¤·¤¿¡£
¥³¥¢¥Á¡¼¥à¤òÁª½Ð¤¹¤ë¤¿¤á¤ÎÁªµó¤Ï¡¢2 ǯ¤´¤È¤Ë¹Ô¤Ê¤ï¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para>¥³¥¢¥Á¡¼¥à¤Î¤¦¤Á²¿¿Í¤«¤ÏÆÃÄê¤ÎôÅöʬÌî¤ò»ý¤Ã¤Æ¤ª¤ê¡¢
¥·¥¹¥Æ¥à¤Î¤¦¤Á°ìÉô¤ËÆÃ¤Ë½ÅÅÀ¤ò¤ª¤¤¤ÆÌÌÅݤò¸«¤Æ¤¤¤Þ¤¹¡£
&os; ³«È¯¼Ô¤ÈôÅöʬÌî¤Î´°Á´¤Ê¥ê¥¹¥È¤Ï<ulink
url="&url.articles.contributors;/article.html">
¥³¥ó¥È¥ê¥Ó¥å¡¼¥¿¤Î¥ê¥¹¥È</ulink>¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
<note>
<para>˺¤ì¤Æ¤Û¤·¤¯¤Ê¤¤¤Î¤Ï¡¢
¥³¥¢¥Á¡¼¥à¤Î¤Û¤È¤ó¤É¤Ï &os; ¤ËÂФ·¤Æ¥Ü¥é¥ó¥Æ¥£¥¢¤ÎΩ¾ì¤Ç¤¢¤ê¡¢
&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤«¤é¤Ï²¿¤é¶âÁ¬Åª¤Ê»Ù±ç¤ò¼õ¤±¤Æ¤¤¤Ê¤¤¡¢
¤È¤¤¤¦¤³¤È¤Ç¤¹¡£¤Ç¤¹¤«¤é¡¢
¤³¤³¤Ç¤Î<quote>ÀÕǤ</quote>¤Ï
<quote>Êݾڤµ¤ì¤¿¥µ¥Ý¡¼¥È</quote>¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤½¤¦¤¤¤¦°ÕÌ£¤Ç¡¢¾åµ­¤Î<quote>¼èÄùÌò²ñ</quote>
¤È¤¤¤¦Î㤨¤Ï¤¢¤Þ¤ê¤è¤¯¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤à¤·¤í¡¢&os;
¤Î¤¿¤á¤Ë¿ÍÀ¸¤òËÀ¤Ë¿¶¤Ã¤Æ¤·¤Þ¤Ã¤¿¿Í¤Î½¸¤Þ¤ê¤È¤¤¤Ã¤¿Êý¤¬Àµ¤·¤¤¤«¤â¡Ä¡£</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>¤½¤Î¾¤Î¥³¥ó¥È¥ê¥Ó¥å¡¼¥¿</term>
<listitem>
- <indexterm><primary>¥³¥ó¥È¥ê¥Ó¥å¡¼¥¿</primary></indexterm>
-
<para>ºÇ¸å¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢
¤â¤Ã¤È¤â½ÅÍפÇ¿¿ô¤ò¤·¤á¤ë³«È¯¼Ô¤Ï¥Õ¥£¡¼¥É¥Ð¥Ã¥¯¤ä¥Ð¥°¥Õ¥£¥¯¥¹¤ò¤É¤ó¤É¤óÁ÷¤Ã¤Æ¤¯¤ì¤ë¥æ¡¼¥¶¼«¿È¤Ç¤¹¡£
&os; ¤Î³«È¯¤Ë´Ø¤ï¤Ã¤Æ¤¤¤­¤¿¤¤¤È¤¤¤¦¿Í¤Ï¡¢
µÄÏÀ¤Î¾ì¤Ç¤¢¤ë &a.hackers; ¤Ë»²²Ã¤¹¤ë¤È¤è¤¤¤Ç¤·¤ç¤¦¡£
&os; ´ØÏ¢¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ï¡¢
<xref linkend="eresources"/> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
- <para>
- <citetitle><ulink url="&url.articles.contributors;/article.html">
- &os; ¤Ø¤Î¹×¸¥¼Ô¥ê¥¹¥È</ulink></citetitle>
+ <para><citetitle><ulink
+ url="&url.articles.contributors;/article.html">
+ &os; ¤Ø¤Î¹×¸¥¼Ô¥ê¥¹¥È</ulink></citetitle><indexterm>
+ <primary>¥³¥ó¥È¥ê¥Ó¥å¡¼¥¿</primary></indexterm>
¤ÏÆü¤ËÆü¤ËŤ¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤¢¤Ê¤¿¤âº£Æü¡¢²¿¤«Á÷¤ë¤³¤È¤«¤é¤Ï¤¸¤á¤Æ¤ß¤Þ¤»¤ó¤«?</para>
<para>¤â¤Á¤í¤ó &os; ¤Ë¹×¸¥¤¹¤ë¤Ë¤Ï¡¢
¥³¡¼¥É¤ò½ñ¤¯¤Û¤«¤Ë¤â¤¤¤í¤¤¤í¤ÊÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
½õ¤±¤¬µá¤á¤é¤ì¤Æ¤¤¤ëʬÌî¤Ë¤Ä¤¤¤Æ¤Ï¡¢
<ulink url="&url.base;/index.html">
&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤Î¥¦¥§¥Ö¥µ¥¤¥È</ulink>¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
</listitem>
</varlistentry>
</variablelist>
<para>¤Ò¤È¤³¤È¤Ç¸À¤¦¤È¡¢&os;
¤Î³«È¯ÁÈ¿¥¤Ï¤æ¤ë¤ä¤«¤ÊƱ¿´±ß¾õ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤È¤â¤¹¤ë¤ÈÃæ±û½¸¸¢Åª¤Ë¸«¤¨¤¬¤Á¤Ê¤³¤ÎÁÈ¿¥¤Ï¡¢
&os; ¤Î<emphasis>¥æ¡¼¥¶</emphasis>¤¬¤­¤Á¤ó¤È´ÉÍý¤µ¤ì¤¿¥³¡¼¥É¥Ù¡¼¥¹¤ò
ÍÆ°×¤ËÄɤ¤¤«¤±¤é¤ì¤ë¤è¤¦¤Ë¥Ç¥¶¥¤¥ó¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Ç¡¢
¹×¸¥¤·¤¿¤¤¤È¤¤¤¦¿Í¤òÄù¤á½Ð¤¹°Õ¿Þ¤ÏÁ´¤¯¤¢¤ê¤Þ¤»¤ó!
»ä¤¿¤Á¤ÎÌÜɸ¤Ï°ÂÄꤷ¤¿¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È
´Êñ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ»È¤¦¤³¤È¤Î¤Ç¤­¤ë
<link linkend="ports">¥¢¥×¥ê¥±¡¼¥·¥ç¥ó</link>¤òÄ󶡤¹¤ë¤³¤È¤Ç¤¹¡£
¤³¤ÎÊýË¡¤Ï¡¢¤½¤ì¤òãÀ®¤¹¤ë¤¿¤á¤ËÈó¾ï¤Ë¤¦¤Þ¤¯¤Ï¤¿¤é¤­¤Þ¤¹¡£</para>
<para>¤³¤ì¤«¤é &os; ¤Î³«È¯¤Ë¤¿¤º¤µ¤ï¤í¤¦¤È¤¤¤¦¿Í¤Ë¡¢
»ä¤¿¤Á¤¬Ë¾¤à¤³¤È¤Ï¤¿¤À°ì¤Ä¤Ç¤¹¡£
&os; ¤ÎÀ®¸ù¤ò·Ñ³Ū¤Ê¤â¤Î¤Ë¤¹¤ë¤¿¤á¤Ë¡¢
¸½ºß¤Î³«È¯¼Ô¤ÈƱ¤¸¤è¤¦¤Ê¾ðÇ®¤ò»ý¤Ã¤ÆÀܤ·¤Æ¤¯¤À¤µ¤¤!</para>
</sect2>
<sect2 id="relnotes">
<title>¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¥×¥í¥°¥é¥à</title>
<para>&os; ¤Ç¤Ï´ðËÜÇÛÉÛ¥»¥Ã¥È¤Ë²Ã¤¨¡¢
°Ü¿¢¤µ¤ì¤¿¥½¥Õ¥È¥¦¥§¥¢½¸¤È¤·¤Æ¿ôÀé¤Î¿Íµ¤¤Î¹â¤¤¥×¥í¥°¥é¥à¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
¤³¤Îʸ½ñ¤ò½ñ¤¤¤Æ¤¤¤ë»þÅÀ¤Ç &os.numports;
°Ê¾å¤Î ports (°Ü¿¢¥½¥Õ¥È¥¦¥§¥¢) ¤¬Â¸ºß¤·¤Þ¤¹¡£
ports ¤Ë¤Ï http ¥µ¡¼¥Ð¤«¤é¡¢¥²¡¼¥à¡¢¸À¸ì¡¢
¥¨¥Ç¥£¥¿¤Þ¤Ç¤¢¤ê¤È¤¢¤é¤æ¤ë¤â¤Î¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
ports ¤Ï¥ª¥ê¥¸¥Ê¥ë¥½¡¼¥¹¤ËÂФ¹¤ë
<quote>º¹Ê¬</quote>¤È¤¤¤¦·Á¤Çɽ¸½¤µ¤ì¤Æ¤ª¤ê¡¢
Ports Collection Á´ÂΤǤâ &ports.size; ÄøÅ٤ˤ·¤«¤Ê¤ê¤Þ¤»¤ó¡£
ports ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Ë¤Ï¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤¤È»×¤Ã¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢
<command>make install</command> ¤È¤¹¤ë¤È¡¢
¤¢¤È¤Ï¤¹¤Ù¤Æ¥·¥¹¥Æ¥à¤¬¤ä¤Ã¤Æ¤¯¤ì¤Þ¤¹¡£
¤É¤Î ports ¤â¥ª¥ê¥¸¥Ê¥ë¤ÎÇÛÉÛ¥»¥Ã¥È¤òưŪ¤Ë¼è¤Ã¤Æ¤¯¤ë¤Î¤Ç¡¢
¥Ç¥£¥¹¥¯¤Ï¹½ÃÛ¤·¤¿¤¤¤È»×¤Ã¤Æ¤¤¤ë
ports ¤Îʬ¤À¤±¤ò½àÈ÷¤·¤Æ¤ª¤±¤Ð½½Ê¬¤Ç¤¹¡£
¤Û¤È¤ó¤É¤Î ports ¤Ï¡¢¤¹¤Ç¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¾õÂÖ¤Ç
<quote>package</quote> ¤È¤·¤ÆÄ󶡤µ¤ì¤Æ¤ª¤ê¡¢
¥½¡¼¥¹¥³¡¼¥É¤«¤é¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤¯¤Ê¤¤¾ì¹ç¡¢¤³¤ì¤ò»È¤¦¤È
(<command>pkg_add</command>
¤È¤¤¤¦¥³¥Þ¥ó¥É¤Ç) ´Êñ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£
package ¤È ports ¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ï¡¢
<xref linkend="ports"/> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2>
<title>¥É¥­¥å¥á¥ó¥È</title>
<para>ºÇ¶á¤Î &os; ¤Ç¤Ï¡¢¥·¥¹¥Æ¥à¤ÎºÇ½é¤Î¥»¥Ã¥È¥¢¥Ã¥×»þ¤Ë¡¢
¥¤¥ó¥¹¥È¡¼¥é (&man.sysinstall.8; ¤Þ¤¿¤Ï
&man.bsdinstall.8; ¤Î¤É¤Á¤é¤Ç¤â)
¾å¤Ç¡¢¥É¥­¥å¥á¥ó¥È¤ò <filename
class="directory">/usr/local/share/doc/freebsd</filename>
°Ê²¼¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤òÁªÂò¤Ç¤­¤Þ¤¹¡£
¥·¥¹¥Æ¥à¤Î¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ç¤â¡¢<xref
linkend="doc-ports-install-package"/> ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë
package ¤ò»È¤¦¤³¤È¤Ç¡¢¤¤¤Ä¤Ç¤â¥É¥­¥å¥á¥ó¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤é¤Î¥í¡¼¥«¥ë¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥É¥­¥å¥á¥ó¥È¤Ï¡¢HTML
¥Ö¥é¥¦¥¶¤ò»È¤Ã¤Æ°Ê²¼¤Î URL ¤«¤é»²¾È¤Ç¤­¤Þ¤¹¡£</para>
<variablelist>
<varlistentry>
<term>FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯ (±Ñʸ¥ª¥ê¥¸¥Ê¥ë)</term>
+
<listitem>
<para><ulink type="html"
url="file://localhost/usr/local/share/doc/freebsd/handbook/index.html"><filename>/usr/local/share/doc/freebsd/handbook/index.html</filename></ulink></para>
</listitem>
</varlistentry>
<varlistentry>
<term>FreeBSD ¤Ë´Ø¤¹¤ë FAQ (±Ñʸ¥ª¥ê¥¸¥Ê¥ë)</term>
<listitem>
<para><ulink type="html"
url="file://localhost/usr/local/share/doc/freebsd/faq/index.html"><filename>/usr/local/share/doc/freebsd/faq/index.html</filename></ulink></para>
</listitem>
</varlistentry>
</variablelist>
<para>¤Þ¤¿¡¢
<ulink url="http://www.FreeBSD.org/"></ulink>
¤Ë¤Ï¥Þ¥¹¥¿ (¤«¤Ê¤êÉÑÈˤ˹¹¿·¤µ¤ì¤Þ¤¹) ¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢
¤³¤Á¤é¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/ports/chapter.xml
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/ports/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/ports/chapter.xml (revision 42804)
@@ -1,1962 +1,1967 @@
<?xml version="1.0" encoding="euc-jp"?>
<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
- Original revision: r41876
+ Original revision: r42014
$FreeBSD$
-->
<chapter id="ports">
<title>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¤¥ó¥¹¥È¡¼¥ë - packages ¤È ports</title>
<sect1 id="ports-synopsis">
<title>¤³¤Î¾Ï¤Ç¤Ï</title>
<indexterm><primary>ports</primary></indexterm>
<indexterm><primary>packages</primary></indexterm>
<para>&os; ¤Î´ðËÜ¥·¥¹¥Æ¥à¤Ë¤Ï¿ô¿¤¯¤Î¥·¥¹¥Æ¥à¥Ä¡¼¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¡¢¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤È¡¢
¼ÂÍÑŪ¤Ë¤Ï¤½¤ì¤Û¤É¤¿¤¯¤µ¤ó¤Î¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
&os; ¤Ï¡¢¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÎƳÆþ¤ò»Ù±ç¤¹¤ë¤¿¤á¤Ë¡¢
¥½¡¼¥¹¥³¡¼¥É¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë Ports Collection ¤È¡¢
¥³¥ó¥Ñ¥¤¥ëºÑ¤ß¤Î¥Ð¥¤¥Ê¥ê¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë packages
¤È¤¤¤¦ÁêÊäŪ¤Ê 2 ¤Ä¤Îµ»½Ñ¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
¤É¤Á¤é¤Î¥·¥¹¥Æ¥à¤òÍѤ¤¤Æ¤â¡¢
¥í¡¼¥«¥ë¥á¥Ç¥£¥¢¤ä¥Í¥Ã¥È¥ï¡¼¥¯¾å¤«¤é¥½¥Õ¥È¥¦¥§¥¢¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<para>¤³¤Î¾Ï¤òÆÉ¤à¤È¡¢°Ê²¼¤Î¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
<para>packages ¤òÍѤ¤¤Æ¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î¥½¥Õ¥È¥¦¥§¥¢¤ò¥Ð¥¤¥Ê¥ê¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÊýË¡</para>
</listitem>
<listitem>
<para>Ports Collection ¤òÍѤ¤¤Æ¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î¥½¥Õ¥È¥¦¥§¥¢¤ò¥½¡¼¥¹¥³¡¼¥É¤«¤é¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÊýË¡</para>
</listitem>
<listitem>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿ packages ¤ä ports ¤òºï½ü¤¹¤ëÊýË¡</para>
</listitem>
<listitem>
<para>Ports Collection ¤¬ÍѤ¤¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤òÊѹ¹¤¹¤ëÊýË¡</para>
</listitem>
<listitem>
<para>¤ªË¾¤ß¤Î¥½¥Õ¥È¥¦¥§¥¢ package ¤òõ¤·¤À¤¹ÊýË¡</para>
</listitem>
<listitem>
<para>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ëÊýË¡</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="ports-overview">
<title>¥½¥Õ¥È¥¦¥§¥¢¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
<para>&unix; ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¥½¥Õ¥È¥¦¥§¥¢¤Îŵ·¿Åª¤Ê¥¤¥ó¥¹¥È¡¼¥ë¼ê½ç¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
<procedure>
<step>
<para>¥½¡¼¥¹¥³¡¼¥É¡¢
¤Þ¤¿¤Ï¥Ð¥¤¥Ê¥ê·Á¼°¤ÇÇÛÉÛ¤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¡£</para>
</step>
<step>
<para>ÇÛÉÛ»þ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È (°ìÈÌŪ¤Ë¤Ï
&man.compress.1;, &man.gzip.1; ¤Þ¤¿¤Ï &man.bzip2.1;
¤Ç°µ½Ì¤µ¤ì¤¿ tarball) ¤«¤é¥½¥Õ¥È¥¦¥§¥¢¤ò¼è¤ê½Ð¤¹¡£</para>
</step>
<step>
<para><filename>INSTALL</filename> ¤Þ¤¿¤Ï
<filename>README</filename> ¥Õ¥¡¥¤¥ë¡¢¤¢¤ë¤¤¤Ï
<filename>doc/</filename>
¥µ¥Ö¥Ç¥£¥ì¥¯¥È¤Î¥Õ¥¡¥¤¥ë¤«¤é¥É¥­¥å¥á¥ó¥È¤òõ¤·¤À¤·¡¢
¥½¥Õ¥È¥¦¥§¥¢¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤òÄ´¤Ù¤ë¡£</para>
</step>
<step>
<para>¥½¡¼¥¹·Á¼°¤Ç¥½¥Õ¥È¥¦¥§¥¢¤¬ÇÛÉÛ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¡£
¤³¤³¤Ç¤Ï¡¢<filename>Makefile</filename> ¤ÎÊÔ½¸¡¢
¤Þ¤¿¤Ï¡¢<command>configure</command> ¥¹¥¯¥ê¥×¥È¤Î¼Â¹Ô¡¢
¤¢¤ë¤¤¤Ï¾¤Îºî¶È¤òȼ¤¦¤³¤È¤¬¤¢¤ë¡£ </para>
</step>
<step>
<para>¥½¥Õ¥È¥¦¥§¥¢¤Îưºî¤ò³Îǧ¤·¡¢¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£</para>
</step>
</procedure>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢¥Ñ¥Ã¥±¡¼¥¸¤¬¡¢
&os; ¤ò°Õ¼±¤·¤Æ°Ü¿¢¤µ¤ì¤¿¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¡¢
ŬÀÚ¤ËÆ°¤¯¤è¤¦¥³¡¼¥É¤òÄ´¤Ù¡¢ÊÔ½¸¤¹¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£</para>
<para>&os; ¤Ï¡¢¤¢¤Ê¤¿¤Î¤«¤ï¤ê¤Ë¤³¤ì¤é¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Î¼ê½ç¤ò¼Â¹Ô¤·¤Æ¤¯¤ì¤ë
2 ¤Ä¤Îµ»½Ñ¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
¤³¤Îʸ½ñ¤ò½ñ¤¤¤Æ¤¤¤ë»þÅÀ¤Ç¤Ï¡¢&os.numports;
¤ò±Û¤¨¤ë¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ÍøÍѲÄǽ¤Ç¤¹¡£</para>
<para>&os; ¤Î package ¤Ï¡¢¥³¥ó¥Ñ¥¤¥ëºÑ¤ß¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÁ´¥³¥Þ¥ó¥É¡¢
³Æ¼ïÀßÄê¥Õ¥¡¥¤¥ë¤ä¥É¥­¥å¥á¥ó¥È¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£
&os; ¤ËÍѰդµ¤ì¤Æ¤¤¤ë
&man.pkg.add.1;, &man.pkg.delete.1;, &man.pkg.info.1;
¤È¤¤¤Ã¤¿ package ´ÉÍý¥³¥Þ¥ó¥É¤Ç¡¢package ¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<para>&os; port ¤Ï¡¢
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥½¡¼¥¹¥³¡¼¥É¤«¤é¥³¥ó¥Ñ¥¤¥ë¤¹¤ëºÝ¤Î½èÍý¤ò¼«Æ°²½¤¹¤ë¤è¤¦¤ËÀ߷פµ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î½¸¤Þ¤ê¤Ç¤¹¡£
port ¤ò¹½À®¤¹¤ë¥Õ¥¡¥¤¥ë¤Ï¡¢
¼«Æ°Åª¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥À¥¦¥ó¥í¡¼¥É¤·¡¢Å¸³«¡¢¥Ñ¥Ã¥Áºî¶È¡¢
¥³¥ó¥Ñ¥¤¥ë¡¢¤½¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¤¿¤á¤ËɬÍפʾðÊó¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£</para>
<para>¤µ¤é¤Ë ports ¥·¥¹¥Æ¥à¤Ï¡¢&os; ¤Î package
´ÉÍý¥³¥Þ¥ó¥É¤Ç°·¤¦¤³¤È¤Î¤Ç¤­¤ë packages ¤òÀ¸À®¤Ç¤­¤Þ¤¹¡£</para>
<para>packages ¤È ports ¤Ï<emphasis>°Í¸´Ø·¸</emphasis>¤òÍý²ò¤·¤Þ¤¹¡£
&man.pkg.add.1; ¤Þ¤¿¤Ï Ports Collection
¤òÍѤ¤¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¡¢
°Í¸¤¹¤ë¥é¥¤¥Ö¥é¥ê¤¬¤Þ¤À¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
ºÇ½é¤Ë¥é¥¤¥Ö¥é¥ê¤¬¼«Æ°Åª¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£</para>
<para>2 ¤Ä¤Îµ»½Ñ¤ÏÈó¾ï¤ËÎà»÷¤·¤Æ¤¤¤Þ¤¹¤¬¡¢
packages ¤È ports ¤Ë¤Ï¤½¤ì¤¾¤ìÆÈ¼«¤ÎÆÃħ¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤ì¤¾¤ì¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ËÂФ¹¤ëɬÍ×Í×·ï¤Ë±þ¤¸¤Æ¤É¤Á¤é¤«¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<itemizedlist>
<title>package ¤ÎÍøÅÀ</title>
<listitem>
<para>°ìÈÌŪ¤Ë¡¢¤¢¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î package ¤Î tarball ¤Ï¡¢
¥½¡¼¥¹¥³¡¼¥É¤ò´Þ¤à tarball ¤è¤ê¾®¤µ¤Ê¥µ¥¤¥º¤È¤Ê¤ê¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>packages ¤Ï¥³¥ó¥Ñ¥¤¥ë¤Î»þ´Ö¤òɬÍפȤ·¤Þ¤»¤ó¡£
¤³¤Î¤³¤È¤Ï¡¢ÃÙ¤¤¥·¥¹¥Æ¥à¾å¤Ç <application>Mozilla</application>,
<application>KDE</application>,
¤Þ¤¿¤Ï <application>GNOME</application>
¤È¤¤¤Ã¤¿Â礭¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò°·¤¦¾ì¹ç¤Ë½ÅÍפȤʤê¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>packages ¤òÍѤ¤¤ì¤Ð¡¢
¥½¥Õ¥È¥¦¥§¥¢¤Î¥³¥ó¥Ñ¥¤¥ë¤Ë´Ø¤¹¤ëÃ챤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£</para>
</listitem>
</itemizedlist>
<itemizedlist>
<title>ports ¤ÎÍøÅÀ</title>
<listitem>
<para>packages ¤Ï¡¢Ä̾ïºÇ¤â¿¤¯¤Î¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¡¢
Èó¾ï¤ËÊݼéŪ¤ÊÀßÄê¤Ç¹½ÃÛ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
port ¤«¤é¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ç¡¢
¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ </para>
</listitem>
<listitem>
<para>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¤Ê¤«¤Ë¤Ï¡¢
¤É¤Îµ¡Ç½¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«¤ò¥³¥ó¥Ñ¥¤¥ë»þ¤ËÀßÄꤹ¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢<application>Apache</application> ¤Ï¿¼ï¿ÍͤÊ
¥Ó¥ë¥È¥¤¥ó¥ª¥×¥·¥ç¥ó¤òÀßÄê¤Ç¤­¤Þ¤¹¡£</para>
<para>ÀßÄê¤ò¶èÊ̤¹¤ë¤¿¤á¤Ë¡¢Æ±¤¸¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÂФ·¤Æ
Ê£¿ô¤Î packages ¤¬Â¸ºß¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢<application>Ghostscript</application> ¤Ï
<application>Xorg</application> ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤è¤ê¡¢
<filename>ghostscript</filename> package ¤È
<filename>ghostscript-nox11</filename> package
¤¬ÁªÂò²Äǽ¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¤¬ 1 ¤Ä¤â¤·¤¯¤Ï
2 ¤Ä°Ê¾å¤Ë¤Ê¤ë¤È¡¢
Ê£¿ô¤Î packages ¤òÍѰդ¹¤ë¤³¤È¤Ïº¤Æñ¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>¥é¥¤¥»¥ó¥¹¾ò¹à¤Ç¡¢
¥Ð¥¤¥Ê¥ê¤Ç¤ÎÇÛÉÛ¤ò¶Ø»ß¤·¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤ì¤é¤Ï¥½¡¼¥¹¥³¡¼¥É¤ÇÇÛÉÛ¤µ¤ì¤ëɬÍפ¬¤¢¤ê¡¢
¥¨¥ó¥É¥æ¡¼¥¶¤¬¥³¥ó¥Ñ¥¤¥ë¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£</para>
</listitem>
<listitem>
<para>¥Ð¥¤¥Ê¥êÇÛÉÛ¤ò¿®ÍѤ·¤Æ¤¤¤Ê¤¤¿Í¤ä¡¢
ÀøºßŪ¤ÊÌäÂêÅÀ¤ò¸«¤Ä¤±½Ð¤¹¤¿¤á¤Ë¥½¡¼¥¹¥³¡¼¥É¤òÆÉ¤à¤³¤È¤ò¹¥¤à¿Í¤¬¤¤¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>¥í¡¼¥«¥ë¤Ê¥Ñ¥Ã¥Á¤¬¤¢¤ë¾ì¹ç¡¢
¤½¤ì¤òŬÍѤ¹¤ë¤¿¤á¤Ë¥½¡¼¥¹¥³¡¼¥É¤¬É¬Íפˤʤê¤Þ¤¹¡£</para>
</listitem>
</itemizedlist>
<para>ports ¤Î¹¹¿·¾õ¶·¤òÇİ®¤¹¤ë¤¿¤á¤Ë¡¢
&a.ports; ¤ä &a.ports-bugs; ¤ò¹ØÆÉ¤¹¤ë¤È¤è¤¤¤Ç¤·¤ç¤¦¡£</para>
<warning>
<para>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¡¢
¤½¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë´ØÏ¢¤·¤¿¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÌäÂ꤬¤Ê¤¤¤³¤È¤ò
<ulink url="http://vuxml.freebsd.org/"></ulink>
¤Ç³Îǧ¤¹¤ë¤«¡¢<filename role="package">ports-mgmt/portaudit</filename>
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤é¡¢
<command>portaudit -F -a</command> ¤ÈÆþÎϤ·¤Æ¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë´ûÃΤÎÀȼåÀ­¤¬¤Ê¤¤¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</warning>
<para>¤³¤Î¾Ï¤Ç¤Ï¡¢packages ¤È ports ¤òÍѤ¤¤¿ &os; ¾å¤Ç¤Î
¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¥½¥Õ¥È¥¦¥§¥¢¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡¤ä´ÉÍýÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£</para>
</sect1>
<sect1 id="ports-finding-applications">
<title>¥½¥Õ¥È¥¦¥§¥¢¤Îõ¤·Êý</title>
<para>&os; ¾å¤ÇÍøÍѲÄǽ¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥ê¥¹¥È¤Ï¾ï¤ËÁý¤¨¤Æ¤¤¤Þ¤¹¡£
¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤òõ¤¹ÊýË¡¤Ï¤¿¤¯¤µ¤óÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
<para>&os; ¥¦¥§¥Ö¥µ¥¤¥È¤Ï¡¢
ÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎºÇ¿·¤Î°ìÍ÷¤ò¡¢¸¡º÷¤Ç¤­¤ë·Á¤Ç
<ulink url="&url.base;/ja/ports/index.html">http://www.FreeBSD.org/ja/ports/</ulink>
¤Ë¤ª¤¤¤Æ¸ø³«¤·¤Æ¤¤¤Þ¤¹¡£
ports ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î̾Á°¤ä¡¢¥½¥Õ¥È¥¦¥§¥¢¤Î¥«¥Æ¥´¥ê¤Ç¸¡º÷½ÐÍè¤Þ¤¹¡£</para>
</listitem>
<listitem>
<indexterm><primary>FreshPorts</primary></indexterm>
<para>Dan Langille ¤Ï¡¢Êñ³çŪ¤Ê¸¡º÷¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ä
Ports Collection ¤Ë¤¢¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÊѹ¹ÅÀ¤òÄÉÀפ¹¤ë
<ulink url="http://www.FreshPorts.org/">FreshPorts</ulink>
¤ò¸ø³«¤·¤Æ¤¤¤Þ¤¹¡£
ÅÐÏ¿¤·¤¿¥æ¡¼¥¶¤Ï¡¢´Æ»ë¤·¤Æ¤¤¤ë ports ¤¬¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤¿»þ¤Ë¡¢
¤½¤Î¤³¤È¤ò¼«Æ°Åª¤Ë¥á¡¼¥ë¤ÇÃΤ餻¤Æ¤¯¤ì¤ë¤è¤¦¤Ê¡¢
¥«¥¹¥¿¥Þ¥¤¥º²Äǽ¤Ê´Æ»ë¥ê¥¹¥È¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
</listitem>
<listitem>
<indexterm><primary>Freecode</primary></indexterm>
<para>¤´´õ˾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î̾Á°¤¬¤ï¤«¤é¤Ê¤±¤ì¤Ð¡¢
Freecode (<ulink url="http://www.freecode.com/"></ulink>)
¤Î¤è¤¦¤Ê¥µ¥¤¥È¤Ç¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òõ¤·¤Æ²¼¤µ¤¤¡£
¤½¤Î¸å¡¢¤½¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ ports ¤ÇÍøÍѲÄǽ¤«¤É¤¦¤«¤ò
&os; ¥µ¥¤¥È¤ÇÄ´¤Ù¤Æ²¼¤µ¤¤¡£</para>
</listitem>
<listitem>
<para>port ¤¬¤É¤Î¥«¥Æ¥´¥ê¤ËʬÎव¤ì¤Æ¤¤¤ë¤Î¤«¤òÃΤꤿ¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
&man.whereis.1; ¥³¥Þ¥ó¥É¤ÇÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
<command>whereis <replaceable>¥Õ¥¡¥¤¥ë</replaceable></command>
¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£<replaceable>¥Õ¥¡¥¤¥ë</replaceable>
¤ÎÉôʬ¤Ë¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Í¤¨¤Æ¤¤¤ë¥×¥í¥°¥é¥à̾¤òÆþ¤ì¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>whereis lsof</userinput>
lsof: /usr/ports/sysutils/lsof</screen>
<para>¤µ¤é¤Ë¡¢°Ê²¼¤ÎÎã¤Î¤è¤¦¤Ë &man.echo.1;
¤ò»È¤Ã¤ÆÄ´¤Ù¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>echo /usr/ports/*/*lsof*</userinput>
/usr/ports/sysutils/lsof</screen>
<para>¤³¤ÎÊýË¡¤Ç¤Ï <filename class="directory">/usr/ports/distfiles</filename>
°Ê²¼¤Ë¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ë¤â¥Þ¥Ã¥Á¤·¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>¤Þ¤¿¡¢Ports Collection ¤ËÈ÷¤ï¤Ã¤Æ¤¤¤ë¸¡º÷µ¡Ç½¤òÍøÍѤ·¤Æ
port ¤ò¸¡º÷¤¹¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£
¤³¤Î¸¡º÷µ¡Ç½¤òÍøÍѤ¹¤ë¤Ë¤Ï¡¢
<application>cd</application> ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ
<filename>/usr/ports</filename> ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¡¢<command>make
<maketarget>search</maketarget>
name=<replaceable>¥í¥°¥é¥à̾</replaceable></command>
¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£
<replaceable>¥×¥í¥°¥é¥à̾</replaceable>
¤ÎÉôʬ¤Ë¤Ï¸¡º÷¤·¤¿¤¤¥½¥Õ¥È¥¦¥§¥¢¤Î̾Á°¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤¡£
¤¿¤È¤¨¤Ð¡¢<command>lsof</command> ¤òõ¤¹¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make search name=lsof</userinput>
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: </screen>
<tip>
<para><command>make search</command>
¤Ï¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤òÍøÍѤ·¤Æ¸¡º÷¤ò¹Ô¤¤¤Þ¤¹¡£
¤â¤· <filename>INDEX</filename>
¤¬É¬ÍפǤ¢¤ë¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤¿¤é¡¢
<command>make fetchindex</command> ¤ò¼Â¹Ô¤·¤Æ¡¢
ºÇ¿·¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
<filename>INDEX</filename> ¤¬ÍѰդµ¤ì¤ì¤Ð¡¢
<command>make search</command>
¤Ç¸¡º÷¤ò¼Â¹Ô¤Ç¤­¤ë¤Ç¤·¤ç¤¦¡£</para>
</tip>
<para><quote>Path:</quote> ¤È¤¤¤¦¹Ô¤Ï¡¢
port ¤¬¤É¤³¤Ë¤¢¤ë¤«¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£</para>
<para>¤è¤ê¹Ê¤é¤ì¤¿¾ðÊó¤òÆÀ¤ë¤Ë¤Ï¡¢
<command>quicksearch</command> ¤È¸Æ¤Ð¤ì¤ëµ¡Ç½¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make quicksearch name=lsof</userinput>
Port: lsof-4.87.a,7
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))</screen>
<para>¤â¤Ã¤È¾Ü¤·¤¯¸¡º÷¤¹¤ë¤Ë¤Ï¡¢
<command>make <maketarget>search</maketarget>
key=<replaceable>string</replaceable></command> ¤Þ¤¿¤Ï
<command>make <maketarget>quicksearch</maketarget>
key=<replaceable>string</replaceable></command>
¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£
<replaceable>string</replaceable>
¤ÎÉôʬ¤Ë¤Ï¸¡º÷¤·¤¿¤¤¥Æ¥­¥¹¥È¤òÆþ¤ì¤Þ¤¹¡£
¥×¥í¥°¥é¥à¤Î̾Á°¤¬¤ï¤«¤é¤Ê¤¤¾ì¹ç¤Ç¤â¡¢
¤¢¤ëÌÜŪ¤Ë´ØÏ¢¤·¤¿ ports ¤Î¸¡º÷¤ËÍøÍѤǤ­¤ë¤è¤¦¡¢
¥Æ¥­¥¹¥È¤ÎÉôʬ¤Ë¤Ï¡¢¥³¥á¥ó¥È¡¢ÀâÌÀʸ¤ª¤è¤Ó°Í¸¾ðÊó¤òÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<para><maketarget>search</maketarget>
¤ª¤è¤Ó <maketarget>quicksearch</maketarget> ¤ò»È¤¦¾ì¹ç¤Ë¤Ï¡¢
¸¡º÷ʸ»úÎóÃæ¤ÎÂçʸ»ú¤È¾®Ê¸»ú¤ò¶èÊ̤»¤º¤Ë¸¡º÷¤¬¹Ô¤ï¤ì¤ë¤Î¤Ç¡¢
<quote>LSOF</quote> ¤ò¸¡º÷¤·¤¿·ë²Ì¤Ï¡¢
<quote>lsof</quote> ¤ÈƱ¤¸¸¡º÷·ë²Ì¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="packages-using">
<sect1info>
<authorgroup>
<author>
<firstname>Chern</firstname>
<surname>Lee</surname>
<contrib>´ó¹Æ: </contrib>
</author>
</authorgroup>
<!-- 30 Mar 2001 -->
</sect1info>
<title>¥Ð¥¤¥Ê¥ê packages ¤ÎÍøÍÑ</title>
- <para>&os; ¤Ë¤Ï packages ¤ò´ÉÍý¤¹¤ë¥Ä¡¼¥ë¤¬Ê£¿ô¤¢¤ê¤Þ¤¹¡£</para>
+ <para>¸½ºß &os; ¤Ï¡¢¿·¤·¤¤ packages ´ÉÍý¥Ä¡¼¥ë¤Ø¤È°Ü¹ÔÃæ¤Ç¤¹¡£
+ ºÇ¿·¥ê¥ê¡¼¥¹¤Î¥æ¡¼¥¶¤Ï¡¢
+ <link linkend="pkgng-intro">PKGng</link> ¤Ë¤è¤ë &os;
+ ¤Î¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¥½¥Õ¥È¥¦¥§¥¢´ÉÍý¤ÎÍøÍѤò¸¡Æ¤¤·¤Æ¤¯¤À¤µ¤¤¡£
+ <application>pkgng</application> ¥Ä¡¼¥ë¤Ë°Ü¹Ô¤·¤Æ¤¤¤Ê¤¤¥æ¡¼¥¶¤Ï¡¢
+ ¤³¤ÎÀá¤ÇÀâÌÀ¤¹¤ë¥Ä¡¼¥ë¤òÍѤ¤¤Æ package ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò´ÉÍý¤·¤Æ¤¯¤À¤µ¤¤¡£
+ <command>sysinstall</command> ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤òÍѤ¤¤ë¤È¡¢
+ ¥¤¥ó¥¹¥È¡¼¥ë¸å¤Î package ´ÉÍý¤ò´Êñ¤Ë¤Ç¤­¤Þ¤¹¡£
+ </para>
- <itemizedlist>
- <listitem><para><command>sysinstall</command>
- ¤«¤é¥·¥¹¥Æ¥à¤Ë packages ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤êºï½ü¤Ç¤­¤Þ¤¹¡£
- ¤Þ¤¿¡¢¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿ packages ¤äÍøÍѲÄǽ¤Ê packages ¤Î°ìÍ÷¤òɽ¼¨¤Ç¤­¤Þ¤¹¡£
- ¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢<xref linkend="packages"/>
- ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para></listitem>
- <listitem><para>¤³¤Î¾Ï¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤Î
- package ´ÉÍý¥Ä¡¼¥ë¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£</para></listitem>
- </itemizedlist>
+ <para>¤¹¤Ù¤Æ¤Î package ¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥¡¥¤¥ë¤Ï¡¢
+ package ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹ÍѤΥǥ£¥ì¥¯¥È¥ê¤Ç¤¢¤ë
+ <filename class="directory">/var/db/pkg</filename>
+ ¤ËÊݸ¤µ¤ì¤Þ¤¹¡£</para>
<sect2>
<title>package ¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
<indexterm>
<primary>packages</primary>
<secondary>¥¤¥ó¥¹¥È¡¼¥ë</secondary>
</indexterm>
<indexterm>
<primary><command>pkg_add</command></primary>
</indexterm>
<para>&man.pkg.add.1; ¤Ï¡¢¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¤ä¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î¥µ¡¼¥Ð¤«¤é
&os; ¥Ð¥¤¥Ê¥ê package ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç¤¹¡£</para>
<example>
<title>¼êư¤Ç package ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¥í¡¼¥«¥ë¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë</title>
<screen>&prompt.root; <userinput>ftp -a <replaceable>ftp2.FreeBSD.org</replaceable></userinput>
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine is in Vienna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
<prompt>ftp></prompt> <userinput>cd /pub/FreeBSD/ports/packages/sysutils/</userinput>
250 CWD command successful.
<prompt>ftp></prompt> <userinput>get lsof-4.56.4.tgz</userinput>
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)
<prompt>ftp></prompt> <userinput>exit</userinput>
&prompt.root; <userinput>pkg_add <replaceable>lsof-4.56.4.tgz</replaceable></userinput></screen>
</example>
<para>&os; CD-ROM ¥»¥Ã¥È¤Î¤è¤¦¤Ê¡¢¥í¡¼¥«¥ë¤Ê packages ¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢
&man.pkg.add.1; ¤Ë <option>-r</option> ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±²Ã¤¨¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¼Â¹Ô¤¹¤ë¤È¡¢
¼«Æ°Åª¤ËŬÀڤʥª¥Ö¥¸¥§¥¯¥È¤Î·Á¼°¤È¥ê¥ê¡¼¥¹¤òȽÃǤ·¡¢
package ¤ò FTP ¥µ¥¤¥È¤«¤é¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
¥æ¡¼¥¶¤Ï¤³¤Î¤Û¤«¤Ë²¿¤â¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£</para>
<indexterm>
<primary><command>pkg_add</command></primary></indexterm>
<screen>&prompt.root; <userinput>pkg_add -r <replaceable>lsof</replaceable></userinput></screen>
<para>Ê̤Π&os; FTP ¥ß¥é¡¼¥µ¥¤¥È¤ò»È¤¦¤Ë¤Ï¡¢
<envar>PACKAGESITE</envar> ´Ä¶­ÊÑ¿ô¤ËÍøÍѤ·¤¿¤¤¥µ¥¤¥È¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
&man.pkg.add.1; ¤Ï¡¢<envar>FTP_PASSIVE_MODE</envar>,
<envar>FTP_PROXY</envar>, <envar>FTP_PASSWORD</envar>
¤È¤¤¤Ã¤¿´Ä¶­ÊÑ¿ô¤ò»È¤¦ &man.fetch.3;
¤òÍѤ¤¤Æ¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹¡£
¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÎÆâ¦¤Ç¤¢¤Ã¤¿¤ê¡¢
FTP/HTTP ¥×¥í¥­¥·¤ò»È¤¦¾ì¹ç¤Ë¤Ï¡¢
¤³¤ì¤é¤Î´Ä¶­ÊÑ¿ô¤òÀßÄꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
´Ä¶­ÊÑ¿ô¤Î°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï &man.fetch.3; ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
¤Þ¤¿¡¢¾å¤ÎÎã¤Ç <literal>lsof-4.56.4</literal> ¤ÎÂå¤ï¤ê¤Ë
<literal>lsof</literal> ¤ò»È¤Ã¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¥ê¥â¡¼¥È¥Õ¥§¥Ã¥Áµ¡Ç½¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢
package ¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò¼è¤ê½ü¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</para>
<note>
<para>&os.current; ¤Þ¤¿¤Ï¡¢&os.stable; ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢
&man.pkg.add.1; ¤Ï¼«Æ°Åª¤ËºÇ¿·ÈǤΥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹¡£
-RELEASE ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
¤½¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¥ê¥ê¡¼¥¹»þ¤Ë¥Ó¥ë¥É¤µ¤ì¤¿ package ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹¡£
¤³¤ÎÀßÄê¤Ï <envar>PACKAGESITE</envar> ¤ò¾å½ñ¤­¤¹¤ë¤³¤È¤ÇÊѹ¹¤Ç¤­¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢&os;&nbsp;8.1-RELEASE ¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
&man.pkg.add.1; ¤ò¼Â¹Ô¤¹¤ë¤È¥Ç¥Õ¥©¥ë¥È¤Ç
<literal>ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/</literal>
¤«¤é packages ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹¡£
&man.pkg.add.1; ¤ò»È¤Ã¤Æ &os;&nbsp;8-STABLE ¤Î packages
¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤Ë¤Ï¡¢
<envar>PACKAGESITE</envar> ´Ä¶­ÊÑ¿ô¤ò
<literal>ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/</literal>
¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
</note>
<para>package ¤Ï <filename>.tgz</filename> ¤ä <filename>.tbz</filename>
¤È¤¤¤¦³ÈÄ¥»Ò¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤È¤·¤ÆÇÛÉÛ¤µ¤ì¤Æ¤ª¤ê¡¢
<ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/"></ulink>
¤ä &os; DVD ¤Î <filename>/packages</filename> ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¤Þ¤¹¡£
packages ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ì¥¤¥¢¥¦¥È¤Ï¡¢
<filename>/usr/ports</filename> ¥Ä¥ê¡¼¤Î¤â¤Î¤ÈƱÍͤǤ¹¡£
¥«¥Æ¥´¥ê¤´¤È¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤¬¤¢¤ê¡¢
<filename>All</filename> ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¤¹¤Ù¤Æ¤Î package
¤¬¤¢¤ê¤Þ¤¹¡£</para>
<para>package ¥·¥¹¥Æ¥à¤Î¥Ç¥£¥ì¥¯¥È¥ê¹½Â¤¤Ï ports ¤Î¥ì¥¤¥¢¥¦¥È¤ÈƱ°ì¤Ç¤¹¡£
ξ¼Ô¤¬ÁȤ߹ç¤ï¤µ¤Ã¤Æ package/port ¥·¥¹¥Æ¥à¤¬¹½À®¤µ¤ì¤Þ¤¹¡£
</para>
</sect2>
<sect2>
<title>packages ¤Î´ÉÍý</title>
<indexterm>
<primary>packages</primary>
<secondary>´ÉÍý</secondary>
</indexterm>
<para>&man.pkg.info.1; ¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë
packages ¤Î°ìÍ÷¤ÈÀâÌÀ¤òɽ¼¨¤·¤Þ¤¹¡£</para>
<indexterm>
<primary><command>pkg_info</command></primary>
</indexterm>
<screen>&prompt.root; <userinput>pkg_info</userinput>
colordiff-1.0.13 A tool to colorize diff output
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...</screen>
<para>&man.pkg.version.1; ¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë
packages ¤Î¥Ð¡¼¥¸¥ç¥ó¤òÍ×Ìó¤·¤ÆÉ½¼¨¤·¤Þ¤¹¡£
¤Þ¤¿¡¢package ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¡¢
¸½ºß¤Î ports ¥Ä¥ê¡¼¤Î¥Ð¡¼¥¸¥ç¥ó¤ÈÈæ³Ó¤·¤Þ¤¹¡£</para>
<indexterm>
<primary><command>pkg_version</command></primary>
</indexterm>
<screen>&prompt.root; <userinput>pkg_version</userinput>
colordiff =
docbook =
...</screen>
<para>2 ÎóÌܤε­¹æ¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥Ð¡¼¥¸¥ç¥ó¤Î
¥í¡¼¥«¥ë ports ¥Ä¥ê¡¼¤Î¥Ð¡¼¥¸¥ç¥ó¤ËÂФ¹¤ë
¿·µì¤òɽ¤·¤Þ¤¹¡£</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>µ­¹æ</entry>
<entry>°ÕÌ£</entry>
</row>
</thead>
<tbody>
<row>
<entry>=</entry>
<entry>¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë
package ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢
¥í¡¼¥«¥ë ports ¥Ä¥ê¡¼¤Î¤â¤Î¤È°ìÃפ·¤Æ¤¤¤Þ¤¹¡£</entry>
</row>
<row>
<entry>&lt;</entry>
<entry>¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë package ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢
¥í¡¼¥«¥ë¤Ë¤¢¤ë ports ¥Ä¥ê¡¼¤Î¤â¤Î¤è¤ê¸Å¤¤¤Ç¤¹¡£</entry>
</row>
<row>
<entry>&gt;</entry>
<entry>¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë package ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢
¥í¡¼¥«¥ë¤Ë¤¢¤ë ports ¥Ä¥ê¡¼¤Î¤â¤Î¤è¤ê¿·¤·¤¤¤Ç¤¹¡£
¤¹¤Ê¤ï¤Á¡¢¥í¡¼¥«¥ë¤Î ports ¥Ä¥ê¡¼¤Ï¤ª¤½¤é¤¯¸Å¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£</entry></row>
<row><entry>?</entry><entry>¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿ package ¤ò
ports ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÃæ¤Ë¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿ port ¤¬ Ports Collection ¤«¤éºï½ü¤µ¤ì¤¿¤ê¡¢
̾Á°¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ê¤É¤Ëµ¯¤³¤ê¤Þ¤¹¡£</entry></row>
<row><entry>*</entry><entry>Ê£¿ô¤Î¥Ð¡¼¥¸¥ç¥ó¤Î
package ¤¬Â¸ºß¤·¤Þ¤¹¡£</entry></row>
<row><entry>!</entry><entry>¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿ package
¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹Ãæ¤Ë¸ºß¤·¤Þ¤¹¤¬¡¢²¿¤é¤«¤ÎÍýͳ¤Ç¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿ package
¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹Ãæ¤Î¥¨¥ó¥È¥ê¤ÈÈæ³Ó¤Ç¤­¤Þ¤»¤ó¡£</entry></row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2>
<title>package ¤Îºï½ü</title>
<indexterm>
<primary><command>pkg_delete</command></primary>
</indexterm>
<indexterm>
<primary>packages</primary>
<secondary>ºï½ü</secondary>
</indexterm>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë package ¤òºï½ü¤¹¤ë¤Ë¤Ï¡¢
&man.pkg.delete.1; ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
</para>
<screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat-1.7.1</replaceable></userinput></screen>
<para>&man.pkg.delete.1; ¤Ï package ̾¤È¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ÎξÊý¤òɬÍפȤ·¤Þ¤¹¡£
¤¹¤Ê¤ï¤Á¡¢Àè¤Û¤É¤ÎÎã¤Ë¤ª¤¤¤Æ
<replaceable>xchat-1.7.1</replaceable> ¤ò
<replaceable>xchat</replaceable> ¤È¤·¤¿¾ì¹ç¤Ë¤Ïưºî¤·¤Þ¤»¤ó¡£
&man.pkg.version.1; ¤ò»È¤Ã¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë package
¤Î¥Ð¡¼¥¸¥ç¥ó¤òÄ´¤Ù¤ë¤«¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat\*</replaceable></userinput></screen>
<para>¾å¤ÎÎã¤Ç¤Ï¡¢Ì¾Á°¤¬ <literal>xchat</literal> ¤Ç»Ï¤Þ¤ë¤¹¤Ù¤Æ¤Î packages ¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£</para>
</sect2>
-
- <sect2>
- <title>¤½¤Î¾</title>
-
- <para>¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿³Æ package ¤Î¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤äÀâÌÀ¤È¤¤¤Ã¤¿¡¢
- package ¤Ë´Ø¤¹¤ë¤¹¤Ù¤Æ¤Î¾ðÊó¤Ï¡¢
- <filename>/var/db/pkg</filename> ¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£</para>
- </sect2>
</sect1>
<sect1 id="pkgng-intro">
<title><application>pkgng</application> ¤Ë¤è¤ë¥Ð¥¤¥Ê¥ê
package ¤Î´ÉÍý</title>
<para><application>pkgng</application> ¤Ï¡¢&os; ¤Ë¤ª¤±¤ëÅÁÅýŪ¤Ê
package ´ÉÍý¥Ä¡¼¥ë¤ÎÃÖ¤­´¹¤¨¤Ç¤¢¤ê¡¢¥Ð¥¤¥Ê¥ê packages ¤ò¤è¤êÁ᤯¡¢
¤è¤ê´Êñ¤Ë´ÉÍý¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¿ô¿¤¯¤Îµ¡Ç½¤òÄ󶡤·¤Þ¤¹¡£
<application>pkgng</application> ¤ÎºÇ½é¤Î¥ê¥ê¡¼¥¹¤Ï
2012 ǯ 8 ·î¤Ë¹Ô¤ï¤ì¤Þ¤·¤¿¡£</para>
<para><application>pkgng</application> ¤Ï <filename
role="package">ports-mgmt/portmaster</filename> ¤ä <filename
role="package">ports-mgmt/portupgrade</filename> ¤Ê¤É¤Î
port ´ÉÍý¥Ä¡¼¥ë¤ÎÃÖ¤­´¹¤¨¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
<filename role="package">ports-mgmt/portmaster</filename> ¤ª¤è¤Ó
<filename role="package">ports-mgmt/portupgrade</filename> ¤Ï¡¢
¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¥½¥Õ¥È¥¦¥§¥¢¤ò¥Ð¥¤¥Ê¥ê packages ¤È
Ports Collection ¤Îξ·Á¼°¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¤¬¡¢
<application>pkgng</application> ¤Ï¥Ð¥¤¥Ê¥ê packages
¤Î¤ß¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£</para>
<sect2 id="pkgng-initial-setup">
<title><application>pkgng</application> ÆþÌç</title>
<para>&os;&nbsp;9.1 °Ê¹ß¤Ç¤Ï¡¢
<application>pkgng</application> ¤Î¤¿¤á¤Î &quot;¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×&quot;
¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï <application>pkgng</application>
¤ò¥À¥¦¥ó¥í¡¼¥É¤·¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£</para>
<para>¥·¥¹¥Æ¥à¤ò¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>/usr/sbin/pkg</userinput></screen>
<para>¤³¤ì¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î &os; ¤Ç¤Ï¡¢Ports Collection
¤Þ¤¿¤Ï packages ¤òÍѤ¤¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<para><application>pkgng</application> port
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/pkg</userinput>
&prompt.root; <userinput>make</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>package ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r pkg</userinput></screen>
<para>&os; ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤¬¤¹¤Ç¤Ë¹Ô¤ï¤ì¤Æ¤¤¤ë¤è¤¦¤Ê¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
<application>pkg_install</application> package
¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¿·¤·¤¤¥Õ¥©¡¼¥Þ¥Ã¥È¤ØÊÑ´¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
ÊÑ´¹¤ò¹Ô¤¦¤Ë¤Ï°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg2ng</userinput></screen>
<para>¤³¤Î¥¹¥Æ¥Ã¥×¤Ï¡¢
¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¥½¥Õ¥È¥¦¥§¥¢¤¬¤Þ¤À¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤è¤¦¤Ê¡¢
¿·¤·¤¯¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿Ä¾¸å¤Î¥·¥¹¥Æ¥à¤Ç¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£</para>
<important>
<para>¤³¤Î¥¹¥Æ¥Ã¥×¤ÏÈó²ÄµÕ¤Ç¤¹¡£
°ìÅÙ package ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò <application>pkgng</application>
¥Õ¥©¡¼¥Þ¥Ã¥È¤Ø¤ÈÊÑ´¹¤·¤¿¤é¡¢<application>pkg_install</application>
¥Ä¡¼¥ë¤ò»È¤¦¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£</para>
</important>
<note>
<para>package ¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÊÑ´¹¤¹¤ëºÝ¤Ë¤Ï¡¢
¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ø¤Î¥Ç¡¼¥¿ÊÑ´¹¤Ëȼ¤Ã¤¿¥¨¥é¡¼¤¬½ÐÎϤµ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
Ä̾¤³¤ì¤é¤Î¥¨¥é¡¼¤Ï̵»ë¤·¤Æ¹½¤¤¤Þ¤»¤ó¤¬¡¢
<command>pkg2ng</command> ½ªÎ»¸å¤Ëɽ¼¨¤µ¤ì¤ë¡¢
ÊÑ´¹¤Ë¼ºÇÔ¤·¤¿¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¥½¥Õ¥È¥¦¥§¥¢¤Î°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢
¤³¤ì¤é¤Î¥½¥Õ¥È¥¦¥§¥¢¤ò¼êư¤Ç½¤Àµ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
</note>
<para>&os; ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬
10.<replaceable>X</replaceable> ¤è¤êÁ°¤Ç¤¢¤ì¤Ð¡¢
°Ê²¼¤Î¹Ô¤ò <filename>/etc/make.conf</filename> ¤ËÄɲ䷤ơ¢
&os;&nbsp;Ports Collection ¤¬¥½¥Õ¥È¥¦¥§¥¢¤ÎÅÐÏ¿¤Ë¡¢
<application>pkg_install</application>
¤Ç¤Ï¤Ê¤¯ <application>pkgng</application>
¤òÍѤ¤¤ë¤è¤¦¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
<programlisting>WITH_PKGNG= yes</programlisting>
</sect2>
<sect2 id="pkgng-pkg-conf">
<title><application>pkgng</application> ´Ä¶­¤ÎÀßÄê</title>
<para><application>pkgng</application> package ´ÉÍý¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
¤Û¤È¤ó¤É¤Î¥³¥Þ¥ó¥É¤ËÂФ·¤Æ package ¥ê¥Ý¥¸¥È¥ê¤ò»È¤¤¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Î package ¥ê¥Ý¥¸¥È¥ê¤Ï
<filename>/usr/local/etc/pkg.conf</filename> ¤Þ¤¿¤Ï
<envar>PACKAGESITE</envar> ´Ä¶­ÊÑ¿ô¤ÇÄêµÁ¤µ¤ì¤Þ¤¹¡£
¤³¤Î´Ä¶­ÊÑ¿ô¤Ï¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤·¤Þ¤¹¡£</para>
<para>¤½¤Î¾¤Î <application>pkgng</application>
¤ÎÀßÄꥪ¥×¥·¥ç¥ó¤Ï¡¢pkg.conf(5) ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
</sect2>
<sect2 id="pkgng-basic-usage">
<title>´ðËÜŪ¤Ê <application>pkgng</application> ¤ÎÁàºî</title>
<para><application>pkgng</application> ¤ÎÍøÍѾðÊó¤Ï¡¢
man.pkg(8) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ä¡¢
<command>pkg</command> ¤ò°ú¿ô¤Ê¤·¤Ë¼Â¹Ô¤¹¤ë¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£</para>
<para>³Æ <application>pkgng</application> ¥³¥Þ¥ó¥É¤Î°ú¿ô¤Ï¡¢
¥³¥Þ¥ó¥É¤Ë¸ÇÍ­¤Ê¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢<command>pkg install</command> ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤òÆÉ¤à¤Ë¤Ï¡¢
°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg help install</userinput></screen>
<screen>&prompt.root; <userinput>man pkg-install</userinput></screen>
<sect3 id="pkgng-pkg-info">
<title><application>pkgng</application> ¤ò»È¤Ã¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿
package ¤Î¾ðÊó¤òÆÀ¤ë¤Ë¤Ï</title>
<para><command>pkg info</command> ¤ò¼Â¹Ô¤¹¤ë¤È¡¢
¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë package ¾ðÊ󤬯À¤é¤ì¤Þ¤¹¡£
&man.pkg.info.1; ƱÍÍ¡¢¤¹¤Ù¤Æ¤Î package ¤Î¥Ð¡¼¥¸¥ç¥ó¡¢
¤ª¤è¤ÓÀâÌÀ¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<para>¤¢¤ëÆÃÄê¤Î package ¤Î¾ðÊó¤¬É¬ÍפǤ¢¤ì¤Ð¡¢
°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg info <replaceable>packagename</replaceable></userinput></screen>
<para>¤¿¤È¤¨¤Ð¡¢¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë
<application>pkgng</application> ¤Î¾ðÊó¤òÄ´¤Ù¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg info pkg</userinput>
pkg-1.0.2 New generation package manager</screen>
</sect3>
<sect3 id="pkgng-installing-deinstalling">
<title><application>pkgng</application>
¤òÍѤ¤¤¿ packages ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Èºï½ü</title>
<para>Ä̾¤Û¤È¤ó¤É¤Î &os; ¥æ¡¼¥¶¤Ï¡¢¥Ð¥¤¥Ê¥ê¥Ñ¥Ã¥±¡¼¥¸¤ò
<command>pkg install
<replaceable>packagename</replaceable></command>
¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ç¤·¤ç¤¦¡£</para>
<screen>&prompt.root; <userinput>pkg install <replaceable>packagename</replaceable></userinput></screen>
<para><xref linkend="pkgng-pkg-conf"/> ¤ÇÀâÌÀ¤·¤¿Ä̤ꡢ
<command>pkg install</command> ¤Ï¥ê¥Ý¥¸¥È¥ê¥Ç¡¼¥¿¤ò»ÈÍѤ·¤Þ¤¹¡£
¤³¤ì¤È¤ÏÈ¿ÂФˡ¢pkg-add(8) ¤Ï¥ê¥Ý¥¸¥È¥ê¥Ç¡¼¥¿¤òÍѤ¤¤Ê¤±¤ì¤Ð¡¢
ÄêµÁ¤µ¤ì¤Æ¤¤¤ë <envar>PACKAGESITE</envar> ¤â»È¤¤¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢°Í¸´Ø·¸¤ÏŬÀڤˤÏÄÉÀפµ¤ì¤º¡¢
­¤ê¤Ê¤¤°Í¸¤Ë¤Ä¤¤¤Æ¤â¥ê¥â¡¼¥È¥Û¥¹¥È¤«¤é¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤Þ¤»¤ó¡£
¤³¤ÎÀá¤Ç¤Ï <command>pkg install</command> ¤Î»ÈÍÑÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
<command>pkg add</command> ¤Î»ÈÍÑÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï pkg-add(8)
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
<para>ÄɲäΥХ¤¥Ê¥ê package ¤Ï¡¢
<command>pkg install</command> ¤Ë¤è¤ê¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢
<application>curl</application> ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg install curl</userinput>
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
The following packages will be installed:
Installing ca_root_nss: 3.13.5
Installing curl: 7.24.0
The installation will require 4 MB more space
1 MB to be downloaded
Proceed with installing packages [y/N]: <userinput>y</userinput>
ca_root_nss-3.13.5.txz 100% 255KB 255.1KB/s 255.1KB/s 00:00
curl-7.24.0.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00
Checking integrity... done
Installing ca_root_nss-3.13.5... done
Installing curl-7.24.0... done</screen>
<para>¿·¤·¤¤ package ¤È°Í¸´Ø·¸¤«¤éÄɲ䵤줿 package ¤Ï¡¢
¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß package °ìÍ÷¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg info</userinput>
ca_root_nss-3.13.5 The root certificate bundle from the Mozilla Project
curl-7.24.0 Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers
pkg-1.0.2 New generation package manager</screen>
<para>ɬÍפΤʤ¯¤Ê¤Ã¤¿ packages ¤Ï¡¢
<command>pkg delete</command> ¤ò»È¤Ã¤Æºï½ü¤Ç¤­¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢<application>curl</application> ¤¬É¬Íפʤ¯¤Ê¤Ã¤¿¤é¡¢
°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æºï½ü¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg delete curl</userinput>
The following packages will be deleted:
curl-7.24.0_1
The deletion will free 3 MB
Proceed with deleting packages [y/N]: <userinput>y</userinput>
Deleting curl-7.24.0_1... done</screen>
</sect3>
<sect3 id="pkgng-upgrading">
<title><application>pkgng</application> ¤Ë¤è¤ë package
¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É</title>
<para><command>pkg version</command>
¤òÍѤ¤¤Æ¸Å¤¯¤Ê¤Ã¤¿ packages ¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¥í¡¼¥«¥ë¤Ë ports ¥Ä¥ê¡¼¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
pkg-version(8) ¤Ï¡¢¥ê¥â¡¼¥È¥ê¥Ý¥¸¥È¥ê¤Î¥«¥¿¥í¥°¤òÍøÍѤ·¤Þ¤¹¡£
¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¥í¡¼¥«¥ë¤Î ports ¥Ä¥ê¡¼¤ò»È¤Ã¤Æ
package ¤Î¥Ð¡¼¥¸¥ç¥ó¤òƱÄꤷ¤Þ¤¹¡£</para>
<para><application>pkgng</application> ¤òÍѤ¤¤Æ
package ¤ò¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Þ¤¹¡£
<application>curl</application>
¤Î¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¥í¡¼¥«¥ë package
¤ò°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg upgrade</userinput>
Updating repository catalogue
repo.txz 100% 297KB 296.5KB/s 296.5KB/s 00:00
The following packages will be upgraded:
Upgrading curl: 7.24.0 -> 7.24.0_1
1 MB to be downloaded
Proceed with upgrading packages [y/N]: <userinput>y</userinput>
curl-7.24.0_1.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00
Checking integrity... done
Upgrading curl from 7.24.0 to 7.24.0_1... done</screen>
</sect3>
<sect3 id="pkgng-auditing">
<title><application>pkgng</application> ¤Ë¤è¤ë package
¤Î¸¡¾Ú</title>
<para>»þÀÞ¡¢Ports Collection
¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢¤ËÀȼåÀ­¤¬¸«¤Ä¤«¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
<application>pkgng</application> ¤Ï¡¢<filename
role="package">ports-mgmt/portaudit</filename> package
ƱÍͤθ¡¾Úµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢¤ò¸¡¾Ú¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg audit -F</userinput></screen>
</sect3>
</sect2>
<sect2 id="pkgng-advanced-usage">
<title>¹âÅÙ¤Ê <application>pkgng</application> ¤ÎÍøÍÑ</title>
<sect3 id="pkgng-autoremove">
<title> <application>pkgng</application> ¤Ë¤è¤ë¥ê¡¼¥Õ°Í¸ ports
¤Î¼«Æ°ºï½ü</title>
<para>package ¤òºï½ü¤¹¤ë¤È¡¢ÉÔɬÍפʰ͸ ports¡¢¤¿¤È¤¨¤Ð¾å¤ÎÎã¤Ç¤Ï
<filename role="package">security/ca_root_nss</filename>
¤¬»Ä¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤é¤Î packages ¤Ï¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¤Þ¤Þ¤Ç¤É¤³¤«¤é¤â°Í¸¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
°Í¸¤Î¤¿¤á¤ËƳÆþ¤µ¤ì¡¢¸½ºß¤ÏÉÔɬÍפˤʤä¿ package ¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¤È¼«Æ°Åª¤Ë¸¡½Ð¤µ¤ì¡¢ºï½ü¤µ¤ì¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg autoremove</userinput>
Packages to be autoremoved:
ca_root_nss-3.13.5
The autoremoval will free 723 kB
Proceed with autoremoval of packages [y/N]: <userinput>y</userinput>
Deinstalling ca_root_nss-3.13.5... done</screen>
</sect3>
<sect3 id="pkgng-backup">
<title><application>pkgng</application> package
¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×</title>
<para>ÅÁÅýŪ¤Ê package ´ÉÍý¥·¥¹¥Æ¥à¤È¤Ï°Û¤Ê¤ê¡¢
<application>pkgng</application> ¤Ë¤Ï package
¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¥á¥«¥Ë¥º¥à¤¬¤¢¤ê¤Þ¤¹¡£
package ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÆâÍÆ¤ò¼êư¤Ç¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg backup -d <replaceable>pkgng.db</replaceable></userinput></screen>
<note>
<para>¥Õ¥¡¥¤¥ë̾¤Î <replaceable>pkgng.db</replaceable>
¤òŬÀڤʥե¡¥¤¥ë̾¤ËÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
</note>
<para>¤µ¤é¤Ë¡¢<application>pkgng</application> ¤Ï
package ¥Ç¡¼¥¿¥Ù¡¼¥¹¤òËèÆü¼«Æ°Åª¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë
&man.periodic.8; ¥¹¥¯¥ê¥×¥È¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£
&man.periodic.conf.5; ¤ÎÃæ¤Ç¡¢
<literal>daily_backup_pkgng_enable</literal> ¤ò
<literal>YES</literal> ¤ËÀßÄꤹ¤ë¤È¥Ð¥Ã¥¯¥¢¥Ã¥×¤µ¤ì¤Þ¤¹¡£</para>
<tip>
<para><application>pkg_install</application>
¤ÎÄê´üŪ¤Ê¥¹¥¯¥ê¥×¥È¤¬¡¢
package ¥Ç¡¼¥¿¥Ù¡¼¥¹¤òƱÍͤ˥Х寥¢¥Ã¥×¤¹¤ë¤³¤È¤òÈò¤±¤ë¤¿¤á¤Ë¤Ï¡¢
&man.periodic.conf.5; ¤ÎÃæ¤Ç¡¢
<literal>daily_backup_pkgdb_enable</literal> ¤ò
<literal>NO</literal> ¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
</tip>
<para>²áµî¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤¿ package
¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÃæ¿È¤ò¥ê¥¹¥È¥¢¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg backup -r <replaceable>/path/to/pkgng.db</replaceable></userinput></screen>
</sect3>
<sect3 id="pkgng-clean">
<title>¸Å¤¯¤Ê¤Ã¤¿ <application>pkgng</application> package
¤Îºï½ü</title>
<para>¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢<application>pkgng</application>
¤Ï¥­¥ã¥Ã¥·¥å¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Ð¥¤¥Ê¥ê packages ¤òÊݸ¤·¤Þ¤¹¡£
¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢pkg.conf(5) ¤Î
<envar>PKG_CACHEDIR</envar> ÊÑ¿ô¤ÇÄêµÁ¤µ¤ì¤Þ¤¹¡£
<command>pkg upgrade</command> ¤ò»È¤Ã¤Æ packages
¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ëºÝ¤Ë¤Ï¡¢
¥¢¥Ã¥×¥°¥ì¡¼¥É¤µ¤ì¤¿ package
¤Î¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Ï¼«Æ°Åª¤Ë¤Ïºï½ü¤µ¤ì¤Þ¤»¤ó¡£</para>
<para>¥·¥¹¥Æ¥à¤«¤é¸Å¤¤¥Ð¥¤¥Ê¥ê package ¤òºï½ü¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg clean</userinput></screen>
</sect3>
<sect3 id="pkgng-set">
<title><application>pkgng</application> package
¥á¥¿¥Ç¡¼¥¿¤ÎÊѹ¹</title>
<para>Îò»ËŪ¤Ë &os;&nbsp;Ports Collection
¤Ï¡¢¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ÎÊѹ¹¤ËÂбþ¤Ç¤­¤Þ¤¹¡£
<application>pkg_install</application> ¤È¤Ï°Û¤Ê¤ê¡¢
<application>pkgng</application> ¤Ë¤Ï¡¢
package ¤Î¾ðÊó¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¥³¥Þ¥ó¥É¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢<filename
role="package">lang/php5</filename> ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¡¢¤â¤È¤â¤È¤Ï
<literal>5.3</literal> ¤Ç¡¢<literal>5.4</literal>
¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤¿¤³¤È¤Ëȼ¤¤
<filename role="package">lang/php53</filename>
¤Ø¤È̾Á°¤¬Êѹ¹¤µ¤ì¤ë¾ì¹ç¡¢
<application>pkg_install</application> ¤Ç¤Ï¡¢
package ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¡¢
¤É¤Î port ¤¬¥¤¥ó¥¹¥È¡¼¥ë¸µ¤Ç¤¢¤Ã¤¿¤«¤È¤¤¤¦¾ðÊó¤òÊѹ¹¤¹¤ë¤¿¤á¤Ë
<filename role="package">ports-mgmt/portmaster</filename>
¤Î¤è¤¦¤ÊÊ̤Υ½¥Õ¥È¥¦¥§¥¢¤òɬÍפȤ·¤Þ¤¹¡£</para>
<para><filename
role="package">ports-mgmt/portmaster</filename> ¤ª¤è¤Ó
<filename role="package">ports-mgmt/portupgrade</filename>
ports ¤È¤Ï°Û¤Ê¤ê¡¢°ú¿ô¤ËÍ¿¤¨¤ë¥Ð¡¼¥¸¥ç¥ó¤Î¿·¡¢µì¤Î½çÈ֤ϰۤʤê¤Þ¤¹¡£
<application>pkgng</application> ¤Ç¤Î¹½Ê¸¤Ï¡¢<command>pkg set -o
<replaceable>category/oldport</replaceable>:<replaceable>category/newport</replaceable></command> ¤È¤Ê¤ê¤Þ¤¹¡£</para>
<para>¤¿¤È¤¨¤Ð¡¢¾åµ­¤ÎÎã¤Î package ¤Î¾ðÊó¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg set -o lang/php5:lang/php53</userinput></screen>
<para>Ê̤ÎÎã¤È¤·¤Æ¡¢<filename
role="package">lang/ruby18</filename> ¤ò <filename
role="package">lang/ruby19</filename> ¤Ë¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg set -o lang/ruby18:lang/ruby19</userinput></screen>
<para>ºÇ¸å¤ÎÎã¤È¤·¤Æ¡¢
<filename>libglut</filename> ¶¦Í­¥é¥¤¥Ö¥é¥ê¤Î¾ðÊó¤ò <filename
role="package">graphics/libglut</filename> ¤«¤é <filename
role="package">graphics/freeglut</filename> ¤Ø¤ÈÊѹ¹¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg set -o graphics/libglut:graphics/freeglut</userinput></screen>
<note>
<para>package ¤Î¾ðÊó¤òÊѹ¹¤·¤¿¤é¡¢Â¿¤¯¤Î¾ì¹ç¡¢
¾ðÊó¤¬Êѹ¹¤µ¤ì¤¿ package ¤Ë°Í¸¤·¤Æ¤¤¤ë
packages ¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤¬½ÅÍפȤʤê¤Þ¤¹¡£
°Í¸ packages ¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg install -Rf <replaceable>graphics/freeglut</replaceable></userinput></screen>
</note>
</sect3>
</sect2>
</sect1>
<sect1 id="ports-using">
<title>Ports Collection ¤ÎÍøÍÑ</title>
<para>¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢Ports Collection
¤òÍøÍѤ·¤Æ¥×¥í¥°¥é¥à¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤ê¡¢
¥·¥¹¥Æ¥à¤«¤éºï½ü¤·¤¿¤ê¤¹¤ë´ðËÜŪ¤Ê¼ê½ç¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
ÍøÍѲÄǽ¤Ê <command>make</command> ¤Î¥¿¡¼¥²¥Ã¥È¤ä´Ä¶­ÊÑ¿ô¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï
&man.ports.7; ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
<warning>
<para>&os; Ports ¥×¥í¥¸¥§¥¯¥È¤Ï¡¢2012 ǯ¤Ë¥Ð¡¼¥¸¥ç¥ó´ÉÍý¥·¥¹¥Æ¥à¤ò
CVS ¤«¤é Subversion ¤Ø¤È°Ü¹Ô¤·¤Þ¤·¤¿¡£
°ìÈÌŪ¤Ê ports ¤ÎÍøÍѤˤª¤¤¤Æ¿ä¾©¤µ¤ì¤ëÊýË¡¤Ï
<application>Portsnap</application> ¤Ç¤¹¡£
¥í¡¼¥«¥ë¤Ç ports ¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¤¤
(¤¹¤Ê¤ï¤Á¡¢¥í¡¼¥«¥ë¤ÇÄɲäΥѥåÁ¤ò¥á¥ó¥Æ¥Ê¥ó¥¹¤·¤¿¤¤)
¤È¹Í¤¨¤Æ¤¤¤ë¥æ¡¼¥¶¤Ï¡¢Ä¾ÀÜ Subversion ¤ò»È¤¦¤È¤è¤¤¤Ç¤·¤ç¤¦¡£
<application>CVSup</application> ¤Î¥µ¡¼¥Ó¥¹¤Ï¡¢
2013 ǯ 2 ·î 28 Æü¤ËÇѻߤµ¤ì¤Þ¤·¤¿¡£</para>
</warning>
<sect2 id="ports-tree">
<title>Ports Collection ¤Î½àÈ÷</title>
<para>Ports Collection ¤È¤Ï¡¢<filename>/usr/ports</filename>
°Ê²¼¤ËÃÖ¤«¤ì¤ë <filename>Makefile</filename>, ½¤Àµ¥Ñ¥Ã¥Á¡¢
ÀâÌÀʸ¤Ê¤É¤Î°ìÏ¢¤Î¥Õ¥¡¥¤¥ë¤Î¤³¤È¤Ç¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥»¥Ã¥È¤Ï¡¢
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ &os; ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤ËÍѤ¤¤é¤ì¤Þ¤¹¡£
°Ê²¼¤Ç¤Ï¡¢&os; ¤Î¥»¥Ã¥È¥¢¥Ã¥×»þ¤Ë Ports Collection ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¡¢
Ports Collection ¤ò½àÈ÷¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¼¨¤·¤Þ¤¹¡£</para>
<procedure>
<title>Portsnap ¤òÍøÍѤ¹¤ëÊýË¡</title>
<para><application>Portsnap</application> ¤Ï Ports Collection
¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Î®¤¯¤Æ»È¤¤¤ä¤¹¤¯¡¢
¿¤¯¤Î¥æ¡¼¥¶¤Ë¿ä¾©¤µ¤ì¤ë¥Ä¡¼¥ë¤Ç¤¹¡£
<application>Portsnap</application> ¤Îµ¡Ç½¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï
<link linkend="updating-upgrading-portsnap">Portsnap ¤ò»È¤¦</link>
¤ÎÀá¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<step>
<para>°µ½Ì¤µ¤ì¤¿ Ports Collection ¤Î¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò
<filename class="directory">/var/db/portsnap</filename>
¤Ë¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>portsnap fetch</userinput></screen>
</step>
<step>
<para>½é¤á¤Æ <application>Portsnap</application> ¤ò»È¤¦»þ¤Ï¡¢
¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò¤Þ¤º <filename
class="directory">/usr/ports</filename> ¤ËŸ³«¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>portsnap extract</userinput></screen>
</step>
<step>
<para>¾å¤Ç¼¨¤·¤¿ <application>Portsnap</application>
¤ò½é¤á¤ÆÍøÍѤ¹¤ëºÝ¤Ë¹Ô¤¦¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¸å¤Ï¡¢
°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç
<filename class="directory">/usr/ports</filename>
¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>portsnap fetch</userinput>
&prompt.root; <userinput>portsnap update</userinput></screen>
</step>
</procedure>
<procedure>
<title>Subversion ¤òÍѤ¤¤ëÊýË¡</title>
<para>¤¿¤È¤¨¤Ð¡¢¥í¡¼¥«¥ë¤ÇÊѹ¹ÅÀ¤ò¥á¥ó¥Æ¥Ê¥ó¥¹¤¹¤ë¾õ¶·¤Î¤è¤¦¤Ë¡¢
ports ¥Ä¥ê¡¼¤Î´ÉÍý¤¬É¬Íפʾì¹ç¤Ë¤Ï¡¢
<application>Subversion</application> ¤ò»È¤Ã¤Æ
Ports Collection ¤ò¼èÆÀ¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
<application>Subversion</application> ¤Î¤è¤ê¾ÜºÙ¤ÊÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
<ulink
url="&url.articles.committers-guide.en;/subversion-primer.html">
Subversion Primer</ulink> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<step>
<para><application>Subversion</application>
¤ò»È¤Ã¤Æ ports ¥Ä¥ê¡¼¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È¤¹¤ëÁ°¤Ë¡¢
<application>Subversion</application>
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
ports ¥Ä¥ê¡¼¤¬¤¹¤Ç¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢
°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ <application>Subversion</application>
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/devel/subversion</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>ports ¥Ä¥ê¡¼¤¬¤Ê¤±¤ì¤Ð¡¢package ¤«¤é
<application>Subversion</application> ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r subversion</userinput></screen>
<para>package ¤Î´ÉÍý¤Ë <application>pkgng</application>
¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢Âå¤ï¤ê¤Ë°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ
<application>Subversion</application> ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg install subversion</userinput></screen>
</step>
<step>
<para>ports ¥Ä¥ê¡¼¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤òÎɤ¯¤¹¤ë¤¿¤á¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ë¤ª¤¤¤Æ¡¢
<replaceable>svn0.us-east.FreeBSD.org</replaceable> ¤ò <ulink
url="&url.books.handbook;/svn-mirrors.html">Subversion
¥ß¥é¡¼</ulink>
¤ÎÃæ¤«¤éÃÏÍýŪ¤Ë¶á¤¤¾ì½ê¤Ë¤¢¤ë¥ß¥é¡¼¤ËÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£
¥³¥ß¥Ã¥¿¤ÎÊý¡¹¤Ï¡¢ºÇ½é¤Ë <ulink
url="&url.articles.committers-guide.en;/subversion-primer.html">Subversion
Primer</ulink> ¤òÆÉ¤ó¤Ç¡¢Å¬Àڤʥץí¥È¥³¥ë¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>svn checkout https://<replaceable>svn0.us-east.FreeBSD.org</replaceable>/ports/head /usr/ports</userinput></screen>
</step>
<step>
<para><application>Subversion</application>
¤Ç¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤¿¸å¡¢
<filename class="directory">/usr/ports</filename>
¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>svn update /usr/ports</userinput></screen>
</step>
</procedure>
<procedure>
<title>sysinstall ¤òÍøÍѤ¹¤ëÊýË¡</title>
<para>¤³¤³¤Ç¤Ï¡¢<application>sysinstall</application>
¤òÍøÍѤ·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤«¤é Ports Collection
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
¤³¤ÎÊýË¡¤Ç¤Ï¡¢¥ê¥ê¡¼¥¹»þ¤Î¸Å¤¤ Ports Collection
¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤â¤·¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ø¤ÎÀܳ¤¬²Äǽ¤Ç¤¢¤ì¤Ð¡¢
¤³¤ì¤Þ¤Ç¤ËÀâÌÀ¤·¤¿ÊýË¡¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<step>
<para><username>root</username> ¥æ¡¼¥¶¸¢¸Â¤Ç¡¢°Ê²¼¤Î¤è¤¦¤Ë
<command>sysinstall</command> ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>sysinstall</userinput></screen>
</step>
<step>
<para>¥¹¥¯¥í¡¼¥ë¥À¥¦¥ó¤·¤Æ <guimenuitem>Configure</guimenuitem> ¤òÁª¤Ó¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
<step>
<para>¥¹¥¯¥í¡¼¥ë¥À¥¦¥ó¤·¤Æ <guimenuitem>Distributions</guimenuitem> ¤òÁª¤Ó¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
<step>
<para>¥¹¥¯¥í¡¼¥ë¥À¥¦¥ó¤·¤Æ <guimenuitem>ports</guimenuitem> ¤òÁª¤Ó¡¢
<keycap>Space</keycap> ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
<step>
<para><guimenuitem>Exit</guimenuitem> ¤Þ¤Ç¥¹¥¯¥í¡¼¥ë¥¢¥Ã¥×¤·¤Æ¡¢
<keycap>Enter</keycap> ¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
<step>
<para>CDROM ¤ä FTP ¤È¤¤¤Ã¤¿¥¤¥ó¥¹¥È¡¼¥ë¥á¥Ç¥£¥¢¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
<step>
<para><guimenuitem>Exit</guimenuitem> ¤Þ¤Ç¥¹¥¯¥í¡¼¥ë¥¢¥Ã¥×¤·¤Æ¡¢<keycap>Enter</keycap>
¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
<step>
<para><keycap>X</keycap> ¤ò²¡¤·¤Æ¡¢
<application>sysinstall</application> ¤ò½ªÎ»¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
</procedure>
</sect2>
<sect2 id="cvsup-migration">
<title><application>CVSup</application>/<application>csup</application>
¤«¤é <application>portsnap</application> ¤Ø¤Î°Ü¹Ô</title>
<warning>
<para>2013 ǯ 2 ·î 28 Æü¤Þ¤Ç¤Ë
ports ¥Ä¥ê¡¼¤Î <application>CVS</application>
¤Ø¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤Ï½ªÎ»¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢<application>CVSup</application> ¤ª¤è¤Ó
<application>csup</application> ¤òÍѤ¤¤Æ ports
¥Ä¥ê¡¼¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£</para>
</warning>
<procedure>
<title>Portsnap ¤Ø¤Î°Ü¹Ô</title>
<para>°Ü¹Ô¤ËºÝ¤·¤Æ¤Ï¡¢
<filename class="directory">/usr</filename> ¤ËÌó
1&nbsp;GB ¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤ȡ¢
¤µ¤é¤Ë <application>Portsnap</application>
¤ÏÌó 150&nbsp;MB ¤Î¥Ç¥£¥¹¥¯ÍÆÎ̤ò <filename
class="directory">/var</filename> ¤ËɬÍפȤ·¤Þ¤¹¡£</para>
<step>
<para>¤â¤· &man.cron.8; ¤ò»È¤Ã¤Æ
<application>CVSup</application>
<application>csup</application> ¤ò¼Â¹Ô¤¹¤ë¤Ê¤É¡¢
¼«Æ°Åª¤Ê ports ¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
Ää»ß¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</step>
<step>
<para>¸½ºß¤Î ports ¥Ä¥ê¡¼¤ò°ì»þŪ¤ËÊ̤ξì½ê¤Ë°Üư¤·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>mv /usr/ports /usr/ports.old</userinput></screen>
</step>
<step>
<para>¿·¤·¤¤ ports ¥Ä¥ê¡¼¤ò
<application>Portsnap</application> ¤ò»È¤Ã¤Æ¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¡¢
<filename class="directory">/usr/ports</filename>
¤ËŸ³«¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>portsnap fetch extract</userinput></screen>
</step>
<step>
<para>distfiles ¤ª¤è¤ÓÊݸ¤µ¤ì¤Æ¤¤¤ë packages ¤ò¿·¤·¤¤
port ¥Ä¥ê¡¼¤Ë°Üư¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>mv /usr/ports.old/distfiles /usr/ports</userinput>
&prompt.root; <userinput>mv /usr/ports.old/packages /usr/ports</userinput></screen>
</step>
<step>
<para>¸Å¤¤ ports ¥Ä¥ê¡¼¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>rm -rf /usr/ports.old</userinput></screen>
</step>
<step>
<para>¤â¤· <application>CVSup</application>
¤ò»ÈÍѤ·¤Æ¤¤¤¿¤Î¤Ç¤¢¤ì¤Ð¡¢¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg_delete -r -v cvsup-without-gui-\*</userinput></screen>
<para><application>pkgng</application> ¤Î¥æ¡¼¥¶¤Ï¡¢
°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æºï½ü¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg delete cvsup-without-gui</userinput></screen>
</step>
</procedure>
<para><application>Portsnap</application> ¤Î¾ÜºÙ¤È¡¢
<application>Portsnap</application> ¤òÍѤ¤¤¿
ports ¥Ä¥ê¡¼¤Î¥¢¥Ã¥×¥Ç¡¼¥ÈÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢
<link linkend="updating-upgrading-portsnap">Portsnap
¤ò»È¤¦</link> ¤ÎÀá¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="ports-skeleton">
<title>ports ¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
<indexterm>
<primary>ports</primary>
<secondary>¥¤¥ó¥¹¥È¡¼¥ë</secondary>
</indexterm>
<para>port ¥¹¥±¥ë¥È¥ó¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò &os;
¾å¤ÇÀµ¤·¤¯¥³¥ó¥Ñ¥¤¥ë¤·¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÊýË¡¤òÄ󶡤¹¤ë¥Õ¥¡¥¤¥ë¤Î¥»¥Ã¥È¤Î¤³¤È¤Ç¤¹¡£
¤½¤ì¤¾¤ì¤Î port ¥¹¥±¥ë¥È¥ó¤Ë¤Ï¡¢¼¡¤Î¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
<para><filename>Makefile</filename>¡£
<filename>Makefile</filename>
¤Ë¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥³¥ó¥Ñ¥¤¥ëÊýË¡¤ä¥·¥¹¥Æ¥à¤Î¤É¤³¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«¤ò»ØÄꤹ¤ëÌ¿Îáʸ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><filename>distinfo</filename>¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¤½¤Î port
¤ò¹½ÃÛ¤¹¤ë¤¿¤á¤Ë¥À¥¦¥ó¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ë¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë̾¤È¡¢
¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤¬¥À¥¦¥ó¥í¡¼¥É¤Ë¤è¤Ã¤Æ²õ¤ì¤Æ¤¤¤Ê¤¤¤«¤ò
(&man.sha256.1; ¤ò»È¤Ã¤Æ)
³Îǧ¤¹¤ë¤¿¤á¤Î¥Á¥§¥Ã¥¯¥µ¥à¾ðÊó¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><filename>files</filename>¡£
¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï &os; ¾å¤Ç¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤·¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤¿¤á¤Î½¤Àµ¥Ñ¥Ã¥Á¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¡¢¤½¤Î port
¤Î¹½ÃÛ¤ËɬÍפʤ½¤Î¾¤Î¥Õ¥¡¥¤¥ë¤¬Æþ¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><filename>pkg-descr</filename>¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¥×¥í¥°¥é¥à¤Ë´Ø¤¹¤ë¡¢¤è¤ê¾Ü¤·¤¤ÀâÌÀʸ¤¬´Þ¤Þ¤ì¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para><filename>pkg-plist</filename>¡£
¤³¤ì¤Ï¡¢¤½¤Î port ¤Ë¤è¤Ã¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ëÁ´¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤Ç¤¹¡£
¤³¤ì¤Ë¤Ï¥×¥í¥°¥é¥à¤òºï½ü¤¹¤ëºÝ¤Ë¡¢
¤É¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ì¤ÐÎɤ¤¤Î¤«¤ò ports
¥·¥¹¥Æ¥à¤ËÅÁ¤¨¤ëÌò³ä¤â¤¢¤ê¤Þ¤¹¡£</para>
</listitem>
</itemizedlist>
<para>¤³¤ì¤é¤Î¾¤Ë <filename>pkg-message</filename>
¤È¤¤¤Ã¤¿¥Õ¥¡¥¤¥ë¤ò´Þ¤à ports ¤â¤¢¤ê¤Þ¤¹¡£
ports ¥·¥¹¥Æ¥à¤Ï¡¢
¤³¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤òÍѤ¤¤ÆÆÃ¼ì¤Ê¾õ¶·¤Ë¤âÂбþ¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤ª¤è¤Ó
ports ¤Î°ìÈÌŪ¤ÊÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï¡¢<ulink
url="&url.books.porters-handbook;/index.html">port
ºîÀ®¼Ô¤Î¤¿¤á¤Î¥Ï¥ó¥É¥Ö¥Ã¥¯</ulink> ¤ò¤´Í÷²¼¤µ¤¤¡£</para>
<para>port ¤Ï¼ÂºÝ¤Î¥½¡¼¥¹¥³¡¼¥É (<quote>distfile</quote> ¤È¤â¸Æ¤Ð¤ì¤Þ¤¹)
¤ò´Þ¤ó¤Ç¤Ï¤¤¤Þ¤»¤ó¡£
¥½¡¼¥¹¥³¡¼¥É¤Ï¥½¥Õ¥È¥¦¥§¥¢¤Îºî¼Ô¤¬¹¥¤à·Á¼°¤ÇÇÛÉÛ¤µ¤ì¤Þ¤¹¡£
°Ê²¼¤Ç¤Ï port ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë 2 ¤Ä¤ÎÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£</para>
<note>
<para>ports ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
<username>root</username> ¤È¤·¤Æ¥í¥°¥¤¥ó¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
</note>
<warning>
<para>port ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÁ°¤Ë¡¢
Ports Collection ¤¬ºÇ¿·¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤Þ¤¿¡¢¤½¤Î port ¤Ë´ØÏ¢¤·¤¿¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÌäÂ꤬¤Ê¤¤¤³¤È¤ò
<ulink url="http://vuxml.freebsd.org/"></ulink>
¤Ç³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£<filename
role="package">ports-mgmt/portaudit</filename>
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
¿·¤·¤¯ port ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¡¢
<command>portaudit -F</command> ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¡¢
ºÇ¿·¤ÎÀȼåÀ­¤Ë´Ø¤¹¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
¥»¥­¥å¥ê¥Æ¥£¤Î¸¡ºº¤ª¤è¤Ó¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¹¹¿·¤Ï¡¢
Æü¡¹¤Î¥»¥­¥å¥ê¥Æ¥£¥Á¥§¥Ã¥¯¤Ç¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£
¾Ü¤·¤¯¤Ï¡¢&man.portaudit.1; ¤ª¤è¤Ó &man.periodic.8;
¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</warning>
<para>Ports Collection ¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯¤ËÀܳ¤Ç¤­¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£
¤â¤·Àܳ¤Ç¤­¤Ê¤±¤ì¤Ð¡¢distfile ¤Î¥³¥Ô¡¼¤ò
<filename>/usr/ports/distfiles</filename>
¤Ë¼êư¤ÇÃÖ¤¤¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¤Þ¤º¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤ port ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput></screen>
<para>port ¤ò¥³¥ó¥Ñ¥¤¥ë¤Þ¤¿¤Ï
<quote>¥Ó¥ë¥É (build)</quote> ¤¹¤ë¤Ë¤Ï¡¢¥×¥í¥ó¥×¥È¤«¤é
<command>make</command> ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤¦¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê½ÐÎϤ¬¸½¤ï¤ì¤ë¤Ï¤º¤Ç¤¹¡£</para>
<screen>&prompt.root; <userinput>make</userinput>
&gt;&gt; lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
&gt;&gt; Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===&gt; Extracting for lsof-4.57
...
[extraction output snipped]
...
&gt;&gt; Checksum OK for lsof_4.57D.freebsd.tar.gz.
===&gt; Patching for lsof-4.57
===&gt; Applying FreeBSD patches for lsof-4.57
===&gt; Configuring for lsof-4.57
...
[configure output snipped]
...
===&gt; Building for lsof-4.57
...
[compilation output snipped]
...
&prompt.root;</screen>
<para>¥³¥ó¥Ñ¥¤¥ë¤¬½ªÎ»¤¹¤ë¤È¡¢¥×¥í¥ó¥×¥È¤ËÌá¤ê¤Þ¤¹¡£
¼¡¤Ë <command>make <maketarget>install</maketarget></command>
¤ò»È¤Ã¤Æ¡¢port ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>make install</userinput>
===&gt; Installing for lsof-4.57
...
[installation output snipped]
...
===&gt; Generating temporary packing list
===&gt; Compressing manual pages for lsof-4.57
===&gt; Registering installation for lsof-4.57
===&gt; SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;</screen>
<para>¥×¥í¥ó¥×¥È¤ËÌá¤Ã¤¿¤é¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥×¥í¥°¥é¥à¤Ï¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
<command>lsof</command> ¤Ï¹â¤¤¸¢¸Â¤Çưºî¤¹¤ë¥×¥í¥°¥é¥à¤Ê¤Î¤Ç¡¢
¥»¥­¥å¥ê¥Æ¥£¤Ë´Ø¤¹¤ë·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ports
¤Î¥³¥ó¥Ñ¥¤¥ë¤ä¥¤¥ó¥¹¥È¡¼¥ëÃæ¤Ëɽ¼¨¤µ¤ì¤ë¤³¤ì¤é¤Î·Ù¹ð¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¥³¥ó¥Ñ¥¤¥ë»þ¤ËºîÀ®¤µ¤ì¤ëºî¶ÈÍѥǥ£¥ì¥¯¥È¥ê¤òºï½ü¤¹¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£
¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¥³¥ó¥Ñ¥¤¥ë»þ¤Ë»ÈÍѤµ¤ì¤ë¤¹¤Ù¤Æ¤Î°ì»þ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤¹¤ë¤³¤È¤Ç¡¢¥Ç¥£¥¹¥¯ÍÆÎ̤òÀáÌó¤Ç¤­¡¢¤Þ¤¿ port
¤ò¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ø¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ëºÝ¤ËÌäÂ꤬µ¯¤³¤ë²ÄǽÀ­¤ò¾®¤µ¤¯¤·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>make clean</userinput>
===&gt; Cleaning for lsof-4.57
&prompt.root;</screen>
<note>
<para><command>make</command>¡¢<command>make <maketarget>install</maketarget></command>
¤ª¤è¤Ó <command>make <maketarget>clean</maketarget></command>
¤È»°¤Ä¤Ëʬ¤±¤é¤ì¤¿¼ê½ç¤ÎÂå¤ï¤ê¤Ë¡¢
ºÇ½é¤«¤é <command>make <maketarget>install clean</maketarget></command> ¤È¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢
;ʬ¤Ê¼ê½ç¤òÆó¤Ä¾Ê¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
</note>
<note>
<para>¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥æ¡¼¥¶¤Ë port
¤Î¥ª¥×¥·¥ç¥ó¤òÁªÂò¤µ¤»¤ëÀßÄê¤Î¤¿¤á¡¢
<command>make <maketarget>install</maketarget></command>
¤À¤±¤Î¼Â¹Ô¤Ç¤Ï¡¢¥æ¡¼¥¶¤È¤ÎÂÐÏ䬵¯¤³¤êĹ»þ´ÖÂÔ¤¿¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
°Í¸¤¹¤ë port ¤Î¿ô¤¬Â¿¤¤¾ì¹ç¤Ë¡¢¤³¤ì¤òÈò¤±¤ë¤Ë¤Ï¡¢¤Þ¤ººÇ½é¤Ë <command>make
<maketarget>config-recursive</maketarget></command>
¤ò¼Â¹Ô¤·¤ÆÀßÄê¤ò°ì³ç¤Ç¹Ô¤¤¡¢¤½¤Î¸å
<command>make <maketarget>install
[clean]</maketarget></command> ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</note>
<tip>
<para><maketarget>config-recursive</maketarget> ¤ò¼Â¹Ô¤¹¤ëºÝ¡¢
&man.make.1; ¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤¢¤ë
<maketarget>all-depends-list</maketarget>
¤ò¼Â¹Ô¤¹¤ë¤È¡¢ÀßÄꤹ¤Ù¤­ ports ¤Î°ìÍ÷¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¿¤¯¤Î¾ì¹ç¤Ï¡¢¤¹¤Ù¤Æ¤Î°Í¸ ports ¤Î¥ª¥×¥·¥ç¥ó¤¬ÄêµÁ¤µ¤ì¡¢
ports ¥ª¥×¥·¥ç¥ó¤Î &man.dialog.1; ²èÌ̤¬É½¼¨¤µ¤ì¤Ê¤¯¤Ê¤ê¡¢
¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤¬°Õ¿ÞÄ̤ê¤ËÀßÄꤵ¤ì¤¿¤³¤È¤ò³Îǧ¤Ç¤­¤ë¤Þ¤Ç
<command>make
<maketarget>config-recursive</maketarget></command>
¤ò¼Â¹Ô¤¹¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£</para>
</tip>
<note>
<para>¥·¥§¥ë¤Ë¤è¤Ã¤Æ¤Ï¥³¥Þ¥ó¥É¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë¤òõ¤¹»þ´Ö¤òû½Ì¤¹¤ë¤¿¤á¤Ë¡¢
´Ä¶­ÊÑ¿ô <envar>PATH</envar> ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë
¥Ç¥£¥ì¥¯¥È¥ê¤Î¥³¥Þ¥ó¥É°ìÍ÷¤ò¥­¥ã¥Ã¥·¥å¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
<command>tcsh</command> ¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
¥Õ¥ë¥Ñ¥¹¤ò»ØÄꤹ¤ë¤³¤È¤Ê¤¯¿·¤·¤¯¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¥³¥Þ¥ó¥É¤òÍøÍѤǤ­¤ë¤è¤¦¤Ë¡¢
<command>rehash</command> ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
<command>sh</command> ¥·¥§¥ë¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð
¤«¤ï¤ê¤Ë <command>hash -r</command> ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
¤¢¤Ê¤¿¤Î»È¤Ã¤Æ¤¤¤ë¥·¥§¥ë¤Î¥É¥­¥å¥á¥ó¥È¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
</note>
<para><ulink url="http://www.freebsdmall.com/">&os;
Mall</ulink> ¤Î &os; Toolkit ¤Î¤è¤¦¤Ê¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î DVD-ROM
À½ÉʤÎÃæ¤Ë¤Ï distfiles ¤ò¼ýÏ¿¤·¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤é¤ò Ports Collection ¤Ç»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
DVD-ROM ¤ò <filename>/cdrom</filename> ¤Ë¥Þ¥¦¥ó¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
¤Û¤«¤Î¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤ò»ÈÍѤ·¤¿¤±¤ì¤Ð¡¢
<makevar>CD_MOUNTPTS</makevar> ÊÑ¿ô¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
¥Ç¥£¥¹¥¯¾å¤ËɬÍ×¤Ê distfiles ¤¬Â¸ºß¤¹¤ë¤È¡¢
¼«Æ°Åª¤ËÍøÍѤµ¤ì¤Þ¤¹¡£</para>
<note>
<para>port ¤Ë¤Ï DVD
¤Ø¤Î¼ýÏ¿¤òµö²Ä¤·¤Ê¤¤¥é¥¤¥»¥ó¥¹¾ò¹à¤ò»ý¤Ä¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ë¤Ï¥À¥¦¥ó¥í¡¼¥ÉÁ°¤ËÅÐÏ¿¤òɬÍפȤ·¤¿¤ê¡¢
ºÆÇÛÉÛ¤¬¶Ø»ß¤µ¤ì¤Æ¤¤¤ë¤È¤¤¤¦Íýͳ¤¬¤¢¤ê¤Þ¤¹¡£
DVD ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤ port ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢
¥Í¥Ã¥È¥ï¡¼¥¯¤ËÀܳ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
</note>
<para>ports ¤Ï¡¢<envar>FTP_PASSIVE_MODE</envar>,
<envar>FTP_PROXY</envar>, <envar>FTP_PASSWORD</envar>
¤È¤¤¤Ã¤¿´Ä¶­ÊÑ¿ô¤ò»²¾È¤¹¤ë &man.fetch.1;
¤òÍѤ¤¤Æ¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹¡£
¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÎÆâ¦¤Ç¤¢¤Ã¤¿¤ê¡¢
FTP/HTTP ¥×¥í¥­¥·¤ò»È¤¦¾ì¹ç¤Ë¤Ï¡¢
¤³¤ì¤é¤Î´Ä¶­ÊÑ¿ô¤òÀßÄꤹ¤ë¤³¤È¤Ê¤ê¤Þ¤¹¡£
´Ä¶­ÊÑ¿ô¤Î°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï &man.fetch.3; ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
<para>¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¾ï»þÀܳ¤Ç¤­¤Ê¤¤¥æ¡¼¥¶¤Î¤¿¤á¤Ë
<command>make <maketarget>fetch</maketarget></command>
¥³¥Þ¥ó¥É¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
(¥Í¥Ã¥È¥ï¡¼¥¯¤ËÀܳ¤·¤Æ¤¤¤ë»þ¤Ë) ¤³¤Î¥³¥Þ¥ó¥É¤ò
<filename>/usr/ports</filename> ¤Ç¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
ɬÍפʥե¡¥¤¥ë¤¬¥À¥¦¥ó¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£
¤³¤Î¥³¥Þ¥ó¥É¤Ï <filename>/usr/ports/net</filename>
¤È¤¤¤Ã¤¿¡¢¤è¤ê²¼¤Î³¬ÁؤΥ«¥Æ¥´¥ê¤Ë¤ª¤¤¤Æ¤â»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤¢¤ë port ¤¬¥é¥¤¥Ö¥é¥ê¤ä¤½¤Î¾¤Î ports ¤Ë°Í¸¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
Ê̤Υ«¥Æ¥´¥ê¤Î ports ¤Î distfiles
¤Ï¥À¥¦¥ó¥í¡¼¥É¤µ¤ì<emphasis>¤Ê¤¤</emphasis>¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
port ¤¬°Í¸¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤¿¤±¤ì¤Ð¡¢
<command>make
<maketarget>fetch-recursive</maketarget></command>
¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<note>
<para>¥È¥Ã¥×¥Ç¥£¥ì¥¯¥È¥ê¤Ç <command>make</command>
¤ò¼Â¹Ô¤¹¤ë¤È¤¹¤Ù¤Æ¤Î port ¤¬¥Ó¥ë¥É¤µ¤ì¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é ports ¤ÎÃæ¤Ë¤ÏƱ»þ¤Ë¸ºß¤Ç¤­¤Ê¤¤¤â¤Î¤¬¤¢¤Ã¤¿¤ê¡¢
°Û¤Ê¤ë ports ¤ÎÊ̤Υե¡¥¤¥ë¤¬Æ±¤¸Ì¾Á°¤Ç
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</note>
<para>¤á¤Ã¤¿¤Ë¤Ê¤¤¤³¤È¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢
¥Ç¥Õ¥©¥ë¥È¤Î <makevar>MASTER_SITES</makevar>
¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¥µ¥¤¥È°Ê³°¤«¤é tarball
¤ò»ý¤Ã¤Æ¤¯¤ë¤³¤È¤¬É¬Íפˤʤë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë
<makevar>MASTER_SITES</makevar> ¤òÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<para>¾å¤ÎÎã¤Ç¤Ï <makevar>MASTER_SITES</makevar> ¤ò
<hostid role="fqdn">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</hostid>
¤ËÊѹ¹¤·¤Æ¤¤¤Þ¤¹¡£</para>
<note>
<para>ports ¤ÎÃæ¤Ë¤Ï¥Ó¥ë¥É¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Îµ¡Ç½¤Î°ìÉô¤òÍ­¸ú¤â¤·¤¯¤Ï̵¸ú¤Ë¤Ç¤­¤Þ¤¹¡£
¤Þ¤¿¡¢¥»¥­¥å¥ê¥Æ¥£¥ª¥×¥·¥ç¥ó¤òÀßÄꤷ¤¿¤ê¡¢
¤½¤Î¾¤Î¥«¥¹¥¿¥Þ¥¤¥º¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤Ï
<filename role="package">www/firefox</filename>,
<filename role="package">security/gpgme</filename> ¤ä
<filename role="package">mail/sylpheed-claws</filename>
¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£
ÍøÍѲÄǽ¤Ê¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢
port ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÁ°¤Ë¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
</note>
<sect3>
<title>ports ¥Ç¥£¥ì¥¯¥È¥ê¤ÎÊѹ¹</title>
<para><makevar>WRKDIRPREFIX</makevar> ÊÑ¿ô¤È
<makevar>PREFIX</makevar> ÊÑ¿ô¤òÊѹ¹¤¹¤ë¤³¤È¤Ç¡¢
ºî¶È¥Ç¥£¥ì¥¯¥È¥ê¤ä¥¿¡¼¥²¥Ã¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò¥Ç¥Õ¥©¥ë¥È¤Î¤â¤Î¤«¤éÊѹ¹¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>make WRKDIRPREFIX=/usr/home/example/ports install</userinput></screen>
<para>¤È¤¹¤ë¤È¡¢ports ¤Ï <filename>/usr/home/example/ports</filename>
¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¡¢¤¹¤Ù¤Æ <filename>/usr/local</filename>
°Ê²¼¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen>
<para>¤³¤Î¾ì¹ç¡¢port ¤Î¥³¥ó¥Ñ¥¤¥ë¤Ï <filename>/usr/ports</filename>
¤Ç¤ª¤³¤Ê¤¤¡¢
<filename>/usr/home/example/local</filename>
¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£</para>
<para>¤½¤·¤Æ¡¢</para>
<screen>&prompt.root; <userinput>make WRKDIRPREFIX=../ports PREFIX=../local install</userinput></screen>
<para>¤È¤¹¤ì¤Ðξ¼Ô¤òÁȤ߹ç¤ï¤»¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£</para>
<para>¤¢¤ë¤¤¤Ï¡¢¤³¤ì¤é¤ò´Ä¶­ÊÑ¿ô¤ËÀßÄꤹ¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£
¤É¤Î¤è¤¦¤Ë´Ä¶­ÊÑ¿ô¤òÀßÄꤹ¤ë¤«¤Ë¤Ä¤¤¤Æ¤Ï¡¢
¤¢¤Ê¤¿¤Î»È¤Ã¤Æ¤¤¤ë¥·¥§¥ë¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect3>
<sect3>
<title>ports ¤ÎºÆ¹½ÃÛ</title>
<para>ports ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëºÝ¡¢¥Ó¥ë¥É¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤¿¤á¤Ë
ncurses ¥Ù¡¼¥¹¤Î¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
port ¤Î¹½Ã۸塢ºÆ¤Ó¤³¤Î¥á¥Ë¥å¡¼¤òɽ¼¨¤µ¤»¤Æ¥ª¥×¥·¥ç¥ó¤ÎÄɲääºï½ü¡¢
ÀßÄê¤ÎÊѹ¹¤ò¹Ô¤¦ÊýË¡¤Ï¤¿¤¯¤µ¤ó¤¢¤ê¤Þ¤¹¡£
°ì¤ÄÌÜ¤Ï port ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë <command>cd</command> ¤Ç°Üư¤·¡¢
<command>make <maketarget>config</maketarget></command> ¤ÈÆþÎϤ¹¤ëÊýË¡¤Ç¤¹¡£
Ê̤ÎÊýË¡¤Ï <command>make <maketarget>showconfig</maketarget></command>
¤ò»È¤¦ÊýË¡¤Ç¤¹¡£
¾¤ÎÊýË¡¤Ï <command>make <maketarget>rmconfig</maketarget></command>
¤Î¼Â¹Ô¤Ç¤¹¡£
¤³¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤ÈÁªÂò¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤¬ºï½ü¤µ¤ì¡¢
ÀßÄê¤ò¤â¤¦°ìÅÙ¤ä¤êľ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤é¤ÎÊýË¡¤ä¾¤ÎÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¢
&man.ports.7; ¥Þ¥Ë¥å¥¢¥ë¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
</sect3>
</sect2>
<sect2 id="ports-removing">
<title>¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿ ports ¤Îºï½ü</title>
<indexterm>
<primary>ports</primary>
<secondary>ºï½ü</secondary>
</indexterm>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿ ports ¤ª¤è¤Ó packages ¤Ï¡¢
&man.pkg.delete.1; ¥³¥Þ¥ó¥É¤Çºï½ü¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg_delete lsof-4.57</userinput></screen>
</sect2>
<sect2 id="ports-upgrading">
<title>ports ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É</title>
<indexterm>
<primary>ports</primary>
<secondary>¥¢¥Ã¥×¥°¥ì¡¼¥É</secondary>
</indexterm>
<para>¤Þ¤ººÇ½é¤Ë &man.pkg.version.1; ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢
¸Å¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿ ports
¤ÎÃæ¤Ç¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ë¥¢¥Ã¥×¥Ç¡¼¥È²Äǽ¤Ê¤â¤Î¤ò
Ports Collection ¤«¤é¥ê¥¹¥È¥¢¥Ã¥×¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_version -v</userinput></screen>
<sect3 id="ports-file-updating">
<title><filename>/usr/ports/UPDATING</filename> ¤òÆÉ¤à</title>
<para>Ports Collection ¤ò¹¹¿·¤·¤¿¤é¡¢port ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ëÁ°¤Ë
<filename>/usr/ports/UPDATING</filename>
¥Õ¥¡¥¤¥ë¤ËÌܤòÄ̤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï
port ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ëºÝ¤Ë¥æ¡¼¥¶¤¬Áø¶ø¤¹¤ë¤Ç¤¢¤í¤¦ÌäÂê¤ä¡¢
ÄɲäÇɬÍפʺî¶È¤Ê¤É¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
Î㤨¤Ð¡¢¥Õ¥¡¥¤¥ë·Á¼°¤ÎÊѹ¹¤äÀßÄê¥Õ¥¡¥¤¥ë¤Î¾ì½ê¤ÎÊѹ¹¡¢
Á°¤Î¥Ð¡¼¥¸¥ç¥ó¤È¸ß´¹À­¤¬¤Ê¤¯¤Ê¤Ã¤¿¤³¤È¤Ê¤É¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ </para>
<para>¤â¤·¡¢¤³¤ÎÀá¤Ë½ñ¤¤¤Æ¤¢¤ë¤³¤È¤È
<filename>UPDATING</filename> ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤³¤È¤¬Ì·½â¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
<filename>UPDATING</filename> ¤òÍ¥À褷¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect3>
<sect3 id="portupgrade">
<title>portupgrade ¤òÍѤ¤¤¿ ports ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É</title>
<indexterm>
<primary>portupgrade</primary>
</indexterm>
<para><application>portupgrade</application> ¤Ï¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿ ports
¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò´Êñ¤Ë¹Ô¤Ê¤¦¤¿¤á¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç¤¹¡£
<filename role="package">ports-mgmt/portupgrade</filename>
port ¤«¤éÍøÍѤǤ­¤Þ¤¹¡£
¾¤Î port ¤ÈƱ¤¸¤è¤¦¤Ë <command>make <maketarget>install
clean</maketarget></command> ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portupgrade</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para><command>pkgdb -F</command> ¤ò»È¤Ã¤Æ¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë ports ¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£
Ì·½â¤¬¸¡½Ð¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï½¤Éü¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ëÁ°¤Ë¤Ï¡¢
¤³¤Îºî¶È¤òÄê´üŪ¤Ë¹Ô¤Ê¤¦¤È¤è¤¤¤Ç¤·¤ç¤¦¡£</para>
<para>¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë port
¤ÎÃæ¤Ç¸Å¤¯¤Ê¤Ã¤¿¤â¤Î¤ò¤¹¤Ù¤Æ¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤Ë¤Ï
<command>portupgrade -a</command> ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
¤â¤·¡¢¤¹¤Ù¤Æ¤Î ports
¤ËÂФ·¤Æ¸ÄÊ̤˥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
<option>-i</option> ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>portupgrade -ai</userinput></screen>
<para>ports ¤ÇÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¤Ê¤¯¡¢
¤¢¤ëÆÃÄê¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤À¤±¤ò¹¹¿·¤·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
<command>portupgrade <replaceable>pkgname</replaceable></command>
¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬°Í¸¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î
ports ¤ò¤Þ¤ºÀè¤Ë¹¹¿·¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢
<option>-R</option> ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>portupgrade -R firefox</userinput></screen>
<para>ports ¤Ç¤Ï¤Ê¤¯ packages ¤òÍѤ¤¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤¤¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢
<option>-P</option> ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢<application>portupgrade</application> ¤Ï
<envar>PKG_PATH</envar> ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥í¡¼¥«¥ë¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤·¡¢
¥í¡¼¥«¥ë¤Ë packages ¤¬¸«¤Ä¤«¤é¤Ê¤±¤ì¤Ð¡¢
¥ê¥â¡¼¥È¥µ¥¤¥È¤«¤é¥À¥¦¥ó¥í¡¼¥É¤ò»î¤ß¤Þ¤¹¡£
packages ¤ò¥í¡¼¥«¥ë¤Ë¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤º¡¢
¥ê¥â¡¼¥È¥µ¥¤¥È¤«¤é¤â¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
<application>portupgrade</application>
¤Ï ports ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£
ports ¤ò»ÈÍѤ·¤¿¤¯¤Ê¤±¤ì¤Ð¡¢<option>-PP</option>
¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>portupgrade -PP gnome2</userinput></screen>
<para>¤Þ¤¿¡¢¥Ó¥ë¥É¤ä¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤Ê¤ï¤º¡¢
distfiles (<option>-P</option> ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï packages)
¤À¤±¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤¿¤±¤ì¤Ð¡¢
<option>-F</option> ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
¾ÜºÙ¤Ï &man.portupgrade.1; ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect3>
<sect3 id="portmaster">
<title><application>portmaster</application>
¤òÍѤ¤¤¿ ports ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É</title>
<indexterm>
<primary>portmaster</primary>
</indexterm>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿ ports
¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò¹Ô¤¦¤¿¤á¤Î¤â¤¦°ì¤Ä¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤¬ <filename
role="package">ports-mgmt/portmaster</filename> ¤Ç¤¹¡£
<application>portmaster</application> ¤Ï¡¢
¾¤Î ports ¤Ë°Í¸¤»¤º¤Ë¡¢<quote>base</quote>
¥·¥¹¥Æ¥à¤Î¥Ä¡¼¥ë¤Î¤ß¤ò»È¤¦¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢
¤É¤Î ports ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤Ù¤­¤«¤ÎȽÃǤò¡¢
<filename class="directory">/var/db/pkg/</filename>
¤Î¾ðÊó¤ò»È¤Ã¤Æ¹Ô¤¤¤Þ¤¹¡£
port ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd <filename class="directory">/usr/ports/ports-mgmt/portmaster</filename></userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para><application>Portmaster</application> ¤Ï¡¢ports ¤ò 4 ¤Ä¤Î¥«¥Æ¥´¥ê¤ËʬÎष¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
<para>Root ports: ¾¤Î port ¤Ë°Í¸¤»¤º¡¢Â¾¤Î port ¤«¤é¤â°Í¸¤µ¤ì¤Þ¤»¤ó¡£</para>
</listitem>
<listitem>
<para>Trunk ports: ¾¤Î port ¤Ë°Í¸¤·¤Þ¤»¤ó¤¬¡¢Â¾¤Î port ¤«¤é°Í¸¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>Branch ports: ¾¤Î port ¤Ë°Í¸¤·¡¢Â¾¤Î port ¤«¤é¤â°Í¸¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>Leaf ports: ¾¤Î port ¤Ë°Í¸¤·¤Þ¤¹¤¬¡¢Â¾¤Î port ¤«¤é¤Ï°Í¸¤µ¤ì¤Þ¤»¤ó¡£</para>
</listitem>
</itemizedlist>
<para><option>-L</option> ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿ ports ¤ä¥¢¥Ã¥×¥Ç¡¼¥È²Äǽ¤Ê port ¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>portmaster -L</userinput>
===>>> 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)
===>>> apache22-2.2.3
===>>> New version available: apache22-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
</screen>
<para>°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î ports ¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>portmaster -a</userinput></screen>
<note>
<para><application>portmaster</application> ¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤Ï¡¢
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë port ¤òºï½ü¤¹¤ëÁ°¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×ÍѤΠpackage ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
¤³¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤Ï¡¢¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ËÀ®¸ù¤¹¤ë¤Èºï½ü¤µ¤ì¤Þ¤¹¡£
<option>-b</option> ¤ò»È¤¦¤È¡¢
<application>portmaster</application> ¤Ï¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼«Æ°Åª¤Ëºï½ü¤·¤Þ¤»¤ó¡£
<option>-i</option> ¤òÄɲ乤ë¤È¡¢
<application>portmaster</application> ¤ò¥¤¥ó¥¿¥é¥¯¥Æ¥£¥Ö¥â¡¼¥É¤Ç»ÈÍѤǤ­¤Þ¤¹¡£
¤³¤Î¥â¡¼¥É¤Ç¤Ï¡¢³Æ port ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤«¤É¤¦¤«¤ÎÁªÂò¤òÂÐÏÃŪ¤Ë¹Ô¤¦¤³¤È¤¬¤Ç¤Þ¤¹¡£</para></note>
<para>¥¢¥Ã¥×¥°¥ì¡¼¥É¤Î²áÄø¤Ç¥¨¥é¡¼¤ËÁø¶ø¤·¤¿¾ì¹ç¤Ë¤Ï¡¢
<option>-f</option> ¤ò»È¤Ã¤Æ¤¹¤Ù¤Æ¤Î ports ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤äºÆ¹½ÃÛ¤ò¹Ô¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>portmaster -af</userinput></screen>
<para><application>portmaster</application> ¤ò»È¤Ã¤Æ¥·¥¹¥Æ¥à¤Ë¿·¤·¤¤ ports
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤ê¡¢¿·¤·¤¤ port ¤Î¥³¥ó¥Ñ¥¤¥ë¤ä¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë°Í¸¤¹¤ë¤¹¤Ù¤Æ¤Î port ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>portmaster <replaceable>shells/bash</replaceable></userinput></screen>
<para>¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï &man.portmaster.8; ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect3>
</sect2>
<sect2 id="ports-disk-space">
<title>ports ¤È¥Ç¥£¥¹¥¯ÍÆÎÌ</title>
<indexterm>
<primary>ports</primary>
<secondary>¥Ç¥£¥¹¥¯ÍÆÎÌ</secondary>
</indexterm>
<para>Ports Collection ¤ò»È¤¤Â³¤±¤Æ¤¤¤ë¤È¡¢
¤½¤Î¤¦¤Á¥Ç¥£¥¹¥¯¤ò¿©¤¤¤Ä¤Ö¤·¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡£
ports ¤ò¥Ó¥ë¥É¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸å¡¢
<command>make <maketarget>clean</maketarget></command>
¤Ïºî¶ÈÍѤΠ<filename class="directory">work</filename>
¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤·¤Þ¤¹¡£
°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç Ports Collection ¤òÁݽü¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>portsclean -C</userinput></screen>
<para>»þ´Ö¤¬·Ð¤Ä¤Ë¤Ä¤ì <filename class="directory">distfiles</filename>
¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¡¢¸Å¤¯¤Ê¤Ã¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¤¿¤Þ¤Ã¤Æ¤¤¤­¤Þ¤¹¡£
¼¡¤Î¥³¥Þ¥ó¥É¤Ç¡¢¤É¤Î ports ¤«¤é¤â»È¤ï¤ì¤Æ¤¤¤Ê¤¤
distfiles ¤òºï½ü¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>portsclean -D</userinput></screen>
<para>¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë port ¤«¤é»È¤ï¤ì¤Æ¤¤¤Ê¤¤
distfiles ¤ò¤¹¤Ù¤Æºï½ü¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>portsclean -DD</userinput></screen>
<note>
<para><command>portsclean</command> ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï
<filename role="package">ports-mgmt/portupgrade</filename>
¥Ä¡¼¥ë·²¤Î°ìÉô¤Ç¤¹¡£</para>
</note>
<para><filename
role="package">ports-mgmt/pkg_cutleaves</filename> port ¤Ï¡¢
ɬÍפʤ¯¤Ê¤Ã¤¿ ports ¤òºï½ü¤¹¤ëºî¶È¤ò¼«Æ°²½¤·¤Þ¤¹¡£</para>
</sect2>
</sect1>
<sect1 id="ports-nextsteps">
- <title>¥¤¥ó¥¹¥È¡¼¥ë¸å¤Îºî¶È</title>
+ <title>¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿ ports ¤ò°·¤¦</title>
- <para>¿·¤·¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¤¥ó¥¹¥È¡¼¥ë¤¬½ª¤ï¤Ã¤¿¤é¡¢
- ¼¡¤ËÉÕ°¤Î¥É¥­¥å¥á¥ó¥È¤òÆÉ¤ß¤¿¤¤¤È»×¤¦¤Ç¤·¤ç¤¦¡£
- ¤Þ¤¿¡¢É¬ÍפÊÀßÄê¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤¿¤ê¡¢
- ¥·¥¹¥Æ¥àµ¯Æ°»þ¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥µ¡¼¥Ó¥¹¤¬³«»Ï¤¹¤ë¤³¤È¤ò³Îǧ¤·¤¿¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£</para>
+ <para>¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¤Î¿¤¯¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢
+ ¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ë¤¢¤ëÄøÅÙ¤ÎÀßÄ꤬ɬÍפȤʤê¤Þ¤¹¡£
+ ÀßÄê¥Õ¥¡¥¤¥ë¤Î´Êñ¤ÊÊѹ¹¤¬É¬ÍפǤ¢¤Ã¤¿¤ê¡¢
+ ¤¢¤ë¤¤¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤½¤Î¤â¤Î¤¬ÀßÄê¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£
+ ¿¤¯¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ïʸ½ñ¤ä¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò»ý¤Ã¤Æ¤ª¤ê¡¢
+ <filename class="directory">/usr/local/share/doc</filename>
+ ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£
+ ¤³¤ì¤é¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò»È¤¤Â³¤±¤ëÁ°¤Ë»²¹Í¤Ë¤¹¤Ù¤­Ê¸½ñ¤Ç¤¹¡£
+ ¤Þ¤¿¡¢¥µ¡¼¥Ó¥¹¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë
+ <filename>/etc/rc.conf</filename>
+ ¥Õ¥¡¥¤¥ë¤ËÄɲ乤ëɬÍפΤ¢¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤â¤¢¤ê¤Þ¤¹¡£</para>
- <para>port ¤Î¥¤¥ó¥¹¥È¡¼¥ë¸å¤ËÄɲäǹԤï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ºî¶È¤Î¾ÜºÙ¤Ï¡¢
- ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤´¤È¤Ë°Û¤Ê¤ê¤Þ¤¹¡£
- ¤·¤«¤·¤Ê¤¬¤é¡¢¿·¤·¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤Ð¤«¤ê¤Ç¡¢
- <quote>¼¡¤Ï²¿ ?</quote> ¤È»×¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
- °Ê²¼¤Î tips ¤ÏÌò¤ËΩ¤Ä¤Ç¤·¤ç¤¦¡£</para>
+ <para>¥¤¥ó¥¹¥È¡¼¥ë¸å¤Î port
+ ´ÉÍý¤ËÌò¤ËΩ¤Ä¾ðÊ󤬰ʲ¼¤Ë¤Þ¤È¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£
+ <envar>PATH</envar>
+ ¤ÇÀßÄꤵ¤ì¤¿¾ì½ê°Ê³°¤Ë¥Ð¥¤¥Ê¥ê¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢
+ ¥Ð¥¤¥Ê¥ê¤Î°ÌÃÖ¤òõ¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
+ &man.csh.1; ¤Î¥æ¡¼¥¶¤Ï¡¢<envar>PATH</envar>
+ ¤Î¥Ð¥¤¥Ê¥ê¥ê¥¹¥È¤òºÆ¹½ÃÛ¤¹¤ë¤¿¤á¤Ë¡¢
+ <command>rehash</command> ¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
- <para>¤É¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤¬¤É¤³¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤Î¤«¤òÃΤꤿ¤±¤ì¤Ð¡¢
- &man.pkg.info.1; ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
- ¤¿¤È¤¨¤Ð¡¢FooPackage ¤Î 1.0.0 ¥Ð¡¼¥¸¥ç¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤Î¤Ç¤¢¤ì¤Ð¡¢
- °Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ <para>&man.pkg.info.1; ¥³¥Þ¥ó¥É¤Ï¡¢
+ ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤È¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¾ì½ê¤òɽ¼¨¤·¤Þ¤¹¡£
+ ¤¿¤È¤¨¤Ð¡¢FooPackage ¤Î¥Ð¡¼¥¸¥ç¥ó 1.0.0 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤Î¤Ç¤¢¤ì¤Ð¡¢
+ °Ê²¼¤Î¥³¥Þ¥ó¥É¤Ë¤è¤ê package
+ ¤Ë¤è¤Ã¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£</para>
- <screen>&prompt.root; <userinput>pkg_info -L foopackage-1.0.0 | less</userinput></screen>
+ <screen>&prompt.root; <userinput>pkg_info -L <replaceable>foopackage-1.0.0</replaceable> | less</userinput></screen>
- <para>¾å¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È package
- ¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
- ÆÃ¤Ë¡¢<filename>man/</filename>, <filename>etc/</filename>,
- <filename>doc/</filename> ¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ËÃíÌܤ·¤Æ¤¯¤À¤µ¤¤¡£
- ¤½¤ì¤¾¤ì¡¢¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¡¢
- ÀßÄê¥Õ¥¡¥¤¥ë¡¢¤è¤êÊñ³çŪ¤Ê¥É¥­¥å¥á¥ó¥È¤¬ÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£</para>
+ <para>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ï
+ <filename class="directory">/usr/local/etc</filename>
+ ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£
+ ¤³¤ì¤é¤ÎÆâÍÆ¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò»È¤¦Á°¤Ëɬ¤º¸«¤Æ¤ª¤¯¤Ù¤­¤Ç¤¹¡£</para>
<para>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ð¡¼¥¸¥ç¥ó¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢
¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_info | grep -i <replaceable>foopackage</replaceable></userinput></screen>
<para>¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿ packages ¤ÎÃæ¤«¤é¡¢Ì¾Á°¤Ë
<replaceable>foopackage</replaceable> ¤ò´Þ¤à package ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
ɬÍפ˱þ¤¸¤Æ <replaceable>foopackage</replaceable>
¤òÃÖ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
<listitem>
- <para>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
- &man.man.1; ¤ò»È¤Ã¤Æ¥Þ¥Ë¥å¥¢¥ë¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£
- ÀßÄê¥Õ¥¡¥¤¥ë¤Î¥µ¥ó¥×¥ë¤äÄ󶡤µ¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥È¤Ë¤âÌܤòÄ̤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ <para>¾åµ­¤Î¥³¥Þ¥ó¥É¤Ï¡¢
+ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¤È¤â¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Î¥Õ¥¡¥¤¥ë̾¤âɽ¼¨¤·¤Þ¤¹¡£
+ ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï¡¢
+ &man.man.1; ¥³¥Þ¥ó¥É¤òÍøÍѤ·¤Æ¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
</listitem>
<listitem>
- <para>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥¦¥§¥Ö¥µ¥¤¥È¤¬¤¢¤ì¤Ð¡¢
- ¤½¤Î¥µ¥¤¥È¤Ë¹¹¤Ê¤ë¥É¥­¥å¥á¥ó¥È¤ä FAQ ¤¬¤Ê¤¤¤«¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£
- ¥¦¥§¥Ö¥µ¥¤¥È¤Î¥¢¥É¥ì¥¹¤¬¤ï¤«¤é¤Ê¤±¤ì¤Ð¡¢
- ¼¡¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
- </para>
+ <para>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Î Web ¥µ¥¤¥È¤¬¤¢¤ë¤Ê¤é¤Ð¡¢
+ ¤½¤³¤Ë¾ÜºÙ¤Ê»ñÎÁ¤ä FAQ ¤¬Ìµ¤¤¤«¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£
+ ¤â¤· Web ¥µ¥¤¥È¤¬¤¢¤ë¤«¤É¤¦¤«Ê¬¤«¤é¤Ê¤¤¤È¤­¤Ï¡¢
+ °Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢
+ ²¿¤«ÌòΩ¤Ä¾ðÊó¤¬É½¼¨¤µ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£</para>
<screen>&prompt.root; <userinput>pkg_info <replaceable>foopackage-1.0.0</replaceable></userinput></screen>
<para>¥¦¥§¥Ö¥µ¥¤¥È¤¬Â¸ºß¤¹¤ë¤È¡¢ URL ¤¬
<literal>WWW:</literal> ¤ò´Þ¤à¹Ô¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£</para>
</listitem>
<listitem>
<para>¥·¥¹¥Æ¥àµ¯Æ°»þ¤ËΩ¤Á¾å¤²¤ëɬÍפΤ¢¤ë ports ¤Ï¡¢
¥¹¥¿¡¼¥È¥¢¥Ã¥×¥¹¥¯¥ê¥×¥È¤òÄ̾ï
<filename>/usr/local/etc/rc.d</filename> ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
¤³¤Î¥¹¥¯¥ê¥×¥È¤òÄ´¤Ù¡¢
ɬÍפ¬¤¢¤ì¤ÐÊÔ½¸¤·¤¿¤ê¥¹¥¯¥ê¥×¥È¤Î̾Á°¤òÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
¾ÜºÙ¤Ï <link
linkend="configtuning-starting-services">¥µ¡¼¥Ó¥¹¤Îµ¯Æ°</link>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="ports-broken">
<title>¤¦¤Þ¤¯Æ°ºî¤·¤Ê¤¤ ports ¤ËÁø¶ø¤·¤¿¾ì¹ç¤Ë¤Ï</title>
<para>¤¦¤Þ¤¯¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Ê¤«¤Ã¤¿¤ê¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Ê¤¤
port ¤ËÁø¶ø¤·¤¿¤é¡¢
¤¢¤Ê¤¿¤Ë¤Ç¤­¤ë¤³¤È¤Ï¼¡¤Î¤è¤¦¤Ê¤³¤È¤·¤«¤¢¤ê¤Þ¤»¤ó¡£</para>
<orderedlist>
<listitem>
<para>¤½¤Î port ¤ËÂФ¹¤ë½¤Àµ°Æ¤¬Äó½Ð¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤É¤¦¤«¤ò
<ulink url="&url.base;/ja/support.html#gnats">¾ã³²Êó¹ð
(Problem Report) ¥Ç¡¼¥¿¥Ù¡¼¥¹</ulink> ¤ÇÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£
¤â¤·Ä󰯤µ¤ì¤Æ¤¤¤ì¤Ð¡¢
¤½¤Î½¤Àµ¤Ë¤è¤Ã¤ÆÌäÂê¤ò²ò·è¤Ç¤­¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£</para>
</listitem>
<listitem>
<para>port ¤ÎÊݼéôÅö¼Ô¤ËÂбþ¤·¤Æ¤â¤é¤¤¤Þ¤·¤ç¤¦¡£
<command>make <maketarget>maintainer</maketarget></command> ¤ÈÆþÎϤ¹¤ë¤«¡¢
<filename>Makefile</filename> ¤òľÀܯɤߡ¢
ÊݼéôÅö¼Ô¤ÎÅŻҥ᡼¥ë¥¢¥É¥ì¥¹¤òÄ´¤Ù¤Þ¤¹¡£
¥á¡¼¥ë¤òÁ÷¤ëºÝ¤Ë¤Ï¡¢port ̾¤È¥Ð¡¼¥¸¥ç¥óÈÖ¹æ
(<filename>Makefile</filename> ¤Î
<literal>&dollar;FreeBSD:</literal> ¹Ô)¡¢
¤½¤·¤Æ¥¨¥é¡¼¤¬½ÐÎϤµ¤ì¤ë¤Þ¤Ç¤Î½ÐÎÏ¥í¥°¤ò˺¤ì¤º¤ËźÉÕ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<note>
<para>ÆÃÄê¤ÎÊݼéôÅö¼Ô¤¬Â¸ºß¤»¤º¡¢¤«¤ï¤ê¤Ë <ulink
url="&url.articles.mailing-list-faq.en;/article.html">¥á¡¼¥ê¥ó¥°¥ê¥¹¥È
</ulink> ¤¬Êݼ餷¤Æ¤¤¤ë ports ¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢¥á¡¼¥ë¥¢¥É¥ì¥¹¤Ï
<email role="nolink">freebsd-listname@FreeBSD.org</email>
¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¼ÁÌ䤹¤ëºÝ¤Ë¤Ï¡¢¤³¤Î¤³¤È¤Ëµ¤¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>ÆÃ¤Ë <email role="nolink">ports@FreeBSD.org</email>
¤¬Êݼ餷¤Æ¤¤¤ë ports ¤Ë¤Ï¡¢ÊݼéôÅö¼Ô¤¬ËÜÅö¤Ë¤¤¤Þ¤»¤ó¡£
¤½¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ò¹ØÆÉ¤¹¤ë¿Í¡¹¤«¤é¤Ê¤ë¥³¥ß¥å¥Ë¥Æ¥£¤¬¡¢
½¤Àµ¤äÂбþ¤ò¤ª¤³¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤â¤Ã¤È¥Ü¥é¥ó¥Æ¥£¥¢¤¬É¬ÍפǤ¹!</para>
</note>
<para>ÊݼéôÅö¼Ô¤«¤éÊÖ¿®¤¬¤Ê¤±¤ì¤Ð¡¢&man.send-pr.1;
¤ò»È¤Ã¤Æ¥Ð¥°¥ì¥Ý¡¼¥È¤òÄó½Ð¤·¤Æ¤¯¤À¤µ¤¤ (<ulink
url="&url.articles.problem-reports;/article.html">
&os; ¾ã³²Êó¹ð¤Î½ñ¤­Êý</ulink> ¤ò¤´Í÷¤¯¤À¤µ¤¤)¡£</para>
</listitem>
<listitem>
<para>¼«Ê¬¤Çľ¤·¤Þ¤·¤ç¤¦!
<quote>Ports</quote> ¥·¥¹¥Æ¥à¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ê¾ðÊó¤Ï <ulink
url="&url.books.porters-handbook;/index.html">
port ºîÀ®¼Ô¤Î¤¿¤á¤Î¥Ï¥ó¥É¥Ö¥Ã¥¯</ulink> ¤Ë¤¢¤ê¤Þ¤¹¡£
¤³¤Î¥»¥¯¥·¥ç¥ó¤òÆÉ¤à¤È¡¢²õ¤ì¤Æ¤·¤Þ¤Ã¤¿ port ¤òľ¤·¤¿¤ê¡¢
¼«Ê¬¤Çºî¤Ã¤¿ port ¤òÄó½Ð¤·¤¿¤ê¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹!</para>
</listitem>
<listitem>
<para>¤«¤ï¤ê¤Ë &man.pkg.add.1; ¤ò»È¤Ã¤Æ package
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</listitem>
</orderedlist>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/x11/chapter.xml
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/x11/chapter.xml (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/books/handbook/x11/chapter.xml (revision 42804)
@@ -1,1777 +1,1828 @@
<?xml version="1.0" encoding="euc-jp"?>
<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
- Original revision: r42571
+ Original revision: r42655
$FreeBSD$
-->
<chapter id="x11">
<chapterinfo>
<authorgroup>
<author>
<firstname>Ken</firstname>
<surname>Tom</surname>
<contrib>X.Org X11 ¥µ¡¼¥ÐÂбþ: </contrib>
</author>
<author>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
</author>
</authorgroup>
</chapterinfo>
<title>X Window System</title>
<sect1 id="x11-synopsis">
<title>¤³¤Î¾Ï¤Ç¤Ï</title>
<para>FreeBSD
¤Ç¤Ï¡¢¥æ¡¼¥¶¤Ë¶¯ÎϤʥ°¥é¥Õ¥£¥«¥ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤¹¤ë¤¿¤á¤Ë
X11 ¤òºÎÍѤ·¤Æ¤¤¤Þ¤¹¡£
X11 ¤Ï¡¢
<application>&xorg;</application>
(¾¤Î¥½¥Õ¥È¥¦¥§¥¢¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ä¤¤¤Æ¤Ï¤³¤³¤Ç¤Ï½Ò¤Ù¤Þ¤»¤ó) ¤Ë¼ÂÁõ¤µ¤ì¤¿¡¢
¥Õ¥ê¡¼¤ÇÍøÍѤǤ­¤ë X Window System ¤Ç¤¹¡£
&os; ¤Ë¤ª¤±¤ë¥Ç¥Õ¥©¥ë¥È¤«¤Ä¸ø¼°¤Î X11 ¥µ¡¼¥Ð¤Ï
X.Org Foundation ¤¬³«È¯¤·¤Æ¤¤¤ë
<application>&xorg;</application> ¤Ç¤¹¡£
&os; ¤Ë»÷¤¿¥é¥¤¥»¥ó¥¹¤Ë½¾¤Ã¤ÆÇÛÉÛ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para>X11 ¤¬¥µ¥Ý¡¼¥È¤¹¤ë¥Ó¥Ç¥ª¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï¡¢
<ulink url="http://www.x.org/">&xorg;</ulink>
¤Î¥¦¥§¥Ö¥µ¥¤¥È¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
<para>¤³¤Î¾Ï¤òÆÉ¤á¤Ð°Ê²¼¤Î¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
<para>X Window System ¤Î¤µ¤Þ¤¶¤Þ¤Ê¥³¥ó¥Ý¡¼¥Í¥ó¥È¤È¡¢
¤½¤ì¤é¤¬¸ß¤¤¤Ë¤É¤Î¤è¤¦¤ËÏ¢·È¤·¤Æ¤¤¤ë¤«¡£</para>
</listitem>
<listitem>
<para>X11 ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ª¤è¤ÓÀßÄêÊýË¡</para>
</listitem>
<listitem>
<para>¤µ¤Þ¤¶¤Þ¤Ê¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡</para>
</listitem>
<listitem>
<para>X11 ¤Ç¤Î &truetype; ¥Õ¥©¥ó¥È¤Î»È¤¤Êý</para>
</listitem>
<listitem>
<para>GUI ¥í¥°¥¤¥ó (<application>XDM</application>)
¤ÎÀßÄêÊýË¡</para>
</listitem>
</itemizedlist>
<para>¤³¤Î¾Ï¤òÆÉ¤ß»Ï¤á¤ëÁ°¤Ë°Ê²¼¤Î¤³¤È¤òÍý²ò¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
<para>¥µ¡¼¥É¥Ñ¡¼¥Æ¥£À½¥½¥Õ¥È¥¦¥§¥¢¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡
(<xref linkend="ports"/>)</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="x-understanding">
<title>X ¤òÍý²ò¤¹¤ë</title>
<para>½é¤á¤Æ X ¤ò»È¤¦¾ì¹ç¡¢&microsoft.windows; ¤ä &macos; ¤È¤¤¤Ã¤¿Â¾¤Î
GUI ´Ä¶­¤Ë´·¤ì¤Æ¤¤¤ë¿Í¤Ï¿¾¯¥·¥ç¥Ã¥¯¤ò¼õ¤±¤ë¤Ç¤·¤ç¤¦¡£</para>
<para>¤µ¤Þ¤¶¤Þ¤Ê X ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤ä¡¢
¤½¤ì¤é¤¬¤É¤Î¤è¤¦¤Ë¤ä¤ê¼è¤ê¤¹¤ë¤«¤Ë¤Ä¤¤¤Æ¤ÏÍý²ò¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¤¬¡¢
´ðËÜŪ¤Ê¤³¤È¤ò¤¤¤¯¤Ä¤«ÃΤäƤ¤¤ë¤È
X ¤ò»È¤¦ºÝ¤Ë¶¯ÎϤÊÉð´ï¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£</para>
<sect2>
<title>¤Ê¤¼ X?</title>
<para>X ¤Ï¡¢&unix;
ÍѤ˽ñ¤«¤ì¤¿ºÇ½é¤Î¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢
¤½¤ì¤é¤ÎÃæ¤Ç¤ÏºÇ¤â¹­¤Þ¤Ã¤Æ¤¤¤ë¤â¤Î¤Ç¤¹¡£
X ¤Î¥ª¥ê¥¸¥Ê¥ë¤Î³«È¯¥Á¡¼¥à¤Ï
X ¤ò½ñ¤¯Á°¤ËÊ̤Υ¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤ò³«È¯¤·¤Æ¤¤¤Þ¤·¤¿¡£
¤½¤Î¥·¥¹¥Æ¥à¤Î̾Á°¤Ï <quote>W</quote>
(<quote>Window</quote> ¤Î W) ¤Ç¤¹¡£
X ¤Ïñ¤Ë¥í¡¼¥Þ»ú¤Ç¤½¤Î¼¡¤Îʸ»ú¤À¤È¤¤¤¦¤À¤±¤Ê¤Î¤Ç¤¹¡£</para>
<para>X ¤Ï <quote>X</quote>, <quote>X Window System</quote>,
<quote>X11</quote> ¤Ê¤É¤È¤¤¤Ã¤¿Â¿¤¯¤ÎÍѸì¤Ç¸Æ¤Ð¤ì¤Þ¤¹¡£
X11 ¤ò <quote>X Windows</quote>
¤È¸Æ¤Ö¤Èµ¤¤ò°­¤¯¤¹¤ë¿Í¤â¤¤¤ë¤Ç¤·¤ç¤¦¡£
¤³¤ì¤Ë¤Ä¤¤¤Æ¤â¤¦¾¯¤·¸«¼±¤ò¿¼¤á¤ë¤Ë¤Ï
&man.X.7; ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2>
<title>X ¤Î¥¯¥é¥¤¥¢¥ó¥È/¥µ¡¼¥Ð¥â¥Ç¥ë</title>
<para>X ¤ÏºÇ½é¤«¤é¥Í¥Ã¥È¥ï¡¼¥¯¤ò°Õ¼±¤·¤Æ¥Ç¥¶¥¤¥ó¤µ¤ì¤Æ¤ª¤ê¡¢
<quote>¥¯¥é¥¤¥¢¥ó¥È - ¥µ¡¼¥Ð</quote> ¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤Þ¤¹¡£</para>
<para>X ¤Ç¤Ï¡¢<quote>X ¥µ¡¼¥Ð</quote> ¤Ï¥­¡¼¥Ü¡¼¥É¤ä¥â¥Ë¥¿¡¢
¥Þ¥¦¥¹¤¬Àܳ¤µ¤ì¤¿¥³¥ó¥Ô¥å¡¼¥¿¾å¤Çư¤­¤Þ¤¹¡£
¤³¤Î¥µ¡¼¥Ð¤Ï¥Ç¥£¥¹¥×¥ì¥¤¤Îɽ¼¨¤ò´ÉÍý¤·¤¿¤ê¡¢¥­¡¼¥Ü¡¼¥É¡¢
¥Þ¥¦¥¹¤«¤é¤ÎÆþÎϤò½èÍý¤·¤¿¤ê¡¢Â¾¤ÎÆþ½ÐÎÏÁõÃÖ
(¤¹¤Ê¤ï¤Á¡¢ÆþÎÏÁõÃ֤Ȥ·¤Æ <quote>¥¿¥Ö¥ì¥Ã¥È</quote> ¤òÍøÍѤǤ­¤Þ¤¹¤·¡¢
½ÐÎÏÁõÃ֤Ȥ·¤Æ¥Ó¥Ç¥ª¥×¥í¥¸¥§¥¯¥¿¤òÍøÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹)
¤ò¼è¤ê°·¤¤¤Þ¤¹¡£
³Æ X ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó (<application>XTerm</application> ¤ä
<application>Firefox</application> ¤Ê¤É) ¤Ï
<quote>¥¯¥é¥¤¥¢¥ó¥È</quote> ¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¯¥é¥¤¥¢¥ó¥È¤Ï <quote>¤³¤ÎºÂɸ¤Ë¥¦¥£¥ó¥É¥¦¤òÉÁ¤¤¤Æ¤¯¤À¤µ¤¤</quote>
¤È¤¤¤Ã¤¿¥á¥Ã¥»¡¼¥¸¤ò¥µ¡¼¥Ð¤ØÁ÷¤ê¡¢¥µ¡¼¥Ð¤Ï
<quote>¥æ¡¼¥¶¤¬ OK ¥Ü¥¿¥ó¤ò²¡¤·¤Þ¤·¤¿</quote>
¤È¤¤¤Ã¤¿¥á¥Ã¥»¡¼¥¸¤òÁ÷¤êÊÖ¤·¤Þ¤¹¡£</para>
<para>²ÈÄí¤ä¾®¤µ¤Ê¥ª¥Õ¥£¥¹¤Î¤è¤¦¤Ê´Ä¶­¤Ç¤Ï¡¢X ¥µ¡¼¥Ð¤È
X ¥¯¥é¥¤¥¢¥ó¥È¤ÏƱ¤¸¥³¥ó¥Ô¥å¡¼¥¿¾å¤Çư¤¯¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
¤·¤«¤·¡¢X ¥µ¡¼¥Ð¤òÈóÎϤʥǥ¹¥¯¥È¥Ã¥×¥³¥ó¥Ô¥å¡¼¥¿¤Çư¤«¤·¡¢
X ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó (¥¯¥é¥¤¥¢¥ó¥È) ¤ÏÎ㤨¤Ð¥ª¥Õ¥£¥¹Á´ÂΤò»«¤¯¤è¤¦¤Ê
¹âµ¡Ç½¤Ç¹â²Á¤Ê¥Þ¥·¥ó¤Çư¤«¤¹¤³¤È¤â²Äǽ¤Ê¤Î¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢
X ¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ÎÄÌ¿®¤Ï¥Í¥Ã¥È¥ï¡¼¥¯±Û¤·¤Ë¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£</para>
<para>¤³¤ì¤Ï¡¢¤¢¤ë¿Í¡¹¤òº®Í𤵤»¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
X ¤Ç¤ÎÍѸì¤ÏÈà¤é¤¬ÁÛÄꤹ¤ë¤â¤Î¤È¤ÏÀµÈ¿ÂФÀ¤«¤é¤Ç¤¹¡£
Èà¤é¤Ï <quote>X ¥µ¡¼¥Ð</quote> ¤ÏÃϲ¼¤Ë¤¢¤ëÂ礭¤Ê¥Ñ¥ï¥Õ¥ë¤Ê¥Þ¥·¥ó¤Ç¤¢¤ê¡¢
<quote>X ¥¯¥é¥¤¥¢¥ó¥È</quote> ¤¬¼«Ê¬¤¿¤Á¤Î¥Ç¥¹¥¯¾å¤Ë¤¢¤ë¤ÈÁÛÁü¤¹¤ë¤Î¤Ç¤¹¡£</para>
<para>X ¥µ¡¼¥Ð¤È¤Ï¥â¥Ë¥¿¤È¥­¡¼¥Ü¡¼¥É¤¬¤Ä¤¤¤Æ¤¤¤ë¥Þ¥·¥ó¤Î¤³¤È¤Ç¤¢¤ê¡¢
X ¥¯¥é¥¤¥¢¥ó¥È¤È¤Ï¥¦¥£¥ó¥É¥¦¤òɽ¼¨¤¹¤ë¥×¥í¥°¥é¥à¤À¤È¤¤¤¦¤³¤È¤ò³Ð¤¨¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>X ¤Î¥×¥í¥È¥³¥ë¤Ë¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Î¥Þ¥·¥ó¤¬Æ±¤¸ OS
¤Çư¤¤¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤È¤¤¤Ã¤¿¤³¤È¤ò¶¯À©¤¹¤ë¤â¤Î¤Ï¤Ê¤Ë¤â¤¢¤ê¤Þ¤»¤ó¤·¡¢
Ʊ¤¸µ¡¼ï¤Çư¤¤¤Æ¤¤¤ëɬÍפ⤢¤ê¤Þ¤»¤ó¡£
X ¥µ¡¼¥Ð¤ò &microsoft.windows; ¤ä Apple ¤Î &macos;
¤Çư¤«¤¹¤³¤È¤â²Äǽ¤Ç¤¹¤·¡¢
¤½¤Î¤è¤¦¤Ê¥½¥Õ¥È¥¦¥§¥¢¤â¥Õ¥ê¡¼¤Î¤â¤Î¤«¤é¾¦ÍѤΤâ¤Î¤Þ¤Ç¤¤¤í¤¤¤í¤È¤¢¤ê¤Þ¤¹¡£</para>
</sect2>
<sect2>
<title>X ¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã</title>
<para>X ¤Î¥Ç¥¶¥¤¥óů³Ø¤Ï &unix; ¤Î¤½¤ì¤ËÈó¾ï¤Ë¤è¤¯»÷¤Æ¤ª¤ê¡¢
<quote>¥Ä¡¼¥ë¤Ç¤¢¤Ã¤Æ¥Ý¥ê¥·¡¼¤Ç¤Ï¤Ê¤¤</quote> ¤Î¤Ç¤¹¡£
¤Ä¤Þ¤ê¡¢X
¤Ï¤¢¤ë¥¿¥¹¥¯¤¬¤É¤Î¤è¤¦¤ËãÀ®¤µ¤ì¤ë¤Ù¤­¤«¤ò¼¨¤¹¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤½¤ÎÂå¤ï¤ê¡¢¥æ¡¼¥¶¤Ë¤Ï¥Ä¡¼¥ë¤¬Í¿¤¨¤é¤ì¡¢
¤½¤ì¤é¤ò¤É¤¦¤¹¤ë¤«¤Ï¥æ¡¼¥¶¤Ë°Ñ¤Í¤é¤ì¤Æ¤¤¤ë¤Î¤Ç¤¹¡£</para>
<para>¤³¤Îů³Ø¤Ï¡¢X
¤Ç¤Ï¥¹¥¯¥ê¡¼¥ó¾å¤Ç¥¦¥£¥ó¥É¥¦¤¬¤É¤Î¤è¤¦¤Ë¸«¤¨¤ë¤Ù¤­¤«¡¢
¥Þ¥¦¥¹¤Ç¤½¤ì¤é¤ò¤É¤¦¤ä¤Ã¤ÆÆ°¤«¤¹¤«¡¢¥¦¥£¥ó¥É¥¦´Ö¤ò°Üư¤¹¤ë¤Î¤Ë
¤É¤¦¤¤¤¦¥­¡¼¥¹¥È¥í¡¼¥¯¤ò»È¤¦¤Ù¤­¤«
(Î㤨¤Ð &microsoft.windows; ¤Ë¤ª¤±¤ë
<keycombo action="simul">
<keycap>Alt</keycap>
<keycap>Tab</keycap>
</keycombo>)¡¢
³Æ¥¦¥£¥ó¥É¥¦¤Î¥¿¥¤¥È¥ë¥Ð¡¼¤Ï¤É¤Î¤è¤¦¤Ë¸«¤¨¤ë¤Ù¤­¤«¡¢
¤½¤ì¤é¤Ï¥¯¥í¡¼¥º¥Ü¥¿¥ó¤ò»ý¤Ä¤Ù¤­¤«¤É¤¦¤«¡¢
¤È¤¤¤Ã¤¿¤³¤È¤ò¼¨¤¹¤â¤Î¤Ç¤Ï¤Ê¤¤¤È¤¤¤¦¤È¤³¤í¤Þ¤Ç³ÈÂ礷¤Æ²ò¼á¤Ç¤­¤Þ¤¹¡£</para>
<para>¤½¤ÎÂå¤ï¤ê¤Ë¡¢X
¤Ç¤Ï¤½¤¦¤¤¤Ã¤¿¤³¤È¤ò <quote>¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã</quote>
¤È¸Æ¤Ð¤ì¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËǤ¤»¤ë¤Î¤Ç¤¹¡£
X ÍѤΠ<ulink
- url="http://xwinman.org/">¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤Ï¤¿¤¯¤µ¤ó</ulink> ¤¢¤ê¤Þ¤¹¡£
+ url="http://xwinman.org/">¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤Ï¤¿¤¯¤µ¤ó</ulink>
+ ¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤é¤Î¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤Î¸«¤¿Ìܤä»È¤¤¾¡¼ê¤Ï¤½¤ì¤¾¤ì°Û¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
<quote>¥Ð¡¼¥Á¥ã¥ë¥Ç¥¹¥¯¥È¥Ã¥×</quote>
¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¤·¡¢
¥Ç¥¹¥¯¥È¥Ã¥×¤òÁàºî¤¹¤ë¥­¡¼¥¹¥È¥í¡¼¥¯¤ò¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤­¤¿¤ê¡¢
<quote>¥¹¥¿¡¼¥È</quote>
¥Ü¥¿¥ó¤ä¤½¤ì¤ËÎह¤ë¤â¤Î¤ò»ý¤Ã¤Æ¤¤¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£
<quote>¥Æ¡¼¥Þ</quote> ¤ËÂбþ¤·¤Æ¤ª¤ê¡¢
¿·¤·¤¤¥Æ¡¼¥Þ¤òŬÍѤ·¤Æ¸«¤¿Ìܤä»È¤¤¾¡¼ê¤ò´°Á´¤ËÊѤ¨¤é¤ì¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£
¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤Ï Ports Collection ¤Î <filename>x11-wm</filename>
¤È¤¤¤¦¥«¥Æ¥´¥ê¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<para>¤µ¤é¤Ë¡¢<application>KDE</application> ¤ä
<application>GNOME</application> ¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤Ë¤Ï¡¢
¤½¤ì¤¾¤ì¤Î¥Ç¥¹¥¯¥È¥Ã¥×¤ËÅý¹ç¤µ¤ì¤¿ÆÈ¼«¤Î¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤¬¤¢¤ê¤Þ¤¹¡£</para>
<para>¤½¤ì¤¾¤ì¤Î¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤Ï¤Þ¤¿°Û¤Ê¤ëÀßÄ굡¹½¤òÈ÷¤¨¤Æ¤ª¤ê¡¢
¼ê¤ÇÀßÄê¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤â¤Î¤ä¡¢
ÀßÄêºî¶È¤Î¤Û¤È¤ó¤É¤ò GUI ¥Ä¡¼¥ë¤Ç¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£
¾¯¤Ê¤¯¤È¤â 1 ¤Ä (<application>Sawfish</application>) ¤Ï
Lisp ¸À¸ì¤ÎÊѼï¤Ç½ñ¤«¤ì¤¿ÀßÄê¥Õ¥¡¥¤¥ë¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£</para>
<note>
<title>¥Õ¥©¡¼¥«¥¹¥Ý¥ê¥·¡¼</title>
<para>¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤Î¤â¤¦°ì¤Ä¤Îµ¡Ç½¤Ï¥Þ¥¦¥¹¤Î
<quote>¥Õ¥©¡¼¥«¥¹¥Ý¥ê¥·¡¼</quote> ¤Ë´Ø¤¹¤ë¤â¤Î¤Ç¤¹¡£
¤¹¤Ù¤Æ¤Î¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤Ï¡¢¥¦¥£¥ó¥É¥¦¤òÁªÂò¤·¥­¡¼¥¹¥È¥í¡¼¥¯¤ò
¼õ¤±ÉÕ¤±¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤ÎÊýË¡¤¬É¬ÍפǤ¹¡£
¤½¤·¤Æ¡¢¤É¤Î¥¦¥£¥ó¥É¥¦¤¬¥¢¥¯¥Æ¥£¥Ö¤Ê¤Î¤«¤ò¼¨¤¹É¬Íפ⤢¤ê¤Þ¤¹¡£</para>
<para>¤è¤¯ÃΤé¤ì¤Æ¤¤¤ë¥Õ¥©¡¼¥«¥¹¥Ý¥ê¥·¡¼¤Ï
<quote>click-to-focus</quote> ¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Ç¡¢
¤³¤Î¥â¥Ç¥ë¤Ï &microsoft.windows; ¤ÇÍøÍѤµ¤ì¤Æ¤ª¤ê¡¢
¤¢¤ë¥¦¥£¥ó¥É¥¦Æâ¤Ç¥Þ¥¦¥¹¤ò¥¯¥ê¥Ã¥¯¤¹¤ì¤Ð¤½¤Î¥¦¥£¥ó¥É¥¦¤¬¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ê¤ë¡¢
¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£</para>
<para>X ¤ÏÆÃÄê¤Î¥Õ¥©¡¼¥«¥¹¥Ý¥ê¥·¡¼¤òºÎÍѤ·¤Æ¤¤¤Þ¤»¤ó¡£
Âå¤ï¤ê¤Ë¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤¬¤½¤ì¤ò¥³¥ó¥È¥í¡¼¥ë¤·¤Þ¤¹¡£
¤½¤ì¤¾¤ì¤Î¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤¬¡¢
¤½¤ì¤¾¤ì¤Î¥Õ¥©¡¼¥«¥¹¥Ý¥ê¥·¡¼¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£
¤¹¤Ù¤Æ¤Î¤â¤Î¤Ï click-to-focus ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¤·¡¢
¿¤¯¤Î¤â¤Î¤Ï¾¤ÎÊýË¡¤â¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£</para>
<para>ºÇ¤â¥Ý¥Ô¥å¥é¡¼¤Ê¥Õ¥©¡¼¥«¥¹¥Ý¥ê¥·¡¼¤Ï¼¡¤Î¤â¤Î¤Ç¤·¤ç¤¦</para>
<variablelist>
<varlistentry>
<term>focus-follows-mouse</term>
<listitem>
<para>¥Þ¥¦¥¹¥Ý¥¤¥ó¥¿¤Î²¼¤Ë¤¤¤ë¥¦¥£¥ó¥É¥¦¤¬¥Õ¥©¡¼¥«¥¹¤µ¤ì¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£
¥¦¥£¥ó¥É¥¦¤ÏºÇÁ°Ì̤ˤ¢¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
¥Õ¥©¡¼¥«¥¹¤òÊѤ¨¤ë¤Ë¤Ï¾¤Î¥¦¥£¥ó¥É¥¦¤Ë¥Þ¥¦¥¹¥Ý¥¤¥ó¥¿¤òư¤«¤¹¤À¤±¤Ç¤¹¡£
¥¯¥ê¥Ã¥¯¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£</para>
</listitem>
</varlistentry>
<varlistentry>
<term>sloppy-focus</term>
<listitem>
<para>¤³¤ì¤Ï focus-follows-mouse ¤ò¾¯¤·³ÈÄ¥¤·¤¿¤â¤Î¤Ç¤¹¡£
focus-follows-mouse ¤Ç¤Ï¡¢
¥Þ¥¦¥¹¤¬¥ë¡¼¥È¥¦¥£¥ó¥É¥¦ (ÇØ·Ê) ¤Ë°Üư¤·¤¿»þ¤Ë¤Ï¡¢
¥Õ¥©¡¼¥«¥¹¤µ¤ì¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¤¬¤Ê¤¯¤Ê¤ê¡¢
¥­¡¼¥¹¥È¥í¡¼¥¯¤Ïñ¤ËÇË´þ¤µ¤ì¤Þ¤¹¡£
sloppy-focus ¤Ç¤¢¤ì¤Ð¡¢
¥Ý¥¤¥ó¥¿¤¬Ê̤Υ¦¥£¥ó¥É¥¦¤Ë°Ü¤Ã¤¿»þ¤Î¤ß¥Õ¥©¡¼¥«¥¹¤¬ÊѤï¤ê¡¢
¸½ºß¤Î¥¦¥£¥ó¥É¥¦¤«¤é½Ð¤¿¤À¤±¤Ç¤ÏÊѤï¤ê¤Þ¤»¤ó¡£</para>
</listitem>
</varlistentry>
<varlistentry>
<term>click-to-focus</term>
<listitem>
<para>¥Þ¥¦¥¹¥¯¥ê¥Ã¥¯¤Ë¤è¤ê¥¢¥¯¥Æ¥£¥Ö¤Ê¥¦¥£¥ó¥É¥¦¤¬ÁªÂò¤µ¤ì¤Þ¤¹¡£
¥¦¥£¥ó¥É¥¦¤Ï <quote>Á°Ì̤˻ý¤Á¾å¤²¤é¤ì</quote>¡¢
¾¤Î¤¹¤Ù¤Æ¤Î¥¦¥£¥ó¥É¥¦¤ÎÁ°¤Ë¤­¤Þ¤¹¡£
¥Ý¥¤¥ó¥¿¤¬Ê̤Υ¦¥£¥ó¥É¥¦¾å¤Ë°Üư¤·¤¿»þ¤Ç¤â¡¢
¤¹¤Ù¤Æ¤Î¥­¡¼¥¹¥È¥í¡¼¥¯¤¬¤³¤Î¥¦¥£¥ó¥É¥¦¤ËÆÏ¤­¤Þ¤¹¡£</para>
</listitem>
</varlistentry>
</variablelist>
<para>¿¤¯¤Î¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤Ï¤³¤¦¤¤¤Ã¤¿¤â¤Î¤Ë²Ã¤¨¡¢
¤½¤Î¾¤Î¥Ý¥ê¥·¡¼¤Ë¤âÂбþ¤·¤Æ¤¤¤Þ¤¹¡£
¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤½¤Î¤â¤Î¤Î¥É¥­¥å¥á¥ó¥È¤â¤è¤¯ÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£</para>
</note>
</sect2>
<sect2>
<title>¥¦¥£¥¸¥§¥Ã¥È</title>
<para>X ¤Î¥Ä¡¼¥ë¤òÄ󶡤·¤Æ¤â¥Ý¥ê¥·¡¼¤ÏÄ󶡤·¤Ê¤¤¤È¤¤¤¦¥¢¥×¥í¡¼¥Á¤Ï¡¢
³Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¥¹¥¯¥ê¡¼¥ó¤Ë¸½¤ï¤ì¤ë¥¦¥£¥¸¥§¥Ã¥È¤Ë¤âŬÍѤµ¤ì¤Þ¤¹¡£</para>
<para><quote>¥¦¥£¥¸¥§¥Ã¥È</quote> ¤Ï¥¯¥ê¥Ã¥¯²Äǽ¤Ç¤¢¤Ã¤¿¤ê¡¢
¾¤ÎÊýË¡¤ÇÁàºî²Äǽ¤Ê¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹ÍÑ¥¢¥¤¥Æ¥à¤ò»Ø¤¹ÍѸì¤Ç¤¹¡£
¥Ü¥¿¥ó¤ä¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¡¢¥é¥¸¥ª¥Ü¥¿¥ó¡¢¥¢¥¤¥³¥ó¡¢¥ê¥¹¥È¡¢¤Ê¤É¤¬¤½¤¦¤Ç¤¹¡£
&microsoft.windows; ¤Ï¤³¤ì¤é¤ò <quote>¥³¥ó¥È¥í¡¼¥ë</quote> ¤È¸Æ¤ó¤Ç¤¤¤Þ¤¹¡£</para>
<para>&microsoft.windows; ¤ä Apple ¤Î &macos;
¤Ï¤È¤â¤ËÈó¾ï¤Ë¸·Ì©¤Ê¥Ý¥ê¥·¡¼¤ò¥¦¥£¥¸¥§¥Ã¥È¤Ë²Ý¤·¤Æ¤¤¤Þ¤¹¡£
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¼Ô¤Ï¶¦Ä̤Υë¥Ã¥¯¥¢¥ó¥É¥Õ¥£¡¼¥ë¤Ë
³Î¼Â¤Ë½¾¤¦¤³¤È¤òÁÛÄꤵ¤ì¤Æ¤¤¤ë¤ï¤±¤Ç¤¹¡£
X ¤Ç¤Ï¡¢ÆÃÄê¤Î¥°¥é¥Õ¥£¥«¥ë¤Ê¥¹¥¿¥¤¥ë¤ä¥¦¥£¥¸¥§¥Ã¥È¤Î¥»¥Ã¥È¤ò
¶¯À©¤¹¤ë¤³¤È¤¬½ÅÍפȤϹͤ¨¤Æ¤é¤ì¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£</para>
<para>¤·¤¿¤¬¤Ã¤Æ¡¢X
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¶¦Ä̤諤¿Ìܤä»È¤¤¾¡¼ê¤ò´üÂÔ¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
<application>KDE</application> ¤Ç»È¤ï¤ì¤Æ¤¤¤ë Qt ¤ä
<application>GNOME</application> ¥×¥í¥¸¥§¥¯¥È¤Ç»È¤ï¤ì¤Æ¤¤¤ë GTK+
¤È¤¤¤Ã¤¿Í­Ì¾¤Ê¥¦¥£¥¸¥§¥Ã¥È¥»¥Ã¥È¤ä¤½¤Î°¡¼ï¤¬²¿¼ïÎà¤â¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤é¤Î¥¦¥£¥¸¥§¥Ã¥È¥»¥Ã¥È¤Ï¥â¥À¥ó¤Ê¸«¤¿Ìܤò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
¤³¤ÎÅÀ¤Ç¸À¤¨¤Ð¡¢&unix; ¤Î¥ë¥Ã¥¯¥¢¥ó¥É¥Õ¥£¡¼¥ë¤Ï¼ýṲ́µ¤ì¤Æ¤­¤Æ¤ª¤ê¡¢
½é¿´¼Ô¤¬¤è¤ê´Êñ¤Ë»È¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤­¤Æ¤¤¤Þ¤¹¡£</para>
</sect2>
</sect1>
<sect1 id="x-install">
<title>X11 ¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
<para>&os; ¤Ë¤ª¤±¤ë X11 ¤Î¼ÂÁõ¤Ï¡¢<application>&xorg;</application> ¤Ç¤¹¡£
<application>&xorg;</application> ¤Ï X.Org Foundation
¤¬¥ê¥ê¡¼¥¹¤·¤Æ¤¤¤ë X Window System ¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ê¼ÂÁõ¤Ç¤¹¡£
<application>&xorg;</application> ¤Ï
<application>&xfree86;&nbsp;4.4RC2</application>
¤È X11R6.6 ¤Î¥³¡¼¥É¤ò¸µ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¸½ºß &os; Ports Collection ¤ÇÍøÍѲÄǽ¤Ê
<application>&xorg;</application> ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï
&xorg.version; ¤Ç¤¹¡£</para>
<para>Ports Collection ¤«¤é <application>&xorg;</application>
¤ò¥Ó¥ë¥É¤·¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/x11/xorg</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<note>
<para><application>&xorg;</application> ¤ò¤¹¤Ù¤Æ¥Ó¥ë¥É¤¹¤ë¤Ë¤Ï¡¢
¾¯¤Ê¤¯¤È¤â 4&nbsp;GB ¤Î¶õ¤­ÍÆÎ̤¬É¬ÍפǤ¹¡£</para>
</note>
<para>package ¤«¤éľÀÜ X11 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
&man.pkg.add.1; ¥Ä¡¼¥ë¤Ç°·¤ï¤ì¤ë¥Ð¥¤¥Ê¥ê¥Ñ¥Ã¥±¡¼¥¸¤¬
X11 ¤Ë¤Ä¤¤¤Æ¤âÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£
&man.pkg.add.1; ¤Î¥ê¥â¡¼¥È¼èÆÀµ¡Ç½¤òÍøÍѤ¹¤ë»þ¤Ï¡¢
package ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï³°¤·¤Æ¤¯¤À¤µ¤¤¡£
&man.pkg.add.1;
¤Ï¼«Æ°Åª¤Ë¤½¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎºÇ¿·ÈǤò¼èÆÀ¤·¤Þ¤¹¡£</para>
<para>¤Ç¤¹¤«¤é¡¢<application>&xorg;</application>
¤Î package ¤ò¼èÆÀ¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r xorg</userinput></screen>
<note>
<para>¾åµ­¤ÎÎã¤Ç¤Ï¡¢¥µ¡¼¥Ð¡¢¥¯¥é¥¤¥¢¥ó¥È¡¢¥Õ¥©¥ó¥È¤Ê¤É¤ò´Þ¤ó¤À
X11 ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥óÁ´ÂΤò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
ʬ³ä¤µ¤ì¤¿ X11 ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ä ports ¤âÍøÍѤǤ­¤Þ¤¹¡£</para>
- <para>ºÇ¾®¤Î¹½À®¤Ç X11 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤ò¤¹¤ë¤Ë¤Ï¡¢
- <filename role="package">x11/xorg-minimal</filename>
- ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
+ <para>ºÇ¾®¤Î¹½À®¤Ç X11 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤ò¤¹¤ë¤Ë¤Ï¡¢
+ <filename role="package">x11/xorg-minimal</filename>
+ ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</note>
<para>¤³¤Î¾Ï¤Î»Ä¤ê¤Ç¤Ï¡¢X11 ¤ò¤É¤Î¤è¤¦¤ËÀßÄꤹ¤ì¤Ð¤è¤¤¤«¡¢
¤Þ¤¿À¸»ºÀ­¤Î¹â¤¤¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤ò¤É¤Î¤è¤¦¤ËÀßÄꤹ¤ë¤«¤Ë¤Ä¤¤¤Æ²òÀ⤷¤Þ¤¹¡£</para>
</sect1>
<sect1 id="x-config">
<sect1info>
<authorgroup>
<author>
<firstname>Christopher</firstname>
<surname>Shumway</surname>
<contrib>´ó¹Æ: </contrib>
<!-- July 2001 -->
</author>
</authorgroup>
</sect1info>
<title>X11 ¤ÎÀßÄê</title>
<indexterm><primary>&xorg;</primary></indexterm>
<indexterm><primary>X11</primary></indexterm>
<sect2>
<title>¤Ï¤¸¤á¤Ë</title>
<para>X11 ¤Ï¡¢¤Û¤È¤ó¤É¤Îµ¡´ï¤ò¼«Æ°¤ÇÀßÄꤷ¤Þ¤¹¡£
¸Å¤«¤Ã¤¿¤ê¡¢°ìÈÌŪ¤Ç¤Ï¤Ê¤¤¤è¤¦¤Êµ¡´ï¤ò»È¤¦¾ì¹ç¤Ë¤Ï¡¢ÀßÄê¤ò»Ï¤á¤ëÁ°¤Ë¡¢
°Ê²¼¤Î¥Ï¡¼¥É¥¦¥§¥¢¾ðÊó¤ò½¸¤á¤Æ¤ª¤¯¤È½õ¤±¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£</para>
<itemizedlist>
- <listitem><para>¥â¥Ë¥¿Æ±´ü¼þÇÈ¿ô</para></listitem>
- <listitem><para>¥Ó¥Ç¥ª¥«¡¼¥É¤Î¥Á¥Ã¥×¥»¥Ã¥È</para></listitem>
- <listitem><para>¥Ó¥Ç¥ª¥«¡¼¥É¤Î¥á¥â¥ê</para></listitem>
+ <listitem>
+ <para>¥â¥Ë¥¿Æ±´ü¼þÇÈ¿ô</para>
+ </listitem>
+
+ <listitem>
+ <para>¥Ó¥Ç¥ª¥«¡¼¥É¤Î¥Á¥Ã¥×¥»¥Ã¥È</para>
+ </listitem>
+
+ <listitem>
+ <para>¥Ó¥Ç¥ª¥«¡¼¥É¤Î¥á¥â¥ê</para>
+ </listitem>
</itemizedlist>
<indexterm>
<primary>¿åʿƱ´ü¼þÇÈ¿ô</primary>
</indexterm>
<indexterm>
<primary>¿åÊ¿Áöºº¥ì¡¼¥È</primary>
<see>¿åʿƱ´ü¼þÇÈ¿ô</see>
</indexterm>
<indexterm><primary>¥ê¥Õ¥ì¥Ã¥·¥å¥ì¡¼¥È</primary></indexterm>
<indexterm>
<primary>¿âľƱ´ü¼þÇÈ¿ô</primary>
<see>¥ê¥Õ¥ì¥Ã¥·¥å¥ì¡¼¥È</see>
</indexterm>
<indexterm>
<primary>¿âľÁöºº¥ì¡¼¥È</primary>
<see>¥ê¥Õ¥ì¥Ã¥·¥å¥ì¡¼¥È</see>
</indexterm>
<para>²èÌ̤βòÁüÅ٤ȥê¥Õ¥ì¥Ã¥·¥å¥ì¡¼¥È¤Ï¡¢
¥â¥Ë¥¿¤Î¿åÊ¿¤ª¤è¤Ó¿âľƱ´ü¼þÇÈ¿ô¤Ë¤è¤ê·èÄꤵ¤ì¤Þ¤¹¡£
¤Û¤È¤ó¤É¤¹¤Ù¤Æ¤Î¥â¥Ë¥¿¤Ï¡¢¤³¤ì¤é¤ÎÃͤò¼«Æ°¸¡½Ð¤·¤Þ¤¹¡£
¤³¤ì¤é¤ÎÃͤò¼«Æ°¸¡½Ð¤·¤Ê¤¤¥â¥Ë¥¿¤â¤¢¤ê¤Þ¤¹¤¬¡¢
¤³¤¦¤¤¤Ã¤¿»ÅÍͤϡ¢ÉÕ°¤Î¥Þ¥Ë¥å¥¢¥ë¤ä¡¢
À½Â¤¸µ¤Î¥¦¥§¥Ö¥µ¥¤¥È¤«¤é¼èÆÀ¤Ç¤­¤Þ¤¹¡£</para>
<para>¥Ó¥Ç¥ª¥«¡¼¥É¤Î¥Á¥Ã¥×¥»¥Ã¥È¤â¼«Æ°¸¡½Ð¤µ¤ì¡¢
¥Ó¥Ç¥ª¥É¥é¥¤¥Ð¤ÎÁªÂò¤Ë»È¤ï¤ì¤Þ¤¹¡£
Àµ¾ï¤Ëǧ¼±¤µ¤ì¤Ê¤¤»þ¤Î¤¿¤á¤Ë¡¢
¤É¤Î¥Á¥Ã¥×¥»¥Ã¥È¤¬»È¤ï¤ì¤Æ¤¤¤ë¤«¤òÃΤäƤª¤¯¤È¤è¤¤¤Ç¤·¤ç¤¦¡£</para>
<para>¥Ó¥Ç¥ª¥«¡¼¥É¤Î¥á¥â¥ê¤Ï¡¢
¥°¥é¥Õ¥£¥Ã¥¯¥¢¥À¥×¥¿¤¬¤É¤Î²òÁüÅ٤Ȥɤο§¿ô¤Çư¤¯¤³¤È¤¬¤Ç¤­¤ë¤«¤ò·è¤á¤Þ¤¹¡£</para>
</sect2>
<sect2>
<title>X11 ¤ÎÀßÄê</title>
<para><application>&xorg;</application> ¤Ï¡¢
<acronym>HAL</acronym> ¤òÍѤ¤¤Æ¥­¡¼¥Ü¡¼¥É¤ä¥Þ¥¦¥¹¤ò¼«Æ°Ç§¼±¤·¤Þ¤¹¡£
<filename role="package">x11/xorg</filename> ¤Î°Í¸¤È¤·¤Æ¡¢
<filename role="package">sysutils/hal</filename> ¤ª¤è¤Ó
<filename role="package">devel/dbus</filename> port
¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¤¬¡¢°Ê²¼¤Î¤è¤¦¤Ê¥¨¥ó¥È¥ê¤ò
<filename>/etc/rc.conf</filename> ¥Õ¥¡¥¤¥ë¤ËÄɲä·¡¢
Í­¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<programlisting>hald_enable="YES"
dbus_enable="YES"</programlisting>
<para>¤³¤ì¤é¤Î¥µ¡¼¥Ó¥¹¤Ï¡¢
<application>&xorg;</application> ¤ÎÀßÄê¤äµ¯Æ°¤¬¹Ô¤ï¤ì¤ëÁ°¤Ë
(¼êư¤äºÆµ¯Æ°¤Ë¤è¤Ã¤Æ) µ¯Æ°¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<para><application>&xorg;</application> ¤Ï¡¢ÀßÄê¤ò¤¹¤ë¤³¤È¤Ê¤¯</para>
<screen>&prompt.user; <userinput>startx</userinput></screen>
<para>¤ÈÆþÎϤ¹¤ë¤À¤±¤Çµ¯Æ°¤·¤Þ¤¹¡£</para>
<para>¤¢¤ë¼ï¤Î¥Ï¡¼¥É¥¦¥§¥¢¤Ï¡¢¼«Æ°ÀßÄê¤Çưºî¤·¤Ê¤«¤Ã¤¿¤ê¡¢
´üÂÔ¤·¤¿¤è¤¦¤ÊÀßÄ꤬¹Ô¤ï¤ì¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢¼êư¤ÇÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<note>
<para><application>GNOME</application>,
<application>KDE</application> ¤ª¤è¤Ó
<application>Xfce</application> ¤Ê¤É¤Î¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤Ç¤Ï¡¢
²òÁüÅ٤ʤɤΥ¹¥¯¥ê¡¼¥ó¥Ñ¥é¥á¡¼¥¿¤ò´Êñ¤ËÀßÄê¤Ç¤­¤ë¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄ꤬Ëþ­¤¹¤ë¤è¤¦¤Ê¤â¤Î¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ç¤â¡¢
¤³¤ì¤é¤Î¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤ò¹Í¤¨¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¡¢
¥¹¥¯¥ê¡¼¥óÀßÄê¥Ä¡¼¥ë¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
</note>
<para>X11 ¤ÎÀßÄê¤ÏÊ£¿ô¤ÎÃʳ¬¤ò·Ð¤Æ¹Ô¤¤¤Þ¤¹¡£
¤Þ¤º¤Ï½é´üÀßÄê¥Õ¥¡¥¤¥ë¤òºî¤ê¤Þ¤·¤ç¤¦¡£
¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ë¤Ê¤Ã¤Æ¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>Xorg -configure</userinput></screen>
<para>¤³¤ì¤Ë¤è¤ê¡¢<filename>/root</filename>
¥Ç¥£¥ì¥¯¥È¥ê¤Ë <filename>xorg.conf.new</filename>
¤È¤¤¤¦ X11 ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Î¿÷·Á¤¬À¸À®¤µ¤ì¤Þ¤¹
(&man.su.1; ¤«Ä¾ÀÜ¥í¥°¥¤¥ó¤Î¤É¤Á¤é¤òÍøÍѤ·¤¿¤«¤¬¡¢¼õ¤±·Ñ¤¬¤ì¤ë
<envar>$HOME</envar> ´Ä¶­ÊÑ¿ô¤Ë±Æ¶Á¤·¤Þ¤¹)¡£
X11 ¥×¥í¥°¥é¥à¤Ï¥·¥¹¥Æ¥à¾å¤Î¥°¥é¥Õ¥£¥Ã¥¯¥Ï¡¼¥É¥¦¥§¥¢¤ò¸¡½Ð¤·¡¢
¤½¤Î¥Ï¡¼¥É¥¦¥§¥¢ÍѤÎŬÀڤʥɥ饤¥Ð¤òÆÉ¤ß¹þ¤àÀßÄê¥Õ¥¡¥¤¥ë¤òºî¤ê¤Þ¤¹¡£</para>
<para>¼¡¤Î¥¹¥Æ¥Ã¥×¤Ï¡¢ºîÀ®¤·¤¿ÀßÄê¥Õ¥¡¥¤¥ë¤Ç
<application>&xorg;</application>
¤¬¤½¤Î¥°¥é¥Õ¥£¥Ã¥¯¥Ï¡¼¥É¥¦¥§¥¢¤Çư¤¯¤³¤È¤ò³Îǧ¤¹¤ë¤³¤È¤Ç¤¹¡£
°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>Xorg -config xorg.conf.new -retro</userinput></screen>
<para>¹õ¤È¥°¥ì¡¼¤Î¥°¥ê¥Ã¥É¤È
X ¤Î¥Þ¥¦¥¹¥Ý¥¤¥ó¥¿¤¬¸½¤ï¤ì¤ì¤Ð¤½¤ÎÀßÄê¤ÏÀ®¸ù¤Ç¤¹¡£
¥Æ¥¹¥È¤ò½ªÎ»¤¹¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿²¾ÁÛ¥³¥ó¥½¡¼¥ë¤Ë
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>Alt</keycap>
<keycap>F<replaceable>n</replaceable></keycap>
</keycombo> (1 ÈÖÌܤβ¾ÁÛ¥³¥ó¥½¡¼¥ë¤Ø¤Ï <keycap>F1</keycap>)
¤ÈÆþÎϤ·¤ÆÀÚ¤êÂØ¤¨¡¢
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>C</keycap>
</keycombo> ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<note>
<para>
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>Alt</keycap>
<keycap>Backspace</keycap>
</keycombo> ¥­¡¼¤ÎÁȤ߹ç¤ï¤»¤Ç¤â
<application>&xorg;</application> ¤ò½ªÎ»¤Ç¤­¤Þ¤¹¡£
¤³¤Î¥­¡¼Áàºî¤òÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢
X üËö¥¨¥ß¥å¥ì¡¼¥¿¤Ç°Ê²¼¤Î¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.user; <userinput>setxkbmap -option terminate:ctrl_alt_bksp</userinput></screen>
<para>¤Þ¤¿¤Ï¡¢<application>hald</application> ÍѤΥ­¡¼¥Ü¡¼¥ÉÀßÄê¥Õ¥¡¥¤¥ë
<filename>x11-input.fdi</filename> ¤òºîÀ®¤·¤Æ¡¢<filename
- class="directory">/usr/local/etc/hal/fdi/policy</filename>
+ class="directory">/usr/local/etc/hal/fdi/policy</filename>
¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï°Ê²¼¤ò´Þ¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<programlisting>&lt;?xml version="1.0" encoding="iso-8859-1"?&gt;
&lt;deviceinfo version="0.2"&gt;
&lt;device&gt;
&lt;match key="info.capabilities" contains="input.keyboard"&gt;
&lt;merge key="input.x11_options.XkbOptions" type="string"&gt;terminate:ctrl_alt_bksp&lt;/merge&gt;
&lt;/match&gt;
&lt;/device&gt;
&lt;/deviceinfo&gt;</programlisting>
<para><application>hald</application>
¤¬¤³¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤è¤¦¤Ë¡¢
¥³¥ó¥Ô¥å¡¼¥¿¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para><filename>xorg.conf.new</filename> ¤Î
<literal>ServerLayout</literal> ¤â¤·¤¯¤Ï <literal>ServerFlags</literal>
¥»¥¯¥·¥ç¥ó¤Ë¡¢°Ê²¼¤Î¹Ô¤òÄɲ乤ëɬÍפ⤢¤ë¤Ç¤·¤ç¤¦¡£</para>
<programlisting>Option "DontZap" "off"</programlisting>
</note>
- <para>¤â¤·¥Þ¥¦¥¹¤¬Æ°ºî¤·¤Ê¤±¤ì¤Ð¡¢
- Àè¤Ø¿Ê¤àÁ°¤Ë¥Þ¥¦¥¹¤ÎÀßÄê¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
- &os; ¥¤¥ó¥¹¥È¡¼¥ë¤Î¾Ï¤Î <xref linkend="mouse"/> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
- ¤µ¤é¤Ë¡¢
- ºÇ¶á¤Î <application>Xorg</application> ¤Ç¤Ï¡¢¥Ç¥Ð¥¤¥¹¤Î¼«Æ°Ç§¼±¤Î¤¿¤á¡¢
- <filename>xorg.conf</filename> ¤Î
- <literal>InputDevice</literal> ¥»¥¯¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
- ¸Å¤¤ÀßÄê¤Îµ­½Ò¤òÍøÍѤ¹¤ë¤Ë¤Ï¡¢
- °Ê²¼¤Î¹Ô¤ò¥Õ¥¡¥¤¥ë¤Î <literal>ServerLayout</literal> ¤â¤·¤¯¤Ï¡¢
- <literal>ServerFlags</literal> ¥»¥¯¥·¥ç¥ó¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£</para>
+ <para>¤â¤·¥Þ¥¦¥¹¤¬Æ°ºî¤·¤Ê¤±¤ì¤Ð¡¢
+ Àè¤Ø¿Ê¤àÁ°¤Ë¥Þ¥¦¥¹¤ÎÀßÄê¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
+ &os; ¥¤¥ó¥¹¥È¡¼¥ë¤Î¾Ï¤Î <xref linkend="mouse"/> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
+ ¤µ¤é¤Ë¡¢
+ ºÇ¶á¤Î <application>Xorg</application> ¤Ç¤Ï¡¢¥Ç¥Ð¥¤¥¹¤Î¼«Æ°Ç§¼±¤Î¤¿¤á¡¢
+ <filename>xorg.conf</filename> ¤Î
+ <literal>InputDevice</literal> ¥»¥¯¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
+ ¸Å¤¤ÀßÄê¤Îµ­½Ò¤òÍøÍѤ¹¤ë¤Ë¤Ï¡¢
+ °Ê²¼¤Î¹Ô¤ò¥Õ¥¡¥¤¥ë¤Î <literal>ServerLayout</literal> ¤â¤·¤¯¤Ï¡¢
+ <literal>ServerFlags</literal> ¥»¥¯¥·¥ç¥ó¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£</para>
- <programlisting>Option "AutoAddDevices" "false"</programlisting>
+ <programlisting>Option "AutoAddDevices" "false"</programlisting>
- <para>¤³¤ì¤Ç¡¢°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¤è¤¦¤Ë¡¢ÆþÎϥǥХ¤¥¹¤ò
- (¥­¡¼¥Ü¡¼¥É¥ì¥¤¥¢¥¦¥È¤ÎÊѹ¹¤Î¤è¤¦¤Ë)
- ɬÍפʥª¥×¥·¥ç¥ó¤òÍѤ¤¤ÆÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
+ <para>¤³¤ì¤Ç¡¢°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¤è¤¦¤Ë¡¢ÆþÎϥǥХ¤¥¹¤ò
+ (¥­¡¼¥Ü¡¼¥É¥ì¥¤¥¢¥¦¥È¤ÎÊѹ¹¤Î¤è¤¦¤Ë)
+ ɬÍפʥª¥×¥·¥ç¥ó¤òÍѤ¤¤ÆÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
<note>
<para>¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Ç
<application>hald</application>
¥Ç¡¼¥â¥ó¤¬¥­¡¼¥Ü¡¼¥É¤ò¼«Æ°Åª¤Ëǧ¼±¤·¤Þ¤¹¡£
¥­¡¼¥Ü¡¼¥É¥ì¥¤¥¢¥¦¥È¤ä¥â¥Ç¥ë¤òÀµ¤·¤¯Ç§¼±¤·¤Ê¤¤¾ì¹ç¤Ç¤â¡¢
<application>GNOME</application>,
<application>KDE</application> ¤â¤·¤¯¤Ï
<application>Xfce</application>
¤Î¤è¤¦¤Ê¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤¬¡¢
¥­¡¼¥Ü¡¼¥É¤ÎÀßÄê¥Ä¡¼¥ë¤òÄ󶡤·¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¡¢
&man.setxkbmap.1; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ä
<application>hald</application> ¤ÎÀßÄê¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢
¥­¡¼¥Ü¡¼¥É¤Î¥×¥í¥Ñ¥Æ¥£¤òľÀÜÀßÄê¤Ç¤­¤Þ¤¹¡£</para>
<para>¤¿¤È¤¨¤Ð¡¢¥Õ¥é¥ó¥¹¸ì¤Î¥ì¥¤¥¢¥¦¥È¤Î PC 102
¥­¡¼¥Ü¡¼¥É¤ò»È¤¤¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢
<application>hald</application> ¤Î¥­¡¼¥Ü¡¼¥ÉÀßÄê¥Õ¥¡¥¤¥ë
<filename>x11-input.fdi</filename> ¤òºîÀ®¤·¡¢<filename
- class="directory">/usr/local/etc/hal/fdi/policy</filename>
+ class="directory">/usr/local/etc/hal/fdi/policy</filename>
¥Ç¥£¥ì¥¯¥È¥ê¤ËÊݸ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Ï°Ê²¼¤ò´Þ¤ó¤Ç¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</para>
<programlisting>&lt;?xml version="1.0" encoding="iso-8859-1"?&gt;
&lt;deviceinfo version="0.2"&gt;
&lt;device&gt;
&lt;match key="info.capabilities" contains="input.keyboard"&gt;
&lt;merge key="input.x11_options.XkbModel" type="string"&gt;pc102&lt;/merge&gt;
&lt;merge key="input.x11_options.XkbLayout" type="string"&gt;fr&lt;/merge&gt;
&lt;/match&gt;
&lt;/device&gt;
&lt;/deviceinfo&gt;</programlisting>
<para>¤³¤Î¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢
¥­¡¼¥Ü¡¼¥É¤ÎÀßÄê¤Ë´Ø¤¹¤ëÉôʬ¤ò¤¿¤Àñ¤Ë¥³¥Ô¡¼¤·¡¢
¥Õ¥¡¥¤¥ë¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£</para>
<para><application>hald</application>
¤¬¤³¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à¤è¤¦¤Ë¡¢
¥³¥ó¥Ô¥å¡¼¥¿¤òºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>X üËö¤ä¥¹¥¯¥ê¥×¥È¤«¤é°Ê²¼¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¤â¡¢
ƱÍͤËÀßÄê¤Ç¤­¤Þ¤¹¡£</para>
<screen>&prompt.user; <userinput>setxkbmap -model pc102 -layout fr</userinput></screen>
<para>
<filename>/usr/local/share/X11/xkb/rules/base.lst</filename>
¥Õ¥¡¥¤¥ë¤Ï¡¢ÍøÍѲÄǽ¤Ê¥­¡¼¥Ü¡¼¥É¡¢¥ì¥¤¥¢¥¦¥È¤ª¤è¤Ó¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤Ç¤¹¡£</para>
</note>
<indexterm><primary>X11 ¤Î¥Á¥å¡¼¥Ë¥ó¥°</primary></indexterm>
<para>¼¡¤Ë <filename>xorg.conf.new</filename>
¤ò¹¥¤ß¤Ë¹ç¤¦¤è¤¦¤ËÄ´À°¤·¤Þ¤¹¡£
&man.emacs.1; ¤ä &man.ee.1;
¤Î¤è¤¦¤Ê¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤Ç¥Õ¥¡¥¤¥ë¤ò³«¤¤¤Æ¤¯¤À¤µ¤¤¡£
¥â¥Ë¥¿¤¬¸Å¤¤¾ì¹ç¤ä¡¢Ä̾ï¤È¤Ï°Û¤Ê¤ë¥â¥Ç¥ë¤Ç¤Ï¡¢
Ʊ´ü¼þÇÈ¿ô¤Î¼«Æ°Ç§¼±¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢
¤³¤ì¤é¤ÎÃͤò <filename>xorg.conf.new</filename> ¤Î
<literal>"Monitor"</literal>
¥»¥¯¥·¥ç¥ó¤Ë¼¡¤Î¤è¤¦¤Ë½ñ¤­²Ã¤¨¤Þ¤¹¡£</para>
<programlisting>
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 30-107
VertRefresh 48-120
EndSection
</programlisting>
<para>¤Û¤È¤ó¤É¤Î¥â¥Ë¥¿¤ÏƱ´ü¼þÇÈ¿ô¤Î¼«Æ°Ç§¼±¤ËÂбþ¤·¤Æ¤¤¤ë¤Î¤Ç¡¢
¤³¤ì¤é¤ÎÃͤò¼êư¤ÇÆþÎϤ¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
¼«Æ°Ç§¼±¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¥â¥Ë¥¿¤Ç¤Ï¡¢
¥À¥á¡¼¥¸¤Î²ÄǽÀ­¤òÈò¤±¤ë¤¿¤á¡¢
¥á¡¼¥«¡¼¤¬Ä󶡤·¤Æ¤¤¤ëÃͤΤߤòÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>X ¤Ï¥â¥Ë¥¿¤¬Âбþ¤·¤Æ¤¤¤ì¤Ð DPMS (Energy Star)
µ¡Ç½¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
&man.xset.1; ¥×¥í¥°¥é¥à¤Ç¥¿¥¤¥à¥¢¥¦¥È¤ò¥³¥ó¥È¥í¡¼¥ë¤·¤¿¤ê¡¢
¶¯À©Åª¤Ë¥¹¥¿¥ó¥Ð¥¤¡¢¥µ¥¹¥Ú¥ó¥É¤äÅŸ»¥ª¥Õ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¥â¥Ë¥¿¤Î DPMS µ¡Ç½¤òÍ­¸ú¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢
<literal>"Monitor"</literal>
¥»¥¯¥·¥ç¥ó¤Ë¼¡¤Î¹Ô¤ò²Ã¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
<programlisting>Option "DPMS"</programlisting>
<indexterm>
<primary><filename>xorg.conf</filename></primary>
</indexterm>
<para><filename>xorg.conf.new</filename>
¤Ï¥¨¥Ç¥£¥¿¤Ç³«¤¤¤¿¤Þ¤Þ¤Ë¤·¤Æ¤ª¤­¡¢
¥Ç¥Õ¥©¥ë¥È¤Î²òÁüÅ٤ȿ§¿ô¤ò¹¥¤ß¤ÇÁª¤Ó¤Þ¤·¤ç¤¦¡£
<literal>"Screen"</literal>
¥»¥¯¥·¥ç¥ó¤Ë°Ê²¼¤Î¤è¤¦¤Ë½ñ¤­¤Þ¤¹¡£</para>
<programlisting>Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768"
EndSubSection
EndSection</programlisting>
<para><literal>DefaultDepth</literal> ¤È¤¤¤¦¥­¡¼¥ï¡¼¥É¤Ï
¼Â¹Ô»þ¤Î¥Ç¥Õ¥©¥ë¥È¤Î¿§¿ô¤Ë¤Ä¤¤¤Æµ­½Ò¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£
&man.Xorg.1; ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¥¹¥¤¥Ã¥Á <option>-depth</option>
¤¬»ÈÍѤµ¤ì¤¿¾ì¹ç¤Ï¤½¤Á¤é¤¬Í¥À褵¤ì¤Þ¤¹¡£
<literal>Modes</literal> ¤È¤¤¤¦¥­¡¼¥ï¡¼¥É¤Ï¡¢
Í¿¤¨¤é¤ì¤¿¿§¿ô¤Ë¤ª¤±¤ë¥Ç¥Õ¥©¥ë¥È¤Î²òÁüÅÙ¤òµ­½Ò¤·¤Æ¤ª¤¯¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£
¥¿¡¼¥²¥Ã¥È¤Î¥·¥¹¥Æ¥à¤Î¥°¥é¥Õ¥£¥Ã¥¯¥Ï¡¼¥É¥¦¥§¥¢¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¢
VESA ¥¹¥¿¥ó¥À¡¼¥É¥â¡¼¥É¤Î¤ß¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¾å¤ÎÎã¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¿§¿ô¤Ï¥Ô¥¯¥»¥ë¤¢¤¿¤ê 24 ¥Ó¥Ã¥È¤Ç¤¢¤ê¡¢
¤³¤Î¿§¿ô¤Ç¤Î²òÁüÅÙ¤Ï 1024 ¥Ô¥¯¥»¥ë¡ß 768 ¥Ô¥¯¥»¥ë¤Ç¤¹¡£</para>
<para>ºÇ¸å¤Ë¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤òÊݸ¤·¡¢
¾å¤ÎÎã¤Ë¤¢¤ë¤è¤¦¤Ë¥Æ¥¹¥È¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£</para>
<note>
<para>¥È¥é¥Ö¥ë¥·¥å¡¼¥Æ¥£¥ó¥°¤Î²áÄø¤Ç¼ê½õ¤±¤¹¤ë¥Ä¡¼¥ë¤Î¤Ò¤È¤Ä¤Ë
X11 ¤Î¥í¥°¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ë¤Ï¡¢
X11 ¥µ¡¼¥Ð¤¬¸¡ÃΤ·¤¿¥Ç¥Ð¥¤¥¹¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ¤Î¾ðÊ󤬤¢¤ê¤Þ¤¹¡£
<application>&xorg;</application> ¤Î¥í¥°¥Õ¥¡¥¤¥ë̾¤Ï
<filename>/var/log/Xorg.0.log</filename>
¤È¤¤¤¦·Á¼°¤Ç¤¹¡£¼ÂºÝ¤Î¥í¥°¥Õ¥¡¥¤¥ë̾¤Ï
<filename>Xorg.0.log</filename> ¤«¤é
<filename>Xorg.8.log</filename> ¤Î¤è¤¦¤ËÊѤï¤ê¤Þ¤¹¡£</para>
</note>
<para>¤¹¤Ù¤Æ¤¦¤Þ¤¯¤¤¤Ã¤¿¤Ê¤é¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤ò &man.Xorg.1;
¤¬¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¶¦Ä̤ξì½ê¤ËÃÖ¤­¤Þ¤¹¡£
¤³¤ì¤Ï¡¢Ä̾ï¤Ï <filename>/etc/X11/xorg.conf</filename> ¤ä
<filename>/usr/local/etc/X11/xorg.conf</filename> ¤Ç¤¹¡£</para>
<screen>&prompt.root; <userinput>cp xorg.conf.new /etc/X11/xorg.conf</userinput></screen>
<para>¤³¤ì¤Ç X11 ¤ÎÀßÄê¤Ï´°Î»¤Ç¤¹¡£
&man.startx.1; ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç
<application>&xorg;</application> ¤òµ¯Æ°¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢
&man.xdm.1; ¤ò»È¤Ã¤Æ X11 ¥µ¡¼¥Ð¤òµ¯Æ°¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£</para>
</sect2>
<sect2>
<title>¹âÅÙ¤ÊÀßÄê</title>
<sect3>
<title>&intel; <literal>i810</literal>
¥°¥é¥Õ¥£¥Ã¥¯¥Á¥Ã¥×¥»¥Ã¥È¤ÎÀßÄê</title>
- <indexterm><primary>Intel i810 graphic chipset</primary></indexterm>
+ <indexterm>
+ <primary>Intel i810 graphic chipset</primary>
+ </indexterm>
<para>&intel; i810 Åý¹ç¥Á¥Ã¥×¥»¥Ã¥È¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢
X11 ¤Ë¥«¡¼¥É¤òÀ©¸æ¤µ¤»¤ë¤¿¤á¤Ë
AGP ¥×¥í¥°¥é¥ß¥ó¥°¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¢¤ë
<devicename>agpgart</devicename> ¤¬É¬Íפˤʤê¤Þ¤¹¡£
¾Ü¤·¤¯¤Ï¡¢&man.agp.4;
¥É¥é¥¤¥Ð¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
<para>¤³¤Î¥É¥é¥¤¥Ð¤òÍѤ¤¤ë¤³¤È¤Ç¡¢
¾¤Î¥°¥é¥Õ¥£¥Ã¥¯¥«¡¼¥É¤ÈƱÍͤËÀßÄê¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¥«¡¼¥Í¥ë¤Ë &man.agp.4; ¥É¥é¥¤¥Ð¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
¤³¤Î¥â¥¸¥å¡¼¥ë¤ò &man.kldload.8;
¤ò»È¤Ã¤ÆÆÉ¤ß¹þ¤â¤¦¤È¤·¤Æ¤âưºî¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥É¥é¥¤¥Ð¤Ï¡¢
µ¯Æ°»þ¤Ë¥«¡¼¥Í¥ëÆâ¤Ë¸ºß¤¹¤ë¤è¤¦¤Ë¥«¡¼¥Í¥ëÆâÉô¤ËÁȤ߹þ¤à¤«¡¢
<filename>/boot/loader.conf</filename>
¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</para>
</sect3>
<sect3>
<title>¥ï¥¤¥É¥¹¥¯¥ê¡¼¥ó¥Õ¥é¥Ã¥È¥Ñ¥Í¥ë¤ÎÄɲÃ</title>
- <indexterm><primary>¥ï¥¤¥É¥¹¥¯¥ê¡¼¥ó¥Õ¥é¥Ã¥È¥Ñ¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó</primary></indexterm>
+ <indexterm>
+ <primary>¥ï¥¤¥É¥¹¥¯¥ê¡¼¥ó¥Õ¥é¥Ã¥È¥Ñ¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó</primary>
+ </indexterm>
<para>¤³¤Î¾Ï¤Ç¤Ï¡¢ÀßÄê¤Ë´Ø¤¹¤ë´öʬ¹âÅÙ¤ÊÃ챤òɬÍפȤ·¤Þ¤¹¡£
¤³¤ì¤Þ¤Ç¤Ë½Ò¤Ù¤¿É¸½à¥Ä¡¼¥ë¤ò»È¤Ã¤ÆÀßÄê¤Ë¼ºÇÔ¤¹¤ë¾ì¹ç¤Ï¡¢
¥í¥°¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
¥í¥°¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢
ÀßÄê¤Î¤¿¤á¤ËÍ­ÍѤʾðÊ󤬽½Ê¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£</para>
<para>¸½ºß¤Î¥ï¥¤¥É¥¹¥¯¥ê¡¼¥ó
(WSXGA, WSXGA+, WUXGA, WXGA, WXGA+ ¤Ê¤É) ¤Ï¡¢
16:10 ¤ä 10:9 ·Á¼°¡¢¤Þ¤¿¤Ï
(ÌäÂê¤ò´Þ¤à²ÄǽÀ­¤Î¤¢¤ë) ¾¤Î¥¢¥¹¥Ú¥¯¥ÈÈæ¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£
°Ê²¼¤Ï¡¢16:10 ¥¢¥¹¥Ú¥¯¥ÈÈæ¤Î¥¹¥¯¥ê¡¼¥ó²òÁüÅÙ¤ÎÎã¤Ç¤¹¡£</para>
<itemizedlist>
- <listitem><para>2560x1600</para></listitem>
- <listitem><para>1920x1200</para></listitem>
- <listitem><para>1680x1050</para></listitem>
- <listitem><para>1440x900</para></listitem>
- <listitem><para>1280x800</para></listitem>
+ <listitem>
+ <para>2560x1600</para>
+ </listitem>
+
+ <listitem>
+ <para>1920x1200</para>
+ </listitem>
+
+ <listitem>
+ <para>1680x1050</para>
+ </listitem>
+
+ <listitem>
+ <para>1440x900</para>
+ </listitem>
+
+ <listitem>
+ <para>1280x800</para>
+ </listitem>
</itemizedlist>
<para>¤³¤ì¤é¤Î²òÁüÅ٤ΤҤȤĤò°Ê²¼¤Î¤è¤¦¤Ë
<literal>"Screen" ¥»¥¯¥·¥ç¥ó</literal> ¤Î
<literal>Mode</literal> ¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£</para>
<programlisting>Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1680x1050"
EndSubSection
EndSection</programlisting>
<para><application>&xorg;</application> ¤Ï¡¢I2C/DDC
¤òÄ̤·¤Æ¥ï¥¤¥É¥¹¥¯¥ê¡¼¥ó¤Î²òÁüÅ٤˴ؤ¹¤ë¾ðÊó¤ò¼èÆÀ¤Ç¤­¤ë¤Î¤Ç¡¢
¥â¥Ë¥¿¤Î¼þÇÈ¿ô¤ä²òÁüÅÙ¤ÎÈϰϤòÇİ®¤·¤Æ¤¤¤Þ¤¹¡£</para>
<para>¤â¤·¡¢¤³¤ì¤é¤Î <literal>ModeLines</literal>
¤Ë¤Ä¤¤¤Æ¤Î¾ðÊ󤬥ɥ饤¥Ð¤Ë¸ºß¤·¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢
<application>&xorg;</application>
¤Ë¥Ò¥ó¥È¤òÍ¿¤¨¤Ê¤±¤ì¤Ê¤é¤Ê¤¤¤Ç¤·¤ç¤¦¡£
<literal>ModeLine</literal>
¤ò¼êư¤ÇÀßÄꤹ¤ë¤Î¤Ë½½Ê¬¤Ê¾ðÊó¤ò
<filename>/var/log/Xorg.0.log</filename>
¤«¤éÆÀ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
°Ê²¼¤Î¤è¤¦¤Ê¾ðÊó¤òõ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<programlisting>(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</programlisting>
<para>¤³¤ì¤Ï EDID ¤È¸Æ¤Ð¤ì¤ë¾ðÊó¤Ç¤¹¡£
¤³¤Î¾ðÊó¤òÍѤ¤¤Æ <literal>ModeLine</literal>
¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢
Àµ¤·¤¤½çÈ֤˿ô»ú¤òÆþÎϤ¹¤ë¤À¤±¤Ç¤¹¡£ </para>
<programlisting> ModeLine &lt;name&gt; &lt;clock&gt; &lt;4 horiz. timings&gt; &lt;4 vert. timings&gt;</programlisting>
- <para>¤³¤ÎÎã¤Ç¤Ï "Monitor" ¥»¥¯¥·¥ç¥ó¤Î ModeLine ¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
+ <para>¤³¤ÎÎã¤Ç¤Ï "Monitor" ¥»¥¯¥·¥ç¥ó¤Î ModeLine
+ ¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
<programlisting>Section "Monitor"
Identifier "Monitor1"
VendorName "Bigname"
ModelName "BestModel"
ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
Option "DPMS"
EndSection</programlisting>
<para>°Ê¾å¤Î´Êñ¤ÊÊÔ½¸ºî¶È¤¬½ª¤ï¤Ã¤¿¤é¡¢
¿·¤·¤¤¥ï¥¤¥É¥¹¥¯¥ê¡¼¥ó¥â¥Ë¥¿¾å¤Ç X ¤¬Æ°ºî¤¹¤ë¤Ç¤·¤ç¤¦¡£</para>
</sect3>
</sect2>
</sect1>
<sect1 id="x-fonts">
<sect1info>
<authorgroup>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
<contrib>´ó¹Æ: </contrib>
</author>
</authorgroup>
</sect1info>
<title>X11 ¤Ç¤Î¥Õ¥©¥ó¥È¤Î»ÈÍÑ</title>
<sect2 id="type1">
<title>Type1 ¥Õ¥©¥ó¥È</title>
+
<para>X11 ¤ËÉÕ¤¤¤Æ¤¯¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥©¥ó¥È¤Ï¡¢
Ä̾ï¤Î¥Ç¥¹¥¯¥È¥Ã¥×¥Ñ¥Ö¥ê¥Ã¥·¥ó¥°¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤È¤Ã¤Æ¤ÏÍýÁÛŪ¤È¤Ï¸À¤¨¤Ê¤¤ÄøÅ٤Τâ¤Î¤Ç¤¹¡£
ʸ»ú¤òÂ礭¤¯¤¹¤ë¤È¥¸¥ã¥®¡¼¤Ë¤Ê¤ê¥×¥í¥Õ¥§¥Ã¥·¥ç¥Ê¥ë¤È¤Ï¸À¤¨¤Ê¤¤¤è¤¦¤Ê¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¤·¡¢
¾®¤µ¤Ê¥Õ¥©¥ó¥È¤ÏƬ¤¬°­¤½¤¦¤Ë¸«¤¨¤Þ¤¹¡£
¤·¤«¤·¡¢À¤¤ÎÃæ¤Ë¤Ï¼Á¤Î¹â¤¤ Type1 (&postscript;)
¥Õ¥©¥ó¥È¤¬¤¤¤¯¤Ä¤«¤¢¤ê¡¢
X11 ¤Ç¤Ï¤½¤ì¤é¤ò´Êñ¤ËÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
Î㤨¤Ð¡¢URW ¥Õ¥©¥ó¥È¥³¥ì¥¯¥·¥ç¥ó
(<filename role="package">x11-fonts/urwfonts</filename>)
¤Ë¤Ï¹âÉʼÁ¤Î Type1 ¥Õ¥©¥ó¥È
(<trademark class="registered">Times Roman</trademark>,
<trademark class="registered">Helvetica</trademark>,
<trademark class="registered">Palatino</trademark> ¤Ê¤É)
¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£freefont ¥³¥ì¥¯¥·¥ç¥ó
(<filename role="package">x11-fonts/freefonts</filename>)
¤Ë¤Ï¤â¤Ã¤È¤¿¤¯¤µ¤ó¤Î¥Õ¥©¥ó¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢
¤½¤ì¤é¤Ï <application>Gimp</application>
¤Î¤è¤¦¤Ê¥°¥é¥Õ¥£¥Ã¥¯¥½¥Õ¥È¥¦¥§¥¢¤Ç»ÈÍѤ¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ê¡¢
¥¹¥¯¥ê¡¼¥ó¥Õ¥©¥ó¥È¤È¤·¤Æ¤Ï½½Ê¬¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤µ¤é¤Ë¡¢X11
¤Ï´Êñ¤Ë &truetype; ¥Õ¥©¥ó¥È¤ò»È¤¦¤è¤¦¤ËÀßÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
¾Ü¤·¤¯¤Ï¡¢&man.X.7; ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤«
<link linkend="truetype">&truetype; ¥Õ¥©¥ó¥È¤ÎÀá</link>
¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<para>¾åµ­¤Î Type1 ¥Õ¥©¥ó¥È¥³¥ì¥¯¥·¥ç¥ó¤ò Ports Collection
¤«¤éÆþ¤ì¤ë¾ì¹ç¤Ë¤Ï¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>freefont ¤ä¾¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ç¤âƱ¤¸¤è¤¦¤Ë¤·¤Þ¤¹¡£
X ¥µ¡¼¥Ð¤¬¤³¤ì¤é¤Î¥Õ¥©¥ó¥È¤ò¸¡½Ð¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï
X ¥µ¡¼¥ÐÀßÄê¥Õ¥¡¥¤¥ë (<filename>/etc/X11/xorg.conf</filename>)
¤ÎŬÀڤʾì½ê¤Ë¼¡¤Î¤è¤¦¤Ê¹Ô¤ò²Ã¤¨¤Þ¤¹¡£</para>
<programlisting>FontPath "/usr/local/lib/X11/fonts/URW/"</programlisting>
<para>Ê̤ÎÊýË¡¤È¤·¤Æ¤Ï¡¢
X ¤Î¥»¥Ã¥·¥ç¥óÃæ¤Ë¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¥é¥¤¥ó¤ò¼Â¹Ô¤·¤Þ¤¹¡£</para>
<screen>&prompt.user; <userinput>xset fp+ /usr/local/lib/X11/fonts/URW</userinput>
&prompt.user; <userinput>xset fp rehash</userinput></screen>
<para>¤³¤ì¤Ïư¤¯¤Î¤Ç¤¹¤¬¡¢X
¤Î¥»¥Ã¥·¥ç¥ó¤¬½ªÎ»¤¹¤ë¤È¾Ã¤¨¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¾Ã¤¨¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï X ¤Îµ¯Æ°»þ¤ËÆÉ¤ß¹þ¤Þ¤ì¤ë¥Õ¥¡¥¤¥ë
(Ä̾ï¤Î <command>startx</command> ¥»¥Ã¥·¥ç¥ó¤Î¾ì¹ç¤Ï
<filename>~/.xinitrc</filename>, <application>XDM</application>
¤Î¤è¤¦¤Ê¥°¥é¥Õ¥£¥«¥ë¤Ê¥í¥°¥¤¥ó¥Þ¥Í¡¼¥¸¥ã¤òÄ̤·¤Æ¥í¥°¥¤¥ó¤¹¤ë»þ¤Ï
<filename>~/.xsession</filename>) ¤Ë²Ã¤¨¤Æ¤ª¤­¤Þ¤¹¡£
»°ÈÖÌܤÎÊýË¡¤Ï¿·¤·¤¤
<filename>/usr/local/etc/fonts/local.conf</filename>
¥Õ¥¡¥¤¥ë¤ò»È¤¦¤³¤È¤Ç¤¹¡£
¤³¤ì¤Ë´Ø¤·¤Æ¤Ï <link linkend="antialias">¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹</link>
Àá¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2 id="truetype">
<title>&truetype; ¥Õ¥©¥ó¥È</title>
- <indexterm><primary>TrueType ¥Õ¥©¥ó¥È</primary></indexterm>
- <indexterm><primary>¥Õ¥©¥ó¥È</primary>
+ <indexterm>
+ <primary>TrueType ¥Õ¥©¥ó¥È</primary>
+ </indexterm>
+ <indexterm>
+ <primary>¥Õ¥©¥ó¥È</primary>
<secondary>TrueType</secondary>
</indexterm>
<para><application>&xorg;</application> ¤Ë¤Ï¡¢
&truetype; ¥Õ¥©¥ó¥È¤Î¥ì¥ó¥À¥ê¥ó¥°µ¡Ç½¤¬ÁȤ߹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Îµ¡Ç½¤ò¼Â¸½¤¹¤ë¤¿¤á¤Ë 2 ¤Ä¤Î°Û¤Ê¤ë¥â¥¸¥å¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤³¤Ç¤Ï¡¢freetype
¤ÎÊý¤¬Â¾¤Î¥Õ¥©¥ó¥È¥ì¥ó¥À¥ê¥ó¥°¥Ð¥Ã¥¯¥¨¥ó¥É¤ÈÀ°¹çÀ­¤¬¹â¤¤¤Î¤Ç¡¢
¤³¤Î¥â¥¸¥å¡¼¥ë¤ò»È¤¦¤³¤È¤Ë¤·¤Þ¤¹¡£
freetype ¥â¥¸¥å¡¼¥ë¤ò»È¤¦¤¿¤á¤Ë¤Ï
<filename>/etc/X11/xorg.conf</filename> ¥Õ¥¡¥¤¥ë¤Î
<literal>"Module"</literal>
¥»¥¯¥·¥ç¥ó¤Ë°Ê²¼¤Î¹Ô¤òÄɲ乤ë¤À¤±¤Ç¤¹¡£</para>
<programlisting>Load "freetype"</programlisting>
<para>¤µ¤Æ¡¢¤Þ¤º¤Ï &truetype; ¥Õ¥©¥ó¥ÈÍѤΥǥ£¥ì¥¯¥È¥ê
(Î㤨¤Ð <filename>/usr/local/lib/X11/fonts/TrueType</filename>)
¤òºî¤ê¡¢¤½¤³¤Ë &truetype; ¥Õ¥©¥ó¥È¤ò¤¹¤Ù¤ÆÊü¤ê¹þ¤ß¤Þ¤·¤ç¤¦¡£
&macintosh; ¤Î &truetype;
¥Õ¥©¥ó¥È¤Ï¡¢¤½¤Î¤Þ¤Þ¤Ç¤Ï»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
X11 ¤Ç»È¤¦¤Ë¤Ï &unix;/&ms-dos;/&windows;
ÍѤΥե©¡¼¥Þ¥Ã¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
¥Õ¥¡¥¤¥ë¤òÃÖ¤¤¤¿¤é <application>ttmkfdir</application> ¤ò»È¤Ã¤Æ
<filename>fonts.dir</filename> ¥Õ¥¡¥¤¥ë¤òºî¤ê¡¢
X ¤Î¥Õ¥©¥ó¥È¥ì¥ó¥À¥é¤¬¿·¤·¤¤¥Õ¥¡¥¤¥ë¤¬¥¤¥ó¥È¡¼¥ë¤µ¤ì¤¿¤³¤È¤òʬ¤«¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
<command>ttmkfdir</command> ¤Ï FreeBSD Ports Collection ¤Î
<filename role="package">x11-fonts/ttmkfdir</filename>
¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
- <screen>&prompt.root; <userinput>cd /usr/local/lib/X11/fonts/TrueType</userinput>
+ <screen>&prompt.root; <userinput>cd /usr/local/lib/X11/fonts/TrueType</userinput>
&prompt.root; <userinput>ttmkfdir -o fonts.dir</userinput></screen>
<para>¼¡¤Ë &truetype;
¥Õ¥©¥ó¥È¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¥Õ¥©¥ó¥È¥Ñ¥¹¤ËÄɲä·¤Þ¤¹¡£
¾å¤Î <link linkend="type1">Type1</link>
¥Õ¥©¥ó¥È¤Î¾ì¹ç¤ÈƱ¤¸¤è¤¦¤Ë¡¢</para>
<screen>&prompt.user; <userinput>xset fp+ /usr/local/lib/X11/fonts/TrueType</userinput>
&prompt.user; <userinput>xset fp rehash</userinput></screen>
<para>¤È¤¹¤ë¤«¡¢¤â¤·¤¯¤Ï <filename>xorg.conf</filename>
¥Õ¥¡¥¤¥ë¤Ë <literal>FontPath</literal> ¹Ô¤òÄɲä·¤Þ¤¹¡£</para>
<para>¤³¤ì¤Ç½ª¤ï¤ê¤Ç¤¹¡£
<application>Gimp</application> ¤ä
<application>Apache OpenOffice</application>
¤È¤¤¤Ã¤¿¤¹¤Ù¤Æ¤Î X ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é
&truetype; ¥Õ¥©¥ó¥È¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
(¹â²òÁüÅ٤ʥǥ£¥¹¥×¥ì¥¤¤Ç¸«¤ë¥¦¥§¥Ö¥Ú¡¼¥¸¾å¤Î¥Æ¥­¥¹¥È¤ß¤¿¤¤¤Ê)
¤È¤Æ¤â¾®¤µ¤Ê¥Õ¥©¥ó¥È¤ä
(<application>&staroffice;</application> ¤Ë¤¢¤ë¤è¤¦¤Ê)
Èó¾ï¤ËÂ礭¤Ê¥Õ¥©¥ó¥È¤â¤«¤Ê¤êåºÎï¤Ë¸«¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¤³¤È¤Ç¤·¤ç¤¦¡£</para>
</sect2>
<sect2 id="antialias">
<sect2info>
<authorgroup>
<author>
<firstname>Joe Marcus</firstname>
<surname>Clarke</surname>
<contrib>¹¹¿· : </contrib>
<!-- May 2003 -->
</author>
</authorgroup>
</sect2info>
<title>¥Õ¥©¥ó¥È¤Î¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹</title>
- <indexterm><primary>¥Õ¥©¥ó¥È¤Î¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹</primary></indexterm>
- <indexterm><primary>¥Õ¥©¥ó¥È</primary>
- <secondary>¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹</secondary></indexterm>
+ <indexterm>
+ <primary>¥Õ¥©¥ó¥È¤Î¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹</primary>
+ </indexterm>
+ <indexterm>
+ <primary>¥Õ¥©¥ó¥È</primary>
+ <secondary>¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹</secondary>
+ </indexterm>
<para><filename>/usr/local/lib/X11/fonts/</filename> ¤È
<filename>~/.fonts/</filename> ¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î X11 ¤Î¥Õ¥©¥ó¥È¤¬¡¢Xft
¤ËÂбþ¤·¤Æ¤¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¼«Æ°Åª¤Ë¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹É½¼¨¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
<application>KDE</application>, <application>GNOME</application> ¤ª¤è¤Ó
<application>Firefox</application>
¤Î¤è¤¦¤ÊºÇ¿·¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢Xft ¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£</para>
<para>¤É¤Î¥Õ¥©¥ó¥È¤¬¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹¤µ¤ì¤ë¤«¤òÀ©¸æ¤¹¤ë¤¿¤á¡¢
¤â¤·¤¯¤Ï¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹¤ÎÆÃÀ­¤òÀßÄꤹ¤ë¤¿¤á¤Ë¡¢
<filename>/usr/local/etc/fonts/local.conf</filename>
¥Õ¥¡¥¤¥ë¤òºîÀ® (¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¤Î¤Ê¤éÊÔ½¸) ¤·¤Þ¤¹¡£
¿¤¯¤Î Xft ¥Õ¥©¥ó¥È¥·¥¹¥Æ¥à¤Î¹âÅ٤ʵ¡Ç½¤ò¤³¤Î¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤ÆÄ´À°¤Ç¤­¤Þ¤¹¡£
¤³¤ÎÀá¤Ç¤Ï¤¤¤¯¤Ä¤«´Êñ¤Ê¤È¤³¤í¤À¤±¤ò¾Ò²ð¤·¤Þ¤¹¡£
¾Ü¤·¤¯¤Ï¡¢&man.fonts-conf.5; ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
<indexterm><primary>XML</primary></indexterm>
<para>¤³¤Î¥Õ¥¡¥¤¥ë¤Ï XML ·Á¼°¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
Âçʸ»ú¾®Ê¸»ú¤Î¶èÊ̤ËÃí°Õ¤òʧ¤¤¡¢
¤¹¤Ù¤Æ¤Î¥¿¥°¤¬Àµ¤·¤¯ÊĤ¸¤é¤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Õ¥¡¥¤¥ë¤Ï°ìÈÌŪ¤Ê XML ¥Ø¥Ã¥À¤Ç»Ï¤Þ¤ê¡¢DOCTYPE ÄêµÁ¤È
<literal>&lt;fontconfig&gt;</literal>
¥¿¥°¤¬¤½¤Î¸å¤Ë¤­¤Þ¤¹¡£</para>
<programlisting>
&lt;?xml version="1.0"?&gt;
&lt;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&gt;
&lt;fontconfig&gt;
</programlisting>
<para>¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢
<filename>/usr/local/lib/X11/fonts/</filename> ¤È
<filename>~/.fonts/</filename> ¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î¥Õ¥©¥ó¥È¤Ï
Xft Âбþ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÇÍøÍѤǤ­¤Þ¤¹¡£
¤³¤ì¤é 2 ¤Ä°Ê³°¤ËÊ̤Υǥ£¥ì¥¯¥È¥ê¤òÄɲä·¤¿¤¤¤Î¤Ê¤é¡¢
<filename>/usr/local/etc/fonts/local.conf</filename>
¤Ë°Ê²¼¤Î¤è¤¦¤Ê¹Ô¤òÄɲä·¤Þ¤¹¡£</para>
<programlisting>&lt;dir&gt;/path/to/my/fonts&lt;/dir&gt;</programlisting>
<para>¿·¤·¤¤¥Õ¥©¥ó¥È¡¢
¤½¤·¤ÆÆÃ¤Ë¿·¤·¤¤¥Õ¥©¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÄɲä·¤¿¤é¡¢
°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¥Õ¥©¥ó¥È¥­¥ã¥Ã¥·¥å¤òºÆ¹½ÃÛ¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>fc-cache -f</userinput></screen>
<para>¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹¤ò¤«¤±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¶­³¦¤¬¾¯¤·¤Ü¤ä¤±¡¢
¤½¤Î¤¿¤á¤Ë¤È¤Æ¤â¾®¤µ¤Ê¥Æ¥­¥¹¥È¤Ï¤µ¤é¤ËÆÉ¤ß¤ä¤¹¤¯¤Ê¤ê¡¢
Â礭¤Ê¥Õ¥©¥ó¥È¤Ç¤Ï <quote>¥®¥¶¥®¥¶</quote> ¤¬¾Ã¤¨¤ë¤Î¤Ç¤¹¡£
¤·¤«¤·¡¢ÉáÄ̤Υƥ­¥¹¥È¤Ë¤«¤±¤¿¾ì¹ç¤Ë¤ÏÌܤ¬Èè¤ì¤Æ¤·¤Þ¤¦¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
14 ¥Ý¥¤¥ó¥È°Ê²¼¤Î¥µ¥¤¥º¤Î¥Õ¥©¥ó¥È¤Ë¤Ä¤¤¤Æ¡¢
¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹¤ò¤«¤±¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¼¡¤Î¹Ô¤ò²Ã¤¨¤Þ¤¹¡£</para>
<programlisting> &lt;match target="font"&gt;
&lt;test name="size" compare="less"&gt;
&lt;double&gt;14&lt;/double&gt;
&lt;/test&gt;
&lt;edit name="antialias" mode="assign"&gt;
&lt;bool&gt;false&lt;/bool&gt;
&lt;/edit&gt;
&lt;/match&gt;
&lt;match target="font"&gt;
&lt;test name="pixelsize" compare="less" qual="any"&gt;
&lt;double&gt;14&lt;/double&gt;
&lt;/test&gt;
&lt;edit mode="assign" name="antialias"&gt;
&lt;bool&gt;false&lt;/bool&gt;
&lt;/edit&gt;
&lt;/match&gt;</programlisting>
- <indexterm><primary>¥Õ¥©¥ó¥È</primary>
- <secondary>¥¹¥Ú¡¼¥·¥ó¥°</secondary></indexterm>
+ <indexterm>
+ <primary>¥Õ¥©¥ó¥È</primary>
+ <secondary>¥¹¥Ú¡¼¥·¥ó¥°</secondary>
+ </indexterm>
<para>¤¤¤¯¤Ä¤«¤ÎÅùÉý¥Õ¥©¥ó¥È¤Ï¡¢
¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹¤ò¤«¤±¤ë¤È¥¹¥Ú¡¼¥·¥ó¥°¤¬¤¦¤Þ¤¯¤¤¤«¤Ê¤¯¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
ÆÃ¤Ë <application>KDE</application> ¤Ç¤½¤Î·¹¸þ¤¬¤¢¤ë¤è¤¦¤Ç¤¹¡£
²ò·èºö¤Î°ì¤Ä¤È¤·¤Æ¡¢¤½¤¦¤¤¤Ã¤¿¥Õ¥©¥ó¥È¤Î¥¹¥Ú¡¼¥·¥ó¥°¤ò
100 ¤ËÀßÄꤹ¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤¦¤¹¤ë¤¿¤á¤Ë¤Ï¼¡¤Î¹Ô¤ò²Ã¤¨¤Æ¤¯¤À¤µ¤¤¡£</para>
<programlisting> &lt;match target="pattern" name="family"&gt;
&lt;test qual="any" name="family"&gt;
&lt;string&gt;fixed&lt;/string&gt;
&lt;/test&gt;
&lt;edit name="family" mode="assign"&gt;
&lt;string&gt;mono&lt;/string&gt;
&lt;/edit&gt;
&lt;/match&gt;
&lt;match target="pattern" name="family"&gt;
&lt;test qual="any" name="family"&gt;
&lt;string&gt;console&lt;/string&gt;
&lt;/test&gt;
&lt;edit name="family" mode="assign"&gt;
&lt;string&gt;mono&lt;/string&gt;
&lt;/edit&gt;
&lt;/match&gt;</programlisting>
<para>(¤³¤ì¤Ï¸ÇÄꥵ¥¤¥º¤Î¥Õ¥©¥ó¥È¤Ë <literal>"mono"</literal>
¤È¤¤¤¦°ìÈÌŪ¤ÊÊÌ̾¤ò¤Ä¤±¤Þ¤¹) ¤½¤·¤Æ°Ê²¼¤òÄɲä·¤Þ¤¹¡£</para>
<programlisting> &lt;match target="pattern" name="family"&gt;
&lt;test qual="any" name="family"&gt;
&lt;string&gt;mono&lt;/string&gt;
&lt;/test&gt;
&lt;edit name="spacing" mode="assign"&gt;
&lt;int&gt;100&lt;/int&gt;
&lt;/edit&gt;
&lt;/match&gt;</programlisting>
<para>Helvetica ¤ÎÍͤʤ¢¤ë¼ï¤Î¥Õ¥©¥ó¥È¤Ï¡¢
¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹¤¹¤ë¤ÈÌäÂ꤬µ¯¤³¤ë¤Ç¤·¤ç¤¦¡£
¤¿¤¤¤Æ¤¤¡¢¥Õ¥©¥ó¥È¤¬½Ä¤ËȾʬ¤ËÀÚ¤é¤ì¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£
ºÇ°­¤Î¾ì¹ç¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¥¯¥é¥Ã¥·¥å¤·¤Þ¤¹¡£
¤³¤ì¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤ò <filename>local.conf</filename>
¤ËÄɲä·¤Þ¤¹¡£</para>
<programlisting> &lt;match target="pattern" name="family"&gt;
&lt;test qual="any" name="family"&gt;
&lt;string&gt;Helvetica&lt;/string&gt;
&lt;/test&gt;
&lt;edit name="family" mode="assign"&gt;
&lt;string&gt;sans-serif&lt;/string&gt;
&lt;/edit&gt;
&lt;/match&gt;</programlisting>
<para><filename>local.conf</filename> ¤ÎÊÔ½¸¤ò½ª¤¨¤¿¤é¡¢
¥Õ¥¡¥¤¥ë¤ÎËöÈø¤¬ <literal>&lt;/fontconfig&gt;</literal>
¥¿¥°¤Ç½ª¤ï¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤ò¹Ô¤ï¤Ê¤±¤ì¤Ð¡¢Êѹ¹¤Ï̵»ë¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡£</para>
<para>ºÇ¸å¤Ë¡¢¥æ¡¼¥¶¤Ï¼«Ê¬¤À¤±¤ÎÀßÄê¤ò³Æ¼«¤Î
<filename>.fonts.conf</filename> ¥Õ¥¡¥¤¥ë¤ËÄɲäǤ­¤Þ¤¹¡£
¤³¤ì¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥æ¡¼¥¶¤¬Ã±¤Ë
<filename>~/.fonts.conf</filename> ¤òºîÀ®¤¹¤ë¤À¤±¤Ç¤¹¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤â XML ·Á¼°¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</para>
<indexterm><primary>LCD ¥¹¥¯¥ê¡¼¥ó</primary></indexterm>
<indexterm><primary>¥Õ¥©¥ó¥È</primary>
<secondary>LCD ¥¹¥¯¥ê¡¼¥ó</secondary></indexterm>
<para>ºÇ¸å¤Ë°ì¤Ä¡£LCD
¥¹¥¯¥ê¡¼¥ó¤Ç¤Ï¥µ¥Ö¥Ô¥¯¥»¥ë¥µ¥ó¥×¥ê¥ó¥°¤¬É¬Íפʾì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¡¢´ðËÜŪ¤Ë¤Ï (¿åÊ¿Êý¸þ¤Ëʬ¤«¤ì¤Æ¤¤¤ë) ÀÖ¡¢ÎС¢
ÀĤγƥ³¥ó¥Ý¡¼¥Í¥ó¥È¤òÊÌ¡¹¤Ë°·¤¦¤³¤È¤Ë¤è¤Ã¤Æ¿åÊ¿Êý¸þ¤Î²òÁüÅÙ¤òÎɤ¯¤¹¤ë¤È¤¤¤¦¤â¤Î¤Ç¡¢
·àŪ¤Ê·ë²Ì¤¬ÆÀ¤é¤ì¤Þ¤¹¡£
¤³¤ì¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï <filename>local.conf</filename>
¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¹Ô¤ò²Ã¤¨¤Þ¤¹¡£</para>
<programlisting>
&lt;match target="font"&gt;
&lt;test qual="all" name="rgba"&gt;
&lt;const&gt;unknown&lt;/const&gt;
&lt;/test&gt;
&lt;edit name="rgba" mode="assign"&gt;
&lt;const&gt;rgb&lt;/const&gt;
&lt;/edit&gt;
&lt;/match&gt;
</programlisting>
<note>
<para>¥Ç¥£¥¹¥×¥ì¥¤¤Î¼ïÎà¤Ë¤â¤è¤ê¤Þ¤¹¤¬¡¢
<literal>rgb</literal> ¤Ç¤Ï¤Ê¤¯
<literal>bgr</literal> ¤ä <literal>vrgb</literal>¡¢¤â¤·¤¯¤Ï
<literal>vbgr</literal> ¤Î¾ì¹ç¤â¤¢¤ë¤Î¤Ç¡¢
»î¤·¤Æ¤ß¤ÆºÇ¤âÎɤ¤¤â¤Î¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£</para>
</note>
</sect2>
</sect1>
<sect1 id="x-xdm">
<sect1info>
<authorgroup>
<author>
<firstname>Seth</firstname>
<surname>Kingsley</surname>
<contrib>´ó¹Æ: </contrib>
</author>
</authorgroup>
</sect1info>
<title>X ¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã</title>
+
<sect2>
<title>³µÍ×</title>
<indexterm><primary>X ¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã</primary></indexterm>
<para>X ¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã (<application>XDM</application>)
¤Ï X Window System ¤Î¥ª¥×¥·¥ç¥Ê¥ë¤Ê°ìÉôʬ¤Ç¤¢¤ê¡¢
¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥ó¤Î´ÉÍý¤ËÍѤ¤¤Þ¤¹¡£
ºÇÄã¸Â¤Îµ¡Ç½¤ò¼ÂÁõ¤·¤¿ <quote>X üËö</quote> ¤ä¥Ç¥¹¥¯¥È¥Ã¥×¡¢
Â絬ÌϤʥͥåȥ¥¯¥Ç¥£¥¹¥×¥ì¥¤¥µ¡¼¥Ð¤È¤¤¤Ã¤¿¾ìÌ̤ǤϤ³¤ì¤¬Í­ÍѤǤ¹¡£
X Window System ¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¤È¥×¥í¥È¥³¥ë¤«¤éÆÈΩ¤·¤Æ¤¤¤ë¤¿¤á¡¢
¥Í¥Ã¥È¥ï¡¼¥¯¤Ç·Ò¤¬¤ì¤¿
X ¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤òư¤«¤¹¤¿¤á¤ÎÀßÄê¤Ï¤«¤Ê¤êÉý¤¬¹­¤¯¤Ê¤ê¤Þ¤¹¡£
<application>XDM</application>
¤Ï¤É¤Î¥Ç¥£¥¹¥×¥ì¥¤¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë¤«¤òÁªÂò¤Ç¤­¡¢
¥í¥°¥¤¥ó̾¤È¥Ñ¥¹¥ï¡¼¥É¤ÎÁȤ߹ç¤ï¤»¤Ê¤Éǧ¾Ú¾ðÊó¤òÆþÎϤǤ­¤ë¥°¥é¥Õ¥£¥«¥ë¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£</para>
<para><application>XDM</application> ¤¬¥æ¡¼¥¶¤Ë &man.getty.8;
(¾Ü¤·¤¯¤Ï <xref linkend="term-config"/> ¤ò¤´Í÷¤¯¤À¤µ¤¤)
¤ÈƱ¤¸µ¡Ç½¤òÄ󶡤¹¤ë¤³¤È¤ò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤Ä¤Þ¤ê¡¢¥Ç¥£¥¹¥×¥ì¥¤¾å¤Ç¥·¥¹¥Æ¥à¤Ø¤Î¥í¥°¥¤¥ó¤¬¤Ç¤­¡¢
¥æ¡¼¥¶¤ÎÂå¤ï¤ê¤Ë¥»¥Ã¥·¥ç¥ó¥Þ¥Í¡¼¥¸¥ã
(Ä̾ï¤Ï X ¤Î¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã) ¤òµ¯Æ°¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¤¹¡£
¤½¤ì¤«¤é <application>XDM</application> ¤Ï¡¢
¥æ¡¼¥¶¤¬ºî¶È¤ò½ª¤¨¤Æ¥Ç¥£¥¹¥×¥ì¥¤¤«¤é¥í¥°¥¢¥¦¥È¤¹¤ë¹ç¿Þ¤òÁ÷¤Ã¤Æ¤­¤Æ¥×¥í¥°¥é¥à¤¬½ªÎ»¤¹¤ë¤Î¤òÂÔ¤Á¤Þ¤¹¡£
¤³¤Î»þÅÀ¤Ç¡¢<application>XDM</application>
¤Ï¼¡¤Ë¥í¥°¥¤¥ó¤¹¤ë¥æ¡¼¥¶¤Î¤¿¤á¤Ë¥í¥°¥¤¥ó²èÌ̤ä
chooser ²èÌ̤òɽ¼¨¤Ç¤­¤Þ¤¹¡£</para>
</sect2>
<sect2>
<title>XDM ¤Î»ÈÍÑ</title>
<para><application>XDM</application> ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢
<filename role="package">x11/xdm</filename>
port ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤
(ºÇ¶á¤Î <application>&xorg;</application> ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢
¥Ç¥Õ¥©¥ë¥È¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤»¤ó)¡£
<application>XDM</application> ¤Î¥Ç¡¼¥â¥ó¥×¥í¥°¥é¥à¤Ï
<filename>/usr/local/bin/xdm</filename> ¤Ë¤¢¤ê¤Þ¤¹¡£
¤³¤Î¥×¥í¥°¥é¥à¤Ï <username>root</username>
¤Ë¤Ê¤ì¤Ð¤¤¤Ä¤Ç¤âµ¯Æ°¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢
¥í¡¼¥«¥ë¥Þ¥·¥ó¾å¤Î¥Ç¥£¥¹¥×¥ì¥¤¤Î´ÉÍý¤ò»Ï¤á¤Þ¤¹¡£
¥Þ¥·¥ó¤ò¥Ö¡¼¥È¤¹¤ëºÝ¡¢¤¤¤Ä¤â <application>XDM</application>
¤òµ¯Æ°¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢<filename>/etc/ttys</filename>
¤Ë¤½¤Î¤¿¤á¤Î¥¨¥ó¥È¥ê¤ò²Ã¤¨¤Æ¤ª¤¯¤Î¤¬´Êñ¤Ç¤¹¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ä»ÈÍÑÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï
<xref linkend="term-etcttys"/> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Ç¥Õ¥©¥ë¥È¤Î <filename>/etc/ttys</filename>
¥Õ¥¡¥¤¥ë¤Ë¤Ï²¾ÁÛüËö¾å¤Ç <application>XDM</application>
¥Ç¡¼¥â¥ó¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¹Ô:</para>
<screen>ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure</screen>
<para>¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¥¨¥ó¥È¥ê¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢Í­¸ú¤Ë¤¹¤ë¤Ë¤Ï
5 ÈÖÌܤΥ«¥é¥à¤ò <literal>off</literal> ¤«¤é
<literal>on</literal> ¤Ë¤·¡¢<xref linkend="term-hup"/>
¤Î»Ø¼¨¤Ë½¾¤Ã¤Æ &man.init.8; ¤òºÆµ¯Æ°¤·¤Þ¤¹¡£
ºÇ½é¤Î¥«¥é¥à¤Ï¤³¤Î¥×¥í¥°¥é¥à¤¬´ÉÍý¤¹¤ëüËö¤Î̾Á°¤Ç¡¢¤³¤Î¾ì¹ç
<literal>ttyv8</literal> ¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢<application>XDM</application> ¤Ï
9 ÈÖÌܤβ¾ÁÛüËö¤Çµ¯Æ°¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£</para>
</sect2>
<sect2>
<title>XDM ¤ÎÀßÄê</title>
<para><application>XDM</application> ¤ÎÀßÄêÍѥǥ£¥ì¥¯¥È¥ê¤Ï
<filename>/usr/local/lib/X11/xdm</filename> ¤Ç¤¹¡£
¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï <application>XDM</application>
¤Î¿¶¤ëÉñ¤¤¤ä¸«¤¿ÌܤòÊѹ¹¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¤¤¤¯¤Ä¤«¤Î¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£
¤À¤¤¤¿¤¤¤Ï°Ê²¼¤Î¤è¤¦¤Ê´¶¤¸¤Ç¤¹¡£</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>¥Õ¥¡¥¤¥ë</entry>
<entry>ÀâÌÀ</entry>
</row>
</thead>
<tbody>
<row>
<entry><filename>Xaccess</filename></entry>
<entry>¥¯¥é¥¤¥¢¥ó¥Èǧ¾Ú¤Î¥ë¡¼¥ë¥»¥Ã¥È</entry>
</row>
<row>
<entry><filename>Xresources</filename></entry>
<entry>¥Ç¥Õ¥©¥ë¥È¤Î X ¥ê¥½¡¼¥¹</entry>
</row>
<row>
<entry><filename>Xservers</filename></entry>
<entry>´ÉÍý¤¹¤Ù¤­¥ê¥â¡¼¥È¤ä¥í¡¼¥«¥ë¤Î¥Ç¥£¥¹¥×¥ì¥¤¤Î¥ê¥¹¥È</entry>
</row>
<row>
<entry><filename>Xsession</filename></entry>
<entry>¥Ç¥Õ¥©¥ë¥È¤Î¥í¥°¥¤¥ó»þ¤Î¥»¥Ã¥·¥ç¥ó¥¹¥¯¥ê¥×¥È</entry>
</row>
<row>
<entry><filename>Xsetup_</filename>*</entry>
<entry>¥í¥°¥¤¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÁ°¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥¹¥¯¥ê¥×¥È</entry>
</row>
<row>
<entry><filename>xdm-config</filename></entry>
<entry>¤³¤Î¥Þ¥·¥ó¤Çư¤¤¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥Ç¥£¥¹¥×¥ì¥¤¤Î¥°¥í¡¼¥Ð¥ë¤ÊÀßÄê</entry>
</row>
<row>
<entry><filename>xdm-errors</filename></entry>
<entry>¥µ¡¼¥Ð¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¥¨¥é¡¼</entry>
</row>
<row>
<entry><filename>xdm-pid</filename></entry>
<entry>¸½ºßư¤¤¤Æ¤¤¤ë XDM ¤Î¥×¥í¥»¥¹ ID</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¤Þ¤¿¡¢<application>XDM</application>
¤ÎưºîÃæ¤Ë¥Ç¥¹¥¯¥È¥Ã¥×¤ò¥»¥Ã¥È¥¢¥Ã¥×¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¥¹¥¯¥ê¥×¥È¤ä¥×¥í¥°¥é¥à¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£
¤½¤ì¤¾¤ì¤Î¥Õ¥¡¥¤¥ë¤ÎÌÜŪ¤ò´Êñ¤Ë²òÀ⤷¤Þ¤·¤ç¤¦¡£
Àµ³Î¤Êʸˡ¤ä»È¤¤Êý¤Ï &man.xdm.1; ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
<para>¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤Ï¡¢Ã±½ã¤Ê»Í³Ñ¤Î¥í¥°¥¤¥ó¥¦¥£¥ó¥É¥¦¤¬¤¢¤ê¡¢
¤½¤³¤Ë¤Ï¥Þ¥·¥ó¤Î¥Û¥¹¥È̾¤¬Â礭¤Ê¥Õ¥©¥ó¥È¤Çɽ¼¨¤µ¤ì¡¢
<quote>Login:</quote> ¤È <quote>Password:</quote>
¤Î¥×¥í¥ó¥×¥È¤¬¤½¤Î²¼¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
<application>XDM</application>
¥¹¥¯¥ê¡¼¥ó¤Î¸«¤¿¤á¤ä»È¤¤¾¡¼ê¤òÊѤ¨¤ë¤Ë¤Ï¤³¤³¤«¤é»Ï¤á¤ë¤Î¤¬¤¤¤¤¤Ç¤·¤ç¤¦¡£</para>
<sect3>
<title>Xaccess</title>
<para><application>XDM</application>
¤¬¥³¥ó¥È¥í¡¼¥ë¤¹¤ë¥Ç¥£¥¹¥×¥ì¥¤¤ËÀܳ¤¹¤ë¤¿¤á¤Î¥×¥í¥È¥³¥ë¤Ï
X Display Manager Connection Protocol (XDMCP) ¤È¸Æ¤Ð¤ì¤Þ¤¹¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï¥ê¥â¡¼¥È¤Î¥Þ¥·¥ó¤«¤é¤Î
XDMCP Àܳ¤ò¥³¥ó¥È¥í¡¼¥ë¤¹¤ë¤¿¤á¤Î¥ë¡¼¥ë¥»¥Ã¥È¤¬½ñ¤«¤ì¤Þ¤¹¡£
¤³¤ì¤Ï¡¢<filename>xdm-config</filename>
¤òÊѹ¹¤·¤Æ¥ê¥â¡¼¥È¤«¤é¤Î¥³¥Í¥¯¥·¥ç¥ó¤òÂÔ¤Á¼õ¤±¤ë¤è¤¦¤Ë¤·¤Ê¤¤¸Â¤ê̵»ë¤µ¤ì¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤É¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤ÎÀܳ¤âµñÈݤ·¤Þ¤¹¡£</para>
</sect3>
<sect3>
<title>Xresources</title>
<para>¤³¤ì¤Ï¥Ç¥£¥¹¥×¥ì¥¤¤Î chooser ¤È¥í¥°¥¤¥ó¥¹¥¯¥ê¡¼¥óÍѤÎ
application-defaults ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
¤³¤Î¥Õ¥¡¥¤¥ë¤Ç¥í¥°¥¤¥ó¥×¥í¥°¥é¥à¤Î¸«¤¿ÌܤòÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï X11 ¤Î¥É¥­¥å¥á¥ó¥È¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë
app-defaults ¥Õ¥¡¥¤¥ë¤Î¤â¤Î¤ÈƱ¤¸¤Ç¤¹¡£</para>
</sect3>
<sect3>
<title>Xservers</title>
<para>¤³¤ì¤Ï¡¢chooser
¤¬ÁªÂò»è¤È¤·¤ÆÄ󶡤¹¤ë¥ê¥â¡¼¥È¤Î¥Ç¥£¥¹¥×¥ì¥¤¤Î°ìÍ÷¤Ç¤¹¡£</para>
</sect3>
<sect3>
<title>Xsession</title>
<para><application>XDM</application>
¤Ç¥í¥°¥¤¥ó¤·¤¿¸å¤Ë¼Â¹Ô¤µ¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥»¥Ã¥·¥ç¥ó¥¹¥¯¥ê¥×¥È¤Ç¤¹¡£
Ä̾³Æ¥æ¡¼¥¶¤Ï <filename>~/.xsession</filename>
¤È¤¤¤¦¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¥»¥Ã¥·¥ç¥ó¥¹¥¯¥ê¥×¥È¤ò»ý¤Ã¤Æ¤ª¤ê¡¢
¤³¤Á¤é¤¬Í¥À褵¤ì¤Þ¤¹¡£</para>
</sect3>
<sect3>
<title>Xsetup_*</title>
<para>¤³¤ì¤é¤Ï chooser
¤ä¥í¥°¥¤¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬É½¼¨¤µ¤ì¤ëÁ°¤Ë¼«Æ°Åª¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¤½¤ì¤¾¤ì¤Î¥Ç¥£¥¹¥×¥ì¥¤¤ËÂФ·¤Æ¡¢<filename>Xsetup_</filename>
¤Ë³¤±¤Æ¥í¡¼¥«¥ë¤Î¥Ç¥£¥¹¥×¥ì¥¤ÈÖ¹æ¤òÉÕ¤±¤¿
(¤¿¤È¤¨¤Ð <filename>Xsetup_0</filename>)
̾Á°¤Î¤Ä¤¤¤¿¥¹¥¯¥ê¥×¥È¤¬¤¢¤ê¤Þ¤¹¡£
ŵ·¿Åª¤Ê»È¤¤Êý¤Ï <command>xconsole</command>
¤Î¤è¤¦¤Ê¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Çư¤«¤¹¥×¥í¥°¥é¥à¤ò°ì¤Ä¤«Æó¤Äµ¯Æ°¤¹¤ë¤³¤È¤Ç¤¹¡£</para>
</sect3>
<sect3>
<title>xdm-config</title>
<para>app-defaults ¤Î½ñ¼°¤Ç½ñ¤«¤ì¤¿¡¢
¤³¤Î¥¤¥ó¥¹¥È¥ì¡¼¥·¥ç¥ó¤Ç´ÉÍý¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î¥Ç¥£¥¹¥×¥ì¥¤¤ËŬÍѤµ¤ì¤ëÀßÄê¤òÊÝ»ý¤·¤Æ¤¤¤Þ¤¹¡£</para>
</sect3>
<sect3>
<title>xdm-errors</title>
<para>¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï <application>XDM</application>
¤¬µ¯Æ°¤·¤è¤¦¤È¤·¤Æ¤¤¤ë X ¥µ¡¼¥Ð¤«¤é¤Î½ÐÎϤ¬½ñ¤­½Ð¤µ¤ì¤Þ¤¹¡£
<application>XDM</application>
¤¬µ¯Æ°¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¥Ç¥£¥¹¥×¥ì¥¤¤¬¤Ê¤ó¤é¤«¤ÎÍýͳ¤Ç¥Ï¥ó¥°¤·¤¿¾ì¹ç¡¢
¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
¤½¤¦¤¤¤Ã¤¿¥á¥Ã¥»¡¼¥¸¤Ï³Æ¥æ¡¼¥¶¤Î
<filename>~/.xsession-errors</filename>
¤Ë¤â¥»¥Ã¥·¥ç¥óËè¤Ë½ñ¤­½Ð¤µ¤ì¤Þ¤¹¡£</para>
</sect3>
</sect2>
<sect2>
<title>¥Í¥Ã¥È¥ï¡¼¥¯¥Ç¥£¥¹¥×¥ì¥¤¥µ¡¼¥Ð¤Îµ¯Æ°</title>
<para>¤¢¤ë¥Ç¥£¥¹¥×¥ì¥¤¥µ¡¼¥Ð¤Ë¾¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬Àܳ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢
¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¤Î¥ë¡¼¥ë¤òÊÔ½¸¤·¡¢
¥³¥Í¥¯¥·¥ç¥ó¥ê¥¹¥Ê¤òÍ­¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏÊݼéŪ¤ÊÀßÄê¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
<application>XDM</application>
¤¬¤½¤¦¤¤¤Ã¤¿¥³¥Í¥¯¥·¥ç¥ó¤òÂÔ¤Á¼õ¤±¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï
<filename>xdm-config</filename>
¤Ë¤¢¤ë¼¡¤Î¹Ô¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Þ¤¹¡£</para>
<screen>! 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</screen>
<para>¤½¤·¤Æ¡¢<application>XDM</application> ¤òºÆµ¯Æ°¤·¤Þ¤¹¡£
app-defaults ¥Õ¥¡¥¤¥ë¤Ë¤ª¤±¤ë¥³¥á¥ó¥È¤Ï <quote>!</quote>
¤Ç¤¢¤Ã¤Æ¤¤¤Ä¤â¤Î¤è¤¦¤Ê <quote>#</quote>
¤Ç¤Ï¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
¥¢¥¯¥»¥¹À©¸Â¤Ï¤â¤Ã¤È¸·¤·¤¯¤·¤Æ¤â¤è¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
<filename>Xaccess</filename>
¤Ë¤¢¤ëÎã¤ò»²¹Í¤Ë¤·¤¿¤ê¡¢¾ÜºÙ¤Ë¤Ä¤¤¤Æ¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë
&man.xdm.1; ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect2>
<sect2>
<title>XDM ¤ÎÂå¤ï¤ê¤Ë¤Ê¤ë¤â¤Î</title>
<para>¥Ç¥Õ¥©¥ë¥È¤Î <application>XDM</application>
¤ËÂå¤ï¤ë¤â¤Î¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£
°ì¤Ä¤Ï <application>KDM</application>
(<application>KDE</application> ¤ËÉÕ°¤·¤Æ¤¤¤Þ¤¹)
¤Ï¤½¤Î°ì¤Ä¤Ç¤¢¤ê¡¢¤³¤Î¾Ï¤Î¸å¤í¤Ç²òÀ⤷¤Þ¤¹¡£
<application>KDM</application> ¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢
¥í¥°¥¤¥ó»þ¤Ë¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤òÁª¤Ö¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ë²Ã¤¨¡¢
¸«¤¿Ìܤ⤫¤Ê¤êåºÎï¤Ë¤·¤Æ¤¯¤ì¤Þ¤¹¡£</para>
</sect2>
</sect1>
<sect1 id="x11-wm">
<sect1info>
<authorgroup>
<author>
<firstname>Valentino</firstname>
<surname>Vaschetto</surname>
<contrib>´ó¹Æ: </contrib>
</author>
<!-- June 2001 -->
</authorgroup>
</sect1info>
<title>¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­</title>
<para>¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢FreeBSD ¾å¤Î X
¤ÇÍøÍѲÄǽ¤Ê¤¤¤¯¤Ä¤«¤Î¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤Ë¤Ä¤¤¤Æ²òÀ⤷¤Þ¤¹¡£
<quote>¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­</quote> ¤È¤Ï¡¢
ñ¤Ê¤ë¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤«¤é <application>KDE</application>
¤ä <application>GNOME</application>
¤È¤¤¤Ã¤¿¤è¤¦¤Ê´°Á´¤Ê¥Ç¥¹¥¯¥È¥Ã¥×¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¹¥¤¡¼¥È¤Þ¤Ç¥«¥Ð¡¼¤·¤Þ¤¹¡£</para>
<sect2 id="x11-wm-gnome">
<title>GNOME</title>
<sect3 id="x11-wm-gnome-about">
<title>GNOME ¤Ë¤Ä¤¤¤Æ</title>
<indexterm><primary>GNOME</primary></indexterm>
<para><application>GNOME</application>
¤Ï¥æ¡¼¥¶¥Õ¥ì¥ó¥É¥ê¤Ê¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤Ç¡¢
¥æ¡¼¥¶¤Ï¥³¥ó¥Ô¥å¡¼¥¿¤ò´Êñ¤Ë»È¤Ã¤¿¤êÀßÄꤷ¤¿¤ê¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
<application>GNOME</application> ¤Ë¤Ï¥Ñ¥Í¥ë
(¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ¯Æ°¤·¤¿¤ê¾õÂÖ¤òɽ¼¨¤·¤¿¤ê¤¹¤ë¤â¤Î)¡¢
¥Ç¥¹¥¯¥È¥Ã¥× (¥Ç¡¼¥¿¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ÃÖ¤«¤ì¤ë¾ì½ê)¡¢
ɸ½àŪ¤Ê¥Ç¥¹¥¯¥È¥Ã¥×¥Ä¡¼¥ë¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥»¥Ã¥È¡¢
¤½¤·¤Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¸ß¤¤¤Ë¤¦¤Þ¤¯¤ä¤ê¼è¤ê¤Ç¤­¤ë¤è¤¦¤Ê»ÅÁȤߤ¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¾¤Î OS ¤ä´Ä¶­¤Ë´·¤ì¤Æ¤¤¤ë¿Í¤Ç¤â
<application>GNOME</application>
¤ÎÄ󶡤¹¤ë¥°¥é¥Õ¥£¥Ã¥¯´Ä¶­¤Ç¤¢¤ì¤Ð¿´ÃϤ褯´¶¤¸¤ë¤Ç¤·¤ç¤¦¡£
FreeBSD ¾å¤Î <application>GNOME</application>
¤Ë´Ø¤¹¤ë¤â¤Ã¤È¾Ü¤·¤¤¾ðÊó¤Ï¡¢
- <ulink url="http://www.FreeBSD.org/gnome">FreeBSD GNOME Project</ulink>
- ¤Î¥¦¥§¥Ö¥µ¥¤¥È¤Ç¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ <ulink url="http://www.FreeBSD.org/gnome">FreeBSD GNOME
+ Project</ulink> ¤Î¥¦¥§¥Ö¥µ¥¤¥È¤Ç¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¥¦¥§¥Ö¥µ¥¤¥È¤Ë¤Ï¡¢<application>GNOME</application>
¤Î¥¤¥ó¥¹¥È¡¼¥ë¡¢ÀßÄê¡¢´ÉÍý¤Ë´Ø¤¹¤ëÈó¾ï¤Ëʬ¤«¤ê¤ä¤¹¤¤ FAQ
¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£</para>
</sect3>
<sect3 id="x11-wm-gnome-install">
<title>GNOME ¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
<para>package ¤ä Ports Collection
¤òÍøÍѤ·¤Æ¥½¥Õ¥È¥¦¥§¥¢¤ò´Êñ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<para><application>GNOME</application> package
¤ò¥Í¥Ã¥È¥ï¡¼¥¯¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¤À¤±¤Ç¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r gnome2</userinput></screen>
+ <para><application>pkgng</application> ¥æ¡¼¥¶¤Ï¡¢
+ °Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
+
+ <screen>&prompt.root; <userinput>pkg install gnome2</userinput></screen>
+
<para><application>GNOME</application> ¤ò¥½¡¼¥¹¤«¤é¹½ÃÛ¤¹¤ë¾ì¹ç¡¢
¼¡¤Î¤è¤¦¤Ë ports ¥Ä¥ê¡¼¤ò»È¤¤¤Þ¤·¤ç¤¦¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/x11/gnome2</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para><application>GNOME</application> ¤òŬÀÚ¤ËÆ°ºî¤µ¤»¤ë¤Ë¤Ï¡¢
<filename>/proc</filename> ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
°Ê²¼¤ò <filename>/etc/fstab</filename> ¤ËÄɲ䷤ơ¢µ¯Æ°Ãæ¤Ë
&man.procfs.5; ¤ò¥Þ¥¦¥ó¥È¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
<programlisting>proc /proc procfs rw 0 0</programlisting>
<para><application>GNOME</application> ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤¿¤é¡¢
¥Ç¥Õ¥©¥ë¥È¤Î¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤ÎÂå¤ï¤ê¤Ë
<application>GNOME</application> ¤òµ¯Æ°¤¹¤ë¤è¤¦¤Ë
X ¥µ¡¼¥Ð¤Ë»Ø¼¨¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</para>
<para><application>GNOME</application>
¤òµ¯Æ°¤¹¤ëºÇ¤â´Êñ¤ÊÊýË¡¤Ï¡¢GNOME ¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã
<application>GDM</application> ¤ò»È¤¦¤³¤È¤Ç¤¹¡£
<application>GDM</application> ¤Ï¡¢
<application>GNOME</application>
¥Ç¥¹¥¯¥È¥Ã¥×¤Î°ìÉô¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¤¬¡¢
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
Í­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¹Ô¤ò <filename>/etc/rc.conf</filename>
¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£</para>
<programlisting>gdm_enable="YES"</programlisting>
<para>ºÆµ¯Æ°¤¹¤ë¤È¡¢<application>GDM</application>
¤¬¼«Æ°Åª¤Ëµ¯Æ°¤·¤Þ¤¹¡£</para>
<para><application>GNOME</application> ¤Î¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ó¥¹¤ò¡¢
<application>GDM</application> ¤È¤È¤â¤Ëµ¯Æ°¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¯¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£
¤³¤Î¤è¤¦¤ËÀßÄꤹ¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¹Ô¤ò <filename>/etc/rc.conf</filename>
¥Õ¥¡¥¤¥ë¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£</para>
<programlisting>gnome_enable="YES"</programlisting>
<para><application>GNOME</application> ¤Ï
<filename>.xinitrc</filename>
¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤òŬÀÚ¤ËÀßÄꤹ¤ë¤³¤È¤Ç¡¢
¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤éµ¯Æ°¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
¼«Ê¬¤Î <filename>.xinitrc</filename>
¤¬´û¤Ë¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤òµ¯Æ°¤¹¤ë¹Ô¤ò
<application>/usr/local/bin/gnome-session</application>
¤òµ¯Æ°¤¹¤ë¤è¤¦¤ËÊѹ¹¤¹¤ë¤À¤±¤Ç¤¹¡£
ÆÃ¤Ë¤³¤Î¥Õ¥¡¥¤¥ë¤òÍѰդ·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
¼¡¤Î¤è¤¦¤Ë¤¹¤ì¤Ð½½Ê¬¤Ç¤·¤ç¤¦¡£</para>
<screen>&prompt.user; <userinput>echo "/usr/local/bin/gnome-session" &gt; ~/.xinitrc</userinput></screen>
<para>¼¡¤Ë¡¢<command>startx</command> ¤ÈÆþÎϤ¹¤ì¤Ð
<application>GNOME</application>
¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤¬µ¯Æ°¤·¤Þ¤¹¡£</para>
<note>
<para>¤â¤· <application>XDM</application>
¤Î¤è¤¦¤Ê¸Å¤¤¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢
¤³¤ÎÊýË¡¤Ç¤Ï¤¦¤Þ¤¯¤¤¤­¤Þ¤»¤ó¡£¤½¤ÎÂå¤ï¤ê¡¢¼Â¹Ô²Äǽ¤Ê
<filename>.xsession</filename> ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢
Ʊ¤¸¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á¤Ë¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Æ¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤ò
<application>/usr/local/bin/gnome-session</application>
¤ÇÃÖ¤­´¹¤¨¤Þ¤¹¡£</para>
</note>
<screen>&prompt.user; <userinput>echo "#!/bin/sh" &gt; ~/.xsession</userinput>
&prompt.user; <userinput>echo "/usr/local/bin/gnome-session" &gt;&gt; ~/.xsession</userinput>
&prompt.user; <userinput>chmod +x ~/.xsession</userinput></screen>
<para>¤â¤¦°ì¤Ä¤ÎÊýË¡¤Ï¡¢
¥í¥°¥¤¥ó»þ¤Ë¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤òÁªÂò¤Ç¤­¤ë¤è¤¦¤Ë¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã¤òÀßÄꤹ¤ë¤³¤È¤Ç¤¹¡£
<link linkend="x11-wm-kde-details">KDE
¤Î¾ÜºÙ</link>¤Ë¤Ä¤¤¤Æ¤Î¥»¥¯¥·¥ç¥ó¤Ç
<application>KDE</application> ¤Î¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã¤Ç¤¢¤ë
<application>KDM</application>
¤ò»È¤Ã¤Æ¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤¤¤¤¤Î¤«¤ò²òÀ⤷¤Æ¤¤¤Þ¤¹¡£</para>
</sect3>
</sect2>
<sect2 id="x11-wm-kde">
<title>KDE</title>
<indexterm><primary>KDE</primary></indexterm>
<sect3 id="x11-wm-kde-about">
<title>KDE ¤Ë¤Ä¤¤¤Æ</title>
<para><application>KDE</application>
¤ÏºÇ¶á¤Î´Êñ¤Ë»È¤¨¤ë¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤Ç¤¹¡£
<application>KDE</application>
¤Ë¤è¤ê¥æ¡¼¥¶¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥á¥ê¥Ã¥È¤òµü¼õ¤·¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
<para>Èþ¤·¤¤¸½ÂåÉ÷¤Î¥Ç¥¹¥¯¥È¥Ã¥×</para>
</listitem>
<listitem>
<para>¥Í¥Ã¥È¥ï¡¼¥¯Æ©²á¤Ê¥Ç¥¹¥¯¥È¥Ã¥×</para>
</listitem>
<listitem>
<para><application>KDE</application>
¥Ç¥¹¥¯¥È¥Ã¥×¤ä¤½¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò»È¤¦ºÝ¤Ë¡¢
¥Ø¥ë¥×¤Ø¤Î¥¢¥¯¥»¥¹¤òÊØÍø¤ÇÅý°ì¤µ¤ì¤¿¤â¤Î¤Ë¤¹¤ëÅý¹ç¤µ¤ì¤¿¥Ø¥ë¥×¥·¥¹¥Æ¥à</para>
</listitem>
<listitem>
<para>¤¹¤Ù¤Æ¤Î <application>KDE</application>
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÇÅý°ì¤µ¤ì¤¿¸«¤¿¤á¤ä»È¤¤¾¡¼ê</para>
</listitem>
<listitem>
<para>ɸ½à²½¤µ¤ì¤¿¥á¥Ë¥å¡¼¡¢¥Ä¡¼¥ë¥Ð¡¼¡¢
¥­¡¼¥Ð¥¤¥ó¥Ç¥£¥ó¥°¡¢¥«¥é¡¼¥¹¥­¡¼¥à¤Ê¤É</para>
</listitem>
<listitem>
<para>¹ñºÝ²½: <application>KDE</application> ¤Ï
55 ¤ò±Û¤¨¤ë¸À¸ì¤ÇÍøÍѲÄǽ</para>
</listitem>
<listitem>
<para>°ì¸µÅª¤Ç¡¢¼óÈø°ì´Ó¤·¤¿¡¢¥À¥¤¥¢¥í¥°¥Ù¡¼¥¹¤Î¥Ç¥¹¥¯¥È¥Ã¥×ÀßÄê</para>
</listitem>
<listitem>
<para>ËÄÂç¤Ê¿ô¤Î <application>KDE</application>
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó</para>
</listitem>
</itemizedlist>
<para><application>KDE</application> ¤Ë¤Ï
<application>Konqueror</application>
¤È¸Æ¤Ð¤ì¤ë¥¦¥§¥Ö¥Ö¥é¥¦¥¶¤âÉÕ°¤·¤Æ¤ª¤ê¡¢¤³¤ì¤Ï &unix;
¥·¥¹¥Æ¥à¾å¤Î¾¤Î¥¦¥§¥Ö¥Ö¥é¥¦¥¶¤Î¶¯ÎϤʶ¥ÁèÁê¼ê¤Ç¤¹¡£
<application>KDE</application> ¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï
- <ulink url="http://www.kde.org/">KDE ¤Î
- ¥¦¥§¥Ö¥µ¥¤¥È</ulink> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
+ <ulink url="http://www.kde.org/">KDE ¤Î¥¦¥§¥Ö¥µ¥¤¥È</ulink>
+ ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
<application>KDE</application> ¤Ë´Ø¤¹¤ë
FreeBSD ÆÃÍ­¤Î¾ðÊó¤È¥ê¥½¡¼¥¹¤Ë¤Ä¤¤¤Æ¤Ï¡¢
<ulink url="http://freebsd.kde.org/">KDE/FreeBSD
initiative</ulink> ¤Î¥¦¥§¥Ö¥µ¥¤¥È¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</para>
</sect3>
<sect3 id="x11-wm-kde-install">
<title>KDE ¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
<para><application>GNOME</application>
¤ä¾¤Î¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤È¤Þ¤Ã¤¿¤¯Æ±¤¸¤è¤¦¤Ë¡¢
package ¤ä Ports Collection ¤«¤é´Êñ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
<para><application>KDE 4</application> package
¤ò¥Í¥Ã¥È¥ï¡¼¥¯±Û¤·¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r kde4</userinput></screen>
<para>&man.pkg.add.1;
¤Ï¼«Æ°Åª¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎºÇ¿·ÈǤò¼èÆÀ¤·¤Þ¤¹¡£</para>
<para><application>pkgng</application> ¥æ¡¼¥¶¤Ï¡¢
°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg install kde4</userinput></screen>
<para><application>KDE</application>
¤ò¥½¡¼¥¹¤«¤é¹½ÃÛ¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë ports ¥Ä¥ê¡¼¤ò»È¤¤¤Þ¤·¤ç¤¦¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/x11/kde4</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>port ¤òºÇ½é¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¤­¤Ë¤Ï¡¢
¥ª¥×¥·¥ç¥ó¤òÁªÂò¤¹¤ë¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¥Ç¥Õ¥©¥ë¥È¤¬¿ä¾©¤µ¤ì¤Þ¤¹¡£</para>
<para><application>KDE 4</application> ¤ÏÂ礭¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¤¿¤á¡¢
¹â®¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤â¥³¥ó¥Ñ¥¤¥ë¤ËŤ¤»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£</para>
<para><application>KDE</application> ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤¿¤é
X ¥µ¡¼¥Ð¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤ÎÂå¤ï¤ê¤Ë¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òΩ¤Á¾å¤²¤ë¤è¤¦¤Ë¶µ¤¨¤Þ¤¹¡£
<filename>.xinitrc</filename>
¥Õ¥¡¥¤¥ë¤ò¼¡¤Î¤è¤¦¤ËÊÔ½¸¤·¤Þ¤·¤ç¤¦¡£</para>
<screen>&prompt.user; <userinput>echo "exec /usr/local/kde4/bin/startkde" &gt; ~/.xinitrc</userinput></screen>
<para>¤µ¤¡¡¢¤³¤ì¤Ç <command>startx</command> ¤Ç¤¤¤Ä
X Window System ¤òΩ¤Á¾å¤²¤Æ¤â
<application>KDE</application>
¤¬¥Ç¥¹¥¯¥È¥Ã¥×¤Ë¤Ê¤ê¤Þ¤¹¡£</para>
<para><application>XDM</application>
¤Î¤è¤¦¤Ê¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢
ÀßÄê¤Ï¾¯¤·°Û¤Ê¤ê¤Þ¤¹¡£Âå¤ï¤ê¤Ë
<filename>.xsession</filename> ¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Þ¤·¤ç¤¦¡£
<application>KDM</application>
ÍѤÎÀâÌÀ¤Ï¤³¤Î¾Ï¤Î¸å¤Î¤Û¤¦¤Ë¤¢¤ê¤Þ¤¹¡£</para>
</sect3>
</sect2>
<sect2 id="x11-wm-kde-details">
<title>KDE ¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ</title>
<para>¤µ¤¡¡¢<application>KDE</application>
¤Î¥¤¥ó¥¹¥È¡¼¥ë¤¬¤Ç¤­¤Þ¤·¤¿¡£
¤Û¤È¤ó¤É¤Î¤³¤È¤Ï¥Ø¥ë¥×¥Ú¡¼¥¸¤ò¸«¤¿¤ê¤¤¤í¤ó¤Ê¥á¥Ë¥å¡¼¤ò¤Ä¤Ä¤±¤Ð¤ï¤«¤ë¤Ç¤·¤ç¤¦¡£
&windows; ¤ä &mac; ¤Î¥æ¡¼¥¶¤Ë¤â´Êñ¤Ê¤Ï¤º¤Ç¤¹¡£</para>
<para><application>KDE</application>
¤ÎºÇ¤âÎɤ¤¥ê¥Õ¥¡¥ì¥ó¥¹¤Ï¥ª¥ó¥é¥¤¥ó¥É¥­¥å¥á¥ó¥È¤Ç¤¹¡£
<application>KDE</application> ¤Ë¤ÏÆÈ¼«¤Î¥¦¥§¥Ö¥Ö¥é¥¦¥¶
<application>Konqueror</application> ¤¬ÉÕ°¤·¤Æ¤¤¤Þ¤¹¤·¡¢
ËÄÂç¤Ê¿ô¤ÎÊØÍø¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä¾Ü¤·¤¤¥É¥­¥å¥á¥ó¥È¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥»¥¯¥·¥ç¥ó¤Î»Ä¤ê¤Ç¤Ï¤Ê¤ó¤È¤Ê¤¯»È¤Ã¤Æ¤¤¤ë¤À¤±¤Ç¤ÏÍý²ò¤·Æñ¤¤µ»½ÑŪ¤Ê¤È¤³¤í¤ò²òÀ⤷¤Þ¤¹¡£</para>
<sect3 id="x11-wm-kde-kdm">
<title>KDE ¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã</title>
- <indexterm><primary>KDE</primary>
- <secondary>¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã</secondary></indexterm>
+ <indexterm>
+ <primary>KDE</primary>
+ <secondary>¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã</secondary>
+ </indexterm>
<para>¥Þ¥ë¥Á¥æ¡¼¥¶¥·¥¹¥Æ¥à¤Î´ÉÍý¼Ô¤Ç¤¢¤ì¤Ð¡¢
¥æ¡¼¥¶¤ò·Þ¤¨¤ë¤Ë¤¢¤¿¤Ã¤Æ¥°¥é¥Õ¥£¥«¥ë¤Ê¥í¥°¥¤¥ó²èÌ̤¬Íߤ·¤¤¤È»×¤¦¤«¤â¤·¤ì¤Þ¤»¤ó¡£
Á°¤Î¾Ï¤Ç½Ò¤Ù¤¿¤è¤¦¤Ë
<link linkend="x-xdm">XDM</link> ¤Ï¤½¤Î¤¿¤á¤Ë»È¤¨¤Þ¤¹¤¬¡¢
<application>KDE</application>
¤Ë¤Ï¤½¤ÎÂå¤ï¤ê¤Ë¤Ê¤ë <application>KDM</application>
¤¬ÉÕ¤¤¤Æ¤¤¤Þ¤¹¡£
¸«¤¿Ìܤ¬¤è¤êÌ¥ÎÏŪ¤Ç¡¢¥í¥°¥¤¥ó»þ¤Î¥ª¥×¥·¥ç¥ó¤â¤¿¤¯¤µ¤ó¤¢¤ê¤Þ¤¹¡£
ÆÃ¤Ë (¥á¥Ë¥å¡¼¤ò»È¤Ã¤Æ) ¥í¥°¥¤¥ó¸å¤Ë»È¤¦¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­
(<application>KDE</application> ¤ä
<application>GNOME</application> ¤Ê¤É)
¤ò´Êñ¤ËÁª¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</para>
<para><application>KDE 4</application> ¤Ç¤Ï¡¢
&man.procfs.5; ¤ò¥Þ¥¦¥ó¥È¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
<filename>/etc/rc.conf</filename> ¤Ë°Ê²¼¤Î¹Ô¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£</para>
<programlisting>kdm4_enable="YES"</programlisting>
</sect3>
</sect2>
<sect2 id="x11-wm-xfce">
<title>Xfce</title>
+
<sect3 id="x11-wm-xfce-about">
<title>Xfce ¤Ë¤Ä¤¤¤Æ</title>
<para><application>Xfce</application> ¤Ï
<application>GNOME</application> ¤Ç»È¤ï¤ì¤Æ¤¤¤ë
GTK+ ¥Ä¡¼¥ë¥­¥Ã¥È¤ò¥Ù¡¼¥¹¤Ë¤·¤¿¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤Ç¤¹¤¬¡¢
¤º¤Ã¤È·Ú¤¤¤Î¤Ç¡¢
¥·¥ó¥×¥ë¤Ç¸úΨŪ¤Ç¤¢¤ê¤Ê¤¬¤é»È¤¤¤ä¤¹¤¯ÀßÄ꤬´Êñ¤Ê¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤òµá¤á¤ë¿Í¤Ë¸þ¤¤¤Æ¤¤¤Þ¤¹¡£
¸«¤¿¤á¤Ï¾¦ÍÑ &unix; ¥·¥¹¥Æ¥à¤¬ºÎÍѤ·¤Æ¤¤¤ë
<application>CDE</application>
¤Ë¤«¤Ê¤ê»÷¤Æ¤¤¤Þ¤¹¡£<application>Xfce</application>
¤Îµ¡Ç½¤ò¤¤¤¯¤Ä¤«°Ê²¼¤Ëµó¤²¤Þ¤¹¡£</para>
<itemizedlist>
<listitem>
<para>¥·¥ó¥×¥ë¤Ç»È¤¤¤ä¤¹¤¤¥Ç¥¹¥¯¥È¥Ã¥×</para>
</listitem>
<listitem>
<para>¥Þ¥¦¥¹¤Î¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤Ê¤É¤Ç¤¹¤Ù¤Æ¤ÎÀßÄ꤬²Äǽ</para>
</listitem>
<listitem>
<para><application>CDE</application>
¤Ë»÷¤¿¥á¥¤¥ó¥Ñ¥Í¥ë¤È¥á¥Ë¥å¡¼¤ä¥¢¥×¥ì¥Ã¥È¡¢
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥é¥ó¥Á¥ã</para>
</listitem>
<listitem>
<para>Åý¹ç¤µ¤ì¤¿¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¡¢¥Õ¥¡¥¤¥ë¥Þ¥Í¡¼¥¸¥ã¡¢
¥µ¥¦¥ó¥É¥Þ¥Í¡¼¥¸¥ã¤È <application>GNOME</application>
½àµò¤Î¥â¥¸¥å¡¼¥ë¤Ê¤É</para>
</listitem>
<listitem>
<para>(GTK+ ¤Ê¤Î¤Ç) ¥Æ¡¼¥Þ¤ò¥µ¥Ý¡¼¥È</para>
</listitem>
<listitem>
<para>®¤¯¤Æ·Ú¤¯¤Æ¸úΨŪ: ¸Å¤¤¥Þ¥·¥ó¤äÃÙ¤¤¥Þ¥·¥ó¡¢
¥á¥â¥ê¤Î¸Â¤é¤ì¤¿¥Þ¥·¥ó¤Ë¸þ¤¤¤Æ¤¤¤Þ¤¹</para>
</listitem>
</itemizedlist>
<para><application>Xfce</application> ¤Ë´Ø¤¹¤ë¾Ü¤·¤¤¾ðÊó¤Ï
<ulink url="http://www.xfce.org/">Xfce ¤Î¥¦¥§¥Ö¥µ¥¤¥È</ulink>
¤ÇÆÀ¤é¤ì¤Þ¤¹¡£</para>
</sect3>
<sect3 id="x11-wm-xfce-install">
<title>Xfce ¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
- <para>(¤³¤Îʸ¾Ï¤ò½ñ¤¤¤Æ¤¤¤ë»þÅÀ¤Ç¤Ï)
- <application>Xfce</application>
- ¤Î¥Ð¥¤¥Ê¥ê¥Ñ¥Ã¥±¡¼¥¸¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
- ¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤¹¤ë¤À¤±¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£</para>
+ <para><application>Xfce</application>
+ ¤ò¥Í¥Ã¥È¥ï¡¼¥¯¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢
+ ¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.root; <userinput>pkg_add -r xfce4</userinput></screen>
+ <para><application>pkgng</application> ¥æ¡¼¥¶¤Ï¡¢
+ °Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£</para>
+
+ <screen>&prompt.root; <userinput>pkg install xfce4</userinput></screen>
+
<para>¤Þ¤¿¡¢Ports Collection
¤òÍøÍѤ·¤Æ¥½¡¼¥¹¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£</para>
<screen>&prompt.root; <userinput>cd /usr/ports/x11-wm/xfce4</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
- <para>¥¤¥ó¥¹¥È¡¼¥ë¸å¡¢¼¡²ó X ¤òµ¯Æ°¤·¤¿»þ¤Ë <application>Xfce</application>
- ¤¬Î©¤Á¾å¤¬¤ë¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£
+ <para>¥¤¥ó¥¹¥È¡¼¥ë¸å¡¢¼¡²ó X ¤òµ¯Æ°¤·¤¿»þ¤Ë
+ <application>Xfce</application> ¤¬Î©¤Á¾å¤¬¤ë¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£
¼¡¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</para>
<screen>&prompt.user; <userinput>echo "/usr/local/bin/startxfce4" &gt; ~/.xinitrc</userinput></screen>
<para>X ¤ò¼¡¤Ëµ¯Æ°¤¹¤ë¤È <application>Xfce</application>
¤¬Î©¤Á¾å¤¬¤ê¤Þ¤¹¡£
<application>XDM</application>
¤Î¤è¤¦¤Ê¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
<link linkend="x11-wm-gnome">GNOME</link>
¤Î¥»¥¯¥·¥ç¥ó¤Ë½ñ¤¤¤Æ¤¢¤ë¤è¤¦¤Ë
<filename>.xsession</filename> ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢
<filename>/usr/local/bin/startxfce4</filename>
¤òµ¯Æ°¤¹¤ë¤è¤¦¤ËÄɲä·¤Þ¤¹¡£
¤Þ¤¿¤Ï <link linkend="x11-wm-kde-kdm">KDM</link>
¤Î¥»¥¯¥·¥ç¥ó¤Ë¤¢¤ë¤è¤¦¤Ë¡¢
¥í¥°¥¤¥ó»þ¤Ë¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã¤«¤é¥Ç¥¹¥¯¥È¥Ã¥×´Ä¶­¤òÁªÂò¤Ç¤­¤ë¤è¤¦¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£</para>
</sect3>
</sect2>
</sect1>
</chapter>
Index: projects/zfsupdate-201307/ja_JP.eucJP/htdocs/projects/Makefile
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/htdocs/projects/Makefile (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/htdocs/projects/Makefile (revision 42804)
@@ -1,35 +1,35 @@
# $FreeBSD$
# The FreeBSD Japanese Documentation Project
-# Original revision: r42073
+# Original revision: r42778
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS= projects.xml
DOCS+= newbies.xml
DOCS+= cvsweb.xml
#DOCS+= summerofcode.xml
#DOCS+= summerofcode-2005.xml
#DOCS+= summerofcode-2006.xml
#DOCS+= summerofcode-2007.xml
#DOCS+= summerofcode-2008.xml
#DATA= 2009-freebsd-gsoc-thumbnail.jpg
#DATA+= 2009-freebsd-gsoc.pdf
#DATA+= 2010-freebsd-gsoc-thumbnail.jpg
#DATA+= 2010-freebsd-gsoc.pdf
#DATA+= 2011-freebsd-gsoc-thumbnail.jpg
#DATA+= 2011-freebsd-gsoc.pdf
#DATA+= 2013-freebsd-gsoc-thumbnail.jpg
#DATA+= 2013-freebsd-gsoc.pdf
INDEXLINK= projects.html
-#SUBDIR= acpi busdma c99 ideas mips netperf
+#SUBDIR= acpi busdma ideas mips netperf
SUBDIR= mips
.include "${DOC_PREFIX}/share/mk/web.site.mk"
Index: projects/zfsupdate-201307/ja_JP.eucJP/htdocs/projects/projects.xml
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/htdocs/projects/projects.xml (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/htdocs/projects/projects.xml (revision 42804)
@@ -1,369 +1,359 @@
<?xml version="1.0" encoding="euc-jp"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD ³«È¯¥×¥í¥¸¥§¥¯¥È">
<!ENTITY url.articles "&enbase;/doc/en_US.ISO8859-1/articles">
<!ENTITY url.books "&enbase;/doc/en_US.ISO8859-1/books">
]>
<!-- $FreeBSD$ -->
<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: r42074 -->
+<!-- Original revision: r42780 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<a name="development"></a>
<p>FreeBSD ¤Î¼çÍפÊή¤ì¤È¤Ï¤Þ¤¿Ê̤ˡ¢Â¿¤¯¤Î³«È¯¥°¥ë¡¼¥×¤¬
FreeBSD ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÈϰϤò¿·¤·¤¤Êý¸þ¤Ç³ÈÂ礹¤ë¤¿¤á¤Ëºî¶È¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
²¼¤Î¥ê¥ó¥¯¤ò¤¿¤É¤ë¤È¡¢
¤½¤ì¤é¤Î¤ï¤¯¤ï¤¯¤¹¤ë¤è¤¦¤Ê¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤â¤Ã¤ÈÃΤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£</p>
¤³¤³¤ËºÜ¤Ã¤Æ¤¤¤Ê¤¤¥×¥í¥¸¥§¥¯¥È¤Ëµ¤¤Å¤¤¤¿¤é¡¢URL ¤Èû¤¤ (3¡Á10 ¹ÔÄøÅÙ)
¾Ò²ðʸ¤ò (±Ñ¸ì¤Ç) Á÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£°¸Àè¤Ï
<a href="../mailto.html">www@FreeBSD.org</a> ¤Ç¤¹¡£
<p>¤Þ¤¿¡¢¤¤¤¯¤Ä¤«¤Î¥×¥í¥¸¥§¥¯¥È¤ÏÄê´üŪ¤Ë¿ÊĽ¥ì¥Ý¡¼¥È¤òÄó½Ð¤·¤Æ¤¤¤Þ¤¹¡£
¾Ü¤·¤¯¤Ï <a href="&enbase;/news/status/status.html">¿ÊĽ¥ì¥Ý¡¼¥È¤Î¥Ú¡¼¥¸</a>
¤ò¤´Í÷²¼¤µ¤¤¡£</p>
<ul>
<li><a href="#documentation">¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó</a></li>
<li><a href="&enbase;/advocacy/index.html">ÀëÅÁ³èư</a></li>
<li><a href="#applications">¥¢¥×¥ê¥±¡¼¥·¥ç¥ó</a></li>
<li><a href="#networking">¥Í¥Ã¥È¥ï¡¼¥¯</a></li>
<li><a href="#storage">¥¹¥È¥ì¡¼¥¸</a></li>
<li><a href="#kernelandsecurity">¥«¡¼¥Í¥ë¡¢¥»¥­¥å¥ê¥Æ¥£</a></li>
<li><a href="#devicedrivers">¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð</a></li>
<li><a href="#architecture">¥¢¡¼¥­¥Æ¥¯¥Á¥ã</a></li>
<li><a href="#misc">¤½¤Î¾</a></li>
<li><a href="&enbase;/projects/summerofcode.html">Google Summer of Code</a></li>
</ul>
<p/>
<a name="documentation"></a>
<h3>¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó</h3>
<ul>
<li><a href="../docproj/docproj.html">
FreeBSD ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È</a>:
FreeBSD ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤Ï
FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Î°Ù¤Ë¡¢¥É¥­¥å¥á¥ó¥È (FAQ ¤ä¥Ï¥ó¥É¥Ö¥Ã¥¯¤Ê¤É)
¤òÀ°È÷¤·¤¿¤ê¼¹É®¤·¤Æ¤¤¤Þ¤¹¡£
¤â¤·¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤ò¼êÅÁ¤¤¤¿¤¤¤Ê¤é
freebsd-doc@FreeBSD.org ¤ò¹ØÆÉ¤·¤Æ»²²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£</li>
<li><a name="newbies" href="newbies.html">
½é¿´¼Ô¤Î¤¿¤á¤Î FreeBSD ¤Ë´Ø¤¹¤ë¾ðÊó</a>:
FreeBSD ¤È &unix; ¤ò»È¤¤»Ï¤á¤¿¿Í¤ËÌòΩ¤Ä°ìÈÌŪ¤Ê¾ðÊó¤Î¥ê¥¹¥È¤Ç¤¹¡£</li>
<li><a name="diary" href="http://www.freebsddiary.org/">
FreeBSD Diary</a>: UNIX ½é¿´¼Ô¸þ¤±¤Î¥Ï¥¦¥Ä¡¼¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ç¤¹¡£
ÌÜŪ¤Ï¤µ¤Þ¤¶¤Þ¤Ê ports ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤äÀßÄê¤Î step-by-step
¥¬¥¤¥É¤òÄ󶡤¹¤ë¤³¤È¤Ç¤¹¡£</li>
<li><a href="&url.books;/developers-handbook/index.html">
FreeBSD ³«È¯¼Ô¤Î¤¿¤á¤Î¥Ï¥ó¥É¥Ö¥Ã¥¯</a></li>
<li><a href="&url.articles;/contributing-ports/index.html">
FreeBSD Ports Collection ¤Ø¤Î¹×¸¥</a></li>
</ul>
<a name="applications"></a>
<h3>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó</h3>
<ul>
<li><a name="java" href="../java/index.html">&java; on FreeBSD</a>:
ºÇ¿·¤Î FreeBSD ÍÑ &jdk; ¤ÎÆþ¼êÀè¡¢¥¤¥ó¥¹¥È¡¼¥ë¤È¼Â¹ÔÊýË¡¡¢Ì¥ÎÏŪ¤Ê
&java; ¥½¥Õ¥È¥¦¥§¥¢¤Î¥ê¥¹¥È¤Ê¤É¤¬¤Þ¤È¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£</li>
<li><a name="gnome" href="&enbase;/gnome/index.html">GNOME on FreeBSD</a>:
ºÇ¿·¤Î FreeBSD ÈÇ GNOME ¤ÎÆþ¼ê¡¢¥¤¥ó¥¹¥È¡¼¥ë¡¢¼Â¹ÔÊýË¡¡¢
¥×¥í¥¸¥§¥¯¥È¤ÎºÇ¿·¥Ë¥å¡¼¥¹¤ä¶á¶·¡¢GNOME ¤Ë¤ª¤±¤ë FreeBSD ÆÃÍ­¤Î FAQ¡¢
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î°Ü¿¢¥¬¥¤¥É¥é¥¤¥ó¤Ê¤É¤Î¡¢¤µ¤Þ¤¶¤Þ¤ÊÏÃÂ꤬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£</li>
<li><a name="kde" href="http://freebsd.kde.org">KDE on
FreeBSD</a>: ºÇ¿·¤Î FreeBSD ÈÇ KDE ¤Î¥ê¥ê¡¼¥¹¤ä¡¢
¤É¤¦¤ä¤Ã¤Æ FreeBSD ¤Ë KDE
¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤ÆÆ°ºî¤µ¤»¤ë¤«¤Ë¤Ä¤¤¤Æ¤Îʸ½ñ¤ä¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ø¤Î¥ê¥ó¥¯¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
¥×¥í¥¸¥§¥¯¥È¤Î¥Ë¥å¡¼¥¹¤ä¡¢FreeBSD ÆÃÍ­¤Î FAQ ¤âÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£</li>
<li><a name="mono" href="http://www.mono-project.com/Mono:FreeBSD">
Mono on FreeBSD</a>:
FreeBSD ¤Ë¤ª¤±¤ë Mono ¤ª¤è¤Ó C# ¤Î¾õ¶·¤Ë¤Ä¤¤¤ÆÃΤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£</li>
<li><a name="openoffice" href="http://porting.openoffice.org/freebsd/">
OpenOffice.org on FreeBSD</a>:
OpenOffice.org ports ¤Ë¤Ä¤¤¤Æ¤Î¾ðÊ󤬤¢¤ê¤Þ¤¹¡£</li>
<li><a href="../ports/index.html">FreeBSD Ports Collection</a>:
FreeBSD Ports Collection ¤Ï¡¢
Éý¹­¤¤¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºÇÄã¸Â¤ÎÅØÎϤǥ¤¥ó¥¹¥È¡¼¥ë¤¹¤ë°Ù¤Î´Êñ¤Ê¼êÃʤòÄ󶡤·¤Þ¤¹¡£
¸¡º÷µ¡Ç½Éդθ½ºß¤Î ports ¤Î¥ê¥¹¥È¤¬ÍøÍѲÄǽ¤Ç¡¢
ÆÃÄê¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ Ports Collection
¤Ë¸ºß¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</li>
<li><a href="http://people.FreeBSD.org/~fenner/portsurvey/">FreeBSD Ports distfiles ¤ÎÄ´ºº</a>:
distfile ¤ò¼èÆÀ¤Ç¤­¤Ê¤¤ Ports Collection ¤òÄ´ºº¤·¡¢
³Æ ports ¤Ë¤Ä¤¤¤Æ¤Þ¤È¤á¤ÆÊó¹ð¤¹¤ë¥ê¥¹¥È¤Ç¤¹¡£</li>
<li><a href="http://FreshPorts.org/">FreshPorts</a>: ºÇ¿·¤Î ports
¤È¤½¤ÎÊѹ¹ÅÀ¤Î°ìÍ÷¤òÄ󶡤·¤Þ¤¹¡£¤ª¹¥¤ß¤Î ports ¤ò´Æ»ë¥ê¥¹¥È¤ËÅÐÏ¿¤·¤Æ¡¢
¤Ê¤Ë¤«Êѹ¹¤¬¤¢¤Ã¤¿¤È¤­¤Ë¥á¡¼¥ë¤ÇÏ¢Íí¤ò¤â¤é¤¤¤Þ¤·¤ç¤¦¡£</li>
<li><a href="http://pointyhat.FreeBSD.org/">Pointyhat</a>:
Ports Collection ¤òÄ´ºº¤·¡¢³Æ port ¤Î package
¹½ÃÛ¥í¥°¤ä¥¨¥é¡¼¥í¥°¤òÊÝ»ý¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¤Ç¤¹¡£</li>
</ul>
<a name="networking"></a>
<h3>¥Í¥Ã¥È¥ï¡¼¥¯</h3>
<ul>
<li><a name="netperf" href="&enbase;/projects/netperf/index.html">Netperf</a>:
FreeBSD 5.x ¤ª¤è¤Ó 6.x
¥«¡¼¥Í¥ë¤ËÂФ¹¤ë¥Í¥Ã¥È¥ï¡¼¥¯¥¹¥¿¥Ã¥¯ºÇŬ²½¤Î¥×¥í¥¸¥§¥¯¥È¤Ç¡¢
FreeBSD 5.3 ¤Ë¤ª¤±¤ë SMPng ¥Í¥Ã¥È¥ï¡¼¥¯¥¹¥¿¥Ã¥¯¤Î¥í¥Ã¥¯ºî¶È¤Ë³¤¤¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ï¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¥Í¥Ã¥È¥ï¡¼¥¯¥¹¥¿¥Ã¥¯¤Ë´Ø¤¹¤ëºÇŬ²½¤ÎÀïά¤Ë¤Ä¤¤¤Æ¸¦µæ¤È¼ÂÁõ¤ò¤ª¤³¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£</li>
<li><a name="kame" href="http://www.kame.net/">KAME ¥×¥í¥¸¥§¥¯¥È</a>: BSD ÍѤΠIPv6/IPsec ¥¹¥¿¥Ã¥¯</li>
<li><a name="SYSLOG-SECURE" href="http://www.faqs.org/rfcs/rfc3164.html">SYSLOG-SECURE</a>:
2001 ǯ 8 ·î¤Ë¡¢syslog ¤¬ RFC3164 ¤Ë¤è¤Ã¤ÆÉ¸½à²½¤µ¤ì¤Þ¤·¤¿¡£
¤³¤Î RFC ¤Ë¤Ï¡¢syslog ¤Ë¥»¥­¥å¥ê¥Æ¥£¤òÄɲ乤뤿¤á¤Î³ÈÄ¥¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ï 2002 ǯ¤Ë»Ï¤Þ¤ê¡¢FreeBSD ¤Î syslog ¤ò RFC3164 ¤Ë½àµò¤µ¤»¡¢
¤¤¤¯¤Ä¤«¤Î¥»¥­¥å¥ê¥Æ¥£³ÈÄ¥¡¢ºÇÄã¤Ç¤â syslog-sign ¤òÄɲ乤뤳¤È¤òÌÜŪ¤È¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ë¤Ï¡¢libc ¤È syslogd ¤ÎξÊý¤Ë½¤Àµ¤¬É¬Íפˤʤë¤Ç¤·¤ç¤¦¡£
¤Þ¤¿¡¢¥»¥­¥å¥ê¥Æ¥£µ¡Ç½¤Î¸¡¾Ú/´ÉÍýÍѤΥġ¼¥ë¤â¤¤¤¯¤Ä¤«ºîÀ®¤¹¤ëͽÄê¤Ç¤¹¡£
¶¨ÎϤòÊç½¸Ãæ¤Ç¤¹¡£Ì䤤¹ç¤ï¤»¤Ï albert@ons-huis.net
¤Þ¤ÇÅŻҥ᡼¥ë¤Ç¤ª´ê¤¤¤·¤Þ¤¹¡£</li>
</ul>
<a name="storage"></a>
<h3>¥¹¥È¥ì¡¼¥¸</h3>
<ul>
<li><a name="afs" href="http://www.stacken.kth.se/projekt/arla/">Arla</a>:
¥Õ¥ê¡¼¤Î AFS ¥¯¥é¥¤¥¢¥ó¥È¤Î¼ÂÁõ¤Ç¤¹¡£¼çÌÜɸ¤ÏÄ̾ï¤Î AFS
¤Î¤¹¤Ù¤Æ¤ÎǽÎϤò»ý¤Ä´°Á´¤Ëµ¡Ç½Åª¤Ê¥¯¥é¥¤¥¢¥ó¥È¤òºî¤ë¤³¤È¤Ë¤¢¤ê¤Þ¤¹¡£
¾¤Ë·×²è¤µ¤ì¤¿¤ê¼ÂÁõ¤µ¤ì¤¿¤â¤Î¤È¤·¤Æ¤ÏÄ̾ï¤Î´ÉÍý¥Ä¡¼¥ë¤È¥µ¡¼¥Ð¤Î¤¹¤Ù¤Æ¤¬¤¢¤ê¤Þ¤¹¡£</li>
<li><a name="coda" href="http://www.coda.cs.cmu.edu/">Coda</a>:
ʬ»¶¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤¹¡£
¤½¤Îµ¡Ç½¤ÎÃæ¤Ë¤ÏÀÚÃÇ»þ¤ÎÁàºî¤äÍ¥¤ì¤¿¥»¥­¥å¥ê¥Æ¥£¥â¥Ç¥ë¡¢¥µ¡¼¥Ð¤Ç¤ÎÊ£À½¡¢
»ý³À­¥¯¥é¥¤¥¢¥ó¥È¦¥­¥ã¥Ã¥·¥å¤¬´Þ¤Þ¤ì¤Þ¤¹¡£</li>
<li><a name="journaling" href="http://www.ece.cmu.edu/~ganger/papers/">
¥¸¥ã¡¼¥Ê¥ê¥ó¥°¤È Soft Updates ¤ÎÈæ³Ó</a>:
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤ª¤±¤ëÈ󯱴ü¥á¥¿¥Ç¡¼¥¿Êݸî¤Î¼êË¡¡£</li>
<li><a name="Tertiary" href="http://now.cs.berkeley.edu/Td/">Tertiary Disk</a>:
¥«¥¹¥¿¥à¥Ó¥ë¥É¤ÎÉÔÍø¤òʧ¿¡¤¹¤ëµðÂç¥Ç¥£¥¹¥¯¥¹¥È¥ì¡¼¥¸¥·¥¹¥Æ¥à¤òºî¤ë¥¹¥È¥ì¡¼¥¸¥·¥¹¥Æ¥à¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤¹¡£
̾Á°¤Ï¥Æ¡¼¥×¥é¥¤¥Ö¥é¥ê¤Î¥á¥¬¥Ð¥¤¥ÈÅö¤ê¤Î¥³¥¹¥È¤È¥­¥ã¥Ñ¥·¥Æ¥£¤òÆÀ¤ë¤³¤È¤È¼§µ¤¥Ç¥£¥¹¥¯¤ÎÀ­Ç½¤òÆÀ¤ë¤È¤¤¤¦ÁлҤΥ´¡¼¥ë¤ËͳÍ褷¤Þ¤¹¡£
»ä¤¿¤Á¤Ï¥¹¥±¡¼¥é¥Ö¥ë¤ÇÄ㥳¥¹¥È¤Ê¥Æ¥é¥Ð¥¤¥Èµé¤ÎÍÆÎ̤ò»ý¤Ä¥Ç¥£¥¹¥¯¥·¥¹¥Æ¥à¤ò³«È¯¤¹¤ë¤¿¤á¤ËÆü¾ïŪ¤Ë¤¹¤°¤ËÇ㤨¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£
²æ¡¹¤ÎÌÜɸ¤ÏÀ¸¥Ç¥£¥¹¥¯¤ËÂФ·¤Æ 30 ¤«¤é 50%
¤Û¤É;ʬ¤Ë¥³¥¹¥È¤òʧ¤¦¤³¤È¤Ç´°Á´¤Ê¥¹¥È¥ì¡¼¥¸¥·¥¹¥Æ¥à¤òºî¤ë¤³¤È¤Ç¤¹¡£
Tertiary Disk ¤ÏÂçÎ̤Υǥ£¥¹¥¯¤òÄ󶡤¹¤ë¤¿¤á¤Ë¥¹¥¤¥Ã¥Á¤µ¤ì¤¿¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¤Ä¤Ê¤¬¤Ã¤Æ¤ë
PC ¤ò»È¤¤¤Þ¤¹¡£²æ¡¹¤Î½é¹æµ¡¤Ï 200MHz ¤Î PC 20 ¸Ä¤Ç¹½À®¤µ¤ì¡¢
370 ¸Ä¤Î 8GB ¤Î¥Ç¥£¥¹¥¯¤ò»ý¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
PC ¤Ï 100MBps ¤Î¥¤¡¼¥µ¥Í¥Ã¥È¥¹¥¤¥Ã¥Á¤ÇÁê¸ß¤ËÀܳ¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¡£</li>
<li><a name="vinum" href="http://www.vinumvm.org/">Vinum</a>:
VERITAS ¥Ü¥ê¥å¡¼¥à¥Þ¥Í¡¼¥¸¥ã&trade;
¤ò¤ª¼êËܤˤ·¤ÆÀ߷פµ¤ì¤¿ÏÀÍý¥Ü¥ê¥å¡¼¥à¥Þ¥Í¡¼¥¸¥ã¤Ç¤¹¡£
¤·¤«¤·¤Ê¤¬¤é Veritas ¤Î¥¯¥í¡¼¥ó¤Ç¤Ï¤Ê¤¯¡¢
¤¿¤¯¤µ¤ó¤ÎÌäÂê¤ò Veritas ¤è¤êÍ¥²í¤Ë²ò·è¤·¤è¤¦¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£
Veritas ¤Ë¤Ê¤¤µ¡Ç½¤âÄ󶡤·¤Æ¤¤¤Þ¤¹¡£</li>
-
- <li><a name="PathConvert" href="http://www.tamacom.com/pathconvert/">
- PathConvert ¥×¥í¥¸¥§¥¯¥È</a>:
- ÀäÂХѥ¹Ì¾¤ÈÁêÂХѥ¹Ì¾¤òÊÑ´¹¤¹¤ë¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò³«È¯¤¹¤ëͽÄê¤Ç¤¹¡£
- ¤³¤ì¤Ï¼ç¤È¤·¤Æ NFS ¤ä WWW ¤Î¥æ¡¼¥¶¤Ë²¸·Ã¤òÍ¿¤¨¤Þ¤¹¡£</li>
</ul>
<a name="kernelandsecurity"></a>
<h3>¥«¡¼¥Í¥ë¡¢¥»¥­¥å¥ê¥Æ¥£</h3>
<ul>
<li><a name="openbsm" href="http://www.OpenBSM.org/">OpenBSM</a>:
Sun ¤Î Basic Security Module (BSM) Audit API
¤ª¤è¤Ó¥Õ¥¡¥¤¥ë·Á¼°¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ê¼ÂÁõ¤Ç¤¹¡£
OpenBSM ¤Ï¡¢
TrustedBSD ¤Ë¤ª¤±¤ë´Æºº¤Î¼ÂÁõ¤ËÂФ·¤Æ¡¢
¥æ¡¼¥¶¥é¥ó¥É¤Î¥é¥¤¥Ö¥é¥ê¡¢¥Ä¡¼¥ë¤ª¤è¤Ó¥É¥­¥å¥á¥ó¥È¤òÄ󶡤·¤Þ¤¹¡£
¤³¤Î¼ÂÁõ¤Ï FreeBSD ¤ËÅý¹ç¤µ¤ì¤ëͽÄê¤Ç¤¹¡£</li>
<li><a name="trustedbsd" href="http://www.TrustedBSD.org/">TrustedBSD</a>:
FreeBSD ¤ò¹â¿®ÍêÀ­¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤¹¤ë³ÈÄ¥µ¡Ç½½¸¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ë¤ÏÎ㤨¤Ð¡¢¤­¤áºÙ¤«¤¤ÆÃ¸¢ (¥±¥¤¥Ñ¥Ó¥ê¥Æ¥£)¡¢
¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¥ê¥¹¥È (ACL)¡¢¶¯À©¥¢¥¯¥»¥¹À©¸æ (MAC)
¤Ê¤É¤Îµ¡Ç½¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Îµ¡Ç½¤Ï FreeBSD ¤ËÅý¹ç¤µ¤ì¤ë¤À¤±¤Ç¤Ê¤¯¡¢
¾¤Î BSD ͳÍè¤Î¥·¥¹¥Æ¥àÍѤؤΰܿ¢¤â¿Ê¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£</li>
<li><a name="kernelstresstest"
href="http://www.holm.cc/stress/">Kernel Stress Test Suite</a>:
¤³¤Î¹âÉé²Ù¥Æ¥¹¥È¤ÎÌÜŪ¤Ï¥·¥¹¥Æ¥à¤ò¥¯¥é¥Ã¥·¥å¤µ¤»¤ë¤³¤È¤Ç¤¹¡£
¤³¤Î¥¹¥È¥ì¥¹¥Æ¥¹¥È¤Ï¾®¤µ¤Ê¥Æ¥¹¥È¥×¥í¥°¥é¥à¤È¥¹¥¯¥ê¥×¥È¤«¤é¹½À®¤µ¤ì¤Þ¤¹¡£
¤½¤ì¤¾¤ì¤Î¥Æ¥¹¥È¤Ï¡¢¤½¤ì¤¾¤ì¥«¡¼¥Í¥ë¤ÎÆÃÄê¤Î¥¨¥ê¥¢¤ò¥¿¡¼¥²¥Ã¥È¤È¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥Æ¥¹¥È¥¹¥£¡¼¥È¤Î¥­¡¼¥³¥ó¥»¥×¥È¤Ï¥«¥ª¥¹¤Ç¤¹¡£
¤½¤ì¤¾¤ì¤Î¥Æ¥¹¥È¤Ï¥é¥ó¥À¥à¤Ê»þ´ÖµÙ»ß¤·¡¢¤½¤Î¸å¡¢¥é¥ó¥À¥à¤Ê²ó¿ô¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£</li>
</ul>
<a name="devicedrivers"></a>
<h3>¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð</h3>
<ul>
<li><a name="busdma" href="&enbase;/projects/busdma/index.html">busdma
¤ª¤è¤Ó SMPng ¥É¥é¥¤¥Ð¤Î½ñ¤­´¹¤¨</a>:
busdma ¤Ï¡¢¹âµ¡Ç½¤Ê¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Î¿¤¯¤Ç»ÈÍѤµ¤ì¤ë¡¢
¥À¥¤¥ì¥¯¥È¥á¥â¥ê¥¢¥¯¥»¥¹ (DMA) ¤Ë¤è¤ë¥Ï¡¼¥É¥¦¥§¥¢Áàºî¤ò¹Ô¤Ê¤¦¤¿¤á¤Î¡¢
°Ü¿¢À­¤Î¹â¤¤Ãê¾ÝŪ¤Ê¼êÃʤòÄ󶡤·¤Þ¤¹¡£
¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Îºî¼Ô¤Ï busdma ¤ò»È¤¦¤³¤È¤Ç¡¢¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ë°Í¸¤¹¤ë
DMA ´ÉÍý¥³¡¼¥É¤òÄɲ乤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¡¢
¥Ï¡¼¥É¥¦¥§¥¢¥¢¡¼¥­¥Æ¥¯¥Á¥ã´Ö¤Î°Ü¿¢À­¤ò¸þ¾å¤µ¤»¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Þ¤¿¡¢¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï¥É¥é¥¤¥Ð¤ò SMPng
¤Î¥³¡¼¥É¤Ç°ÂÁ´¤Ëưºî¤¹¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Î½ñ¤­´¹¤¨ºî¶È¤Î¿ÊĽ¤â¸ø³«¤·¤Æ¤¤¤Þ¤¹¡£</li>
<li><a name="deviceframework" href="http://people.FreeBSD.org/~dfr/devices.html">
FreeBSD ÍѥǥХ¤¥¹¤Î¿·¤·¤¤ÏÈÁȤß</a></li>
<li><a name="atm" href="http://chuck.cranor.org/p/bsdatm.pdf"> BSD ATM: 4.4BSD ¤Ç¤Î ATM ¤Ë¤è¤ë¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥ï¡¼¥¯¤Î¼ÂÁõ</a>:
¥Þ¥ë¥Á¥á¥Ç¥£¥¢¤ä¥¤¥á¡¼¥¸½èÍý¡¢
ʬ»¶¥³¥ó¥Ô¥å¡¼¥Æ¥£¥ó¥°Åù¤È¤¤¤Ã¤¿¿·¤·¤¤¥³¥ó¥Ô¥å¡¼¥¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¥³¥ó¥Ô¥å¡¼¥¿¥Í¥Ã¥È¥ï¡¼¥¯¤Î¹â¤¤À­Ç½¤Ë°Í¸¤·¤Þ¤¹¡£
ATM ¥Ù¡¼¥¹¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥½¥ê¥å¡¼¥·¥ç¥ó¤Ï¤³¤ì¤é¤ÎÀ­Ç½Í×µá¤òËþ­¤µ¤»¤ë°ì¤Ä¤Î¼êÃʤòÄ󶡤·¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¥¤¡¼¥µ¥Í¥Ã¥È¤Ê¤É¤Î½¾Íè¤Î¥Í¥Ã¥È¥ï¡¼¥¯¾å¤Î ATM
¤ÎÊ£»¨¤µ¤Ï¤½¤ì¤¬»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ë¾å¤Ç¾ã³²¤È¤Ê¤ë¤³¤È¤¬È½¤Ã¤Æ¤¤¤Þ¤¹¡£
¤³¤Îʸ½ñ¤Ç¤Ï BSD ATM ¤Î¥Ç¥¶¥¤¥ó¤È¼ÂÁõ¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ï BSD ¥Ù¡¼¥¹¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥àÍѤηÚÎ̤«¤Äͭǽ¤Ê
ATM ¥½¥Õ¥È¥¦¥§¥¢Áؤǡ¢
ɬÍפʥª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ø¤ÎÊѹ¹¤ÏºÇ¾®¸Â¤Ç¤¹¡£
BSD ATM ¤Ï IP ¥Ù¡¼¥¹¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥È¥é¥Õ¥£¥Ã¥¯¤È¤·¤Æ¤â¡Ö¥Í¥¤¥Æ¥£¥Ö¡×¤Ê
ATM ¤È¤·¤Æ¤â»È¤¨¤Þ¤¹¡£</li>
<li><a name="homeauto" href="http://people.FreeBSD.org/~fsmp/HomeAuto/HomeAuto.html">²ÈÄí¤Ç¤Î¼«Æ°²½</a>:
´ï¶ñ¥³¥ó¥È¥í¡¼¥é¡¢ÀÖ³°Àþ¥³¥ó¥È¥í¡¼¥é¡¢
¼«Æ°²½¤µ¤ì¤¿ÅÅÏÃ¥·¥¹¥Æ¥àÅù¡¹¤ò FreeBSD ¤Ç¡£</li>
<li><a name="tokenring" href="http://www.jurai.net/~winter/tr/">FreeBSD ¥È¡¼¥¯¥ó¥ê¥ó¥°¥×¥í¥¸¥§¥¯¥È</a>:
¥È¡¼¥¯¥ó¥ê¥ó¥°Âбþ¤ò FreeBSD
¤ËÄɲ乤ë¤Ë¤¢¤¿¤Ã¤Æ¤Î¾ðÊó¡¢¥Õ¥¡¥¤¥ë¡¢¥Ñ¥Ã¥Á¡¢¥É¥­¥å¥á¥ó¥È¡£</li>
<li><a name="xircomcem">Xircom CEM ¥¤¡¼¥µ¥Í¥Ã¥È¥É¥é¥¤¥Ð</a>:
Scott Mitchell ¤Î Xircom CEM
¥¤¡¼¥µ¥Í¥Ã¥È¥É¥é¥¤¥Ð¤Î³«È¯¤ò½õ¤±¤ë¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤¬¤¢¤ê¤Þ¤¹¡£»²²Ã¤¹¤ë¤Ë¤Ï
<tt>subscribe freebsd-xircom</tt> ¤È <a
href="mailto:majordomo@lovett.com">majordomo@lovett.com</a>
¤ËÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£</li>
</ul>
<a name="architecture"></a>
<h3>¥¢¡¼¥­¥Æ¥¯¥Á¥ã</h3>
<ul>
<li><a name="ia64" href="&base;/platforms/ia64/index.html">
FreeBSD ¤Î IA-64 ¥·¥¹¥Æ¥à¤Ø¤Î°Ü¿¢</a>:
¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ï IA-64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ø¤Î FreeBSD ¤Î°Ü¿¢ºî¶È¤òôÅö¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ë´Ø¤¹¤ë¼ÁÌä¤Ï¡¢
freebsd-ia64@FreeBSD.org ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Þ¤Ç¤ª´ê¤¤¤·¤Þ¤¹¡£</li>
<li><a name="ppc" href="&base;/platforms/ppc.html">
FreeBSD ¤Î PowerPC&reg; ¥·¥¹¥Æ¥à¤Ø¤Î°Ü¿¢</a>:
FreeBSD PPC ÈǤ˴ؤ¹¤ë¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ê¤É¤Î¾ðÊ󤬤¢¤ê¤Þ¤¹¡£</li>
<li><a name="sparc" href="&base;/platforms/sparc.html">
FreeBSD ¤Î SPARC&reg; ¥·¥¹¥Æ¥à¤Ø¤Î°Ü¿¢</a>:
FreeBSD SPARC ÈǤ˴ؤ¹¤ë FAQ¡¢½é´üÈǵ¯Æ°¥³¡¼¥É¡¢SPARC
¥×¥í¥»¥Ã¥µ¤È¥Þ¥¶¡¼¥Ü¡¼¥É¾ðÊó¤ä¡¢¤½¤Î¾¤Î
SPARC ¥×¥í¥¸¥§¥¯¥È¤Ë´Ø¤¹¤ë¾ðÊ󤬤¢¤ê¤Þ¤¹¡£</li>
<li><a name="sysvr4" href="http://slash.dotat.org/~newton/freebsd-svr4/">
SysVR4 ¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó</a>: ¤³¤Î¥Ú¡¼¥¸¤Ï FreeBSD ¤Î SysVR4
¥¨¥ß¥å¥ì¡¼¥¿¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¸½ºß¤Ç¤â
Solaris&trade;/x86 2.5.1 ¤È 2.6 ¤ÇºÎÍѤµ¤ì¤¿
SysV ¼Â¹Ô·Á¼°¤ÎÉý¤Î¹­¤¬¤Ã¤¿¥Ð¥ê¥¨¡¼¥·¥ç¥ó¤òÁö¤é¤»¤é¤ì¤Þ¤¹
(Ê⤫¤»¤é¤ì¤Þ¤¹¡¢¤Ç¤â¤¤¤¤¤Ç¤¹¤±¤É)¡£
SCO UnixWare ¤È SCO OpenServer ¤Î¥Ð¥¤¥Ê¥ê¤â¤³¤Î¾å¤Ç¼Â¹Ô¤Ç¤­¤ë¤À¤í¤¦¤È¡¢
»ä¤Ï¿®¤¸¤ëÍýͳ¤¬¤¢¤ê¤Þ¤¹¡£
</li>
<li><a name="oskit" href="http://www.cs.utah.edu/flux/oskit/">OS ¥­¥Ã¥È</a>:
OS ¥­¥Ã¥È¤Ï¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤È 31
¸Ä¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à»Ø¸þ¤Î¥é¥¤¥Ö¥é¥ê¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥»¥Ã¥È¤Ç¡¢
¹­ÈϰϤʥɥ­¥å¥á¥ó¥È¤â´Þ¤ß¤Þ¤¹¡£
°ì¤Ä¤Î OS ¤È¤·¤ÆÉ¬Íפʥ¤¥ó¥Õ¥é¥¹¥È¥é¥¯¥Á¥ã¡Ögrunge¡×¤ÎÂçȾ¤À¤±¤Ç¤Ê¤¯¡¢
¹â°Ì¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¤â¥â¥¸¥å¡¼¥ëÊý¼°¤ÇÄ󶡤¹¤ë¤³¤È¤Ë¤è¤ê¡¢
OS ¥­¥Ã¥È¤Î¥´¡¼¥ë¤Ï R&amp;D OS
¤Ø¤Î¥¨¥ó¥È¥ê¤Î¤è¤êÄ㤤¾ãÊɤȤè¤êÄ㤤¥³¥¹¥È¤È¤Ê¤ë¤Ç¤·¤ç¤¦¡£
OS ¥­¥Ã¥È¤Ï¿·¤·¤¤ OS ¤òºî¤ë¤³¤È¤ä¸½Â¸¤¹¤ë OS ¤ò x86
(¼ã¤·¤¯¤Ï̤Íè¤Ë¤ª¤¤¤Æ¤Ï OS ¥­¥Ã¥È¤ÇÂбþ¤·¤Æ¤¤¤ë¾¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã)
¤Ë°Ü¿¢¤¹¤ë¤³¤È¤ò°µÅÝŪ¤Ë´Êñ¤Ë¤·¡¢OS
¤ò¹­ÈϰϤʥǥХ¤¥¹¤ä¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥Õ¥©¡¼¥Þ¥Ã¥È¤ä¼Â¹Ô·Á¼°¤ä¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤ËÂбþ¤¹¤ë¤è¤¦¤Ë¶¯²½¤·¤Þ¤¹¡£
OS ¥­¥Ã¥È¤Ï¤µ¤é¤Ë¥Ö¡¼¥È¥í¡¼¥À¤ä¥Þ¥¤¥¯¥í¥«¡¼¥Í¥ë¤Ë¤ª¤±¤ë
OS ¥ì¥Ù¥ë¤Î¥µ¡¼¥ÐÅù¤È¸À¤Ã¤¿ OS ¤Ë´Ø·¸¤¹¤ë¥×¥í¥°¥é¥à¤Î¹½ÃۤˤâÌòΩ¤Á¤Þ¤¹¡£</li>
</ul>
<a name="misc"></a>
<h3>¤½¤Î¾</h3>
<ul>
<li><a name="nanobsd" href="&url.articles;/nanobsd/index.html">NanoBSD</a>:
NanoBSD ¤Ï¡¢¤Ç¤­¤ë¤«¤®¤ê¾®¤µ¤Ê FreeBSD
¥·¥¹¥Æ¥à¤Î¥¤¥á¡¼¥¸¤òºîÀ®¤¹¤ë¤¿¤á¤Î¥Ä¡¼¥ë¤Ç¤¹¡£
¥³¥ó¥Ñ¥¯¥È¥Õ¥é¥Ã¥·¥å¥«¡¼¥É (¤Þ¤¿¤Ï¡¢Â¾¤ÎÂçÍÆÎ̤ε­²±ÇÞÂÎ)
¤ËŬ¤·¤Æ¤ª¤ê¡¢
¥¢¥×¥é¥¤¥¢¥ó¥¹ÍÑÅÓ¤ÇÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
FreeBSD ¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥³¥ì¥¯¥·¥ç¥ó¤ÎÃæ¤Ë¤Ï¡¢
<a href="&url.articles;/nanobsd/index.html">article about NanoBSD</a>
¤È¤¤¤¦ NanoBSD ÆþÌç¤Î¤¿¤á¤Îʸ¾Ï¤¬¤¢¤ê¡¢
¤³¤Îʸ¾Ï¤Ë¤Ï¡¢NanoBSD ¤Ë¤Ä¤¤¤Æ¤ÎÀßÄê¡¢
µ¯Æ°¤ª¤è¤Ó»È¤¤Êý¤Ë´Ø¤¹¤ëÍ­ÍÑ¤Ê Tips ¤¬½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£</li>
<li><a name="global" href="http://www.gnu.org/software/global/global.html">GLOBAL</a>:
°Û¤Ê¤Ã¤¿´Ä¶­²¼¤Ç¤âƱ¤¸Æ°ºî¤ò¤¹¤ë¥½¡¼¥¹¥³¡¼¥É¥¿¥°ÉÕ¤±¥·¥¹¥Æ¥à¤Ç¤¹¡£
¸½»þÅÀ¤Ç¤Ï¥·¥§¥ë¥³¥Þ¥ó¥É¥é¥¤¥ó¡¢nvi ¥¨¥Ç¥£¥¿¡¢web ¥Ö¥é¥¦¥¶¡¢
emacs ¥¨¥Ç¥£¥¿, elvis ¥¨¥Ç¥£¥¿¤ËÂбþ¤·¤Æ¤¤¤Æ¡¢
¸À¸ì¤Ï C, Yacc, Java ¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£</li>
<li><a name="acpi"
href="&enbase;/projects/acpi/">ACPI on FreeBSD</a>:
FreeBSD ¤Ç¡¢ACPI ¤ò±ß³ê¤Ëư¤«¤¹¤¿¤á¤Î¥×¥í¥¸¥§¥¯¥È¤Ç¤¹¡£</li>
<li><a name="binup"
href="http://www.daemonology.net/freebsd-update/">Binary
Updater</a>: FreeBSD Update ¤Ï¡¢FreeBSD
ÍѤΥХ¤¥Ê¥ê¥»¥­¥å¥ê¥Æ¥£¥¢¥Ã¥×¥Ç¡¼¥È¤ò¼«Æ°Åª¤Ë¹½ÃÛ¡¢ÇÛÉÛ¡¢
¼èÆÀ¤ª¤è¤ÓŬÍѤ¹¤ë»ÅÁȤߤǤ¹¡£¤³¤ì¤Ë¤è¤Ã¤Æ¡¢FreeBSD ¥»¥­¥å¥ê¥Æ¥£¥Ö¥é¥ó¥Á¤Ë¡¢
¥½¡¼¥¹¥Ä¥ê¡¼¤ò¼èÆÀ¤·¤ÆºÆ¥³¥ó¥Ñ¥¤¥ë¤»¤º¤Ë
(¥¢¥Ã¥×¥Ç¡¼¥È¤ò¹½ÃÛ¤¹¤ë¥Þ¥·¥ó¤Ï¤â¤Á¤í¤óÊ̤Ǥ¹¤¬)¡¢
´Êñ¤ËÄÉ¿ï¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¢¥Ã¥×¥Ç¡¼¥È¤Ï°Å¹æ¤Ç½ð̾¤µ¤ì¤Þ¤¹¡£
¤Þ¤¿¡¢¥Ð¥¤¥Ê¥êº¹Ê¬¥Ä¡¼¥ë¤òÍѤ¤¤Æ¥Ð¥¤¥Ê¥êº¹Ê¬¤È¤·¤ÆÇÛÉÛ¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢
¾ÃÈñ¤¹¤ëÂÓ°è¤ò·àŪ¤Ë¸º¤é¤·¤Þ¤¹¡£</li>
-
- <li><a name="c99" href="&enbase;/projects/c99/index.html">
- FreeBSD C99 &amp; &posix; Ŭ¹ç¥×¥í¥¸¥§¥¯¥È</a>:
- ¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ï ISO 9899:1999 (C99) ɸ½à¤È IEEE 1003.1-2001 POSIX
- ɸ½à¤ÎÍ×µá¤Î¤¹¤Ù¤Æ¤ò¼ÂÁõ¤¹¤ë¤³¤È¤òÌÜŪ¤È¤·¤Æ¤¤¤Þ¤¹¡£</li>
<li><a name="cvsweb" href="cvsweb.html">CVSweb</a>:
CVS ¥ê¥Ý¥¸¥È¥êÍѤΠWWW ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£
¥Ö¥é¥¦¥¶¤ò»È¤Ã¤ÆÈó¾ï¤Ë¼ê·Ú¤ÊÊýË¡¤Ç¥Õ¥¡¥¤¥ë³¬Áؤò±ÜÍ÷¤·¡¢
³Æ¥Õ¥¡¥¤¥ë¤Î½¤ÀµÍúÎò¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</li>
<li><a name="flcl"
href="http://laptop.bsdgroup.de/freebsd/">FreeBSD
¥é¥Ã¥×¥È¥Ã¥×¸ß´¹À­¥ê¥¹¥È</a>: FreeBSD ¤Çưºî¤¹¤ë¥é¥Ã¥×¥È¥Ã¥×¤È
PCMCIA ¥«¡¼¥É¤Î¤ï¤«¤ê¤ä¤¹¤¤¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤¹¡£¤³¤Î¥µ¥¤¥È¤Ë¤Ï¡¢
´ûÃΤΥϡ¼¥É¥¦¥§¥¢¤ª¤è¤Ó¥½¥Õ¥È¥¦¥§¥¢¤ÎÌäÂê¤Î¾ÜºÙ¤Ê¾ðÊó¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£</li>
<li><a name="tetintegration" href="http://wiki.freebsd.org/TetIntegration">TET
Integration</a>: <a
href="http://www.opengroup.org/">The Open Group</a> ¤¬Ä󶡤¹¤ë
Test Execution Toolkit ¤Ï¡¢
¥ª¡¼¥×¥ó¥½¡¼¥¹¤Î·ÚÎ̲½¥Æ¥¹¥È¤Î¼Â¹Ô¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ç¡¢Ê¬»¶¥Æ¥¹¥È¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ï¡¢TET ¤ä TET ¥Ù¡¼¥¹¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹¤Îɸ½à½àµò¥Æ¥¹¥È¥¹¥£¡¼¥È
(VSX-PCTS, VSC-Lite, VSTH-Lite, VSW5 ¤Ê¤É)
¤Î FreeBSD ¤Ë¤ª¤±¤ëÍøÍѤˤĤ¤¤ÆÄ´¤Ù¤Æ¤¤¤Þ¤¹¡£
</li>
</ul>
</body>
</html>
Index: projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/9.2R/Makefile
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/9.2R/Makefile (nonexistent)
+++ projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/9.2R/Makefile (revision 42804)
@@ -0,0 +1,22 @@
+# $FreeBSD$
+# The FreeBSD Japanese Documentation Project
+# Original revision: r42775
+
+.if exists(../Makefile.conf)
+.include "../Makefile.conf"
+.endif
+.if exists(../Makefile.inc)
+.include "../Makefile.inc"
+.endif
+
+DOCS= announce.xml \
+# relnotes.xml \
+# schedule.xml
+
+DATA= docbook.css \
+# errata.html \
+# hardware.html \
+# installation.html \
+# readme.html
+
+.include "${DOC_PREFIX}/share/mk/web.site.mk"
Property changes on: projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/9.2R/Makefile
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Index: projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/9.2R/announce.xml
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/9.2R/announce.xml (nonexistent)
+++ projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/9.2R/announce.xml (revision 42804)
@@ -0,0 +1,347 @@
+<?xml version="1.0" encoding="euc-jp"?>
+<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
+"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
+<!ENTITY title "FreeBSD 9.2-RELEASE ¥¢¥Ê¥¦¥ó¥¹">
+]>
+<!-- The FreeBSD Japanese Documentation Project -->
+<!-- Original revision: r42763 -->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>&title;</title>
+
+ <cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
+ </head>
+
+ <body class="navinclude.download">
+
+ <p>FreeBSD ¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°¥Á¡¼¥à¤è¤ê¡¢
+ FreeBSD 9.2-RELEASE ¤Î¸ø³«¤ò¤ªÃΤ餻¤·¤Þ¤¹¡£
+ ¤³¤ì¤Ï¡¢stable/9 ¥Ö¥é¥ó¥Á¤«¤é¤Î 2 ²óÌܤΥê¥ê¡¼¥¹¤Ç¡¢
+ FreeBSD 9.1 ¤Î°ÂÄêÀ­¤Î²þÁ±¤È¡¢¿·¤¿¤Êµ¡Ç½¤ÎÄɲ䬹Ԥʤï¤ì¤Þ¤·¤¿¡£
+ ¤³¤Î¥ê¥ê¡¼¥¹¤Î¼ç¤ÊÊѹ¹ÅÀ¤Ï¡¢°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£</p>
+
+ <ul>
+ <li><p>ZFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ SSD ¤Î TRIM ¤ËÂбþ¤·¤Þ¤·¤¿¡£</p></li>
+ <li><p>virtio(4) ¥É¥é¥¤¥Ð¤¬¡¢amd64 ¤ª¤è¤Ó i386 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î
+ GENERIC ¥«¡¼¥Í¥ë¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ËÄɲ䵤ì¤Þ¤·¤¿¡£</p></li>
+ <li><p>ZFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ lz4 °µ½Ì¤ËÂбþ¤·¤Þ¤·¤¿¡£</p></li>
+ <li><p>OpenSSL ¤¬ 0.9.8y ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£</p></li>
+ <li><p>GENERIC ¥«¡¼¥Í¥ë¤Ë¤ª¤¤¤Æ¡¢
+ DTrace ¤Î¥Õ¥Ã¥¯¤¬¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤ê¤Þ¤·¤¿¡£</p></li>
+ <li><p>DTrace ¤¬ 1.9.0 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£</p></li>
+ <li><p>Sendmail ¤¬ 8.14.7 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£</p></li>
+ <li><p>OpenSSH ¤¬ 6.2p2 ¤Ë¹¹¿·¤µ¤ì¤Þ¤·¤¿¡£</p></li>
+ <li><p>head/ ¤«¤é unmapped I/O ¤¬¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤Þ¤·¤¿¡£</p></li>
+ </ul>
+
+ <p>¿·µ¡Ç½¤ä´ûÃΤÎÌäÂêÅÀ¤Î°ìÍ÷¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+ °Ê²¼¤«¤é¥ê¥ê¡¼¥¹¥Î¡¼¥È¤äÀµ¸íɽ¤ò¥ª¥ó¥é¥¤¥ó¤Ç¤´Í÷¤¯¤À¤µ¤¤¡£</p>
+
+ <ul>
+ <li><p><tt><a href="http://www.FreeBSD.org/releases/9.2R/relnotes.html">http://www.FreeBSD.org/releases/9.2R/relnotes.html</a></tt></p></li>
+ </ul>
+
+ <p>FreeBSD ¤Î¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°³èư¤Î¾Ü¤·¤¤¾ðÊó¤Ï¡¢</p>
+
+ <ul>
+ <li><p><tt><a href="http://www.FreeBSD.org/releng/">http://www.FreeBSD.org/releng/</a></tt></p></li>
+ </ul>
+
+ <p>¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
+
+ <h2 id="availability">Æþ¼êÊýË¡</h2>
+
+ <p>FreeBSD 9.2-RELEASE ¤Ï¡¢amd64, i386, ia64,
+ powerpc, powerpc64, ¤ª¤è¤Ó sparc64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ÇÍøÍѤǤ­¤Þ¤¹¡£</p>
+
+ <p>FreeBSD 9.2 ¤Ï¡¢µ¯Æ°²Äǽ¤Ê ISO ¥¤¥á¡¼¥¸¡¢
+ ¤â¤·¤¯¤Ï¥Í¥Ã¥È¥ï¡¼¥¯·Ðͳ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£
+ °ìÉô¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Ï
+ USB ¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤ò»È¤Ã¤¿¥¤¥ó¥¹¥È¡¼¥ë¤â²Äǽ¤Ç¤¹¡£
+ ¸å¤Î¾Ï¤ËÀâÌÀ¤¬¤¢¤ë¤è¤¦¤Ë¡¢É¬Íפʥե¡¥¤¥ë¤Ï
+ FTP ·Ðͳ¤Ç¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£
+ ¤¿¤À¤·¡¢µ¬ÌϤµ¤Ê FTP ¥ß¥é¡¼¥µ¥¤¥È¤Ç¤Ï¡¢amd64 ¤ä i386
+ ¤È¤¤¤Ã¤¿¼çÍפʥ¢¡¼¥­¥Æ¥¯¥Á¥ãÍѤÎÇÛÉÛʪ¤À¤±¤¬ÃÖ¤«¤ì¤Æ¤¤¤Æ¡¢
+ ¤¹¤Ù¤Æ¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ÎÇÛÉÛʪ¤ÏÃÖ¤«¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤â¤¢¤ê¤Þ¤¹¡£</p>
+
+ <p>¥ê¥ê¡¼¥¹ ISO ¥¤¥á¡¼¥¸¤È¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯¤Î
+ MD5 ¤ª¤è¤Ó SHA256 ¥Ï¥Ã¥·¥åÃͤϡ¢¤³¤Î¥¢¥Ê¥¦¥ó¥¹¤ÎºÇ¸å¤Ë¤¢¤ê¤Þ¤¹¡£</p>
+
+ <p>¥ê¥ê¡¼¥¹¤Ë¤ª¤¤¤ÆÍѰդµ¤ì¤ë³Æ¥¤¥á¡¼¥¸¤ÎÍÑÅӤϰʲ¼¤Î¤È¤ª¤ê¤Ç¤¹¡£</p>
+
+ <dl>
+ <dt>dvd1</dt>
+
+ <dd><p>FreeBSD ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥Ù¡¼¥¹¥·¥¹¥Æ¥à¡¢
+ ¥É¥­¥å¥á¥ó¥È¡¢¤ª¤è¤Ó¥°¥é¥Õ¥£¥«¥ë¤Ê¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥ó¤ò¹½ÃÛ¤·¡¢
+ µ¯Æ°¤¹¤ë¤¿¤á¤Î package
+ ¥»¥Ã¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤ËɬÍפʤâ¤Î¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£
+ "livefs"¡¡¥Ù¡¼¥¹¤Î¥ì¥¹¥­¥å¡¼¥â¡¼¥É¤Çµ¯Æ°¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
+ DVD ¥µ¥¤¥º¤Î¥á¥Ç¥£¥¢¤Ë½ñ¤­¹þ¤à¤³¤È¤¬¤Ç¤­¡¢ÍøÍѲÄǽ¤Ê´Ä¶­¤Ç¤Ï¡¢
+ ¤³¤Î¥¤¥á¡¼¥¸¤À¤±¤Ç½½Ê¬¤Ç¤¹¡£</p></dd>
+
+ <dt>disc1</dt>
+
+ <dd><p>FreeBSD ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£
+ "livefs" ¥Ù¡¼¥¹¤Î¥ì¥¹¥­¥å¡¼¥â¡¼¥É¤Ç¤âµ¯Æ°¤Ç¤­¤ë¥¤¥á¡¼¥¸¤Ç¤¹¡£
+ package ¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£</p></dd>
+
+ <dt>bootonly</dt>
+
+ <dd><p>CD-ROM ¥É¥é¥¤¥Ö¤òÈ÷¤¨¤¿¥Þ¥·¥ó¤Çµ¯Æ°¤Ç¤­¤ë¥¤¥á¡¼¥¸¤Ç¤¹¤¬¡¢
+ ¤³¤Î CD ¤Î¤ß¤ò»È¤Ã¤Æ¥·¥¹¥Æ¥à¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
+ ¤³¤Î CD ¤ò»È¤Ã¤Æµ¯Æ°¤·¤¿¸å¤Ï¡¢(FTP ¥µ¡¼¥Ð¤Ê¤É¤«¤é)
+ ¥Í¥Ã¥È¥ï¡¼¥¯·Ðͳ¤Ç¥¤¥ó¥¹¥È¡¼¥ëºî¶È¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£</p></dd>
+
+ <dt>memstick</dt>
+
+ <dd><p>USB ¥á¥â¥ê¥¹¥Æ¥£¥Ã¥¯ (¥Õ¥é¥Ã¥·¥å¥É¥é¥¤¥Ö)
+ ¤Ë½ñ¤­¹þ¤á¤ë¥¤¥á¡¼¥¸¤Ç¤¹¡£
+ USB ¥É¥é¥¤¥Ö¤«¤é¤Îµ¯Æ°²Äǽ¤Ê¥³¥ó¥Ô¥å¡¼¥¿¤Ë¤ª¤¤¤Æ¡¢
+ ¥¤¥ó¥¹¥È¡¼¥ë¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ "livefs" ¥Ù¡¼¥¹¤Î¥ì¥¹¥­¥å¡¼¥â¡¼¥É¤Çµ¯Æ°¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
+ package ¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£</p>
+
+ <p>memstick ¥¤¥á¡¼¥¸¤Î»ÈÍÑÎã¤ò²¼¤Ë¼¨¤·¤Þ¤¹¡£
+ USB ¥É¥é¥¤¥Ö¤¬ /dev/da0 ¤È¤·¤ÆÇ§¼±¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢
+ ¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç½ñ¤­¹þ¤à¤³¤È¤¬²Äǽ¤Ç¤¹¡£</p>
+
+ <pre># dd if=FreeBSD-9.2-RELEASE-amd64-memstick.img of=/dev/da0 bs=10240 conv=sync</pre>
+
+ <p>¥¿¡¼¥²¥Ã¥È (of=) ¤ÎÉôʬ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+ ŬÀÚ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¤³¤È¤ËºÙ¿´¤ÎÃí°Õ¤òʧ¤Ã¤Æ¤¯¤À¤µ¤¤¡£</p></dd>
+ </dl>
+
+ <p>FreeBSD 9.2-RELEASE ¤Î CD-ROM ¤È DVD ¤Ï¡¢¥Ù¥ó¥À¤«¤é¤â¹ØÆþ¤Ç¤­¤Þ¤¹¡£
+ FreeBSD 9.2 ¥Ù¡¼¥¹¤ÎÀ½ÉʤòÈÎÇ䤷¤Æ¤¤¤ë¥Ù¥ó¥À¤Î¤Ò¤È¤Ä¤¬¡¢°Ê²¼¤Î
+ FreeBSD Mall ¤Ç¤¹¡£</p>
+
+ <ul>
+ <li><p>FreeBSD Mall, Inc.<tt><a
+ href="http://www.freebsdmall.com/">http://www.freebsdmall.com</a></tt></p></li>
+ </ul>
+
+ <h2>FTP</h2>
+
+ <p>¥¢¥Ê¥¦¥ó¥¹»þÅÀ¤Ç¤Ï¡¢¼¡¤Î FTP ¥µ¥¤¥È¤«¤é
+ FreeBSD 9.2-RELEASE ¤òÍøÍѤǤ­¤Þ¤¹¡£</p>
+
+ <ul>
+ <li><p><tt><a href="ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/9.2/">ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/9.2/</a></tt></p></li>
+ </ul>
+
+ <p>¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤ì¤é¤Î¥µ¥¤¥È¤òÍøÍѤ¹¤ëÁ°¤Ë¡¢¤Þ¤º¡¢
+ ¤¢¤Ê¤¿¤Î½»¤ó¤Ç¤¤¤ëºÇ´ó¤ê¤Î¥ß¥é¡¼¥µ¥¤¥È¤ÎÍøÍѤò»î¤ß¤Æ¤¯¤À¤µ¤¤¡£</p>
+
+ <ul>
+ <li><p><tt><a>ftp://ftp.&lt;¤¢¤Ê¤¿¤Î½»¤ó¤Ç¤¤¤ëÃϰè&gt;.FreeBSD.org/pub/FreeBSD</a></tt></p></li>
+ </ul>
+
+ <p>¾¤Ë ftp2, ftp3 ¤È¤¤¤¦½ç¤Ë̾Á°¤¬¤Ä¤±¤é¤ì¤Æ¤¤¥ß¥é¡¼¥µ¥¤¥È¤â¤¢¤ê¤Þ¤¹¡£</p>
+
+ <p>FreeBSD ¥ß¥é¡¼¥µ¥¤¥È¤Î¾ÜºÙ¤Ï¡¢°Ê²¼¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
+
+ <ul>
+ <li><p><tt><a
+ href="http://www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/mirrors-ftp.html">http://www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/mirrors-ftp.html</a></tt> (ÆüËܸì)</p></li>
+
+ <li><p><tt><a
+ href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html">http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html</a></tt> (±Ñ¸ì)</p></li>
+ </ul>
+
+ <p>FreeBSD ¤Î¥¤¥ó¥¹¥È¡¼¥ë¡¢¤Þ¤¿¤Ï¡¢
+ ¸½ºß¤Î¥·¥¹¥Æ¥à¤ò 9.2-RELEASE ¤Ë¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¼ê½ç¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+ °Ê²¼¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
+
+ <ul>
+ <li><p><tt><a href="http://www.FreeBSD.org/releases/9.2R/installation.html">http://www.FreeBSD.org/releases/9.2R/installation.html</a></tt></p></li>
+ </ul>
+
+ <h2>¥µ¥Ý¡¼¥È</h2>
+
+ <p>FreeBSD 9.2-RELEASE ¤ÎÊݼ齪λͽÄêÆü¤Ï 2014 ǯ 9 ·î 30 Æü¤Ç¤¹¡£
+ Êݼ齪λÆü¤Ë´Ø¤·¤Æ¤Ï°Ê²¼¤Î¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
+
+ <ul>
+ <li><p><tt><a
+ href="http://www.FreeBSD.org/ja/security/">http://www.FreeBSD.org/ja/security/</a></tt> (ÆüËܸì)</p></li>
+ <li><p><tt><a
+ href="http://www.FreeBSD.org/security/">http://www.FreeBSD.org/security/</a></tt> (±Ñ¸ì)</p></li>
+ </ul>
+
+ <h2>FreeBSD ¥Ù¡¼¥¹¤Î¾¤Î¥×¥í¥¸¥§¥¯¥È</h2>
+
+ <p>FreeBSD ¤ò¥Ù¡¼¥¹¤È¤·¤¿ "¥µ¡¼¥É¥Ñ¡¼¥Æ¥£" ¥×¥í¥¸¥§¥¯¥È¤¬¿ô¿¤¯¤¢¤ê¤Þ¤¹¡£
+ ¤½¤ì¤é¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ï¡¢FreeBSD ¤ò¥Ñ¥Ã¥±¡¼¥¸¥ó¥°¤·¤¿¤â¤Î¤«¤é¡¢
+ Amazon EC2 ¥¤¥ó¥Õ¥é¥¹¥È¥é¥¯¥Á¥ã¤Ç FreeBSD ¤òÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¤È¤¤¤¦¡¢
+ ¤è¤ê "½é¿´¼Ô¸þ¤±¤Î" ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Þ¤Ç¤¢¤ê¤Þ¤¹¡£
+ ¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¤Î¥×¥í¥¸¥§¥¯¥È¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
+
+ <ul>
+ <li><p><tt><a href="http://wiki.FreeBSD.org/3rdPartyProjects">http://wiki.FreeBSD.org/3rdPartyProjects</a></tt></p></li>
+ </ul>
+
+ <h2>¸¥¼­</h2>
+
+ <p>FreeBSD Foundation, Yahoo!, NetApp, Internet
+ Systems Consortium, Sentex Communications, New York Internet,
+ Juniper Networks, ¤ª¤è¤Ó iXsystems ¤ò¤Ï¤¸¤á¤È¤¹¤ë¿¤¯¤Î´ë¶È¤«¤é¡¢
+ FreeBSD 9.2 ¤Î¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°³èư¤ËɬÍפʵ¡ºà¡¢
+ ¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥¯¥»¥¹¡¢¿ÍŪ»ñ¸»¤òÄ󶡤·¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿¡£</p>
+
+ <p>9.2-RELEASE ¤Î¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°¥Á¡¼¥à¤Ï¡¢
+ °Ê²¼¤Î¥á¥ó¥Ð¤Ç¹½À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
+
+ <table border="0">
+ <tbody>
+ <tr>
+ <td>Ken&nbsp;Smith&nbsp;&lt;<a href="mailto:kensmith@FreeBSD.org">kensmith@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°¥ê¡¼¥É</td>
+ </tr>
+
+ <tr>
+ <td>Marcus&nbsp;von&nbsp;Appen&nbsp;&lt;<a href="mailto:mva@FreeBSD.org">mva@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°Ã´Åö</td>
+ </tr>
+
+ <tr>
+ <td>Glen&nbsp;Barber&nbsp;&lt;<a href="mailto:gjb@FreeBSD.org">gjb@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°Ã´Åö¡¢9.2-RELEASE ¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢</td>
+ </tr>
+
+ <tr>
+ <td>Konstantin&nbsp;Belousov&nbsp;&lt;<a href="mailto:kib@FreeBSD.org">kib@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°Ã´Åö</td>
+ </tr>
+
+ <tr>
+ <td>Joel&nbsp;Dahl&nbsp;&lt;<a href="mailto:joel@FreeBSD.org">joel@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°Ã´Åö</td>
+ </tr>
+
+ <tr>
+ <td>Marc&nbsp;Fonvieille&nbsp;&lt;<a href="mailto:blackend@FreeBSD.org">blackend@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°¡¢Ê¸½ñôÅö</td>
+ </tr>
+
+ <tr>
+ <td>Steven&nbsp;Kreuzer&nbsp;&lt;<a href="mailto:skreuzer@FreeBSD.org">skreuzer@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°Ã´Åö</td>
+ </tr>
+
+ <tr>
+ <td>Erwin&nbsp;Lansing&nbsp;&lt;<a href="mailto:erwin@FreeBSD.org">erwin@FreeBSD.org</a>&gt;</td>
+ <td>package ¹½ÃÛôÅö</td>
+ </tr>
+
+ <tr>
+ <td>Xin&nbsp;Li&nbsp;&lt;<a href="mailto:delphij@FreeBSD.org">delphij@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°¡¢¥»¥­¥å¥ê¥Æ¥£Ã´Åö</td>
+ </tr>
+
+ <tr>
+ <td>Simon&nbsp;L.&nbsp;B.&nbsp;Nielsen&nbsp;&lt;<a href="mailto:simon@FreeBSD.org">simon@FreeBSD.org</a>&gt;</td>
+ <td>̾ÍÀ¥»¥­¥å¥ê¥Æ¥£¥ª¥Õ¥£¥µ</td>
+ </tr>
+
+ <tr>
+ <td>Josh&nbsp;Paetzel&nbsp;&lt;<a href="mailto:jpaetzel@FreeBSD.org">jpaetzel@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°Ã´Åö</td>
+ </tr>
+
+ <tr>
+ <td>Colin&nbsp;Percival&nbsp;&lt;<a href="mailto:cperciva@FreeBSD.org">cperciva@FreeBSD.org</a>&gt;</td>
+ <td>̾ÍÀ¥»¥­¥å¥ê¥Æ¥£¥ª¥Õ¥£¥µ</td>
+ </tr>
+
+ <tr>
+ <td>Craig&nbsp;Rodrigues&nbsp;&lt;<a href="mailto:rodrigc@FreeBSD.org">rodrigc@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°Ã´Åö</td>
+ </tr>
+
+ <tr>
+ <td>º´Æ£&nbsp;¹­À¸&nbsp;&lt;<a href="mailto:hrs@FreeBSD.org">hrs@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°¡¢Ê¸½ñôÅö</td>
+ </tr>
+
+ <tr>
+ <td>Gleb&nbsp;Smirnoff&nbsp;&lt;<a href="mailto:glebius@FreeBSD.org">glebius@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°Ã´Åö</td>
+ </tr>
+
+ <tr>
+ <td>Dag-Erling&nbsp;Sm&oslash;rgrav&nbsp;&lt;<a href="mailto:des@FreeBSD.org">des@FreeBSD.org</a>&gt;</td>
+ <td>¥»¥­¥å¥ê¥Æ¥£¥ª¥Õ¥£¥µ</td>
+ </tr>
+
+ <tr>
+ <td>Marius&nbsp;Strobl&nbsp;&lt;<a href="mailto:marius@FreeBSD.org">marius@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°Ã´Åö</td>
+ </tr>
+
+ <tr>
+ <td>Robert&nbsp;Watson&nbsp;&lt;<a href="mailto:rwatson@FreeBSD.org">rwatson@FreeBSD.org</a>&gt;</td>
+ <td>¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°¡¢¥»¥­¥å¥ê¥Æ¥£Ã´Åö</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h2>ÅÐÏ¿¾¦É¸</h2>
+
+ <p>FreeBSD ¤Ï The FreeBSD Foundation ¤ÎÅÐÏ¿¾¦É¸¤Ç¤¹¡£</p>
+
+ <h2>ISO ¥¤¥á¡¼¥¸¤Î¥Á¥§¥Ã¥¯¥µ¥à</h2>
+
+ <pre>SHA256 (FreeBSD-9.2-RELEASE-amd64-bootonly.iso) = 63db06d3f468d219b308bb3fbc3f48e791134481fb1abf39e9b1ee415dcfc099
+SHA256 (FreeBSD-9.2-RELEASE-amd64-disc1.iso) = a8c1751b83646530148766618a89a97009e7500e7057a5cbe3afd74ef480c915
+SHA256 (FreeBSD-9.2-RELEASE-amd64-dvd1.iso) = 36c99ac1ffb90f2272df1bf10cafec999fde1b1a6bd289b5583836639c3639ae
+SHA256 (FreeBSD-9.2-RELEASE-amd64-memstick.img) = fbc0c46f2db8c347145ee7c8308e4f3058dc5ec3155a9fb51d0f0e52ab2bf5cb</pre>
+
+ <pre>MD5 (FreeBSD-9.2-RELEASE-amd64-bootonly.iso) = 2338f255d0ddc4659d04545a3c27bfa1
+MD5 (FreeBSD-9.2-RELEASE-amd64-disc1.iso) = cde180e3c5e3e370c97598a4feccb5b4
+MD5 (FreeBSD-9.2-RELEASE-amd64-dvd1.iso) = 21448c2688ba938b42c1727449d69750
+MD5 (FreeBSD-9.2-RELEASE-amd64-memstick.img) = 8a7f0ee3cb2570785b2d0a760d99bad6</pre>
+
+ <pre>SHA256 (FreeBSD-9.2-RELEASE-i386-bootonly.iso) = e2df14515911ab964a587c4ae5e23882c71908c4e589ae57f7848399232c161d
+SHA256 (FreeBSD-9.2-RELEASE-i386-disc1.iso) = 76093c27288f0ab939a5de14b621ec8eb1420d96343132c2b7c382747d35b67c
+SHA256 (FreeBSD-9.2-RELEASE-i386-dvd1.iso) = a1bba5668792cfc8197c0f81b28cdd17e912a1ae5816887f8518bf1536a99af8
+SHA256 (FreeBSD-9.2-RELEASE-i386-memstick.img) = aa635578fea1136da680420afaab21a8e0b7c39541566d28f468d6ebb7a1e3a8</pre>
+
+ <pre>MD5 (FreeBSD-9.2-RELEASE-i386-bootonly.iso) = c868d09dace9ec2d673fd62cbd1305b4
+MD5 (FreeBSD-9.2-RELEASE-i386-disc1.iso) = ba7ba7943177aee9626df228fb1ee6c2
+MD5 (FreeBSD-9.2-RELEASE-i386-dvd1.iso) = 917104df8d559f2ec981e98bfdf78e05
+MD5 (FreeBSD-9.2-RELEASE-i386-memstick.img) = affea2f784472cfbed9d16a6fdeab5ce</pre>
+
+ <pre>SHA256 (FreeBSD-9.2-RELEASE-ia64-bootonly.iso) = 138b6f9fe7bbad418db956a53539ff75f77c918aedaf7fcc1d4960aa2ccca476
+SHA256 (FreeBSD-9.2-RELEASE-ia64-disc1.iso) = 906cfc5012504501547aa0c89292e66047faaed34f18e79594ab95635c43f6c2
+SHA256 (FreeBSD-9.2-RELEASE-ia64-memstick.img) = b178d6466f4b2eb9af0520eb8b434ce98ecab11b9d24bf6ad9478a30f9875531</pre>
+
+ <pre>MD5 (FreeBSD-9.2-RELEASE-ia64-bootonly.iso) = 2ef154556774c55ce0a5a27c7a674859
+MD5 (FreeBSD-9.2-RELEASE-ia64-disc1.iso) = aa06455bfd9f54f1257c6b8484e81334
+MD5 (FreeBSD-9.2-RELEASE-ia64-memstick.img) = b047ea9791272a4fbc66cd9f401d6122</pre>
+
+ <pre>SHA256 (FreeBSD-9.2-RELEASE-powerpc-bootonly.iso) = 89fea7d441a71b96def24a80815566936b7b6eaab640030ae78518001806d626
+SHA256 (FreeBSD-9.2-RELEASE-powerpc-disc1.iso) = b5f5adc9ab2392c2796881553582a1da1cfa99c62b62b57a3325fc7e6a7259c4
+SHA256 (FreeBSD-9.2-RELEASE-powerpc-memstick.img) = 3951ab28d6226f9c32a71f6d81d6ad9f9d05c9af5d11cf00118380f6ba20f282</pre>
+
+ <pre>MD5 (FreeBSD-9.2-RELEASE-powerpc-bootonly.iso) = 84ba491526faf1115827ee3c81593f92
+MD5 (FreeBSD-9.2-RELEASE-powerpc-disc1.iso) = 1a1f683a69d20419834d056d43c8e3de
+MD5 (FreeBSD-9.2-RELEASE-powerpc-memstick.img) = dd959ede1dff0971334d3722db8c8bcc</pre>
+
+ <pre>SHA256 (FreeBSD-9.2-RELEASE-powerpc-powerpc64-bootonly.iso) = 092fa817a0a44fb49d05ed7aae44d98e78f4e3e0fc6e0297ee0d11ec8f8ccf37
+SHA256 (FreeBSD-9.2-RELEASE-powerpc-powerpc64-disc1.iso) = 56daf1f49bff7ee9e31c3255170fe2373c8674cfce1c560e78deff4ae81c505d
+SHA256 (FreeBSD-9.2-RELEASE-powerpc-powerpc64-memstick.img) = be87c9edaa0b343a1223ebfb68dd161a023e287e067dd6550198c4ac23d47062</pre>
+
+ <pre>MD5 (FreeBSD-9.2-RELEASE-powerpc-powerpc64-bootonly.iso) = c914b221a8f09ac8d004aa4d7db710a0
+MD5 (FreeBSD-9.2-RELEASE-powerpc-powerpc64-disc1.iso) = f471466df756ae85162fb8bb794d007a
+MD5 (FreeBSD-9.2-RELEASE-powerpc-powerpc64-memstick.img) = c6b739c889dd94e3ed3ac8ef277ced91</pre>
+
+ <pre>SHA256 (FreeBSD-9.2-RELEASE-sparc64-bootonly.iso) = 76813e3a5b400ea56533a3d5762f76284746a736281b6e1bce882d9f0e2dd076
+SHA256 (FreeBSD-9.2-RELEASE-sparc64-disc1.iso) = 0a15095210058fa7c1572102e6af49407462fcd670d28a3af9dfc154efaeb72e</pre>
+
+ <pre>MD5 (FreeBSD-9.2-RELEASE-sparc64-bootonly.iso) = ae21e0dc63aa0d6327f44c733705c055
+MD5 (FreeBSD-9.2-RELEASE-sparc64-disc1.iso) = 7ce9c00d4b6e23124062cc2be8b56a74</pre>
+
+ </body>
+</html>
Property changes on: projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/9.2R/announce.xml
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/xml
\ No newline at end of property
Index: projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/9.2R/docbook.css
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/9.2R/docbook.css (nonexistent)
+++ projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/9.2R/docbook.css (revision 42804)
@@ -0,0 +1,210 @@
+/*
+ * Copyright (c) 2001, 2003, 2010 The FreeBSD Documentation Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form 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 SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ * The FreeBSD Japanese Documentation Project
+ * Original revision: r42015
+ */
+
+BODY ADDRESS {
+ line-height: 1.3;
+ margin: .6em 0;
+}
+
+BODY BLOCKQUOTE {
+ margin-top: .75em;
+ line-height: 1.5;
+ margin-bottom: .75em;
+}
+
+HTML BODY {
+ margin: 1em 8% 1em 10%;
+ line-height: 1.2;
+}
+
+.LEGALNOTICE {
+ font-size: small;
+ font-variant: small-caps;
+}
+
+BODY DIV {
+ margin: 0;
+}
+
+DL {
+ margin: .8em 0;
+ line-height: 1.2;
+}
+
+BODY FORM {
+ margin: .6em 0;
+}
+
+H1, H2, H3, H4, H5, H6,
+DIV.EXAMPLE P B,
+.QUESTION,
+DIV.TABLE P B,
+DIV.PROCEDURE P B {
+ color: #990000;
+}
+
+BODY H1, BODY H2, BODY H3, BODY H4, BODY H5, BODY H6 {
+ line-height: 1.3;
+ margin-left: 0;
+}
+
+BODY H1, BODY H2 {
+ margin: .8em 0 0 -4%;
+}
+
+BODY H3, BODY H4 {
+ margin: .8em 0 0 -3%;
+}
+
+BODY H5 {
+ margin: .8em 0 0 -2%;
+}
+
+BODY H6 {
+ margin: .8em 0 0 -1%;
+}
+
+BODY HR {
+ margin: .6em;
+ border-width: 0 0 1px 0;
+ border-style: solid;
+ border-color: #cecece;
+}
+
+BODY IMG.NAVHEADER {
+ margin: 0 0 0 -4%;
+}
+
+OL {
+ margin: 0 0 0 5%;
+ line-height: 1.2;
+}
+
+BODY PRE {
+ margin: .75em 0;
+ line-height: 1.0;
+ font-family: monospace;
+}
+
+BODY TD, BODY TH {
+ line-height: 1.2;
+}
+
+UL, BODY DIR, BODY MENU {
+ margin: 0 0 0 5%;
+ line-height: 1.2;
+}
+
+HTML {
+ margin: 0;
+ padding: 0;
+}
+
+BODY P B.APPLICATION {
+ color: #000000;
+}
+
+.FILENAME {
+ color: #007a00;
+}
+
+.GUIMENU, .GUIMENUITEM, .GUISUBMENU,
+.GUILABEL, .INTERFACE,
+.SHORTCUT, .SHORTCUT .KEYCAP {
+ font-weight: bold;
+}
+
+.GUIBUTTON {
+ background-color: #CFCFCF;
+ padding: 2px;
+}
+
+.ACCEL {
+ background-color: #F0F0F0;
+ text-decoration: underline;
+}
+
+.SCREEN {
+ padding: 1ex;
+}
+
+.PROGRAMLISTING {
+ padding: 1ex;
+ background-color: #eee;
+ border: 1px solid #ccc;
+}
+
+@media screen { /* hide from IE3 */
+ a[href]:hover { background: #ffa }
+}
+
+BLOCKQUOTE.NOTE {
+ color: #222;
+ background: #eee;
+ border: 1px solid #ccc;
+ padding: 0.4em 0.4em;
+ width: 85%;
+}
+
+BLOCKQUOTE.TIP {
+ color: #004F00;
+ background: #d8ecd6;
+ border: 1px solid green;
+ padding: 0.2em 2em;
+ width: 85%;
+}
+
+BLOCKQUOTE.IMPORTANT {
+ font-style:italic;
+ border: 1px solid #a00;
+ border-left: 12px solid #c00;
+ padding: 0.1em 1em;
+}
+
+BLOCKQUOTE.WARNING {
+ color: #9F1313;
+ background: #f8e8e8;
+ border: 1px solid #e59595;
+ padding: 0.2em 2em;
+ width: 85%;
+}
+
+.EXAMPLE {
+ background: #fefde6;
+ border: 1px solid #f1bb16;
+ margin: 1em 0;
+ padding: 0.2em 2em;
+ width: 90%;
+}
+
+.INFORMALTABLE TABLE.CALSTABLE TR TD {
+ padding-left: 1em;
+ padding-right: 1em;
+}
Property changes on: projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/9.2R/docbook.css
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Index: projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/Makefile
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/Makefile (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/htdocs/releases/Makefile (revision 42804)
@@ -1,32 +1,33 @@
# $FreeBSD$
# The FreeBSD Japanese Documentation Project
-# Original revision: r42016
+# Original revision: r42578
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS?= index.xml
#SUBDIR= 1.1 1.1.5 2.0 2.0.5R 2.1R
SUBDIR= 2.1.5R 2.1.6R 2.1.7R 2.2R
SUBDIR+= 2.2.1R 2.2.2R 2.2.5R 2.2.6R 2.2.7R 2.2.8R 3.0R 3.1R 3.2R
SUBDIR+= 3.3R 3.4R 3.5R 4.0R 4.1R 4.1.1R 4.2R 4.3R 4.4R 4.5R 4.6R
SUBDIR+= 4.6.2R 4.7R 4.8R 4.9R 4.10R 4.11R
SUBDIR+= 5.0R 5.1R 5.2R 5.2.1R 5.3R 5.4R
#SUBDIR+= 5.5R
#SUBDIR+= 6.0R 6.1R 6.2R 6.3R 6.4R
#SUBDIR+= 7.0R 7.1R 7.2R 7.3R 7.4R
#SUBDIR+= 8.0R 8.1R
SUBDIR+= 8.2R 8.3R 8.4R
#SUBDIR+= 9.0R 9.1R 9.2R
-SUBDIR+= 9.0R
+SUBDIR+= 9.0R 9.2R
+#SUBDIR+= 10.0R
.if defined(NEW_BUILD)
SUBDIR=
.endif
.include "${DOC_PREFIX}/share/mk/web.site.mk"
Index: projects/zfsupdate-201307/ja_JP.eucJP/htdocs/security/security.xml
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/htdocs/security/security.xml (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/htdocs/security/security.xml (revision 42804)
@@ -1,187 +1,195 @@
<?xml version="1.0" encoding="euc-jp"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD ¥»¥­¥å¥ê¥Æ¥£¾ðÊó">
<!ENTITY advisories.html.inc SYSTEM "advisories.html.inc">
]>
<!-- $FreeBSD$ -->
<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: r41946 -->
+<!-- Original revision: r42777 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.support">
<h2>¤Ï¤¸¤á¤Ë</h2>
<p>FreeBSD ¤Ç¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¤òÈó¾ï¤Ë½ÅÍפʤâ¤Î¤Èª¤¨¤Æ¤ª¤ê¡¢
³«È¯¼Ô¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ò¤Ç¤­¤ë¸Â¤ê¥»¥­¥å¥¢¤Ê¤â¤Î¤Ë¤·¤è¤¦¤È¾ï¤ËÅØÎϤ·¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¥·¥¹¥Æ¥à¤Ë¥»¥­¥å¥ê¥Æ¥£¤ÎÀȼåÀ­¤¬È¯¸«¤µ¤ì¤¿¾ì¹ç¤ÎÂбþ¤ÎÊýË¡¤ä¡¢
ÀȼåÀ­¤òÊó¹ð¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£</p>
<h2>Ìܼ¡</h2>
<ul>
<li><a href="#recent">ºÇ¶á¤Î FreeBSD ¥»¥­¥å¥ê¥Æ¥£´«¹ð</a></li>
<li><a href="#how">¥·¥¹¥Æ¥à¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ëÊýË¡</a></li>
<li><a href="reporting.html">FreeBSD ¤Î¥»¥­¥å¥ê¥Æ¥£ÌäÂê¤ÎÊó¹ðÊýË¡</a></li>
</ul>
<a name="recent"></a>
<h2>ºÇ¶á¤Î FreeBSD ¥»¥­¥å¥ê¥Æ¥£´«¹ð</h2>
<p>¥»¥­¥å¥ê¥Æ¥£´«¹ð¤Î´°Á´¤Ê°ìÍ÷¤Ï <a
- href="advisories.html">¤³¤Î¥Ú¡¼¥¸</a> ¤Ë¤¢¤ê¤Þ¤¹¡£</p>
+ href="&enbase;/security/advisories.html">¤³¤Î¥Ú¡¼¥¸</a> ¤Ë¤¢¤ê¤Þ¤¹¡£</p>
<a name="how"></a>
<h2>¥·¥¹¥Æ¥à¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤ÎÊýË¡</h2>
<p>Ä̾¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë &os;
&rel.current; ¤ä &rel2.current; ¤ò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ëºÇ¤â´Êñ¤ÊÊýË¡¤Ï¡¢
°Ê²¼¤Î¥³¥Þ¥ó¥É¤ò»È¤¦¤³¤È¤Ç¤¹¡£</p>
<tt># freebsd-update fetch<br />
# freebsd-update install</tt>
<p>¤³¤Î¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤¹¤ë¤è¤¦¤Ç¤¢¤ì¤Ð¡¢¥»¥­¥å¥ê¥Æ¥£´«¹ð¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¾¤Î¼ê½ç¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡£</p>
<a name="sup"></a>
<h2>¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë FreeBSD ¤Î¥ê¥ê¡¼¥¹</h2>
<p>¸½ºß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Ö¥é¥ó¥Á¤ÎʬÎप¤è¤ÓÊݼ齪λͽÄêÆü¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
<em>Êݼ齪λͽÄêÆü</em> ¤ÎÎó¤Ë¤Ï¡¢
¤½¤Î¥Ö¥é¥ó¥Á¤ËÂбþ¤¹¤ëºÇ¤âÁᤤÊݼ齪λͽÄêÆü¤¬µ­Æþ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢
¤³¤ì¤é¤ÎͽÄêÆü¤Ï±äŤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤³¤È¡¢¤Þ¤¿¡¢¤½¤¦¤¹¤ë¤Ë¤Õ¤µ¤ï¤·¤¤Íýͳ¤¬¤¢¤ì¤Ð¡¢
¥Ö¥é¥ó¥Á¤ÎÊݼ餬µ­ºÜ¤µ¤ì¤Æ¤¤¤ëÆüÉÕ¤è¤ê¤âÁ᤯½ªÎ»¤¹¤ë²ÄǽÀ­¤â¤¢¤ë¤È¤¤¤¦¤³¤È¤Ë¤´Ãí°Õ¤¯¤À¤µ¤¤¡£</p>
<!--
Please also update head/en_US.ISO8859-1/htdocs/releng/index.xml
when updating this list of supported branches.
-->
<table class="tblbasic">
<tr>
<th>¥Ö¥é¥ó¥Á</th>
<th>¥ê¥ê¡¼¥¹</th>
<th>ʬÎà</th>
<th>¥ê¥ê¡¼¥¹Æü</th>
<th>Êݼ齪λͽÄêÆü</th>
</tr>
<tr>
- <td>RELENG_8</td>
+ <td>stable/8</td>
<td>¤Ê¤·</td>
<td>¤Ê¤·</td>
<td>¤Ê¤·</td>
<td>ºÇ½ª¥ê¥ê¡¼¥¹¸å 2 ǯ</td>
</tr>
<tr>
- <td>RELENG_8_4</td>
+ <td>releng/8.4</td>
<td>8.4-RELEASE</td>
<td>Extended</td>
<td>2013 ǯ 6 ·î 9 Æü</td>
<td>2015 ǯ 6 ·î 30 Æü</td>
</tr>
<tr>
- <td>RELENG_8_3</td>
+ <td>releng/8.3</td>
<td>8.3-RELEASE</td>
<td>Extended</td>
<td>2012 ǯ 4 ·î 18 Æü</td>
<td>2014 ǯ 4 ·î 30 Æü</td>
</tr>
<tr>
- <td>RELENG_9</td>
+ <td>stable/9</td>
<td>¤Ê¤·</td>
<td>¤Ê¤·</td>
<td>¤Ê¤·</td>
<td>ºÇ½ª¥ê¥ê¡¼¥¹¸å 2 ǯ</td>
</tr>
<tr>
- <td>RELENG_9_1</td>
+ <td>releng/9.1</td>
<td>9.1-RELEASE</td>
<td>Extended</td>
<td>2012 ǯ 12 ·î 30 Æü</td>
<td>2014 ǯ 12 ·î 31 Æü</td>
</tr>
+
+ <tr>
+ <td>releng/9.2</td>
+ <td>9.2-RELEASE</td>
+ <td>Normal</td>
+ <td>2013 ǯ 9 ·î 30 Æü</td>
+ <td>2014 ǯ 9 ·î 30 Æü</td>
+ </tr>
</table>
<p>¤³¤ì°ÊÁ°¤Î¸Å¤¤¥ê¥ê¡¼¥¹¤Ë¤Ä¤¤¤Æ¤Ï¡¢
ÀѶËŪ¤Ë¥á¥ó¥Æ¥Ê¥ó¥¹¤µ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢
¾åµ­¤Î¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥ê¥ê¡¼¥¹¤Î¤¤¤º¤ì¤«¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò¶¯¤¯¿ä¾©¤·¤Þ¤¹¡£
¥µ¥Ý¡¼¥È¤¬½ªÎ»¤·¤¿¥ê¥ê¡¼¥¹¤Ï <a
href="unsupported.html">¤³¤Î¥Ú¡¼¥¸</a> ¤Ë¤Þ¤È¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£</p>
<p>¥»¥­¥å¥ê¥Æ¥£´«¹ð¤Ï¡¢°Ê²¼¤Î FreeBSD
¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤òÄ̤¸¤Æ¸øÉ½¤µ¤ì¤Þ¤¹¡£</p>
<ul>
<li>FreeBSD-security-notifications@FreeBSD.org</li>
<li>FreeBSD-security@FreeBSD.org</li>
<li>FreeBSD-announce@FreeBSD.org (ÌõÃí: ¤³¤ÎÆâÍÆ¤Ï
announce-jp@jp.FreeBSD.org ¤Ë¤âÇÛÁ÷¤µ¤ì¤Þ¤¹)</li>
</ul>
<p>¸ø³«¤µ¤ì¤¿´«¹ð¤Ï¡¢<a
href="&enbase;/security/advisories.html">
FreeBSD ¥»¥­¥å¥ê¥Æ¥£´«¹ð</a> ¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
<p>´«¹ð¤Ï¡¢¾ï¤Ë FreeBSD ¥»¥­¥å¥ê¥Æ¥£¥ª¥Õ¥£¥µ¤Î
<a href="&enbase;/security/so_public_key.asc">PGP ¸°</a>
¤Ç½ð̾¤µ¤ì¡¢
<a href="http://security.FreeBSD.org/">http://security.FreeBSD.org/</a>
¥¦¥§¥Ö¥µ¡¼¥Ð¤Î <a
href="http://security.FreeBSD.org/advisories/">´«¹ð</a> ¤ª¤è¤Ó <a
href="http://security.FreeBSD.org/patches/">¥Ñ¥Ã¥Á</a>
¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë´ØÏ¢¥Ñ¥Ã¥Á¤È¤È¤â¤Ë¥¢¡¼¥«¥¤¥Ö¤µ¤ì¤Þ¤¹¡£</p>
<p>FreeBSD ¥»¥­¥å¥ê¥Æ¥£¥ª¥Õ¥£¥µ¤Ï¡¢
<em>-STABLE ¥Ö¥é¥ó¥Á</em> ¤È <em>¥»¥­¥å¥ê¥Æ¥£¥Ö¥é¥ó¥Á</em>
¤ËÂФ·¤Æ¥»¥­¥å¥ê¥Æ¥£´«¹ð¤òÄ󶡤·¤Æ¤¤¤Þ¤¹
(<em>-CURRENT ¥Ö¥é¥ó¥Á</em> ¤ËÂФ¹¤ë´«¹ð¤ÏÄ󶡤µ¤ì¤Þ¤»¤ó)¡£</p>
<ul>
<li><p>-STABLE ¥Ö¥é¥ó¥Á¤Ë¤Ï
- <tt>RELENG_9</tt> ¤Î¤è¤¦¤Ê¥¿¥°Ì¾¤¬ÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤¹¡£
+ <tt>stable/9</tt> ¤Î¤è¤¦¤Ê¥¿¥°Ì¾¤¬ÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤ËÂбþ¤¹¤ë¹½ÃÛʪ¤Ï
- <tt>FreeBSD 9.1-STABLE</tt> ¤Î¤è¤¦¤Ê̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£</p></li>
+ <tt>FreeBSD 9.2-STABLE</tt> ¤Î¤è¤¦¤Ê̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£</p></li>
<li><p>FreeBSD ¤Î³Æ¥ê¥ê¡¼¥¹¤Ë¤Ï¡¢
Âбþ¤¹¤ë¥»¥­¥å¥ê¥Æ¥£¥Ö¥é¥ó¥Á¤¬¤Ò¤È¤ÄÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
¥»¥­¥å¥ê¥Æ¥£¥Ö¥é¥ó¥Á¤Ë¤Ï
- <tt>RELENG_9_1</tt> ¤Î¤è¤¦¤Ê¥¿¥°Ì¾¤¬ÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤¹¡£
+ <tt>releng/9.2</tt> ¤Î¤è¤¦¤Ê¥¿¥°Ì¾¤¬ÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤ËÂбþ¤¹¤ë¹½ÃÛʪ¤Ï
- <tt>FreeBSD 9.1-RELEASE-p1</tt> ¤Î¤è¤¦¤Ê̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£</p></li>
+ <tt>FreeBSD 9.2-RELEASE-p1</tt> ¤Î¤è¤¦¤Ê̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£</p></li>
</ul>
<p>Ports Collection ¤Ë´ØÏ¢¤·¤¿ÌäÂê¤Ï¡¢
<a href="http://vuxml.FreeBSD.org/">FreeBSD VuXML</a> ¤Ë¤è¤êÄ󶡤µ¤ì¤Þ¤¹¡£</p>
<p>³Æ¥Ö¥é¥ó¥Á¤ËÂФ¹¤ë¥»¥­¥å¥ê¥Æ¥£¥ª¥Õ¥£¥µ¤Î¥µ¥Ý¡¼¥È¤Ë¤Ï´ü¸Â¤¬¤¢¤ê¤Þ¤¹¡£
¥µ¥Ý¡¼¥È´ü´Ö¤Ë¤Ï 3 ¼ïÎढ¤ê¡¢³Æ¥Ö¥é¥ó¥Á¤ËÂФ·¤Æ
<em>Early adopter</em>', `<em>Normal</em>', ¤½¤·¤Æ `<em>Extended</em>'
¤Î¤É¤ì¤«¤¬³ä¤êÅö¤Æ¤é¤ì¤Þ¤¹¡£¤³¤Î³ä¤êÅö¤Æ¤Ï¡¢
¥Ö¥é¥ó¥Á¤ÎÊݼ齪λÆü¤ò·èÄꤹ¤ëºÝ¤Î¥¬¥¤¥É¥é¥¤¥ó¤È¤·¤ÆÍøÍѤµ¤ì¤Þ¤¹¡£</p>
<dl>
<dt>Early adopter</dt>
<dd>-CURRENT ¥Ö¥é¥ó¥Á¤«¤é¤Î¥ê¥ê¡¼¥¹¤¬ÂоݤǤ¹¡£
¥»¥­¥å¥ê¥Æ¥£¥ª¥Õ¥£¥µ¤Ë¤è¤Ã¤Æ¡¢¥ê¥ê¡¼¥¹¸åºÇÄã 6 ¥õ·î´Ö¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£</dd>
<dt>Normal</dt>
<dd>-STABLE ¥Ö¥é¥ó¥Á¤«¤é¤Î¥ê¥ê¡¼¥¹¤¬ÂоݤǤ¹¡£
¥»¥­¥å¥ê¥Æ¥£¥ª¥Õ¥£¥µ¤Ë¤è¤Ã¤Æ¡¢¥ê¥ê¡¼¥¹¸åºÇÄã 12 ¥õ·î´Ö¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£
Normal ¥ê¥ê¡¼¥¹¤ÎÊݼ齪λÆü¤Î¾¯¤Ê¤¯¤â 3 ¥õ·îÁ°¤Þ¤Ç¤Ë¡¢
¿·¤·¤¤¥ê¥ê¡¼¥¹¤¬¸ø³«¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÊݾڤ¹¤ë¤¿¤á¡¢
(ɬÍפÈȽÃǤµ¤ì¤¿¾ì¹ç¤Ë¤Ï) ½½Ê¬¤Ê´ü´Ö¡¢±äŤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£</dd>
<dt>Extended</dt>
<dd>Áª¤Ð¤ì¤¿¥ê¥ê¡¼¥¹ (Ä̾ï¤Ï 2 ¤Ä¤Î¥ê¥ê¡¼¥¹¤´¤È¡¢
¤ª¤è¤Ó³Æ -STABLE ¥Ö¥é¥ó¥Á¤ÎºÇ½ª¥ê¥ê¡¼¥¹) ¤¬ÂоݤǤ¹¡£
¥»¥­¥å¥ê¥Æ¥£¥ª¥Õ¥£¥µ¤Ë¤è¤Ã¤Æ¡¢¥ê¥ê¡¼¥¹¸åºÇÄã 24 ¥õ·î´Ö¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£
Extended ¥ê¥ê¡¼¥¹¤ÎÊݼ齪λÆü¤Î¾¯¤Ê¤¯¤â 3 ¥õ·îÁ°¤Þ¤Ç¤Ë¡¢
¿·¤·¤¤ Extended ¥ê¥ê¡¼¥¹¤¬¸ø³«¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÊݾڤ¹¤ë¤¿¤á¡¢
(ɬÍפÈȽÃǤµ¤ì¤¿¾ì¹ç¤Ë¤Ï) ½½Ê¬¤Ê´ü´Ö¡¢±äŤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£</dd>
</dl>
</body>
</html>
Index: projects/zfsupdate-201307/ja_JP.eucJP/htdocs/where.xml
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/htdocs/where.xml (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/htdocs/where.xml (revision 42804)
@@ -1,258 +1,256 @@
<?xml version="1.0" encoding="euc-jp"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD ¤òÆþ¼ê¤¹¤ë">
<!ENTITY url.rel "ftp://ftp.FreeBSD.org/pub/FreeBSD/releases">
]>
<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: r41857 -->
+<!-- Original revision: r42767 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.download">
<a name="releases"></a>
<h2><a href="&base;/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó</a></h2>
<p>²áµî¡¢¸½ºß¡¢¤½¤·¤Æ¾­Íè¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¾ÜºÙ¤Ç¤¹¡£
FreeBSD ¤ÎºÇ¿·¤Î¥Ð¡¼¥¸¥ç¥ó¤¬²¿¤«¤ò³Îǧ¤¹¤ë¤Ë¤Ï¡¢
¤Þ¤º¤Ï¤³¤Î¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
<a name="install"></a>
<h2><a href="&enbase;/doc/ja_JP.eucJP/books/handbook/install.html">FreeBSD ¤Î¥¤¥ó¥¹¥È¡¼¥ë</a></h2>
<p>FreeBSD ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ï¡¢CD-ROM, DVD¡¢¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¡¢MS-DOS&reg;
¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¡¢¼§µ¤¥Æ¡¼¥×¡¢anonymous ftp¡¢¤½¤·¤Æ NFS ·Ðͳ¤Î¥¤¥ó¥¹¥È¡¼¥ë¡¢
¤È¿ô¿¤¯¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£
FreeBSD ¤ÎÁ´ÇÛÉÛʪ¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ëÁ°¤Ë¡¢<a
href="&enbase;/doc/ja_JP.eucJP/books/handbook/install.html">¥¤¥ó¥¹¥È¡¼¥ë¥¬¥¤¥É</a>
¤òÄÌÆÉ¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
<a name="distribution"></a>
<h2>FreeBSD ¤Î¹ØÆþ</h2>
<p>FreeBSD ¤Î CD-ROM ¤ä DVD ¤Ï¡¢<a
href="http://www.freebsdmall.com/">FreeBSD Mall</a> ¤â¤·¤¯¤Ï <a
href="&enbase;/doc/ja_JP.eucJP/books/handbook/mirrors.html">CD-ROM/DVD
¤Î½ÐÈǼÒ</a> ¤«¤é¹ØÆþ¤Ç¤­¤Þ¤¹¡£</p>
<a name="download"></a>
<h2>FreeBSD ¤Î¥À¥¦¥ó¥í¡¼¥É</h2>
<p>FreeBSD ¤ò FTP ¤ä HTTP ·Ðͳ¤ÇÆþ¼ê¤·¤è¤¦¤È¹Í¤¨¤Æ¤¤¤ë¤Î¤Ê¤é¡¢
¥Ï¥ó¥É¥Ö¥Ã¥¯¤Î <a
href="&enbase;/doc/ja_JP.eucJP/books/handbook/mirrors-ftp.html"><strong>¥ß¥é¡¼¥µ¥¤¥È</strong></a>
°ìÍ÷¤«¤é¥Í¥Ã¥È¥ï¡¼¥¯Åª¤Ë¤è¤ê¶á¤¤¥µ¥¤¥È¤òõ¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
<table class="tblbasic">
<thead>
<tr style="text-align: center;">
<td colspan="2">¥Ð¡¼¥¸¥ç¥ó¤È¥×¥é¥Ã¥È¥Õ¥©¡¼¥à</td>
<td>ÇÛÉÛ¸µ</td>
<td title="ISO9660 CD image"><a href="&enbase;/doc/ja_JP.eucJP/books/handbook/install-diff-media.html#install-cdrom">ISO</a></td>
<td>¥ê¥ê¡¼¥¹<br/>¥Î¡¼¥È</td>
<td>¥Ï¡¼¥É¥¦¥§¥¢<br/>¥Î¡¼¥È</td>
<td>¥¤¥ó¥¹¥È¡¼¥ë<br/>¥¬¥¤¥É</td>
<td>Errata<br/>(Àµ¸íɽ)</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">FreeBSD &rel.current;-RELEASE</td>
<td colspan="2"></td>
- <td rowspan="5"><a href="&enbase;/releases/&rel.current;R/relnotes.html">[View]</a></td>
- <td rowspan="5"><a href="&enbase;/releases/&rel.current;R/hardware.html">[View]</a></td>
- <td rowspan="5"><a href="&enbase;/releases/&rel.current;R/installation.html">[View]</a></td>
- <td rowspan="5"><a href="&enbase;/releases/&rel.current;R/errata.html">[View]</a></td>
+ <td rowspan="7"><a href="&enbase;/releases/&rel.current;R/relnotes.html">[View]</a></td>
+ <td rowspan="7"><a href="&enbase;/releases/&rel.current;R/hardware.html">[View]</a></td>
+ <td rowspan="7"><a href="&enbase;/releases/&rel.current;R/installation.html">[View]</a></td>
+ <td rowspan="7"><a href="&enbase;/releases/&rel.current;R/errata.html">[View]</a></td>
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/amd64/&rel.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/amd64/amd64/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/i386/&rel.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/i386/i386/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
-<!--
<tr>
<td></td>
<td>ia64</td>
<td><a href="&url.rel;/ia64/ia64/&rel.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/ia64/ia64/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc</td>
<td><a href="&url.rel;/powerpc/powerpc/&rel.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/powerpc/powerpc/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
--->
<tr>
<td></td>
<td>powerpc64</td>
<td><a href="&url.rel;/powerpc/powerpc64/&rel.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/powerpc/powerpc64/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/sparc64/&rel.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/sparc64/sparc64/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
<tr>
<td colspan="2">FreeBSD &rel2.current;-RELEASE</td>
<td colspan="2"></td>
<td rowspan="5"><a href="&enbase;/releases/&rel2.current;R/relnotes.html">[View]</a></td>
<td rowspan="5"><a href="&enbase;/releases/&rel2.current;R/hardware.html">[View]</a></td>
<td rowspan="5"><a href="&enbase;/doc/ja_JP.eucJP/books/handbook/install.html">[View]</a></td>
<td rowspan="5"><a href="&enbase;/releases/&rel2.current;R/errata.html">[View]</a></td>
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/&rel2.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/amd64/ISO-IMAGES/&rel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/&rel2.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/i386/ISO-IMAGES/&rel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>pc98</td>
<td><a href="&url.rel;/pc98/&rel2.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/pc98/ISO-IMAGES/&rel2.current;/">[ISO]</a></td>
</tr>
<!--
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/&rel2.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/sparc64/ISO-IMAGES/&rel2.current;/">[ISO]</a></td>
</tr>
-->
<!--
<tr>
<td colspan="2">FreeBSD &rel3.current;-RELEASE</td>
<td colspan="2"></td>
<td rowspan="7"><a href="&enbase;/releases/&rel3.current;R/relnotes.html">[View]</a></td>
<td rowspan="7"><a href="&enbase;/releases/&rel3.current;R/hardware.html">[View]</a></td>
<td rowspan="7"><a href="&enbase;/doc/ja_JP.eucJP/books/handbook/install.html">[View]</a></td>
<td rowspan="7"><a href="&enbase;/releases/&rel3.current;R/errata.html">[View]</a></td>
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/&rel3.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td colspan="2" align="right"><a href="&url.rel;/amd64/ISO-IMAGES/&rel3.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/&rel3.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td colspan="2" align="right"><a href="&url.rel;/i386/ISO-IMAGES/&rel3.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>pc98</td>
<td><a href="&url.rel;/pc98/&rel3.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td colspan="2" align="right"><a href="&url.rel;/pc98/ISO-IMAGES/&rel3.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/&rel3.current;-RELEASE">[ÇÛÉÛ¸µ]</a></td>
<td colspan="2" align="right"><a href="&url.rel;/sparc64/ISO-IMAGES/&rel3.current;/">[ISO]</a></td>
</tr>
-->
</tbody>
</table>
<p><em>Ãí°Õ:</em> ¤É¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ä¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤òÁª¤Ù¤Ð¤è¤¤¤«¤ï¤«¤é¤Ê¤±¤ì¤Ð¡¢
¤ª¤½¤é¤¯¡¢¸Å¤¤¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤¢¤ì¤Ð <em>i386</em>¡¢
ºÇ¶á¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤¢¤ì¤Ð <em>amd64</em> ¤òÁª¤Ö¤È¤è¤¤¤Ç¤·¤ç¤¦¡£</p>
&beta.desc;
<p>¤â¤·½ã¿è¤Ë¼Â¸³Åª¤Ê FreeBSD-CURRENT (&rel.head;-CURRENT)
(¤³¤ì¤Ï³«È¯¼Ô¤È²Ì´º¤ËºÇÀèü¤òÄɤ¦¥Æ¥¹¥¿¡¼ÀìÍѤǤ¹) ¤Î <strong>snapshot</strong>
¥ê¥ê¡¼¥¹¤Ë¶½Ì£¤¬¤¢¤ë¤Î¤Ê¤é¤Ð¡¢<a
href="&base;/snapshots/">&os; ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥ê¥ê¡¼¥¹</a>
¥Ú¡¼¥¸¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
²áµî¡¢¸½ºß¡¢¤½¤·¤Æ¾­Íè¤Î¥ê¥ê¡¼¥¹Á´È̤ˤĤ¤¤Æ¤Î¤è¤ê¾Ü¤·¤¤¾ðÊó¤¬Íߤ·¤¤»þ¤Ï¡¢<a
href="&base;/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó¤Î¥Ú¡¼¥¸</a> ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£</p>
<a name="past"></a>
<h2>²áµî¤Î¥ê¥ê¡¼¥¹</h2>
<p>²áµî¤Î¥ê¥ê¡¼¥¹¤Ï¡¢<a
href="http://ftp-archive.FreeBSD.org/pub/FreeBSD-Archive/old-releases/">FTP
¥¢¡¼¥«¥¤¥Ö</a> ¤è¤ê¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
<a name="derived"></a>
<h2>FreeBSD ¤ËͳÍ褹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó</h2>
<p>FreeBSD ¤Ï¡¢
¾¦ÍѤ䥪¡¼¥×¥ó¥½¡¼¥¹¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î¥Ù¡¼¥¹¤È¤·¤Æ¡¢
Éý¹­¤¯ÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£
¹­¤¯ÉáµÚ¤·¤Æ¤¤¤Æ¡¢ÆÃ¤Ë FreeBSD
¥æ¡¼¥¶¤Î¤ß¤Ê¤µ¤ó¤¬¶½Ì£¤ò»ý¤Á¤½¤¦¤Ê¥×¥í¥¸¥§¥¯¥È¤ò°Ê²¼¤Ç¾Ò²ð¤·¤Þ¤¹¡£</p>
<ul>
<li><p><a href="http://www.freenas.org">FreeNAS</a> ¤Ï¡¢FreeBSD
¥Ù¡¼¥¹¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹¤Î¥¹¥È¥ì¡¼¥¸¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤¹¡£
Windows, Apple, UNIX-like ¥·¥¹¥Æ¥à¤«¤é¤Î¶¦Í­¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£</p></li>
<li><p><a href="http://www.pcbsd.org">PC-BSD</a> ¤Ï¡¢FreeBSD
¤ò¤â¤È¤Ë¥°¥é¥Õ¥£¥«¥ë¤Ê¥¤¥ó¥¹¥È¡¼¥é¤ÈÈþ¤·¤¤¥Ç¥£¥¹¥¯¥È¥Ã¥×¥Ä¡¼¥ë¤ò²Ã¤¨¡¢
¥«¥¸¥å¥¢¥ë¤Ê¥³¥ó¥Ô¥å¡¼¥¿¥æ¡¼¥¶¤Ç¤â´Êñ¤Ë»È¤¨¤ë¤³¤È¤òÌܻؤ·¤Æ¤¤¤Þ¤¹¡£</p></li>
<li><p><a href="http://www.pfsense.org">pfSense</a> ¤Ï¡¢
¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ä¥ë¡¼¥¿¤È¤·¤Æ¤Î»ÈÍѤ˥«¥¹¥¿¥Þ¥¤¥º¤µ¤ì¤¿¡¢
¥Õ¥ê¡¼¤Ê¥ª¡¼¥×¥ó¥½¡¼¥¹¤Î FreeBSD ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ç¤¹¡£</p></li>
</ul>
<a name="apps"></a>
<h2>¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥½¥Õ¥È¥¦¥§¥¢</h2>
<h3>Ports Collection</h3>
<p>FreeBSD Ports Collection ¤Ï¡¢FreeBSD ¤ËÍѰդµ¤ì¤¿¡¢
¤µ¤Þ¤¶¤Þ¤Ê¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥½¥Õ¥È¥¦¥§¥¢¤Î¤³¤È¤Ç¤¹¡£</p>
<ul>
<li><a href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/">FreeBSD
Ports Collection</a></li>
<li><a href="&base;/ports/index.html">Ports Collection ÍÑ
Web ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹</a></li>
<li><a href="http://www.freshports.org/">FreshPorts -
Ports Collection ÍѤΤè¤êÀè¿ÊŪ¤Ê Web ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹</a></li>
</ul>
<p><em>¤¢¤Ê¤¿¤Î</em> ¤ªµ¤¤ËÆþ¤ê¤Î¥½¥Õ¥È¥¦¥§¥¢¤ò Ports Collection
¤Ë´ó£¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï¡¢<em><a href="&enbase;/doc/ja_JP.eucJP/books/porters-handbook/index.html">
port ºîÀ®¼Ô¤Î¤¿¤á¤Î¥Ï¥ó¥É¥Ö¥Ã¥¯</a></em> ¤È¡¢
<em><a href="&enbase;/doc/ja_JP.eucJP/articles/contributing/index.html">
FreeBSD ¤Ø¤Î¹×¸¥</a></em> ¤È¤¤¤¦Ê¸½ñ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</body>
</html>
Index: projects/zfsupdate-201307/ja_JP.eucJP/share/xml/l10n.ent
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/share/xml/l10n.ent (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/share/xml/l10n.ent (revision 42804)
@@ -1,65 +1,65 @@
<?xml version="1.0" encoding="euc-jp" ?>
<!-- -*- sgml -*-
DocBook Language Specific Entities for Localization (ja).
$FreeBSD$
-->
<!-- docformat navi -->
<!ENTITY docnavi.single-html "ñ°ìÈÇ">
<!ENTITY docnavi.split-html "ʬ³äÈÇ">
<!ENTITY doc.langcode.ja "ja_JP.eucJP">
<!ENTITY doc.langcode "&doc.langcode.ja;">
<!-- charset for HTML output -->
<!ENTITY doc.html.charset "euc-jp">
<!ENTITY url.doc.langcode 'ja_JP.eucJP'>
<!ENTITY xml.encoding 'euc-jp'>
-<!ENTITY rel.current.date '2012 ǯ 12 ·î'>
+<!ENTITY rel.current.date '2013 ǯ 9 ·î'>
<!ENTITY rel2.current.date '2013 ǯ 6 ·î'>
<!ENTITY rel3.current.date '2011 ǯ 2 ·î'>
<!ENTITY u.betarel.schedule '&enbase;/releases/&betarel.current;R/schedule.html'>
<!-- URLs to information on the latest release -->
<!ENTITY u.rel.notes '&enbase;/releases/&rel.current;R/relnotes.html'>
-<!ENTITY u.rel.announce '&enbase;/releases/&rel.current;R/announce.html'>
+<!ENTITY u.rel.announce '&base;/releases/&rel.current;R/announce.html'>
<!ENTITY u.rel.errata '&enbase;/releases/&rel.current;R/errata.html'>
<!ENTITY u.rel.hardware '&enbase;/releases/&rel.current;R/hardware.html'>
<!ENTITY u.rel.installation '&enbase;/releases/&rel.current;R/installation.html'>
<!ENTITY u.rel.readme '&enbase;/releases/&rel.current;R/readme.html'>
<!ENTITY u.rel.early '&enbase;/releases/&rel.current;R/migration-guide.html'> <!-- TEMP -->
<!ENTITY u.rel.migration '&enbase;/releases/&rel.current;R/migration-guide.html'>
<!-- URLs to information on the latest release -->
<!ENTITY u.rel2.notes '&enbase;/releases/&rel2.current;R/relnotes-detailed.html'>
<!ENTITY u.rel2.announce '&base;/releases/&rel2.current;R/announce.html'>
<!ENTITY u.rel2.errata '&enbase;/releases/&rel2.current;R/errata.html'>
<!ENTITY u.rel2.hardware '&enbase;/releases/&rel2.current;R/hardware.html'>
<!ENTITY u.rel2.installation '&enbase;/releases/&rel2.current;R/installation.html'>
<!ENTITY u.rel2.readme '&enbase;/releases/&rel2.current;R/readme.html'>
<!-- URLs to information on the latest release -->
<!ENTITY u.rel3.notes '&enbase;/releases/&rel3.current;R/relnotes.html'>
<!ENTITY u.rel3.announce '&enbase;/releases/&rel3.current;R/announce.html'>
<!ENTITY u.rel3.errata '&enbase;/releases/&rel3.current;R/errata.html'>
<!ENTITY u.rel3.hardware '&enbase;/releases/&rel3.current;R/hardware.html'>
<!ENTITY u.rel3.installation '&enbase;/releases/&rel3.current;R/installation.html'>
<!ENTITY u.rel3.readme '&base;/releases/&rel3.current;R/readme.html'>
<!-- Revision checking -->
<!ENTITY % rev.diff "IGNORE">
<![ %rev.diff; [
<!ENTITY cvsweb 'http://www.jp.FreeBSD.org/cgi/cvsweb.cgi/'>
<!ENTITY rev.msg '
<p>
(ÌõÃí: ºÇ¿·¤Î <a href="&file.orgbase;.html">¸¶Ê¸</a> ¤È¤Ï
<a href="&cvsweb;&file.cvsweb;.diff?r1=&rev.target;&amp;r2=&rev.latest;">
¤º¤ì</a> ¤¬¤¢¤ê¤Þ¤¹¡£)
</p>'>
]]>
<!ENTITY rev.msg ''>
Index: projects/zfsupdate-201307/ja_JP.eucJP/share/xml/news.xml
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/share/xml/news.xml (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/share/xml/news.xml (revision 42804)
@@ -1,2741 +1,2862 @@
<?xml version="1.0" encoding="euc-jp" ?>
<!DOCTYPE news PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for News//EN"
"http://www.FreeBSD.org/XML/www/share/xml/news.dtd">
<!-- Simple schema for FreeBSD Project news.
Divide time in to <year>, <month>, and <day> elements, each of which
has a <name>.
Each <day> element contains one or more <event> elements.
Each <event> contains an optional <title>, and then a <p>. <p> elements
can contain <a> anchors. Within the "href" attribute of the anchor
&base; will be replaced with the base URI necessary to reach the FreeBSD
document root, and should always be used to start URLs at www.FreeBSD.org
or one of the mirrors.
Use the <title> element if the <p> content is lengthy. When generating
synopses of this information (e.g., for syndication using RDF files),
the contents of <title> will be preferred over <p>.
$FreeBSD$
- Original revision: r42555
+ Original revision: r42766
-->
<news>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">
$FreeBSD$
</cvs:keyword>
<year>
<name>2013</name>
<month>
+ <name>9</name>
+
+ <day>
+ <name>30</name>
+
+ <event>
+ <title>&os; 9.2-RELEASE ¸ø³«</title>
+
+ <p><a href="&base;/releases/9.2R/announce.html">FreeBSD
+ 9.2-RELEASE</a> ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
+ ¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë <a
+ href="&enbase;/releases/9.2R/relnotes.html">¥ê¥ê¡¼¥¹¥Î¡¼¥È</a>
+ ¤ª¤è¤Ó <a
+ href="&enbase;/releases/9.2R/errata.html">¥ê¥ê¡¼¥¹ Errata</a>
+ ¤òÆÉ¤ß¡¢9.2 ¤Ë´Ø¤¹¤ëºÇ¿·¾ðÊó¤äÌäÂêÅÀ¤Ê¤É¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
+ FreeBSD ¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï <a
+ href="&base;/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó</a>
+ ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
+ </event>
+ </day>
+
+ <day>
+ <name>29</name>
+
+ <event>
+ <title>&os;&nbsp;10.0-ALPHA4 ¸ø³«</title>
+
+ <p>&os;-10.0 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤«¤é
+ 4 ²óÌܤΥ¢¥ë¥Õ¥¡ÈǤ¬¸ø³«¤µ¤ì¤Þ¤·¤¿ (<a
+ href="&lists.current;/2013-September/044951.html">¥¢¥Ê¥¦¥ó¥¹</a>)¡£
+ <a
+ href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
+ ¥ß¥é¡¼¥µ¥¤¥È</a> ¤«¤é amd64, i386, ia64, powerpc, powerpc64 ¤ª¤è¤Ó
+ sparc64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤òÆþ¼ê¤Ç¤­¤Þ¤¹¡£</p>
+ </event>
+ </day>
+
+ <day>
+ <name>23</name>
+ <event>
+ <p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
+ <a href="mailto:danilo@FreeBSD.org">Danilo Eg&ecirc;a Gondolfo</a> (ports)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>18</name>
+
+ <event>
+ <title>&os;&nbsp;10.0-ALPHA2 ¸ø³«</title>
+
+ <p>&os;-10.0 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤«¤é 2 ²óÌܤΥ¢¥ë¥Õ¥¡ÈǤ¬¸ø³«¤µ¤ì¤Þ¤·¤¿ (<a
+ href="&lists.current;/2013-September/044676.html">¥¢¥Ê¥¦¥ó¥¹</a>)¡£
+ <a
+ href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
+ ¥ß¥é¡¼¥µ¥¤¥È</a> ¤«¤é amd64, i386, ia64, powerpc, powerpc64 ¤ª¤è¤Ó
+ sparc64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤òÆþ¼ê¤Ç¤­¤Þ¤¹¡£</p>
+ </event>
+ </day>
+
+ <day>
+ <name>13</name>
+
+ <event>
+ <title>&os;&nbsp;10.0-ALPHA1 ¸ø³«</title>
+
+ <p>&os;-10.0 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤«¤éºÇ½é¤Î¥¢¥ë¥Õ¥¡ÈǤ¬¸ø³«¤µ¤ì¤Þ¤·¤¿ (<a
+ href="&lists.current;/2013-September/044522.html">¥¢¥Ê¥¦¥ó¥¹</a>)¡£
+ <a
+ href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
+ ¥ß¥é¡¼¥µ¥¤¥È</a> ¤«¤é amd64, i386, ia64, powerpc ¤ª¤è¤Ó
+ sparc64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤òÆþ¼ê¤Ç¤­¤Þ¤¹¡£</p>
+ </event>
+ </day>
+
+ <day>
+ <name>12</name>
+
+ <event>
+ <title>&os;&nbsp;9.2-RC4 ¸ø³«</title>
+
+ <p>&os;-9.2 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤«¤é 4
+ ²óÌܤΥê¥ê¡¼¥¹¸õÊ䤬¸ø³«¤µ¤ì¤Þ¤·¤¿ (<a
+ href="&lists.stable;/2013-September/075163.html">¥¢¥Ê¥¦¥ó¥¹</a>)¡£
+ <a
+ href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
+ ¥ß¥é¡¼¥µ¥¤¥È</a> ¤«¤é amd64, i386, ia64, powerpc, powerpc64 ¤ª¤è¤Ó
+ sparc64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤òÆþ¼ê¤Ç¤­¤Þ¤¹¡£</p>
+ </event>
+ </day>
+
+ <day>
+ <name>2</name>
+ <event>
+ <p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
+ <a href="mailto:br@FreeBSD.org">Ruslan Bukin</a> (src)</p>
+ </event>
+ <event>
+ <p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
+ <a href="mailto:zbb@FreeBSD.org">Zbigniew Bodek</a> (src)</p>
+ </event>
+ </day>
+ </month>
+
+ <month>
<name>8</name>
<day>
+ <name>26</name>
+
+ <event>
+ <title>&os;&nbsp;9.2-RC3 ¸ø³«</title>
+
+ <p>&os;-9.2 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤«¤é 3 ²óÌܤΥê¥ê¡¼¥¹¸õÊ䤬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
+ amd64, i386, ia64, powerpc, powerpc64 ¤ª¤è¤Ó
+ sparc64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬¡¢<a
+ href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
+ ¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ç <a
+ href="&lists.stable;/2013-August/074920.html">¸ø³«</a>
+ ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
+ </event>
+ </day>
+
+ <day>
<name>16</name>
<event>
<title>&os;&nbsp;9.2-RC2 ¸ø³«</title>
<p>&os;-9.2 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤«¤é 2 ²óÌܤΥê¥ê¡¼¥¹¸õÊ䤬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386, ia64, powerpc, powerpc64 ¤ª¤è¤Ó
sparc64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬¡¢<a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ç <a
href="&lists.stable;/2013-August/074756.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>6</name>
<event>
<title>The &os;&nbsp;Foundation ¾åȾ´ü¥Ë¥å¡¼¥ì¥¿¡¼È¯¹Ô</title>
<p>¾åȾ´ü¥Ë¥å¡¼¥ì¥¿¡¼¤¬È¯¹Ô¤µ¤ì¤Þ¤·¤¿!
¤³¤Î¥Ë¥å¡¼¥¹¥ì¥¿¡¼¤òÆÉ¤á¤Ð¡¢
&os; ¤¬ºÇ¹â¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë¤Ê¤ë¤è¤¦¡¢
The &os;&nbsp;Foundation
¤¬¤É¤Î¤è¤¦¤Ë¼ê½õ¤±¤ò¤·¤Æ¤¤¤ë¤«¤òÃΤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£</p>
<p>»ñ¶â¤ÎÊä½õ¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤ë &os; ¤Î³«È¯¥×¥í¥¸¥§¥¯¥È¡¢
¥¹¥Ý¥ó¥µ¡¼¤È¤Ê¤Ã¤Æ¤¤¤ë¥«¥ó¥Õ¥¡¥ì¥ó¥¹¡¢
´é¤òÉÕ¤­¹ç¤ï¤»¤ëµ¡²ñ¤È¤Ê¤ë³«È¯¼Ô¤ª¤è¤Ó¥Ù¥ó¥À¡¼¥µ¥ß¥Ã¥È¡¢
¸¦µæ¤Î¾ì¡¢´óÉí¤Î³ÈÂç¤ËÂФ·¤Æ¤ÎÅØÎÏ¡¢
¤½¤·¤Æ¡¢¤µ¤é¤Ë¤â¤Ã¤È³èư¤ò¤·¤Æ¤¤¤ë¤³¤È¤òÃΤäƤ¯¤À¤µ¤¤!</p>
<p>2013 ¤Î¾åȾ´ü¥Ë¥å¡¼¥¹¥ì¥¿¡¼¤Ï¥ª¥ó¥é¥¤¥ó¾å¤Ç¡¢<a
href="http://www.freebsdfoundation.org/press/2013Jul-newsletter">¤³¤³¤«¤é</a> ÆÉ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>5</name>
<event>
<title>&os;&nbsp;9.2-RC1 ¸ø³«</title>
<p>&os;-9.2 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤«¤éºÇ½é¤Î¥ê¥ê¡¼¥¹¸õÊ䤬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386, ia64, powerpc, powerpc64 ¤ª¤è¤Ó
sparc64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬¡¢<a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ç <a
href="&lists.stable;/2013-August/074589.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
</month>
<month>
<name>7</name>
<day>
<name>31</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:nemysis@FreeBSD.org">Rusmir Dusko</a> (ports)</p>
</event>
</day>
<day>
<name>29</name>
<event>
<title>&os;&nbsp;9.2-BETA2 ¸ø³«</title>
<p>&os;-9.2 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤«¤é 2 ²óÌܤΠBETA ÈǤ¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386, powerpc64 ¤ª¤è¤Ó sparc64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î
ISO ¥¤¥á¡¼¥¸¤¬¡¢<a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ç <a
href="&lists.stable;/2013-July/074440.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>&os;&nbsp;9.2-BETA1 ¸ø³«</title>
<p>&os;-9.2 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Ë¤ª¤±¤ëºÇ½é¤Î BETA ÈǤ¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386 ¤ª¤è¤Ó ia64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬¡¢<a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ç <a
href="&lists.stable;/2013-July/074377.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>16</name>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2013 ǯ 4 ·î - 6 ·î) ¸ø³«</title>
<p><a
href="&enbase;/news/status/report-2013-04-2013-06.html">2013
ǯ 4 ·î ¤«¤é 6 ·î¤Î³«È¯¿ÊĽ¥ì¥Ý¡¼¥È</a> (33 ¥¨¥ó¥È¥ê)
¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:marino@FreeBSD.org">John Marino</a> (ports)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:loos@FreeBSD.org">Luiz Otavio O Souza</a> (src)</p>
</event>
</day>
<day>
<name>2</name>
<event>
<title>BSDCan 2013 DevSummit ¥ê¥Ý¡¼¥È</title>
<p>BSDCan 2013 &os; ³«È¯¼Ô¥µ¥ß¥Ã¥È¤Î¥¹¥Ú¥·¥ã¥ë¥ì¥Ý¡¼¥È
(6 ¥¨¥ó¥È¥ê) ¤¬ <a
href="&enbase;/news/status/report-2013-05-devsummit.html">¸ø³«</a>
¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
</month>
<month>
<name>6</name>
<day>
<name>25</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:feld@FreeBSD.org">Mark Felder</a> (ports)</p>
</event>
</day>
<day>
<name>19</name>
<event>
<title>ÃÂÀ¸Æü¤ª¤á¤Ç¤È¤¦ &os;!</title>
<p>ËÜÆü¡¢&os; ¤Ï
<a href="http://FreeBSD.org/news/1993/freebsd-coined.html">20
ºÐ</a> ¤ò·Þ¤¨¤Þ¤·¤¿¡£
1993 ǯ 6 ·î 19 Æü¡¢Jordan Hubbard, Rod Grimes ¤ª¤è¤Ó
David Greenman ¤Ï¡¢BSD 4.3
¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤«¤é¿·¤·¤¤¥×¥í¥¸¥§¥¯¥È¤¬¥¹¥¿¡¼¥È¤·¤¿¤³¤È¤òÀ¤³¦¤Ë¥¢¥Ê¥¦¥ó¥¹¤·¤Þ¤·¤¿¡£</p>
<p>&os; ¤Ï¡¢Bill ¤È Lynne Jolitz ¤Î 386BSD 0.1
¥ê¥ê¡¼¥¹¤«¤éÇÉÀ¸¤·¡¢1993 ǯ¤Î 11 ·î¤Ë 1.0 ¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤Þ¤·¤¿¡£
ºÇ½é¤ÎÌÜɸ¤Ï¡¢¹â®¡¢°ÂÁ´¤Ç¤«¤Ä¿®ÍêÀ­¤Î¹â¤¤
i386 ¥·¥¹¥Æ¥à¤Î¥µ¡¼¥ÐÍÑ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤·¤¿¡£</p>
<p>¤½¤ì°Ê¹ß¡¢¿ô¤¨¤­¤ì¤Ê¤¤¤Û¤É¤Î¥×¥í¥À¥¯¥È¤Î¥Ð¥Ã¥¯¥Ü¡¼¥ó¤ËºÎÍѤµ¤ì¡¢
64 ¥Ó¥Ã¥È¥·¥¹¥Æ¥à¡¢ÁȤ߹þ¤ß¥Ç¥Ð¥¤¥¹¤ª¤è¤Ó¥Ç¥¹¥¯¥È¥×¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤Þ¤Ç¤ËÀ®Ä¹¤·¤Þ¤·¤¿¡£</p>
</event>
</day>
<day>
<name>11</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:vg@FreeBSD.org">Veniamin Gvozdikov</a> (ports)</p>
</event>
</day>
<day>
<name>7</name>
<event>
<title>&os; 8.4-RELEASE ¸ø³«</title>
<p><a href="&base;/releases/8.4R/announce.html">&os;&nbsp;
8.4-RELEASE</a> ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë <a
href="&enbase;/releases/8.4R/relnotes.html">¥ê¥ê¡¼¥¹¥Î¡¼¥È</a>
(<a
href="&enbase;/releases/8.4R/relnotes-detailed.html">¾ÜºÙÈÇ</a>) ¤ª¤è¤Ó <a
href="&enbase;/releases/8.4R/errata.html">¥ê¥ê¡¼¥¹
Errata</a> ¤òÆÉ¤ß¡¢8.4 ¤Ë´Ø¤¹¤ëºÇ¿·¾ðÊó¤äÌäÂêÅÀ¤Ê¤É¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
&os; ¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï <a
- href="&enbase;/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó</a>
+ href="&base;/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¸Â¤Î³ÈÂç: <a
href="mailto:gjb@FreeBSD.org">Glen Barber</a>
(doc, ports, src)</p>
</event>
</day>
</month>
<month>
<name>5</name>
<day>
<name>27</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¸Â¤Î³ÈÂç: <a
href="mailto:crees@FreeBSD.org">Chris Rees</a>
(doc, ports)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<title>¥Ð¥¤¥Ê¥ê packages ¤¬ºÆ¤ÓÍøÍѲÄǽ¤Ë</title>
<p>ºòǯ 11 ·î¤Ë¥»¥­¥å¥ê¥Æ¥£¥¤¥ó¥·¥Ç¥ó¥È¤¬È¯³Ð¤·¡¢
¥×¥í¥¸¥§¥¯¥È¤Î¥Ð¥¤¥Ê¥ê package ¤¬ÍøÍѤǤ­¤Ê¤¯¤Ê¤Ã¤Æ¤«¤é 6 ¤«·î
¤¬²á¤®¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¤¬¡¢ËÜÆü¡¢
¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ó¥¹¤¬Éü³è¤·¤¿¤³¤È¤ò¤´Êó¹ð¤·¤Þ¤¹¡£</p>
<p><a href="&lists.announce;/2013-May/001476.html">¸ø¼°¥¢¥Ê¥¦¥ó¥¹</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2013 ǯ 1 ·î - 3 ·î) ¸ø³«</title>
<p>2013 ǯ 1 ·î ¤«¤é 3 ·î¤Î³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (31 ¥¨¥ó¥È¥ê) ¤¬ <a
href="&enbase;/news/status/report-2013-01-2013-03.html">¸ø³«</a>
¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
<day>
<name>9</name>
<event>
<title>¿· &os; Foundation ¥×¥í¥¸¥§¥¯¥È³«È¯¥Ç¥£¥ì¥¯¥¿½¢Ç¤:
Ed Maste</title>
<p>The &os;&nbsp;Foundation ¤Ï¡¢Ed Maste
¤¬¿·¤·¤¯¥Ñ¡¼¥È¥¿¥¤¥à¤Î¥×¥í¥¸¥§¥¯¥È³«È¯¥Ç¥£¥ì¥¯¥¿¤Ë½¢Ç¤¤·¤¿¤³¤È¤ò¤ªÃΤ餻¤·¤Þ¤¹¡£
Ed ¤Ï 2 ǯ´Ö Foundation ¤Î¥Ü¡¼¥É¥á¥ó¥Ð¤Ç¤¢¤ê¤Þ¤·¤¿¤¬¡¢
¤³¤Î¿·¤·¤¤¥Ý¥¸¥·¥ç¥ó¤Ø½¢Ç¤¤¹¤ë¤¿¤á¡¢¥Ü¡¼¥É¥á¥ó¥Ð¤òÂàǤ¤·¤Þ¤·¤¿¡£</p>
<p><a
href="http://freebsdfoundation.blogspot.com/2013/05/freebsd-foundation-announces-ed-maste.html">³¤­¤òÆÉ¤à</a></p>
</event>
</day>
<day>
<name>8</name>
<event>
<title>&os;&nbsp;8.4-RC3 ¸ø³«</title>
<p>&os;-8.4 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Î 3 ²óÌܤΥê¥ê¡¼¥¹¸õÊ䤬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386 ¤ª¤è¤Ó pc98 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬¡¢<a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ç <a
href="&lists.stable;/2013-May/073389.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
</month>
<month>
<name>4</name>
<day>
<name>29</name>
<event>
<title>¿· &os; Foundation ¥Æ¥¯¥Ë¥«¥ë¥¹¥¿¥Ã¥Õ: Edward
Tomasz Napiera&#322;a</title>
<p>The &os;&nbsp;Foundation ¤Ï¡¢
Edward Tomasz Napiera&#322;a ¤¬Æó¿ÍÌܤΥƥ¯¥Ë¥«¥ë¥¹¥¿¥Ã¥Õ¤Ë²Ã¤ï¤Ã¤¿¤³¤È¤ò¤ªÃΤ餻¤·¤Þ¤¹¡£
¤³¤ì¤Ï¡¢2013 ǯ¤Ë Foundation
¤¬·Ñ³¤·¤Æ¹Ô¤Ã¤Æ¤¤¤ë¥¹¥¿¥Ã¥Õ¤Ø¤ÎÅê»ñ¤Ë¤è¤ë¤â¤Î¤Ç¤¹¡£</p>
<p><a
href="http://freebsdfoundation.blogspot.com/2013/04/freebsd-foundation-announces-second.html">³¤­¤òÆÉ¤à</a></p>
</event>
</day>
<day>
<name>24</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:asomers@FreeBSD.org">Alan Somers</a> (src)</p>
</event>
<event>
<title>FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ï¡¢Google Summer of Code 2013
¤Ë»²²Ã¤·¤Þ¤¹</title>
<p>FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ï Google's 2013 Summer of Code
¥×¥í¥°¥é¥à¤Ë»²²Ã¤·¤Þ¤¹¡£
¤³¤ì¤Ï²Æ¤Î´Ö¤Ë¾©³Ø¶â¤òÄ󶡤·¡¢
¥ª¡¼¥×¥ó¥½¡¼¥¹¥×¥í¥¸¥§¥¯¥È¤Ë»²²Ã¤¹¤ë³ØÀ¸¤ò»Ù±ç¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤¹¡£
FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Î»²²Ã¤Ïº£Ç¯¤Ç 9 ǯÌܤȤʤê¤Þ¤¹¡£
2005 ǯ¤«¤é 2012 ǯ¤Î´Ö¡¢
Ť¤²Æ¤Î´ü´Ö¤Î¥³¡¼¥Ç¥£¥ó¥°¥×¥í¥¸¥§¥¯¥È¤òÄ̤·¤Æ
150 ¿Í¤ò±Û¤¨¤ë³ØÀ¸¤ò»ØÆ³¤·¤Æ¤­¤Þ¤·¤¿¡£</p>
<p>¤³¤ì¤Þ¤Ç¤ËÀ®¸ù¤·¤¿¥×¥í¥¸¥§¥¯¥È¤Ë¤Ï¡¢
Linux ABI ¸ß´¹µ¡Ç½¤Î²þÁ±¡¢NFSv4 ACLs, TCP ¥ì¥°¥ì¥Ã¥·¥ç¥ó¥Æ¥¹¥È¡¢
FUSE ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥µ¥Ý¡¼¥È¤¬¤¢¤ê¡¢
¤½¤Î¾¤Ë¤â¿ô¤¨ÀÚ¤ì¤Ê¤¤¥×¥í¥¸¥§¥¯¥È¤¬¤¢¤ê¤Þ¤¹¡£
¿¤¯¤Î³ØÀ¸¤Ï FreeBSD ¤Î³«È¯¼Ô¤Ë¤Ê¤ê¡¢
FreeBSD Foundation ¤Î·Ñ³Ū¤Ê»Ù±ç¤òÄ̤¸¤Æ¡¢À¤³¦Ãæ¤Ç³«ºÅ¤µ¤ì¤Æ¤¤¤ë
FreeBSD ¤Î³«È¯¼Ô¤Î¥¤¥Ù¥ó¥È¤Ë¤â»²²Ã¤·¤Æ¤¤¤Þ¤¹¡£</p>
<p>²æ¤³¤½¤Ï¡¢¤È»×¤¦Êý¤Ï¤¼¤Ò¤È¤â±þÊ礷¤Æ¤¯¤À¤µ¤¤!
¿½¤·¹þ¤ß¤äÄù¤áÀÚ¤ê¤Ê¤É¡¢¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï
<a href="&enbase;/projects/summerofcode.html">FreeBSD Summer
Projects ¥Ú¡¼¥¸</a> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>&os;&nbsp;8.4-RC2 ¸ø³«</title>
<p>&os;-8.4 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Î 2 ²óÌܤΥê¥ê¡¼¥¹¸õÊ䤬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386 ¤ª¤è¤Ó pc98 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬¡¢<a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ç <a
href="&lists.stable;/2013-April/073198.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¸Â¤Î³ÈÂç: <a
href="mailto:cy@FreeBSD.org">Cy Schubert</a>
(src, ports)</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:hiren@FreeBSD.org">Hiren Panchasara</a> (src)</p>
</event>
</day>
<day>
<name>10</name>
<event>
<title>&os;&nbsp;8.4-RC1 ¸ø³«</title>
<p>&os;-8.4 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤ÎºÇ½é¤Î¥ê¥ê¡¼¥¹¸õÊ䤬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386 ¤ª¤è¤Ó pc98 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬¡¢<a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ç <a
href="&lists.stable;/2013-April/073070.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¸Â¤Î³ÈÂç: <a
href="mailto:antoine@FreeBSD.org">Antoine Brodin</a>
(src, ports)</p>
</event>
</day>
<day>
<name>1</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:wg@FreeBSD.org">William Grzybowski</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>3</name>
<day>
<name>27</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¤ÎÈϰϤγÈÂç:
<a href="mailto:tijl@FreeBSD.org">Tijl Coosemans</a>
(src, ports)</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>&os;&nbsp;8.4-BETA1 ¸ø³«</title>
<p>&os;-8.4 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤ÎºÇ½é¤Î¥Æ¥¹¥È¥Ó¥ë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386 ¤ª¤è¤Ó pc98 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬¡¢<a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ç <a
href="&lists.stable;/2013-March/072913.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>14</name>
<event>
<title>The &os; Foundation ¤Ë¿·¤·¤¯¥Æ¥¯¥Ë¥«¥ë¥¹¥¿¥Ã¥Õ¤¬²Ã¤ï¤ê¤Þ¤·¤¿
(Konstantin Belousov)</title>
<p>The &os;&nbsp;Foundation ¤Ï¡¢
Konstantin Belousov ¤ò½é¤á¤Æ¤Î¥Õ¥ë¥¿¥¤¥à¤Î¥Æ¥¯¥Ë¥«¥ë¥¹¥¿¥Ã¥Õ¤È¤·¤Æ¸ÛÍѤ·¤¿¤³¤È¤ò¤ªÃΤ餻¤·¤Þ¤¹¡£
¤³¤ì¤Ï¡¢2013 ǯ¤Î¥¹¥¿¥Ã¥Õ¤ËÂФ¹¤ë Foundation
¤ÎÅê»ñ¤ÎÃæ¤Ç½ÅÂç¤Ê½ÐÍè»ö¤Ç¤¹¡£</p>
<p><a
href="http://freebsdfoundation.blogspot.com/2013/03/foundation-announces-new-technical.html">³¤­¤òÆÉ¤à</a></p>
</event>
</day>
<day>
<name>12</name>
<event>
<p><a href="mailto:bdrewery@FreeBSD.org">Bryan Drewery</a>
¤¬¡¢¿·¤·¤¯ Ports Management ¥Á¡¼¥à¤Î¥á¥ó¥Ð¡¼¤Ë²Ã¤ï¤ê¤Þ¤·¤¿¡£</p>
</event>
</day>
<day>
<name>3</name>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2012 ǯ 10 ·î - 12 ·î) ¸ø³«</title>
<p>2012 ǯ 10 ·î ¤«¤é 12 ·î¤Î³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (27 ¥¨¥ó¥È¥ê) ¤¬ <a
href="&enbase;/news/status/report-2012-10-2012-12.html">¸ø³«</a>
¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2012 ǯ 7 ·î - 9 ·î) ¸ø³«</title>
<p>2012 ǯ 7 ·î ¤«¤é 9 ·î¤Î³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (12 ¥¨¥ó¥È¥ê) ¤¬ <a
href="&enbase;/news/status/report-2012-07-2012-09.html">¸ø³«</a>
¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
</month>
<month>
<name>2</name>
<day>
<name>10</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:pclin@FreeBSD.org">Po-Chien Lin</a> (ports)</p>
</event>
</day>
<day>
<name>1</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:tmseck@FreeBSD.org">Thomas-Martin Seck</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>1</name>
<day>
<name>23</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:achim@FreeBSD.org">Achim Leubner</a> (src)</p>
</event>
</day>
<day>
<name>22</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:dru@FreeBSD.org">Dru Lavigne</a> (doc)</p>
</event>
</day>
<day>
<name>16</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:carl@FreeBSD.org">Carl Delsey</a> (src)</p>
</event>
</day>
<day>
<name>15</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¤ÎÈϰϤγÈÂç: <a
href="mailto:rene@FreeBSD.org">Ren&eacute; Ladan</a> (ports,
full doc/www)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:dbn@FreeBSD.org">David Naylor</a> (ports)</p>
</event>
</day>
<day>
<name>13</name>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2012 ǯ 4 ·î - 6 ·î) ¸ø³«</title>
<p>2012 ǯ 4 ·î ¤«¤é 6 ·î¤Î³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (17 ¥¨¥ó¥È¥ê) ¤¬ <a
href="&enbase;/news/status/report-2012-04-2012-06.html">¸ø³«</a>
¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
<day>
<name>10</name>
<event>
<title>Ports CVS ¤Ï 2013 ǯ 2 ·î 28 Æü¤Ë¥µ¥Ý¡¼¥È½ªÎ»</title>
<p>¸½ºß¡¢&os; ports ¤Î³«È¯¤Ï Subversion ¤Ç¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
ports ¥Ä¥ê¡¼¤Î CVS ¤Ø¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤Ï¡¢2013 ǯ 2 ·î 28 Æü¤ò¤â¤Ã¤ÆÄä»ß¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¤³¤ÎÆü¤ò²á¤®¤ë¤È¡¢
CVS, CVSup ¤Þ¤¿¤Ï csup(1) ¤Ë¤è¤ë ports ¥Ä¥ê¡¼¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
CVS, CVSup ¤ª¤è¤Ó csup(1) ¤ò»È¤Ã¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤Ï
portsnap(8) ¤Ø¤È°Ü¹Ô¤·¡¢
Ports Collection
¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤Æ´ÉÍý¤¹¤ë¤³¤È¤¬É¬Íפʥ桼¥¶¤ÏľÀÜ
Subversion ¤ò»È¤¦¤³¤È¤¬¿ä¾©¤µ¤ì¤Þ¤¹¡£
¾ÜºÙ¤Ê¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢<a
href="&lists.ports-announce;/2012-September/000026.html">&os;&nbsp;ports
¥¢¥Ê¥¦¥ó¥¹¥á¡¼¥ê¥ó¥°¥ê¥¹¥È</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
<p>CVSup ¤ä csup(1) ¤«¤é portsnap(8) ¤Ø¤Î°Ü¹Ô¤Ë´Ø¤¹¤ë¥¬¥¤¥É¤Ï¡¢<a
href="&url.doc.base;/books/handbook/ports-using.html#cvsup-migation">&os; ¥Ï¥ó¥É¥Ö¥Ã¥¯</a> ¤Ë¤â¤¢¤ê¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>8</name>
<event>
<title>Faces of &os; &dash; Thomas Abthorpe</title>
<p>Faces of &os; ¥·¥ê¡¼¥º¤Î¼¡¤Î¥¹¥È¡¼¥ê¡¼¤ò¾Ò²ð¤·¤Þ¤¹¡£
¤³¤Î¥·¥ê¡¼¥º¤Ç¤Ï¡¢&os; ¤Ë¹×¸¥¤·¡¢
¥×¥í¥¸¥§¥¯¥È¤Î³«È¯¡¢¥«¥ó¥Õ¥¡¥ì¥ó¥¹¤Î±¿±Ä¤ä¥«¥ó¥Õ¥¡¥ì¥ó¥¹¤Ø¤ÎιÈñ¡¢¤½¤·¤Æ &os;
¤Î»Ù»ý¤ËÂФ·¤ÆÊä½õ¤ò¼õ¤±¤¿¡¢
¤µ¤Þ¤¶¤Þ¤Ê¿Í¡¹¤Ë¥¹¥Ý¥Ã¥È¥é¥¤¥È¤òÅö¤Æ¤Æ¤¤¤Þ¤¹¡£</p>
<p>Thomas Abthorpe ¤ò¤´¾Ò²ð¤·¤Þ¤¹¡£
¤ï¤ì¤ï¤ì¤Ï¡¢Èब BSDCan 2009, 2011 ¤ª¤è¤Ó 2012 ¤Ø»²²Ã¤¹¤ë¤¿¤á¤ÎιÈñ¤òÊä½õ¤·¤Þ¤·¤¿¡£
Èà¤Î¥¹¥È¡¼¥ê¡¼¤ò <a
href="http://freebsdfoundation.blogspot.com/2013/01/faces-of-freebsd-thomas-abthorpe.html">¤³¤³</a> ¤Ç¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:ian@FreeBSD.org">Ian Lepore</a> (src)</p>
</event>
</day>
</month>
</year>
<year>
<name>2012</name>
<month>
<name>12</name>
<day>
<name>31</name>
<event>
<title>&os; 9.1-RELEASE ¸ø³«</title>
<p><a href="&enbase;/releases/9.1R/announce.html">FreeBSD
9.1-RELEASE</a> ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë <a
href="&enbase;/releases/9.1R/relnotes.html">¥ê¥ê¡¼¥¹¥Î¡¼¥È</a> (<a
href="&enbase;/releases/9.1R/relnotes-detailed.html">¥ê¥ê¡¼¥¹¥Î¡¼¥È¤Î¾ÜºÙÈÇ</a>)
¤ª¤è¤Ó <a href="&enbase;/releases/9.1R/errata.html">Errata</a>
¤òÆÉ¤ó¤Ç¡¢9.1 ¤Ë´Ø¤¹¤ëºÇ¿·¾ðÊó¤äÌäÂêÅÀ¤Ê¤É¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
FreeBSD ¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï <a
href="&base;/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>24</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:koobs@FreeBSD.org">Kubilay Kocak</a> (ports)</p>
</event>
</day>
<day>
<name>20</name>
<event>
<title>The &os; Foundation
¤«¤é End-of-Year ¥Ë¥å¡¼¥¹¥ì¥¿¡¼¤¬È¯¹Ô¤µ¤ì¤Þ¤·¤¿¡£</title>
<p>The &os;&nbsp;Foundation ¤Ï¡¢2012 ǯ¤Î <a
href="http://www.freebsdfoundation.org/press/2012Dec-newsletter.shtml">End-of-Year ¥Ë¥å¡¼¥¹¥ì¥¿¡¼</a> ¤òȯ¹Ô¤·¤Þ¤·¤¿¡£</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:markj@FreeBSD.org">Mark Johnston</a> (src)</p>
</event>
<event>
<title>PC-BSD&nbsp;9.1 ¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤Þ¤·¤¿</title>
<p>PC-BSD ¥Á¡¼¥à¤«¤é PC-BSD&nbsp;9.1 ¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤Þ¤·¤¿ (<a
href="http://blog.pcbsd.org/2012/12/pc-bsd-9-1-now-available/">¥¢¥Ê¥¦¥ó¥¹</a>)¡£</p>
</event>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:smh@FreeBSD.org">Steven Hartland</a> (src)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<title>Faces of &os; &dash; Dan Langille</title>
<p>Faces of &os; ¥·¥ê¡¼¥º¤Î¼¡¤Î¥¹¥È¡¼¥ê¡¼¤Ë¤Ä¤¤¤Æ¤´¾Ò²ð¤·¤Þ¤¹¡£
¤³¤Î¥·¥ê¡¼¥º¤Ï¡¢
¥×¥í¥¸¥§¥¯¥È¤Î³«È¯¡¢¥«¥ó¥Õ¥¡¥ì¥ó¥¹¤Î±¿±Ä¤ä¥«¥ó¥Õ¥¡¥ì¥ó¥¹¤Ø¤ÎιÈñ¡¢¤½¤·¤Æ &os;
¤Î»Ù»ý¤ËÂФ·¤ÆÊä½õ¤ò¼õ¤±¤¿¡¢
¤µ¤Þ¤¶¤Þ¤Ê¿Í¡¹¤Ë¥¹¥Ý¥Ã¥È¥é¥¤¥È¤òÅö¤Æ¤ëÎɤ¤µ¡²ñ¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£</p>
<p>Dan Langille ¤Î¥±¡¼¥¹¤Ë¤Ä¤¤¤Æ¤´¾Ò²ð¤·¤Þ¤¹¡£
¤ï¤ì¤ï¤ì¤Ï¡¢2006 ǯ¤«¤éÈब BSDCan ¤Ë»²²Ã¤¹¤ë¤¿¤á¤Î¥¹¥Ý¥ó¥µ¡¼¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
Èà¤Î¥¹¥È¡¼¥ê¡¼¤Ï <a
href="http://freebsdfoundation.blogspot.com/2012/12/faces-of-freebsd-dan-langille_17.html">¤³¤³</a> ¤Ç¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>Stunning News Website Fundraising
Contribution:&nbsp;3 Æü´Ö¤Ç¿·¤¿¤Ë
650 ¤òͤ¨¤ëÊý¡¹¤Ë¤è¤Ã¤Æ $43,200 ±ß¤â¤Î´óÉí¤¬¹Ô¤ï¤ì¤Þ¤·¤¿!</title>
<p>¤ï¤ì¤ï¤ì¤Î¥Ö¥í¥°¤Î·üÌ¿¤Ê¤ëÆÉ¼Ô¤Ç¤¢¤ì¤Ð¡¢
Àè½µ¤«¤é &os;&nbsp;Foundation's annual year-end fundraising
¤¬³«»Ï¤µ¤ì¤¿¤³¤È¤ò¤´Â¸ÃΤǤ·¤ç¤¦¡£
Ëèǯ¤³¤Î¥­¥ã¥ó¥Ú¡¼¥óÃæ¤Ë¡¢50% ¤òͤ¨¤ë´óÉí¤¬¹Ô¤ï¤ì¤Þ¤¹¡£<a
href="http://freebsdfoundation.blogspot.com/2012/12/stunning-news-website-fundraising.html">³¤­¤òÆÉ¤à</a></p>
</event>
</day>
<day>
<name>10</name>
<event>
<title>Faces of &os; &dash; Alberto Mijares</title>
<p>&os; ¥³¥ß¥å¥Ë¥Æ¥£¤Ø¤Î¥µ¥Ý¡¼¥È¤¬¡¢
¶ñÂÎŪ¤Ë¤É¤Î¤è¤¦¤ËÌòΩ¤Ã¤Æ¤¤¤ë¤«¤´Â¸ÃΤǤ·¤ç¤¦¤«¡©
year-end fundraising ¥­¥ã¥ó¥Ú¡¼¥ó¤È¤¢¤ï¤»¡¢
¤ï¤ì¤ï¤ì¤Î¥¦¥§¥Ö¥µ¥¤¥È¤ä¥Ö¥í¥°¡¢Facebook ¥Ú¡¼¥¸¤Ë¤ª¤¤¤Æ¡¢¥×¥í¥¸¥§¥¯¥È¤Î³«È¯¡¢
¥«¥ó¥Õ¥¡¥ì¥ó¥¹¤Î±¿±Ä¤ä¥«¥ó¥Õ¥¡¥ì¥ó¥¹¤Ø¤ÎιÈñ¡¢¤½¤·¤Æ &os;
¤Î»Ù»ý¤ËÂФ·¤ÆÊä½õ¤ò¼õ¤±¤¿¡¢
¤µ¤Þ¤¶¤Þ¤Ê¿Í¡¹¤Ë¥¹¥Ý¥Ã¥È¥é¥¤¥È¤òÅö¤Æ¤Æ¤ß¤¿¤¤¤È»×¤¤¤Þ¤¹¡£<a
href="http://freebsdfoundation.blogspot.com/2012/12/faces-of-freebsd-alberto-mijares.html">³¤­¤òÆÉ¤à</a></p>
</event>
</day>
<day>
<name>5</name>
<event>
<title>&os; Year-End Fundraising Campaign</title>
<p>¤¢¤Ê¤¿¤«¤é¤Î´óÉդϡ¢&os; ¤¬ÍøÍѤǤ­¤ëºÇÎɤΠOS
¤È¤Ê¤ë½õ¤±¤È¤Ê¤ê¤Þ¤¹!
The &os;&nbsp;Foundation ¤ËÅê»ñ¤¹¤ë¤³¤È¤Ç¡¢&os; ¤¬¹âÀ­Ç½¡¢°ÂÁ´¡¢
°ÂÄꤷ¤¿¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤¢¥ê³¤±¤ë¤¿¤á¤Î¼ê½õ¤±¤È¤Ê¤ê¤Þ¤¹¡£</p>
<p>The &os;&nbsp;Foundation ¤Ï¡¢¤¢¤Ê¤¿¤Î¤è¤¦¤Ê¿Í¡¹¤Î¤ª¤«¤²¤Ç¡¢
12 ǯ¤Ë¤âÅϤê &os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤ò»Ù±ç¤Ç¤­¤ë¤³¤È¤ò¸Ø¤ê¤Ë»×¤¤¤Þ¤¹¡£<a
href="http://freebsdfoundation.blogspot.com/2012/12/year-end-fundraising-campaign.html">³¤­¤òÆÉ¤à</a></p>
</event>
<name>5</name>
<event>
<title>&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤Î¥¦¥§¥Ö¥µ¥¤¥È¤Ë¤ª¤¤¤Æ¡¢Google
¥¢¥Ê¥ê¥Æ¥£¥¯¥¹¤Î»ÈÍѤò³«»Ï¤·¤Þ¤·¤¿¡£</title>
<p>&os;&nbsp;¥×¥í¥¸¥§¥¯¥È¤Ï¡¢
¥¦¥§¥Ö¥µ¥¤¥È¤ÎÍøÍѤ˴ؤ·¡¢Æ¿Ì¾²½¤µ¤ì¤¿Åý·×¾ðÊó¤Î¼ý½¸¤ò¡¢
Google ¥¢¥Ê¥ê¥Æ¥£¥¯¥¹¤òÍѤ¤¤Æ³«»Ï¤·¤Þ¤·¤¿¡£
¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¸ø¼° <a
href="&lists.announce;/2012-December/001441.html">¥¢¥Ê¥¦¥ó¥¹</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
</month>
<month>
<name>11</name>
<day>
<name>26</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:syuu@FreeBSD.org">Takuya ASADA</a> (src)</p>
</event>
</day>
<day>
<name>25</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:bar@FreeBSD.org">Barbara Guida</a> (ports)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<title>FreeBSD ¤Î³«È¯¡¦ÇÛÉÛ¥Þ¥·¥ó·²¤Ø¤ÎÉÔÀµ¿¯ÆþȯÀ¸¤Ë¤Ä¤¤¤Æ</title>
<p>11 ·î 11Æü (Æü)¡¢FreeBSD.org ¥¯¥é¥¹¥¿¤Ë¤¢¤ë 2 Âæ¤Î¥Þ¥·¥ó¤Ë
¤ª¤¤¤ÆÉÔÀµ¿¯Æþ¤¬³Îǧ¤µ¤ì¤Þ¤·¤¿¡£FreeBSD
ÍøÍѼԤ˱ƶÁ¤ò¤ª¤è¤Ü¤¹¤è¤¦¤ÊÊѹ¹¤¬²Ã¤¨¤é¤ì¤¿·ÁÀפϸ«¤Ä¤«¤Ã¤Æ¤¤¤Þ¤»¤ó¤¬¡¢
<a href="./2012-compromise.html">http://www.freebsd.org/ja/news/2012-compromise.html</a>
¤Ë½ñ¤«¤ì¤Æ¤¤¤ëÊó¹ð¤ò°ìÆÉ¤¤¤¿¤À¤­¡¢
ɬÍפÊÂбþ¤ò¤È¤ë¤è¤¦¤Ë¤ª´ê¤¤¤¤¤¿¤·¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:bryanv@FreeBSD.org">Bryan Venteicher</a> (src)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:gblach@FreeBSD.org">Grzegorz Blach</a> (ports)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<title>&os;&nbsp;9.1-RC3 ¸ø³«</title>
<p>&os;-9.1 ¥ê¥ê¡¼¥¹¤Ë¸þ¤±¤Æ 3 ²óÌܤΥê¥ê¡¼¥¹¸õÊäÈǤ¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
<a href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ë¤ª¤¤¤Æ¡¢amd64, i386, sparc64
¤ª¤è¤Ó powerpc64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬ <a
href="&lists.stable;/2012-November/070401.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
</month>
<month>
<name>10</name>
<day>
<name>24</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¤ÎÈϰϤγÈÂç: <a
href="mailto:erwin@FreeBSD.org">Erwin Lansing</a>
(src, ports)</p>
</event>
</day>
<day>
<name>23</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:sjg@FreeBSD.org">Simon J. Gerraty</a> (src)</p>
</event>
</day>
<day>
<name>20</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¤ÎÈϰϤγÈÂç: <a
href="mailto:eadler@FreeBSD.org">Eitan Adler</a>
(src, ports, doc)</p>
</event>
</day>
<day>
<name>19</name>
<event>
<p>¿· Ports Managemet ¥Á¡¼¥à¥á¥ó¥Ð:
<a href="mailto:decke@FreeBSD.org">Bernhard Fr&ouml;hlich</a></p>
</event>
</day>
<day>
<name>10</name>
<event>
<title>&os;&nbsp;9.1-RC2 ¸ø³«</title>
<p>&os;-9.1 ¥ê¥ê¡¼¥¹¤Ë¸þ¤±¤Æ 2 ²óÌܤΥê¥ê¡¼¥¹¸õÊäÈǤ¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
<a href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ë¤ª¤¤¤Æ¡¢amd64, i386, ia64, powerpc
¤ª¤è¤Ó powerpc64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬ <a
href="&lists.stable;/2012-October/069998.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
</month>
<month>
<name>9</name>
<day>
<name>15</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:peterj@FreeBSD.org">Peter Jeremy</a> (src)</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:ebrandi@FreeBSD.org">Edson Brandi</a> (doc/pt_BR, ww/pt_BR)</p>
</event>
</day>
<day>
<name>10</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:jhale@FreeBSD.org">Jason E. Hale</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>8</name>
<day>
<name>23</name>
<event>
<title>&os; 9.1-RC1 ¸ø³«</title>
<p>&os;-9.1 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤ÎºÇ½é¤Î¥ê¥ê¡¼¥¹¸õÊäÈǤ¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
<a href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ë¤ª¤¤¤Æ¡¢amd64, i386 ¤ª¤è¤Ó powerpc64
¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬ <a
href="&lists.stable;/2012-August/069233.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>21</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:zont@FreeBSD.org">Andrey Zonov</a> (src)</p>
</event>
</day>
<day>
<name>1</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:bdrewery@FreeBSD.org">Bryan Drewery</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>7</name>
<day>
<name>24</name>
<event>
<title>¿·¥³¥¢¥Á¡¼¥à Secretary ½¢Ç¤: <a
href="mailto:pgj@FreeBSD.org">G&aacute;bor P&aacute;li</a></title>
<p>&os; ¥³¥¢¥Á¡¼¥à¤Ï¡¢<a
href="mailto:pgj@FreeBSD.org">G&aacute;bor P&aacute;li</a> ¤¬
<a href="mailto:core-secretary@FreeBSD.org">¥³¥¢¥Á¡¼¥à
Secretary</a> ¤Ë½¢Ç¤¤·¤¿¤³¤È¤ò¤ªÃΤ餻¤·¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>16</name>
<event>
<title>&os; 9.1-BETA1 ¸ø³«</title>
<p>&os;-9.1 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤ÎºÇ½é¤Î¥Æ¥¹¥È¥Ó¥ë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386, powerpc64 ¤ª¤è¤Ó sparc64
¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬¡¢ <a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ç <a
href="&lists.stable;/2012-July/068830.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>11</name>
<event>
<title>¿·¤·¤¤ &os; ¥³¥¢¥Á¡¼¥à¤¬Áª½Ð¤µ¤ì¤Þ¤·¤¿</title>
<p>&os; ¥×¥í¥¸¥§¥¯¥È¤Ï¡¢
2012 ¥³¥¢¥Á¡¼¥àÁªµó¤Î½ªÎ»¤ò¤ªÃΤ餻¤·¤Þ¤¹¡£
&os; ¥³¥¢¥Á¡¼¥à¤Ï¡¢"¼èÄùÌò" ¤Ë¤¢¤¿¤ë¤â¤Î¤Ç¡¢
¿·¤·¤¤ src ¥³¥ß¥Ã¥¿¤Î¾µÇ§¡¢³«È¯¼Ô´Ö¤ËÂÐΩ¤¬¤¢¤Ã¤¿¾ì¹ç¤ÎÄ´Ää¡¢
ÆÃÄê¤ÎÈϰϤΥµ¥Ö¥³¥ß¥Ã¥¿ (¥»¥­¥å¥ê¥Æ¥£¥ª¥Õ¥£¥µ¡¢¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¡¢
port ¥Þ¥Í¡¼¥¸¥ã¡¢¥¦¥§¥Ö¥Þ¥¹¥¿¤Ê¤É) ¤ÎǤ̿¡¢
¤Þ¤¿¡¢É¬Íפʺݤϡ¢´ÉÍý¤äÊý¿Ë¤Î·èÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¥³¥¢¥Á¡¼¥à¤Ï¡¢2000 ǯ¤«¤é 2 ǯ¤ª¤­¤Ë &os; ¤Î³«È¯¼Ô¤Ë¤è¤êÁª¤Ð¤ì¤Æ¤¤¤Þ¤¹¡£</p>
<p>Áªµó¤Î¾ÜºÙ (¤ª¤è¤Ó¿·¤·¤¤¥³¥¢¥Á¡¼¥à¤Î¥á¥ó¥Ð¤Î°ìÍ÷) ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸ø¼° <a
href="http://docs.freebsd.org/cgi/mid.cgi?1342030291.6001.80.camel">¥¢¥Ê¥¦¥ó¥¹</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:zeising@FreeBSD.org">Niclas Zeising</a>
(doc/www, ports)</p>
</event>
</day>
</month>
<month>
<name>6</name>
<day>
<name>19</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¤ÎÈϰϤγÈÂç: <a
href="mailto:gjb@FreeBSD.org">Glen Barber</a>
(doc, ports)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:mjg@FreeBSD.org">Mateusz Guzik</a> (src)</p>
</event>
</day>
</month>
<month>
<name>5</name>
<day>
<name>30</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:jase@FreeBSD.org">Jase Thew</a> (ports)</p>
</event>
</day>
<day>
<name>29</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:olivierd@FreeBSD.org">Olivier Duchateau</a> (ports)</p>
</event>
</day>
<day>
<name>28</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:tj@FreeBSD.org">Tom Judge</a> (ports)</p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2012 ǯ 1 ·î - 3 ·î) ¸ø³«</title>
<p>2012 ǯ 1 ·î ¤«¤é 3 ·î¤Î³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (27 ¥¨¥ó¥È¥ê) ¤¬ <a
href="&enbase;/news/status/report-2012-01-2012-03.html">¸ø³«</a>
¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
</month>
<month>
<name>4</name>
<day>
<name>26</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:issyl0@FreeBSD.org">Isabell Long</a> (doc/www)</p>
</event>
</day>
<day>
<name>22</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:jlh@FreeBSD.org">Jeremie Le Hen</a> (src)</p>
</event>
</day>
<day>
<name>18</name>
<event>
<title>&os; 8.3-RELEASE ¸ø³«</title>
<p><a href="&base;/releases/8.3R/announce.html">FreeBSD
8.3-RELEASE</a> ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë
<a href="&enbase;/releases/8.3R/relnotes-detailed.html">¥ê¥ê¡¼¥¹¥Î¡¼¥È</a>
¤ä <a href="&enbase;/releases/8.3R/errata.html">Errata</a>
¤òÆÉ¤ó¤Ç¡¢8.3 ¤Ë´Ø¤¹¤ëºÇ¿·¾ðÊó¤äÌäÂêÅÀ¤Ê¤É¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
FreeBSD ¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï
<a href="&base;/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:dteske@FreeBSD.org">Devin Teske</a> (src)</p>
</event>
</day>
<day>
<name>15</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:sperber@FreeBSD.org">Armin Pirkovitsch</a> (ports)
</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:monthadar@FreeBSD.org">Monthadar Al Jaberi</a> (src)
</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:madpilot@FreeBSD.org">Guido Falsi</a> (ports)</p>
</event>
</day>
<day>
<name>2</name>
<event>
<title>&os;&nbsp;8.3-RC2 ¸ø³«</title>
<p>&os;-8.3 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Ë¤ª¤±¤ë 2
²óÌܤΥê¥ê¡¼¥¹¸õÊäÈǤ¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386 ¤ª¤è¤Ó pc98
¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬ <a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ç <a
href="&lists.stable;/2012-April/067067.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
</month>
<month>
<name>3</name>
<day>
<name>23</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:cherry@FreeBSD.org">Cherry G. Mathew</a> (src)</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:bjk@FreeBSD.org">Benjamin Kaduk</a> (doc/www)</p>
</event>
</day>
<day>
<name>6</name>
<event>
<title>&os;&nbsp;8.3-RC1 ¸ø³«</title>
<p>&os;-8.3 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Ë¤ª¤±¤ëºÇ½é¤Î¥ê¥ê¡¼¥¹¸õÊäÈǤΥӥë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386 ¤ª¤è¤Ó pc98
¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬¡¢ <a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ç <a
href="&lists.stable;/2012-March/066722.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>01</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:ak@FreeBSD.org">Alex Kozlov</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>2</name>
<day>
<name>20</name>
<event>
<title>&os;&nbsp;8.3-BETA1 ¸ø³«</title>
<p>&os;-8.3 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤ÎºÇ½é¤Î¥Æ¥¹¥È¥Ó¥ë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386 ¤ª¤è¤Ó pc98
¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬¡¢ <a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a> ¤Ç <a
href="&lists.stable;/2012-February/066340.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>16</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:dmarion@FreeBSD.org">Damjan Marion</a> (src)</p>
</event>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:bgray@FreeBSD.org">Ben Gray</a> (src)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¤ÎÈϰϤγÈÂç: <a
href="mailto:pluknet@FreeBSD.org">Sergey Kandaurov</a>
(src, doc)</p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:matthew@FreeBSD.org">Matthew Seaman</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>1</name>
<day>
<name>27</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:davide@FreeBSD.org">Davide Italiano</a> (src)</p>
</event>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2011 ǯ 10 ·î - 12 ·î) ¸ø³«</title>
<p>2011 ǯ 10 ·î ¤«¤é 12 ·î¤Î³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (32 ¥¨¥ó¥È¥ê) ¤¬ <a
href="&enbase;/news/status/report-2011-10-2011-12.html">¸ø³«</a>
¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>&os; 9.0-RELEASE ¸ø³«</title>
<p><a href="&base;/releases/9.0R/announce.html">FreeBSD
9.0-RELEASE</a> ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë
<a href="&enbase;/releases/9.0R/relnotes.html">¥ê¥ê¡¼¥¹¥Î¡¼¥È</a>
¤ä <a href="&enbase;/releases/9.0R/errata.html">Errata</a>
¤òÆÉ¤ó¤Ç¡¢9.0 ¤Ë´Ø¤¹¤ëºÇ¿·¾ðÊó¤äÌäÂêÅÀ¤Ê¤É¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
FreeBSD ¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï
<a href="&base;/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
</month>
</year>
<year>
<name>2011</name>
<month>
<name>12</name>
<day>
<name>16</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:jgh@FreeBSD.org">Jason Helfman</a> (ports)</p>
</event>
</day>
<day>
<name>9</name>
<event>
<title>&os; 9.0-RC3 ¸ø³«</title>
<p>&os;-9.0 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Î 3 ²óÌÜ (¤½¤·¤Æ¡¢¤ª¤½¤é¤¯ºÇ¸å)
¤Î¥ê¥ê¡¼¥¹¸õÊäÈǤ¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386, ia64, powerpc, powerpc64 ¤ª¤è¤Ó sparc64
¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬¡¢<a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤Ç <a
href="&lists.stable;/2011-December/064770.html">¸ø³«</a>
¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
9.0 ¤ÇÄɲ䵤ì¤ë¤¿¤¯¤µ¤ó¤Î¿·¤·¤¤µ¡Ç½¤ÎÃæ¤Ç¡¢
¿·¤·¤¤¥¤¥ó¥¹¥È¡¼¥é¤Î»î¸³¤¬ÆÃ¤ËɬÍפǤ¹¡£
¤¼¤Ò¡¢¥Æ¥¹¥È´Ä¶­¤Ç¿·¤·¤¤¥¤¥ó¥¹¥È¡¼¥é¤ò»î¤·¤Æ¤¯¤À¤µ¤¤¡£
¤¢¤ë¤¤¤Ï freebsd-update(8) ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤òÍøÍѤ·¤Æ¡¢
¸½ºß¤Î¥·¥¹¥Æ¥à¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>8</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:pfg@FreeBSD.org">Pedro Giffuni</a> (src)</p>
</event>
</day>
<day>
<name>2</name>
<event>
<p>¿· Ports Manager ½¢Ç¤:
<a href="mailto:beat@FreeBSD.org">Beat G&auml;tzi</a></p>
</event>
</day>
</month>
<month>
<name>11</name>
<day>
<name>30</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:jhibbits@FreeBSD.org">Justin Hibbits</a> (src)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<title>&os; 9.0-RC2 ¸ø³«</title>
<p>&os;-9.0 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Î 2 ²óÌܤΥê¥ê¡¼¥¹¸õÊäÈǤ¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386, ia64, powerpc, powerpc64 ¤ª¤è¤Ó sparc64
¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤¬¡¢<a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é <a
href="&lists.stable;/2011-November/064609.html">Æþ¼ê</a>
¤Ç¤­¤Þ¤¹¡£
9.0 ¤ÇÄɲ䵤ì¤ë¤¿¤¯¤µ¤ó¤Î¿·¤·¤¤µ¡Ç½¤Î¤Ò¤È¤Ä¤Ç¤¢¤ë¿·¥¤¥ó¥¹¥È¡¼¥é¤Î»î¸³¤¬É¬ÍפǤ¹¡£
¤¼¤Ò¡¢¥Æ¥¹¥È´Ä¶­¤Ç¿·¤·¤¤¥¤¥ó¥¹¥È¡¼¥é¤ò»î¤·¤Æ¤¯¤À¤µ¤¤¡£
¤¢¤ë¤¤¤Ï freebsd-update(8) ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤òÍøÍѤ·¤Æ¡¢
¸½ºß¤Î¥·¥¹¥Æ¥à¤«¤é¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:scheidell@FreeBSD.org">Michael Scheidell</a> (ports)</p>
</event>
</day>
<day>
<name>11</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:theraven@FreeBSD.org">David Chisnall</a> (src)</p>
</event>
</day>
<day>
<name>9</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:rm@FreeBSD.org">Ruslan Makhmatkhanov</a> (ports)</p>
</event>
</day>
<day>
<name>8</name>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2011 ǯ 7 ·î - 9 ·î) ¸ø³«</title>
<p>2011 ǯ 7 ·î ¤«¤é 9 ·î¤Î³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (28 ¥¨¥ó¥È¥ê) ¤¬ <a
href="&enbase;/news/status/report-2011-07-2011-09.html">¸ø³«</a>
¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
</month>
<month>
<name>10</name>
<day>
<name>23</name>
<event>
<title>&os; 9.0-RC1 ¸ø³«</title>
<p>&os;-9.0 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤ÎºÇ½é¤Î¥ê¥ê¡¼¥¹¸õÊäÈǤ¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386, ia64, powerpc, powerpc64 ¤ª¤è¤Ó sparc64
¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤Ï¡¢¤Û¤È¤ó¤É¤Î <a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é <a
href="&lists.stable;/2011-October/064321.html">Æþ¼ê</a>
¤Ç¤­¤Þ¤¹¡£
9.0 ¤ÇÄɲ䵤ì¤ë¤¿¤¯¤µ¤ó¤Î¿·¤·¤¤µ¡Ç½¤Î¤¦¤Á¡¢
¿·¤·¤¯Æ³Æþ¤µ¤ì¤ë¥¤¥ó¥¹¥È¡¼¥é¤Î¥Æ¥¹¥È¤¬ÆÃ¤ËɬÍפǤ¹¡£
¤¼¤Ò¡¢¥Æ¥¹¥È´Ä¶­¤Ç¿·¤·¤¤¥¤¥ó¥¹¥È¡¼¥é¤ò»î¤·¤Æ¤¯¤À¤µ¤¤¡£
¤¢¤ë¤¤¤Ï freebsd-update(8) ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤òÍøÍѤ·¤Æ¡¢
¸½ºß¤Î¥·¥¹¥Æ¥à¤«¤é¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>6</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:melifaro@FreeBSD.org">Alexander V. Chernikov</a> (src)</p>
</event>
</day>
</month>
<month>
<name>9</name>
<day>
<name>28</name>
<event>
<title>&os; 9.0-BETA3 ¸ø³«</title>
<p>&os;-9.0 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Î 3 ²óÌܤΥƥ¹¥È¥Ó¥ë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386, powerpc, powerpc64 ¤ª¤è¤Ó sparc64
¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤ò <a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é <a
href="&lists.stable;/2011-September/064030.html">Æþ¼ê</a>
¤Ç¤­¤Þ¤¹¡£
9.0 ¤ÇÄɲ䵤ì¤ë¤¿¤¯¤µ¤ó¤Î¿·¤·¤¤µ¡Ç½¤Î¤¦¤Á¡¢
¿·¤·¤¯Æ³Æþ¤µ¤ì¤ë¥¤¥ó¥¹¥È¡¼¥é¤Î¥Æ¥¹¥È¤¬ÆÃ¤ËɬÍפȹͤ¨¤Æ¤¤¤Þ¤¹¡£
¤¼¤Ò¡¢¥Æ¥¹¥È´Ä¶­¤Ç¿·¤·¤¤¥¤¥ó¥¹¥È¡¼¥é¤ò»î¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>27</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:jceel@FreeBSD.org">Jakub Klama</a> (src)</p>
</event>
</day>
<day>
<name>19</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:gleb@FreeBSD.org">Gleb Kurtsou</a> (src)</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:rmh@FreeBSD.org">Robert Millan</a> (src)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:wblock@FreeBSD.org">Warren Block</a> (doc/www)</p>
</event>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2011 ǯ 4 ·î - 6 ·î) ¸ø³«</title>
<p>2011 ǯ 4 ·î ¤«¤é 6 ·î¤Î³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (36 ¥¨¥ó¥È¥ê) ¤¬ <a
href="&enbase;/news/status/report-2011-04-2011-06.html">¸ø³«</a>
¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:cs@FreeBSD.org">Carlo Strub</a> (ports)</p>
</event>
</day>
<day>
<name>7</name>
<event>
<title>&os; 9.0-BETA2 ¸ø³«</title>
<p>&os;-9.0 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Î 2 ²óÌܤΥƥ¹¥È¥Ó¥ë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386, powerpc, powerpc64 ¤ª¤è¤Ó sparc64
¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤ò <a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é <a
href="&lists.stable;/2011-September/063841.html">Æþ¼ê</a>
¤Ç¤­¤Þ¤¹¡£
9.0 ¤Ç¤Ï¤¿¤¯¤µ¤ó¤Î¿·¤·¤¤µ¡Ç½¤¬Äɲ䵤ì¤ëͽÄê¤Ç¤¹¤¬¡¢
ÆÃ¤Ë¿·¤·¤¯Æ³Æþ¤µ¤ì¤ë¥¤¥ó¥¹¥È¡¼¥é¤Î¥Æ¥¹¥È¤¬É¬Íפȹͤ¨¤Æ¤¤¤Þ¤¹¡£
¥Æ¥¹¥È´Ä¶­¤Ë¤ª¤¤¤Æ¡¢¿·¤·¤¤¥¤¥ó¥¹¥È¡¼¥é¤ò¤ª»î¤·¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
</month>
<month>
<name>8</name>
<day>
<name>22</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:rakuco@FreeBSD.org">Raphael Kubo da Costa</a> (ports)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:eadler@FreeBSD.org">Eitan Adler</a> (ports)</p>
</event>
</day>
<day>
<name>9</name>
<event>
<title>&os; Foundation ¥Ë¥å¡¼¥¹¥ì¥¿¡¼ (2011 ǯ 8 ·î) ȯ¹Ô</title>
<p>&os; Foundation ¤Ï¡¢º£Ç¯ºÇ½é¤Î <a
href="http://www.freebsdfoundation.org/press/2011Aug-newsletter.shtml">2011 Ç¯Ãæ´ü¥Ë¥å¡¼¥¹¥ì¥¿¡¼
</a> ¤òȯ¹Ô¤·¤Þ¤·¤¿¡£
¤³¤Î¥Ë¥å¡¼¥¹¥ì¥¿¡¼¤Ç¤Ï¡¢&os; ¥×¥í¥¸¥§¥¯¥È¤ËÂФ¹¤ë
&os; Foundation ¤Î»Ù±ç¤¬¤Þ¤È¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>1</name>
<event>
<title>&os; 9.0-BETA1 ¸ø³«</title>
<p>&os;-9.0 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤ÎºÇ½é¤Î¥Æ¥¹¥È¥Ó¥ë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386, ia64, powerpc, powerpc64 ¤ª¤è¤Ó sparc64
¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤ò <a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é <a
href="&lists.stable;/2011-August/063457.html">Æþ¼ê</a>
¤Ç¤­¤Þ¤¹¡£
9.0 ¤Ç¤Ï¿·¤·¤¤µ¡Ç½¤¬¤¿¤¯¤µ¤óÄɲ䵤ì¤Þ¤·¤¿¡£
¤³¤ì¤é¤Î¿·¤·¤¤µ¡Ç½¤ÎÃæ¤Ç¡¢
ÆÃ¤Ë¥Æ¥¹¥È¤·¤ÆÄº¤­¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤ë¤Î¤¬¿·¤·¤¤¥¤¥ó¥¹¥È¡¼¥é¤Ç¤¹¡£
¤¼¤Ò¤È¤â¡¢¥Æ¥¹¥È´Ä¶­¤Ç 1 ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¤¡¢
¿·¤·¤¤¥¤¥ó¥¹¥È¡¼¥é¤ò»î¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
</month>
<month>
<name>7</name>
<day>
<name>17</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¤ÎÈϰϤγÈÂç: <a
href="mailto:gavin@FreeBSD.org">Gavin Atkinson</a>
(src, doc)</p>
</event>
</day>
<day>
<name>15</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:zi@FreeBSD.org">Ryan Steinmetz</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>6</name>
<day>
<name>14</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:gber@FreeBSD.org">Grzegorz Bernacki</a> (src)</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:stephen@FreeBSD.org">Stephen Montgomery-Smith</a> (ports)</p>
</event>
</day>
<day>
<name>11</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤:
<a href="mailto:crees@FreeBSD.org">Chris Rees</a> (ports)</p>
</event>
</day>
<day>
<name>6</name>
<event>
<title>IPv6-only &os; ¥Æ¥¹¥È¥¤¥á¡¼¥¸</title>
<p>&os; Foundation ¤È iXsystems ¤Ï¡¢
FreeBSD ¤ª¤è¤Ó PC-BSD ¤Î IPv6-only ¥Æ¥¹¥È¥¤¥á¡¼¥¸¤ò
<a href="http://www.prweb.com/releases/2011/6/prweb8529718.htm">
¥¢¥Ê¥¦¥ó¥¹</a> ¤·¤Þ¤·¤¿¡£</p>
</event>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:jlaffaye@FreeBSD.org">
Julien Laffaye</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>5</name>
<day>
<name>25</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:ray@FreeBSD.org">Aleksandr Rybalko</a> (src)</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:benl@FreeBSD.org">Ben Laurie</a> (src)</p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>¿· Port Manager ½¢Ç¤</title>
<p><a href="mailto:bapt@FreeBSD.org">Baptiste Daroussin</a>
¤¬¡¢¿·¤·¤¯ Ports Management ¥Á¡¼¥à¤Î¥á¥ó¥Ð¡¼¤Ë²Ã¤ï¤ê¤Þ¤·¤¿¡£</p>
</event>
</day>
</month>
<month>
<name>4</name>
<day>
<name>27</name>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2011 ǯ 1 ·î - 3 ·î) ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>2011 ǯ 1 ·î ¤«¤é 3 ·î¤Ë¤ª¤±¤ë³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (34 ¥¨¥ó¥È¥ê) ¤¬ <a
href="&enbase;/news/status/report-2011-01-2011-03.html">¸ø³«</a>
¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
</month>
<month>
<name>3</name>
<day>
<name>29</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:art@FreeBSD.org">Artem Belevich</a> (src)</p>
</event>
</day>
<day>
<name>27</name>
<event>
<title>FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ï¡¢Google Summer of Code 2011 ¤Ë»²²Ã¤·¤Þ¤¹</title>
<p>FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ï¡¢Google's 2011 Summer of Code
¥×¥í¥°¥é¥à¤Ë»²²Ã¤·¤Þ¤¹¡£
¤³¤Î¥×¥í¥°¥é¥à¤Ï²Æ¤Î´Ö¤Ë¾©³Ø¶â¤òÄ󶡤·¡¢
¥ª¡¼¥×¥ó¥½¡¼¥¹¥×¥í¥¸¥§¥¯¥È¤Ë»²²Ã¤¹¤ë³ØÀ¸¤ò»Ù±ç¤·¤Þ¤¹¡£
FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ë¤È¤Ã¤Æº£Ç¯¤¬ 7 ǯÌܤλ²²Ã¤È¤Ê¤ê¡¢
2005 ǯ¤«¤é 2010 ǯ¤Î´Ö¡¢
²Æ¤ÎŤ¤´ü´Ö¤Î¥³¡¼¥Ç¥£¥ó¥°¥×¥í¥¸¥§¥¯¥È¤òÄ̤·¤Æ
100 ¿Í¤ò±Û¤¨¤ë³ØÀ¸¤Î»ØÆ³¤ËÀ®¸ù¤·¤Æ¤¤¤Þ¤¹¡£</p>
<p>¤³¤ì¤Þ¤Ç¤ËÀ®¸ù¤·¤¿¥×¥í¥¸¥§¥¯¥È¤Ë¤Ï¡¢
Linux ABI ¸ß´¹µ¡Ç½¤Î²þÁ±¡¢NFSv4 ACLs, TCP ¥ì¥°¥ì¥Ã¥·¥ç¥ó¥Æ¥¹¥È¡¢
FUSE ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥µ¥Ý¡¼¥È¤¬¤¢¤ê¡¢
¤½¤Î¾¤Ë¤â¿ô¤¨ÀÚ¤ì¤Ê¤¤¥×¥í¥¸¥§¥¯¥È¤¬¤¢¤ê¤Þ¤¹¡£
¿¤¯¤Î³ØÀ¸¤Ï FreeBSD ¤Î³«È¯¼Ô¤Ë¤Ê¤ê¡¢
FreeBSD Foundation ¤Î·Ñ³Ū¤Ê»Ù±ç¤òÄ̤¸¤Æ¡¢À¤³¦Ãæ¤Ç³«ºÅ¤µ¤ì¤Æ¤¤¤ë
FreeBSD ¤Î³«È¯¼Ô¤Î¥¤¥Ù¥ó¥È¤Ë¤â»²²Ã¤·¤Æ¤¤¤Þ¤¹¡£</p>
<p>²æ¤³¤½¤Ï¡¢¤È»×¤¦Êý¤Ï¤¼¤Ò¤È¤â±þÊ礷¤Æ¤¯¤À¤µ¤¤¡£
¿½¤·¹þ¤ß¤äÄù¤áÀÚ¤ê¤Ê¤É¡¢¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï
<a href="&enbase;/projects/summerofcode.html">FreeBSD Summer
Projects ¥Ú¡¼¥¸</a> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:sbz@FreeBSD.org">
Sofian Brabez</a> (ports)</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:pawel@FreeBSD.org">
Pawel Pekala</a> (ports)</p>
</event>
</day>
<day>
<name>10</name>
<event>
<p>FreeBSD Ports Management Team ¤Ï¡¢
<a href="mailto:tabthorpe@FreeBSD.org">
Thomas Abthorpe</a> ¤¬¤¹¤Ù¤Æ¤ÎÅêɼ¸¢¤ò¤â¤Ä¥á¥ó¥Ð¡¼¤Ë½¢Ç¤¤·¤¿¤³¤È¤ò¤ªÃΤ餻¤·¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:kargl@FreeBSD.org">
Steven G. Kargl</a> (src)</p>
</event>
</day>
</month>
<month>
<name>2</name>
<day>
<name>24</name>
<event>
<title>FreeBSD 8.2-RELEASE ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p><a href="&enbase;/releases/8.2R/announce.html">FreeBSD
8.2-RELEASE</a> ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë
<a href="&enbase;/releases/8.2R/relnotes.html">¥ê¥ê¡¼¥¹¥Î¡¼¥È</a>
¤ª¤è¤Ó <a href="&enbase;/releases/8.2R/errata.html">Errata</a>
¤òÆÉ¤ó¤Ç¡¢8.2 ¤Ë´Ø¤¹¤ëºÇ¿·¾ðÊó¤äÌäÂêÅÀ¤Ê¤É¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
FreeBSD ¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï
<a href="&base;/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
<event>
<title>FreeBSD 7.4-RELEASE ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p><a href="&enbase;/releases/7.4R/announce.html">FreeBSD
7.4-RELEASE</a> ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë
<a href="&enbase;/releases/7.4R/relnotes.html">¥ê¥ê¡¼¥¹¥Î¡¼¥È</a>
¤ª¤è¤Ó <a href="&enbase;/releases/7.4R/errata.html">Errata</a>
¤òÆÉ¤ó¤Ç¡¢7.4 ¤Ë´Ø¤¹¤ëºÇ¿·¾ðÊó¤äÌäÂêÅÀ¤Ê¤É¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
FreeBSD ¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï
<a href="&base;/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¸Â¤Î³ÈÂç: <a
href="mailto:miwi@FreeBSD.org">Martin Wilke</a>
(src, ports, doc)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<title>&os; 7.4/8.2-RC3 ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>&os;-7.4/8.2 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Ë¤ª¤±¤ë
3 ²óÌܤΠ(¤ª¤½¤é¤¯ºÇ¸å¤Î) ¥ê¥ê¡¼¥¹¸õÊäÈǤΥӥë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
8.2-RC3 ¤Ï amd64, i386, ia64, pc98, powerpc ¤½¤·¤Æ sparc64
¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ÇÍøÍѤǤ­¤Þ¤¹¡£
7.4-RC3 ¤Ï amd64, i386, pc98 ¤½¤·¤Æ sparc64
¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤ÇÍøÍѤǤ­¤Þ¤¹¡£
¤³¤ì¤é¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤Ï¡¢
¤Û¤È¤ó¤É¤Î <a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤é¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸ø¼°¤Î <a
href="&lists.stable;/2011-February/061353.html">¥¢¥Ê¥¦¥ó¥¹</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
</month>
<month>
<name>1</name>
<day>
<name>25</name>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2010 ǯ 10 ·î - 12 ·î) ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>2010 ǯ 10 ·î ¤«¤é 12 ·î¤Ë¤ª¤±¤ë³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (37 ¥¨¥ó¥È¥ê) ¤¬ <a
href="&enbase;/news/status/report-2010-10-2010-12.html">¸ø³«</a>
¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
<day>
<name>23</name>
<event>
<title>&os; 7.4-RC2 ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>&os;-7.4 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Ë¤ª¤±¤ë
2 ²óÌܤΥê¥ê¡¼¥¹¸õÊäÈǤΥӥë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
Tier-1 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤Ï¡¢
¤Û¤È¤ó¤É¤Î <a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤é¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸ø¼°¤Î <a
href="&lists.stable;/2011-January/061218.html">¥¢¥Ê¥¦¥ó¥¹</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>16</name>
<event>
<title>&os; 8.2-RC2 ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>&os;-8.2 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Ë¤ª¤±¤ë
2 ²óÌܤΥê¥ê¡¼¥¹¸õÊäÈǤΥӥë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
Tier-1 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤Ï¡¢
¤Û¤È¤ó¤É¤Î <a
href="&url.doc.base;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤é¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸ø¼°¤Î <a
href="&lists.stable;/2011-January/061131.html">¥¢¥Ê¥¦¥ó¥¹</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
</month>
</year>
<year>
<name>2010</name>
<month>
<name>12</name>
<day>
<name>27</name>
<event>
<title>&os; 7.4/8.2-RC1 ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>&os;-7.4/8.2 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Ë¤ª¤±¤ëºÇ½é¤Î¥ê¥ê¡¼¥¹¸õÊäÈǤΥӥë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
Tier-1 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤Ï¡¢
¤Û¤È¤ó¤É¤Î <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤é¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢
¸ø¼°¤Î <a
href="&lists.stable;/2010-December/060757.html">¥¢¥Ê¥¦¥ó¥¹</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>16</name>
<event>
<title>&os; Foundation ¥Ë¥å¡¼¥¹¥ì¥¿¡¼ (2010 ǯ 12 ·î) ¤¬È¯¹Ô¤µ¤ì¤Þ¤·¤¿</title>
<p>&os; Foundation ¤Ï <a
href="http://www.freebsdfoundation.org/press/2010Dec-newsletter.shtml">End-of-Year ¥Ë¥å¡¼¥¹¥ì¥¿¡¼</a>
¤òȯ¹Ô¤·¤Þ¤·¤¿¡£
¤³¤Î¥Ë¥å¡¼¥¹¥ì¥¿¡¼¤Ç¤Ï¡¢¥×¥í¥¸¥§¥¯¥È¤ª¤è¤Ó¥³¥ß¥å¥Ë¥Æ¥£¤ËÂФ¹¤ë
2010 ǯ¤Î»Ù±ç¤Ë¤Ä¤¤¤Æ¤Þ¤È¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>11</name>
<event>
<title>&os; 7.4/8.2-BETA1 ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>&os;-7.4/8.2 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤ÎºÇ½é¤Î BETA ¥Ó¥ë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
Tier-1 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤Ï¡¢
¤Û¤È¤ó¤É¤Î <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é <a
href="&lists.stable;/2010-December/060541.html">Æþ¼ê</a>
¤Ç¤­¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:flo@FreeBSD.org">Florian Smeets</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>11</name>
<day>
<name>15</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:rea@FreeBSD.org">Eygene Ryabinkin</a> (ports)</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:zack@FreeBSD.org">Zack Kirsch</a> (src)</p>
</event>
</day>
</month>
<month>
<name>10</name>
<day>
<name>27</name>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2010 ǯ 7 ·î - 9 ·î) ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>2010 ǯ 7 ·î ¤«¤é 9 ·î¤Ë¤ª¤±¤ë³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (55 ¥¨¥ó¥È¥ê) ¤¬ <a
href="&enbase;/news/status/report-2010-07-2010-09.html">¸ø³« </a>
¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
<day>
<name>16</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:culot@FreeBSD.org">Frederic Culot</a> (ports)</p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:jonathan@FreeBSD.org">Jonathan Anderson</a> (src)</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:pluknet@FreeBSD.org">Sergey Kandaurov</a> (src)</p>
</event>
</day>
</month>
<month>
<name>9</name>
<day>
<name>25</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:martymac@FreeBSD.org">Ganael Laplanche</a> (ports)</p>
</event>
</day>
<day>
<name>21</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:sunpoet@FreeBSD.org">Po-Chuan Hsieh</a> (ports)</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:andreast@FreeBSD.org">Andreas Tobler</a> (src)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:swills@FreeBSD.org">Steve Wills</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>8</name>
<day>
<name>31</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:gjb@FreeBSD.org">Glen Barber</a> (full doc/www)</p>
</event>
</day>
<day>
<name>30</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:dim@FreeBSD.org">Dimitry Andric</a> (src)</p>
</event>
</day>
<day>
<name>1</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:ohauer@FreeBSD.org">Oliver Hauer</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>7</name>
<day>
<name>27</name>
<event>
<title>&os; Foundation ¥Ë¥å¡¼¥¹¥ì¥¿¡¼ (2010 ǯ 7 ·î) ¤¬È¯¹Ô¤µ¤ì¤Þ¤·¤¿</title>
<p>&os; Foundation ¤Ï <a
href="http://www.freebsdfoundation.org/press/2010Jul-newsletter.shtml">2010 Ç¯Ãæ´ü¥Ë¥å¡¼¥¹¥ì¥¿¡¼</a>
¤òȯ¹Ô¤·¤Þ¤·¤¿¡£
¤³¤Î¥Ë¥å¡¼¥¹¥ì¥¿¡¼¤Ç¤Ï¡¢&os; Foundation ¤¬ &os;
¥×¥í¥¸¥§¥¯¥È¤ËÂФ·¤Æ¹Ô¤Ã¤Æ¤­¤¿»Ù±ç¤Ë¤Ä¤¤¤Æ¤Þ¤È¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£</p>
</event>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:bapt@FreeBSD.org">Baptiste Daroussin</a> (ports)</p>
</event>
</day>
<day>
<name>23</name>
<event>
<title>FreeBSD 8.1-RELEASE ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p><a href="&enbase;/releases/8.1R/announce.html">FreeBSD
8.1-RELEASE</a> ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë
<a href="&enbase;/releases/8.1R/relnotes.html">¥ê¥ê¡¼¥¹¥Î¡¼¥È</a>
¤ª¤è¤Ó <a href="&enbase;/releases/8.1R/errata.html">Errata</a>
¤òÆÉ¤ó¤Ç¡¢8.1 ¤Ë¤Ä¤¤¤Æ¤ÎºÇ¿·¾ðÊó¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
FreeBSD ¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï
<a href="&base;/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2010 ǯ 4 ·î - 6 ·î) ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>2010 ǯ 4 ·î ¤«¤é 6 ·î¤Ë¤ª¤±¤ë³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (47 ¥¨¥ó¥È¥ê) ¤¬
<a href="&enbase;/news/status/report-2010-04-2010-06.html">
¸ø³« </a> ¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
<day>
<name>21</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:andrew@FreeBSD.org">Andrew Turner</a> (src)</p>
</event>
</day>
<day>
<name>20</name>
<event>
<title>PC-BSD 8.1 ¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤Þ¤·¤¿</title>
<p>PC-BSD 8.1 ¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤Þ¤·¤¿¡£
PC-BSD ¤Ï¡¢FreeBSD ¥Ù¡¼¥¹¤Î¥Ç¥¹¥¯¥È¥Ã¥×¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥·¥¹¥Æ¥à¤Ç¡¢
¥«¥¸¥å¥¢¥ë¤Ê¥³¥ó¥Ô¥å¡¼¥¿¥æ¡¼¥¶¤¬¥Ç¥¹¥¯¥È¥Ã¥×¥·¥¹¥Æ¥à¤ò´Êñ¤Ë»È¤¨¤ë¤³¤È¤òÌܻؤ·¤Æ¤¤¤Þ¤¹¡£
°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤«¤é¤Î¿·¤·¤¤µ¡Ç½¤ä¹¹¿·¤Î°ìÍ÷¤Ï
<a href="http://www.pcbsd.org/content/view/170/11/">¤³¤³</a>
¤Ë¤¢¤ê¤Þ¤¹¡£</p>
<p>¿·¤·¤¤¥ê¥ê¡¼¥¹¤ò <a
href="http://www.pcbsd.org">¥À¥¦¥ó¥í¡¼¥É</a> ¤·¤¿¤ê DVD ¤ò <a
href="http://www.freebsdmall.com">¹ØÆþ</a> ¤Ç¤­¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>17</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:tijl@FreeBSD.org">Tijl Coosemans</a> (src)</p>
</event>
</day>
<day>
<name>15</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:jsa@FreeBSD.org">Joseph S. Atkinson</a> (ports)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<title>¿·¤·¤¤ &os; ¥³¥¢¥Á¡¼¥à¤¬Áª½Ð¤µ¤ì¤Þ¤·¤¿</title>
<p>&os; ¥×¥í¥¸¥§¥¯¥È¤Ï¡¢
2010 ¥³¥¢¥Á¡¼¥àÁªµó¤Î½ªÎ»¤ò¤ªÃΤ餻¤·¤Þ¤¹¡£
&os; ¥³¥¢¥Á¡¼¥à¤Ï¡¢"¼èÄùÌò" ¤Ë¤¢¤¿¤ë¤â¤Î¤Ç¤¹¡£
¿·¤·¤¤ src ¥³¥ß¥Ã¥¿¤Î¾µÇ§¡¢³«È¯¼Ô´Ö¤ÎÂÐΩ¤¬¤¢¤Ã¤¿¾ì¹ç¤ÎÄ´Ää¡¢
ÆÃÄê¤ÎÈϰϤΥµ¥Ö¥³¥ß¥Ã¥¿ (¥»¥­¥å¥ê¥Æ¥£¥ª¥Õ¥£¥µ¡¢¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°¡¢
port ¥Þ¥Í¡¼¥¸¥ã¡¢¥¦¥§¥Ö¥Þ¥¹¥¿¤Ê¤É) ¤ÎǤ̿¡¢
¤Þ¤¿¡¢É¬Íפʺݤϡ¢´ÉÍý¤ª¤è¤ÓÊý¿Ë¤Î·èÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¥³¥¢¥Á¡¼¥à¤Ï¡¢2000 ǯ¤«¤é 2 ǯ¤ª¤­¤Ë &os; ¤Î³«È¯¼Ô¤Ë¤è¤êÁª¤Ð¤ì¤Æ¤¤¤Þ¤¹¡£</p>
<p>Áªµó¤Î¾ÜºÙ (¤ª¤è¤Ó¿·¤·¤¤¥³¥¢¥Á¡¼¥à¤Î¥á¥ó¥Ð¤Î°ìÍ÷) ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
¸ø¼° <a
href="http://docs.freebsd.org/cgi/mid.cgi?20100714193552.GS32232">¥¢¥Ê¥¦¥ó¥¹</a> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>2</name>
<event>
<title>&os; 8.1-RC2 ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>&os;-8.1 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Ë¤ª¤±¤ë 2 ²óÌܤΠ(¤½¤·¤Æ¤ª¤½¤é¤¯ºÇ¸å¤Î)
¥ê¥ê¡¼¥¹¸õÊäÈǤΥӥë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
amd64, i386, ia64, powerpc ¤ª¤è¤Ó sparc64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î
CD ISO ¥¤¥á¡¼¥¸¤Ï¡¢¤Û¤È¤ó¤É¤Î <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¡£
ËÜ¥ê¥ê¡¼¥¹¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸ø¼° <a
href="&lists.stable;/2010-July/057552.html">¥¢¥Ê¥¦¥ó¥¹</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
</month>
<month>
<name>6</name>
<day>
<name>18</name>
<event>
<title>&os; 8.1-RC1 ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>&os;-8.1 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Ë¤ª¤±¤ëºÇ½é¤Î¥ê¥ê¡¼¥¹¸õÊäÈǤΥӥë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
Tier-1 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤Ï¡¢
¤Û¤È¤ó¤É¤Î <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é <a
href="&lists.stable;/2010-June/057320.html">Æþ¼ê</a>
¤Ç¤­¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>10</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:ashish@FreeBSD.org">Ashish SHUKLA</a> (ports)</p>
</event>
</day>
<day>
<name>9</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:bf@FreeBSD.org">Brendan Fabeny</a> (ports)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:mdf@FreeBSD.org">Matthew Fleming</a> (src)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:ae@FreeBSD.org">Andrey V. Elsukov</a> (src)</p>
</event>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:taras@FreeBSD.org">Taras Korenko</a> (doc/ru, www/ru)</p>
</event>
</day>
</month>
<month>
<name>5</name>
<day>
<name>29</name>
<event>
<title>&os; 8.1-BETA1 ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>&os;-8.1 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤ÎºÇ½é¤Î BETA ¥Ó¥ë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
Tier-1 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤Ï¡¢
¤Û¤È¤ó¤É¤Î <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é <a
href="&lists.stable;/2010-May/057040.html">Æþ¼ê</a>
¤Ç¤­¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>24</name>
<event>
<title>Google Summer of Code ¥×¥í¥¸¥§¥¯¥È¤¬»Ï¤Þ¤ê¤Þ¤·¤¿</title>
<p>FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ï¡¢º£Ç¯¤â
<a href="http://code.google.com/soc">Google's Summer of
Code</a> ¥×¥í¥°¥é¥à¤Ë»²²Ã¤¹¤ë³ØÀ¸¤¿¤Á¤«¤é¤Î¼Á¤Î¹â¤¤±þÊç¤ò¼õ¤±¤Þ¤·¤¿¡£
º£Ç¯¤Ï¡¢¤³¤Î¥×¥í¥°¥é¥à¤Î°ì´Ä¤È¤·¤Æ FreeBSD ¥×¥í¥¸¥§¥¯¥È¤È°ì½ï¤Ë³«È¯¤ò¹Ô¤¦
18 ¿Í¤Î³ØÀ¸¤ÎÄ󰯤¬ºÎÍѤµ¤ì¤Þ¤·¤¿¡£
º£Ç¯ºÎÍѤµ¤ì¤Ê¤«¤Ã¤¿¥×¥í¥¸¥§¥¯¥È¤ËÂФ·¤Æ¤â¡¢
FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ï¡¢
¤¤¤Ä¤Ç¤âÄ̾ï¤Î¥³¥ß¥å¥Ë¥Æ¥£¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤ä³«È¯¥Õ¥©¡¼¥é¥à¤òÄ̤·¤Æ¡¢
³ØÀ¸¤¿¤Á¤¬¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î³«È¯¤ò¤è¤ê¿¤¯³Ø¤Ù¤ë¤è¤¦¤Ë¼ê½õ¤±¤ò¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£</p>
<p>¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸ø¼° <a
href="http://docs.freebsd.org/cgi/mid.cgi?20100526034329.GA40980">¥¢¥Ê¥¦¥ó¥¹</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
Áª¤Ð¤ì¤¿³ØÀ¸¤Î¥×¥í¥¸¥§¥¯¥È°ìÍ÷¤Ï¡¢FreeBSD <a
href="http://wiki.freebsd.org/SummerOfCode2010Projects">Summer
of Code wiki</a> ¤Ë¤¢¤ê¤Þ¤¹¡£
¥³¡¼¥Ç¥£¥ó¥°¤Ï 5 ·î 24 Æü¤«¤é³«»Ï¤·¤Þ¤¹¡£
18 ¿Í¤Î³ØÀ¸¤¿¤Á¤¬¿·¤·¤¯²æ¡¹¤Î¥³¥ß¥å¥Ë¥Æ¥£¤Ø»²²Ã¤¹¤ë¤³¤È¤ò°ì½ï¤Ë´¿·Þ¤·¤Æ¤¯¤À¤µ¤¤¡£
</p>
</event>
</day>
<day>
<name>19</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:jchandra@FreeBSD.org">Jayachandran C.</a> (src)</p>
</event>
</day>
</month>
<month>
<name>4</name>
<day>
<name>29</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¤ÎÈϰϤγÈÂç: <a
href="mailto:mm@FreeBSD.org">Martin Matu&scaron;ka</a>
(src, ports)</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2010 ǯ 1 ·î - 3 ·î)</title>
<p>2010 ǯ 1 ·î ¤«¤é 3 ·î¤Ë¤ª¤±¤ë³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (46 ¥¨¥ó¥È¥ê) ¤¬
<a href="&enbase;/news/status/report-2010-01-2010-03.html">
¸ø³« </a> ¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
<day>
<name>20</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:randi@FreeBSD.org">Randi Harper</a> (src)</p>
</event>
</day>
<day>
<name>19</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:rstone@FreeBSD.org">Ryan Stone</a> (src)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:anchie@FreeBSD.org">Ana Kukec</a> (src)</p>
</event>
</day>
<day>
<name>11</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¤ÎÈϰϤγÈÂç: <a
href="mailto:rene@FreeBSD.org">Ren&eacute; Ladan</a>
(doc-nl, ports)</p>
</event>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:sahil@FreeBSD.org">Sahil Tandon</a> (ports)</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:jacula@FreeBSD.org">Giuseppe Pilichi</a> (ports)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<title>&os; ¥×¥í¥¸¥§¥¯¥È¤Ï Google Summer of Code 2010 ¤Ë»²²Ã¤·¤Þ¤¹</title>
<p>&os; ¥×¥í¥¸¥§¥¯¥È¤Ï¡¢6 ǯϢ³¤Ç
<a href="http://docs.freebsd.org/cgi/getmsg.cgi?fetch=0+0+archive/2010/freebsd-announce/20100404.freebsd-announce">Google Summer of Code ¥×¥í¥°¥é¥à¤Ë»²²Ã¤·¤Þ¤¹¡£</a>
Âç³ØÀ¸¤äÂç³Ø±¡À¸¤Î¤ß¤Ê¤µ¤ó¤Ï¤³¤Î¾©³Ø¶â¤Ë±þÊ礷¤Æ¡¢
¤³¤Î²Æ¤Ï &os; ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Î²þÎɤËÌÀ¤±Êë¤ì¤Æ¤¯¤À¤µ¤¤!
¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢
<a href="&enbase;/projects/summerofcode.html">&os; Summer of
code ¥Ú¡¼¥¸</a> ¤ò¤´Í÷¤¯¤À¤µ¤¤¡£
¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¥Ý¥¹¥¿¡¼¤â¤¢¤ë¤Î¤Ç¡¢¶á¤¯¤ÎÂç³Ø¤ËÄ¥¤Ã¤Æ¤¯¤À¤µ¤¤¤Í!</p>
</event>
</day>
</month>
<month>
<name>3</name>
<day>
<name>31</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:decke@FreeBSD.org">Bernhard
Fr&ouml;hlich</a> (ports)</p>
</event>
</day>
<day>
<name>23</name>
<event>
<title>FreeBSD 7.3-RELEASE ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p><a href="&enbase;/releases/7.3R/announce.html">FreeBSD
7.3-RELEASE</a> ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
¥¤¥ó¥¹¥È¡¼¥ëÁ°¤Ë
<a href="&enbase;/releases/7.3R/relnotes.html">¥ê¥ê¡¼¥¹¥Î¡¼¥È</a>
¤ª¤è¤Ó <a href="&enbase;/releases/7.3R/errata.html">Errata</a>
¤òÆÉ¤ó¤Ç¡¢7.3 ¤Ë¤Ä¤¤¤Æ¤ÎºÇ¿·¾ðÊó¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
FreeBSD ¤Î¥ê¥ê¡¼¥¹¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï
<a href="&base;/releases/index.html">¥ê¥ê¡¼¥¹¾ðÊó</a>
¤ò¤´Í÷¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>18</name>
<event>
<title>¿· Ports Management Team Secretary ½¢Ç¤: <a href="mailto:tabthorpe@FreeBSD.org">Thomas Abthorpe</a></title>
<p>&os; Ports Management Team ¤Ï¡¢<a href="mailto:tabthorpe@FreeBSD.org">Thomas Abthorpe</a>
¤Î <a href="mailto:portmgr-secretary@FreeBSD.org">Ports Management Team Secretary</a> ½¢Ç¤¤ò¤ªÃΤ餻¤·¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>¥³¥ß¥Ã¥¿Éüµ¢: <a href="mailto:niels@FreeBSD.org">Niels Heinen</a> (ports)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<title>&os; 7.3-RC2 ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>&os;-7.3 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Ë¤ª¤±¤ë 2 ²óÌܤÎ
¥ê¥ê¡¼¥¹¸õÊäÈǤΥӥë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
Tier-1 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤Ï¡¢
¤Û¤È¤ó¤É¤Î <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é <a
href="&lists.stable;/2010-March/055596.html">Æþ¼ê</a>
¤Ç¤­¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:neel@FreeBSD.org">Neel
Natu</a> (src)</p>
</event>
</day>
</month>
<month>
<name>2</name>
<day>
<name>22</name>
<event>
<title>PC-BSD 8.0 ¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤Þ¤·¤¿</title>
<p>PC-BSD 8.0 ¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤Þ¤·¤¿¡£
PC-BSD ¤Ï¡¢FreeBSD ¥Ù¡¼¥¹¤Î¥Ç¥¹¥¯¥È¥Ã¥×¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥·¥¹¥Æ¥à¤Ç¡¢
¥«¥¸¥å¥¢¥ë¤Ê¥³¥ó¥Ô¥å¡¼¥¿¥æ¡¼¥¶¤¬¥Ç¥¹¥¯¥È¥Ã¥×¥·¥¹¥Æ¥à¤ò´Êñ¤Ë»È¤¨¤ë¤³¤È¤òÌܻؤ·¤Æ¤¤¤Þ¤¹¡£
°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤«¤é¤Î¿·¤·¤¤µ¡Ç½¤ä¹¹¿·¤Î°ìÍ÷¤Ï
<a href="http://www.pcbsd.org/content/view/151/11/">¤³¤³</a>
¤Ë¤¢¤ê¤Þ¤¹¡£</p>
<p>¿·¤·¤¤¥ê¥ê¡¼¥¹¤ò <a
href="http://www.pcbsd.org">¥À¥¦¥ó¥í¡¼¥É</a> ¤·¤¿¤ê DVD ¤ò <a
href="http://www.freebsdmall.com">¹ØÆþ</a> ¤Ç¤­¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>15</name>
<event>
<title>&os; 7.3-RC1 ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>&os;-7.3 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤Ë¤ª¤±¤ëºÇ½é¤Î¥ê¥ê¡¼¥¹¸õÊäÈǤΥӥë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
Tier-1 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤Ï¡¢
¤Û¤È¤ó¤É¤Î <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é <a
href="&lists.stable;/2010-February/055146.html">Æþ¼ê</a>
¤Ç¤­¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>¥³¥ß¥Ã¥È¸¢¤ÎÈϰϤγÈÂç: <a
href="mailto:bcr@FreeBSD.org">Benedict Reuschling</a>
(full doc/www)</p>
</event>
</day>
<day>
<name>6</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:bschmidt@FreeBSD.org">Bernhard
Schmidt</a> (src)</p>
</event>
</day>
<day>
<name>2</name>
<event>
<title>¥³¥ß¥Ã¥È¸¢¤ÎÈϰϤγÈÂç:
<a href="mailto:gabor@FreeBSD.org">G&aacute;bor K&ouml;vesd&aacute;n</a>
(src, ports, doc)</title>
<p><a href="mailto:gabor@FreeBSD.org">G&aacute;bor K&ouml;vesd&aacute;n</a>
¤Ï¡¢2008/2009 ǯ¤Î
<a href="http://code.google.com/soc">Google Summer of Code</a>
¤Ë»²²Ã¤·¡¢¤³¤Î³èư¤Ë¤è¤ê¡¢¥½¡¼¥¹¥³¡¼¥É¤ËÂФ¹¤ë¥³¥ß¥Ã¥È¸¢¤òÍ¿¤¨¤é¤ì¤Þ¤·¤¿¡£
ºÇ½é¤Îºî¶È¤Ï¡¢GSoC ¤Î·ë²Ì¤ò¥Ä¥ê¡¼¤ËÈ¿±Ç¤µ¤»¤ëͽÄê¤Ç¤¹¡£</p>
</event>
</day>
</month>
<month>
<name>1</name>
<day>
<name>30</name>
<event>
<title>&os; 7.3-BETA1 ¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿</title>
<p>&os;-7.3 ¥ê¥ê¡¼¥¹¥µ¥¤¥¯¥ë¤ÎºÇ½é¤Î BETA ¥Ó¥ë¥É¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
Tier-1 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î ISO ¥¤¥á¡¼¥¸¤Ï¡¢
¤Û¤È¤ó¤É¤Î <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
¥ß¥é¡¼¥µ¥¤¥È</a>
¤«¤é <a
href="&lists.stable;/2010-January/054608.html">Æþ¼ê</a>
¤Ç¤­¤Þ¤¹¡£</p>
</event>
</day>
<day>
<name>29</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:brucec@FreeBSD.org">Bruce
Cran</a> (src)</p>
</event>
</day>
<day>
<name>28</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:uqs@FreeBSD.org">Ulrich
Sp&ouml;rlein</a> (src)</p>
</event>
</day>
<day>
<name>26</name>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:romain@FreeBSD.org">Romain
Tarti&egrave;re</a> (ports)</p>
</event>
<event>
<p>¿·¥³¥ß¥Ã¥¿½¢Ç¤: <a href="mailto:avilla@FreeBSD.org">Alberto
Villa</a> (ports)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<title>³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (2009 ǯ 10 ·î - 12 ·î)</title>
<p>2009 ǯ 10 ·î ¤«¤é 12 ·î¤Ë¤ª¤±¤ë³«È¯¿ÊĽ¥ì¥Ý¡¼¥È (38 ¥¨¥ó¥È¥ê) ¤¬
<a href="&enbase;/news/status/report-2009-10-2009-12.html">
¸ø³«</a> ¤µ¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
</month>
</year>
<year>
<name>2002</name>
<month>
<name>1</name>
<day>
<name>12</name>
<event>
<title>Íè¤ë 4.5 ¥ê¥ê¡¼¥¹Íѥƥ¹¥È¥¬¥¤¥É</title>
<p>FreeBSD 4.5 ¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°¥Á¡¼¥à¤Ï
Íè¤ë FreeBSD 4.5 ¥ê¥ê¡¼¥¹ÍѤÎ
<a href="&base;/releases/4.5R/qa.html">¥Æ¥¹¥È¥¬¥¤¥É</a>
¤ò¸ø³«¤·¤Þ¤·¤¿¡£
4.5 ¤¬º£¤Þ¤Ç¤Ë¤Ê¤¤°ÂÄêÀ­¤ò»ý¤Á¡¢¹âÀ­Ç½¤ò¼¨¤¹¤è¤¦¤Ë
²æ¡¹¤ò»Ù±ç¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
</event>
</day>
<day>
<name>10</name>
<event>
<title>¿·¥Á¥å¡¼¥È¥ê¥¢¥ë: "FreeBSD ¤Ç¥æ¡¼¥íµ­¹æ"</title>
<p>Aaron Kaplan ¤Ï FreeBSD ¤Ç¿·¤·¤¤
<a href="http://docs.freebsd.org/doc/9.0-RELEASE/usr/share/doc/freebsd/en_US.ISO8859-1/articles/euro/index.html">
¥æ¡¼¥íµ­¹æ¤ò»È¤¦</a> ÍѤ˥·¥¹¥Æ¥à¤òÀßÄꤹ¤ëÊýË¡¤ò
µ­½Ò¤·¤¿µ­»ö¤ò´ó¹Æ¤·¤Æ¤¯¤ì¤Þ¤·¤¿¡£</p>
</event>
</day>
</month>
</year>
</news>
Index: projects/zfsupdate-201307/ja_JP.eucJP/share/xml/release.l10n.ent
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP/share/xml/release.l10n.ent (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP/share/xml/release.l10n.ent (revision 42804)
@@ -1,150 +1,150 @@
<?xml version="1.0" encoding="euc-jp"?>
<!--
$FreeBSD$
- Original revision: r42493
+ Original revision: r42678
-->
<![%beta2.testing;[
<!ENTITY beta.second '
<table xmlns="http://www.w3.org/1999/xhtml" class="tblbasic">
<thead>
<tr style="text-align: center;">
<td colspan="2">¥Ð¡¼¥¸¥ç¥ó¤È¥×¥é¥Ã¥È¥Õ¥©¡¼¥à</td>
<td>ÇÛÉÛ¸µ</td>
<td title="ISO9660 CD image"><a href="&enbase;/doc/ja_JP.eucJP/books/handbook/install-diff-media.html#install-cdrom">ISO</a></td>
- <td>TODO List</td>
+ <!--<td>TODO List</td>-->
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">FreeBSD &betarel2.current;-&betarel2.vers;</td>
<td colspan="2"></td>
- <td><a href="&enbase;/releases/&betarel2.current;R/todo.html">[View]</a></td>
+ <!--<td><a href="&enbase;/releases/&betarel2.current;R/todo.html">[View]</a></td>-->
- <td rowspan="7"><a href="http://wiki.freebsd.org/Releng/7.4TODO">[View]</a></td>
+ <!--<td rowspan="7"><a href="http://wiki.freebsd.org/Releng/7.4TODO">[View]</a></td>-->
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/amd64/&betarel2.current;-&betarel2.vers;">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/amd64/amd64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/i386/&betarel2.current;-&betarel2.vers;">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/i386/i386/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>ia64</td>
- <td>a href="&url.rel;/ia64/ia64/&betarel2.current;-&betarel2.vers;">[ÇÛÉÛ¸µ]</a></td>
+ <td><a href="&url.rel;/ia64/ia64/&betarel2.current;-&betarel2.vers;">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/ia64/ia64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc</td>
<td><a href="&url.rel;/powerpc/powerpc/&betarel2.current;-&betarel2.vers;">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/powerpc/powerpc/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc64</td>
<td><a href="&url.rel;/powerpc/powerpc64/&betarel2.current;-&betarel2.vers;">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/powerpc/powerpc64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/sparc64/&betarel2.current;-&betarel2.vers;">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/sparc64/sparc64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
</tbody>
</table>
'>
]]>
<!ENTITY beta.second ''>
<![%beta.testing;[
<!ENTITY beta.desc '
<div xmlns="http://www.w3.org/1999/xhtml">
<a name="helptest"></a>
<h2>¼¡²ó¤Î FreeBSD ¥ê¥ê¡¼¥¹¤ò¼êÅÁ¤¦</h2>
<p>»ä¤¿¤Á¤Î³«È¯¼Ô¤È¥ê¥ê¡¼¥¹¥¨¥ó¥¸¥Ë¥¢Ã£¤Ï¡¢
FreeBSD ¤Î¼¡¤Î¥ê¥ê¡¼¥¹¤Ë¸þ¤±¤Æºî¶È¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
¥Æ¥¹¥È¤Ë¶½Ì£¤¬¤¢¤ë¤Î¤Ê¤é¡¢ºÇ¿·¤Î¥Ó¥ë¥É¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
ÅöÁ³¤Î¤³¤È¤Ç¤¹¤¬¡¢¤³¤ì¤é¤Î¥¤¥á¡¼¥¸¤Ï¥Æ¥¹¥ÈÌÜŪ¤Ç¤¢¤ê¡¢
¶È̳´Ä¶­¤Ç¤Ï»ÈÍѤ¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¤È¸À¤¦¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£</p>
<table class="tblbasic">
<thead>
<tr style="text-align: center;">
<td colspan="2">¥Ð¡¼¥¸¥ç¥ó¤È¥×¥é¥Ã¥È¥Õ¥©¡¼¥à</td>
<td>ÇÛÉÛ¸µ</td>
<td title="ISO9660 CD image"><a href="&enbase;/doc/ja_JP.eucJP/books/handbook/install-diff-media.html#install-cdrom">ISO</a></td>
<!--<td>¥¹¥Æ¡¼¥¿¥¹¥Ú¡¼¥¸</td>-->
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">FreeBSD &betarel.current;-&betarel.vers;</td>
<td colspan="2"></td>
<!--<td rowspan="7"><a href="http://wiki.freebsd.org/Releng/&betarel.current;TODO">[View]</a></td>-->
</tr>
<tr>
<td></td>
<td>amd64<br/>(x86-64, x64)</td>
<td><a href="&url.rel;/amd64/amd64/&betarel.current;-&betarel.vers;">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/amd64/amd64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/i386/&betarel.current;-&betarel.vers;">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/i386/i386/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>ia64</td>
<td><a href="&url.rel;/ia64/ia64/&betarel.current;-&betarel.vers;">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/ia64/ia64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<!--
<tr>
<td></td>
<td>pc98</td>
<td><a href="&url.rel;/pc98/i386/&betarel.current;-&betarel.vers;">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/pc98/i386/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
-->
<tr>
<td></td>
<td>powerpc</td>
<td><a href="&url.rel;/powerpc/powerpc/&betarel.current;-&betarel.vers;">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/powerpc/powerpc/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc64</td>
<td><a href="&url.rel;/powerpc/powerpc64/&betarel.current;-&betarel.vers;">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/powerpc/powerpc64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/sparc64/&betarel.current;-&betarel.vers;">[ÇÛÉÛ¸µ]</a></td>
<td><a href="&url.rel;/sparc64/sparc64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
</tbody>
</table>
&beta.second;
</div>
'>
]]>
<!ENTITY beta.desc ''>
Index: projects/zfsupdate-201307/ja_JP.eucJP
===================================================================
--- projects/zfsupdate-201307/ja_JP.eucJP (revision 42803)
+++ projects/zfsupdate-201307/ja_JP.eucJP (revision 42804)
Property changes on: projects/zfsupdate-201307/ja_JP.eucJP
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
Merged /head/ja_JP.eucJP:r42573-42802
Index: projects/zfsupdate-201307/mn_MN.UTF-8/share/xml/teams.ent
===================================================================
--- projects/zfsupdate-201307/mn_MN.UTF-8/share/xml/teams.ent (revision 42803)
+++ projects/zfsupdate-201307/mn_MN.UTF-8/share/xml/teams.ent (revision 42804)
@@ -1,58 +1,60 @@
<!--
The FreeBSD Mongolian Documentation Project
Original revision 1.19
$FreeBSD$
Names and email address of teams of people working on specified
tasks. Usually they're just mail aliases set up at hub.FreeBSD.org
Use these entities when referencing appropriate teams.
Please keep this list in alphabetical order by entity names.
IMPORTANT: If you delete names from this file you *must* ensure that
all references to them have been removed from the handbook's
translations. If they haven't then you *will* break the
builds for the other languages, and we will poke fun of you
in public.
-->
<!ENTITY a.admins "FreeBSD-ийн Администраторууд <email>admins@FreeBSD.org</email>">
<!ENTITY a.bugmeister "Асуудлын тайлангийн мэдээллийн баазын администраторууд <email>bugmeister@FreeBSD.org</email>">
<!ENTITY a.core-secretary "Гол багийн нарийн бичиг <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.cvsadm "CVS архивын Администраторууд <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.cvsup-master "CVSup Толин Тусгал сайтын Зохицуулагч <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.dcvs "Баримтын CVS архивын Администраторууд <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.doceng "Баримтжуулалт Инженерчлэлийн Баг <email>doceng@FreeBSD.org</email>">
<!ENTITY a.donations "Хандив хүлээн авах оффис <email>donations@FreeBSD.org</email>">
<!ENTITY a.faq "FAQ Арчлагч <email>faq@FreeBSD.org</email>">
<!ENTITY a.ftp-master "FTP Толин Тусгал сайтын Зохицуулагч <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.mirror-admin "FTP/WWW Толин Тусгал сайтын Зохицуулагч <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.ncvs "Эх кодын CVS архивын Администраторууд <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.perforce-admin "Perforce архивын Администраторууд <email>perforce-admin@FreeBSD.org</email>">
<!ENTITY a.pcvs "Портын CVS архивын Администраторууд <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.portmgr "Портын Удирдлагын Баг <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.portmgr-secretary "Портын Удирдлагын Багийн Нарийн бичиг <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.projcvs "Гуравдагчдын Төслүүдийн CVS архивын Администраторууд <email>projcvs@FreeBSD.org</email>">
<!ENTITY a.re "Хувилбар Инженерчлэлийн Баг <email>re@FreeBSD.org</email>">
+<!ENTITY a.secteam-secretary "Security Team Secretary <email>secteam-secretary@FreeBSD.org</email>">
+
<!ENTITY a.security-officer "Аюулгүй байдлын Түшмэдийн Баг <email>security-officer@FreeBSD.org</email>">
Index: projects/zfsupdate-201307/mn_MN.UTF-8
===================================================================
--- projects/zfsupdate-201307/mn_MN.UTF-8 (revision 42803)
+++ projects/zfsupdate-201307/mn_MN.UTF-8 (revision 42804)
Property changes on: projects/zfsupdate-201307/mn_MN.UTF-8
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
Merged /head/mn_MN.UTF-8:r42573-42802
Index: projects/zfsupdate-201307/nl_NL.ISO8859-1/share/xml/release.l10n.ent
===================================================================
--- projects/zfsupdate-201307/nl_NL.ISO8859-1/share/xml/release.l10n.ent (revision 42803)
+++ projects/zfsupdate-201307/nl_NL.ISO8859-1/share/xml/release.l10n.ent (revision 42804)
@@ -1,127 +1,127 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<![%beta2.testing;[
<!ENTITY beta.plural.n 'n'>
<!ENTITY beta.plural.s 's'>
]]>
<!ENTITY beta.plural.n ''>
<!ENTITY beta.plural.s ''>
<![%beta2.testing;[
<!ENTITY beta.second '
<table xmlns="http://www.w3.org/1999/xhtml" class="tblbasic">
<thead>
<tr style="text-align: center;">
<td colspan="2">Versie &amp; platform</td>
<td>Distributie</td>
<td title="ISO9960 CD-beeld"><a href="&enbase;/doc/nl_NL.ISO8859-1/books/handbook/install-diff-media.html#INSTALL-CDROM">ISO</a></td>
<td>TODO-lijst</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">&os; &betarel2.current;-&betarel2.vers;</td>
<td colspan="2"></td>
- <td>a href="&enbase;/releases/&betarel2.current;R/todo.html">[Bekijk]</a>
+ <td><a href="&enbase;/releases/&betarel2.current;R/todo.html">[Bekijk]</a></td>
<td rowspan="7"><a href="http://wiki.freebsd.org/Releng/7.4TODO">[Bekijk]</a></td>
</tr>
<tr>
<td></td>
<td>amd64</td>
<td><a href="&url.rel;/amd64/amd64/&betarel2.current;-&betarel2.vers;">[Distributie]</a></td>
<td><a href="&url.rel;/amd64/amd64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/i386/&betarel2.current;-&betarel2.vers;">[Distributie]</a></td>
<td><a href="&url.rel;/i386/i386/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>ia64</td>
<td><a href="&url.rel;/ia64/ia64/&betarel2.current;-&betarel2.vers;">[Distributie]</a></td>
<td><a href="&url.rel;/ia64/ia64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc</td>
<td><a href="&url.rel;/powerpc/powerpc/&betarel2.current;-&betarel2.vers;">[Distributie]</a></td>
<td><a href="&url.rel;/powerpc/powerpc/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc64</td>
<td><a href="&url.rel;/powerpc/powerpc64/&betarel2.current;-&betarel2.vers;">[Distributie]</a></td>
<td><a href="&url.rel;/powerpc/powerpc64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/sparc64/&betarel2.current;-&betarel2.vers;">[Distributie]</a></td>
<td><a href="&url.rel;/sparc64/sparc64/ISO-IMAGES/&betarel2.current;/">[ISO]</a></td>
</tr>
</tbody>
</table>
'>
]]>
<!ENTITY beta.second ''>
<![%beta.testing;[
<!ENTITY beta.desc '
<div xmlns="http://www.w3.org/1999/xhtml">
<a name="helptest"></a>
<h2>Help met de volgende &os;-uitgave&beta.plural.n;</h2>
<p>Ontwikkelaars en uitgavebeheerders werken aan de volgende
uitgave&beta.plural.n; van &os;. Als u mee wilt helpen met
testen, download dan de laatste build&beta.plural.s;. Let
wel dat deze beelden bedoeld zijn voor testen en niet gebruikt horen
te worden in productie-omgevingen.</p>
<table class="tblbasic">
<thead>
<tr style="text-align: center;">
<td colspan="2">Versie &amp; platform</td>
<td>Distributie</td>
<td title="ISO9660 CD-beeld"><a href="&enbase;/doc/nl_NL.ISO8859-1/books/handbook/install-diff-media.html#INSTALL-CDROM">ISO</a></td>
<td>Statuspagina</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">&os; &betarel.current;-&betarel.vers;</td>
<td colspan="2"></td>
<td rowspan="7"><a href="http://wiki.freebsd.org/Releng/&betarel.current;TODO">[Bekijk]</a></td>
</tr>
<tr>
<td></td>
<td>amd64</td>
<td><a href="&url.rel;/amd64/amd64/&betarel.current;-&betarel.vers;">[Distributie]</a></td>
<td><a href="&url.rel;/amd64/amd64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>i386</td>
<td><a href="&url.rel;/i386/i386/&betarel.current;-&betarel.vers;">[Distributie]</a></td>
<td><a href="&url.rel;/i386/i386/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>powerpc64</td>
<td><a href="&url.rel;/powerpc/powerpc64/&betarel.current;-&betarel.vers;">[Distributie]</a></td>
<td><a href="&url.rel;/powerpc/powerpc64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
<tr>
<td></td>
<td>sparc64</td>
<td><a href="&url.rel;/sparc64/sparc64/&betarel.current;-&betarel.vers;">[Distributie]</a></td>
<td><a href="&url.rel;/sparc64/sparc64/ISO-IMAGES/&betarel.current;/">[ISO]</a></td>
</tr>
</tbody>
</table>
&beta.second;
</div>
'>
]]>
<!ENTITY beta.desc ''>
Property changes on: projects/zfsupdate-201307/nl_NL.ISO8859-1/share/xml/release.l10n.ent
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+on
\ No newline at end of property
Index: projects/zfsupdate-201307/nl_NL.ISO8859-1/share/xml/teams.ent
===================================================================
--- projects/zfsupdate-201307/nl_NL.ISO8859-1/share/xml/teams.ent (revision 42803)
+++ projects/zfsupdate-201307/nl_NL.ISO8859-1/share/xml/teams.ent (revision 42804)
@@ -1,53 +1,55 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Dutch Documentation Project
Namen en emailadressen van teams van mensen die aan specifieke taken
werken. Gewoonlijk zijn het alleen de mailaliassen zoals ze op
hub.FreeBSD.org zijn ingesteld.
Gebruik deze entiteiten bij het verwijzen naar de juiste teams.
Houd deze lijst alstublieft in alfabetische volgorde van entiteitsnamen.
$FreeBSD$
%SOURCE% en_US.ISO8859-1/share/xml/teams.ent
%SRCID% 39697
-->
<!ENTITY a.admins "&os; Beheerders <email>admins@FreeBSD.org</email>">
<!ENTITY a.bugmeister "Beheerders van de probleemrapportendatabase <email>bugmeister@FreeBSD.org</email>">
<!ENTITY a.core-secretary "Secretaris van het Core Team <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.cvsadm "CVS reservoir Meisters <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.cvsup-master "Coördinator van de CVSup spiegelsites <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.doceng "Documentatie Engineering Team <email>doceng@FreeBSD.org</email>">
<!ENTITY a.donations "Liaisonkantoor voor donaties <email>donations@FreeBSD.org</email>">
<!ENTITY a.faq "FAQ-beheerder <email>faq@FreeBSD.org</email>">
<!ENTITY a.ftp-master "Coördinator van de FTP spiegelsites <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.mirror-admin "Coördinator van de FTP/WWW spiegelsites <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.ncvs "CVS src reservoir Meisters <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.perforce-admin "Perforce reservoir Meisters <email>perforce-admin@FreeBSD.org</email>">
<!ENTITY a.pcvs "CVS ports reservoir Meisters <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.portmgr "Ports Beheerteam <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.portmgr-secretary "Secretaris van het Ports Beheerteam <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.projcvs "CVS reservoir Meisters voor projecten van derde partijen <email>projcvs@FreeBSD.org</email>">
<!ENTITY a.re "Uitgave Engineeringteam <email>re@FreeBSD.org</email>">
+<!ENTITY a.secteam-secretary "Security Team Secretary <email>secteam-secretary@FreeBSD.org</email>">
+
<!ENTITY a.security-officer "Beveiligingsbeambtenteam <email>security-officer@FreeBSD.org</email>">
Index: projects/zfsupdate-201307/nl_NL.ISO8859-1
===================================================================
--- projects/zfsupdate-201307/nl_NL.ISO8859-1 (revision 42803)
+++ projects/zfsupdate-201307/nl_NL.ISO8859-1 (revision 42804)
Property changes on: projects/zfsupdate-201307/nl_NL.ISO8859-1
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
Merged /head/nl_NL.ISO8859-1:r42573-42802
Index: projects/zfsupdate-201307/pl_PL.ISO8859-2/share/xml/teams.ent
===================================================================
--- projects/zfsupdate-201307/pl_PL.ISO8859-2/share/xml/teams.ent (revision 42803)
+++ projects/zfsupdate-201307/pl_PL.ISO8859-2/share/xml/teams.ent (revision 42804)
@@ -1,152 +1,153 @@
<?xml version="1.0" encoding="iso-8859-2"?>
<!--
The FreeBSD Polish Documentation Project
Nazwiska i adresy e-mail zespo³ów ludzi pracuj±cych nad okre¶lonymi
zadaniami. Zazwyczaj s± to po prostu aliasy mailowe ustawione na hub.FreeBSD.org
Nale¿y u¿ywaæ tych encji odwo³uj±c siê do odpowiednich zespo³ów.
Prosimy utrzymywaæ listê w alfabetycznym porz±dku wed³ug nazwy encji.
WA¯NE: Je¶li usuwasz nazwiska z tego pliku, *musisz* upewniæ siê, ¿e
wszystkie odniesienia do nich zosta³y usuniête z t³umaczeñ
podrêcznika. Je¶li nie zosta³y, *zepsujesz* budowania
w innych jêzykach, a w konsekwencji zostaniesz publicznie
wy¶miany.
$FreeBSD$
Original revision: 1.17
-->
<!ENTITY a.admins "Administratorzy FreeBSD <email>admins@FreeBSD.org</email>">
<!ENTITY a.pl.admins.m "Administratorzy FreeBSD <email>admins@FreeBSD.org</email>">
<!ENTITY a.pl.admins.d "Administratorów FreeBSD <email>admins@FreeBSD.org</email>">
<!ENTITY a.pl.admins.c "Administratorom FreeBSD <email>admins@FreeBSD.org</email>">
<!ENTITY a.pl.admins.b "Administratorów FreeBSD <email>admins@FreeBSD.org</email>">
<!ENTITY a.pl.admins.n "Administratorami FreeBSD <email>admins@FreeBSD.org</email>">
<!ENTITY a.pl.admins.ms "Administratorach FreeBSD <email>admins@FreeBSD.org</email>">
<!ENTITY a.core-secretary "Sekretariat zespo³u g³ównego <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.pl.core-secretary.m "Sekretariat zespo³u g³ównego <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.pl.core-secretary.d "Sekretariatu zespo³u g³ównego <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.pl.core-secretary.c "Sekretariatowi zespo³u g³ównego <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.pl.core-secretary.b "Sekretariat zespo³u g³ównego <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.pl.core-secretary.n "Sekretariatem zespo³u g³ównego <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.pl.core-secretary.ms "Sekretariacie zespo³u g³ównego <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.cvsadm "Mistrzowie repozytorium CVS <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.pl.cvsadm.m "Mistrzowie repozytorium CVS <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.pl.cvsadm.d "Mistrzów repozytorium CVS <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.pl.cvsadm.c "Mistrzom repozytorium CVS <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.pl.cvsadm.b "Mistrzów repozytorium CVS <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.pl.cvsadm.n "Mistrzami repozytorium CVS <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.pl.cvsadm.ms "Mistrzach repozytorium CVS <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.cvsup-master "Koordynator serwerów lustrzanych CVSup <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.pl.cvsup-master.m "Koordynator serwerów lustrzanych CVSup <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.pl.cvsup-master.d "Koordynatora serwerów lustrzanych CVSup <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.pl.cvsup-master.c "Koordynatorowi serwerów lustrzanych CVSup <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.pl.cvsup-master.b "Koordynatora serwerów lustrzanych CVSup <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.pl.cvsup-master.n "Koordynatorem serwerów lustrzanych CVSup <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.pl.cvsup-master.ms "Koordynatorze serwerów lustrzanych CVSup <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.dcvs "Mistrzowie repozytorium CVS dokumentacji <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.pl.dcvs.m "Mistrzowie repozytorium CVS dokumentacji <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.pl.dcvs.d "Mistrzów repozytorium CVS dokumentacji <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.pl.dcvs.c "Mistrzom repozytorium CVS dokumentacji <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.pl.dcvs.b "Mistrzów repozytorium CVS dokumentacji <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.pl.dcvs.n "Mistrzami repozytorium CVS dokumentacji <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.pl.dcvs.ms "Mistrzach repozytorium CVS dokumentacji <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.doceng "Zespó³ dokumentacji <email>doceng@FreeBSD.org</email>">
<!ENTITY a.pl.doceng.m "Zespó³ dokumentacji <email>doceng@FreeBSD.org</email>">
<!ENTITY a.pl.doceng.d "Zespo³u dokumentacji <email>doceng@FreeBSD.org</email>">
<!ENTITY a.pl.doceng.c "Zespo³owi dokumentacji <email>doceng@FreeBSD.org</email>">
<!ENTITY a.pl.doceng.b "Zespó³ dokumentacji <email>doceng@FreeBSD.org</email>">
<!ENTITY a.pl.doceng.n "Zespo³em dokumentacji <email>doceng@FreeBSD.org</email>">
<!ENTITY a.pl.doceng.s "Zespole dokumentacji <email>doceng@FreeBSD.org</email>">
<!ENTITY a.donations "Biuro wspó³pracy finansowej <email>donations@FreeBSD.org</email>">
<!ENTITY a.pl.donations.m "Biuro wspó³pracy finansowej <email>donations@FreeBSD.org</email>">
<!ENTITY a.pl.donations.d "Biura wspó³pracy finansowej <email>donations@FreeBSD.org</email>">
<!ENTITY a.pl.donations.c "Biurze wspó³pracy finansowej <email>donations@FreeBSD.org</email>">
<!ENTITY a.pl.donations.b "Biuro wspó³pracy finansowej <email>donations@FreeBSD.org</email>">
<!ENTITY a.pl.donations.n "Biurem wspó³pracy finansowej <email>donations@FreeBSD.org</email>">
<!ENTITY a.pl.donations.ms "Biurze wspó³pracy finansowej <email>donations@FreeBSD.org</email>">
<!ENTITY a.faq "Opiekun FAQ <email>faq@FreeBSD.org</email>">
<!ENTITY a.pl.faq.m "Opiekun FAQ <email>faq@FreeBSD.org</email>">
<!ENTITY a.pl.faq.d "Opiekuna FAQ <email>faq@FreeBSD.org</email>">
<!ENTITY a.pl.faq.c "Opiekunowi FAQ <email>faq@FreeBSD.org</email>">
<!ENTITY a.pl.faq.b "Opiekuna FAQ <email>faq@FreeBSD.org</email>">
<!ENTITY a.pl.faq.n "Opiekunem FAQ <email>faq@FreeBSD.org</email>">
<!ENTITY a.pl.faq.ms "Opiekunie FAQ <email>faq@FreeBSD.org</email>">
<!ENTITY a.ftp-master "Koordynator serwerów lustrzanych FTP <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.pl.ftp-master.m "Koordynator serwerów lustrzanych FTP <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.pl.ftp-master.d "Koordynatora serwerów lustrzanych FTP <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.pl.ftp-master.c "Koordynatorowi serwerów lustrzanych FTP <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.pl.ftp-master.b "Koordynatora serwerów lustrzanych FTP <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.pl.ftp-master.n "Koordynatorem serwerów lustrzanych FTP <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.pl.ftp-master.ms "Koordynatorze serwerów lustrzanych FTP <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.mirror-admin "Koordynator serwerów lustrzanych FTP/WWW <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.pl.mirror-admin.m "Koordynator serwerów lustrzanych FTP/WWW <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.pl.mirror-admin.d "Koordynatora serwerów lustrzanych FTP/WWW <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.pl.mirror-admin.c "Koordynatorowi serwerów lustrzanych FTP/WWW <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.pl.mirror-admin.b "Koordynatora serwerów lustrzanych FTP/WWW <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.pl.mirror-admin.n "Koordynatorem serwerów lustrzanych FTP/WWW <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.pl.mirror-admin.ms "Koordynatorze serwerów lustrzanych FTP/WWW <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.ncvs "Mistrzowie repozytorium CVS ¼róde³ <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.pl.ncvs.m "Mistrzowie repozytorium CVS ¼róde³ <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.pl.ncvs.d "Mistrzów repozytorium CVS ¼róde³ <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.pl.ncvs.c "Mistrzom repozytorium CVS ¼róde³ <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.pl.ncvs.b "Mistrzów repozytorium CVS ¼róde³ <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.pl.ncvs.n "Mistrzami repozytorium CVS ¼róde³ <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.pl.ncvs.ms "Mistrzach repozytorium CVS ¼róde³ <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.perforce-admin "Perforce Repository Meisters <email>perforce-admin@FreeBSD.org</email>">
<!ENTITY a.pcvs "Mistrzowie repozytorium CVS portów <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.pl.pcvs.m "Mistrzowie repozytorium CVS portów <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.pl.pcvs.d "Mistrzów repozytorium CVS portów <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.pl.pcvs.c "Mistrzom repozytorium CVS portów <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.pl.pcvs.b "Mistrzów repozytorium CVS portów <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.pl.pcvs.n "Mistrzami repozytorium CVS portów <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.pl.pcvs.ms "Mistrzach repozytorium CVS portów <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.portmgr "Zespó³ zarz±dzaj±cy portami <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.pl.portmgr.m "Zespó³ zarz±dzaj±cy portami <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.pl.portmgr.d "Zespo³u zarz±dzaj±cego portami <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.pl.portmgr.c "Zespo³owi zarz±dzaj±cemu portami <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.pl.portmgr.b "Zespó³ zarz±dzaj±cy portami <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.pl.portmgr.n "Zespo³em zarz±dzaj±cym portami <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.pl.portmgr.ms "Zespole zarz±dzaj±cym portami <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.portmgr-secretary "Sekretariat zespo³u zarz±dzaj±cego portami <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.pl.portmgr-secretary.m "Sekretariat zespo³u zarz±dzaj±cego portami <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.pl.portmgr-secretary.d "Sekretariatu zespo³u zarz±dzaj±cego portami <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.pl.portmgr-secretary.c "Sekretariatowi zespo³u zarz±dzaj±cego portami <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.pl.portmgr-secretary.b "Sekretariat zespo³u zarz±dzaj±cego portami <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.pl.portmgr-secretary.n "Sekretariatem zespo³u zarz±dzaj±cego portami <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.pl.portmgr-secretary.ms "Sekretariacie zespo³u zarz±dzaj±cego portami <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.projcvs "CVS Third-Party Projects Repository Meisters <email>projcvs@FreeBSD.org</email>">
<!ENTITY a.re "Zespó³ techniczny publikacji <email>re@FreeBSD.org</email>">
<!ENTITY a.pl.re.m "Zespó³ techniczny publikacji <email>re@FreeBSD.org</email>">
<!ENTITY a.pl.re.d "Zespo³u technicznego publikacji <email>re@FreeBSD.org</email>">
<!ENTITY a.pl.re.c "Zespo³owi technicznemu publikacji <email>re@FreeBSD.org</email>">
<!ENTITY a.pl.re.b "Zespó³ techniczny publikacji <email>re@FreeBSD.org</email>">
<!ENTITY a.pl.re.n "Zespo³em technicznym publikacji <email>re@FreeBSD.org</email>">
<!ENTITY a.pl.re.ms "Zespole technicznym publikacji <email>re@FreeBSD.org</email>">
+<!ENTITY a.secteam-secretary "Security Team Secretary <email>secteam-secretary@FreeBSD.org</email>">
<!ENTITY a.security-officer "Zespó³ oficera bezpieczeñstwa <email>security-officer@FreeBSD.org</email>">
<!ENTITY a.pl.security-officer.m "Zespó³ oficera bezpieczeñstwa <email>security-officer@FreeBSD.org</email>">
<!ENTITY a.pl.security-officer.d "Zespo³u oficera bezpieczeñstwa <email>security-officer@FreeBSD.org</email>">
<!ENTITY a.pl.security-officer.c "Zespo³owi oficera bezpieczeñstwa <email>security-officer@FreeBSD.org</email>">
<!ENTITY a.pl.security-officer.b "Zespó³ oficera bezpieczeñstwa <email>security-officer@FreeBSD.org</email>">
<!ENTITY a.pl.security-officer.n "Zespo³em oficera bezpieczeñstwa <email>security-officer@FreeBSD.org</email>">
<!ENTITY a.pl.security-officer.ms "Zespole oficera bezpieczeñstwa <email>security-officer@FreeBSD.org</email>">
Index: projects/zfsupdate-201307/pl_PL.ISO8859-2
===================================================================
--- projects/zfsupdate-201307/pl_PL.ISO8859-2 (revision 42803)
+++ projects/zfsupdate-201307/pl_PL.ISO8859-2 (revision 42804)
Property changes on: projects/zfsupdate-201307/pl_PL.ISO8859-2
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
Merged /head/pl_PL.ISO8859-2:r42573-42802
Index: projects/zfsupdate-201307/ru_RU.KOI8-R/share/xml/teams.ent
===================================================================
--- projects/zfsupdate-201307/ru_RU.KOI8-R/share/xml/teams.ent (revision 42803)
+++ projects/zfsupdate-201307/ru_RU.KOI8-R/share/xml/teams.ent (revision 42804)
@@ -1,61 +1,63 @@
<?xml version="1.0" encoding="koi8-r"?>
<!--
The FreeBSD Russian Documentation Project
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/share/xml/teams.ent,v 1.7 2006/01/06 20:54:08 gad Exp $
Original revision: r26478
-->
<!--
Names and email address of teams of people working on specified
tasks. Usally they're just mail aliases set up at hub.FreeBSD.org
Use these entities when referencing appropriate teams.
Please keep this list in alphabetical order by entity names.
IMPORTANT: If you delete names from this file you *must* ensure that
all references to them have been removed from the handbook's
translations. If they haven't then you *will* break the
builds for the other languages, and we will poke fun of you
in public.
-->
<!ENTITY a.admins "áÄÍÉÎÉÓÔÒÁÔÏÒÙ FreeBSD.org <email>admins@FreeBSD.org</email>">
<!ENTITY a.core-secretary "óÅËÒÅÔÁÒØ CORE <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.cvsadm "áÄÍÉÎÉÓÔÒÁÔÏÒÙ çÌÁ×ÎÏÇÏ CVS òÅÐÏÚÉÔÏÒÉÑ <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.cvsup-master "ëÏÏÒÄÉÎÁÔÏÒ óÅÔÉ óÅÒ×ÅÒÏ× CVSup <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.dcvs "áÄÍÉÎÉÓÔÒÁÔÏÒÙ òÅÐÏÚÉÔÏÒÉÑ äÏËÕÍÅÎÔÁÃÉÉ <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.doceng "çÒÕÐÐÁ íÅÎÅÄÖÅÒÏ× äÅÒÅ×Á äÏËÕÍÅÎÔÁÃÉÉ FreeBSD <email>doceng@FreeBSD.org</email>">
<!ENTITY a.donations "ëÏÏÒÄÉÎÁÔÏÒ ÐÏÖÅÒÔ×Ï×ÁÎÉÊ ÄÌÑ ÐÒÏÅËÔÁ FreeBSD <email>donations@FreeBSD.org</email>">
<!ENTITY a.faq "òÅÄÁËÔÏÒ FAQ <email>faq@FreeBSD.org</email>">
<!ENTITY a.ftp-master "ëÏÏÒÄÉÎÁÔÏÒ óÅÔÉ óÅÒ×ÅÒÏ× FTP <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.mirror-admin "ëÏÏÒÄÉÎÁÔÏÒ óÅÔÉ úÅÒËÁÌ FTP/WWW <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.ncvs "áÄÍÉÎÉÓÔÒÁÔÏÒÙ òÅÐÏÚÉÔÏÒÉÑ éÓÈÏÄÎÙÈ ôÅËÓÔÏ× <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.perforce-admin "áÄÍÉÎÉÓÔÒÁÔÏÒÙ òÅÐÏÚÉÔÏÒÉÑ Perforce <email>perforce-admin@FreeBSD.org</email>">
<!ENTITY a.pcvs "áÄÍÉÎÉÓÔÒÁÔÏÒÙ òÅÐÏÚÉÔÏÒÉÑ ðÏÒÔÏ×<email>pcvs@FreeBSD.org</email>">
<!ENTITY a.portmgr "çÒÕÐÐÁ íÅÎÅÄÖÅÒÏ× äÅÒÅ×Á ðÏÒÔÏ× FreeBSD <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.portmgr-secretary "óÅËÒÅÔÁÒØ çÒÕÐÐÙ ÍÅÎÅÄÖÅÒÏ× ÄÅÒÅ×Á ÐÏÒÔÏ× <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.projcvs "áÄÍÉÎÉÓÔÒÁÔÏÒÙ òÅÐÏÚÉÔÏÒÉÑ ðÒÏÞÉÈ ðÒÏÅËÔÏ× <email>projcvs@FreeBSD.org</email>">
<!ENTITY a.re "çÒÕÐÐÁ ÷ÙÐÕÓËÁ òÅÌÉÚÏ× FreeBSD <email>re@FreeBSD.org</email>">
+<!ENTITY a.secteam-secretary "Security Team Secretary <email>secteam-secretary@FreeBSD.org</email>">
+
<!ENTITY a.security-officer "çÒÕÐÐÁ ïÆÉÃÅÒÏ× âÅÚÏÐÁÓÎÏÓÔÉ <email>security-officer@FreeBSD.org</email>">
<!ENTITY a.www "óÐÉÓÏË ÒÁÓÓÙÌËÉ webmaster'Ï× FreeBSD <email>www@FreeBSD.org</email>">
Index: projects/zfsupdate-201307/ru_RU.KOI8-R
===================================================================
--- projects/zfsupdate-201307/ru_RU.KOI8-R (revision 42803)
+++ projects/zfsupdate-201307/ru_RU.KOI8-R (revision 42804)
Property changes on: projects/zfsupdate-201307/ru_RU.KOI8-R
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
Merged /head/ru_RU.KOI8-R:r42573-42802
Index: projects/zfsupdate-201307/share/pgpkeys/addkey.sh
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/addkey.sh (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/addkey.sh (revision 42804)
@@ -1,89 +1,160 @@
#!/bin/sh
#
# $FreeBSD$
#
-LANG=C; export LANG
-unset LC_ALL
-unset LC_MESSAGES
+progname=$(basename $(realpath $0))
-me="$1"
-if [ -z "${me}" ]; then
- me=$(id -nu)
-else
- shift
-fi
+# Print an informational message
+info() {
+ echo "$@" >&2
+}
-id="$@"
-if [ -z "${id}" ]; then
- id="${me}@freebsd.org"
-fi
+# Print a warning message
+warning() {
+ echo "WARNING: $@" >&2
+}
+# Print an error message and exit
+error() {
+ echo "ERROR: $@" >&2
+ exit 1
+}
+
+# Print usage message and exit
+usage() {
+ echo "usage: ${progname} [user] [keyid ...]\n" >&2
+ exit 1
+}
+
+# Look for gpg
gpg=$(which gpg)
-if [ ! -x "${gpg}" ]; then
- echo "GnuPG does not seem to be installed" >/dev/stderr
- exit 1
+if [ -z "${gpg}" -o ! -x "${gpg}" ] ; then
+ error "gpg does not seem to be installed"
fi
+gpg() {
+ "${gpg}" \
+ --display-charset utf-8 \
+ --no-greeting \
+ --no-secmem-warning \
+ --keyid-format long \
+ --list-options no-show-uid-validity \
+ "$@"
+}
-echo "Retrieving key..."
-keylist=$(gpg --list-keys ${id})
-echo "${keylist}" | grep '^pub'
-id=$(echo "${keylist}" | awk '/^pub/ { print $2 }' | sed 's%.*/%%' | sort -u)
-id=$(echo $id)
-if [ "${#id}" -lt 8 ]; then
- echo "Invalid key ID." >/dev/stderr
- exit 1
-elif [ "${#id}" -gt 8 ]; then
- echo "WARNING: Multiple keys; exporting all. If this is not what you want," >/dev/stderr
- echo "WARNING: you should specify a key ID on the command line." >/dev/stderr
+# Look up key by key ID
+getkeybyid() {
+ gpg --with-colons --list-keys "$1" 2>/dev/null | awk -F: \
+ '$5 ~ /^\([0-9A-F]{8}\)?'"$1"'$/i && $12 ~ /ESC/ { print $5 }'
+}
+
+# Look up key by email
+getkeybyemail() {
+ gpg --with-colons --list-keys "$1" 2>/dev/null | awk -F: \
+ '$10 ~ /<'"$1"'>/i && $12 ~ /ESC/ { print $5 }'
+}
+
+# The first command-line argument can be a user name or a key ID.
+if [ $# -gt 0 ] && expr "$1" : '^[a-z][0-9a-z-]*$' >/dev/null ; then
+ me="$1"
+ shift
fi
-fp=$(gpg --fingerprint ${id})
-[ $? -eq 0 ] || exit 1
-key=$(gpg --no-version --armor --export ${id})
-[ $? -eq 0 ] || exit 1
+if [ -z "${me}" ] ; then
+ me=$(id -nu)
+fi
+if [ -z "${me}" ] ; then
+ error "Unable to determine user name."
+fi
+if ! expr "${me}" : '^[a-z][0-9a-z-]*$' >/dev/null ; then
+ error "${me} does not seem like a valid user name."
+fi
-keyfile="${me}.key"
-if [ -f "${keyfile}" ]; then
- rcsid=$(grep '^<!-- \$Free.*-->$' "${keyfile}")
+if [ $# -ne 0 ] ; then
+ # Verify the keys that were specified on the command line
+ for arg ; do
+ case $(expr "${arg}" : '^[0-9A-Fa-f]\{8,16\}$') in
+ 8)
+ warning "${arg}: recommend using 16-digit keyid"
+ ;&
+ 16)
+ keyid=$(getkeybyid "${arg}")
+ if [ -n "${keyid}" ] ; then
+ keyids="${keyids} ${keyid}"
+ else
+ warning "${arg} not found"
+ fi
+ ;;
+ *)
+ warning "${arg} does not appear to be a valid key ID"
+ ;;
+ esac
+ done
+else
+ # Search for keys by freebsd.org email
+ email="${me}@FreeBSD.org"
+ keyids=$(getkeybyemail "${email}")
+ case $(echo "${keyids}" | wc -w) in
+ 0)
+ error "no keys found for ${email}"
+ ;;
+ 1)
+ ;;
+ *)
+ warning "Multiple keys found for <${email}>; exporting all."
+ warning "If this is not what you want, specify a key ID" \
+ "on the command line."
+ ;;
+ esac
fi
-if [ -z "${rcsid}" ]; then
- rcsid='<!-- $''FreeBSD''$ -->'
+
+# :(
+if [ -z "${keyids}" ] ; then
+ error "no valid keys were found"
fi
-echo "Generating ${keyfile}..."
+
+# Generate key file
+keyfile="${me}.key"
+info "Generating ${keyfile}..."
(
- echo "${rcsid}"
+ echo '<!-- $''FreeBSD''$ -->'
echo '<!--'
- echo "sh $0 ${me} ${id};"
+ echo "sh ${progname} ${me}" ${keyids} ";"
echo '-->'
echo '<programlisting role="pgpfingerprint"><![CDATA['
- echo "${fp}"
+ gpg --fingerprint ${keyids}
echo ']]></programlisting>'
echo '<programlisting role="pgpkey"><![CDATA['
- echo "${key}"
+ gpg --no-version --armor --export ${keyids}
echo ']]></programlisting>'
) >"${keyfile}"
-echo "Adding key to entity list..."
-mv pgpkeys.ent pgpkeys.ent.orig || exit 1
-(
- cat pgpkeys.ent.orig
- printf '<!ENTITY pgpkey.%.*s SYSTEM "%s">' 16 "${me}" "${keyfile}"
-) | sort -u >pgpkeys.ent
+info "Adding key to entity list..."
+if ! grep -qwF "pgpkey.${me}" pgpkeys.ent ; then
+ mv pgpkeys.ent pgpkeys.ent.orig || exit 1
+ (
+ cat pgpkeys.ent.orig
+ echo "<!ENTITY pgpkey.${me} SYSTEM \"${keyfile}\">"
+ ) | sort -u >pgpkeys.ent
+fi
-echo
-echo "Unless you are already listed there, you should now add the"
-echo "following text to pgpkeys-developers.xml (unless this is a"
-echo "role key or you are a core member. In that case add to"
-echo "pgpkeys-officers.xml or pgpkeys-core.xml)."
-echo "Remember to keep the list sorted by last name!"
-echo
-echo " <sect2 id=\"pgpkey-${me}\">"
-echo " <title>&a.${me}.email;</title>"
-echo " &pgpkey.${me};"
-echo " </sect2>"
-echo
-echo "If this is a new entry, don't forget to 'svn add ${keyfile}'"
-echo "and 'svn propset svn:keywords \"FreeBSD=%H\" ${keyfile}'"
-echo "and commit each of ${keyfile}, pgpkeys.ent and"
-echo "pgpkeys-developers.xml, pgpkeys-officers.xml, or"
-echo "pgpkeys-core.xml as required."
+cat <<EOF
+
+Unless you are already listed there, you should now add the following
+text to pgpkeys-developers.xml. Remember to keep the list sorted by
+last name!
+
+ <sect2 id="pgpkey-${me}">
+ <title>&a.${me}.email;</title>
+ &pgpkey.${me};
+ </sect2>
+
+If this is a role key or you are a core member, you should add it to
+either pgpkeys-officers.xml or pgpkeys-core.xml instead.
+
+If this is a new entry, don't forget to run the following commands
+before committing:
+
+% svn add ${keyfile}
+% svn propset svn:keywords FreeBSD=%H ${keyfile}
+
+EOF
Index: projects/zfsupdate-201307/share/pgpkeys/arundel.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/arundel.key (nonexistent)
+++ projects/zfsupdate-201307/share/pgpkeys/arundel.key (revision 42804)
@@ -0,0 +1,63 @@
+<!-- $FreeBSD$ -->
+<!--
+sh addkey.sh arundel 10C54914;
+-->
+<programlisting role="pgpfingerprint"><![CDATA[
+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]
+]]></programlisting>
+<programlisting role="pgpkey"><![CDATA[
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+Jh6tSsKzpWKYEYO4IeAi
+=bYWV
+-----END PGP PUBLIC KEY BLOCK-----
+]]></programlisting>
Property changes on: projects/zfsupdate-201307/share/pgpkeys/arundel.key
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Index: projects/zfsupdate-201307/share/pgpkeys/arved.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/arved.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/arved.key (revision 42804)
@@ -1,1947 +1,80 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh arved 807AC53A;
+sh addkey.sh arved 6774D2A3;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 1024D/807AC53A 2002-06-03 [expires: 2013-09-07]
- Key fingerprint = A92F 344F 31A8 B8DE DDFA 7FB4 7C22 C39F 807A C53A
-uid Tilman Keskinöz <arved@arved.at>
+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>
-sub 1024g/FA351986 2002-06-03 [expires: 2013-09-07]
+uid Tilman Keskinöz <arved@arved.at>
+sub 4096R/8CD560FB 2013-09-24 [expires: 2018-09-23]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
-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
-uwxauGavfjau5uBBiG0EERECAC0FAj3zl+QFgwLKpq0gGmh0dHA6Ly93d3cudG9l
-aG9sZC5jb20vcm9ib3RjYS8ACgkQEFgWhcUhCX6JWwCfWBLfY0MNvg76j1aFNiDS
-N0+Kc+MAnjyL6sZi65007O2iMN5ZrpizKHEgiIwEExECAEwFAj0FGRAFgwO5JYE/
-Gmh0dHA6Ly93d3cubWF0aGVtYXRpay51bmktYmllbGVmZWxkLmRlL35tbXV0ei9z
-aWduLXBvbGljeS5odG1sAAoJEN6Fg/i9v+g4CnoAn2xsBlhU4Ar0ometcbozgfIU
-ifvNAKDHthneVq4UVMN5C0Lp/w79iovplIiMBBMRAgBMBQI9BRkQBYMDuSWBPxpo
-dHRwOi8vd3d3Lm1hdGhlbWF0aWsudW5pLWJpZWxlZmVsZC5kZS9+bW11dHovc2ln
-bi1wb2xpY3kuaHRtbAAKCRDehYP4vb/oOOKWAJ0SSTs2+mxevjqnan14AOzw5GmS
-ZwCeNlwGUMiPZzQ7Wk8Rc4qzkElJ9CmIkwQTEQIAUwUCPyFXhAWDAZznDUYaaHR0
-cDovL3d3dy50cmFzaC5uZXQvfnRob21hc2IvY3J5cHRvL2tleXNpZ25pbmcva2V5
-c2lnbmluZy52ZXIxLjAudHh0AAoJEKR5zcRatGBq4DsAnjYo4sY3+i+OfER0cPvH
-PNFweS0AAKCTKLfNHYbegvlreeK3itC+KED7EIiTBBMRAgBTBQI/IWPJBYMBnNrI
-RhpodHRwOi8vd3d3LnRyYXNoLm5ldC9+dGhvbWFzYi9jcnlwdG8va2V5c2lnbmlu
-Zy9rZXlzaWduaW5nLnZlcjEuMC50eHQACgkQeQV2j3WE9dj0JwCgquNEDw0PfLpP
-VpBKBFl4l5i78sAAn2wl5MUyTa5HT3xINEJRx9N4oLzFiQCVAwUQPSLOeb1ApukP
-zoVJAQE8lQQAiCSul7FIad4Pder4RTB8ow2nE52U4W0G0mjD78CBaETZOHGJuO8l
-lrqnx/rYDS7rsAL8Rj/v5YrsYOBbPY/6s94W6Jy6iWijwccQJRw91CtGueCTab9E
-sQE6WQnp1kxDyJC3FMytBchVE+gLmcn/7MhPnWj05xA4wLS5N0maYEaJAJUDBRA9
-Is6DvUCm6Q/OhUkBAbbpBACdcJbmmeUz2kxRjtB2dBr3l0mVGpIMdVMC/NaKqHqk
-5gxRm98cOnq2we9PSBI7H5xBmJSqX+ZJHRVUSDzoGaJ73A/yPFi8t7Q9MRMb/Xep
-w/bEx7jsvV7Lg+tXRedxG/gMQ5E8KS6CXRtQIprLUGQJ/rOA/wxylXPIUMGNaiEb
-moiiBBABAgAMBQJADIE/BYMDwb/PAAoJEL/W7lhX938JNtkD/3/2RKm28v6btjL2
-UrCJg8LjxoqxSOdU6N5SLplZ2YOef3+gZUTZSsYT1K4XvPoBvPif+6zd0a9bFp+f
-P2j7SGMrlhHTd6+aDQ/BHaEZzt4dY2dfFcDNyvqIKeOTXw8/HR+dwryHDNwRcEMO
-b00IPVjfVirOcdPNbn6jYP1LYnPniKIEEwEBAAwFAj0je7wFgwOawtUACgkQxEaR
-6Lw5pc2SzQP5AfSuryok2VlAgquMdE9fwF+A3bjTWs6TVxFkXdInfML4Ur+44z00
-p9kjkT5IJrEebMZqYHsnyNix2owkgAyddONo+ldGAyzTUYwEWY6IY0km1n97Tnz2
-f6SSOYNqHVJ50h3jxsclD5sHBiH+1OdDCCHyyzV/gL66y2JTbLZhbOKIogQTAQEA
-DAUCPSN7vAWDA5rC1QAKCRDERpHovDmlzaE3A/99qZ1tpSrkk3Mp/Hkbwdn/cbKp
-YtkMfm4yQyjaeRL52CrOtVVK68DobMTaRz+KYTOhI9QMhkwSn3sxFpA7YmJ5NcQb
-w9lp4UU+42+KNj5szfEM/C+tDOyMHjBw4sgBXvsyY5w05SLXMN9KU48OChg8TWKy
-LCaGZybsl0FG3D5zC4iiBBMBAgAMBQI92qAcBYMC4551AAoJEOUVKCUzHNpdbL4E
-AJNRKdSx9NEU/zO22hbv/1J0NoGpeo7U3CkJZKbfuSx6nB0EXNHq4rZwcouVIR0Z
-c/KpKLXZlKW5OEHuqYtqctz18g3KiF4jY+1qlZqzIg1Ybmm4xuq8+040wbwpG/3D
-sCgPxPlqvRGHeOwgxWIWngmiYm7WmiQIKQAoy8HTgbSYiKIEEwECAAwFAj3aoBwF
-gwLjnnUACgkQ5RUoJTMc2l3FHAQAki+C6EKYQRullCePZ2GMJ8SR54xI42JaPbSB
-zxpb684J/jabcr8WHHJvGXlapUmdl3vqlks5tatn5iFJvbE4qAPOdo6C5NXIpD5O
-SbHAocXj43QdrftuMVF7w1fyJBkWFoMrMZoa4FxiFLENbm7DknLebp1Bp282O/XR
-9R52PJSIogQTAQIADAUCPyFkiwWDAZzaBgAKCRAbsIu/KpIyJW/MBACnClO5+acv
-jHnfaUd53tcKfLkb+vWzMXWKNt37RG1d04bKqlkZdzJKT+noMBqflVf91rk3goPP
-JPDjwUtm51gGlSgPG4mPnhQRrUHwC8BM0lGiuB68Z1QdxF1iUx8B623GtPrJbfuf
-CexrAxIL6La7KosErbR1JXbjS9+d+M1p9oiiBBMBAgAMBQI/SiLRBYMBdBvAAAoJ
-EJugaRW/hasxbHUD/RqcGxjUaJgELwAfNcTpm86BsNL5tu6WJFe3DdIIzQTb27GG
-gbOfj5NRLFnk75xgQtk8lnKqsXQHMC6hm+pwh4ZGISBZE7NIqYokUSYDT2mbplDo
-2kDPyO2V1fWf8P5f8rI5e2QYIvn4kNFWidfQKh1Rw86MlZVIieVf8eVeS5qCiQEH
-BBMRAgDHBQI/FpZTBYMBp6g+hhSAAAAAABoAY3NpZ25hdHVyZS1ub3Rlc0BwZW5n
-dWluLmRlImh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9wZ3Avc2ln
-bmluZ3Mvbm90ZXMuQTkyRjM0NEYzMUE4QjhERURERkE3RkI0N0MyMkMzOUY4MDdB
-QzUzQS5hc2MiMxpodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJiL2NvbnRhY3QvcGdw
-L3BvbGljeS92MS4xLwAKCRCrHktgRnVrHo45AJ0dD92uCPhsjLWrVsbhMJfwmkVO
-nwCglKPYurVXyo6uXC/Q5KdueASb3iWJARIDBRA9A+ZYlWBhpt2TQTkBAQY9B+MF
-dy8EKYP1mgbIXhZC8sScs2sSUsLhF0ZpSq6JcAMGIqjZZRSPfvDgt9Aqe8GnG6At
-Z7NXdfYARBq301Vaf1t/kNwVK0zcL3TswpGZ/j9Ao+HhJFA1ivPHb3zrazrmEluF
-HbbPHZ+33Lvx1APLw2AXP2ise5XmO/Ra52I5TgeNP9HJs1R+Qk8Pt+Pir5Efgego
-JngRgdySfvcFFo9O2Kinx1sV3a/KTzmP4kzmygsk2zVjTN9uLv/RV7U/MheTshFx
-IfQUxCFUofTz16Z5/nPEt2ePOWXQGPZrcW8grx6jQA3TnNQpy45kpBns7nWhvJAI
-7UWzBBdMaBwJUjLUiQESAwUQPQPtFJVgYabdk0E5AQEtVAfiArWPvzDkos9Y+cao
-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
-IDJB6ZO5bodnUoQycyKKn37YE5s7kEdKoRMkZXWZaJk4bdF1b9EQZxlDvCBIRDPy
-YV1HQyk3R7az4S2JASIEEwECAAwFAkEksIIFgwKpkIwACgkQG2jc/MBZaCO9nAf6
-A8uZ2u5TNZyJUSjevVElgUO4dhwF8EDMm5aYqTZeLU4/PYGVREJRFwfNqXQ1MFCy
-8nSrB3vDBC21MoRPTnfvqZHTNwc0SHoZA6gYi5JhzkX+NJwds7M1VXFnKesrjNsn
-f0+NYeMkiMNRj+ZpqXfhXxcVnSMeDmHHOTtxO5LDAn68irrAIg1SJWanRUL9cCl+
-7SOPa19pIKmjNKIWEtRnhR92w5TKvm+r32PwWUXyecqsNKvlzNxL+YPrPWOWtC3l
-GPATg/m9g1QJjsQbFSUM2cATMJeYXN1OA9ih+SctVQ5N2/OLHTapW20pEqZ9apZ4
-5/PuKOuQyN67GU9rHvSdVYkBaQQTAQIAUwUCPyFjnwWDAZza8kYaaHR0cDovL3d3
-dy50cmFzaC5uZXQvfnRob21hc2IvY3J5cHRvL2tleXNpZ25pbmcva2V5c2lnbmlu
-Zy52ZXIxLjAudHh0AAoJEPl8+eM6S39dRrsH/0TXa1EXhlnrO7TgyXTfjbH60w0J
-bsE00hhpjy/Ma/kv/VdtmdSy8xs4NuzCO1Qibt9Mx3hBSUzQ6eXw6zaMgqmTzv2g
-Cm0N0Nn2pbZoXj1jbGyGf44Ax2eqD+yKJC4cjHttAF0zTLSHGXDzpt72Kh5nFJ5c
-9yw58SiKDt/+rad6kOeskI6p/Uvkb3y/9a6vuIyQ8KgHqFvVUbqXCgBNN5OpxCcF
-UpvEBiQ2tGXPJ1AUxXILVLbq2TF5vBREIJDbWAhS/Va0T90/B9/KB38afAgOdFpO
-rkaqTKUHX//H3tjh1TLQibtBeo03sT15GlIo5mALPnSDgAvi+QhaIHPk2h6JAd0E
-EwECAMcFAj8WlgcFgwGnqIqGFIAAAAAAGgBjc2lnbmF0dXJlLW5vdGVzQHBlbmd1
-aW4uZGUiaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250YWN0L3BncC9zaWdu
-aW5ncy9ub3Rlcy5BOTJGMzQ0RjMxQThCOERFRERGQTdGQjQ3QzIyQzM5RjgwN0FD
-NTNBLmFzYyIzGmh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9wZ3Av
-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
-85fcBYMCyqa1IBpodHRwOi8vd3d3LnRvZWhvbGQuY29tL3JvYm90Y2EvAAoJEBBY
-FoXFIQl+suMAoK9wMiePGVWghspdqtP9CzYpY/ZGAJ0bZJu2VkMvAWRlGOzRgT36
-eZA9uIiLBBMRAgBMBQI9BRkQBYMDuSWBPxpodHRwOi8vd3d3Lm1hdGhlbWF0aWsu
-dW5pLWJpZWxlZmVsZC5kZS9+bW11dHovc2lnbi1wb2xpY3kuaHRtbAAKCRDehYP4
-vb/oOGeJAJ9Fj3VCUQIZk0qd9UGUEJIXBH4m2QCYxLYupcwjq5IpO3TDnf1pcPon
-SIiTBBMRAgBTBQI/IVeEBYMBnOcNRhpodHRwOi8vd3d3LnRyYXNoLm5ldC9+dGhv
-bWFzYi9jcnlwdG8va2V5c2lnbmluZy9rZXlzaWduaW5nLnZlcjEuMC50eHQACgkQ
-pHnNxFq0YGqazgCfaWuFD/Y3mWHymdnU3CL15fZudaYAoMYSpXJwS+IQh7rsdske
-4ac4u1oniJMEExECAFMFAj8hY8kFgwGc2shGGmh0dHA6Ly93d3cudHJhc2gubmV0
-L350aG9tYXNiL2NyeXB0by9rZXlzaWduaW5nL2tleXNpZ25pbmcudmVyMS4wLnR4
-dAAKCRB5BXaPdYT12CdDAJ9wa2zL0+9ucn4EEYye2ewY2ftnLgCfV0GGtD6qqswR
-XSX8xg1uVT8BvTqJAJUCBRA9IeIwxEaR6Lw5pc0BAU7xA/40Pz2+U1DqLqhc9q+g
-jGYaKbvB9cp1XD7TdtaZGQflFatqzjUWMFx6moDBNpH2ewJwERxaLFPIvl80Rwhc
-BVOanPYXS/Tk0AGwhsXYnNmSXQz5esxe9UIFk0NgZNF8je9vMOgD7+sNVu+3NPQc
-45XajKsoRq6i+vOiy48grLPrvIkAlQMFED0izoO9QKbpD86FSQEBPwwEAJyHvOQP
-xpnXgPRkcH+WBATeDfYACi8wRtYqpBHrUWo0i8x+05V9QWEaeJSauaKEhEoF5zjG
-0CQ+FZ77gWcF+W2AU3sBXXt3yK7hu2yVDu0dZ4V1ycN2d4LvV9s2X+Gig+lnF3m9
-n+hE7XkR3kjcvlToi7D1rAtQg4G5xJFFVxmPiKIEEAECAAwFAkAMgT8FgwPBv88A
-CgkQv9buWFf3fwm2fwQAsZtoL1euv11o+Jx/BSaxObERXUMTQ4WQHRh+uZSTWdxM
-0H+lLCvhBpquwZ1bTRKFnmb1JZTpkefUJ5h/ZG1MWBP8TA3vQMzVhwu5VrDiWehp
-8OK5hliRQKzXy7qiup30DbSB/bDo/70+jDGU1SclMdVWIAHB0RZ4+sMz0vm6LfuI
-ogQTAQEADAUCPSN7vAWDA5rC1QAKCRDERpHovDmlzaUUBACDoo52K7TgUbPWPP5O
-CCSXu3gq0MmsZkGa9ri/FQGErQB2UyxJlldsih1JHs9UDsxvcvi0PHS2d4UgAL7f
-Yp7BY64JfC1XA4lkrdrGD3DkYWDjkaGHwdzkXUzlTKro29bJvuqLtdSaEfmozp6o
-NyuG8I5NEIsY8Fczynj5or9PRIiiBBMBAgAMBQI92qAcBYMC4551AAoJEOUVKCUz
-HNpdilQEAJ2mlcltB/DyQtNOneX+qAQJe2L6fusQrfQxDg4c10Wk+66Hp3mvooRO
-RBJFOei1V1elBSrqwkihrioKVubPpHVVMSACsdbxf+OnCzp2xcEAlTca60RCk3Vr
-7HovwC3ok3FQYenOsjN1mim671DrEuShZdcXr28NmVbS/BxXdeBqiKIEEwECAAwF
-Aj8TM1MFgwGrCz4ACgkQtGuSO22KvnGBFAQAp5y1TghvnXEw0D7SVExX4YBjBc4W
-kjdYJNcPGv+e+lzhBQr4omRWfaXyJ1QI4wJhIOu9UAaeXncBRObPTawsD7bROf9k
-Cois/pPxwq8U76O7jHc0U1o243izjxloa52vlUVolysBTQ+9wbtB79YWCL76AxBR
-jZZ8ncq8IZ8AbrSIogQTAQIADAUCPyFkiwWDAZzaBgAKCRAbsIu/KpIyJSKcA/sF
-G59sCKxjoDnvAIy7tKe5zETyZg9esDUP3UE2EcLmP/ahWMPwAEU1Fm43WhKf96vL
-H94Td7rZisji7zxlU/6/g5z+iUA3zFBTJQ6O5WYVKGGRG/P2MfZlmAEUTIYYuPDn
-8Wo5lOw/eJF2jOAGAi7ILPeHhXxjjn72X1tqQuJOW4iiBBMBAgAMBQI/SiLRBYMB
-dBvAAAoJEJugaRW/hasxz+MEAJE2ZbBrCenJ67wVbJzITCAIgbC5s8K7DqHhEIxI
-RG/O2DbU1g3mgxbV+6PaAonnPvl+HEF3k82g217tPkTXYJuBrt5T/NgcwxzlkMZ3
-xUKZybz50KvxDAnKw5OIcpSnh2E7+Ja1AkBbzF5w/rYMdVKdlj11CUcEY9CVkwQg
-c0KriQEHBBMRAgDHBQI/FpZTBYMBp6g+hhSAAAAAABoAY3NpZ25hdHVyZS1ub3Rl
-c0BwZW5ndWluLmRlImh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9w
-Z3Avc2lnbmluZ3Mvbm90ZXMuQTkyRjM0NEYzMUE4QjhERURERkE3RkI0N0MyMkMz
-OUY4MDdBQzUzQS5hc2MiMxpodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJiL2NvbnRh
-Y3QvcGdwL3BvbGljeS92MS4xLwAKCRCrHktgRnVrHlyZAJ9DfCRr/epketGKHgFJ
-qEtUpKY5HwCfV2vAA6M5/ECBMbzYgnvk0AyXR/uJAREDBRA9A+0klWBhpt2TQTkB
-AXlOB949F4PDm6NH+kr4CRk1ZBe9XPvpDwi92dtW8XbnSuQeEiTyuuhsh6hxznc0
-E6hxp0TkSyyQQvCkM7jdepYUz0YTcrv/7B3l8PcSm3LptluQmsuaoE1DNh9jrngL
-wjQlF31/4DIAAb8R5FDA2E2Yes6S0EwPHH3jjvaeYT16+krw3Lt2cja6vnmslele
-gCc8HvxqPRvOQAZJKg2cOwQyNz30yYBaFEcEKCFDmsAKPd95/pOHzaAAkYlDHrzl
-NBQ/9ieuApOGnWe5zrTJ4U7zmnJk1wSOpVQtzliOj0nRdVtPGSzAy71XeiDkwX1Z
-puJs+6WnAsJysZRF7xSe+8+JARUDBRA9A/EIAVW64qCU2iUBAXx8B/0VFgPg08KC
-1EjdkdTmruI5RRhnurqrEDNuh9zhGoc+DIx5OMBpKdv/FuBMLvHy9s4rpg2q94Nb
-4fCoU2vz8KJMyFvDIPlLwixriqBBeITPqSdJmGQzh3bNOJ7tBoSBzRg+TDCCPyI3
-zWnoZpnv5ASu3nDODiImcBaMEM8XlvR4ciiv44kg16C6d8TZ1KlYUyYzGmBA1Aiw
-IuPnZdwkmHL1OOgviBZdopLUNdxMmuSpoZC7fkUPAgvyHUIXdaIeHBsO3ddQADWm
-EuaA+dt74CZJ9kooZwFIiVLsA4sFja1yvmLO6YO0D/xTGYDj4ptoKO5/EiBLCJgX
-XD201rZI0LG8iQEcBBABAgAGBQI9J5ZGAAoJEIz2bIET3TlQgzQIALkMyL6w/Yy9
-68ah5KswoSokkuCsJj7VfqHBXcS3Wd85yXG0gIpbDsp3WhoMs5F375UkzdvQvZW7
-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
-al9u9HJ4ZxOC/ZZ1AVm7qrgEeC8wFWKlMa29dt1cKO8ThB7O8+IxWTNQ9mGHQRZR
-JgvsFj+y4FSSZqI3uy2gn8nu68tqg4HvuzYGWw2og+9N+7VZYBxUQLi/gS4Oqyit
-QZC6psx/gPiXQ5LeRHMG8r+ErBLd/we5nxPGzqEcf3OJAWkEEwECAFMFAj8hY58F
-gwGc2vJGGmh0dHA6Ly93d3cudHJhc2gubmV0L350aG9tYXNiL2NyeXB0by9rZXlz
-aWduaW5nL2tleXNpZ25pbmcudmVyMS4wLnR4dAAKCRD5fPnjOkt/XVHLCACzW+/n
-SIi37z8LxLdd2svzce3PLJ7xXc49oF0SdoeuZmpBRo+4H5Zh7HZQ1BEsRBJykYrS
-IU+9pP5BiW1TaIk6QBUTIwIy3pDGvyI/oGpJPVa9wc1ZoiNjhfK8yDXY+z0Q6KJR
-ab6nbOymsZo2mRdCQ4EVo+YvY8lA+e84t1C9JbzBsi7yqAT3eQr+O9Qq8I4M+vlz
-VOq4iWqdRaGTq8oG0ChumQhbFNXwWrKu/A5NOzLFuF3l3vhMqbbJJEj/EZpdss8k
-yq8jTN4lSsuNvf5DyLSbzj2IOJMRN/hSPrBiOtriMr5aNDw0ADK54AUTy6+ab1tM
-iP3Hc/FNHFJ19F/ziQHdBBMBAgDHBQI/FpYHBYMBp6iKhhSAAAAAABoAY3NpZ25h
-dHVyZS1ub3Rlc0BwZW5ndWluLmRlImh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIv
-Y29udGFjdC9wZ3Avc2lnbmluZ3Mvbm90ZXMuQTkyRjM0NEYzMUE4QjhERURERkE3
-RkI0N0MyMkMzOUY4MDdBQzUzQS5hc2MiMxpodHRwOi8vd3d3LnBlbmd1aW4uZGUv
-fmJiL2NvbnRhY3QvcGdwL3BvbGljeS92MS4xLwAKCRAZomgJiDj9lAmfCAC89hFV
-1QPBgmZe+pF5bxkpld4c/P6uGwSJZ2Mumi87GrkesKclpnamTD1PirLdJqO/Ffnq
-7zdOJ8TpqAWVXWnjJUck8oqlkNETlTWqNdqmT8ljIYoqPUTFP5p6PADy4xnmFueS
-ZPQwecXbiW/elXc1eHW3PYLuaw3jbtso68o7cU13cfqEzmN5n1HKnXixT7JMLvwd
-gbikGGIgDqxXHrv11/FbalEeXQL+PF9dw2G0ugXST0OlrTksShyEv5Nqm480rS8E
-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
-4ACggCxN/6JGgnZKzPcjQ1UIOrkLux0AnA+TSOEdyn5KbHslR/QSOJkiGWoNiG0E
-ERECAC0FAj3zl9QFgwLKpr0gGmh0dHA6Ly93d3cudG9laG9sZC5jb20vcm9ib3Rj
-YS8ACgkQEFgWhcUhCX6wuQCcCEVMC2uxUY6TU+FZh1gYJQHeso0AnRvpRw0kFy4M
-uwxauGavfjau5uBBiIwEExECAEwFAj0FGRAFgwO5JYE/Gmh0dHA6Ly93d3cubWF0
-aGVtYXRpay51bmktYmllbGVmZWxkLmRlL35tbXV0ei9zaWduLXBvbGljeS5odG1s
-AAoJEN6Fg/i9v+g4CnoAn2xsBlhU4Ar0ometcbozgfIUifvNAKDHthneVq4UVMN5
-C0Lp/w79iovplIiTBBMRAgBTBQI/IVeEBYMBnOcNRhpodHRwOi8vd3d3LnRyYXNo
-Lm5ldC9+dGhvbWFzYi9jcnlwdG8va2V5c2lnbmluZy9rZXlzaWduaW5nLnZlcjEu
-MC50eHQACgkQpHnNxFq0YGoOEACfTsirMSqINACr1m4dUD2r9J7QGEsAoIM17Lgq
-BjEMuYeVxx26AO+WjhFPiJMEExECAFMFAj8hY8kFgwGc2shGGmh0dHA6Ly93d3cu
-dHJhc2gubmV0L350aG9tYXNiL2NyeXB0by9rZXlzaWduaW5nL2tleXNpZ25pbmcu
-dmVyMS4wLnR4dAAKCRB5BXaPdYT12O3iAJ9mZ1NU2WVpp9du8QOpTvp1jdAodACf
-U/wOv46EWpPHyLzGx7VHh0MoBrWJAJUCBRA9IeIwxEaR6Lw5pc0BAQ+vA/0Tlm31
-srrL1VhwixsEUO8BguGOG9P0go59CscjOyc2Ah95zpHQHwtFcZo6VR/qMxM/WnTo
-6+7JE0Yce6xYO6LWdU9w363+5cHtBPXpR59e/XVzNeqbMIq0NoQNAcKoAkxYAUaM
-v3ogRI0xMUYZLHzucxSAOYvkclVrD5YsbmRxWokAlQMFED0izoO9QKbpD86FSQEB
-tukEAJ1wluaZ5TPaTFGO0HZ0GveXSZUakgx1UwL81oqoeqTmDFGb3xw6erbB709I
-EjsfnEGYlKpf5kkdFVRIPOgZonvcD/I8WLy3tD0xExv9d6nD9sTHuOy9XsuD61dF
-53Eb+AxDkTwpLoJdG1AimstQZAn+s4D/DHKVc8hQwY1qIRuaiKIEEwEBAAwFAj0j
-e7wFgwOawtUACgkQxEaR6Lw5pc2SzQP5AfSuryok2VlAgquMdE9fwF+A3bjTWs6T
-VxFkXdInfML4Ur+44z00p9kjkT5IJrEebMZqYHsnyNix2owkgAyddONo+ldGAyzT
-UYwEWY6IY0km1n97Tnz2f6SSOYNqHVJ50h3jxsclD5sHBiH+1OdDCCHyyzV/gL66
-y2JTbLZhbOKIogQTAQIADAUCPdqgHAWDAuOedQAKCRDlFSglMxzaXWy+BACTUSnU
-sfTRFP8zttoW7/9SdDaBqXqO1NwpCWSm37ksepwdBFzR6uK2cHKLlSEdGXPyqSi1
-2ZSluThB7qmLanLc9fINyoheI2PtapWasyINWG5puMbqvPtONMG8KRv9w7AoD8T5
-ar0Rh3jsIMViFp4JomJu1pokCCkAKMvB04G0mIiiBBMBAgAMBQI/IWSLBYMBnNoG
-AAoJEBuwi78qkjIluIoD/20Zoeb8fUTz6dltU0vJwXhcfKyncAh9OEXJyu0XvoEP
-NQGEwk/XCogWhM5Wk0RnJ9xpF3F6cG4V196/KWnRLgcq3k2O6dyT4oViHAcTfXd/
-gqHHm19WOLg8K10OoNMpoOcLz5uQwGXPZo3vTZtBPclhUx377IyRS4NAV0VDV0EV
-iKIEEwECAAwFAj9KItEFgwF0G8AACgkQm6BpFb+FqzF/eQP/bS51MfoqqIEbo7bm
-Td+6uhTbbSmMic1bgwuX2BbDHml9+bHSG3nQ10/dbpmL0FyZ22jQhtGW4iK4Eowi
-CRo3oYl/L4EOz5Diw9+8Vhu3b0Zur1LT7kZtNHH3VwCVzHmd9+4JAv5AOV7a1BBb
-P1u4gOmmqRzPkRzRIrVTsO2T4NuJAQcEExECAMcFAj8WllMFgwGnqD6GFIAAAAAA
-GgBjc2lnbmF0dXJlLW5vdGVzQHBlbmd1aW4uZGUiaHR0cDovL3d3dy5wZW5ndWlu
-LmRlL35iYi9jb250YWN0L3BncC9zaWduaW5ncy9ub3Rlcy5BOTJGMzQ0RjMxQThC
-OERFRERGQTdGQjQ3QzIyQzM5RjgwN0FDNTNBLmFzYyIzGmh0dHA6Ly93d3cucGVu
-Z3Vpbi5kZS9+YmIvY29udGFjdC9wZ3AvcG9saWN5L3YxLjEvAAoJEKseS2BGdWse
-av8AnjQExVJnQN05g1TMyMD0OKcLqskYAJoC8yqjWLJoeHKNJ60RQbJtv/EzmYkB
-EgMFED0D7RSVYGGm3ZNBOQEBLVQH4gK1j78w5KLPWPnGqELtJMDE489APXweY7cA
-dnLBevcbyI6HuLIlTcSmFAgPoHjdO+7xWNpfaa8m6vSumkyUeoYMlK+TUnx2LCS6
-FvmPCYoEFM6g92HpASGLwZqcCLMp3+uemnAB/N4/QKaIqPNBAlSIAr8/gouF3Q5u
-mO18G7YPdrNMuKcxRFMjy9iaXIryRWAMbl+yecvT+SyewrD33TOdvHPu6eWcYIv4
-xLK3jcIJ2hoiOJorzam3u9NV/ornIhdtEB+mGzIbgobdk7Wm+wXKAPSxGz41LHw6
-KP/NdBSEQvDT/MJMXrfM0Mh7TDklFxQ5d0r1rxDaPcdUnqiJARIDBRA9A+0UlWBh
-pt2TQTkBAS1UB+ICtY+/MOSiz1j5xqhC7STAxOPPQD18HmO3AHZywXr3G8iOh7iy
-JU3EphQID6B43Tvu8VjaX2mvJur0rppMlHqGDJSvk1J8diwkuhb5jwmKBBTOoPdh
-6QEhi8GanAizKd/rnppwAfzeP0CmiKjzQQJUiAK/P4KLhf//////////////////
-////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////
-////////////////////////////////iQEVAwUQPQPtDwFVuuKglNolAQHXHAf9
-HIyylcQqNFatx4TC4LB8VvuMajy3C4txsU5IgkpCQlkxv7OBLUaxTtzi0UaTuzL1
-ogNOruD5Dz/sU5W1vFBDN0/nb/FgivCPlQZU8wX392LwZJ+BsyVeYNSODTeKLAxY
-eibXPYGrXBX+g97/gtsVih2dAFfglB5uduCQG9//n4kZHj2nqCq/6MYmyJv5jaJz
-0LqeygTn6QbKB0nhGmP+yqICop4ldnQs4ebi5980J8PzBypCaxY3B42Rc845g2gv
-bYpF1HGNhrEIPkqeF79X6Y7o0/QSiCivmqLbBv1Wehy75lGhWN1uHUPT6uYxZxDe
-Fc4n4bSilKLvAU+I2iTGYYkBHAQQAQIABgUCPSeWRgAKCRCM9myBE905UEgeCACm
-02d+IBhcQGXS3f74HImb+UF7xbC+sS0JgIha9bXbjcbuk5hrVA3dFrPlh403JHCU
-zj+Ucetjj0GFTp8mwoowZdgjbQoAphixJ0hCyePLVlxQmIey5kSmHO601SeHiLjH
-k4l8rE1u+2q6TQgY1basJMw0u1pzqIyXIOIZHDJwomjd63g6+NO+JbPDMa+D3ur7
-hJkWcKaNrRVRPTJemWD7PAJLPmMyyq3AXZFC0nJKab8S2AUuyxdCLSwkLxCQHXIq
-vImocpniny6eq/2h2Wt9LZ0G2BhvBEXA9YRJQnEwhDqf1GFJojtbdGxKmbQ6Vl51
-ZLgT9qiPFbwhLDGzj9S8iQEcBBABAgAGBQI9J5Z8AAoJEPy64gyiEfXtZh4IAInC
-8G4WUR7fF3puLovnymgaonudsm91vLE8H26fKAUMj+i4Lns3FCrKUKgsIqE6ykJ7
-cimFq50qO7EVAOEHA20L7muCT3uyuUViJey4pDiWJxn9gRklYwb7AP1Z70sg/vCZ
-pWpHibfmzh3NV+iqtA/iC3+mv0M4+g96xlqcz/4h1wR4NGuZwViO5iFbglrt2XcC
-u0Mivi9HhIPwNV0MDxAUQXyoGa0MLSreABhzlH2gCeoplFVgauSN5FiK/U1vJmkW
-NvuBQWlrb9mUxE1YLjCbJnVa+qrucZgBmAbWxhxZpEM4uo9W/CVyYs+Ar3rnh9x3
-lasLOfIzaizglb/xenKJASIEEAEBAAwFAj0Ew6wFgwO5euUACgkQCen5CopyTkWu
-Swf+PfsrzBwU7vwcb8Y7ZKMqU4byaCrbMRA1y0Sh1PQN6Am5dbo60poRwuuCs1ha
-iAEUncMsFzUDp6wWNiphqeq/1yRhVHZ0Vmo9LVJukml13yTHoxfQJfeB9Kwfv8PD
-EKbf7oLs5eg5OV8thrDeZH/ADOITFTRZ4RrxvrM0J7ycmXKos6bxTA5qvBpi3ksB
-4VWvG4zDaWaRCvxVYYHJeDYlOrsTLycqJY9HeRSfLYTvfYGHtKQS69AmlLd4EbND
-bh6cUe9Nni2L5PLpOibxZB5k/27rT6kljm+ZRmNs0GXTrJbUKXQP7rTMO/7DhgGH
-v4wRtHN2uo5sX32UpoHKThaVWIkBIgQTAQEADAUCPxEOgAWDAa0wEQAKCRBABhUO
-QAnq7WFRB/9i1NmKvCJEo1p0cEvylsUn43h5Z2G1kTQNGL6A9lcc+vu8P65BT4F7
-Ce/j2PLOFN94o8P7TZc2PBS2Ra2ZrNuZF6c8N1fDpbN/fMH+MJhjUTzAIdicVenl
-N0CWGaK2Ynks3jkQqxDjTCGEjQaRsBI7j+6wBqk20cpmn8MVk4MY7lTxtG/UElLC
-gumwfiXi8NKLcYoB6WvMSkdHITnHg5H3E61giWs4CBJ2Up+cguipaiqzQFHafOkY
-fidsuZZ4i6a9cV2yll5wwhLasJbl9W+T11wQudqQp8K/ghD5B0QQSuhPDeq1AoWD
-5L1TsAwC7mcs8cRXFQcyBSFLS2+beuMKiQEiBBMBAQAMBQI/EQ6ABYMBrTARAAoJ
-EEAGFQ5ACertYVEH/2LU2Yq8IkSjWnRwS/KWxSfjeHlnYbWRNA0YvoD2Vxz6+7w/
-rkFPgXsJ7+PY8s4U33ijw/tNlzY8FLZFrZms25kXpzw3V8Ols398wf4wmGNRPMAh
-2JxV6eU3QJYZorZieSzeORCrEONMIYSNBpGwEjuP7rAGqTbRymafwxWTgxjuVPG0
-b9QSUsKC6bB+JeLw0otxigHpa8xKR0chOceDkfcTrWCJazgIEnZSn5yC6KlqKrNA
-Udp86Rh+////////////////////////////////////////////////////////
-//////////////////////////////////////+JASIEEwECAAwFAj9Pcg8FgwFu
-zIIACgkQpaBgwm7CZm350QgAgFvhxzaOyCdMHtXLClUDQ3gWpzGP7eIze1UMkliL
-B1xf1q/OzsLCm8K82t0acH0W57pxQ63Co9vw64g+4Uw+wkY+zOPMow0DJ0zEy2yd
-bGPAfgprB3atew0jFIj9wCDl4BcyjxH9EIXQsESeWFMVQGLZqbWNbdSGy2Fvhx9L
-1MH7chXEWVfAx3cngZURkefQP931nTkBX3BMTuamzjWJ36Bo1+bEUWOc40EJ+Y+b
-1edotw1DEmsHigmh0go3Xn7Z51Iem1Qel17fKX17vyMnIWOymHc69zxAOj/uhUWN
-PsAnJGy2PKZnFT5ZlHOVsrVuAUWknKHVYbcqP3sPYHNsMokBaQQTAQIAUwUCPyFj
-nwWDAZza8kYaaHR0cDovL3d3dy50cmFzaC5uZXQvfnRob21hc2IvY3J5cHRvL2tl
-eXNpZ25pbmcva2V5c2lnbmluZy52ZXIxLjAudHh0AAoJEPl8+eM6S39dXX0IAKzx
-k0rDD/EMUKZLF2A5vIQhJL1untKV52bWhdb7fLLpk5yugHOWM9Ce8GgQ+/pDW54q
-68xbqMV1KiEN6fdadpaeZH0rABTJYNs+NGKs/Spi6l4e9e6slnzu4YG/yfyZY9s+
-6WULBCTwJsnfQBe4PqrSoNNPE4sADsYA+Q7jmd2v95+wZdq9GEZ3MH6cI0/rJi26
-HZSwfzSfYy87AGg+LjNW/iJ6MwZ6nOitPCHJCkOvovRtSgw3yzmt1XOOTx3TUSzZ
-sF3xR0NgWPoCAADdx7ZCes9xNWpK2NKP80Gn4idNa7mILAlM4f5/fHAdtU2VS2wI
-Y/yv7hQdTH0oWrOI7hSJAd0EEwECAMcFAj8WlgcFgwGnqIqGFIAAAAAAGgBjc2ln
-bmF0dXJlLW5vdGVzQHBlbmd1aW4uZGUiaHR0cDovL3d3dy5wZW5ndWluLmRlL35i
-Yi9jb250YWN0L3BncC9zaWduaW5ncy9ub3Rlcy5BOTJGMzQ0RjMxQThCOERFRERG
-QTdGQjQ3QzIyQzM5RjgwN0FDNTNBLmFzYyIzGmh0dHA6Ly93d3cucGVuZ3Vpbi5k
-ZS9+YmIvY29udGFjdC9wZ3AvcG9saWN5L3YxLjEvAAoJEBmiaAmIOP2UNloH/2QP
-qs6n9ct6/Y/o4H/DPwayN2l0oLS/GQ33pPq2HVXDzESizH5wbqldZoTmtbz7BLJ1
-FuEOy1imTnAq3EHEvnhl4vEMoxxA9E7ubeYxepWqtasudpFWr9PKHPtHQ7sGnrCM
-TCrxVv6juJDNpS9wjytLhAZK3CjDfLGrI6/wm/zt+KtL+P07XT4M+nujiAALJHxI
-u/OS3dCVspJh+9CGABipjSqm6IprmsdzZWa4dwSJx/FVlo7myCo4vwITwLvM3+DT
-AtNOrfQSfgURXjZUu15IreXyw8meyWkeC1pK7BHQZiFRtg5uNliikYkCaCR4j9Qm
-iW/eadPs+EkS2DjF32m0IVRpbG1hbiBMaW5uZXdlaCA8dGlsbWFuQGFydmVkLmRl
-PohGBBARAgAGBQI9ASZWAAoJEGfDAwhyWzfG7SsAn0lNlCrct/T4mpuiaV4Vm2Oj
-CCTpAJwLIQbHo6/96jUBSvNmW8utNMtrs4hGBBARAgAGBQI9AfwvAAoJEJVkH2sl
-PljjyhEAnjftN5ulHmofRQd93YGKDJZobAvOAJ0TT6ih9EiS+fE1xzfYThV2oFaR
-jIhGBBARAgAGBQI9A/CZAAoJEHjLuZUaVye5rq0An2Mi7OAiIrDgnUODQ6TYrqa4
-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
-AC0FAj3zl+wFgwLKpqUgGmh0dHA6Ly93d3cudG9laG9sZC5jb20vcm9ib3RjYS8A
-CgkQEFgWhcUhCX7O2gCgpijOB8d9FnMMwYJGu+3Spq2sF/MAnjajGQJQdL3N1VPV
-VZZ8e3Yf3Km1iIwEExECAEwFAj0FGRAFgwO5JYE/Gmh0dHA6Ly93d3cubWF0aGVt
-YXRpay51bmktYmllbGVmZWxkLmRlL35tbXV0ei9zaWduLXBvbGljeS5odG1sAAoJ
-EN6Fg/i9v+g44pYAnRJJOzb6bF6+OqdqfXgA7PDkaZJnAJ42XAZQyI9nNDtaTxFz
-irOQSUn0KYiTBBMRAgBTBQI/IVeEBYMBnOcNRhpodHRwOi8vd3d3LnRyYXNoLm5l
-dC9+dGhvbWFzYi9jcnlwdG8va2V5c2lnbmluZy9rZXlzaWduaW5nLnZlcjEuMC50
-eHQACgkQpHnNxFq0YGpQtwCfde/EqZgmL2eVW6TR+uC1HoFE4EYAoLZZciBzI3ps
-0+YO694uqsEdrkU6iJMEExECAFMFAj8hY8kFgwGc2shGGmh0dHA6Ly93d3cudHJh
-c2gubmV0L350aG9tYXNiL2NyeXB0by9rZXlzaWduaW5nL2tleXNpZ25pbmcudmVy
-MS4wLnR4dAAKCRB5BXaPdYT12LuoAJ9Wt7LpHCBxql5bSoAd8fZLU6ABfgCgl2Ri
-msmRsAuSK9DY8YbMd88CqJuJAJUCBRA9IeIrxEaR6Lw5pc0BARbXA/9alLowjmIi
-UFTd0s8l80en75x6nKXOvieebje/i10FQXVu7Y3O7znApQcyiN1dWOmtlelUEjV9
-csRgWgfn7aAqINDsqmp2IHDUft4iLzCeGduldvDKbcnPVG/HHetKQAxynFjNK+H+
-f+VDboJ8AjYPxL43ZB4NjC6iqQNiY8OGKokAlQMFED0iznm9QKbpD86FSQEBPJUE
-AIgkrpexSGneD3Xq+EUwfKMNpxOdlOFtBtJow+/AgWhE2ThxibjvJZa6p8f62A0u
-67AC/EY/7+WK7GDgWz2P+rPeFuicuoloo8HHECUcPdQrRrngk2m/RLEBOlkJ6dZM
-Q8iQtxTMrQXIVRPoC5nJ/+zIT51o9OcQOMC0uTdJmmBGiKIEEwEBAAwFAj0je7wF
-gwOawtUACgkQxEaR6Lw5pc2hNwP/famdbaUq5JNzKfx5G8HZ/3GyqWLZDH5uMkMo
-2nkS+dgqzrVVSuvA6GzE2kc/imEzoSPUDIZMEp97MRaQO2JieTXEG8PZaeFFPuNv
-ijY+bM3xDPwvrQzsjB4wcOLIAV77MmOcNOUi1zDfSlOPDgoYPE1isiwmhmcm7JdB
-Rtw+cwuIogQTAQIADAUCPdqgHAWDAuOedQAKCRDlFSglMxzaXWy+BACTUSnUsfTR
-FP8zttoW7/9SdDaBqXqO1NwpCWSm37ksepwdBFzR6uK2cHKLlSEdGXPyqSi12ZSl
-uThB7qmLanLc9fINyoheI2PtapWasyINWG5puMbqvPtONMG8KRv9w7AoD8T5ar0R
-h3jsIMViFp4JomJu1pokCCkAKMvB04G0mIiiBBMBAgAMBQI92qAcBYMC4551AAoJ
-EOUVKCUzHNpdoJgD/iTuEAKeayuvv9jrK+8dpFt44/Tk/094H6xVIYui06ywdD+S
-5+fTNohceNNAwexSIeS81sc9TsJr+hSAKoH/K9eTLrVM1EsgPR3yVwjP1NglCJbq
-Z4NcYV+51Dn/049qQL3ekeSLNeXJs/AmYOIxLhcB8Qa734PBOBpSfs60wRMdiKIE
-EwECAAwFAj8TM04FgwGrC0MACgkQtGuSO22KvnEuPAQAh8oEB8HrrihRnt0ydhBQ
-RDRPj4rtAEJ9Ft7G1D6cY32LsGlQgBRRy5IH/YmI9Ktwpi6ltX7qULUUvjPeLTxb
-BiKEcZgI9j8a+oon6L61T6P001uD65DHw0W/Hg8D6vzKDZyI0OTqAi/0MTir6otS
-NWB/TDhbUWX9NfABiBJ4rA2IogQTAQIADAUCPyFkiwWDAZzaBgAKCRAbsIu/KpIy
-Je5QA/kBgBlYScZSjhj9g/v9o+8vl/PuBu0LceqONiJ8kKu04CId1E3SbJx8hiQq
-WuvYaSJMZz+WmcYM4r8n8T1yQ9QLE7c2jIbU86irykBXKixX+af1vDo84B4moPZp
-vTs8jHBJDTWsBuGlWxxd6GHgOP7L/u1K4ZE2PC796zuSlegRNIiiBBMBAgAMBQI/
-SiLRBYMBdBvAAAoJEJugaRW/hasxDu4D/0DGiGqNXNF/cSeoAkt0hywxHKqEjzjG
-b1DTtJ4kLD1x7hC98LE4AaOAocDoK4FekUPbVgiyy0PtD3mNoJORWz28leSxNXow
-Wz3cPIrkn/Y5wrmw7Xy9ZJXJNv0h8tcxRJgUgLVN3BFrS4sx3sSjFMLbUH8znaZj
-xI9Et1iRl6VCiQEHBBMRAgDHBQI/FpZTBYMBp6g+hhSAAAAAABoAY3NpZ25hdHVy
-ZS1ub3Rlc0BwZW5ndWluLmRlImh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29u
-dGFjdC9wZ3Avc2lnbmluZ3Mvbm90ZXMuQTkyRjM0NEYzMUE4QjhERURERkE3RkI0
-N0MyMkMzOUY4MDdBQzUzQS5hc2MiMxpodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJi
-L2NvbnRhY3QvcGdwL3BvbGljeS92MS4xLwAKCRCrHktgRnVrHsTuAJ9cTEySl64e
-6UJgYUVyQ9FUhDBT7wCghZWaFgusjbcUY/8wh9C/OvsSCp6JARIDBRA9A+ZYlWBh
-pt2TQTkBAQY9B+MFdy8EKYP1mgbIXhZC8sScs2sSUsLhF0ZpSq6JcAMGIqjZZRSP
-fvDgt9Aqe8GnG6AtZ7NXdfYARBq301Vaf1t/kNwVK0zcL3TswpGZ/j9Ao+HhJFA1
-ivPHb3zrazrmEluFHbbPHZ+33Lvx1APLw2AXP2ise5XmO/Ra52I5TgeNP9HJs1R+
-Qk8Pt+Pir5EfgegoJngRgdySfvcFFo9O2Kinx1sV3a/KTzmP4kzmygsk2zVjTN9u
-Lv/RV7U/MheTshFxIfQUxCFUofTz16Z5/nPEt2ePOWXQGPZrcW8grx6jQA3TnNQp
-y45kpBns7nWhvJAI7UWzBBdMaBwJUjLUiQEVAwUQPQPmUwFVuuKglNolAQHpUQf/
-Rw37iEBl3wVsGFQqsz3n6tqrfO9ZGKG/EHRO+l7iCPHjt0UHwUWLPJ0dvE6wHbfN
-GFjBzWcIukJSnv7erLPgTgIv2mClN+uyMLXttYBL8OXAxG2uCsE98VG8E5fio88T
-5V9a6/NqkQQYlIQj98JO8SIMwvs/EMBFD2PzEUVj/pEFONl8Wh6cFE9Guntvx3+7
-nUPNC3lw9dbmdTjYKTq/JHJ/rqAW0qoRbzDNSB8tTWitQznLe8srQK3gp5qq+SqG
-vy5L6U2X8YusQSGm730QWEwqG0ek67TwIhq/TujYopw5VhXUJZukCGSn+ASABCVr
-egwXgZnhyrvgeAxNiE6U2okBHAQQAQIABgUCPSeWQgAKCRCM9myBE905UO4VCACd
-m9qniy8LWH5uOktlSqHKbzoI/qTofUmLFHuzuh5idJl/JXImM/516u5r3uZBmRpn
-PYImOi8TetADuwLjLTIHpxkfhVA3NRtrq1HwtHtice2K8cHUYne5RC8BigRv/M+A
-P6EmgftoQ8v4mbTgT8jf4IwggJz8GX9m70zpGSMXgCkcltLfJYYPXuDTu4bw0g7O
-OeQi2hjDlxm8b/stB5xJ9Qw3+TyhdT4z2msmt2h0UBDr3Ejs2Iaj3Vr3KmN3hhnC
-lcE7dXQNK7ry1V2J0JBBSOO2IZeBekvLHD15iwMxPL5SHz1L/95B2JfhM7V+QMad
-sQaaEYnHUh/GXXCc6nSziQEcBBABAgAGBQI9J5Z5AAoJEPy64gyiEfXtntQIAJYA
-w+AjUbAot7HWUhfqYXcw5Q6F36TY7VjNk1aD+Bh6WjKxwNUVPZH91fjwskCZ9hDq
-rwJs/KciU2zeWz7k9KhFj/1PGtfducx1k5zwJUB/HmgtNk7dsUJ09GjV+Sy9a+Sd
-wLOgjizIl+jDY/YUAs3V2f0eOEmANdUntXDvhyiu07uo3aN0VdhB31T6pakGObK3
-E+oAh/jkPw1I/dWBdKoKSHEfFeU1RgC9xBaJmoKVfCxedo3wFhZa7klgHurVOOs1
-WWLwUagqGRq/kQ4+n8B8mRQNTlXtTjkL3pEMYmesP0UwmNlBFL4fl4Yunu5wFpB4
-LdXrNLWLpM/0WZfA7GCJASIEEAEBAAwFAj0Ew6wFgwO5euUACgkQCen5CopyTkVH
-ggf/XyO3p5CQ+sqbLVr8IyBGBReqgXgNV98UbhngBm+BL9VFNJwJyb+QqaJGQZxB
-vn8Ng13cRBDgGIlzPzUWccs66zOuZoHkR9IeLnKYQud2VWG1bGFfUrq4p49xZsV/
-bD3kzORUUNF0zzTzc4EK2/xHgooqrbcsjCXsCS1598uaDOo8nzMnQBO9tRiiyYNE
-0gIAYsG766ZhdUHkIWJquCK+A1U0PljBTF4HORVruJfViaCvYguZCP22vyYbpXmO
-ZzGIWQ//m0yXJ40mhWae2AjtJJyQEm4zRLsWv6TRwa8+DSW2OMKM/uXbz/nLV4OS
-j64IEF+VKdznwRpcVVHkAKPRjokBIgQTAQEADAUCPxEOgAWDAa0wEQAKCRBABhUO
-QAnq7RL7CAC3H+vBpE14/d06iAiGV1QFIuiNF3/V+REu5/bbxqzuGY6XCmCmS8lX
-va08Rr29yoShJMUsvbtgQTbF80wQ5ZUlZpdlxkH88MW522rmkWD/PzxCF5tR6hBO
-W7p0ccbbAns5s4BoFh7bHSU7tDmaTrVZ5t5hcHGoXFfFvMOIRbNoxvidpxQOiqPb
-VNPqUUt/e1JTKucRjCaC91hXgPtCGR5Nbc4isImlUrMIfHqebsUzPxH66vW4eckt
-SCJQhRY32KBDs/fY5AiPZ3FMfN5QcnLPesJgvK5BkQ0DB1uDbG0ODL0YnilzR4HZ
-YtTv3kbCg2Kyz068ql6+Z16L5qfJC/11iQEiBBMBAgAMBQI/T3IPBYMBbsyCAAoJ
-EKWgYMJuwmZt67wH/if3kjo34L91/rzgIwlyimeM4ncnzfsCGG6q2fjTMkIWH6DN
-9l7geF2T3IN2VeC2cXE6n0o+7T/pA9pw4MnwqSxfgw7yiefSaLKlWt8fp+XIVNN4
-egyQ2AEA7wS0j0rQdpGt1j9P989F9iSh5sxdqXXF8NiJSLNk/6Qc3CBP+7JoOh4Z
-532jvx7/q1atd4qYXhFx2b9vA20FLUQwJOyMbpYoiG8d0a3uQ0xivTUERUkOrbHk
-um1Q1b7R81lDYSnts+Z2PtThb/RW21BgllkLhqwg8xQKjTQ0S/Y9UdYubffvegMX
-uUAT9RMyuwKjxlPnACE81oPS/nS5fdvz0WaXf9iJAWkEEwECAFMFAj8hY58FgwGc
-2vJGGmh0dHA6Ly93d3cudHJhc2gubmV0L350aG9tYXNiL2NyeXB0by9rZXlzaWdu
-aW5nL2tleXNpZ25pbmcudmVyMS4wLnR4dAAKCRD5fPnjOkt/XSZCB/45brff7zO0
-wtcSO55jnl1ef/ivPg4jTKDRRLtTo9BEGf0NDYM4laaeFV2DAP/upFTG7I3vtRG2
-0W64jCxzuBPto6Om8DobzCWaqr4vnuwi0sHFpqeX+pULRHFodBPv2PMevLMDHTq7
-wVIh62hzJrWYPrX8CP3Fgl7s9f0O8YeoGIWQRTR+oJ9qwDqY55uVzKfhalrxoC/M
-Wz+Au8HAcdDJvZsTN0jEF7byIuKjnL0BQXjuMiEcIAmNZ8G+mU3F1tZaMaEkvIC0
-VuhgbuuUc8CvuSdSeu2jtVdAR1T4+o7JXl7T3cMe6VMRpIZSw8S9c9oYANM9W4Fv
-/CcfXjM0YZGViQHdBBMBAgDHBQI/FpYHBYMBp6iKhhSAAAAAABoAY3NpZ25hdHVy
-ZS1ub3Rlc0BwZW5ndWluLmRlImh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29u
-dGFjdC9wZ3Avc2lnbmluZ3Mvbm90ZXMuQTkyRjM0NEYzMUE4QjhERURERkE3RkI0
-N0MyMkMzOUY4MDdBQzUzQS5hc2MiMxpodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJi
-L2NvbnRhY3QvcGdwL3BvbGljeS92MS4xLwAKCRAZomgJiDj9lNvQCACUffB9VWqH
-ksmiZ/5q/zKBGtWBGChdc1KkjzrMcfwZPijE5taUdS1mD04+6naJ+KgSbIiOrtk4
-GsCuHJSLBIhJy9dtpvaZMhmU6kKp1ItxXfBw6VqD3bgllDPnkWkb5q034BOAmdg7
-Y4jXeD5iCdUNpIGemKlF1S1GNYnYzYnTKfRIcqgZ8G4QA8Po/vDaoPw42XbEY1p3
-pjUjwfuh4Uhqb3lZtM/PPCHhSkogT/EW6DdyB40YfZzvDQj4upYfS19jwbrREo6x
-sFAMeQ60nZFqxjbWD34BIIqnWGOGM3vU+4kTDJTH36MOHSmcpteXz4wDlBUTstG9
-MS1/zMPJcRt0tClUaWxtYW4gTGlubmV3ZWggPGFydmVkQGluc28udHV3aWVuLmFj
-LmF0PohGBBARAgAGBQI/EFinAAoJENb6+t2VLz//zDIAmgM8Pn8fyYwFN2SxP9nh
-xCQ29iJeAKDcePVaMco+0a3ECEdC8K9f1vrgNYhGBBARAgAGBQI/E0TkAAoJENAZ
-9e+QJ6uIuX4An1HLngrffGbtzm8qmS7pwbhXe+J5AJ48LfmHJ4b97S5pU5Z9idOl
-XZsY4ohGBBARAgAGBQI/E2yJAAoJEK3sLNEalTfnUnYAoIZNqErG88a1q7YEzIGx
-rYJOnNptAKCLDpceIDQ0aEhmPsUoFp6whg6p14hGBBARAgAGBQI/FkxeAAoJEEbM
-XGPzGKVqolMAn0gx5juuveK5cXOE12M3eoKH9DLNAJ90uBOT0ahOSTPBNaYRNrG1
-OttHGIhGBBARAgAGBQI/IEB/AAoJECjdsP0Zyba6a+8An0AOYFxPrdDD9arN1ojC
-R4diAecHAKDYiwxv3h5hoLfoJa+peG51Rarwv4hGBBARAgAGBQI/KLbxAAoJEG8j
-i8JP2loM7hoAn1/RkGr3qSul/9ELruvomxMJ0+QlAJ0Zj+Y/WUr96hetuIemzO+0
-o/Aj3IhGBBARAgAGBQI/Nfy2AAoJEGnSph3iY/zUPaMAniSEyLKVjJYEFAIzgmpx
-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
-ExECAFMFAj8hV4QFgwGc5w1GGmh0dHA6Ly93d3cudHJhc2gubmV0L350aG9tYXNi
-L2NyeXB0by9rZXlzaWduaW5nL2tleXNpZ25pbmcudmVyMS4wLnR4dAAKCRCkec3E
-WrRgauA7AJ42KOLGN/ovjnxEdHD7xzzRcHktAACgkyi3zR2G3oL5a3nit4rQvihA
-+xCIkwQTEQIAUwUCPyFjyQWDAZzayEYaaHR0cDovL3d3dy50cmFzaC5uZXQvfnRo
-b21hc2IvY3J5cHRvL2tleXNpZ25pbmcva2V5c2lnbmluZy52ZXIxLjAudHh0AAoJ
-EHkFdo91hPXY9CcAoKrjRA8ND3y6T1aQSgRZeJeYu/LAAJ9sJeTFMk2uR098SDRC
-UcfTeKC8xYiiBBABAgAMBQJADIE/BYMDwb/PAAoJEL/W7lhX938JNtkD/3/2RKm2
-8v6btjL2UrCJg8LjxoqxSOdU6N5SLplZ2YOef3+gZUTZSsYT1K4XvPoBvPif+6zd
-0a9bFp+fP2j7SGMrlhHTd6+aDQ/BHaEZzt4dY2dfFcDNyvqIKeOTXw8/HR+dwryH
-DNwRcEMOb00IPVjfVirOcdPNbn6jYP1LYnPniKIEEwECAAwFAj3aoBwFgwLjnnUA
-CgkQ5RUoJTMc2l3FHAQAki+C6EKYQRullCePZ2GMJ8SR54xI42JaPbSBzxpb684J
-/jabcr8WHHJvGXlapUmdl3vqlks5tatn5iFJvbE4qAPOdo6C5NXIpD5OSbHAocXj
-43QdrftuMVF7w1fyJBkWFoMrMZoa4FxiFLENbm7DknLebp1Bp282O/XR9R52PJSI
-ogQTAQIADAUCPyFkiwWDAZzaBgAKCRAbsIu/KpIyJW/MBACnClO5+acvjHnfaUd5
-3tcKfLkb+vWzMXWKNt37RG1d04bKqlkZdzJKT+noMBqflVf91rk3goPPJPDjwUtm
-51gGlSgPG4mPnhQRrUHwC8BM0lGiuB68Z1QdxF1iUx8B623GtPrJbfufCexrAxIL
-6La7KosErbR1JXbjS9+d+M1p9oiiBBMBAgAMBQI/SiLRBYMBdBvAAAoJEJugaRW/
-hasxbHUD/RqcGxjUaJgELwAfNcTpm86BsNL5tu6WJFe3DdIIzQTb27GGgbOfj5NR
-LFnk75xgQtk8lnKqsXQHMC6hm+pwh4ZGISBZE7NIqYokUSYDT2mbplDo2kDPyO2V
-1fWf8P5f8rI5e2QYIvn4kNFWidfQKh1Rw86MlZVIieVf8eVeS5qCiQEHBBMRAgDH
-BQI/FpZTBYMBp6g+hhSAAAAAABoAY3NpZ25hdHVyZS1ub3Rlc0BwZW5ndWluLmRl
-Imh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9wZ3Avc2lnbmluZ3Mv
-bm90ZXMuQTkyRjM0NEYzMUE4QjhERURERkE3RkI0N0MyMkMzOUY4MDdBQzUzQS5h
-c2MiMxpodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJiL2NvbnRhY3QvcGdwL3BvbGlj
-eS92MS4xLwAKCRCrHktgRnVrHo45AJ0dD92uCPhsjLWrVsbhMJfwmkVOnwCglKPY
-urVXyo6uXC/Q5KdueASb3iWJASIEEAECAAwFAj8RTT8FgwGs8VIACgkQCen5Copy
-TkVorwf/ZHfXpigg+qo5D9nzURNgsckj7d5F6M3QfYUSpE7Hl8826m80iVciBIkZ
-Eo9R2H9mFOf8CJFBLqcbz6vxRC0Q+xMbZSw8o0tRrfVTEPyvdh5ayIwKsV1mgFux
-JwyDPN3zy7LejqsLQUA2IGY+pCz2kv7P0iWRvK4uaRO/z5qaF1QLd+aYssolkidm
-cMnkJph3+/UiN8Tvlr6UAcsAolj+ZShPM1whJ6aAOL1EnDmnHScVVmGIl6Qf2q1j
-tPlF3qG6CY9CyIaUSxSudAEMaGthTeM+MjP108aJcTYVF1PbyHnKy0e4tJlU/MW5
-OohVH3/KEmIj2lT2AvBUHbCYL4NW2IkBIgQQAQIADAUCQoDzmQWDAU1NdQAKCRD1
-wyAKI5xjhP8aB/9DnrJvwzgelLhZ61kZ6hHeMnL5MfRwe1ytJw32UgK8k11Rh2qX
-4aFq1z3jF/jRmFE6GRSP1dSFpu+YQjPSJ5rJO6urO8OyFXkgPVw5ERlbWxyU/E/9
-wQf0rfg2/fdOsLOkp8qO+svw9kt291WSWBvw78MeHYEUjnckGhYYuvg0bFMjCqew
-ZxPHP6+qxgRRlI624ArmvG7auGaLJvolDji9dc6RFoygdmDKFcB6oZZCfpsMRM5i
-SokRQJq6kcOxC9uSq0S5F3kqBpxaX/Cz7awWCpGJ2HJ8IM6KWhn3DZ3PaKFvFWkM
-fOt6IXQMCuz7uhLPeh9yn8HeE0+xrafU75VQiQEiBBMBAQAMBQI/EQ6ABYMBrTAR
-AAoJEEAGFQ5ACertOZEIALVSl0IYEbpqEftGbDf1uxfhioTFUS4IedO8x7dG9WrH
-m5WTOy8dBTnA1ibqD5U6kwfUkylDsSwjghQQtsEAd9Uc45LjFZVi4+w/3mj65IbM
-lizrunjZwRysce8eHgEVgo4yfDfyCF+LNHSFOVDIBawnUTm4j9PZiX74hq/W2aGP
-acKn+as0PLzSJMu7MtmCf/pds9TBVLoTlhRXcA4+o6P94OkMP0YMSNLe/0Bq+Sag
-QKAtJwdTbmSGZfCnd+iBdTQsEyCUYnjvJq+enNZgKTWfNHeRYbDBJvoyA39HKiej
-eRci4KjDfQhn1EDDz/q9mQr50cXfWxYD+LXzWeF6knaJASIEEwECAAwFAj9Pcg8F
-gwFuzIIACgkQpaBgwm7CZm2ywAf/dy0mCvoyH4ly1NzHMx0y1UCw/XF7YIbO9Vuv
-ILO2l4JAt+r8G7ebXp18q6vMCtPnoVAr6r7e4asp7+0BhvMXkj4nx/4N0W3pG9ux
-1/mPF9rpWq9hRcjbcHU7IqzS8VqaS+bVgIuGb99RT4Yeo9nA9hqwvTXFRKPzImv9
-uCRfPLcD4N2nUgUWcUF2GicA1gVQ6GhJrGCROTLt0s+0lLmCVrkT/Pg6ZpxXuogZ
-q2GHEZPqBUiPyRbhmz4GtZHGEZjMYO3V8nMgMkHpk7luh2dShDJzIoqfftgTmzuQ
-R0qhEyRldZlomTht0XVv0RBnGUO8IEhEM/JhXUdDKTdHtrPhLYkBIgQTAQIADAUC
-QSSwggWDAqmQjAAKCRAbaNz8wFloI72cB/oDy5na7lM1nIlRKN69USWBQ7h2HAXw
-QMyblpipNl4tTj89gZVEQlEXB82pdDUwULLydKsHe8MELbUyhE9Od++pkdM3BzRI
-ehkDqBiLkmHORf40nB2zszVVcWcp6yuM2yd/T41h4ySIw1GP5mmpd+FfFxWdIx4O
-Ycc5O3E7ksMCfryKusAiDVIlZqdFQv1wKX7tI49rX2kgqaM0ohYS1GeFH3bDlMq+
-b6vfY/BZRfJ5yqw0q+XM3Ev5g+s9Y5a0LeUY8BOD+b2DVAmOxBsVJQzZwBMwl5hc
-3U4D2KH5Jy1VDk3b84sdNqlbbSkSpn1qlnjn8+4o65DI3rsZT2se9J1ViQFpBBMB
-AgBTBQI/IWOfBYMBnNryRhpodHRwOi8vd3d3LnRyYXNoLm5ldC9+dGhvbWFzYi9j
-cnlwdG8va2V5c2lnbmluZy9rZXlzaWduaW5nLnZlcjEuMC50eHQACgkQ+Xz54zpL
-f11Guwf/RNdrUReGWes7tODJdN+NsfrTDQluwTTSGGmPL8xr+S/9V22Z1LLzGzg2
-7MI7VCJu30zHeEFJTNDp5fDrNoyCqZPO/aAKbQ3Q2faltmhePWNsbIZ/jgDHZ6oP
-7IokLhyMe20AXTNMtIcZcPOm3vYqHmcUnlz3LDnxKIoO3/6tp3qQ56yQjqn9S+Rv
-fL/1rq+4jJDwqAeoW9VRupcKAE03k6nEJwVSm8QGJDa0Zc8nUBTFcgtUturZMXm8
-FEQgkNtYCFL9VrRP3T8H38oHfxp8CA50Wk6uRqpMpQdf/8fe2OHVMtCJu0F6jTex
-PXkaUijmYAs+dIOAC+L5CFogc+TaHokB3QQTAQIAxwUCPxaWBwWDAaeoioYUgAAA
-AAAaAGNzaWduYXR1cmUtbm90ZXNAcGVuZ3Vpbi5kZSJodHRwOi8vd3d3LnBlbmd1
-aW4uZGUvfmJiL2NvbnRhY3QvcGdwL3NpZ25pbmdzL25vdGVzLkE5MkYzNDRGMzFB
-OEI4REVEREZBN0ZCNDdDMjJDMzlGODA3QUM1M0EuYXNjIjMaaHR0cDovL3d3dy5w
-ZW5ndWluLmRlL35iYi9jb250YWN0L3BncC9wb2xpY3kvdjEuMS8ACgkQGaJoCYg4
-/ZQ45gf/fsceAhEWApzeJRYlY1Rc4/pH/AkiMqVovXleAoJvig+Ec6dJspMfUWjj
-0vNGBsTaGZ1rN6y6Lth2Q07zEhUXsIJDnKgvxR64BonW6APq1Ck6rMH6CLUh55JO
-NOZsPVnmRyiM7qmLkz45XRF6l7dEOn1Ed+EtnOd/XXUkk9n5mVmYoSqO8E31WK9b
-WX+CN7YM5KOEWypGtZEwjWje26ydS57MbL/qlqWV5JHgccxZvnItcIURCEZQkXfv
-imddFHgTvHn2YzUESejLWWk9pdjYwDLTrVFWKEEKetlPDGhkjeBmFJcehHhpYlRt
-uQcSKduWqhcRNWqMUd+D+ccaKP9LuLQrVGlsbWFuIExpbm5ld2VoIDxsaW5uZXdl
-aEB6aWQudHV3aWVuLmFjLmF0PohGBBARAgAGBQI9ASZbAAoJEGfDAwhyWzfGBLwA
-oKWnsa+E24L29Y9VyeXfZq3pg9k3AJ9hEEh8WO5fj4Z073lvgHVPG6qyB4hGBBAR
-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
-mULa76pTI+OatTM85Y5HEAIAoILfHVi3YI1uZisfmgatG/fld68viGIEExECACIF
-Ajz72QsCGwMFCQPCZwAECwcDAgMVAgMDFgIBAh4BAheAAAoJEHwiw5+AesU6LrAA
-n1b1v095d8SjY2t6825yYT5KsP+9AJ9OhFAQb0IjZSkn8JFqhKE1SX0FP4hqBBMR
-AgAiBQI8+9kLAhsDBQkDwmcABAsHAwIDFQIDAxYCAQIeAQIXgAASCRB8IsOfgHrF
-OgdlR1BHAAEBLrAAn1b1v095d8SjY2t6825yYT5KsP+9AJ9OhFAQb0IjZSkn8JFq
-hKE1SX0FP4htBBERAgAtBQI985fMBYMCyqbFIBpodHRwOi8vd3d3LnRvZWhvbGQu
-Y29tL3JvYm90Y2EvAAoJEBBYFoXFIQl+LjYAnjY+MkyNepSpNWZdvFTY8Qniy91z
-AJ9E/GLjolXZUMnhbrcbUNpQOJaJYYiTBBMRAgBTBQI/IVeEBYMBnOcNRhpodHRw
-Oi8vd3d3LnRyYXNoLm5ldC9+dGhvbWFzYi9jcnlwdG8va2V5c2lnbmluZy9rZXlz
-aWduaW5nLnZlcjEuMC50eHQACgkQpHnNxFq0YGrTdgCfZqBF6uPJ0sBVmPvVsMQ4
-6n7HrpEAn1KHK11mQyg+9R30JX/wfkfGigsRiJMEExECAFMFAj8hY8kFgwGc2shG
-Gmh0dHA6Ly93d3cudHJhc2gubmV0L350aG9tYXNiL2NyeXB0by9rZXlzaWduaW5n
-L2tleXNpZ25pbmcudmVyMS4wLnR4dAAKCRB5BXaPdYT12L7LAJ9qw5GW2sMJ6rFN
-VEK3kCkmcaon7ACggd1uzTHGX/q9b2HJrzGI0sfpu/iJAJUCBRA9IvmbxEaR6Lw5
-pc0BAUgTBACNTSdhlZl50lKY/Wn3lNdY8dTsfkQrrfP+k2VtXMfLGILBHYzo5pw3
-uwQgv8+d0wzZHTBVt+Oa0SiCi2kp6CGgDGcfNmIUk9P9VKOT+knRWySiLntWWxfO
-1+JpKFJtY3aZd7ZtyvnKl9joQw0rIFmejadJRlF1nyl3S1lZ/cnNuokAlQMFED0i
-zoO9QKbpD86FSQEBRsID/jmh0rI12txDWfqLVoNb4sLDyVPGw6KR1bkYlBGEevwJ
-ffzNAb0jzQxzs6qynJUKIntGtskHeryL9BJq5pYEbDsd/GLb4ovSSRictXPIbCKd
-F8f2MfY3sBXhzmkrZPqo8ioCWq9tqGmIGBbc3sXbfJ5KRCadl/vtvAKhnUQYGSyh
-iKIEEAECAAwFAkAMgT8FgwPBv88ACgkQv9buWFf3fwlYdAP/QoaUNlMdp8CuN56W
-TXIjQSb7vBEjVCLrOqGx7ATo7wNWhuw454Ralz6xOwELGKCeWWlWrXyi8RDW6oAa
-1vuZIqZLqqJyfbf9aAQTfZmZYieRlMCtrZrRQ9pJmX/UBhUResQRhFPxznmltomW
-M8KYx5M+/hs5nbqOWdG4/Vkee7iIogQTAQEADAUCPSN7vAWDA5rC1QAKCRDERpHo
-vDmlzUicA/wOJkiv7NtzzyxMpIgC1rqsmBc56f0Pch8XW5/fVyE5zC1epcBmAXc8
-WhAxRS+ycXadHQV3EpjHzW74OFQl/wsTNK7soOxyvV9B+cQdjxdBmQfbw1/kDg++
-J/hKiQYgVc8l6e+K9m9FebfDe8PFaxc0N5q8TCu4IvBMohAUpb/uRoiiBBMBAgAM
-BQI92qAcBYMC4551AAoJEOUVKCUzHNpdeoQEAJEP50YXbGVRgC5Y9LU2srzL1N16
-WZX2PwmRE/LGgU5SNMmKZr4jWYEim8rDRyZxEytd3VAFuCMvXQ+GlhlR0XeEc6ql
-KYbUem3K0V58tv9JPJsu+LER6rpQYmSQBkH6fBHha/Tl9b3+jT77/TbE7V+rJCAb
-b7fOTSJ3qdVDKjXpiKIEEwECAAwFAj8hZIsFgwGc2gYACgkQG7CLvyqSMiXYFAP/
-XVK9xQbCgN09K/U7Moh0szy7nubZYDUUA62UliMNutrqnafkKVuk3BDqmGPvkeLT
-2RwRq2bZaAznMsPuVoWTfVlM9WdErwLrll8n3WgfRaWTPh6iNJpNqDdYcqoRy9oQ
-EroyjWKJdTijSkOrkga5Uwl44TzsvLXV8H1AK45BpwGIogQTAQIADAUCP0oi0QWD
-AXQbwAAKCRCboGkVv4WrMcTwBACQzG2D7BX5U4nc002Ki5py7uqWXGn03haAqx1E
-slANX6FycgyeqE5zB7ApLz+J68gLWWWhnVsiJOnC2SWL2ou1ky9cpgROPfhgTC5z
-iwH15WTGIayHy3nqzoRGAoRAyvzvZlnXQX1hGqOzfXCGszDKVGsERTZI4ublEw7M
-LZXwY4kBBwQTEQIAxwUCPxaWUwWDAaeoPoYUgAAAAAAaAGNzaWduYXR1cmUtbm90
-ZXNAcGVuZ3Vpbi5kZSJodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJiL2NvbnRhY3Qv
-cGdwL3NpZ25pbmdzL25vdGVzLkE5MkYzNDRGMzFBOEI4REVEREZBN0ZCNDdDMjJD
-MzlGODA3QUM1M0EuYXNjIjMaaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250
-YWN0L3BncC9wb2xpY3kvdjEuMS8ACgkQqx5LYEZ1ax4N6wCgoKMUMJTeMgLrP7Sd
-EqKYc/NXdqgAoKub6jBnXDpsFcwHq1lzhnBEtvO1iQESAwUQPQPtHJVgYabdk0E5
-AQGr6AfhAXPkw0zq95J+Xi7N/d+0wPKViQyMmSeWD8NdWW/S0pKGsl/cxKVBCN/T
-H5GkDExI4WPc55SFO/2X4X6udCWODuypp7LkNsnROaXolU5CSpowxUpuqjlckxwW
-q+u+ThTeBJBWwzLpogUJtQiIcMdpmB5xs6chXKc8eeh0/F6E7XLMdcNdcXGAV21V
-AB9sFn3vH1v6jge4mRzvDB7ty5jbjJI8/gA8S/BuChufT0sFNxXp1/hFkEk1UGGt
-2La8DKgzRw1pFNuOgfw2lOQun3VC4haThtscPavQS3FKVjHdF8l4akFDXRcltrug
-RMFfLkrjJThH/3MUCxxdyOdQ+YkBFQMFED0D7RgBVbrioJTaJQEBn/QH/0NIkPkt
-R4yatrjNn3ngGN2RjxTFeQxts1ToRrUVeNTSoQFAoLMfdE5ol6qfX6erZeVVbQyn
-XGejdKCpdd27BaRgZaOFmhu+VTkphUMFuriWGzDa1Tjvpfz5eh9ttIoLTS/63KOl
-JLt+6jxKXxTVXBAkY4sPrvioI/7Ck24JLEk+ucREflDtwIECxc1q62ILOqCpLK4g
-w5kaHaq2k8Dt3HzvxzYlVR/2NqXrmQRIVYXM/h97pTtT71F5NCzpqXNVcSXdJvu0
-KQmj0VtFDVO8Sorwg5Vd9+6X9BdUOH0zLEgnhCbsCJSAufWv7P0fyam5r7TnmPxn
-avuWiH0t9FOwVLaJARwEEAECAAYFAj0nlkYACgkQjPZsgRPdOVDZqgf+LwLZ0vTE
-MFSqheRIh98mCqlk1S3cvbPiAOf8y82TWaX0+PEPPZIFY4dyfCED4+aHI7i6aU0E
-Yc2SS0oe3T1w/AvCKP3bvI5DPZhPiLOiJbGR2RYy05MDXJf0DougJdRhEWimOp4u
-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
-Di/aS01mrVBz9amobWhdwbdrJH45JSm7QxcO3yMmKNURjatGaBi6ih8yGRyHYL8a
-paZcY2VA32cdNTqCsVHeyUcml7mqfsyOKlpleEIE7IcFzokBaQQTAQIAUwUCPyFj
-nwWDAZza8kYaaHR0cDovL3d3dy50cmFzaC5uZXQvfnRob21hc2IvY3J5cHRvL2tl
-eXNpZ25pbmcva2V5c2lnbmluZy52ZXIxLjAudHh0AAoJEPl8+eM6S39dkwwIAKjo
-94Mz7+ryatxk1pmMylgu5u77qqnvJ4gwOLB7lvYJCLou/QAyyy0I5iwKSQpnWJmk
-zV1XZdnQ/qqvMSH9l49cgxA/kQTM5laAXf4JXCM+JdLqcWlvoNAApJB1T8uQzi3+
-vU2RdVKJgl4HehvyTOAS4fWMqQBhz1ha5xaXUdPFrnC6ih3bflmWxFxjK6OtEOi+
-q+sTlALfPZ5S7tUazNCHXYSjtC2AncW8zq1tp+TYMJ9/Cj2j30M3752HW73oXQAH
-W4E3cgfiNWlxRY8eC/9XR7PpnZYV9s3gbHoYrn5vkbxOmzW+bbw//y8CBV5vtLdJ
-o4J2bR1QueKjIAv6rBiJAd0EEwECAMcFAj8WlgcFgwGnqIqGFIAAAAAAGgBjc2ln
-bmF0dXJlLW5vdGVzQHBlbmd1aW4uZGUiaHR0cDovL3d3dy5wZW5ndWluLmRlL35i
-Yi9jb250YWN0L3BncC9zaWduaW5ncy9ub3Rlcy5BOTJGMzQ0RjMxQThCOERFRERG
-QTdGQjQ3QzIyQzM5RjgwN0FDNTNBLmFzYyIzGmh0dHA6Ly93d3cucGVuZ3Vpbi5k
-ZS9+YmIvY29udGFjdC9wZ3AvcG9saWN5L3YxLjEvAAoJEBmiaAmIOP2UNN4H/iI9
-8ocmrlSsXKH4kvKrAXdVR6Zt/eWN7bDhufaiCq5gPpkySvANnBSHv083bor6AoK4
-v77Otwl5SiTnK9A2YkPqfk54mYzX6Wyd9rkXfvq7gx1FZIv7Ad8Ht2aJqAhGlSZW
-Q9DE7b7lDtCDwrDREimWAdGozy2sjNsqPYyF0R6okrHfkOVheXEw9ogZY8hrPQYE
-Nabv4R5nIg0QsK3P5QA9c6uwcEPYvz9YLsJNPgub5PnU9hWwhinttwq5byt5f787
-YFF+61LoGq94SBEG47NY+j9++vvf9YCJLnMVzmZqdE+MZyu0AjcdXNzBIByBeaJF
-VzSyxQcnu9EjayJMWcC0JFRpbG1hbiBLZXNraW7DtnogPGFydmVkQEZyZWVCU0Qu
-b3JnPohoBBMRAgAoBQJMh8VeAhsDBQkVL4RlBgsJCAcDAgYVCAIJCgsEFgIDAQIe
-AQIXgAAKCRB8IsOfgHrFOpV9AJ9vGgOIsR2lOY8yuaVPkMN2IbwHXgCfcpcxDEAS
-sU5oeT6EpGXgyQTKHQm5AQ0EPPvXkhAEAJR+JXp+B5wZWFu2EzCwEH7rHNiXcQ/p
-nonR7NV2gbOUZ9LHskHn5jq6NNZPEfIwBJqs4RwoIb1RFNGkyx01qjx3yMUtORy2
-SGENCBBTH+c9kkrL1Bq4MnbR6tWtAcOKjefsZDjBE2SgXTPW4Jy+yrRfhhxa637b
-y25Wmx8PHlwLAAMGA/9dRrwk/jXPcGvqcyz4I/dsTM9IhCxyKvPJghBxGNTAmqHY
-n3WWR8H49cHfi3XW8HMNXl+tk4IULp7GA8akmKw48d65oqd9KD468k+UkagdO83P
-+Uoehtv8ROCbYECF5AkPgtk8px8N5EgHE2PANrXTL0EB/TFidNLdiJu+CUsDGIhM
-BBgRAgAMBQJMh8JUBQkVL4VCAAoJEHwiw5+AesU673QAnRxVRUIYUB0OZZ5A2d34
-bbJlJih0AJoCWn8cneSXT3oShBlbt8J3l133BA==
-=viLB
+mQINBFJB2bQBEACyP2fcjsiiLZdayfRP4icR/PsTFRCr/ZnrS7WU0CGA3lSFUEMq
+nFHsyq6REKUYqTXYu6jzhfE72Y+04tj2GsImnPSkckLSCb72ZLefUSva1QZj4DVK
+yh/msWLea/zSFpt0CzLvqKBqEi0LMXcRKNk+lwUd2fvUsWgg5cigNv+l4fKLdr4y
+fZai9O8dj83crZ5ZLwF4WvivAZWsnuZDca6rdWM1IijM/QPuH20h51fBzX49dsxn
+1dEanDvxYtR9Mz1mNaO2xHF/wac/fqX1NMysV2UF1FMvYNH0f2n6uavpjUM7MT+V
+Noazam4vRRzFP7zBH6olAAmrUszH31CzT6E04u9r7GcKIHOKYpUJIAcOUbpBwI0M
+sRptSOrw6cd+GYtp75yexRkHTyavUlmxvzN4oMrAS0+MpJJhtM9uM3MUAv6+r5zj
+hOoiuD1MZy8oGkwljQnzZ5QPndepjpKALyJyQpDQX0COMNbilwfba3odauWedAb0
+0LIg4b/yZDvDAtTr7WnbVOO9+oe0oZ/KzAxuaCqxzb+7H5lfkS7Yby7xh3/g74eQ
+r6znNDsHu1l2MZvpJ4DaOzzEM1LpoTjCrgCsCdZ4eKPd9xHCfgI8q6aQp4ldD6ba
+wd0cpgyxL681J7uaVPRtBb+8xoh95N0JAg/RSxdffS79Fxgu/h22R29zrwARAQAB
+tCRUaWxtYW4gS2Vza2luw7Z6IDxhcnZlZEBGcmVlQlNELm9yZz6JAj0EEwEKACcF
+AlJB3OECGwMFCQlmAYAFCwkIBwMFFQoJCAsFFgMCAQACHgECF4AACgkQbL6262d0
+0qOOQQ/+N7A8ACYuBF3Qv/FJd1YyeH6WHJy901+nu5LQAy4mggtSl9U4aFdnVhVd
+yKMF4Rb2a/SGQE5uAUFe5kH/xovFgJhWYWlLqu5oeKlsyUfEFGzDaVAPTqaz5OBd
+4j5eR3IsBHv2QIMD2dGM2MryzIdCQ84JM3Hq5cQnEtKCvQgEjBvK7inBxT1BESUm
+gotf+zGBHQAeaRANEaHtvD/M4O3iifrmiSckmA5154ozrjYFX0ovCzDFDHOln7B7
+bvqcUs7JRITiTVPHCyBYUeUQmmGS7NvqUEU4E5noTkmKM1+M5f4Ekbg43/0UE2Af
+dOBf0ldirGE5Czg8tefG6IUVXW11T3m/t1hKd5L1RpfvUPbl4GyHbjtYmm+x4ykm
+72Y6uSSmhHA2EjIK2TVs19Fv0arANvAdWJ4ktoGWX2PixmvSBHflJ5vL7uXX/fVj
+WTxA+A5NcY4iV3oCY5P56PiEeEg8LnJJk6fDc3enAXtgmG9T47YXxjV0jDvqcHsX
+EEYBJE/ttVaXfVJv+l7q8TWT182NZVlyjRnib+wuH/YMyJlmt79voK3tprnoQIWB
+Q7m5D2MDtn9YTMGToySOFs9P3WJ0oEBfwAt/Nn2RK3SbNAvICmKtkAiMkzeRsvOO
+xEiaEqCiO7ilHJLQWQGwXoYX+eiRfWiz4Sao6uyaCQTz+5/O4NiIRgQQEQoABgUC
+UkHfgQAKCRB8IsOfgHrFOprGAJ9RMAlnqQPQYDgo/990qVvk0JPikwCeN9669DKX
+0ovsOAMYLTmqzDYFIAO0IVRpbG1hbiBLZXNraW7DtnogPGFydmVkQGFydmVkLmF0
+PokCPQQTAQoAJwUCUkHZtAIbAwUJCWYBgAULCQgHAwUVCgkICwUWAwIBAAIeAQIX
+gAAKCRBsvrbrZ3TSo+i6D/4xmvU/q42zj2kdBt7rb4DDpGaHtxbBwGvCqhZExXpt
+yAzSj663R5pX+EunirxP5jwEyDg1cw7HzUsH38ctw33zcEmE9PvUZ1XGEHaKyXkX
+W2B7X+vs+hMWKKVq6cu+zE82J1eQq6kksZu1BQjG+VYoByK83dI+LnM6fOk3jOR7
+E031W7SZMUlVg7oiEJsgeTrU9/+bYcuJu9EeWUx2ETZ/81ysR7j4qiZXT/wzn8Li
+AXC9YsvauvtI4aVedjuz40VLjtJMUUb2z1N1VRVYsIEfch3DWFX9K42wsPp3sgcm
+S09PVBzBWBkZMRMocw6RN/TqRdYQxw40tSeMTfD3Fwm3w5jQwTwmqejWr6C3zXh8
+P80BVLt0msp/ZIQDMdbhe6z4/EUcZy56lgU8GypgGldJoZfKciaSirnpNm1Y52Di
+b8O+nIp0p4kY2uG55t3pKFTX0za5kB+37N+dDGFev7ex0ERNGLv/y7n+19J77HDt
+Z/CK/iPzMyW07uS/0hkcEMidmX/WrkwhZlnXKZk1YvCEF4hpjwqN4qspr/k8pbHv
+e8yT68d1FzVsO9cpqB2doCywMTO96u5xPmZuOR04PSeJVH92Bba0V3yrteFx8hiK
+DTMxB3F61RPVlM4WENyhrRLTSnJu5ts86z1YJex751UTU1/xYqypWhPmKPzps5xE
+/IhGBBARCgAGBQJSQd+BAAoJEHwiw5+AesU68sAAn1WaEYSVGPWTBjGDJMI6o2Hj
+gtzmAJ0Un49nsM7J2UTziGF7QqwD7xaemrkCDQRSQdm0ARAA1gyPC0SuP+0nnA0H
+qqA8XK4pOWHiVtcZmCrUGG7fvKir2Cg8N8ngyQjojr8y0tE6fN9EHxpMHZPr8KlS
+u/cN63oVk4VPeQxoWsrMy7yeuq6keaMhoSwmUUVLM1u3s52fV7DchnOFNOqyTIUM
+oZwkJQr9YNEejKv5UVh0eG4w4vGM9SmtZjCQZFBnXVPA/z0pXIyKx4R+s9frlEuS
+IT09v0UkPROktU+oXhIdd6dPqZyQ3ontiaVC9qWMwlYgLe14Z18BPHfTs5LHwQmJ
+VJRrc4eT2MMIX/b55ZnQpDNZd0iJJOwHYGlyiYrHAtXH+A+kUKPTkCCPIkNbfQwI
+2Xvd/NmL6vVe7rKHIar7x2Fa0lJBspC6kNxGJTlnHLm6LpQbcIG8pI56eIFlKQ5s
+qzqyzPZUAoJaH5ZUfskrpavsWmjAo5JWmWe1sTgO0mbsZScfDKX1SmdfQIOZ+vyQ
+sVmUgliqHygvuxXPTOLxgRwpfu5v1twnmGp+QA2RX0hB4Znw8P/tveVktD0zoyUt
+HRhmuK44ZSS0athsbpgN1Daiephm4XHGYhR1f5PxQ/NjYy/Gc9Hh6+KfiDrkKrkA
+ahukQ9Vd/5HQUWAW2L5IOaTXXQly1Ps6Sxi56RYa+KthrMKu2xxlGT/ecHSH9iOC
+TrgZUB+qqki5gIhR3418rzFVt+8AEQEAAYkCJQQYAQoADwUCUkHZtAIbDAUJCWYB
+gAAKCRBsvrbrZ3TSo3FOEACR+SSd8VNXfbIugGD2Glnx14zVm6izYKWLs7NiX0ZD
+UPt5wqpYqi2ka4r14Sj50viNlQyr9nHuKQ5JPN5quw1YudODs8nYFCtCm5cGArIs
+F9buPoo52QhYVp9HcUx6eLdBVo+Fw8zV1EHmeaDhajrqc9rNFprRmC8OTOPRoLVU
+hpiOCCe1RDhUDNiyyCbDv1fFeC1ZTp5DVa6lvzqDKDQjR/d/H6f1VT9x7dhfj8J4
+ohjrHRBet2Koipp5nVk4dHOdFducEdFLcQ/eVDgnMtyE7d2h7AAIlzldQGPuYbgd
+TXCnfoCoue8yn/eq4aMMVh8rTAlDAH7TX4d2dJt8//zfSUsifL5zn+bkx3hWSiSw
+2MzeuaSKnUixoYBPlepoynkiydnejDxKeMStfJEjRx+J7u3Pu4jH5witaKAA/bIJ
+XFg6ulfsVxx6wfuLuhlm8uPZUjV9nXSJDs0FCp7yOkIxX7yV3hRjdoLn28Hzqn4t
+yUnEfs1YHW6JKzPg5Zr09ShgGYl1QLTkhwF1b0SExT33d/sgLj9fK8T5BxVHM7UC
+Jd2OofkNgRyWRHcj/oCUAU4T2gAxdHjFdbuCKE0hmBEySsyB0Bgpnu1oTd2fqEYF
+Yuvu7rYAYITxacNnGguBjm1LtTqcokGnsP+VA8KS53tWjbiWl/BN+vi9MVF678J0
+0A==
+=oJfd
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/avg.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/avg.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/avg.key (revision 42804)
@@ -1,72 +1,108 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh avg A651FE2F;
+sh addkey.sh avg 0x380342A852615619;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 2048R/A651FE2F 2009-02-16
- Key fingerprint = F234 4D58 DEFF 5E3A 4E0F 13BC 74A5 2D27 A651 FE2F
-uid Andriy Gapon (FreeBSD) <avg@FreeBSD.org>
-uid Andriy Gapon (FreeBSD) <avg@freebsd.org>
-uid Andriy Gapon (FreeBSD) <avg@icyb.net.ua>
-sub 4096R/F9A4D312 2009-02-16
+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]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
-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
-wg==
-=/KPo
+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
+=FILX
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/bf.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/bf.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/bf.key (revision 42804)
@@ -1,41 +1,63 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh bf 9806EBC1;
+sh addkey.sh bf 0x4AE10A7E8F65FECF;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 2048R/9806EBC1 2010-06-08 [expires: 2012-06-07]
- Key fingerprint = 2075 ADD3 7634 A4F9 5357 D934 08E7 06D9 9806 EBC1
-uid b. f. <bf@freebsd.org>
-sub 2048R/1CD0AD79 2010-06-08 [expires: 2012-06-07]
+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]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBEwNjXUBCACWeNjUFZ8rzqxrEIdL3wVrvkWVwaf5HW0YwoIMq7ba3hRcPWuv
-yr3frrdvqJv9rHJYA8f6uE5dCkb7OSI3YXHC5QN/H9xB1bvRuSUyD1MwmuihUX/A
-7yk7HzUE3sXy1U3QIMJWgpvnN242OZtH2XlanuSoDdBL4Qh2Fw7ywQaZvzNlZKUa
-hPF0Ty7wci/5xuKB7T72Qk4vAYYqxUxYJR/5ox8vM/xiAh5XxPbOuAF0p/wQiiRi
-NjF/f6tluQu6Q6VFwHXGcZvJK39nNNpadsDCegdRCUUFJsHm8dSjlIyi5CTyUsXf
-btdlagPTlhiBtOYgtcfRZoPBLFjVafjqqL57ABEBAAG0FmIuIGYuIDxiZkBmcmVl
-YnNkLm9yZz6JAT4EEwECACgFAkwNjXUCGwMFCQPCZwAGCwkIBwMCBhUIAgkKCwQW
-AgMBAh4BAheAAAoJEAjnBtmYBuvBVG4H/Rc/AqfFfQi+qph0HKggVJyzEKvhVWhR
-8RZ+8zS4t72b4kIJT8FUOiHMpq/+qC+Lt5MFPCtxmOETDgpD9GM1EkgJ1rSDrN8m
-kbXuQ9Z95KztU0tGsv87JT0xSpxeMnYaQ1NWx5bkKG5AOf6ZZaUVas0XH8/9QCFH
-gqy7Xe2eGsLO52ZH/4AI8cFc0FPF17hSWTIAwIyuxcRLas+KdV1j74xaBu6parX3
-2FoquEFRAPoEcuey2aSWoo4OCBCoGYqh4mhWbEuLOac0NP3oLDFjEDJhE7UT+0gx
-W5LLwPr0FARkAbRZp84vt9rD5MrhNcZy0X3PBpykium4OrEIp5l9OM65AQ0ETA2N
-dQEIAK1D1POvE2tRnTeNRW6lw/bu9zx8d4PS2R7GepQkbUWQxpgcwSEoB1JGN8jw
-0iKD8KRoFLwQx+TizzRShRsOeYj7beK6rY5H1C0DbrQX6T7eMumOVV2RklVFqYiZ
-HcJh8LGjJN/tKt4k7OnDs40lHOFHxvKW+PiKogfiWDKpc/wns9mAhcXrbT0SZ4Be
-qbQOsZMfUbvOZUek4+lOZuaCb0M3QU47bsFrJonPn7VEHw7mkhTNL9a6KKc4ZqQw
-52ECVq4dKjNIkvaQZyosA7tRCr+CBYUumE6fssk72SdT0RD/tgHgKfgWZ9mxB3R0
-l7CCm8v4c24tZQuuGQG26WWeD8sAEQEAAYkBJQQYAQIADwUCTA2NdQIbDAUJA8Jn
-AAAKCRAI5wbZmAbrwabXB/9ggUz/04tDZdX4pDsfDoBKtnJ9r1yNWrniBBNlcVLZ
-G+3BwF5EfZAA/q3lSJmC4BVzaDUwrrL/zbPb0WhE5cGG/byLiByXsEDVSId4Kv/Z
-bLaPyox8RIYUL/wCjt/57FIORwGVhUr8oDDRLeSoIsazXWhvWfx9qCdzcZTabSkN
-74Q0WxQuOagvpl4Kcf3eQEQuB+BvxDQx9JvEXUZanurRP018uTdXficJ5MS+SwXq
-gJUSSPybwVjK/ll1G33185jnSQSFNwGq1udet7vkDjQKNmkcev1SJY1g0S9iFKRz
-e6dmnydHGtQ0508cCusMPNCQ4HRhQHEW7w5yu1J4t3UY
-=bgLz
+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
+XcnczW6WVzTkBFd2n0k1slA=
+=lqs2
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/br.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/br.key (nonexistent)
+++ projects/zfsupdate-201307/share/pgpkeys/br.key (revision 42804)
@@ -0,0 +1,41 @@
+<!-- $FreeBSD$ -->
+<!--
+sh addkey.sh br 10F5E66E;
+-->
+<programlisting role="pgpfingerprint"><![CDATA[
+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
+]]></programlisting>
+<programlisting role="pgpkey"><![CDATA[
+-----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-----
+]]></programlisting>
Property changes on: projects/zfsupdate-201307/share/pgpkeys/br.key
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Index: projects/zfsupdate-201307/share/pgpkeys/danilo.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/danilo.key (nonexistent)
+++ projects/zfsupdate-201307/share/pgpkeys/danilo.key (revision 42804)
@@ -0,0 +1,41 @@
+<!-- $FreeBSD$ -->
+<!--
+sh addkey.sh danilo 9788BB7C;
+-->
+<programlisting role="pgpfingerprint"><![CDATA[
+pub 2048R/9788BB7C 2013-09-23
+ Key fingerprint = 8946 BD31 4B3F 4AD2 428A D6C5 D847 FA50 9788 BB7C
+uid Danilo Egea Gondolfo <danilo@FreeBSD.org>
+sub 2048R/7FAB4DF5 2013-09-23
+]]></programlisting>
+<programlisting role="pgpkey"><![CDATA[
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBFJAsQUBCADGGevxbnyfej7DGSv7EBBIXUiemS/1z9QdKEjU7DYsGbeAv0AP
+RU6wzqfaCKP+UAHvaAxt+nYaadWgEYlvrozNpTaQxR17sIJPYplPcDglOWb544Dm
+pNkSQK1tJ7MPgR7HleeFv7Lt3WYzvUoPH1P97GzPFwndT2mBlimQeHlpdjmY6Neo
+3ZCZ1qYQ+4/YlwU7dvx8R1lPVyTd1DLZFyU7EPm+MQhEfXfanG3nCttPf34gZp8Y
+Br+MOx46OhBaih0zN750VJoM4N9qPQ7ctm9Y0sn7muFVmV9Q/1FOuny3R2nbAXmJ
+wzJ267uK4YI39UiEXkb7pPDueViJVhc+GK3RABEBAAG0KURhbmlsbyBFZ2VhIEdv
+bmRvbGZvIDxkYW5pbG9ARnJlZUJTRC5vcmc+iQE5BBMBAgAjBQJSQLEFAhsDBwsJ
+CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQ2Ef6UJeIu3w7MAf9EiL3WLmz592p
+iK8eV9rZGVdOK6XYQJLp1vXCLoK0yozKLI34hXtIeUAOVm8d4yI+wOcjush7NyAI
+a3Q/nHpW/dD4pYCj0mn2SBWnv15rPzEdIroRT+dpL44UAL+PrBhcvn2gERULGoJE
+JYZpVRKcuB+7foZxoMk+7E/EcGHsMQwJ3pWWIKzD0qwUdluLs5gowcxGeTCFHdxK
+XWUNkA9Cr/+KW8LDFF1jVd7ARrplDm5z5o2x+JnQsYXqkB/mMWBCKv+0gmK2xbFp
+VR+7mlmIlydKsusCXaBw3z6lAogfsN56GBJIxYwt5YMQtMT9l6bfltCevtQPrJ32
+tHw0W9AOBbkBDQRSQLEFAQgA8Mw4jX0ErgRJ1vV7s4FsrK3n87ubxdj9NiHN4cSo
+B64x24iXd8DscEpPAf5lJKdVmVPd0r7zHcUHEFTjLhlKgWu/hUVeovGEaJJNTvOr
+3crLuQS0keWkKfWhI5O/yGIEe8vFFBBtye/tG2ZQ477buyT1E0Moq26bdY64N7PS
+uazxZ5h22xyCiTQpCILC4pSAmoEhwXviODTPwyFGviJGIo1cVwzLWri4ObMumMGl
+a/m6CzT7gxXqLlYfOEOVBbSMT7OanVzb5QaOc25oi5CMXbBMUB4NWYzAK9nxvtiu
+dFB/2iPvkTUIldwjV+PJoY2lcZ8gN36zHTzeI3vVuo4CIQARAQABiQEfBBgBAgAJ
+BQJSQLEFAhsMAAoJENhH+lCXiLt8PBwIALupt2M/U2U/szyvwmMuGg9tJaQKmKqV
+cyKXbtGPHVzycKWwRzpdVn4gUjyzuGKbIptE5sWMvUbHrfHvxXVFbJeN4SbzdnUy
+9KZZMph/UZUET2NefCnX8UdPeASonqgp2gzBiEGaB5G1Ph7aB/irzA6VmIGrsgVW
+qOT4hkz7CZsF8G+9xqbCHCyrQvw72HPYFFxH6Eh/P4UV7/tbFw6Zlnr1pGxSZkTj
+0StWUz1EdhXCA5Y4QI1BaRs1sTJQDT1jCYhMFw4nOKbRUeCOaI3ixU3ygco13eCx
+2QcclRxZFPjwiqT5Q0H7vW9uj2UwouRF/78Wlywm1YXhBQEwrWVWXm0=
+=NLwl
+-----END PGP PUBLIC KEY BLOCK-----
+]]></programlisting>
Property changes on: projects/zfsupdate-201307/share/pgpkeys/danilo.key
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Index: projects/zfsupdate-201307/share/pgpkeys/des.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/des.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/des.key (revision 42804)
@@ -1,238 +1,627 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh des F94E87B2;
+sh addkey.sh des BB9B471BF94E87B2 92C843456DA6A66E ;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 4096R/F94E87B2 2013-02-15 [expires: 2015-01-01]
+pub 4096R/BB9B471BF94E87B2 2013-02-15 [expires: 2014-01-01]
Key fingerprint = 578A 3F4F 9E04 9FCF 3576 BF82 BB9B 471B F94E 87B2
-uid Dag-Erling Smørgrav <des@usit.uio.no>
-uid Dag-Erling Smørgrav <des@des.no>
-uid Dag-Erling Smørgrav <des@freebsd.org>
-uid [jpeg image of size 4779]
-sub 4096R/F4DE87F5 2013-02-15 [expires: 2015-01-01]
+uid Dag-Erling Smørgrav <des@des.no>
+uid Dag-Erling Smørgrav <des@freebsd.org>
+uid Dag-Erling Smørgrav <des@usit.uio.no>
+uid [jpeg image of size 4779]
+sub 4096R/A1F1FE07F4DE87F5 2013-02-15 [expires: 2014-01-01]
+
+pub 4096R/92C843456DA6A66E 2013-09-24 [expires: 2018-01-01]
+ Key fingerprint = BB57 22E5 C9B6 77D1 73C3 8CFC 92C8 4345 6DA6 A66E
+uid Dag-Erling 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]
+
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
-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
-maNTtSyMU9A54ib2sgN0GwxijcvwPyqT
-=2GhG
+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
+iRimQBCx0Rm80Adaz1hryJ+2rw==
+=uXau
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/erwin.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/erwin.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/erwin.key (revision 42804)
@@ -1,325 +1,53 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh erwin 15256990;
+sh addkey.sh erwin 0x517BE614A5C1EEC7;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 1024D/15256990 1998-07-03
- Key fingerprint = FB58 9797 299A F18E 2D3E 73D6 AB2F 5A5B 1525 6990
-uid Erwin Lansing <erwin@lansing.dk>
-uid Erwin Lansing <erwin@FreeBSD.org>
-uid Erwin Lansing <erwin@droso.dk>
-uid Erwin Lansing <erwin@droso.org>
-uid Erwin Lansing <erwin@aauug.dk>
-sub 2048g/7C64013D 1998-07-03
+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]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v2.0.17 (FreeBSD)
-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
-Ae/NaLI=
-=l+7U
+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
+AAz6JG03Ncy689PBrg==
+=BIeN
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/gahr.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/gahr.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/gahr.key (revision 42804)
@@ -1,50 +1,120 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh gahr 9571F78E;
+sh addkey.sh gahr A192089E;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 1024D/9571F78E 2006-05-17
- Key fingerprint = 1203 92B5 3919 AF84 9B97 28D6 C0C2 6A98 9571 F78E
+pub 4096R/A192089E 2013-09-23 [expires: 2018-09-22]
+ Key fingerprint = DA6D E106 A5B8 54B8 5DD8 6D49 ADD0 D38E A192 089E
uid Pietro Cerutti <gahr@gahr.ch>
uid Pietro Cerutti (The FreeBSD Project) <gahr@FreeBSD.org>
-sub 2048g/F24227D5 2006-05-17 [expires: 2011-05-16]
+uid Pietro Cerutti (Medacta International) <cerutti@medacta.ch>
+sub 4096R/408BA46A 2013-09-23 [expires: 2018-09-22]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
-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
-R8Dblj7cX+WKPwwhnrNq0Q==
-=UXRy
+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
+0CiP9PEfnns=
+=fOaQ
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/gavin.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/gavin.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/gavin.key (revision 42804)
@@ -1,571 +1,112 @@
<!-- $FreeBSD$ -->
<!--
-sh ./addkey.sh gavin A093262B;
+sh ./addkey.sh gavin 0x4DA114E5C4A2E57F;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 1024D/A093262B 2005-02-18
- Key fingerprint = 313A A79F 697D 3A5C 216A EDF5 935D EF44 A093 262B
-uid Gavin Atkinson (FreeBSD key) <gavin@FreeBSD.org>
-uid Gavin Atkinson (Work e-mail) <ga9@york.ac.uk>
-uid Gavin Atkinson <gavin@16squared.co.uk>
-uid Gavin Atkinson <gavin.atkinson@ury.york.ac.uk>
-uid Gavin Atkinson (Work e-mail) <gavin.atkinson@york.ac.uk>
-sub 2048g/58F40B3D 2005-02-18
+pub 4096R/0x4DA114E5C4A2E57F 2013-09-25 [expires: 2018-09-24]
+ Key fingerprint = A12B D878 2A5E A90F D37C 43BC 4DA1 14E5 C4A2 E57F
+uid [ultimate] Gavin Atkinson (Work email) <gavin.atkinson@york.ac.uk>
+uid [ultimate] Gavin Atkinson (Work email - deprecated) <ga9@york.ac.uk>
+uid [ultimate] Gavin Atkinson (URY email) <gavin.atkinson@ury.york.ac.uk>
+uid [ultimate] Gavin Atkinson (FreeBSD key) <gavin@FreeBSD.org>
+sub 4096R/0x443BBD9486DFCC25 2013-09-25 [expires: 2018-09-24]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGiBEIWBmcRBACSBNLMQiqMhQLXqjCfQtRveQ3hyCECyWf6dmlxLYCf5EjHrka9
-+q+spQtkYciFHDotxtCJjJvwaxO3Cxjfhssx1ZPfyezkfU98qbyem/N62Gsr1l1y
-6zJKiAgJt+sOYnBvyCADFT/2nUeRZDN9jjfPI23uZsq6xOAeUVUWsw4KuwCgr4YD
-l7f/IhL9xaRF+wdRa/MVfOcD/1jR464Mmj8PNRFn21aFHVpPE1ZOsunGv8uyjfO1
-TGyY7EThy+ZcaBSEfjHLEHKXOYuPJ1acOe70AgrBom4WjrxtGptpSwyi1lRJvt8z
-vjOWniUsNf6hInyUSMdeIyYT3BuLawlxrQ2q7SxzpU2n8zeH18HNnzsKAt+fAue7
-A8fNA/0V6E/NGGM3L2v/0S4O64ijmskGsc8MamyfRqaDv+1Zr44jY/GwXQyl1j5P
-pHEFxzFl4IfCJbUikoIBWoWT92AIZL4/mji6vZjlmUrgJ9eBTAvF0CRMS4mN9/4a
-Hit4kZ4moR/4r6PxLC7XX+QrVBoUe+oAZstOi7eCSXi5Xj2NmLQtR2F2aW4gQXRr
-aW5zb24gKFdvcmsgZS1tYWlsKSA8Z2E5QHlvcmsuYWMudWs+iGAEExECACACGwMC
-HgECF4AGCwkIBwMCBBUCCAMEFgIDAQUCUA3Q4QAKCRCTXe9EoJMmK/s3AKCqP/7x
-xrRHSnCsPanX+TMJMoFrhQCeKRAm9Po+K/WPyGwSaqo85lsza0iIRgQSEQIABgUC
-QhtuoAAKCRCpnyS0ZzRRql1yAJ9dX6Q62FS0tcwewm4wBUKfrMW8GQCfViglmVSv
-r7kN+FRo5aI4vRixfCmIRgQQEQIABgUCQh6MhwAKCRAgmbZMvxVJC/fGAJ0duuRd
-/DexkVimAcGJIAv9lmcsHwCdG3s9oU/MzN4Ouy1tJ/RQHWpXQOuIRgQSEQIABgUC
-Qh+QlwAKCRBtnOWrBC4AyUIiAJ9GrGh8oboARrzt+AbQ1UFJzgcyTACg/W3ejF8X
-omhyudOrrtxuXOc5AQ6IRgQSEQIABgUCQiBoGwAKCRCSNJC+sAkIn9ZHAJ9ljXu1
-o/8bBFzhCp2L1NoR+0ntXACfemaDJBX6noUhfdq9nnW0szxEGUGInAQTAQIABgUC
-QiCIhwAKCRB0nx5vVV/IpamPA/46qGzAdm2IaFTdHZinh8V5PtAJfUyp7jJqjdUV
-ZlW+mM03xdyZM1LW0KM8E/QaJ9yD8UNYpXKJGBIZwkaG3fQ9nBdoq4RRDoej7Orj
-F9qsMJXSzQQY7ZiuVfLVfecaRVj+wlYA7qHUjU1Ah6srZBzV1roFni8wcYwXuO4t
-V9jaqYkBIgQQAQIADAUCQh+6OwUDABJ1AAAKCRCXELibyletfK1JB/0RnHte+Ui5
-iqXqABzgNk5z4xMRm68pYBAoUSEL0WDFYoySaZXFslGdufzraOkdX6vTfXsUKu4v
-SCgelcoSLp9a+ov4cUQYLSGuSshNIOmZRLFXyeO4cNto7tQKxiyg0HwP3wxJ6mtj
-oCSGpRJ48drjZ2WeLanMHHp1bz4GXC7TfK4YFRHICJVCYwGjo7cOGO9nVqnQMU9l
-otCIQ6H18pB53mUMfFhitXKaAiTgHhAMtOWk83BnFgbAfQnGIZob4J0fuc0PGhJn
-PtwmbfWeFfAf7IErOYc64H3rcwtBu6QIlc0RUvxdND8/iVxx0r9g5zKbfh+lUmA/
-xt/+FhkrzdtEiEYEExECAAYFAkIsPNcACgkQKeFPmTkbOShZDwCgvdnTa6/c5LnZ
-gosbpQhGhWToL8MAn3WEnqCQRKvcGrcq+mO9qdc1T7hDiEYEEBECAAYFAkIvFqUA
-CgkQoLS7q6lYlVUrEQCfWt1UyjuSn2CszXIRMsOHe6pdjbkAnAgvQrZaeSfSHoZO
-CYbxgpLA38KwiEYEExECAAYFAkJlGlIACgkQYgOKS92bmRDBWACgpbAYHjsbNr5O
-MWTLt4jsnvSCYkUAn2nMI/PXaXJl2cFU+rs1QzFxC08RiJwEEwECAAYFAkJlGmgA
-CgkQxSga5QRk5+X0dAP9HiO8Xwz5y7i2FER23mA8lL8yV9aE+mSYPK17Wo4NZaGG
-Pd67B9ONUtPsMfav+Gybn0pxKPlMkALPvH3t8GxIdfGUR2CTCOOChc+H0fTNJ243
-TJmRHutTZ+tZx556SC6b/B1Pll5aWIkshmwS1hvSJFlMhvTLPl4Cp71jCNMBFeqI
-RgQQEQIABgUCQnFcsAAKCRCbxLc+I60jyX32AKCWZbHBHuuaIOrhdcIR48fpkOUH
-KgCgkRTIQDhUknN/+rckw9HuOAaqOJGIRgQSEQIABgUCQqN9+AAKCRDbxu0yF8Vd
-3bepAKCHKskuYBp3w13AcPBeoaYvJ8Vj1QCglszfpx/8/TToTxEbvqBnctCfgKiI
-RgQTEQIABgUCQvkysAAKCRDtFpR/ZKGUTbBDAJ4tHs3/xALzoK5sEImKvbrEqrwp
-gACeNixZohoEuglhFB/+Y3obGj/Y9D2JASIEEAECAAwFAkLsxoMFAwASdQAACgkQ
-lxC4m8pXrXyogQf+KMMmqS9y9OdgrES5VQJsaYkdMehe5gRbQh15WMg/Dv2cqhw5
-pcHS3sOCiQdT+w8GQaszuWg/833XqDI4owCZ3xhky81VpmW8/g1dBwJf4q3BxILh
-X0k+AXpyFiSvIfRIaQDwNaGQCvsXjATHr2wIWLiHukn4Fs13Z9ePh6Qkd3I9Zd8m
-YEmHFGfOPWQXiypzKebKR90/UIc62pq7HOYDLd2YCrAgMn/+YR6yitttpCsGS1Pb
-GlvuFp7GIuPco8OwbShYGU8v1mZZ6przs0zJ87WzmqsRUNouEHJ80P+RldVHun59
-rdZzkCtuDVOlVgWSUrM0noh+srHk/fsWRLr8gokBIgQQAQIADAUCQu1swwUDABJ1
-AAAKCRCXELibyletfOtZCADHI3IwEJBZKXFwRPhAuse/kniR8Jm5jlfE1MHZ5T72
-Anhmn5IGX565TDn2tFw4zB3Tq+c0fZaKq7PboOpbexZFiqaPtC6LybsE18qc0vy0
-KRiF5Bd0Dw3zf3nPGSXvUNgjdII4kYv3QD2puxV/71Rt7Bgq2IapBF5I5mx1ABjR
-zPGF8Uqn9kBui8HRv1hGRrMQbSrpNEd9+XP1A8GpIlfebMz7OAaND2h998/YFLjG
-JsDcYQ8DWWNZjMbtxKuNORCfiNWO7TBNmn63M2kiGFpM+jDJ03B0gpq46OvLmvja
-iONwAadFzvkgSPdvAmDZopC9dGcsoKvaqXRm5sAZuZMiiEYEEBECAAYFAkL5z1QA
-CgkQ7crV5So7Y+l4FACeODO0GjIPUjNaZrvSpoVlamSPsvMAnRUgxZKcWfH7IoI1
-8/ozSeg6oLfUiQEiBBABAgAMBQJCMVDNBQMAEnUAAAoJEJcQuJvKV6188AEIAJBB
-iTAKSnCTVuwVhcKlskYbeRbkEjvakU1a56z76lyYNRE/NoBaFkz1ExsGcgkgXwiY
-Fx2gOuw7O7Zv44f3hh7uZPWP94vcrQ7ffUD7HQPKAXpc1KUR6Wsso+aCXSWZUTXZ
-GLm1mkaVRbHH3+X+kRBAulAaTw86rXiSzDXU/L1JMh4eB6EBQicpKQdg0xv3J5dB
-bvOYO78PoduMJT5tuRoyfEJ/sRhi5nRY+smVawo2LWRdunU746Kz6obbPDUzPJ6o
-p7MlN3v5f9CVM1kghCKaJMe4z78wFgySz+oho5snDL+iol+iVa3hD/Z80NF6rUXu
-WE6IGW7vzXJV4xP0lcuJASIEEAECAAwFAkJCdF8FAwASdQAACgkQlxC4m8pXrXwW
-uQf/YFO9OUW0mrI0bdz2V2h+tDlc4HQWy+eBIraWu7wl+8upB4r3HfIcAcW3OlBM
-5DduSnFn36R6LzlkLqDxKsB43H/zWvcvI7g/iC4IjMPNQT/Nz3MjjdI7K1SpjV+R
-3jU0qlyzEfbK8xo70+IuM1vWNUrJKmPAM6SKIvI/BvqsfXE+r4Cmgr61VzExam6s
-0BAW2rbz2EfE6197LQ1guCOsNbAHERja6JGpzFbTJpToXdeZ6Cds2zMzTfjEIBas
-/vfMua6ctRc6tyPWqS3EV/bj+w6iDC1TalQ8xS6NKrIPk8GSeLQrSTs4wQ3DOd0Y
-J7a9yuXoU7WSYqF2x3SIULFYRokBIgQQAQIADAUCQlQzcQUDABJ1AAAKCRCXELib
-yletfPnBB/9hWpNWfIdgMn04jzjPZWcjr14RVOS/vmLLXGBP8ZcU29sLaXp+1q7e
-LQvRWz61iuGavAW2sZArl9W5wHRVHnlLiddPNpYBG3zL5QMHzlXZXxk77cxsBbGw
-3de/VSiIG5r8nOqcP8QL8gyiZIKf9zvXLfvdCUu9/5Lb5FBvBfOeGb7MCUHbP4pF
-bwzEtDd4q29vCXdCe3FdG1urTcTzyHwf4AD8nDAndo+OQ4Ljk/LhzSwObzjFMBvR
-70f1wLtNK/mrdO6Vtd/CSo6ZlFsxwHEgHdUrIHYSCcKMHIsZtt3SYYn733VrnQDt
-hZBj8/ez8LkOZd3kciY2T422xCGk+7AYiQEiBBABAgAMBQJCZf7cBQMAEnUAAAoJ
-EJcQuJvKV618pBoH/iEd0KObc2rjg6SmeN2JvupUgqmNxg4AOnWgKaqZyFpNV6Jk
-9MRl8UYjxqb6dPKHs+LJxUP66gHObd1USeq2V4pSz2dRZKgD5+Qu4xZUiyMm9TlR
-UixGeMXZcGQ2nk0+BT/H5Ge7NCBG8g2DzvDvCdev5MCH5Ck8h/w6m7RJmBOXxRfM
-hn8TJ2PSkaGgQdYBXuwZeSgsrNwThxRol9ixKjZQovvPIUU6nP37JCHUO63PNj43
-nMqo0vP+LE0FbnM+fv+ydeclqduSBw/+THzNDEEYPJcq4czMJZ/s3HwJYAMJ2YaU
-cK9b1ga4+tDMzjj0aAlDGIYCQB7FbGtSuMINoHmJASIEEAECAAwFAkJ3JXcFAwAS
-dQAACgkQlxC4m8pXrXx3LwgAlzp+XDu2Cz6tYLOZmnqVo8f2FrwSS4RUzuVU1Bw7
-rm+4S3FlGdBzx6ukDEC31TqSd0wigwsd+xYafVoONAMsgqfAlbr/Vlxz/f8kHUtv
-ys9POFIsCj6KvO7MQMc5v6vIgnZMU9b/Wkwz9dbrOZyp84hKl5BvRNt1bhPGD+a+
-ROkc168Q6hRGTmxKtDmd7HYEArBdMIj0V6DVu5kwzULHkgG+8SXAgDEdHzdGIUNT
-riG+4gmoIRmgKcNLHWOTfV1LqPZsvT0WCmXVZTKnW8F4497cqP25t4JaWYqpOYOa
-QFsvTXrqspZC4jk1Tu9xTUkrJhUz5WLism5w924yDhMhz4kBIgQQAQIADAUCQonQ
-ywUDABJ1AAAKCRCXELibyletfKsJB/9MM2Xuwwp8w2o3E+IVvyIFC+tCJXMvoT1u
-cQEu2QZSQ8pirF/ezwoznywx4WebMQTeLudbe0lr4IMgmv/wZ1M7p5G3iOJ/Q4Ou
-wnMvMq9I4uxbNYItloYLwXcC3svLBVk9rqq+Ci22UxDuC5EYFhE8GQy8eFmuR/+M
-hGuQ5EMz9HQWegNDqvTbEhkoIMMvOixZuxUGl2cPIose+fJlosyYRZszflC08/mQ
-Um9M/d27zuI0Ii2ia1vskRAkswBwHboJwJ0w9VdcFXN2jFFhMly93f/RBEejWW4B
-zbZOqB0fPc7jmHVnfoelZPl21r7r6BaLwUxrXjdJnK1E0mHBWPt6iQEiBBABAgAM
-BQJCnO1nBQMAEnUAAAoJEJcQuJvKV6187V0H/R0YaMUQlKBfwvH0ssT9+j6wgN1Q
-pBaDMsO0HGSVdzOy4ZVTi2S2byxdvuR5vCs0E+7L+a+WVb4ZC1yhHbr1dhieNiw3
-oKMXeGDsz6fb95Xi0ku7pgF6VXR0nw+gyqt9OrEnviGnt0rxL3hcfLmd/zXQBkcH
-kDvPBkMgr1OP5V6u8SWa7m+9nhyUn9hTYPHIsQkW4gv8CL1nUAqrUS3oyrUGt13e
-0aib2H7ONO28ATvQA5XKdMMCsndgbdRCReWzWPGqQ488sGqapKGjUw2v5VuCSdjP
-yH8mb/D8uL7XhO+xjhWtV9mliCa10xX/6i619zjuhE3PiJXhrypYFCpsI2GJASIE
-EAECAAwFAkK3V8EFAwASdQAACgkQlxC4m8pXrXzBCQgAgy3Nyi/hqbxChdn5ZGqV
-3a87p8pCrbyPUoxtSvH6eYNOfXtJrqTKn6zZ5gchKIRvvf9tml94OqiBNIkyaJol
-s9Z2bKCS9CrzCtiwi3xdY2AiGsueCB0d/MFJ9FK4F8GhjPVgBPndq9f3yImellXm
-i+lrobcV7g1eo0Ace9y5eXdCndBfEQhhIK8NMGuOTYtVdrmEjbHCtJPOvJGh0wkq
-n1cPfd5G6ZE/yezc7bDBziwqnhysW18pZp1Qg+ddVCslB/RqVBqeNH4lCEqrxt1n
-W9Zs/KNGLynW/6ZsSS2q8ney+HOiicYhBk+v6K8tGxTTTNMenZpKfNp9gQ5TivRO
-t4kBIgQQAQIADAUCQtEZowUDABJ1AAAKCRCXELibyletfLTuB/0WZmXqAsWd8ze/
-m9z0T5PtYgMQ1Yv+cEeh4JXzDNuxvZLpz7nM3Q3v6mHDZECLnT5/hIkV2ma4tNV4
-wKcycgo8VISxOrbxMbXMo96HOPKiRvPfN6+E9gj0M9AswmARPHbsGMezpUKDzbu8
-+NBEJAO+DJZYV1gybUMD7s4SzDx+qbfw6YbzP0EW6MXIKMtwdqHbn33lo+S7+Ens
-fTVSgHOBe5BTgx7ADSAWW/BxHgTObZx7CzJ8Uj6iv2I8OPiiD7fq8r+zaIRe3JMT
-NYfPNchIeKMf670ItD6qPkFRtp1VVYtqfjK+hZo1kBG2awHvdk9Ca8NvVy3iJ2KG
-g6xx+9Q8iQEiBBABAgAMBQJC0b+fBQMAEnUAAAoJEJcQuJvKV618CQ4H/j/tT1Ot
-grAv/4SxBl0uQAiHXFUU6ZdsgPqP6QcW2gY2+HXjRedsnP3aXTYJLZ2vYAMvm382
-BU4v4LqK9QFx+YW86nizVWG68rLAkBG3Rur62yxghZYklmg7pJP0+Rsm8kn8LXSR
-4E2G6Q9VmAfgmw6EzkOYzbgW+kVyHGSLMj9DtFAoUzwhEXJPyEBR8yZ0t/b52rVK
-/4ZgzTYrK62dOUIPoI54NgrSCBNMiGbpv+f/IFvGAgZLlhk+bIV8ODsfwEFGifHS
-5kZd0nbvcGU/q5mE8vOQXpsgEbxY0qcfpfx+IXvR9iHJ7iiKea3Ha0zaOemOKZYJ
-Nvi7y1Q5BmITw+iIRgQQEQIABgUCRGhXHQAKCRD/wPFMhMcbbh0kAJ4kkql3b0eT
-rYAyIGXQFnbH4xfFtgCgjUvnc77mkvnQkFZgOdXu4I4PgKmIRgQSEQIABgUCRgLT
-cwAKCRAWwTtft+SuksyIAKCX+/mCraHOxPXaUVCvbhCaw4WQdQCfaAcF6NIFmaj0
-bWZaee3EgPLioIOIRgQQEQIABgUCRgG2wwAKCRCpad1zbqleZwxFAKCpUzaRgoE4
-nJS/stmXMcyb6lSMcgCdHg3Yk2BMH44hUeeAmu0l3lsoSw2IRgQQEQIABgUCRgEI
-egAKCRC3zGx8mAQiqDxFAKCnINbx8eFt5t9afQiV74tpq22YSQCg7Ok+VsGBpejy
-zd1Qe0gEFl0iLQmIfAQQAQIABgUCRgEHRwAKCRDkU1D0fKgzbbGkAwCXS8GR5eV9
-jfpoR6uoyX6hddznSp2igNkvkGQf+HKJnDTJd0xttTCHDBHwQ1GlBPIC5r2DL/BY
-vUoTyhqBLAlDQbUX0CwHThf7BXFplVheRTCpra24UCjzTCuU7a1U2Y+InAQQAQIA
-BgUCRgD5ggAKCRD7x41iJ6OpTfCLA/wMlvzDm69vvXPGTspJbZwjHKlafF2AdOfI
-TXvIKa6GYYUDL84XkzOXBi/OFRMC+mGzGuwzRv7ydJ6bXue+GpEE+wVioif5ndVN
-d+MEf8d8B3rNROR+HmmaDXcfzfrOPeJT29DU5YW7kqj3aU+8WiMZjOOrZqmVLrFx
-MTp1GncOB4hGBBARAgAGBQJGAmLDAAoJEP3EfXaEwL2szmoAn2KyP10LuVj3Lqk/
-5AU/S5rYSzl7AKCNwmlcA2SPRVPL61n8bqlXdy7SIYhGBBARAgAGBQJGAnRSAAoJ
-EFE2UCdDS/Bwj0IAn2CVkwvXdo69mb/y+BQiRZy91TFdAJ4klwGRzMNvHT6NiGQO
-8+JdMKJ22YicBBABAgAGBQJGA47pAAoJEB9/qQgDWPy9r1cD/iBaDJRZzYsLxq0Y
-UHms96AoLhKPY3VWJzpqBlYAx2oWFELWZmdwtmTYa5what8kUDUkmkXt5B9Vj1fh
-xyuT4FIpdlhDQ89D4rSehoDl0Y+SLUWDHow5hLaJpraN5L7GWpBJ7JRMZGgX08cN
-d6/YWToznrJFlv+pKPFxXyp/p9yPiEYEEBECAAYFAkYKq8wACgkQITGblEwaW+Vk
-dwCguMuRh7ZcG+APg5GXDC6qLGi8OKMAnjabrWolmcn8qRkt0Zc1E5KzY5X1iF4E
-ExECAB4FAkIWCfsCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQk13vRKCTJisP
-ewCeL00JVLTC7h/7qjHT/SrbfG175G0AoJlGUIlV7NDnPs7Vl5o4HpA265iziHEE
-ExECADIFAkr4Y6orGmh0dHA6Ly93d3cucG9sbGluZ2VyLm9yZy51ay9wZ3AtcG9s
-aWN5LnR4dAAKCRBgesqFMHiP70w3AKCMIyacHDDlh02rS/BU6kMt1feUOgCTBa0A
-ys5/qNIRfPwq0LUNahbHzIhgBBMRAgAgAhsDAh4BAheABQJGyudGBgsJCAcDAgQV
-AggDBBYCAwEACgkQk13vRKCTJiuFGQCfQ2C3R35UYN+H99vAUu6473TwCJMAoJWj
-7SZDdibo6eXfhwU4u9zuhYD3iQEcBBABAgAGBQJKzAXOAAoJEJBXh4mJ2FR+iUQH
-/AnF5sUjG5f04NOiO0FXe5uc95oWdvMrOjuLJSEl0hcZewS8nGmNi55Az2hv1FdC
-T0UVMt2Ti8Ba9rL0EQ01uRpBlzr2tuLlqm1GFkfG5uHBpatzkg4cY01IF7YixwhZ
-qIULBag+kXbWJE0fMb8WsBmnvov7x47yAq+Yg3MdQUZRjeg6hmKe96dhlFtFtnn/
-KkFgJcmrq96ldSwPRyd2WGWHm3GbM1T6L7XnjXBN/a7SAYwWoixMBynJAK3M9CmM
-UBoqChflbeFLdWoI4kAlchJ7VCNg+KdRefRdOGqkGpyC19nhuoTxDTcMZc3rAS4N
-y9l97vYwka3Nfs1jwZkqRIKJAhwEEAEIAAYFAk8Ss9YACgkQbmvkJeuDwr1S6hAA
-iiJEULPr4fzAl8Q+8Gj6bnjRCq3JJnk5xXdiLjWVydDOn0J/yIAkCWlLXyzz4Y9R
-Hr7CCreLT9Q9LLKKF7oMB3ZQ3NIf5n4N31+ASqGBjnbLf06Fy1DZz96ojyR2DfXp
-Qs0QrIFFa27XFMkj/wNNZ4EejJz3QfrP6aoEc3GbPl1P20FaB2mj7dwU3Xz4TJtg
-bmW8CU6tI7Sn3IO73MajxW4P/UHi//613tmpTz95WdfpdKwkOn4WBNhJTPF3rEkr
-q1qXF0kCy1lc7s51xbDp5g0gsJ2zYE48207XFtGI27ZAld2uJW1VbcExLCZ2BMLK
-TZAwtTbkURti0NmiiQuyLuWOjcHgmvGvG0c0Gpw8xaHDMT3ce/XdzjBF8CQOJjlb
-8aQbBqAJ8U0QJ35AsI0zlxUxgIJkyWaHKW+ZfpiKGoe3yYYz4aVh2TBXK5ab6SXg
-kCQq3jrTLDQkp2JHj5KrUqyFq+XiYIJXnYYq8yAFHGNI7rqyxX2xP9BuV8KmJHHE
-GeTvViSCqQOymRB5D42r+0wKxpvheRiYyjLamon6bPlGLDRX2430/78qJseaojUj
-xJmmbC/ItTDRs4efTfLTTVqw3Lauh8liL7R3fbMRg5GuQFYY+2GGr+g9wXzI88zG
-4XLYOm8pN+IUoGDSDO+Nyqs/+KhsQDd1QYhFlaOgJS6IYwQTEQIAIwIbAwIeAQIX
-gAYLCQgHAwIEFQIIAwQWAgMBBQJMbk4xAhkBAAoJEJNd70SgkyYrUbsAoIujXfn6
-LRakax4Z9rgk7XADluj9AKCPRgE38V+fOmaqia/pCDSxBEZu04kCHAQTAQIABgUC
-UZfMXAAKCRBueCrAPJsM+YQLD/oCKI31QlhdlqVd8E4vkV2PAJlrKOmCZfA8npTz
-R0vBcoZ0Wr4EpslgE0fjoLb0bwVVk1203xcDQvnXJpdctU9p7zR6cKiWfj757F50
-RJmSJ0xKlcrpAwTqHQJz/Nic434MhyUrSr4as0SJqubhvwC2RgDpLzCsyqoZ/UUH
-1nzA374ynBulbiaqIEK3uBuP7ZReFbNPrAyjVX1AQ/Cm3bYVtAhIxnsHoykWmNiP
-g+HcWitvzPNb7pDWHAaRrhsdOWWhey0RXd0o0czegH1nK8+Q+ZT3/+F6msQvDnoK
-K/d56JWijTCLkSnwGm9W0hQjaWdqIQrfiq+g1rTHKQPj0L5dIdYDgnE445MKBAaJ
-Iewz+lQxyOg3xjDe9Zqq3MnE8oV7vc9eP7pRnEtESHZ5KUE86OAdarQUa9DWkmUO
-5+7noyHJqzEy6tto94nr6ajPWLpzjFjV//q+PTmXGaohlKnVaa/kgevh+aoCI0hB
-3HaTCIiggOppYMtjstWnqM2KhOdnZMVB6L2r4TBbzPyGkAm4P7r5RsjNGbvm+B3+
-KsqA1L72FWxZsojsvHtnK+sFCmQ8N9zWwAkELDZPC938nvW8mTlYTEJShb5tJpin
-dVletXzoCRlM9HbswmHpPykH/x43kxWZJOzjxGbd2oPgOtLuxQx8PDM9Bqye70p5
-EQ7f+7QmR2F2aW4gQXRraW5zb24gPGdhdmluQDE2c3F1YXJlZC5jby51az6IRQQQ
-EQIABgUCQvnPUQAKCRDtytXlKjtj6VwMAJddHXsHnE/EhzaD6PhyK5Ze7VG8AJ9C
-tbMIKVqPB63fScUVmS1S9mwfVYhGBBARAgAGBQJCHoyHAAoJECCZtky/FUkL9+MA
-oL4vanv7nQWpJD0iBtTQcB8GGlzqAKCsABd+jZVomcT+/tZesg6POR0i1YhGBBAR
-AgAGBQJCLxalAAoJEKC0u6upWJVVGEYAn2dRve1WSJD29V0ZVvYR1itOfljJAJ9L
-w85WmrZPVVPCyFJbfoCOomSLkIhGBBARAgAGBQJCcVywAAoJEJvEtz4jrSPJKxoA
-nRraGctTbAvxXyTzI/1ngh+t3tBNAKCsFdvgbhHliSdk7Hkz6YJsxxOWKIhGBBAR
-AgAGBQJEaFcZAAoJEP/A8UyExxtu4swAn1V+yDPvA/Y8/yW1IHQgC029Ggv1AJ9j
-+ArlW/pRSNHR2hxYZLoKXOodKIhGBBARAgAGBQJGAQh6AAoJELfMbHyYBCKoGVUA
-n0xzfsfs7TtXW1kYaDmNVVCYX/YEAKDfZ1LDWSgvZD64xng54DPHYkpFS4hGBBAR
-AgAGBQJGAba/AAoJEKlp3XNuqV5nF5YAnifczPRJ87iv8KH8wWgPaeGKrTovAKDH
-/GTkd/xiJgVRKxGaGIL4HTOq+4hGBBARAgAGBQJGAmK4AAoJEP3EfXaEwL2sGbUA
-n0QwRCzTmAf7SAFXhjBFDeWyMb+oAJ9soen7TjeGQE4MzRTZb1Wdn5IGM4hGBBAR
-AgAGBQJGAnRMAAoJEFE2UCdDS/Bwb+YAnRkmKKkfTRG7sqBUwYWT8XYRsYfvAJ9R
-r98VXR7FmGrugc+1lIWvCR+9l4hGBBIRAgAGBQJCG26gAAoJEKmfJLRnNFGqL3kA
-niWPc7N5X5oxU0g8HF9/Ij/RooDNAJ9XKG3+2TxLLxIDV+8gRrkuxtpojohGBBIR
-AgAGBQJCH5CXAAoJEG2c5asELgDJLy0AnigKzZ4uwcPAboRof2CA5PibfmCwAJ92
-Ck7/yrtD9nA9bNLcxyf2/b8kyIhGBBIRAgAGBQJCIGgbAAoJEJI0kL6wCQifYf0A
-nAwmeD11Vp3YbiZgERek4cBsyx2jAJ9HUL4wr5kejXa7M4WGl6XzKUKgq4hGBBIR
-AgAGBQJCo334AAoJENvG7TIXxV3dcT0AoLaMacjQacauUwXmyHkIJxe2XuOvAKCO
-L6QmFDLBVm4CENk8D/6hw8zXRIhGBBIRAgAGBQJGAtNuAAoJEBbBO1+35K6SV58A
-niFi4z/vj8izUfxgV4iNLLfDNGAiAJ9Y3QfIanz35nByphBBE+uUYkc3TYhGBBMR
-AgAGBQJCLDzXAAoJECnhT5k5GzkoGU0AnikdJ+IRwoKc18RpCBS8sN8WpRq0AJsH
-7N0jpNXMiuew7MbPlcJQmtlCNIhGBBMRAgAGBQJCZRpSAAoJEGIDikvdm5kQlvsA
-niAoA9LuDNfagUhjOykwnjSLEs9uAKCYDFPF9U9s7tGG1UIpvi+KV8QHb4hGBBMR
-AgAGBQJC+TKwAAoJEO0WlH9koZRNFf4An3lspQZqxEBdJ1BzMuv6H5a0BOhMAJ9y
-T2ya+9Y3GFQnxf5zk1oiLkFCZ4heBBMRAgAeBQJCFgZnAhsDBgsJCAcDAgMVAgMD
-FgIBAh4BAheAAAoJEJNd70SgkyYrmQIAoIe9ImVDl3Epc7nmYkNVNP1J4nPQAKCV
-SSsVGj6pKNypVYdLFnpljQ6NXoheBBMRAgAeAhsDBgsJCAcDAgMVAgMDFgIBAh4B
-AheABQJMbk4rAAoJEJNd70SgkyYr5toAnRMWhFd+rtu2FM1pM4lJQI0NpE44AKCJ
-TFssAe0s8d2C+OkqO4Y2LYLLdoh8BBABAgAGBQJGAQdHAAoJEORTUPR8qDNt0jMD
-AIs4fEoXn0pzkafFSYh5xo/h0o9JN6FfWYFeOxEsBciYY7mVUK4z8lzud1PWd3Rl
-ny9FdK3n26zmRcaj3S+JinUqMXS8UKKy0nU/nGabjEqE0QXSU9x3juevusoW3m/6
-NYicBBABAgAGBQJGAPmCAAoJEPvHjWIno6lNlJsEAJp12FbcoCt569B8UtykLVVh
-ugemPV7cdUtL4920vg8vX31XStwtw316rJchNY1ovPgK8Kui67Sx/TWnVPLI94Bo
-e4Aml0EifGLUxQItWtdiKTD7K28zGE+NepcEiJ2q0YAxm5W9wWdC2PBiBQclqHfg
-mUllVupm26lukcuM8UkfiJwEEAECAAYFAkYDjuQACgkQH3+pCANY/L1H2gP8CkvR
-2sa1ipy9QAr3H4kOYtAg96Fx1E9/nUKXs0Qtif3jzW/8fs3VuoZkmcFivOQaBG7C
-2CgeiH1edSMbFJWJ4C5N7xoh80tOEN5KFV0PDg61NqaOwx9sJvROKAOUCe5d2eSG
-rGaDXVMiIb+10IfpfGWl7L3iUBMQnx8SU7K/18yInAQTAQIABgUCQiCIhwAKCRB0
-nx5vVV/IpVNDA/0YquqAre7TrjDdjfIVa9pEnrDFkAX4/BNSJMtlt9zkMbOSBWg+
-VWsrkDiw0YFmxehajDJYdvYjekmYk8g3j6Qe3YgHtfUjtCd3lrboZwexxfErjViU
-r9+sw60EHjzlPL5Si0yu7f7wmB7l27ACml2B/j6QTULuHAi4jB2AvKUflYicBBMB
-AgAGBQJCZRpoAAoJEMUoGuUEZOflgH0D/1QAKSca0w14IzT8Bxsgpg53Ku7rhNaE
-2QCh3XJz86J9C/comsscXZHx65ebnaQSsaLbldOwC2eUIV5IBAvyvhY613HSRJ4N
-ounWZhuG4/3jSSuflBcFmF4A3rIKJMukZJkfxxXwC2U3EOyyKtMvdXrh+SWXsIWU
-Zvqw0zr3W0kbiQEiBBABAgAMBQJCH7o7BQMAEnUAAAoJEJcQuJvKV618KC4IAJds
-4thabREpL8+hZ6bG1QuGdgL89W4DYjQ8OOUoxcVpFP0K0R/SRKJ2L58txRddT4lB
-0sSFt2wC0n96KHA1O3xywUNlA7KlQ3Dqmbg8AMb46vjqAv1gGkjfIBooqJwTidbw
-0xL25FrsyLUzDm6K09w50KDgmgmGqNJgopbVwffWwgrTwuDSzDAbysZ9KWwwhMUS
-zB/7nW9jeLT+bl7dCKD/oZ8WvK7MBBkCRcthtnC6dE0nNf+qxnNaPoreTWO3yuvk
-PFT72Q1cPRz7zalcqIIWomyohjG40oI4WY/tJ2V1kz4D+lXF1exLmT2uKk8j6e3o
-5dNl1Xwoxgq1c2HGjEOJASIEEAECAAwFAkIxUM0FAwASdQAACgkQlxC4m8pXrXxq
-9QgAo0AKz2W8OB6pTelOcGkPccdOMKn8EHKLfiHz7kG0u7F/e3seAVo+0vwS7VaE
-yF8tktvK0gypaSZgjc3e92062blZYtVxDr1MDPErc6RXVO0KMviaXSvmWZfvHP8m
-exnelYgP0BQ0tTeuwH0Wbe79mQyOQy8amp1hGVtRSj/7N2sVT8ACrXhCSQ7UyzrT
-Up76pmupXSHK+JdZ08WeddV5Dj1MWEmeFTG11GU4EYajkMY12wamxSQ7dedv5/3W
-UnJPoS9adWES+SGdjyQSaKjTj6s/YD3I0/rI/mZJp18wzXyoJ7CBSGodSH6bMsuO
-wHuvA5RPhriDC9IP/bmLlcwPAYkBIgQQAQIADAUCQkJ0XwUDABJ1AAAKCRCXELib
-yletfGaRB/sEiTbNAzN/OH85K1gziaD5ABpv2w1nYKy1Rs9kE3I0jhkRf0286lWI
-z/zPuGizjM2yObbVt3nnkmPlg9MCEHNjzLx27o+FEFhCbaQZeucwDE+5j5B/OKLr
-dFWX6VBSkLgFpn3gCGSq2RJ0GRTRt+3KwGJSrGyim/Vgi/fPrYyxKoeut478tyOY
-5FAcIjgTBXqygZKOWx2J2jN5Tyecnk0uW/4j5bf1AP2RyXVs5xHUp6exC2l2wcZ/
-XSkjXZ2bNzBSCJViCgoo2AqAVFbCbR605giuB8h3ifSiG61jNCWoObxhK8+aGr1D
-R7XU17o5v0cnI2QR61ldSB+bdn1sRCXUiQEiBBABAgAMBQJCVDNxBQMAEnUAAAoJ
-EJcQuJvKV618BswH/0Ni1adU3lzw1BzlYKLjNf0YOjLYoTIFVloHPzvFoABQlKM/
-rLsgC6aEAJhoOMl92VP6/YqfTMJwJ68OAF+zZPePy9VXwgUf3+tnjkA/WqHkRZm6
-8Q3yysvIBC1iCG/OosEGqb8MzxOnCABNYojqCR+EVX/FgGRM8XejeR+QV4v1Bfz0
-x7kN5jKKmFPAWu1qprZNy2HRFa5FbbUjibjsgILv460zymiVlcLzuE3oWoRAMqyj
-O14Yh17d0w3LmQPSGu9jg1IFzyRAmL3g+nR8e76d37blYj0N5h+X+HO2nTyWL8Rz
-EOL9QhntJghhDyMwxjPDl+XmmB8u9gAwvY6DCgWJASIEEAECAAwFAkJl/twFAwAS
-dQAACgkQlxC4m8pXrXzM2Qf/UW0NmElMRMC+Qr0Ju+XeQKtL/5YCq5efmOZqoGOI
-SLuvFVOx26gXa5GF7HJ3XVZqYen4BMwNPNgqpQyGUPHjpxmdPHk8SRWNGT4MHwdD
-FcbirwYYSIfEuzFj4YuUD6fr7ZLJJoklnE0ZL+vphKx3NLdOmgFwVIudMXNlqw+A
-+Ho10LD32nByGFrl85GvhhPnyR5Ody7Obsuu+P3Jt+UXIIgeSvEdz1z6l6CLiAA/
-mYEGtY9uq6kr1w6yJfKs4Hjd1erkskz4PuURB2fDirBSapLewMWZqvnUnm+Rooq4
-oqXSZeuYKIfQ82zKK3LlCOEGGk/8VxBOEaLkpfq2UzEU34kBIgQQAQIADAUCQncl
-dwUDABJ1AAAKCRCXELibyletfDdmB/9D3aedIN5l1Y35y64NqKUXXU8lK1vpSMbB
-6ECeEEkLq02G14jhERIrAOiPDHvmzPAqcuWFNI2z3/O8ocw4GqRrMhl59W+k+Fa5
-xG2TuFL9rKMg+29brBEu4cmfR9bIIsRMCt/lD11hneTVeYnsqff4vavZOUn2vluA
-M50SHJ/qH9JJcP8IptAMh3tI9iLnjVTD34RUzXY9DF0aa7IpVnieiKf0MiJPRW3O
-mK5IqsnLy+HK/DGmEtgM6y9GhoPe1OFNVPLlEojtC5jNri/PgqegBhpoklwNAeMI
-pti+bKVcQVd847ZEJMJjTvB1gi35RTHRfJ0fQDG6yoh8AQKEAIFqiQEiBBABAgAM
-BQJCidDKBQMAEnUAAAoJEJcQuJvKV618tHUH/2F/pQ76YWtEJ0leKk0hdBolRoE+
-f7sTHYDp6H2RDmCQ77v4OAsIy0VllA0/5deXflFKbSJQEoNvP2MJmu08htt+2MbZ
-K+6wu/WeSC54S+EftpXRpGx9+ohdVk9oHYsKcC3XwV0ZEz3ADzXQ42Ho0XT6HvOL
-hx+0LD2OuM9AN89tqmGhXCphcTIERcp86uWCumhNrEVTpVb3XFe7Sqas0Ed08aEF
-Ujt3s1fVM81GRJeYS6pv2YOSIBqPnAE6CEM9xUtJkp1udSN5h6nSclqDmTcMYqul
-xw361DRUFITtcTli01nmdVkn7JNCxF5LXKJvNpbk02CSoOSokZjgeivfv4uJASIE
-EAECAAwFAkKc7WcFAwASdQAACgkQlxC4m8pXrXxiowgAipp4d5knG6mtnkhIiRo5
-G00qfafMmeZT6sbHRtSdyPv3WBOiwsUvdbFkVpisBaht/x/mLBvoR/UTR14oKhdD
-xgINNLCIaYIiPU6+mwRhnZwMkckQ8iowP9e4vOXxsgK1l5xCsSPXERxEbll7+w8J
-BcYzcVmWgG6g+gZlMlBb1NNazuWdqKlBJvEa5k6w/Z0tFlppbdywb8cj/3N+CNvJ
-ncrGqJIHxxmWnZunyqqEA8ZXZYxICErjwoJ0gpO3VyRySi6rgTCLiKsJa7X9Hget
-6wNOVbinb75oua+q/W546bEX0RtqQy/7Hq4eYqng8JWdtVFxpSNK9xvyiGGGIR8G
-HYkBIgQQAQIADAUCQrdXwQUDABJ1AAAKCRCXELibyletfEriB/4lTWmdr0SV6oCF
-1qJcQa95niBj90TuAqvTUoDQhiaYjhF/fPJ/A1XD0iAZ/Ktx3/y3JQueyi3subiv
-1Mk3nlJ8s6YBeX31vYe5OqyUf0/BrBd1nUcncwqpspCRzZ2/LdARWeDP3vGMx3VH
-1AgeJhJbJFR+LjnRrXJytVegvttQERGinwfbi46gk2391/l4hOFkiDqXsLrxf1qJ
-kR4s/sg0I6yFzjf+LlALdikF5VCdrWV+mv9/1ouTdvQc6h82+xOaD/PnV+1yfYL6
-xs6MERbr7UL7OJ3NC+DD0Srmipdmblr9/yqJq1pxwFkr0msERxIto5OToPcbC5Lk
-xGH4IgEaiQEiBBABAgAMBQJC0RmjBQMAEnUAAAoJEJcQuJvKV618JZIIAJ6924Ck
-3o7XlC+xlA9OcPvmBGQD0TEaG39SPhmY80qkb+VD6L1Gbk6FShMQaktf1VVbNG8w
-4enBuLiS6nX9/BsqmYGmpwm4S6M8ksxdKqYdowPuuDc4qV2+kldF5S9JieJ64b8V
-2dsPGzYbrh8xzTrr4qH+o08CMxmtsscL3gTlNflCOiRFcHDyNR6YkZmgjKICDP6m
-V9pmBmKkbkV0JI6cgD0J4NIm65hWly0jWIRwfoq3wC0/9JetFu8WvPuVEpAwDgSJ
-SD+VaKkUOukCZMK/WzeXm6Q0c0M5W7tsvIZPD4+qJ/srszJSs7Y/f12RCnRtvK6P
-g8yPUAw+ZB37dN6JASIEEAECAAwFAkLRv58FAwASdQAACgkQlxC4m8pXrXyMfQgA
-ujnPNjg5zzdvph2aCDuxd9suHD0CYTx4lTbUwLVPfRJQtxzg1YEb42Sqk/w8KI0W
-676jv7zbcMVz7C9wZpnMqBYsHc8XaF34e5NwUgE3JK+NJiz3TTZIf47laZfbj/sY
-zR9NOTYK54YoVtYiLEGqT551CvPMg5+fBVVRjlubRUC+BpcZfiYdL3xvD3VDT2kM
-Zi4ZoKAhfmd2gz7wdhOtT7v6ctORND6wMk28BCZ8/q15/2egmOii4FsJp8SP5AM5
-HKOwaWicRh2v3SHfEhV7yR0ng4V/N1gCXb6nj01zEpub38qNgJB5tM2Sggrc48my
-IUHrIzykzbRMagG3+4C2gokBIgQQAQIADAUCQuzGgwUDABJ1AAAKCRCXELibylet
-fPzPB/9KXj/yEW9vhSE/5xK0ZtMICfdxL+FeHUWmX6y51oM7tWqlo035FbzN4Vbw
-B609Qz5E7yDMjNoUwOZ4KIrhh/k7neszxGB4s2voU32K/nSl2oiTcJ5iGtYkO9Tv
-Fqa8D6G1ZzikXctwKvaEAMpqtjOg+sxlbA3tsqaqATQ2VfLvuIFoaIPNuIXqnyjQ
-Dkb0jr/25CHLy50nWFNXy+FVQkcgMsE3eM7DUHOpBaQw/CnbnR/+XDeu3TtsOjgr
-sVY943oZ1MWDqJxYLH1KuW/cq4VMTgkVAz79BmkFJxLq1FXFB5Ed4VBcjy02BYnz
-xmffHZ+rDCF/UJR8zBPro7waOa0RiQEiBBABAgAMBQJC7WzDBQMAEnUAAAoJEJcQ
-uJvKV618V1wH+wVAa0Vg1eevzpgwWDgDutTLitE+2W+uJnec4oi5jSP55Rg8/vcM
-zV60SbdJeSgXIlKbHz69YvrRWzU87Jqyp2POECHRiyOOXFunlqWoPd7MZzXbVSQ+
-rNscMUHFiI2zg1vbMnY/iRLv3whYXCjVIYr1AUx5RQyQ9LMKzLcppwXxxkuqfbdY
-oi1/ayUEtMGmB5v4C/YF96hv2qbgf7jNFMq5sH7IN1DNrQpi0B82LNmYdJLxK2tk
-gdr5jarcw3/uknCVz+6PwDHek5WlYiSGn4a8r0cKsas8i5/cwu5b1gpeetnfQVkz
-u01IQ/17P9CSB9J5VVt4hE3hITs/jTmsYzqIYQQTEQIAIQIbAwYLCQgHAwIDFQID
-AxYCAQIeAQIXgAUCQnDk+QIZAQAKCRCTXe9EoJMmK6g/AKCtVew/4Qctd4NPn3S9
-VaWR1P9b3wCgi+CudJ3TydHV1yVNdq71WuNZ0VOJARwEEAECAAYFAkrMBc4ACgkQ
-kFeHiYnYVH56zQgAnWxQNtMw4eVCB4d/4VYmKdwGpP9czakdkyQkZH5vQv4BNYhQ
-ZhpiISbzssHf5T3Li09CAJIwuaBmBO4eN2MfAeuYn5YqLSy0orkSyZE4NjEOSg48
-KaMaT2OzTwNs2Y+yto/Yz9LKQTeWZHhS53zElvqQSa1mJijuuKxSCSfGOE0WIOc+
-lWwnp9ECWWcRb0jHVl3vwgQ4rBKahSB24hWkuo5J85NBm0CZa+ZK0+6qnQNR/AiT
-7qOKxUKgof8VQ/iB+iyyIT4azhSy26zNZKhigKeg3HaYrU+IkSd6SbPjBYt+1ONt
-0jtc6Y9qj9jtEEQqapAeeSI5K62kWUOyBWAyjokCHAQTAQIABgUCUZfMXAAKCRBu
-eCrAPJsM+V1/D/kBtBb8rNHbadKvTaGcGu8Bd4Lz12P0CUy1H5Ia+el0A1imaYJ8
-aFNmFlE/LDS2R73zxvIi9p/wD9i6TglndOb+O+oKkwZlEsx/8rcui6NCpCXmArpH
-s3BIMP3cz43FBBcvSHqwu0d/ZKHCHShrcTKzUWABNc6kQ/nU1jnVljp575kKln7z
-S5tzPWY/U3ZwORZwEKW2S8OVpSnUSvJicNZyEkYJ7JO/WUWTdgNCCAKacc2VmS9e
-/i2qMh8o4MIzUwacG32GeWp+966FZK9TD4UxuB5Q2kTMS0TR7FQxDrliCYoKUjeA
-bJHzj2P96pruns3Y8wUHOgxEMlJH3C1xkW94QyzNRc2r1rZM5Zbm/hfJ5Cg0JJSO
-p11oweUAFu3mya5hm6FL/ycKD26JXOWx47UOTYvwKAKlz+48Cj1aW0+RGSVwyABi
-ZI2XHVxuRGL7yl0KlU4TCCsx+ziWeTUQPXP6026QRdmaG6CB15GezdnAPcb6O6Ct
-3+I59LiKY0Lw4WyN+urI/y2nA+P2b7Bkqv6FFjRa9D8Tn3a1NVh46GBCSQlWDUAv
-byF3rD3Jjyv/G3IizgMsFw82rDE45avkiq8XeBFDjQmm6JcxwyCIs1n9kO4TyZzQ
-D9E+LKYy15KIYIC1NXPqu6eGED5sAInZ5Ws+5wzmMwSQ6QARrepVfsPmnrQwR2F2
-aW4gQXRraW5zb24gKEZyZWVCU0Qga2V5KSA8Z2F2aW5ARnJlZUJTRC5vcmc+iGME
-ExECACMCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCUA3Q4QIZAQAKCRCTXe9E
-oJMmK+cDAJwNJwhK9w+uByztkA33QZpiQ3DTWwCgiuVxb8Qmr/QZndBFQsoHO362
-oXKIRgQQEQIABgUCSltg3AAKCRDtytXlKjtj6YonAJ92cnZOiLvl0xQygGGBXU9F
-OgpHLACdEZ+g4NUPA0Pyieuq9okFvgA82WSIcgQTEQIAMgUCSvhkQisaaHR0cDov
-L3d3dy5wb2xsaW5nZXIub3JnLnVrL3BncC1wb2xpY3kudHh0AAoJEGB6yoUweI/v
-xvUAn1C6moTEBBhVpmKuNHCHhcYLYmhSAKCaT1aZG7+xJ99MNZkPhGsIzmrSO4kB
-HAQQAQIABgUCSswFzgAKCRCQV4eJidhUftZSB/0V6cMaSfwA2nqNxqO1yErM2jaq
-zgsgB07pPEXLJdIkKFhUY9ntcR+mLq48VAbaqkJQX83ivxSGFwa9UADvbnvXETVB
-iTPUjJ6whkXxDxHGfGe1V9/+ySbRtjVJ7n1sf9Oq4JJzczXBH/8lDxnD7UP+DKC5
-ureEFVwjCOmIvHuORGEebxbfiVy2eiFmIo503XB63I9LxE3YvTukQBj0R5/ADuyc
-GTdW8NNOcJmaB1x+bnfF274xzqDjoh9ZecFr6bedMgG1asCPexeLB5ddq8jblZFB
-nTElzh7QgAmP40lSJmu7KzUGzOG+GoAjdvFIi/ZHw9Ho+djn8VN3kxkes3JriQIc
-BBABCAAGBQJPErPWAAoJEG5r5CXrg8K9w08P/3NnFLKDfrSQay0JRZ1+EcL0dS6e
-1eo4fpeNWMuXasqG7B4+Mrdi7n+R2knxrjc3DbimhTnraIZ2uXSEdlScKDLYrQCr
-7SDy8741tXAKoolOwyTKcmi6zX8fWE3eh3b9jxu8oZOZHkOpcxe9PCrXRgqbeWFU
-TSKRitBCVbTUiZUSxCHMKIRZMCYmllcSVKnDNvZTycCoX3DxkiRFEx+I35/PCU6D
-WaIHKUQ8yZmy1vTIKBkPTrhAa5zYwFQNA7Acrem49WitP25vwrFMmd06UT1rLcEo
-XANtZvpnkHnVe7lO+2RGFWVce9PIUg0tipl0RdHeLZIy/OH0/qSXLipR0t5GCGQy
-3ZWRzIg7Fa/g8zBnA9r37sW3iENOA57mttXr34MCcTMpkhlaLG3+QHzBC81oZt+W
-iqtvgqjlCYvV7MlAKkAeRuIHLyiroPWfdo9g9/A8IYKo6vYu6ZL/zIizFrO4IsUL
-wDr5cOlVK3Ix9vJ+jH0mfSuac3RY0ejNi/wf0wtf6CXvuDGWR6YYRSg2vHNl0DuT
-ZU37O31vUOwgpA/7/FFUTdkE2NrM2EV4rnzcyNwzGjWfb3EMEF9A7/+QEYRhxn8P
-eNQ9/opD90rz3AkP66nbSJKpVBG3g4elI4/E8/oqF1QhrrDWIGk2dqra6yCK7u3v
-gL8gZsEMkDIfmfE9iGAEExECACAFAkbK5pUCGwMGCwkIBwMCBBUCCAMEFgIDAQIe
-AQIXgAAKCRCTXe9EoJMmK0KnAJwPBhj4uOdhe2cheGw/ujQz+HzNsQCghjy8yyud
-9WQYyY5xNLt1f6j2OMGJAhwEEwECAAYFAlGXzFwACgkQbngqwDybDPmUGRAAg4SX
-bltp3mIyoHtDxzZc7RpW14BHbfJoSj2eSs+XQCVzpQKbEbNAA/BgZvjm5JevU262
-ukXN/Z7qgXpBpseV0mQIUzIx4eBzt+MQMC/ee6U8AjYNiv7CXvIwZ1hPKAxow+Wg
-z8kTrTNTGiWfR2Cf61NjQb2YSKFczNPf7E8YnMM7QvIXCRENQYYluHduBtVCTFZz
-lvF2DzEMpqyTaiChMmJilAYsrHEYs5Yr5QChoL1sg90y3+bMckbsBq+kYY1Pxp4E
-M5JpBrh+tc/GTacFTLfjA2lIHpt7SEtSKsnpJXSPmZi2y6twBcxCQPrx1muWg+Fo
-9TnkS7nsgZ5EyQ51CZth+XCo4faxA2d+GS9yECXpPoKQMpBOeTQxSDBnImACo/cC
-4RjkDHub8XmT/NC9Yj0Wxyl23/5U3R+BbhqAZZSjaQes3UJG+uDxElj1RKCkHCpg
-NHcf3jxTk4Zy3UVt2wYyQS6kO1j6BIAni2ev7F3w/xvj3rCkq3oYW/XsgOiXZJHY
-v6z1fnGxdntEqI9ashwqKC3jKlSDTdMe0k3YM5PO+hIzejcXc3rvrZRSgWm8qMG4
-YpBYmMBypSWN7eTThG8MQeo+yglsz6vOYr6zLLaHEFDFkSOglxc2OK5/RZz1IsbS
-Mp534463UW5jjIkSZkrUaC7G94dwaQYS2q/NFUm0LkdhdmluIEF0a2luc29uIDxn
-YXZpbi5hdGtpbnNvbkB1cnkueW9yay5hYy51az6IYAQTEQIAIAUCRsrmPQIbAwYL
-CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEJNd70SgkyYrqB0An0X8ExRUsSoOcqTd
-qQURqVr2+SAzAJ9k0KhnjLYbx2XABZKiVQmyorHJ9ohGBBARAgAGBQJCHoyCAAoJ
-ECCZtky/FUkLqHQAn23EagCCaMqo9abGq/4LjUL8LS1sAJ9JyocY9kcGTibnGCA0
-nI4f/GtVvYhGBBARAgAGBQJCLxadAAoJEKC0u6upWJVVUZkAoJTQdP1f4XkSpsz7
-sWr+WYKbsPYsAJ4kf36u+tNYMfpZAkAn1z7SRzqSQohGBBARAgAGBQJCcVynAAoJ
-EJvEtz4jrSPJxGMAoJMgXLZGckNWPlqnmu2t1dnh1f4lAJ4s20LKKdhlFufDwU8e
-LKJx5cMr44hGBBARAgAGBQJC+c9UAAoJEO3K1eUqO2PpS+oAniSTbLVkfoEMEH+K
-QZo42XNPdBonAJ9OcJnZWUbqsVYatJD6y+Qw54DXXIhGBBARAgAGBQJEaFcdAAoJ
-EP/A8UyExxtu8hEAn2JS6wl+q08ErLXKycLDtm7X977OAKCIdtzHgUidRk7+LFki
-aX4Zs44qnIhGBBARAgAGBQJGAQh6AAoJELfMbHyYBCKoilsAoNpaJzw4Yad826+E
-HrxQMEkvUzC4AJ413afVx32vtejj80fgUxPIlWQXWYhGBBARAgAGBQJGAbbDAAoJ
-EKlp3XNuqV5nMV4AoJk0lrG51g4xSwXWLK4zcUcQ96rpAJ4t2LbwWr+rL7CBH0si
-jGlwPptRkIhGBBARAgAGBQJGAmLDAAoJEP3EfXaEwL2sxlUAn1Nn+NFRL6MetgSb
-/wIwczTjV6s5AKCGo790xx82TJIUsGX0M1eiCVrrRYhGBBARAgAGBQJGAnRSAAoJ
-EFE2UCdDS/BwAakAnRRzPU1RdkwlcRzKfsa09Pu89wMcAJ9SsjSxABVIy0Fi6Ex8
-jLRxcZW/0ohGBBIRAgAGBQJCG26cAAoJEKmfJLRnNFGqzqkAn3CD3ElGdAHz5Izb
-3rH2iAEe7CCSAKC/SHBAEXUaBUXn/IN1oN9a/eVnaYhGBBIRAgAGBQJCH5CTAAoJ
-EG2c5asELgDJZxkAoPea1t+nQpaLJOpU3gsdjy9Xs+F+AJ9qHjYnoJbNs982xFDZ
-hTW078SpzIhGBBIRAgAGBQJCIGgWAAoJEJI0kL6wCQifICcAoJQRc6skZHr8jJf5
-ogUjUZzT4WZ3AKCMK7pDlC6RUBcTMTHJbaOKtVkk54hGBBIRAgAGBQJCo332AAoJ
-ENvG7TIXxV3dNEEAoJWo3kLioKXAlfd3TiGTyvT9DxRaAJ9tvG7A6fwU+gRXw5Ld
-4Uf+ZLqg1ohGBBIRAgAGBQJGAtNzAAoJEBbBO1+35K6S0kcAni2AWrI22vvpNlkB
-KMD09qRgz85vAJ9Mxig+buNBqJn2fRu3B+kTaKKElIhGBBMRAgAGBQJCIFpcAAoJ
-EFwp9R2zyimKIv0An1bVoMlTyEMkE5p5afgK4CvyqnZrAJ9avUir0wreS2lojXTm
-mmjGdb6kXYhGBBMRAgAGBQJCLDzUAAoJECnhT5k5GzkoJ7IAnjM1sqhWaTvUPud3
-CGg/S8VGHC9CAKCOMKfPHWa3/AALpQviS00Bv7NgLYhGBBMRAgAGBQJCZRpJAAoJ
-EGIDikvdm5kQgrwAn2eif8b5cruBzxbdCE6nrslTaMkSAJ4q1J92E0f5OMv8fcv4
-OsbhpLZ404hGBBMRAgAGBQJC+TKtAAoJEO0WlH9koZRN0dIAoI2TV4rh1ycb6F/t
-KKDPHeCiYkekAJ4uQcWgwgKJUvgK1Z6VjM3Hpn1ktIheBBMRAgAeBQJCFgolAhsD
-BgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEJNd70SgkyYreT8AnRUBhx9YnPh65GHq
-UXnPx81S85wuAJ9Ob4SwWBrAlJPQaj8fpY1KIRMFaoh8BBABAgAGBQJGAQdHAAoJ
-EORTUPR8qDNtgn4C/in0g3R0SVfwFfD0e/YsscavfGDSYk4SSAhFfvrL7LWAO2b2
-kpTpgeevxSoLXOKB74AIo86uakvMDN9JrKymgDkekbopxDf1FKl+jzbdiSMYzD8d
-35m15A1dGX7/JF1pQYicBBABAgAGBQJGAPmCAAoJEPvHjWIno6lNgnoD/202+lxG
-rwxlXERpFyduuCR5I+kTNcpufRtAWQaa23EMosPjTq2+uiY2IznhSFoH8ILOPnkC
-os10Sokt+DBASFNRqJgAGyT3fYdMO1bvcz89gqWnsBIoUzsUqDzp/aFSp3n6oJhA
-n5nDC5myXZ3K7rglG8ZFrFVdYh9acC+chM6tiJwEEAECAAYFAkYDjuoACgkQH3+p
-CANY/L1ZSAP+KBlz2HrgvId8BM0Y4la77hRjstOpnWB+wei/s1eVy2wR/b6me3oZ
-Po2hIK8KphFmZ10sny+9xSO9rW5wQOzdVfraZPVnD8gVLB3zDZODxhsLWw7/XIZ7
-/YejIFnREkmVH21uAf6iR6EC25+Y4C2F8D2DPUDuA5/x1yGVk/eQq4yInAQTAQIA
-BgUCQiCIaAAKCRB0nx5vVV/IpeUeA/4yGu6gFdnzKe1DBFK0recbO5KvrWAcrxEn
-1S7b/ddYgxRhwa5dhJA0XOKFeFrpem5Vh5uUPS7vnFcMeuveH4vY0L+8kZxzobQq
-xZHo0TfZVcAWr8T7IEzu0Yc7GQDz0Xo0Q4B3C7u8C8VzINys/uZxgWHToGBDENrY
-vb68JSBzAYicBBMBAgAGBQJCZRpeAAoJEMUoGuUEZOfltTsD/j8oPEp66chTZXmu
-scP33r+R44hzsYYGs269xMyQxFnCKbuWZ+8NoE1/28wnTVm5DPiai6L4Vnq3Y6pm
-VPLgYR4rj8ZaOoq/DGb4tqBP30GyP3ShYU4bXC2VmOSozLhtGu4ijIV2AKZpb1t6
-0UfZ/TIJhWwzy8lptt2iW5iBHvm+iQEiBBABAgAMBQJCH7o7BQMAEnUAAAoJEJcQ
-uJvKV618htgIAK9PezPCgrO8jMQd8O9EF33lKBQgF5Xho3NwofxLvQZZ9Ujp73uQ
-shJREEAC+I4VPn6ffFR1mWeGk3QM3BJG3bPI3ASXNXWWtHHeH+H4Zdn9ZiGv9Bqq
-ePcT6Iw1Ewjpe6iEwMm6O65jYNNLyjn4HIfyG3sw8MFZaiURICNa9qga2pb8WqgU
-30QNjdhhH+I79L/bA6xCPJ6ZdCl9hUXEx4hmnjqavQxd2CNIT9VMXoy/PiRYEonh
-wIvNndxdvcvW/mGNY03Wsj0S0rGD3WdjW51u86b+HOkGGhBo/nipAgz+yShnlGRM
-JLWy+fnFCtlWX7h+7ZjEHGobmXd3XbuVzRGJASIEEAECAAwFAkIxUM0FAwASdQAA
-CgkQlxC4m8pXrXw7FwgApYi2tQRSRXkbrmvnMU+pUVNYPX+d5nbguQqZ8qQowVy3
-WKmjazB4+tAzzajOmimGOiESkdYy7pBkWLCcFaidWF5rMuKgEqMWtM2K3fDLIkEp
-kj3wZJbVbzvrGa1zPteWsf9s+HxhYVDFVYHRcjJ6posbTL1gfkrJ6ilPMsXUxDnJ
-JIUSbnUTIqbHsZ2Srg5B8TWqqP9twjb5KlpcSO0m56azYD10t0WZ/ez9twVJQSN5
-x7BoHRAQKBm4GUTiDpmBWCQej6rm257KtmfKX+p4f5lRnWYazYRjsJao4lhONk3s
-HYYofNoTpK6XYziakwfkZLQfcTmphggQum5eCwYcB4kBIgQQAQIADAUCQkJ0XgUD
-ABJ1AAAKCRCXELibyletfMSfCADKQMKvLGts9FroqUQvwbaX6TLDOaAvA9S+bsp6
-clkbc5/t5HcWb1yNJXL6RqPDMi4WEGqTkVoeQU5epUT/G/raKjUv7bXWmnoz4ZjM
-X2m/WVZxDIT/GbiTxp7BUqVg1VMBN8uAX/UFnujO+nBB8Ty5puWcv/R/AWcbNy9N
-O4Rh87g7su/3g9KPFRwhqRyHDgXp8gB+0NJpc0eb03D9cAqFPDBv896kNoNo5Mor
-eNp46VFjQKP36ryt+7JtWiPO9Ctu0wXMgTrtEnoqPtjhKbSjEGHe1pVuw9mKd+2h
-izb8t3351+I3izlr4KsiHyoEa+NuGL5IOMD4BIiYaFCUzNeyiQEiBBABAgAMBQJC
-VDNxBQMAEnUAAAoJEJcQuJvKV618MKwIALO/9ueqHWl+NqLPt3u+tLEPoXRLUWfg
-ZmeFM289yglxL3Vsv8AZfKjtQpwauQk+7qZZJ4g45admMorcQVvcRG4cDbCE5Fob
-O/dW/uhdz2j/d3RRmJe61Q4DyrbFoUn4Tt09jyCHhfZvuqJJhkFoSN+W8KVw24jo
-JpCTxjGtWnSK6ew7oYC53cGXgdHB5WqLX8h85ocT1CnBxmqLr4S22bfapekBue00
-vsnwOxSqdeB8VFAYXIiVkBwy5sHX/CTunzsdS6jL8Ldw5bsIrq4n4EueqbaWWeNI
-L1oqa0k0oxT9JG666tzI/ZMtCohKz8w9G4txc4SH09T/XHoHmbRiM1eJASIEEAEC
-AAwFAkJl/twFAwASdQAACgkQlxC4m8pXrXwVTgf/aD9urU8h1/57LtkJ6ZzeiR0E
-KGkTQDtX57AX2BkIhnKEdKAf/gxX5URoXgdvCASm2Nf/ZDAOIDDJ13iQw+iUYSd+
-rfCFWuMzpu5TKl2VhvwyxFD7/p/y7EsXaol/odA2KeunIOLOGjAx7vce5UV/k1L0
-cmabnJt3EDqDniwwHlQOYR/d4g/Geg6n+9WVcXi4f/oV8fY/hJK+MpKpbrTIjSuj
-ZdsDd1heDsIZjNFfTBB2/2y/Hf0UyRnpZzct3JRe9qWbT8b/+60qK8D1bWNCMQBk
-ne6qzrW4UKzpEfQX1CObrtZ+mz2MFO+Oxz/+Baxt4NeIylPGS/jK8OMJCp7fPYkB
-IgQQAQIADAUCQncldwUDABJ1AAAKCRCXELibyletfJtBB/0WxaGYYGTOyOae1ZA4
-gpnoYZRcTDeAz1iVeBb+TKHdRvOk0dhdKBa7MHD9STFtv0U9aExhM5zKY1hhVKZA
-hSNqz8rFapX0w+axPT2/PdTULWI3Chmy7kS391GjoEuc3UrHzw6ilcT9qhYsyjEN
-mIlmHkxnLBg7OwnIW+zaXtVGRx1pNqLL9heM+EebUUYlU0KBW6pRmoAZ0iCNobTl
-n7bEiKuzvUAJAczmZCW8d4sKSvvLw9w0XRAxaFW2JL2AbGQtRm0WGMtFpm+RjM+j
-KjjXA9opoQZ5iHRIo5wGh6Ra06FCuCA58gWbfJpMcvZEdZDL6SG7c8uRKWsS1Qbf
-1BGviQEiBBABAgAMBQJCidDKBQMAEnUAAAoJEJcQuJvKV618glEIAIoNwhpHMVQh
-E3PUpQADzPpfsrjSb6QT4ngJG22psSFB9Buki+wI7ox1a/bX6SHltIiSFpec8CM7
-w8ZnPQgWRHGmE/LfvdCkkPr+lykBnitrSWU5OjcdCU5JixfVkFOkIv+CQSK5zMyH
-ZTceqfS8yv6KBnIPiU1mceUVqD4qeynGTVSKHnfJzNCV71bwcgIi9npgzCfPzILN
-Vf3Lphsh45V9ypDZehrOUKJAzO0ZfPnHYUcc5tZ7Qmh1h4pWPt6hTa3SkVYscKds
-Z6KosazXJ+UcAz6RK/tGL+oz3v0eDwE+5dZMRjfnANm98WopIyZeKCXX/h+BjplM
-E1uwcamJWZ+JASIEEAECAAwFAkKc7WcFAwASdQAACgkQlxC4m8pXrXyangf9GV+T
-AuGwo4rN/JasAEGOIKYx8v8T0wjLIbs6eRoIVvcV34hQHgN1uhhDS0h3wNsNQdgJ
-G8CAWBZPKjJIacIOc+wjT3gVCFYomZy9R4TVVMa/KAQnvfCr7Iq6Wh2yT80sub8w
-heL/OBLbR4jD2YGu3pzuEifSnPAaXvBZMs0YXIoV59dSVAUovQWvAeyitmkmCJBG
-/c8uCnp0JqrJuv1rS/m8SCYh1xmzWuMP1rIkLun7aE+pg0dTyle/ZFIjpJTGbFoq
-ocumKdDn1/N4lCfzXdT3ACbc2S83wHZY/RIMDeCzMG+z5nWQ/a3B/eDeYhNWcp3e
-Ca+JkTAcyGIEwcB1hIkBIgQQAQIADAUCQrdXwQUDABJ1AAAKCRCXELibyletfAk1
-CACkzWxwp1FcY1+pm3rpmbTTvfUVg6+VuNOLljcJ5c6wD0Yh5bp9KdAEtJfne5Px
-nAX+ejvP85mePk1EFB6d58+APgsT5yGrq9pnqGtd+HoGi9z5iwkgsnVtqgj4UH6q
-xWbICKvWPMgcNqjzbrhOr61RzgWj8k2TQkFEpT6/b/AIEdWnZCY2WsimtSVE0z9Q
-kOIbUK5jM1bpPGsbwen6NjzvLSTy0uxm4Q55WWlSvwGqtd5UmMAa+fEXVkqlIkPW
-81lN+ajl1kiW73ktQuK5Gy8x8UwmunAlSFfwDwCg/3/wwe1f0VAyWxOFit//X/yc
-luYthYVJPBR4Qt4zlbWIAsrtiQEiBBABAgAMBQJC0RmjBQMAEnUAAAoJEJcQuJvK
-V618EL0IAIUp/JwPpBYCgqT4FcRhLDxNghOGmJhedXgF2qLtcAv1x4YcucSMBFGE
-n1wRJ3jzYpWOiBhtJXPJdqDouy6aKKoQXYtKJ73ivP1ki5eiAznbNub/boJ6pqsB
-x8jcubZMzfKP1k6Ki8SLd6SfmRiuZyYkex+VMGNA2yCG8oZAYN2Gf+Pjwzi6P5/e
-gyko4Qb5iPYSUKFR5tf2K5S7XaqDHdo7HWbwZ/ddnQ9CaVyr+wpt/lusYdEMbIRw
-e81qCoWsdx9xh2hAtHK1ZMDIpeBC07s7Kg1CO9Xph9mBWOdCR3ygacsK/ega3Cpo
-0niTY0TJxSi0R6zHwGKmCMnFNzM0loSJASIEEAECAAwFAkLRv58FAwASdQAACgkQ
-lxC4m8pXrXydvAf+OrjcROKTZbAKOOM28AuRYh7CFQoNuxGpMj3oUX88WsU20cPv
-qFVNz+HE6x2jDjqAl/X3k7n09lsBGP02ufOf6GoHph7DYqhxK51TUll9pMg0Jg36
-HZtDdj30tw3pu7qmNkIfY5yH6R6tEdGv95DMKcgZtQntHJVKBeAotNjS+k0wNumN
-nbfKwzTAV05hji5kDW7ku0WJv1A6jTLetwemHnnTQiTzG7m/9PSvnC0pk3ndp3gq
-wPPBPDUwEIZUoFMLokY0rp0xPLbrFFY/QEGz69xxvjw4aPdDuCMXPSDoiqoYNMPt
-UtewUhKmCo49Mpj5E5YeiSCC5oHKWxCzTLeGFYkBIgQQAQIADAUCQuzGgwUDABJ1
-AAAKCRCXELibyletfMeHB/4qEx4jvYYpzI90/ysoz/X9sZ++IMvjarj3LGmqLjSy
-YpjIWWcpzIevUYrqPG8YGPlfdls7aV3URHA2TYCrrMt8dfWdRRKmOUIAWjaX1XHk
-0ZDq7wJr25oh6INT+fuSjegcNH07wBE0P3IUQhumCE6lxNhb+o7eJtLKYlT1OT+8
-3CvF2PQUi51FZwITg+15JNsVW5AMGOzT1s0J2qn+GOqkQg34+doKo48cEdo7g7xV
-qfQGgbFYzGUKfWJ+IV8AxIf2/NB17Nhor4V47d3xjFcv861nN4nMURYUIELDGsbS
-KJa+amN82DTpPKbaVs7/0qIhKT2NY+jNtgzIn6AUGq+ViQEiBBABAgAMBQJC7WzD
-BQMAEnUAAAoJEJcQuJvKV618jkUH/0YYKDBeSzKsqFNIxsmu5h+epeBTxaKhxy3/
-zzS4YleObVQ/oYJIwIPIMbiA1xHStEy3Z7MHGo2/AG0XGqFrmSSPSv2RstQV5V9r
-k7AqsCgzFS6BRn3hp1NayrCdgYFMQ/GXkzdYCmzYW7Y+xs9IpiGFVrXulXpQXgXJ
-jOl9zTjiRqik7WK8vDo/d/9wLZ8pH8BvLt0bGrxYAe3ycKiijhlDbQBr2NgGOH6v
-SfcPsrKcQBV5Z1VagGwrs2f++4y3oSxyIXzdYUwuuMfMzOJzi57VWwYRA+rPBMSb
-jmPwc61Sd4Y0Ur/UcDihz36a9taxzsN6fWT+CgEG5rlHkGyUpnOIcgQTEQIAMgUC
-SvhkCCsaaHR0cDovL3d3dy5wb2xsaW5nZXIub3JnLnVrL3BncC1wb2xpY3kudHh0
-AAoJEGB6yoUweI/vElAAoKhaHQoLS0cSGV1d3CmEvUz9jBZmAJ0cEfuNOJi3INQW
-FmK6by9nw7WlCokBHAQQAQIABgUCSswFzgAKCRCQV4eJidhUfhjzB/4xG3ODin66
-3KgxFBlqMLNWby/7pD3IoW4qCRsC+7LPjygEs2XMhltY/tUZKxuuNpMw9H894Rzq
-nbpF3Xf3V/1RjpdZxm5LHdroO6DYf0Db/Ly/0FoK5DgZmq8RRJYmQEzvJZTGlpi6
-3Uc6FoOPjwcIMA3uyjeib/yfTsvPa43R/SG84f91tDsqSQsNz/c2LJSq21GNfpJu
-Y0ulxuaZ+y6ZD2etLnZy3Nqu3o5LK1XfO5jIU+0A0NFB6qs+rX5pD3fJMl88CYho
-IOqWblFPozNR1iZ0OQubtlah+P4eJ1ddg0RSr+otkqV5yGdpgSGcrw86fl9v59x/
-SJ/89C4iegnaiQIcBBABCAAGBQJPErPWAAoJEG5r5CXrg8K9mTAP/1+/+jJCr+CW
-kAjHgmAOAJ9+SfyjwVh3r6RjJ1/u2FHEDrpC4pGcKoBRkXzze8iIaG63xd2507rc
-p07z8mPnRHKC25D6SaPbC8pblympBaAyyT5z/SO1pmhdqSlFovyXkGPehtI3A/ow
-cOq3C+sBk6KIiFpBdBicuBL0PhJsp35SUqfaKKdiMUT/8sldG2wTOTimrUI2AdLq
-PzBclkpY8fPHnlsaesMAujWA00ET5sd+CEpi8EFiIxPAWREBQ0yxQVDjaY+Ho7Yk
-CkW5aNyqyMLlp1Z5x3Pv9G0C05kPrdIRcmP0oze4r2/sJ+ipSqf8ciH02UTdvwwn
-2LvLGMlgmOtW0ZCy3zcFW+Nd2wvCSPmJWinxCvqQvE+1ECLNY0SCTD86SIhiRF2Y
-oB1MhM2FVVsVhdIwlrxC3gYWpEFyR0hVHhxkjxmacCg0uVenmPUpYzpJH6vNb/T1
-puOytGIoSKBAP2Zi9kYpsaRUtakmVPIVxRJ4/Pb1IqRbNuuodQcx32qbLCoJnKs2
-2PpyWeluVDEiASSuoZNssrdE2wsxWG0jZcbBzpIt0mp6/SP7wPaJWsoIWNB1jVnr
-krFXBtqsEAiccLd7aomAvx1WLIMNL06pFYrG18hBBI9l2C+wTmxwyoUSx3d4laZJ
-W0ZT369fJJhp78F3wR4+y+7rxCPHYG7iiQIcBBMBAgAGBQJRl8xcAAoJEG54KsA8
-mwz5gZgP/jxNhYZk/wzPKrRjneoymY9il8rCvEBd8yVuAFHN89pfv5kPk8HnGkmb
-XV/YJWNm1OaFyjehon9KCZR39d8gPGYh4Ju4aeL2E+DZSWKyktIj5RjGFqU6SWwg
-uA2Y/BL3VTK31C6aMOxE8dxT2tykCd/o77aYeDrI9dfUxgb3lqje/WahyQ1s5pC4
-cGyXnCOiYMtgzyCX71DVb7a9Yr6TiSWq1j76LFyKqkvoavY/ySDlR8NUI3cZQBag
-pDZ6T9szcvrkCtjjCE3jbftRXcQmT3cTnyRmmQdqIc85JWhOxtBSrZRt/8oy1P0K
-fItqejY1JfFBTs8okJ+8iu7B2DZyVSuzQIBZ2OH9hgkFBZ5yc5lZ1YItj14v7PXG
-3j1FcTGvckSuC2k/H5pusrSGy4TMclOSHnpFTiFZb9+Pt5hil5EIbA9gqfVEfa/V
-Lkwna4G2sq3S5W2keylyjVswj3XcApRLIzAupwgjm6uuDav+HwhJL4JdQ4DJ6qDY
-8ZcIZ70W1JaGSNknzvJwwyqbhyvVUHj3AL1DP6VKM/DKIQUKC6bFmj+NTLIQbH4q
-p3/7/66ceXT00owHip75FQtgjIGNuOXBUrdFFyHF1QITPdDwX9q5dfP73rA99UtE
-TAh6u3RlEn/cMteMdpsIi0aka2b7sOWPv5TASTIjqNsvWR+18OpvtDhHYXZpbiBB
-dGtpbnNvbiAoV29yayBlLW1haWwpIDxnYXZpbi5hdGtpbnNvbkB5b3JrLmFjLnVr
-PohiBBMRAgAiBQJM94U/AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCT
-Xe9EoJMmKzWnAJ44UjheVhDuoWnYPib0hs9fVXJgKQCgl87FnXTOKasVgVpr4U06
-sDOgDZqJAhwEEAEIAAYFAk8Ss9YACgkQbmvkJeuDwr2Feg//SvpSy4Bq/SoF1Shp
-+/IJaqCjbA45DHerTFB8RgOCXagSQI/thmY75ZB0/Q2nNTG8CsKQYpceOd8ZXI8u
-7us8peOMV4UTp5FbGkNTFiDwh0isAVLJiSxxMn1jlR5xuCvGK2LAtbJmw8vdUbSY
-YnCLUzXN5rRB4z+XqvpGXkiPLPm3YwJ9Q1hjITjMD56cyWIEXCI9dspFNQMrMlp7
-64XnDMhxhMCcfElEbAiDTboOBRoBshnKPT8xyWMplvwAxnA6vblPNnvV5vuuInKZ
-bbxZ54EZNz5xlMkteqbb69/zmJxNxukAlBgekh357BmCFsjbVkN45HCgY8ue9Ge9
-jypyvLU7Dji+uprGb8clqXak2qy1nrvJSeG+46G3bUN3dhNMylRGJjkDgD900P4y
-YKyCssS3xTWqxmcAggBJC22kh/+5WpN8V5zhGGa04TFBnjPLUf6OpxZgHOUDxEYa
-1sDxOUvlzF+cHKhRW7izcQlfBjoUeK11E2ucy6xuFS8fCtiK9l8vw8TiseGLhJW/
-5DHc2ADTNbxuvcummQU7Ue1O9J2cAWsSgVtipcsfVALmXFZ8PY1Mt77aYgORx+Y+
-NkSNbhXQkcRNwPBcTICgWAowXrt7CpUtSduLT1Z892OIGHyHPDZK9vBhrG/AOBtt
-kXZsi1LDwalRotIJBDsa+73o316JAhwEEwECAAYFAlGXzFwACgkQbngqwDybDPlG
-URAAhzEqhvA6HqhtkN3B4Gmk2ugdjHkP/xqS0rq6BgXeNsX7i0Ozk1VIe8ymWTtH
-SH2zWFQsGb7zgVAXq5mJEzE++PxAfbpypshJwrXgPzXc5jDtdRVVjCuLzDgIriQ+
-kYwDo1fn3/d+sIwsCR1+V4frXwLzpP83Xo/4rmf8TMykEVJLNXL+mNrOJSaoSIWA
-NTiz7Uy2gOpD+Mb6i/xK/OnVhvQXJQ6nYkTce0XQCIMkn/wZpu+kCl91/xURyafH
-ZsEeC8oV4UIeuoodaei1PtZ+E8c9fBAijygmSPq/t1bOy74/AV98MDXFXoLEr/kX
-+sdfyql6xz9K9Hsb2CpZizg6fylg1c4iSdQQ4sdMGYYXB7epyP3q+kDwF0Fz0+xu
-tD6CImzPyNX4MPUz+5yVAR93Yv3GK1GH4CABlcWTfzYzXcQij8JQM+gw2n6fFZLM
-iHT7L0z/gSYZi8E0JYW9uZFg59HX5A6TcuYLS9l7qKjdKB8C8cZ+CHw0ZDiY5YgU
-t6zLiWZ/7/AspcimRZ7okmE64qJvffVdu5S6ACJC1/XtoOVEHEAcL1SLVK4AiPSU
-oyLJFbo0reeypN0vp1UgDzsKRDXLeAXeFvYOP7ekkeaIuRXNAM28OHaXt5xiT3ju
-BwUjFIF8NLBdDzfjtArSd1R7zOxWJYBlnRgKxQIusHGppYe5Ag0EQhYGdxAIANWA
-PhDo3kdh1QoXfk+oe0Rw60fYgLSmcexZKj6gEoMlZC0NPPtJQO2UjWEjesfce6HD
-xfFGj6LuqKY2QoioRJaTxBbDEDstnPp8+gCms+p4DvBqNXdfxV+jHaspbtqbQNpW
-cl+6MLKD1OciEluygBnVFPrfvgJRFT+OS1uOjRfafUA0cl9HlKZdHgY/sRfX5CFL
-QyGLu2NYVsj1i+AI9PYmrP4ucKHkTDr5cBWq3wzi/HHUq/tT+1UL3P/hjiTjbmzR
-jF4Ygm+18so2wvz4qT6HAFLmsvEobc1vodJaELRvl0Se5FG8ZEaYJpDXzDqs/G0+
-hPoPT8eXgUr87pd3nzMAAwUH/im19ug/qDBWGFykIIPo6P5upkwg8Umiihk3Cvfk
-pZonsRSRpg/YVX7MJ/v0/wwJ41GPgFIG/NiKQc2kxxPgO9AKYJ0lXMS7fyLXgZgY
-0TD2s6tvnXWX16cmMp2MJYDaPNJf4MY2ImW7VgfU00AzZAheBpJKdB/+8/ncRRqK
-ljsWDStmG0Y0iazNzaX1tWMB8ug875NeGsSnBUWylh7MuaXVJMAnBjsxj4rw2KR/
-TD9i+M+RADRXisUcZJMMZ1q0RXCs5FRTT6yxHLHnLL/A1LlQLQ5TVJ94Hhda3O9x
-WLsL2mDRcga8qbcruoBhzg/ip9YzWZSufERzv62KdVRt9jSISQQYEQIACQUCQhYG
-dwIbDAAKCRCTXe9EoJMmK7wSAJ9+rbAFc1hAq4PIfgnpiErVWkaOiwCfcQSb29qC
-LTwsVXBkqZr02JdmGdg=
-=/71Z
+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
+NU+uKo1f/WYhjWi2sQ==
+=fYIG
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/gjb.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/gjb.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/gjb.key (revision 42804)
@@ -1,67 +1,302 @@
<!-- $FreeBSD$ -->
<!--
-sh ./addkey.sh gjb A0B946A3;
+sh ./addkey.sh gjb 524F0C37A0B946A3;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 2048R/A0B946A3 2010-08-03 [expires: 2017-04-25]
+pub 2048R/524F0C37A0B946A3 2010-08-03 [expires: 2018-09-22]
Key fingerprint = 78B3 42BA 26C7 B2AC 681E A7BE 524F 0C37 A0B9 46A3
-uid Glen Barber <gjb@FreeBSD.org>
-uid Glen Barber <glen.j.barber@gmail.com>
-uid Glen Barber <gjb@glenbarber.us>
-sub 2048R/6C0527E5 2010-08-03
+uid Glen Barber <gjb@FreeBSD.org>
+uid Glen Barber <glen.j.barber@gmail.com>
+uid Glen Barber <gjb@glenbarber.us>
+sub 2048R/EA524D216C0527E5 2010-08-03
+sub 4096R/B96CDDEAAF8B5ED0 2013-09-23 [expires: 2018-09-22]
+sub 4096R/D69CAA1C932929D7 2013-09-23 [expires: 2018-09-22]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBExXeNsBCAC7wmKFOV+UjSn48hWaRAImN0uGgJRVAYPWcNogyw000o0vMKjk
5sNm5YUv2DutTVBQAHytkKGYX78ogpltIkvkr5K0eptVpl2iuWQNyGc4Nq418ZJa
hgDLZOtMO4plEmbViLFuz97D6V7yNPSAX6adiCh3A0kc+GwCOhXtQrn/OWxZa4Uw
FCGD6uqFXM6s+kkgtqFlWuFB4tAM5epxt++WLEyLCL/znRhZK+tTstZxqLudJnFB
ooFOEffYvDB1pNWOarBmSKHncYNjHRqEcNFyMXJ9Fn39I50QDvoh9ps83V+NjuE/
FYzt3MmYA1j9H79tDYpJp7OEvGY5sJCZrMKjABEBAAG0HUdsZW4gQmFyYmVyIDxn
-amJARnJlZUJTRC5vcmc+iQFSBBMBAgA8AhsDBgsJCAcDAgQVAggDBBYCAwECHgEC
-F4ACGQEFCQyoT5oFAk+fMEUSGGhrcDovL3BncC5taXQuZWR1AAoJEFJPDDeguUaj
-NYUH+wS18HZnyFexvxYTP8wHvp68+LlPCSmouq6yqwHaB6qkv8vRS/9lrEGff8a9
-Ya5BeaSJ2+YllCIC6f3lnSRHJ3mINEGuny1UHpSMUys8vGdAqC0JsoLgMGU9GUE1
-1bYgweLBh5Z9xa7UESLUyGh8GEpcdkQzzXYFa/rmQyfwOt8yw7OjzRzTuHe91b5D
-iM3u/DhqIc6HfJs2cm4HEf5Hp6WFQH9vKH8MTeQYGAoxVZ6epzoRfTbbrDX8Dd/v
-hoxMYATTOOc7/kvITSqFxJ9cWuthHtQ6zwqR5dsMXl+XMPnDD3u8YP/xCgnhRJ3I
-NAjoUHP76YkFe33SRkqM4oKzY1m0JUdsZW4gQmFyYmVyIDxnbGVuLmouYmFyYmVy
-QGdtYWlsLmNvbT6JAVEEEwECADsCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheA
-BQkMqE+aBQJPnzBLEhhoa3A6Ly9wZ3AubWl0LmVkdQAKCRBSTww3oLlGo4mICACr
-42CZKktecfngCYzx0N39KAn55jiZmUeoxs8OGsbi7j98Bd3IU7tQEz7Czqsmv5D1
-aACctF2n4z5i41ekpfzlzkHeSPrR/Ul3e9CjTVyYf/RYYwootcL0tJiBJK/Hyd0u
-5mHPC+jyFSBoMYccncsnaOVrZx69tuVKfgLR9wk+ysYwrzXHAq8nuXhKd3SHJ7IP
-Zp1EoXhyYLL06kIU0/z64UdNKmWwNo2qtQa755KPCFnEfv2wDUXbHU6W53AVlKif
-pSijWxY5eCuyy7VWMfNuT28zUxS4IiCE3JKKYcxCkXjsaRbaUSSabaZpF30i/kXD
-KVidRkqSLkL1RQE1VRYmtB9HbGVuIEJhcmJlciA8Z2piQGdsZW5iYXJiZXIudXM+
-iQFPBBMBAgA5AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AFCQyoT5oFAk+fMEwS
-GGhrcDovL3BncC5taXQuZWR1AAoJEFJPDDeguUajNq0H/3FSIfM0aBB84iX4lOSn
-qzx9L6ubMWgOdYI0vTqDMnrWcbSYr706hVu9tGbKBncRkF5jIT4Qb5Z2QRCgVHMN
-xZ1/dtnm/sKaMPYEKnBo+gorY4ub4IxS5vpzi/HcR1APYyjxZ4a8k3NsDoImgVr4
-laOwYA/LSvi0xWnqtP12DDwgUkx1Ay+x02CFMMyupLOJ7QT/NJOpToiTACaiiPdX
-xmVIQm0dbM2cWYM0IKaz4D+5P3H9nxEdRsMK3pSbg9UqHjd6J2vwbAy8IomMNYrh
-/Zi6fgx6MblYHe0DQ5LmTwcFc1FZZrZ1XHJGDBU5buvqaa5ZFFPcnrCKXAfRgEej
-5gK0HkdsZW4gQmFyYmVyIDxnamIzNUBkcmV4ZWwuZWR1PokBSgQwAQIANAUCT58n
-4S0dIE5vIGxvbmdlciBzZW5kaW5nIG1haWwgZnJvbSBkcmV4ZWwgYWNjb3VudC4A
-CgkQUk8MN6C5RqMyvAf+M+xe9XdwWWCEyJ3GBSMhmXnC+c2303IdafSoFsm7cB8l
-nzvSHhjPQ9zC6W7wyFgUs2c5fOh5TeLtqo2AOHkvcyGRgqMViW8hIPaJU9ekxfui
-uLwpGwArRJwayEeyMT74Ry5/tEsDLLchoBMU3627jzJEQudFM3dYtc7gsinZOefJ
-S0aXNOT9yjtNB1RsVHVNfwW1pEkxIKEFwWu/aqcMA3jBYCVhs02jZg0jYTbPqjUF
-NPv8JFVb0+cSGNnGpmYKHQk8c+t3I2LLIthcDFFwc+eiPsSf39HrdP+oX/sFK9yY
-s0m8QlLR0yoJ2zOehy8r4e3vGWGN0iDjfAYojhPZw7kBDQRMV3jbAQgAyksBRs9a
-IpEU+j37aGKMhntVy4zCIALaZYV+E75nbhY3yjxHKiOlwOt4y8n4AxIPGvm7qneH
-acnASuKtlkmn7KvKhaxqVVkbk2l04w4kaHqDV0pGsve8CLv2KLQHDwq9MEKvwPqv
-ep3DXyocpe75cmvXfLyaTbmPk46+qPcXGlfNXXpMJbjy7RH51glx3rZS5uycoijK
-oNsblHdLCPvaTgpwyw7bHEpkgpoIFLoUwCog3xyUDZeQKtJwzCPDeJLZ8hxosye4
-y55KxcNIvEzAyV9dru444rbYVBm4W2lE15mGsaNZWzMcHohj9XRWepDCJwCC1i98
-eImAPsnoW4O7BQARAQABiQEfBBgBAgAJBQJMV3jbAhsMAAoJEFJPDDeguUaja6QH
-/2iofGwiJ9v59fmONgldH1o8W4n2A/IKAMB6xjPsSnVi/foAgl0l99JDOzMtVWk5
-Sa3tk5Hml4FDipAYYcfWG6IHlQ5CnRxdTYJ2mAU9eVjf60xmyhEgmvfC5hUPZDVv
-PeVouxzGCO0ZhnGnJnos0v3FXpJXL0bkroCyUWGDrwH708hXjWdwS0cNqCqsWaZf
-4k43+qdPA3qrQ9kdKDZTlDENDp4ORfiXr0Ae0fGMnCVx01qQfgyYY+M+X6CcnZuj
-2FtSaogz6k6ZDrkYC04XdywznP4eBWnokNSO/RGNAyIlsw3NwGu54NGzygaBQ+cs
-FP+168tqFBrd4DNIVjsbY1g=
-=KOGO
+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
+=QdJo
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/issyl0.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/issyl0.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/issyl0.key (revision 42804)
@@ -1,236 +1,156 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh issyl0 EB83C2BD;
+sh addkey.sh issyl0 0x66E1760E20E8FD7D;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 4096R/EB83C2BD 2009-09-26
- Key fingerprint = D55A 42E7 0974 EFD9 3939 56B9 6E6B E425 EB83 C2BD
-uid Isabell Long <isabell@issyl0.co.uk>
-uid Isabell Long <me@issyl0.co.uk>
-uid Isabell Long <isabell121@gmail.com>
-uid Isabell Long (BitFolk Ltd.) <isabell@bitfolk.com>
-uid Isabell Long (College) <IL18685@woking.ac.uk>
-uid Isabell Long (The Open University) <il948@my.open.ac.uk>
-uid Isabell Long (Mailing lists address.) <lists@issyl0.co.uk>
-uid Isabell Long (YRS) <isabell@youngrewiredstate.org>
-uid Isabell Long (FreeBSD) <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]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
+Comment: GPGTools - https://gpgtools.org
-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
-9KqO3oDzBigK/FX+SSZjPS51SaS1nA8CcceS6UONZjk2TSn7r4/qjH5F3eV4HVFh
-U0ojrw2w/zdhwRt5XeELFacGJi++0CcDpJzqkooeHQ9I4httq4z3UWazW4XfCz6N
-Jb3yic8Qt8GlbCvF8Jx8KKQfBoqv+TJ1tDpJc2FiZWxsIExvbmcgKE1haWxpbmcg
-bGlzdHMgYWRkcmVzcy4pIDxsaXN0c0Bpc3N5bDAuY28udWs+iQI3BBMBCAAhBQJP
-hA0AAhsvBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEG5r5CXrg8K9We4QAL4W
-jyHf47t/z57QKlGTde4gB8HyTQAEreDiZTxz1+0dvjAgbVtVwlPFfy0cWbO1bahu
-QhsUHLDTxgqwk2Aqpr3/nbvSDfHyYUYN0bfnBXZeJWRlEHEC43WWZh46ZBLGKRk2
-A3kzdDhyVMu3eWfebixrYWIO7TipRhfquyy2uc4H9UPDRuk4sbIlFKKLreDWx8W7
-/CRysA2Ld0zqWdVJBGCmchhd9tPvc2BfdCWQE6wFJl8elTQKTqkZRF+93LLOApCG
-BWk3p/9Qwm/qoz5DEwCFoTAe31MUzQ+7P0GfofaWS/NJNUjmuBHIVI3nKudJiBhu
-/YLAcF2ftNgRBQ4Q664bh62jgJ5zQS/UBY/dyyb25up6L3pBC9PfBpSmrs7hd5hH
-V1TSJuqoQpI7v3oyCNEMYhbgYB1I/V4Vq7okV5t244s8pNrK7eoNORvULILP8H6z
-t3FYcNdGcwYs04iwLRcnor/Zy4UV+yB6NABctLOUBhiF4AjtBUzgs9tdOwmoQuTy
-+lLuW9DTE9n3dbgpWU8y7O0eVxwhJjT306eY6ZLRhtZnqsfdOB2/G4Iq6sm3kBQe
-Z200QYbZqwTI3jEZNx4DxAZjKK7Veoi4dWvSl2VRT4d0bR6G2ElaFyyDfQfYNCzH
-KOEU7RQPTXz9rkBx/lijxr0eIzwLMEQwz5JN1JMZtDJJc2FiZWxsIExvbmcgKFlS
-UykgPGlzYWJlbGxAeW91bmdyZXdpcmVkc3RhdGUub3JnPokCNwQTAQgAIQUCT4QN
-HwIbLwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBua+Ql64PCvRkxD/sEvVaz
-G54T5Q59zG9RhNFWcmKaNw439YFKc68Sfni95BdUWsCaC63/7FnuGFd4Mp42Nr5x
-O46axkVrBWsNZbFrLdDqUd5/SqcoCpOn0t/Do2p6G2phRZb7mipWNe5H0/tblFtk
-xS04ucouWFCHkCSkBieNJoyMZx0bppHjfQKkZZVyTFxSJRglr3GYGF7ME4P5cGg6
-QUGFi3zTFZF8Q7AAy7uDR0XwAbpLEHUeFO4cSSTzapIJv/95KqjM+Xjq+zbmlDIV
-bHEc48AkQTN4LyV3WAHssnI9p6dZiFHFMqW8DXMt4vVL3ubmNUzbcUCrhoW6m6oZ
-oD+W/mFEGcAW/TwvmcTSwug+tu7z+vwJCce/PW+AC0rBSeusUThSsRVfFEn+YQk6
-vX4bkbBCoac9U3kc1YMngHNznHkLBPoONyQrsbwJMtazWbkl4ybkFbkOeczp7ij5
-kiPwDAL/sbBeatAh2LrvBJehdtF86Ab/RQXUzauf6l4zYZvTYLhQ1ygeJuI7VxOH
-6cnKORCdtMiWMebISihVrHrZkegtxo1f+I6u/6PmQf+IbGxt35XFwGrV9XP4OPhB
-JQVb0WC1eNisg9b2IJVlkzMBfyT6bKjWxq7bALasp7aRrwhm0cktwjGxCJTLkpUa
-9oODDG+NyTljuC2vYsVMcuQF9zYMi+QRot+/NbQrSXNhYmVsbCBMb25nIChGcmVl
-QlNEKSA8aXNzeWwwQEZyZWVCU0Qub3JnPokCNwQTAQgAIQUCT5mgxAIbLwULCQgH
-AwUVCgkICwUWAgMBAAIeAQIXgAAKCRBua+Ql64PCvQhpD/9EAIKbFh4dVVZIOdes
-Y9M7NFM6CN/zX/6DzUaYR28qoTgDdWu9cVGf2Iyju5VSS0RiTjkKj1XW9SMwDfVN
-K87J5V8GCPqd9F2uEocWAjA5RkFwc2gVTnSk5YJiS72SCPDvtKv++1fdYH8Ml9q5
-c/8WQMIxjg3/j8ZK/+LVV6wmX1/3MBPsU8fiB9KeOpi73Rn0YrqDUtdp+sYtyxF7
-3kjhksaSCbkedXLhnSCzUeEivrjdTDiaH7P5LLDZTYDw4OCPfce6Depos+hZ6Yhx
-9tqEmLIuSb1KkcKyUFcsQCIgdotKR8VX4Hi9pRZT39wWWwkEmMvNeedNmtYN2s6U
-0GX0h6H4dxsHT7+kPuUUScm2pZ4V79vZTuLE4w86swi6JicemAZtRtBW8XR8I3fF
-vwnXIpHMSQ8m7+sVyWjMdHUfNRCk4LyJ9mXqRkrHyUaoHglxQlPepXj16Hpqcmm2
-ziU4Sa+K6036pEHEZU8NapBBWBtPBT4Qr6lczfuII1CObLrmjNbOG/FASQ59aNST
-K+lt6h60vG63/8dwWNt2vtT+OqogCfX7BFhpZgccnVfK1XgVW/YvqhLFn6Vmu4+f
-ravgeIbpYVOQfj6EnN8VaB4ObofXtrOg6fAH/ILICLA10WNIE8nDHiI55eWAv5mI
-PMOrsNYPKCBRPOLtvcqn+iDQ1A==
-=yYCC
+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
+=qrMq
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/jase.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/jase.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/jase.key (revision 42804)
@@ -1,45 +1,166 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh jase 3EEAF1EB;
+sh ./addkey.sh jase 0x5C3210C83F9B9617;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 3072R/3EEAF1EB 2012-05-30
- Key fingerprint = F5FB 959F CF1B 6550 054E 2819 A484 BCDB 3EEA F1EB
-uid Jase Thew (FreeBSD) <jase@FreeBSD.org>
-uid Jase Thew <freebsd@beardz.net>
+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]
+
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQGNBE/GKjMBDADNtl6FXubTcr6FSa3k9bFMekyXgJgqBAmx8UfSo2D5YyD/TJfT
-Utm4nTRrnR7hJ3Cgi//WsrkgB5I89fwUpmNtx2CzTikg1XLooFI8s17qa5/HeBPR
-r6/dblmAen31FfgzAIJrSjLVPSsxRMAxANZVcMc9fMD581/QLzmp7BVY2pddHaSo
-xm1nJMVPsKLfvc/YYnS3+7Ro1QzxGOMkyULClgzDYx0PziY1IAeXZDoH5llwF2Dg
-mBy1NnHH1Q2Y/NZSwJW7xmLQTZsz5haHbz95sAwnkJKRDgU5fisUvTAaWfhOwbNj
-AQlPWynB1n/pc0SP7ROJdRqmZmxU+tDvZ7rtW2P1XHa99BQI0ULDQhybiKiU3PuK
-yMd/t04hLT4OuSIaiJeCDHfmu0DP/ZbjMhq4YcqRy0UcR5r2kVOxmVYpz8vTvkSc
-J+guTn0QrFZS0GB9LJCy7iBgHTuXEz7cn+rGiHYVtx9vn1Yl+XTBNriaRC/IgFPf
-5YZ57u7J2Vcd1icAEQEAAbQeSmFzZSBUaGV3IDxmcmVlYnNkQGJlYXJkei5uZXQ+
-iQG4BBMBAgAiBQJPxiozAhsvBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCk
-hLzbPurx601bC/90gKFw7ybh057xvR/p7bGvTVEm7yP/sgmQJ7EuCqVy7RTb+VZW
-4EUhLwJMOnblRLCzNnbVoRPLzDe97rYG6i6jBjTMgCXz9ebQadxMi3CzHnDEdUe0
-x+UgsiEAETtzj79i4JUFBzv6VLMZVqUq/lxaozwmXkvFcCHG9mBSo+sZ2AwOoOvE
-cs01vOnBjug9RwpLxzKb6ZdwbleX2skJma50QaZJ5I5uVgFurWHeP+1vOTi/smhO
-y2y5YHEHjM6sNFNxsov3EhmwLa95NBkiKJRpP9GT6vAE4MLe/5HLSFXGW1q4xKf/
-UKydopCpt2d8OPqx902I75JyxmMXoMMTWQ3HEgJ0qML+mqATHi7H6CJ4hnYyzwVj
-zF18ZH+Ruab8M4WvoPxvasps4aRhYiCuZs+zC4sMkt1gcWygC25ZAKhKJtz+jm6w
-SJ7cLOopTcYOanHzRr8JkH32EYtrbchD7aSUabk8KfPbXcaTNrtu7khNPXbfCNM6
-M3cB7HViCDSBuEu0Jkphc2UgVGhldyAoRnJlZUJTRCkgPGphc2VARnJlZUJTRC5v
-cmc+iQG4BBMBAgAiBQJPxipWAhsvBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAK
-CRCkhLzbPurx6xmHC/41e1BInZuSDM5l8dJeUQHXOcFfTSyz4KAoggPpNdfnfZ+o
-cdqQf7IhPqACkRvnETqmhsW9QwJHLhqcvA5x5BAtlulbjgg6qYYARjRnzl/1UjB+
-lOsnijgXJQCeDoWueLhj3tf/yrUqG+19Jrx6EHIZUpwDeVIXj76MfWwhpB4izMbY
-TdtjI0Lriwvs2RGE8fRjEw5hcl85uHFVrYzSEJ9zevS/BalBy9u1VH4gaCrhsbg4
-mpe1nxZU3Wm59uWNKFihUJBYW7PMWYTAtLa8QFtDXUqkoGXGE/30D+cuuOnQMdrt
-lU3eXwCn6E7zBeM52JKelJgYzBRm7kdKix5t+HIwpbVtqePSaPoiCNhtEdWuTYYU
-83Bek8nhHo6caaLPz8VAHvB/5MmsPUJ/upbIWssc56aHWX/obBCUJnjcJpHl+6Bb
-BNT2L84IDX1qzvSjwj3z1/BwXtsPORbbNyf4eQKXjeWngIU8cAex+b391g4sJMBh
-Q7X/U+bJgrjizCVI2VM=
-=r3h8
------END PGP PUBLIC KEY BLOCK-----
+-----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-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/jkim.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/jkim.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/jkim.key (revision 42804)
@@ -1,43 +1,41 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh jkim D932A1CE;
+sh addkey.sh jkim FCDBF146;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 2048R/D932A1CE 2012-11-19
- Key fingerprint = 2202 B5FB 78B7 A303 4919 B7C7 25E9 69B1 D932 A1CE
+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/41858FC6 2012-11-19
+sub 2048R/501598FB 2013-09-24 [expires: 2023-12-31]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQENBFCqm1kBCADdoV45Z2rQ1wOqE1kuEJah67+nsKRI13YlHvg1ILW72ny/Ku+p
-+CT7E0ZpIxYUwc1P6KmheCXq234wRjmSZ7/krDHdFezT2ZUiwRZlWnnDjEIpzxok
-m92W18Qi7o8CMTou3iTKtTVq/c2R5TcrcC8y/TACXPFABhpHNngmIbIrQGUsHifE
-YuJwiETr8s76HhdJwtZIWPGSjFW+Yl817e9X0Pa4A1/Y3bsA/KNmZW+CIkv/zy5k
-g8wpGomR+JrLdt+5MUziZA8gqCJycZa640RUGAF3QtdMHd2t1/ERQx/wje0LXBdD
-p+0fG5b9IUH/UBtT4OJr3WjNJr7Lufz2KElPABEBAAG0Hkp1bmctdWsgS2ltIDxq
-a2ltQEZyZWVCU0Qub3JnPokBOAQTAQIAIgUCUKqbWQIbAwYLCQgHAwIGFQgCCQoL
-BBYCAwECHgECF4AACgkQJelpsdkyoc6sbwf/YC84nBelpcachGrIhPV4DLcvCA4e
-T5e1G5WN6WWehpio7yMoM3G4TbTvrDpzrlFIIYxVKEyNRxfRLKeKIDjb4S/vzVbY
-nH8kuwYSlaVSmHOzu9fwfgiceElKMukVbQRTOBa3e8JLxoRG3A1TCo6AZXMY+PnN
-8UIWHbrwjyqOprXlZMC7BLyE5cu7oEHWpiwkXIuy3FJzfs06yzPSxH6DNGJSFZVk
-oHReo8fUBMs1Imn6w1DrDunepan88WAhRTQjM0kM0MrWI8oEnhtoYwWSm9FMpwK/
-mdcdxTMuak4+GqKgZiOj02vMzqRYYEijCrUx4dKsU6SGJ6SMNJd01ETu/YhGBBMR
-AgAGBQJQqpyZAAoJEJpWstW/ap1TgYcAoM4MdE4GFn11n3b0nrEA+LzYQgDlAJ9j
-0YnyI/0Il/zsgOuXLvt8+MeJSrkBDQRQqptZAQgApPIqqTzBVG6NukFvKzak0CrC
-4zrsRfUGskoYXQTqdeM+ajRdZ/zMebcFdut/RDwJhPMJ4UV8HfGGwhae0Yy/qWs2
-9NoNsmhicj+jrrSZLYsnjrnDqCjJ6wLHOEKhcPd9e/J3QdUlfI3tll+i1eqvr2xW
-kd+ct6IownrdvEhBzQsEQBgJYKy+pQ0KqAoJ9x5bnRN8dXzdq8o1FoVEN6zXNeGt
-n7TT9xMDMyJeItlvOOQyDr30Ne0vBBlPKJX7oiqEri/N4CeIDhUS6fd6qk9/ENwI
-jEThKJB1xJFzXWKpeZ9XsxPVSJn7KpBiiWYhh3Bphs+oitaTntpo3GYWfyzf+QAR
-AQABiQEfBBgBAgAJBQJQqptZAhsMAAoJECXpabHZMqHO6KkH/R1KWRN+t6zZRJ7h
-Xkf39iZ7DgentWwnSjKTUryPsUrr2IliFo/z2vef3dlV+RxoTIvK38Tj6hcN8KtS
-YSdCDuQrmGg6x6JzoO0RnFhZz753JqMVCeWnLKcUZXd2j3fanOAE/vvvYFFS5aq2
-KYb99fj3Cf6q9TkRIKpjD4/P1XBcOrmrJLbsWAqNhESCFlTgXdTF0hdsRsoelebw
-watpgAdCNH6aPbx7DjAyVI6HxNODbWrwFGOxRRJvmP5dyGOD+LuFNJtmjJKwrZK7
-ODRzrEZSW7T0Ghor/LWs8r7UDP9HWibxLF5K6Vsgh78ncA9PHxDsXGIMbgkynyfm
-ONweM/o=
-=cRAI
+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-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/loos.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/loos.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/loos.key (revision 42804)
@@ -1,41 +1,50 @@
<!-- $FreeBSD$ -->
<!--
sh addkey.sh loos 39165690;
-->
<programlisting role="pgpfingerprint"><![CDATA[
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
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFHUilMBCACqcCv/yJ+TWGdG4tGCd2yJWEdzBKRx3UqyFoR5ulbWOmQLe3n/
YdZ/hSNV9RY9zYkoRCAWe6TxSyN8OD50II8pJIublAp5KWr1RaAwdmykeqxg7TaB
V0D82x3KO8BLSW9lm99Jr6KCN58sW4yjW2n5YmwQTDg+6SAIu/vyo8HZ0zzNLqkr
gZf5bLisgJzrYvVTmPpaADZaycoQCXtd36sGVYxat+mm6UMp7/CzQ6s0jQZuIbJp
Rb9aPD7Lkz4XWp26ln8541c+lk7sWHyFcKmDaUGtP2Uym64uBdexqM5CM5ax2Bqj
uANU5Cq6Q0YKM+kEXxgLzb3P3FDw4ao0nfinABEBAAG0Jkx1aXogT3RhdmlvIE8g
U291emEgPGxvb3NAZnJlZWJzZC5vcmc+iQE5BBMBAgAjBQJR1IpTAhsDBwsJCAcD
AgEGFQgCCQoLBBYCAwECHgECF4AACgkQYlKHLzkWVpCkWwf+JYatTmHdRp7WxiUO
65nFi5TVCmh6oV2F2+p9Vq2DtPuXSDsp4c8WKI9LmeX40ph6Op0DHIyaKdvCKLcz
3r2tcu4py9HggwEqe9iVK9DqVkzmM8yzCHOVcVWDJVdL6nqEI3C06tX292L5flCB
Qbm2L52bKOjEXXyuomEzOSAzCMUG9gyAtoLROQTUNCveklRiEoYGo98Rsky+HPxK
Yxs44O0ZhUlcxHHn7iH9WfRjFSlv/9NP0A9QXtcpsffAXlAuzbLR7HilEKhBQy48
MJmvUfrNXRnR6kLxCPm8JwQ47aqnUKXSYn2TOJ3V472U/AFJXtqq4TfU15YIVUJK
-+btz5rkBDQRR1IpTAQgAqaU5en+u0jsYoHy9GRIKJTnRI7RmReAkASelAHPutfsW
-F4vsNUQHEA/+8Swznt68hcicmY+HgbOtpNjYmeAh0o0p0ICzH0Kv0XeNEG/6MBV5
-FFHpLSrIGMDxVC9kxcb7J5+UhaRqAKcsHCJ9D0UXwsNqGe1MipHWWKMY03v6saww
-0Uhwbt6LH/nHIO1ye7eP3jRH78zezC1n7PuDtjlzkTGUG2geIgMHoHq1AmaSTGwt
-xq+bYnM8IqiTyS1j7ecgN6rz/jYY/sp9t4Ib4FSuC5LbXKkdz5b9G4buILwJ6sgk
-P/LpZiMdQ1O3qf8nxe1aCOkZs5h9w1iy9cmliG1sgQARAQABiQEfBBgBAgAJBQJR
-1IpTAhsMAAoJEGJShy85FlaQjGAH/1QEQrH3sVg1JjYzfBXR5OCeTXwRBFTJCEcb
-7mFGVU81QNq99WaNtf7QU8HsPTiUOd7j62MA8qr4BEztP6n+6EnGKbeo00g3kiXb
-6/qK2k6tna5tF1/bTs7g4RtTs1Hq3rZr+6oMYucb2rV/ojCJ4Dqx2El5fOs+lNn+
-/v4Rl/SKoPjN394F5xQo7exxkajxSrGLa+kFblrr6qDEgnlVGiLJ6gaykA8TXytT
-2UGe3jfxtk+HZPwaatwqYS+iYeFyJiur2I89a1suFsUVpPqkzKZi60xuB+n5Fy3o
-sKvxasroAo6ubzkg/xBRHfZBY/n+TyOvdVcnXxbFUKdH2kIb52M=
-=UF7c
++btz5rQnTHVpeiBPdGF2aW8gTyBTb3V6YSA8bG9vcy5ickBnbWFpbC5jb20+iQE5
+BBMBAgAjBQJSRFw5AhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQYlKH
+LzkWVpC83AgAi9bjfIzVlFNOQc97tsGCgMhQwgOoUWssio8RjR/nVBNbsJ74rXBC
+C/u2gAyNgAP0+Wc8zhEFmtyb+TBvpIRE1jLFXNz8inJpjc3vup3YxrBFoXb+QGol
+IVaUScvAyW1VEtwzn5a1i0g6dQgdbimYonlAwIro5bHd8ZYHa6K+o42LBF7Tc9VU
+gi53+djg3njorQsCjV8wDVswx4X5RWU1R9ecz4tmqWPMBVQL09NzwPsaL2Z7X3lQ
+Xn8KFR3Eslh0zD2Hv59TYR/XIlh9U9Ea92PcRmO2+onQ7fnwKnbgvk9xgvFXGzHd
+EwjB5rq270it+9AG0x3xcVCWnmbeJVWxl7kBDQRR1IpTAQgAqaU5en+u0jsYoHy9
+GRIKJTnRI7RmReAkASelAHPutfsWF4vsNUQHEA/+8Swznt68hcicmY+HgbOtpNjY
+meAh0o0p0ICzH0Kv0XeNEG/6MBV5FFHpLSrIGMDxVC9kxcb7J5+UhaRqAKcsHCJ9
+D0UXwsNqGe1MipHWWKMY03v6saww0Uhwbt6LH/nHIO1ye7eP3jRH78zezC1n7PuD
+tjlzkTGUG2geIgMHoHq1AmaSTGwtxq+bYnM8IqiTyS1j7ecgN6rz/jYY/sp9t4Ib
+4FSuC5LbXKkdz5b9G4buILwJ6sgkP/LpZiMdQ1O3qf8nxe1aCOkZs5h9w1iy9cml
+iG1sgQARAQABiQEfBBgBAgAJBQJR1IpTAhsMAAoJEGJShy85FlaQjGAH/1QEQrH3
+sVg1JjYzfBXR5OCeTXwRBFTJCEcb7mFGVU81QNq99WaNtf7QU8HsPTiUOd7j62MA
+8qr4BEztP6n+6EnGKbeo00g3kiXb6/qK2k6tna5tF1/bTs7g4RtTs1Hq3rZr+6oM
+Yucb2rV/ojCJ4Dqx2El5fOs+lNn+/v4Rl/SKoPjN394F5xQo7exxkajxSrGLa+kF
+blrr6qDEgnlVGiLJ6gaykA8TXytT2UGe3jfxtk+HZPwaatwqYS+iYeFyJiur2I89
+a1suFsUVpPqkzKZi60xuB+n5Fy3osKvxasroAo6ubzkg/xBRHfZBY/n+TyOvdVcn
+XxbFUKdH2kIb52M=
+=KzSj
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/marius.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/marius.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/marius.key (revision 42804)
@@ -1,51 +1,76 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh marius E0AC6F8D;
+sh addkey.sh marius 0x20B70DE13F1D1E4F;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 1024D/E0AC6F8D 2004-04-16
- Key fingerprint = 3A6C 4FB1 8BB9 4F2E BDDC 4AB6 D035 799C E0AC 6F8D
-uid Marius Strobl <marius@FreeBSD.org>
-uid Marius Strobl <marius@alchemy.franken.de>
-sub 1024g/08BBD875 2004-04-16
+pub 4096R/0x20B70DE13F1D1E4F 2013-09-26
+ Key fingerprint = 53D9 B435 5F95 980F C5D7 6B02 20B7 0DE1 3F1D 1E4F
+uid [ultimate] Marius Strobl <marius@FreeBSD.org>
+uid [ultimate] Marius Strobl <marius@alchemy.franken.de>
+sub 4096R/0x862A3771EFEA91B6 2013-09-26
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGiBEB/3xIRBADGjxOPVRN2LvXTd6jXqKf4/6pPVPQlKqtwpOZj9JgDVE+V0Elf
-kjvwfCXA0gqt7kkal8i2TU9v2g6IIKP1eUoNpBy/s15Wc8JMlESB6CkfFPNkqj5o
-ohRSoKuB8dud0KR3T531rPfQNmsVRWtxrPYigkrtYZHiTPSZFgL0e+RiBwCg+i3+
-p9+1JBby6tthOolOGdr54xUEAIYounibXk8p54DJeunp0rMbzKYvbXYTOyc4HbD0
-t9kOH+VI3BJ+DlEuCejgwRkxkisjhQbSTa4+EGROKYcVIBBTtsj8JGHiNyRVSQ0D
-+A1KDuZQh7iDwuyatT0xvcvFw52In0dj3RK5hDV2ZX1ec1WiEMKdf8It+WdTSQPT
-UUF+BAC1WEPU92FZefdEDIQQHu17xsCestDOyd6xUBpxyPV2dyUwm8k7OhRalNuk
-nAIXfbZcVVZ/+RWDdfiftoSxQmODQg0JtzhtGEQO2q/FozsCy4Bx8XPk6CQmPMJk
-x/o8MwR50qDlsmcMRR2NDF+I1QOyRpEmugZ6sO+WXm8bkj1J6rQpTWFyaXVzIFN0
-cm9ibCA8bWFyaXVzQGFsY2hlbXkuZnJhbmtlbi5kZT6IXgQTEQIAHgUCQH/fEgIb
-AwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRDQNXmc4KxvjaHxAJ9+D0jNIIFzozzz
-6n/bx6N+yV2rwgCfZRtKVbN4QNEBod9tfer2TgmRlqGIawQQEQIAKwUCR3O7DgWD
-AeKFAB4aaHR0cDovL3d3dy5jYWNlcnQub3JnL2Nwcy5waHAACgkQ0rsNAWXQ/VgC
-ywCgjtPLCzZAAgOuFiLwNw4vF6ZXJBQAnRPxbc9SwccyaGrkk8kiCX1nxVmFiJwE
-EAECAAYFAkd2QQ0ACgkQ722CQfCBGV1D4QQAgo9MiuMFTfyjZn/qfQmSenruVgSW
-GpKiz6DTPhmT767GqaVqaaChoWqPY6/PGPTbk71NleF1v2HU1Orzoj3KqgzE6vVM
-MMfmMXJ7y/A9hg+xImKuThiwMzfJJQ+nrvCc1beJIiMxhJJLHxmBJZve/mbMUs3V
-HC4tGEcdrGecFY2IRgQQEQIABgUCR4ekWwAKCRD09yJxgsm6KU0pAKCIgvYV8BNI
-ES5/8AK02J2lApE5kwCgxetWv8ToTTbUhW2AhaIEHlg8KQi0Ik1hcml1cyBTdHJv
-YmwgPG1hcml1c0BGcmVlQlNELm9yZz6IYAQTEQIAIAUCR3QWxQIbAwYLCQgHAwIE
-FQIIAwQWAgMBAh4BAheAAAoJENA1eZzgrG+NU0AAn1xgOlGk3+FpLagxQh6/O94Y
-8iz1AKDvu7Im3yfxj4LRh5UVKnNYMIJTtIicBBABAgAGBQJHdkEIAAoJEO9tgkHw
-gRld4JcD/j52TeNiPNJ4hDyd0QJUItk8RXcvBtrg2dSl0TGmNs2f1+3fjZ6vdrE+
-5Ry0qh38ywsxs7sEFURPavre4i7EbdOWv6NawUfaIsgXp8Os91bQr+UrXe2esAEC
-SICQS9hHI3qEl8hPqay7rPl/lXM3ivofmrRXXfBRCtxUqy8+CFoeiEYEEBECAAYF
-AkeHpFsACgkQ9PcicYLJuikeVQCdG97q3ZUAYRy7za8JihUzddma5wIAnRS7veJj
-ENbiKHg6MJc2BMFGZ9H4uQENBEB/3xUQBADFOTE426iijaR8FaZLMIRaSexGfOvc
-nPJFF+rkoktpQzP+9BKDwKvt1HmlDXaiaeJfwEfQdK7/oORh9+ynL9ag/KaocJtT
-8eAqhVnoC240NF+PhMlX7YblUwa9+M5MfNmDkNEV92ZFIJ8QjRAzn/G3rQIMo6ax
-BmsF+1P71QEIgwADBgP+Kbmf5TjcU45Wuc3ceZCAEm9o7VMhsU/tVu69x6QRu379
-HqJ9RDuAOdcBWQ/67Jw7blSbe3yWZpqhxLTWwYELJG7/XSNnIsFl3osF34lm0Y9M
-lJl+XBQ3UV2kPgtIMDTXDuklzuhdhbIlhWOXJJf48WkSxeB2WGnnlVvBCjBTx3+I
-SQQYEQIACQUCQH/fFQIbDAAKCRDQNXmc4KxvjWiAAKC5xnCwJYOHHwqreNa98Dah
-W9e6+QCgjchyumMlSJfpEEnGG8vU08TmXrs=
-=QOvV
+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
+=yudq
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/mat.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/mat.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/mat.key (revision 42804)
@@ -1,518 +1,167 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh mat FE6D850F;
+sh addkey.sh mat 0x3A4516F35183CE48;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 1024D/FE6D850F 2005-04-25
- Key fingerprint = 2771 11F4 0A7E 73F9 ADDD A542 26A4 7C6A FE6D 850F
-uid Mathieu Arnold <mat@FreeBSD.org>
-uid Mathieu Arnold <mat@mat.cc>
-uid Mathieu Arnold <mat@cpan.org>
-uid Mathieu Arnold <m@absolight.fr>
-uid Mathieu Arnold <m@absolight.net>
-uid Mathieu Arnold <mat@club-internet.fr>
-uid Mathieu Arnold <marnold@april.org>
-uid Mathieu Arnold <paypal@mat.cc>
-sub 2048g/EAD18BD9 2005-04-25
+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]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
-mQGiBEJs9i0RBADoZqZbz9Vl/0QuM9+PCmS1nEA2k89ZRqPA8C+b2peJb0j0I616
-Qa+SOJIyRIBWGIk+zxhDRxZ/GN2mMW2Q5QksDxPl2dGYbN33LiCWKXxNdVhbsAFG
-0DzGwkjMRagiUitaJD6yopBkpyCGmpEUMiYyjK5HShg82XTMIfpsGKL/vwCg+WhB
-13MxjhKRKBpV9l2qSufcpCsEALPFvpDP2sc63v30ljbH8vEGHFyaq27E50H+V1FR
-eYJarsudpG0LvwcrqJsFEe6afz5urMCnFeHN23Sd6WQY0Mf6GPWd4EBqgl8NdM18
-kREA60gAPpP23vYSFTyZs4CgMC7VbzAQlIeb/gRMRIqsR8lIuJr9x+DIBRdm0UMp
-DmTzA/9+bhe3AK0dYblCod/brugDfUFzu5KNFpdnXmfphJFdUgFtyGoqSmN/M27r
-gV1eA7PKWR/mKCD8JilQ09k52yHK/W0IFNVQ2q39gpGXhCW5oHgW2iKATd3XR0lr
-AWbfrOsL4usfgddQARJKsQgIqwsL6LeALf4G6F4hC2PeSG3fN7QgTWF0aGlldSBB
-cm5vbGQgPG1hdEBGcmVlQlNELm9yZz6IRgQQEQIABgUCQmz5pAAKCRCphinMbP++
-Z8BbAJ9I/EyakF2BOIO6ZnQJ1hEqFMKgDwCgk4kBiHkzmrhTmP+rgcNxac/zRhOI
-RgQQEQIABgUCQnIkXQAKCRCgT/sbfcrp0x+5AKDU+ijbet8rXUdmI+C9udcOT2xq
-lQCeNwk6GAuzU5v9EVIpB7P3jI7QI/6IRgQQEQIABgUCQoiqGQAKCRAMy37+CzCp
-O2zgAKCJVfxjMFBMwVlNNrSwa9y8vqSgAgCeIzOhEwHTwFNZpmuNQ9dPp/hvI++I
-RgQQEQIABgUCQpnnGAAKCRCH2lwNJzWaUbsbAKCBq5Sk9XH7DcL1sL+s6gSfSmTw
-sACgvpGprYIPeu8byEee5uDFM9Et6imIRgQQEQIABgUCQwMO8wAKCRCNe42EaOyD
-lLFjAJ92fYiuvgcty5higoarBc/GGxKMJQCeImBQbK7s9vBGeXSbWsr3PSggGjqI
-RgQQEQIABgUCQ6VuFAAKCRC9I1l/mlC1/qqnAJ4iBh31o/strzn6bYNJEy1yzDsL
-DACgkTZRShR//I9TkX9qBDEQfUL7kUiIRgQQEQIABgUCRDkpSAAKCRB0bJ/+pXPx
-DzSRAJ9V/DPFLvkBSqVYsSEPItyh9aeKggCfXLYrGCkY1QcH8dQPZswFK00sh56I
-SgQQEQIACgUCQoaQVQMFATwACgkQ1wPoPfOWTTQWvwCgjn1Cr+idP1Sbh+PXoldb
-vNIYE8wAn0BOTEjOLfQvSe6NnTCWEEzIZCH1iHMEEBECADMFAkJtAA4FgwHhM4Am
-Gmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9pbmRleC5waHA/aWQ9MTAACgkQ0rsNAWXQ
-/VjVUACgnUimWsV1n2hmqNJ7F/WFvEvNoz0An1NewfpyuOoXH5P/YgIwK0m0agRV
-iEYEEhECAAYFAkJtEbMACgkQktwjcC7SSBIdYACfWu+rS/h4Ww6jsG7HZmsruOd4
-x7YAoKuvPVwRJVmDV2klKrt8gMwV1u5siEYEEhECAAYFAkKKkdYACgkQIhjIHo58
-A/9iDgCgoa+NcTAAb+SX5p/DdKHNbyfj0bwAnjwJyhoIBwyygoRlWBnjyPG7g/Zv
-iJwEEwECAAYFAkKLGf8ACgkQH3+pCANY/L1T7QP/XIUnVmyMYt6hc/fPt6jcjGHq
-mhSIFimxO3Fs0NPuMzhL9tfRbBSS8i+G5gNXGz9U9RiU8jgGw0uDorRlIJxd3+Oh
-+iIvG3DyJlAqPj24ng1YeZTacoQf3HkDsP81LrieYGcCryzI8EV9lXZBA0vyqp+g
-7BBuXSSotHE+xPE9kVeIRgQTEQIABgUCQnFLmQAKCRCNSU00xw69UGyNAJ91yYo9
-7PA5b3IAINWGN0klfkTDhQCfQ4Lfi+RUWYCoSHpoR6CyuJkPxUWIRgQTEQIABgUC
-QnYo2AAKCRC1yGyEMX0o1qkCAKCnb0OJSl8BwyBId0BhwbPa2Q6IxACgtMmTq2g6
-cOM1Vm57qoBT9QULJz6IRgQTEQIABgUCQobwEQAKCRBgZdUz/cIFuUpWAJ9Vrnvc
-Uuq4ngfqF3A2SdGGvpRsqQCfdTDdhZjiZPnqT/t8UumqJQS0teCIRgQTEQIABgUC
-Q6gbjwAKCRCkqrO0wJU1sepsAJ9tNoc9L9BVwxeElWGk169dGCSmbwCeIXwT1p2r
-Z0Oy7Qf3w3wcmYwXVnyIYgQTEQIAIgIbAwcLCQgHAwIBAxUCAwMWAgECHgECF4AF
-AkJs+fYCGQEACgkQJqR8av5thQ9IJgCgm8SiQlyHfTLXW1o0KPvMzjN5b6AAnRLV
-3Zsj8mhwfmslRt2KjtYkKMztiH0EExECAD0CGwMCHgECF4ACGQEGCwkIBwMCBBUC
-CAMEFgIDAQUCRkndMRkYaGtwOi8vd3d3a2V5cy5ldS5wZ3AubmV0AAoJECakfGr+
-bYUPBF0AniwyVHKHoYQ78eJjaxZta14mJHMAAJwI5GH/DyaEWmP0+dyEtrGV5G8w
-64icBBMBAgAGBQJDpajpAAoJEFViUQuqeigOx6ID/1VabIv21Ed7zSxnapgDkrqi
-lx3l9jUEo/eIOQMrGpYYu5E7gpmTPzi2ij+MENvE893YP/rKE3JV9BEYwksDsTXy
-h/qn+YnLIJLNBkLqzC6XIFhJ8iGcBsxEGTWvFPdQG8vbzQnZV92ichwoXZp+NCRV
-qxuRe7wsrwvF/rs+gr/miF8EExECAB8FAkJs9i0CGwMHCwkIBwMCAQMVAgMDFgIB
-Ah4BAheAAAoJECakfGr+bYUP+OkAoNkfDw1UBJ3c4tSo3nwhaB86VZsKAJ4gSnCy
-DT9uxvgjD9UHHz8EUtSiCYhGBBARAgAGBQJErt/IAAoJEEY0I5Nj9gwsgBgAoKl+
-viNkeVRNml2woRJLLIYE/7uzAJ9EeFDmjzvetRpbLTEwIJGSFJ+O04hGBBARAgAG
-BQJErRyLAAoJEFhgc7NAI3AvXSwAn16vWce2WvrYi/RBOirHr8Gbu8ILAJ4hbN29
-I2NPEGlR4JZgWqhfqI6ZD4hGBBARAgAGBQJEs9I2AAoJEFZOnwVRvFhBirwAnRUR
-ohYfZHwhGhJw+Kn+4Zibc70NAJ4pJKkBXEXsmpjBsmDF1eb+UFCMYYhGBBARAgAG
-BQJEsUZRAAoJEJTDy2TSbRi8/1sAoJmBCzFPf2UDnHPtY19FYvDKo5T7AJ9oDfTk
-5hbM2wRpw/HeURVvr4LomIhGBBARAgAGBQJEsOa2AAoJEM8opP8z1LbGcOsAoPCS
-o1HJhWEmtzsgdfCE7dRX7JlUAJ96PFoDvf3wB7NlB68um+sPsR4d04hGBBIRAgAG
-BQJErOYeAAoJEHeRQ9mfGs6ck3EAoOpmFYvnoiTr/bRfeNpWCFnLBfJ7AKCP8MxH
-76ozrgCypKGjomF2b7h8wYhGBBARAgAGBQJEsThUAAoJEPHPFQgJyXlayMEAoLO1
-/o+D6UEphiArMz6sSd+v/vbRAKC28P+1byFq9b+A89sZ+XnKVzmp9IhGBBARAgAG
-BQJEsj0KAAoJEGwxx7NpBHVSYuQAn1uVl5Ss91CU+wzW95n+Vg1z6Ao8AKCKqkUA
-BCKD0Zy3K1wt5b8lIhWBrYhGBBARAgAGBQJEs+eMAAoJEEU8RUkCMNYCXx8AoPq5
-xsmid7M6852Agjo8/pLCl30mAJ43jCYOZAUrtZqD2mVRhzPJdm+lxYhGBBARAgAG
-BQJEsOwyAAoJEFkymUKhHnTsqWsAnRyUKfyZNdlYMtXckhEfKAQYQbvcAJkBiyoF
-R48WMLZNzEHAGYxgoqVhq4hGBBERAgAGBQJEt4jSAAoJEDRNtjiDUpwqzb4An1vt
-mYtRxl0wg7i+QNqJisf/NKI+AJ4k1Bz6t3+5vKIhhGJj7BR32lTp7ohGBBMRAgAG
-BQJEt4+FAAoJEDRNtjiDUpwqOlcAoIv1A7stRdMgoLewPUTlb40N/A0+AJ0Xw9mz
-6OQsgd8rU4n5aqtrhELoB4kCHAQQAQIABgUCRTyUHgAKCRAmSeYoxdNNBcjVD/49
-QWGwFAs/12jjUFNhOHuvMyke0Qc93Lg5K+BtCCqh5Z2XE7w0HrvcKTy3ZCa4nnUE
-0t7XmqWnGeYTfqQiNT0ROIxdnlHucQQO/knk12rraJ5u9F8BdyqbF5KDzkZYD4ky
-rdxE8QMWTwumvzDb38XNgcFdsvLu8NB32rjoW16+8rFnuVL3gcQ3VV+zW0oozieh
-T3YOI7JRlGzmDitg2X5lGgtJX7ipChXqG5NS32y0/KQ+Cksa0kxRGIP1UdXnSRjr
-ChH211A65RPLSV8fjfhLiqnlVBmWqcfkOYg0RXfL7+IbR38Wv9QrWXpTFr8xJsac
-X4Ww8xB9rqL3X2Nyr/OY8dK8fmI8r2OFrbCL+HuIblHRMrjeMaOKbGQA3bz0lYb3
-Rm0m56fASGxvOhXXMTq8DHmyn6LqtEAAnqNHhWaigIFwphM0zUV6O03viB/HM+kj
-q994/r4oDd2f63jG1EVMxwA41hZoWCh5ycdHvDvhzT4/Mk7dCqOFmgIVixxXzQrh
-yERZ2vmUWUVJQzyBJuDPDKHG/79MmZBHb7r2D+4s4o0UnV6AR56XTuqSyPNCutEG
-hFDviPPeNWn1woCqdIYf0HYg/IeXXdXL6ZvrPKb7dc9wyHJFbmzQwTWFORkAGU7u
-UpCS5ofBoNcuZJ+qBvfT2lmYoS5jLfWlfckr04lstohGBBMRAgAGBQJFr+q/AAoJ
-EFaK6ScFFSqpfzgAn20c8xGOt4rbbn54MevHMdWExZuQAJ91x72T8XbU0MVzub5u
-ED5RSjCKo4hGBBIRAgAGBQJF2a1VAAoJENXkzjzP+fsLYNcAoIMHE4eSmYUnqIlO
-+rkvfIWBwpweAKCuiOBvcimQG9p7xmCNVDd/5V9IoohrBBARAgArBQJGC47CBYMB
-4oUAHhpodHRwOi8vd3d3LmNhY2VydC5vcmcvY3BzLnBocAAKCRDSuw0BZdD9WOQk
-AJ9tcXXZ/KedC7b29iDeZz/ndnR2iACbBDOAZtENvEk/u9jI36HWoGihuKiIYwQT
-EQIAIwIbAwIeAQIXgAIZAQUCQ6f7LAYLCQgHAwIEFQIIAwQWAgMBAAoJECakfGr+
-bYUPHtoAn3I0Dtz1V3SJgri49XGkWGJ+KjyrAJ4n+CfAxsUXUOTL1ruH/CF85h6a
-fIh9BBMRAgA9AhsDAh4BAheAAhkBBgsJCAcDAgQVAggDBBYCAwEFAkX6ou8ZGGhr
-cDovL3d3d2tleXMuZXUucGdwLm5ldAAKCRAmpHxq/m2FD7zVAJ44aQkKVoSqMTV0
-lH4WjYN7t8DddwCeL6sqwWlYbwIXJ+yXQn92XaWF7hy0G01hdGhpZXUgQXJub2xk
-IDxtYXRAbWF0LmNjPohGBBARAgAGBQJCbPmkAAoJEKmGKcxs/75nLGoAn0aZH7AF
-GIrp0RzcxsHUHuqg7UKnAJoDIZE2o+NflGAVCYIZDqprxxifJ4hGBBARAgAGBQJC
-ciRiAAoJEKBP+xt9yunTIIAAnR2SwmgiKUf/gr0LB7ByNGAE5wWsAJ4/GcHj/wMA
-c8v7orM1IX0BJ86VnohGBBARAgAGBQJCiKocAAoJEAzLfv4LMKk7g7sAnAtGIcxl
-lnB0ysEiCS8r1HoS+25QAJ9OMIs8SG2o1DuCzKvMUSd1zbgIk4hGBBARAgAGBQJC
-mecaAAoJEIfaXA0nNZpRyNcAoMP+uOEtT9iWbHiuFb2Zt9wWCtbaAJ99Gb73DuDW
-zAaoO5FM70hq62CYZYhGBBARAgAGBQJDAw7+AAoJEI17jYRo7IOUPwUAoJsNLu3M
-ve2b+xuQJU2JKVaFiyfqAKCDQyKNy2aPrX1o9R4sFO9BVbtVYohGBBARAgAGBQJD
-pW4ZAAoJEL0jWX+aULX+5VwAnjFM7jF5W/wepLIih9XVJPFveHQJAJ0ZaLAY/fhD
-aJCkd4BM+O2C5K4ipIhGBBARAgAGBQJEOSlbAAoJEHRsn/6lc/EPL1kAn33Ruexp
-7UsBxT0tO1XcPhcJv6JfAJ9vCWZd2fl4fBlZYtpZOxP9JIxtPIhzBBARAgAzBQJC
-bQAOBYMB4TOAJhpodHRwOi8vd3d3LmNhY2VydC5vcmcvaW5kZXgucGhwP2lkPTEw
-AAoJENK7DQFl0P1YQPwAnjCk6+JguNQDHvquwGD1MQ50Lp8/AKCXwwyfNewKS3ft
-lJ36x06Z9CbomohGBBIRAgAGBQJCbRG2AAoJEJLcI3Au0kgS3AQAoIfwoqk8zlX1
-M3hJ8SQzO341ytG5AJ9D4M8xvyz+6hCO+hQJbHOH++URYYhGBBIRAgAGBQJCipHX
-AAoJECIYyB6OfAP/QyIAnA8JR8C+ScTT61Z4im89hqgvRlzbAJ9MWA/FZ6PV1Br5
-thTYWyK0+wQatYicBBMBAgAGBQJCixoCAAoJEB9/qQgDWPy9DAUD/1C7Bntuxrz4
-R6plO0P7FyG2rTI6kgJ954OwH1qDgqSZwtzioBvhPg6eMzTFOGAeQldslIqoO1YE
-PPUnndpT3ppu3TiEJB1VxbRoOlS54elTzBTqsiLPHZsPlv69YXAN4BwN93IhadeI
-PXuZatNMWGHrIkXw/KbDtaZuRoCdKcZAiEYEExECAAYFAkJxe7oACgkQjUlNNMcO
-vVDx0wCfRpDnDUTw5+90xx7ft/i332tJAdoAoNQjb31NHFU66ilhc3gBOMTobSg/
-iEYEExECAAYFAkJ2KNsACgkQtchshDF9KNazJwCghgmoy7tPAo0Ict/cwRZd149W
-Up4An1cqWwPI+63crwlmPB0YPLb17gReiEYEExECAAYFAkOoG5oACgkQpKqztMCV
-NbHamQCbB53N589ZAELg9+BexJARwUjenEoAnjnzscRGg2LnthknsXXW+nhnYImg
-iF8EExECAB8FAkJs9zECGwMHCwkIBwMCAQMVAgMDFgIBAh4BAheAAAoJECakfGr+
-bYUPDt4AoLJxDDziXy6ER41W50gzeELTrOByAJ49GMf0N0sjhtH43pF+apWpM5wI
-F4h6BBMRAgA6AhsDAh4BAheABgsJCAcDAgQVAggDBBYCAwEFAkZJ3TMZGGhrcDov
-L3d3d2tleXMuZXUucGdwLm5ldAAKCRAmpHxq/m2FD0O8AKDY6Ck9+w2LPaOyn9lS
-zKvemya/lwCeLuRnLhsoDzHyDlktUJgh9+fQNGuInAQTAQIABgUCQ6Wo7QAKCRBV
-YlELqnooDnunA/9LMBVFiAiJn90rXezC4QwmutNza/mwlOKjQ1jkRlbR8seMlGxn
-5m8XeypfRNexeJvYweHfMBSOHnaLpEnu9Ylw1s3RCRmP0P0sAV3DcQ9TtyRTz97e
-UpOoRYLr6+vDezhIKWIIkTKx5F8t36OmG3z/nNXI+83E19pKDNFiJ2Va64hGBBAR
-AgAGBQJErt/LAAoJEEY0I5Nj9gwssyAAn3Ofd7PY3Rlcwtq+fqNHIYYoMOMHAJ4q
-PzKDvTmIj093d5Lncf/+sZiEWIhGBBMRAgAGBQJEr5bUAAoJEHyOr3aQJLyoRJIA
-njHp5TkZGFaChdZQdOts7XeVQg8AAJ4mnEByhJbcqPuPGe1OibrPXA7bgIhGBBAR
-AgAGBQJEsUZXAAoJEJTDy2TSbRi8R5QAoKh/oMzElYeT3mK1Bl1jJjWByab8AJ4i
-EI6zslz5bw7PCd2jB/gIWszug4hGBBARAgAGBQJEsOa7AAoJEM8opP8z1LbGW1QA
-n1frW1EzTqiQb7nFXtO7AmuGzgaKAJ42CxgDPHK6FuTE9/DZF76FHFUW3IhGBBAR
-AgAGBQJEsThWAAoJEPHPFQgJyXla4EwAn39VFFBaC2r3qkC8yLbQNrTf/HblAJwO
-QbQB5hd03JKVZFnGU3AtvUpw64hGBBARAgAGBQJEsj0NAAoJEGwxx7NpBHVSmfMA
-nRxMMAf/ZL2OwGm+DGYrhCwQvZuoAKCXXPi3NYOSaqT3S4DkFlrTCgEyQYhGBBAR
-AgAGBQJEs+eOAAoJEEU8RUkCMNYCIvQAoI3hh1gUgTHR71r81kAknCd2UGVpAJ9h
-an2IyrorHyh9HhYpccE7YxJqt4hGBBARAgAGBQJEsOw3AAoJEFkymUKhHnTs0s0A
-oN8HGhufHKV/6jhqXbi6HnyCw5fKAJ9cBhtXO5beagMrk3saNHh0/atfT4hGBBMR
-AgAGBQJEt4+VAAoJEDRNtjiDUpwqXsIAn2neZa4QHjGa1mCQQcapF6GgjB4xAKCs
-ghDUAktU9O8E5L3JexWl1xplwIkCHAQQAQIABgUCRTyUJgAKCRAmSeYoxdNNBeyB
-D/94LKYa3P0YEf0imAe14WUtXiOGTtQItnqMV0qiuxBFtaa7wv+9Umfe2MGg5VUb
-kVGA35fgO0ecICumj9639h9AWiT7pIue+iynOU0t2OeJt4ieJbs/ZdtOABPp9GDU
-S0X/q4iwB/373TQWqzdtEfwXHJKGZOaivjmWkOWXAJd/joQsUAJKTYHO2LNf8WNq
-i6MKLBCNloIb3WZn7da1PtR9IRlrGurExj/RThbv1fzsYC2T19woK2IUtXcPtWg7
-M2ncXtpjzMDYzYoYGrvrFSG+cyMV7RYz2EkRzIYOZA+6GaKifE0FvVS+URowhjly
-lsk6fLd2I8fEu2fnOLGkhGQ8OwQBzlfcYDXFxtGdApSxZFaD3EAOMr7KBkQzac3M
-oaAz6LXonj6Kt95xiBP9Mgb4jqpBXEDdbiIJqooftSp+f1EJpwrxO+J6THNaaYIY
-PqvzvOjyjGiyWRNbQNxLngBnciD292weTkpu8GJJDDq3LabXxD6XiEITIQy+9/79
-ug3R4PJG8AGM8nFq1faeOCn3l9U622lXbayFGciKXx60nGTCcUnyncnccJthk7uQ
-wwE7Lh0ow5FIr6kt5vCUy8IunQw0rAogF+YEi6l6t0m/8JW1xxj4aBX2wiSbh1s3
-3K9aK4ZdikJ+jhqvIUVQT6b3/5pP1h7kXp7VOnH1V8kG94hGBBMRAgAGBQJFr+q/
-AAoJEFaK6ScFFSqpxhYAoI4A/orsTorfnEy7slNIuBDd11ayAJ0f9TfrWNalwd8f
-0bd0OAL5JfbxD4hGBBIRAgAGBQJF2a1bAAoJENXkzjzP+fsL1RcAoI4mx3weRnJy
-AfKpOGCaO/423y1xAKCQGvGgSyrIDOss5ZMlZ+6U05rzmIhrBBARAgArBQJGC47C
-BYMB4oUAHhpodHRwOi8vd3d3LmNhY2VydC5vcmcvY3BzLnBocAAKCRDSuw0BZdD9
-WCfMAKCX5WqsS4x/3RfUc/n/K/T6PIh6pwCgh5J+s6rnnuoyq1tUT2SBNM5YwOeI
-YAQTEQIAIAIbAwIeAQIXgAUCQ6f7MAYLCQgHAwIEFQIIAwQWAgMBAAoJECakfGr+
-bYUPhLMAoLY8pjGwHPYwmtUqoTcJFAL4R0MVAKCDvvs92MHXjZMbgFob3lY/RlnU
-gYh6BBMRAgA6AhsDAh4BAheABgsJCAcDAgQVAggDBBYCAwEFAkX6ovEZGGhrcDov
-L3d3d2tleXMuZXUucGdwLm5ldAAKCRAmpHxq/m2FD8vLAKCFI3qK1z+aOr4RB42L
-Fpidico8GQCgnqEtyrl7CZ4ytVc8MyMziTeUaum0HU1hdGhpZXUgQXJub2xkIDxt
-YXRAY3Bhbi5vcmc+iEYEEBECAAYFAkJs+aQACgkQqYYpzGz/vmf+JwCeNx248vmc
-AD7/7yEQaWXlsRnemxoAn271IgFSZmP1L6b8Qb6j8djBU7DeiEYEEBECAAYFAkJy
-JGIACgkQoE/7G33K6dOUTwCgl73BuAoLpsj/uISyhE7ivzxSb/kAoOBRC/Q6Uqxg
-eS0Z9zDi+bn/61CWiEYEEBECAAYFAkKIqhwACgkQDMt+/gswqTu8TgCbBoDq06ku
-qCMVhWENKOO1jPns7mMAn1u5sUkizWpW8TkGwWAkXdiyZIT1iEYEEBECAAYFAkKZ
-5xoACgkQh9pcDSc1mlGtegCgs/H1SunkY/jVPy1q/3/nEY7ZAqUAoKlOVpQo4A/h
-XiftmF6D3/Okt4pTiEYEEBECAAYFAkMDDv4ACgkQjXuNhGjsg5RX+QCcChlOhX9G
-oDXUvD6y7x9qwGN0hqUAoIXyVvv/xsl1QN+8fL6Qj5D0P62niEYEEBECAAYFAkOl
-bhkACgkQvSNZf5pQtf4jIACgkbn50dNjQinBGWO0oFKtEDhCSv8An1RWCu46g/dt
-FIdDSf2gnNgJE+OeiEYEEBECAAYFAkQ5KVsACgkQdGyf/qVz8Q9o/ACfXaFjrGel
-f4mqvv/M9i4uIyJ3RcgAoJeUUaNXs8J+WF86LTkHUPMaLF0diHMEEBECADMFAkJt
-AA4FgwHhM4AmGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9pbmRleC5waHA/aWQ9MTAA
-CgkQ0rsNAWXQ/VhCeACgg0Kb6jGZexqttiOC7LMgFtaHSOIAnjQR+WE93s7eE4ux
-E3hMI7nPXRQaiEYEEhECAAYFAkJtEbYACgkQktwjcC7SSBJFGACfQQBk3IaOZKkC
-e7HDF54HURXyDvYAoJrRdQQ/BtL/V/69NTzPWiSD0tdRiEYEEhECAAYFAkKKkdcA
-CgkQIhjIHo58A/+4fwCgnV3jdlOwR97i3AIp2k5k9oOIyoUAmgNl48teoILQc0TH
-F2Fd//KC3WFJiJwEEwECAAYFAkKLGgIACgkQH3+pCANY/L0yngQAiGVjhe3/OlbJ
-clB+aMfG0spu35YpWQfRXjVfidspy2Q2ktEHxWixpNEi+KTwVvQLKIXcp8FKXwG3
-DpOHIIYI88IVekKyvC9nBFFO/wBUDhgZqh5hmOGDAwp8ju9dUsOm6p7+5IQ7xUU/
-5JZdwTN+pHIQVvujbbeiHvIaqtNLyuiIRgQTEQIABgUCQnF74wAKCRCNSU00xw69
-UPBtAKDqs8NIXRJui2LPJV2UXpp7GySNEgCggInwEuHY0dHnr57Nzo8pnVFsjcKI
-RgQTEQIABgUCQnYo2wAKCRC1yGyEMX0o1qrqAJ9kOWEyTV9TyckpHCynLzWOIWA+
-SwCaAuIRdCTmZKl5RIR541yYXr9SOcKIRgQTEQIABgUCQ6gbmgAKCRCkqrO0wJU1
-sbfoAKCshfw3tSgEYd/X30nqLUyN86r2HACfUUBVZSsEdSDjfbzlq6+oYSml4beI
-XwQTEQIAHwUCQmz3WAIbAwcLCQgHAwIBAxUCAwMWAgECHgECF4AACgkQJqR8av5t
-hQ/vPACgmLCZt7fj7d34RceIP7La8T8KQT4An3Jg3AnRj0EDDvkocqt6903RqgWy
-iHoEExECADoCGwMCHgECF4AGCwkIBwMCBBUCCAMEFgIDAQUCRkndMxkYaGtwOi8v
-d3d3a2V5cy5ldS5wZ3AubmV0AAoJECakfGr+bYUPAzMAn2PQjsp6CmAyN3qOBKD6
-Tqpb/ET/AKCnw5sAraX5lFBkDEDAHiVEepQPB4icBBMBAgAGBQJDpajtAAoJEFVi
-UQuqeigOJ4AD/RlnKOhsxc4sbNJ6sllLaKf3SzcZcc7A1y50vDPk2MwRVMQ6unwD
-AkpAunZsg9YTrtOvjY/G6d6E91T8CJXrgdrxl5wgpk/rHpT7V1mn+DK7jemEvIgT
-BqnBU1skldNulXTdk26YmIyrKWwLtE1CccodKsbMd/iqIho/vsDq1IgDiEYEEBEC
-AAYFAkSu38wACgkQRjQjk2P2DCy9HwCfYOkX15vnQ/oe9weSZ42EWdYVNHgAn13K
-/hGWDGlQtabjoXfqpsGvVv6xiEYEEBECAAYFAkSxRlcACgkQlMPLZNJtGLzWWACg
-33QsBMvPV9fjE6bsjJ9xbGFo1+YAniMksN7BjMhdgjJi+YzmghT4RpgHiEYEEBEC
-AAYFAkSw5rsACgkQzyik/zPUtsaMDQCg0dKgGHcb8A1ktRKqi44uHz13sOQAniHY
-pYr0veuJVSd87ainH7sP9ldOiEYEEhECAAYFAkSs5iEACgkQd5FD2Z8azpxtPgCf
-a3Z7gM0c2dG4o0ODdHdh3AnB0o8AoJiD4d9miGmlEFADrnpte9plthSgiEYEEBEC
-AAYFAkSxOFYACgkQ8c8VCAnJeVrIAwCfRSBbW1am5QUsFBe22ZqLLAsdopAAnRdj
-vb9VzOyMUcr4kyvgyFTkbjgXiEYEEBECAAYFAkSyPQ0ACgkQbDHHs2kEdVJ6RQCf
-cCgDGj7fjsWi5zS92TL3+l5eduEAoIDauVwSz8Qk10hIeOGz5Z9OCAExiEYEEBEC
-AAYFAkSz544ACgkQRTxFSQIw1gJX0gCg9CWTuDEOdEPZmVif3LNP++tHoS4AoMkr
-DrUl/tN3N/GXXPiPDgF3i9VniEYEEBECAAYFAkSw7DcACgkQWTKZQqEedOw02gCd
-HrizfGczWy6USELcwV68mGzBk8sAn2Is4nOCkNHpDSe8mYnKRJSjIx0hiEYEExEC
-AAYFAkS3j6UACgkQNE22OINSnCqa4wCePqO6/S4F559x+Q24mVpXrsIuP+oAoImx
-g42x5cieXM05JhD3vW1scBD9iQIcBBABAgAGBQJFPJQmAAoJECZJ5ijF000FA+gP
-/0J4H1mPcTk0p/PCtIzGjNY1mtsAJtAgCyAcd4ueXXU226a5J5QwXwkLb/7RJ+d9
-tPr1EWO5tR1n319nyonYxJVP3XzoZTKbrCZmtiFnbwEQXoeqT/njW5iONIDlVrb4
-RfevdTugqetVA19pTif5pGr9i9nXPlDx3188Y/IoIsF+r6VQE8HCRksXymnKAxm8
-GAoGnRIDK2Odk8OK2V72vff1v61z31sIm0P1AoESCRCJSLyUp1BvKnUu4ZkJKK3h
-QpmqcjoU73jDMH2Sli9B5R4ujZdDJv+cZJvlhJb88IaJImF4lDebKmN+8GXLyST+
-55CIMBoUsS1wN3OJm+Y2pM+bV7aze8OU/fkFiO/zunDaQg7cJtaGxdQ6FMsAngPA
-vuDxwbAI6/IscUtrVcwSSX8Nh6/6sN399aj549ipyH3x4mukjlrz6NJJZs0J6tvz
-haHu63pAZSXpf/4TcRFMHw8Lz7o6GQWJ4HO4mJMpfzvHvKE1gLAdSvJ3IWgzPpsv
-Lwzws7M0/HejGx95hHExLaPGeStkcglhQxFpx3BwAmdz7WOS+d+fplI565O127rY
-LQeyRKS9wABTDDG4ZpjRDKiO4NTctADS3TbrTQkP2WKaJBuNF5CdJyZ7HbTednHW
-Z21o/tAyF8Sdmw9qmVqjUiTDwzQDpUlg/CmonXocJW18iEYEExECAAYFAkWv6r8A
-CgkQVorpJwUVKqlkBgCZAfmCVmePqFLhQLQLh2+Y6XHQFxUAn2JrekH/llrLlEmb
-gpGWWd0Fjs+IiEYEEhECAAYFAkXZrVsACgkQ1eTOPM/5+wudXwCfVMnPgesuCNKT
-Ule3nmMxSDkoXGMAn0q4Mgrl9xrF1ySJJVtTttDAOXSBiGsEEBECACsFAkYLjsIF
-gwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1Y
-NgMAnApKvTJGh3piM/pia3OAsrdY3pp0AJ4uRT54MUr6Jje0QLOIBZDN++917Ihg
-BBMRAgAgAhsDAh4BAheABQJDp/swBgsJCAcDAgQVAggDBBYCAwEACgkQJqR8av5t
-hQ9z5wCfZRJfMJh7JjNA0BIWoI+M1yxvpmMAoJHefiX7d/xLUB2sHAKLuEAgWhPz
-iHoEExECADoCGwMCHgECF4AGCwkIBwMCBBUCCAMEFgIDAQUCRfqi8RkYaGtwOi8v
-d3d3a2V5cy5ldS5wZ3AubmV0AAoJECakfGr+bYUPen0Amwe3Z/uxbTFsOuTZvcYw
-F9KkesM/AJ9jl+Y4KhwNxjL/zQfQgZZOrQij7rQfTWF0aGlldSBBcm5vbGQgPG1A
-YWJzb2xpZ2h0LmZyPohGBBARAgAGBQJCbPmiAAoJEKmGKcxs/75nZ4QAn0R7l8BN
-i5igOxFg/TJAjEl+snqXAJ4rf0W8DFLlbYmYoKNjvFkZlqiQdYhGBBARAgAGBQJC
-ciRiAAoJEKBP+xt9yunTIfwAn2VSNgAzBtlHCFVqfR2jRl7MuhJVAKDmnPXQP7jj
-DMac+LchJmrEuAB2n4hGBBARAgAGBQJCiKocAAoJEAzLfv4LMKk74joAn0kO2C0E
-P5tWD+Y7qWKcP8h95TpyAJ9VQwAnMyZSU4wgxEEVPUfj07yP0YhGBBARAgAGBQJC
-mecaAAoJEIfaXA0nNZpRDqEAoLoc/XXs6xMrtHSaUioN+EB3kR6iAJ4sSbrR2HtY
-CNQ8q22LmEc1rxTwtYhGBBARAgAGBQJDAw7+AAoJEI17jYRo7IOU7E0Ani5eZ6Za
-i49Yz52SOnGNkZ1Xg+wOAJwJJJx/PtZQE6HiQ2OpBO6iFLys+4hGBBARAgAGBQJD
-pW4ZAAoJEL0jWX+aULX+aU8An3j26teCEZqaD17rokv4ZQb7fSyPAKCQ3Ap0uAG1
-J3IJ06COBmC1FbcC94hGBBARAgAGBQJEOSlcAAoJEHRsn/6lc/EPiSQAn1Pstyxg
-jwyw4cKKV2uW4vufViFGAJ9eUSjbtkvlFz5piBsQwYHPRSTEs4hzBBARAgAzBQJC
-bQAOBYMB4TOAJhpodHRwOi8vd3d3LmNhY2VydC5vcmcvaW5kZXgucGhwP2lkPTEw
-AAoJENK7DQFl0P1YFz8AmwR0Xs87uTTptm2mnE5VY4ku4IigAJ9YxuJUl190fJTD
-uRUs2aEw0vgrlYhGBBIRAgAGBQJCbRG2AAoJEJLcI3Au0kgSEzcAn3xNN0bLAMz0
-ZpwiKD0vUtnOgQ1ZAJ90dVpM6CiUHxMx1JACpWXJerjgfYhGBBIRAgAGBQJCipHX
-AAoJECIYyB6OfAP/zZoAmgM2L19Ep9FzBd4iMz9/3kLfcQ3FAKCLfdgQ3N+NAFPn
-/BUHK4p38WddUIicBBMBAgAGBQJCixoCAAoJEB9/qQgDWPy9TM4D/i66hWMxV4RS
-GpwMxqZXjxoo4vxp+ebtC8L9CDwHo0cJvjI+SjVfbD/515obqAwIUzNh7YqmImYv
-VqYzEPtFVRsSHfm+5YpXD9ArmTSw5q0zCSbwjVxUSgI6mfz2fjUVeLlWpe02Rqnj
-LMWXsxuBLe88/VliFCIPrHI0M7/QHrdKiEYEExECAAYFAkJxe+YACgkQjUlNNMcO
-vVAZCQCffEidzBqAilm2heJeow0sYCNphS8AmwQezJRJnQONrQHKCkXCz7javnOd
-iEYEExECAAYFAkJ2KNsACgkQtchshDF9KNb8KACgvadRI0iaLpshFL7QUlpjiUAN
-T24AoMr+gUjQ9wHwvUGALlCmwG7+Gk5PiEYEExECAAYFAkOoG5oACgkQpKqztMCV
-NbHbsACgmW9H1YQHoKYX43bCYm6h94+qoFkAoLXjvWleNUmZ8jfIARmUx6sxvZ2P
-iF8EExECAB8FAkJs93wCGwMHCwkIBwMCAQMVAgMDFgIBAh4BAheAAAoJECakfGr+
-bYUPWUgAoJ+bfzVQE4GTv4zERx5oUv5U42XHAJsEDChyaKIuCKnpEdF41zC3NIsC
-BYh6BBMRAgA6AhsDAh4BAheABgsJCAcDAgQVAggDBBYCAwEFAkZJ3TMZGGhrcDov
-L3d3d2tleXMuZXUucGdwLm5ldAAKCRAmpHxq/m2FD/guAJ4rLMHUNINIK6X9KmUx
-W6LarTaD5wCgxLlSsT/mvtBzp8CwvvB5secXkqiInAQTAQIABgUCQ6Wo7QAKCRBV
-YlELqnooDkHWA/9RyFfw1zXreSRmZR30ffSp9eThRkg6KoybpY5/DgupRTW8qgxm
-KiIgHi5TKikpwUZoKj64RuB07LAk0LzyxTNk6sY90+HNUc1ZHYJV5rRG+yYn1xHP
-xEErbkRnsppPgzu2J95CBfbQgt0dM7jyktzyYAG47e72jkOrkOxzzECNPIhGBBAR
-AgAGBQJErt/MAAoJEEY0I5Nj9gwsZLoAniQyqdhjedzDXYrwXeFF4fq+MLpFAJ4y
-wzWIPxiPS/3u7frcmJ2jT0c1oohGBBARAgAGBQJEsUZXAAoJEJTDy2TSbRi8IwsA
-nAyek7uDf4Bhi27e0KRw2grnc9a6AJ9QrZCqg46tJTVkwIiuIw8UnRmoLIhGBBAR
-AgAGBQJEsOa7AAoJEM8opP8z1LbGQncAoJcv/cUdiPyDNywU3iht/VJjDLcVAJ42
-Z7DM/C3H3iMCLq3XRvzmjJtMmohGBBARAgAGBQJEsThWAAoJEPHPFQgJyXlaTB0A
-nip2COgcfBIkUpoiCXt0er1Ndk89AJ93PNfOBrO0NOiIAMBO4b3dQn/LsohGBBAR
-AgAGBQJEsj0NAAoJEGwxx7NpBHVSLJQAnjOwNF3UkbnrkDTmY4IRuGsm0ogQAJ9o
-2jnNfuTcfF5QL+CPqUAJ11ZttYhGBBARAgAGBQJEs+eOAAoJEEU8RUkCMNYCmZIA
-nR9UWJ8siJUp/IyQ+3NSHDP/9e34AKCXIs7YmLufzX0XFQ1g7qj1N9Pm4ohGBBAR
-AgAGBQJEsOw3AAoJEFkymUKhHnTsHAgAoJDXDqDsEQrgJJti57lbq7ar3MA9AJ4t
-Zxp//d2FrkxvvfJVViaE1jjqgohGBBMRAgAGBQJEt4+2AAoJEDRNtjiDUpwqOYoA
-oLTwk2y87noQJmMyI6L4k+q+zfrcAJ9yYWPqy5HD2Z9GH2BHPN3jmiVJH4kCHAQQ
-AQIABgUCRTyUJwAKCRAmSeYoxdNNBWajD/0TsUjlyyoNYzkSTUKglVwKd9bx4+dk
-Cvl7lgjhKDtPvyhEeukOlwfxNY2KO/H4cQe4F3MuevNHLxf+3ydxfdnx/QO9USoQ
-ZhDxTObocyLjNlKrDSBqKWJ+s84CMgCyKW1BuTzFyOq7rLXWxoQZYGSfNY3DjjnP
-yfvoVbG6rRRLD6BBjMpapGGfMXBoAbs8IgcfApwoVFLrR4BcvylCS4jgH2eyim4J
-j510XZTqURQLrJBvCo+fxEmxYfzl2ipHf7AKXlx/zzST46dHGkRSIYMqEjsRpTNR
-BqvqRBU+IvIAeUXqfUImSeZJQCKfcWpbA5kORu4ZQt1OcX/q95mlq5cWXfNdKqqW
-x5RO3kCpgz/IyFdCMFjasP1brQUHg8TapPB0Al1Kilm7tRzU+OIsE7YNBub7IwB/
-8gE0BBtkcMFE9zfv5C4y7wPMlFu7t6qS8Xk5WcZ9MjkN714mi6wcRn1MocfeUnq1
-+Zho4IiiNzJPp4TMjHYtjm9xX2+bUP5x998GaH8420wAtO8T8JtvU/K1kWLaNfyx
-OkGV2obFA/0MXNvDu40VSJykaBaOAFy9ITcK6Iab/K93ppvnTNnW3W5qO+YvGUoK
-cW8zZM7x7JkaZVwgVh7225YqxbER9tfYdHGCGliEeKhl7YQnYBCR96mTFmcrmGeG
-I3arj891FC20q4hGBBMRAgAGBQJFr+q/AAoJEFaK6ScFFSqp52MAnjMjbcLtaUDJ
-cW2/kTj1MeYM58IcAJ9zQOF3bv8n5vsOO8FcmLFH39IS0IhGBBIRAgAGBQJF2a1b
-AAoJENXkzjzP+fsLtY0AnRkwaB8Uf4H6JDUPE87iv/t1w7e+AJ9RbddbphHb2/wI
-1JORfx9Li0K154hrBBARAgArBQJGC47DBYMB4oUAHhpodHRwOi8vd3d3LmNhY2Vy
-dC5vcmcvY3BzLnBocAAKCRDSuw0BZdD9WOiJAJ0VJO99RhSWPRi/lj68Mvfqyilr
-hQCfTOVqrVG2n6b3g+KHig2KnYiH6COIYAQTEQIAIAIbAwIeAQIXgAUCQ6f7MAYL
-CQgHAwIEFQIIAwQWAgMBAAoJECakfGr+bYUPXY4AoNXuw+zuMj2rxTsruKMcF2Ij
-KJ3CAJ0VP6J8KzHFlMfBpdEEuI3V5d4PnYh6BBMRAgA6AhsDAh4BAheABgsJCAcD
-AgQVAggDBBYCAwEFAkX6ovEZGGhrcDovL3d3d2tleXMuZXUucGdwLm5ldAAKCRAm
-pHxq/m2FD0vaAJ4hK6sOxT5l+3jMlTXVj+xy9+zmcwCg5af+ISeWnNS0EjAmrPP+
-Zwct/lq0IE1hdGhpZXUgQXJub2xkIDxtQGFic29saWdodC5uZXQ+iEYEEBECAAYF
-AkJs+aQACgkQqYYpzGz/vmf7XQCeJHjP6NyAbrXDisGNDcBJSipBI3oAn1Co1zkO
-5NUKBT4u7taXoeKai5YfiEYEEBECAAYFAkJyJGIACgkQoE/7G33K6dN3AgCgpvhV
-iYYrAm0LudK+xcyM5u6UMZsAn1/u78652P0baaF4AJc8+kqDYgrOiEYEEBECAAYF
-AkKIqhwACgkQDMt+/gswqTvoBwCeOH+dXSfx8OOqiPvsJGtkITyfZlsAoJfWTEGV
-8HlxStoZmDVXSr5oCYJtiEYEEBECAAYFAkKZ5xoACgkQh9pcDSc1mlFNpwCfRCaC
-6HV4kn41/QhiafH255fqEZkAnA75h9SBEPBuG8y+J8ORWGceCKjriEYEEBECAAYF
-AkMDDv4ACgkQjXuNhGjsg5TTjgCfU7lncHHMN+c1HvDvWtoNEmNrgtgAn15qBmaq
-FMFI1yu1ZEfebGUsqy3kiEYEEBECAAYFAkOlbhkACgkQvSNZf5pQtf4dmACfZHjl
-UewODZBCPTgFc1l9veRKO5gAn17K+aAAxjz4akIVRI50aS/22u4WiEYEEBECAAYF
-AkQ5KVwACgkQdGyf/qVz8Q84TwCdHDI+1X1YreWOv2I/ocz5nMtSn00AoIqwaxrj
-tXGrq4/cA+e59Ux3/fCriHMEEBECADMFAkJtAA4FgwHhM4AmGmh0dHA6Ly93d3cu
-Y2FjZXJ0Lm9yZy9pbmRleC5waHA/aWQ9MTAACgkQ0rsNAWXQ/Vi9CwCeMngv2djr
-LTWBYLopHC49d4kcxIEAn3BGDvpTUcTNlY7LXZGGAXL1tLrhiEYEEhECAAYFAkJt
-EbYACgkQktwjcC7SSBInMgCgtUspLyQebmmH9rdW7WKt2ZiflrMAoJEkib/cnPJ5
-jaekU0I0WaEXobmKiEYEEhECAAYFAkKKkdcACgkQIhjIHo58A/96zACfV2mhAAVE
-x8qkUf0zqjokg1XOD2cAnAg1kIcaKXNWMz4cb1yywp3pH08oiJwEEwECAAYFAkKL
-GgIACgkQH3+pCANY/L1fqAQAjKlRczzgB+qq3CUajoUxRqvfRhVgyk3Q5PDMA53e
-fTh5EQqpBzxNlMBdPJcGnS+zpV8/ywKUNtmhO3wT8IAQ0LYfTzD4kVXzPgTdcc4v
-3tzZO3HYCn3w3xVGpE6+pK7ebj7Y9g8zNlze+aphGyohRA8A1avid7tUCRX0kotX
-vLGIRgQTEQIABgUCQnF75gAKCRCNSU00xw69UDSiAKDIL1c5vwNWFqbzbt4ubmO4
-GLx6zACfdKNpZPtHU2kqQzGRE6VNHCxGspyIRgQTEQIABgUCQnYo2wAKCRC1yGyE
-MX0o1r/QAJ0UQtGyTZ/n1O6xRmumidA12LTW5ACfco/smbIfWaVjkiqVn3/us+78
-4fGIRgQTEQIABgUCQ6gbmgAKCRCkqrO0wJU1seq5AJ4sBKT3LDZxYM1qw4BDnkEq
-f8p+JwCgr4WQtloaxOpkzJvAFtqDqmTQX2+IXwQTEQIAHwUCQmz3EAIbAwcLCQgH
-AwIBAxUCAwMWAgECHgECF4AACgkQJqR8av5thQ97awCg68Y9wA0K9MlXfEOMQSjP
-vi6JVBoAoJ7etnPIVdOJb9XSpHOCnaB32xv5iHoEExECADoCGwMCHgECF4AGCwkI
-BwMCBBUCCAMEFgIDAQUCRkndMxkYaGtwOi8vd3d3a2V5cy5ldS5wZ3AubmV0AAoJ
-ECakfGr+bYUPI/oAoNtAz5cMhToAaUUlQX9yTOj9n6i9AJ9kQTLmXqtI2nQoesOa
-hUdOqaItm4icBBMBAgAGBQJDpajtAAoJEFViUQuqeigOg00EALa9dlfQrwQQeNz8
-cQz1xSVqaMo0niMqOT67y48X8s3ZMgLfOku7N0jyvffG3XvO/8WIXIMg2NV1eFBA
-KZdy6DSekXV5DxM9+LOnDMocUcbgK3jy3jLQ70TH+8wWZkeJCa3lVo3FgEXYoIDh
-fNsqcoo4cr95D1ZiyGHEutnpbXyBiEYEEBECAAYFAkSu38wACgkQRjQjk2P2DCxd
-vgCePGkzymsz99Qunf+qkvuUyNfRa1cAn3VKsQOiaVIStNEFnRRnXe12uciviEYE
-EBECAAYFAkSxRlcACgkQlMPLZNJtGLw7awCgoF/lmgCMCq5X1Vfbf+rma64+JjYA
-n1tfgMWY5M+B04/TI0AK1dO+NtoiiEYEEBECAAYFAkSw5rsACgkQzyik/zPUtsaa
-UgCguQ8iNfeLGTHAU19C7XOV73YyP1wAnjignGKLOdOxpTBWCCWAU7e3lP/IiEYE
-EBECAAYFAkSxOFYACgkQ8c8VCAnJeVr2NACfev0jm8oXxD2Rq3cwJkp6UkIwFSIA
-nRkbGmuP/ftwRrGifKnHB7pZevMAiEYEEBECAAYFAkSyPQ0ACgkQbDHHs2kEdVL1
-4ACfRxdIC3tUJzIA77U9jl+oH/yh6iIAnRn/g+Vb47eGNKe0XxIr4+LEDIdqiEYE
-EBECAAYFAkSz544ACgkQRTxFSQIw1gLNVgCg+NAnyXBe+SvocVEfUKUZ9LxOfKMA
-oMaB+EDrYQp/fHOXJ9dfsbk7xujdiEYEEBECAAYFAkSw7DcACgkQWTKZQqEedOz+
-/wCgkWuhE1xwiS/2rJywaKmZ2mRzhsIAnj9MdXSHP94wj/Qc7gXmB94aV3kYiEYE
-ExECAAYFAkS3j8YACgkQNE22OINSnCp8eQCeKJrANbQj7O+twULYX+mFLhabif0A
-oJJ39ssJgq268MAus6njYYL1enrKiQIcBBABAgAGBQJFPJQnAAoJECZJ5ijF000F
-JqwQALVcYYVbv9N6Fr32x0W218Lw0IEMRP9+juSUdgWZv8DrBqCnNE0AdqNBwGjq
-krbfoNpCqYYkZtsrg1NJ6AngP0/mktqgzad0438blrYivGoabhXliawXcr++ciBi
-B4G9PlIm3NqmG8K43NWVDVSn6o0GBoefCPzHaRkaSDPNFx/OzycNApdSI2juZ+H4
-Vhqwja8G2kg1t4WiFmZ+5Q8ZXwIuLEl/vmij/mrC3K4fXETzDs/vaKCpF/MgaB2T
-xYssNaRaNGCqNWo/UhKxGzCz+ub/IH57l3bLOK7dSVRFD5D8EB1rd+WXbtF/K5ri
-OKRk/SnyzpTE9I++2FbAsUBMZU2+DLwyHpeYmcapKxIpECpRV7XEJEUIQaGmEex2
-GaklfrLLDSaPXQ5vJeBmAcvtpobnLTFNAtOnikIbNVjpS8biMzFOgQpwVvzAScSW
-wxLG06ZhW6yBhoJSNUzu4nq4P6OvsYqOGFOeqqX7gPrlkxHOBV4Ta8uN7g6uvkzy
-bTJ7RuaAoa8Y2S7u3ZCYZPKZ2w1nyUP5o1855JEgr7jDbqQP2T6I6tEgK4g8iSA8
-b7NawybxE9drpGSCOXbchQZOwjvfMfKRtL0A/SC9zjONN1a/Gg9HrF6sh2dZyD3w
-mbVEZi966oLli864lv7UzJ/PktgRpcAJgX4L+04+iXPdiMqsiEYEExECAAYFAkWv
-6r8ACgkQVorpJwUVKqkmMgCdFmcd+4Tvxw5IZW75ouVrXAUsyoAAn1xEFgtHvtFT
-k5XWI0L3IroV19UoiEYEEhECAAYFAkXZrVsACgkQ1eTOPM/5+wv1SgCcDlMdRo9O
-hJ5rgxvS1uolzcTA/RIAn2bbx/7q6vo1vjeSvoD2wjfxgu6eiGsEEBECACsFAkYL
-jsMFgwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl
-0P1YYgwAniCdxrs/ueyLNLArYvY7/wp4DqFxAJ9/jcr1eGXAPTQrQOsd5Y5sWW9A
-SohgBBMRAgAgAhsDAh4BAheABQJDp/swBgsJCAcDAgQVAggDBBYCAwEACgkQJqR8
-av5thQ+TtwCfX0TnBmmltkHOJIIGneo61GchpkoAnjgKQ4nklchEnRELbfOGlP7l
-87ExiHoEExECADoCGwMCHgECF4AGCwkIBwMCBBUCCAMEFgIDAQUCRfqi8RkYaGtw
-Oi8vd3d3a2V5cy5ldS5wZ3AubmV0AAoJECakfGr+bYUPyBQAniQXQMNmettxevYA
-4JWn6hhFKHpVAKDLkDOWh6eSeaQ68zog4wXJs2KGErQkTWF0aGlldSBBcm5vbGQg
-PGFybi1tYXRAbWljcm9uZXQuZnI+iEYEEBECAAYFAkJs+aQACgkQqYYpzGz/vme6
-2QCeNXYLIg1iwtHH5/yWu2kV96rj9KYAn38UmcOODF/G7dAgIFvL00kTGnSAiEYE
-EhECAAYFAkJtEbYACgkQktwjcC7SSBIKlgCeL5mCRJJqY8ft/YEB7+XvAcls7/sA
-nRH5oVDQ/VvTv1QNWlNKTfqu4/7CiF8EExECAB8FAkJs9yICGwMHCwkIBwMCAQMV
-AgMDFgIBAh4BAheAAAoJECakfGr+bYUP7MAAn0bwnX2/cQASBpczElxQtnXp4s2I
-AKCMEMvO6N7Kqrg73GhPpeziH0r7EohbBDARAgAcBQJCcJUXFR0gSVNQIG91dCBv
-ZiBidXNpbmVzcwAKCRAmpHxq/m2FDwzxAKCAFVstFv3/0CCrtINfrOisCKRg4QCW
-OzAa51YBIrpb6JG9O/XRiz/Y9LQpTWF0aGlldSBBcm5vbGQgPGFybl9tYXRAY2x1
-Yi1pbnRlcm5ldC5mcj6IRgQQEQIABgUCQmz5pAAKCRCphinMbP++Z5HCAJ9qY5tZ
-hao8cJ50UCuK3UUPqhUmFQCfa37pemBs4kGyYC8qDT1tKaraoyWIRgQQEQIABgUC
-QnIkYgAKCRCgT/sbfcrp020CAKDuoLoaXrpX5waE86fRV3PrHDRxxQCdF0nTzpgS
-ZBtYyqKY39KMFIX+CrqIRgQQEQIABgUCQoiqHAAKCRAMy37+CzCpO/ixAJ4+Jeuq
-aLmLwWXdvla3M9EO1QjvYQCfVtnYoy0wc4OWbtK2WzynjhRNde2IRgQQEQIABgUC
-QpnnGgAKCRCH2lwNJzWaUcMqAJ9Wk1v10JfnvVxFrf1BV8i+w9OpuACeP5ZoC6Vi
-vXlwfT96OsyXrD6vuR6IRgQQEQIABgUCQwMO/gAKCRCNe42EaOyDlBAWAJ9VYmvb
-OiduYq39vCqu/LNX85/sZACZAY+aIRnbrGR15SVFm62JHoB8T9iIRgQQEQIABgUC
-Q6VuGQAKCRC9I1l/mlC1/gtPAJwLdv2D/ex805/V2ahHbun+eYV3mACaAtCQkOKV
-S5ThfyfaFIIbThyr+nCIRgQQEQIABgUCRDkpXAAKCRB0bJ/+pXPxD5phAKCbRXHJ
-/d3EWDj7qSgLYpvsVAJEOwCfaZD2Xy2kzFQdP+HUnn3OwAeJ1dSIcwQQEQIAMwUC
-Qm0ADgWDAeEzgCYaaHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0x
-MAAKCRDSuw0BZdD9WJi7AJ0aQqClPgeROgqq62AnUuqh67VIkwCfd8LrDAtnYBsj
-+BsTHvCnRKrcyhiIRgQSEQIABgUCQm0RtgAKCRCS3CNwLtJIEjgjAJ4hi6LVd9VS
-FLl8h/5g4hFRw80hUACgpSRiW4/ERFsf386mBs0bIn8PCciIRgQSEQIABgUCQoqR
-1wAKCRAiGMgejnwD/9i/AJ9exHLfgknKMURry/damhIzFao7WgCfaDgyQRjUoojN
-cBHsRzz8bIM/g+CInAQTAQIABgUCQosaAgAKCRAff6kIA1j8vc2kBACkXmPTkesu
-WmQ8WlphgMqqg1XmMEZqFfev/gZZ5iYQ3IJ7ggqedc7MROd7Tn57DtGohiqlKdrp
-etmc9KrUb0PMWXDMJ/L84wE4Rb2H/Z9mAuNY/n0IoMA/Z0Tx8IHrnE3DBtENl9BB
-KE78ZwUfW3N+ev4dduDsGfm4w/NkSlKazIhGBBMRAgAGBQJCcXvmAAoJEI1JTTTH
-Dr1QY1YAoLYf8h33mnENvmfO8+L9GiJpWuBnAJ4oJdYoNVlY7xblXAXtAWr0JL1S
-BYhGBBMRAgAGBQJCdijbAAoJELXIbIQxfSjWyxUAn1t0NBAvclSBfPY5nC85auTM
-2IHGAJ4/XWbiqS1PAXeQ04hYuDli1oqSWohGBBMRAgAGBQJDqBuaAAoJEKSqs7TA
-lTWxmWEAnj1z+DapdZtRFzR93ksOkuV4h8kTAJwP3cVV5lYWQUGVMQbea2BIf/jv
-z4hfBBMRAgAfBQJCbPdFAhsDBwsJCAcDAgEDFQIDAxYCAQIeAQIXgAAKCRAmpHxq
-/m2FD/gRAKC+z4vclxbUBtadk3nVEZmWkthG6gCgmvLc5nIjaMWpQSYythSaAcBb
-LKiIYAQTEQIAIAIbAwIeAQIXgAUCQ6f7MAYLCQgHAwIEFQIIAwQWAgMBAAoJECak
-fGr+bYUP4gwAn2fMeUqcVwZwvtRqnIEPlw9I6CSzAJ0f2in+KxQSuwNo1YBd2UT5
-RT2gkoicBBMBAgAGBQJDpajtAAoJEFViUQuqeigOhbgD/jwtx+EV385xk/fdQliH
-fp4dX2TViwKRASSvBhAr/4UdJCGYu/LCfzkduQg3Di0d5ueMI13NqE+QMGhRSuW9
-l/ANR2qE/dCW3PZFWBJdMoG9l80ACuOSOxx6EDHJZrywCivVp5lIwTG1dacHh5Og
-eQkuO3UjvJ6cFR4bZoahZ343iEYEEBECAAYFAkSu38wACgkQRjQjk2P2DCwMIQCf
-emqfBpXYe7pONtMKyyoY3mZUvWoAn09wtyYziFiVlOsAZB73wlfiRdEciEYEEBEC
-AAYFAkStJ8QACgkQ32vf+TG6PzrQtgCgk6LeXX+085udsDUtN+gwoE8r+IIAnR7k
-w0tXFS8TpGRync5Wsg12CptSiEYEEBECAAYFAkSw7DcACgkQWTKZQqEedOx+XgCe
-NT9NHtZudylYbEymKXET/Mta28EAniv71H9DBWK5BdkkkNT2IWN5dcMQiEYEEBEC
-AAYFAkSxRlcACgkQlMPLZNJtGLx1vgCeNU604WQJlA/TaSH79dPBbRDx8CEAn09p
-urvt1UOsoFd9kHsOh36jyL5niEYEEBECAAYFAkSw5rsACgkQzyik/zPUtsZLjACf
-TFw6lnGNT/kPXsXx31KI8ff2kjAAoNFBEpY4Y0R1dQFDFdBp3DebJd2FiEYEEhEC
-AAYFAkSs5iQACgkQd5FD2Z8azpwF2wCeLLO2OHrAhFXznJYkRx3Ga8P5u74AnRsd
-oiTEahiexlo93SOZRM/eC1dMiEYEEBECAAYFAkSxOFYACgkQ8c8VCAnJeVr24QCd
-GeG2zQpCGyOGvAJM7b+mAnksycQAoJffqvhKwGPSYsQYhZkwWnghoBdpiEYEEBEC
-AAYFAkSyPQ0ACgkQbDHHs2kEdVIDTACeP+HVMA5ZqpvU7vq7vbTpR056ydEAn1kR
-F388sbun8NmiTapQ35QYAR5niEYEEBECAAYFAkSz544ACgkQRTxFSQIw1gIBEQCf
-dF/CpcdY4bL7lva5UaNFo81gNJAAoIkZtXKiIY/OGl6t8zn9/r47S7MQiEYEExEC
-AAYFAkS3j9YACgkQNE22OINSnCoFcgCggZ9dGPfpD0EtVKdhujFBIpqGtYoAn3RZ
-f/8WScZOdN2Q9V5ug0FVrAnQiGQEMBECACQFAkXMXpIdHSBJU1AgZG9lcyBub3Qg
-ZXhpc3QgYW55IG1vcmUACgkQJqR8av5thQ+HiACfSj/2igKujqCY3/5dgXZiIdAj
-smoAniz+OverdxAmzIR1RkSCAk15zmEEtCtNYXRoaWV1IEFybm9sZCA8bWF0aGll
-dS5hcm5vbGRAdC1vbmxpbmUuZnI+iEYEEBECAAYFAkJs+aQACgkQqYYpzGz/vmeb
-3gCdGw8eQjbSFxpCn6PJQN77PtGN2BIAoJvcTv3Z02B3OpWwGQNX4W2fHqeOiEYE
-EBECAAYFAkJyJGIACgkQoE/7G33K6dPXqgCgkPH6rXMsInhb0XVJ0JDPeccXZr4A
-n0pVNyceImW0CYbuoeSc7sCxAo4hiEYEEBECAAYFAkKIqhwACgkQDMt+/gswqTus
-eACbBlJkdNQOKkhyjGQa8iTkS0As0pQAnjdql3cAqCn2w6EPlSK5QvbUHZMWiEYE
-EBECAAYFAkKZ5xoACgkQh9pcDSc1mlFy0wCfb98Iqu4f8/pdlco5IdGx6FGEkB4A
-n1ldaOcrJZhcTpZWhnfavU6Hu8+xiEYEEBECAAYFAkMDDv4ACgkQjXuNhGjsg5QZ
-nACfc+DBF8F6kDF8rxuxkClzHCspE8sAoIFOg4WRtzyMXKcoh5LZwLlOkrLliEYE
-EBECAAYFAkOlbhkACgkQvSNZf5pQtf7FgQCgmlYxMrfkfV7xaysUgj4qs6qXXGoA
-n2q7nMNle0D6hwMIPge/pNBNImJjiEYEEBECAAYFAkQ5KVwACgkQdGyf/qVz8Q+d
-mACffJbZDYvwJLXUDCw4mgtL2vlqHEEAoJ5Xb3VR3HckiSod3oh/XAZEACjgiHME
-EBECADMFAkJtAA4FgwHhM4AmGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9pbmRleC5w
-aHA/aWQ9MTAACgkQ0rsNAWXQ/Vg6zQCeNBsTRdIF6CQsLk03AZKsaF3kS4gAn1lO
-kbM542r0gca3RieVcbE1b5eaiEYEEhECAAYFAkJtEbYACgkQktwjcC7SSBJ1PQCg
-nSByb5tOv8j0RyyDZy4uPOSMY1EAn16z7t9/gDqEk2oy0NRQKVGxbuTgiEYEEhEC
-AAYFAkKKkdcACgkQIhjIHo58A/9IcACeNxBQTO/HIjcAZuNvjkV2z11xDAsAnRGH
-5CggYGwKftlm2JNUxnGTQnBSiJwEEwECAAYFAkKLGgMACgkQH3+pCANY/L2hJwP9
-GKPczI3zkokkuODjmL+wZyF9eOMacRHkQjEYRmY99Sf+UphCdTdNVps1W3XSYiMM
-6Xs7C3tNlyobVwmraECt5POexo6b0yeQafTwKgPqFOGeymNrfHxL0orJ1ATOjLSm
-KU3cBPP0ReWt7fKvPHHvs8+drjTAteDOCrR5Ugmuit2IRgQTEQIABgUCQnF75gAK
-CRCNSU00xw69UMF4AJ9Ox8L+aM97fKHcnwh1/Ne3Ca1A7QCdGsBi9zo1eCzgrT0G
-LhP3xsFIObmIRgQTEQIABgUCQnYo2wAKCRC1yGyEMX0o1ihVAKC43u9KWCGWdAkR
-f43eOPnRm1MrtwCeKvvXMyGZfxaYwK391I4ztiZbrvOIRgQTEQIABgUCQ6gbmgAK
-CRCkqrO0wJU1scceAKCaFE83vDirMo3eaE4WvoQlek9daQCggu+UIoR0z0CrGBX5
-Fk5N/W/7u8iIXwQTEQIAHwUCQmz3bAIbAwcLCQgHAwIBAxUCAwMWAgECHgECF4AA
-CgkQJqR8av5thQ9vnwCdGHYpFtCdxp4iVPSL/oCsbk7yryQAn1atFWAL0Eav9rUy
-M/jJCRGh1GajiGAEExECACACGwMCHgECF4AFAkOn+zAGCwkIBwMCBBUCCAMEFgID
-AQAKCRAmpHxq/m2FD71MAKDYqDTJTNpCUXCnfxREG88g8o5lugCeIlPJ4b9f8kaV
-JOA2qJGYb3VSoFOInAQTAQIABgUCQ6Wo7QAKCRBVYlELqnooDhwQBACxTupc3ke1
-BoADXRzUxXsc2Jzt15U8uCAdYUJFiMJgfgRUqh0PuZ8SZm0uFQdKM9P6A8Esk1WX
-aHrbefPVXpJhwdeD8GS2LrQQaSLqOLe9R1YzerU8phUE0TKFUJkcQsdw8Yd/GP9C
-DlTDd1PARYfl1xuGybDbjGDQKtHHa7IoHohGBBARAgAGBQJErt/MAAoJEEY0I5Nj
-9gwsIPcAnRuauCNkuWfLisSWtNEcfK3s5nynAJ0eZ5MnAJuxb8p3eW485Uwu0Ble
-GohGBBARAgAGBQJEsUZXAAoJEJTDy2TSbRi8avoAoPFx4qtJP7nvgpYB2n9W6tC6
-rAixAKDWWTx4A86IzY9gR/VLhc/5WqCaR4hGBBARAgAGBQJEsOa7AAoJEM8opP8z
-1LbGXYQAnjo/N+oNXHRQygu1CIjBKwsGf7SkAJ9J4Cq+wVC82DXPp5AxTBaahg00
-u4hGBBIRAgAGBQJErOYmAAoJEHeRQ9mfGs6cjukAoMdqiaqtlE0uUXVnroQd6pg1
-HJ34AJ45jdlLHGLYEmbNxvSQ2e7yzqe4gohGBBARAgAGBQJEsThWAAoJEPHPFQgJ
-yXla8gIAoI9FRVDVJK2RkBDUS/R1DmZ3ZMJ4AKDPFBtzZrofyVGntnzi45zzZu4v
-14hGBBARAgAGBQJEsj0NAAoJEGwxx7NpBHVSFh0An2v81CSoE6501Lmj4VTWUZm9
-TJsvAJ9zBk76w+Jan1XveclgaIYeCmoTfIhGBBARAgAGBQJEs+eOAAoJEEU8RUkC
-MNYCSHoAoJON/H1AEPSEAvJJegdVSbHdl3tGAJ9U5cKG8rti9tk4TWBjNSdSq+rw
-aIhGBBARAgAGBQJEsOw3AAoJEFkymUKhHnTss3EAnR2K1wF4eMkABWhjTpELqky0
-FAAXAKDcUF88mZ5AsmqYACNMb4MCS4JDxYhGBBMRAgAGBQJEt4/kAAoJEDRNtjiD
-UpwqGCoAoKLpCy62tlx1+DZeaVkHSXu/659UAKCx27DWy+M+FjlaMTrRbZywOHkP
-24hWBDARAgAWBQJFzF57Dx0gTGVmdCB0aGF0IGpvYgAKCRAmpHxq/m2FD5IAAKCJ
-JTUVHsiyFCL5vaQM0iJdxGfQJwCg6U3ms82fMWec+dUePM7eTaVB/fa0JU1hdGhp
-ZXUgQXJub2xkIDxtYXRAY2x1Yi1pbnRlcm5ldC5mcj6IegQTEQIAOgIbAwYLCQgH
-AwIEFQIIAwQWAgMBAh4BAheABQJGSd0zGRhoa3A6Ly93d3drZXlzLmV1LnBncC5u
-ZXQACgkQJqR8av5thQ8Y+wCg42FZmm6rQFzbwVy5t9f9SFkLTr8An2Yg9LSIXMnY
-LdazHhbfXmsK760ZiEYEEhECAAYFAkXZrVsACgkQ1eTOPM/5+wt6MwCfWA4sZbaj
-GgwH3ot0nqklS+D7WeAAniOHV1AgRErMe5jQzF8vrRs/L4TfiGsEEBECACsFAkYL
-jsMFgwHihQAeGmh0dHA6Ly93d3cuY2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl
-0P1YGFcAn1C4XpMp5EQufwPD67C2XgS4P7EyAJ9zKKT69jixkzthNZfSlNjeaTDf
-D4hgBBMRAgAgBQJFzF+yAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQJqR8
-av5thQ9ofgCg5+jjtmG+bAjwjXvNtgM8N2pFAOQAoIZgLSFRaN//ahkyMiNZAax/
-yd2biHoEExECADoCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCRfqi8RkYaGtw
-Oi8vd3d3a2V5cy5ldS5wZ3AubmV0AAoJECakfGr+bYUP4lIAn2/wDtGoJm7Yxb/v
-FDnOBKPmt0+lAJ9MMDP8jSzD0NTXD/InlAoOd7C/FLQiTWF0aGlldSBBcm5vbGQg
-PG1hcm5vbGRAYXByaWwub3JnPoh6BBMRAgA6AhsDBgsJCAcDAgQVAggDBBYCAwEC
-HgECF4AFAkZJ3TMZGGhrcDovL3d3d2tleXMuZXUucGdwLm5ldAAKCRAmpHxq/m2F
-D9phAKCGAUL9wta0YiysQoCJwcag/us7IQCeJnkKQxslHXozayQEbCeCqbjZFb6I
-awQQEQIAKwUCRguOwwWDAeKFAB4aaHR0cDovL3d3dy5jYWNlcnQub3JnL2Nwcy5w
-aHAACgkQ0rsNAWXQ/VjJ1gCfdRgZSGhsTMjzuljcqwMQ3kVDCjIAn3mZdhGEWIRM
-xbCLCuUANeuGpGHciGAEExECACAFAkXY47ACGwMGCwkIBwMCBBUCCAMEFgIDAQIe
-AQIXgAAKCRAmpHxq/m2FD3mFAKD0lCha/IHk098f6DgHMFYtI/VAIQCdHvgVQ36Q
-YXZtwXa1khlVgLEYbOOIegQTEQIAOgIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheA
-BQJF+qLxGRhoa3A6Ly93d3drZXlzLmV1LnBncC5uZXQACgkQJqR8av5thQ8spgCg
-vWBMjXSV3D8gyfwr8y9y2yU17iEAoPOmxhAfO4jCu+8U/3gGQWScKee7tB5NYXRo
-aWV1IEFybm9sZCA8cGF5cGFsQG1hdC5jYz6IegQTEQIAOgIbAwYLCQgHAwIEFQII
-AwQWAgMBAh4BAheABQJGSd0zGRhoa3A6Ly93d3drZXlzLmV1LnBncC5uZXQACgkQ
-JqR8av5thQ+V9QCg7MTUBoxGLoB2Uk3wmhxCWWp5F5oAoKTE65leYuwM6MyDwDUA
-2ja6hiMBiGAEExECACAFAkZJ3NgCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAK
-CRAmpHxq/m2FD9ZIAKDViBlYTpOxw3GVl86Y1SYOngPubACgkkA/QrUfQ5vnffwG
-AThakLLO0R25Ag0EQmz2URAIAMd0clI1gYopRRg1DlUYfHDActVaDNo0kY7p1Lrg
-Ib7P/HRcQ5vR2BC/DIfqBWrbzOJGG5jXFXcka+1ZRs2vbv778jHcixXSXaP28ej+
-XxH3bERqJvWulRrFKYM8mEkG3SVNIMAfZeeUGlUX+Msyx6EVoJ9z8sVPa/p6ts9U
-vVeBhYq9FAnW3szvuGENHUUqS96nA4php5QPwfsnMknMQd9rNjZsIbANzW6wLmIR
-Jw9chZmEawYCi78umAEpTK7cVHaLfolaJHi2BR3gYvUcszEmF3CFi6DZtMr0s1bt
-GH0frLXnrmgpq8zVvgF5TRrLjNC0CKe8Yn1C5pvTDXVXHbMAAwUIALQpboqByzh1
-lEUNx6Q9OaVbfRtzv52YWqBJp0tdSBGAEGEL1sgurd//BiqERzLhnGptxSnHKdsP
-3ZtOY9K3YmdRCWhyVZtt1nPEzomkOn/t2UBtIbrVcM6geVS+dsfwTgiiXReSuu2k
-uot4Nk04KHSetDtxfm15933jJaHroQZeQKhYimlR1EuPzciPus40PzlSIHBsNoFK
-z6qvgz3Puf3nnmafOdskh4aV7ogTIjvlnBYra7wuLcIpSLC7BQXuc69JVqP+5cG3
-3hmj5Ool4Mfh5AIYb0Lj9D0yyJqo1UyCqbPeWo1lzj5xaspclMiCzoE77Hqd4LI0
-54VOXzsXVYKISQQYEQIACQUCQmz2UQIbDAAKCRAmpHxq/m2FDy8qAKDsXVlB5MDt
-ydMjrsBH+qwhoiGI8wCfdTd4ZU99kETGpnFIfO7mDHd1VEE=
-=vtoU
+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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-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/matthew.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/matthew.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/matthew.key (revision 42804)
@@ -1,142 +1,81 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh matthew 60AE908C;
+sh addkey.sh matthew 036F6C9EE7F39EBF ;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 1024D/60AE908C 2005-12-17 [expires: 2012-03-21]
- Key fingerprint = B555 2A96 274E D248 5734 0EB4 F0C8 E4E7 60AE 908C
-uid Matthew Seaman <m.seaman@infracaninophile.co.uk>
-uid Matthew Seaman <m.seaman@black-earth.co.uk>
-uid Matthew Seaman <matthew@freebsd.org>
-sub 2048g/58BFDA29 2005-12-17 [expires: 2012-03-21]
-sub 1024D/9B19F956 2006-12-18 [expires: 2012-03-21]
+pub 4096R/036F6C9EE7F39EBF 2013-09-29 [expires: 2014-09-29]
+ Key fingerprint = 72CF AC21 79BC B024 B5B5 4590 036F 6C9E E7F3 9EBF
+uid Matthew Seaman <matthew@freebsd.org>
+uid Matthew Seaman <m.seaman@infracaninophile.co.uk>
+sub 4096R/5D0DFEAF7BFB01B4 2013-09-29 [expires: 2014-09-29]
+
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
-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
-sg4yrGkH4IXKBB8csDYR5w==
-=IPI8
+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
+E/XX4thlg5b5JYTzmTsytw==
+=ouo6
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/pgollucci.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/pgollucci.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/pgollucci.key (revision 42804)
@@ -1,54 +1,144 @@
<!-- $FreeBSD$ -->
<!--
-sh /home/pgollucci/addkey.sh pgollucci DB9B8C1C;
+sh addkey.sh pgollucci D21D2752;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 1024D/DB9B8C1C 2008-04-15
- Key fingerprint = B90B FBC3 A3A1 C71A 8E70 3F8C 75B8 8FFB DB9B 8C1C
+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 (Riderway Inc.) <pgollucci@riderway.com>
-uid Philip M. Gollucci <pgollucci@p6m7g8.com>
-uid Philip M. Gollucci (ASF) <pgollucci@apache.org>
-sub 2048g/73943732 2008-04-15
+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
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
+Comment: GPGTools - http://gpgtools.org
-mQGiBEgER9QRBADEnqKDo2SQwM99dEQW6sEoFafQm592R98bDFZC1CqmBhZaj9nG
-ksxyX82s/PaOoosKZR3hsMcDOJgYkHfTKIMU6aDVMrONfsgLF4V6meTaBHW5uSOI
-cJBsW/TSTsOq21yrp6995jSTsHZxV0CpFDZWGCowefxvbRoAz/89pUBxYwCglOYk
-btty+eanC+la8LUuLn1na1kEAI9wXI6wRbc4Qv4dppmNwiBsu0aDW2bOe6TNU5nj
-MMU5dMQkQ+FkHBFNyF3Fy5Uvm5zhGhlPKRTW9nOmLzZQBf9kj1G2giq5MN3fs4jg
-k15/93Jm3TnyV8LZxP4cBU42HhuL3b6rzFFNVgDLw4PJuSqjt/JTNhNtCwYW+nqS
-g08zBAC0FuxTJzna5X8Y2o5o+J2yU0kIB+y+fmGeaN5zg4VsM64Nexhc2X3HJbXd
-31hPqySdBl6DQP/I9U00S/C2Qb6MVwTDYR2DBltoeqoHOJKGLvqB5N01DAVg8kAK
-31PpMdFhkfZwM2ZsHfoGbnEB2fMd4Fb/+DwbjrckwdG1w8P2t7Q7UGhpbGlwIE0u
-IEdvbGx1Y2NpIChSaWRlcndheSBJbmMuKSA8cGdvbGx1Y2NpQHJpZGVyd2F5LmNv
-bT6IYAQTEQIAIAUCSARRtAIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEHW4
-j/vbm4wcSz8Anj92jZBlcifpDwdiUvTZdGO28CjQAKCT4jeiJcLCbhnXaXonBCzw
-DRw5s7QpUGhpbGlwIE0uIEdvbGx1Y2NpIDxwZ29sbHVjY2lAcDZtN2c4LmNvbT6I
-YAQTEQIAIAUCSARH1AIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEHW4j/vb
-m4wcM20An10tzTX41D6qcEjOBqMzwyydrYoyAJ0Qs9fj/ct7iDCphvNwCcjNGMlx
-ZrQvUGhpbGlwIE0uIEdvbGx1Y2NpIChBU0YpIDxwZ29sbHVjY2lAYXBhY2hlLm9y
-Zz6IYAQTEQIAIAUCSARRmwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEHW4
-j/vbm4wchSkAn2DyHStIDMIXwKH8LAgut1wpf4sgAJwNKynACF0+sok5YupxxZkm
-QFJsNbQ/UGhpbGlwIE0uIEdvbGx1Y2NpIChGcmVlQlNEIEZvdW5kYXRpb24pIDxw
-Z29sbHVjY2lAZnJlZWJzZC5vcmc+iGAEExECACAFAkiGRaMCGwMGCwkIBwMCBBUC
-CAMEFgIDAQIeAQIXgAAKCRB1uI/725uMHK3IAJ9n6VjOWpymuzHE7xN/xlJu2j5l
-uACeIqegqdXAaqRS4+olfTDN/nvoYWe5Ag0ESARH1BAIAJGalt0PcCClgFjAWdKr
-2+wNm8CrgW8cm62p1KZ9rxTHqpDEQopa8Y2G86pKDmhjJQmPmepcZx2ZhnBc0UVj
-qBA9bEDnVJU/ysuxjYrjswYNP+5ZemUsk5IZgnZOLQod6ewWtcdZ7EPJYOfKNAvo
-1TMNFZqA6CLKUgjPpokRdolseRkyuS5q5XM4InraptSvv6G6SXRiDBwChbwfbJG/
-82ClmnuInhDzmc4gg5flrU6RprLu/PPx8SSIRkVHNZdPL3cF5pocETruqdkcb8yD
-aC4kIIqsn1XeBYLXS5lYbZBexR0i4i0xkjXnErrGu2lgGm65RwF+hvRsDC7RIC0c
-9hMAAwUH/0UY8w+pGeGMgZJHiLSoaK6pTXv1/ega4na1vGglnBeGXB2Cj6jKgv3j
-6a9XLRtaw5owhTLAX0uWt1XOw8ojm+vgVBvXJO7ljUI99/Zov5IQRZfy4TN8dOY4
-1TNgGiwaUU/rh+MIQy5hFCQPGRjIUKIkOGEBKOaZEkTV6Hr9rFCokpcTILF73JB+
-hI2EHwnXzpFKmzB1zwbNvtv4QiyozROvc558n13WP8OdmdGNv0jNcytqEIaB+PZM
-wMcLMjikPHKUxfHcdmwCezpIBKG2T/5xgzTCMxQ0UbfIYLnsOfJrCm+akw2VbQ+R
-TdP5dVLKITdFUk3nydirHpN5JYkH31WISQQYEQIACQUCSARH1AIbDAAKCRB1uI/7
-25uMHPq4AKCSdNolzpw8MfWfj4LU2ZVlbflHHQCfWUK39VTu4mNu5nPmuM6gmewD
-rNE=
-=SgIy
+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
+=UTgF
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/pgpkeys-developers.xml
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/pgpkeys-developers.xml (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/pgpkeys-developers.xml (revision 42804)
@@ -1,2007 +1,2022 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<sect2 id="pgpkey-ariff">
<title>&a.ariff.email;</title>
&pgpkey.ariff;
</sect2>
<sect2 id="pgpkey-tabthorpe">
<title>&a.tabthorpe.email;</title>
&pgpkey.tabthorpe;
</sect2>
<sect2 id="pgpkey-eadler">
<title>&a.eadler.email;</title>
&pgpkey.eadler;
</sect2>
<sect2 id="pgpkey-shaun">
<title>&a.shaun.email;</title>
&pgpkey.shaun;
</sect2>
<sect2 id="pgpkey-brix">
<title>&a.brix.email;</title>
&pgpkey.brix;
</sect2>
<sect2 id="pgpkey-mandree">
<title>&a.mandree.email;</title>
&pgpkey.mandree;
</sect2>
<sect2 id="pgpkey-will">
<title>&a.will.email;</title>
&pgpkey.will;
</sect2>
<sect2 id="pgpkey-dim">
<title>&a.dim.email;</title>
&pgpkey.dim;
</sect2>
<sect2 id="pgpkey-anholt">
<title>&a.anholt.email;</title>
&pgpkey.anholt;
</sect2>
<sect2 id="pgpkey-mva">
<title>&a.mva.email;</title>
&pgpkey.mva;
</sect2>
<sect2 id="pgpkey-araujo">
<title>&a.araujo.email;</title>
&pgpkey.araujo;
</sect2>
<sect2 id="pgpkey-mat">
<title>&a.mat.email;</title>
&pgpkey.mat;
</sect2>
<sect2 id="pgpkey-syuu">
<title>&a.syuu.email;</title>
&pgpkey.syuu;
</sect2>
<sect2 id="pgpkey-asami">
<title>&a.asami.email;</title>
&pgpkey.asami;
</sect2>
<sect2 id="pgpkey-gavin">
<title>&a.gavin.email;</title>
&pgpkey.gavin;
</sect2>
<sect2 id="pgpkey-jsa">
<title>&a.jsa.email;</title>
&pgpkey.jsa;
</sect2>
<sect2 id="pgpkey-jadawin">
<title>&a.jadawin.email;</title>
&pgpkey.jadawin;
</sect2>
<sect2 id="pgpkey-timur">
<title>&a.timur.email;</title>
&pgpkey.timur;
</sect2>
<sect2 id="pgpkey-gjb">
<title>&a.gjb.email;</title>
&pgpkey.gjb;
</sect2>
<sect2 id="pgpkey-snb">
<title>&a.snb.email;</title>
&pgpkey.snb;
</sect2>
<sect2 id="pgpkey-barner">
<title>&a.barner.email;</title>
&pgpkey.barner;
</sect2>
<sect2 id="pgpkey-art">
<title>&a.art.email;</title>
&pgpkey.art;
</sect2>
<sect2 id="pgpkey-tobez">
<title>&a.tobez.email;</title>
&pgpkey.tobez;
</sect2>
<sect2 id="pgpkey-damien">
<title>&a.damien.email;</title>
&pgpkey.damien;
</sect2>
<sect2 id="pgpkey-tdb">
<title>&a.tdb.email;</title>
&pgpkey.tdb;
</sect2>
<sect2 id="pgpkey-gblach">
<title>&a.gblach.email;</title>
&pgpkey.gblach;
</sect2>
<sect2 id="pgpkey-mbr">
<title>&a.mbr.email;</title>
&pgpkey.mbr;
</sect2>
<sect2 id="pgpkey-wblock">
<title>&a.wblock.email;</title>
&pgpkey.wblock;
</sect2>
<sect2 id="pgpkey-bvs">
<title>&a.bvs.email;</title>
&pgpkey.bvs;
</sect2>
+ <sect2 id="pgpkey-zbb">
+ <title>&a.zbb.email;</title>
+ &pgpkey.zbb;
+ </sect2>
+
<sect2 id="pgpkey-novel">
<title>&a.novel.email;</title>
&pgpkey.novel;
</sect2>
<sect2 id="pgpkey-garga">
<title>&a.garga.email;</title>
&pgpkey.garga;
</sect2>
<sect2 id="pgpkey-alexbl">
<title>&a.alexbl.email;</title>
&pgpkey.alexbl;
</sect2>
<sect2 id="pgpkey-sbz">
<title>&a.sbz.email;</title>
&pgpkey.sbz;
</sect2>
<sect2 id="pgpkey-ebrandi">
<title>&a.ebrandi.email;</title>
&pgpkey.ebrandi;
</sect2>
<sect2 id="pgpkey-harti">
<title>&a.harti.email;</title>
&pgpkey.harti;
</sect2>
<sect2 id="pgpkey-obraun">
<title>&a.obraun.email;</title>
&pgpkey.obraun;
</sect2>
<sect2 id="pgpkey-makc">
<title>&a.makc.email;</title>
&pgpkey.makc;
</sect2>
<sect2 id="pgpkey-jmb">
<title>&a.jmb.email;</title>
&pgpkey.jmb;
</sect2>
<sect2 id="pgpkey-antoine">
<title>&a.antoine.email;</title>
&pgpkey.antoine;
</sect2>
<sect2 id="pgpkey-db">
<title>&a.db.email;</title>
&pgpkey.db;
</sect2>
<sect2 id="pgpkey-brueffer">
<title>&a.brueffer.email;</title>
&pgpkey.brueffer;
</sect2>
<sect2 id="pgpkey-markus">
<title>&a.markus.email;</title>
&pgpkey.markus;
</sect2>
<sect2 id="pgpkey-sbruno">
<title>&a.sbruno.email;</title>
&pgpkey.sbruno;
</sect2>
+ <sect2 id="pgpkey-br">
+ <title>&a.br.email;</title>
+ &pgpkey.br;
+ </sect2>
+
<sect2 id="pgpkey-oleg">
<title>&a.oleg.email;</title>
&pgpkey.oleg;
</sect2>
<sect2 id="pgpkey-bushman">
<title>&a.bushman.email;</title>
&pgpkey.bushman;
</sect2>
<sect2 id="pgpkey-jchandra">
<title>&a.jchandra.email;</title>
&pgpkey.jchandra;
</sect2>
<sect2 id="pgpkey-jcamou">
<title>&a.jcamou.email;</title>
&pgpkey.jcamou;
</sect2>
<sect2 id="pgpkey-acm">
<title>&a.acm.email;</title>
&pgpkey.acm;
</sect2>
<sect2 id="pgpkey-gahr">
<title>&a.gahr.email;</title>
&pgpkey.gahr;
</sect2>
<!--
<sect2 id="pgpkey-koitsu">
<title>&a.koitsu.email;</title>
&pgpkey.koitsu;
</sect2>
-->
<sect2 id="pgpkey-dchagin">
<title>&a.dchagin.email;</title>
&pgpkey.dchagin;
</sect2>
<sect2 id="pgpkey-perky">
<title>&a.perky.email;</title>
&pgpkey.perky;
</sect2>
<sect2 id="pgpkey-jon">
<title>&a.jon.email;</title>
&pgpkey.jon;
</sect2>
<sect2 id="pgpkey-jonathan">
<title>&a.jonathan.email;</title>
&pgpkey.jonathan;
</sect2>
<sect2 id="pgpkey-loader">
<title>&a.loader.email;</title>
&pgpkey.loader;
</sect2>
<sect2 id="pgpkey-luoqi">
<title>&a.luoqi.email;</title>
&pgpkey.luoqi;
</sect2>
<sect2 id="pgpkey-ache">
<title>&a.ache.email;</title>
&pgpkey.ache;
</sect2>
<sect2 id="pgpkey-melifaro">
<title>&a.melifaro.email;</title>
&pgpkey.melifaro;
</sect2>
<sect2 id="pgpkey-seanc">
<title>&a.seanc.email;</title>
&pgpkey.seanc;
</sect2>
<sect2 id="pgpkey-cjh">
<title>&a.cjh.email;</title>
&pgpkey.cjh;
</sect2>
<sect2 id="pgpkey-cjc">
<title>&a.cjc.email;</title>
&pgpkey.cjc;
</sect2>
<sect2 id="pgpkey-marcus">
<title>&a.marcus.email;</title>
&pgpkey.marcus;
</sect2>
<sect2 id="pgpkey-nik">
<title>&a.nik.email;</title>
&pgpkey.nik;
</sect2>
<sect2 id="pgpkey-benjsc">
<title>&a.benjsc.email;</title>
&pgpkey.benjsc;
</sect2>
<sect2 id="pgpkey-tijl">
<title>&a.tijl.email;</title>
&pgpkey.tijl;
</sect2>
<sect2 id="pgpkey-rakuco">
<title>&a.rakuco.email;</title>
&pgpkey.rakuco;
</sect2>
<sect2 id="pgpkey-alc">
<title>&a.alc.email;</title>
&pgpkey.alc;
</sect2>
<sect2 id="pgpkey-brucec">
<title>&a.brucec.email;</title>
&pgpkey.brucec;
</sect2>
<sect2 id="pgpkey-culot">
<title>&a.culot.email;</title>
&pgpkey.culot;
</sect2>
<sect2 id="pgpkey-aaron">
<title>&a.aaron.email;</title>
&pgpkey.aaron;
</sect2>
<sect2 id="pgpkey-bapt">
<title>&a.bapt.email;</title>
&pgpkey.bapt;
</sect2>
<sect2 id="pgpkey-ceri">
<title>&a.ceri.email;</title>
&pgpkey.ceri;
</sect2>
<sect2 id="pgpkey-brd">
<title>&a.brd.email;</title>
&pgpkey.brd;
</sect2>
<sect2 id="pgpkey-pjd">
<title>&a.pjd.email;</title>
&pgpkey.pjd;
</sect2>
<sect2 id="pgpkey-bsd">
<title>&a.bsd.email;</title>
&pgpkey.bsd;
</sect2>
<sect2 id="pgpkey-carl">
<title>&a.carl.email;</title>
&pgpkey.carl;
</sect2>
<sect2 id="pgpkey-vd">
<title>&a.vd.email;</title>
&pgpkey.vd;
</sect2>
<sect2 id="pgpkey-rdivacky">
<title>&a.rdivacky.email;</title>
&pgpkey.rdivacky;
</sect2>
<sect2 id="pgpkey-danfe">
<title>&a.danfe.email;</title>
&pgpkey.danfe;
</sect2>
<sect2 id="pgpkey-dd">
<title>&a.dd.email;</title>
&pgpkey.dd;
</sect2>
<sect2 id="pgpkey-bdrewery">
<title>&a.bdrewery.email;</title>
&pgpkey.bdrewery;
</sect2>
<sect2 id="pgpkey-olivierd">
<title>&a.olivierd.email;</title>
&pgpkey.olivierd;
</sect2>
<sect2 id="pgpkey-bruno">
<title>&a.bruno.email;</title>
&pgpkey.bruno;
</sect2>
<sect2 id="pgpkey-ale">
<title>&a.ale.email;</title>
&pgpkey.ale;
</sect2>
<sect2 id="pgpkey-nemysis">
<title>&a.nemysis.email;</title>
&pgpkey.nemysis;
</sect2>
<sect2 id="pgpkey-peadar">
<title>&a.peadar.email;</title>
&pgpkey.peadar;
</sect2>
<sect2 id="pgpkey-deischen">
<title>&a.deischen.email;</title>
&pgpkey.deischen;
</sect2>
<sect2 id="pgpkey-josef">
<title>&a.josef.email;</title>
&pgpkey.josef;
</sect2>
<sect2 id="pgpkey-lme">
<title>&a.lme.email;</title>
&pgpkey.lme;
</sect2>
<sect2 id="pgpkey-ue">
<title>&a.ue.email;</title>
&pgpkey.ue;
</sect2>
<sect2 id="pgpkey-ru">
<title>&a.ru.email;</title>
&pgpkey.ru;
</sect2>
<sect2 id="pgpkey-le">
<title>&a.le.email;</title>
&pgpkey.le;
</sect2>
<sect2 id="pgpkey-bf">
<title>&a.bf.email;</title>
&pgpkey.bf;
</sect2>
<sect2 id="pgpkey-madpilot">
<title>&a.madpilot.email;</title>
&pgpkey.madpilot;
</sect2>
<sect2 id="pgpkey-rafan">
<title>&a.rafan.email;</title>
&pgpkey.rafan;
</sect2>
<sect2 id="pgpkey-stefanf">
<title>&a.stefanf.email;</title>
&pgpkey.stefanf;
</sect2>
<sect2 id="pgpkey-farrokhi">
<title>&a.farrokhi.email;</title>
&pgpkey.farrokhi;
</sect2>
<sect2 id="pgpkey-jedgar">
<title>&a.jedgar.email;</title>
&pgpkey.jedgar;
</sect2>
<sect2 id="pgpkey-feld">
<title>&a.feld.email;</title>
&pgpkey.feld;
</sect2>
<sect2 id="pgpkey-green">
<title>&a.green.email;</title>
&pgpkey.green;
</sect2>
<sect2 id="pgpkey-lioux">
<title>&a.lioux.email;</title>
&pgpkey.lioux;
</sect2>
<sect2 id="pgpkey-mdf">
<title>&a.mdf.email;</title>
&pgpkey.mdf;
</sect2>
<sect2 id="pgpkey-fanf">
<title>&a.fanf.email;</title>
&pgpkey.fanf;
</sect2>
<sect2 id="pgpkey-blackend">
<title>&a.blackend.email;</title>
&pgpkey.blackend;
</sect2>
<sect2 id="pgpkey-petef">
<title>&a.petef.email;</title>
&pgpkey.petef;
</sect2>
<sect2 id="pgpkey-decke">
<title>&a.decke.email;</title>
&pgpkey.decke;
</sect2>
<sect2 id="pgpkey-billf">
<title>&a.billf.email;</title>
&pgpkey.billf;
</sect2>
<sect2 id="pgpkey-avg">
<title>&a.avg.email;</title>
&pgpkey.avg;
</sect2>
<sect2 id="pgpkey-beat">
<title>&a.beat.email;</title>
&pgpkey.beat;
</sect2>
<sect2 id="pgpkey-danger">
<title>&a.danger.email;</title>
&pgpkey.danger;
</sect2>
<sect2 id="pgpkey-sjg">
<title>&a.sjg.email;</title>
&pgpkey.sjg;
</sect2>
<sect2 id="pgpkey-gibbs">
<title>&a.gibbs.email;</title>
&pgpkey.gibbs;
</sect2>
<sect2 id="pgpkey-pfg">
<title>&a.pfg.email;</title>
&pgpkey.pfg;
</sect2>
<sect2 id="pgpkey-girgen">
<title>&a.girgen.email;</title>
&pgpkey.girgen;
</sect2>
<sect2 id="pgpkey-pgollucci">
<title>&a.pgollucci.email;</title>
&pgpkey.pgollucci;
+ </sect2>
+
+ <sect2 id="pgpkey-danilo">
+ <title>&a.danilo.email;</title>
+ &pgpkey.danilo;
</sect2>
<sect2 id="pgpkey-daichi">
<title>&a.daichi.email;</title>
&pgpkey.daichi;
</sect2>
<sect2 id="pgpkey-mnag">
<title>&a.mnag.email;</title>
&pgpkey.mnag;
</sect2>
<sect2 id="pgpkey-grehan">
<title>&a.grehan.email;</title>
&pgpkey.grehan;
</sect2>
<sect2 id="pgpkey-jamie">
<title>&a.jamie.email;</title>
&pgpkey.jamie;
</sect2>
<sect2 id="pgpkey-wg">
<title>&a.wg.email;</title>
&pgpkey.wg;
</sect2>
<sect2 id="pgpkey-bar">
<title>&a.bar.email;</title>
&pgpkey.bar;
</sect2>
<sect2 id="pgpkey-jmg">
<title>&a.jmg.email;</title>
&pgpkey.jmg;
</sect2>
<sect2 id="pgpkey-mjg">
<title>&a.mjg.email;</title>
&pgpkey.mjg;
</sect2>
<sect2 id="pgpkey-jhale">
<title>&a.jhale.email;</title>
&pgpkey.jhale;
</sect2>
<sect2 id="pgpkey-dannyboy">
<title>&a.dannyboy.email;</title>
&pgpkey.dannyboy;
</sect2>
<sect2 id="pgpkey-dhartmei">
<title>&a.dhartmei.email;</title>
&pgpkey.dhartmei;
</sect2>
<sect2 id="pgpkey-ohauer">
<title>&a.ohauer.email;</title>
&pgpkey.ohauer;
</sect2>
<sect2 id="pgpkey-ehaupt">
<title>&a.ehaupt.email;</title>
&pgpkey.ehaupt;
</sect2>
<sect2 id="pgpkey-jhay">
<title>&a.jhay.email;</title>
&pgpkey.jhay;
</sect2>
<sect2 id="pgpkey-sheldonh">
<title>&a.sheldonh.email;</title>
&pgpkey.sheldonh;
</sect2>
<sect2 id="pgpkey-mikeh">
<title>&a.mikeh.email;</title>
&pgpkey.mikeh;
</sect2>
<sect2 id="pgpkey-mheinen">
<title>&a.mheinen.email;</title>
&pgpkey.mheinen;
</sect2>
<sect2 id="pgpkey-niels">
<title>&a.niels.email;</title>
&pgpkey.niels;
</sect2>
<sect2 id="pgpkey-jh">
<title>&a.jh.email;</title>
&pgpkey.jh;
</sect2>
<sect2 id="pgpkey-jgh">
<title>&a.jgh.email;</title>
&pgpkey.jgh;
</sect2>
<sect2 id="pgpkey-ghelmer">
<title>&a.ghelmer.email;</title>
&pgpkey.ghelmer;
</sect2>
<sect2 id="pgpkey-mux">
<title>&a.mux.email;</title>
&pgpkey.mux;
</sect2>
<sect2 id="pgpkey-wen">
<title>&a.wen.email;</title>
&pgpkey.wen;
</sect2>
<sect2 id="pgpkey-dhn">
<title>&a.dhn.email;</title>
&pgpkey.dhn;
</sect2>
<sect2 id="pgpkey-jhibbits">
<title>&a.jhibbits.email;</title>
&pgpkey.jhibbits;
</sect2>
<sect2 id="pgpkey-pho">
<title>&a.pho.email;</title>
&pgpkey.pho;
</sect2>
<sect2 id="pgpkey-mich">
<title>&a.mich.email;</title>
&pgpkey.mich;
</sect2>
<sect2 id="pgpkey-sunpoet">
<title>&a.sunpoet.email;</title>
&pgpkey.sunpoet;
</sect2>
<sect2 id="pgpkey-lwhsu">
<title>&a.lwhsu.email;</title>
&pgpkey.lwhsu;
</sect2>
<sect2 id="pgpkey-foxfair">
<title>&a.foxfair.email;</title>
&pgpkey.foxfair;
</sect2>
<sect2 id="pgpkey-chinsan">
<title>&a.chinsan.email;</title>
&pgpkey.chinsan;
</sect2>
<sect2 id="pgpkey-davide">
<title>&a.davide.email;</title>
&pgpkey.davide;
</sect2>
<sect2 id="pgpkey-jkh">
<title>&a.jkh.email;</title>
&pgpkey.jkh;
</sect2>
<sect2 id="pgpkey-versus">
<title>&a.versus.email;</title>
&pgpkey.versus;
</sect2>
<sect2 id="pgpkey-weongyo">
<title>&a.weongyo.email;</title>
&pgpkey.weongyo;
</sect2>
<sect2 id="pgpkey-peterj">
<title>&a.peterj.email;</title>
&pgpkey.peterj;
</sect2>
<sect2 id="pgpkey-jinmei">
<title>&a.jinmei.email;</title>
&pgpkey.jinmei;
</sect2>
<sect2 id="pgpkey-ahze">
<title>&a.ahze.email;</title>
&pgpkey.ahze;
</sect2>
<sect2 id="pgpkey-markj">
<title>&a.markj.email;</title>
&pgpkey.markj;
</sect2>
<sect2 id="pgpkey-trevor">
<title>&a.trevor.email;</title>
&pgpkey.trevor;
</sect2>
<sect2 id="pgpkey-tj">
<title>&a.tj.email;</title>
&pgpkey.tj;
</sect2>
<sect2 id="pgpkey-kan">
<title>&a.kan.email;</title>
&pgpkey.kan;
</sect2>
<sect2 id="pgpkey-bjk">
<title>&a.bjk.email;</title>
&pgpkey.bjk;
</sect2>
<sect2 id="pgpkey-phk">
<title>&a.phk.email;</title>
&pgpkey.phk;
</sect2>
<sect2 id="pgpkey-pluknet">
<title>&a.pluknet.email;</title>
&pgpkey.pluknet;
</sect2>
<sect2 id="pgpkey-cokane">
<title>&a.cokane.email;</title>
&pgpkey.cokane;
</sect2>
<sect2 id="pgpkey-kato">
<title>&a.kato.email;</title>
&pgpkey.kato;
</sect2>
<sect2 id="pgpkey-joe">
<title>&a.joe.email;</title>
&pgpkey.joe;
</sect2>
<sect2 id="pgpkey-vkashyap">
<title>&a.vkashyap.email;</title>
&pgpkey.vkashyap;
</sect2>
<sect2 id="pgpkey-kris">
<title>&a.kris.email;</title>
&pgpkey.kris;
</sect2>
<sect2 id="pgpkey-keramida">
<title>&a.keramida.email;</title>
&pgpkey.keramida;
</sect2>
<sect2 id="pgpkey-fjoe">
<title>&a.fjoe.email;</title>
&pgpkey.fjoe;
</sect2>
<sect2 id="pgpkey-manolis">
<title>&a.manolis.email;</title>
&pgpkey.manolis;
</sect2>
<sect2 id="pgpkey-jkim">
<title>&a.jkim.email;</title>
&pgpkey.jkim;
</sect2>
<sect2 id="pgpkey-zack">
<title>&a.zack.email;</title>
&pgpkey.zack;
</sect2>
<sect2 id="pgpkey-jceel">
<title>&a.jceel.email;</title>
&pgpkey.jceel;
</sect2>
<sect2 id="pgpkey-andreas">
<title>&a.andreas.email;</title>
&pgpkey.andreas;
</sect2>
<sect2 id="pgpkey-jkois">
<title>&a.jkois.email;</title>
&pgpkey.jkois;
</sect2>
<sect2 id="pgpkey-sergei">
<title>&a.sergei.email;</title>
&pgpkey.sergei;
</sect2>
<sect2 id="pgpkey-maxim">
<title>&a.maxim.email;</title>
&pgpkey.maxim;
</sect2>
<sect2 id="pgpkey-taras">
<title>&a.taras.email;</title>
&pgpkey.taras;
</sect2>
<sect2 id="pgpkey-jkoshy">
<title>&a.jkoshy.email;</title>
&pgpkey.jkoshy;
</sect2>
<sect2 id="pgpkey-wkoszek">
<title>&a.wkoszek.email;</title>
&pgpkey.wkoszek;
</sect2>
<sect2 id="pgpkey-ak">
<title>&a.ak.email;</title>
&pgpkey.ak;
</sect2>
<sect2 id="pgpkey-skreuzer">
<title>&a.skreuzer.email;</title>
&pgpkey.skreuzer;
</sect2>
<sect2 id="pgpkey-gabor">
<title>&a.gabor.email;</title>
&pgpkey.gabor;
</sect2>
<sect2 id="pgpkey-anchie">
<title>&a.anchie.email;</title>
&pgpkey.anchie;
</sect2>
<sect2 id="pgpkey-rik">
<title>&a.rik.email;</title>
&pgpkey.rik;
</sect2>
<sect2 id="pgpkey-rushani">
<title>&a.rushani.email;</title>
&pgpkey.rushani;
</sect2>
<sect2 id="pgpkey-kuriyama">
<title>&a.kuriyama.email;</title>
&pgpkey.kuriyama;
</sect2>
<sect2 id="pgpkey-rene">
<title>&a.rene.email;</title>
&pgpkey.rene;
</sect2>
<sect2 id="pgpkey-jlaffaye">
<title>&a.jlaffaye.email;</title>
&pgpkey.jlaffaye;
</sect2>
<sect2 id="pgpkey-clement">
<title>&a.clement.email;</title>
&pgpkey.clement;
</sect2>
<sect2 id="pgpkey-mlaier">
<title>&a.mlaier.email;</title>
&pgpkey.mlaier;
</sect2>
<sect2 id="pgpkey-erwin">
<title>&a.erwin.email;</title>
&pgpkey.erwin;
</sect2>
<sect2 id="pgpkey-martymac">
<title>&a.martymac.email;</title>
&pgpkey.martymac;
</sect2>
<sect2 id="pgpkey-glarkin">
<title>&a.glarkin.email;</title>
&pgpkey.glarkin;
</sect2>
<sect2 id="pgpkey-laszlof">
<title>&a.laszlof.email;</title>
&pgpkey.laszlof;
</sect2>
<sect2 id="pgpkey-dru">
<title>&a.dru.email;</title>
&pgpkey.dru;
</sect2>
<sect2 id="pgpkey-lawrance">
<title>&a.lawrance.email;</title>
&pgpkey.lawrance;
</sect2>
<sect2 id="pgpkey-njl">
<title>&a.njl.email;</title>
&pgpkey.njl;
</sect2>
<sect2 id="pgpkey-jlh">
<title>&a.jlh.email;</title>
&pgpkey.jlh;
</sect2>
<sect2 id="pgpkey-leeym">
<title>&a.leeym.email;</title>
&pgpkey.leeym;
</sect2>
<sect2 id="pgpkey-sam">
<title>&a.sam.email;</title>
&pgpkey.sam;
</sect2>
<sect2 id="pgpkey-jylefort">
<title>&a.jylefort.email;</title>
&pgpkey.jylefort;
</sect2>
<sect2 id="pgpkey-netchild">
<title>&a.netchild.email;</title>
&pgpkey.netchild;
</sect2>
<sect2 id="pgpkey-ae">
<title>&a.ae.email;</title>
&pgpkey.ae;
</sect2>
<sect2 id="pgpkey-lesi">
<title>&a.lesi.email;</title>
&pgpkey.lesi;
</sect2>
<sect2 id="pgpkey-achim">
<title>&a.achim.email;</title>
&pgpkey.achim;
</sect2>
<sect2 id="pgpkey-cel">
<title>&a.cel.email;</title>
&pgpkey.cel;
</sect2>
<sect2 id="pgpkey-glewis">
<title>&a.glewis.email;</title>
&pgpkey.glewis;
</sect2>
<sect2 id="pgpkey-qingli">
<title>&a.qingli.email;</title>
&pgpkey.qingli;
</sect2>
<sect2 id="pgpkey-delphij">
<title>&a.delphij.email;</title>
&pgpkey.delphij;
</sect2>
<sect2 id="pgpkey-avatar">
<title>&a.avatar.email;</title>
&pgpkey.avatar;
</sect2>
<sect2 id="pgpkey-ijliao">
<title>&a.ijliao.email;</title>
&pgpkey.ijliao;
</sect2>
<sect2 id="pgpkey-lulf">
<title>&a.lulf.email;</title>
&pgpkey.lulf;
</sect2>
<sect2 id="pgpkey-clive">
<title>&a.clive.email;</title>
&pgpkey.clive;
</sect2>
<sect2 id="pgpkey-pclin">
<title>&a.pclin.email;</title>
&pgpkey.pclin;
</sect2>
<sect2 id="pgpkey-yzlin">
<title>&a.yzlin.email;</title>
&pgpkey.yzlin;
</sect2>
<sect2 id="pgpkey-linimon">
<title>&a.linimon.email;</title>
&pgpkey.linimon;
</sect2>
<sect2 id="pgpkey-arved">
<title>&a.arved.email;</title>
&pgpkey.arved;
</sect2>
<sect2 id="pgpkey-dryice">
<title>&a.dryice.email;</title>
&pgpkey.dryice;
</sect2>
<sect2 id="pgpkey-nemoliu">
<title>&a.nemoliu.email;</title>
&pgpkey.nemoliu;
</sect2>
<sect2 id="pgpkey-zml">
<title>&a.zml.email;</title>
&pgpkey.zml;
</sect2>
<sect2 id="pgpkey-nox">
<title>&a.nox.email;</title>
&pgpkey.nox;
</sect2>
<sect2 id="pgpkey-remko">
<title>&a.remko.email;</title>
&pgpkey.remko;
</sect2>
<sect2 id="pgpkey-avl">
<title>&a.avl.email;</title>
&pgpkey.avl;
</sect2>
<sect2 id="pgpkey-issyl0">
<title>&a.issyl0.email;</title>
&pgpkey.issyl0;
</sect2>
<sect2 id="pgpkey-scottl">
<title>&a.scottl.email;</title>
&pgpkey.scottl;
</sect2>
<sect2 id="pgpkey-rmacklem">
<title>&a.rmacklem.email;</title>
&pgpkey.rmacklem;
</sect2>
<sect2 id="pgpkey-bmah">
<title>&a.bmah.email;</title>
&pgpkey.bmah;
</sect2>
<sect2 id="pgpkey-rm">
<title>&a.rm.email;</title>
&pgpkey.rm;
</sect2>
<sect2 id="pgpkey-mtm">
<title>&a.mtm.email;</title>
&pgpkey.mtm;
</sect2>
<sect2 id="pgpkey-dwmalone">
<title>&a.dwmalone.email;</title>
&pgpkey.dwmalone;
</sect2>
<sect2 id="pgpkey-amdmi3">
<title>&a.amdmi3.email;</title>
&pgpkey.amdmi3;
</sect2>
<sect2 id="pgpkey-marino">
<title>&a.marino.email;</title>
&pgpkey.marino;
</sect2>
<sect2 id="pgpkey-kwm">
<title>&a.kwm.email;</title>
&pgpkey.kwm;
</sect2>
<sect2 id="pgpkey-emaste">
<title>&a.emaste.email;</title>
&pgpkey.emaste;
</sect2>
<sect2 id="pgpkey-cherry">
<title>&a.cherry.email;</title>
&pgpkey.cherry;
</sect2>
<sect2 id="pgpkey-matusita">
<title>&a.matusita.email;</title>
&pgpkey.matusita;
</sect2>
<sect2 id="pgpkey-mm">
<title>&a.mm.email;</title>
&pgpkey.mm;
</sect2>
<sect2 id="pgpkey-sem">
<title>&a.sem.email;</title>
&pgpkey.sem;
</sect2>
<sect2 id="pgpkey-tmclaugh">
<title>&a.tmclaugh.email;</title>
&pgpkey.tmclaugh;
</sect2>
<sect2 id="pgpkey-jmelo">
<title>&a.jmelo.email;</title>
&pgpkey.jmelo;
</sect2>
<sect2 id="pgpkey-ken">
<title>&a.ken.email;</title>
&pgpkey.ken;
</sect2>
<sect2 id="pgpkey-markm">
<title>&a.markm.email;</title>
&pgpkey.markm;
</sect2>
<sect2 id="pgpkey-dinoex">
<title>&a.dinoex.email;</title>
&pgpkey.dinoex;
</sect2>
<sect2 id="pgpkey-sanpei">
<title>&a.sanpei.email;</title>
&pgpkey.sanpei;
</sect2>
<sect2 id="pgpkey-rmh">
<title>&a.rmh.email;</title>
&pgpkey.rmh;
</sect2>
<sect2 id="pgpkey-stephen">
<title>&a.stephen.email;</title>
&pgpkey.stephen;
</sect2>
<sect2 id="pgpkey-marcel">
<title>&a.marcel.email;</title>
&pgpkey.marcel;
</sect2>
<sect2 id="pgpkey-kmoore">
<title>&a.kmoore.email;</title>
&pgpkey.kmoore;
</sect2>
<sect2 id="pgpkey-marck">
<title>&a.marck.email;</title>
&pgpkey.marck;
</sect2>
<sect2 id="pgpkey-mav">
<title>&a.mav.email;</title>
&pgpkey.mav;
</sect2>
<sect2 id="pgpkey-lippe">
<title>&a.lippe.email;</title>
&pgpkey.lippe;
</sect2>
<sect2 id="pgpkey-rich">
<title>&a.rich.email;</title>
&pgpkey.rich;
</sect2>
<sect2 id="pgpkey-knu">
<title>&a.knu.email;</title>
&pgpkey.knu;
</sect2>
<sect2 id="pgpkey-tmm">
<title>&a.tmm.email;</title>
&pgpkey.tmm;
</sect2>
<sect2 id="pgpkey-max">
<title>&a.max.email;</title>
&pgpkey.max;
</sect2>
<sect2 id="pgpkey-maho">
<title>&a.maho.email;</title>
&pgpkey.maho;
</sect2>
<sect2 id="pgpkey-yoichi">
<title>&a.yoichi.email;</title>
&pgpkey.yoichi;
</sect2>
<sect2 id="pgpkey-trasz">
<title>&a.trasz.email;</title>
&pgpkey.trasz;
</sect2>
<sect2 id="pgpkey-dbn">
<title>&a.dbn.email;</title>
&pgpkey.dbn;
</sect2>
<sect2 id="pgpkey-bland">
<title>&a.bland.email;</title>
&pgpkey.bland;
</sect2>
<sect2 id="pgpkey-gnn">
<title>&a.gnn.email;</title>
&pgpkey.gnn;
</sect2>
<sect2 id="pgpkey-simon">
<title>&a.simon.email;</title>
&pgpkey.simon;
</sect2>
<sect2 id="pgpkey-rnoland">
<title>&a.rnoland.email;</title>
&pgpkey.rnoland;
</sect2>
<sect2 id="pgpkey-anders">
<title>&a.anders.email;</title>
&pgpkey.anders;
</sect2>
<sect2 id="pgpkey-lofi">
<title>&a.lofi.email;</title>
&pgpkey.lofi;
</sect2>
<sect2 id="pgpkey-obrien">
<title>&a.obrien.email;</title>
&pgpkey.obrien;
</sect2>
<sect2 id="pgpkey-olgeni">
<title>&a.olgeni.email;</title>
&pgpkey.olgeni;
</sect2>
<sect2 id="pgpkey-philip">
<title>&a.philip.email;</title>
&pgpkey.philip;
</sect2>
<sect2 id="pgpkey-jpaetzel">
<title>&a.jpaetzel.email;</title>
&pgpkey.jpaetzel;
</sect2>
<sect2 id="pgpkey-pgj">
<title>&a.pgj.email;</title>
&pgpkey.pgj;
</sect2>
<sect2 id="pgpkey-hiren">
<title>&a.hiren.email;</title>
&pgpkey.hiren;
</sect2>
<sect2 id="pgpkey-hmp">
<title>&a.hmp.email;</title>
&pgpkey.hmp;
</sect2>
<sect2 id="pgpkey-fluffy">
<title>&a.fluffy.email;</title>
&pgpkey.fluffy;
</sect2>
<sect2 id="pgpkey-sat">
<title>&a.sat.email;</title>
&pgpkey.sat;
</sect2>
<sect2 id="pgpkey-np">
<title>&a.np.email;</title>
&pgpkey.np;
</sect2>
<sect2 id="pgpkey-rpaulo">
<title>&a.rpaulo.email;</title>
&pgpkey.rpaulo;
</sect2>
<sect2 id="pgpkey-mp">
<title>&a.mp.email;</title>
&pgpkey.mp;
</sect2>
<sect2 id="pgpkey-roam">
<title>&a.roam.email;</title>
&pgpkey.roam;
</sect2>
<sect2 id="pgpkey-den">
<title>&a.den.email;</title>
&pgpkey.den;
</sect2>
<sect2 id="pgpkey-csjp">
<title>&a.csjp.email;</title>
&pgpkey.csjp;
</sect2>
<sect2 id="pgpkey-gerald">
<title>&a.gerald.email;</title>
&pgpkey.gerald;
</sect2>
<sect2 id="pgpkey-jacula">
<title>&a.jacula.email;</title>
&pgpkey.jacula;
</sect2>
<sect2 id="pgpkey-jdp">
<title>&a.jdp.email;</title>
&pgpkey.jdp;
</sect2>
<sect2 id="pgpkey-krion">
<title>&a.krion.email;</title>
&pgpkey.krion;
</sect2>
<sect2 id="pgpkey-sepotvin">
<title>&a.sepotvin.email;</title>
&pgpkey.sepotvin;
</sect2>
<sect2 id="pgpkey-markp">
<title>&a.markp.email;</title>
&pgpkey.markp;
</sect2>
<sect2 id="pgpkey-alepulver">
<title>&a.alepulver.email;</title>
&pgpkey.alepulver;
</sect2>
<sect2 id="pgpkey-thomas">
<title>&a.thomas.email;</title>
&pgpkey.thomas;
</sect2>
<sect2 id="pgpkey-hq">
<title>&a.hq.email;</title>
&pgpkey.hq;
</sect2>
<sect2 id="pgpkey-dfr">
<title>&a.dfr.email;</title>
&pgpkey.dfr;
</sect2>
<sect2 id="pgpkey-lbr">
<title>&a.lbr.email;</title>
&pgpkey.lbr;
</sect2>
<sect2 id="pgpkey-crees">
<title>&a.crees.email;</title>
&pgpkey.crees;
</sect2>
<sect2 id="pgpkey-rees">
<title>&a.rees.email;</title>
&pgpkey.rees;
</sect2>
<sect2 id="pgpkey-bcr">
<title>&a.bcr.email;</title>
&pgpkey.bcr;
</sect2>
<sect2 id="pgpkey-trhodes">
<title>&a.trhodes.email;</title>
&pgpkey.trhodes;
</sect2>
<sect2 id="pgpkey-benno">
<title>&a.benno.email;</title>
&pgpkey.benno;
</sect2>
<sect2 id="pgpkey-beech">
<title>&a.beech.email;</title>
&pgpkey.beech;
</sect2>
<sect2 id="pgpkey-matteo">
<title>&a.matteo.email;</title>
&pgpkey.matteo;
</sect2>
<sect2 id="pgpkey-roberto">
<title>&a.roberto.email;</title>
&pgpkey.roberto;
</sect2>
<sect2 id="pgpkey-rodrigc">
<title>&a.rodrigc.email;</title>
&pgpkey.rodrigc;
</sect2>
<sect2 id="pgpkey-guido">
<title>&a.guido.email;</title>
&pgpkey.guido;
</sect2>
<sect2 id="pgpkey-rea">
<title>&a.rea.email;</title>
&pgpkey.rea;
</sect2>
<sect2 id="pgpkey-ray">
<title>&a.ray.email;</title>
&pgpkey.ray;
</sect2>
<sect2 id="pgpkey-niklas">
<title>&a.niklas.email;</title>
&pgpkey.niklas;
</sect2>
<sect2 id="pgpkey-bsam">
<title>&a.bsam.email;</title>
&pgpkey.bsam;
</sect2>
<sect2 id="pgpkey-marks">
<title>&a.marks.email;</title>
&pgpkey.marks;
</sect2>
<sect2 id="pgpkey-bschmidt">
<title>&a.bschmidt.email;</title>
&pgpkey.bschmidt;
</sect2>
<sect2 id="pgpkey-wosch">
<title>&a.wosch.email;</title>
&pgpkey.wosch;
</sect2>
<sect2 id="pgpkey-ed">
<title>&a.ed.email;</title>
&pgpkey.ed;
</sect2>
<sect2 id="pgpkey-das">
<title>&a.das.email;</title>
&pgpkey.das;
</sect2>
<sect2 id="pgpkey-scheidell">
<title>&a.scheidell.email;</title>
&pgpkey.scheidell;
</sect2>
<sect2 id="pgpkey-schweikh">
<title>&a.schweikh.email;</title>
&pgpkey.schweikh;
</sect2>
<sect2 id="pgpkey-matthew">
<title>&a.matthew.email;</title>
&pgpkey.matthew;
</sect2>
<sect2 id="pgpkey-tmseck">
<title>&a.tmseck.email;</title>
&pgpkey.tmseck;
</sect2>
<sect2 id="pgpkey-stas">
<title>&a.stas.email;</title>
&pgpkey.stas;
</sect2>
<sect2 id="pgpkey-johans">
<title>&a.johans.email;</title>
&pgpkey.johans;
</sect2>
<sect2 id="pgpkey-bakul">
<title>&a.bakul.email;</title>
&pgpkey.bakul;
</sect2>
<sect2 id="pgpkey-gshapiro">
<title>&a.gshapiro.email;</title>
&pgpkey.gshapiro;
</sect2>
<sect2 id="pgpkey-arun">
<title>&a.arun.email;</title>
&pgpkey.arun;
</sect2>
<sect2 id="pgpkey-wxs">
<title>&a.wxs.email;</title>
&pgpkey.wxs;
</sect2>
<sect2 id="pgpkey-nork">
<title>&a.nork.email;</title>
&pgpkey.nork;
</sect2>
<sect2 id="pgpkey-syrinx">
<title>&a.syrinx.email;</title>
&pgpkey.syrinx;
</sect2>
<sect2 id="pgpkey-vanilla">
<title>&a.vanilla.email;</title>
&pgpkey.vanilla;
</sect2>
<sect2 id="pgpkey-ashish">
<title>&a.ashish.email;</title>
&pgpkey.ashish;
</sect2>
<sect2 id="pgpkey-bms">
<title>&a.bms.email;</title>
&pgpkey.bms;
</sect2>
<sect2 id="pgpkey-demon">
<title>&a.demon.email;</title>
&pgpkey.demon;
</sect2>
<sect2 id="pgpkey-jesper">
<title>&a.jesper.email;</title>
&pgpkey.jesper;
</sect2>
<sect2 id="pgpkey-scop">
<title>&a.scop.email;</title>
&pgpkey.scop;
</sect2>
<sect2 id="pgpkey-anray">
<title>&a.anray.email;</title>
&pgpkey.anray;
</sect2>
<sect2 id="pgpkey-flo">
<title>&a.flo.email;</title>
&pgpkey.flo;
</sect2>
<sect2 id="pgpkey-glebius">
<title>&a.glebius.email;</title>
&pgpkey.glebius;
</sect2>
<sect2 id="pgpkey-kensmith">
<title>&a.kensmith.email;</title>
&pgpkey.kensmith;
</sect2>
<sect2 id="pgpkey-ben">
<title>&a.ben.email;</title>
&pgpkey.ben;
</sect2>
<sect2 id="pgpkey-des">
<title>&a.des.email;</title>
&pgpkey.des;
</sect2>
<sect2 id="pgpkey-sobomax">
<title>&a.sobomax.email;</title>
&pgpkey.sobomax;
</sect2>
<sect2 id="pgpkey-asomers">
<title>&a.asomers.email;</title>
&pgpkey.asomers;
</sect2>
<sect2 id="pgpkey-brian">
<title>&a.brian.email;</title>
&pgpkey.brian;
</sect2>
<sect2 id="pgpkey-sson">
<title>&a.sson.email;</title>
&pgpkey.sson;
</sect2>
<sect2 id="pgpkey-nsouch">
<title>&a.nsouch.email;</title>
&pgpkey.nsouch;
</sect2>
<sect2 id="pgpkey-ssouhlal">
<title>&a.ssouhlal.email;</title>
&pgpkey.ssouhlal;
</sect2>
<sect2 id="pgpkey-loos">
<title>&a.loos.email;</title>
&pgpkey.loos;
</sect2>
<sect2 id="pgpkey-uqs">
<title>&a.uqs.email;</title>
&pgpkey.uqs;
</sect2>
<sect2 id="pgpkey-rink">
<title>&a.rink.email;</title>
&pgpkey.rink;
</sect2>
<sect2 id="pgpkey-vsevolod">
<title>&a.vsevolod.email;</title>
&pgpkey.vsevolod;
</sect2>
<sect2 id="pgpkey-zi">
<title>&a.zi.email;</title>
&pgpkey.zi;
</sect2>
<sect2 id="pgpkey-rrs">
<title>&a.rrs.email;</title>
&pgpkey.rrs;
</sect2>
<sect2 id="pgpkey-murray">
<title>&a.murray.email;</title>
&pgpkey.murray;
</sect2>
<sect2 id="pgpkey-vs">
<title>&a.vs.email;</title>
&pgpkey.vs;
</sect2>
<sect2 id="pgpkey-rstone">
<title>&a.rstone.email;</title>
&pgpkey.rstone;
</sect2>
<sect2 id="pgpkey-xride">
<title>&a.xride.email;</title>
&pgpkey.xride;
</sect2>
<sect2 id="pgpkey-marius">
<title>&a.marius.email;</title>
&pgpkey.marius;
</sect2>
<sect2 id="pgpkey-cs">
<title>&a.cs.email;</title>
&pgpkey.cs;
</sect2>
<sect2 id="pgpkey-clsung">
<title>&a.clsung.email;</title>
&pgpkey.clsung;
</sect2>
<sect2 id="pgpkey-gsutter">
<title>&a.gsutter.email;</title>
&pgpkey.gsutter;
</sect2>
<sect2 id="pgpkey-metal">
<title>&a.metal.email;</title>
&pgpkey.metal;
</sect2>
<sect2 id="pgpkey-ryusuke">
<title>&a.ryusuke.email;</title>
&pgpkey.ryusuke;
</sect2>
<sect2 id="pgpkey-garys">
<title>&a.garys.email;</title>
&pgpkey.garys;
</sect2>
<sect2 id="pgpkey-nyan">
<title>&a.nyan.email;</title>
&pgpkey.nyan;
</sect2>
<sect2 id="pgpkey-sahil">
<title>&a.sahil.email;</title>
&pgpkey.sahil;
</sect2>
<sect2 id="pgpkey-tota">
<title>&a.tota.email;</title>
&pgpkey.tota;
</sect2>
<sect2 id="pgpkey-romain">
<title>&a.romain.email;</title>
&pgpkey.romain;
</sect2>
<sect2 id="pgpkey-sylvio">
<title>&a.sylvio.email;</title>
&pgpkey.sylvio;
</sect2>
<sect2 id="pgpkey-itetcu">
<title>&a.itetcu.email;</title>
&pgpkey.itetcu;
</sect2>
<sect2 id="pgpkey-mi">
<title>&a.mi.email;</title>
&pgpkey.mi;
</sect2>
<sect2 id="pgpkey-gordon">
<title>&a.gordon.email;</title>
&pgpkey.gordon;
</sect2>
<sect2 id="pgpkey-lth">
<title>&a.lth.email;</title>
&pgpkey.lth;
</sect2>
<sect2 id="pgpkey-jase">
<title>&a.jase.email;</title>
&pgpkey.jase;
</sect2>
<sect2 id="pgpkey-lx">
<title>&a.lx.email;</title>
&pgpkey.lx;
</sect2>
<sect2 id="pgpkey-fabient">
<title>&a.fabient.email;</title>
&pgpkey.fabient;
</sect2>
<sect2 id="pgpkey-thierry">
<title>&a.thierry.email;</title>
&pgpkey.thierry;
</sect2>
<sect2 id="pgpkey-thompsa">
<title>&a.thompsa.email;</title>
&pgpkey.thompsa;
</sect2>
<sect2 id="pgpkey-flz">
<title>&a.flz.email;</title>
&pgpkey.flz;
</sect2>
<sect2 id="pgpkey-jilles">
<title>&a.jilles.email;</title>
&pgpkey.jilles;
</sect2>
<sect2 id="pgpkey-ganbold">
<title>&a.ganbold.email;</title>
&pgpkey.ganbold;
</sect2>
<sect2 id="pgpkey-tuexen">
<title>&a.tuexen.email;</title>
&pgpkey.tuexen;
</sect2>
<sect2 id="pgpkey-andrew">
<title>&a.andrew.email;</title>
&pgpkey.andrew;
</sect2>
<sect2 id="pgpkey-ume">
<title>&a.ume.email;</title>
&pgpkey.ume;
</sect2>
<sect2 id="pgpkey-ups">
<title>&a.ups.email;</title>
&pgpkey.ups;
</sect2>
<sect2 id="pgpkey-bryanv">
<title>&a.bryanv.email;</title>
&pgpkey.bryanv;
</sect2>
<sect2 id="pgpkey-nectar">
<title>&a.nectar.email;</title>
&pgpkey.nectar;
</sect2>
<sect2 id="pgpkey-avilla">
<title>&a.avilla.email;</title>
&pgpkey.avilla;
</sect2>
<sect2 id="pgpkey-nivit">
<title>&a.nivit.email;</title>
&pgpkey.nivit;
</sect2>
<sect2 id="pgpkey-ivoras">
<title>&a.ivoras.email;</title>
&pgpkey.ivoras;
</sect2>
<sect2 id="pgpkey-stefan">
<title>&a.stefan.email;</title>
&pgpkey.stefan;
</sect2>
<sect2 id="pgpkey-kaiw">
<title>&a.kaiw.email;</title>
&pgpkey.kaiw;
</sect2>
<sect2 id="pgpkey-adamw">
<title>&a.adamw.email;</title>
&pgpkey.adamw;
</sect2>
<sect2 id="pgpkey-peter">
<title>&a.peter.email;</title>
&pgpkey.peter;
</sect2>
<sect2 id="pgpkey-nwhitehorn">
<title>&a.nwhitehorn.email;</title>
&pgpkey.nwhitehorn;
</sect2>
<sect2 id="pgpkey-miwi">
<title>&a.miwi.email;</title>
&pgpkey.miwi;
</sect2>
<sect2 id="pgpkey-nate">
<title>&a.nate.email;</title>
&pgpkey.nate;
</sect2>
<sect2 id="pgpkey-swills">
<title>&a.swills.email;</title>
&pgpkey.swills;
</sect2>
<sect2 id="pgpkey-twinterg">
<title>&a.twinterg.email;</title>
&pgpkey.twinterg;
</sect2>
<sect2 id="pgpkey-wollman">
<title>&a.wollman.email;</title>
&pgpkey.wollman;
</sect2>
<sect2 id="pgpkey-joerg">
<title>&a.joerg.email;</title>
&pgpkey.joerg;
</sect2>
<sect2 id="pgpkey-davidxu">
<title>&a.davidxu.email;</title>
&pgpkey.davidxu;
</sect2>
<sect2 id="pgpkey-emax">
<title>&a.emax.email;</title>
&pgpkey.emax;
</sect2>
<sect2 id="pgpkey-bz">
<title>&a.bz.email;</title>
&pgpkey.bz;
</sect2>
<sect2 id="pgpkey-zeising">
<title>&a.zeising.email;</title>
&pgpkey.zeising;
</sect2>
<sect2 id="pgpkey-phantom">
<title>&a.phantom.email;</title>
&pgpkey.phantom;
</sect2>
<sect2 id="pgpkey-sephe">
<title>&a.sephe.email;</title>
&pgpkey.sephe;
</sect2>
<sect2 id="pgpkey-zont">
<title>&a.zont.email;</title>
&pgpkey.zont;
</sect2>
Index: projects/zfsupdate-201307/share/pgpkeys/pgpkeys-officers.xml
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/pgpkeys-officers.xml (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/pgpkeys-officers.xml (revision 42804)
@@ -1,20 +1,25 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<sect2 id="pgpkey-security-officer">
<title>&a.security-officer;</title>
&pgpkey.security-officer;
</sect2>
+ <sect2 id="pgpkey-secteam-secretary">
+ <title>&a.secteam-secretary;</title>
+ &pgpkey.secteam-secretary;
+ </sect2>
+
<sect2 id="pgpkey-core-secretary">
<title>&a.core-secretary;</title>
&pgpkey.core-secretary;
</sect2>
<sect2 id="pgpkey-portmgr-secretary">
<title>&a.portmgr-secretary;</title>
&pgpkey.portmgr-secretary;
</sect2>
Index: projects/zfsupdate-201307/share/pgpkeys/pgpkeys-other.xml
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/pgpkeys-other.xml (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/pgpkeys-other.xml (revision 42804)
@@ -1,35 +1,40 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
+<sect2 id="pgpkey-arundel">
+ <title>&a.arundel;</title>
+ &pgpkey.arundel;
+</sect2>
+
<sect2 id="pgpkey-deb">
<title>&a.deb;</title>
&pgpkey.deb;
</sect2>
<sect2 id="pgpkey-dutchdaemon">
<title>&a.dutchdaemon;</title>
&pgpkey.dutchdaemon;
</sect2>
<sect2 id="pgpkey-bhaga">
<title>&a.bhaga;</title>
&pgpkey.bhaga;
</sect2>
<sect2 id="pgpkey-bk">
<title>&a.bk;</title>
&pgpkey.bk;
</sect2>
<!--
<sect2 id="pgpkey-dvl">
<title>&a.dvl;</title>
&pgpkey.dvl;
</sect2>
-->
<sect2 id="pgpkey-dhw">
<title>&a.dhw;</title>
&pgpkey.dhw;
</sect2>
Index: projects/zfsupdate-201307/share/pgpkeys/pgpkeys.ent
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/pgpkeys.ent (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/pgpkeys.ent (revision 42804)
@@ -1,435 +1,440 @@
<!-- $FreeBSD$ -->
<!-- PGP keyblocks -->
<!ENTITY pgpkey.aaron SYSTEM "aaron.key">
<!ENTITY pgpkey.ache SYSTEM "ache.key">
<!ENTITY pgpkey.achim SYSTEM "achim.key">
<!ENTITY pgpkey.acm SYSTEM "acm.key">
<!ENTITY pgpkey.adamw SYSTEM "adamw.key">
<!ENTITY pgpkey.ae SYSTEM "ae.key">
<!ENTITY pgpkey.ahze SYSTEM "ahze.key">
<!ENTITY pgpkey.ak SYSTEM "ak.key">
<!ENTITY pgpkey.alc SYSTEM "alc.key">
<!ENTITY pgpkey.ale SYSTEM "ale.key">
<!ENTITY pgpkey.alepulver SYSTEM "alepulver.key">
<!ENTITY pgpkey.alex SYSTEM "alex.key">
<!ENTITY pgpkey.alexbl SYSTEM "alexbl.key">
<!ENTITY pgpkey.amdmi3 SYSTEM "amdmi3.key">
<!ENTITY pgpkey.anchie SYSTEM "anchie.key">
<!ENTITY pgpkey.anders SYSTEM "anders.key">
<!ENTITY pgpkey.andreas SYSTEM "andreas.key">
<!ENTITY pgpkey.andrew SYSTEM "andrew.key">
<!ENTITY pgpkey.anholt SYSTEM "anholt.key">
<!ENTITY pgpkey.anray SYSTEM "anray.key">
<!ENTITY pgpkey.antoine SYSTEM "antoine.key">
<!ENTITY pgpkey.araujo SYSTEM "araujo.key">
<!ENTITY pgpkey.ariff SYSTEM "ariff.key">
<!ENTITY pgpkey.art SYSTEM "art.key">
<!ENTITY pgpkey.arun SYSTEM "arun.key">
+<!ENTITY pgpkey.arundel SYSTEM "arundel.key">
<!ENTITY pgpkey.arved SYSTEM "arved.key">
<!ENTITY pgpkey.asami SYSTEM "asami.key">
<!ENTITY pgpkey.ashish SYSTEM "ashish.key">
<!ENTITY pgpkey.asomers SYSTEM "asomers.key">
<!ENTITY pgpkey.avatar SYSTEM "avatar.key">
<!ENTITY pgpkey.avg SYSTEM "avg.key">
<!ENTITY pgpkey.avilla SYSTEM "avilla.key">
<!ENTITY pgpkey.avl SYSTEM "avl.key">
<!ENTITY pgpkey.bakul SYSTEM "bakul.key">
<!ENTITY pgpkey.bapt SYSTEM "bapt.key">
<!ENTITY pgpkey.bar SYSTEM "bar.key">
<!ENTITY pgpkey.barner SYSTEM "barner.key">
<!ENTITY pgpkey.bcr SYSTEM "bcr.key">
<!ENTITY pgpkey.bdrewery SYSTEM "bdrewery.key">
<!ENTITY pgpkey.beat SYSTEM "beat.key">
<!ENTITY pgpkey.beech SYSTEM "beech.key">
<!ENTITY pgpkey.ben SYSTEM "ben.key">
<!ENTITY pgpkey.benjsc SYSTEM "benjsc.key">
<!ENTITY pgpkey.benno SYSTEM "benno.key">
<!ENTITY pgpkey.bf SYSTEM "bf.key">
<!ENTITY pgpkey.bhaga SYSTEM "bhaga.key">
<!ENTITY pgpkey.billf SYSTEM "billf.key">
<!ENTITY pgpkey.bjk SYSTEM "bjk.key">
<!ENTITY pgpkey.bk SYSTEM "bk.key">
<!ENTITY pgpkey.blackend SYSTEM "blackend.key">
<!ENTITY pgpkey.bland SYSTEM "bland.key">
<!ENTITY pgpkey.bmah SYSTEM "bmah.key">
<!ENTITY pgpkey.bms SYSTEM "bms.key">
+<!ENTITY pgpkey.br SYSTEM "br.key">
<!ENTITY pgpkey.brd SYSTEM "brd.key">
<!ENTITY pgpkey.brian SYSTEM "brian.key">
<!ENTITY pgpkey.brix SYSTEM "brix.key">
<!ENTITY pgpkey.brooks SYSTEM "brooks.key">
<!ENTITY pgpkey.brucec SYSTEM "brucec.key">
<!ENTITY pgpkey.brueffer SYSTEM "brueffer.key">
<!ENTITY pgpkey.bruno SYSTEM "bruno.key">
<!ENTITY pgpkey.bryanv SYSTEM "bryanv.key">
<!ENTITY pgpkey.bsam SYSTEM "bsam.key">
<!ENTITY pgpkey.bschmidt SYSTEM "bschmidt.key">
<!ENTITY pgpkey.bsd SYSTEM "bsd.key">
<!ENTITY pgpkey.bushman SYSTEM "bushman.key">
<!ENTITY pgpkey.bvs SYSTEM "bvs.key">
<!ENTITY pgpkey.bz SYSTEM "bz.key">
<!ENTITY pgpkey.carl SYSTEM "carl.key">
<!ENTITY pgpkey.cel SYSTEM "cel.key">
<!ENTITY pgpkey.ceri SYSTEM "ceri.key">
<!ENTITY pgpkey.cherry SYSTEM "cherry.key">
<!ENTITY pgpkey.chinsan SYSTEM "chinsan.key">
<!ENTITY pgpkey.cjc SYSTEM "cjc.key">
<!ENTITY pgpkey.cjh SYSTEM "cjh.key">
<!ENTITY pgpkey.clement SYSTEM "clement.key">
<!ENTITY pgpkey.clive SYSTEM "clive.key">
<!ENTITY pgpkey.clsung SYSTEM "clsung.key">
<!ENTITY pgpkey.cokane SYSTEM "cokane.key">
<!ENTITY pgpkey.core-secretary SYSTEM "core-secretary.key">
<!ENTITY pgpkey.cperciva SYSTEM "cperciva.key">
<!ENTITY pgpkey.crees SYSTEM "crees.key">
<!ENTITY pgpkey.cs SYSTEM "cs.key">
<!ENTITY pgpkey.cshumway SYSTEM "cshumway.key">
<!ENTITY pgpkey.csjp SYSTEM "csjp.key">
<!ENTITY pgpkey.culot SYSTEM "culot.key">
<!ENTITY pgpkey.daichi SYSTEM "daichi.key">
<!ENTITY pgpkey.damien SYSTEM "damien.key">
<!ENTITY pgpkey.danfe SYSTEM "danfe.key">
<!ENTITY pgpkey.danger SYSTEM "danger.key">
+<!ENTITY pgpkey.danilo SYSTEM "danilo.key">
<!ENTITY pgpkey.dannyboy SYSTEM "dannyboy.key">
<!ENTITY pgpkey.das SYSTEM "das.key">
<!ENTITY pgpkey.davide SYSTEM "davide.key">
<!ENTITY pgpkey.davidxu SYSTEM "davidxu.key">
<!ENTITY pgpkey.db SYSTEM "db.key">
<!ENTITY pgpkey.dbn SYSTEM "dbn.key">
<!ENTITY pgpkey.dchagin SYSTEM "dchagin.key">
<!ENTITY pgpkey.dcs SYSTEM "dcs.key">
<!ENTITY pgpkey.dd SYSTEM "dd.key">
<!ENTITY pgpkey.deb SYSTEM "deb.key">
<!ENTITY pgpkey.decke SYSTEM "decke.key">
<!ENTITY pgpkey.deischen SYSTEM "deischen.key">
<!ENTITY pgpkey.delphij SYSTEM "delphij.key">
<!ENTITY pgpkey.demon SYSTEM "demon.key">
<!ENTITY pgpkey.den SYSTEM "den.key">
<!ENTITY pgpkey.des SYSTEM "des.key">
<!ENTITY pgpkey.dfr SYSTEM "dfr.key">
<!ENTITY pgpkey.dhartmei SYSTEM "dhartmei.key">
<!ENTITY pgpkey.dhn SYSTEM "dhn.key">
<!ENTITY pgpkey.dhw SYSTEM "dhw.key">
<!ENTITY pgpkey.dim SYSTEM "dim.key">
<!ENTITY pgpkey.dinoex SYSTEM "dinoex.key">
<!ENTITY pgpkey.dru SYSTEM "dru.key">
<!ENTITY pgpkey.dryice SYSTEM "dryice.key">
<!ENTITY pgpkey.dutchdaemon SYSTEM "dutchdaemon.key">
<!ENTITY pgpkey.dwmalone SYSTEM "dwmalone.key">
<!ENTITY pgpkey.eadler SYSTEM "eadler.key">
<!ENTITY pgpkey.ebrandi SYSTEM "ebrandi.key">
<!ENTITY pgpkey.ed SYSTEM "ed.key">
<!ENTITY pgpkey.ehaupt SYSTEM "ehaupt.key">
<!ENTITY pgpkey.emaste SYSTEM "emaste.key">
<!ENTITY pgpkey.emax SYSTEM "emax.key">
<!ENTITY pgpkey.erwin SYSTEM "erwin.key">
<!ENTITY pgpkey.fabient SYSTEM "fabient.key">
<!ENTITY pgpkey.fanf SYSTEM "fanf.key">
<!ENTITY pgpkey.farrokhi SYSTEM "farrokhi.key">
<!ENTITY pgpkey.feld SYSTEM "feld.key">
<!ENTITY pgpkey.fjoe SYSTEM "fjoe.key">
<!ENTITY pgpkey.flo SYSTEM "flo.key">
<!ENTITY pgpkey.fluffy SYSTEM "fluffy.key">
<!ENTITY pgpkey.flz SYSTEM "flz.key">
<!ENTITY pgpkey.foxfair SYSTEM "foxfair.key">
<!ENTITY pgpkey.gabor SYSTEM "gabor.key">
<!ENTITY pgpkey.gahr SYSTEM "gahr.key">
<!ENTITY pgpkey.ganbold SYSTEM "ganbold.key">
<!ENTITY pgpkey.garga SYSTEM "garga.key">
<!ENTITY pgpkey.garys SYSTEM "garys.key">
<!ENTITY pgpkey.gavin SYSTEM "gavin.key">
<!ENTITY pgpkey.gblach SYSTEM "gblach.key">
<!ENTITY pgpkey.gerald SYSTEM "gerald.key">
<!ENTITY pgpkey.ghelmer SYSTEM "ghelmer.key">
<!ENTITY pgpkey.gibbs SYSTEM "gibbs.key">
<!ENTITY pgpkey.girgen SYSTEM "girgen.key">
<!ENTITY pgpkey.gjb SYSTEM "gjb.key">
<!ENTITY pgpkey.glarkin SYSTEM "glarkin.key">
<!ENTITY pgpkey.glebius SYSTEM "glebius.key">
<!ENTITY pgpkey.glewis SYSTEM "glewis.key">
<!ENTITY pgpkey.gnn SYSTEM "gnn.key">
<!ENTITY pgpkey.gordon SYSTEM "gordon.key">
<!ENTITY pgpkey.green SYSTEM "green.key">
<!ENTITY pgpkey.grehan SYSTEM "grehan.key">
<!ENTITY pgpkey.gshapiro SYSTEM "gshapiro.key">
<!ENTITY pgpkey.gsutter SYSTEM "gsutter.key">
<!ENTITY pgpkey.guido SYSTEM "guido.key">
<!ENTITY pgpkey.harti SYSTEM "harti.key">
<!ENTITY pgpkey.hiren SYSTEM "hiren.key">
<!ENTITY pgpkey.hmp SYSTEM "hmp.key">
<!ENTITY pgpkey.hq SYSTEM "hq.key">
<!ENTITY pgpkey.hrs SYSTEM "hrs.key">
<!ENTITY pgpkey.ijliao SYSTEM "ijliao.key">
<!ENTITY pgpkey.imp SYSTEM "imp.key">
<!ENTITY pgpkey.issyl0 SYSTEM "issyl0.key">
<!ENTITY pgpkey.itetcu SYSTEM "itetcu.key">
<!ENTITY pgpkey.ivoras SYSTEM "ivoras.key">
<!ENTITY pgpkey.jacula SYSTEM "jacula.key">
<!ENTITY pgpkey.jadawin SYSTEM "jadawin.key">
<!ENTITY pgpkey.jamie SYSTEM "jamie.key">
<!ENTITY pgpkey.jase SYSTEM "jase.key">
<!ENTITY pgpkey.jcamou SYSTEM "jcamou.key">
<!ENTITY pgpkey.jceel SYSTEM "jceel.key">
<!ENTITY pgpkey.jchandra SYSTEM "jchandra.key">
<!ENTITY pgpkey.jdp SYSTEM "jdp.key">
<!ENTITY pgpkey.jedgar SYSTEM "jedgar.key">
<!ENTITY pgpkey.jesper SYSTEM "jesper.key">
<!ENTITY pgpkey.jgh SYSTEM "jgh.key">
<!ENTITY pgpkey.jh SYSTEM "jh.key">
<!ENTITY pgpkey.jhale SYSTEM "jhale.key">
<!ENTITY pgpkey.jhay SYSTEM "jhay.key">
<!ENTITY pgpkey.jhb SYSTEM "jhb.key">
<!ENTITY pgpkey.jhibbits SYSTEM "jhibbits.key">
<!ENTITY pgpkey.jilles SYSTEM "jilles.key">
<!ENTITY pgpkey.jim SYSTEM "jim.key">
<!ENTITY pgpkey.jinmei SYSTEM "jinmei.key">
<!ENTITY pgpkey.jkh SYSTEM "jkh.key">
<!ENTITY pgpkey.jkim SYSTEM "jkim.key">
<!ENTITY pgpkey.jkois SYSTEM "jkois.key">
<!ENTITY pgpkey.jkoshy SYSTEM "jkoshy.key">
<!ENTITY pgpkey.jlaffaye SYSTEM "jlaffaye.key">
<!ENTITY pgpkey.jlh SYSTEM "jlh.key">
<!ENTITY pgpkey.jmb SYSTEM "jmb.key">
<!ENTITY pgpkey.jmelo SYSTEM "jmelo.key">
<!ENTITY pgpkey.jmg SYSTEM "jmg.key">
<!ENTITY pgpkey.joe SYSTEM "joe.key">
<!ENTITY pgpkey.joerg SYSTEM "joerg.key">
<!ENTITY pgpkey.johans SYSTEM "johans.key">
<!ENTITY pgpkey.jon SYSTEM "jon.key">
<!ENTITY pgpkey.jonathan SYSTEM "jonathan.key">
<!ENTITY pgpkey.josef SYSTEM "josef.key">
<!ENTITY pgpkey.jpaetzel SYSTEM "jpaetzel.key">
<!ENTITY pgpkey.jsa SYSTEM "jsa.key">
<!ENTITY pgpkey.jylefort SYSTEM "jylefort.key">
<!ENTITY pgpkey.kaiw SYSTEM "kaiw.key">
<!ENTITY pgpkey.kan SYSTEM "kan.key">
<!ENTITY pgpkey.kato SYSTEM "kato.key">
<!ENTITY pgpkey.ken SYSTEM "ken.key">
<!ENTITY pgpkey.kensmith SYSTEM "kensmith.key">
<!ENTITY pgpkey.keramida SYSTEM "keramida.key">
<!ENTITY pgpkey.kib SYSTEM "kib.key">
<!ENTITY pgpkey.kmoore SYSTEM "kmoore.key">
<!ENTITY pgpkey.knu SYSTEM "knu.key">
<!ENTITY pgpkey.koitsu SYSTEM "koitsu.key">
<!ENTITY pgpkey.krion SYSTEM "krion.key">
<!ENTITY pgpkey.kris SYSTEM "kris.key">
<!ENTITY pgpkey.kuriyama SYSTEM "kuriyama.key">
<!ENTITY pgpkey.kwm SYSTEM "kwm.key">
<!ENTITY pgpkey.laszlof SYSTEM "laszlof.key">
<!ENTITY pgpkey.lawrance SYSTEM "lawrance.key">
<!ENTITY pgpkey.lbr SYSTEM "lbr.key">
<!ENTITY pgpkey.le SYSTEM "le.key">
<!ENTITY pgpkey.leeym SYSTEM "leeym.key">
<!ENTITY pgpkey.lesi SYSTEM "lesi.key">
<!ENTITY pgpkey.linimon SYSTEM "linimon.key">
<!ENTITY pgpkey.lioux SYSTEM "lioux.key">
<!ENTITY pgpkey.lippe SYSTEM "lippe.key">
<!ENTITY pgpkey.lme SYSTEM "lme.key">
<!ENTITY pgpkey.loader SYSTEM "loader.key">
<!ENTITY pgpkey.lofi SYSTEM "lofi.key">
<!ENTITY pgpkey.loos SYSTEM "loos.key">
<!ENTITY pgpkey.lth SYSTEM "lth.key">
<!ENTITY pgpkey.lulf SYSTEM "lulf.key">
<!ENTITY pgpkey.luoqi SYSTEM "luoqi.key">
<!ENTITY pgpkey.lwhsu SYSTEM "lwhsu.key">
<!ENTITY pgpkey.lx SYSTEM "lx.key">
<!ENTITY pgpkey.madpilot SYSTEM "madpilot.key">
<!ENTITY pgpkey.maho SYSTEM "maho.key">
<!ENTITY pgpkey.makc SYSTEM "makc.key">
<!ENTITY pgpkey.mandree SYSTEM "mandree.key">
<!ENTITY pgpkey.manolis SYSTEM "manolis.key">
<!ENTITY pgpkey.marcel SYSTEM "marcel.key">
<!ENTITY pgpkey.marck SYSTEM "marck.key">
<!ENTITY pgpkey.marcus SYSTEM "marcus.key">
<!ENTITY pgpkey.marino SYSTEM "marino.key">
<!ENTITY pgpkey.marius SYSTEM "marius.key">
<!ENTITY pgpkey.markj SYSTEM "markj.key">
<!ENTITY pgpkey.markm SYSTEM "markm.key">
<!ENTITY pgpkey.markp SYSTEM "markp.key">
<!ENTITY pgpkey.marks SYSTEM "marks.key">
<!ENTITY pgpkey.markus SYSTEM "markus.key">
<!ENTITY pgpkey.martymac SYSTEM "martymac.key">
<!ENTITY pgpkey.mat SYSTEM "mat.key">
<!ENTITY pgpkey.matteo SYSTEM "matteo.key">
<!ENTITY pgpkey.matthew SYSTEM "matthew.key">
<!ENTITY pgpkey.matusita SYSTEM "matusita.key">
<!ENTITY pgpkey.mav SYSTEM "mav.key">
<!ENTITY pgpkey.max SYSTEM "max.key">
<!ENTITY pgpkey.maxim SYSTEM "maxim.key">
<!ENTITY pgpkey.mbr SYSTEM "mbr.key">
<!ENTITY pgpkey.mdf SYSTEM "mdf.key">
<!ENTITY pgpkey.melifaro SYSTEM "melifaro.key">
<!ENTITY pgpkey.metal SYSTEM "metal.key">
<!ENTITY pgpkey.mheinen SYSTEM "mheinen.key">
<!ENTITY pgpkey.mi SYSTEM "mi.key">
<!ENTITY pgpkey.mich SYSTEM "mich.key">
<!ENTITY pgpkey.mikeh SYSTEM "mikeh.key">
<!ENTITY pgpkey.miwi SYSTEM "miwi.key">
<!ENTITY pgpkey.mjg SYSTEM "mjg.key">
<!ENTITY pgpkey.mlaier SYSTEM "mlaier.key">
<!ENTITY pgpkey.mm SYSTEM "mm.key">
<!ENTITY pgpkey.mnag SYSTEM "mnag.key">
<!ENTITY pgpkey.mp SYSTEM "mp.key">
<!ENTITY pgpkey.mtm SYSTEM "mtm.key">
<!ENTITY pgpkey.murray SYSTEM "murray.key">
<!ENTITY pgpkey.mux SYSTEM "mux.key">
<!ENTITY pgpkey.mva SYSTEM "mva.key">
<!ENTITY pgpkey.nate SYSTEM "nate.key">
<!ENTITY pgpkey.nectar SYSTEM "nectar.key">
<!ENTITY pgpkey.nemoliu SYSTEM "nemoliu.key">
<!ENTITY pgpkey.nemysis SYSTEM "nemysis.key">
<!ENTITY pgpkey.netchild SYSTEM "netchild.key">
<!ENTITY pgpkey.niels SYSTEM "niels.key">
<!ENTITY pgpkey.nik SYSTEM "nik.key">
<!ENTITY pgpkey.niklas SYSTEM "niklas.key">
<!ENTITY pgpkey.nivit SYSTEM "nivit.key">
<!ENTITY pgpkey.njl SYSTEM "njl.key">
<!ENTITY pgpkey.nork SYSTEM "nork.key">
<!ENTITY pgpkey.novel SYSTEM "novel.key">
<!ENTITY pgpkey.nox SYSTEM "nox.key">
<!ENTITY pgpkey.np SYSTEM "np.key">
<!ENTITY pgpkey.nsouch SYSTEM "nsouch.key">
<!ENTITY pgpkey.nwhitehorn SYSTEM "nwhitehorn.key">
<!ENTITY pgpkey.nyan SYSTEM "nyan.key">
<!ENTITY pgpkey.obraun SYSTEM "obraun.key">
<!ENTITY pgpkey.obrien SYSTEM "obrien.key">
<!ENTITY pgpkey.ohauer SYSTEM "ohauer.key">
<!ENTITY pgpkey.oleg SYSTEM "oleg.key">
<!ENTITY pgpkey.olgeni SYSTEM "olgeni.key">
<!ENTITY pgpkey.olivierd SYSTEM "olivierd.key">
<!ENTITY pgpkey.patrick SYSTEM "patrick.key">
<!ENTITY pgpkey.paul SYSTEM "paul.key">
<!ENTITY pgpkey.pav SYSTEM "pav.key">
<!ENTITY pgpkey.pclin SYSTEM "pclin.key">
<!ENTITY pgpkey.peadar SYSTEM "peadar.key">
<!ENTITY pgpkey.perky SYSTEM "perky.key">
<!ENTITY pgpkey.petef SYSTEM "petef.key">
<!ENTITY pgpkey.peter SYSTEM "peter.key">
<!ENTITY pgpkey.peterj SYSTEM "peterj.key">
<!ENTITY pgpkey.pfg SYSTEM "pfg.key">
<!ENTITY pgpkey.pgj SYSTEM "pgj.key">
<!ENTITY pgpkey.pgollucci SYSTEM "pgollucci.key">
<!ENTITY pgpkey.phantom SYSTEM "phantom.key">
<!ENTITY pgpkey.philip SYSTEM "philip.key">
<!ENTITY pgpkey.phk SYSTEM "phk.key">
<!ENTITY pgpkey.pho SYSTEM "pho.key">
<!ENTITY pgpkey.pirzyk SYSTEM "pirzyk.key">
<!ENTITY pgpkey.pjd SYSTEM "pjd.key">
<!ENTITY pgpkey.pluknet SYSTEM "pluknet.key">
<!ENTITY pgpkey.portmgr-secretary SYSTEM "portmgr-secretary.key">
<!ENTITY pgpkey.qingli SYSTEM "qingli.key">
<!ENTITY pgpkey.rafan SYSTEM "rafan.key">
<!ENTITY pgpkey.rakuco SYSTEM "rakuco.key">
<!ENTITY pgpkey.ray SYSTEM "ray.key">
<!ENTITY pgpkey.rdivacky SYSTEM "rdivacky.key">
<!ENTITY pgpkey.rea SYSTEM "rea.key">
<!ENTITY pgpkey.rees SYSTEM "rees.key">
<!ENTITY pgpkey.remko SYSTEM "remko.key">
<!ENTITY pgpkey.rene SYSTEM "rene.key">
<!ENTITY pgpkey.rich SYSTEM "rich.key">
<!ENTITY pgpkey.rik SYSTEM "rik.key">
<!ENTITY pgpkey.rink SYSTEM "rink.key">
<!ENTITY pgpkey.rm SYSTEM "rm.key">
<!ENTITY pgpkey.rmacklem SYSTEM "rmacklem.key">
<!ENTITY pgpkey.rmh SYSTEM "rmh.key">
<!ENTITY pgpkey.rnoland SYSTEM "rnoland.key">
<!ENTITY pgpkey.roam SYSTEM "roam.key">
<!ENTITY pgpkey.roberto SYSTEM "roberto.key">
<!ENTITY pgpkey.rodrigc SYSTEM "rodrigc.key">
<!ENTITY pgpkey.romain SYSTEM "romain.key">
<!ENTITY pgpkey.rpaulo SYSTEM "rpaulo.key">
<!ENTITY pgpkey.rrs SYSTEM "rrs.key">
<!ENTITY pgpkey.rstone SYSTEM "rstone.key">
<!ENTITY pgpkey.ru SYSTEM "ru.key">
<!ENTITY pgpkey.rushani SYSTEM "rushani.key">
<!ENTITY pgpkey.ryusuke SYSTEM "ryusuke.key">
<!ENTITY pgpkey.sahil SYSTEM "sahil.key">
<!ENTITY pgpkey.sam SYSTEM "sam.key">
<!ENTITY pgpkey.sanpei SYSTEM "sanpei.key">
<!ENTITY pgpkey.sat SYSTEM "sat.key">
<!ENTITY pgpkey.sbruno SYSTEM "sbruno.key">
<!ENTITY pgpkey.sbz SYSTEM "sbz.key">
<!ENTITY pgpkey.scheidell SYSTEM "scheidell.key">
<!ENTITY pgpkey.schweikh SYSTEM "schweikh.key">
<!ENTITY pgpkey.scop SYSTEM "scop.key">
<!ENTITY pgpkey.scottl SYSTEM "scottl.key">
<!ENTITY pgpkey.seanc SYSTEM "seanc.key">
+<!ENTITY pgpkey.secteam-secretary SYSTEM "secteam-secretary.key">
<!ENTITY pgpkey.security-officer SYSTEM "security-officer.key">
<!ENTITY pgpkey.sem SYSTEM "sem.key">
<!ENTITY pgpkey.sephe SYSTEM "sephe.key">
<!ENTITY pgpkey.sepotvin SYSTEM "sepotvin.key">
<!ENTITY pgpkey.sergei SYSTEM "sergei.key">
<!ENTITY pgpkey.shaun SYSTEM "shaun.key">
<!ENTITY pgpkey.sheldonh SYSTEM "sheldonh.key">
<!ENTITY pgpkey.simon SYSTEM "simon.key">
<!ENTITY pgpkey.sjg SYSTEM "sjg.key">
<!ENTITY pgpkey.skreuzer SYSTEM "skreuzer.key">
<!ENTITY pgpkey.snb SYSTEM "snb.key">
<!ENTITY pgpkey.sobomax SYSTEM "sobomax.key">
<!ENTITY pgpkey.sson SYSTEM "sson.key">
<!ENTITY pgpkey.ssouhlal SYSTEM "ssouhlal.key">
<!ENTITY pgpkey.stas SYSTEM "stas.key">
<!ENTITY pgpkey.stefan SYSTEM "stefan.key">
<!ENTITY pgpkey.stefanf SYSTEM "stefanf.key">
<!ENTITY pgpkey.stephane SYSTEM "stephane.key">
<!ENTITY pgpkey.stephen SYSTEM "stephen.key">
<!ENTITY pgpkey.sunpoet SYSTEM "sunpoet.key">
<!ENTITY pgpkey.swills SYSTEM "swills.key">
<!ENTITY pgpkey.sylvio SYSTEM "sylvio.key">
<!ENTITY pgpkey.syrinx SYSTEM "syrinx.key">
<!ENTITY pgpkey.syuu SYSTEM "syuu.key">
<!ENTITY pgpkey.tabthorpe SYSTEM "tabthorpe.key">
<!ENTITY pgpkey.taras SYSTEM "taras.key">
<!ENTITY pgpkey.tdb SYSTEM "tdb.key">
<!ENTITY pgpkey.theraven SYSTEM "theraven.key">
<!ENTITY pgpkey.thierry SYSTEM "thierry.key">
<!ENTITY pgpkey.thomas SYSTEM "thomas.key">
<!ENTITY pgpkey.thompsa SYSTEM "thompsa.key">
<!ENTITY pgpkey.tijl SYSTEM "tijl.key">
<!ENTITY pgpkey.timur SYSTEM "timur.key">
<!ENTITY pgpkey.tj SYSTEM "tj.key">
<!ENTITY pgpkey.tmclaugh SYSTEM "tmclaugh.key">
<!ENTITY pgpkey.tmm SYSTEM "tmm.key">
<!ENTITY pgpkey.tmseck SYSTEM "tmseck.key">
<!ENTITY pgpkey.tobez SYSTEM "tobez.key">
<!ENTITY pgpkey.tota SYSTEM "tota.key">
<!ENTITY pgpkey.trasz SYSTEM "trasz.key">
<!ENTITY pgpkey.trevor SYSTEM "trevor.key">
<!ENTITY pgpkey.trhodes SYSTEM "trhodes.key">
<!ENTITY pgpkey.tuexen SYSTEM "tuexen.key">
<!ENTITY pgpkey.twinterg SYSTEM "twinterg.key">
<!ENTITY pgpkey.ue SYSTEM "ue.key">
<!ENTITY pgpkey.ume SYSTEM "ume.key">
<!ENTITY pgpkey.ups SYSTEM "ups.key">
<!ENTITY pgpkey.uqs SYSTEM "uqs.key">
<!ENTITY pgpkey.vanilla SYSTEM "vanilla.key">
<!ENTITY pgpkey.vd SYSTEM "vd.key">
<!ENTITY pgpkey.versus SYSTEM "versus.key">
<!ENTITY pgpkey.vg SYSTEM "vg.key">
<!ENTITY pgpkey.viny SYSTEM "viny.key">
<!ENTITY pgpkey.vkashyap SYSTEM "vkashyap.key">
<!ENTITY pgpkey.vs SYSTEM "vs.key">
<!ENTITY pgpkey.vsevolod SYSTEM "vsevolod.key">
<!ENTITY pgpkey.wblock SYSTEM "wblock.key">
<!ENTITY pgpkey.wen SYSTEM "wen.key">
<!ENTITY pgpkey.weongyo SYSTEM "weongyo.key">
<!ENTITY pgpkey.wes SYSTEM "wes.key">
<!ENTITY pgpkey.wg SYSTEM "wg.key">
<!ENTITY pgpkey.wilko SYSTEM "wilko.key">
<!ENTITY pgpkey.will SYSTEM "will.key">
<!ENTITY pgpkey.wkoszek SYSTEM "wkoszek.key">
<!ENTITY pgpkey.wollman SYSTEM "wollman.key">
<!ENTITY pgpkey.wosch SYSTEM "wosch.key">
<!ENTITY pgpkey.wxs SYSTEM "wxs.key">
<!ENTITY pgpkey.xride SYSTEM "xride.key">
<!ENTITY pgpkey.yoichi SYSTEM "yoichi.key">
<!ENTITY pgpkey.yzlin SYSTEM "yzlin.key">
<!ENTITY pgpkey.zack SYSTEM "zack.key">
+<!ENTITY pgpkey.zbb SYSTEM "zbb.key">
<!ENTITY pgpkey.zeising SYSTEM "zeising.key">
<!ENTITY pgpkey.zi SYSTEM "zi.key">
<!ENTITY pgpkey.zml SYSTEM "zml.key">
<!ENTITY pgpkey.zont SYSTEM "zont.key">
<!ENTITY section.pgpkeys-core SYSTEM "pgpkeys-core.xml">
<!ENTITY section.pgpkeys-developers SYSTEM "pgpkeys-developers.xml">
<!ENTITY section.pgpkeys-officers SYSTEM "pgpkeys-officers.xml">
<!ENTITY section.pgpkeys-other SYSTEM "pgpkeys-other.xml">
Index: projects/zfsupdate-201307/share/pgpkeys/roberto.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/roberto.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/roberto.key (revision 42804)
@@ -1,227 +1,329 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh roberto 7DCAE9D3;
+sh ./addkey.sh roberto 0x8BE879B028731E1C;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 1024D/7DCAE9D3 1997-08-21
- Key fingerprint = 2945 61E7 D4E5 1D32 C100 DBEC A04F FB1B 7DCA E9D3
-uid Ollivier Robert <roberto@keltia.freenix.fr>
-uid Ollivier Robert <roberto@FreeBSD.org>
-sub 2048g/C267084D 1997-08-21
+pub 4096R/0x8BE879B028731E1C 2013-09-23 [expires: 2023-09-21]
+ Key fingerprint = 6E4B 152C D90D E292 5B97 D338 8BE8 79B0 2873 1E1C
+uid [ unknown] Ollivier Robert <roberto@keltia.net>
+uid [ unknown] Ollivier Robert <roberto@FreeBSD.org>
+uid [ unknown] Ollivier Robert <roberto@keltia.freenix.fr>
+uid [ unknown] [jpeg image of size 4268]
+sub 4096R/0x13B4B0E43FD6021F 2013-09-23 [expires: 2023-09-21]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.2 (FreeBSD)
-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
-izq3ic4=
-=mgE0
+mQINBFJAfoUBEADUsHJdPP6YM+aqspfqHGBXjLnwIJejPvm4oKR0QrFWlulPs8LQ
+p/nmVk5Ikcuex90/blHxD9Y4abVBabgEnXIgyJvVPZDUHxt7h3B9AwtVR5vKvqHq
+qtUZxT4Vy1wCXlv/kYNsDoF5LJeSx2//2PFP0Fg9+CV20XrO+P569tgGzcG9p7Yk
+iRORV9npVoXHofrIkQei8HbiWU8Gr+zz05IMWzVJEk54WDDAAxBoee/RechoAUR1
+jsfCFPNK8ClQDd4t+JLmSwPLQeuqj6AH6ZBwUleKpnpJ+y3/NwBdwgIIiFtGx41J
+Oe0Y8piAExlXKdMXK3yGae60aybnbCqnlrP3lh8+Qk90L/+aWFkD/nOktuX/Jdm0
+pZqwfZIJavTFPyh5zd5yRz4bv0XPNxQPm7RjFejam9ojLWkEPDwZEb9TVoos/fDX
+RmORb6BEWjBrWrsUNoiI73uY5HMLYQbxES6zhurDCW5njtM+xTcOUDGX71OMFHnu
+TmEUkDpyMT4ZntsbnZeY/MLlk0zDufvtwQ3llbWS2T57MBfHKwR6xGZE/P1wD3cF
+T6EuXHxCJT5t6KfPVmjAV8Z8uTHNIRCUilq3nUyOQQ5EKZ7CCoRHTP/TYCNszif5
+KEV6pOG7atJVycoaYA967Uzw5rOuWfRjhvsCKDTnH6lcQOhDioUz5iJILwARAQAB
+tCVPbGxpdmllciBSb2JlcnQgPHJvYmVydG9ARnJlZUJTRC5vcmc+iEYEEBEIAAYF
+AlJAgAkACgkQoE/7G33K6dNTogCg9mhByuv+tyqanKtIA7/kMM+Y9swAoIDpmxGm
+DsBUsLWmPfMwiir/JNfXiGsEEBECACsFAlJAg94FgwHihQAeGmh0dHA6Ly93d3cu
+Y2FjZXJ0Lm9yZy9jcHMucGhwAAoJENK7DQFl0P1YMWkAn1SYHSGyQSTx2jJIwflQ
+2hGGKTx1AKCTMmij3NDK+oLToTh4ceIcJXFRGokCHAQQAQgABgUCUkCYpgAKCRC4
+DqwV5A/9D42wEACcyJIkawIdJf2i4U219016ZaQ0fNxB3HdSMIwNviWeRr5mB0Dc
+iIHDLcQv8kBVCGECyIcEWblQw/P8f5jmwngI6rpBfoU8BWmpch1iUZOO/KeLkbuu
+O69H8/DwfuRcljucJiHAxR83MYTAz0FBjY1tmORyL4n8qNZbk/7K5jLxl/8x2EQl
+5mB4AvNEtgWB0d9UYoY1siLw5zAYUpoKkqCUQMMR8yxgkhwlpnBHSMY8dUl9I3GK
++8/ss5Fo4Fmx+ZDVLzLrRF6un2JIIWOROmoX6A+BHbJOL9iUp2ai3JPk6bH1Tkrw
+MJWFmtG7UAd81kiE7Bx9XgnD/uI7oKRoJim6gtuQLBVVEtVONuB6kbrQskZSaNbS
+8tLgswT+iQDMwFkGSR3d8JDS0RqZ13ay5+myHod/awnfyzd3YTVZc5nWKDQdHzOr
+VuUV1O8qhhLVbDtvnMrBIF352yraGrRzs/5G+qI7TgA7dzmRJg/wNU+gQYPWwNuo
+tOLqJ4Vr38dy1dkhipVWudn/L2t9vbhWf2yOa8PbZp1RX7TqSKjveHhuROu3JC6x
+ITAoifTj1a2CceRXkDbAarHKJEzK1iDwPqCRw37Qbo7StxnwKlCsHiwlU/QbNBYz
+swwaAnQ2fQeL2HFILRCV3+Q6ejppcTCK1kJdi96GcngE7S0qMb/LkPJY3okCPQQT
+AQgAJwUCUkB/CAIbAwUJEswDAAULCQgHAwUVCgkICwUWAwIBAAIeAQIXgAAKCRCL
+6HmwKHMeHCc1D/97E3ZmSzHh/6zmF5ePJFHiIKWWH0NLv6qLYSzRXolS0OpuwlOo
+QGvYOeubPMorAPG5nvmAI6NDkm7evNe7AfZtPkEfEVUJMnZs1ePOPghga/ihCxvI
+8+UBqEJshTYbmquoipAx7EppG8UuP3rb/D+FDkqCWz3me5S9oJrgAq9ndApNPQxL
+6ToK7CR+GAe/PjNNOOg8l702cUgxTae+B1uEqKMlE3f4dFEkHCFEddj832Bul7Dx
+SVO6Uds/aNpkFfw4EqTeIIsZCNqZGlYLi5uWbDsL6vusN97J1Mk55aVd1bsbdHoW
+nAbksuhjEneI7zlsCRMutqLEJjH7hNiJ9meV3dFtQV4LsO9Uxn7xA6ISGABENY2o
+A0WzhyV6Xd+c9Gn9feB8cqXRIuZPs6x+23SK6RAv2w8D0ENd2SR+zqU1nWkPGIwA
+3bXzwAB8nNsmQMVCxC59c1jza1loo6lzQfBASEwtwomctdOmI33caPITHXjXnEGn
+mAgifeSByCshlXyqhau+Pdua50B/vsZY4Z+jgDP6NihMYrmIMTHg7VAGZKlYCaNC
+OensTq7gnNVTOCobnhKV5f1833YnBoAdsbXgJai8HAZ5cY8TamK0Z2oEeONXRs+Z
+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
+/zmb0m0DfhX4GLg6Rhqfa5bi1fytormB9kNrzIEZuHIIlcMM9dMnCspXIHjJuIAQ
+KRkBlhW6LqT0GhJBmUgGW5DZskZz6E3GnkuYwCXWFiz/S5Ph7Qvx1UNlYbX/OqMe
+kRfERXxvp1nkNul9RB+hanm48CdSG0oGwZFgaMmajmOmFd6nCjCGSvbUiPe8TjSW
++6DckPVQ775cI5lTfyJYVv6Tg/MD6fDhezBNjkEqM3yipljRz//P/QEQAAEBAAAA
+AAAAAAAAAAAA/9j/2wBDACgcHiMeGSgjISMtKygwPGRBPDc3PHtYXUlkkYCZlo+A
+jIqgtObDoKrarYqMyP/L2u71////m8H////6/+b9//j/2wBDASstLTw1PHZBQXb4
+pYyl+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4
++Pj4+Pj/wAARCAEgANgDASEAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAEC
+AwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJx
+FDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpT
+VFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip
+qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6
+/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcF
+BAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl
+8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6
+goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU
+1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwBrSEnkkmnJDLJ0
+XA9TSAnSzHV2/Kp0hjT7qj607ASUUxBS0AFFAC0UAFFIBaKACimAtFABRQAUtABR
+SARvun6UUDKqQxp91efU1JQIWimAtFABRQAtFABS0AFFIBaKACimAtFABRSAKWgA
+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
+=rbLV
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/secteam-secretary.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/secteam-secretary.key (nonexistent)
+++ projects/zfsupdate-201307/share/pgpkeys/secteam-secretary.key (revision 42804)
@@ -0,0 +1,87 @@
+<!-- $FreeBSD$ -->
+<!--
+sh addkey.sh secteam-secretary 3CB2EAFCC3D6C666;
+-->
+<programlisting role="pgpfingerprint"><![CDATA[
+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]
+]]></programlisting>
+<programlisting role="pgpkey"><![CDATA[
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=5gJ7
+-----END PGP PUBLIC KEY BLOCK-----
+]]></programlisting>
Property changes on: projects/zfsupdate-201307/share/pgpkeys/secteam-secretary.key
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Index: projects/zfsupdate-201307/share/pgpkeys/security-officer.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/security-officer.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/security-officer.key (revision 42804)
@@ -1,134 +1,516 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh security-officer CA6CDFB2;
+sh addkey.sh security-officer 15D68804CA6CDFB2 ED67ECD65DCF6AE7;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 1024D/CA6CDFB2 2002-08-27 FreeBSD Security Officer <security-officer@FreeBSD.org>
- Key fingerprint = C374 0FC5 69A6 FBB1 4AED B131 15D6 8804 CA6C DFB2
-sub 2048g/A3071809 2002-08-27
+pub 1024D/15D68804CA6CDFB2 2002-08-27 [expires: 2014-01-01]
+ Key fingerprint = C374 0FC5 69A6 FBB1 4AED B131 15D6 8804 CA6C DFB2
+uid FreeBSD Security Officer <security-officer@FreeBSD.org>
+sub 2048g/E8C96EEFA3071809 2002-08-27 [expires: 2014-01-01]
+
+pub 4096R/ED67ECD65DCF6AE7 2013-09-24 [expires: 2018-01-01]
+ Key fingerprint = 1CF7 FF6F ADF5 CA9F BE1B 8CB2 ED67 ECD6 5DCF 6AE7
+uid FreeBSD Security Officer <security-officer@FreeBSD.org>
+sub 4096R/B64357A343D9CBAE 2013-09-24 [expires: 2018-01-01]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
-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
-KRrlaWusbYfqZn4BQsSpYw90evo=
-=BvhO
+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
+j8ApouRMJSTC9Udytow7beh1p7t7SfyoLdlsI/1a4T3TE58jPk3eir/DEAmh88Xy
+hXtRq7GBTx48wSa3lGRXfWPJW1ODYS4FViNyhRnZ8q3wkPEJxaHs58MkQqOwxGdP
+B/p14HW3T+IV59ACStlXLdfg5IkBIgQQAQIADAUCQxtZCQUDABJ1AAAKCRCXELib
+yletfE3PB/9TfKN/QBfAOAmeC1S9Wn6o0YB0WL0i16gtkrxavhvUCkWp29BOuCoe
+d8wh2ir6mg9KQ0i/QGTS028slOeO8IVX113aElUN7UsFgP6Oqx/aKtdCO+8ZppGv
+6G2QbvebgzPeHKO+UJ5tboA47c2NB+E6Zx4X5dGXQoL1KXSxcUHral9yB13+YBQc
+nMZWll+Lb2J4d5L2xG80/qZECxKspsSfTXtUdwYpQ0EN94DiWOt3YIVk+Fxv8328
+81RJFMvuR2jY/C8+Finw1BYkVloaXqpyBF4HclJQ+q6xRckv6CaR3pRAqfbSECCS
+ZmGpSHKDztTK8wWhnsi8GGb18U321arQiQEiBBABAgAMBQJDG1kJBQMAEnUAAAoJ
+EJcQuJvKV618Tc8H/1N8o39AF8A4CZ4LVL1afqjRgHRYvSLXqC2SvFq+G9QKRanb
+0E64Kh7/////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////
+//////////////////////////////////////+JAZwEEAECAAYFAlF1oN0ACgkQ
+jw7rxHtHFsmrwgv/aVGvQnxFX1BGQse85UTZig5GvslhktVGRcdBb86YKzsLxFRE
+Pc8IOqItTSxBtvSTQEyQuYXMZfP1+iw1uQm+OyqP0cEipeo/fCcUXDjndMslHb2O
+5jE1kqOGh3SvvQzUtS8Y6O/iKiR6urQFJYXGF4gkyvBRw9MyIf60HnSxM8QX8AMh
+C3JOoDrTIhFLq8WFkrdPU37zvJet/k80+uFXL7vToO8AIvzynRKzuQLRn0DlFUDA
+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
+OftW
+=6FEz
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/skreuzer.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/skreuzer.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/skreuzer.key (revision 42804)
@@ -1,55 +1,60 @@
<!-- $FreeBSD$ -->
<!--
sh ./addkey.sh skreuzer E0D6F907;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 1024D/E0D6F907 2009-03-16 [expires: 2013-04-25]
+pub 1024D/E0D6F907 2009-03-16 [expires: 2015-04-09]
Key fingerprint = 8D8F 14D6 ED9F 6BD0 7756 7A46 66BA B4B6 E0D6 F907
uid Steven Kreuzer <skreuzer@exit2shell.com>
uid Steven Kreuzer <skreuzer@freebsd.org>
+sub 4096g/76940A06 2009-03-16 [expires: 2015-03-13]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
-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
-97ttC8vSig==
-=hOc2
+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
+lgCfZOa+QkqMPrm6oNaz6hEDARjrAu4=
+=gqde
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/stas.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/stas.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/stas.key (revision 42804)
@@ -1,237 +1,85 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh stas 092FD9F0;
+sh addkey.sh stas 5617EAFB;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 4096R/092FD9F0 2009-05-23
- Key fingerprint = B83A B15D 929A 364A D8BC B3F9 BF25 A231 092F D9F0
+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@SpringDaemons.com>
-uid Stanislav Sedov (Corporate email) <stas@deglitch.com>
-uid Stanislav Sedov (Corporate email) <stas@ht-systems.ru>
-uid Stanislav Sedov (Corporate email) <ssedov@3playnet.com>
-uid Stanislav Sedov <ssedov@mbsd.msk.ru>
-uid Stanislav Sedov (Corporate email) <ssedov@swifttest.com>
-sub 4096R/6FD2025F 2009-05-23
+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]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
-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
-syiKxh4=
-=OeD1
+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
+=u0s4
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/syrinx.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/syrinx.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/syrinx.key (revision 42804)
@@ -1,41 +1,91 @@
<!-- $FreeBSD$ -->
<!--
-sh addkey.sh syrinx 1C139BC5;
+sh addkey.sh syrinx 35047F7A;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 1024D/1C139BC5 2006-10-07
- Key fingerprint = B83D 2451 27AB B767 504F CB85 4FB1 C88B 1C13 9BC5
-uid Shteryana Shopova (syrinx) <shteryana@FreeBSD.org>
-sub 2048g/6D2E9C98 2006-10-07
+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]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2.0.19 (FreeBSD)
-mQGiBEUn9lsRBADbufFsrk3YtL2jzdLYUufYV9goSp7joMMOwSLhSWf/98DoaW/d
-1bhwr9yAFfA81/ByuCEkigZl6jUW5AEEDuoJ4hxZG6th7OasSMCLHrGv4QCIDsiR
-Yo3TUFlh3Fg7SYZAxmGsMm44u/nB/0oZOWJeTzu4IkoG2QCfoRi+RUIEZwCgupdk
-xn2tovdQA+y5l7uxhm6MW2ED/Am3BVCM5EojGESa8QKTynKoWOzPFSvUvarqORru
-pEpmy5JdPjmf5mnfPvWcyccgAIi4VyuyGeqckFOJBBUaQ7w0Es7G9p+egp/e7UVC
-vgAVRKtSzix3TuXaaB04K3IJVY9vmEwTGO8Jy70Ab1hI/R4MbUUfzuWVaKUic9jB
-p3oRBAC8RgIM9zBTOtbsFTQ/LpiBL2X6oSRrJBvaLtFZEyG4aDGPxF/ESdfzIPrW
-3YePPinAgB1EhVawmP/uj3zhZQML3g69tVu9YhMhRb6C7v1h/nVC73wT3KDnGrPS
-eZzFhgHDr4zfEomXoR+HLjP3u9EMguyzlCfEO58QtTgeXKzZcrQyU2h0ZXJ5YW5h
-IFNob3BvdmEgKHN5cmlueCkgPHNodGVyeWFuYUBGcmVlQlNELm9yZz6IYAQTEQIA
-IAUCRSf2WwIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEE+xyIscE5vFGEEA
-nAhEEHq5H3tzKRdgX+PFn8wyzSgqAJsECHYU7maqvBfs8l34AOwuoK+TR7kCDQRF
-J/Z0EAgAxyVxRfbMBrSUGeCXI1FSWvqZJkrLUeQ2aCN0FiEmrjUMqTgkiZcxortS
-BS9Iuk8aEXv7d4S6qhJLfidM5XgxZs/wXFHNO30S+HHw5EwQuSDg1OGM/vY2i5y0
-hJqZuQos3SpUWx2Hl3y/BlExt+D5jwFyU9hUE1nNru3SltmryJwr+6PDFfom5iYc
-1FZpfnm60ZPK0cWDYk04uMYebgXd55acArmPvZMdzEYl/ChrB2GEv/JTVCJZZY0q
-rfI7WE2wwPb6/+WK+QINb9fqAdGsOlpOgkuFo7Xu+iKdH/EDGWnKQkLMPClM1xMK
-dclJKMz5y+l/GB/dTYWH4NtGeiIk5wADBwf/TLTluCRCFKDHkBuV68mJs/ShXpXw
-tnhaFF5snAmmtAH0zk81byw4Wt1+MUMYZ1rYrmhqyhXcqnAcHYatUbj2lyvzvCxo
-W2qdW6CE+0bj/pCM41oeRZi4LzJx3pYwSS2fPWaBWAeWZ6qLrHWT8lc0RrJMlteJ
-kDnchDP9AVxmi4bvpmUbNPdERDEE66XFtQ3zXpzmb0hLV1Hcv60KVYd3zzRADOaM
-tRnRMN53/yC0C+DDDoV6H4TJwxiTo5MTT7s9a9H/EfMY40RxFGjwojRukCTGWpuh
-pJf2WBCsnvBqVsqJLeOHyxwlbJhm/KXVRbFoAp6rZTshQ8M2kplmygIJEYhJBBgR
-AgAJBQJFJ/Z0AhsMAAoJEE+xyIscE5vFzHMAnjcjCi17pcNEGqdUuGWLXFCyQ5X/
-AKCNc4ZJinPdFRM5W3TXJmKRuGTOVw==
-=DE3R
+mQINBFJBrysBEADSu10akwktMSVYeCFQwfYvmDjw2VlVu7cAzzNpCK1CWPJIoH7a
+WB5Oq1RJhjjXOM61Uk0Ph47gdwHbL7nSxgUUagADKdWwjp5NX08CStCcn6uUKJzt
+bvNfe8r6/bp+AuAR5HED/Hgn+mKYushdpdZzhrNyJNurIRO21scydOVeb4Rn7z5v
+z/NNd0kT3YBWDtTQm+RS9iAXqKVHrMYnd4Z3YTeoH2U9RLcgpA9iNNo01VYNulTw
+J3/UbSElTs4Ub9j0d/DEJnxRleoa6pFdlJUQuek72m7/s2R9vvWlrX6Pyx7dU53e
+lBtcaQbsHbzcI8ysFhOXk6i1wI7JYwawgZh26nsx4hZ4MkgpU6nuqTx20Lx6Ady2
+mherH0UihW2somc+lXiM/NytHCu/afMKe+DpVC0IdClsKfv6XPwsXA4iFgRPm6cb
+7sLclNayImUHwpLrjdaFAxiHHunl0AUz5fxZwE9g0x1ucC7a0t/75dglxEIEybw9
+yJKb3FWHhOMytYPXJPS3vxwiZ9HrG7kYWRzMywTbr2cMF+Jm/aUbnvOzjyjxk3nQ
++k42g5fOiRyx8lxZSHKke/OsArWUPq+/Ec4F5o5cvm9zPxADjI6+TrqLDIxbROeu
+3+aAE1jUDtBMYgIdmsE5fQWYddVmO+Ga9GJADWR4gxG9b70nhXp3bNIqLQARAQAB
+tC9TaHRlcnlhbmEgU290aXJvdmEgU2hvcG92YSA8c3lyaW54QEZyZWVCU0Qub3Jn
+PokCQAQTAQgAKgIbAwUJCWYBgAULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAUCUkKT
+lwIZAQAKCRB+n0S3NQR/ej+lD/4o5a/cdA0Nx1nvNEbvkxWxw8HC+mO1qdMO2QG1
+iS+ib4Sp3/ws9gu2YS6wfgaPfkw/nAuvhLB1E83qjOS9jiGKy9c3Dokp5HqFkCiH
+DJR1vdTN4Ium8yEw3af2/CIRTO8Q5TRs00q6fMqMQ8rJCc3kOi3B5kBEkrJZN/on
+Qhe5XowqE+J7N6wicIEwHJQoINmtEbykrueNQSlwQ/2ItH8+i3c87hLp+NdIKKr0
+TshPLItiHTvBw6qQHbliJxsVouMQJ6cnq065VVNNEoHzMw9vzqQHmFGsAV2Eio6u
+mlJQYluPK3i9WSrgsdaSGJarp/erMQBcWXmjXvapzVtJrPsWgPVnQxi7aCROUmUO
+LMjH6T1lUZsJLpKhGXTPHtzuF/XL37ylyi4o8In7RR4Cmb413oGmL43odiNK3h0Q
+1aPCLtW1NCy0HUeFQKbx7s2HNADSq77W9oEZeBUO8Cy1LZp0wSQ426q5m8sGxsEJ
+LlvDm78p6MBJHLvNrZXwtgPIentt8ISYic1t5aWOg+xCrUyrIlLlqhpwESM74dWp
+ZEd8ajmrPqgB2YxwGV1IRZI4K4aZw3VzepiE0tZhoAKTcP6fO1TGi22oybsg7u6y
+LdjxIYAtMtognDf3zaADf2t1Yuwye8UJyNqqyk+8HRCc3uiYo5qobDmFdZc+RDpk
+Tr8m7bQyU2h0ZXJ5YW5hIFNvdGlyb3ZhIFNob3BvdmEgPHNodGVyeWFuYUBGcmVl
+QlNELm9yZz6JAj0EEwEIACcFAlJCk0MCGwMFCQlmAYAFCwkIBwMFFQoJCAsFFgID
+AQACHgECF4AACgkQfp9EtzUEf3rKqg/8DifDLjG3yYQ5d+dfCGm6pSEKgBtjsm28
+F8gISi1xaENOZnL3tAElMuaU0lN81mOzJXp6+FzE4v/eSezQXDmrFApvvCuBUkI4
+2xUBo50E292xI2CKZz4otnzWbWE8nTkGRBoT5GoAJfl+osUirEFAS8koTib/0i9F
+qLvvMWGulwazG5LwcK4X9HipFVJmvU4yxdlARVmxmQ9urDFrZpmz3MARS6xy9NxP
+UwXGxGLXTfcbi9sAkq6fYStLAYDFIHTqsQJ6V2SCwv7i2DdvxqinIv+Vvfi56B4D
+O5BAOTckSGCR3FLico8kFGkcm5UgMQsIF5EMgMwglZALltGwwq+FXSf53CZJ3OqD
+Hu15GTLEO7ys0tH+mPxFFE4o5uws/2PaLemphmJ5a8MQ3EOwqY7B/fhcswdHaYpc
+Go0aMSXuNhyAo0aYwCHVz8PHORAFF1eICXfn41J3UdFCUutf90+5eibdbIAAfdbK
+TpHt6RidocBwrMXUsTO7LYVkZ8d8KK/pEaPK8zBLxrwfupi/JAtO8SDHgjSIVkif
+OaJ9DA7k5rppNPxerqGKs4rpmza8i5sfgxnAFeXXFPCzgL+0G0olXDNv4Z9mwAPr
+Yc3+njLQmMTHqzkm8Dqe/4ZOVpS8ARt9zQq2Ov0jIy/TEPAnnj5bjlLNO1kFpViU
+f1hpPUa5KVm0MFNodGVyeWFuYSBTb3Rpcm92YSBTaG9wb3ZhIDxzaHRlcnlhbmFA
+Z21haWwuY29tPokCPQQTAQgAJwUCUkKTaAIbAwUJCWYBgAULCQgHAwUVCgkICwUW
+AgMBAAIeAQIXgAAKCRB+n0S3NQR/elb4D/4n57qSBwdVZ/eC2ILUUD2SdtL8m/FW
+t7w6jIW+DYCH2C7B4Vn0IvY4aFMVPGgrZxq6enKPGUMf75GwdnSbe3nkO7OUAVkP
+mkcI85i4FzjD60V58/yEHts6Y7qvzc2iYziP95LlWqeORt6509PiSvRVcBo5hcXd
+AqvIajECck1FrYcG/1Q5C11ClHk+vX4fepoZ2g36iXfDu4ltAZeMAj5U0ttgS+0I
+mlT57I/f1xHScdQwMtO+6XtYRL79FkXMQmGpFzxTBSeN6sqHsMI1qdybCHcNPtCT
+N606QXs+QWDxKXGRZt1kFozp/vR6G1bj4Z2H00gHeI3GrPXE7hKCFdv5iwKv1xI8
+uChRlzMr5CNM0bnQJstI+RV3aPZVRW8NXDPBp5c5zUOgL7WjyiJrZNsUMJzy/a++
+mo0yBi7INdhpcpuVyfD6vtaqNcph/ZyCIuW8cTNwFThlcCbLzoJkr7ZSqFDU7pYU
+evvPWO5GMwN46CFNE+KUhVzTeZMjBUJlPcUWXwo76LVVbCXRAtwvVvimO8bEs+es
+yThG/FuTlk4dh9Oy2vp4ktLngOuPWNV+mhJ46mQAu16zZpBpF3nivCvqO6KQH787
+meNJJ6YoqpCBGWjOsFcLgsjkmrkjD/yny5PWCNOq6YYj2Txk9Vnuvw7ASLTWzM6c
+i5rvyVueOL9a7LkCDQRSQa8rARAAvLANnDd49E4gdlMvhmQXYmuaobMMpzrFZatN
+ydsdr/KghWFNYYro/QUKvIBo8/Er/FAzOQ+crXDwLRVR5yhWiBwRd8qgx+Ii8CvU
+oaw38y9Yr8XavSLucWAdfoYjva8k3TbgNCdlBBhtLhE/JlebfBhnQq1fRmub3pCt
+fULTYAdpgG2yls+ExL9A/7EGeBarbYV3eDR7x6UK1v78pXvtOv5HDPDXkkhPzEXv
+yWRZtgqN1G5UQW2kojmRbwqoTqZYkXbhw8Kf2gXAXbePvci97hIRZWgrfLkoFEMU
+lGF1hANFVKoPgIQ7G9bysObG8JVX/jorwdoQQR8PK6vF/vhjNXFXVM2y90l68zqO
+wlgQoeJTHI5ZHMiIowUmj8UGDoywHUzZSXSCnPzESb8BDSCLwo6NOwYemdlhdKoc
+QXjznrLTeAwdlnEQTTSi5ODmDgON093mur8Cfeb/YG37ZJeOJ42Hes5+yr9DKDTZ
+uFeMiVBAqJzEmryutSdsK56EZdMRey2tpnNDO66UtDKPUwVoJNBa0EPK6ny/rErA
+JAHPJqx6kSz+0b5cTGROaRCfWmvYFC1YNwbPaFgs7Nkdcd9xgyqO0nq+qOAgxhaS
+0B2XTHS04LG5FWV+LT4ACRAmZYzMJP7dy/vWe8SRns7AaONwSCFNnyF+5E2luesT
+Xn/h1R0AEQEAAYkCJQQYAQgADwUCUkGvKwIbDAUJCWYBgAAKCRB+n0S3NQR/egRk
+D/99vxQE6CK52bz16iFwQdMc+OWgtAlNSumzLhVnhfqPSNSKYTIKFE7wrPWQbTe6
+arV5QUdYFVu0n/AMlpke/hyj+q14Ntj6SEkPPEmkq4MWtYRm39ux883LyVH8nTM7
+QpAI9lJepcYaNaZ4bUgKTaCHB7YVH8nBMS8vp/mxr/DQ7XLPeTAo1FRFUEId7OpY
+ZehmBdBXAW1GWFnFdKNyHr9aNQUCLVP4pKLWsma9foPfM41B9RhN77MLzNWONBLh
+UXoJHOULdlRi6BUM9DpDAVNvq29zV+wC7oiJOIAPT3wKJyjdBTn9rwcAsg5t0RTd
+7tjPUtHuzCrOd8KBB/LZNAqdLmZE3VILGgrSOIFA4mw1DGHYS5tjvqWmBjEcLLh8
+g9PX13vPhAK4Hy7gV4/ND5JNcBUU9o3Nzqg2/AQ5GNa087iHGZEQz8iQftvWkicQ
+GBWHR1UfQDlijh7MTweVFzlW18CJafAfz0K0+6Vhi5FlgVjW5BOfc1bBsaMJmsmr
+a4823qdbMGG20rNM6PlOhIqKNEmkWIAiK0dJ42lxchiFPYSheaoSQ0vhhR86fzGw
+axwZK4B12JVbmcpmvkX6h9iWvaAvdkt2Z8l4qJ1K+WGSanJ53uyg7tK2Gs1hmgL4
+5I+If+bgC9eQe0ofDmYFiYMx1uZ8+ErEA9wan9VPv1Ln8g==
+=nmvG
-----END PGP PUBLIC KEY BLOCK-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/thierry.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/thierry.key (revision 42803)
+++ projects/zfsupdate-201307/share/pgpkeys/thierry.key (revision 42804)
@@ -1,858 +1,142 @@
<!-- $FreeBSD$ -->
<!--
-sh /usr/doc/share/pgpkeys/addkey.sh thierry C71405A2;
+sh addkey.sh thierry F1C516B3C8359753;
-->
<programlisting role="pgpfingerprint"><![CDATA[
-pub 1024D/C71405A2 1997-10-11
- Key fingerprint = 3BB8 F358 C2F1 776C 65C9 AE51 73DE 698C C714 05A2
-uid Thierry Thomas <thierry@pompo.net>
-uid Thierry Thomas <tthomas@mail.dotcom.fr>
-uid Thierry Thomas (FreeBSD committer) <thierry@FreeBSD.org>
-sub 1024R/C5529925 2003-11-26
-sub 2048g/05CF3992 2008-02-05
+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]
]]></programlisting>
<programlisting role="pgpkey"><![CDATA[
-----BEGIN PGP PUBLIC KEY BLOCK-----
-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
-oMybWISax+SEH2PZ7dgbNw9pgQub
-=oY1+
+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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-----
]]></programlisting>
Index: projects/zfsupdate-201307/share/pgpkeys/zbb.key
===================================================================
--- projects/zfsupdate-201307/share/pgpkeys/zbb.key (nonexistent)
+++ projects/zfsupdate-201307/share/pgpkeys/zbb.key (revision 42804)
@@ -0,0 +1,41 @@
+<!-- $FreeBSD$ -->
+<!--
+sh ./share/pgpkeys/addkey.sh zbb C32C9921;
+-->
+<programlisting role="pgpfingerprint"><![CDATA[
+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]
+]]></programlisting>
+<programlisting role="pgpkey"><![CDATA[
+-----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-----
+]]></programlisting>
Property changes on: projects/zfsupdate-201307/share/pgpkeys/zbb.key
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/xml
\ No newline at end of property
Index: projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:09.ip_multicast.asc
===================================================================
--- projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:09.ip_multicast.asc (revision 42803)
+++ projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:09.ip_multicast.asc (revision 42804)
@@ -1,121 +1,128 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
+=============================================================================
FreeBSD-SA-13:09.ip_multicast Security Advisory
The FreeBSD Project
Topic: integer overflow in IP_MSFILTER
Category: core
Module: kernel
Announced: 2013-08-22
Credits: Clement Lecigne (Google Security Team)
Affects: All supported versions of FreeBSD.
Corrected: 2013-08-22 00:51:37 UTC (stable/9, 9.2-PRERELEASE)
+ 2013-08-22 00:51:43 UTC (releng/9.1, 9.2-RC1-p1)
2013-08-22 00:51:43 UTC (releng/9.2, 9.2-RC2-p1)
2013-08-22 00:51:48 UTC (releng/9.1, 9.1-RELEASE-p6)
2013-08-22 00:51:37 UTC (stable/8, 8.4-STABLE)
2013-08-22 00:51:56 UTC (releng/8.4, 8.4-RELEASE-p3)
2013-08-22 00:51:56 UTC (releng/8.3, 8.3-RELEASE-p10)
CVE Name: CVE-2013-3077
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit <URL:http://security.FreeBSD.org/>.
+0. Revision History
+
+v1.0 2013-08-22 Initial release.
+v1.1 2013-09-07 Binary patch released for 9.2-RC1.
+
I. Background
IP multicast is a method of sending Internet Protocol (IP) datagrams to a
group of interested receivers in a single transmission.
II. Problem Description
An integer overflow in computing the size of a temporary buffer can
result in a buffer which is too small for the requested operation.
III. Impact
An unprivileged process can read or write pages of memory which belong to
the kernel. These may lead to exposure of sensitive information or allow
privilege escalation.
IV. Workaround
No workaround is available.
V. Solution
Perform one of the following:
1) Upgrade your vulnerable system to a supported FreeBSD stable or
release / security branch (releng) dated after the correction date.
2) To update your vulnerable system via a source code patch:
The following patches have been verified to apply to the applicable
FreeBSD release branches.
a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.
# fetch http://security.FreeBSD.org/patches/SA-13:09/ip_multicast.patch
# fetch http://security.FreeBSD.org/patches/SA-13:09/ip_multicast.patch.asc
# gpg --verify ip_multicast.patch.asc
b) Apply the patch.
# cd /usr/src
# patch < /path/to/patch
c) Recompile your kernel as described in
<URL:http://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the
system.
3) To update your vulnerable system via a binary patch:
Systems running a RELEASE version of FreeBSD on the i386 or amd64
platforms can be updated via the freebsd-update(8) utility:
# freebsd-update fetch
# freebsd-update install
VI. Correction details
The following list contains the correction revision numbers for each
affected branch.
Branch/path Revision
- -------------------------------------------------------------------------
stable/8/ r254629
releng/8.3/ r254632
releng/8.4/ r254632
stable/9/ r254629
releng/9.1/ r254631
releng/9.2/ r254630
- -------------------------------------------------------------------------
To see which files were modified by a particular revision, run the
-following command, replacing XXXXXX with the revision number, on a
+following command, replacing NNNNNN with the revision number, on a
machine with Subversion installed:
-# svn diff -cXXXXXX --summarize svn://svn.freebsd.org/base
+# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
-Or visit the following URL, replacing XXXXXX with the revision number:
+Or visit the following URL, replacing NNNNNN with the revision number:
-<URL:http://svnweb.freebsd.org/base?view=revision&revision=XXXXXX>
+<URL:http://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
VII. References
<other info on vulnerability>
<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-3077>
The latest revision of this advisory is available at
<URL:http://security.FreeBSD.org/advisories/FreeBSD-SA-13:09.ip_multicast.asc>
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.21 (FreeBSD)
+Version: GnuPG v1.4.14 (FreeBSD)
-iEYEARECAAYFAlIVY1YACgkQFdaIBMps37K1cwCeOwXryun/C0EceD7v1se+z8w1
-EUYAoJ7Hh/bOjyuD6oR6ZOEqtDVIL5LP
-=6Ehk
+iEYEARECAAYFAlIu+gwACgkQFdaIBMps37L2+QCePwycOYKrh9VJi7Pc2AS+DfsQ
+UcUAnimJz9bKgDUOEIwefkPbF85yH3aw
+=tnWM
-----END PGP SIGNATURE-----
Index: projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:10.sctp.asc
===================================================================
--- projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:10.sctp.asc (revision 42803)
+++ projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:10.sctp.asc (revision 42804)
@@ -1,133 +1,139 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
=============================================================================
FreeBSD-SA-13:10.sctp Security Advisory
The FreeBSD Project
Topic: Kernel memory disclosure in sctp(4)
Category: core
Module: sctp
Announced: 2013-08-22
Credits: Julian Seward, Michael Tuexen
Affects: All supported versions of FreeBSD.
Corrected: 2013-08-15 04:25:16 UTC (stable/9, 9.2-PRERELEASE)
+ 2013-08-15 05:14:20 UTC (releng/9.2, 9.2-RC1-p1)
2013-08-15 05:14:20 UTC (releng/9.2, 9.2-RC2)
2013-08-22 00:51:48 UTC (releng/9.1, 9.1-RELEASE-p6)
2013-08-15 04:35:25 UTC (stable/8, 8.4-STABLE)
2013-08-22 00:51:56 UTC (releng/8.4, 8.4-RELEASE-p3)
2013-08-22 00:51:56 UTC (releng/8.3, 8.3-RELEASE-p10)
CVE Name: CVE-2013-5209
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit <URL:http://security.FreeBSD.org/>.
+0. Revision History
+
+v1.0 2013-08-22 Initial release.
+v1.1 2013-09-07 Binary patch released for 9.2-RC1.
+
I. Background
The SCTP protocol provides reliable, flow-controlled, two-way transmission
of data. It is a message oriented protocol and can support the SOCK_STREAM
and SOCK_SEQPACKET abstractions.
The SCTP protocol checks the integrity of messages by validating the state
cookie information that is returned from the peer.
II. Problem Description
When initializing the SCTP state cookie being sent in INIT-ACK chunks,
a buffer allocated from the kernel stack is not completely initialized.
III. Impact
Fragments of kernel memory may be included in SCTP packets and
transmitted over the network. For each SCTP session, there are two
separate instances in which a 4-byte fragment may be transmitted.
This memory might contain sensitive information, such as portions of the
file cache or terminal buffers. This information might be directly
useful, or it might be leveraged to obtain elevated privileges in
-some way. For example, a terminal buffer might include an user-entered
+some way. For example, a terminal buffer might include a user-entered
password.
IV. Workaround
No workaround is available, but systems not using the SCTP protocol
are not vulnerable.
V. Solution
Perform one of the following:
1) Upgrade your vulnerable system to a supported FreeBSD stable or
release / security branch (releng) dated after the correction date.
2) To update your vulnerable system via a source code patch:
The following patches have been verified to apply to the applicable
FreeBSD release branches.
a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.
# fetch http://security.FreeBSD.org/patches/SA-13:10/sctp.patch
# fetch http://security.FreeBSD.org/patches/SA-13:10/sctp.patch.asc
# gpg --verify sctp.patch.asc
b) Apply the patch.
# cd /usr/src
# patch < /path/to/patch
c) Recompile your kernel as described in
<URL:http://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the
system.
3) To update your vulnerable system via a binary patch:
Systems running a RELEASE version of FreeBSD on the i386 or amd64
platforms can be updated via the freebsd-update(8) utility:
# freebsd-update fetch
# freebsd-update install
VI. Correction details
The following list contains the correction revision numbers for each
affected branch.
Branch/path Revision
- -------------------------------------------------------------------------
stable/8/ r254354
releng/8.3/ r254632
releng/8.4/ r254632
stable/9/ r254352
releng/9.1/ r254631
releng/9.2/ r254355
- -------------------------------------------------------------------------
To see which files were modified by a particular revision, run the
-following command, replacing XXXXXX with the revision number, on a
+following command, replacing NNNNNN with the revision number, on a
machine with Subversion installed:
-# svn diff -cXXXXXX --summarize svn://svn.freebsd.org/base
+# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
-Or visit the following URL, replacing XXXXXX with the revision number:
+Or visit the following URL, replacing NNNNNN with the revision number:
-<URL:http://svnweb.freebsd.org/base?view=revision&revision=XXXXXX>
+<URL:http://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
VII. References
<other info on vulnerability>
<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-5209>
The latest revision of this advisory is available at
<URL:http://security.FreeBSD.org/advisories/FreeBSD-SA-13:10.sctp.asc>
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.21 (FreeBSD)
+Version: GnuPG v1.4.14 (FreeBSD)
-iEYEARECAAYFAlIVY1YACgkQFdaIBMps37L0AQCgh30FZd+f+rmzMabRFkTPVEmX
-tZgAnRuZptKgvlHkqnEhUj30tH6xLDCO
-=KJ8k
+iEYEARECAAYFAlIu+g8ACgkQFdaIBMps37JBjgCgkRdb24STra3EjItZymFqU0S8
+6rQAn0EQeP1D8BUCIbzR5uNYrrNv9Eo6
+=2Ot5
-----END PGP SIGNATURE-----
Index: projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:11.sendfile.asc
===================================================================
--- projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:11.sendfile.asc (nonexistent)
+++ projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:11.sendfile.asc (revision 42804)
@@ -0,0 +1,126 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+=============================================================================
+FreeBSD-SA-13:11.sendfile Security Advisory
+ The FreeBSD Project
+
+Topic: Kernel memory disclosure in sendfile(2)
+
+Category: core
+Module: sendfile
+Announced: 2013-09-10
+Credits: Ed Maste
+Affects: FreeBSD 9.2-RC1 and 9.2-RC2
+Corrected: 2013-09-10 10:07:21 UTC (stable/9, 9.2-STABLE)
+ 2013-09-10 10:08:20 UTC (releng/9.2, 9.2-RC1-p2)
+ 2013-09-10 10:08:20 UTC (releng/9.2, 9.2-RC2-p2)
+CVE Name: CVE-2013-5666
+
+For general information regarding FreeBSD Security Advisories,
+including descriptions of the fields above, security branches, and the
+following sections, please visit <URL:http://security.FreeBSD.org/>.
+
+I. Background
+
+The sendfile(2) system call allows a server application (such as an
+HTTP or FTP server) to transmit the contents of a file over a network
+connection without first copying it to application memory. High
+performance servers such as Apache and ftpd use sendfile.
+
+II. Problem Description
+
+On affected systems, if the length passed to sendfile(2) is non-zero
+and greater than the length of the file being transmitted, sendfile(2)
+will pad the transmission up to the requested length or the next
+pagesize boundary, whichever is smaller.
+
+The content of the additional bytes transmitted in this manner depends
+on the underlying filesystem, but may potentially include information
+useful to an attacker.
+
+III. Impact
+
+An unprivileged user with the ability to run arbitrary code may be
+able to obtain arbitrary kernel memory contents.
+
+IV. Workaround
+
+No workaround is available.
+
+V. Solution
+
+Perform one of the following:
+
+1) Upgrade your vulnerable system to a supported FreeBSD stable or
+release / security branch (releng) dated after the correction date.
+
+2) To update your vulnerable system via a source code patch:
+
+The following patches have been verified to apply to the applicable
+FreeBSD release branches.
+
+a) Download the relevant patch from the location below, and verify the
+detached PGP signature using your PGP utility.
+
+[FreeBSD 9.2-STABLE]
+# fetch http://security.FreeBSD.org/patches/SA-13:11/sendfile-9.2-stable.patch
+# fetch http://security.FreeBSD.org/patches/SA-13:11/sendfile-9.2-stable.patch.asc
+# gpg --verify sendfile-9.2-stable.patch.asc
+
+[FreeBSD 9.2-RC1 and 9.2-RC2]
+# fetch http://security.FreeBSD.org/patches/SA-13:11/sendfile-9.2-rc.patch
+# fetch http://security.FreeBSD.org/patches/SA-13:11/sendfile-9.2-rc.patch.asc
+# gpg --verify sendfile-9.2-rc.patch.asc
+
+b) Apply the patch.
+
+# cd /usr/src
+# patch < /path/to/patch
+
+c) Recompile your kernel as described in
+<URL:http://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the
+system.
+
+3) To update your vulnerable system via a binary patch:
+
+Systems running a RELEASE version of FreeBSD on the i386 or amd64
+platforms can be updated via the freebsd-update(8) utility:
+
+# freebsd-update fetch
+# freebsd-update install
+
+VI. Correction details
+
+The following list contains the correction revision numbers for each
+affected branch.
+
+Branch/path Revision
+- -------------------------------------------------------------------------
+stable/9/ r255443
+releng/9.2/ r255444
+- -------------------------------------------------------------------------
+
+To see which files were modified by a particular revision, run the
+following command, replacing NNNNNN with the revision number, on a
+machine with Subversion installed:
+
+# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
+
+Or visit the following URL, replacing NNNNNN with the revision number:
+
+<URL:http://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
+
+VII. References
+
+<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-5666>
+
+The latest revision of this advisory is available at
+<URL:http://security.FreeBSD.org/advisories/FreeBSD-SA-13:11.sendfile.asc>
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.14 (FreeBSD)
+
+iEYEARECAAYFAlIu8rIACgkQFdaIBMps37K01ACgmwaW3PZhjDqWSlTHusjIPNVy
+A/YAn3DFUAvlX8sH89taM+sedjbD5In8
+=gZwu
+-----END PGP SIGNATURE-----
Property changes on: projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:11.sendfile.asc
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:12.ifioctl.asc
===================================================================
--- projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:12.ifioctl.asc (nonexistent)
+++ projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:12.ifioctl.asc (revision 42804)
@@ -0,0 +1,150 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+=============================================================================
+FreeBSD-SA-13:12.ifioctl Security Advisory
+ The FreeBSD Project
+
+Topic: Insufficient credential checks in network ioctl(2)
+
+Category: core
+Module: sys_netinet6 sys_netatm
+Announced: 2013-09-10
+Credits: Loganaden Velvindron
+ Gleb Smirnoff
+Affects: All supported versions of FreeBSD.
+Corrected: 2013-09-10 10:07:21 UTC (stable/9, 9.2-STABLE)
+ 2013-09-10 10:08:20 UTC (releng/9.2, 9.2-RC1-p2)
+ 2013-09-10 10:08:20 UTC (releng/9.2, 9.2-RC2-p2)
+ 2013-09-10 10:08:20 UTC (releng/9.2, 9.2-RC3-p1)
+ 2013-09-10 10:15:33 UTC (releng/9.1, 9.1-RELEASE-p7)
+ 2013-09-10 10:12:09 UTC (stable/8, 8.4-STABLE)
+ 2013-09-10 10:14:19 UTC (releng/8.4, 8.4-RELEASE-p4)
+ 2013-09-10 10:13:14 UTC (releng/8.3, 8.3-RELEASE-p11)
+CVE Name: CVE-2013-5691
+
+For general information regarding FreeBSD Security Advisories,
+including descriptions of the fields above, security branches, and the
+following sections, please visit <URL:http://security.FreeBSD.org/>.
+
+I. Background
+
+The ioctl(2) system call allows an application to perform device- or
+protocol-specific operations through a file or socket descriptor
+associated with a specific device or protocol.
+
+The SIOCSIFADDR, SIOCSIFBRDADDR, SIOCSIFDSTADDR and SIOCSIFNETMASK
+ioctl requests are used to associate a network address, broadcast
+address, destination address (for point-to-point interfaces) or
+netmask with an interface. They operate on the assumption that each
+interface only has one address per protocol, and are therefore of
+limited use for IPv4, where interfaces may have more than one address.
+They were never implemented for IPv6, where interfaces nearly always
+have at least two, and in many cases three, addresses; nor were they
+ever implemented for ATM.
+
+II. Problem Description
+
+As is commonly the case, the IPv6 and ATM network layer ioctl request
+handlers are written in such a way that an unrecognized request is
+passed on unmodified to the link layer, which will either handle it or
+return an error code.
+
+Network interface drivers, however, assume that the SIOCSIFADDR,
+SIOCSIFBRDADDR, SIOCSIFDSTADDR and SIOCSIFNETMASK requests have been
+handled at the network layer, and therefore do not perform input
+validation or verify the caller's credentials. Typical link-layer
+actions for these requests may include marking the interface as "up"
+and resetting the underlying hardware.
+
+III. Impact
+
+An unprivileged user with the ability to run arbitrary code can cause
+any network interface in the system to perform the link layer actions
+associated with a SIOCSIFADDR, SIOCSIFBRDADDR, SIOCSIFDSTADDR or
+SIOCSIFNETMASK ioctl request; or trigger a kernel panic by passing a
+specially crafted address structure which causes a network interface
+driver to dereference an invalid pointer.
+
+Although this has not been confirmed, the possibility that an attacker
+may be able to execute arbitrary code in kernel context can not be
+ruled out.
+
+IV. Workaround
+
+No workaround is available.
+
+V. Solution
+
+Perform one of the following:
+
+1) Upgrade your vulnerable system to a supported FreeBSD stable or
+release / security branch (releng) dated after the correction date.
+
+2) To update your vulnerable system via a source code patch:
+
+The following patches have been verified to apply to the applicable
+FreeBSD release branches.
+
+a) Download the relevant patch from the location below, and verify the
+detached PGP signature using your PGP utility.
+
+# fetch http://security.FreeBSD.org/patches/SA-13:12/ifioctl.patch
+# fetch http://security.FreeBSD.org/patches/SA-13:12/ifioctl.patch.asc
+# gpg --verify ifioctl.patch.asc
+
+b) Apply the patch.
+
+# cd /usr/src
+# patch < /path/to/patch
+
+c) Recompile your kernel as described in
+<URL:http://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the
+system.
+
+3) To update your vulnerable system via a binary patch:
+
+Systems running a RELEASE version of FreeBSD on the i386 or amd64
+platforms can be updated via the freebsd-update(8) utility:
+
+# freebsd-update fetch
+# freebsd-update install
+
+VI. Correction details
+
+The following list contains the correction revision numbers for each
+affected branch.
+
+Branch/path Revision
+- -------------------------------------------------------------------------
+stable/8/ r255445
+releng/8.3/ r255446
+releng/8.4/ r255447
+stable/9/ r255443
+releng/9.1/ r255448
+releng/9.2/ r255444
+- -------------------------------------------------------------------------
+
+To see which files were modified by a particular revision, run the
+following command, replacing NNNNNN with the revision number, on a
+machine with Subversion installed:
+
+# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
+
+Or visit the following URL, replacing NNNNNN with the revision number:
+
+<URL:http://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
+
+VII. References
+
+<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-5691>
+
+The latest revision of this advisory is available at
+<URL:http://security.FreeBSD.org/advisories/FreeBSD-SA-13:12.ifioctl.asc>
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.14 (FreeBSD)
+
+iEYEARECAAYFAlIu8rUACgkQFdaIBMps37ImRQCdGUcSBvK6+kAN69aGChHT6fVb
+YI4AoJNveN9PSowTG0NnUkPJR9oJimZT
+=xb3g
+-----END PGP SIGNATURE-----
Property changes on: projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:12.ifioctl.asc
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:13.nullfs.asc
===================================================================
--- projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:13.nullfs.asc (nonexistent)
+++ projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:13.nullfs.asc (revision 42804)
@@ -0,0 +1,138 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+=============================================================================
+FreeBSD-SA-13:13.nullfs Security Advisory
+ The FreeBSD Project
+
+Topic: Cross-mount links between nullfs(5) mounts
+
+Category: core
+Module: nullfs
+Announced: 2013-09-10
+Credits: Konstantin Belousov
+Affects: All supported versions of FreeBSD.
+Corrected: 2013-09-10 10:07:21 UTC (stable/9, 9.2-STABLE)
+ 2013-09-10 10:08:20 UTC (releng/9.2, 9.2-RC1-p2)
+ 2013-09-10 10:08:20 UTC (releng/9.2, 9.2-RC2-p2)
+ 2013-09-10 10:08:20 UTC (releng/9.2, 9.2-RC3-p1)
+ 2013-09-10 10:15:33 UTC (releng/9.1, 9.1-RELEASE-p7)
+ 2013-09-10 10:12:09 UTC (stable/8, 8.4-STABLE)
+ 2013-09-10 10:14:19 UTC (releng/8.4, 8.4-RELEASE-p4)
+ 2013-09-10 10:13:14 UTC (releng/8.3, 8.3-RELEASE-p11)
+CVE Name: CVE-2013-5710
+
+For general information regarding FreeBSD Security Advisories,
+including descriptions of the fields above, security branches, and the
+following sections, please visit <URL:http://security.FreeBSD.org/>.
+
+I. Background
+
+The nullfs(5) filesystem allows all or a part of an already mounted
+filesystem to be made available in a different part of the global
+filesystem namespace. It is commonly used to make a set of files
+available to multiple chroot(2) or jail(2) environments without
+replicating the files in each environment. A common idiom, described
+in the FreeBSD Handbook, is to mount one subtree of a filesystem
+read-only within a jail's filesystem namespace, and mount a different
+subtree of the same filesystem read-write.
+
+II. Problem Description
+
+The nullfs(5) implementation of the VOP_LINK(9) VFS operation does not
+check whether the source and target of the link are both in the same
+nullfs instance. It is therefore possible to create a hardlink from a
+location in one nullfs instance to a file in another, as long as the
+underlying (source) filesystem is the same.
+
+III. Impact
+
+If multiple nullfs views into the same filesystem are mounted in
+different locations, a user with read access to one of these views and
+write access to another will be able to create a hard link from the
+latter to a file in the former, even though they are, from the user's
+perspective, different filesystems. The user may thereby gain write
+access to files which are nominally on a read-only filesystem.
+
+IV. Workaround
+
+No workaround is available, but systems which do not use the nullfs(5)
+filesystem, or do not null-mount different subtrees of the same source
+filesystem with different permissions, are not vulnerable.
+
+V. Solution
+
+Perform one of the following:
+
+1) Upgrade your vulnerable system to a supported FreeBSD stable or
+release / security branch (releng) dated after the correction date.
+
+2) To update your vulnerable system via a source code patch:
+
+The following patches have been verified to apply to the applicable
+FreeBSD release branches.
+
+a) Download the relevant patch from the location below, and verify the
+detached PGP signature using your PGP utility.
+
+# fetch http://security.FreeBSD.org/patches/SA-13:13/nullfs.patch
+# fetch http://security.FreeBSD.org/patches/SA-13:13/nullfs.patch.asc
+# gpg --verify nullfs.patch.asc
+
+b) Apply the patch.
+
+# cd /usr/src
+# patch < /path/to/patch
+
+c) Recompile your kernel as described in
+<URL:http://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the
+system.
+
+3) To update your vulnerable system via a binary patch:
+
+Systems running a RELEASE version of FreeBSD on the i386 or amd64
+platforms can be updated via the freebsd-update(8) utility:
+
+# freebsd-update fetch
+# freebsd-update install
+
+VI. Correction details
+
+The following list contains the correction revision numbers for each
+affected branch.
+
+Branch/path Revision
+- -------------------------------------------------------------------------
+stable/8/ r255445
+releng/8.3/ r255446
+releng/8.4/ r255447
+stable/9/ r255443
+releng/9.1/ r255448
+releng/9.2/ r255444
+- -------------------------------------------------------------------------
+
+To see which files were modified by a particular revision, run the
+following command, replacing NNNNNN with the revision number, on a
+machine with Subversion installed:
+
+# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
+
+Or visit the following URL, replacing NNNNNN with the revision number:
+
+<URL:http://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
+
+VII. References
+
+<URL:http://www.freebsd.org/doc/en/books/handbook/jails-application.html>
+
+<URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-5710>
+
+The latest revision of this advisory is available at
+<URL:http://security.FreeBSD.org/advisories/FreeBSD-SA-13:13.nullfs.asc>
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.14 (FreeBSD)
+
+iEYEARECAAYFAlIu+7EACgkQFdaIBMps37K+7gCfVrmhwyE+k5QU3Z4wsdJFoeyL
+BqEAn23QlLQ7o4HlDSiJuPoX622IsFbk
+=/7Zz
+-----END PGP SIGNATURE-----
Property changes on: projects/zfsupdate-201307/share/security/advisories/FreeBSD-SA-13:13.nullfs.asc
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-rc.patch
===================================================================
--- projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-rc.patch (nonexistent)
+++ projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-rc.patch (revision 42804)
@@ -0,0 +1,20 @@
+Index: sys/kern/uipc_syscalls.c
+===================================================================
+--- sys/kern/uipc_syscalls.c (revision 253912)
++++ sys/kern/uipc_syscalls.c (working copy)
+@@ -2087,11 +2087,10 @@
+ * or the passed in nbytes.
+ */
+ pgoff = (vm_offset_t)(off & PAGE_MASK);
+- if (uap->nbytes)
+- rem = (uap->nbytes - fsbytes - loopbytes);
+- else
+- rem = va.va_size -
+- uap->offset - fsbytes - loopbytes;
++ rem = obj->un_pager.vnp.vnp_size - uap->offset;
++ if (uap->nbytes != 0)
++ rem = omin(rem, uap->nbytes);
++ rem -= fsbytes + loopbytes;
+ xfsize = omin(PAGE_SIZE - pgoff, rem);
+ xfsize = omin(space - loopbytes, xfsize);
+ if (xfsize <= 0) {
Property changes on: projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-rc.patch
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-rc.patch.asc
===================================================================
--- projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-rc.patch.asc (nonexistent)
+++ projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-rc.patch.asc (revision 42804)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.14 (FreeBSD)
+
+iEYEABECAAYFAlIuF7gACgkQFdaIBMps37LokwCcD0WafThPclpU1qRNCTzNhe61
+S04AmwfYZwH8ZsCbTWFw1bZVOhcqim/m
+=6DgA
+-----END PGP SIGNATURE-----
Property changes on: projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-rc.patch.asc
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-stable.patch
===================================================================
--- projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-stable.patch (nonexistent)
+++ projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-stable.patch (revision 42804)
@@ -0,0 +1,20 @@
+Index: sys/kern/uipc_syscalls.c
+===================================================================
+--- sys/kern/uipc_syscalls.c (revision 255414)
++++ sys/kern/uipc_syscalls.c (working copy)
+@@ -2126,11 +2126,10 @@
+ * or the passed in nbytes.
+ */
+ pgoff = (vm_offset_t)(off & PAGE_MASK);
+- if (uap->nbytes)
+- rem = (uap->nbytes - fsbytes - loopbytes);
+- else
+- rem = va.va_size -
+- uap->offset - fsbytes - loopbytes;
++ rem = va.va_size - uap->offset;
++ if (uap->nbytes != 0)
++ rem = omin(rem, uap->nbytes);
++ rem -= fsbytes + loopbytes;
+ xfsize = omin(PAGE_SIZE - pgoff, rem);
+ xfsize = omin(space - loopbytes, xfsize);
+ if (xfsize <= 0) {
Property changes on: projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-stable.patch
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-stable.patch.asc
===================================================================
--- projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-stable.patch.asc (nonexistent)
+++ projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-stable.patch.asc (revision 42804)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.14 (FreeBSD)
+
+iEYEABECAAYFAlIuF70ACgkQFdaIBMps37Ir2ACeJiObKBkQvyI/3HTotiQnx+7p
+laYAoJZlhgNrqHbAiaDg5qjUbTPZCECa
+=GX/T
+-----END PGP SIGNATURE-----
Property changes on: projects/zfsupdate-201307/share/security/patches/SA-13:11/sendfile-9.2-stable.patch.asc
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: projects/zfsupdate-201307/share/security/patches/SA-13:12/ifioctl.patch
===================================================================
--- projects/zfsupdate-201307/share/security/patches/SA-13:12/ifioctl.patch (nonexistent)
+++ projects/zfsupdate-201307/share/security/patches/SA-13:12/ifioctl.patch (revision 42804)
@@ -0,0 +1,89 @@
+Index: sys/net/if.c
+===================================================================
+--- sys/net/if.c (revision 254941)
++++ sys/net/if.c (working copy)
+@@ -2553,11 +2553,23 @@
+ CURVNET_RESTORE();
+ return (EOPNOTSUPP);
+ }
++
++ /*
++ * Pass the request on to the socket control method, and if the
++ * latter returns EOPNOTSUPP, directly to the interface.
++ *
++ * Make an exception for the legacy SIOCSIF* requests. Drivers
++ * trust SIOCSIFADDR et al to come from an already privileged
++ * layer, and do not perform any credentials checks or input
++ * validation.
++ */
+ #ifndef COMPAT_43
+ error = ((*so->so_proto->pr_usrreqs->pru_control)(so, cmd,
+ data,
+ ifp, td));
+- if (error == EOPNOTSUPP && ifp != NULL && ifp->if_ioctl != NULL)
++ if (error == EOPNOTSUPP && ifp != NULL && ifp->if_ioctl != NULL &&
++ cmd != SIOCSIFADDR && cmd != SIOCSIFBRDADDR &&
++ cmd != SIOCSIFDSTADDR && cmd != SIOCSIFNETMASK)
+ error = (*ifp->if_ioctl)(ifp, cmd, data);
+ #else
+ {
+@@ -2601,7 +2613,9 @@
+ data,
+ ifp, td));
+ if (error == EOPNOTSUPP && ifp != NULL &&
+- ifp->if_ioctl != NULL)
++ ifp->if_ioctl != NULL &&
++ cmd != SIOCSIFADDR && cmd != SIOCSIFBRDADDR &&
++ cmd != SIOCSIFDSTADDR && cmd != SIOCSIFNETMASK)
+ error = (*ifp->if_ioctl)(ifp, cmd, data);
+ switch (ocmd) {
+
+Index: sys/netinet6/in6.c
+===================================================================
+--- sys/netinet6/in6.c (revision 254941)
++++ sys/netinet6/in6.c (working copy)
+@@ -431,6 +431,18 @@
+ case SIOCGIFSTAT_ICMP6:
+ sa6 = &ifr->ifr_addr;
+ break;
++ case SIOCSIFADDR:
++ case SIOCSIFBRDADDR:
++ case SIOCSIFDSTADDR:
++ case SIOCSIFNETMASK:
++ /*
++ * Although we should pass any non-INET6 ioctl requests
++ * down to driver, we filter some legacy INET requests.
++ * Drivers trust SIOCSIFADDR et al to come from an already
++ * privileged layer, and do not perform any credentials
++ * checks or input validation.
++ */
++ return (EINVAL);
+ default:
+ sa6 = NULL;
+ break;
+Index: sys/netnatm/natm.c
+===================================================================
+--- sys/netnatm/natm.c (revision 254941)
++++ sys/netnatm/natm.c (working copy)
+@@ -339,6 +339,21 @@
+ npcb = (struct natmpcb *)so->so_pcb;
+ KASSERT(npcb != NULL, ("natm_usr_control: npcb == NULL"));
+
++ switch (cmd) {
++ case SIOCSIFADDR:
++ case SIOCSIFBRDADDR:
++ case SIOCSIFDSTADDR:
++ case SIOCSIFNETMASK:
++ /*
++ * Although we should pass any non-ATM ioctl requests
++ * down to driver, we filter some legacy INET requests.
++ * Drivers trust SIOCSIFADDR et al to come from an already
++ * privileged layer, and do not perform any credentials
++ * checks or input validation.
++ */
++ return (EINVAL);
++ }
++
+ if (ifp == NULL || ifp->if_ioctl == NULL)
+ return (EOPNOTSUPP);
+ return ((*ifp->if_ioctl)(ifp, cmd, arg));
Property changes on: projects/zfsupdate-201307/share/security/patches/SA-13:12/ifioctl.patch
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: projects/zfsupdate-201307/share/security/patches/SA-13:12/ifioctl.patch.asc
===================================================================
--- projects/zfsupdate-201307/share/security/patches/SA-13:12/ifioctl.patch.asc (nonexistent)
+++ projects/zfsupdate-201307/share/security/patches/SA-13:12/ifioctl.patch.asc (revision 42804)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.14 (FreeBSD)
+
+iEYEABECAAYFAlIuF98ACgkQFdaIBMps37KefgCeNtxM4xIH3gYvoj4BbefvRoC8
+I8gAnRT1I915xp4nk2lgWK+5HGoDqApO
+=W+Ro
+-----END PGP SIGNATURE-----
Property changes on: projects/zfsupdate-201307/share/security/patches/SA-13:12/ifioctl.patch.asc
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: projects/zfsupdate-201307/share/security/patches/SA-13:13/nullfs.patch
===================================================================
--- projects/zfsupdate-201307/share/security/patches/SA-13:13/nullfs.patch (nonexistent)
+++ projects/zfsupdate-201307/share/security/patches/SA-13:13/nullfs.patch (revision 42804)
@@ -0,0 +1,28 @@
+Index: sys/fs/nullfs/null_vnops.c
+===================================================================
+--- sys/fs/nullfs/null_vnops.c (revision 254941)
++++ sys/fs/nullfs/null_vnops.c (working copy)
+@@ -858,6 +858,15 @@
+ return (error);
+ }
+
++static int
++null_link(struct vop_link_args *ap)
++{
++
++ if (ap->a_tdvp->v_mount != ap->a_vp->v_mount)
++ return (EXDEV);
++ return (null_bypass((struct vop_generic_args *)ap));
++}
++
+ /*
+ * Global vfs data structures
+ */
+@@ -871,6 +880,7 @@
+ .vop_getwritemount = null_getwritemount,
+ .vop_inactive = null_inactive,
+ .vop_islocked = vop_stdislocked,
++ .vop_link = null_link,
+ .vop_lock1 = null_lock,
+ .vop_lookup = null_lookup,
+ .vop_open = null_open,
Property changes on: projects/zfsupdate-201307/share/security/patches/SA-13:13/nullfs.patch
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: projects/zfsupdate-201307/share/security/patches/SA-13:13/nullfs.patch.asc
===================================================================
--- projects/zfsupdate-201307/share/security/patches/SA-13:13/nullfs.patch.asc (nonexistent)
+++ projects/zfsupdate-201307/share/security/patches/SA-13:13/nullfs.patch.asc (revision 42804)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.14 (FreeBSD)
+
+iEYEABECAAYFAlIuGawACgkQFdaIBMps37J1OgCgm847iabfWVTdyCXAeXVQkK/g
+ZR4AoJrz+a812XboghdqiTvVKVHUyD+b
+=wGcC
+-----END PGP SIGNATURE-----
Property changes on: projects/zfsupdate-201307/share/security/patches/SA-13:13/nullfs.patch.asc
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: projects/zfsupdate-201307/share/xml/advisories.xml
===================================================================
--- projects/zfsupdate-201307/share/xml/advisories.xml (revision 42803)
+++ projects/zfsupdate-201307/share/xml/advisories.xml (revision 42804)
@@ -1,3545 +1,3565 @@
<?xml version="1.0"?>
<advisories>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">
$FreeBSD$
</cvs:keyword>
<year>
<name>2013</name>
<month>
+ <name>9</name>
+
+ <day>
+ <name>10</name>
+
+ <advisory>
+ <name>FreeBSD-SA-13:13.nullfs</name>
+ </advisory>
+
+ <advisory>
+ <name>FreeBSD-SA-13:12.ifioctl</name>
+ </advisory>
+
+ <advisory>
+ <name>FreeBSD-SA-13:11.sendfile</name>
+ </advisory>
+ </day>
+ </month>
+
+ <month>
<name>8</name>
<day>
<name>22</name>
<advisory>
<name>FreeBSD-SA-13:10.sctp</name>
</advisory>
<advisory>
<name>FreeBSD-SA-13:09.ip_multicast</name>
</advisory>
</day>
</month>
<month>
<name>7</name>
<day>
<name>26</name>
<advisory>
<name>FreeBSD-SA-13:08.nfsserver</name>
</advisory>
<advisory>
<name>FreeBSD-SA-13:07.bind</name>
</advisory>
</day>
</month>
<month>
<name>6</name>
<day>
<name>18</name>
<advisory>
<name>FreeBSD-SA-13:06.mmap</name>
</advisory>
</day>
</month>
<month>
<name>4</name>
<day>
<name>29</name>
<advisory>
<name>FreeBSD-SA-13:05.nfsserver</name>
</advisory>
</day>
<day>
<name>2</name>
<advisory>
<name>FreeBSD-SA-13:04.bind</name>
</advisory>
<advisory>
<name>FreeBSD-SA-13:03.openssl</name>
</advisory>
</day>
</month>
<month>
<name>2</name>
<day>
<name>19</name>
<advisory>
<name>FreeBSD-SA-13:02.libc</name>
</advisory>
<advisory>
<name>FreeBSD-SA-13:01.bind</name>
</advisory>
</day>
</month>
</year>
<year>
<name>2012</name>
<month>
<name>11</name>
<day>
<name>22</name>
<advisory>
<name>FreeBSD-SA-12:08.linux</name>
</advisory>
<advisory>
<name>FreeBSD-SA-12:07.hostapd</name>
</advisory>
<advisory>
<name>FreeBSD-SA-12:06.bind</name>
</advisory>
</day>
</month>
<month>
<name>8</name>
<day>
<name>6</name>
<advisory>
<name>FreeBSD-SA-12:05.bind</name>
</advisory>
</day>
</month>
<month>
<name>6</name>
<day>
<name>12</name>
<advisory>
<name>FreeBSD-SA-12:04.sysret</name>
</advisory>
<advisory>
<name>FreeBSD-SA-12:03.bind</name>
</advisory>
</day>
</month>
<month>
<name>5</name>
<day>
<name>30</name>
<advisory>
<name>FreeBSD-SA-12:02.crypt</name>
</advisory>
</day>
<day>
<name>30</name>
<advisory>
<name>FreeBSD-SA-12:01.openssl</name>
</advisory>
</day>
</month>
</year>
<year>
<name>2011</name>
<month>
<name>12</name>
<day>
<name>23</name>
<advisory>
<name>FreeBSD-SA-11:10.pam</name>
</advisory>
<advisory>
<name>FreeBSD-SA-11:09.pam_ssh</name>
</advisory>
<advisory>
<name>FreeBSD-SA-11:08.telnetd</name>
</advisory>
<advisory>
<name>FreeBSD-SA-11:07.chroot</name>
</advisory>
<advisory>
<name>FreeBSD-SA-11:06.bind</name>
</advisory>
</day>
</month>
<month>
<name>9</name>
<day>
<name>28</name>
<advisory>
<name>FreeBSD-SA-11:05.unix</name>
</advisory>
<advisory>
<name>FreeBSD-SA-11:04.compress</name>
</advisory>
<advisory>
<name>FreeBSD-SA-11:03.bind</name>
</advisory>
</day>
</month>
<month>
<name>5</name>
<day>
<name>28</name>
<advisory>
<name>FreeBSD-SA-11:02.bind</name>
</advisory>
</day>
</month>
<month>
<name>4</name>
<day>
<name>20</name>
<advisory>
<name>FreeBSD-SA-11:01.mountd</name>
</advisory>
</day>
</month>
</year>
<year>
<name>2010</name>
<month>
<name>11</name>
<day>
<name>29</name>
<advisory>
<name>FreeBSD-SA-10:10.openssl</name>
</advisory>
</day>
<day>
<name>10</name>
<advisory>
<name>FreeBSD-SA-10:09.pseudofs</name>
</advisory>
</day>
</month>
<month>
<name>9</name>
<day>
<name>20</name>
<advisory>
<name>FreeBSD-SA-10:08.bzip2</name>
</advisory>
</day>
</month>
<month>
<name>7</name>
<day>
<name>13</name>
<advisory>
<name>FreeBSD-SA-10:07.mbuf</name>
</advisory>
</day>
</month>
<month>
<name>5</name>
<day>
<name>27</name>
<advisory>
<name>FreeBSD-SA-10:06.nfsclient</name>
</advisory>
<advisory>
<name>FreeBSD-SA-10:05.opie</name>
</advisory>
<advisory>
<name>FreeBSD-SA-10:04.jail</name>
</advisory>
</day>
</month>
<month>
<name>1</name>
<day>
<name>6</name>
<advisory>
<name>FreeBSD-SA-10:03.zfs</name>
</advisory>
<advisory>
<name>FreeBSD-SA-10:02.ntpd</name>
</advisory>
<advisory>
<name>FreeBSD-SA-10:01.bind</name>
</advisory>
</day>
</month>
</year>
<year>
<name>2009</name>
<month>
<name>12</name>
<day>
<name>3</name>
<advisory>
<name>FreeBSD-SA-09:17.freebsd-update</name>
</advisory>
<advisory>
<name>FreeBSD-SA-09:16.rtld</name>
</advisory>
<advisory>
<name>FreeBSD-SA-09:15.ssl</name>
</advisory>
</day>
</month>
<month>
<name>10</name>
<day>
<name>2</name>
<advisory>
<name>FreeBSD-SA-09:14.devfs</name>
</advisory>
<advisory>
<name>FreeBSD-SA-09:13.pipe</name>
</advisory>
</day>
</month>
<month>
<name>7</name>
<day>
<name>29</name>
<advisory>
<name>FreeBSD-SA-09:12.bind</name>
</advisory>
</day>
</month>
<month>
<name>6</name>
<day>
<name>10</name>
<advisory>
<name>FreeBSD-SA-09:11.ntpd</name>
</advisory>
<advisory>
<name>FreeBSD-SA-09:10.ipv6</name>
</advisory>
<advisory>
<name>FreeBSD-SA-09:09.pipe</name>
</advisory>
</day>
</month>
<month>
<name>4</name>
<day>
<name>22</name>
<advisory>
<name>FreeBSD-SA-09:08.openssl</name>
</advisory>
<advisory>
<name>FreeBSD-SA-09:07.libc</name>
</advisory>
</day>
</month>
<month>
<name>3</name>
<day>
<name>23</name>
<advisory>
<name>FreeBSD-SA-09:06.ktimer</name>
</advisory>
</day>
</month>
<month>
<name>2</name>
<day>
<name>16</name>
<advisory>
<name>FreeBSD-SA-09:05.telnetd</name>
</advisory>
</day>
</month>
<month>
<name>1</name>
<day>
<name>13</name>
<advisory>
<name>FreeBSD-SA-09:04.bind</name>
</advisory>
<advisory>
<name>FreeBSD-SA-09:03.ntpd</name>
</advisory>
</day>
<day>
<name>7</name>
<advisory>
<name>FreeBSD-SA-09:02.openssl</name>
</advisory>
<advisory>
<name>FreeBSD-SA-09:01.lukemftpd</name>
</advisory>
</day>
</month>
</year>
<year>
<name>2008</name>
<month>
<name>12</name>
<day>
<name>23</name>
<advisory>
<name>FreeBSD-SA-08:13.protosw</name>
</advisory>
<advisory>
<name>FreeBSD-SA-08:12.ftpd</name>
</advisory>
</day>
</month>
<month>
<name>11</name>
<day>
<name>24</name>
<advisory>
<name>FreeBSD-SA-08:11.arc4random</name>
</advisory>
</day>
</month>
<month>
<name>10</name>
<day>
<name>2</name>
<advisory>
<name>FreeBSD-SA-08:10.nd6</name>
</advisory>
</day>
</month>
<month>
<name>9</name>
<day>
<name>3</name>
<advisory>
<name>FreeBSD-SA-08:09.icmp6</name>
</advisory>
<advisory>
<name>FreeBSD-SA-08:08.nmount</name>
</advisory>
<advisory>
<name>FreeBSD-SA-08:07.amd64</name>
</advisory>
</day>
</month>
<month>
<name>7</name>
<day>
<name>13</name>
<advisory>
<name>FreeBSD-SA-08:06.bind</name>
</advisory>
</day>
</month>
<month>
<name>4</name>
<day>
<name>17</name>
<advisory>
<name>FreeBSD-SA-08:05.openssh</name>
</advisory>
</day>
</month>
<month>
<name>2</name>
<day>
<name>14</name>
<advisory>
<name>FreeBSD-SA-08:04.ipsec</name>
</advisory>
<advisory>
<name>FreeBSD-SA-08:03.sendfile</name>
</advisory>
</day>
</month>
<month>
<name>1</name>
<day>
<name>18</name>
<release>
<name>FreeBSD 6.3-RELEASE</name>
</release>
</day>
<day>
<name>14</name>
<advisory>
<name>FreeBSD-SA-08:02.libc</name>
</advisory>
<advisory>
<name>FreeBSD-SA-08:01.pty</name>
</advisory>
</day>
</month>
</year>
<year>
<name>2007</name>
<month>
<name>11</name>
<day>
<name>29</name>
<advisory>
<name>FreeBSD-SA-07:10.gtar</name>
</advisory>
<advisory>
<name>FreeBSD-SA-07:09.random</name>
</advisory>
</day>
</month>
<month>
<name>10</name>
<day>
<name>3</name>
<advisory>
<name>FreeBSD-SA-07:08.openssl</name>
</advisory>
</day>
</month>
<month>
<name>8</name>
<day>
<name>1</name>
<advisory>
<name>FreeBSD-SA-07:07.bind</name>
</advisory>
<advisory>
<name>FreeBSD-SA-07:06.tcpdump</name>
</advisory>
</day>
</month>
<month>
<name>7</name>
<day>
<name>12</name>
<advisory>
<name>FreeBSD-SA-07:05.libarchive</name>
</advisory>
</day>
</month>
<month>
<name>5</name>
<day>
<name>23</name>
<advisory>
<name>FreeBSD-SA-07:04.file</name>
</advisory>
</day>
</month>
<month>
<name>4</name>
<day>
<name>26</name>
<advisory>
<name>FreeBSD-SA-07:03.ipv6</name>
</advisory>
</day>
</month>
<month>
<name>2</name>
<day>
<name>9</name>
<advisory>
<name>FreeBSD-SA-07:02.bind</name>
</advisory>
</day>
</month>
<month>
<name>1</name>
<day>
<name>15</name>
<release>
<name>FreeBSD 6.2-RELEASE</name>
</release>
</day>
<day>
<name>11</name>
<advisory>
<name>FreeBSD-SA-07:01.jail</name>
</advisory>
</day>
</month>
</year>
<year>
<name>2006</name>
<month>
<name>12</name>
<day>
<name>6</name>
<advisory>
<name>FreeBSD-SA-06:26.gtar</name>
</advisory>
<advisory>
<name>FreeBSD-SA-06:25.kmem</name>
</advisory>
</day>
</month>
<month>
<name>11</name>
<day>
<name>8</name>
<advisory>
<name>FreeBSD-SA-06:24.libarchive</name>
</advisory>
</day>
</month>
<month>
<name>9</name>
<day>
<name>30</name>
<advisory>
<name>FreeBSD-SA-06:22.openssh</name>
</advisory>
</day>
<day>
<name>28</name>
<advisory>
<name>FreeBSD-SA-06:23.openssl</name>
</advisory>
</day>
<day>
<name>19</name>
<advisory>
<name>FreeBSD-SA-06:21.gzip</name>
</advisory>
</day>
<day>
<name>6</name>
<advisory>
<name>FreeBSD-SA-06:20.bind</name>
</advisory>
<advisory>
<name>FreeBSD-SA-06:19.openssl</name>
</advisory>
</day>
</month>
<month>
<name>8</name>
<day>
<name>23</name>
<advisory>
<name>FreeBSD-SA-06:18.ppp</name>
</advisory>
</day>
</month>
<month>
<name>6</name>
<day>
<name>14</name>
<advisory>
<name>FreeBSD-SA-06:17.sendmail</name>
</advisory>
</day>
</month>
<month>
<name>5</name>
<day>
<name>31</name>
<advisory>
<name>FreeBSD-SA-06:16.smbfs</name>
</advisory>
<advisory>
<name>FreeBSD-SA-06:15.ypserv</name>
</advisory>
</day>
<day>
<name>25</name>
<release>
<name>FreeBSD 5.5-RELEASE</name>
</release>
</day>
<day>
<name>9</name>
<release>
<name>FreeBSD 6.1-RELEASE</name>
</release>
</day>
</month>
<month>
<name>4</name>
<day>
<name>19</name>
<advisory>
<name>FreeBSD-SA-06:14.fpu</name>
</advisory>
</day>
</month>
<month>
<name>3</name>
<day>
<name>22</name>
<advisory>
<name>FreeBSD-SA-06:13.sendmail</name>
</advisory>
<advisory>
<name>FreeBSD-SA-06:12.opie</name>
</advisory>
<advisory>
<name>FreeBSD-SA-06:11.ipsec</name>
</advisory>
</day>
<day>
<name>1</name>
<advisory>
<name>FreeBSD-SA-06:10.nfs</name>
</advisory>
<advisory>
<name>FreeBSD-SA-06:09.openssh</name>
</advisory>
</day>
</month>
<month>
<name>2</name>
<day>
<name>1</name>
<advisory>
<name>FreeBSD-SA-06:08.sack</name>
</advisory>
</day>
</month>
<month>
<name>1</name>
<day>
<name>25</name>
<advisory>
<name>FreeBSD-SA-06:07.pf</name>
</advisory>
<advisory>
<name>FreeBSD-SA-06:06.kmem</name>
</advisory>
</day>
<day>
<name>18</name>
<advisory>
<name>FreeBSD-SA-06:05.80211</name>
</advisory>
</day>
<day>
<name>11</name>
<advisory>
<name>FreeBSD-SA-06:04.ipfw</name>
</advisory>
<advisory>
<name>FreeBSD-SA-06:03.cpio</name>
</advisory>
<advisory>
<name>FreeBSD-SA-06:02.ee</name>
</advisory>
<advisory>
<name>FreeBSD-SA-06:01.texindex</name>
</advisory>
</day>
</month>
</year>
<year>
<name>2005</name>
<month>
<name>11</name>
<day>
<name>4</name>
<release>
<name>FreeBSD 6.0-RELEASE</name>
</release>
</day>
</month>
<month>
<name>10</name>
<day>
<name>11</name>
<advisory>
<name>FreeBSD-SA-05:21.openssl</name>
</advisory>
</day>
</month>
<month>
<name>9</name>
<day>
<name>7</name>
<advisory>
<name>FreeBSD-SA-05:20.cvsbug</name>
</advisory>
</day>
</month>
<month>
<name>7</name>
<day>
<name>27</name>
<advisory>
<name>FreeBSD-SA-05:19.ipsec</name>
</advisory>
<advisory>
<name>FreeBSD-SA-05:18.zlib</name>
</advisory>
</day>
<day>
<name>20</name>
<advisory>
<name>FreeBSD-SA-05:17.devfs</name>
</advisory>
</day>
<day>
<name>6</name>
<advisory>
<name>FreeBSD-SA-05:16.zlib</name>
</advisory>
</day>
</month>
<month>
<name>6</name>
<day>
<name>29</name>
<advisory>
<name>FreeBSD-SA-05:15.tcp</name>
</advisory>
<advisory>
<name>FreeBSD-SA-05:14.bzip2</name>
</advisory>
<advisory>
<name>FreeBSD-SA-05:13.ipfw</name>
</advisory>
</day>
<day>
<name>9</name>
<advisory>
<name>FreeBSD-SA-05:12.bind9</name>
</advisory>
<advisory>
<name>FreeBSD-SA-05:11.gzip</name>
</advisory>
<advisory>
<name>FreeBSD-SA-05:10.tcpdump</name>
</advisory>
</day>
</month>
<month>
<name>5</name>
<day>
<name>13</name>
<advisory>
<name>FreeBSD-SA-05:09.htt</name>
</advisory>
</day>
<day>
<name>9</name>
<release>
<name>FreeBSD 5.4-RELEASE</name>
</release>
</day>
<day>
<name>6</name>
<advisory>
<name>FreeBSD-SA-05:08.kmem</name>
</advisory>
<advisory>
<name>FreeBSD-SA-05:07.ldt</name>
</advisory>
<advisory>
<name>FreeBSD-SA-05:06.iir</name>
</advisory>
</day>
</month>
<month>
<name>4</name>
<day>
<name>22</name>
<advisory>
<name>FreeBSD-SA-05:05.cvs</name>
</advisory>
</day>
<day>
<name>15</name>
<advisory>
<name>FreeBSD-SA-05:04.ifconf</name>
</advisory>
</day>
<day>
<name>6</name>
<advisory>
<name>FreeBSD-SA-05:03.amd64</name>
</advisory>
</day>
<day>
<name>4</name>
<advisory>
<name>FreeBSD-SA-05:02.sendfile</name>
</advisory>
</day>
</month>
<month>
<name>3</name>
<day>
<name>28</name>
<advisory>
<name>FreeBSD-SA-05:01.telnet</name>
</advisory>
</day>
</month>
<month>
<name>1</name>
<day>
<name>25</name>
<release>
<name>FreeBSD 4.11-RELEASE</name>
</release>
</day>
</month>
</year>
<year>
<name>2004</name>
<month>
<name>12</name>
<day>
<name>1</name>
<advisory>
<name>FreeBSD-SA-04:17.procfs</name>
</advisory>
</day>
</month>
<month>
<name>11</name>
<day>
<name>18</name>
<advisory>
<name>FreeBSD-SA-04:16.fetch</name>
</advisory>
</day>
<day>
<name>6</name>
<release>
<name>FreeBSD 5.3-RELEASE</name>
</release>
</day>
</month>
<month>
<name>10</name>
<day>
<name>4</name>
<advisory>
<name>FreeBSD-SA-04:15.syscons</name>
</advisory>
</day>
</month>
<month>
<name>9</name>
<day>
<name>19</name>
<advisory>
<name>FreeBSD-SA-04:14.cvs</name>
</advisory>
</day>
</month>
<month>
<name>6</name>
<day>
<name>30</name>
<advisory>
<name>FreeBSD-SA-04:13.linux</name>
</advisory>
</day>
<day>
<name>7</name>
<advisory>
<name>FreeBSD-SA-04:12.jailroute</name>
</advisory>
</day>
</month>
<month>
<name>5</name>
<day>
<name>27</name>
<release>
<name>FreeBSD 4.10-RELEASE</name>
</release>
</day>
<day>
<name>19</name>
<advisory>
<name>FreeBSD-SA-04:11.msync</name>
</advisory>
</day>
<day>
<name>19</name>
<advisory>
<name>FreeBSD-SA-04:10.cvs</name>
</advisory>
</day>
<day>
<name>5</name>
<advisory>
<name>FreeBSD-SA-04:09.kadmind</name>
</advisory>
<advisory>
<name>FreeBSD-SA-04:08.heimdal</name>
</advisory>
</day>
</month>
<month>
<name>4</name>
<day>
<name>15</name>
<advisory>
<name>FreeBSD-SA-04:07.cvs</name>
</advisory>
</day>
</month>
<month>
<name>3</name>
<day>
<name>29</name>
<advisory>
<name>FreeBSD-SA-04:06.ipv6</name>
</advisory>
</day>
<day>
<name>17</name>
<advisory>
<name>FreeBSD-SA-04:05.openssl</name>
</advisory>
</day>
<day>
<name>2</name>
<advisory>
<name>FreeBSD-SA-04:04.tcp</name>
</advisory>
</day>
</month>
<month>
<name>2</name>
<day>
<name>26</name>
<release>
<name>FreeBSD 5.2.1-RELEASE</name>
</release>
</day>
<day>
<name>25</name>
<advisory>
<name>FreeBSD-SA-04:03.jail</name>
</advisory>
</day>
<day>
<name>05</name>
<advisory>
<name>FreeBSD-SA-04:02.shmat</name>
</advisory>
</day>
</month>
<month>
<name>1</name>
<day>
<name>30</name>
<advisory>
<name>FreeBSD-SA-04:01.mksnap_ffs</name>
</advisory>
</day>
<day>
<name>12</name>
<release>
<name>FreeBSD 5.2-RELEASE</name>
</release>
</day>
</month>
</year>
<year>
<name>2003</name>
<month>
<name>11</name>
<day>
<name>28</name>
<advisory>
<name>FreeBSD-SA-03:19.bind</name>
</advisory>
</day>
</month>
<month>
<name>10</name>
<day>
<name>27</name>
<release>
<name>FreeBSD 4.9-RELEASE</name>
</release>
</day>
<day>
<name>5</name>
<advisory>
<name>FreeBSD-SA-03:15.openssh</name>
</advisory>
</day>
<day>
<name>3</name>
<advisory>
<name>FreeBSD-SA-03:18.openssl</name>
</advisory>
<advisory>
<name>FreeBSD-SA-03:17.procfs</name>
</advisory>
</day>
<day>
<name>2</name>
<advisory>
<name>FreeBSD-SA-03:16.filedesc</name>
</advisory>
</day>
</month>
<month>
<name>9</name>
<day>
<name>23</name>
<advisory>
<name>FreeBSD-SA-03:14.arp</name>
</advisory>
</day>
<day>
<name>17</name>
<advisory>
<name>FreeBSD-SA-03:13.sendmail</name>
</advisory>
</day>
<day>
<name>16</name>
<advisory>
<name>FreeBSD-SA-03:12.openssh</name>
</advisory>
</day>
</month>
<month>
<name>8</name>
<day>
<name>26</name>
<advisory>
<name>FreeBSD-SA-03:11.sendmail</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1170</ulink>
</advisory>
</day>
<day>
<name>10</name>
<advisory>
<name>FreeBSD-SA-03:10.ibcs2</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1164</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-03:09.signal</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1163</ulink>
</advisory>
</day>
<day>
<name>3</name>
<advisory>
<name>FreeBSD-SA-03:08.realpath</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1158</ulink>
</advisory>
</day>
</month>
<month>
<name>6</name>
<day>
<name>9</name>
<release>
<name>FreeBSD 5.1-RELEASE</name>
</release>
</day>
</month>
<month>
<name>4</name>
<day>
<name>8</name>
<advisory>
<name>FreeBSD-SN-03:02</name>
</advisory>
</day>
<day>
<name>7</name>
<advisory>
<name>FreeBSD-SN-03:01</name>
</advisory>
</day>
<day>
<name>3</name>
<release>
<name>FreeBSD 4.8-RELEASE</name>
</release>
</day>
</month>
<month>
<name>3</name>
<day>
<name>30</name>
<advisory>
<name>FreeBSD-SA-03:07.sendmail</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1122</ulink>
</advisory>
</day>
<day>
<name>21</name>
<advisory>
<name>FreeBSD-SA-03:06.openssl</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1118</ulink>
</advisory>
</day>
<day>
<name>20</name>
<advisory>
<name>FreeBSD-SA-03:05.xdr</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1117</ulink>
</advisory>
</day>
<day>
<name>3</name>
<advisory>
<name>FreeBSD-SA-03:04.sendmail</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1112</ulink>
</advisory>
</day>
</month>
<month>
<name>2</name>
<day>
<name>24</name>
<advisory>
<name>FreeBSD-SA-03:03.syncookies</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1106</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-03:02.openssl</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1105</ulink>
</advisory>
</day>
<day>
<name>04</name>
<advisory>
<name>FreeBSD-SA-03:01.cvs</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1100</ulink>
</advisory>
</day>
</month>
<month>
<name>1</name>
<day>
<name>19</name>
<release>
<name>FreeBSD 5.0-RELEASE</name>
</release>
</day>
<day>
<name>07</name>
<advisory>
<name>FreeBSD-SA-02:44.filedesc</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1090</ulink>
</advisory>
</day>
</month>
</year>
<year>
<name>2002</name>
<month>
<name>11</name>
<day>
<name>15</name>
<advisory>
<name>FreeBSD-SA-02:43.bind</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1084</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-02:41.smrsh</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1082</ulink>
</advisory>
</day>
<day>
<name>12</name>
<advisory>
<name>FreeBSD-SA-02:42.resolv</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1083</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-02:40.kadmind</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1081</ulink>
</advisory>
</day>
</month>
<month>
<name>10</name>
<day>
<name>10</name>
<release>
<name>FreeBSD 4.7-RELEASE</name>
</release>
<advisory>
<name>FreeBSD-SN-02:06</name>
</advisory>
</day>
</month>
<month>
<name>9</name>
<day>
<name>16</name>
<advisory>
<name>FreeBSD-SA-02:39.libkvm</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1051</ulink>
</advisory>
</day>
</month>
<month>
<name>8</name>
<day>
<name>28</name>
<advisory>
<name>FreeBSD-SN-02:05</name>
</advisory>
</day>
<day>
<name>19</name>
<advisory>
<name>FreeBSD-SA-02:38.signed-error</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1041</ulink>
</advisory>
</day>
<day>
<name>15</name>
<release>
<name>FreeBSD 4.6.2-RELEASE</name>
</release>
</day>
<day>
<name>05</name>
<advisory>
<name>FreeBSD-SA-02:37.kqueue</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1033</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-02:36.nfs</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1032</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-02:35.ffs</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1031</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-02:33.openssl</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1023</ulink>
</advisory>
</day>
<day>
<name>01</name>
<advisory>
<name>FreeBSD-SA-02:34.rpc</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1024</ulink>
</advisory>
</day>
</month>
<month>
<name>7</name>
<day>
<name>31</name>
<advisory>
<name>FreeBSD-SA-02:32.pppd</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1022</ulink>
</advisory>
</day>
<day>
<name>15</name>
<advisory>
<name>FreeBSD-SA-02:31.openssh</name>
</advisory>
</day>
<day>
<name>12</name>
<advisory>
<name>FreeBSD-SA-02:30.ktrace</name>
</advisory>
<advisory>
<name>FreeBSD-SA-02:29.tcpdump</name>
</advisory>
</day>
</month>
<month>
<name>6</name>
<day>
<name>26</name>
<advisory>
<name>FreeBSD-SA-02:28.resolv</name>
</advisory>
</day>
<day>
<name>19</name>
<advisory>
<name>FreeBSD-SN-02:04</name>
</advisory>
</day>
<day>
<name>15</name>
<release>
<name>FreeBSD 4.6-RELEASE</name>
</release>
</day>
</month>
<month>
<name>5</name>
<day>
<name>29</name>
<advisory>
<name>FreeBSD-SA-02:27.rc</name>
</advisory>
<advisory>
<name>FreeBSD-SA-02:26.accept</name>
</advisory>
</day>
<day>
<name>28</name>
<advisory>
<name>FreeBSD-SN-02:03</name>
</advisory>
</day>
<day>
<name>20</name>
<advisory>
<name>FreeBSD-SA-02:25.bzip2</name>
</advisory>
<advisory>
<name>FreeBSD-SA-02:24.k5su</name>
</advisory>
</day>
<day>
<name>13</name>
<advisory>
<name>FreeBSD-SN-02:02</name>
</advisory>
</day>
</month>
<month>
<name>4</name>
<day>
<name>22</name>
<advisory>
<name>FreeBSD-SA-02:23.stdio</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1021</ulink>
</advisory>
</day>
<day>
<name>18</name>
<advisory>
<name>FreeBSD-SA-02:22.mmap</name>
</advisory>
</day>
<day>
<name>17</name>
<advisory>
<name>FreeBSD-SA-02:21.tcpip</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/980</ulink>
</advisory>
</day>
<day>
<name>16</name>
<advisory>
<name>FreeBSD-SA-02:20.syncache</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/979</ulink>
</advisory>
</day>
</month>
<month>
<name>3</name>
<day>
<name>30</name>
<advisory>
<name>FreeBSD-SN-02:01</name>
</advisory>
</day>
<day>
<name>26</name>
<advisory>
<name>FreeBSD-SA-02:19.squid</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/960</ulink>
</advisory>
</day>
<day>
<name>18</name>
<advisory>
<name>FreeBSD-SA-02:18.zlib</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/978</ulink>
</advisory>
</day>
<day>
<name>12</name>
<advisory>
<name>FreeBSD-SA-02:17.mod_frontpage</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/954</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-02:16.netscape</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/953</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-02:15.cyrus-sasl</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/952</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-02:14.pam-pgsql</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/951</ulink>
</advisory>
</day>
<day>
<name>07</name>
<advisory>
<name>FreeBSD-SA-02:13.openssh</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/945</ulink>
</advisory>
</day>
</month>
<month>
<name>2</name>
<day>
<name>21</name>
<advisory>
<name>FreeBSD-SA-02:12.squid</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/938</ulink>
</advisory>
</day>
<day>
<name>12</name>
<advisory>
<name>FreeBSD-SA-02:11.snmp</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/936</ulink>
</advisory>
</day>
<day>
<name>06</name>
<advisory>
<name>FreeBSD-SA-02:10.rsync</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/928</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-02:09.fstatfs</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/927</ulink>
</advisory>
</day>
</month>
<month>
<name>1</name>
<day>
<name>29</name>
<release>
<name>FreeBSD 4.5-RELEASE</name>
</release>
</day>
<day>
<name>24</name>
<advisory>
<name>FreeBSD-SA-02:08.exec</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/923</ulink>
</advisory>
</day>
<day>
<name>18</name>
<advisory>
<name>FreeBSD-SA-02:07.k5su</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/912</ulink>
</advisory>
</day>
<day>
<name>16</name>
<advisory>
<name>FreeBSD-SA-02:06.sudo</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/909</ulink>
</advisory>
</day>
<day>
<name>04</name>
<advisory>
<name>FreeBSD-SA-02:05.pine</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/894</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-02:04.mutt</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/893</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-02:03.mod_auth_pgsql</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/892</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-02:02.pw</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/891</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-02:01.pkg_add</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/898</ulink>
</advisory>
</day>
</month>
</year>
<year>
<name>2001</name>
<month>
<name>12</name>
<day>
<name>04</name>
<advisory>
<name>FreeBSD-SA-01:64.wu-ftpd</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/870</ulink>
</advisory>
</day>
<day>
<name>02</name>
<advisory>
<name>FreeBSD-SA-01:63.openssh</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/871</ulink>
</advisory>
</day>
</month>
<month>
<name>10</name>
<day>
<name>08</name>
<advisory>
<name>FreeBSD-SA-01:62.uucp</name>
</advisory>
<advisory>
<name>FreeBSD-SA-01:61.squid</name>
</advisory>
</day>
</month>
<month>
<name>9</name>
<day>
<name>24</name>
<advisory>
<name>FreeBSD-SA-01:60.procmail</name>
</advisory>
</day>
<day>
<name>20</name>
<release>
<name>FreeBSD 4.4-RELEASE</name>
</release>
</day>
<day>
<name>04</name>
<advisory>
<name>FreeBSD-SA-01:59.rmuser</name>
</advisory>
</day>
</month>
<month>
<name>8</name>
<day>
<name>30</name>
<advisory>
<name>FreeBSD-SA-01:58.lpd</name>
</advisory>
</day>
<day>
<name>27</name>
<advisory>
<name>FreeBSD-SA-01:57.sendmail</name>
</advisory>
</day>
<day>
<name>23</name>
<advisory>
<name>FreeBSD-SA-01:56.tcp_wrappers</name>
</advisory>
</day>
<day>
<name>21</name>
<advisory>
<name>FreeBSD-SA-01:55.procfs</name>
</advisory>
</day>
<day>
<name>20</name>
<advisory>
<name>FreeBSD-SA-01:54.ports-telnetd</name>
</advisory>
</day>
<day>
<name>17</name>
<advisory>
<name>FreeBSD-SA-01:53.ipfw</name>
</advisory>
</day>
<day>
<name>06</name>
<advisory>
<name>FreeBSD-SA-01:52.fragment</name>
</advisory>
</day>
</month>
<month>
<name>7</name>
<day>
<name>30</name>
<advisory>
<name>FreeBSD-SA-01:51.openssl</name>
</advisory>
</day>
<day>
<name>27</name>
<advisory>
<name>FreeBSD-SA-01:50.windowmaker</name>
</advisory>
</day>
<day>
<name>23</name>
<advisory>
<name>FreeBSD-SA-01:49.telnetd</name>
</advisory>
</day>
<day>
<name>17</name>
<advisory>
<name>FreeBSD-SA-01:48.tcpdump</name>
</advisory>
</day>
<day>
<name>10</name>
<advisory>
<name>FreeBSD-SA-01:47.xinetd</name>
</advisory>
<advisory>
<name>FreeBSD-SA-01:46.w3m</name>
</advisory>
<advisory>
<name>FreeBSD-SA-01:45.samba</name>
</advisory>
<advisory>
<name>FreeBSD-SA-01:44.gnupg</name>
</advisory>
<advisory>
<name>FreeBSD-SA-01:43.fetchmail</name>
</advisory>
<advisory>
<name>FreeBSD-SA-01:42.signal</name>
</advisory>
</day>
<day>
<name>09</name>
<advisory>
<name>FreeBSD-SA-01:41.hanterm</name>
</advisory>
</day>
</month>
<month>
<name>6</name>
<day>
<name>04</name>
<advisory>
<name>FreeBSD-SA-01:40.fts</name>
</advisory>
</day>
</month>
<month>
<name>5</name>
<day>
<name>02</name>
<advisory>
<name>FreeBSD-SA-01:39.tcp-isn</name>
</advisory>
</day>
</month>
<month>
<name>4</name>
<day>
<name>23</name>
<advisory>
<name>FreeBSD-SA-01:38.sudo</name>
</advisory>
<advisory>
<name>FreeBSD-SA-01:37.slrn</name>
</advisory>
<advisory>
<name>FreeBSD-SA-01:36.samba</name>
</advisory>
<advisory>
<name>FreeBSD-SA-01:35.licq</name>
</advisory>
<advisory>
<name>FreeBSD-SA-01:34.hylafax</name>
</advisory>
</day>
<day>
<name>20</name>
<release>
<name>FreeBSD 4.3-RELEASE</name>
</release>
</day>
<day>
<name>17</name>
<advisory>
<name>FreeBSD-SA-01:33.ftpd-glob</name>
</advisory>
</day>
<day>
<name>16</name>
<advisory>
<name>FreeBSD-SA-01:32.ipfilter</name>
</advisory>
</day>
<day>
<name>06</name>
<advisory>
<name>FreeBSD-SA-01:31.ntpd</name>
</advisory>
</day>
</month>
<month>
<name>3</name>
<day>
<name>22</name>
<advisory>
<name>FreeBSD-SA-01:30.ufs-ext2fs</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/738</ulink>
</advisory>
</day>
<day>
<name>12</name>
<advisory>
<name>FreeBSD-SA-01:29.rwhod</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/732</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:28.timed</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/731</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:27.cfengine</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/730</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:26.interbase</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/729</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:23.icecast</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/728</ulink>
</advisory>
</day>
</month>
<month>
<name>2</name>
<day>
<name>14</name>
<advisory>
<name>FreeBSD-SA-01:25.kerberosIV</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/716</ulink>
</advisory>
</day>
<day>
<name>12</name>
<advisory>
<name>FreeBSD-SA-01:24.ssh</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/715</ulink>
</advisory>
</day>
<day>
<name>07</name>
<advisory>
<name>FreeBSD-SA-01:22.dc20ctrl</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/714</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:21.ja-elvis</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/713</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:20.mars_nwe</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/712</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:19.ja-klock</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/707</ulink>
</advisory>
</day>
</month>
<month>
<name>1</name>
<day>
<name>31</name>
<advisory>
<name>FreeBSD-SA-01:18.bind</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/706</ulink>
</advisory>
</day>
<day>
<name>29</name>
<advisory>
<name>FreeBSD-SA-01:17.exmh</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/705</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:16.mysql</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/704</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:15.tinyproxy</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/703</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:14.micq</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/702</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:13.sort</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/701</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:12.periodic</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/700</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:11.inetd</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/699</ulink>
</advisory>
</day>
<day>
<name>23</name>
<advisory>
<name>FreeBSD-SA-01:10.bind</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/698</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:09.crontab</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/697</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:08.ipfw</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/696</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:07.xfree86</name>
</advisory>
</day>
<day>
<name>15</name>
<advisory>
<name>FreeBSD-SA-01:06.zope</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/669</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:05.stunnel</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/668</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:04.joe</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/667</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:03.bash1</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/666</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:02.syslog-ng</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/665</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-01:01.openssh</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/664</ulink>
</advisory>
</day>
</month>
</year>
<year>
<name>2000</name>
<month>
<name>12</name>
<day>
<name>20</name>
<advisory>
<name>FreeBSD-SA-00:81.ethereal</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/651</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:80.halflifeserver</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/650</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:79.oops</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/649</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:78.bitchx</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/648</ulink>
</advisory>
</day>
<day>
<name>18</name>
<advisory>
<name>FreeBSD-SA-00:77.procfs</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/647</ulink>
</advisory>
</day>
</month>
<month>
<name>11</name>
<day>
<name>20</name>
<advisory>
<name>FreeBSD-SA-00:76.tcsh-csh</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/628</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:75.php</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/627</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:74.gaim</name>
</advisory>
<advisory>
<name>FreeBSD-SA-00:73.thttpd</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/626</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:72.curl</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/625</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:71.mgetty</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/624</ulink>
</advisory>
</day>
<day>
<name>14</name>
<advisory>
<name>FreeBSD-SA-00:70.ppp-nat</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/623</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:69.telnetd</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/622</ulink>
</advisory>
</day>
<day>
<name>13</name>
<advisory>
<name>FreeBSD-SA-00:68.ncurses</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/621</ulink>
</advisory>
</day>
<day>
<name>10</name>
<advisory>
<name>FreeBSD-SA-00:67.gnupg</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/620</ulink>
</advisory>
</day>
<day>
<name>06</name>
<advisory>
<name>FreeBSD-SA-00:66.netscape</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/619</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:65.xfce</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/618</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:64.global</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/617</ulink>
</advisory>
</day>
<day>
<name>01</name>
<advisory>
<name>FreeBSD-SA-00:63.getnameinfo</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/589</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:62.top</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/616</ulink>
</advisory>
</day>
</month>
<month>
<name>10</name>
<day>
<name>31</name>
<advisory>
<name>FreeBSD-SA-00:61.tcpdump</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/615</ulink>
</advisory>
</day>
<day>
<name>30</name>
<advisory>
<name>FreeBSD-SA-00:60.boa</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/586</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:59.pine</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/585</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:58.chpass</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/584</ulink>
</advisory>
</day>
<day>
<name>13</name>
<advisory>
<name>FreeBSD-SA-00:57.muh</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/570</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:56.lprng</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/569</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:55.xpdf</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/568</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:54.fingerd</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/567</ulink>
</advisory>
</day>
<day>
<name>06</name>
<advisory>
<name>FreeBSD-SA-00:52.tcp-iss</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/561</ulink>
</advisory>
</day>
</month>
<month>
<name>9</name>
<day>
<name>27</name>
<advisory>
<name>FreeBSD-SA-00:53.catopen</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/562</ulink>
</advisory>
</day>
<day>
<name>13</name>
<advisory>
<name>FreeBSD-SA-00:51.mailman</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/550</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:50.listmanager</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/549</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:49.eject</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/548</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:48.xchat</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/547</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:47.pine</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/546</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:46.screen</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/545</ulink>
</advisory>
</day>
</month>
<month>
<name>8</name>
<day>
<name>31</name>
<advisory>
<name>FreeBSD-SA-00:45.esound</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/526</ulink>
</advisory>
</day>
<day>
<name>28</name>
<advisory>
<name>FreeBSD-SA-00:44.xlock</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/523</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:43.brouted</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/520</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:42.linux</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/530</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:41.elf</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/527</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:40.mopd</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/521</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:39.netscape</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/528</ulink>
</advisory>
</day>
<day>
<name>14</name>
<advisory>
<name>FreeBSD-SA-00:38.zope</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/525</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:37.cvsweb</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/524</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:36.ntop</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/531</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:35.proftpd</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/522</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:34.dhclient</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/529</ulink>
</advisory>
</day>
</month>
<month>
<name>7</name>
<day>
<name>12</name>
<advisory>
<name>FreeBSD-SA-00:33.kerberosIV</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/488</ulink>
</advisory>
</day>
<day>
<name>05</name>
<advisory>
<name>FreeBSD-SA-00:32.bitchx</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/487</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:31.canna</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/486</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:30.openssh</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/485</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:29.wu-ftpd</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/489</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:28.majordomo</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/484</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:27.XFree86-4</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/483</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:26.popper</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/482</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:24.libedit</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/481</ulink>
</advisory>
</day>
</month>
<month>
<name>6</name>
<day>
<name>19</name>
<advisory>
<name>FreeBSD-SA-00:23.ip-options</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/480</ulink>
</advisory>
</day>
<day>
<name>12</name>
<advisory>
<name>FreeBSD-SA-00:25.alpha-random</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/473</ulink>
</advisory>
</day>
<day>
<name>07</name>
<advisory>
<name>FreeBSD-SA-00:22.apsfilter</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/461</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:21.ssh</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/459</ulink>
</advisory>
</day>
</month>
<month>
<name>5</name>
<day>
<name>26</name>
<advisory>
<name>FreeBSD-SA-00:20.krb5</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/452</ulink>
</advisory>
</day>
<day>
<name>23</name>
<advisory>
<name>FreeBSD-SA-00:19.semconfig</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/451</ulink>
</advisory>
</day>
<day>
<name>09</name>
<advisory>
<name>FreeBSD-SA-00:18.gnapster.knapster</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/429</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:17.libmytinfo</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/442</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:16.golddig</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/439</ulink>
</advisory>
</day>
</month>
<month>
<name>4</name>
<day>
<name>24</name>
<advisory>
<name>FreeBSD-SA-00:15.imap-uw</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/438</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:14.imap-uw</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/441</ulink>
</advisory>
</day>
<day>
<name>19</name>
<advisory>
<name>FreeBSD-SA-00:13.generic-nqs</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/437</ulink>
</advisory>
</day>
<day>
<name>10</name>
<advisory>
<name>FreeBSD-SA-00:12.healthd</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/436</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:11.ircii</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/440</ulink>
</advisory>
</day>
</month>
<month>
<name>3</name>
<day>
<name>15</name>
<advisory>
<name>FreeBSD-SA-00:10.orville-write</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/408</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:09.mtr</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/408</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:08.lynx</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/407</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:07.mh</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/411</ulink>
</advisory>
</day>
<day>
<name>01</name>
<advisory>
<name>FreeBSD-SA-00:06.htdig</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/403</ulink>
</advisory>
</day>
</month>
<month>
<name>2</name>
<day>
<name>28</name>
<advisory>
<name>FreeBSD-SA-00:05.mysql</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/402</ulink>
</advisory>
</day>
<day>
<name>19</name>
<advisory>
<name>FreeBSD-SA-00:04.delegate</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/392</ulink>
</advisory>
<advisory>
<name>FreeBSD-SA-00:03.asmon</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/391</ulink>
</advisory>
</day>
</month>
<month>
<name>1</name>
<day>
<name>24</name>
<advisory>
<name>FreeBSD-SA-00:02.procfs</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/380</ulink>
</advisory>
</day>
<day>
<name>19</name>
<advisory>
<name>FreeBSD-SA-00:01.make</name>
</advisory>
</day>
</month>
</year>
<year>
<name>1999</name>
<month>
<name>9</name>
<day>
<name>16</name>
<advisory>
<name role="old">FreeBSD-SA-99:06.amd</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/318</ulink>
</advisory>
</day>
<day>
<name>15</name>
<advisory>
<name role="old">FreeBSD-SA-99:05.fts</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/313</ulink>
</advisory>
<advisory>
<name role="old">FreeBSD-SA-99:04.core</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/312</ulink>
</advisory>
</day>
<day>
<name>05</name>
<advisory>
<name role="old">FreeBSD-SA-99:03.ftpd</name>
<ulink lang="ja">http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/311</ulink>
</advisory>
</day>
<day>
<name>04</name>
<advisory>
<name role="old">FreeBSD-SA-99:02.profil</name>
</advisory>
<advisory>
<name role="old">FreeBSD-SA-99:01.chflags</name>
</advisory>
</day>
</month>
</year>
<year>
<name>1998</name>
<month>
<name>11</name>
<day>
<name>04</name>
<advisory>
<name role="old">FreeBSD-SA-98:08.fragment</name>
</advisory>
</day>
</month>
<month>
<name>10</name>
<day>
<name>13</name>
<advisory>
<name role="old">FreeBSD-SA-98:07.rst</name>
</advisory>
</day>
</month>
<month>
<name>6</name>
<day>
<name>10</name>
<advisory>
<name role="old">FreeBSD-SA-98:06.icmp</name>
</advisory>
</day>
<day>
<name>04</name>
<advisory>
<name role="old">FreeBSD-SA-98:05.nfs</name>
</advisory>
</day>
<day>
<name>02</name>
<advisory>
<name role="old">FreeBSD-SA-98:04.mmap</name>
</advisory>
</day>
</month>
<month>
<name>5</name>
<day>
<name>14</name>
<advisory>
<name role="old">FreeBSD-SA-98:03.ttcp</name>
</advisory>
</day>
</month>
<month>
<name>3</name>
<day>
<name>12</name>
<advisory>
<name role="old">FreeBSD-SA-98:02.mmap</name>
</advisory>
</day>
</month>
</year>
<year>
<name>1997</name>
<month>
<name>12</name>
<day>
<name>09</name>
<advisory>
<name role="old">FreeBSD-SA-97:06.f00f</name>
</advisory>
</day>
<day>
<name>01</name>
<advisory>
<name role="old">FreeBSD-SA-98:01.land</name>
</advisory>
</day>
</month>
<month>
<name>10</name>
<day>
<name>29</name>
<advisory>
<name role="old">FreeBSD-SA-97:05.open</name>
</advisory>
</day>
</month>
<month>
<name>8</name>
<day>
<name>19</name>
<advisory>
<name role="old">FreeBSD-SA-97:04.procfs</name>
</advisory>
</day>
</month>
<month>
<name>4</name>
<day>
<name>07</name>
<advisory>
<name role="old">FreeBSD-SA-97:03.sysinstall</name>
</advisory>
</day>
</month>
<month>
<name>3</name>
<day>
<name>26</name>
<advisory>
<name role="old">FreeBSD-SA-97:02.lpd</name>
</advisory>
</day>
</month>
<month>
<name>2</name>
<day>
<name>05</name>
<advisory>
<name role="old">FreeBSD-SA-97:01.setlocale</name>
</advisory>
</day>
</month>
<month>
<name>1</name>
<day>
<name>18</name>
<advisory>
<name role="old">FreeBSD-SA-96:21.talkd</name>
</advisory>
</day>
</month>
</year>
<year>
<name>1996</name>
<month>
<name>12</name>
<day>
<name>16</name>
<advisory>
<name role="old">FreeBSD-SA-96:20.stack-overflow</name>
</advisory>
</day>
<day>
<name>10</name>
<advisory>
<name role="old">FreeBSD-SA-96:19.modstat</name>
</advisory>
</day>
</month>
<month>
<name>11</name>
<day>
<name>25</name>
<advisory>
<name role="old">FreeBSD-SA-96:18.lpr</name>
</advisory>
</day>
</month>
<month>
<name>7</name>
<day>
<name>16</name>
<advisory>
<name role="old">FreeBSD-SA-96:17.rzsz</name>
</advisory>
</day>
<day>
<name>12</name>
<advisory>
<name role="old">FreeBSD-SA-96:16.rdist</name>
</advisory>
</day>
<day>
<name>04</name>
<advisory>
<name role="old">FreeBSD-SA-96:15.ppp</name>
</advisory>
</day>
</month>
<month>
<name>6</name>
<day>
<name>28</name>
<advisory>
<name role="old">FreeBSD-SA-96:12.perl</name>
</advisory>
</day>
<day>
<name>24</name>
<advisory>
<name role="old">FreeBSD-SA-96:14.ipfw</name>
</advisory>
</day>
<day>
<name>05</name>
<advisory>
<name role="old">FreeBSD-SA-96:13.comsat</name>
</advisory>
</day>
</month>
<month>
<name>5</name>
<day>
<name>21</name>
<advisory>
<name role="old">FreeBSD-SA-96:11.man</name>
</advisory>
</day>
<day>
<name>17</name>
<advisory>
<name role="old">FreeBSD-SA-96:10.mount_union</name>
</advisory>
<advisory>
<name role="old">FreeBSD-SA-96:09.vfsload</name>
</advisory>
</day>
</month>
<month>
<name>4</name>
<day>
<name>22</name>
<advisory>
<name role="old">FreeBSD-SA-96:02.apache</name>
</advisory>
</day>
<day>
<name>21</name>
<advisory>
<name role="old">FreeBSD-SA-96:08.syslog</name>
</advisory>
<advisory>
<name role="old">FreeBSD-SA-96:01.sliplogin</name>
</advisory>
</day>
<day>
<name>20</name>
<advisory>
<name role="old">FreeBSD-SA-96:03.sendmail-suggestion</name>
</advisory>
</day>
</month>
</year>
</advisories>
Index: projects/zfsupdate-201307/share/xml/authors.ent
===================================================================
--- projects/zfsupdate-201307/share/xml/authors.ent (revision 42803)
+++ projects/zfsupdate-201307/share/xml/authors.ent (revision 42804)
@@ -1,2274 +1,2283 @@
<!--
Names and email address of contributing authors and committers.
Entity names for committers should be the same as their login names on
freefall.FreeBSD.org.
Use these entities when referencing people.
Please keep this list in alphabetical order by entity names.
IMPORTANT: If you delete names from this file you *must* ensure that
all references to them have been removed from the handbook's
translations. If they haven't then you *will* break the
builds for the other languages, and we will poke fun of you
in public.
$FreeBSD$
-->
<!-- FreeBSD Committers -->
<!ENTITY a.aaron "Aaron Dalton">
<!ENTITY a.aaron.email "&a.aaron; <email xmlns=''>aaron@FreeBSD.org</email>">
<!ENTITY a.abial "Andrzej Bialecki">
<!ENTITY a.abial.email "&a.abial; <email xmlns=''>abial@FreeBSD.org</email>">
<!ENTITY a.ache "Andrey A. Chernov">
<!ENTITY a.ache.email "&a.ache; <email xmlns=''>ache@FreeBSD.org</email>">
<!ENTITY a.achim "Achim Leubner">
<!ENTITY a.achim.email "&a.achim; <email xmlns=''>achim@FreeBSD.org</email>">
<!ENTITY a.acm "Jos&eacute; Alonso C&aacute;rdenas M&aacute;rquez">
<!ENTITY a.acm.email "&a.acm; <email xmlns=''>acm@FreeBSD.org</email>">
<!ENTITY a.adam "Adam David">
<!ENTITY a.adam.email "&a.adam; <email xmlns=''>adam@FreeBSD.org</email>">
<!ENTITY a.adamw "Adam Weinberger">
<!ENTITY a.adamw.email "&a.adamw; <email xmlns=''>adamw@FreeBSD.org</email>">
<!ENTITY a.ade "Ade Lovett">
<!ENTITY a.ade.email "&a.ade; <email xmlns=''>ade@FreeBSD.org</email>">
<!ENTITY a.adrian "Adrian Chadd">
<!ENTITY a.adrian.email "&a.adrian; <email xmlns=''>adrian@FreeBSD.org</email>">
<!ENTITY a.ae "Andrey V. Elsukov">
<!ENTITY a.ae.email "&a.ae; <email xmlns=''>ae@FreeBSD.org</email>">
<!ENTITY a.ahasty "Amancio Hasty">
<!ENTITY a.ahasty.email "&a.ahasty; <email xmlns=''>ahasty@FreeBSD.org</email>">
<!ENTITY a.ahd "Drew Derbyshire">
<!ENTITY a.ahd.email "&a.ahd; <email xmlns=''>ahd@FreeBSD.org</email>">
<!ENTITY a.ahze "Michael Johnson">
<!ENTITY a.ahze.email "&a.ahze; <email xmlns=''>ahze@FreeBSD.org</email>">
<!ENTITY a.ak "Alex Kozlov">
<!ENTITY a.ak.email "&a.ak; <email xmlns=''>ak@FreeBSD.org</email>">
<!ENTITY a.akiyama "Shunsuke Akiyama">
<!ENTITY a.akiyama.email "&a.akiyama; <email xmlns=''>akiyama@FreeBSD.org</email>">
<!ENTITY a.alane "Alan Eldridge">
<!ENTITY a.alane.email "&a.alane; <email xmlns='' role='nolink'>alane@FreeBSD.org</email>">
<!ENTITY a.alc "Alan L. Cox">
<!ENTITY a.alc.email "&a.alc; <email xmlns=''>alc@FreeBSD.org</email>">
<!ENTITY a.ale "Alex Dupre">
<!ENTITY a.ale.email "&a.ale; <email xmlns=''>ale@FreeBSD.org</email>">
<!ENTITY a.alepulver "Alejandro Pulver">
<!ENTITY a.alepulver.email "&a.alepulver; <email xmlns=''>alepulver@FreeBSD.org</email>">
<!ENTITY a.alex "Alexander Langer">
<!ENTITY a.alex.email "&a.alex; <email xmlns=''>alex@FreeBSD.org</email>">
<!ENTITY a.alexbl "Alexander Botero-Lowry">
<!ENTITY a.alexbl.email "&a.alexbl; <email xmlns=''>alexbl@FreeBSD.org</email>">
<!ENTITY a.alfred "Alfred Perlstein">
<!ENTITY a.alfred.email "&a.alfred; <email xmlns=''>alfred@FreeBSD.org</email>">
<!ENTITY a.alm "Andrew Moore">
<!ENTITY a.alm.email "&a.alm; <email xmlns=''>alm@FreeBSD.org</email>">
<!ENTITY a.am "Atul Mukker">
<!ENTITY a.am.email "&a.am; <email xmlns=''>am@FreeBSD.org</email>">
<!ENTITY a.ambrisko "Doug Ambrisko">
<!ENTITY a.ambrisko.email "&a.ambrisko; <email xmlns=''>ambrisko@FreeBSD.org</email>">
<!ENTITY a.amdmi3 "Dmitry Marakasov">
<!ENTITY a.amdmi3.email "&a.amdmi3; <email xmlns=''>amdmi3@FreeBSD.org</email>">
<!ENTITY a.amorita "Akio Morita">
<!ENTITY a.amorita.email "&a.amorita; <email xmlns=''>amorita@FreeBSD.org</email>">
<!ENTITY a.amurai "Atsushi Murai">
<!ENTITY a.amurai.email "&a.amurai; <email xmlns=''>amurai@FreeBSD.org</email>">
<!ENTITY a.anchie "Ana Kukec">
<!ENTITY a.anchie.email "&a.anchie; <email xmlns=''>anchie@FreeBSD.org</email>">
<!ENTITY a.anders "Anders Nordby">
<!ENTITY a.anders.email "&a.anders; <email xmlns=''>anders@FreeBSD.org</email>">
<!ENTITY a.andre "Andre Oppermann">
<!ENTITY a.andre.email "&a.andre; <email xmlns=''>andre@FreeBSD.org</email>">
<!ENTITY a.andreas "Andreas Klemm">
<!ENTITY a.andreas.email "&a.andreas; <email xmlns=''>andreas@FreeBSD.org</email>">
<!ENTITY a.andreast "Andreas Tobler">
<!ENTITY a.andreast.email "&a.andreast; <email xmlns=''>andreast@FreeBSD.org</email>">
<!ENTITY a.andrew "Andrew Turner">
<!ENTITY a.andrew.email "&a.andrew; <email xmlns=''>andrew@FreeBSD.org</email>">
<!ENTITY a.andy "Andrey Zakhvatov">
<!ENTITY a.andy.email "&a.andy; <email xmlns=''>andy@FreeBSD.org</email>">
<!ENTITY a.anholt "Eric Anholt">
<!ENTITY a.anholt.email "&a.anholt; <email xmlns=''>anholt@FreeBSD.org</email>">
<!ENTITY a.anray "Andrey Slusar">
<!ENTITY a.anray.email "&a.anray; <email xmlns=''>anray@FreeBSD.org</email>">
<!ENTITY a.antoine "Antoine Brodin">
<!ENTITY a.antoine.email "&a.antoine; <email xmlns=''>antoine@FreeBSD.org</email>">
<!ENTITY a.araujo "Marcelo Araujo">
<!ENTITY a.araujo.email "&a.araujo; <email xmlns=''>araujo@FreeBSD.org</email>">
<!ENTITY a.archie "Archie Cobbs">
<!ENTITY a.archie.email "&a.archie; <email xmlns=''>archie@FreeBSD.org</email>">
<!ENTITY a.ariff "Ariff Abdullah">
<!ENTITY a.ariff.email "&a.ariff; <email xmlns=''>ariff@FreeBSD.org</email>">
<!ENTITY a.arr "Andrew R. Reiter">
<!ENTITY a.arr.email "&a.arr; <email xmlns=''>arr@FreeBSD.org</email>">
<!ENTITY a.art "Artem Belevich">
<!ENTITY a.art.email "&a.art; <email xmlns=''>art@FreeBSD.org</email>">
<!ENTITY a.arun "Arun Sharma">
<!ENTITY a.arun.email "&a.arun; <email xmlns=''>arun@FreeBSD.org</email>">
<!ENTITY a.arundel "Alexander Best">
<!ENTITY a.arundel.email "&a.arundel; <email xmlns=''>arundel@FreeBSD.org</email>">
<!ENTITY a.arved "Tilman Keskin&ouml;z">
<!ENTITY a.arved.email "&a.arved; <email xmlns=''>arved@FreeBSD.org</email>">
<!ENTITY a.asami "Satoshi Asami">
<!ENTITY a.asami.email "&a.asami; <email xmlns=''>asami@FreeBSD.org</email>">
<!ENTITY a.ashish "Ashish SHUKLA">
<!ENTITY a.ashish.email "&a.ashish; <email xmlns=''>ashish@FreeBSD.org</email>">
<!ENTITY a.asmodai "Jeroen Ruigrok/Asmodai">
<!ENTITY a.asmodai.email "&a.asmodai; <email xmlns=''>asmodai@FreeBSD.org</email>">
<!ENTITY a.asomers "Alan Somers">
<!ENTITY a.asomers.email "&a.asomers; <email xmlns=''>asomers@FreeBSD.org</email>">
<!ENTITY a.assar "Assar Westerlund">
<!ENTITY a.assar.email "&a.assar; <email xmlns=''>assar@FreeBSD.org</email>">
<!ENTITY a.ats "Andreas Schulz">
<!ENTITY a.ats.email "&a.ats; <email xmlns=''>ats@FreeBSD.org</email>">
<!ENTITY a.attilio "Attilio Rao">
<!ENTITY a.attilio.email "&a.attilio; <email xmlns=''>attilio@FreeBSD.org</email>">
<!ENTITY a.avatar "Tai-hwa Liang">
<!ENTITY a.avatar.email "&a.avatar; <email xmlns=''>avatar@FreeBSD.org</email>">
<!ENTITY a.avg "Andriy Gapon">
<!ENTITY a.avg.email "&a.avg; <email xmlns=''>avg@FreeBSD.org</email>">
<!ENTITY a.avilla "Alberto Villa">
<!ENTITY a.avilla.email "&a.avilla; <email xmlns=''>avilla@FreeBSD.org</email>">
<!ENTITY a.avl "Alexander Logvinov">
<!ENTITY a.avl.email "&a.avl; <email xmlns=''>avl@FreeBSD.org</email>">
<!ENTITY a.awebster "Andrew Webster">
<!ENTITY a.awebster.email "&a.awebster; <email xmlns=''>awebster@pubnix.net</email>">
<!ENTITY a.az "Andrej Zverev">
<!ENTITY a.az.email "&a.az; <email xmlns=''>az@FreeBSD.org</email>">
<!ENTITY a.babb "Jim Babb">
<!ENTITY a.babb.email "&a.babb; <email xmlns=''>babb@FreeBSD.org</email>">
<!ENTITY a.babkin "Sergey Babkin">
<!ENTITY a.babkin.email "&a.babkin; <email xmlns=''>babkin@FreeBSD.org</email>">
<!ENTITY a.bakul "Bakul Shah">
<!ENTITY a.bakul.email "&a.bakul; <email xmlns=''>bakul@FreeBSD.org</email>">
<!ENTITY a.bapt "Baptiste Daroussin">
<!ENTITY a.bapt.email "&a.bapt; <email xmlns=''>bapt@FreeBSD.org</email>">
<!ENTITY a.bar "Barbara Guida">
<!ENTITY a.bar.email "&a.bar; <email xmlns=''>bar@FreeBSD.org</email>">
<!ENTITY a.barner "Simon Barner">
<!ENTITY a.barner.email "&a.barner; <email xmlns=''>barner@FreeBSD.org</email>">
<!ENTITY a.bbraun "Rob Braun">
<!ENTITY a.bbraun.email "&a.bbraun; <email xmlns=''>bbraun@FreeBSD.org</email>">
<!ENTITY a.bcr "Benedict Reuschling">
<!ENTITY a.bcr.email "&a.bcr; <email xmlns=''>bcr@FreeBSD.org</email>">
<!ENTITY a.bde "Bruce Evans">
<!ENTITY a.bde.email "&a.bde; <email xmlns=''>bde@FreeBSD.org</email>">
<!ENTITY a.bdrewery "Bryan Drewery">
<!ENTITY a.bdrewery.email "&a.bdrewery; <email xmlns=''>bdrewery@FreeBSD.org</email>">
<!ENTITY a.bean "Rebecca Visger">
<!ENTITY a.bean.email "&a.bean; <email xmlns=''>bean@FreeBSD.org</email>">
<!ENTITY a.beat "Beat G&auml;tzi">
<!ENTITY a.beat.email "&a.beat; <email xmlns=''>beat@FreeBSD.org</email>">
<!ENTITY a.beech "Beech Rintoul">
<!ENTITY a.beech.email "&a.beech; <email xmlns=''>beech@FreeBSD.org</email>">
<!ENTITY a.ben "Ben Smithurst">
<!ENTITY a.ben.email "&a.ben; <email xmlns=''>ben@FreeBSD.org</email>">
<!ENTITY a.benjsc "Benjamin Close">
<!ENTITY a.benjsc.email "&a.benjsc; <email xmlns=''>benjsc@FreeBSD.org</email>">
<!ENTITY a.benl "Ben Laurie">
<!ENTITY a.benl.email "&a.benl; <email xmlns=''>benl@FreeBSD.org</email>">
<!ENTITY a.benno "Benno Rice">
<!ENTITY a.benno.email "&a.benno; <email xmlns=''>benno@FreeBSD.org</email>">
<!ENTITY a.bf "Brendan Fabeny">
<!ENTITY a.bf.email "&a.bf; <email xmlns=''>bf@FreeBSD.org</email>">
<!ENTITY a.bgray "Ben Gray">
<!ENTITY a.bgray.email "&a.bgray; <email xmlns=''>bgray@FreeBSD.org</email>">
<!ENTITY a.bhaga "Ben Haga">
<!ENTITY a.bhaga.email "&a.bhaga; <email xmlns=''>bhaga@FreeBSD.org</email>">
<!ENTITY a.billf "Bill Fumerola">
<!ENTITY a.billf.email "&a.billf; <email xmlns=''>billf@FreeBSD.org</email>">
<!ENTITY a.bjk "Benjamin Kaduk">
<!ENTITY a.bjk.email "&a.bjk; <email xmlns=''>bjk@FreeBSD.org</email>">
<!ENTITY a.bk "Boris Kochergin">
<!ENTITY a.bk.email "&a.bk; <email xmlns=''>bk@FreeBSD.org</email>">
<!ENTITY a.blackend "Marc Fonvieille">
<!ENTITY a.blackend.email "&a.blackend; <email xmlns=''>blackend@FreeBSD.org</email>">
<!ENTITY a.bland "Alexander Nedotsukov">
<!ENTITY a.bland.email "&a.bland; <email xmlns=''>bland@FreeBSD.org</email>">
<!ENTITY a.bmah "Bruce A. Mah">
<!ENTITY a.bmah.email "&a.bmah; <email xmlns=''>bmah@FreeBSD.org</email>">
<!ENTITY a.bmilekic "Bosko Milekic">
<!ENTITY a.bmilekic.email "&a.bmilekic; <email xmlns=''>bmilekic@FreeBSD.org</email>">
<!ENTITY a.bms "Bruce M. Simpson">
<!ENTITY a.bms.email "&a.bms; <email xmlns=''>bms@FreeBSD.org</email>">
<!ENTITY a.bp "Boris Popov">
<!ENTITY a.bp.email "&a.bp; <email xmlns=''>bp@FreeBSD.org</email>">
+<!ENTITY a.br "Ruslan Bukin">
+<!ENTITY a.br.email "&a.br; <email xmlns=''>br@FreeBSD.org</email>">
+
<!ENTITY a.brandon "Brandon Gillespie">
<!ENTITY a.brandon.email "&a.brandon; <email xmlns=''>brandon@FreeBSD.org</email>">
<!ENTITY a.brd "Brad Davis">
<!ENTITY a.brd.email "&a.brd; <email xmlns=''>brd@FreeBSD.org</email>">
<!ENTITY a.brian "Brian Somers">
<!ENTITY a.brian.email "&a.brian; <email xmlns=''>brian@FreeBSD.org</email>">
<!ENTITY a.brix "Henrik Brix Andersen">
<!ENTITY a.brix.email "&a.brix; <email xmlns=''>brix@FreeBSD.org</email>">
<!ENTITY a.brooks "Brooks Davis">
<!ENTITY a.brooks.email "&a.brooks; <email xmlns=''>brooks@FreeBSD.org</email>">
<!ENTITY a.brucec "Bruce Cran">
<!ENTITY a.brucec.email "&a.brucec; <email xmlns=''>brucec@FreeBSD.org</email>">
<!ENTITY a.brueffer "Christian Br&uuml;ffer">
<!ENTITY a.brueffer.email "&a.brueffer; <email xmlns=''>brueffer@FreeBSD.org</email>">
<!ENTITY a.bruno "Bruno Ducrot">
<!ENTITY a.bruno.email "&a.bruno; <email xmlns=''>bruno@FreeBSD.org</email>">
<!ENTITY a.bryanv "Bryan Venteicher">
<!ENTITY a.bryanv.email "&a.bryanv; <email xmlns=''>bryanv@FreeBSD.org</email>">
<!ENTITY a.bsam "Boris Samorodov">
<!ENTITY a.bsam.email "&a.bsam; <email xmlns=''>bsam@FreeBSD.org</email>">
<!ENTITY a.bschmidt "Bernhard Schmidt">
<!ENTITY a.bschmidt.email "&a.bschmidt; <email xmlns=''>bschmidt@FreeBSD.org</email>">
<!ENTITY a.bsd "Brian S. Dean">
<!ENTITY a.bsd.email "&a.bsd; <email xmlns=''>bsd@FreeBSD.org</email>">
<!ENTITY a.bushman "Michael Bushkov">
<!ENTITY a.bushman.email "&a.bushman; <email xmlns=''>bushman@FreeBSD.org</email>">
<!ENTITY a.bvs "Vitaly Bogdanov">
<!ENTITY a.bvs.email "&a.bvs; <email xmlns=''>bvs@FreeBSD.org</email>">
<!ENTITY a.bz "Bjoern A. Zeeb">
<!ENTITY a.bz.email "&a.bz; <email xmlns=''>bz@FreeBSD.org</email>">
<!ENTITY a.carl "Carl Delsey">
<!ENTITY a.carl.email "&a.carl; <email xmlns=''>carl@FreeBSD.org</email>">
<!ENTITY a.carvay "J. Vicente Carrasco Vay&aacute;">
<!ENTITY a.carvay.email "&a.carvay; <email xmlns=''>carvay@FreeBSD.org</email>">
<!ENTITY a.cawimm "Charles A. Wimmer">
<!ENTITY a.cawimm.email "&a.cawimm; <email xmlns=''>cawimm@FreeBSD.org</email>">
<!ENTITY a.cbzimmer "Chris Zimmernmann">
<!ENTITY a.cbzimmer.email "&a.cbzimmer; <email xmlns=''>cbzimmer@FreeBSD.org</email>">
<!ENTITY a.cel "Chuck Lever">
<!ENTITY a.cel.email "&a.cel; <email xmlns=''>cel@FreeBSD.org</email>">
<!ENTITY a.ceri "Ceri Davies">
<!ENTITY a.ceri.email "&a.ceri; <email xmlns=''>ceri@FreeBSD.org</email>">
<!ENTITY a.cg "Cameron Grant">
<!ENTITY a.cg.email "&a.cg; <email xmlns='' role='nolink'>cg@FreeBSD.org</email>">
<!ENTITY a.charnier "Philippe Charnier">
<!ENTITY a.charnier.email "&a.charnier; <email xmlns=''>charnier@FreeBSD.org</email>">
<!ENTITY a.chern "Chern Lee">
<!ENTITY a.chern.email "&a.chern; <email xmlns=''>chern@FreeBSD.org</email>">
<!ENTITY a.cherry "Cherry G. Mathew">
<!ENTITY a.cherry.email "&a.cherry; <email xmlns=''>cherry@FreeBSD.org</email>">
<!ENTITY a.chinsan "Chin-San Huang">
<!ENTITY a.chinsan.email "&a.chinsan; <email xmlns=''>chinsan@FreeBSD.org</email>">
<!ENTITY a.chm "Christoph Herrmann">
<!ENTITY a.chm.email "&a.chm; <email xmlns=''>chm@FreeBSD.org</email>">
<!ENTITY a.chmr "Christoph Robitschko">
<!ENTITY a.chmr.email "&a.chmr; <email xmlns=''>chmr@FreeBSD.org</email>">
<!ENTITY a.chris "Chris Costello">
<!ENTITY a.chris.email "&a.chris; <email xmlns=''>chris@FreeBSD.org</email>">
<!ENTITY a.chuckr "Chuck Robey">
<!ENTITY a.chuckr.email "&a.chuckr; <email xmlns=''>chuckr@FreeBSD.org</email>">
<!ENTITY a.cjc "Crist J. Clark">
<!ENTITY a.cjc.email "&a.cjc; <email xmlns=''>cjc@FreeBSD.org</email>">
<!ENTITY a.cjh "Junho CHOI">
<!ENTITY a.cjh.email "&a.cjh; <email xmlns=''>cjh@FreeBSD.org</email>">
<!ENTITY a.clement "Clement Laforet">
<!ENTITY a.clement.email "&a.clement; <email xmlns=''>clement@FreeBSD.org</email>">
<!ENTITY a.clive "Clive Lin">
<!ENTITY a.clive.email "&a.clive; <email xmlns=''>clive@FreeBSD.org</email>">
<!ENTITY a.clsung "Cheng-Lung Sung">
<!ENTITY a.clsung.email "&a.clsung; <email xmlns=''>clsung@FreeBSD.org</email>">
<!ENTITY a.cognet "Olivier Houchard">
<!ENTITY a.cognet.email "&a.cognet; <email xmlns=''>cognet@FreeBSD.org</email>">
<!ENTITY a.cokane "Coleman Kane">
<!ENTITY a.cokane.email "&a.cokane; <email xmlns=''>cokane@FreeBSD.org</email>">
<!ENTITY a.conklin "Brian E. Conklin">
<!ENTITY a.conklin.email "&a.conklin; <email xmlns=''>conklin@FreeBSD.org</email>">
<!ENTITY a.cp "Chuck Paterson">
<!ENTITY a.cp.email "&a.cp; <email xmlns=''>cp@FreeBSD.org</email>">
<!ENTITY a.cperciva "Colin Percival">
<!ENTITY a.cperciva.email "&a.cperciva; <email xmlns=''>cperciva@FreeBSD.org</email>">
<!ENTITY a.cpiazza "Chris Piazza">
<!ENTITY a.cpiazza.email "&a.cpiazza; <email xmlns=''>cpiazza@FreeBSD.org</email>">
<!ENTITY a.cracauer "Martin Cracauer">
<!ENTITY a.cracauer.email "&a.cracauer; <email xmlns=''>cracauer@FreeBSD.org</email>">
<!ENTITY a.crees "Chris Rees">
<!ENTITY a.crees.email "&a.crees; <email xmlns=''>crees@FreeBSD.org</email>">
<!ENTITY a.cs "Carlo Strub">
<!ENTITY a.cs.email "&a.cs; <email xmlns=''>cs@FreeBSD.org</email>">
<!ENTITY a.csgr "Geoff Rehmet">
<!ENTITY a.csgr.email "&a.csgr; <email xmlns=''>csgr@FreeBSD.org</email>">
<!ENTITY a.cshumway "Christopher Shumway">
<!ENTITY a.cshumway.email "&a.cshumway; <email xmlns=''>cshumway@FreeBSD.org</email>">
<!ENTITY a.csjp "Christian S.J. Peron">
<!ENTITY a.csjp.email "&a.csjp; <email xmlns=''>csjp@FreeBSD.org</email>">
<!ENTITY a.culot "Frederic Culot">
<!ENTITY a.culot.email "&a.culot; <email xmlns=''>culot@FreeBSD.org</email>">
<!ENTITY a.cwt "Chris Timmons">
<!ENTITY a.cwt.email "&a.cwt; <email xmlns=''>cwt@FreeBSD.org</email>">
<!ENTITY a.cy "Cy Schubert">
<!ENTITY a.cy.email "&a.cy; <email xmlns=''>cy@FreeBSD.org</email>">
<!ENTITY a.daichi "Daichi GOTO">
<!ENTITY a.daichi.email "&a.daichi; <email xmlns=''>daichi@FreeBSD.org</email>">
<!ENTITY a.damien "Damien Bergamini">
<!ENTITY a.damien.email "&a.damien; <email xmlns=''>damien@FreeBSD.org</email>">
<!ENTITY a.dan "Dan Moschuk">
<!ENTITY a.dan.email "&a.dan; <email xmlns=''>dan@FreeBSD.org</email>">
<!ENTITY a.danfe "Alexey Dokuchaev">
<!ENTITY a.danfe.email "&a.danfe; <email xmlns=''>danfe@FreeBSD.org</email>">
<!ENTITY a.danger "Daniel Ger&#382;o">
<!ENTITY a.danger.email "&a.danger; <email xmlns=''>danger@FreeBSD.org</email>">
+<!ENTITY a.danilo "Danilo Eg&ecirc;a Gondolfo">
+<!ENTITY a.danilo.email "&a.danilo; <email xmlns=''>danilo@FreeBSD.org</email>">
+
<!ENTITY a.danny "Daniel O'Callaghan">
<!ENTITY a.danny.email "&a.danny; <email xmlns=''>danny@FreeBSD.org</email>">
<!ENTITY a.dannyboy "Daniel Harris">
<!ENTITY a.dannyboy.email "&a.dannyboy; <email xmlns=''>dannyboy@FreeBSD.org</email>">
<!ENTITY a.darrenr "Darren Reed">
<!ENTITY a.darrenr.email "&a.darrenr; <email xmlns=''>darrenr@FreeBSD.org</email>">
<!ENTITY a.das "David Schultz">
<!ENTITY a.das.email "&a.das; <email xmlns=''>das@FreeBSD.org</email>">
<!ENTITY a.davidc "Chad David">
<!ENTITY a.davidc.email "&a.davidc; <email xmlns=''>davidc@FreeBSD.org</email>">
<!ENTITY a.davidch "David Christensen">
<!ENTITY a.davidch.email "&a.davidch; <email xmlns=''>davidch@FreeBSD.org</email>">
<!ENTITY a.davide "Davide Italiano">
<!ENTITY a.davide.email "&a.davide; <email xmlns=''>davide@FreeBSD.org</email>">
<!ENTITY a.davidn "David Nugent">
<!ENTITY a.davidn.email "&a.davidn; <email xmlns=''>davidn@FreeBSD.org</email>">
<!ENTITY a.davidxu "David Xu">
<!ENTITY a.davidxu.email "&a.davidxu; <email xmlns=''>davidxu@FreeBSD.org</email>">
<!ENTITY a.db "Diane Bruce">
<!ENTITY a.db.email "&a.db; <email xmlns=''>db@FreeBSD.org</email>">
<!ENTITY a.dbaker "Daniel Baker">
<!ENTITY a.dbaker.email "&a.dbaker; <email xmlns=''>dbaker@FreeBSD.org</email>">
<!ENTITY a.dbn "David Naylor">
<!ENTITY a.dbn.email "&a.dbn; <email xmlns=''>dbn@FreeBSD.org</email>">
<!ENTITY a.dburr "Donald Burr">
<!ENTITY a.dburr.email "&a.dburr; <email xmlns=''>dburr@FreeBSD.org</email>">
<!ENTITY a.dchagin "Dmitry Chagin">
<!ENTITY a.dchagin.email "&a.dchagin; <email xmlns=''>dchagin@FreeBSD.org</email>">
<!ENTITY a.dcs "Daniel C. Sobral">
<!ENTITY a.dcs.email "&a.dcs; <email xmlns=''>dcs@FreeBSD.org</email>">
<!ENTITY a.dd "Dima Dorfman">
<!ENTITY a.dd.email "&a.dd; <email xmlns=''>dd@FreeBSD.org</email>">
<!ENTITY a.dds "Diomidis D. Spinellis">
<!ENTITY a.dds.email "&a.dds; <email xmlns=''>dds@FreeBSD.org</email>">
<!ENTITY a.deb "Deb Goodkin">
<!ENTITY a.deb.email "&a.deb; <email xmlns=''>deb@FreeBSD.org</email>">
<!ENTITY a.dec "David E. Cross">
<!ENTITY a.dec.email "&a.dec; <email xmlns=''>dec@FreeBSD.org</email>">
<!ENTITY a.decke "Bernhard Fr&ouml;hlich">
<!ENTITY a.decke.email "&a.decke; <email xmlns=''>decke@FreeBSD.org</email>">
<!ENTITY a.deischen "Daniel Eischen">
<!ENTITY a.deischen.email "&a.deischen; <email xmlns=''>deischen@FreeBSD.org</email>">
<!ENTITY a.delphij "Xin Li">
<!ENTITY a.delphij.email "&a.delphij; <email xmlns=''>delphij@FreeBSD.org</email>">
<!ENTITY a.demon "Dmitry Sivachenko">
<!ENTITY a.demon.email "&a.demon; <email xmlns=''>demon@FreeBSD.org</email>">
<!ENTITY a.den "Denis Peplin">
<!ENTITY a.den.email "&a.den; <email xmlns=''>den@FreeBSD.org</email>">
<!ENTITY a.des "Dag-Erling C. Sm&oslash;rgrav">
<!ENTITY a.des.email "&a.des; <email xmlns=''>des@FreeBSD.org</email>">
<!ENTITY a.dfr "Doug Rabson">
<!ENTITY a.dfr.email "&a.dfr; <email xmlns=''>dfr@FreeBSD.org</email>">
<!ENTITY a.dg "David Greenman">
<!ENTITY a.dg.email "&a.dg; <email xmlns=''>dg@FreeBSD.org</email>">
<!ENTITY a.dhartmei "Daniel Hartmeier">
<!ENTITY a.dhartmei.email "&a.dhartmei; <email xmlns=''>dhartmei@FreeBSD.org</email>">
<!ENTITY a.dhn "Dennis Herrmann">
<!ENTITY a.dhn.email "&a.dhn; <email xmlns=''>dhn@FreeBSD.org</email>">
<!ENTITY a.dhw "David Wolfskill">
<!ENTITY a.dhw.email "&a.dhw; <email xmlns=''>dhw@FreeBSD.org</email>">
<!ENTITY a.dick "Richard Seaman Jr.">
<!ENTITY a.dick.email "&a.dick; <email xmlns=''>dick@FreeBSD.org</email>">
<!ENTITY a.dillon "Matthew Dillon">
<!ENTITY a.dillon.email "&a.dillon; <email xmlns=''>dillon@FreeBSD.org</email>">
<!ENTITY a.dim "Dimitry Andric">
<!ENTITY a.dim.email "&a.dim; <email xmlns=''>dim@FreeBSD.org</email>">
<!ENTITY a.dima "Dima Ruban">
<!ENTITY a.dima.email "&a.dima; <email xmlns=''>dima@FreeBSD.org</email>">
<!ENTITY a.dinoex "Dirk Meyer">
<!ENTITY a.dinoex.email "&a.dinoex; <email xmlns=''>dinoex@FreeBSD.org</email>">
<!ENTITY a.dirk "Dirk Fr&ouml;mberg">
<!ENTITY a.dirk.email "&a.dirk; <email xmlns=''>dirk@FreeBSD.org</email>">
<!ENTITY a.dmarion "Damjan Marion">
<!ENTITY a.dmarion.email "&a.dmarion; <email xmlns=''>dmarion@FreeBSD.org</email>">
<!ENTITY a.dmlb "Duncan Barclay">
<!ENTITY a.dmlb.email "&a.dmlb; <email xmlns=''>dmlb@FreeBSD.org</email>">
<!ENTITY a.don "Don Wilde">
<!ENTITY a.don.email "&a.don; <email xmlns=''>don@FreeBSD.org</email>">
<!ENTITY a.dougb "Doug Barton">
<!ENTITY a.dougb.email "&a.dougb; <email xmlns=''>dougb@FreeBSD.org</email>">
<!ENTITY a.dru "Dru Lavigne">
<!ENTITY a.dru.email "&a.dru; <email xmlns=''>dru@FreeBSD.org</email>">
<!ENTITY a.dryice "Dryice Liu">
<!ENTITY a.dryice.email "&a.dryice; <email xmlns=''>dryice@FreeBSD.org</email>">
<!ENTITY a.ds "Daniel Seuffert">
<!ENTITY a.ds.email "&a.ds; <email xmlns=''>ds@FreeBSD.org</email>">
<!ENTITY a.dt "Dmitrij Tejblum">
<!ENTITY a.dt.email "&a.dt; <email xmlns=''>dt@FreeBSD.org</email>">
<!ENTITY a.dteske "Devin Teske">
<!ENTITY a.dteske.email "&a.dteske; <email xmlns=''>dteske@FreeBSD.org</email>">
<!ENTITY a.dufault "Peter Dufault">
<!ENTITY a.dufault.email "&a.dufault; <email xmlns=''>dufault@FreeBSD.org</email>">
<!ENTITY a.dumbbell "Jean-S&eacute;bastien P&eacute;dron">
<!ENTITY a.dumbbell.email "&a.dumbbell; <email xmlns=''>dumbbell@FreeBSD.org</email>">
<!ENTITY a.dutchdaemon "Ben C. O. Grimm">
<!ENTITY a.dutchdaemon.email "&a.dutchdaemon; <email xmlns=''>dutchdaemon@FreeBSD.org</email>">
<!ENTITY a.dvl "Dan Langille">
<!ENTITY a.dvl.email "&a.dvl; <email xmlns=''>dvl@FreeBSD.org</email>">
<!ENTITY a.dwcjr "David W. Chapman Jr.">
<!ENTITY a.dwcjr.email "&a.dwcjr; <email xmlns=''>dwcjr@FreeBSD.org</email>">
<!ENTITY a.dwhite "Doug White">
<!ENTITY a.dwhite.email "&a.dwhite; <email xmlns=''>dwhite@FreeBSD.org</email>">
<!ENTITY a.dwmalone "David Malone">
<!ENTITY a.dwmalone.email "&a.dwmalone; <email xmlns=''>dwmalone@FreeBSD.org</email>">
<!ENTITY a.dyson "John Dyson">
<!ENTITY a.dyson.email "&a.dyson; <email xmlns=''>dyson@FreeBSD.org</email>">
<!ENTITY a.eadler "Eitan Adler">
<!ENTITY a.eadler.email "&a.eadler; <email xmlns=''>eadler@FreeBSD.org</email>">
<!ENTITY a.ebrandi "Edson Brandi">
<!ENTITY a.ebrandi.email "&a.ebrandi; <email xmlns=''>ebrandi@FreeBSD.org</email>">
<!ENTITY a.ed "Ed Schouten">
<!ENTITY a.ed.email "&a.ed; <email xmlns=''>ed@FreeBSD.org</email>">
<!ENTITY a.edwin "Edwin Groothuis">
<!ENTITY a.edwin.email "&a.edwin; <email xmlns=''>edwin@FreeBSD.org</email>">
<!ENTITY a.ehaupt "Emanuel Haupt">
<!ENTITY a.ehaupt.email "&a.ehaupt; <email xmlns=''>ehaupt@FreeBSD.org</email>">
<!ENTITY a.eik "Oliver Eikemeier">
<!ENTITY a.eik.email "&a.eik; <email xmlns=''>eik@FreeBSD.org</email>">
<!ENTITY a.eivind "Eivind Eklund">
<!ENTITY a.eivind.email "&a.eivind; <email xmlns=''>eivind@FreeBSD.org</email>">
<!ENTITY a.ejc "Eric J. Chet">
<!ENTITY a.ejc.email "&a.ejc; <email xmlns=''>ejc@FreeBSD.org</email>">
<!ENTITY a.emaste "Ed Maste">
<!ENTITY a.emaste.email "&a.emaste; <email xmlns=''>emaste@FreeBSD.org</email>">
<!ENTITY a.emax "Maksim Yevmenkin">
<!ENTITY a.emax.email "&a.emax; <email xmlns=''>emax@FreeBSD.org</email>">
<!ENTITY a.emoore "Eric Moore">
<!ENTITY a.emoore.email "&a.emoore; <email xmlns=''>emoore@FreeBSD.org</email>">
<!ENTITY a.eri "Ermal Lu&#231;i">
<!ENTITY a.eri.email "&a.eri; <email xmlns=''>eri@FreeBSD.org</email>">
<!ENTITY a.eric "Eric Melville">
<!ENTITY a.eric.email "&a.eric; <email xmlns=''>eric@FreeBSD.org</email>">
<!ENTITY a.erich "Eric L. Hernes">
<!ENTITY a.erich.email "&a.erich; <email xmlns=''>erich@FreeBSD.org</email>">
<!ENTITY a.erik "Erik Cederstrand">
<!ENTITY a.erik.email "&a.erik; <email xmlns=''>erik@FreeBSD.org</email>">
<!ENTITY a.erwin "Erwin Lansing">
<!ENTITY a.erwin.email "&a.erwin; <email xmlns=''>erwin@FreeBSD.org</email>">
<!ENTITY a.fabient "Fabien Thomas">
<!ENTITY a.fabient.email "&a.fabient; <email xmlns=''>fabient@FreeBSD.org</email>">
<!ENTITY a.fanf "Tony Finch">
<!ENTITY a.fanf.email "&a.fanf; <email xmlns=''>fanf@FreeBSD.org</email>">
<!ENTITY a.farrokhi "Babak Farrokhi">
<!ENTITY a.farrokhi.email "&a.farrokhi; <email xmlns=''>farrokhi@FreeBSD.org</email>">
<!ENTITY a.feld "Mark Felder">
<!ENTITY a.feld.email "&a.feld; <email xmlns=''>feld@FreeBSD.org</email>">
<!ENTITY a.fenner "Bill Fenner">
<!ENTITY a.fenner.email "&a.fenner; <email xmlns=''>fenner@FreeBSD.org</email>">
<!ENTITY a.fjoe "Max Khon">
<!ENTITY a.fjoe.email "&a.fjoe; <email xmlns=''>fjoe@FreeBSD.org</email>">
<!ENTITY a.flathill "Seiichirou Hiraoka">
<!ENTITY a.flathill.email "&a.flathill; <email xmlns=''>flathill@FreeBSD.org</email>">
<!ENTITY a.flo "Florian Smeets">
<!ENTITY a.flo.email "&a.flo; <email xmlns=''>flo@FreeBSD.org</email>">
<!ENTITY a.fluffy "Dima Panov">
<!ENTITY a.fluffy.email "&a.fluffy; <email xmlns=''>fluffy@FreeBSD.org</email>">
<!ENTITY a.flz "Florent Thoumie">
<!ENTITY a.flz.email "&a.flz; <email xmlns=''>flz@FreeBSD.org</email>">
<!ENTITY a.foxfair "Howard F. Hu">
<!ENTITY a.foxfair.email "&a.foxfair; <email xmlns=''>foxfair@FreeBSD.org</email>">
<!ENTITY a.fsmp "Steve Passe">
<!ENTITY a.fsmp.email "&a.fsmp; <email xmlns=''>fsmp@FreeBSD.org</email>">
<!ENTITY a.furuta "Atsushi Furuta">
<!ENTITY a.furuta.email "&a.furuta; <email xmlns=''>furuta@FreeBSD.org</email>">
<!ENTITY a.gabor "G&aacute;bor K&ouml;vesd&aacute;n">
<!ENTITY a.gabor.email "&a.gabor; <email xmlns=''>gabor@FreeBSD.org</email>">
<!ENTITY a.gad "Garance A Drosehn">
<!ENTITY a.gad.email "&a.gad; <email xmlns=''>gad@FreeBSD.org</email>">
<!ENTITY a.gahr "Pietro Cerutti">
<!ENTITY a.gahr.email "&a.gahr; <email xmlns=''>gahr@FreeBSD.org</email>">
<!ENTITY a.gallatin "Andrew Gallatin">
<!ENTITY a.gallatin.email "&a.gallatin; <email xmlns=''>gallatin@FreeBSD.org</email>">
<!ENTITY a.ganbold "Ganbold Tsagaankhuu">
<!ENTITY a.ganbold.email "&a.ganbold; <email xmlns=''>ganbold@FreeBSD.org</email>">
<!ENTITY a.garga "Renato Botelho">
<!ENTITY a.garga.email "&a.garga; <email xmlns=''>garga@FreeBSD.org</email>">
<!ENTITY a.garys "Gary W. Swearingen">
<!ENTITY a.garys.email "&a.garys; <email xmlns=''>garys@FreeBSD.org</email>">
<!ENTITY a.gavin "Gavin Atkinson">
<!ENTITY a.gavin.email "&a.gavin; <email xmlns=''>gavin@FreeBSD.org</email>">
<!ENTITY a.gber "Grzegorz Bernacki">
<!ENTITY a.gber.email "&a.gber; <email xmlns=''>gber@FreeBSD.org</email>">
<!ENTITY a.gblach "Grzegorz Blach">
<!ENTITY a.gblach.email "&a.gblach; <email xmlns=''>gblach@FreeBSD.org</email>">
<!ENTITY a.gclarkii "Gary Clark II">
<!ENTITY a.gclarkii.email "&a.gclarkii; <email xmlns=''>gclarkii@FreeBSD.org</email>">
<!ENTITY a.gehenna "MAEKAWA Masahide">
<!ENTITY a.gehenna.email "&a.gehenna; <email xmlns=''>gehenna@FreeBSD.org</email>">
<!ENTITY a.gerald "Gerald Pfeifer">
<!ENTITY a.gerald.email "&a.gerald; <email xmlns=''>gerald@FreeBSD.org</email>">
<!ENTITY a.ghelmer "Guy Helmer">
<!ENTITY a.ghelmer.email "&a.ghelmer; <email xmlns=''>ghelmer@FreeBSD.org</email>">
<!ENTITY a.gibbs "Justin T. Gibbs">
<!ENTITY a.gibbs.email "&a.gibbs; <email xmlns=''>gibbs@FreeBSD.org</email>">
<!ENTITY a.gioria "Sebastien Gioria">
<!ENTITY a.gioria.email "&a.gioria; <email xmlns=''>gioria@FreeBSD.org</email>">
<!ENTITY a.girgen "Palle Girgensohn">
<!ENTITY a.girgen.email "&a.girgen; <email xmlns=''>girgen@FreeBSD.org</email>">
<!ENTITY a.gj "Gary Jennejohn">
<!ENTITY a.gj.email "&a.gj; <email xmlns=''>gj@FreeBSD.org</email>">
<!ENTITY a.gjb "Glen Barber">
<!ENTITY a.gjb.email "&a.gjb; <email xmlns=''>gjb@FreeBSD.org</email>">
<!ENTITY a.glarkin "Greg Larkin">
<!ENTITY a.glarkin.email "&a.glarkin; <email xmlns=''>glarkin@FreeBSD.org</email>">
<!ENTITY a.gleb "Gleb Kurtsou">
<!ENTITY a.gleb.email "&a.gleb; <email xmlns=''>gleb@FreeBSD.org</email>">
<!ENTITY a.glebius "Gleb Smirnoff">
<!ENTITY a.glebius.email "&a.glebius; <email xmlns=''>glebius@FreeBSD.org</email>">
<!ENTITY a.glewis "Greg Lewis">
<!ENTITY a.glewis.email "&a.glewis; <email xmlns=''>glewis@FreeBSD.org</email>">
<!ENTITY a.gnn "George V. Neville-Neil">
<!ENTITY a.gnn.email "&a.gnn; <email xmlns=''>gnn@FreeBSD.org</email>">
<!ENTITY a.gonzo "Oleksandr Tymoshenko">
<!ENTITY a.gonzo.email "&a.gonzo; <email xmlns=''>gonzo@FreeBSD.org</email>">
<!ENTITY a.gordon "Gordon Tetlow">
<!ENTITY a.gordon.email "&a.gordon; <email xmlns=''>gordon@FreeBSD.org</email>">
<!ENTITY a.gpalmer "Gary Palmer">
<!ENTITY a.gpalmer.email "&a.gpalmer; <email xmlns=''>gpalmer@FreeBSD.org</email>">
<!ENTITY a.graichen "Thomas Graichen">
<!ENTITY a.graichen.email "&a.graichen; <email xmlns=''>graichen@FreeBSD.org</email>">
<!ENTITY a.green "Brian F. Feldman">
<!ENTITY a.green.email "&a.green; <email xmlns=''>green@FreeBSD.org</email>">
<!ENTITY a.grehan "Peter Grehan">
<!ENTITY a.grehan.email "&a.grehan; <email xmlns=''>grehan@FreeBSD.org</email>">
<!ENTITY a.greid "George C. A. Reid">
<!ENTITY a.greid.email "&a.greid; <email xmlns=''>greid@FreeBSD.org</email>">
<!ENTITY a.grog "Greg Lehey">
<!ENTITY a.grog.email "&a.grog; <email xmlns=''>grog@FreeBSD.org</email>">
<!ENTITY a.groudier "Gerard Roudier">
<!ENTITY a.groudier.email "&a.groudier; <email xmlns=''>groudier@FreeBSD.org</email>">
<!ENTITY a.gryphon "Coranth Gryphon">
<!ENTITY a.gryphon.email "&a.gryphon; <email xmlns=''>gryphon@FreeBSD.org</email>">
<!ENTITY a.gshapiro "Gregory Neil Shapiro">
<!ENTITY a.gshapiro.email "&a.gshapiro; <email xmlns=''>gshapiro@FreeBSD.org</email>">
<!ENTITY a.gsutter "Gregory Sutter">
<!ENTITY a.gsutter.email "&a.gsutter; <email xmlns=''>gsutter@FreeBSD.org</email>">
<!ENTITY a.guido "Guido van Rooij">
<!ENTITY a.guido.email "&a.guido; <email xmlns=''>guido@FreeBSD.org</email>">
<!ENTITY a.hanai "Hiroyuki HANAI">
<!ENTITY a.hanai.email "&a.hanai; <email xmlns=''>hanai@FreeBSD.org</email>">
<!ENTITY a.harti "Hartmut Brandt">
<!ENTITY a.harti.email "&a.harti; <email xmlns=''>harti@FreeBSD.org</email>">
<!ENTITY a.helbig "Wolfgang Helbig">
<!ENTITY a.helbig.email "&a.helbig; <email xmlns=''>helbig@FreeBSD.org</email>">
<!ENTITY a.hiren "Hiren Panchasara">
<!ENTITY a.hiren.email "&a.hiren; <email xmlns=''>hiren@FreeBSD.org</email>">
<!ENTITY a.hm "Hellmuth Michaelis">
<!ENTITY a.hm.email "&a.hm; <email xmlns=''>hm@FreeBSD.org</email>">
<!ENTITY a.hmp "Hiten Pandya">
<!ENTITY a.hmp.email "&a.hmp; <email xmlns=''>hmp@FreeBSD.org</email>">
<!ENTITY a.hoek "Tim Vanderhoek">
<!ENTITY a.hoek.email "&a.hoek; <email xmlns=''>hoek@FreeBSD.org</email>">
<!ENTITY a.horikawa "Kazuo Horikawa">
<!ENTITY a.horikawa.email "&a.horikawa; <email xmlns=''>horikawa@FreeBSD.org</email>">
<!ENTITY a.hosokawa "Tatsumi Hosokawa">
<!ENTITY a.hosokawa.email "&a.hosokawa; <email xmlns=''>hosokawa@FreeBSD.org</email>">
<!ENTITY a.hq "Herve Quiroz">
<!ENTITY a.hq.email "&a.hq; <email xmlns=''>hq@FreeBSD.org</email>">
<!ENTITY a.hrs "Hiroki Sato">
<!ENTITY a.hrs.email "&a.hrs; <email xmlns=''>hrs@FreeBSD.org</email>">
<!ENTITY a.hselasky "Hans Petter Selasky">
<!ENTITY a.hselasky.email "&a.hselasky; <email xmlns=''>hselasky@FreeBSD.org</email>">
<!ENTITY a.hsu "Jeffrey Hsu">
<!ENTITY a.hsu.email "&a.hsu; <email xmlns=''>hsu@FreeBSD.org</email>">
<!ENTITY a.ian "Ian Lepore">
<!ENTITY a.ian.email "&a.ian; <email xmlns=''>ian@FreeBSD.org</email>">
<!ENTITY a.iedowse "Ian Dowse">
<!ENTITY a.iedowse.email "&a.iedowse; <email xmlns=''>iedowse@FreeBSD.org</email>">
<!ENTITY a.ijliao "Ying-Chieh Liao">
<!ENTITY a.ijliao.email "&a.ijliao; <email xmlns=''>ijliao@FreeBSD.org</email>">
<!ENTITY a.ikob "Katsushi Kobayashi">
<!ENTITY a.ikob.email "&a.ikob; <email xmlns=''>ikob@FreeBSD.org</email>">
<!ENTITY a.imp "Warner Losh">
<!ENTITY a.imp.email "&a.imp; <email xmlns=''>imp@FreeBSD.org</email>">
<!ENTITY a.imura "R. Imura">
<!ENTITY a.imura.email "&a.imura; <email xmlns=''>imura@FreeBSD.org</email>">
<!ENTITY a.issei "Issei Suzuki">
<!ENTITY a.issei.email "&a.issei; <email xmlns=''>issei@FreeBSD.org</email>">
<!ENTITY a.issyl0 "Isabell Long">
<!ENTITY a.issyl0.email "&a.issyl0; <email xmlns=''>issyl0@FreeBSD.org</email>">
<!ENTITY a.itetcu "Ion-Mihai Tetcu">
<!ENTITY a.itetcu.email "&a.itetcu; <email xmlns=''>itetcu@FreeBSD.org</email>">
<!ENTITY a.itojun "Jun-ichiro Itoh">
<!ENTITY a.itojun.email "&a.itojun; <email xmlns='' role='nolink'>itojun@FreeBSD.org</email>">
<!ENTITY a.ivoras "Ivan Voras">
<!ENTITY a.ivoras.email "&a.ivoras; <email xmlns=''>ivoras@FreeBSD.org</email>">
<!ENTITY a.iwasaki "Mitsuru IWASAKI">
<!ENTITY a.iwasaki.email "&a.iwasaki; <email xmlns=''>iwasaki@FreeBSD.org</email>">
<!ENTITY a.jacula "Giuseppe Pilichi">
<!ENTITY a.jacula.email "&a.jacula; <email xmlns=''>jacula@FreeBSD.org</email>">
<!ENTITY a.jadawin "Philippe Audeoud">
<!ENTITY a.jadawin.email "&a.jadawin; <email xmlns=''>jadawin@FreeBSD.org</email>">
<!ENTITY a.jake "Jake Burkholder">
<!ENTITY a.jake.email "&a.jake; <email xmlns=''>jake@FreeBSD.org</email>">
<!ENTITY a.jamie "Jamie Gritton">
<!ENTITY a.jamie.email "&a.jamie; <email xmlns=''>jamie@FreeBSD.org</email>">
<!ENTITY a.jamil "Jamil Weatherby">
<!ENTITY a.jamil.email "&a.jamil; <email xmlns=''>jamil@FreeBSD.org</email>">
<!ENTITY a.jase "Jase Thew">
<!ENTITY a.jase.email "&a.jase; <email xmlns=''>jase@FreeBSD.org</email>">
<!ENTITY a.jasone "Jason Evans">
<!ENTITY a.jasone.email "&a.jasone; <email xmlns=''>jasone@FreeBSD.org</email>">
<!ENTITY a.jayanth "Jayanth Vijayaraghavan">
<!ENTITY a.jayanth.email "&a.jayanth; <email xmlns=''>jayanth@FreeBSD.org</email>">
<!ENTITY a.jb "John Birrell">
<!ENTITY a.jb.email "&a.jb; <email xmlns='' role='nolink'>jb@FreeBSD.org</email>">
<!ENTITY a.jcamou "Jesus R. Camou">
<!ENTITY a.jcamou.email "&a.jcamou; <email xmlns=''>jcamou@FreeBSD.org</email>">
<!ENTITY a.jceel "Jakub Klama">
<!ENTITY a.jceel.email "&a.jceel; <email xmlns=''>jceel@FreeBSD.org</email>">
<!ENTITY a.jchandra "Jayachandran C.">
<!ENTITY a.jchandra.email "&a.jchandra; <email xmlns=''>jchandra@FreeBSD.org</email>">
<!ENTITY a.jdp "John Polstra">
<!ENTITY a.jdp.email "&a.jdp; <email xmlns=''>jdp@FreeBSD.org</email>">
<!ENTITY a.jedgar "Chris D. Faulhaber">
<!ENTITY a.jedgar.email "&a.jedgar; <email xmlns=''>jedgar@FreeBSD.org</email>">
<!ENTITY a.jeff "Jeff Roberson">
<!ENTITY a.jeff.email "&a.jeff; <email xmlns=''>jeff@FreeBSD.org</email>">
<!ENTITY a.jeh "James Housley">
<!ENTITY a.jeh.email "&a.jeh; <email xmlns=''>jeh@FreeBSD.org</email>">
<!ENTITY a.jehamby "Jake Hamby">
<!ENTITY a.jehamby.email "&a.jehamby; <email xmlns=''>jehamby@FreeBSD.org</email>">
<!ENTITY a.jennifer "Jennifer Yang">
<!ENTITY a.jennifer.email "&a.jennifer; <email xmlns=''>jennifer@FreeBSD.org</email>">
<!ENTITY a.jesper "Jesper Skriver">
<!ENTITY a.jesper.email "&a.jesper; <email xmlns=''>jesper@FreeBSD.org</email>">
<!ENTITY a.jesusr "Jesus Rodriguez">
<!ENTITY a.jesusr.email "&a.jesusr; <email xmlns=''>jesusr@FreeBSD.org</email>">
<!ENTITY a.jfieber "John Fieber">
<!ENTITY a.jfieber.email "&a.jfieber; <email xmlns=''>jfieber@FreeBSD.org</email>">
<!ENTITY a.jfitz "James FitzGibbon">
<!ENTITY a.jfitz.email "&a.jfitz; <email xmlns=''>jfitz@FreeBSD.org</email>">
<!ENTITY a.jfv "Jack F. Vogel">
<!ENTITY a.jfv.email "&a.jfv; <email xmlns=''>jfv@FreeBSD.org</email>">
<!ENTITY a.jgh "Jason Helfman">
<!ENTITY a.jgh.email "&a.jgh; <email xmlns=''>jgh@FreeBSD.org</email>">
<!ENTITY a.jgreco "Joe Greco">
<!ENTITY a.jgreco.email "&a.jgreco; <email xmlns=''>jgreco@FreeBSD.org</email>">
<!ENTITY a.jh "Jaakko Heinonen">
<!ENTITY a.jh.email "&a.jh; <email xmlns=''>jh@FreeBSD.org</email>">
<!ENTITY a.jhale "Jason E. Hale">
<!ENTITY a.jhale.email "&a.jhale; <email xmlns=''>jhale@FreeBSD.org</email>">
<!ENTITY a.jhay "John Hay">
<!ENTITY a.jhay.email "&a.jhay; <email xmlns=''>jhay@FreeBSD.org</email>">
<!ENTITY a.jhb "John Baldwin">
<!ENTITY a.jhb.email "&a.jhb; <email xmlns=''>jhb@FreeBSD.org</email>">
<!ENTITY a.jhibbits "Justin Hibbits">
<!ENTITY a.jhibbits.email "&a.jhibbits; <email xmlns=''>jhibbits@FreeBSD.org</email>">
<!ENTITY a.jhs "Julian Stacey">
<!ENTITY a.jhs.email "&a.jhs; <email xmlns=''>jhs@FreeBSD.org</email>">
<!ENTITY a.jilles "Jilles Tjoelker">
<!ENTITY a.jilles.email "&a.jilles; <email xmlns=''>jilles@FreeBSD.org</email>">
<!ENTITY a.jim "Jim Mock">
<!ENTITY a.jim.email "&a.jim; <email xmlns=''>jim@FreeBSD.org</email>">
<!ENTITY a.jimharris "Jim Harris">
<!ENTITY a.jimharris.email "&a.jimharris; <email xmlns=''>jimharris@FreeBSD.org</email>">
<!ENTITY a.jinmei "Tatuya JINMEI">
<!ENTITY a.jinmei.email "&a.jinmei; <email xmlns=''>jinmei@FreeBSD.org</email>">
<!ENTITY a.jkb "Jan Koum">
<!ENTITY a.jkb.email "&a.jkb; <email xmlns=''>jkb@FreeBSD.org</email>">
<!ENTITY a.jkh "Jordan K. Hubbard">
<!ENTITY a.jkh.email "&a.jkh; <email xmlns=''>jkh@FreeBSD.org</email>">
<!ENTITY a.jkim "Jung-uk Kim">
<!ENTITY a.jkim.email "&a.jkim; <email xmlns=''>jkim@FreeBSD.org</email>">
<!ENTITY a.jkois "Johann Kois">
<!ENTITY a.jkois.email "&a.jkois; <email xmlns=''>jkois@FreeBSD.org</email>">
<!ENTITY a.jkoshy "Joseph Koshy">
<!ENTITY a.jkoshy.email "&a.jkoshy; <email xmlns=''>jkoshy@FreeBSD.org</email>">
<!ENTITY a.jlaffaye "Julien Laffaye">
<!ENTITY a.jlaffaye.email "&a.jlaffaye; <email xmlns=''>jlaffaye@FreeBSD.org</email>">
<!ENTITY a.jlemon "Jonathan Lemon">
<!ENTITY a.jlemon.email "&a.jlemon; <email xmlns=''>jlemon@FreeBSD.org</email>">
<!ENTITY a.jlh "Jeremie Le Hen">
<!ENTITY a.jlh.email "&a.jlh; <email xmlns=''>jlh@FreeBSD.org</email>">
<!ENTITY a.jlrobin "James L. Robinson">
<!ENTITY a.jlrobin.email "&a.jlrobin; <email xmlns=''>jlrobin@FreeBSD.org</email>">
<!ENTITY a.jls "Jordan Sissel">
<!ENTITY a.jls.email "&a.jls; <email xmlns=''>jls@FreeBSD.org</email>">
<!ENTITY a.jmacd "Joshua Peck Macdonald">
<!ENTITY a.jmacd.email "&a.jmacd; <email xmlns=''>jmacd@FreeBSD.org</email>">
<!ENTITY a.jmallett "Juli Mallett">
<!ENTITY a.jmallett.email "&a.jmallett; <email xmlns=''>jmallett@FreeBSD.org</email>">
<!ENTITY a.jmas "Jose M. Alcaide">
<!ENTITY a.jmas.email "&a.jmas; <email xmlns=''>jmas@FreeBSD.org</email>">
<!ENTITY a.jmb "Jonathan M. Bresler">
<!ENTITY a.jmb.email "&a.jmb; <email xmlns=''>jmb@FreeBSD.org</email>">
<!ENTITY a.jmelo "Jean Milanez Melo">
<!ENTITY a.jmelo.email "&a.jmelo; <email xmlns=''>jmelo@FreeBSD.org</email>">
<!ENTITY a.jmg "John-Mark Gurney">
<!ENTITY a.jmg.email "&a.jmg; <email xmlns=''>jmg@FreeBSD.org</email>">
<!ENTITY a.jmz "Jean-Marc Zucconi">
<!ENTITY a.jmz.email "&a.jmz; <email xmlns='' role='nolink'>jmz@FreeBSD.org</email>">
<!ENTITY a.joe "Josef Karthauser">
<!ENTITY a.joe.email "&a.joe; <email xmlns=''>joe@FreeBSD.org</email>">
<!ENTITY a.joel "Joel Dahl">
<!ENTITY a.joel.email "&a.joel; <email xmlns=''>joel@FreeBSD.org</email>">
<!ENTITY a.joerg "J&ouml;rg Wunsch">
<!ENTITY a.joerg.email "&a.joerg; <email xmlns=''>joerg@FreeBSD.org</email>">
<!ENTITY a.johan "Johan Karlsson">
<!ENTITY a.johan.email "&a.johan; <email xmlns=''>johan@FreeBSD.org</email>">
<!ENTITY a.johans "Johan van Selst">
<!ENTITY a.johans.email "&a.johans; <email xmlns=''>johans@FreeBSD.org</email>">
<!ENTITY a.john "John Cavanaugh">
<!ENTITY a.john.email "&a.john; <email xmlns=''>john@FreeBSD.org</email>">
<!ENTITY a.jon "Jonathan Chen">
<!ENTITY a.jon.email "&a.jon; <email xmlns=''>jon@FreeBSD.org</email>">
<!ENTITY a.jonathan "Jonathan Anderson">
<!ENTITY a.jonathan.email "&a.jonathan; <email xmlns=''>jonathan@FreeBSD.org</email>">
<!ENTITY a.josef "Josef El-Rayes">
<!ENTITY a.josef.email "&a.josef; <email xmlns=''>josef@FreeBSD.org</email>">
<!ENTITY a.jpaetzel "Josh Paetzel">
<!ENTITY a.jpaetzel.email "&a.jpaetzel; <email xmlns=''>jpaetzel@FreeBSD.org</email>">
<!ENTITY a.jraynard "James Raynard">
<!ENTITY a.jraynard.email "&a.jraynard; <email xmlns=''>jraynard@FreeBSD.org</email>">
<!ENTITY a.jsa "Joseph S. Atkinson">
<!ENTITY a.jsa.email "&a.jsa; <email xmlns=''>jsa@FreeBSD.org</email>">
<!ENTITY a.jseger "Justin Seger">
<!ENTITY a.jseger.email "&a.jseger; <email xmlns=''>jseger@FreeBSD.org</email>">
<!ENTITY a.jtc "J.T. Conklin">
<!ENTITY a.jtc.email "&a.jtc; <email xmlns=''>jtc@FreeBSD.org</email>">
<!ENTITY a.julian "Julian Elischer">
<!ENTITY a.julian.email "&a.julian; <email xmlns=''>julian@FreeBSD.org</email>">
<!ENTITY a.jvh "Johannes Helander">
<!ENTITY a.jvh.email "&a.jvh; <email xmlns=''>jvh@FreeBSD.org</email>">
<!ENTITY a.jwd "John W. DeBoskey">
<!ENTITY a.jwd.email "&a.jwd; <email xmlns=''>jwd@FreeBSD.org</email>">
<!ENTITY a.jylefort "Jean-Yves Lefort">
<!ENTITY a.jylefort.email "&a.jylefort; <email xmlns=''>jylefort@FreeBSD.org</email>">
<!ENTITY a.kaiw "Kai Wang">
<!ENTITY a.kaiw.email "&a.kaiw; <email xmlns=''>kaiw@FreeBSD.org</email>">
<!ENTITY a.kan "Alexander Kabaev">
<!ENTITY a.kan.email "&a.kan; <email xmlns=''>kan@FreeBSD.org</email>">
<!ENTITY a.kargl "Steven G. Kargl">
<!ENTITY a.kargl.email "&a.kargl; <email xmlns=''>kargl@FreeBSD.org</email>">
<!ENTITY a.karl "Karl Strickland">
<!ENTITY a.karl.email "&a.karl; <email xmlns=''>karl@FreeBSD.org</email>">
<!ENTITY a.kato "Takenori KATO">
<!ENTITY a.kato.email "&a.kato; <email xmlns=''>kato@FreeBSD.org</email>">
<!ENTITY a.kbyanc "Kelly Yancey">
<!ENTITY a.kbyanc.email "&a.kbyanc; <email xmlns=''>kbyanc@FreeBSD.org</email>">
<!ENTITY a.keichii "Michael C. Wu">
<!ENTITY a.keichii.email "&a.keichii; <email xmlns=''>keichii@FreeBSD.org</email>">
<!ENTITY a.keith "Jing-Tang Keith Jang">
<!ENTITY a.keith.email "&a.keith; <email xmlns=''>keith@FreeBSD.org</email>">
<!ENTITY a.ken "Kenneth D. Merry">
<!ENTITY a.ken.email "&a.ken; <email xmlns=''>ken@FreeBSD.org</email>">
<!ENTITY a.kensmith "Ken Smith">
<!ENTITY a.kensmith.email "&a.kensmith; <email xmlns=''>kensmith@FreeBSD.org</email>">
<!ENTITY a.keramida "Giorgos Keramidas">
<!ENTITY a.keramida.email "&a.keramida; <email xmlns=''>keramida@FreeBSD.org</email>">
<!ENTITY a.kevlo "Kevin Lo">
<!ENTITY a.kevlo.email "&a.kevlo; <email xmlns=''>kevlo@FreeBSD.org</email>">
<!ENTITY a.kib "Konstantin Belousov">
<!ENTITY a.kib.email "&a.kib; <email xmlns=''>kib@FreeBSD.org</email>">
<!ENTITY a.kientzle "Tim Kientzle">
<!ENTITY a.kientzle.email "&a.kientzle; <email xmlns=''>kientzle@FreeBSD.org</email>">
<!ENTITY a.kiri "Kazuhiko Kiriyama">
<!ENTITY a.kiri.email "&a.kiri; <email xmlns=''>kiri@FreeBSD.org</email>">
<!ENTITY a.kishore "Kishore Sampathkumar">
<!ENTITY a.kishore.email "&a.kishore; <email xmlns=''>kishore@FreeBSD.org</email>">
<!ENTITY a.kjc "Kenjiro Cho">
<!ENTITY a.kjc.email "&a.kjc; <email xmlns=''>kjc@FreeBSD.org</email>">
<!ENTITY a.kmacy "Kip Macy">
<!ENTITY a.kmacy.email "&a.kmacy; <email xmlns=''>kmacy@FreeBSD.org</email>">
<!ENTITY a.kmoore "Kris Moore">
<!ENTITY a.kmoore.email "&a.kmoore; <email xmlns=''>kmoore@FreeBSD.org</email>">
<!ENTITY a.knu "Akinori MUSHA">
<!ENTITY a.knu.email "&a.knu; <email xmlns=''>knu@FreeBSD.org</email>">
<!ENTITY a.koitsu "Jeremy Chadwick">
<!ENTITY a.koitsu.email "&a.koitsu; <email xmlns=''>koitsu@FreeBSD.org</email>">
<!ENTITY a.koobs "Kubilay Kocak">
<!ENTITY a.koobs.email "&a.koobs; <email xmlns=''>koobs@FreeBSD.org</email>">
<!ENTITY a.krion "Kirill Ponomarew">
<!ENTITY a.krion.email "&a.krion; <email xmlns=''>krion@FreeBSD.org</email>">
<!ENTITY a.kris "Kris Kennaway">
<!ENTITY a.kris.email "&a.kris; <email xmlns=''>kris@FreeBSD.org</email>">
<!ENTITY a.kuku "Christoph P. Kukulies">
<!ENTITY a.kuku.email "&a.kuku; <email xmlns=''>kuku@FreeBSD.org</email>">
<!ENTITY a.kuriyama "Jun Kuriyama">
<!ENTITY a.kuriyama.email "&a.kuriyama; <email xmlns=''>kuriyama@FreeBSD.org</email>">
<!ENTITY a.kwm "Koop Mast">
<!ENTITY a.kwm.email "&a.kwm; <email xmlns=''>kwm@FreeBSD.org</email>">
<!ENTITY a.lars "Lars Fredriksen">
<!ENTITY a.lars.email "&a.lars; <email xmlns=''>lars@FreeBSD.org</email>">
<!ENTITY a.laszlof "Frank J. Laszlo">
<!ENTITY a.laszlof.email "&a.laszlof; <email xmlns=''>laszlof@FreeBSD.org</email>">
<!ENTITY a.lawrance "Sam Lawrance">
<!ENTITY a.lawrance.email "&a.lawrance; <email xmlns=''>lawrance@FreeBSD.org</email>">
<!ENTITY a.lbr "Lars Balker Rasmussen">
<!ENTITY a.lbr.email "&a.lbr; <email xmlns=''>lbr@FreeBSD.org</email>">
<!ENTITY a.le "Lukas Ertl">
<!ENTITY a.le.email "&a.le; <email xmlns=''>le@FreeBSD.org</email>">
<!ENTITY a.leeym "Yen-Ming Lee">
<!ENTITY a.leeym.email "&a.leeym; <email xmlns=''>leeym@FreeBSD.org</email>">
<!ENTITY a.lesi "Dejan Lesjak">
<!ENTITY a.lesi.email "&a.lesi; <email xmlns=''>lesi@FreeBSD.org</email>">
<!ENTITY a.lev "Lev Serebryakov">
<!ENTITY a.lev.email "&a.lev; <email xmlns=''>lev@FreeBSD.org</email>">
<!ENTITY a.lile "Larry Lile">
<!ENTITY a.lile.email "&a.lile; <email xmlns=''>lile@FreeBSD.org</email>">
<!ENTITY a.linimon "Mark Linimon">
<!ENTITY a.linimon.email "&a.linimon; <email xmlns=''>linimon@FreeBSD.org</email>">
<!ENTITY a.lioux "M&aacute;rio S&eacute;rgio Fujikawa Ferreira">
<!ENTITY a.lioux.email "&a.lioux; <email xmlns=''>lioux@FreeBSD.org</email>">
<!ENTITY a.lippe "Felippe de Meirelles Motta">
<!ENTITY a.lippe.email "&a.lippe; <email xmlns=''>lippe@FreeBSD.org</email>">
<!ENTITY a.ljo "L Jonas Olsson">
<!ENTITY a.ljo.email "&a.ljo; <email xmlns=''>ljo@FreeBSD.org</email>">
<!ENTITY a.lkoeller "Lars Koeller">
<!ENTITY a.lkoeller.email "&a.lkoeller; <email xmlns=''>lkoeller@FreeBSD.org</email>">
<!ENTITY a.lme "Lars Engels">
<!ENTITY a.lme.email "&a.lme; <email xmlns=''>lme@FreeBSD.org</email>">
<!ENTITY a.loader "Fukang Chen">
<!ENTITY a.loader.email "&a.loader; <email xmlns=''>loader@FreeBSD.org</email>">
<!ENTITY a.lofi "Michael Nottebrock">
<!ENTITY a.lofi.email "&a.lofi; <email xmlns=''>lofi@FreeBSD.org</email>">
<!ENTITY a.logo "Valentino Vaschetto">
<!ENTITY a.logo.email "&a.logo; <email xmlns=''>logo@FreeBSD.org</email>">
<!ENTITY a.loos "Luiz Otavio O Souza">
<!ENTITY a.loos.email "&a.loos; <email xmlns=''>loos@FreeBSD.org</email>">
<!ENTITY a.lstewart "Lawrence Stewart">
<!ENTITY a.lstewart.email "&a.lstewart; <email xmlns=''>lstewart@FreeBSD.org</email>">
<!ENTITY a.lth "Lars Thegler">
<!ENTITY a.lth.email "&a.lth; <email xmlns=''>lth@FreeBSD.org</email>">
<!ENTITY a.luigi "Luigi Rizzo">
<!ENTITY a.luigi.email "&a.luigi; <email xmlns=''>luigi@FreeBSD.org</email>">
<!ENTITY a.lulf "Ulf Lilleengen">
<!ENTITY a.lulf.email "&a.lulf; <email xmlns=''>lulf@FreeBSD.org</email>">
<!ENTITY a.luoqi "Luoqi Chen">
<!ENTITY a.luoqi.email "&a.luoqi; <email xmlns=''>luoqi@FreeBSD.org</email>">
<!ENTITY a.lwhsu "Li-Wen Hsu">
<!ENTITY a.lwhsu.email "&a.lwhsu; <email xmlns=''>lwhsu@FreeBSD.org</email>">
<!ENTITY a.lx "David Thiel">
<!ENTITY a.lx.email "&a.lx; <email xmlns=''>lx@FreeBSD.org</email>">
<!ENTITY a.madpilot "Guido Falsi">
<!ENTITY a.madpilot.email "&a.madpilot; <email xmlns=''>madpilot@FreeBSD.org</email>">
<!ENTITY a.maho "Maho Nakata">
<!ENTITY a.maho.email "&a.maho; <email xmlns=''>maho@FreeBSD.org</email>">
<!ENTITY a.makc "Max Brazhnikov">
<!ENTITY a.makc.email "&a.makc; <email xmlns=''>makc@FreeBSD.org</email>">
<!ENTITY a.mandree "Matthias Andree">
<!ENTITY a.mandree.email "&a.mandree; <email xmlns=''>mandree@FreeBSD.org</email>">
<!ENTITY a.manolis "Manolis Kiagias">
<!ENTITY a.manolis.email "&a.manolis; <email xmlns=''>manolis@FreeBSD.org</email>">
<!ENTITY a.marcel "Marcel Moolenaar">
<!ENTITY a.marcel.email "&a.marcel; <email xmlns=''>marcel@FreeBSD.org</email>">
<!ENTITY a.marck "Dmitry Morozovsky">
<!ENTITY a.marck.email "&a.marck; <email xmlns=''>marck@FreeBSD.org</email>">
<!ENTITY a.marcus "Joe Marcus Clarke">
<!ENTITY a.marcus.email "&a.marcus; <email xmlns=''>marcus@FreeBSD.org</email>">
<!ENTITY a.marino "John Marino">
<!ENTITY a.marino.email "&a.marino; <email xmlns=''>marino@FreeBSD.org</email>">
<!ENTITY a.marius "Marius Strobl">
<!ENTITY a.marius.email "&a.marius; <email xmlns=''>marius@FreeBSD.org</email>">
<!ENTITY a.markj "Mark Johnston">
<!ENTITY a.markj.email "&a.markj; <email xmlns=''>markj@FreeBSD.org</email>">
<!ENTITY a.markm "Mark Murray">
<!ENTITY a.markm.email "&a.markm; <email xmlns=''>markm@FreeBSD.org</email>">
<!ENTITY a.marko "Mark Ovens">
<!ENTITY a.marko.email "&a.marko; <email xmlns=''>marko@FreeBSD.org</email>">
<!ENTITY a.markp "Mark Pulford">
<!ENTITY a.markp.email "&a.markp; <email xmlns=''>markp@FreeBSD.org</email>">
<!ENTITY a.marks "Mark Santcroos">
<!ENTITY a.marks.email "&a.marks; <email xmlns=''>marks@FreeBSD.org</email>">
<!ENTITY a.markus "Markus Br&uuml;ffer">
<!ENTITY a.markus.email "&a.markus; <email xmlns=''>markus@FreeBSD.org</email>">
<!ENTITY a.martin "Martin Renters">
<!ENTITY a.martin.email "&a.martin; <email xmlns=''>martin@FreeBSD.org</email>">
<!ENTITY a.martymac "Ganael Laplanche">
<!ENTITY a.martymac.email "&a.martymac; <email xmlns=''>martymac@FreeBSD.org</email>">
<!ENTITY a.mat "Mathieu Arnold">
<!ENTITY a.mat.email "&a.mat; <email xmlns=''>mat@FreeBSD.org</email>">
<!ENTITY a.matk "Mathew Kanner">
<!ENTITY a.matk.email "&a.matk; <email xmlns=''>matk@FreeBSD.org</email>">
<!ENTITY a.matt "Matt Olander">
<!ENTITY a.matt.email "&a.matt; <email xmlns=''>matt@FreeBSD.org</email>">
<!ENTITY a.matteo "Matteo Riondato">
<!ENTITY a.matteo.email "&a.matteo; <email xmlns=''>matteo@FreeBSD.org</email>">
<!ENTITY a.matthew "Matthew Seaman">
<!ENTITY a.matthew.email "&a.matthew; <email xmlns=''>matthew@FreeBSD.org</email>">
<!ENTITY a.matusita "Makoto Matsushita">
<!ENTITY a.matusita.email "&a.matusita; <email xmlns=''>matusita@FreeBSD.org</email>">
<!ENTITY a.mav "Alexander Motin">
<!ENTITY a.mav.email "&a.mav; <email xmlns=''>mav@FreeBSD.org</email>">
<!ENTITY a.max "Masafumi NAKANE">
<!ENTITY a.max.email "&a.max; <email xmlns=''>max@FreeBSD.org</email>">
<!ENTITY a.maxim "Maxim Konovalov">
<!ENTITY a.maxim.email "&a.maxim; <email xmlns=''>maxim@FreeBSD.org</email>">
<!ENTITY a.mb "Maxim Bolotin">
<!ENTITY a.mb.email "&a.mb; <email xmlns=''>mb@FreeBSD.org</email>">
<!ENTITY a.mbarkah "Ade Barkah">
<!ENTITY a.mbarkah.email "&a.mbarkah; <email xmlns=''>mbarkah@FreeBSD.org</email>">
<!ENTITY a.mbr "Martin Blapp">
<!ENTITY a.mbr.email "&a.mbr; <email xmlns=''>mbr@FreeBSD.org</email>">
<!ENTITY a.mckay "Stephen McKay">
<!ENTITY a.mckay.email "&a.mckay; <email xmlns=''>mckay@FreeBSD.org</email>">
<!ENTITY a.mckusick "Kirk McKusick">
<!ENTITY a.mckusick.email "&a.mckusick; <email xmlns=''>mckusick@FreeBSD.org</email>">
<!ENTITY a.mdf "Matthew Fleming">
<!ENTITY a.mdf.email "&a.mdf; <email xmlns=''>mdf@FreeBSD.org</email>">
<!ENTITY a.mdodd "Matthew N. Dodd">
<!ENTITY a.mdodd.email "&a.mdodd; <email xmlns=''>mdodd@FreeBSD.org</email>">
<!ENTITY a.meganm "Megan McCormack">
<!ENTITY a.meganm.email "&a.meganm; <email xmlns=''>meganm@FreeBSD.rgo</email>">
<!ENTITY a.melifaro "Alexander V. Chernikov">
<!ENTITY a.melifaro.email "&a.melifaro; <email xmlns=''>melifaro@FreeBSD.org</email>">
<!ENTITY a.metal "Koichi Suzuki">
<!ENTITY a.metal.email "&a.metal; <email xmlns=''>metal@FreeBSD.org</email>">
<!ENTITY a.mezz "Jeremy Messenger">
<!ENTITY a.mezz.email "&a.mezz; <email xmlns=''>mezz@FreeBSD.org</email>">
<!ENTITY a.mharo "Michael Haro">
<!ENTITY a.mharo.email "&a.mharo; <email xmlns=''>mharo@FreeBSD.org</email>">
<!ENTITY a.mheinen "Martin Heinen">
<!ENTITY a.mheinen.email "&a.mheinen; <email xmlns=''>mheinen@FreeBSD.org</email>">
<!ENTITY a.mi "Mikhail Teterin">
<!ENTITY a.mi.email "&a.mi; <email xmlns=''>mi@FreeBSD.org</email>">
<!ENTITY a.mich "Michael L. Hostbaek">
<!ENTITY a.mich.email "&a.mich; <email xmlns=''>mich@FreeBSD.org</email>">
<!ENTITY a.mike "Mike Barcroft">
<!ENTITY a.mike.email "&a.mike; <email xmlns=''>mike@FreeBSD.org</email>">
<!ENTITY a.mikeh "Mike Heffner">
<!ENTITY a.mikeh.email "&a.mikeh; <email xmlns=''>mikeh@FreeBSD.org</email>">
<!ENTITY a.mini "Jonathan Mini">
<!ENTITY a.mini.email "&a.mini; <email xmlns=''>mini@FreeBSD.org</email>">
<!ENTITY a.mita "Yoshio MITA">
<!ENTITY a.mita.email "&a.mita; <email xmlns=''>mita@FreeBSD.org</email>">
<!ENTITY a.miwi "Martin Wilke">
<!ENTITY a.miwi.email "&a.miwi; <email xmlns=''>miwi@FreeBSD.org</email>">
<!ENTITY a.mjacob "Matthew Jacob">
<!ENTITY a.mjacob.email "&a.mjacob; <email xmlns=''>mjacob@FreeBSD.org</email>">
<!ENTITY a.mjg "Mateusz Guzik">
<!ENTITY a.mjg.email "&a.mjg; <email xmlns=''>mjg@FreeBSD.org</email>">
<!ENTITY a.mks "Mike Spengler">
<!ENTITY a.mks.email "&a.mks; <email xmlns=''>mks@FreeBSD.org</email>">
<!ENTITY a.mlaier "Max Laier">
<!ENTITY a.mlaier.email "&a.mlaier; <email xmlns=''>mlaier@FreeBSD.org</email>">
<!ENTITY a.mm "Martin Matuska">
<!ENTITY a.mm.email "&a.mm; <email xmlns=''>mm@FreeBSD.org</email>">
<!ENTITY a.mnag "Marcus Alves Grando">
<!ENTITY a.mnag.email "&a.mnag; <email xmlns=''>mnag@FreeBSD.org</email>">
<!ENTITY a.mohans "Mohan Srinivasan">
<!ENTITY a.mohans.email "&a.mohans; <email xmlns=''>mohans@FreeBSD.org</email>">
<!ENTITY a.monthadar "Monthadar Al Jaberi">
<!ENTITY a.monthadar.email "&a.monthadar; <email xmlns=''>monthadar@FreeBSD.org</email>">
<!ENTITY a.motoyuki "Motoyuki Konno">
<!ENTITY a.motoyuki.email "&a.motoyuki; <email xmlns=''>motoyuki@FreeBSD.org</email>">
<!ENTITY a.mp "Mark Peek">
<!ENTITY a.mp.email "&a.mp; <email xmlns=''>mp@FreeBSD.org</email>">
<!ENTITY a.mph "Matthew Hunt">
<!ENTITY a.mph.email "&a.mph; <email xmlns=''>mph@FreeBSD.org</email>">
<!ENTITY a.mpp "Mike Pritchard">
<!ENTITY a.mpp.email "&a.mpp; <email xmlns=''>mpp@FreeBSD.org</email>">
<!ENTITY a.mr "Michael Reifenberger">
<!ENTITY a.mr.email "&a.mr; <email xmlns=''>mr@FreeBSD.org</email>">
<!ENTITY a.msmith "Michael Smith">
<!ENTITY a.msmith.email "&a.msmith; <email xmlns=''>msmith@FreeBSD.org</email>">
<!ENTITY a.mtaylor "Mark J. Taylor">
<!ENTITY a.mtaylor.email "&a.mtaylor; <email xmlns=''>mtaylor@FreeBSD.org</email>">
<!ENTITY a.mtm "Mike Makonnen">
<!ENTITY a.mtm.email "&a.mtm; <email xmlns=''>mtm@FreeBSD.org</email>">
<!ENTITY a.murray "Murray Stokely">
<!ENTITY a.murray.email "&a.murray; <email xmlns=''>murray@FreeBSD.org</email>">
<!ENTITY a.mux "Maxime Henrion">
<!ENTITY a.mux.email "&a.mux; <email xmlns=''>mux@FreeBSD.org</email>">
<!ENTITY a.mva "Marcus von Appen">
<!ENTITY a.mva.email "&a.mva; <email xmlns=''>mva@FreeBSD.org</email>">
<!ENTITY a.mwlucas "Michael W. Lucas">
<!ENTITY a.mwlucas.email "&a.mwlucas; <email xmlns=''>mwlucas@FreeBSD.org</email>">
<!ENTITY a.naddy "Christian Weisgerber">
<!ENTITY a.naddy.email "&a.naddy; <email xmlns=''>naddy@FreeBSD.org</email>">
<!ENTITY a.nakai "Yukihiro Nakai">
<!ENTITY a.nakai.email "&a.nakai; <email xmlns=''>nakai@FreeBSD.org</email>">
<!ENTITY a.nate "Nate Williams">
<!ENTITY a.nate.email "&a.nate; <email xmlns=''>nate@FreeBSD.org</email>">
<!ENTITY a.nbm "Neil Blakey-Milner">
<!ENTITY a.nbm.email "&a.nbm; <email xmlns=''>nbm@FreeBSD.org</email>">
<!ENTITY a.nectar "Jacques Vidrine">
<!ENTITY a.nectar.email "&a.nectar; <email xmlns=''>nectar@FreeBSD.org</email>">
<!ENTITY a.neel "Neel Natu">
<!ENTITY a.neel.email "&a.neel; <email xmlns=''>neel@FreeBSD.org</email>">
<!ENTITY a.nemoliu "Tong Liu">
<!ENTITY a.nemoliu.email "&a.nemoliu; <email xmlns=''>nemoliu@FreeBSD.org</email>">
<!ENTITY a.netchild "Alexander Leidinger">
<!ENTITY a.netchild.email "&a.netchild; <email xmlns=''>netchild@FreeBSD.org</email>">
<!ENTITY a.newton "Mark Newton">
<!ENTITY a.newton.email "&a.newton; <email xmlns=''>newton@FreeBSD.org</email>">
<!ENTITY a.nhibma "Nick Hibma">
<!ENTITY a.nhibma.email "&a.nhibma; <email xmlns=''>n_hibma@FreeBSD.org</email>">
<!ENTITY a.niels "Niels Heinen">
<!ENTITY a.niels.email "&a.niels; <email xmlns=''>niels@FreeBSD.org</email>">
<!ENTITY a.nik "Nik Clayton">
<!ENTITY a.nik.email "&a.nik; <email xmlns=''>nik@FreeBSD.org</email>">
<!ENTITY a.niklas "Niklas Saers">
<!ENTITY a.niklas.email "&a.niklas; <email xmlns=''>niklas@FreeBSD.org</email>">
<!ENTITY a.nivit "Nicola Vitale">
<!ENTITY a.nivit.email "&a.nivit; <email xmlns=''>nivit@FreeBSD.org</email>">
<!ENTITY a.njl "Nate Lawson">
<!ENTITY a.njl.email "&a.njl; <email xmlns=''>njl@FreeBSD.org</email>">
<!ENTITY a.nobutaka "Nobutaka MANTANI">
<!ENTITY a.nobutaka.email "&a.nobutaka; <email xmlns=''>nobutaka@FreeBSD.org</email>">
<!ENTITY a.non "Noriaki Mitsunaga">
<!ENTITY a.non.email "&a.non; <email xmlns=''>non@FreeBSD.org</email>">
<!ENTITY a.nork "Norikatsu Shigemura">
<!ENTITY a.nork.email "&a.nork; <email xmlns=''>nork@FreeBSD.org</email>">
<!ENTITY a.novel "Roman Bogorodskiy">
<!ENTITY a.novel.email "&a.novel; <email xmlns=''>novel@FreeBSD.org</email>">
<!ENTITY a.nox "Juergen Lock">
<!ENTITY a.nox.email "&a.nox; <email xmlns=''>nox@FreeBSD.org</email>">
<!ENTITY a.np "Navdeep Parhar">
<!ENTITY a.np.email "&a.np; <email xmlns=''>np@FreeBSD.org</email>">
<!ENTITY a.nra "Nathan Ahlstrom">
<!ENTITY a.nra.email "&a.nra; <email xmlns=''>nra@FreeBSD.org</email>">
<!ENTITY a.nsayer "Nick Sayer">
<!ENTITY a.nsayer.email "&a.nsayer; <email xmlns=''>nsayer@FreeBSD.org</email>">
<!ENTITY a.nsj "Nate Johnson">
<!ENTITY a.nsj.email "&a.nsj; <email xmlns=''>nsj@FreeBSD.org</email>">
<!ENTITY a.nsouch "Nicolas Souchu">
<!ENTITY a.nsouch.email "&a.nsouch; <email xmlns=''>nsouch@FreeBSD.org</email>">
<!ENTITY a.nwhitehorn "Nathan Whitehorn">
<!ENTITY a.nwhitehorn.email "&a.nwhitehorn; <email xmlns=''>nwhitehorn@FreeBSD.org</email>">
<!ENTITY a.nyan "Yoshihiro Takahashi">
<!ENTITY a.nyan.email "&a.nyan; <email xmlns=''>nyan@FreeBSD.org</email>">
<!ENTITY a.obraun "Oliver Braun">
<!ENTITY a.obraun.email "&a.obraun; <email xmlns=''>obraun@FreeBSD.org</email>">
<!ENTITY a.obrien "David O'Brien">
<!ENTITY a.obrien.email "&a.obrien; <email xmlns=''>obrien@FreeBSD.org</email>">
<!ENTITY a.ohauer "Oliver Hauer">
<!ENTITY a.ohauer.email "&a.ohauer; <email xmlns=''>ohauer@FreeBSD.org</email>">
<!ENTITY a.okazaki "Tetsurou OKAZAKI">
<!ENTITY a.okazaki.email "&a.okazaki; <email xmlns=''>okazaki@FreeBSD.org</email>">
<!ENTITY a.olah "Andras Olah">
<!ENTITY a.olah.email "&a.olah; <email xmlns=''>olah@FreeBSD.org</email>">
<!ENTITY a.oleg "Oleg Bulyzhin">
<!ENTITY a.oleg.email "&a.oleg; <email xmlns=''>oleg@FreeBSD.org</email>">
<!ENTITY a.olgeni "Jimmy Olgeni">
<!ENTITY a.olgeni.email "&a.olgeni; <email xmlns=''>olgeni@FreeBSD.org</email>">
<!ENTITY a.oliver "Oliver Lehmann">
<!ENTITY a.oliver.email "&a.oliver; <email xmlns=''>oliver@FreeBSD.org</email>">
<!ENTITY a.olivierd "Olivier Duchateau">
<!ENTITY a.olivierd.email "&a.olivierd; <email xmlns=''>olivierd@FreeBSD.org</email>">
<!ENTITY a.olli "Oliver Fromme">
<!ENTITY a.olli.email "&a.olli; <email xmlns=''>olli@FreeBSD.org</email>">
<!ENTITY a.onoe "Atsushi Onoe">
<!ENTITY a.onoe.email "&a.onoe; <email xmlns=''>onoe@FreeBSD.org</email>">
<!ENTITY a.orion "Orion Hodson">
<!ENTITY a.orion.email "&a.orion; <email xmlns=''>orion@FreeBSD.org</email>">
<!ENTITY a.osa "Sergey A. Osokin">
<!ENTITY a.osa.email "&a.osa; <email xmlns=''>osa@FreeBSD.org</email>">
<!ENTITY a.pat "Patrick Li">
<!ENTITY a.pat.email "&a.pat; <email xmlns=''>pat@FreeBSD.org</email>">
<!ENTITY a.patrick "Patrick S. Gardella">
<!ENTITY a.patrick.email "&a.patrick; <email xmlns=''>patrick@FreeBSD.org</email>">
<!ENTITY a.paul "Paul Richards">
<!ENTITY a.paul.email "&a.paul; <email xmlns=''>paul@FreeBSD.org</email>">
<!ENTITY a.pav "Pav Lucistnik">
<!ENTITY a.pav.email "&a.pav; <email xmlns=''>pav@FreeBSD.org</email>">
<!ENTITY a.pawel "Pawel Pekala">
<!ENTITY a.pawel.email "&a.pawel; <email xmlns=''>pawel@FreeBSD.org</email>">
<!ENTITY a.pb "Pierre Beyssac">
<!ENTITY a.pb.email "&a.pb; <email xmlns=''>pb@FreeBSD.org</email>">
<!ENTITY a.pclin "Po-Chien Lin">
<!ENTITY a.pclin.email "&a.pclin; <email xmlns=''>pclin@FreeBSD.org</email>">
<!ENTITY a.pdeuskar "Prafulla S. Deuskar">
<!ENTITY a.pdeuskar.email "&a.pdeuskar; <email xmlns=''>pdeuskar@FreeBSD.org</email>">
<!ENTITY a.pds "Peter da Silva">
<!ENTITY a.pds.email "&a.pds; <email xmlns=''>pds@FreeBSD.org</email>">
<!ENTITY a.peadar "Peter Edwards">
<!ENTITY a.peadar.email "&a.peadar; <email xmlns=''>peadar@FreeBSD.org</email>">
<!ENTITY a.perky "Hye-Shik Chang">
<!ENTITY a.perky.email "&a.perky; <email xmlns=''>perky@FreeBSD.org</email>">
<!ENTITY a.petef "Pete Fritchman">
<!ENTITY a.petef.email "&a.petef; <email xmlns=''>petef@FreeBSD.org</email>">
<!ENTITY a.peter "Peter Wemm">
<!ENTITY a.peter.email "&a.peter; <email xmlns=''>peter@FreeBSD.org</email>">
<!ENTITY a.peterj "Peter Jeremy">
<!ENTITY a.peterj.email "&a.peterj; <email xmlns=''>peterj@FreeBSD.org</email>">
<!ENTITY a.pfg "Pedro Giffuni">
<!ENTITY a.pfg.email "&a.pfg; <email xmlns=''>pfg@FreeBSD.org</email>">
<!ENTITY a.pgj "G&aacute;bor P&aacute;li">
<!ENTITY a.pgj.email "&a.pgj; <email xmlns=''>pgj@FreeBSD.org</email>">
<!ENTITY a.pgollucci "Philip M. Gollucci">
<!ENTITY a.pgollucci.email "&a.pgollucci; <email xmlns=''>pgollucci@FreeBSD.org</email>">
<!ENTITY a.phantom "Alexey Zelkin">
<!ENTITY a.phantom.email "&a.phantom; <email xmlns=''>phantom@FreeBSD.org</email>">
<!ENTITY a.philip "Philip Paeps">
<!ENTITY a.philip.email "&a.philip; <email xmlns=''>philip@FreeBSD.org</email>">
<!ENTITY a.phk "Poul-Henning Kamp">
<!ENTITY a.phk.email "&a.phk; <email xmlns=''>phk@FreeBSD.org</email>">
<!ENTITY a.pho "Peter Holm">
<!ENTITY a.pho.email "&a.pho; <email xmlns=''>pho@FreeBSD.org</email>">
<!ENTITY a.piero "Piero Serini">
<!ENTITY a.piero.email "&a.piero; <email xmlns=''>piero@FreeBSD.org</email>">
<!ENTITY a.pirzyk "Jim Pirzyk">
<!ENTITY a.pirzyk.email "&a.pirzyk; <email xmlns=''>pirzyk@FreeBSD.org</email>">
<!ENTITY a.piso "Paolo Pisati">
<!ENTITY a.piso.email "&a.piso; <email xmlns=''>piso@FreeBSD.org</email>">
<!ENTITY a.pjd "Pawel Jakub Dawidek">
<!ENTITY a.pjd.email "&a.pjd; <email xmlns=''>pjd@FreeBSD.org</email>">
<!ENTITY a.pluknet "Sergey Kandaurov">
<!ENTITY a.pluknet.email "&a.pluknet; <email xmlns=''>pluknet@FreeBSD.org</email>">
<!ENTITY a.proven "Chris Provenzano">
<!ENTITY a.proven.email "&a.proven; <email xmlns=''>proven@FreeBSD.org</email>">
<!ENTITY a.ps "Paul Saab">
<!ENTITY a.ps.email "&a.ps; <email xmlns=''>ps@FreeBSD.org</email>">
<!ENTITY a.pst "Paul Traina">
<!ENTITY a.pst.email "&a.pst; <email xmlns=''>pst@FreeBSD.org</email>">
<!ENTITY a.qingli "Qing Li">
<!ENTITY a.qingli.email "&a.qingli; <email xmlns=''>qingli@FreeBSD.org</email>">
<!ENTITY a.rafan "Rong-En Fan">
<!ENTITY a.rafan.email "&a.rafan; <email xmlns=''>rafan@FreeBSD.org</email>">
<!ENTITY a.raj "Rafal Jaworowski">
<!ENTITY a.raj.email "&a.raj; <email xmlns=''>raj@FreeBSD.org</email>">
<!ENTITY a.rakuco "Raphael Kubo da Costa">
<!ENTITY a.rakuco.email "&a.rakuco; <email xmlns=''>rakuco@FreeBSD.org</email>">
<!ENTITY a.randi "Randi Harper">
<!ENTITY a.randi.email "&a.randi; <email xmlns=''>randi@FreeBSD.org</email>">
<!ENTITY a.ray "Aleksandr Rybalko">
<!ENTITY a.ray.email "&a.ray; <email xmlns=''>ray@FreeBSD.org</email>">
<!ENTITY a.rdivacky "Roman Divacky">
<!ENTITY a.rdivacky.email "&a.rdivacky; <email xmlns=''>rdivacky@FreeBSD.org</email>">
<!ENTITY a.rea "Eygene Ryabinkin">
<!ENTITY a.rea.email "&a.rea; <email xmlns=''>rea@FreeBSD.org</email>">
<!ENTITY a.rees "Jim Rees">
<!ENTITY a.rees.email "&a.rees; <email xmlns=''>rees@FreeBSD.org</email>">
<!ENTITY a.reg "Jeremy Lea">
<!ENTITY a.reg.email "&a.reg; <email xmlns=''>reg@FreeBSD.org</email>">
<!ENTITY a.remko "Remko Lodder">
<!ENTITY a.remko.email "&a.remko; <email xmlns=''>remko@FreeBSD.org</email>">
<!ENTITY a.rene "Ren&eacute; Ladan">
<!ENTITY a.rene.email "&a.rene; <email xmlns=''>rene@FreeBSD.org</email>">
<!ENTITY a.rgrimes "Rodney Grimes">
<!ENTITY a.rgrimes.email "&a.rgrimes; <email xmlns=''>rgrimes@FreeBSD.org</email>">
<!ENTITY a.ricardag "Ricardo AG">
<!ENTITY a.ricardag.email "&a.ricardag; <email xmlns=''>ricardag@FreeBSD.org</email>">
<!ENTITY a.rich "Rich Murphey">
<!ENTITY a.rich.email "&a.rich; <email xmlns=''>rich@FreeBSD.org</email>">
<!ENTITY a.rik "Roman Kurakin">
<!ENTITY a.rik.email "&a.rik; <email xmlns=''>rik@FreeBSD.org</email>">
<!ENTITY a.rink "Rink Springer">
<!ENTITY a.rink.email "&a.rink; <email xmlns=''>rink@FreeBSD.org</email>">
<!ENTITY a.rm "Ruslan Makhmatkhanov">
<!ENTITY a.rm.email "&a.rm; <email xmlns=''>rm@FreeBSD.org</email>">
<!ENTITY a.nemysis "Rusmir Dusko">
<!ENTITY a.nemysis.email "&a.nemysis; <email xmlns=''>nemysis@FreeBSD.org</email>">
<!ENTITY a.rmacklem "Rick Macklem">
<!ENTITY a.rmacklem.email "&a.rmacklem; <email xmlns=''>rmacklem@FreeBSD.org</email>">
<!ENTITY a.rmh "Robert Millan">
<!ENTITY a.rmh.email "&a.rmh; <email xmlns=''>rmh@FreeBSD.org</email>">
<!ENTITY a.rnoland "Robert Noland">
<!ENTITY a.rnoland.email "&a.rnoland; <email xmlns=''>rnoland@FreeBSD.org</email>">
<!ENTITY a.rnordier "Robert Nordier">
<!ENTITY a.rnordier.email "&a.rnordier; <email xmlns=''>rnordier@FreeBSD.org</email>">
<!ENTITY a.roam "Peter Pentchev">
<!ENTITY a.roam.email "&a.roam; <email xmlns=''>roam@FreeBSD.org</email>">
<!ENTITY a.robert "Robert Drehmel">
<!ENTITY a.robert.email "&a.robert; <email xmlns=''>robert@FreeBSD.org</email>">
<!ENTITY a.roberto "Ollivier Robert">
<!ENTITY a.roberto.email "&a.roberto; <email xmlns=''>roberto@FreeBSD.org</email>">
<!ENTITY a.rodrigc "Craig Rodrigues">
<!ENTITY a.rodrigc.email "&a.rodrigc; <email xmlns=''>rodrigc@FreeBSD.org</email>">
<!ENTITY a.roger "Roger Hardiman">
<!ENTITY a.roger.email "&a.roger; <email xmlns=''>roger@FreeBSD.org</email>">
<!ENTITY a.romain "Romain Tarti&egrave;re">
<!ENTITY a.romain.email "&a.romain; <email xmlns=''>romain@FreeBSD.org</email>">
<!ENTITY a.rpaulo "Rui Paulo">
<!ENTITY a.rpaulo.email "&a.rpaulo; <email xmlns=''>rpaulo@FreeBSD.org</email>">
<!ENTITY a.rpratt "Randy Pratt">
<!ENTITY a.rpratt.email "&a.rpratt; <email xmlns=''>rpratt@FreeBSD.org</email>">
<!ENTITY a.rrs "Randall R. Stewart">
<!ENTITY a.rrs.email "&a.rrs; <email xmlns=''>rrs@FreeBSD.org</email>">
<!ENTITY a.rse "Ralf S. Engelschall">
<!ENTITY a.rse.email "&a.rse; <email xmlns=''>rse@FreeBSD.org</email>">
<!ENTITY a.rsm "Scott Mitchell">
<!ENTITY a.rsm.email "&a.rsm; <email xmlns=''>rsm@FreeBSD.org</email>">
<!ENTITY a.rstone "Ryan Stone">
<!ENTITY a.rstone.email "&a.rstone; <email xmlns=''>rstone@FreeBSD.org</email>">
<!ENTITY a.ru "Ruslan Ermilov">
<!ENTITY a.ru.email "&a.ru; <email xmlns=''>ru@FreeBSD.org</email>">
<!ENTITY a.rushani "Hideyuki KURASHINA">
<!ENTITY a.rushani.email "&a.rushani; <email xmlns=''>rushani@FreeBSD.org</email>">
<!ENTITY a.rv "Rajesh Vaidheeswarran">
<!ENTITY a.rv.email "&a.rv; <email xmlns=''>rv@FreeBSD.org</email>">
<!ENTITY a.rvb "Robert V. Baron">
<!ENTITY a.rvb.email "&a.rvb; <email xmlns=''>rvb@FreeBSD.org</email>">
<!ENTITY a.rwatson "Robert Watson">
<!ENTITY a.rwatson.email "&a.rwatson; <email xmlns=''>rwatson@FreeBSD.org</email>">
<!ENTITY a.ryusuke "Ryusuke SUZUKI">
<!ENTITY a.ryusuke.email "&a.ryusuke; <email xmlns=''>ryusuke@FreeBSD.org</email>">
<!ENTITY a.sada "SADA Kenji">
<!ENTITY a.sada.email "&a.sada; <email xmlns=''>sada@FreeBSD.org</email>">
<!ENTITY a.sah "Sam Hopkins">
<!ENTITY a.sah.email "&a.sah; <email xmlns=''>sah@FreeBSD.org</email>">
<!ENTITY a.sahil "Sahil Tandon">
<!ENTITY a.sahil.email "&a.sahil; <email xmlns=''>sahil@FreeBSD.org</email>">
<!ENTITY a.sam "Sam Leffler">
<!ENTITY a.sam.email "&a.sam; <email xmlns=''>sam@FreeBSD.org</email>">
<!ENTITY a.sanpei "Yoshiro Sanpei MIHIRA">
<!ENTITY a.sanpei.email "&a.sanpei; <email xmlns=''>sanpei@FreeBSD.org</email>">
<!ENTITY a.sat "Andrew Pantyukhin">
<!ENTITY a.sat.email "&a.sat; <email xmlns=''>sat@FreeBSD.org</email>">
<!ENTITY a.sbruno "Sean Bruno">
<!ENTITY a.sbruno.email "&a.sbruno; <email xmlns=''>sbruno@FreeBSD.org</email>">
<!ENTITY a.sbz "Sofian Brabez">
<!ENTITY a.sbz.email "&a.sbz; <email xmlns=''>sbz@FreeBSD.org</email>">
<!ENTITY a.scf "Sean C. Farley">
<!ENTITY a.scf.email "&a.scf; <email xmlns=''>scf@FreeBSD.org</email>">
<!ENTITY a.scheidell "Michael Scheidell">
<!ENTITY a.scheidell.email "&a.scheidell; <email xmlns=''>scheidell@FreeBSD.org</email>">
<!ENTITY a.schweikh "Jens Schweikhardt">
<!ENTITY a.schweikh.email "&a.schweikh; <email xmlns=''>schweikh@FreeBSD.org</email>">
<!ENTITY a.scop "Ville Skytt&auml;">
<!ENTITY a.scop.email "&a.scop; <email xmlns=''>scop@FreeBSD.org</email>">
<!ENTITY a.scottl "Scott Long">
<!ENTITY a.scottl.email "&a.scottl; <email xmlns=''>scottl@FreeBSD.org</email>">
<!ENTITY a.scrappy "Marc G. Fournier">
<!ENTITY a.scrappy.email "&a.scrappy; <email xmlns=''>scrappy@FreeBSD.org</email>">
<!ENTITY a.se "Stefan Esser">
<!ENTITY a.se.email "&a.se; <email xmlns=''>se@FreeBSD.org</email>">
<!ENTITY a.sean "Sean Vickery">
<!ENTITY a.sean.email "&a.sean; <email xmlns=''>sean@FreeBSD.org</email>">
<!ENTITY a.seanc "Sean Chittenden">
<!ENTITY a.seanc.email "&a.seanc; <email xmlns=''>seanc@FreeBSD.org</email>">
<!ENTITY a.sef "Sean Eric Fagan">
<!ENTITY a.sef.email "&a.sef; <email xmlns=''>sef@FreeBSD.org</email>">
<!ENTITY a.sem "Sergey Matveychuk">
<!ENTITY a.sem.email "&a.sem; <email xmlns=''>sem@FreeBSD.org</email>">
<!ENTITY a.semenu "Semen Ustimenko">
<!ENTITY a.semenu.email "&a.semenu; <email xmlns=''>semenu@FreeBSD.org</email>">
<!ENTITY a.sephe "Sepherosa Ziehau">
<!ENTITY a.sephe.email "&a.sephe; <email xmlns=''>sephe@FreeBSD.org</email>">
<!ENTITY a.sepotvin "Stephane E. Potvin">
<!ENTITY a.sepotvin.email "&a.sepotvin; <email xmlns=''>sepotvin@FreeBSD.org</email>">
<!ENTITY a.sergei "Sergei Kolobov">
<!ENTITY a.sergei.email "&a.sergei; <email xmlns=''>sergei@FreeBSD.org</email>">
<!ENTITY a.sf "Satsuki FUJISHIMA">
<!ENTITY a.sf.email "&a.sf; <email xmlns=''>sf@FreeBSD.org</email>">
<!ENTITY a.shafeeq "Shafeeq Sinnamohideen">
<!ENTITY a.shafeeq.email "&a.shafeeq; <email xmlns=''>shafeeq@FreeBSD.org</email>">
<!ENTITY a.shaun "Shaun Amott">
<!ENTITY a.shaun.email "&a.shaun; <email xmlns=''>shaun@FreeBSD.org</email>">
<!ENTITY a.sheldonh "Sheldon Hearn">
<!ENTITY a.sheldonh.email "&a.sheldonh; <email xmlns=''>sheldonh@FreeBSD.org</email>">
<!ENTITY a.shiba "Takeshi Shibagaki">
<!ENTITY a.shiba.email "&a.shiba; <email xmlns=''>shiba@FreeBSD.org</email>">
<!ENTITY a.shige "Shigeyuki Fukushima">
<!ENTITY a.shige.email "&a.shige; <email xmlns=''>shige@FreeBSD.org</email>">
<!ENTITY a.shin "Yoshinobu Inoue">
<!ENTITY a.shin.email "&a.shin; <email xmlns=''>shin@FreeBSD.org</email>">
<!ENTITY a.silby "Mike Silbersack">
<!ENTITY a.silby.email "&a.silby; <email xmlns=''>silby@FreeBSD.org</email>">
<!ENTITY a.simokawa "Hidetoshi Shimokawa">
<!ENTITY a.simokawa.email "&a.simokawa; <email xmlns=''>simokawa@FreeBSD.org</email>">
<!ENTITY a.simon "Simon L. B. Nielsen">
<!ENTITY a.simon.email "&a.simon; <email xmlns=''>simon@FreeBSD.org</email>">
<!ENTITY a.sjg "Simon J. Gerraty">
<!ENTITY a.sjg.email "&a.sjg; <email xmlns=''>sjg@FreeBSD.org</email>">
<!ENTITY a.skreuzer "Steven Kreuzer">
<!ENTITY a.skreuzer.email "&a.skreuzer; <email xmlns=''>skreuzer@FreeBSD.org</email>">
<!ENTITY a.skv "Sergey Skvortsov">
<!ENTITY a.skv.email "&a.skv; <email xmlns=''>skv@FreeBSD.org</email>">
<!ENTITY a.smace "Scott Mace">
<!ENTITY a.smace.email "&a.smace; <email xmlns=''>smace@FreeBSD.org</email>">
<!ENTITY a.smh "Steven Hartland">
<!ENTITY a.smh.email "&a.smh; <email xmlns=''>smh@FreeBSD.org</email>">
<!ENTITY a.smkelly "Sean Kelly">
<!ENTITY a.smkelly.email "&a.smkelly; <email xmlns=''>smkelly@FreeBSD.org</email>">
<!ENTITY a.smpatel "Sujal Patel">
<!ENTITY a.smpatel.email "&a.smpatel; <email xmlns=''>smpatel@FreeBSD.org</email>">
<!ENTITY a.snb "Nick Barkas">
<!ENTITY a.snb.email "&a.snb; <email xmlns=''>snb@FreeBSD.org</email>">
<!ENTITY a.sobomax "Maxim Sobolev">
<!ENTITY a.sobomax.email "&a.sobomax; <email xmlns=''>sobomax@FreeBSD.org</email>">
<!ENTITY a.sos "S&oslash;ren Schmidt">
<!ENTITY a.sos.email "&a.sos; <email xmlns=''>sos@FreeBSD.org</email>">
<!ENTITY a.sperber "Armin Pirkovitsch">
<!ENTITY a.sperber.email "&a.sperber; <email xmlns=''>sperber@FreeBSD.org</email>">
<!ENTITY a.sson "Stacey Son">
<!ENTITY a.sson.email "&a.sson; <email xmlns=''>sson@FreeBSD.org</email>">
<!ENTITY a.ssouhlal "Suleiman Souhlal">
<!ENTITY a.ssouhlal.email "&a.ssouhlal; <email xmlns=''>ssouhlal@FreeBSD.org</email>">
<!ENTITY a.stanislav "G. Adam Stanislav">
<!ENTITY a.stanislav.email "&a.stanislav; <email xmlns=''>adam@redprince.net</email>">
<!ENTITY a.stark "Gene Stark">
<!ENTITY a.stark.email "&a.stark; <email xmlns=''>stark@FreeBSD.org</email>">
<!ENTITY a.stas "Stanislav Sedov">
<!ENTITY a.stas.email "&a.stas; <email xmlns=''>stas@FreeBSD.org</email>">
<!ENTITY a.stb "Stefan Bethke">
<!ENTITY a.stb.email "&a.stb; <email xmlns=''>stb@FreeBSD.org</email>">
<!ENTITY a.stefan "Stefan Walter">
<!ENTITY a.stefan.email "&a.stefan; <email xmlns=''>stefan@FreeBSD.org</email>">
<!ENTITY a.stefanf "Stefan Farfeleder">
<!ENTITY a.stefanf.email "&a.stefanf; <email xmlns=''>stefanf@FreeBSD.org</email>">
<!ENTITY a.stephane "St&eacute;phane Legrand">
<!ENTITY a.stephane.email "&a.stephane; <email xmlns=''>stephane@FreeBSD.org</email>">
<!ENTITY a.stephen "Stephen Montgomery-Smith">
<!ENTITY a.stephen.email "&a.stephen; <email xmlns=''>stephen@FreeBSD.org</email>">
<!ENTITY a.steve "Steve Price">
<!ENTITY a.steve.email "&a.steve; <email xmlns=''>steve@FreeBSD.org</email>">
<!ENTITY a.sumikawa "Munechika Sumikawa">
<!ENTITY a.sumikawa.email "&a.sumikawa; <email xmlns=''>sumikawa@FreeBSD.org</email>">
<!ENTITY a.sunpoet "Po-Chuan Hsieh">
<!ENTITY a.sunpoet.email "&a.sunpoet; <email xmlns=''>sunpoet@FreeBSD.org</email>">
<!ENTITY a.suz "SUZUKI Shinsuke">
<!ENTITY a.suz.email "&a.suz; <email xmlns=''>suz@FreeBSD.org</email>">
<!ENTITY a.swallace "Steven Wallace">
<!ENTITY a.swallace.email "&a.swallace; <email xmlns=''>swallace@FreeBSD.org</email>">
<!ENTITY a.swills "Steve Wills">
<!ENTITY a.swills.email "&a.swills; <email xmlns=''>swills@FreeBSD.org</email>">
<!ENTITY a.sylvio "Sylvio Cesar Teixeira">
<!ENTITY a.sylvio.email "&a.sylvio; <email xmlns=''>sylvio@FreeBSD.org</email>">
<!ENTITY a.syrinx "Shteryana Shopova">
<!ENTITY a.syrinx.email "&a.syrinx; <email xmlns=''>syrinx@FreeBSD.org</email>">
<!ENTITY a.syuu "Takuya ASADA">
<!ENTITY a.syuu.email "&a.syuu; <email xmlns=''>syuu@FreeBSD.org</email>">
<!ENTITY a.tabthorpe "Thomas Abthorpe">
<!ENTITY a.tabthorpe.email "&a.tabthorpe; <email xmlns=''>tabthorpe@FreeBSD.org</email>">
<!ENTITY a.tackerman "Tony Ackerman">
<!ENTITY a.tackerman.email "&a.tackerman; <email xmlns=''>tackerman@FreeBSD.org</email>">
<!ENTITY a.takawata "Takanori Watanabe">
<!ENTITY a.takawata.email "&a.takawata; <email xmlns=''>takawata@FreeBSD.org</email>">
<!ENTITY a.tanimura "Seigo Tanimura">
<!ENTITY a.tanimura.email "&a.tanimura; <email xmlns=''>tanimura@FreeBSD.org</email>">
<!ENTITY a.taoka "Satoshi Taoka">
<!ENTITY a.taoka.email "&a.taoka; <email xmlns=''>taoka@FreeBSD.org</email>">
<!ENTITY a.taras "Taras Korenko">
<!ENTITY a.taras.email "&a.taras; <email xmlns=''>taras@FreeBSD.org</email>">
<!ENTITY a.tdb "Tim Bishop">
<!ENTITY a.tdb.email "&a.tdb; <email xmlns=''>tdb@FreeBSD.org</email>">
<!ENTITY a.tedm "Ted Mittelstaedt">
<!ENTITY a.tedm.email "&a.tedm; <email xmlns=''>tedm@FreeBSD.org</email>">
<!ENTITY a.tegge "Tor Egge">
<!ENTITY a.tegge.email "&a.tegge; <email xmlns=''>tegge@FreeBSD.org</email>">
<!ENTITY a.tg "Thomas Gellekum">
<!ENTITY a.tg.email "&a.tg; <email xmlns=''>tg@FreeBSD.org</email>">
<!ENTITY a.thepish "Peter Hawkins">
<!ENTITY a.thepish.email "&a.thepish; <email xmlns=''>thepish@FreeBSD.org</email>">
<!ENTITY a.theraven "David Chisnall">
<!ENTITY a.theraven.email "&a.theraven; <email xmlns=''>theraven@FreeBSD.org</email>">
<!ENTITY a.thierry "Thierry Thomas">
<!ENTITY a.thierry.email "&a.thierry; <email xmlns=''>thierry@FreeBSD.org</email>">
<!ENTITY a.thomas "Thomas Quinot">
<!ENTITY a.thomas.email "&a.thomas; <email xmlns=''>thomas@FreeBSD.org</email>">
<!ENTITY a.thompsa "Andrew Thompson">
<!ENTITY a.thompsa.email "&a.thompsa; <email xmlns=''>thompsa@FreeBSD.org</email>">
<!ENTITY a.ticso "Bernd Walter">
<!ENTITY a.ticso.email "&a.ticso; <email xmlns=''>ticso@FreeBSD.org</email>">
<!ENTITY a.tijl "Tijl Coosemans">
<!ENTITY a.tijl.email "&a.tijl; <email xmlns=''>tijl@FreeBSD.org</email>">
<!ENTITY a.timur "Timur I. Bakeyev">
<!ENTITY a.timur.email "&a.timur; <email xmlns=''>timur@FreeBSD.org</email>">
<!ENTITY a.tj "Tom Judge">
<!ENTITY a.tj.email "&a.tj; <email xmlns=''>tj@FreeBSD.org</email>">
<!ENTITY a.tjr "Tim J. Robbins">
<!ENTITY a.tjr.email "&a.tjr; <email xmlns=''>tjr@FreeBSD.org</email>">
<!ENTITY a.tmclaugh "Tom McLaughlin">
<!ENTITY a.tmclaugh.email "&a.tmclaugh; <email xmlns=''>tmclaugh@FreeBSD.org</email>">
<!ENTITY a.tmm "Thomas M&ouml;stl">
<!ENTITY a.tmm.email "&a.tmm; <email xmlns=''>tmm@FreeBSD.org</email>">
<!ENTITY a.tmseck "Thomas-Martin Seck">
<!ENTITY a.tmseck.email "&a.tmseck; <email xmlns=''>tmseck@FreeBSD.org</email>">
<!ENTITY a.tobez "Anton Berezin">
<!ENTITY a.tobez.email "&a.tobez; <email xmlns=''>tobez@FreeBSD.org</email>">
<!ENTITY a.tom "Tom Hukins">
<!ENTITY a.tom.email "&a.tom; <email xmlns=''>tom@FreeBSD.org</email>">
<!ENTITY a.tomsoft "Thomas-Henning von Kamptz">
<!ENTITY a.tomsoft.email "&a.tomsoft; <email xmlns=''>tomsoft@FreeBSD.org</email>">
<!ENTITY a.torstenb "Torsten Blum">
<!ENTITY a.torstenb.email "&a.torstenb; <email xmlns=''>torstenb@FreeBSD.org</email>">
<!ENTITY a.toshi "Toshihiko Arai">
<!ENTITY a.toshi.email "&a.toshi; <email xmlns=''>toshi@FreeBSD.org</email>">
<!ENTITY a.tota "TAKATSU Tomonari">
<!ENTITY a.tota.email "&a.tota; <email xmlns=''>tota@FreeBSD.org</email>">
<!ENTITY a.trasz "Edward Tomasz Napierala">
<!ENTITY a.trasz.email "&a.trasz; <email xmlns=''>trasz@FreeBSD.org</email>">
<!ENTITY a.trevor "Trevor Johnson">
<!ENTITY a.trevor.email "&a.trevor; <email xmlns=''>trevor@FreeBSD.org</email>">
<!ENTITY a.trhodes "Tom Rhodes">
<!ENTITY a.trhodes.email "&a.trhodes; <email xmlns=''>trhodes@FreeBSD.org</email>">
<!ENTITY a.trociny "Mikolaj Golub">
<!ENTITY a.trociny.email "&a.trociny; <email xmlns=''>trociny@FreeBSD.org</email>">
<!ENTITY a.truckman "Don &ldquo;Truck&rdquo; Lewis">
<!ENTITY a.truckman.email "&a.truckman; <email xmlns=''>truckman@FreeBSD.org</email>">
<!ENTITY a.tshiozak "Takuya SHIOZAKI">
<!ENTITY a.tshiozak.email "&a.tshiozak; <email xmlns=''>tshiozak@FreeBSD.org</email>">
<!ENTITY a.tuexen "Michael Tuexen">
<!ENTITY a.tuexen.email "&a.tuexen; <email xmlns=''>tuexen@FreeBSD.org</email>">
<!ENTITY a.tweten "Dave Tweten">
<!ENTITY a.tweten.email "&a.tweten; <email xmlns=''>tweten@FreeBSD.org</email>">
<!ENTITY a.twinterg "Thomas Wintergerst">
<!ENTITY a.twinterg.email "&a.twinterg; <email xmlns=''>twinterg@FreeBSD.org</email>">
<!ENTITY a.uch "Yasushi UCHIYAMA">
<!ENTITY a.uch.email "&a.uch; <email xmlns=''>uch@FreeBSD.org</email>">
<!ENTITY a.ue "Udo Erdelhoff">
<!ENTITY a.ue.email "&a.ue; <email xmlns=''>ue@FreeBSD.org</email>">
<!ENTITY a.ugen "Ugen J.S. Antsilevich">
<!ENTITY a.ugen.email "&a.ugen; <email xmlns=''>ugen@FreeBSD.org</email>">
<!ENTITY a.uhclem "Frank Durda IV">
<!ENTITY a.uhclem.email "&a.uhclem; <email xmlns=''>uhclem@FreeBSD.org</email>">
<!ENTITY a.ulf "Ulf Zimmermann">
<!ENTITY a.ulf.email "&a.ulf; <email xmlns=''>ulf@FreeBSD.org</email>">
<!ENTITY a.ume "Hajimu UMEMOTO">
<!ENTITY a.ume.email "&a.ume; <email xmlns=''>ume@FreeBSD.org</email>">
<!ENTITY a.unfurl "Bill Swingle">
<!ENTITY a.unfurl.email "&a.unfurl; <email xmlns=''>unfurl@FreeBSD.org</email>">
<!ENTITY a.ups "Stephan Uphoff">
<!ENTITY a.ups.email "&a.ups; <email xmlns=''>ups@FreeBSD.org</email>">
<!ENTITY a.uqs "Ulrich Sp&ouml;rlein">
<!ENTITY a.uqs.email "&a.uqs; <email xmlns=''>uqs@FreeBSD.org</email>">
<!ENTITY a.vanhu "Yvan Vanhullebus">
<!ENTITY a.vanhu.email "&a.vanhu; <email xmlns=''>vanhu@FreeBSD.org</email>">
<!ENTITY a.vanilla "Vanilla I. Shu">
<!ENTITY a.vanilla.email "&a.vanilla; <email xmlns=''>vanilla@FreeBSD.org</email>">
<!ENTITY a.vd "Vasil Dimov">
<!ENTITY a.vd.email "&a.vd; <email xmlns=''>vd@FreeBSD.org</email>">
<!ENTITY a.versus "Konrad Jankowski">
<!ENTITY a.versus.email "&a.versus; <email xmlns=''>versus@FreeBSD.org</email>">
<!ENTITY a.vg "Veniamin Gvozdikov">
<!ENTITY a.vg.email "&a.vg; <email xmlns=''>vg@FreeBSD.org</email>">
<!ENTITY a.viny "Vincent Tougait">
<!ENTITY a.viny.email "&a.viny; <email xmlns=''>viny@FreeBSD.org</email>">
<!ENTITY a.vkashyap "Vinod Kashyap">
<!ENTITY a.vkashyap.email "&a.vkashyap; <email xmlns=''>vkashyap@FreeBSD.org</email>">
<!ENTITY a.vs "Volker Stolz">
<!ENTITY a.vs.email "&a.vs; <email xmlns=''>vs@FreeBSD.org</email>">
<!ENTITY a.vsevolod "Vsevolod Stakhov">
<!ENTITY a.vsevolod.email "&a.vsevolod; <email xmlns=''>vsevolod@FreeBSD.org</email>">
<!ENTITY a.vwe "Volker Werth">
<!ENTITY a.vwe.email "&a.vwe; <email xmlns=''>vwe@FreeBSD.org</email>">
<!ENTITY a.wblock "Warren Block">
<!ENTITY a.wblock.email "&a.wblock; <email xmlns=''>wblock@FreeBSD.org</email>">
<!ENTITY a.wen "Wen Heping">
<!ENTITY a.wen.email "&a.wen; <email xmlns=''>wen@FreeBSD.org</email>">
<!ENTITY a.weongyo "Weongyo Jeong">
<!ENTITY a.weongyo.email "&a.weongyo; <email xmlns=''>weongyo@FreeBSD.org</email>">
<!ENTITY a.wes "Wes Peters">
<!ENTITY a.wes.email "&a.wes; <email xmlns=''>wes@FreeBSD.org</email>">
<!ENTITY a.wg "William Grzybowski">
<!ENTITY a.wg.email "&a.wg; <email xmlns=''>wg@FreeBSD.org</email>">
<!ENTITY a.whiteside "Don Whiteside">
<!ENTITY a.whiteside.email "&a.whiteside; <email xmlns=''>whiteside@acm.org</email>">
<!ENTITY a.wilko "Wilko Bulte">
<!ENTITY a.wilko.email "&a.wilko; <email xmlns=''>wilko@FreeBSD.org</email>">
<!ENTITY a.will "Will Andrews">
<!ENTITY a.will.email "&a.will; <email xmlns=''>will@FreeBSD.org</email>">
<!ENTITY a.wjv "Johann Visagie">
<!ENTITY a.wjv.email "&a.wjv; <email xmlns=''>wjv@FreeBSD.org</email>">
<!ENTITY a.wkoszek "Wojciech A. Koszek">
<!ENTITY a.wkoszek.email "&a.wkoszek; <email xmlns=''>wkoszek@FreeBSD.org</email>">
<!ENTITY a.wolf "Wolfgang Stanglmeier">
<!ENTITY a.wolf.email "&a.wolf; <email xmlns=''>wolf@FreeBSD.org</email>">
<!ENTITY a.wollman "Garrett Wollman">
<!ENTITY a.wollman.email "&a.wollman; <email xmlns=''>wollman@FreeBSD.org</email>">
<!ENTITY a.wosch "Wolfram Schneider">
<!ENTITY a.wosch.email "&a.wosch; <email xmlns=''>wosch@FreeBSD.org</email>">
<!ENTITY a.wpaul "Bill Paul">
<!ENTITY a.wpaul.email "&a.wpaul; <email xmlns=''>wpaul@FreeBSD.org</email>">
<!ENTITY a.wsalamon "Wayne Salamon">
<!ENTITY a.wsalamon.email "&a.wsalamon; <email xmlns=''>wsalamon@FreeBSD.org</email>">
<!ENTITY a.wsanchez "Wilfredo S&aacute;nchez">
<!ENTITY a.wsanchez.email "&a.wsanchez; <email xmlns=''>wsanchez@FreeBSD.org</email>">
<!ENTITY a.wxs "Wesley Shields">
<!ENTITY a.wxs.email "&a.wxs; <email xmlns=''>wxs@FreeBSD.org</email>">
<!ENTITY a.wylie "Wylie Stilwell">
<!ENTITY a.wylie.email "&a.wylie; <email xmlns=''>wylie@magnesium.net</email>">
<!ENTITY a.xride "S&oslash;ren Straarup">
<!ENTITY a.xride.email "&a.xride; <email xmlns=''>xride@FreeBSD.org</email>">
<!ENTITY a.yar "Yar Tikhiy">
<!ENTITY a.yar.email "&a.yar; <email xmlns=''>yar@FreeBSD.org</email>">
<!ENTITY a.yoichi "Yoichi NAKAYAMA">
<!ENTITY a.yoichi.email "&a.yoichi; <email xmlns=''>yoichi@FreeBSD.org</email>">
<!ENTITY a.yokota "Kazutaka YOKOTA">
<!ENTITY a.yokota.email "&a.yokota; <email xmlns=''>yokota@FreeBSD.org</email>">
<!ENTITY a.yongari "Pyun YongHyeon">
<!ENTITY a.yongari.email "&a.yongari; <email xmlns=''>yongari@FreeBSD.org</email>">
<!ENTITY a.yzlin "Yi-Jheng Lin">
<!ENTITY a.yzlin.email "&a.yzlin; <email xmlns=''>yzlin@FreeBSD.org</email>">
<!ENTITY a.zack "Zack Kirsch">
<!ENTITY a.zack.email "&a.zack; <email xmlns=''>zack@FreeBSD.org</email>">
<!ENTITY a.zarzycki "Dave Zarzycki">
<!ENTITY a.zarzycki.email "&a.zarzycki; <email xmlns=''>zarzycki@FreeBSD.org</email>">
+
+<!ENTITY a.zbb "Zbigniew Bodek">
+<!ENTITY a.zbb.email "&a.zbb; <email xmlns=''>zbb@FreeBSD.org</email>">
<!ENTITY a.zec "Marko Zec">
<!ENTITY a.zec.email "&a.zec; <email xmlns=''>zec@FreeBSD.org</email>">
<!ENTITY a.zeising "Niclas Zeising">
<!ENTITY a.zeising.email "&a.zeising; <email xmlns=''>zeising@FreeBSD.org</email>">
<!ENTITY a.zi "Ryan Steinmetz">
<!ENTITY a.zi.email "&a.zi; <email xmlns=''>zi@FreeBSD.org</email>">
<!ENTITY a.zml "Zachary Loafman">
<!ENTITY a.zml.email "&a.zml; <email xmlns=''>zml@FreeBSD.org</email>">
<!ENTITY a.znerd "Ernst de Haan">
<!ENTITY a.znerd.email "&a.znerd; <email xmlns=''>znerd@FreeBSD.org</email>">
<!ENTITY a.zont "Andrey Zonov">
<!ENTITY a.zont.email "&a.zont; <email xmlns=''>zont@FreeBSD.org</email>">
<!-- Additional contributors, no email address -->
<!ENTITY a.mkm "Kyle Martin">
<!ENTITY a.joe.halpin "Joe Halpin">
<!ENTITY a.pavalos "Peter Avalos">
<!ENTITY a.jwojdacki "Justin Wojdacki">
<!-- Below we list the various hats. -->
<!-- FreeBSD Bugmeister -->
<!ENTITY a.bugmeister '&a.eadler;, &a.gavin;, &a.gonzo;'>
<!-- FreeBSD Core Team -->
<!ENTITY a.core.members '&a.tabthorpe;, &a.gavin;, &a.jhb;, &a.kib;, &a.theraven;, &a.hrs;, &a.peter;, &a.miwi;'>
<!-- FreeBSD Doc Engineering Team -->
<!ENTITY a.doceng.members '&a.gjb;, &a.blackend;, &a.gabor;, &a.hrs;'>
<!-- FreeBSD Donations Liaison -->
<!ENTITY a.donations.members '&a.tabthorpe;, &a.gjb;, &a.gahr;, &a.pgollucci;, &a.skreuzer;, &a.obrien;, &a.trhodes;, &a.ds;, &a.rwatson;'>
<!-- FreeBSD Ports Manager Team -->
<!ENTITY a.portmgr.members '&a.tabthorpe;, &a.marcus;, &a.bapt;, &a.bdrewery;, &a.decke;, &a.erwin;, &a.itetcu;, &a.miwi;'>
<!-- FreeBSD Release Engineering Teams -->
<!ENTITY a.re "re@FreeBSD.org">
<!ENTITY a.re.members '&a.mva;, &a.gjb;, &a.kib;, &a.joel;, &a.blackend;, &a.skreuzer;, &a.delphij;, &a.jpaetzel;, &a.rodrigc;, &a.hrs;, &a.glebius;, &a.kensmith;, &a.marius;'>
<!ENTITY a.re.members.email '&a.mva.email;, &a.gjb.email;, &a.kib.email;, &a.joel.email;, &a.blackend.email;, &a.skreuzer.email;, &a.delphij.email;, &a.jpaetzel.email;, &a.rodrigc.email;, &a.hrs.email;, &a.glebius.email;, &a.kensmith.email;, &a.marius.email;'>
<!ENTITY a.re-builders '&a.marcel;, &a.nyan;, &a.nwhitehorn;'>
<!-- FreeBSD Security Officer -->
<!ENTITY a.so '&a.des;'>
<!ENTITY a.so-team '&a.mnag;, &a.remko;, &a.gnn;, &a.simon;, &a.philip;, &a.cperciva;, &a.csjp;, &a.des;, &a.rwatson;, &a.bz;'>
Index: projects/zfsupdate-201307/share/xml/commercial.consult.xml
===================================================================
--- projects/zfsupdate-201307/share/xml/commercial.consult.xml (revision 42803)
+++ projects/zfsupdate-201307/share/xml/commercial.consult.xml (revision 42804)
@@ -1,2891 +1,2906 @@
<?xml version="1.0"?>
<!DOCTYPE entries PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for Commercial Gallery//EN"
"http://www.FreeBSD.org/XML/www/share/xml/gallery.dtd">
<!-- $FreeBSD$ -->
<entries>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">
$FreeBSD$
</cvs:keyword>
<categories>
<category id="africa">Africa</category>
<category id="asia">Asia</category>
<category id="australia">Australia</category>
<category id="europe">Europe</category>
<category id="nzealand">New Zealand</category>
<category id="namerica">North America</category>
<category id="samerica">South America</category>
</categories>
<entry id="Aaronsen" category="namerica">
<name>Aaronsen Group, Ltd</name>
<url>http://www.aaronsen.com/freebsd/</url>
<description>
Aaronsen Group, Ltd. advises on and implements a wide range of
internetworking technologies, including remote access, wide area
networks, international telecommunications, Intranetworking, web
applications and local area services. Many of our custom web-enabled
solutions are engineered using FreeBSD, Apache, mod_perl, and
MySQL/Oracle. Please email us at <a
href="mailto:info@aaronsen.com">info@aaronsen.com</a>. Our web site
is at <a href="http://www.aaronsen.com">http://www.aaronsen.com</a>
and we can be reached via telephone at +1.412.391.6000.
</description>
</entry>
<entry id="Adimus" category="europe">
<name>Adimus GmbH &amp; Co. KG</name>
<url>http://www.adimus.de/</url>
<description>
Adimus GmbH &amp; Co. KG is a company based in Bochum, Germany. As a
consulting partner we provide services in system administration for
all flavors of Unix and Microsoft Windows, design and maintenance of
LANs and WANs, IT security auditing and database management.
Solutions for intra- and internet servers as well as our firewall
toolkit are based on FreeBSD and third-party products from Compaq,
Peacock, Cisco and Ascend. For more information please contact <a
href="mailto:info@adimus.de">info@adimus.de</a> or visit our <a
href="http://www.adimus.de/">website</a>.
</description>
</entry>
<entry id="Acadix" category="namerica">
<name>Acadix, LLC</name>
<url>http://www.acadix.biz</url>
<description>
Acadix, LLC offers a full range of services for FreeBSD and other
platforms, including system integration, file servers, WEB servers,
and programming/porting. Acadix provides on-site services to
businesses, schools, and charitable organizations in the Milwaukee
metro area. Programming services are available to all locations in
the U.S. For more information, please <a
href="http://acadix.biz">visit our website</a>.
</description>
</entry>
<entry id="Advance" category="namerica">
<name>Advance Systems Group</name>
<url>http://www.advansys.net/</url>
<description>
Advance Systems Group builds, administrates, and maintains
Intranet/Internet networks using FreeBSD and other UNIX operating
systems. ASG also provides a variety of other services including
domain name hosting, web site construction, and software training.
For more information, please phone us at +1.317.507.4229, e-mail <a
href="mailto:sales@advansys.net">sales@advansys.net</a>, or <a
href="http://www.advansys.net/">visit our web site</a>.
</description>
</entry>
<entry id="ateamsystems" category="namerica">
<name>A-Team Systems</name>
<url>http://www.ateamsystems.com/</url>
<description>
A-Team Systems has over 15 years of experience helping clients
leverage the power of &os; in combination with other open source
software such as PHP, MySQL and Apache in a secure, customized
and cohesive way. We've been with &os; since version 1.0! We
can help you with your existing deployment or future plans:
From encrypted backups to web and mail servers. Visit our
<a href="http://www.ateamsystems.com/">website</a> for more
information.
</description>
</entry>
<entry id="ALE" category="europe">
<name>ALE Software</name>
<url>http://linux.wroclaw.pl/</url>
<description>
We offer IT consulting, systems integration and corporate information
systems based on BSD software. For more information, email
<a href="mailto:admin@linux.wroclaw.pl">admin@linux.wroclaw.pl</a> or
visit our <a href="http://linux.wroclaw.pl">website</a>. We operate
mostly in Eastern Europe (Poland).
</description>
</entry>
<entry id="Adminia" category="europe">
<name>Adminia Sistemas</name>
<url>http://www.adminia.es/</url>
<description>
Adminia offers technological consulting and professional system
administration services, specializing in free software and virtualized
high-availability environments. We have over 15 years experience in
using and customizing FreeBSD systems in data processing centres,
small and medium-sized businesses and universities. We are located in
Madrid, Spain. Contact us for reliable and expert partnership via
<a href="mailto:contacto@adminia.es">email</a> or visit our
<a href="http://www.adminia.es">website</a>.
</description>
</entry>
<entry id="anonbsd" category="samerica">
<name>AnonBSD Inc.</name>
<url>https://sites.google.com/site/anonbsd/</url>
<description>
We provide IT environment consulting. Support in FreeBSD, OpenBSD,
Linux (Debian, RedHat, SUSE, Gentoo, Slackware) and OpenSolaris. High
availability, virtualization, monitoring, security, deployment,
network infrastructure. We service in S&#227;o Paulo/SP and
Campinas/SP in Brazil. Contact us via e-mail (<a
href="mailto:ricardo.ichizo@gmail.com">ricardo.ichizo@gmail.com</a>) or
by phone at +55 (19) 8202-1567.
</description>
</entry>
<entry id="BITNETS" category="namerica">
<name>BITNETS Inc.</name>
<url>http://www.bitnets.com</url>
<description>
BITNETS Inc. specializes in BIND, Apache, Postfix, Courier-IMAP and
a variety of server components running on FreeBSD with emphasis on
security and stability. Services include consulting on server
evaluation, installation and configuration and FreeBSD-based managed
secure e-mail hosting. We are located in St. Albert,
serving the Edmonton area of Alberta, Canada. Call us toll-free in
North America at 1-877-BITNETS for general enquiries or
<a href="http://www.bitnets.com/contact">e-mail us</a>.
Winners of the chamber of commerce InfoTech Award of Distinction.
</description>
</entry>
<entry id="blappitconsulting" category="europe">
<name>Blapp IT Consulting</name>
<url>http://www.blapp-it-consulting.ch/</url>
<description>
Located in Basel/Switzerland, Blapp-IT-Consulting provides
consulting services related to complex mail routing and gateway
solutions, SaaS, BSD Hosting, Internet servers and infrastructure,
programming, FreeBSD and other BSD operating systems, security
auditing/firewalls, system administration, etc. For more
information please visit our <a
href="http://www.blapp-it-consulting.ch/">website</a>.
</description>
</entry>
<entry id="BMK" category="australia">
<name>B.M.K. Industries</name>
<url>http://www.bmk.com.au</url>
<description>
B.M.K. Industries is located in Melbourne Australia and specializes
in setting up low cost routers and servers (Web, E-Mail, FTP, DNS and
Secure Web Servers ) all using FreeBSD. Setting up Permanent Modem &amp;
ISDN Internet Connections is also a specialty. <a
href="http://www.bmk.com.au">Please visit our web page.</a>
</description>
</entry>
<entry id="bpa" category="europe">
<name>Black Point Arts Internet Solutions GmbH</name>
<url>http://www.bpanet.de/</url>
<description>
Black Point Arts Internet Solutions GmbH is located in Germany
(Frankfurt/Main). We have experiences with FreeBSD, Linux and Windows
Servers. Our business activities include hosting/homing, programming
and webdesign. We develop solutions for your intra-, extra- and
internet needs. For more informations you can visit <a
href="http://www.bpanet.de/">our website</a> or write an email to
<a href="mailto:service@bpanet.de">service@bpanet.de</a>.
</description>
</entry>
<entry id="BSDConsulting" category="europe">
<name>BSD Consulting</name>
<url>http://www.bsdconsulting.no/</url>
<description>
BSD Consulting provides consulting services related to Internet
servers/infrastructure, programming, FreeBSD &amp; BSD operating
systems, security auditing/firewalls, system administration, etc.
Based in Oslo, Norway.
</description>
</entry>
<entry id="catpipe" category="europe">
<name>catpipe Systems</name>
<url>http://www.catpipe.net/</url>
<description>
catpipe Systems ApS provide managed services and support contracts
for FreeBSD implemented on rackmountable servers preloaded with
FreeBSD.
</description>
</entry>
<entry id="ChinaIS" category="asia">
<name>China Internet Service</name>
<url>http://www.1260.cn/</url>
<description>
China Internet Services <a href="http://www.1260.cn">www.1260.cn</a>
is a China Internet Email and Webhosting provider offering UNIX
shell accounts, web hosting, mailman and ezmlm, pop3, imap, webmail
(squirrelmail), mysql, php, fastcgi and mod_perl hosting on FreeBSD
servers in Nanjing. Phone: 0086-25-84527765.
</description>
</entry>
<entry id="CloneConsulting" category="nzealand">
<name>Clone Consulting</name>
<url>http://www.clone.co.nz/</url>
<description>
Clone provides consultancy services for software development, system
architecture and FreeBSD infrastructure support. For additional
information please visit the <a
href="http://www.clone.co.nz">Clone website</a>.
</description>
</entry>
<entry id="CloudBT" category="australia">
<name>Cloud BT IT Support</name>
<url>http://www.it-support.com.au/</url>
<description>
Cloud BT provides IT support and other IT services to businesses in
Australia, including system maintenance, <a
href="http://www.it-support.com.au/data-recovery/">data
recovery</a>, and ongoing IT consulting. We also provide a range of
scalable cloud solutions to our business clients. In our day-to-day
operation we support numerous platforms including FreeBSD, Linux and
other Unix-based environments. Call us on 1300 737 205 or visit our
<a href="http://www.it-support.com.au/">website</a> for more
information.
</description>
</entry>
<entry id="Clue" category="namerica">
<name>Clue Computing, Inc.</name>
<url>http://www.clue.com/</url>
<description>
Clue Computing, Inc. has over 10 years of UNIX experience,
specializing in system administration, networking, and security.
Custom application development and testing available, including
device drivers, kernel work, etc. We offer sales, assembly, and
installation of FreeBSD systems for any application. For more
information, email <a href="mailto:info@clue.com">info@clue.com</a>.
</description>
</entry>
<entry id="Codeangels" category="europe">
<name>Codeangels Solutions</name>
<url>http://www.codeangels.com</url>
<description>
Codeangels Solutions GmbH based in Switzerland, region Zuerich.
Offers its customers a range of IT Security, Network and UNIX
Services. We utilize and support FreeBSD in our services and
solutions.
</description>
</entry>
<entry id="CodeGen" category="namerica">
<name>CodeGen Inc.</name>
<url>http://www.codegen.com/</url>
<description>
CodeGen, Inc. provide consulting and programming services,
specializing in embedded systems. For more information, email <a
href="mailto:info@codegen.com">info@codegen.com</a>.
</description>
</entry>
<entry id="ColoAdvisor" category="namerica">
<name>ColoAdvisor</name>
<url>http://www.coloadvisor.com/</url>
<description>
Located in New Jersey, ColoAdvisor finds the best fit hosting,
colocation and cloud computing services based on technical,
geographical and financial needs. Contact us for an immediate
site assessment and to begin the process. Either via <a
href="mailto:info@coloadvisor.com">email</a> or via phone
(+1-877-732-4003, press 1 to speak to an advisor for a free
consultation).
</description>
</entry>
<entry id="Collective" category="namerica">
<name>Collective Technologies</name>
<url>http://www.colltech.com</url>
<description>
Collective Technologies is the recognized leader in systems
management services for distributed enterprise computing
environments. Collective Technologies highly skilled consultants
combine technical expertise with solid business sense to develop
world-class IT solutions. Collective Technologies specializes in
keeping complex computer systems running reliably offering a full
range of support services including UNIX, NT, Linux, FreeBSD, OpenBSD
and NetBSD to address the needs of a client's systems management
lifecycle. The company is headquartered in Austin, Texas, with 19
offices nationwide. For more information, visit <a
href="http://www.colltech.com">our website</a> or e-mail us at <a
href="mailto:contact@colltech.com">contact@colltech.com</a>.
</description>
</entry>
<entry id="CoreSoftware" category="australia">
<name>Core Software</name>
<url>http://www.coresoftware.net.au</url>
<description>
Core Software is based in Perth, Western Australia. We are a
consulting company specializing in OpenBSD, FreeBSD, Linux and
Windows. We work with firewalls, Virtual Private Networks, Database
Servers, Email and Web Servers, Security, WAN/LAN implementations,
Multi OS networks. You can contact us <a
href="http://www.coresoftware.net.au/contact.html">here</a> or visit
our <a href="http://www.coresoftware.net.au">website</a>.
</description>
</entry>
<entry id="DataPipe" category="namerica">
<name>DataPipe</name>
<url>http://www.datapipe.com/</url>
<description>
Built on a rock-solid network and immediate live customer support,
DataPipe is a trusted hosting company providing secure managed
solutions. Our specialized teams of passionate professionals take
a personal interest in each client's unique needs, enabling
businesses to outsource with confidence. With world-class
facilities strategically located in the New York Metropolitan
&amp; Silicon Valley areas, Hong Kong and London, UK, DataPipe
offers custom FreeBSD solutions and expert FreeBSD support 24
hours a day, 365 days a year.
</description>
</entry>
<entry id="DeLorentz" category="europe">
<name>DeLorentz &amp; Partners</name>
<url>http://www.delorentz.nl/</url>
<description>
DeLorentz &amp; Partners is a consulting firm based in Hilversum
in the Netherlands. We offer various types of consulting and
support on FreeBSD. Info at <a href="mailto:info@delorentz.nl">
info@delorentz.nl</a> or phone us at Tel: +31 (0)35 - 624 44 66.
</description>
</entry>
<entry id="Dextra" category="samerica">
<name>Dextra Solu&#231;&#245;es em Inform&#225;tica</name>
<url>http://www.dextra.com.br/</url>
<description>
Dextra Solu&#231;&#245;es em Inform&#225;tica. Specialized
consulting in TCP/IP networks, capacity and contingency planning,
UNIX systems and network administration, system security and
firewalls, VPNs implementation, Internet/Intranets projects. For more
information, please phone us at +55.19.251.3644 (Brazil), e-mail <a
href="mailto:staff@dextra.com.br">staff@dextra.com.br</a>, or <a
href="http://www.dextra.com.br/">visit our web site</a> (in
Portuguese).
</description>
</entry>
<entry id="DieWebmaster" category="europe">
<name>Die Webmaster Gmbh</name>
<url>http://www.diewebmaster.at</url>
<description>
Die Webmaster Gmbh - We are a consulting company from Linz, Austria
and offer a wide range of FreeBSD based services: FreeBSD
installation, integration, troubleshooting, maintenance, FreeBSD
based hosting (for example jail servers), serverhousing, hardware
selection, configuration and support. e-mail: <a
href="mailto:info@diewebmaster.at">info@diewebmaster.at</a>
</description>
</entry>
<entry id="EscapeBox" category="europe">
<name>EscapeBox</name>
<url>http://www.escapebox.net/en/</url>
<description>
More than 20 years of IT experience on demand! The EscapeBox
Germany GmbH, founded in 2002, is a small but agile company that
offers IT consulting services. We can support our clients both
from remote and on location, as desired. So, if you are looking
for capable freelancers for your projects, please do not hesitate
to <a href="http://www.escapebox.net/en/contact.html">contact</a>
us today!
</description>
</entry>
<entry id="EssenzConsulting" category="namerica">
<name>Essenz Consulting</name>
<url>http://www.essenz.com</url>
<description>
Essenz Consulting is a web services and products provider. We offer
custom built High-Performance Intel based <a
href="http://www.essenz.com/open.html">Workstations</a> and <a
href="http://www.essenz.com/server.html">Servers</a>. These systems
are 100% FreeBSD compatible. Our systems feature Ultra2-LVD SCSI,
high speed networking, Dual Pentium III and Dual Pentium III XEON
processors, and many other fault tolerant and backup features. For
more information contact <a
href="mailto:sales@essenz.com">sales@essenz.com</a> or visit us at <a
href="http://www.essenz.com">http://www.essenz.com</a>.
</description>
</entry>
<entry id="TheFreeBSDMall" category="namerica">
<name>The FreeBSD Mall</name>
<url>http://www.freebsdmall.com/</url>
<description>
The FreeBSD Mall offers several different levels of support contracts
for FreeBSD. Support is available on a per-incident basis, or as a
convenient, extensible annual contract. Our highly trained technical
support staff will handle your requests in a professional and
efficient manner and will provide detailed responses to your needs by
phone, fax, or email. The FreeBSD Mall staff has over 8 years of
experience supporting FreeBSD.
For more information, please see <a
href="http://www.freebsdmall.com/support/">our support page</a>.
</description>
</entry>
<entry id="FarNorthNetworks" category="australia">
<name>Far North Networks</name>
<url>http://www.networks.nq.nu/</url>
<description>
Far North Networks, Based in Innisfail, North Queensland (About 100Km
South of Cairns). Focus is on business network support providing low
cost file/print servers based on FreeBSD. We also specialize in
setting up internet gateways/firewalls. For more information send us
an email to <a
href="mailto:info@networks.nq.nu">info@networks.nq.nu</a>.
</description>
</entry>
<entry id="FrigateNetworks" category="namerica">
<name>Frigate Networks</name>
<url>http://www.frigate.com/</url>
<description>
frigate networks provides network troubleshooting, system
administration, kernel development and ports of BSD software to
commercial products such as routers and firewalls. Our Email, DNS,
and WWW servers run FreeBSD. We also provide network management
solutions based on HTTP and tcl. For more information please <a
href="http://www.frigate.com/">visit our web site</a>, call us at
+1.650.903.2266, or send email to <a
href="mailto:info@frigate.com">info@frigate.com></a>.
</description>
</entry>
<entry id="FSCInternet" category="namerica">
<name>FSC Internet</name>
<url>http://www.fscinternet.com/</url>
<description>
FSC Internet is Canada's largest FreeBSD consulting firm. FSC's
clients include numerous top-tier corporations (e.g. Mazda, Heinz),
as well as mid-sized companies (e.g. the Vermont Telephone Company)
and the public sector. FSC provides full consulting, implementation,
support, and training services for all FreeBSD applications,
including a special focus on security, high-performance Web
applications, and Intranets. Please email us at <a
href="mailto:info@fscinternet.com">info@fscinternet.com</a> or call
us at +1.416.921.4280 for further information.
</description>
</entry>
<entry id="GNUnetworks" category="europe">
<name>GNUnetworks</name>
<url>http://www.gnun.net/</url>
<description>
GNUnetworks is a System's consultancy group focused on free
software. We provide FreeBSD and Linux servers for Internet /
Intranet as well as embedded systems for firewalling and data
processing.<br /><br />Phone: +34-937340794<br />web:
<a href="http://www.gnun.net">http://www.gnun.net</a><br />
mail: <a href="mailto:info@gnun.net">info@gnun.net</a>
</description>
</entry>
+
+ <entry id="GreenIT" category="australia">
+ <name>Green IT Consulting</name>
+ <url>http://www.greenitc.com.au/</url>
+ <description>
+ Based in Brisbane, Australia, Green IT Consulting are focused
+ on BSD/Linux and Open Source consultancy and support. Whether
+ your business already runs Linux/FreeBSD/NetBSD/OpenBSD or you
+ are considering the introduction of Open Source technology,
+ Green IT Consulting can help you every step of the way. For
+ more information please visit our <a
+ href="http://www.greenitc.com.au">website</a> or send us an
+ <a href="mailto:sales@greenitc.com.au">email</a>.
+ </description>
+ </entry>
<entry id="GurixWebProfessionals" category="namerica">
<name>Gurix Web Professionals</name>
<url>http://www.gurix.com</url>
<description>
Gurix Web Professionals Web Development, design, and custom
application programming using both open source and proprietary
environments. Services also include private consulting, emergency
response coordination and various IT solutions to maximize the
effectiveness of your business.
</description>
</entry>
<entry id="HerrinSoftware" category="namerica">
<name>Herrin Software Development</name>
<url>http://www.hsdi.com/</url>
<description>
Herrin Software Development, Inc., creator of <em>Qddb</em>, provides
custom software development, internet consulting, general computer
consulting, and training services. For more information email us at
<a href="mailto:info@hsdi.com">info@hsdi.com</a> or <a
href="http://www.hsdi.com/">visit our web site</a>.
</description>
</entry>
<entry id="hntsolutions" category="namerica">
<name>HNT Solutions</name>
<url>http://www.hntsolutions.com</url>
<description>
HNT Solutions provides complete &os; support services and
consulting. Please contact us at <a
href="mailto:unix@hntsolutions.com">unix@hntsolutions.com</a> or
visit our <a
href="http://www.hntsolutions.com/unixpractice">website</a>
for more information.
</description>
</entry>
<entry id="GregLehey" category="australia">
<name>Greg Lehey</name>
<url>http://www.lemis.com/~grog/</url>
<description>
Greg Lehey has over 20 years industry experience in all system
programming and systems administration disciplines, including device
drivers, kernel debugging, compilers, libraries, performance
analysis, and site planning. He is the author of <a
href="http://www.lemis.com/vinum.html">
The Vinum Volume Manager</a>, a virtual disk driver which includes
software RAID, and also the books
<a href="http://www.oreilly.com/catalog/port/">
Porting UNIX Software</a> and <a
href="http://www.oreilly.com/catalog/cfreebsd/">
The Complete FreeBSD</a>. Contact him <a
href="mailto:grog@FreeBSD.org">
via Email</a>,
or visit his <a href= "http://www.lemis.com/~grog">web site</a>.
</description>
</entry>
<entry id="IKTech" category="europe">
<name>IKTech</name>
<url>http://www.iktech.net</url>
<description>
IKTech Dipl.-Ing. Gernot Schmied is a high-end systems integrator and
UNIX competence center located in Vienna, Austria. We especially
focus on telecommunications, networking and security aspects for NPO,
corporate and Service Provider/Carrier customers. We use selected
commercial products as well as FreeBSD, OpenBSD, NetBSD, Linux and
Solaris and are the premier competence center with regards to
advanced routing gateways. For inquiries please contact <a
href="mailto:office@iktech.net?subject=IKTech%20inquiry%20with%20rega
rds%20to%20www.freebsd.org%20listing">office@iktech.net</a>.
</description>
</entry>
<entry id="Ipsure" category="europe">
<name>Ipsure ICT Consultancy Services</name>
<url>http://www.ipsure.com/</url>
<description>
Ipsure offers IT strategic planning, system integration, maintenance,
administration and counsultancy services to SMEs and large
enterprises. The scope of our services range from initial setup of
the physical layer components through the application level tuning
and auditing stages. Although we provide various solutions over any
other *NIX systems, we have a seasoned experience in building and
managing clustered server environments which are particularly based
on FreeBSD for delivering secure and stabile applications under
ultra high workloads. Our company is located in Istanbul, Turkey.
</description>
</entry>
<entry id="GlobalTechnopolis" category="asia">
<name>Global Technopolis Corporation</name>
<url>http://globaltechnopolis.com/</url>
<description>
Located in Tokyo, Japan, The Global Technopolis Corporation provides
computing technology consulting services including strategy and
implementation proposals, administration, maintenance, hosting,
support, and training for <a
href="http://globaltechnopolis.com/services/consulting/operating-systems-and-platforms/bsd/freebsd/index.html">FreeBSD</a>.
Our engineers can assist your business to set up routers/gateways,
web servers, applications servers, database servers, backup
servers and so forth. Professional project management and on-time
delivery within budget is always our commitment to our clients.
For further details, please visit our <a
href="http://globaltechnopolis.com/">web site</a>.
</description>
</entry>
<entry id="Hypermetrica" category="europe">
<name>Hypermetrica</name>
<url>http://www.esliadmina.net</url>
<description>
IT-consulting company Hypermetrica provides IT consulting and
professional system administration services. We develop
high-available environments, web and network services for small
and medium-sized businesses based on FreeBSD and other UNIX
operating systems. Our office is located in Moscow, Russia.
Contact us for consulting via <a
href="mailto:info@hypermetrica.ru">email</a> or visit our <a
href="http://www.esliadmina.net">website</a>.
</description>
</entry>
<entry id="Imtelkom" category="asia">
<name>Institut Manajemen Telkom</name>
<url>http://www.imtelkom.ac.id/</url>
<description>
Institut Manajemen Telkom is an educational institution, working
thoroughly to create a free Academic Suite system standing firmly
on top of FOSS (FreeBSD, Apache, MySQL, PHP). We just want to
promote and encourage people (especially academician) to use FreeBSD
for their platform, thus we are happily helping others by providing
consultant service to train them using FreeBSD. We provide
discussion and consultant service mainly in Indonesian language.
</description>
</entry>
<entry id="InformSystem" category="asia">
<name>Inform System Inc.</name>
<url>http://www.inform.co.jp/</url>
<description>
Inform System Inc. is a FreeBSD/Internet/DataBase consulting company.
Located in Osaka Japan, we offer a wide range of services to school
and small businesses. For further details, please <a
href="http://www.inform.co.jp/">visit our web site</a>, or send email
to <a href="mailto:info@inform.co.jp">info@inform.co.jp</a>
</description>
</entry>
<entry id="innominate" category="europe">
<name>innominate AG</name>
<url>http://innominate.de/</url>
<description>
innominate AGis a Linux, *BSD and Open Source service provider based
in Berlin, Germany. Not only as consulting partner but also as system
administrator, programmer, supporter and trainer we offer the full
range of services with a heavy focus on Open Source products. Many of
our tailor-made products are engineered using apache, Perl, Zope,
MySQL and Oracle running on Linux and *BSD. For further information
please contact <a
href="mailto:info@innominate.de">info@innominate.de</a> or visit our
<a href="http://innominate.de/">website</a>.
</description>
</entry>
<entry id="InterACT" category="europe">
<name>InterACT</name>
<url>http://www.interact.se</url>
<description>
InterACT is a Sweden based provider of Consultancy and Custom
Development Services. Principal consultant <a
href="mailto:cl@interact.se">Chris Lindbergh</a> has over 10 years
system software development experience on BSD based platforms. Areas
of expertise include Firewall and Networking System setup, custom
development in C and C++, and supply of turnkey solutions. For
further information, contact us by email at: <a
href="mailto:info@interact.se">info@interact.se</a>, or phone Sweden
on +46 (0)920-888 03
</description>
</entry>
<entry id="ITSchulungen" category="europe">
<name>IT-schulungen.com</name>
<url>http://www.it-schulungen.com</url>
<description>
Located in Germany, IT-Schulungen.com is a portal for IT-Trainings
(both individual workshops and public seminars) and offers
training and consulting for different Open Source systems including <a
href="http://www.it-schulungen.com/seminare/serversysteme/freebsd/index.html">FreeBSD</a>.
For further information please call 01805 120 222 (from within
Germany) or visit our <a
href="http://www.it-schulungen.com">website</a>.
</description>
</entry>
<entry id="ITSecurity" category="namerica">
<name>It Security Services</name>
<url>http://www.itsecuritymn.com</url>
<description>
IT Security Services is based in Minneapolis, Minnesota and serves
the Twin Cities. We provide a complete line of security services,
such as audits, secure servers, and new network installations with
emphasis on security. We are highly skilled with FreeBSD, and can
use it to run extremely fast and reliable servers using all popular
services. You can reach us at <a href="mailto:
info@itsecuritymn.com">info@itsecuritymn.com</a>, or our web site at
<a href="http://www.itsecuritymn.com">http://www.itsecuritymn.com</a>.
</description>
</entry>
<entry id="iXsystems" category="namerica">
<name>iXsystems, Inc.</name>
<url>http://www.ixsystems.com</url>
<description>
Based in the heart of Silicon Valley in San Jose, California, iXsystems
offers FreeBSD technical support and custom development with a devoted
Professional Services and Call Center based in the US to assist with issues.
Getting FreeBSD up and running is fast and easy, but having expert help
on-hand to solve your problems can take your solution to new heights. From
optimizing your small office set-up to guidance on very large deployments,
our team can ensure you get the most from FreeBSD.
</description>
</entry>
<entry id="OKTS" category="namerica">
<name>Okanagan Technology Solutions</name>
<url>http://www.okts.ca/</url>
<description>
Okanagan Technology Solutions specializes in open source
technologies, in particular FreeBSD, Perl, Apache, and MySQL for
clients in the beautiful Okanagan region of British Columbia.
For more information, please visit our <a
href="http://www.okts.ca">web site</a>.
</description>
</entry>
<entry id="LNC" category="namerica">
<name>Linux Network Care</name>
<url>http://www.linuxnetworkcare.com/</url>
<description>
Linux Network Care is based in Toronto, Ontario. Our company is
specialized in providing Linux and FreeBSD based solutions for
small, medium and corporate sized businesses. We provide
ourselves on our delivery of dependable network solutions, world
class server administration, tight server security and easy to
understand Linux training. We also provide desktop integration
with Ubuntu Linux.
</description>
</entry>
<entry id="Lionra" category="europe">
<name>Lionra Support Services Ltd.</name>
<url>http://www.lionra.com/</url>
<description>
Lionra Support Services Ltd. provides IT solutions including
tailored network infrastructure, custom-designed servers, remote
administration and security audits. We have over 10 years
experience in the IT sector, specializing in *BSD, GNU/Linux
&amp; Open Source software. Further information about Lionra
Support Services Ltd. and the services we offer can be found at
<a href="http://www.lionra.com/">http://www.lionra.com/</a>.
</description>
</entry>
<entry id="Schweikhardt" category="europe">
<name>Jens Schweikhardt</name>
<url>http://www.schweikhardt.net/</url>
<description>
Jens Schweikhardt, located near <b>Stuttgart/Germany</b>, is a
FreeBSD committer with 20 years of Unix experience who won several
national and international programming contests. If you have a
problem that can be solved using the Unix toolbox (preferably C,
perl, shell) he is the one to make it happen. With his background in
Unix Standardization he will make sure your investment runs portably
and efficiently on all the Unices you care for. Contact him via <a
href="mailto:schweikh@FreeBSD.org">schweikh@FreeBSD.org</a>.
</description>
</entry>
<entry id="Stacey" category="europe">
<name>Julian Stacey</name>
<url>http://www.berklix.com/~jhs/cv/</url>
<description>
<a href="http://berklix.com/">Net services &amp; systems
engineering</a>, UNIX since 1978, Maintains a <a
href="http://berklix.com/~jhs/consultants/">FreeBSD Commercial
Consultants Index</a> (<b>sorted geographically &amp; by full
&amp; part timers)</b>. Be sure to visit his page!
</description>
</entry>
<entry id="Supportodua" category="europe">
<name>Support.od.ua</name>
<url>http://support.od.ua/</url>
<description>
Support.od.ua is located in Odessa, Ukraine. We offer professional
FreeBSD and Linux installation, consulting and server solutions for
customers in Ukraine, Russian Federation and Kazakhstan. For more
information and contact details please visit our <a
href="http://support.od.ua">website</a>.
</description>
</entry>
<entry id="MediaCenter" category="europe">
<name>MediaCenter</name>
<url>http://www.umc.se/</url>
<description>
MediaCenter, Ume&#230;, Sweden. Located in northern Sweden we offer
professional consulting and programming for secure inter/intranet
solutions using FreeBSD and UNIX(-like) operating systems. We also
work high performance database programming, primarily using
PostgreSQL. For more information, please send email to <a
href="mailto:info@umc.se">info@umc.se</a>, or visit our website (<a
href="http://www.umc.se/">http://www.umc.se/</a>)
</description>
</entry>
<entry id="mediaup" category="europe">
<name>MediaUp Webdesign</name>
<url>http://www.mediaup.de</url>
<description>
MediaUp Webdesign is located in Duesseldorf, Germany. We offer
professional FreeBSD installation, consulting and server solutions
for business customers in Germany, Austria and Switzerland. For
more information and contact details please visit our <a
href="http://www.mediaup.de">website</a>.
</description>
</entry>
<entry id="MindStep" category="namerica">
<name>MindStep Corp.</name>
<url>http://www.mindstep.com/</url>
<description>
MindStep Corp. configure and maintain Intranet/Internet networks
using FreeBSD and other Unix operating systems. MindStep also offers
products and provides software development services customized to fit
the needs of corporations of any size.
</description>
</entry>
<entry id="MidwestSystems" category="namerica">
<name>Midwest Systems Solutions, Inc.</name>
<url>http://www.midwestsystems.com/</url>
<description>
Midwest Systems Solutions Inc. , based in Winnipeg Canada, provides
hardware, software and consulting services including LAN, WAN, remote
access, file and printer servers, Internet solutions and support and
administration of FreeBSD and Linux systems. Midwest Systems
specializes in Web, FTP, Internet Gateways, firewall solutions based
on FreeBSD and Linux. Midwest Systems Solutions also offers both
virtual and dedicated webhosting solutions. For more information,
please contact <a
href="mailto:info@midwestsystems.com">mailto:info@midwestsystems.com</a>
or visit our website at <a
href="http://www.midwestsystems.com/">www.midwestsystems.com</a>.
</description>
</entry>
<entry id="Nesbitt" category="namerica">
<name>Nesbitt &amp; Associates</name>
<url>http://www.nesbitt.ca/</url>
<description>
Nesbitt &amp; Associates is based in Vancouver, Canada, but
have worked with clients all over the world. We specialize
in open source technologies, in particular, FreeBSD, Perl,
Apache, mod_perl and MySQL. For more information, please visit
<a href="http://www.nesbitt.ca/">our web site</a>.
</description>
</entry>
<entry id="Netgraft" category="namerica">
<name>Netgraft Corp.</name>
<url>http://netgraft.com/</url>
<description>
Netgraft Corp. is a technology consulting firm that specializes in
open source technologies like Linux, FreeBSD, MySQL, Apache,
Sendmail, BIND, etc. We're New York City based and can provide
on-site support and customized business solutions based on these
technologies.
</description>
</entry>
<entry id="Netizen" category="australia">
<name>Netizen</name>
<url>http://netizen.com.au/</url>
<description>
Netizen, based in Melbourne, Australia, provide Internet and Open
Source consultancy services, including FreeBSD installation,
configuration, support contracts, applications development,
E-Commerce solutions, etc. See <a
href="http://netizen.com.au/">http://netizen.com.au/</a> or email <a
href="mailto:info@netizen.com.au">info@netizen.com.au</a> for more
information.</description>
</entry>
<entry id="NixSys" category="europe">
<name>NixSys BVBA</name>
<url>http://www.nixsys.be/</url>
<description>
NixSys specializes in the development, maintenance and deployment
of Free and Open Source Software on any scale. Remote and on-site
systems administration, particularly in the areas of mail and dns,
are also available. <a href="mailto:philip@nixsys.be">Contact us</a>
for more information and rates.
</description>
</entry>
<entry id="OmarSiddique" category="namerica">
<name>Omar Siddique</name>
<url>http://www.heedme.com/resume</url>
<description>
<a href="http://www.heedme.com">Omar Siddique</a> is a Washington,
D.C. based consultant with broad experience in FreeBSD, Linux,
Solaris. His specialties include internet services, systems
integration, system administration, and networking. Contact him
via <a href="mailto:omar@heedme.com">omar@heedme.com</a>.
</description>
</entry>
<entry id="Omniscient" category="namerica">
<name>Omniscient Technologies</name>
<url>http://www.omniscient.com/</url>
<description>
Omniscient Technologies is a Washington D.C. based consulting group
with a broad array of experience in *BSD, Solaris, Linux and many
other varieties of UNIX specializing in highly scalable systems,
systems integration and network security. Custom application design
also available. Contact via <a
href="mailto:info@omniscient.com">info@omniscient.com</a>.
</description>
</entry>
<entry id="OpenAssociates" category="namerica">
<name>Open Source Associates, LLC</name>
<url>http://www.OpenSourceAssociates.com/</url>
<description>
Open Source Associates LLC is a St. Louis, Missouri based consulting
firm specializing in the support of all things Open Source related
with strong emphasis on FreeBSD, MySQL, Sendmail, BIND, and Apache.
Open Source's highly skilled consultants are available for telephone
support as well as support contracts and onsite consulting
engagements anywhere in the United States. We have particular
expertise in the design, implementation, and support of highly
available clustered websites. We specialize in remote administration
and management to keep complex systems running reliably. For more
information email us at <a href="mailto:info@opensourceassociates.com"
>info@opensourceassociates.com</a> or call toll-free 866-343-2589.
</description>
</entry>
<entry id="OpenSOS" category="asia">
<name>OpenSOS SB</name>
<url>http://www.opensos.net/</url>
<description>
OpenSOS SB is a company which provides consulting and professional
services for FreeBSD based solutions based in Kuala Lumpur,
Malaysia. We also provide maintenance and support services
in Malaysia. We can operate at short notice in any region in
Asia for a truly professional quick-to-service operational
capability. However we are willing to consider projects outside
Malaysia. We are specialized in FreeBSD, MacOSX and basically
in all kinds of UNIX systems.
</description>
</entry>
<entry id="OpenWorld" category="namerica">
<name>OpenWorld</name>
<url>http://www.stdio.com/</url>
<description>
OpenWorld has been providing computer, network, and security
consulting since 1994. Our clients? range from Fortune 500 companies
to regional small businesses. Our engineers each have at least 10
years of experience in Unix systems and networks. We provide full
service consulting, implementation, installation, security, and
support for FreeBSD, SUN Solaris, SCO Unixware, SCO OpenServer, SGI
Irix, IBM AIX, Compaq Digital Unix, and Cisco IOS. Please email us at
<a href="mailto:info@stdio.com">info@stdio.com</a> or call us at
606-514-1800 for further information.
</description>
</entry>
<entry id="Puryear" category="namerica">
<name>Puryear Information Technology, LLC</name>
<url>http://www.puryear-it.com</url>
<description>
Puryear Information Technology, LLC provides open source application
support, integration services, and technology management expertise to
the Southeastern United States. Our company plays a pivotal role in
the design and deployment of open source solutions--we have worked
with companies to design and manage FreeBSD and Linux web farms;
deployed open source-based clustering software to ensure high
availability of critical network services; performed critical
performance tuning and software integration for a popular spam filter
appliance; and integrated Samba into Internet-accessible, VPN-based
file services. Phone: +1-225-343-3056.
</description>
</entry>
<entry id="Pendulosoftware" category="samerica">
<name>Pendulo Software</name>
<url>http://www.pendulosoftware.com</url>
<description>
Based in Caracas, Venezuela, Pendulo Software provides and
specializes in support and consulting for FreeBSD and Linux
solutions. We offer onsite as well as offsite support, web
development, design (2D and 3D), Multimedia, VPNs implementation,
Virtualization, VoIP, high performance servers, Firewalls, custom
application programming and many others services. Our experience
covers the most important branches of current IT industry, from
routine of server management, security audits and updates, to high
performance computing and mitigating attacks. For more information
about our services, please visit our multilanguage <a
href="http://www.pendulosoftware.com">website</a>, send an
email to <a
href="mailto:atencioncliente@pendulosoftware.com">atencioncliente@pendulosoftware.com</a>
or <a
href="mailto:infocorp@pendulosoftware.com">infocorp@pendulosoftware.com</a>
or call us under +58 (212) 625-0708, +1 (407) 536-9895 or
+1 (253) 642-6484.
</description>
</entry>
<entry id="PeterDufault" category="namerica">
<name>Peter Dufault</name>
<url>mailto:dufault@hda.com</url>
<description>
Peter Dufault, of HD Associates. Peter has over 15 years experience
in medical device control, high performance simulation systems,
digital closed-loop feedback systems, realtime UNIX-like systems, and
UNIX device drivers. For more information, please send email to <a
href= "mailto:dufault@hda.com">dufault@hda.com</a>
</description>
</entry>
<entry id="PHBSolutions" category="europe">
<name>PHB Solutions</name>
<url>http://www.phbsolutions.com</url>
<description>
PHB Solutions, based in Belgium, provides *BSD installation,
maintenance, support and consulting services (file servers, web
servers, mail servers, database servers, routers). For more
information, please contact <a
href="mailto:philippe.bresoux@phbsolutions.com">philippe.bresoux@phbs
olutions.com</a>.
</description>
</entry>
<entry id="PhilBudne" category="namerica">
<name>Phil Budne</name>
<url>http://www.ultimate.com/phil/resume.html</url>
<description>
Phil Budne is a Boston area consultant who has worked professionally
with BSD and other Unix systems since 1985. Services include
development and porting of kernel extensions, device drivers, network
protocol implementation, and applications, as well as network and
system administration. For more information contact <a href=
"mailto:phil+fbsd@ultimate.com">phil+fbsd@ultimate.com</a>.
</description>
</entry>
<entry id="PineInternet" category="europe">
<name>Pine Internet</name>
<url>http://www.pine.nl/</url>
<description>
Pine Internet implements LAN, WAN and remote access solutions, offers
Unix support and administration contracts and advises ISP's and other
corporate customers concerning their network and server setup. Pine
specializes in <a href="http://security.pine.nl/">Internet
security</a>, performs security auditing services on demand, and
offers firewall solutions based on FreeBSD. Other products we offer
are webhosting, facility management and leased lines. Among the
products we use are FreeBSD, Cisco routers, PHP, Apache, Perl,
Solaris and MySQL. Pine has 8+ years of Unix and Internet experience.
We feature some of the largest ISP's in the Netherlands as our
customers. For more information, please contact <a
href="mailto:info@pine.nl">info@pine.nl</a> or visit our website at
<a href="http://www.pine.nl/">www.pine.nl</a>.
</description>
</entry>
<entry id="psychsoftek" category="namerica">
<name>Psychsoft Consulting</name>
<url>http://www.psychsoftek.com</url>
<description>
Psychsoft Consulting is an Industry recognized leading technology
consulting firm based in Quincy, Massachusetts founded in 1987 with a
highly educated, trained and experienced staff to help in all your IT
needs. Psychsoft, Inc. personnel hold advanced degrees in various
fields and have years of experience in IT implementation,
troubleshooting, design and configuration. Areas of expertise include:
Linux, Microsoft Windows, UNIX (including FreeBSD), TCP/IP, LAN, WAN,
VPN, Network security, WIFI security, WIFI design, Database design,
SQL, Web site design, Server design, System integration, Network
printing and DSL/Broadband/T1 Internet access.
</description>
</entry>
<entry id="Questwork" category="asia">
<name>Questwork Consulting Limited</name>
<url>http://www.questwork.com/</url>
<description>
Questwork Consulting Limited is based in Hong Kong. We provide
consulting, web application development, hosting &amp; maintenance
services on FreeBSD to our clients for more than 5 years. For
more information, please contact us by email at
<a href="mailto:freebsd@questwork.com">freebsd@questwork.com</a>
or visit our <a href="http://www.questwork.com/">website</a>.
</description>
</entry>
<entry id="RandDAssociates" category="europe">
<name>R and D Associates, Inc.</name>
<url>http://www.RnDAssociates.com/</url>
<description>
R &amp; D Associates, Inc. developed ServeTheWeb.com utilizing
FreeBSD running Apache. We employed consulting services from <a
href="mailto:phk@FreeBSD.org">Poul-Henning Kamp</a> to develop our
Virtual Server solution (which is available in <a
href="http://www.FreeBSD.org">FreeBSD</a> 4.0 and higher).
R &amp; D Associates, Inc. is an application development firm
specializing in client/server application development. We use FreeBSD
running Apache and utilizing PHP and MySQL (As well as NT with ASP and
SQL/Access).
</description>
</entry>
<entry id="Secnetix" category="europe">
<name>Secnetix GmbH and Co KG</name>
<url>http://www.secnetix.de/</url>
<description>
Secnetix GmbH &amp; Co KG -- located in Munich, Germany -- has a
strong focus on BSD systems and offers professional consulting
services, ranging from basic administration, programming and
security-related tasks to sophisticated projects involving design,
implementation and maintenance of complex network setups. For more
information, please <a href="http://www.secnetix.de/">visit our web
site</a> or send a message to <a
href="mailto:info@secnetix.de">info@secnetix.de</a>.
</description>
</entry>
<entry id="ServerManagementPlus" category="asia">
<name>ServerManagementPlus</name>
<url>http://www.secnetix.de/</url>
<description>
ServerManagementPlus is a outsourced server management and
administration company, based in Maharashtra, India. We offer
configuration, optimization and tuning services for FreeBSD
servers. Please visit our <a
href="http://servermanagementplus.com/">web site</a> for more
information.
</description>
</entry>
<entry id="SouthernGazer" category="australia">
<name>Southern Gazer</name>
<url>http://www.southerngazer.com</url>
<description>
Southern Gazer is a consulting company with 20 years PC technical
support experience based in Sydney's idyllic Sutherland Shire. Our
focus is helping businesses get their computers working right while
spending as little as possible on IT. We're passionate supporters of
Open Source products and can help the average business save money and
gain reliability by using systems such as FreeBSD on their file
servers, print servers, e-mail systems plus lots more. We also supply
a complete range of Linux and BSD CD's at ultra low prices. Please
drop by our <a href="http://www.southerngazer.com">website</a>, email
us at <a
href="mailto:info@southerngazer.com">info@southerngazer.com</a>, or
call us on 02 9532 1217 to have a chat.
</description>
</entry>
<entry id="SteubenTech" category="namerica">
<name>Steuben Technologies</name>
<url>http://www.steubentech.com/</url>
<description>
Steuben Technologies is a consulting company offering support,
administration, custom software development, legacy systems
support and solutions tailored to your unique business model on
a wide range of platforms including FreeBSD, NetBSD and most
commercial UNIX platforms and much more. Please see our website
or call us at (607)661-4431.
</description>
</entry>
<entry id="Synetec" category="europe">
<name>Synetec</name>
<url>http://www.synetec.pl/</url>
<description>
Synetec is an IT company located in Poland. We are experienced in
the installation and administration of &os;, Linux and Windows
Server systems. For more informations visit <a
href="http://www.synetec.pl/">our website</a>.
</description>
</entry>
<entry id="Syntonet" category="europe">
<name>Syntonet Ltd</name>
<url>http://www.syntonet.co.uk/</url>
<description>
Syntonet Ltd is UK based provider of Consultancy and Custom
Development Services. Principal consultant <a
href="mailto:rob@syntonet.co.uk">Rob Pickering</a> has over 10 years
system software development experience on BSD based platforms. Areas
of expertise include firewall and networking system setup, custom
development in C and C++, and supply of turnkey solutions. For
further information, contact us by email at <a
href="mailto:info@syntonet.co.uk">info@syntonet.co.uk</a>, call
+44.870.166.4400 (Voice) or +44.870.166.4411 (Fax).
</description>
</entry>
<entry id="SysCare" category="europe">
<name>SysCare s. r. o.</name>
<url>http://www.SysCare.sk/</url>
<description>
SysCare s. r. o. is a company based in Slovakia with the aim to
provide highly professional solutions, including consultancy and
outsourcing services for reasonable amount of money. Our focus
is on high-availability and high-performance solutions for web,
database, DNS and email products built on &os;. SysCare s. r. o.
has been founded by Daniel Gerzo, who is being part of the official
&os; development team. For inquiries please send us an email to
<a href="office@syscare.sk">office@syscare.sk</a>, or visit our
<a href="http://www.SysCare.sk/">web site</a> for more information.
</description>
</entry>
<entry id="TecVD" category="europe">
<name>TecVD</name>
<url>http://www.tecvd.com/</url>
<description>
TecVD is located in Barcelona, Spain. We are a company focused
in system security and open source implementations (GNU/Linux,
FreeBSD and OpenBSD) in heterogeneous infrastructure. We also
have security appliances, Tseg series, and network services
appliances like Tcor series. We can provide you with a complete
enterprise solution tailored to your needs. See our website or
email us at <a href="mailto:tecvd@tecvd.com">tecvd@tecvd.com</a>
for further information.
</description>
</entry>
<entry id="TundraWare" category="namerica">
<name>TundraWare Inc.</name>
<url>http://www.tundraware.com/</url>
<description>
TundraWare Inc. provides FreeBSD related consultancy in all contexts,
from Embedded to large Transaction Processing systems. We have
extensive International experience and can provide services in
network design, systems architecture, development, deployment and
operations. Contact us via telephone on 847/827-1706, via email to <a
href="mailto:info@tundraware.com"> info@tundraware.com</a> or write
to us at TundraWare Inc., 817 Fairmont Court, Des Plaines, IL 60018,
USA.
</description>
</entry>
<entry id="UnixPorting" category="namerica">
<name>UnixPorting</name>
<url>http://www.UnixPorting.com/</url>
<description>
UnixPorting.com specializes in the porting of existing software to
new operating systems or hardware. In addition to porting, we
specialize in C and Perl programming, Unix system administration and
security, and open source
technologies (FreeBSD, Perl, Apache,
mod_perl, MySQL, etc.). For more information, please visit <a
href="http://www.UnixPorting.com/">our web site</a>.
</description>
</entry>
<entry id="UnixWorX" category="namerica">
<name>UnixWorX System Design</name>
<url>http://www.unixworx.ca/</url>
<description>
UnixWorX System Design is a Vancouver, BC based BSD consulting firm
established in 1994. For over 20 years we've provided commercial
support for BSD including FreeBSD, NetBSD and OpenBSD. Our
specialties include Web Servers (Apache and TomCat), Database,
Content Management Systems (CMS), Email servers such as Sendmail
and Postfix, DNS (BIND 8 and 9), Firewalls (PF and IPF), Routing,
as well as application development and Perl / C++ Programing. We
operate our own server collocation facility situated on a
GIG-E Backbone. Additionally, the founder of the company,
Glenn Graham, is an author for O'Reilly Publishing. We welcome
new business! For more information, we invite you to visit
our <a href="http://www.unixworx.ca">website</a>.
</description>
</entry>
<entry id="AspenWorks" category="namerica">
<name>AspenWorks, Ltd.</name>
<url>http://www.aspenworks.com/</url>
<description>
AspenWorks is an Aspen, Colorado based consulting company with offices
in Portland, OR. We specialize in network applications, and
Wireless Broadband management for ISPs and WISPs. AspenWorks has been
in business since 1986. Telephone: 970-925-3355
</description>
</entry>
<entry id="Wave2" category="europe">
<name>Wave2 Limited</name>
<url>http://www.wave2.co.uk/</url>
<description>
Wave2 Limited is an Open Source consultancy, based in the UK,
providing custom solutions with an emphasis on FreeBSD. Services
include software development (Java, Perl, Python, VB),
Heterogeneous Network / System Administration (FreeBSD, Linux,
OSX, Solaris and Windows). If you are looking for an Open Source
solution, please contact me at <a href="mailto:info@wave2.org">
info@wave2.org</a>.
</description>
</entry>
<entry id="WilliamRichard" category="namerica">
<name>William Richard &amp; Associates</name>
<url>http://www.tdl.com/~wdr/consulting.html</url>
<description>
William Richard &amp; Associates offers FreeBSD, Internet, and e-commerce
consulting, implementation, and support options for clients
throughout the San Francisco Bay Area. Visit our website or <a
href="mailto:wdr@tdl.com">e-mail us</a>.
</description>
</entry>
<entry id="WorkgroupTechnology" category="namerica">
<name>Workgroup Technology Partners, Inc.</name>
<url>http://www.wgtech.com</url>
<description>
Workgroup Technology Partners, Inc.We sell and support Unix systems
including Solaris, HP/UX, AIX, Linux and FreeBSD. For comments refer
to <a href="http://www.wgtech.com">our site</a>
</description>
</entry>
<entry id="SecurityAudit" category="africa">
<name>Security Audit and Control Solutions</name>
<url>http://www.sacs.co.za/</url>
<description>
Security Audit and Control Solutions (SACS) provides information
security consultation and IT auditing services and offers
professional FreeBSD support. SACS has developed a complete range of
Technological Risk Management solutions using FreeBSD as an anchor
for data analysis. Firewalls deployed using FreeBSD makes a cost
effective solution in any organization and SACS can implement a
secure FreeBSD firewall with caching engines, Network Address
Translation (NAT) and proxies. For additional information please
contact <a href="mailto:pearcem@sacs.co.za">Mervin Pearce</a> or
visit <a href="http://www.sacs.co.za">http://www.sacs.co.za</a>
</description>
</entry>
<entry id="EDILtd" category="namerica">
<name>EDI Ltd Consulting Engineers</name>
<url>http://www.ediltd.com</url>
<description>
EDI Ltd Consulting Engineers. We provide consulting services for
FreeBSD as well as local and wide area network design. Our
diversified staff allows us to help you in all the areas your project
requires, from cabling to encryption, network security audits,
network design and network health studies. We have successfully
completed several FreeBSD installations for mission critical
operations, using it as a firewall, web server or mail server. If you
would like to discuss your project with us, please contact us as
(770) 956-7000, or <a
href="mailto:info@ediltd.com">info@ediltd.com</a>.
</description>
</entry>
<entry id="WhiteQueueConsulting" category="nzealand">
<name>White Queue Consulting</name>
<url>http://whitequeue.com/</url>
<description>
White Queue Consulting provides embedded FreeBSD kernel and
userland development. Our services include device driver
development, kernel porting, software design and development in
the kernel and userland. We are able to work with clients in any
location. For further information contact us through our <a
href="http://whitequeue.com/contact/">contact form</a> or visit
the <a href="http://whitequeue.com/">White Queue website</a>.
</description>
</entry>
<entry id="CrepidoSystems" category="europe">
<name>Crepido Systems AB</name>
<url>http://www.crepido.com</url>
<description>
Crepido Systems AB provides services for custom software development
and system design under BSD and other Unixes. We have 10+ years
experience in Unix programming and system design using Unix as
building block.
Crepido System AB operates mainly in Sweden but
requests outside Sweden are welcome.
</description>
</entry>
<entry id="MarkTinguely" category="namerica">
<name>Mark Tinguely</name>
<url>http://www.cs.ndsu.NoDak.edu/~tinguely/</url>
<description>
Mark Tinguely has provided Network and Unix solutions for over ten
years. These solutions include work with Unix kernels and Unix
applications, TCP/IP applications, Local Area Network protocol
debugging, and BSD device drivers. Mark has authored BSD device
drivers for 3 video capture boards, an Asynchronous Transfer Mode
(ATM) network card, and a Watchdog card.
</description>
</entry>
<entry id="ITworksConsulting" category="australia">
<name>ITworks Consulting</name>
<url>http://www.itworks.com.au</url>
<description>
ITworks Consulting is a privately owned information technology
consultancy, situated in the central business district of
Melbourne, Australia. The business consists of a specialized team
of consultants who aim to provide information technology solutions
to meet the needs of the business community. We provide a range of
FreeBSD based web hosting, web database development and e-commerce
services as well as professional FreeBSD consulting services and
support contracts. For more information please visit our <a
href="http://www.itworks.com.au">web site</a> or contact us at <a
href="mailto:info@itworks.com.au">info@itworks.com.au</a>.
</description>
</entry>
<entry id="Raditex" category="europe">
<name>Raditex AB</name>
<url>http://raditex.nu/</url>
<description>
Raditex AB are a firm of consultants and also do education in Unix.
We have long experience with all kinds of Unix systems not only
FreeBSD or Linux. For more information phone us at +46 19 4501015
or give us an email at <a
href="mailto:gorhas@raditex.nu">gorhas@raditex.nu</a> or <a
href="http://raditex.nu/">visit our web site</a>.
</description>
</entry>
<entry id="Mike_Meyer" category="namerica">
<name>Mike_Meyer</name>
<url>http://www.mired.org/home/mwm/</url>
<description>
Mike Meyer of Meyer Consulting has been providing Unix-based
solutions since 1976, and web-based applications since 1992. These
solutions range from chemical systems modeling to device drivers, and
the web applications have ranged from community-building applications
to web based software release systems. For more information, please
contact <a href="mailto:mwm@mired.org">mwm@mired.org</a>.
</description>
</entry>
<entry id="TheLinuxBox" category="namerica">
<name>The Linux Box</name>
<url>http://www.linuxbox.nu/</url>
<description>
The Linux Box, located in Ann Arbor, Michigan, provides consulting
and training services for open source operating systems and products,
including FreeBSD and Linux. For more information, contact <a
href="mailto:info@linuxbox.nu">info@linuxbox.nu</a> or view our
website at <a href="http://www.linuxbox.nu">www.linuxbox.nu</a>.
</description>
</entry>
<entry id="LANCO" category="asia">
<name>LANCO Global Systems</name>
<url>http://www.lancoglobal.com/</url>
<description>
LANCO Global Systems (LGSL), based in India, Hyderabad, with offices
in USA and UK, provides and specializes in <i>Application
Development, Shell Scripting, PHP, C, C++ and Perl Programming,
Networking Solutions, Unix device driver development, Web page
Designing and Hosting, Web Server Solutions and configurations, ISP
Services especially on Linux, FreeBSD and Solaris</i>. For more
information, please email us at <a
href="mailto:services@lancoglobal.com">services@lancoglobal.com</a>
or call us at 0091-9849043975 or FAX us at 0091-040-3755413.
</description>
</entry>
<entry id="NS3G" category="namerica">
<name>NS3G.COM</name>
<url>http://www.ns3g.com/</url>
<description>
NS3G.COM, based out of Toronto, Ontario, Canada, offers a variety of
services and products. We specialize in products that run under
FreeBSD and other *NIX systems but also support other platforms.
Solutions for firewalls, LAN's, WAN'S and web presence are just a few
that we offer. Please visit us at <a
href="http://www.ns3g.com/">www.ns3g.com</a> or contact us at <a
href="mailto:info@ns3g.com">info@ns3g.com</a> for more information or
to get a quote.
</description>
</entry>
<entry id="Linast" category="europe">
<name>Linast-Systemtechnik GmbH</name>
<url>http://www.linast.de</url>
<description>
Linast-Systemtechnik GmbH is located in Sankt Augustin, Germany (near
Bonn/Cologne) and provides consulting, support and training for
FreeBSD, Linux, MacOS X and other Unix Systems. For more information,
please call +49.2241.209467, e-mail us at <a
href="mailto:info@linast.de">info@linast.de</a> or visit our <a
href="http://www.linast.de/">website</a>
</description>
</entry>
<entry id="Cybersource" category="australia">
<name>Cybersource Pty. Ltd</name>
<url>http://www.cyber.com.au/</url>
<description>
Cybersource is Australia's leading IT Professional Services Company
in the areas of Unix/FreeBSD/Linux, TCP/IP Datanetworking and Open
Platform application development using these technologies. With
around 40 staff, are based in Melbourne and have been successfully
providing IT Professional Services for 10 years.
</description>
</entry>
<entry id="NationalInformatics" category="namerica">
<name>National Informatics Company</name>
<url>http://www.nationalinformatics.com</url>
<description>
National Informatics Company provides research and development
services for information technology. We work with FreeBSD to support
or manage research projects for high performance computing,
bioinformatics, enterprise software technologies and artificial
intelligence. We also help companies make the transition from
proprietary software products to Open Source products. Our phone
number is (425) 740-0139.
</description>
</entry>
<entry id="Bilch" category="europe">
<name>Bilch International Consulting</name>
<url>http://www.bilch.com/</url>
<description>
Bilch International Consulting, Hamburg is based in Germany. We are
building fire walled servers and connect them to your ISDN, POTS, ATM
or E1/T1 Line. BILCH Com is an ASP and application software
developer. Please mail us at <a
href="mailto:info@bilch.com">info@bilch.com</a>.
</description>
</entry>
<entry id="ParcProductions" category="europe">
<name>Parc Productions</name>
<url>http://www.parcproductions.com/</url>
<description>
Parc Productions. Located in the Netherlands. Started in 1997. We
deliver professional system engineering services for FreeBSD, OpenBSD
and MacOS X. Our services include 24/7 support, consultancy,
maintenance of both hardware and software, assembly and installation
of hardware, remote and on-site support, development of scripts and
software for the machines we maintain etcetera. Of course we deliver
hosting facilities and space for your servers at low costs as well.
Visit our websites at <a
href="http://www.parcproductions.com/">www.parcproductions.com</a> or
<a href="http://www.bsdengineering.com/">www.bsdengineering.com</a>.
Please contact us by <a
href="mailto:info@parcproductions.com">email</a> or by telephone:
+31-204892456.
</description>
</entry>
<entry id="Worria" category="asia">
<name>Worria Affordable Web Hosting</name>
<url>http://worria.com/en/hosting.shtml</url>
<description>
Worria Affordable Web Hosting is a privately owned company in Hong
Kong. We offer FreeBSD web hosting related consulting services, such
as server administration and website management. For more details,
please email <a href="mailto:sales@worria.com">our sales team</a>.
</description>
</entry>
<entry id="ZYTRAX" category="namerica">
<name>ZYTRAX, Inc</name>
<url>http://www.zytrax.com/</url>
<description>
Zytrax, Inc. is based in Montreal, Canada and provides consulting,
development, implementation, hosting and maintenance services
specialising in the BSD platforms. Our skill base includes Apache,
PHP, Ruby, DNS, Mail, LDAP, Samba, PostgeSQL/MySQL and embedded
systems. Please email us at <a
href="MAILTO:consulting@zytrax.com">consulting@zytrax.com</a>. We can
be reached via telephone at +1.514.285.9088.
</description>
</entry>
<entry id="OpenTrend" category="namerica">
<name>OpenTrend Solutions Ltd</name>
<url>http://www.opentrend.net</url>
<description>
OpenTrend Solutions Ltd provides consulting and facilities management
services through Canada. We specialize in supporting FreeBSD, NetBSD,
OpenBSD and Linux, and have specialist skills in system
administration, security and network design &amp; management. We donate
2% of gross profits to the support of open source software and have
partnered with organisations in the United States and Australia to
better support multi-national clients.
</description>
</entry>
<entry id="DaemonizedNetworking" category="namerica">
<name>Daemonized Networking Services</name>
<url>http://www.daemonized.com</url>
<description>
Daemonized Networking Services. Our staff have been supporting
software and hardware development, brokerages, banks, hospitals,
publishers, e-commerce, legal and medical research,
telecommunications, and other environments since 1986, in the San
Francisco Bay Area and Northern California. We build industrial
strength web servers, running the latest release of Apache, OpenSSH,
and OpenSSL, with all source, and firewall, based on FreeBSD, in less
than one hour.
</description>
</entry>
<entry id="Linux4biz" category="asia">
<name>Linux4biz</name>
<url>http://www.linux4biz.net/</url>
<description>
Linux4biz is an independent provider of comprehensive Internet
solutions, specialising in the Solaris, LINUX, FreeBSD, OpenBSD,
NetBSD operating systems and Open Source Software. Linux4biz
Consultants are able to advise on all aspects of implementing and
administrating Unix/Linux servers, SAMBA solutions, E-mail servers,
Mailing list servers, Web servers, DNS, Internet Security, Security
Audits, Intrusion detection, Stress testing, Intranet setup, High
Availability server solutions, Network solutions, Remote
administration solutions. We also provide onsite as well as offsite
support and consultancy. For more information about our services,
please visit our website.
</description>
</entry>
<entry id="INFOMATIK" category="samerica">
<name>INFOMATIK</name>
<url>http://info.matik.com.br</url>
<description>
INFOMATIK Tecnologia e Desenvolvimento - Brazilian Company is
offering total site support for FreeBSD Servers. We have high
performance solutions for Intranet and Internet. We are specialized
in UNIX systems since 92. Please visit our Interactive Website or
contact us per e-mail: <a
href="mailto:info@matik.com.br">info@matik.com.br</a>
</description>
</entry>
<entry id="LOGIOS" category="europe">
<name>LOGIOS</name>
<url>http://www.logios.cz/</url>
<description>
LOGIOS NETWORK SYSTEMS, located in the Czech Republic, provides
system maintenance, consulting and other services on various
platforms, including FreeBSD and Linux. We also offer information
security services, firewalls and IDS systems, system integration,
software applications etc.
</description>
</entry>
<entry id="Xetpoint" category="europe">
<name>Xetpoint</name>
<url>http://www.xetpoint.fi/</url>
<description>
Xetpoint Oy is located in Pirkkala, Finland. We offer professional
FreeBSD support, consulting, programming, maintenance and monitoring
services. For more information, please visit our website.
</description>
</entry>
<entry id="RackmountNet" category="namerica">
<name>RackmountNet</name>
<url>http://www.rackmountnet.com</url>
<description>
RackmountNet is a One-stop shop for rackmount Linux, FreeBSD systems.
Our products include Rackmount chassis, server rack cabinet,
Rackmount LCD Monitor, and related accessories. For more information,
contact <a
href="mailto:sales@rackmountnet.com">sales@rackmountnet.com</a>.
</description>
</entry>
<entry id="siliconlandmark" category="namerica">
<name>Silicon Landmark LLC</name>
<url>http://siliconlandmark.com/</url>
<description>
Silicon Landmark's mission is to supply our customers with
fully customized, scalable, turn-key Information Technology
solutions at competitive prices. We specialize in designing
package products that will meet and your business' needs
and budget.
</description>
</entry>
<entry id="pythonbyte" category="namerica">
<name>Python Byte Solutions</name>
<url>http://www.pythonbyte.com/</url>
<description>
Python Byte Solutions is an independent IT
consulting company based in Southwestern Ontario, Canada.
We provide services pertaining to software
&amp; web development, hosting, support, installation,
and training. We specialize in Python, Zope, Apache,
MySQL, *BSD, and Linux. You can
check out our web site or contact us directly at <a
href='mailto:info@pythonbyte.com'>info@pythonbyte.com</a>.
</description>
</entry>
<entry id="oscillation" category="europe">
<name>os-cillation</name>
<url>http://www.os-cillation.de</url>
<description>
os-cillation, located in Siegen/NRW, Germany.
We offer a broad range in BSD-based software-development
(C/C++/Java/HTML/PHP/Perl/SQL). Installation and
support of FreeBSD based mail, web, firewall, database,
news, dns and ftp servers. FreeBSD and Windows desktop
integration. Also experienced with NetBSD, Solaris and Linux.
</description>
</entry>
<entry id="ForgottenTechnologies" category="asia">
<name>Forgotten Technologies</name>
<url>http://www.forgotten.com.sg</url>
<description>
Forgotten Technologies, http://www.forgotten.com.sg
is a Singapore-based company providing open source business
solutions that include, but not limited to platforms such as
Linux, FreeBSD and OpenBSD. Please email us at
enquiries@forgotten.com.sg to find out more how we can help
you in your business!
</description>
</entry>
<entry id="WirewalkTechnologies" category="namerica">
<name>Wirewalk Technologies</name>
<url>http://www.wirewalk.com/</url>
<description>
Wirewalk Technologies is a NYC based consulting company, with
strategic partnerships around the globe. We offer onsite and
remote consulting, and full integration services based on
FreeBSD, as well as OpenBSD, NetBSD, Linux, MacOS, Solaris.
Programming solutions in: C, C++, Java, Perl, PHP, Oracle,
MySQL, Postgresql, etc. Contact us via <a
href="mailto:sales@wirewalk.com">email</a> or call us under#
212-202-2613 or 917-217-7975.
</description>
</entry>
<entry id="tunix" category="europe">
<name>Tunix</name>
<url>http://www.tunix.nl/</url>
<description>
For more than 10 years TUNIX - the only Dutch firewall
developer - brings you a unique combination of
security-services: high-level training on
Internet-technology and tailor-made security solutions.
TUNIX Security offers an end-to-end solution with a full
range of services such as consultancy for developing a
security-policy and design of a security-architecture,
project-management, turn-key implementation of
firewall-appliances, multi-level support and 24x7 management
and monitoring. The security solutions are build on the TUNIX
Firewall, a modular, FreeBSD based proxy-level firewall.
For more information, please contact sales@tunix.nl
or visit our website at www.firewall.nl.
</description>
</entry>
<entry id="improware" category="europe">
<name>ImproWare AG</name>
<url>http://www.imp.ch/</url>
<description>
ImproWare AG focuses on Internet and Networking Services
as well as System Integration and Consulting based on
FreeBSD.
We offer contract programming in all major programming languages
with a focus on FreeBSD, userland and kernel.
</description>
</entry>
<entry id="netmaniacs" category="europe">
<name>NetManiacs</name>
<url>http://www.netmaniacs.nl/</url>
<description>
NetManiacs is a dutch company based in Eindhoven.
We provide consulting, (system administration) support,
custom software and a broad range of (internet/business)
server solutions. For more information visit
<a href="http://www.netmaniacs.nl">www.netmaniacs.nl</a>
or contact us at <a href="mailto:info@netmaniacs.nl">
info@netmaniacs.nl</a>.
</description>
</entry>
<entry id="ArtisanComputerServicesLLC" category="namerica">
<name>Artisan Computer Services LLC</name>
<url>http://www.artisancomputer.com/</url>
<description>
Artisan Computer Services LLC is based in Tucson, Arizona.
We provide system administration and configuration for web,
mail, DNS, database, and streaming video servers using FreeBSD.
We also do computer consulting on a variety of platforms
(Mac OS X, Windows, *BSD, Linux), with an emphasis on integration
and security. You can reach us at
<a href="mailto:info@artisancomputer.com">info@artisancomputer.com</a>,
or our website,
<a href="http://www.artisancomputer.com">www.artisancomputer.com</a>.
</description>
</entry>
<entry id="BrainAllianceSolutions" category="europe">
<name>Brain Alliance Solutions Oy / Ltd</name>
<url>http://www.brainalliance.com/</url>
<description>
Brain Alliance Solutions Oy / Ltd is located in Espoo, Finland.
We offer professional FreeBSD installation, support, consulting
and server solutions. For more information, please visit our
website at <a href="http://www.brainalliance.com">
http://www.brainalliance.com</a>.
</description>
</entry>
<entry id="TegtmeierInternetSolutions" category="europe">
<name>Tegtmeier Internet Solutions</name>
<url>http://www.tegtmeier.de/</url>
<description>
Tegtmeier Internet Solutions is located in Hamburg / Germany. We offer
consulting, professional support and maintenance for *BSD and Linux systems
and are developing individual solutions in C/Perl/PHP/SQL/HTML/shell, based
on open source products. We are focused on internet security, high
availability and performance/optimization. Visit our website at
<a href="http://www.tegtmeier.de">http://www.tegtmeier.de</a>.
</description>
</entry>
<entry id="OpenSourcery" category="europe">
<name>Open Sourcery</name>
<url>http://www.opensourcery.co.uk</url>
<description>
Open Sourcery is a UK based company providing support and consultancy
for Free and Open Source Software. We have <a
href="http://www.opensourcery.co.uk/open-sourcery/our-experience/"
title="Open Source support">experience</a> with a wide variety of
Open Source software. You can find out more and contact us at our
<a href="http://www.opensourcery.co.uk"
title="Open Source support">website</a>.
</description>
</entry>
<entry id="Oxalide" category="europe">
<name>Oxalide</name>
<url>http://www.oxalide.com/</url>
<description>
Oxalide is a consultancy firm and solution provider. Our fields of
expertise include UNIX software system deployment such as secure mail
systems (SMTP, POP, IMAP), advanced Web server configurations,
high-availability firewalling, etc. Our knowledge of FreeBSD, *BSD,
Commercial Unix and Linux is thorough.
</description>
</entry>
<entry id="TechneticsConsultingPtyLtd" category="australia">
<name>Technetics Consulting Pty. Ltd.</name>
<url>http://www.technetics.com.au/</url>
<description>
Technetics is located in Melbourne Australia. We provide prompt IT services
&amp; support, system maintenance, hard drive recovery services, consulting and
other services on various platforms including FreeBSD, Linux and Unix. We
offer on site support within Melbourne Australia and world wide via remote
login. We also offer expert data recovery services for Unix based platforms.
Call anytime ph. +61 3 9663 1899 or email us at <a
href="mailto:info@technetics.com.au">info@technetics.com.au</a>.
</description>
</entry>
<entry id="EnvescentLCC" category="namerica">
<name>Envescent, LLC</name>
<url>http://www.envescent.com/</url>
<description>
Envescent is a leading provider of technology products and services
focused on FreeBSD. We offer consulting, pre-installed workstations
and servers, compatible hardware, outsourced system and network
administration and implementation, security auditing, technical support
and much more.
</description>
</entry>
<entry id="openMindShare" category="namerica">
<name>openMindShare</name>
<url>http://www.openmindshare.com/</url>
<description>
openMindShare draws on over a decade of expertise in diverse
information technology fields. We handle information technology
infrastructure needs and we do it with FreeBSD. We offer a myriad
of services and solutions. See our
<a href="http://www.openmindshare.com/">web site</a> or
<a href="mailto:info@openmindshare.com">e-mail</a>
(info@openmindshare.com) for more information.
</description>
</entry>
<entry id="RBJ-Consultants" category="europe">
<name>RBJ-Consultants</name>
<url></url>
<description>
Unix since 1990. Remote installation (Europe-webhosting,
Brasil, USA) and local. We train, install, configure and
admin FreeBSD, Linux (RedHat, Suse, Gentoo, Mandrake), Solaris.
Inside network - MacOSX, Windows, etc (we support too).
Contact: <a href="mailto:rbj@madeira.dyndns.org">Rui Bento</a>
&lt;rbj@madeira.dyndns.org&gt;
</description>
</entry>
<entry id="TechniSoft" category="africa">
<name>TechniSoft</name>
<url>http://www.technisoft.sn/</url>
<description>
Located in the Senegal (west Africa). Started in 2001. We deliver
professional system engineering services for FreeBSD, OpenBSD and
Windows. Our services include 24/7 support, consultancy, maintenance
of both hardware and software, assembly and installation of hardware,
remote and on-site support, development of scripts and software for
the machines we maintain etc. Of course we deliver hosting facilities
and space for your servers at low costs as well. Visit our websites at
<a href="http://www.technisoft.sn/">http://www.technisoft.sn</a>.
Please contact us by <a href="mailto:info@technisoft.sn">email</a>
&lt;info@technisoft.sn&gt; or by telephone: +221 - 8559900.
</description>
</entry>
<entry id="sirius" category="europe">
<name>Sirius</name>
<url>http://www.siriusit.co.uk/</url>
<description>
Sirius leads in the deployment, support and training of Open Source
technology, including FreeBSD. We support organisations across
Europe in their pursuit of innovative, versatile and robust technology
solutions without the financial burden of software licensing.
</description>
</entry>
<entry id="sectec" category="europe">
<name>Sectec</name>
<url>http://www.sectec.pl</url>
<description>
*BSD consultancy, installations and configurations. Worked for
government institutions as well as for large corporations.
Intrusion Detection Systems, firewalls, nats, proxies,
webservers, heavy load mail systems with GUI interface. Security
advisor experienced in firewalling. Training.
Telephone: +48 888 774 774, email: <a
href="mailto:admin@bmtcordah.pl">admin@bmtcordah.pl</a>
</description>
</entry>
<entry id="sheridan" category="europe">
<name>Sheridan Computers Limited</name>
<url>http://www.sheridancomputers.co.uk</url>
<description>
We offer IT consulting, systems integration, corporate information
systems and security solutions based on BSD software. For more
information, send us an <a
href="mailto:info@sheridancomputers.co.uk">email</a> or visit our
<a href="http://www.sheridancomputers.co.uk">website</a>. We
operate in the United Kingdom.
</description>
</entry>
<entry id="vocal" category="europe">
<name>S.C. vocalNET S.R.L.</name>
<url>http://www.vocal.ro</url>
<description>
Over 3 years experience with designing, installing and
maintaining (support and administration) security solutions
(firewalls, IDS and VPN's) and voice solutions over *BSD platforms.
We can secure services like mail, dns, web, ftp making them more
secure and reliable. For more information, please phone us at
+40788401422 or +40217255117, e-mail:
<a href="mailto:contact@vocal.ro">contact@vocal.ro</a>, or
<a href="http://www.vocal.ro">visit our web site</a>.
</description>
</entry>
<entry id="opensourcexperts" category="europe">
<name>Opensourcexperts</name>
<url>http://www.opensourcexperts.com</url>
<description>
opensourcexperts.com hosts one the largest (free) directories <a
href="http://www.opensourcexperts.com/Index/index_html">of
companies who support Open Source</a> software world-wide.
If you provide support for FreeBSD list yourself in their <a
href="http://www.opensourcexperts.com/Index/index_html/FreeBSD/index.html">
FreeBSD index</a>
</description>
</entry>
<entry id="mseuss" category="europe">
<name>Mseuss Unternehmensberatung</name>
<url>http://www.msuess.de</url>
<description>
Msuess Unternehmensberatung is a consulting company based in
Schwandorf (near Regensburg), Germany. As a consulting / isv
partner we are developing web-portals (using Python and ZOPE/Plone
on FreeBSD) and developing individual solutions (Python, Tcl/tk,
ADA) on FreeBSD. We also provide ZOPE administration and
consulting on FreeBSD and other *ix-like systems. We are the
main sponsor of the German <a href="http://www.freeunix.de/">
ix-wiki</a>. For more information please contact <a
href="mailto:freebsd@msuess.de">freebsd@msuess.de</a> or visit
our <a href="http://www.msuess.de/">website</a>.
</description>
</entry>
<entry id="ceintec" category="europe">
<name>Ceintec</name>
<url>http://www.ceintec.com</url>
<description>
Ceintec provides FreeBSD and unix-like operating systems learning
courses in Spain (Instructor-Led courses). We also provide
FreeBSD consulting and technical support for enterprises in Spain.
For more information visit <a
href="http://www.ceintec.com/empresas.html">
http://www.ceintec.com/empresas.html</a>
</description>
</entry>
<entry id="lori-sa" category="samerica">
<name>Lori Design</name>
<url>http://www.lori-sa.com</url>
<description>
Lori Design, based in San Jose, Costa Rica offers Web
Development, design, and custom application programming using
both open source and proprietary environments. Services also
include private consulting, emergency response coordination and
various IT solutions to maximize the effectiveness of your
business. Lori Design is a proud w3c member in Costa Rica.
</description>
</entry>
<entry id="wbpsystems" category="namerica">
<name>WBP Systems</name>
<url>http://www.wbpsystems.com/</url>
<description>
WBP Systems has a wide range of experience in a number of
disciplines. <a href="http://bi.wbpsystems.com">Business
Intelligence software</a> is created to increase the productivity of your
business. We specialize in CRM, ERP and SCM solutions. Web
portals and automation of certain business processes are also
available. The <a href="http://im.wbpsystems.com">Infrastructure
Management</a> group is designed to manage, design and create
integrated solutions for our customer's networks.
</description>
</entry>
<entry id="UnitedWare" category="namerica">
<name>UnitedWare, LLC</name>
<url>http://united-ware.com/</url>
<description>
UnitedWare, LLC is a Cincinnati, Ohio based company that provides
FreeBSD server setup and custom web and desktop applications. We
perform IT audits and solutions to identify and manage the
information needs of any business. To contact us visit our
<a href="http://united-ware.com/">website</a> or give us a call at
(513) 563-0897.
</description>
</entry>
<entry id="Triona" category="europe">
<name>Triona - Information und Technologie GmbH</name>
<url>http://www.triona.de</url>
<description>
Triona - Information und Technologie GmbH offers FreeBSD
installation and administration services, individual software
development, web-, application- and database-servers. The company
is based in Mainz, Germany. For more information contact us via
email <a href="mailto:bsd@triona.de">bsd@triona.de</a> or visit
our web site.
</description>
</entry>
<entry id="ActivSupport" category="namerica">
<name>ActivSupport, Inc.</name>
<url>http://www.activsupport.com/</url>
<description>
ActivSupport is a network consulting firm located in the San
Francisco Bay Area specializing in cross-platform environment
support including FreeBSD. ActivSupport also provides network
security, and business continuity consulting. Whether you are
looking for a certified consultant or specific technical support
solutions please contact us at 1-877.228.4863 for immediate
assistance with your technical needs, or visit our <a
href="http://www.activsupport.com/">web site</a> for more
information about services we are providing.
</description>
</entry>
<entry id="TDI" category="namerica">
<name>Tetrad Digital Integrity (TDI)</name>
<url>http://www.tdisecurity.com/</url>
<description>
TDI is an information assurance company in the Washington, DC
area and specializes in providing total security solutions in
the private and public sectors. TDI delivers an end-to-end
solution to security problems occurring in the networks of
private technology firms, the U.S. government and the military.
TDI can provide consulting services for all aspects of FreeBSD
secure enterprise deployment: desktop, server, infrastructure
(router/firewall), etc. Our website is at <a
href="http://www.tdisecurity.com">http://www.tdisecurity.com</a>
and we can be reached by email at <a
href="mailto:freebsd@tdisecurity.com">freebsd@tdisecurity.com</a>
, by phone at 202-337-5600 and by fax at 202-337-5601.
</description>
</entry>
<entry id="heritage" category="europe">
<name>Heritage Network Technologies</name>
<url>http://www.heritagenetworktechnologies.com/</url>
<description>
We are a privately owned Technology Consulting Company based in
Baltimore area. We provide support for Open Source Operating
Systems and Software, as well as training for these. We target
small to medium enterprises as well as educational institutions.
We can be reached at 301-807-0784 or by email at <a
href="mailto:service@eissaf.net">service@eissaf.net</a>.
</description>
</entry>
<entry id="BSDPIE" category="europe">
<name>BSD Professionals In Europe (BSDPIE)</name>
<url>http://bsdpie.com/</url>
<description>
We are BSD based co-operating consultants offering Consultancy,
Support, Development, Installation and Internet Services located
in Munich, Germany.
</description>
</entry>
<entry id="FalconKnight" category="namerica">
<name>Falcon Knight, Inc.</name>
<url>http://www.falconknight.com/</url>
<description>
Falcon Knight, Inc. provides FreeBSD installation, configuration,
and support from the simple to the advanced. Falcon Knight
performs large scale, load-balanced infrastructure planning and
implementations, complete with application servers and clustered
databases, all powered by FreeBSD. If your environment simply has
to be up 24x7 and you have high usage demands, call Falcon Knight
now at 877-625-9000 or email <a
href="mailto:info@falconknight.com">info@falconknight.com</a>.
</description>
</entry>
<entry id="venture37" category="europe">
<name>Venture 37</name>
<url>http://www.venture37.com/</url>
<description>
Our company provides Mail, Web and DNS hosting solutions based on
OpenBSD &amp; FreeBSD as well as Technical Support and Management
(on site or remote) for Microsoft Windows, OS X, Linux and
BSD-like operating systems. We also provide services such as
connectivity &amp; colocation in datacentres at Brighton and
London. Check out our <a href="http://www.venture37.com/">
web site</a> or contact us at <a
href="mailto:info@venture37.com">info@venture37.com</a>.
</description>
</entry>
<entry id="opensistemas" category="europe">
<name>Open Sistemas</name>
<url>http://www.opensistemas.com</url>
<description>
We are a spanish company focused on providing business consulting
and global solutions based on Open Source software and operating
systems, like FreeBSD and GNU/Linux. We offer customers and
partners our high quality services, from integration to low level
C/C++ developments, 24x7 support, and our own or third-party open
technologies. For more information contact us at <a
href="mailto:info@opensistemas.com">info@opensistemas.com</a>
, visit our <a href="http://www.opensistemas.com">web site</a> or
contact us by phone at +34 91 445 39 36.
</description>
</entry>
<entry id="ibermachines" category="europe">
<name>Ibermachines Sistemas</name>
<url>http://www.ibermachines.com</url>
<description>
Ibermachines is a spanish-based company offering open source
software solutions to small and medium size organizations. We
install, configure and maintain servers and workstations mainly
running FreeBSD and GNU/Linux. Also mail, web, intranet, fax,
file and printing solutions are popular between our customers.
</description>
</entry>
<entry id="cts" category="europe">
<name>CTS Consulting and Trade Service</name>
<url>http://www.ctseuro.com</url>
<description>
CTS Consulting &amp; Trade Service is a full service Consultant
and Supplier for pre-installed FreeBSD Servers. We ship
Firewalls, Internet Gateways, Mail Systems with virus protection,
realtime http scanner, File and Print Servers. Network planning
and implementation of WANS with IPSEC tunneling, Samba and
Hylafax installations. Founded in 1985 with Unix and Mainframe
experience since 1978. We are based in Salzburg and Vienna,
Austria and have customer references throughout Europe and
Eastern Europe ranging from 5 to 60000 Users. We are also
shipping pre-installed Asterisk Telephone Systems and have best
the references with it.
</description>
</entry>
<entry id="jcr" category="samerica">
<name>JCR Engenharia de Sistemas</name>
<url>http://www.jcrengenharia.com.br/</url>
<description>
JCR Engenharia has more than 10 years experience in developing
FreeBSD solutions, like firewalls, Internet Servers, cluster
solutions and more. We are located in Salvador, Brazil.
</description>
</entry>
<entry id="fortuitous" category="namerica">
<name>Fortuitous Technologies</name>
<url>http://fortuitous.com</url>
<description>
Fortuitous Technologies provides Performance Tuning, Capacity
Planning, System Design, Network Design and security services
for FreeBSD, Linux, and Unix systems worldwide. We cover Cloud,
Grid, and Multi-tiered systems of all types. Contact us at <a
href="http://fortuitous.com">http://Fortuitous.com</a> for
further information.
</description>
</entry>
<entry id="netfence" category="europe">
<name>NetFence</name>
<url>http://www.netfence.it</url>
<description>
NetFence deploys and maintains Internet/intranet servers based on
FreeBSD and other open source software (including Apache web
server, Squid, Samba, Cyrus IMAP, PostgreSQL, OpenVPN and others).
Network and client-side hardware/software/support is also offered,
as well as custom programming and security coverage. It is
located in Bologna, Italy and can be reached at <a
href="mailto:freebsd@netfence.it">freebsd@netfence.it</a>.
</description>
</entry>
<entry id="unixconsulting" category="europe">
<name>Unix Consulting</name>
<url>http://www.unixconsulting.info</url>
<description>
Based in London, England, we are focused on BSD/Linux and Open
Source consultancy and support. Whether your business already
runs Linux/FreeBSD/NetBSD/OpenBSD or you are considering the
introduction of Open Source technology, <a
href="http://www.unixconsulting.info/">Unix Consulting</a> can
help you every step of the way.
</description>
</entry>
<entry id="tc21" category="namerica">
<name>Techno Centre Logiciels Libres (TC2L)</name>
<url>http://www.tc2l.ca/</url>
<description>
TC2L is pioneers the IT industry by offering businesses and public
institutions the first one-stop shop for services, open source
software, and hardware to meet all IT needs. Our approach is
based on a unified network of technical and strategic high level
partners for service throughout Quebec. TC2L provides all the
support you need for easy migration to FLOSS (including special
attention to FreeBSD). From planning and implementation to
training and technical support, we provide comprehensive service.
User support has always been TC2L's top priority. As such, we
have shared our expertise in FLOSS and computer problem solving
abilities with the Government and large companies country-wide.
</description>
</entry>
<entry id="flozer" category="europe">
<name>Flozer</name>
<url>http://www.flozer.com</url>
<description>
Spanish company focused on providing solutions and services based
on FLOSS software and operating systems with FreeBSD, OpenBSD and
GNU/Linux. We offer customers and partners our solutions and
services (consultance, development, migrations, virtualization,
support). For more information contact us at <a
href="mailto:contacto@flozer.com">contacto@flazer.com</a> or
visit our <a href="http://www.flozer.com">web site </a>.
</description>
</entry>
<entry id="ironkeep" category="namerica">
<name>Ironkeep Technologies L.L.C.</name>
<url>http://www.ironkeep.net</url>
<description>
Ironkeep Technologies is a Traverse City based consulting firm,
specializing in internet solutions, networks, vpns, software
development, programming, web development, web design,
application development, web hosting, consulting, and open
source software including FreeBSD.
</description>
</entry>
<entry id="nihonsoft" category="asia">
<name>nihonsoft LLC.</name>
<url>http://www.nihonsoft.com/</url>
<description>
We provide consulting in English and Japanese to help your
business get started in Japan. We especially like to help FOSS
companies set up branches in Japan, and promote the use of FOSS
systems such as Debian, Ubuntu, FreeBSD, OpenBSD and NetBSD
throughout industries and schools in Japan.
</description>
</entry>
<entry id="techneticsdatarecovery" category="australia">
<name>Technetics Data Recovery</name>
<url>http://www.techneticsdata.com.au/</url>
<description>
Technetics Data Recovery is one of the leading data recovery
labs in Australia. With many years of experience in the data recovery
industry we are the experts you can rely on in the event of data loss.
</description>
</entry>
<entry id="ethon" category="europe">
<name>Ethon Technologies GmbH</name>
<url>http://www.ethon.de</url>
<description>
Ethon Technologies GmbH -- located in Munich, Germany -- has a
strong focus on BSD driven solutions. We offer professional
consulting services as well as BSD based telecommunication
systems, ranging from basic PBX to telco solutions up to
10.000.000 users. Feel free to contact us at
<a href="mailto:info@ethon.de">info@ethon.de</a> or drop us a
voicemail: +49.89.255456.0
</description>
</entry>
<entry id="mosman" category="samerica">
<name>Mosman Consultoria e Desenvolvimento</name>
<url>http://www.mosman.com.br</url>
<description>
Mosman Consultoria e Desenvolvimento works at the development of
a FreeBSD based ISP management solution called VirtexAdmin.
</description>
</entry>
<entry id="ish" category="australia">
<name>Ish Pty. Ltd.</name>
<url>http://www.ish.com.au</url>
<description>
Ish provides IT management, network security, FreeBSD and MacOS X
system administration services in Sydney, Australia. We have
designed and implemented BSD-based computer systems for a wide variety
of commercial customers, and we're available to provide troubleshooting
and advice for system administrators. As a developer of web sites, our
Java/WebObjects-based services are all hosted on FreeBSD servers. Please
call us for a chat on +612 9550 5001,
<a href="mailto:info@ish.com.au">e-mail us</a> or
<a href="http://www.ish.com.au/products/unix">visit our web site</a>.
</description>
</entry>
<entry id="itinfusion" category="namerica">
<name>IT Infusion Inc.</name>
<url>http://www.itinfusion.ca</url>
<description>
IT Infusion Inc. is a consulting firm based in Calgary, Alberta that has
been serving clients in the US and Canada since 1998. We have expertise
in FreeBSD, Linux, thin client implementations, Windows integration,
Enterprise e-mail systems, PHP/MySQL web development, and the deployment
of a wide range of Open Source software solutions. For more information,
please <a href="http://www.itinfusion.ca">visit our website</a> or drop
us an e-mail at
<a href="mailto:casey@itinfusion.ca">casey@itinfusion.ca</a>.
</description>
</entry>
<entry id="zelites" category="europe">
<name>Zelites</name>
<url>http://www.zelites.org</url>
<description>
Zelites is a company based in Le Mans, France. We offer many
services: Support, installation, maintenance, administration,
configuration of servers like firewall, VPN, IDS, web server, mail
server, DNS or whatever you need. Our services offerings include
a high-level of security. Our knowledge of *BSD (like FreeBSD,
OpenBSD, NetBSD ..), Linux, MacOS and commercial Unix systems is
wide and is your guaranty. For more information, visit our
<a href="http://www.zelites.org"
title="Zelites, Prestataire FreeBSD">website</a>,
<a href="mailto:info@zelites.org">mail us</a> or phone us at
+33 (0) 2 43 46 94 24.
</description>
</entry>
<entry id="hamburgnet" category="europe">
<name>Hamburgnet</name>
<url>http://www.hamburgnet.de</url>
<description>
Hamburgnet provides you with experience in FreeBSD and OpenBSD
based projects. From low-end webservers to high-end firewall
and database clusters. Storage, server, Unix, cluster &amp; consulting.
You can visit our <a href="http://www.hamburgnet.de">website</a>,
<a href="mailto:info@hamburgnet.de">mail us</a>, phone us at
+49 (40) 73672322 or contact us via fax at +49 (40) 73672321.
</description>
</entry>
<entry id="lifebiscuit" category="australia">
<name>LifeBiscuit Technology</name>
<url>http://lifebiscuit.com</url>
<description>
LifeBiscuit Technology is a Sydney based company providing technology
consulting and outsourcing services for small businesses in
Australia. We provide support for open source environments:
FreeBSD, Linux, OpenBSD and NetBSD.
</description>
</entry>
<entry id="osbty" category="australia">
<name>OsBTI Pty. Ltd.</name>
<url>http://www.osbti.com.au</url>
<description>
One of our specialities is the support, administration and
installation of FreeBSD in SME Server Environments. Through our team of
technicians, we provide support both onsite and remotely to both
Australia and small select international clients.
</description>
</entry>
<entry id="tecno21" category="samerica">
<name>Tecno21 - Openservices</name>
<url>http://www.tecno21.com.br/FreeBSD/</url>
<description>
We provide setup and support for FreeBSD, OpenBSD and Linux. We have 10+
years experience with open source softwares on corporate and SMB
customers. We offer custom applications (C/C++/Java/C#),
network infrastructure design, security, audit and smartcard solutions.
Contact us via <a href="mailto:suporte@tecno21.com.br">e-mail</a> or
by phone at +55 (11) 3825-2472.
</description>
</entry>
<entry id="cybersecure" category="australia">
<name>CyberSecure Pty Ltd</name>
<url>http://www.cybersecure.com.au/</url>
<description>
CyberSecure specialises in offsite data backup, managed firewalls and
BSD consulting with an emphasis on quality and security.
</description>
</entry>
<entry id="pate" category="namerica">
<name>Pate Consulting, Inc.</name>
<url>http://www.pateconsulting.com/</url>
<description>
We specialize in providing solid open source solutions for businesses
using OpenBSD, FreeBSD, and Linux. 6 years in business. 12 years of
experience - MCSE, CCNA, RHCE certifications - Also MySQL, PostgreSQL.
VPNs, firewalls, wireless, DNS, squidGuard, mail - even training with
FreeBSD. You can contact us via <a
href="mailto:info@pateconsulting.com">e-mail</a>, call us at
713.333.5468 or send us a fax at 713.333.5494.
</description>
</entry>
<entry id="seciongmbh" category="europe">
<name>secion GmbH</name>
<url>http://www.secion.de/</url>
<description>
secion GmbH is an IT service and consulting company located
in Hamburg, Germany. With our long-term experience in *BSD,
Linux and Unix, as well as in-depth Windows knowledge, we
deliver commercial-grade services in designing, implementing
and administering server, client and network infrastructures.
Our skills includes database-, web- and network/communication
programming in large IT and Telco environments. One of our main
work areas is also designing and setting up larger IPSec VPNs,
security systems, firewall concepts and communication systems.
For more information call us at +49-40-389071-0 or visit our
<a href="http://www.secion.de/">web site</a>.
</description>
</entry>
<entry id="recoverdata" category="australia">
<name>Recover Data</name>
<url>http://www.recoverdata.com.au</url>
<description>
Recover Data supports hard drive repair for data recovery. With
over 10 years experience, our data recovery services are second to
none. Specialising in recovering data for data recovery companies
and RAID configurations.
</description>
</entry>
<entry id="webangel" category="europe">
<name>Webangel</name>
<url>http://www.webangel.ie/</url>
<description>
Webangel is a company working with open-source operating system
and software from the beginning.
We offer
<a href="http://www.webangel.ie/consultancy">consultancy</a>,
<a href="http://www.webangel.ie/linux">support</a>,
<a href="http://www.webangel.ie/webapp/webapps">development</a>,
<a href="http://www.webangel.ie/opensource/ostraining">training</a>
and remote administration services.
You can reach us by <a href="mailto:office@webangel.ie">email</a>
or phone: +353&nbsp;85&nbsp;157&nbsp;04&nbsp;61.
We are based in Rathcoole, Co. Dublin Ireland.
</description>
</entry>
<entry id="remsys" category="asia">
<name>REMSYS</name>
<url>http://www.remsys.net</url>
<description>
<a href="http://www.remsys.net">REMSYS</a>, based in Chisinau,
Moldova, provides and specializes in support and consulting for
FreeBSD, BSDi, Linux and other Unix variants. We are dedicated
to offering solutions for desktop and server environments. We
can help installing, configuring, system administration (Exim,
SMTP, Database, Webhosting, DNS, Apache Webstats etc.) Our
experience covers the most important branches of current IT
industry, from routine of server management, security audits and
updates, to high performance computing, mitigating attacks and
recovering data from crashed file systems. We offer you up to
date solutions for remote systems management, keeping your
network equipment up and operational 24 hours a day. For more
information please visit our
<a href="http://www.remsys.net">web site</a> or contact us at
<a href="mailto:info@remsys.net">info@remsys.net</a> or call us
at +373 22 23-20-70, +373 79-40-63-09.
</description>
</entry>
<entry id="collinssystems" category="namerica">
<name>Collins Systems Solutions Inc.</name>
<url>http://www.csystems.ca</url>
<description>
Collins Systems Solutions Inc. is a Toronto, Ontario Canada
based consulting firm specializing in the design, implementation,
and support of all things UNIX including Solaris, FreeBSD,
OpenBSD, all major Linux distributions, and Microsoft Windows
operating environments. Collins Systems has specialized skills
in system administration, security, network design, system
integration, network/server/application management and service
monitoring. Remote administration is the key to providing our
customers all over the world with the most efficient and effective
service. For more information, email us at
<a href="mailto:info@csystems.ca">info@csystems.ca</a>.
</description>
</entry>
<entry id="firmbit" category="namerica">
<name>FirmbIT</name>
<url>http://www.firmbit.com/index.php</url>
<description>
FirmbIT is a high quality server management and security company
providing friendly reliable support specializing in high security
installations and scalable solutions with support for FreeBSD,
OpenBSD, NetBSD, Redhat, Fedora, CentOS, Debian, Slackware, Gentoo,
SuSe, Mandrake and Sun Solaris servers.
</description>
</entry>
<entry id="networkadvantage" category="namerica">
<name>Network Advantage LLC</name>
<url>http://net-vantage.com/</url>
<description>
We strive to bring the same technology advantages enjoyed by large
organizations to small and medium-sized businesses, schools, and
non-profits, at a realistic and practical cost. FreeBSD running SAMBA,
Apache, MySQL, PHP, sql-ledger, KDE, and many other applications is often
the central ingredient of this solution. Please email <a
href="mailto:roy@net-vantage.com">us</a> for free initial consultation.
</description>
</entry>
<entry id="nullcube" category="australia">
<name>Nullcube Pty Ltd</name>
<url>http://www.nullcube.com.au/</url>
<description>
Nullcube provides services to organisations with exceptional
security needs. We use FreeBSD, OpenBSD and Linux to develop and
support network architectures for security-sensitive environments,
including firewalls, VPNs, proxies, and IDS / IPS solutions. We
also provide IT security auditing, penetration testing, risk
management, and incident response services.
Call +61&nbsp;1300&nbsp;767&nbsp;007 or send an email to <a
href="mailto:info@nullcube.com">info@nullcube.com</a> for free
initial consultation.
</description>
</entry>
<entry id="esystems" category="europe">
<name>E-Systems</name>
<url>http://www.e-systems.pl/</url>
<description>
We provide open source solutions for the small companies in Wroclaw,
Poland. We are specialized in servers (*BSD, Linux).
</description>
</entry>
<entry id="giganetworking" category="namerica">
<name>Giganetworking</name>
<url>http://www.giganetworking.com</url>
<description>
Consulting in the areas of Internet security and data defense
mainly with open source software. Particular knowledge of
firewalls, internet applications, Mail, Proxy Servers, IDS and
network administration. Have developed a range of
routers/appliances based on Linux/BSD. For more questions please
visit our <a href="http://www.giganetworking.com">web site</a>.
</description>
</entry>
<entry id="eden-fx" category="asia">
<name>EDEN-FX</name>
<url>http://www.eden-fx.com</url>
<description>
EDEN-FX is a company which develops high class technology. Founded
in 1999, we are working with a team of highly qualified professionals
specializing in hard and software engineering. We have broad
experience with the FreeBSD operating system. EDEN-FX solutions
manufactures firewalls, wireless engineering and develops network
technologies.
</description>
</entry>
<entry id="zero-penalty" category="namerica">
<name>Zero Penalty</name>
<url>http://zeropenalty.com/</url>
<description>
Located in the city of Toronto Canada, Zero Penalty is well positioned
to service clients within Canada and abroad who require Technology
Consulting services. Though focused on technology infrastructure
services, Zero Penalty offers a variety of products and services that
include Telephony Services including VOIP Deployment and Management,
Network Design, Build and Management, System Support, including Desktop
Support, Hosting and Colocation.<br/>
Offshore Services is one of our core strengths, including Infrastructure
Management, Monitoring and Deployment. Businesses that require offshore
hosting and services will benefit from our expertise in working with
international telecom providers, and our understanding of the
international IT landscape.<br/>
At Zero Penalty, we strive to make our clients comfortable with the
choices they make, provide value, and quality products and services.
Contact us today to start a relationship that will help your business
strive in its IT requirements.
</description>
</entry>
<entry id="osc" category="europe">
<name>OSC Services</name>
<url>http://www.orsec.fr/</url>
<description>
We proivde technical support and expertise, around opensource software
technologies, security and network solutions.
</description>
</entry>
<entry id="osre" category="namerica">
<name>Open Software Research and Education (OSRE)</name>
<url>http://www.osre.org/</url>
<description>
Open Software Research and Education (OSRE) is a comprehensive entity
providing open infrastructure design, development, deployment,
maintenance and training. We have extensive experience with FreeBSD
and most other open source operating systems. We are located in
Longview, Texas and provide both on-site and remote support at
affordable rates. Please visit our <a
href="http://www.osre.org">website</a> for more information or call us
toll-free at 1.866.235.1288.
</description>
</entry>
<entry id="oullet" category="namerica">
<name>Ouellet Consulting Inc.</name>
<url>http://sirius.danosoft.com/oci/index.html</url>
<description>
OCI specialize in systems/networks design, implementation and security
solutions, including solutions meeting HIPPA requirements. We spec out,
configure and support firewalls, proxy-arrays, servers, switches, mail
systems, web servers, databases, etc. We are familiar with and support
most Windows and Unix/Linux systems including FreeBSD. We offer remote
administration services worldwide, on all supported platforms. We plan
and assist with Active Directory migrations. For more information
please contact us via <a href="mailto:info@danosoft.com">e-mail</a> or
call us +1-850-510-6162. Please see <a
href="http://sirius.danosoft.com/oci/index.html">our website</a> for
complete details on what we offer.
</description>
</entry>
<entry id="wetinet" category="europe">
<name>WeTi.NeT</name>
<url>http://www.weti.net</url>
<description>
WeTi.NeT - Limberger HandelsgesmbH is a full service Consultant
and Supplier for pre-installed FreeBSD Servers. We ship Firewalls,
Internet Gateways, Mail Systems with virus protection, realtime
http scanner, File and Print Servers. Network planning and
implementation of WANS with IPSEC tunneling, Samba and Hylafax
installations. Founded in 1977 with Unix and Novell experience
since more than 30 years. We are based in Bad Goisern and Salzburg,
Austria and have customer references throughout Austria, Switzerland,
the Netherlands and Germany ranging from 5 to 60000 Users. We are
also shipping pre-installed Asterisk Telephone Systems and have best
the references with it.
</description>
</entry>
<entry id="handtake" category="europe">
<name>HANDTAKE GmbH</name>
<url>http://www.handtake.de</url>
<description>
HANDTAKE GmbH is a service provider for Open Source solutions
based in Munich. We provide a full range of services (consulting
services, system administration, support, programming) for Linux,
*BSD and other Open Source software. For further information
please contact
<a href="mailto:freebsd@handtake.de">freebsd@handtake.de</a> or
visit our website <a href="http://www.handtake.de">www.handtake.de</a>
</description>
</entry>
<entry id="mivitec" category="europe">
<name>MIVITEC GmbH Niederlassung Muenchen</name>
<url>http://www.mivitec.de</url>
<description>
"MIVITEC GmbH Niederlassung Muenchen" is a provides full redundant
hosting infrastructure in 3 datacenters in Munich. For our client
we provide IT management, network security, Linux, BSD and MacOS X
system administration services. We have big experience of
implementing high availability services, cluster systems and
hosting infrastructures. These services are provided for clients
in our datacenters as well as in your company's datacenter, even
in other cities in Germany and Austria. For more information
please call us at +49 89 420797870, send us an email:
<a href="mailto:freebsd@mivitec.de">freebsd@mivitec.de</a> or
visit our website <a href="http://www.mivitec.de">www.mivitec.de</a>.
You are also invited to visit us in Munich, so that we can
discuss your FreeBSD based projects.
</description>
</entry>
<entry id="corbesero" category="namerica">
<name>Stephen Corbesero</name>
<url>mailto:corbesero@fast.net</url>
<description>
Stephen Corbesero has over 20 years of software and hardware computing
experience in various flavors of Unix (FreeBSD since 2.2, SunOS, Solaris,
...), C and C++, Perl, databases, networking, etc. He can provide system
and network configuration and administration, some custom programming in
the above languages, troubleshooting and repair. He is located in
Eastern Pennsylvania. Please email <a
href="mailto:corbesero@fast.net">him</a> for more information.
</description>
</entry>
<entry id="hahnefeld" category="europe">
<name>bj&ouml;rn hahnefeld IT</name>
<url>http://www.hahnefeld.de</url>
<description>
We are a company for Software-Engineering and a Hosting- and
Server-Solutions provider (Web-, Application-, Database-servers)
for Germany, Austria and Switzerland. We are experienced in the
installation and administration of BSD and Linux systems. Our
software experience is with PHP, Perl and SQL and we speak English
and German. We are located in Regensburg, Germany. Please email
<a href="mailto:info@hahnefeld.de">info@hahnefeld.de</a> for more
information.
</description>
</entry>
<entry id="paxym" category="namerica">
<name>Paxym</name>
<url>http://www.paxym.com</url>
<description>
Paxym's Highly Skilled team provides software development and
consulting services in the areas of Kernels, Bootloaders for new
CPUs &amp; Boards, Network Security Applications, Storage
Appliances and Performance tuning of embedded SW and
Network/Storage/Security Applications. Paxym provides FreeBSD
SMP for OCTEON (Multicore Mips64 CPU from Cavium Networks). The
port is extensively tested with OpenPosix, Apache WebBench,
UnixBench, MySQL Sysbench, OHCP, Netperf, FreeNAS for stability
and functional completeness. Stable port based on FreeBSD 7.0 is
targeted for Network, Security and Storage Applications. Multiple
cores, from 1-16 can be used in SMP mode. Supports Dynamic &amp;
Static Linking models, o32, n64 &amp; n32 ABI. Root filesystem
can be embedded in kernel memory or put on Compact-Flash/NFS.
libthr for POSIX pthreads. Paxym's team has had extensive
experience with Multi-core Mips (Octeon), PPC and x86 CPUs.
Working on these from Rom-Monitors, boot-loaders, Operating
Systems, Network Stacks, Storage protocols, Device Drivers,
Security Algorithms and Embedded Applications. Paxym has been
working closely on FreeBSD, Linux and proprietary OS environments.
For more information, visit
<a href="http://www.paxym.com">http://www.paxym.com/</a>
</description>
</entry>
<entry id="pontosi" category="europe">
<name>PontoSI</name>
<url>http://www.pontosi.pt</url>
<description>
PontoSI is portuguese company based in Vila Nova de Gaia. We are
specialized in FreeBSD and OpenBSD solutions and services.
Please visit our website at http://www.pontosi.pt or contact us
via email geral@pontosi.pt
</description>
</entry>
<entry id="mejojose" category="asia">
<name>Mejo Jose</name>
<url>http://www.kannayath.com</url>
<description>
Open source technology consultant based in Dubai, UAE. More
information on the website -
<a href="http://www.kannayath.com">www.kannayath.com</a>
</description>
</entry>
<entry id="interfuture" category="europe">
<name>Interfuture Systems Ltd</name>
<url>http://www.interfuture.co.uk</url>
<description>
Interfuture is an UK company offering a full range of UNIX
consultancy, from desktop installation and support through to
mission-critical server support and troubleshooting. One of our
specialist areas and preferred operating systems is FreeBSD.
Visit our website for more information:
<a href="http://www.interfuture.co.uk/specialists/unix.php">http://www.interfuture.co.uk/specialists/unix.php</a>
or call +44 203 002 2111.
</description>
</entry>
<entry id="senseofsecurity" category="australia">
<name>Sense of Security Pty Ltd</name>
<url>http://www.senseofsecurity.com.au/</url>
<description>
Sense of Security is an Australian provider of Free BSD and Unix
consulting services. We have a strong focus on building secure
networks and systems, including firewalls, VPNs, web servers, etc.
We are also experts at conducting security review, audit,
penetration testing, and assessment services.
</description>
</entry>
<entry id="opentech" category="europe">
<name>Open Tech SmbA</name>
<url>http://www.opentech.dk</url>
<description>
Open Tech SmbA is a Danish consultancy, that can help your business
ensure and optimize production performance through a good practice
of system and network administration of its information technology.
Our office is located in Herlev, Copenhagen, Denmark. We can be
reached by phone at +45 43 62 22 88 and by electronic mail to
<a href="mailto:opentech@opentech.dk">opentech@opentech.dk</a>. Visit our
website at <a href="http://www.opentech.dk">www.opentech.dk</a> and
stay updated with announcements, technical procedures, system
administration tasks, that we can do for you, contact details,
business conditions and much more. Open Tech SmbA is a legally
approved and registered company in Denmark.
</description>
</entry>
<entry id="jmbg" category="namerica">
<name>The JMBG Network</name>
<url>http://www.jmbg.net</url>
<description>
We believe in quality, reliable and innovative solutions &ndash;
so naturally we love FreeBSD. We are a Canadian electronic
solutions provider servicing mainly South-Western Ontario. We
also provide some solutions to clients in Canada and the United
States. We offer a wide range of electronic solutions including
consulting services and we most definitely support and recommend
FreeBSD.
</description>
</entry>
</entries>
Index: projects/zfsupdate-201307/share/xml/events2013.xml
===================================================================
--- projects/zfsupdate-201307/share/xml/events2013.xml (revision 42803)
+++ projects/zfsupdate-201307/share/xml/events2013.xml (revision 42804)
@@ -1,185 +1,185 @@
<?xml version="1.0"?>
<!DOCTYPE events PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for Events//EN"
"http://www.FreeBSD.org/XML/www/share/xml/events.dtd">
<!--
Events which might be interesting for FreeBSD users.
Please sort the events by start date, with recent events earlier in the file.
-->
<events>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">
$FreeBSD$
</cvs:keyword>
<event id="asiabsdcon-2013">
<name>AsiaBSDCon 2013</name>
<url>http://2013.asiabsdcon.org/</url>
<startdate>
<year>2013</year>
<month>3</month>
<day>14</day>
</startdate>
<enddate>
<year>2013</year>
<month>3</month>
<day>17</day>
</enddate>
<location>
<country code="JP">Japan</country>
<city>Tokyo</city>
<site>Tokyo University of Science</site>
</location>
<description>AsiaBSDCon is a conference for users and developers
on BSD based systems. The conference is for anyone developing,
deploying and using systems based on FreeBSD, NetBSD, OpenBSD,
DragonFlyBSD, Darwin and MacOS X. AsiaBSDCon is a technical
conference and aims to collect the best technical papers and
presentations available to ensure that the latest developments
in our open source community are shared with the widest possible
audience.
</description>
</event>
<event id="bsdday-2013">
<name>Central European BSD-Day 2013</name>
<url>http://bsdday.eu/2013</url>
<startdate>
<year>2013</year>
<month>4</month>
<day>6</day>
</startdate>
<enddate>
<year>2013</year>
<month>4</month>
<day>6</day>
</enddate>
<location>
<country code="IT">Italy</country>
<city>Naples</city>
<site>Institute of Biostructures and Bioimaging</site>
</location>
<description>Watch out, another BSD-Day is rising: next April
Beastie visits Naples to gather BSD people of Italy and Central
Europe to meet up! This event is an excellent opportunity for
BSD developers and enthusiasts to present their work to larger
audiences, share their thoughts with their fellows and reach out
for their potential partners. Traditionally, the event tries to
avoid formalities as it does not require the speakers to submit
papers or the attendees to register or pay an entry fee.
However, the invited folks are encouraged to a give a brief talk
on their favorite BSD topic. The goal is to motivate everybody,
especially university students to see the benefits of our
approach and take a chance on working with BSD
systems.</description>
</event>
<event id="bsdcan-2013">
<name>BSDCan 2013</name>
<url>http://www.bsdcan.org/</url>
<startdate>
<year>2013</year>
<month>5</month>
<day>15</day>
</startdate>
<enddate>
<year>2013</year>
<month>5</month>
<day>18</day>
</enddate>
<location>
<country code="CA">Canada</country>
<city>Ottawa</city>
<site>University of Ottawa</site>
</location>
<link type="other">
<name>YouTube Playlist of Presentation Videos</name>
<url>https://www.youtube.com/playlist?list=PLWW0CjV-TafZN1ArKy3j6X7YJ57_FFQ5e</url>
</link>
<description>BSDCan is a developers conference with a strong focus
on emerging technologies, research projects, and works in
progress. It also features Userland infrastructure projects and
invites contributions from both free software developers and those
from commercial vendors.</description>
</event>
<event id="kyivbsd-2013">
<name>KyivBSD 2013</name>
<url>http://en.kyivbsd.org.ua/</url>
<startdate>
<year>2013</year>
<month>9</month>
<day>21</day>
</startdate>
<enddate>
<year>2013</year>
<month>9</month>
<day>21</day>
</enddate>
<location>
<country code="UA">Ukraine</country>
<city>Kyiv</city>
<site>Taras Shevchenko National University of Kyiv</site>
</location>
<description>We are glad to invite all to the fifth conference
placed in Kyiv! Kyiv is both historical landmark and urbanistic
city with many people interested in open source in general.
It is a good choice for local and foreign developers
to attend.</description>
</event>
<event id="eurobsdcon-2013">
<name>EuroBSDcon 2013</name>
<url>http://2013.eurobsdcon.org/</url>
<startdate>
<year>2013</year>
<month>9</month>
<day>26</day>
</startdate>
<enddate>
<year>2013</year>
<month>9</month>
<day>29</day>
</enddate>
<location>
<country code="MT">Malta</country>
<city>St. Julian's</city>
<site>Hilton Conference Centre</site>
</location>
<description>We are happy to announce that the EuroBSDcon 2013
will be held on Saturday 28th and Sunday 29th of September 2013
(tutorials on Thursday 26th and Friday 27th) on Malta
(St. Julian's area). The weather is great at about 26&deg;C
during the day and 20&deg;C at night. The ocean is still warm
from summer. Consider taking you family, wife, kids and spouse
with you for a long weekend. The social event on Saturday
evening will be a BBQ at a beautiful sandy beach. Family is
invited too and children attend for free. A side program with
sight seeing and a tour of the island is being organized at
cost.</description>
</event>
<event id="vbsdcon-2013">
<name>vBSDCon 2013</name>
<url>http://www.vbsdcon.com/</url>
<startdate>
<year>2013</year>
<month>10</month>
<day>25</day>
</startdate>
<enddate>
<year>2013</year>
<month>10</month>
<day>27</day>
</enddate>
<location>
<country code="US">United States</country>
- <city>Dullas</city>
+ <city>Dulles</city>
<site>Dulles Hyatt</site>
</location>
<description>This exciting weekend will bring together members of
the BSD community for a series of roundtable discussions,
educational sessions, best practice conversations, and exclusive
networking opportunities.</description>
</event>
</events>
Index: projects/zfsupdate-201307/share/xml/mirrors.xml
===================================================================
--- projects/zfsupdate-201307/share/xml/mirrors.xml (revision 42803)
+++ projects/zfsupdate-201307/share/xml/mirrors.xml (revision 42804)
@@ -1,1445 +1,1413 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE mirrors PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for Mirrors//EN"
"http://www.FreeBSD.org/XML/www/share/xml/mirrors.dtd">
<mirrors>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">
$FreeBSD$
</cvs:keyword>
<entry id="central">
<country role="primary">Central Servers</country>
<host type="www">
<name>www.FreeBSD.org</name>
<url proto="http">http://www.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6"></url>
<url proto="http">http://ftp.FreeBSD.org/pub/FreeBSD/</url>
<url proto="httpv6">http://ftp.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.FreeBSD.org</name>
</host>
</entry>
<entry id="mirrors-primary">
<country role="primary">Primary Mirror Sites</country>
<host type="ftp">
<name>ftp1.FreeBSD.org</name>
<url proto="ftp">ftp://ftp1.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp2.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp3.FreeBSD.org</name>
<url proto="ftp">ftp://ftp3.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp4.FreeBSD.org</name>
<url proto="ftp">ftp://ftp4.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6"></url>
<url proto="http">http://ftp4.FreeBSD.org/pub/FreeBSD/</url>
<url proto="httpv6">http://ftp4.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp5.FreeBSD.org</name>
<url proto="ftp">ftp://ftp5.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp6.FreeBSD.org</name>
<url proto="ftp">ftp://ftp6.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp7.FreeBSD.org</name>
<url proto="ftp">ftp://ftp7.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp10.FreeBSD.org</name>
<url proto="ftp">ftp://ftp10.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6"></url>
<url proto="http">http://ftp10.FreeBSD.org/pub/FreeBSD/</url>
<url proto="httpv6">http://ftp10.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp11.FreeBSD.org</name>
<url proto="ftp">ftp://ftp11.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp13.FreeBSD.org</name>
<url proto="ftp">ftp://ftp13.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp14.FreeBSD.org</name>
<url proto="ftp">ftp://ftp14.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp14.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup1.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup3.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup4.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup5.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup6.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup7.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup9.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup10.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup11.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup12.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup14.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup15.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup18.FreeBSD.org</name>
</host>
<email>mirror-admin@FreeBSD.org</email>
</entry>
<entry id="mirrors-am">
<country>Armenia</country>
<host type="www">
<name>www1.am.FreeBSD.org</name>
<url proto="http">http://www1.am.FreeBSD.org/</url>
<url proto="httpv6">http://www1.am.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp1.am.FreeBSD.org</name>
<url proto="ftp">ftp://ftp1.am.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp1.am.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
</host>
<host type="cvsup">
<name>cvsup1.am.FreeBSD.org</name>
</host>
<email>hostmaster@am.FreeBSD.org</email>
</entry>
<entry id="mirrors-au">
<country>Australia</country>
<host type="www">
<name>www.au.FreeBSD.org</name>
<url proto="http">http://www.au.FreeBSD.org/</url>
</host>
<host type="www">
<name>www2.au.FreeBSD.org</name>
<url proto="http">http://www2.au.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.au.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.au.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp2.au.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.au.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp3.au.FreeBSD.org</name>
<url proto="ftp">ftp://ftp3.au.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.au.FreeBSD.org</name>
</host>
<email>hostmaster@au.FreeBSD.org</email>
</entry>
<entry id="mirrors-at">
<country>Austria</country>
<host type="www">
<name>www.at.FreeBSD.org</name>
<url proto="http">http://www.at.FreeBSD.org/</url>
<url proto="httpv6">http://www.at.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.at.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.at.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6"></url>
<url proto="http">http://ftp.at.FreeBSD.org/pub/FreeBSD/</url>
<url proto="httpv6">http://ftp.at.FreeBSD.org/pub/FreeBSD/</url>
</host>
<email>hostmaster@at.FreeBSD.org</email>
</entry>
<entry id="mirrors-br">
<country>Brazil</country>
<host type="ftp">
<name>ftp2.br.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.br.FreeBSD.org/FreeBSD/</url>
<url proto="http">http://ftp2.br.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp3.br.FreeBSD.org</name>
<url proto="ftp">ftp://ftp3.br.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
</host>
<host type="ftp">
<name>ftp4.br.FreeBSD.org</name>
<url proto="ftp">ftp://ftp4.br.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup2.br.FreeBSD.org</name>
</host>
<email>hostmaster@br.FreeBSD.org</email>
</entry>
<entry id="mirrors-ca">
<country>Canada</country>
<host type="www">
<name>www.ca.FreeBSD.org</name>
<url proto="http">http://www.ca.FreeBSD.org/</url>
</host>
<host type="www">
<name>www2.ca.FreeBSD.org</name>
<url proto="http">http://www2.ca.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.ca.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.ca.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp2.ca.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.ca.FreeBSD.org/pub/FreeBSD/</url>
</host>
<!--
<host type="ftp">
<name>ftp3.ca.FreeBSD.org</name>
<url proto="ftp">ftp://ftp3.ca.FreeBSD.org/pub/FreeBSD/</url>
</host>
-->
<email>hostmaster@ca.FreeBSD.org</email>
</entry>
<entry id="mirrors-cn">
<country>China</country>
<host type="ftp">
<name>ftp.cn.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/</url>
</host>
<email>hostmaster@cn.FreeBSD.org</email>
</entry>
<entry id="mirrors-cz">
<country>Czech Republic</country>
<host type="www">
<name>www.cz.FreeBSD.org</name>
<url proto="http">http://www.cz.FreeBSD.org/</url>
<url proto="httpv6">http://www.cz.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.cz.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.cz.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6">ftp://ftp.cz.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp.cz.FreeBSD.org/pub/FreeBSD/</url>
<url proto="httpv6">http://ftp.cz.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
<url proto="rsyncv6"></url>
</host>
<host type="ftp">
<name>ftp2.cz.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.cz.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp2.cz.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.cz.FreeBSD.org</name>
</host>
<email>hostmaster@cz.FreeBSD.org</email>
</entry>
<entry id="mirrors-dk">
<country>Denmark</country>
<host type="www">
<name>www.dk.FreeBSD.org</name>
<url proto="http">http://www.dk.FreeBSD.org/</url>
<url proto="httpv6">http://www.dk.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.dk.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.dk.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6"></url>
<url proto="http">http://ftp.dk.FreeBSD.org/pub/FreeBSD/</url>
<url proto="httpv6">http://ftp.dk.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.dk.FreeBSD.org</name>
</host>
<email>hostmaster@dk.FreeBSD.org</email>
</entry>
<entry id="mirrors-ee">
<country>Estonia</country>
<host type="ftp">
<name>ftp.ee.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.ee.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.ee.FreeBSD.org</name>
</host>
<email>hostmaster@ee.FreeBSD.org</email>
</entry>
<entry id="mirrors-fi">
<country>Finland</country>
<host type="www">
<name>www.fi.FreeBSD.org</name>
<url proto="http">http://www.fi.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.fi.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.fi.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.fi.FreeBSD.org</name>
</host>
<email>hostmaster@fi.FreeBSD.org</email>
</entry>
<entry id="mirrors-fr">
<country>France</country>
<host type="www">
<name>www1.fr.FreeBSD.org</name>
<url proto="http">http://www1.fr.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.fr.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.fr.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp1.fr.FreeBSD.org</name>
<url proto="ftp">ftp://ftp1.fr.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp1.fr.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
</host>
<host type="ftp">
<name>ftp3.fr.FreeBSD.org</name>
<url proto="ftp">ftp://ftp3.fr.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp4.fr.FreeBSD.org</name>
<url proto="ftp">ftp://ftp4.fr.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6">ftp://ftp4.fr.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp4.fr.FreeBSD.org/pub/FreeBSD/</url>
<url proto="httpv6">http://ftp4.fr.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync">rsync://ftp4.fr.FreeBSD.org/FreeBSD/</url>
<url proto="rsyncv6">rsync://ftp4.fr.FreeBSD.org/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp5.fr.FreeBSD.org</name>
<url proto="ftp">ftp://ftp5.fr.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp6.fr.FreeBSD.org</name>
<url proto="ftp">ftp://ftp6.fr.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
</host>
<host type="ftp">
<name>ftp7.fr.FreeBSD.org</name>
<url proto="ftp">ftp://ftp7.fr.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp8.fr.FreeBSD.org</name>
<url proto="ftp">ftp://ftp8.fr.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup3.fr.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup5.fr.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup8.fr.FreeBSD.org</name>
</host>
<host type="rsync">
<name>rsync1.fr.FreeBSD.org</name>
</host>
<email>hostmaster@fr.FreeBSD.org</email>
</entry>
<entry id="mirrors-de">
<country>Germany</country>
<host type="www">
<name>www.de.FreeBSD.org</name>
<url proto="http">http://www.de.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.de.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.de.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp1.de.FreeBSD.org</name>
<url proto="ftp">ftp://ftp1.de.FreeBSD.org/freebsd/</url>
<url proto="http">http://www1.de.FreeBSD.org/freebsd/</url>
<url proto="rsync">rsync://rsync3.de.FreeBSD.org/freebsd/</url>
</host>
<host type="ftp">
<name>ftp2.de.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp2.de.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
</host>
<host type="ftp">
<name>ftp4.de.FreeBSD.org</name>
<url proto="ftp">ftp://ftp4.de.FreeBSD.org/FreeBSD/</url>
<url proto="http">http://ftp4.de.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp5.de.FreeBSD.org</name>
<url proto="ftp">ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/</url>
</host>
<!--
<host type="ftp">
<name>ftp6.de.FreeBSD.org</name>
<url proto="ftp">ftp://ftp6.de.FreeBSD.org/pub/FreeBSD/</url>
</host>
-->
<host type="ftp">
<name>ftp7.de.FreeBSD.org</name>
<url proto="ftp">ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp7.de.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp8.de.FreeBSD.org</name>
<url proto="ftp">ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.de.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup2.de.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup4.de.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup5.de.FreeBSD.org</name>
</host>
<email>de-bsd-hubs@de.FreeBSD.org</email>
</entry>
<entry id="mirrors-gr">
<country>Greece</country>
<host type="ftp">
<name>ftp.gr.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.gr.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp2.gr.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.gr.FreeBSD.org/pub/FreeBSD/</url>
</host>
<email>hostmaster@gr.FreeBSD.org</email>
</entry>
<entry id="mirrors-hk">
<country>Hong Kong</country>
<host type="www">
<name>www.hk.FreeBSD.org</name>
<url proto="http">http://www.hk.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.hk.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.hk.FreeBSD.org/pub/FreeBSD/</url>
</host>
</entry>
- <entry id="mirrors-is">
- <country>Iceland</country>
- <host type="www">
- <name>www.is.FreeBSD.org</name>
- <url proto="http">http://www.is.FreeBSD.org/</url>
- </host>
-
- <host type="ftp">
- <name>ftp.is.FreeBSD.org</name>
- <url proto="ftp">ftp://ftp.is.FreeBSD.org/pub/FreeBSD/</url>
- <url proto="rsync"></url>
- </host>
-
- <email>hostmaster@is.FreeBSD.org</email>
- </entry>
-
<entry id="mirrors-ie">
<country>Ireland</country>
<host type="www">
<name>www.ie.FreeBSD.org</name>
<url proto="http">http://www.ie.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp3.ie.FreeBSD.org</name>
<url proto="ftp">ftp://ftp3.ie.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp3.ie.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
</host>
<host type="cvsup">
<name>cvsup.ie.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup2.ie.FreeBSD.org</name>
</host>
<email>hostmaster@ie.FreeBSD.org</email>
</entry>
<entry id="mirrors-it">
<country>Italy</country>
<host type="cvsup">
<name>cvsup.it.FreeBSD.org</name>
</host>
<email>hostmaster@it.FreeBSD.org</email>
</entry>
<entry id="mirrors-jp">
<country>Japan</country>
<host type="www">
<name>www.jp.FreeBSD.org</name>
<url proto="http">http://www.jp.FreeBSD.org/www.FreeBSD.org/</url>
<url proto="httpv6">http://www.jp.FreeBSD.org/www.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.jp.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp2.jp.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.jp.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp3.jp.FreeBSD.org</name>
<url proto="ftp">ftp://ftp3.jp.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp4.jp.FreeBSD.org</name>
<url proto="ftp">ftp://ftp4.jp.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp5.jp.FreeBSD.org</name>
<url proto="ftp">ftp://ftp5.jp.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp6.jp.FreeBSD.org</name>
<url proto="ftp">ftp://ftp6.jp.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp7.jp.FreeBSD.org</name>
<url proto="ftp">ftp://ftp7.jp.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp8.jp.FreeBSD.org</name>
<url proto="ftp">ftp://ftp8.jp.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp9.jp.FreeBSD.org</name>
<url proto="ftp">ftp://ftp9.jp.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.jp.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup2.jp.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup3.jp.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup4.jp.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup5.jp.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup6.jp.FreeBSD.org</name>
</host>
<email>hostmaster@jp.FreeBSD.org</email>
</entry>
<entry id="mirrors-kr">
<country>Korea</country>
<host type="ftp">
<name>ftp.kr.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.kr.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
</host>
<host type="ftp">
<name>ftp2.kr.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.kr.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp2.kr.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.kr.FreeBSD.org</name>
</host>
<email>hostmaster@kr.FreeBSD.org</email>
</entry>
<entry id="mirrors-lv">
<country>Latvia</country>
<host type="www">
<name>www.lv.FreeBSD.org</name>
<url proto="http">http://www.lv.FreeBSD.org/</url>
</host>
<host type="cvsup">
<name>cvsup.lv.FreeBSD.org</name>
</host>
<host type="ftp">
<name>ftp.lv.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.lv.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp.lv.FreeBSD.org/pub/FreeBSD/</url>
</host>
<email>hostmaster@lv.FreeBSD.org</email>
</entry>
<entry id="mirrors-lt">
<country>Lithuania</country>
<host type="www">
<name>www.lt.FreeBSD.org</name>
<url proto="http">http://www.lt.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.lt.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.lt.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp.lt.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.lt.FreeBSD.org</name>
</host>
<email>hostmaster@lt.FreeBSD.org</email>
</entry>
<entry id="mirrors-nl">
<country>Netherlands</country>
<host type="www">
<name>www.nl.FreeBSD.org</name>
<url proto="http">http://www.nl.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.nl.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.nl.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp.nl.FreeBSD.org/os/FreeBSD/</url>
<url proto="rsync"></url>
</host>
<host type="ftp">
<name>ftp2.nl.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.nl.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.nl.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup2.nl.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup3.nl.FreeBSD.org</name>
</host>
<email>hostmaster@nl.FreeBSD.org</email>
</entry>
<entry id="mirrors-nz">
<country>New Zealand</country>
<host type="ftp">
<name>ftp.nz.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.nz.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp.nz.FreeBSD.org/pub/FreeBSD/</url>
</host>
</entry>
<entry id="mirrors-no">
<country>Norway</country>
<host type="www">
<name>www.no.FreeBSD.org</name>
<url proto="http">http://www.no.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.no.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.no.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
</host>
<host type="cvsup">
<name>cvsup.no.FreeBSD.org</name>
</host>
<email>hostmaster@no.FreeBSD.org</email>
</entry>
<entry id="mirrors-pl">
<country>Poland</country>
<host type="ftp">
<name>ftp.pl.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.pl.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp2.pl.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.pl.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6">ftp://ftp2.pl.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp2.pl.FreeBSD.org/pub/FreeBSD/</url>
<url proto="httpv6">http://ftp2.pl.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
<url proto="rsyncv6"></url>
</host>
<!--
<host type="ftp">
<name>ftp3.pl.FreeBSD.org</name>
<url proto="ftp">ftp://ftp3.pl.FreeBSD.org/pub/FreeBSD/</url>
</host>
-->
<host type="cvsup">
<name>cvsup.pl.FreeBSD.org</name>
</host>
<email>hostmaster@pl.FreeBSD.org</email>
</entry>
<entry id="mirrors-ru">
<country>Russia</country>
<host type="www">
<name>www.ru.FreeBSD.org</name>
<url proto="http">http://www.ru.FreeBSD.org/</url>
</host>
<host type="www">
<name>www2.ru.FreeBSD.org</name>
<url proto="http">http://www2.ru.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.ru.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.ru.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp.ru.FreeBSD.org/FreeBSD/</url>
<url proto="rsync"></url>
</host>
<host type="ftp">
<name>ftp2.ru.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.ru.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp2.ru.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
</host>
<host type="ftp">
<name>ftp4.ru.FreeBSD.org</name>
<url proto="ftp">ftp://ftp4.ru.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp5.ru.FreeBSD.org</name>
<url proto="ftp">ftp://ftp5.ru.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp5.ru.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
</host>
<host type="ftp">
<name>ftp6.ru.FreeBSD.org</name>
<url proto="ftp">ftp://ftp6.ru.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup3.ru.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup5.ru.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup6.ru.FreeBSD.org</name>
</host>
<email>hostmaster@ru.FreeBSD.org</email>
</entry>
<entry id="mirrors-sa">
<country>Saudi Arabia</country>
<host type="ftp">
<name>ftp.isu.net.sa</name>
<url proto="ftp">ftp://ftp.isu.net.sa/pub/ftp.freebsd.org/</url>
</host>
<email>ftpadmin@isu.net.sa</email>
</entry>
<entry id="mirrors-sk">
<country>Slovak Republic</country>
<host type="www">
<name>www.sk.FreeBSD.org</name>
<url proto="http">http://www.sk.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.sk.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.sk.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6">ftp://ftp.sk.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp.sk.FreeBSD.org/pub/FreeBSD/</url>
<url proto="httpv6">http://ftp.sk.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp2.sk.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.sk.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6">ftp://ftp2.sk.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp2.sk.FreeBSD.org/pub/FreeBSD/</url>
<url proto="httpv6">http://ftp2.sk.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.sk.FreeBSD.org</name>
</host>
<email>hostmaster@sk.FreeBSD.org</email>
</entry>
<entry id="mirrors-si">
<country>Slovenia</country>
<host type="www">
<name>www.si.FreeBSD.org</name>
<url proto="http">http://www.si.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.si.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.si.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.si.FreeBSD.org</name>
</host>
<email>hostmaster@si.FreeBSD.org</email>
</entry>
<entry id="mirrors-za">
<country>South Africa</country>
<host type="www">
<name>www.za.FreeBSD.org</name>
<url proto="http">http://www.za.FreeBSD.org/</url>
</host>
<host type="www">
<name>www2.za.FreeBSD.org</name>
<url proto="http">http://www2.za.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.za.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.za.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp2.za.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.za.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp4.za.FreeBSD.org</name>
<url proto="ftp">ftp://ftp4.za.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.za.FreeBSD.org</name>
</host>
<email>hostmaster@za.FreeBSD.org</email>
</entry>
<entry id="mirrors-es">
<country>Spain</country>
<host type="www">
<name>www.es.FreeBSD.org</name>
<url proto="http">http://www.es.FreeBSD.org/</url>
</host>
<host type="www">
<name>www2.es.FreeBSD.org</name>
<url proto="http">http://www2.es.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.es.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.es.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp.es.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp3.es.FreeBSD.org</name>
<url proto="ftp">ftp://ftp3.es.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.es.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup2.es.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup3.es.FreeBSD.org</name>
</host>
<email>hostmaster@es.FreeBSD.org</email>
</entry>
<entry id="mirrors-se">
<country>Sweden</country>
<host type="www">
<name>www.se.FreeBSD.org</name>
<url proto="http">http://www.se.FreeBSD.org/</url>
</host>
- <host type="www">
- <name>www2.se.FreeBSD.org</name>
- <url proto="http">http://www2.se.FreeBSD.org/</url>
- </host>
-
<host type="ftp">
<name>ftp.se.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.se.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp2.se.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.se.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync">rsync://ftp2.se.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp3.se.FreeBSD.org</name>
<url proto="ftp">ftp://ftp3.se.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp4.se.FreeBSD.org</name>
<url proto="ftp">ftp://ftp4.se.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6">ftp://ftp4.se.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp4.se.FreeBSD.org/pub/FreeBSD/</url>
<url proto="httpv6">http://ftp4.se.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync">rsync://ftp4.se.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsyncv6">rsync://ftp4.se.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
- <name>ftp5.se.FreeBSD.org</name>
- <url proto="ftp">ftp://ftp5.se.FreeBSD.org/pub/FreeBSD/</url>
- <url proto="http">http://ftp5.se.FreeBSD.org/</url>
- <url proto="rsync">rsync://ftp5.se.FreeBSD.org/freebsd/</url>
- </host>
-
- <host type="ftp">
<name>ftp6.se.FreeBSD.org</name>
<url proto="ftp">ftp://ftp6.se.FreeBSD.org/pub/FreeBSD</url>
<url proto="http">http://ftp6.se.FreeBSD.org/pub/FreeBSD</url>
</host>
<host type="cvsup">
<name>cvsup.se.FreeBSD.org</name>
- </host>
-
- <host type="cvsup">
- <name>cvsup2.se.FreeBSD.org</name>
</host>
<email>hostmaster@se.FreeBSD.org</email>
</entry>
<entry id="mirrors-ch">
<country>Switzerland</country>
<host type="www">
<name>www.ch.FreeBSD.org</name>
<url proto="http">http://www.ch.FreeBSD.org/</url>
<url proto="httpv6">http://www.ch.FreeBSD.org/</url>
</host>
<host type="www">
<name>www2.ch.FreeBSD.org</name>
<url proto="http">http://www2.ch.FreeBSD.org/</url>
<url proto="httpv6">http://www2.ch.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.ch.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.ch.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp.ch.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.ch.FreeBSD.org</name>
</host>
<email>hostmaster@ch.FreeBSD.org</email>
</entry>
<entry id="mirrors-tw">
<country>Taiwan</country>
<host type="www">
<name>www.tw.FreeBSD.org</name>
<url proto="http">http://www.tw.FreeBSD.org/</url>
<url proto="httpv6">http://www.tw.FreeBSD.org/</url>
</host>
<host type="www">
<name>www2.tw.FreeBSD.org</name>
<url proto="http">http://www2.tw.FreeBSD.org/</url>
</host>
<host type="www">
<name>www4.tw.FreeBSD.org</name>
<url proto="http">http://www4.tw.FreeBSD.org/</url>
</host>
<host type="www">
<name>www5.tw.FreeBSD.org</name>
<url proto="http">http://www5.tw.FreeBSD.org/</url>
<url proto="httpv6">http://www5.tw.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.tw.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6">ftp://ftp.tw.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
<url proto="rsyncv6"></url>
</host>
<host type="ftp">
<name>ftp2.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.tw.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6">ftp://ftp2.tw.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp2.tw.FreeBSD.org/pub/FreeBSD/</url>
<url proto="httpv6">http://ftp2.tw.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
<url proto="rsyncv6"></url>
</host>
<host type="ftp">
<name>ftp3.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp3.tw.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp4.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp4.tw.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp5.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp5.tw.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp6.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp6.tw.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp6.tw.FreeBSD.org/</url>
<url proto="rsync"></url>
</host>
<host type="ftp">
<name>ftp7.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp7.tw.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp8.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp8.tw.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp9.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp9.tw.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp10.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp10.tw.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp11.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp11.tw.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp11.tw.FreeBSD.org/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp12.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp12.tw.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp13.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp13.tw.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp14.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp14.tw.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp15.tw.FreeBSD.org</name>
<url proto="ftp">ftp://ftp15.tw.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup.tw.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup3.tw.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup6.tw.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup10.tw.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup11.tw.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup12.tw.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup13.tw.FreeBSD.org</name>
</host>
<email>hostmaster@tw.FreeBSD.org</email>
</entry>
<entry id="mirrors-ua">
<country>Ukraine</country>
<host type="ftp">
<name>ftp.ua.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.ua.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp.ua.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp7.ua.FreeBSD.org</name>
<url proto="ftp">ftp://ftp7.ua.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup5.ua.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup6.ua.FreeBSD.org</name>
</host>
</entry>
<entry id="mirrors-uk">
<country>United Kingdom</country>
<host type="www">
<name>www1.uk.FreeBSD.org</name>
<url proto="http">http://www1.uk.FreeBSD.org/</url>
</host>
<host type="www">
<name>www3.uk.FreeBSD.org</name>
<url proto="http">http://www3.uk.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp.uk.FreeBSD.org</name>
<url proto="ftp">ftp://ftp.uk.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp2.uk.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.uk.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp2.uk.FreeBSD.org/</url>
<url proto="rsync">rsync://ftp2.uk.FreeBSD.org/ftp.freebsd.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp3.uk.FreeBSD.org</name>
<url proto="ftp">ftp://ftp3.uk.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp4.uk.FreeBSD.org</name>
<url proto="ftp">ftp://ftp4.uk.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp5.uk.FreeBSD.org</name>
<url proto="ftp">ftp://ftp5.uk.FreeBSD.org/pub/FreeBSD/</url>
</host>
<email>hostmaster@uk.FreeBSD.org</email>
</entry>
<entry id="mirrors-us">
<country>USA</country>
<host type="www">
<name>www5.us.FreeBSD.org</name>
<url proto="http">http://www5.us.FreeBSD.org/</url>
<url proto="httpv6">http://www5.us.FreeBSD.org/</url>
</host>
<host type="ftp">
<name>ftp1.us.FreeBSD.org</name>
<url proto="ftp">ftp://ftp1.us.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp2.us.FreeBSD.org</name>
<url proto="ftp">ftp://ftp2.us.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp3.us.FreeBSD.org</name>
<url proto="ftp">ftp://ftp3.us.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp4.us.FreeBSD.org</name>
<url proto="ftp">ftp://ftp4.us.FreeBSD.org/pub/FreeBSD/</url>
<url proto="ftpv6"></url>
<url proto="http">http://ftp4.us.FreeBSD.org/pub/FreeBSD/</url>
<url proto="httpv6">http://ftp4.us.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp5.us.FreeBSD.org</name>
<url proto="ftp">ftp://ftp5.us.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp6.us.FreeBSD.org</name>
<url proto="ftp">ftp://ftp6.us.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp8.us.FreeBSD.org</name>
<url proto="ftp">ftp://ftp8.us.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp10.us.FreeBSD.org</name>
<url proto="ftp">ftp://ftp10.us.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp11.us.FreeBSD.org</name>
<url proto="ftp">ftp://ftp11.us.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp13.us.FreeBSD.org</name>
<url proto="ftp">ftp://ftp13.us.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp13.us.FreeBSD.org/pub/FreeBSD/</url>
<url proto="rsync"></url>
</host>
<host type="ftp">
<name>ftp14.us.FreeBSD.org</name>
<url proto="ftp">ftp://ftp14.us.FreeBSD.org/pub/FreeBSD/</url>
<url proto="http">http://ftp14.us.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="ftp">
<name>ftp15.us.FreeBSD.org</name>
<url proto="ftp">ftp://ftp15.us.FreeBSD.org/pub/FreeBSD/</url>
</host>
<host type="cvsup">
<name>cvsup1.us.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup3.us.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup4.us.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup5.us.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup7.us.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup9.us.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup11.us.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup12.us.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup13.us.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup14.us.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup15.us.FreeBSD.org</name>
</host>
<host type="cvsup">
<name>cvsup18.us.FreeBSD.org</name>
</host>
<email>hostmaster@us.FreeBSD.org</email>
</entry>
</mirrors>
Index: projects/zfsupdate-201307/share/xml/news.dtd
===================================================================
--- projects/zfsupdate-201307/share/xml/news.dtd (revision 42803)
+++ projects/zfsupdate-201307/share/xml/news.dtd (revision 42804)
@@ -1,84 +1,85 @@
<!-- $FreeBSD$ -->
<!ENTITY lists 'http://lists.freebsd.org/pipermail'>
<!ENTITY lists.announce '&lists;/freebsd-announce'>
+<!ENTITY lists.current '&lists;/freebsd-current'>
<!ENTITY lists.stable '&lists;/freebsd-stable'>
<!ENTITY lists.ports-announce '&lists;/freebsd-ports-announce'>
<!ELEMENT news (cvs:keyword?, year)+>
<!ELEMENT name (#PCDATA)>
<!ATTLIST name
id ID #IMPLIED
>
<!ELEMENT year (name, (month)+)>
<!ATTLIST year
id ID #IMPLIED
>
<!ELEMENT month (name, (day)+)>
<!ATTLIST month
id ID #IMPLIED
>
<!ELEMENT day (name, (event)+)>
<!ATTLIST day
id ID #IMPLIED
>
<!ELEMENT event ((title)?, (p)+)>
<!ATTLIST event
id ID #IMPLIED
>
<!ELEMENT title (#PCDATA | a)*>
<!ATTLIST title
id ID #IMPLIED
>
<!ELEMENT p (#PCDATA | a | i)*>
<!ATTLIST p
id ID #IMPLIED
>
<!ELEMENT a (#PCDATA)>
<!ATTLIST a
id ID #IMPLIED
href CDATA #REQUIRED
>
<!ELEMENT i (#PCDATA)>
<!ATTLIST i
id ID #IMPLIED
>
<!ENTITY % cvs
PUBLIC "-//FreeBSD//DTD FreeBSD CVS Keywords//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/cvs.dtd">
%cvs;
<!ENTITY % autogen.ent
PUBLIC "-//FreeBSD//ENTITIES FreeBSD Automatically Generated Entities//EN"
"http://www.FreeBSD.org/XML/cwd/autogen.ent">
%autogen.ent;
<!ENTITY % iso8879.ent
PUBLIC "-//FreeBSD//ENTITIES ISO 8879:1986 Entity Set//EN//XML"
"http://www.FreeBSD.org/XML/www/share/xml/iso8879.ent">
%iso8879.ent;
<!ENTITY % l10n.ent
PUBLIC "-//FreeBSD//ENTITIES FreeBSD L10N Entities//EN"
"http://www.FreeBSD.org/XML/www/lang/share/xml/l10n.ent">
%l10n.ent;
<!ENTITY % l10n-common.ent
PUBLIC "-//FreeBSD//ENTITIES FreeBSD L10N Common Entities//EN"
"http://www.FreeBSD.org/XML/www/share/xml/l10n.ent">
%l10n-common.ent;
<!ENTITY % common.ent
PUBLIC "-//FreeBSD//ENTITIES FreeBSD Common Entities//EN"
"common.ent">
%common.ent;
Index: projects/zfsupdate-201307/share/xml/news.xml
===================================================================
--- projects/zfsupdate-201307/share/xml/news.xml (revision 42803)
+++ projects/zfsupdate-201307/share/xml/news.xml (revision 42804)
@@ -1,2682 +1,2806 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE news PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for News//EN"
"http://www.FreeBSD.org/XML/www/share/xml/news.dtd">
<!-- Simple schema for FreeBSD Project news.
Divide time in to <year>, <month>, and <day> elements, each of which
has a <name>.
each <day> element contains one or more <event> elements.
Each <event> contains an optional <title>, and then a <p>. <p> elements
can contain <a> anchors.
Use the <title> element if the <p> content is lengthy. When generating
synopses of this information (e.g., for syndication using RDF files),
the contents of <title> will be preferred over <p>.
*** Former Summer of Code Students: Please note that you are an
SoC alumnus when you add your new committer announcement.
Also, don't feel shy to add more information about what you
would like to work on. ***
-->
<news>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">
$FreeBSD$
</cvs:keyword>
<year>
<name>2013</name>
<month>
+ <name>9</name>
+
+ <day>
+ <name>30</name>
+
+ <event>
+ <title>&os; 9.2-RELEASE Available</title>
+
+ <p><a href="&enbase;/releases/9.2R/announce.html">FreeBSD
+ 9.2-RELEASE</a> is now available. Please be sure to
+ check the <a
+ href="&enbase;/releases/9.2R/relnotes.html">Release
+ Notes</a> <a
+ href="&enbase;/releases/9.2R/errata.html">Release
+ Errata</a> before installation for any late-breaking
+ news and/or issues with 9.2. More information about
+ FreeBSD releases can be found on the <a
+ href="&enbase;/releases/index.html">Release
+ Information</a> page.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>29</name>
+
+ <event>
+ <title>&os;&nbsp;10.0-ALPHA4 Available</title>
+
+ <p>The fourth ALPHA build for the &os;-10.0 release cycle is
+ now available. ISO images for the amd64, i386, ia64,
+ powerpc, powerpc64 and sparc64 architectures are <a
+ href="&lists.current;/2013-September/044951.html">available</a>
+ on most of our <a
+ href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
+ mirror sites</a>.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>23</name>
+ <event>
+ <p>New committer:
+ <a href="mailto:danilo@FreeBSD.org">Danilo Eg&ecirc;a Gondolfo</a> (ports)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>18</name>
+
+ <event>
+ <title>&os;&nbsp;10.0-ALPHA2 Available</title>
+
+ <p>The second ALPHA build for the &os;-10.0 release cycle is
+ now available. ISO images for the amd64, i386, ia64,
+ powerpc, powerpc64 and sparc64 architectures are <a
+ href="&lists.current;/2013-September/044676.html">available</a>
+ on most of our <a
+ href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
+ mirror sites</a>.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>13</name>
+
+ <event>
+ <title>&os;&nbsp;10.0-ALPHA1 Available</title>
+
+ <p>The first ALPHA build for the &os;-10.0 release cycle is
+ now available. ISO images for the amd64, i386, ia64,
+ powerpc and sparc64 architectures are <a
+ href="&lists.current;/2013-September/044522.html">available</a>
+ on most of our <a
+ href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
+ mirror sites</a>.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>12</name>
+
+ <event>
+ <title>&os;&nbsp;9.2-RC4 Available</title>
+
+ <p>The fourth RC build for the &os;-9.2 release cycle is
+ now available. ISO images for the amd64, i386, ia64,
+ powerpc, powerpc64 and sparc64 architectures are <a
+ href="&lists.stable;/2013-September/075163.html">available</a>
+ on most of our <a
+ href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
+ mirror sites</a>.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>2</name>
+ <event>
+ <p>New committer:
+ <a href="mailto:br@FreeBSD.org">Ruslan Bukin</a> (src)</p>
+ </event>
+ <event>
+ <p>New committer:
+ <a href="mailto:zbb@FreeBSD.org">Zbigniew Bodek</a> (src)</p>
+ </event>
+ </day>
+ </month>
+
+ <month>
<name>8</name>
+
+ <day>
+ <name>26</name>
+
+ <event>
+ <title>&os;&nbsp;9.2-RC3 Available</title>
+
+ <p>The third RC build for the &os;-9.2 release cycle is
+ now available. ISO images for the amd64, i386, ia64,
+ powerpc, powerpc64 and sparc64 architectures are <a
+ href="&lists.stable;/2013-August/074920.html">available</a>
+ on most of our <a
+ href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
+ mirror sites</a>.</p>
+ </event>
+ </day>
<day>
<name>16</name>
<event>
<title>&os;&nbsp;9.2-RC2 Available</title>
<p>The second RC build for the &os;-9.2 release cycle is
now available. ISO images for the amd64, i386, ia64,
powerpc, powerpc64 and sparc64 architectures are <a
href="&lists.stable;/2013-August/074756.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>6</name>
<event>
<title>The &os;&nbsp;Foundation Semi-Annual Newsletter is
Now Available</title>
<p>We are pleased to announce the publication of our 2013
Semi-Annual Newsletter! This is a chance for you to read
about what we are doing to help make &os; the best
operating system available.</p>
<p>Read about funded development projects to improve &os;,
sponsored conferences, developer and vendor summits to
create face-to-face opportunities, research, how we are
doing on our fundraising efforts, and so much more!</p>
<p>The 2013 semi-annual newsletter is available online <a
href="http://www.freebsdfoundation.org/press/2013Jul-newsletter">here</a>.</p>
</event>
</day>
<day>
<name>5</name>
<event>
<title>&os;&nbsp;9.2-RC1 Available</title>
<p>The first RC build for the &os;-9.2 release cycle is
now available. ISO images for the amd64, i386, ia64,
powerpc, powerpc64 and sparc64 architectures are <a
href="&lists.stable;/2013-August/074589.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
</month>
<month>
<name>7</name>
<day>
<name>31</name>
<event>
<p>New committer:
<a href="mailto:nemysis@FreeBSD.org">Rusmir Dusko</a> (ports)</p>
</event>
</day>
<day>
<name>29</name>
<event>
<title>&os;&nbsp;9.2-BETA2 Available</title>
<p>The second BETA build for the &os;-9.2 release cycle is
now available. ISO images for the amd64, i386, powerpc64
and sparc64 architectures are <a
href="&lists.stable;/2013-July/074440.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>&os;&nbsp;9.2-BETA1 Available</title>
<p>The first BETA build for the &os;-9.2 release cycle is
now available. ISO images for the amd64, i386 and ia64
architectures are <a
href="&lists.stable;/2013-July/074377.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>16</name>
<event>
<title>April-June, 2013 Status Report</title>
<p>The <a
href="&enbase;/news/status/report-2013-04-2013-06.html">April-June, 2013 Status Report</a>
is now available with 33 entries.</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>New committer:
<a href="mailto:marino@FreeBSD.org">John Marino</a> (ports)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>New committer:
<a href="mailto:loos@FreeBSD.org">Luiz Otavio O Souza</a> (src)</p>
</event>
</day>
<day>
<name>2</name>
<event>
<title>BSDCan 2013 DevSummit Report</title>
<p>A special status report on the results of the BSDCan 2013
&os; Developer Summit is <a
href="&enbase;/news/status/report-2013-05-devsummit.html">now
available</a> with 6 entries.</p>
</event>
</day>
</month>
<month>
<name>6</name>
<day>
<name>25</name>
<event>
<p>New committer:
<a href="mailto:feld@FreeBSD.org">Mark Felder</a> (ports)</p>
</event>
</day>
<day>
<name>19</name>
<event>
<title>Happy Birthday &os;!</title>
<p>&os; celebrated its
<a href="http://FreeBSD.org/news/1993/freebsd-coined.html">20th birthday</a>
today. On June 19, 1993, Jordan Hubbard, Rod Grimes, and
David Greenman announced to the world the creation of
their new fork of the BSD 4.3 operating system.</p>
<p>&os; was derived from the 386BSD 0.1 release from Bill and
Lynne Jolitz with its 1.0 release in Nov 1993. Its
stated goals were to create a fast, stable, reliable
server OS for i386 systems.</p>
<p>Since then, it has become the backbone of countless
products and has grown to supporting 64bit computing,
embedded devices, and desktop users.</p>
</event>
</day>
<day>
<name>11</name>
<event>
<p>New committer:
<a href="mailto:vg@FreeBSD.org">Veniamin Gvozdikov</a> (ports)</p>
</event>
</day>
<day>
<name>7</name>
<event>
<title>&os; 8.4-RELEASE Available</title>
<p><a href="&enbase;/releases/8.4R/announce.html">&os;&nbsp;
8.4-RELEASE</a> is now available. Please be sure to
check the <a
href="&enbase;/releases/8.4R/relnotes.html">Release
Notes</a> (<a
href="&enbase;/releases/8.4R/relnotes-detailed.html">detailed
version</a>) and <a
href="&enbase;/releases/8.4R/errata.html">Release
Errata</a> before installation for any late-breaking
news and/or issues with 8.4. More information about
&os; releases can be found on the <a
href="&enbase;/releases/index.html">Release
Information</a> page.</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:gjb@FreeBSD.org">Glen Barber</a>
(doc, ports, src)</p>
</event>
</day>
</month>
<month>
<name>5</name>
<day>
<name>27</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:crees@FreeBSD.org">Chris Rees</a>
(doc, ports)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<title>Binary Packages Are Available Again</title>
<p>Six months have passed since the November security
incident which brought the Project's binary package
building capacity offline; we are pleased to announce that
all services are now restored.</p>
<p>Read the official announcement <a
href="&lists.announce;/2013-May/001476.html">here</a>.</p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>January-March 2013 Status Report</title>
<p>The January to March 2013 Status Report is <a
href="&enbase;/news/status/report-2013-01-2013-03.html">now
available</a> with 31 entries.</p>
</event>
</day>
<day>
<name>9</name>
<event>
<title>&os;&nbsp;Foundation Announces Ed Maste as New
Director of Project Development</title>
<p>The &os;&nbsp;Foundation is pleased to announce Ed
Maste's new role as the Foundation's part-time Director of
Project Development. Ed has served on the Foundation's
board for two years, and has stepped down in order to
accept this new position.</p>
<p><a
href="http://freebsdfoundation.blogspot.com/2013/05/freebsd-foundation-announces-ed-maste.html">Read
more...</a></p>
</event>
</day>
<day>
<name>8</name>
<event>
<title>&os;&nbsp;8.4-RC3 Available</title>
<p>The third RC build for the &os;-8.4 release cycle is
now available. ISO images for the amd64, i386 and pc98
architectures are <a
href="&lists.stable;/2013-May/073389.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
</month>
<month>
<name>4</name>
<day>
<name>29</name>
<event>
<title>New &os; Foundation Technical Staff Member: Edward
Tomasz Napiera&#322;a</title>
<p>The &os;&nbsp;Foundation is pleased to announce that
Edward Tomasz Napiera&#322;a has joined as its second
member of technical staff. This is a continuation of the
Foundation's plan to invest in staff in 2013.</p>
<p><a
href="http://freebsdfoundation.blogspot.com/2013/04/freebsd-foundation-announces-second.html">Read
more...</a></p>
</event>
</day>
<day>
<name>24</name>
<event>
<p>New committer:
<a href="mailto:asomers@FreeBSD.org">Alan Somers</a> (src)</p>
</event>
<event>
<title>FreeBSD Project to participate in Google Summer of
Code 2013</title>
<p>The FreeBSD Project is pleased to announce its participation
In Google's 2013 Summer of Code program, which funds summer
students to participate in open source projects.
This will be the FreeBSD Project's ninth year in the program,
having mentored over 150 successful students through summer-long
coding projects between 2005 and 2012.</p>
<p> Past successful projects have included improvements to Linux
ABI emulation, NFSv4 ACLs, TCP regression testing, FUSE file
system support, and countless other projects.
Many students go on to become FreeBSD developers, as well as
participating in FreeBSD developer events around the world
through continuing support from the FreeBSD Foundation.</p>
<p>Prospective participants are invited to apply; more information
is available, including proposal and deadline information, on the
<a href="&enbase;/projects/summerofcode.html">FreeBSD Summer
Projects page</a>.</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>&os;&nbsp;8.4-RC2 Available</title>
<p>The second RC build for the &os;-8.4 release cycle is
now available. ISO images for the amd64, i386 and pc98
architectures are <a
href="&lists.stable;/2013-April/073198.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:cy@FreeBSD.org">Cy Schubert</a>
(src, ports)</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>New committer:
<a href="mailto:hiren@FreeBSD.org">Hiren Panchasara</a> (src)</p>
</event>
</day>
<day>
<name>10</name>
<event>
<title>&os;&nbsp;8.4-RC1 Available</title>
<p>The first RC build for the &os;-8.4 release cycle is
now available. ISO images for the amd64, i386 and pc98
architectures are <a
href="&lists.stable;/2013-April/073070.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:antoine@FreeBSD.org">Antoine Brodin</a>
(src, ports)</p>
</event>
</day>
<day>
<name>1</name>
<event>
<p>New committer:
<a href="mailto:wg@FreeBSD.org">William Grzybowski</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>3</name>
<day>
<name>27</name>
<event>
<p>Enhanced commit privileges:
<a href="mailto:tijl@FreeBSD.org">Tijl Coosemans</a>
(src, ports)</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>&os;&nbsp;8.4-BETA1 Available</title>
<p>The first BETA build for the &os;-8.4 release cycle is
now available. ISO images for the amd64, i386 and pc98
architectures are <a
href="&lists.stable;/2013-March/072913.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>14</name>
<event>
<title>New &os; Foundation Technical Staff Member: Konstantin
Belousov</title>
<p>The &os;&nbsp;Foundation is pleased to announce that
Konstantin Belousov has been hired as its first full-time
member of technical staff, a key milestone of the
Foundation's investment in staff for 2013.</p>
<p><a
href="http://freebsdfoundation.blogspot.com/2013/03/foundation-announces-new-technical.html">Read
more...</a></p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>New member for the Ports Management team:
<a href="mailto:bdrewery@FreeBSD.org">Bryan Drewery</a></p>
</event>
</day>
<day>
<name>3</name>
<event>
<title>October-December 2012 Status Report</title>
<p>The October to December 2012 Status Report is <a
href="&enbase;/news/status/report-2012-10-2012-12.html">now
available</a> with 27 entries.</p>
</event>
<event>
<title>July-September 2012 Status Report</title>
<p>The July to September 2012 Status Report is <a
href="&enbase;/news/status/report-2012-07-2012-09.html">now
available</a> with 12 entries.</p>
</event>
</day>
</month>
<month>
<name>2</name>
<day>
<name>10</name>
<event>
<p>New committer:
<a href="mailto:pclin@FreeBSD.org">Po-Chien Lin</a> (ports)</p>
</event>
</day>
<day>
<name>1</name>
<event>
<p>New committer:
<a href="mailto:tmseck@FreeBSD.org">Thomas-Martin Seck</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>1</name>
<day>
<name>23</name>
<event>
<p>New committer:
<a href="mailto:achim@FreeBSD.org">Achim Leubner</a> (src)</p>
</event>
</day>
<day>
<name>22</name>
<event>
<p>New committer:
<a href="mailto:dru@FreeBSD.org">Dru Lavigne</a> (doc)</p>
</event>
</day>
<day>
<name>16</name>
<event>
<p>New committer:
<a href="mailto:carl@FreeBSD.org">Carl Delsey</a> (src)</p>
</event>
</day>
<day>
<name>15</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:rene@FreeBSD.org">Ren&eacute; Ladan</a> (ports,
full doc/www)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<p>New committer:
<a href="mailto:dbn@FreeBSD.org">David Naylor</a> (ports)</p>
</event>
</day>
<day>
<name>13</name>
<event>
<title>April-June, 2012 Status Report</title>
<p>The April-June, 2012 Status Report is <a
href="&enbase;/news/status/report-2012-04-2012-06.html">now
available</a> with 17 entries.</p>
</event>
</day>
<day>
<name>10</name>
<event>
<title>Ports CVS End of Life on February 28th 2013</title>
<p>The development of &os; ports is done in Subversion
nowadays. By February 28th 2013, the &os; ports tree will
no longer be exported to CVS. Therefore ports tree updates
via CVS, CVSup or csup(1) will no longer be available after
that date. All users who use CVS, CVSup or csup(1) to
update the ports tree are encouraged to switch to
portsnap(8) or for users which need more control over their
ports collection checkout, use Subversion directly. More
information are available in the announcement mail on the <a
href="&lists.ports-announce;/2012-September/000026.html">&os;&nbsp;ports announce mailing list</a>.</p>
<p>A migration guide from CVSup or csup(1) to portsnap(8) is
also available in <a
href="&url.doc.base-en;/books/handbook/ports-using.html#cvsup-migration">the &os; Handbook</a>.</p>
</event>
</day>
<day>
<name>8</name>
<event>
<title>Faces of &os; &dash; Thomas Abthorpe</title>
<p>We are excited to share our next story for our Faces of
&os; Series. This is a chance for us to spotlight
different people who contribute to &os; and have received
funding from us to work on development projects, run
conferences, travel to conferences, and advocate for
&os;.</p>
<p>Let us introduce you to Thomas Abthorpe. We helped him
attend BSDCan 2009, 2011, and 2012 by helping with his
travel expenses. Read his story <a
href="http://freebsdfoundation.blogspot.com/2013/01/faces-of-freebsd-thomas-abthorpe.html">here.</a></p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>New committer:
<a href="mailto:ian@FreeBSD.org">Ian Lepore</a> (src)</p>
</event>
</day>
</month>
</year>
<year>
<name>2012</name>
<month>
<name>12</name>
<day>
<name>31</name>
<event>
<title>&os; 9.1-RELEASE Available</title>
<p><a href="&enbase;/releases/9.1R/announce.html">FreeBSD
9.1-RELEASE</a> is now available. Please be sure to
check the <a
href="&enbase;/releases/9.1R/relnotes.html">Release
Notes</a> (<a
href="&enbase;/releases/9.1R/relnotes-detailed.html">detailed
version</a>) and <a
href="&enbase;/releases/9.1R/errata.html">Release
Errata</a> before installation for any late-breaking
news and/or issues with 9.1. More information about
FreeBSD releases can be found on the <a
href="&enbase;/releases/index.html">Release
Information</a> page.</p>
</event>
</day>
<day>
<name>24</name>
<event>
<p>New committer:
<a href="mailto:koobs@FreeBSD.org">Kubilay Kocak</a> (ports)</p>
</event>
</day>
<day>
<name>20</name>
<event>
<title>The &os;&nbsp;Foundation End-of-Year Newsletter is
Now Available.</title>
<p>We are pleased to announce the publication of The
&os;&nbsp;Foundation's 2012 <a
href="http://www.freebsdfoundation.org/press/2012Dec-newsletter.shtml">End-of-Year Newsletter.</a></p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>New committer:
<a href="mailto:markj@FreeBSD.org">Mark Johnston</a> (src)</p>
</event>
<event>
<title>PC-BSD&nbsp;9.1 is Released</title>
<p>The PC-BSD Team <a
href="http://blog.pcbsd.org/2012/12/pc-bsd-9-1-now-available/">announces</a>
the availablilty of PC-BSD&nbsp;9.1.</p>
</event>
<event>
<p>New committer:
<a href="mailto:smh@FreeBSD.org">Steven Hartland</a> (src)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<title>Faces of &os; &dash; Dan Langille</title>
<p>We are excited to share our next story for our Faces of
&os; Series. This is a chance for us to spotlight
different people who contribute to &os; and have received
funding from us to work on development projects, run
conferences, travel to conferences, and advocate for
&os;.</p>
<p>Let us introduce you to Dan Langille. We helped him by
sponsoring BSDCan since 2006. Read his story <a
href="http://freebsdfoundation.blogspot.com/2012/12/faces-of-freebsd-dan-langille_17.html">here.</a></p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>Stunning News Website Fundraising
Contribution:&nbsp;Over
650 new donations raise $43,200 in three days!</title>
<p>Astute readers of our blog know that The
&os;&nbsp;Foundation's annual year-end fundraising drive
began last week. Every year over 50% of our donations
arrive during this campaign. <a
href="http://freebsdfoundation.blogspot.com/2012/12/stunning-news-website-fundraising.html">Read more...</a></p>
</event>
</day>
<day>
<name>10</name>
<event>
<title>Faces of &os; &dash; Alberto Mijares</title>
<p>Are you aware of the tangible benefits derived from our
support of the &os; community? In conjunction with our
year-end fundraising drive we are going to be spotlighting
different people on our website, blog, and Facebook page
who have received funding to work on development projects,
run conferences, travel to conferences, and advocate for
&os;. <a
href="http://freebsdfoundation.blogspot.com/2012/12/faces-of-freebsd-alberto-mijares.html">Read more...</a></p>
</event>
</day>
<day>
<name>5</name>
<event>
<title>&os; Year-End Fundraising Campaign</title>
<p>Your donations have helped make &os; the best OS
available! By investing in The &os;&nbsp;Foundation you
have helped us keep &os; a high-performance, secure, and
stable operating system.</p>
<p>Thanks to people like you, the &os;&nbsp;Foundation has
been proudly supporting the &os;&nbsp;Project and
community for 12 years now. <a
href="http://freebsdfoundation.blogspot.com/2012/12/year-end-fundraising-campaign.html">Read
more...</a></p>
</event>
<event>
<title>&os;&nbsp;Project Website is Using Google
Analytics</title>
<p>The &os;&nbsp;Project has enabled Google Analytics to
collect anonymised statistics on web site use. More
information can be found in the official <a
href="&lists.announce;/2012-December/001441.html">announcement</a>.</p>
</event>
</day>
</month>
<month>
<name>11</name>
<day>
<name>26</name>
<event>
<p>New committer:
<a href="mailto:syuu@FreeBSD.org">Takuya ASADA</a> (src)</p>
</event>
</day>
<day>
<name>25</name>
<event>
<p>New committer:
<a href="mailto:bar@FreeBSD.org">Barbara Guida</a> (ports)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<title>Security Incident on FreeBSD Infrastructure</title>
<p>On Sunday 11th of November, an intrusion was detected on
two machines within the FreeBSD.org cluster. We have found
no evidence of any modifications that would put any end user
at risk. However, we do urge all users to read the report
available at <a href="/news/2012-compromise.html">
http://www.freebsd.org/news/2012-compromise.html</a> and
decide on any required actions themselves.</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>New committer:
<a href="mailto:bryanv@FreeBSD.org">Bryan Venteicher</a> (src)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>New committer:
<a href="mailto:gblach@FreeBSD.org">Grzegorz Blach</a> (ports)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<title>&os;&nbsp;9.1-RC3 Available</title>
<p>The third RC build for the &os;-9.1 release cycle is
now available. ISO images for the amd64, i386, sparc64, and
powerpc64 architectures are <a
href="&lists.stable;/2012-November/070401.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
</month>
<month>
<name>10</name>
<day>
<name>24</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:erwin@FreeBSD.org">Erwin Lansing</a>
(src, ports)</p>
</event>
</day>
<day>
<name>23</name>
<event>
<p>New committer:
<a href="mailto:sjg@FreeBSD.org">Simon J. Gerraty</a> (src)</p>
</event>
</day>
<day>
<name>20</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:eadler@FreeBSD.org">Eitan Adler</a>
(src, ports, doc)</p>
</event>
</day>
<day>
<name>19</name>
<event>
<p>New member for the Ports Management team:
<a href="mailto:decke@FreeBSD.org">Bernhard Fr&ouml;hlich</a>.</p>
</event>
</day>
<day>
<name>10</name>
<event>
<title>&os;&nbsp;9.1-RC2 Available</title>
<p>The second RC build for the &os;-9.1 release cycle is
now available. ISO images for the amd64, i386, ia64,
powerpc, and powerpc64 architectures are <a
href="&lists.stable;/2012-October/069998.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
</month>
<month>
<name>9</name>
<day>
<name>15</name>
<event>
<p>New committer:
<a href="mailto:peterj@FreeBSD.org">Peter Jeremy</a> (src)</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>New committer:
<a href="mailto:ebrandi@FreeBSD.org">Edson Brandi</a> (doc/pt_BR, www/pt_BR)</p>
</event>
</day>
<day>
<name>10</name>
<event>
<p>New committer:
<a href="mailto:jhale@FreeBSD.org">Jason E. Hale</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>8</name>
<day>
<name>23</name>
<event>
<title>&os;&nbsp;9.1-RC1 Available</title>
<p>The first RC build for the &os;-9.1 release cycle is
now available. ISO images for the amd64, i386 and powerpc64
architectures are <a
href="&lists.stable;/2012-August/069233.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>21</name>
<event>
<p>New committer:
<a href="mailto:zont@FreeBSD.org">Andrey Zonov</a> (src)</p>
</event>
</day>
<day>
<name>1</name>
<event>
<p>New committer:
<a href="mailto:bdrewery@FreeBSD.org">Bryan Drewery</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>7</name>
<day>
<name>24</name>
<event>
<title>New Core Team Secretary: <a
href="mailto:pgj@FreeBSD.org">G&aacute;bor P&aacute;li</a></title>
<p>The &os; Core Team is glad to announce that <a
href="mailto:pgj@FreeBSD.org">G&aacute;bor P&aacute;li</a> has
assumed the role of <a href="mailto:core-secretary@FreeBSD.org">Core
Team Secretary</a>.</p>
</event>
</day>
<day>
<name>16</name>
<event>
<title>&os; 9.1-BETA1 Available</title>
<p>The first BETA build for the &os;-9.1 release cycle is now
available. ISO images for the architectures amd64, i386,
powerpc64, and sparc64 are <a
href="&lists.stable;/2012-July/068830.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>11</name>
<event>
<title>New &os; Core Team elected</title>
<p>The &os; Project is pleased to announce the completion of
the 2012 Core Team election. The &os; Core Team acts as the
project's "board of directors" and is responsible for
approving new src committers, resolving disputes between
developers, appointing sub-committees for specific purposes
(security officer, release engineering, port managers,
webmaster, etc ...), and making any other administrative
or policy decisions as needed. The Core Team has been
elected by &os; developers every two years since 2000.</p>
<p>More information about the election (together with a list
of the new members of the Core Team) can be found in the
official <a
href="http://docs.FreeBSD.org/cgi/mid.cgi?1342030291.6001.80.camel">announcement</a>.</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>New committer:
<a href="mailto:zeising@FreeBSD.org">Niclas Zeising</a>
(doc/www, ports)</p>
</event>
</day>
</month>
<month>
<name>6</name>
<day>
<name>19</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:gjb@FreeBSD.org">Glen Barber</a>
(doc, ports)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>New committer:
<a href="mailto:mjg@FreeBSD.org">Mateusz Guzik</a> (src)</p>
</event>
</day>
</month>
<month>
<name>5</name>
<day>
<name>30</name>
<event>
<p>New committer:
<a href="mailto:jase@FreeBSD.org">Jase Thew</a> (ports)</p>
</event>
</day>
<day>
<name>29</name>
<event>
<p>New committer:
<a href="mailto:olivierd@FreeBSD.org">Olivier Duchateau</a> (ports)</p>
</event>
</day>
<day>
<name>28</name>
<event>
<p>New committer:
<a href="mailto:tj@FreeBSD.org">Tom Judge</a> (ports)</p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>January-March, 2012 Status Report</title>
<p>The January-March, 2012 Status Report is <a
href="&enbase;/news/status/report-2012-01-2012-03.html">now
available</a> with 27 entries.</p>
</event>
</day>
</month>
<month>
<name>4</name>
<day>
<name>26</name>
<event>
<p>New committer:
<a href="mailto:issyl0@FreeBSD.org">Isabell Long</a> (doc/www)</p>
</event>
</day>
<day>
<name>22</name>
<event>
<p>New committer:
<a href="mailto:jlh@FreeBSD.org">Jeremie Le Hen</a> (src)</p>
</event>
</day>
<day>
<name>18</name>
<event>
<title>&os; 8.3-RELEASE Available</title>
<p><a href="&enbase;/releases/8.3R/announce.html">FreeBSD
8.3-RELEASE</a> is now available. Please be sure to check
the <a href="&enbase;/releases/8.3R/relnotes-detailed.html">Release
Notes</a> and <a
href="&enbase;/releases/8.3R/errata.html">Release
Errata</a> before installation for any late-breaking news
and/or issues with 8.3. More information about FreeBSD
releases can be found on the <a
href="&enbase;/releases/index.html">Release
Information</a> page.</p>
</event>
<event>
<p>New committer:
<a href="mailto:dteske@FreeBSD.org">Devin Teske</a> (src)</p>
</event>
</day>
<day>
<name>15</name>
<event>
<p>New committer:
<a href="mailto:sperber@FreeBSD.org">Armin Pirkovitsch</a> (ports)
</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>New committer:
<a href="mailto:monthadar@FreeBSD.org">Monthadar Al Jaberi</a> (src)
</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>New committer:
<a href="mailto:madpilot@FreeBSD.org">Guido Falsi</a> (ports)</p>
</event>
</day>
<day>
<name>2</name>
<event>
<title>&os;&nbsp;8.3-RC2 Available</title>
<p>The second release candidate build for the &os;-8.3
release cycle is now available. ISO images for the amd64,
i386, and pc98 architectures are <a
href="&lists.stable;/2012-April/067067.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
</month>
<month>
<name>3</name>
<day>
<name>23</name>
<event>
<p>New committer:
<a href="mailto:cherry@FreeBSD.org">Cherry G. Mathew</a> (src)</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>New committer:
<a href="mailto:bjk@FreeBSD.org">Benjamin Kaduk</a> (doc/www)</p>
</event>
</day>
<day>
<name>6</name>
<event>
<title>&os;&nbsp;8.3-RC1 Available</title>
<p>The first RC build for the &os;-8.3 release cycle is
now available. ISO images for the amd64, i386, and pc98
architectures are <a
href="&lists.stable;/2012-March/066722.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>01</name>
<event>
<p>New committer:
<a href="mailto:ak@FreeBSD.org">Alex Kozlov</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>2</name>
<day>
<name>20</name>
<event>
<title>&os;&nbsp;8.3-BETA1 Available</title>
<p>The first test build for the &os;-8.3 release cycle is
now available. ISO images for the amd64, i386, and pc98
architectures are <a
href="&lists.stable;/2012-February/066340.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>16</name>
<event>
<p>New committer:
<a href="mailto:dmarion@FreeBSD.org">Damjan Marion</a> (src)</p>
</event>
<event>
<p>New committer:
<a href="mailto:bgray@FreeBSD.org">Ben Gray</a> (src)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:pluknet@FreeBSD.org">Sergey Kandaurov</a>
(src, doc)</p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>New committer:
<a href="mailto:matthew@FreeBSD.org">Matthew Seaman</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>1</name>
<day>
<name>27</name>
<event>
<p>New committer:
<a href="mailto:davide@FreeBSD.org">Davide Italiano</a> (src)</p>
</event>
<event>
<title>October-December, 2011 Status Report</title>
<p>The October-December, 2011 Status Report is <a
href="&enbase;/news/status/report-2011-10-2011-12.html">now
available</a> with 32 entries.</p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>&os; 9.0-RELEASE Available</title>
<p><a href="&enbase;/releases/9.0R/announce.html">FreeBSD
9.0-RELEASE</a> is now available. Please be sure to check
the <a href="&enbase;/releases/9.0R/relnotes.html">Release
Notes</a> and <a
href="&enbase;/releases/9.0R/errata.html">Release
Errata</a> before installation for any late-breaking news
and/or issues with 9.0. More information about FreeBSD
releases can be found on the <a
href="&enbase;/releases/index.html">Release
Information</a> page.</p>
</event>
</day>
</month>
</year>
<year>
<name>2011</name>
<month>
<name>12</name>
<day>
<name>16</name>
<event>
<p>New committer:
<a href="mailto:jgh@FreeBSD.org">Jason Helfman</a> (ports)</p>
</event>
</day>
<day>
<name>9</name>
<event>
<title>&os; 9.0-RC3 Available</title>
<p>The third (and probably last) RC build for the &os;-9.0 release
cycle is now available. ISO images for the architectures amd64,
i386, ia64, powerpc, powerpc64, and sparc64 are <a
href="&lists.stable;/2011-December/064770.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>. One of the many new features in 9.0 we
would like to be tested is the new installer, so we
encourage our users to do fresh installation on test
systems. Alternatively, users upgrading existing systems may
now do so using the freebsd-update(8) utility.</p>
</event>
</day>
<day>
<name>8</name>
<event>
<p>New committer:
<a href="mailto:pfg@FreeBSD.org">Pedro Giffuni</a> (src)</p>
</event>
</day>
<day>
<name>2</name>
<event>
<p>New member for the Ports Management team:
<a href="mailto:beat@FreeBSD.org">Beat G&auml;tzi</a></p>
</event>
</day>
</month>
<month>
<name>11</name>
<day>
<name>30</name>
<event>
<p>New committer:
<a href="mailto:jhibbits@FreeBSD.org">Justin Hibbits</a> (src)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<title>&os; 9.0-RC2 Available</title>
<p>The second RC build for the &os;-9.0 release cycle is now
available. ISO images for the architectures amd64, i386,
ia64, powerpc, powerpc64, and sparc64 are <a
href="&lists.stable;/2011-November/064609.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>. One of the many new features in 9.0 we
would like to be tested is the new installer, so we
encourage our users to do fresh installation on test
systems. Alternatively, users upgrading existing systems may
now do so using the freebsd-update(8) utility.</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>New committer:
<a href="mailto:scheidell@FreeBSD.org">Michael Scheidell</a> (ports)</p>
</event>
</day>
<day>
<name>11</name>
<event>
<p>New committer:
<a href="mailto:theraven@FreeBSD.org">David Chisnall</a> (src)</p>
</event>
</day>
<day>
<name>9</name>
<event>
<p>New committer:
<a href="mailto:rm@FreeBSD.org">Ruslan Makhmatkhanov</a> (ports)</p>
</event>
</day>
<day>
<name>8</name>
<event>
<title>July-September, 2011 Status Report</title>
<p>The July-September, 2011 Status Report is <a
href="&enbase;/news/status/report-2011-07-2011-09.html">now
available</a> with 28 entries.</p>
</event>
</day>
</month>
<month>
<name>10</name>
<day>
<name>23</name>
<event>
<title>&os; 9.0-RC1 Available</title>
<p>The first RC build for the &os;-9.0 release cycle is now
available. ISO images for the architectures amd64, i386,
ia64, powerpc, powerpc64, and sparc64 are <a
href="&lists.stable;/2011-October/064321.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>. One of the many new features in 9.0 we
would like to be tested is the new installer, so we
encourage our users to do fresh installation on test
systems. Alternatively, users upgrading existing systems may
now do so using the freebsd-update(8) utility.</p>
</event>
</day>
<day>
<name>6</name>
<event>
<p>New committer:
<a href="mailto:melifaro@FreeBSD.org">Alexander V. Chernikov</a> (src)</p>
</event>
</day>
</month>
<month>
<name>9</name>
<day>
<name>28</name>
<event>
<title>&os; 9.0-BETA3 Available</title>
<p>The third BETA build for the &os;-9.0 release cycle is now
available. ISO images for the architectures amd64, i386,
ia64, powerpc, powerpc64, and sparc64 are <a
href="&lists.stable;/2011-September/064030.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>. One of the many new features in 9.0 we
would like to be tested is the new installer, so we
encourage our users to do fresh installation on test
systems.</p>
</event>
</day>
<day>
<name>27</name>
<event>
<p>New committer:
<a href="mailto:jceel@FreeBSD.org">Jakub Klama</a> (src)</p>
</event>
</day>
<day>
<name>19</name>
<event>
<p>New committer:
<a href="mailto:gleb@FreeBSD.org">Gleb Kurtsou</a> (src)</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>New committer:
<a href="mailto:rmh@FreeBSD.org">Robert Millan</a> (src)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<p>New committer:
<a href="mailto:wblock@FreeBSD.org">Warren Block</a> (doc/www)</p>
</event>
<event>
<title>April-June, 2011 Status Report</title>
<p>The April-June, 2011 Status Report is <a
href="&enbase;/news/status/report-2011-04-2011-06.html">now
available</a> with 36 entries.</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>New committer:
<a href="mailto:cs@FreeBSD.org">Carlo Strub</a> (ports)</p>
</event>
</day>
<day>
<name>7</name>
<event>
<title>&os; 9.0-BETA2 Available</title>
<p>The second BETA build for the &os;-9.0 release cycle is now
available. ISO images for the architectures amd64, i386,
powerpc, powerpc64, and sparc64 are <a
href="&lists.stable;/2011-September/063841.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>. One of the many new features in 9.0 we
would like to be tested is the new installer, so we
encourage our users to do fresh installation on test
systems.</p>
</event>
</day>
</month>
<month>
<name>8</name>
<day>
<name>22</name>
<event>
<p>New committer:
<a href="mailto:rakuco@FreeBSD.org">Raphael Kubo da Costa</a> (ports)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<p>New committer:
<a href="mailto:eadler@FreeBSD.org">Eitan Adler</a> (ports)</p>
</event>
</day>
<day>
<name>9</name>
<event>
<title>&os; Foundation August 2011 Newsletter</title>
<p>The &os; Foundation has published their first <a
href="http://www.freebsdfoundation.org/press/2011Aug-newsletter.shtml">Semi-Annual
2011 newsletter</a> which summarizes what they
have done to help the &os; Project and community.</p>
</event>
</day>
<day>
<name>1</name>
<event>
<title>&os; 9.0-BETA1 Available</title>
<p>The first test build for the &os;-9.0 release cycle is now
available. ISO images for the architectures amd64, i386,
ia64, powerpc, powerpc64, and sparc64 are <a
href="&lists.stable;/2011-August/063457.html">available</a>
on most of our <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>. One of the many new features in 9.0 we
would like to be tested is the new installer, so we
encourage our users to do fresh installation on test
systems.</p>
</event>
</day>
</month>
<month>
<name>7</name>
<day>
<name>17</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:gavin@FreeBSD.org">Gavin Atkinson</a>
(src, doc)</p>
</event>
</day>
<day>
<name>15</name>
<event>
<p>New committer:
<a href="mailto:zi@FreeBSD.org">Ryan Steinmetz</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>6</name>
<day>
<name>14</name>
<event>
<p>New committer:
<a href="mailto:gber@FreeBSD.org">Grzegorz Bernacki</a> (src)</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>New committer:
<a href="mailto:stephen@FreeBSD.org">Stephen Montgomery-Smith</a> (ports)</p>
</event>
</day>
<day>
<name>11</name>
<event>
<p>New committer:
<a href="mailto:crees@FreeBSD.org">Chris Rees</a> (ports)</p>
</event>
</day>
<day>
<name>6</name>
<event>
<title>IPv6-only &os; test images</title>
<p>&os; Foundation and iXsystems
<a href="http://www.prweb.com/releases/2011/6/prweb8529718.htm">
announce</a> IPv6-only test images of FreeBSD and PC-BSD.</p>
</event>
<event>
<p>New committer: <a href="mailto:jlaffaye@FreeBSD.org">
Julien Laffaye</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>5</name>
<day>
<name>25</name>
<event>
<p>New committer: <a href="mailto:ray@FreeBSD.org">Aleksandr Rybalko</a> (src)</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>New committer: <a href="mailto:benl@FreeBSD.org">Ben Laurie</a> (src)</p>
</event>
</day>
<day>
<name>12</name>
<event>
<title>New Port Manager</title>
<p>The Ports Management Team is pleased to announce
<a href="mailto:bapt@FreeBSD.org">Baptiste Daroussin</a> as a new
member.</p>
</event>
</day>
</month>
<month>
<name>4</name>
<day>
<name>27</name>
<event>
<title>January-March, 2011 Status Report</title>
<p>The January-March, 2011 Status Report is <a
href="&enbase;/news/status/report-2011-01-2011-03.html">now
available</a> with 34 entries.</p>
</event>
</day>
</month>
<month>
<name>3</name>
<day>
<name>29</name>
<event>
<p>New committer: <a href="mailto:art@FreeBSD.org">Artem Belevich</a> (src)</p>
</event>
</day>
<day>
<name>27</name>
<event>
<title>FreeBSD Project to participate in Google Summer of
Code 2011</title>
<p>The FreeBSD Project is pleased to announce its participation
In Google's 2011 Summer of Code program, which funds summer
students to participate in open source projects.
This will be the FreeBSD Project's seventh year in the program,
having mentored over 100 successful students through summer-long
coding projects between 2005 and 2010.</p>
<p> Past successful projects have included improvements to Linux
ABI emulation, NFSv4 ACLs, TCP regression testing, FUSE file
system support, and countless other projects.
Many students go on to become FreeBSD developers, as well as
participating in FreeBSD developer events around the world
through continuing support from the FreeBSD Foundation.</p>
<p>Prospective participants are invited to apply; more information
is available, including proposal and deadline information, on the
<a href="&enbase;/projects/summerofcode.html">FreeBSD Summer
Projects page</a>.</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>New committer: <a href="mailto:sbz@FreeBSD.org">
Sofian Brabez</a> (ports)</p>
</event>
</day>
<day>
<name>13</name>
<event>
<p>New committer: <a href="mailto:pawel@FreeBSD.org">
Pawel Pekala</a> (ports)</p>
</event>
</day>
<day>
<name>10</name>
<event>
<p>The FreeBSD Ports Management Team is pleased to announce
<a href="mailto:tabthorpe@FreeBSD.org">
Thomas Abthorpe</a> as a full voting member.</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>New committer: <a href="mailto:kargl@FreeBSD.org">
Steven G. Kargl</a> (src)</p>
</event>
</day>
</month>
<month>
<name>2</name>
<day>
<name>24</name>
<event>
<title>FreeBSD 8.2-RELEASE Available</title>
<p><a href="&enbase;/releases/8.2R/announce.html">FreeBSD
8.2-RELEASE</a> is now available. Please be sure to check
the <a href="&enbase;/releases/8.2R/relnotes.html">Release
Notes</a> and <a
href="&enbase;/releases/8.2R/errata.html">Release
Errata</a> before installation for any late-breaking news
and/or issues with 8.2. More information about FreeBSD
releases can be found on the <a
href="&enbase;/releases/index.html">Release
Information</a> page.</p>
</event>
<event>
<title>FreeBSD 7.4-RELEASE Available</title>
<p><a href="&enbase;/releases/7.4R/announce.html">FreeBSD
7.4-RELEASE</a> is now available. Please be sure to check
the <a href="&enbase;/releases/7.4R/relnotes.html">Release
Notes</a> and <a
href="&enbase;/releases/7.4R/errata.html">Release
Errata</a> before installation for any late-breaking news
and/or issues with 7.4. More information about FreeBSD
releases can be found on the <a
href="&enbase;/releases/index.html">Release
Information</a> page.</p>
</event>
</day>
<day>
<name>18</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:miwi@FreeBSD.org">Martin Wilke</a>
(src, ports, doc)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<title>&os; 7.4/8.2-RC3 Available</title>
<p>The third (and probably last) Release Candidate builds
for the &os;-7.4/8.2 release cycles are now available. For
8.2-RC3 the amd64, i386, ia64, pc98, powerpc, and sparc64
architectures are available. For 7.4-RC3 the amd64, i386,
pc98, and sparc64 architectures are available. ISO images
for these architectures can be downloaded from most of the
<a href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>. Please see the official <a
href="&lists.stable;/2011-February/061353.html">announcement</a>
for further details about these releases.</p>
</event>
</day>
</month>
<month>
<name>1</name>
<day>
<name>25</name>
<event>
<title>October-December, 2010 Status Report</title>
<p>The October-December, 2010 Status Report is <a
href="&enbase;/news/status/report-2010-10-2010-12.html">now
available</a> with 37 entries.</p>
</event>
</day>
<day>
<name>23</name>
<event>
<title>&os; 7.4-RC2 Available</title>
<p>The second Release Candidate build for the &os;-7.4
release cycle is now available. ISO images for Tier-1
architectures can be downloaded from most of the <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>. Please see the official <a
href="&lists.stable;/2011-January/061218.html">announcement</a>
for further details about this release.</p>
</event>
</day>
<day>
<name>16</name>
<event>
<title>&os; 8.2-RC2 Available</title>
<p>The second Release Candidate build for the &os;-8.2
release cycle is now available. ISO images for Tier-1
architectures can be downloaded from most of the <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>. Please see the official <a
href="&lists.stable;/2011-January/061131.html">announcement</a>
for further details about this release.</p>
</event>
</day>
</month>
</year>
<year>
<name>2010</name>
<month>
<name>12</name>
<day>
<name>27</name>
<event>
<title>&os; 7.4/8.2-RC1 Available</title>
<p>The first Release Candidate builds for the &os;-7.4/8.2
release cycles are now available. ISO images for Tier-1
architectures can be downloaded from most of the <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>. Please see the official <a
href="&lists.stable;/2010-December/060757.html">announcement</a>
for further details about these releases.</p>
</event>
</day>
<day>
<name>16</name>
<event>
<title>&os; Foundation December 2010 Newsletter</title>
<p>The &os; Foundation has published their <a
href="http://www.freebsdfoundation.org/press/2010Dec-newsletter.shtml">End-of-Year newsletter</a>
which summarizes what they have done in 2010 to help the
&os; Project and community.</p>
</event>
</day>
<day>
<name>11</name>
<event>
<title>&os; 7.4/8.2-BETA1 Available</title>
<p>The first of the test builds for the &os;-7.4/8.2
release cycles is now available. ISO images for Tier-1
architectures are now <a
href="&lists.stable;/2010-December/060541.html">available</a>
on most of the <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>New committer: <a href="mailto:flo@FreeBSD.org">Florian Smeets</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>11</name>
<day>
<name>15</name>
<event>
<p>New committer: <a href="mailto:rea@FreeBSD.org">Eygene Ryabinkin</a> (ports)</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>New committer: <a href="mailto:zack@FreeBSD.org">Zack Kirsch</a> (src)</p>
</event>
</day>
</month>
<month>
<name>10</name>
<day>
<name>27</name>
<event>
<title>July-September, 2010 Status Report</title>
<p>The July-September, 2010 Status Report is <a
href="&enbase;/news/status/report-2010-07-2010-09.html">now
available</a> with 55 entries.</p>
</event>
</day>
<day>
<name>16</name>
<event>
<p>New committer: <a href="mailto:culot@FreeBSD.org">Frederic Culot</a> (ports)</p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>New committer: <a href="mailto:jonathan@FreeBSD.org">Jonathan Anderson</a> (src)</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>New committer: <a href="mailto:pluknet@FreeBSD.org">Sergey Kandaurov</a> (src)</p>
</event>
</day>
</month>
<month>
<name>9</name>
<day>
<name>25</name>
<event>
<p>New committer: <a href="mailto:martymac@FreeBSD.org">Ganael Laplanche</a> (ports)</p>
</event>
</day>
<day>
<name>21</name>
<event>
<p>New committer: <a href="mailto:sunpoet@FreeBSD.org">Po-Chuan Hsieh</a> (ports)</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>New committer: <a href="mailto:andreast@FreeBSD.org">Andreas Tobler</a> (src)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>New committer: <a href="mailto:swills@FreeBSD.org">Steve Wills</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>8</name>
<day>
<name>31</name>
<event>
<p>New committer: <a href="mailto:gjb@FreeBSD.org">Glen Barber</a> (full doc/www)</p>
</event>
</day>
<day>
<name>30</name>
<event>
<p>New committer: <a href="mailto:dim@FreeBSD.org">Dimitry Andric</a> (src)</p>
</event>
</day>
<day>
<name>1</name>
<event>
<p>New committer: <a href="mailto:ohauer@FreeBSD.org">Oliver Hauer</a> (ports)</p>
</event>
</day>
</month>
<month>
<name>7</name>
<day>
<name>27</name>
<event>
<title>&os; Foundation July 2010 Newsletter</title>
<p>The &os; Foundation has published their <a
href="http://www.freebsdfoundation.org/press/2010Jul-newsletter.shtml">Semi-Annual July 2010 newsletter</a>
which summarizes what they have done to help the &os;
Project and community.</p>
</event>
<event>
<p>New committer: <a href="mailto:bapt@FreeBSD.org">Baptiste Daroussin</a> (ports)</p>
</event>
</day>
<day>
<name>23</name>
<event>
<title>FreeBSD 8.1-RELEASE Available</title>
<p><a href="&enbase;/releases/8.1R/announce.html">FreeBSD
8.1-RELEASE</a> is now available. Please be sure to check
the <a href="&enbase;/releases/8.1R/relnotes.html">Release
Notes</a> and <a
href="&enbase;/releases/8.1R/errata.html">Release
Errata</a> before installation for any late-breaking news
and/or issues with 8.1. More information about FreeBSD
releases can be found on the <a
href="&enbase;/releases/index.html">Release
Information</a> page.</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>April-June, 2010 Status Report</title>
<p>The April-June, 2010 Status Report is <a
href="&enbase;/news/status/report-2010-04-2010-06.html">now
available</a> with 47 entries.</p>
</event>
</day>
<day>
<name>21</name>
<event>
<p>New committer: <a href="mailto:andrew@FreeBSD.org">Andrew Turner</a> (src)</p>
</event>
</day>
<day>
<name>20</name>
<event>
<title>PC-BSD 8.1 Released</title>
<p>PC-BSD 8.1 has been released. PC-BSD is a
successful desktop operating system based on FreeBSD that
focuses on providing an easy to use desktop system for
casual computer users. A list of new features/updates
since the last version can be found <a
href="http://www.pcbsd.org/content/view/170/11/">here</a>.</p>
<p>The new release can be <a
href="http://www.pcbsd.org">downloaded</a> or <a
href="http://www.freebsdmall.com">purchased</a> on DVD.</p>
</event>
</day>
<day>
<name>17</name>
<event>
<p>New committer: <a href="mailto:tijl@FreeBSD.org">Tijl Coosemans</a> (src)</p>
</event>
</day>
<day>
<name>15</name>
<event>
<p>New committer: <a href="mailto:jsa@FreeBSD.org">Joseph S. Atkinson</a> (ports)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<title>New &os; Core Team elected</title>
<p>The &os; Project is pleased to announce the completion of
the 2010 Core Team election. The &os; Core Team acts as the
project's "board of directors" and is responsible for
approving new src committers, resolving disputes between
developers, appointing sub-committees for specific purposes
(security officer, release engineering, port managers,
webmaster, etc ...), and making any other administrative
or policy decisions as needed. The Core Team has been
elected by &os; developers every 2 years since 2000.</p>
<p>More information about the election (together with a list
of the new members of the Core Team) can be found in the
official <a
href="http://docs.freebsd.org/cgi/mid.cgi?20100714193552.GS32232">announcement</a>.</p>
</event>
</day>
<day>
<name>2</name>
<event>
<title>&os; 8.1-RC2 available</title>
<p>The second (and most likely final) Release Candidate build
for the &os;-8.1 release cycle is now available. CD ISO images
for the amd64, i386, ia64, powerpc, and sparc64 architectures
can be downloaded from most of the <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>. Please see the official <a
href="&lists.stable;/2010-July/057552.html">announcement</a>
for further details about this release.</p>
</event>
</day>
</month>
<month>
<name>6</name>
<day>
<name>18</name>
<event>
<title>&os; 8.1-RC1 Available</title>
<p>The first Release Candidate build for the &os;-8.1
release cycle is now available. ISO images for Tier-1
architectures can be downloaded from most of the <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>. Please see the official <a
href="&lists.stable;/2010-June/057320.html">announcement</a>
for further details about this release.</p>
</event>
</day>
<day>
<name>10</name>
<event>
<p>New committer: <a href="mailto:ashish@FreeBSD.org">Ashish SHUKLA</a> (ports)</p>
</event>
</day>
<day>
<name>9</name>
<event>
<p>New committer: <a href="mailto:bf@FreeBSD.org">Brendan Fabeny</a> (ports)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<p>New committer: <a href="mailto:mdf@FreeBSD.org">Matthew Fleming</a> (src)</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>New committer: <a href="mailto:ae@FreeBSD.org">Andrey V. Elsukov</a> (src)</p>
</event>
<event>
<p>New committer: <a href="mailto:taras@FreeBSD.org">Taras Korenko</a> (doc/ru, www/ru)</p>
</event>
</day>
</month>
<month>
<name>5</name>
<day>
<name>29</name>
<event>
<title>&os; 8.1-BETA1 Available</title>
<p>The first of the test builds for the &os;-8.1
release cycle is now available. ISO images for Tier-1
architectures are now <a
href="&lists.stable;/2010-May/057040.html">available</a>
on most of the <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>24</name>
<event>
<title>Google Summer of Code Projects started</title>
<p>The FreeBSD Project again received many high quality
applications from students participating
in <a href="http://code.google.com/soc">Google's Summer of
Code</a> program. This year 18 student proposals to work
with the FreeBSD Project were accepted as part of this
program. For those with projects that were not accepted
this year, we'd like to note that the FreeBSD Project is
always willing to help mentor students so they can learn
more about operating system development through our normal
community mailing lists and development forums.</p>
<p>Please read the official <a
href="http://docs.freebsd.org/cgi/mid.cgi?20100526034329.GA40980">announcement</a>
for more information. The complete list of student projects
selected for funding can be found in the FreeBSD <a
href="http://wiki.freebsd.org/SummerOfCode2010Projects">Summer
of Code wiki</a>. Coding started on May 24, so please join
us in welcoming the 18 new students to our community.</p>
</event>
</day>
<day>
<name>19</name>
<event>
<p>New committer: <a href="mailto:jchandra@FreeBSD.org">Jayachandran C.</a> (src)</p>
</event>
</day>
</month>
<month>
<name>4</name>
<day>
<name>29</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:mm@FreeBSD.org">Martin Matu&scaron;ka</a>
(src, ports)</p>
</event>
</day>
<day>
<name>22</name>
<event>
<title>January-March, 2010 Status Report</title>
<p>The January-March, 2010 Status Report is <a
href="&enbase;/news/status/report-2010-01-2010-03.html">now
available</a> with 46 entries.</p>
</event>
</day>
<day>
<name>20</name>
<event>
<p>New committer: <a href="mailto:randi@FreeBSD.org">Randi Harper</a> (src)</p>
</event>
</day>
<day>
<name>19</name>
<event>
<p>New committer: <a href="mailto:rstone@FreeBSD.org">Ryan Stone</a> (src)</p>
</event>
</day>
<day>
<name>14</name>
<event>
<p>New committer: <a href="mailto:anchie@FreeBSD.org">Ana Kukec</a> (src)</p>
</event>
</day>
<day>
<name>11</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:rene@FreeBSD.org">Ren&eacute; Ladan</a>
(doc-nl, ports)</p>
</event>
<event>
<p>New committer: <a href="mailto:sahil@FreeBSD.org">Sahil Tandon</a> (ports)</p>
</event>
</day>
<day>
<name>5</name>
<event>
<p>New committer: <a href="mailto:jacula@FreeBSD.org">Giuseppe Pilichi</a> (ports)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<title>The &os; Project Participates in the Google Summer of
Code 2010 Program</title>
<p>&os; Project is <a href="http://docs.freebsd.org/cgi/getmsg.cgi?fetch=0+0+archive/2010/freebsd-announce/20100404.freebsd-announce">participating in Google's Summer of Code programme</a>
for a sixth year. Undergraduate and graduate students are
invited to apply for a grant to spend the summer improving the
&os; operating system! More information available on the
<a href="&enbase;/projects/summerofcode.html">&os; Summer of
code page</a>, including a poster to hang up at a university
near you!</p>
</event>
</day>
</month>
<month>
<name>3</name>
<day>
<name>31</name>
<event>
<p>New committer: <a href="mailto:decke@FreeBSD.org">Bernhard
Fr&ouml;hlich</a> (ports)</p>
</event>
</day>
<day>
<name>23</name>
<event>
<title>FreeBSD 7.3-RELEASE Available</title>
<p><a href="&enbase;/releases/7.3R/announce.html">FreeBSD
7.3-RELEASE</a> is now available. Please be sure to check
the <a href="&enbase;/releases/7.3R/relnotes.html">Release
Notes</a> and <a
href="&enbase;/releases/7.3R/errata.html">Release
Errata</a> before installation for any late-breaking news
and/or issues with 7.3. More information about FreeBSD
releases can be found on the <a
href="&enbase;/releases/index.html">Release
Information</a> page.</p>
</event>
</day>
<day>
<name>18</name>
<event>
<title>New Ports Management Team Secretary: <a href="mailto:tabthorpe@FreeBSD.org">Thomas Abthorpe</a></title>
<p>The &os; Ports Management Team is pleased to announce <a href="mailto:tabthorpe@FreeBSD.org">Thomas Abthorpe</a> has assumed the role of <a href="mailto:portmgr-secretary@FreeBSD.org">Ports Management Team Secretary</a>.</p>
</event>
</day>
<day>
<name>7</name>
<event>
<p>Returning committer: <a href="mailto:niels@FreeBSD.org">Niels Heinen</a> (ports)</p>
</event>
</day>
<day>
<name>4</name>
<event>
<title>&os; 7.3-RC2 Available</title>
<p>The second Release Candidate build for the &os;-7.3
release cycle is now available. ISO images for Tier-1
architectures are now <a
href="&lists.stable;/2010-March/055596.html">available</a>
on most of the <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>3</name>
<event>
<p>New committer: <a href="mailto:neel@FreeBSD.org">Neel
Natu</a> (src)</p>
</event>
</day>
</month>
<month>
<name>2</name>
<day>
<name>22</name>
<event>
<title>PC-BSD 8.0 Released</title>
<p>PC-BSD 8.0 has been released. PC-BSD is a
successful desktop operating system based on FreeBSD that
focuses on providing an easy to use desktop system for
casual computer users. A list of new features/updates
since the last version can be found <a
href="http://www.pcbsd.org/content/view/151/11/">here</a>.</p>
<p>The new release can be <a
href="http://www.pcbsd.org">downloaded</a> or <a
href="http://www.freebsdmall.com">purchased</a> on DVD.</p>
</event>
</day>
<day>
<name>15</name>
<event>
<title>&os; 7.3-RC1 Available</title>
<p>The first Release Candidate build for the &os;-7.3
release cycle is now available. ISO images for Tier-1
architectures are now <a
href="&lists.stable;/2010-February/055146.html">available</a>
on most of the <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>12</name>
<event>
<p>Enhanced commit privileges: <a
href="mailto:bcr@FreeBSD.org">Benedict Reuschling</a>
(full doc/www)</p>
</event>
</day>
<day>
<name>6</name>
<event>
<p>New committer: <a href="mailto:bschmidt@FreeBSD.org">Bernhard
Schmidt</a> (src)</p>
</event>
</day>
<day>
<name>2</name>
<event>
<title>Enhanced commit privileges:
<a href="mailto:gabor@FreeBSD.org">G&aacute;bor K&ouml;vesd&aacute;n</a>
(src, ports, doc)</title>
<p><a href="mailto:gabor@FreeBSD.org">G&aacute;bor K&ouml;vesd&aacute;n</a>
participated in
<a href="http://code.google.com/soc">Google Summer of Code</a>
2008/2009 and for his work he has been given commit access to the
source code. His first pieces of work will be bringing in the result
of his summer work into the tree.</p>
</event>
</day>
</month>
<month>
<name>1</name>
<day>
<name>30</name>
<event>
<title>&os; 7.3-BETA1 Available</title>
<p>The first BETA build for the &os;-7.3
release cycle is now available. ISO images for Tier-1
architectures are now <a
href="&lists.stable;/2010-January/054608.html">available</a>
on most of the <a
href="&url.doc.base-en;/books/handbook/mirrors-ftp.html">&os;
mirror sites</a>.</p>
</event>
</day>
<day>
<name>29</name>
<event>
<p>New committer: <a href="mailto:brucec@FreeBSD.org">Bruce
Cran</a> (src)</p>
</event>
</day>
<day>
<name>28</name>
<event>
<p>New committer: <a href="mailto:uqs@FreeBSD.org">Ulrich
Sp&ouml;rlein</a> (src)</p>
</event>
</day>
<day>
<name>26</name>
<event>
<p>New committer: <a href="mailto:romain@FreeBSD.org">Romain
Tarti&egrave;re</a> (ports)</p>
</event>
<event>
<p>New committer: <a href="mailto:avilla@FreeBSD.org">Alberto
Villa</a> (ports)</p>
</event>
</day>
<day>
<name>17</name>
<event>
<title>October-December, 2009 Status Report</title>
<p>The October-December, 2009 Status Report is <a
href="&enbase;/news/status/report-2009-10-2009-12.html">now
available</a> with 38 entries.</p>
</event>
</day>
</month>
</year>
</news>
Index: projects/zfsupdate-201307/share/xml/release.ent
===================================================================
--- projects/zfsupdate-201307/share/xml/release.ent (revision 42803)
+++ projects/zfsupdate-201307/share/xml/release.ent (revision 42804)
@@ -1,86 +1,86 @@
<!-- $FreeBSD$ -->
<!-- XXX rel.current and u.rel.* should be available in doc/ -->
<!-- The currently released versions of FreeBSD. This value is used to
create some links on web sites and such, so do NOT change it until
it's really release time. When you update this, you should also
update (at least) the following:
- similar entity in the Handbook
- similar entity in the Relnotes
- releases/index.xml has the date of the current release
- the FAQ has links to the release FTP url
- "versions supported" in security.xml
(If you're the release engineer, feel free to update this list with
other doc-related things you had to do. It'll save you time and
trouble the next time around :-).)
As of 5.0, we now have the concept of two different "currently"
released versions (from two different development branches). Use
rel.* and u.rel.* for the "latest and greatest" version and
rel2.* and u.rel2.* for the "conservative users" version.
-->
<!ENTITY rel.head.major '10'>
<!ENTITY rel.head '&rel.head.major;.0'>
<!-- If there is no release currently in the release cycle (i.e. we
don't have something in BETAn or RCn), then change %beta.testing
below to "IGNORE". If we do, use "INCLUDE". -->
<!ENTITY beta.testing "INCLUDE">
<!ENTITY % beta.testing "INCLUDE">
-<!ENTITY betarel.current '9.2'>
-<!ENTITY betarel.vers 'RC2'>
+<!ENTITY betarel.current '10.0'>
+<!ENTITY betarel.vers 'ALPHA4'>
<!ENTITY u.betarel.schedule '&base;/releases/&betarel.current;R/schedule.html'>
<!-- If we have a second release in the release cycle (e.g. 5.x and 6.y
are having release candidates at the same time), do the same here. -->
<!ENTITY beta2.testing "IGNORE">
<!ENTITY % beta2.testing "IGNORE">
-<!ENTITY betarel2.current '7.4'>
-<!ENTITY betarel2.vers 'RC3'>
+<!ENTITY betarel2.current '9.2'>
+<!ENTITY betarel2.vers 'RC4'>
<!ENTITY u.betarel2.schedule '&base;/releases/&betarel2.current;R/schedule.html'>
<!ENTITY rel.current.major '9'>
-<!ENTITY rel.current '&rel.current.major;.1'>
-<!ENTITY rel.current.date 'December 2012'>
+<!ENTITY rel.current '&rel.current.major;.2'>
+<!ENTITY rel.current.date 'September 2013'>
<!-- URLs to information on the latest release -->
<!ENTITY u.rel.notes '&base;/releases/&rel.current;R/relnotes.html'>
<!ENTITY u.rel.announce '&base;/releases/&rel.current;R/announce.html'>
<!ENTITY u.rel.errata '&base;/releases/&rel.current;R/errata.html'>
<!ENTITY u.rel.hardware '&base;/releases/&rel.current;R/hardware.html'>
<!ENTITY u.rel.installation '&base;/releases/&rel.current;R/installation.html'>
<!ENTITY u.rel.readme '&base;/releases/&rel.current;R/readme.html'>
<!-- Secondary "current release" entities -->
<!ENTITY rel2.current.major '8'>
<!ENTITY rel2.current '8.4'>
<!ENTITY rel2.current.date 'June 2013'>
<!-- URLs to information on the latest release -->
<!ENTITY u.rel2.notes '&base;/releases/&rel2.current;R/relnotes.html'>
<!ENTITY u.rel2.announce '&base;/releases/&rel2.current;R/announce.html'>
<!ENTITY u.rel2.errata '&base;/releases/&rel2.current;R/errata.html'>
<!ENTITY u.rel2.hardware '&base;/releases/&rel2.current;R/hardware.html'>
<!ENTITY u.rel2.installation '&base;/releases/&rel2.current;R/installation.html'>
<!ENTITY u.rel2.readme '&base;/releases/&rel2.current;R/readme.html'>
<!-- Tertiary "current release" entities -->
<!ENTITY rel3.current.major '7'>
<!ENTITY rel3.current '7.4'>
<!ENTITY rel3.current.date 'February 2011'>
<!-- URLs to information on the latest release -->
<!ENTITY u.rel3.notes '&base;/releases/&rel3.current;R/relnotes.html'>
<!ENTITY u.rel3.announce '&base;/releases/&rel3.current;R/announce.html'>
<!ENTITY u.rel3.errata '&base;/releases/&rel3.current;R/errata.html'>
<!ENTITY u.rel3.hardware '&base;/releases/&rel3.current;R/hardware.html'>
<!ENTITY u.rel3.installation '&base;/releases/&rel3.current;R/installation.html'>
<!ENTITY u.rel3.readme '&base;/releases/&rel3.current;R/readme.html'>
<!ENTITY gnomeoldver '2.30'>
<!ENTITY gnomever '2.32'>
<!ENTITY gnomedevelver '2.90'>
Index: projects/zfsupdate-201307/share
===================================================================
--- projects/zfsupdate-201307/share (revision 42803)
+++ projects/zfsupdate-201307/share (revision 42804)
Property changes on: projects/zfsupdate-201307/share
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
Merged /head/share:r42573-42802
Index: projects/zfsupdate-201307/zh_CN.GB2312/share/xml/teams.ent
===================================================================
--- projects/zfsupdate-201307/zh_CN.GB2312/share/xml/teams.ent (revision 42803)
+++ projects/zfsupdate-201307/zh_CN.GB2312/share/xml/teams.ent (revision 42804)
@@ -1,56 +1,58 @@
<?xml version="1.0" encoding="gb2312"?>
<!--
Names and email address of teams of people working on specified
tasks. Usally they're just mail aliases set up at hub.FreeBSD.org
Use these entities when referencing appropriate teams.
Please keep this list in alphabetical order by entity names.
IMPORTANT: If you delete names from this file you *must* ensure that
all references to them have been removed from the handbook's
translations. If they haven't then you *will* break the
builds for the other languages, and we will poke fun of you
in public.
Original revision: 1.18
$FreeBSD$
-->
<!ENTITY a.admins "FreeBSD ¼¯Èº¹ÜÀíÔ± <email>admins@FreeBSD.org</email>">
<!ENTITY a.bugmeister "ÎÊÌⱨ¸æÊý¾Ý¿â¹ÜÀíÔ± <email>bugmeister@FreeBSD.org</email>">
<!ENTITY a.core-secretary "ºËÐÄÍŶÓÃØÊé <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.cvsadm "CVS ´úÂë¿â¹ÜÀíÔ± <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.cvsup-master "CVSup ¾µÏñÕ¾µãÕÙ¼¯ÈË <email>cvsup-master@FreeBSD.org</email>">
<!ENTITY a.dcvs "CVS doc ´úÂë¿â¹ÜÀíÔ± <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.doceng "Îĵµ¹¤³Ì×é <email>doceng@FreeBSD.org</email>">
<!ENTITY a.donations "¾èÔùÁªÂç¹Ù <email>donations@FreeBSD.org</email>">
<!ENTITY a.faq "FAQ ά»¤ÈË <email>faq@FreeBSD.org</email>">
<!ENTITY a.ftp-master "FTP ¾µÏñÕ¾µãÕÙ¼¯ÈË <email>ftp-master@FreeBSD.org</email>">
<!ENTITY a.mirror-admin "FTP/WWW ¾µÏñÕ¾µãÕÙ¼¯ÈË <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.ncvs "CVS src ´úÂë¿â¹ÜÀíÔ± <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.perforce-admin "Perforce ´úÂë¿â¹ÜÀíÔ± <email>perforce-admin@FreeBSD.org</email>">
<!ENTITY a.pcvs "CVS ports ´úÂë¿â¹ÜÀíÔ± <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.portmgr "Ports ¹ÜÀíÍÅ¶Ó <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.portmgr-secretary "Ports ¹ÜÀíÍŶÓÃØÊé <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.projcvs "CVS µÚÈý·½ÏîÄ¿´úÂë¿â¹ÜÀíÔ± <email>projcvs@FreeBSD.org</email>">
<!ENTITY a.re "Release Engineering ÍÅ¶Ó <email>re@FreeBSD.org</email>">
+<!ENTITY a.secteam-secretary "Security Team Secretary <email>secteam-secretary@FreeBSD.org</email>">
+
<!ENTITY a.security-officer "Security Officer ÍÅ¶Ó <email>security-officer@FreeBSD.org</email>">
Index: projects/zfsupdate-201307/zh_CN.GB2312
===================================================================
--- projects/zfsupdate-201307/zh_CN.GB2312 (revision 42803)
+++ projects/zfsupdate-201307/zh_CN.GB2312 (revision 42804)
Property changes on: projects/zfsupdate-201307/zh_CN.GB2312
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
Merged /head/zh_CN.GB2312:r42573-42802

File Metadata

Mime Type
application/octet-stream
Expires
Wed, Oct 15, 8:37 PM (1 d, 23 h)
Storage Engine
chunks
Storage Format
Chunks
Storage Handle
a23HCWKXCxwc
Default Alt Text
(5 MB)

Event Timeline