Update to r42903:

This patch does the following to the first half of 5.6. Using the Ports Collection:

- removes csup warnings and how-tos
- remove Method 3 as sysinstall is being phased out
- adds some text and word-smithing to make unclear instructions a bit clearer
- some tag cleanup
- updated lsof listing
- some text shuffling to improve flow

Reviewed by:	bcr
Differential Revision:	https://reviews.freebsd.org/D5464
This commit is contained in:
Bjoern Heidotting 2016-02-27 08:56:59 +00:00
parent 74fbba194b
commit 11e7c3b69f
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48272

View file

@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/ports/chapter.xml,v 1.111 2011/12/19 17:13:33 bcr Exp $
basiert auf: r42829
basiert auf: r42903
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="ports">
<info><title>Installieren von Anwendungen: Pakete und Ports</title>
@ -933,33 +933,15 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
<sect1 xml:id="ports-using">
<title>Benutzen der Ports-Sammlung</title>
<para>Dieser Abschnitt stellt die grundlegenden Anweisungen
vor, um Anwendungen aus der Ports-Sammlung zu installieren oder
zu löschen. &man.ports.7; enthält eine Auflistung aller
verfügbaren <command>make</command>-Targets und
Umgebungsvariablen.</para>
<warning>
<para>Ende 2012 hat das &os; Ports-Projekt eine Migration des
Versionskontrollsystems von CVS auf Subversion durchgeführt.
Die bevorzugte Methode zum Herunterladen der Ports-Sammlung
ist <application>Portsnap</application>.
Benutzer, die lokale Anpassungen der Ports vornehmen müssen,
werden es wahrscheinlich bevorzugen, Subversion direkt zu
verwenden. Der <application>CVSup</application>-Service wurde
am 28. Februar 2013 eingestellt.</para>
</warning>
<sect2 xml:id="ports-tree">
<title>Installation der Ports-Sammlung</title>
<para>Die Ports-Sammlung ist eine Reihe von Makefiles, Patches
und Beschreibungen, die unter <filename>/usr/ports</filename>
gespeichert sind. Diese Dateien werden für den Bau und die
Installation von Anwendungen unter &os; verwendet. Die
folgenden Anweisungen zeigen verschiedene Methoden zur
Installation der Ports-Sammlung, falls diese nicht schon
während der Installation von &os; installiert wurden.</para>
<para>Die Ports-Sammlung ist eine Reihe von
<filename>Makefiles</filename>, Patches und Beschreibungen, die
unter <filename>/usr/ports</filename> gespeichert sind. Diese
Dateien werden für den Bau und die Installation von Anwendungen
unter &os; verwendet. Bevor eine Anwendung aus den Ports
erstellt werden kann, muss zuerst die Ports-Sammlung installiert
werden. Wenn Sie dies nicht bereits bei der Installation von
&os; getan haben, benutzen Sie eine der beiden Methoden um sie
zu installieren:</para>
<procedure>
<title>Installation mit Portsnap</title>
@ -967,7 +949,9 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
<para><application>Portsnap</application> ist ein schnelles
und benutzerfreundliches Werkzeug zur Installation der
Ports-Sammlung und die bevorzugte Wahl für die meisten
Benutzer.</para>
Benutzer. Im <xref linkend="updating-upgrading-portsnap"/>
finden Sie eine ausführliche Beschreibung zu
<application>Portsnap</application>.</para>
<step>
<para>Laden Sie einen komprimierten Snapshot der
@ -999,8 +983,8 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
<procedure>
<title>Installation mit Subversion</title>
<para>Wird mehr Kontrolle über die Ports-Sammlung benötigt
(beispielsweise für der Pflege lokaler Änderungen),
<para>Wird mehr Kontrolle über die Ports-Sammlung benötigt,
oder wenn die lokalen Änderungen beibehalten werden sollen,
kann <application>Subversion</application> benutzt werden,
um die Ports-Sammlung zu laden. Lesen Sie <link
xlink:href="&url.articles.committers-guide;/subversion-primer.html">the
@ -1010,7 +994,7 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
<step>
<para><application>Subversion</application> muss installiert
sein, bevor damit die Ports-Sammlung geladen werden kann.
sein, bevor die Ports-Sammlung geladen werden kann.
Ist eine lokale Kopie der Ports-Sammlung bereits
vorhanden, installieren Sie
<application>Subversion</application> wie folgt:</para>
@ -1033,17 +1017,9 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
</step>
<step>
<para>Laden Sie eine Kopie der Ports-Sammlung. Verwenden
Sie anstatt <replaceable>svn0.us-east.FreeBSD.org</replaceable> einen
<link
xlink:href="&url.books.handbook;/svn-mirrors.html">Subversion
Mirror</link> in Ihrer Nähe. Committer sollten zuvor den
<link
xlink:href="&url.articles.committers-guide;/subversion-primer.html">Subversion
Primer</link> lesen, um sicherzustellen, dass das richtige
Protokoll gewählt wird.</para>
<para>Laden Sie eine Kopie der Ports-Sammlung:</para>
<screen>&prompt.root; <userinput>svn checkout https://<replaceable>svn0.us-east.FreeBSD.org</replaceable>/ports/head /usr/ports</userinput></screen>
<screen>&prompt.root; <userinput>svn checkout https://svn.FreeBSD.org/ports/head /usr/ports</userinput></screen>
</step>
<step>
@ -1057,175 +1033,32 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
</step>
</procedure>
<procedure>
<title>Installieren mit <application>sysinstall</application></title>
<para>Nicht zuletzt ist es auch möglich, die Ports-Sammlung
über <application>sysinstall</application> zu installieren.
Beachten Sie dabei aber, dass bei dieser Methode nicht die
aktuellste Version der Ports-Sammlung, sondern die Version, die
zum Zeitpunkt der Veröffentlichung der installierten
&os;-Version aktuell war, installiert wird. Haben Sie Zugriff
auf das Internet, so sollten Sie daher stets eine der weiter oben
beschriebenen Methoden verwenden, um die Ports-Sammlung zu
installieren.</para>
<step>
<para>Führen Sie als <systemitem class="username">root</systemitem>
<command>sysinstall</command> aus:</para>
<screen>&prompt.root; <userinput>sysinstall</userinput></screen>
</step>
<step>
<para>Wählen Sie den Punkt <guimenuitem>Configure</guimenuitem>
aus und drücken Sie <keycap>Enter</keycap>.</para>
</step>
<step>
<para>Wählen Sie dann <guimenuitem>Distributions</guimenuitem>
aus und drücken Sie <keycap>Enter</keycap>.</para>
</step>
<step>
<para>In diesem Menü wählen Sie
<guimenuitem>ports</guimenuitem> aus und drücken die
<keycap>Leertaste</keycap>.</para>
</step>
<step>
<para>Danach wählen Sie <literal>Exit</literal> aus und
drücken <keycap>Enter</keycap>.</para>
</step>
<step>
<para>Legen Sie nun ein geeignetes Installationsmedium, wie CD-ROM
oder FTP, fest.</para>
</step>
<step>
<para>Wählen Sie nun <literal>Exit</literal> aus und
drücken <keycap>Enter</keycap>.</para>
</step>
<step>
<para>Verlassen Sie <application>sysinstall</application> mit
<keycap>X</keycap>.</para>
</step>
</procedure>
</sect2>
<sect2 xml:id="cvsup-migration">
<title>Migration von
<application>CVSup</application>/<application>csup</application>
zu <application>portsnap</application></title>
<warning>
<para>Seit dem 28. Februar 2013 wird die Ports-Sammlung nicht
mehr nach <application>CVS</application> exportiert. Somit
werden über <application>CVSup</application> und
<application>csup</application> keine Updates für die
Ports-Sammlung mehr zu Verfügung gestellt.</para>
</warning>
<procedure>
<title>Migration zu portsnap</title>
<para>Für die Migration werden in <filename>/usr</filename>
ca. 1&nbsp;GB freier Speicher und in
<filename>/var</filename> ca. 150&nbsp;MB freier Speicher
benötigt.</para>
<step>
<para>Deaktivieren Sie alle automatischen Updates der
Ports-Sammlung, wie beispielsweise &man.cron.8; Jobs, die
<application>CVSup</application> oder
<application>csup</application> aufrufen.</para>
</step>
<step>
<para>Verschieben Sie die bestehende Ports-Sammlung in ein
temporäres Verzeichnis:</para>
<screen>&prompt.root; <userinput>mv /usr/ports /usr/ports.old</userinput></screen>
</step>
<step>
<para>Laden Sie eine aktuelle Kopie Ports-Sammlung mit
<application>Portsnap</application> herunter und
extrahieren Sie diese nach
<filename>/usr/ports</filename>:</para>
<screen>&prompt.root; <userinput>portsnap fetch extract</userinput></screen>
</step>
<step>
<para>Verschieben Sie Distfiles und vorhandene Pakete in
die neue Ports-Sammlung:</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>Löschen Sie die alte Ports-Sammlung:</para>
<screen>&prompt.root; <userinput>rm -rf /usr/ports.old</userinput></screen>
</step>
<step>
<para>Falls zuvor <application>CVSup</application> verwendet
wurde, kann es nun deinstalliert werden:</para>
<screen>&prompt.root; <userinput>pkg_delete -r -v cvsup-without-gui-\*</userinput></screen>
</step>
<step>
<para>Benutzer von <application>pkgng</application> können
das folgende Kommando benutzen:</para>
<screen>&prompt.root; <userinput>pkg delete cvsup-without-gui</userinput></screen>
</step>
</procedure>
<para>Eine detaillierte Beschreibung von
<application>Portsnap</application> und wie die
Ports-Sammlung mit <application>Portsnap</application>
aktualisiert wird, finden Sie in <link
linkend="updating-upgrading-portsnap">Portsnap: Ein Werkzeug
zur Aktualisierung der Ports-Sammlung</link>.</para>
</sect2>
<sect2 xml:id="ports-skeleton">
<title>Ports installieren</title>
<indexterm>
<primary>Ports</primary>
<secondary>installieren</secondary>
</indexterm>
<para>Ein Port-<quote>Gerüst</quote> ist ein Satz von Dateien,
die &os; sagen, wie ein Programm zu kompilieren und zu
installieren ist. Ein jeder Port beinhaltet:</para>
<para>Die Ports-Sammlung installiert eine Reihe von
Verzeichnissen, die jeweils eine Softwarekategorie
repräsentieren. Jede Kategorie hat für jede einzelne
Anwendung ein weiteres Unterverzeichnis. Jedes
Unterverzeichnis enthält Dateien, die &os; sagen, wie ein
Programm kompiliert und installiert werden muss. Diese
Dateien werden auch Port-<quote>Gerüst</quote> genannt.
Jedes Port-<quote>Gerüst</quote> beinhaltet die folgenden
Dateien und Verzeichnisse:</para>
<itemizedlist>
<listitem>
<para><filename>Makefile</filename>: Das
<filename>Makefile</filename> enthält Anweisungen, die
spezifizieren, wie eine Anwendung kompiliert
wird und wohin sie installiert werden sollte.</para>
<para><filename>Makefile</filename>: enthält Anweisungen,
die spezifizieren, wie die Anwendung kompiliert
wird und wohin die Komponenten installiert werden
sollten.</para>
</listitem>
<listitem>
<para><filename>distinfo</filename>: Diese Datei
enthält Informationen, welche Dateien heruntergeladen
werden müssen sowie deren Prüfsummen (&man.sha256.1;),
um sicherzustellen, dass Dateien während des
Herunterladens nicht beschädigt wurden.</para>
<para><filename>distinfo</filename>: enthält die Namen und
die Prüfsummen der Dateien, die heruntergeladen werden
müssen, um den Port zu bauen.</para>
</listitem>
<listitem>
<para><filename>files</filename>: Dieses Verzeichnis
<para><filename>files</filename>: dieses Verzeichnis
enthält Patches, welche das Übersetzen und Installieren
der Anwendung unter &os; ermöglichen. Zudem können noch
weitere Dateien, die für die Übersetzung des Ports
@ -1233,95 +1066,90 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
</listitem>
<listitem>
<para><filename>pkg-descr</filename>: Diese Datei enthält
<para><filename>pkg-descr</filename>: enthält
eine ausführlichere Beschreibung der Anwendung.</para>
</listitem>
<listitem>
<para><filename>pkg-plist</filename>: Das ist eine Liste
<para><filename>pkg-plist</filename>: eine Liste
aller Dateien, die durch diesen Port installiert werden.
Außerdem sind hier Informationen enthalten, die zum
Entfernen des Ports benötigt werden.</para>
</listitem>
</itemizedlist>
<para>Einige Ports besitzen noch andere Dateien, wie
<filename>pkg-message</filename>, die vom Portsystem benutzt
werden, um spezielle Situationen zu handhaben. Wenn Sie mehr
über diese Dateien oder das Port-System erfahren sollen, lesen
Sie das <link xlink:href="&url.books.porters-handbook.en;/index.html">
&os; Porter's Handbook</link>.</para>
<para>Einige Ports beinhalten noch
<filename>pkg-message</filename> oder weitere Dateien, die vom
Port-System benutzt werden, um spezielle Situationen zu
handhaben. Wenn Sie mehr über diese Dateien oder das
Port-System erfahren wollen, lesen Sie das <link
xlink:href="&url.books.porters-handbook.en;/index.html">
&os; Porter's Handbook</link>.</para>
<para>Ein Port enthält nicht den eigentlichen Quellcode, der
auch als <quote>Distfile</quote> bekannt ist. Der Autor der
Software kann bestimmen, in welcher Weise die Software
verteilt wird. Die beiden Methoden zur Installation eines
&os;-Ports werden nachfolgend beschrieben.</para>
auch als <quote>Distfile</quote> bekannt ist. Der
heruntergeladene Quellcode wird automatisch nach
<filename>/usr/ports/distfiles</filename> extrahiert.</para>
<note>
<para>Zum Installieren von Ports müssen Sie als Benutzer
<systemitem class="username">root</systemitem> angemeldet sein.</para>
</note>
<sect2 xml:id="ports-skeleton">
<title>Ports installieren</title>
<warning>
<para>Stellen Sie sicher, dass die Ports-Sammlung
aktuell ist, bevor Sie einen Port kompilieren.
Informieren Sie sich vorher zusätzlich unter
<uri xlink:href="http://vuxml.FreeBSD.org/">http://vuxml.FreeBSD.org/</uri>
über mögliche Sicherheitsprobleme
des zu installierenden Ports. Wenn
<package>ports-mgmt/portaudit</package> installiert ist,
führen Sie <command>portaudit -F</command> aus, um die
aktuelle Sicherheitsdatenbank zu aktualisieren. Die täglich
laufende Sicherheitsprüfung des Systems aktualisiert
ebenfalls die Datenbank und prüft installierte Anwendungen
auf vorhandene Sicherheitsprobleme. Für weitere
Informationen lesen Sie die Manualpage &man.portaudit.1;
und &man.periodic.8;.</para>
</warning>
<indexterm>
<primary>Ports</primary>
<secondary>installieren</secondary>
</indexterm>
<para>Die Ports-Sammlung geht davon, dass eine funktionierende
Internetverbindung besteht. Ansonsten muss eine Kopie des zu
installierenden Distfiles manuell nach
<filename>/usr/ports/distfiles</filename> kopiert
werden.</para>
<para>Dieser Abschnitt beschreibt die grundlegende Benutzung
der Ports-Sammlung, um Software zu installieren oder zu
deinstallieren. Eine ausführliche Beschreibung der
einzelnen <command>make</command>-Targets finden Sie in
&man.ports.7;.</para>
<para>Dazu wechseln Sie als erstes in das Verzeichnis des
Ports, den Sie installieren wollen:</para>
<warning>
<para>Stellen Sie sicher, dass die Ports-Sammlung
aktuell ist, bevor Sie einen Port kompilieren.
Informieren Sie sich vorher zusätzlich unter
<uri xlink:href="http://vuxml.FreeBSD.org/">
http://vuxml.FreeBSD.org/</uri> über mögliche
Sicherheitsprobleme des zu installierenden Ports.
Alternativ können Sie <command>pkg audit -F</command>
ausführen, bevor Sie einen neuen Port installieren. Die
täglich laufende Sicherheitsprüfung des Systems
aktualisiert ebenfalls die Datenbank und prüft
installierte Anwendungen auf vorhandene
Sicherheitsprobleme. Weitere Informationen finden Sie in
&man.portaudit.1; und &man.periodic.8;.</para>
</warning>
<screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput></screen>
<para>Die Benutzung der Ports-Sammlung setzt eine
funktionierende Internetverbindung und Superuser-Rechte
voraus.</para>
<para>Um den Port zu übersetzen (auch Bauen genannt), geben Sie
am Prompt <command>make</command> ein. Die Ausgabe sollte der
in diesem Beispiel ähnlich sein:</para>
<para>Um einen Port zu installieren, wechseln Sie in das
Verzeichnis des Ports, den Sie installieren möchten. Geben
Sie dann <command>make install</command> am Prompt
ein:</para>
<screen>&prompt.root; <userinput>make</userinput>
&gt;&gt; lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
<screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput>
&prompt.root; <userinput>make install</userinput>
&gt;&gt; lsof_4.88D.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
===&gt; Extracting for lsof-4.88
...
[Ausgabe des Auspackens weggelassen]
...
&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
&gt;&gt; Checksum OK for lsof_4.88D.freebsd.tar.gz.
===&gt; Patching for lsof-4.88.d,8
===&gt; Applying FreeBSD patches for lsof-4.88.d,8
===&gt; Configuring for lsof-4.88.d,8
...
[configure-Ausgabe weggelassen]
...
===&gt; Building for lsof-4.57
===&gt; Building for lsof-4.88.d,8
...
[Ausgabe der Übersetzung weggelassen]
...
&prompt.root;</screen>
<para>Ist die Übersetzungsprozedur beendet, landen Sie
wiederum in der Kommandozeile und können das Programm
im nächsten Schritt mit <command>make install</command>
installieren:</para>
<screen>&prompt.root; <userinput>make install</userinput>
===&gt; Installing for lsof-4.57
===&gt; Installing for lsof-4.88.d,8
...
[Ausgabe der Installation weggelassen]
...
@ -1331,209 +1159,151 @@ Deinstalling ca_root_nss-3.15.1_1... done</screen>
===&gt; SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
/usr/local/bin/lsof
&prompt.root;</screen>
<para>Nachdem die Installation abgeschlossen ist, können Sie
die gerade installierte Anwendung starten. Da
<command>lsof</command> eine Anwendung ist, die mit erhöhten
Rechten läuft, wird eine Sicherheitswarnung angezeigt. Sie
sollten alle Warnungen während des Baus und der Installation
eines Ports beachten.</para>
<para>Da <command>lsof</command> eine Anwendung ist, die mit
erhöhten Rechten läuft, wird nach der Installation eine
Sicherheitswarnung angezeigt. Sobald die Installation
abgeschlossen ist, erscheint wieder der Prompt.</para>
<para>Es ist eine gute Idee, das Unterverzeichnis
<filename>work</filename> nach erfolgter Installation
wieder zu löschen. Einerseits gewinnen Sie dadurch
Speicherplatz, andererseits könnte es sonst zu Problemen
bei der Aktualisierung des Ports auf eine neuere Version
kommen.</para>
<screen>&prompt.root; <userinput>make clean</userinput>
===&gt; Cleaning for lsof-4.57
&prompt.root;</screen>
<note>
<para>Sie können zwei Schritte sparen, wenn Sie gleich
<command>make install clean </command>
anstelle von <command>make</command>, <command>make
install</command> und <command>make
clean</command> eingeben.</para>
</note>
<note>
<para>Wird ein Port immer nur mit
<command>make install</command> installiert, kann es
möglicherweise zu mehreren Wartezeiten zwischen
Benutzerinteraktionen kommen, da dem Benutzer
standardmäßig Optionen angezeigt werden. Um dies bei
einer hohen Anzahl an Abhängigkeiten zu
vermeiden, starten Sie zuerst
<command>make config-recursive</command>, um die
Konfiguration der Optionen an einem Stück zu erledigen.
Führen Sie anschließend
<command>make install [clean]</command> aus.</para>
</note>
<tip>
<para>Bei der Verwendung von
<buildtarget>config-recursive</buildtarget> wird eine
Liste von Ports, die konfiguriert werden, vom
&man.make.1;-Target
<buildtarget>all-depends-list</buildtarget> erstellt.
Es wird oft empfohlen,
<command>make config-recursive</command> so lange
auszuführen, bis alle Optionen der abhängigen Ports
definiert sind und keine Optionen und
&man.dialog.1;-Masken mehr erscheinen. Damit soll
sichergestellt werden, dass alle Optionen wie
beabsichtigt konfiguriert wurden.</para>
</tip>
<note>
<para>Um die Suche nach Kommandos zu beschleunigen, speichern
einige Shells eine Liste der verfügbaren Kommandos in den
durch die Umgebungsvariable <envar>PATH</envar> gegebenen
Verzeichnissen. Wenn Sie die <command>tcsh</command>
benutzen, müssen Sie eventuell <command>rehash</command>
eintippen, um die neu installierten Kommandos benutzen zu
können, ohne den vollständigen Pfad anzugeben. Unter
Shells wie der <command>sh</command> benutzen Sie
stattdessen das Kommando <command>hash -r</command>.
Weitere Informationen finden Sie in der Dokumentation
der jeweiligen Shell.</para>
</note>
Verzeichnissen. Benutzer der <command>tcsh</command> müssen
eventuell <command>rehash</command> eintippen, um die neu
installierten Kommandos benutzen zu können, ohne den
vollständigen Pfad anzugeben. Benutzer der Shell
<command>sh</command> müssen stattdessen
<command>hash -r</command> eintippen. Weitere Informationen
finden Sie in der Dokumentation der jeweiligen Shell.</para>
<para>Einige von Dritten angebotenen DVD-Produkte wie das
&os; Toolkit von der <link
xlink:href="http://www.freebsdmall.com/">&os; Mall</link>
enthalten auch Distfiles. Diese lassen sich über die
Ports-Sammlung installieren. Dazu hängen Sie die DVD unter
<filename>/cdrom</filename> in den Verzeichnisbaum ein.
Wenn Sie einen anderen Mountpunkt verwenden, setzen Sie die
make-Variable <varname>CD_MOUNTPTS</varname>, damit die
auf der DVD enthaltenen Distfiles automatisch verwendet
werden.</para>
<para>Bei der Installation wird ein Arbeitsverzeichnis
erstellt, das alle temporären Dateien enthält, die während
des Bauvorgangs benötigt werden. Wenn dieses Verzeichnis
nach der Installation entfernt wird, spart dies
Plattenplatz und minimiert mögliche Probleme bei der
Aktualisierung des Ports auf eine neuere Version:</para>
<note>
<para>Die Lizenzen einiger Ports verbieten die Einbeziehung
auf der DVD. Das kann verschiedene Gründe haben.
Beispielsweise ist eine Registrierung vor dem Herunterladen
erforderlich, oder die Weiterverteilung ist verboten. Wenn
Sie einen Port installieren wollen, der nicht auf
der DVD enthalten ist, müssen Sie mit dem Internet verbunden
sein.</para>
</note>
<screen>&prompt.root; <userinput>make clean</userinput>
===&gt; Cleaning for lsof-4.88.d,8
&prompt.root;</screen>
<para>Die Ports-Sammlung benutzt zum Herunterladen von Dateien
&man.fetch.3;, das Umgebungsvariablen wie
<envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar> und
<envar>FTP_PASSWORD</envar> berücksichtigt. Wenn Sie durch
eine Firewall geschützt werden, müssen Sie vielleicht
eine oder mehrere dieser Umgebungsvariablen setzen, oder einen FTP
oder HTTP Proxy verwenden. Eine Liste der unterstützten
Umgebungsvariablen finden Sie in &man.fetch.3;.</para>
<note>
<para>Sie können zwei Schritte sparen, wenn Sie bei der
Kompilierung des Ports gleich
<command>make install clean</command> eingeben.</para>
</note>
<para>Benutzer ohne eine ständige Internet-Verbindung können
<command>make fetch</command> im Verzeichnis
<filename>/usr/ports</filename> ausführen, um die benötigten
Dateien herunterzuladen. Es ist auch möglich,
<command>make fetch</command> nur in einem Teil
des Baums, wie <filename>/usr/ports/net</filename>,
aufzurufen. Die Dateien von allen abhängigen
Ports werden mit diesem Kommando allerdings nicht
heruntergeladen. Wenn Sie diese Dateien ebenfalls
herunterladen wollen, benutzen Sie
<command>make fetch-recursive</command>.</para>
<sect3>
<title>Port Installation anpassen</title>
<note>
<para>Sie können alle Ports einer Kategorie oder alle Ports
bauen, indem Sie <command>make</command> im übergeordneten
Verzeichnis ausführen. Dies ist jedoch eine gefährliche
Methode, da einige Ports nicht nebeneinander existieren
können. Weiterhin gibt es Fälle, in denen zwei Ports
unterschiedliche Inhalte in derselben Datei speichern
wollen.</para>
</note>
<para>Einige Ports bieten Optionen, mit denen zusätzliche
Funktionen oder Sicherheitsoptionen eingestellt werden
können. Beispiele dafür sind
<package>www/firefox</package>,
<package>security/gpgme</package> und
<package>mail/sylpheed-claws</package>. Wenn ein Port
über zusätzliche Abhängigkeiten und Optionen verfügt, wird
während des Bau des Ports mehrmals ein Menü ausgegeben,
wo der Benutzer verschiedene Optionen wählen
kann. Um dies zu vermeiden, wechseln Sie in das
Verzeichnis des Ports und geben Sie
<command>make config-recursive</command> ein, um die
Konfiguration an einem Stück zu erledigen. Führen Sie
danach <command>make install [clean]</command> aus, um den
Port zu kompilieren und zu installieren.</para>
<para>In einigen seltenen Fällen ist es erforderlich, die
benötigten Dateien von einem anderen Ort als den im Port
definierten <varname>MASTER_SITES</varname> herunterzuladen.
Sie können die Option <varname>MASTER_SITES</varname> mit dem
folgenden Kommando überschreiben:</para>
<tip>
<para>Bei der Verwendung von
<buildtarget>config-recursive</buildtarget> wird eine
Liste von Ports, die konfiguriert werden, vom
Target <buildtarget>all-depends-list</buildtarget>
erstellt. Es wird empfohlen,
<command>make config-recursive</command> so lange
auszuführen, bis alle Optionen der abhängigen Ports
definiert sind und keine Optionen und Menüs mehr
erscheinen. Damit soll sichergestellt werden, dass alle
Optionen konfiguriert wurden.</para>
</tip>
<screen>&prompt.root; <userinput>cd /usr/ports/directory</userinput>
<para>Es gibt diverse Möglichkeiten, dieses Menü nach dem
Bau eines Ports erneut aufzurufen, um Optionen zu
entfernen, hinzuzufügen oder anzupassen. Sie können
beispielsweise mit <command>cd</command> in das
Verzeichnis des Ports wechseln und dort
<command>make config</command> eingeben. Eine andere
Möglichkeit ist <command>make showconfig</command>. Eine
weitere Alternative bietet
<command>make rmconfig</command>, das alle ursprünglich
gewählten Optionen zurücksetzt und es Ihnen dadurch
ermöglicht, die Konfiguration erneut zu beginnen. Die
eben erwähnten Optionen werden ausführlich in
&man.ports.7; beschrieben.</para>
<para>Die Ports-Sammlung benutzt zum Herunterladen von
Dateien &man.fetch.3;, das diverse Umgebungsvariablen
unterstützt. Die Variablen
<envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>
und <envar>FTP_PASSWORD</envar> müssen unter Umständen
gesetzt werden, wenn das &os;-System hinter einer Firewall
oder einem FTP/HTTP-Proxy arbeitet. Eine vollständige
Liste der unterstützten Variablen finden Sie in
&man.fetch.1;.</para>
<para>Benutzer ohne eine ständige Internet-Verbindung können
<command>make fetch</command> im Verzeichnis
<filename>/usr/ports</filename> ausführen, um die
benötigten Dateien herunterzuladen. Es ist auch möglich,
<command>make fetch</command> nur in einem Teil des Baums,
wie <filename>/usr/ports/net</filename>, aufzurufen. Die
Dateien von allen abhängigen Ports werden mit diesem
Kommando allerdings nicht heruntergeladen. Wenn Sie diese
Dateien ebenfalls herunterladen wollen, benutzen Sie
stattdessen
<command>make fetch-recursive</command>.</para>
<para>In einigen seltenen Fällen ist es erforderlich, die
benötigten Dateien von einem anderen Ort als den im Port
definierten <varname>MASTER_SITES</varname>
herunterzuladen. Sie können
<varname>MASTER_SITES</varname> mit dem folgenden Kommando
überschreiben:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/directory</userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<replaceable>ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</replaceable> fetch</userinput></screen>
<para>Im Beispiel wurde <varname>MASTER_SITES</varname>
mit dem Wert
<literal>ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</literal>
überschrieben.</para>
<para>Die Variablen <varname>WRKDIRPREFIX</varname> und
<varname>PREFIX</varname> überschreiben das
voreingestellte Bau- und Zielverzeichnis. Zum
Beispiel:</para>
<note>
<para>Einige Ports bieten Optionen, mit denen zusätzliche
Funktionen oder Sicherheitsoptionen eingestellt werden
können. Zusätzliche Optionen können beispielsweise für
<package>www/firefox</package>,
<package>security/gpgme</package> und
<package>mail/sylpheed-claws</package>
angegeben werden. Wenn ein Port über zusätzliche
Optionen verfügt, wird ein Menü beim Bau des Ports
ausgegeben.</para>
</note>
<screen>&prompt.root; <userinput>make WRKDIRPREFIX=/usr/home/example/ports install</userinput></screen>
<sect3>
<title>Vorgabe-Verzeichnisse ändern</title>
<para>Dieses Kommando baut den Port unter
<filename>/usr/home/example/ports</filename> und installiert
ihn unter <filename>/usr/local</filename>.</para>
<para>Die Variablen <varname>WRKDIRPREFIX</varname>
und <varname>PREFIX</varname> überschreiben das
voreingestellte Bau- und Zielverzeichnis.
Zum Beispiel:</para>
<para>Die Variable <varname>PREFIX</varname> legt das
Installations-Verzeichnis fest:</para>
<screen>&prompt.root; <userinput>make WRKDIRPREFIX=/usr/home/example/ports install</userinput></screen>
<screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen>
<para>Dieses Kommando baut den Port unter
<filename>/usr/home/example/ports</filename> und installiert
ihn unter <filename>/usr/local</filename>.</para>
<para>In diesem Beispiel wird der Port unter
<filename>/usr/ports</filename> gebaut und nach
<filename>/usr/home/example/local</filename>
installiert.</para>
<para>Die Variable <varname>PREFIX</varname> legt das
Installations-Verzeichnis fest:</para>
<para>Sie können beide Variablen auch zusammen
benutzen:</para>
<screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen>
<screen>&prompt.root; <userinput>make WRKDIRPREFIX=../ports PREFIX=../local install</userinput></screen>
<para>In diesem Beispiel wird der Port unter
<filename>/usr/ports</filename> gebaut und nach
<filename>/usr/home/example/local</filename>
installiert.</para>
<para>Sie können beide Variablen auch zusammen
benutzen:</para>
<screen>&prompt.root; <userinput>make WRKDIRPREFIX=../ports PREFIX=../local install</userinput></screen>
<para>Alternativ können diese Variablen auch als
Umgebungsvariablen gesetzt werden. In der Manualpage Ihrer
Shell finden Sie Anweisungen, wie Umgebungsvariablen gesetzt
werden.</para>
</sect3>
<sect3>
<title>Ports rekonfigurieren</title>
<para>Einige Ports enthalten ein ncurses-basiertes
Menü, über dessen Optionen der Bau dieser Ports
beeinflusst werden kann. Es gibt diverse Möglichkeiten,
dieses Menü nach dem Bau eines Ports erneut aufzurufen, um
beispielsweise Optionen zu entfernen, hinzuzufügen oder
anzupassen. Sie können beispielsweise in das
Verzeichnis des Ports wechseln und dort den Befehl
<command>make config</command> eingeben. Eine andere
Möglichkeit ist <command>make showconfig</command>. Eine
weitere Alternative bietet <command>make rmconfig</command>,
der alle ursprünglich gewählten Optionen zurücksetzt und es
Ihnen dadurch ermöglicht, die Konfiguration erneut zu
beginnen. Die eben erwähnten Optionen (und viele andere)
werden ausführlich in der Manualpage &man.ports.7;
beschrieben.</para>
<para>Alternativ können diese Variablen auch als
Umgebungsvariablen gesetzt werden. In der Manualpage Ihrer
Shell finden Sie Anweisungen, wie Umgebungsvariablen gesetzt
werden.</para>
</sect3>
</sect2>
@ -1545,10 +1315,32 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
<secondary>entfernen</secondary>
</indexterm>
<para>Installierte Ports werden mit &man.pkg.delete.1; wieder
deinstalliert:</para>
<para>Installierte Ports können mit
<command>pkg delete</command> wieder deinstalliert werden.
Beispiele für dieses Kommando finden Sie in
&man.pkg-delete.8;.</para>
<screen>&prompt.root; <userinput>pkg_delete lsof-4.57</userinput></screen>
<para>Alternativ kann <command>make deinstall</command> im
Verzeichnis des Ports aufgerufen werden:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput>
<userinput>make deinstall</userinput>
===&gt; Deinstalling for sysutils/lsof
===&gt; Deinstalling
Deinstallation has been requested for the following 1 packages:
lsof-4.88.d,8
Thee deinstallation will free 229 kB
[1/1] Deleting lsof-4.88.d,8... done</screen>
<para>Es wird empfohlen die Nachrichten zu lesen, die
ausgegeben werden, wenn ein Port deinstalliert wird. Wenn
der Port noch Anwendungen hat, die von ihm abhängig sind,
werdenn diese am Bildschirm angezeigt, aber die Deinstallation
wird forgesetzt. In solchen Fällen ist es besser, die
Anwendung neu zu installieren, um fehlende Abhängigkeiten zu
vermeiden.</para>
</sect2>
<sect2 xml:id="ports-upgrading">