aboutsummaryrefslogtreecommitdiff
path: root/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'de_DE.ISO8859-1/books/handbook/ports/chapter.sgml')
-rw-r--r--de_DE.ISO8859-1/books/handbook/ports/chapter.sgml1673
1 files changed, 0 insertions, 1673 deletions
diff --git a/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml b/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml
deleted file mode 100644
index d45e615542..0000000000
--- a/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml
+++ /dev/null
@@ -1,1673 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
-<!--
- The FreeBSD Documentation Project
- The FreeBSD German Documentation Project
-
- $FreeBSD$
- $FreeBSDde: de-docproj/books/handbook/ports/chapter.sgml,v 1.111 2011/12/19 17:13:33 bcr Exp $
- basiert auf: 1.293
--->
-
-<chapter id="ports">
- <chapterinfo>
- <authorgroup>
- <author>
- <firstname>Uwe</firstname>
- <surname>Pierau</surname>
- <contrib>Übersetzt von </contrib>
- </author>
- </authorgroup>
-
- </chapterinfo>
- <title>Installieren von Anwendungen: Pakete und Ports</title>
-
- <sect1 id="ports-synopsis">
- <title>Übersicht</title>
-
- <indexterm><primary>Ports</primary></indexterm>
- <indexterm><primary>Pakete</primary></indexterm>
- <para>FreeBSD enthält sehr viele Systemwerkzeuge, die Teil des
- Basissystems sind. Allerdings sind Sie früher oder später
- auf Software Dritter angewiesen, damit Sie bestimmte Arbeiten
- durchführen können. Um diese Software zu installieren,
- stellt FreeBSD zwei sich ergänzende Methoden zur
- Verfügung: Die Ports-Sammlung (zur Installation aus dem
- Quellcode) sowie Pakete (auch als
- <foreignphrase>Packages</foreignphrase> bezeichnet, zur Installation
- von vorkompilierten binären Softwarepaketen).
- Sie können beide Methoden benutzen, um Ihre Lieblingsanwendungen
- von lokalen Medien oder über das Netzwerk zu
- installieren.</para>
-
- <para>Dieses Kapitel behandelt die folgenden Themen:</para>
-
- <itemizedlist>
- <listitem>
- <para>Die Installation binärer Softwarepakete.</para>
- </listitem>
-
- <listitem>
- <para>Der Bau Software Dritter aus dem Quellcode mithilfe der
- Ports-Sammlung.</para>
- </listitem>
-
- <listitem>
- <para>Wie zuvor installierte Pakete oder Ports
- entfernt werden.</para>
- </listitem>
-
- <listitem>
- <para>Wie Sie die Voreinstellungen der Ports-Sammlung
- überschreiben.</para>
- </listitem>
-
- <listitem>
- <para>Die Suche nach geeigneter Software.</para>
- </listitem>
-
- <listitem>
- <para>Wie Sie Ihre Anwendungen aktualisieren.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 id="ports-overview">
- <title>Installation von Software</title>
-
- <para>Wenn Sie schon einmal ein &unix; System benutzt haben, werden Sie
- wissen, dass zusätzliche Software meist wie folgt
- installiert wird:</para>
-
- <procedure>
- <step>
- <para>Download der Software, die als Quelltext oder im
- Binärformat vorliegen kann.</para>
- </step>
-
- <step>
- <para>Auspacken der Software, die typischerweise ein mit
- &man.compress.1;, &man.gzip.1; oder &man.bzip2.1;
- komprimiertes Tar-Archiv enthält.</para>
- </step>
-
- <step>
- <para>Durchsuchen der Dokumentation, die sich meist in Dateien wie
- <filename>INSTALL</filename>, <filename>README</filename> oder
- mehreren Dateien im Verzeichnis <filename>doc/</filename>
- befindet, nach Anweisungen, wie die Software
- zu installieren ist.</para>
- </step>
-
- <step>
- <para>Kompilieren der Software wenn sie als Quelltext vorliegt.
- Dazu müssen Sie vielleicht das <filename>Makefile</filename>
- anpassen, oder <command>configure</command> laufen lassen, oder
- andere Arbeiten durchführen.</para>
- </step>
-
- <step>
- <para>Testen und installieren der Software.</para>
- </step>
- </procedure>
-
- <para>Das beschreibt aber nur den optimalen Fall. Wenn Sie
- Software installieren, die nicht speziell für FreeBSD
- geschrieben wurde, müssen Sie vielleicht sogar den Quelltext
- anpassen, damit die Software funktioniert.</para>
-
- <para>Wenn Sie unbedingt wollen, können Sie mit FreeBSD Software
- nach der <quote>althergebrachten</quote> Methode installieren. Mit
- Paketen oder Ports bietet Ihnen FreeBSD allerdings zwei Methoden an,
- die Ihnen sehr viel Zeit sparen können. Zurzeit werden über
- &os.numports; Anwendungen Dritter über diese Methoden zur
- Verfügung gestellt.</para>
-
- <para>Das FreeBSD-Paket einer Anwendung besteht aus einer einzigen
- Datei, die Sie sich herunterladen müssen. Das Paket
- enthält schon übersetzte Kommandos der Anwendung, sowie
- zusätzliche Konfigurationsdateien oder Dokumentation. Zur
- Handhabung der Pakete stellt FreeBSD-Kommandos wie &man.pkg.add.1;,
- &man.pkg.delete.1; oder &man.pkg.info.1; zur Verfügung.
- Mit diesem System können neue Anwendungen mit einem
- Kommando, <command>pkg_add</command>, installiert werden.</para>
-
- <para>Der FreeBSD-Port einer Anwendung ist eine Sammlung von Dateien,
- die das Kompilieren der Quelltexte einer Anwendung
- automatisieren.</para>
-
- <para>Die Dateien eines Ports führen für Sie alle oben
- aufgeführten Schritte zum Installieren einer Anwendung durch.
- Mit einigen wenigen Kommandos wird der Quellcode der Anwendung
- automatisch heruntergeladen, ausgepackt, gepatcht, übersetzt und
- installiert.</para>
-
- <para>Tatsächlich kann das Portsystem auch dazu benutzt werden,
- Pakete zu generieren, die Sie mit den gleich beschriebenen Kommandos,
- wie <command>pkg_add</command>, manipulieren können.</para>
-
- <para>Pakete und Ports beachten Abhängigkeiten zwischen
- Anwendungen. Angenommen, Sie wollen eine Anwendung installieren,
- die von einer Bibliothek abhängt und die Anwendung wie die
- Bibliothek sind als Paket oder Port für FreeBSD verfügbar.
- Wenn Sie <command>pkg_add</command> oder das Portsystem benutzen,
- um die Anwendung zu installieren, werden Sie bemerken, dass
- die Bibliothek zuerst installiert wird, wenn sie nicht schon vorher
- installiert war.</para>
-
- <para>Sie werden sich fragen, warum FreeBSD-Pakete und -Ports
- unterstützt, wo doch beide Methoden fast gleiches leisten.
- Beide Methoden haben ihre Stärken und welche Sie einsetzen,
- hängt letztlich von Ihren Vorlieben ab.</para>
-
- <itemizedlist>
- <title>Vorteile von Paketen</title>
-
- <listitem>
- <para>Das komprimierte Paket einer Anwendung ist normalerweise
- kleiner als das komprimierte Archiv der Quelltexte.</para>
- </listitem>
-
- <listitem>
- <para>Pakete müssen nicht mehr kompiliert werden. Dies ist
- ein Vorteil, wenn Sie große Pakete, wie
- <application>Mozilla</application>, <application>KDE</application>
- oder <application>GNOME</application> auf langsamen Maschinen
- installieren.</para>
- </listitem>
-
- <listitem>
- <para>Wenn Sie Pakete verwenden, brauchen Sie nicht zu verstehen,
- wie Sie Software unter FreeBSD kompilieren.</para>
- </listitem>
- </itemizedlist>
-
- <itemizedlist>
- <title>Vorteile von Ports</title>
-
- <listitem>
- <para>Da die Pakete auf möglichst vielen System laufen sollen,
- werden Optionen beim Übersetzen zurückhaltend gesetzt.
- Wenn Sie eine Anwendung über die Ports installieren,
- können Sie die Angabe der Optionen optimieren. Zum Beispiel
- können Sie spezifischen Code für Pentium&nbsp;4 oder
- Athlon Prozessoren erzeugen.</para>
- </listitem>
-
- <listitem>
- <para>Die Eigenschaften einiger Anwendungen werden über
- Optionen zum Zeitpunkt des Übersetzens festgelegt.
- <application>Apache</application> kann zum Beispiel über
- viele eingebaute Optionen konfiguriert werden. Wenn Sie das
- Portsystem benutzen, können Sie die Vorgaben für die
- Optionen überschreiben.</para>
-
- <para>Für einige Fälle existieren verschiedene
- Pakete einer Anwendung, die beim Übersetzen
- unterschiedlich konfiguriert wurden. Für
- <application>Ghostscript</application> gibt es ein
- <filename>ghostscript</filename>-Paket und ein
- <filename>ghostscript-nox11</filename>-Paket, die sich durch die
- X11 Unterstützung unterscheiden. Diese grobe Unterscheidung
- ist mit dem Paketsystem möglich, wird aber schnell
- unhandlich, wenn eine Anwendung mehr als ein oder zwei Optionen
- zum Zeitpunkt des Übersetzens besitzt.</para>
- </listitem>
-
- <listitem>
- <para>Die Lizenzbestimmungen mancher Software verbietet ein
- Verbreiten in binärer Form. Diese Software muss als
- Quelltext ausgeliefert werden.</para>
- </listitem>
-
- <listitem>
- <para>Einige Leute trauen binären Distributionen nicht. Wenn
- Sie den Quelltext besitzen, können Sie sich diesen
- (zumindest theoretisch) durchlesen und nach möglichen Problemen
- durchsuchen.</para>
- </listitem>
-
- <listitem>
- <para>Wenn Sie eigene Anpassungen besitzen, benötigen Sie den
- Quelltext, um diese anzuwenden.</para>
- </listitem>
-
- <listitem>
- <para>Manch einer besitzt gerne den Quelltext, um ihn zu lesen,
- wenn es einmal langweilig ist, ihn zu hacken, oder sich einfach
- ein paar Sachen abzugucken (natürlich nur, wenn es die
- Lizenzbestimmungen erlauben).</para>
- </listitem>
- </itemizedlist>
-
- <para>Wenn Sie über aktualisierte Ports informiert sein wollen,
- lesen Sie bitte die Mailinglisten &a.ports; und &a.ports-bugs;.</para>
-
- <warning>
- <para>Bevor Sie eine Anwendung installieren, sollten Sie
- auf der Seite <ulink url="http://vuxml.FreeBSD.org/"></ulink>
- über mögliche Sicherheitsprobleme mit der
- Anwendung informieren.</para>
-
- <para>Die Anwendung
- <filename role="package">ports-mgmt/portaudit</filename>
- prüft automatisch alle installierten Anwendungen
- auf bekannte Sicherheitslöcher. Vor dem Bau eines
- Ports findet ebenfalls eine Prüfung statt.
- Installierte Pakete prüfen Sie mit dem
- Kommando <command>portaudit -F -a</command>.</para>
- </warning>
-
- <para>Der Rest dieses Kapitels beschreibt, wie Sie Software Dritter mit
- Paketen oder Ports auf einem FreeBSD-System installieren und
- verwalten.</para>
- </sect1>
-
- <sect1 id="ports-finding-applications">
- <title>Suchen einer Anwendung</title>
-
- <para>Bevor Sie eine Anwendung installieren, müssen Sie deren
- Art und Namen kennen.</para>
-
- <para>Die Anzahl der nach FreeBSD portierten Anwendungen steigt
- ständig. Zum Glück gibt es einige Wege, die richtige zu
- finden.</para>
-
- <itemizedlist>
- <listitem>
- <para>Eine aktuelle Liste verfügbarer Anwendungen, die sich
- auch durchsuchen lässt, finden Sie unter <ulink
- url="&url.base;/ports/index.html">http://www.FreeBSD.org/ports/</ulink>.
- Die Anwendungen sind in Kategorien unterteilt und Sie
- können sich alle Anwendungen einer Kategorie anzeigen
- lassen. Wenn Sie den Namen der Anwendung kennen, können
- Sie natürlich auch direkt nach dem Namen suchen.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>FreshPorts</primary></indexterm>
-
- <para>FreshPorts, das von Dan Langille gepflegt wird, erreichen Sie
- unter <ulink url="http://www.FreshPorts.org/"></ulink>.
- FreshPorts verfolgt
- Änderungen an Anwendungen aus den Ports. Mit FreshPorts
- können Sie ein oder mehrere Ports beobachten und sich eine
- E-Mail schicken lassen, wenn ein Port aktualisiert wird.</para>
- </listitem>
-
- <listitem>
- <indexterm><primary>FreshMeat</primary></indexterm>
-
- <para>Wenn Sie den Namen einer Anwendung nicht kennen, versuchen
- Sie eine Webseite wie FreshMeat
- (<ulink url="http://www.freshmeat.net/"></ulink>),
- um eine passende Anwendung zu finden. Schauen Sie dann auf der
- FreeBSD-Webseite nach, ob die Anwendung schon portiert
- wurde.</para>
- </listitem>
-
- <listitem>
- <para>Wenn Sie den Portnamen kennen und nur nach der
- Kategorie suchen wollen, verwenden Sie das Kommando
- &man.whereis.1;. Geben Sie einfach
- <command>whereis <replaceable>Datei</replaceable></command> ein.
- <replaceable>Datei</replaceable> ist der Name des
- Programms, das Sie suchen:</para>
-
- <screen>&prompt.root; <userinput>whereis lsof</userinput>
-lsof: /usr/ports/sysutils/lsof</screen>
-
- <para>Damit haben wir herausgefunden, dass sich
- <command>lsof</command>, ein Systemwerkzeug, im Verzeichnis
- <filename class="directory">/usr/ports/sysutils/lsof</filename>
- befindet.</para>
- </listitem>
-
- <listitem>
- <para>Auch mit einem einfachen &man.echo.1;-Befehl können
- Sie herausfinden, wo Sie einen bestimmten Port finden. Dazu
- ein Beispiel:</para>
-
- <screen>&prompt.root; <userinput>echo /usr/ports/*/*lsof*</userinput>
- /usr/ports/sysutils/lsof</screen>
-
- <para>Beachten Sie aber, dass dieser Befehl auch alle Dateien
- im Verzeichnis <filename
- class="directory">/usr/ports/distfiles</filename>
- findet, auf die der angegebene Suchbegriff passt.</para>
- </listitem>
-
- <listitem>
- <para>Ein weiterer Weg, einen bestimmten Port zu finden, ist es,
- die eingebaute Suchfunktion der Ports-Sammlung zu benutzen.
- Dazu muss Ihr Arbeitsverzeichnis <filename
- class="directory">/usr/ports</filename>
- sein. In diesem Verzeichnis rufen Sie
- <command>make <maketarget>search</maketarget>
- name=<replaceable>Anwendungsname</replaceable></command>
- auf, wobei <replaceable>Anwendungsname</replaceable>
- der Name der gesuchten Anwendung ist. Wenn Sie
- zum Beispiel nach <command>lsof</command> suchen:</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>
-
- <para>Der Teil der Ausgabe der Sie interessiert ist die Zeile, die
- mit <quote>Path:</quote> beginnt, weil sie Ihnen sagt, wo der Port
- zu finden ist. Die anderen Informationen werden zum Installieren
- des Ports nicht direkt benötigt, Sie brauchen sich darum
- jetzt nicht weiter zu kümmern.</para>
-
- <para>Erweiterte Suchen führen Sie mit dem Kommando
- <command>make <maketarget>search</maketarget>
- key=<replaceable>Text</replaceable></command>
- aus. Damit werden Portnamen, Kommentare, Beschreibungen und
- Abhängigkeiten nach <replaceable>Text</replaceable>
- durchsucht. Dies kann sehr nützlich sein, wenn Sie
- den Namen des Programms, nach dem Sie suchen, nicht kennen.</para>
-
- <para>In beiden Fällen wird Groß- und Kleinschreibung bei
- der Suche ignoriert. Die Suche nach <quote>LSOF</quote> wird
- dieselben Ergebnisse wie die Suche nach <quote>lsof</quote>
- liefern.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 id="packages-using">
- <sect1info>
- <authorgroup>
- <author>
- <firstname>Chern</firstname>
- <surname>Lee</surname>
- <contrib>Beigesteuert von </contrib>
- </author>
- </authorgroup>
- <!-- 30 Mar 2001 -->
- </sect1info>
-
- <title>Benutzen des Paketsystems</title>
-
- <para>Es gibt viele unterschiedliche Werkzeuge um Pakete in
- FreeBSD zu verwalten:</para>
-
- <itemizedlist>
- <listitem>
- <para>Auf einem laufenden System kann <command>sysinstall</command>
- benutzt werden, um Pakete zu installieren, zu löschen und
- verfügbare und installierte anzuzeigen. Weitere Informationen
- finden Sie unter <xref linkend="packages"/>.</para>
- </listitem>
- <listitem>
- <para>Die Paketverwaltungswerkzeuge der Kommandozeile sind die
- Themen von diesem Kapitel.</para>
- </listitem>
- </itemizedlist>
-
- <sect2>
- <title>Installieren eines Pakets</title>
- <indexterm>
- <primary>Pakete</primary>
- <secondary>installieren</secondary>
- </indexterm>
-
- <indexterm>
- <primary><command>pkg_add</command></primary>
- </indexterm>
- <para>Mit &man.pkg.add.1; können Sie ein FreeBSD-Paket von einer
- lokalen Datei oder über das Netzwerk installieren.</para>
-
- <example>
- <title>Download vor Installation eines Pakets</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>Wenn Sie die Pakete nicht lokal vorliegen haben (zum Beispiel
- auf den FreeBSD-CD-ROMs), ist es wahrscheinlich einfacher den
- Schalter <option>-r</option> von &man.pkg.add.1; zu verwenden. Das
- Werkzeug bestimmt dann automatisch das nötige Objektformat und
- die richtige Version des Pakets, lädt dieses dann von einem
- FTP-Server und installiert das Paket.</para>
-
- <indexterm>
- <primary><command>pkg_add</command></primary></indexterm>
- <screen>&prompt.root; <userinput>pkg_add -r <replaceable>lsof</replaceable></userinput></screen>
-
- <para>Das obige Beispiel würde ohne weitere Interaktion das
- richtige Paket herunterladen und installieren. Pakete
- werden vom &os;-Hauptserver heruntergeladen. Wenn Sie
- anderen Server verwenden möchten, geben Sie den
- Server in der Umgebungsvariablen <envar>PACKAGESITE</envar>
- an. Die Dateien werden
- mit &man.fetch.3;, das Umgebungsvariablen wie
- <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar> und
- <envar>FTP_PASSWORD</envar> berücksichtigt, heruntergeladen.
- 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;.
- Beachten Sie, dass im obigen Beispiel <literal>lsof</literal>
- anstelle von <literal>lsof-4.56.4</literal> verwendet wird. Wenn
- Sie &man.pkg.add.1; zum Herunterladen eines Pakets verwenden, darf
- die Versionsnummer des Pakets nicht angegeben werden, da
- automatisch die neuste Version der Anwendung geholt wird.</para>
-
- <note>
- <para>Unter &os.current; oder &os.stable; holt &man.pkg.add.1;
- die neuste Version einer Anwendung, unter einer Release
- holt &man.pkg.add.1; die Version der Anwendung, die
- im Release enthalten ist. Sie können dies ändern,
- indem Sie die Umgebungsvariable <envar>PACKAGESITE</envar>
- überschreiben. Wenn Sie bespielsweise
- &os;&nbsp;8.1-RELEASE installiert haben, versucht
- &man.pkg.add.1; in der Voreinstellung die Pakete von
- <literal>ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/</literal>
- zu laden. Wollen Sie &man.pkg.add.1; dazu zwingen, nur
- &os;&nbsp;8-STABLE-Pakete herunterzuladen, setzen Sie die
- Umgebungsvariable <envar>PACKAGESITE</envar> auf
- <literal>ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/</literal>.</para>
- </note>
-
- <para>Pakete werden im <filename>.tgz</filename>- und
- <filename>.tbz</filename>-Format ausgeliefert. Sie finden Sie unter
- <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/"></ulink>
- oder auf der FreeBSD-CD-ROM-Distribution. Jede CD der FreeBSD
- Distribution (oder des PowerPaks) enthält Pakete im
- Verzeichnis <filename>/packages</filename>. Die Struktur des
- Paketbaums entspricht dem <filename>/usr/ports</filename> Baum.
- Jede Kategorie besitzt ein eigenes Verzeichnis und alle
- Pakete befinden sich im Verzeichnis
- <filename>All</filename>.</para>
-
- <para>Die Verzeichnisstruktur des Paketbaums ist ein Abbild der
- Ports, da beide Systeme eng zusammenarbeiten.</para>
- </sect2>
-
- <sect2>
- <title>Verwalten von Paketen</title>
-
- <indexterm>
- <primary>Pakete</primary>
- <secondary>verwalten</secondary>
- </indexterm>
- <para>&man.pkg.info.1; zeigt alle installierten Pakete und deren
- Beschreibung an.</para>
-
- <indexterm>
- <primary><command>pkg_info</command></primary>
- </indexterm>
- <screen>&prompt.root; <userinput>pkg_info</userinput>
-cvsup-16.1 A general network file distribution system optimized for CV
-docbook-1.2 Meta-port for the different versions of the DocBook DTD
-...</screen>
- <para>&man.pkg.version.1; vergleicht die Version installierter Pakete
- mit der Version aus der Ports-Sammlung.</para>
- <indexterm>
- <primary><command>pkg_version</command></primary>
- </indexterm>
- <screen>&prompt.root; <userinput>pkg_version</userinput>
-cvsup =
-docbook =
-...</screen>
-
- <para>Die Symbole in der zweiten Spalte zeigen das Alter des Pakets
- im Vergleich zu der lokalen Version aus der Ports-Sammlung an.</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Symbol</entry>
- <entry>Bedeutung</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>=</entry>
- <entry>Die Version des installierten Paketes stimmt mit der
- Version aus der lokalen Ports-Sammlung überein.</entry>
- </row>
-
- <row>
- <entry>&lt;</entry>
- <entry>Die installierte Version ist älter als die der
- verfügbaren Version aus der Ports-Sammlung.</entry>
- </row>
-
- <row>
- <entry>&gt;</entry>
- <entry>Die installierte Version ist neuer als die aus der
- Ports-Sammlung (Eventuell ist die lokale Ports-Sammlung
- veraltet).</entry>
- </row>
-
- <row>
- <entry>?</entry>
- <entry>Das installierte Paket konnte in der Ports-Sammlung
- nicht gefunden werden. Das kann dadurch hervorgerufen
- werden, dass ein installierter Port aus der
- Ports-Sammlung entfernt wurde oder einen neuen
- Namen erhalten hat.</entry>
- </row>
-
- <row>
- <entry>*</entry>
- <entry>In der Ports-Sammlung befinden sich mehrere Versionen
- der Anwendung.</entry>
- </row>
-
- <row>
- <entry>!</entry>
- <entry>Das installierte Paket ist zwar im Index enthalten,
- aus irgendeinem Grund war <command>pkg_version</command>
- aber dennoch nicht in der Lage, die Versionsnummer des
- installierten Pakets mit der Versionsnummer des
- entsprechenden Eintrags im Index zu vergleichen.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
-
- <sect2>
- <title>Entfernen eines Pakets</title>
- <indexterm>
- <primary><command>pkg_delete</command></primary>
- </indexterm>
- <indexterm>
- <primary>Pakete</primary>
- <secondary>entfernen</secondary>
- </indexterm>
- <para>Um ein zuvor installiertes Paket zu entfernen, benutzen Sie das
- Werkzeug &man.pkg.delete.1;.</para>
-
- <screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat-1.7.1</replaceable></userinput></screen>
-
- <para>Beachten Sie, dass &man.pkg.delete.1; die vollständige
- Bezeichnung des Pakets benötigt (also Paketname
- <emphasis>und</emphasis> Versionsnummer). Die Eingabe von
- <replaceable>xchat</replaceable> (anstelle von
- <replaceable>xchat-1.7.1</replaceable>) ist daher nicht
- ausreichend. Zwar können Sie die Versionsnummer eines
- installierten Pakets mit &man.pkg.version.1; herausfinden,
- es ist aber auch möglich, ein Paket zu deinstallieren,
- ohne die exakte Versionsnummer zu kennen, wenn Sie Wildcards
- einsetzen:</para>
-
- <screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat\*</replaceable></userinput></screen>
-
- <para>In diesem Beispiel werden alle Pakete gelöscht, deren
- Name mit <literal>xchat</literal> beginnt.</para>
- </sect2>
-
- <sect2>
- <title>Verschiedenes</title>
- <para>Informationen über alle installierte Pakete werden in
- <filename>/var/db/pkg</filename> abgelegt. Das Verzeichnis
- enthält Dateien, in denen sich die Beschreibungen der Pakete
- und Listen von Dateien, die zu einem Paket gehören,
- befinden.</para>
- </sect2>
- </sect1>
-
- <sect1 id="ports-using">
- <title>Benutzen der Ports-Sammlung</title>
-
- <para>Die folgenden Abschnitte stellen die grundlegenden Anweisungen
- vor, um Anwendungen aus der Ports-Sammlung auf
- Ihren Rechner zu installieren oder zu löschen. &man.ports.7;
- enthält eine Auflistung aller verfügbaren
- <command>make</command>-Targets und Umgebungsvariablen.</para>
-
- <sect2 id="ports-tree">
- <title>Installation der Ports-Sammlung</title>
-
- <para>Bevor Sie einen Port installieren können, müssen Sie
- zuerst die Ports-Sammlung installieren, die aus Makefiles, Patches
- und Beschreibungen besteht. Die Ports-Sammlung wird
- für gewöhnlich unter <filename>/usr/ports</filename>
- installiert.</para>
-
- <para>Bei der FreeBSD-Installation hatten Sie in
- <application>sysinstall</application> die Möglichkeit, die
- Ports-Sammlung zu installieren. Wenn Sie die Sammlung damals nicht
- installiert haben, können Sie das mit den folgenden
- Anweisungen nachholen:</para>
-
- <procedure>
- <title>Installieren mit <application>CVSup</application></title>
-
- <para>Dies ist eine schnelle Methode, um die Ports-Sammlung zu
- installieren und zu aktualisieren.
- <application>CVSup</application> wird im Abschnitt <link
- linkend="cvsup">Benutzen von CVSup</link> des Handbuchs
- beschrieben.</para>
-
- <note>
- <para>Die im Basissystem enthaltene Variante
- des <application>CVSup</application>-Protokolls heißt
- <application>csup</application>.</para>
- </note>
-
- <para>Achten Sie darauf, dass das Verzeichnis <filename
- class="directory">/usr/ports</filename> leer ist, bevor Sie
- <application>csup</application> das erste Mal ausführen!
- Haben Sie die Ports-Sammlung zuvor schon aus einer anderen
- Quelle installiert, wird <application>csup</application>
- bereits aus dem Repository entfernte Patches nicht aus der
- lokalen Kopie der Ports-Sammlung löschen.</para>
-
- <step>
- <para>Rufen Sie <command>csup</command> auf:</para>
-
- <screen>&prompt.root; <userinput>csup -L 2 -h <replaceable>cvsup.FreeBSD.org</replaceable> /usr/share/examples/cvsup/ports-supfile</userinput></screen>
-
- <para>Ersetzen Sie
- <replaceable>cvsup.FreeBSD.org</replaceable> durch einen
- <application>CVSup</application>-Server in Ihrer Nähe.
- Eine vollständige Liste der
- <application>CVSup</application>-Spiegel finden Sie im
- Abschnitt <link linkend="cvsup-mirrors">CVSup-Server</link>
- des Handbuchs.</para>
-
- <note>
- <para>Sie sollten sich eine an Ihre Bedürfnisse angepasste
- <filename>ports-supfile</filename> erstellen, um so
- beispielsweise zu vermeiden, dass Sie bei jedem Aufruf von
- <application>CVSup</application> wieder die Parameterliste
- übergeben müssen.</para>
-
- <procedure>
- <step>
- <para>Dazu kopieren Sie zuerst als <username>root</username>
- die Datei
- <filename>/usr/share/examples/cvsup/ports-supfile</filename>
- nach <filename>/root</filename> oder in Ihr
- Heimatverzeichnis.</para>
- </step>
-
- <step>
- <para>Danach müssen Sie die Datei
- <filename>ports-supfile</filename> anpassen.</para>
- </step>
-
- <step>
- <para>Dazu ersetzen Sie
- <replaceable>cvsup.FreeBSD.org</replaceable> durch einen
- <application>CVSup</application>-Server in Ihrer Nähe.
- Eine vollständige Liste der
- <application>CVSup</application>-Spiegel finden Sie im
- Abschnitt <link linkend="cvsup-mirrors">CVSup-Server</link>
- des Handbuchs.</para>
- </step>
-
- <step>
- <para>Nun können Sie <command>csup</command> mit
- folgender Syntax starten:</para>
-
- <screen>&prompt.root; <userinput>csup -L 2 <replaceable>/root/ports-supfile</replaceable></userinput></screen>
- </step>
- </procedure>
- </note>
- </step>
-
- <step>
- <para>Mit &man.csup.1; können Sie später auch die
- Ports-Sammlung aktualisieren. Die installierten Ports werden
- mit diesem Kommando allerdings nicht aktualisiert.</para>
- </step>
- </procedure>
-
- <procedure>
- <title>Installieren mit Portsnap</title>
-
- <para>Bei <application>Portsnap</application> handelt es sich
- um ein alternatives System zur Distribution der Ports-Sammlung.
- Eine detaillierte Beschreibung von
- <application>Portsnap</application> finden Sie im Abschnitt
- <link linkend="updating-upgrading-portsnap">Portsnap: Ein Werkzeug
- zur Aktualisierung der Ports-Sammlung</link> des Handbuchs.</para>
-
- <step>
- <para>Laden Sie einen komprimierten Snapshot der Ports-Sammlung
- in das Verzeichnis <filename
- class="directory">/var/db/portsnap</filename> herunter. Danach
- können Sie die Internetverbindung trennen, wenn Sie dies
- wünschen.</para>
-
- <screen>&prompt.root; <userinput>portsnap fetch</userinput></screen>
- </step>
-
- <step>
- <para>Wenn Sie <application>Portsnap</application> das erste
- Mal verwenden, müssen Sie den Snapshot nach
- <filename class="directory">/usr/ports</filename>
- extrahieren:</para>
-
- <screen>&prompt.root; <userinput>portsnap extract</userinput></screen>
-
- <para>Ist die Ports-Sammlung bereits installiert, und Sie
- wollen diese nur aktualisieren, führen Sie
- stattdessen folgenden Befehl aus:</para>
-
- <screen>&prompt.root; <userinput>portsnap update</userinput></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 <username>root</username>
- <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 id="ports-skeleton">
- <title>Ports installieren</title>
-
- <indexterm>
- <primary>Ports</primary>
- <secondary>installieren</secondary>
- </indexterm>
-
- <para>Was ist mit einem <quote>Gerüst</quote> im Zusammenhang
- mit der Ports-Sammlung gemeint? In aller Kürze: ein
- Gerüst eines Ports ist ein minimaler Satz von Dateien, mit
- denen das FreeBSD-System eine Anwendung sauber übersetzen und
- installieren kann. Ein jeder Port beinhaltet:</para>
-
- <itemizedlist>
- <listitem>
- <para>Eine Datei <filename>Makefile</filename>. Das
- <filename>Makefile</filename> enthält verschiedene
- Anweisungen, die spezifizieren, wie eine Anwendung kompiliert
- wird und wo sie auf Ihrem System installiert werden
- sollte.</para>
- </listitem>
-
- <listitem>
- <para>Eine Datei <filename>distinfo</filename>. Diese
- enthält Informationen, welche Dateien heruntergeladen
- werden müssen sowie deren MD5-Prüfsummen
- (die Sie mit &man.sha256.1;
- überprüfen können, um sicher zu gehen,
- dass diese Dateien während des Herunterladens nicht
- beschädigt wurden).</para>
- </listitem>
-
- <listitem>
- <para>Ein <filename>files</filename> Verzeichnis. Hierin
- liegen Patches, welche das Übersetzen und Installieren
- der Anwendung ermöglichen. Patches sind im Wesentlichen
- kleine Dateien, die Änderungen an speziellen Dateien
- spezifizieren. Sie liegen als reiner Text vor und sagen
- ungefähr:
- <quote>Lösche Zeile 10</quote> oder
- <quote>Ändere Zeile 26 zu ...</quote>. Patches sind
- auch bekannt unter dem Namen <quote>diffs</quote>, weil
- Sie mit dem Programm &man.diff.1;
- erstellt werden.</para>
-
- <para>Dieses Verzeichnis kann auch noch andere Dateien enthalten,
- welche zum Bauen des Ports benutzt werden.</para>
- </listitem>
-
- <listitem>
- <para>Eine Datei <filename>pkg-descr</filename>. Eine
- ausführlichere, oft mehrzeilige Beschreibung der
- Anwendung.</para>
- </listitem>
-
- <listitem>
- <para>Eine Datei <filename>pkg-plist</filename>. Das ist 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 bitte das <ulink url="&url.books.porters-handbook.en;/index.html">
- FreeBSD Porter's Handbook</ulink>.</para>
-
- <para>Ein Port enthält lediglich Anweisungen, wie der Quelltext
- zu bauen ist, nicht aber den eigentlichen Quelltext.
- Den Quelltext erhalten Sie von einer CD-ROM oder aus dem
- Internet. Quelltexte werden in einem Format nach Wahl des
- jeweiligen Software-Autors ausgeliefert. Häufig
- ist dies ein gezipptes Tar-Archiv, aber es kann auch mit einem
- anderen Tool komprimiert oder gar nicht komprimiert sein. Der
- Quelltext, in welcher Form er auch immer vorliegen mag, wird
- <quote>Distfile</quote> genannt. Die zwei Methoden, mit denen
- ein Port installiert wird, werden unten besprochen.</para>
-
- <note>
- <para>Zum Installieren von Ports müssen Sie als Benutzer
- <username>root</username> angemeldet sein.</para>
- </note>
-
- <warning>
- <para>Stellen Sie sicher, dass die Ports-Sammlung
- aktuell ist, bevor Sie einen Port installieren.
- Informieren Sie sich vorher zusätzlich unter
- <ulink url="http://vuxml.FreeBSD.org/"></ulink>
- über mögliche Sicherheitsprobleme
- des zu installierenden Ports.</para>
-
- <para>Vor der Installation kann
- <application>portaudit</application> eine neue Anwendung
- automatisch auf Sicherheitslöcher prüfen.
- Das Werkzeug befindet sich in der Ports-Sammlung
- (<filename role="package">ports-mgmt/portaudit</filename>).
- Vor der Installation einer neuen Anwendung sollten
- Sie mit <command>portaudit -F</command> die
- Sicherheitsdatenbank aktualisieren. Die täglich
- laufende Sicherheitsprüfung des Systems
- aktualisiert die Datenbank und prüft installierte
- Anwendungen auf vorhandene Sicherheitslöcher.
- Weiteres erfahren Sie in den Hilfeseiten &man.portaudit.1;
- und &man.periodic.8;.</para>
- </warning>
-
- <para>Die Ports-Sammlung geht davon, dass Ihr System über
- eine funktionierende Internetverbindung verfügt.
- Ist dies nicht der Fall, müssen Sie eine Kopie des zu
- installierenden Distfiles manuell nach
- <filename>/usr/ports/distfiles</filename> kopieren.</para>
-
- <para>Dazu wechseln Sie als erstes in das Verzeichnis des
- Ports, den Sie installieren wollen:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput></screen>
-
- <para>Im Verzeichnis <filename>lsof</filename> kann man das
- Gerüst erkennen. Der
- nächste Schritt ist das Übersetzen (auch Bauen genannt)
- des Ports durch die Eingabe des Befehls
- <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
-...
-[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
-...
-[configure-Ausgabe weggelassen]
-...
-===&gt; Building for lsof-4.57
-...
-[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 installieren. Dazu verwenden Sie
- den Befehl <command>make
- <maketarget>install</maketarget></command>:</para>
-
- <screen>&prompt.root; <userinput>make install</userinput>
-===&gt; Installing for lsof-4.57
-...
-[Ausgabe der Installation weggelassen]
-...
-===&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>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>Es ist eine gute Idee, das Unterverzeichnis <filename
- class="directory">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 <maketarget>install clean</maketarget> </command>
- anstelle von <command>make</command>, <command>make
- install</command> und <command>make
- clean</command> eingeben.</para>
- </note>
-
- <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. Nach der Installation eines Ports müssen
- Sie in einer solchen Shell vielleicht das Kommando
- <command>rehash</command> absetzen, um die neu installierten
- Kommandos benutzen zu können. Das Kommando
- <command>rehash</command> gibt es in Shells wie
- der <command>tcsh</command>. Unter Shells wie
- der <command>sh</command>
- benutzen Sie das Kommando <command>hash -r</command>.
- Weiteres entnehmen Sie bitte der Dokumentation
- Ihrer Shell.</para>
- </note>
-
- <para>Einige von Dritten angebotenen DVD-ROM-Produkte wie das
- FreeBSD Toolkit von der <ulink
- url="http://www.freebsdmall.com/">FreeBSD Mall</ulink>
- enthalten auch Distfiles (komprimierte Quellcodepakete).
- Diese lassen sich über die Ports-Sammlung installieren.
- Dazu hängen Sie die DVD-ROM unter
- <filename>/cdrom</filename> in den Verzeichnisbaum ein. Wenn
- Sie einen anderen Mountpunkt verwenden, sollten Sie die
- make-Variable <makevar>CD_MOUNTPTS</makevar> setzen, damit die
- auf der DVD-ROM enthaltenen Distfiles automatisch verwendet
- werden.</para>
-
- <note>
- <para>Beachten Sie bitte, dass die Lizenzen einiger Ports
- die Einbeziehung auf der CD-ROM verbieten. Das kann
- verschiedene Gründe haben. Beispielsweise eine
- Registrierung vor dem Herunterladen erforderlich oder die
- Weiterverteilung ist verboten. Wenn Sie einen Port
- installieren wollen, der nicht auf
- der CD-ROM enthalten ist, müssen Sie online sein.</para>
- </note>
-
- <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>
-
- <para>Benutzer ohne eine ständige Internet-Verbindung
- werden das Kommando <command>make fetch</command> zu
- schätzen wissen. Das Kommando lädt alle
- benötigten Dateien eines Ports herunter. Sie
- können das Kommando im Verzeichnis
- <filename>/usr/ports</filename> laufen lassen. In diesem
- Fall werden <emphasis>alle</emphasis> Dateien
- heruntergeladen. Es ist auch möglich, <command>make
- <maketarget>fetch</maketarget></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, ersetzen Sie im Kommando
- <maketarget>fetch</maketarget> durch
- <maketarget>fetch-recursive</maketarget>.</para>
-
- <note>
- <para>Abhängig davon, in welchem Verzeichnis
- Sie <command>make</command> aufrufen, können
- Sie analog zu <command>make fetch</command> die
- Ports einer Kategorie oder alle Ports bauen. Beachten
- Sie allerdings, dass manche Ports nicht zusammen
- installiert werden können. Weiterhin gibt es
- Fälle, in denen zwei Ports unterschiedliche
- Inhalte in derselben Datei speichern wollen.</para>
- </note>
-
- <para>Manchmal ist es erforderlich, die benötigten
- Dateien von einem anderen Ort als den im Port vorgesehenen
- herunterzuladen. Der Ort wird durch die Variable
- <makevar>MASTER_SITES</makevar> vorgegeben, die Sie
- wie folgt überschreiben können:</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>Im Beispiel wurde <makevar>MASTER_SITES</makevar>
- mit dem Wert
- <literal>ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</literal>
- überschrieben.</para>
-
- <note>
- <para>Einige Ports besitzen Optionen, mit denen Sie
- zusätzliche Funktionen oder Sicherheitsoptionen
- einstellen können (oder manchmal auch müssen).
- Zusätzliche Optionen können beispielsweise für
- <filename role="package">www/firefox</filename>,
- <filename role="package">security/gpgme</filename> und
- <filename role="package">mail/sylpheed-claws</filename>
- angegeben werden. Wenn ein Port über zusätzliche
- Optionen verfügt, werden diese beim Bau des
- Ports auf der Konsole ausgegeben.</para>
- </note>
-
- <sect3>
- <title>Vorgabe-Verzeichnisse ändern</title>
-
- <para>Manchmal ist es nützlich (oder erforderlich),
- in anderen Verzeichnissen zu arbeiten. Die Verzeichnisse
- können Sie mit den Variablen <makevar>WRKDIRPREFIX</makevar>
- und <makevar>PREFIX</makevar> einstellen. Die Variable
- <makevar>WRKDIRPREFIX</makevar> gibt das Bauverzeichnis an:</para>
-
- <screen>&prompt.root; <userinput>make WRKDIRPREFIX=/usr/home/example/ports install</userinput></screen>
-
- <para>Dieses Kommando baut den Port in
- <filename>/usr/home/example/ports</filename> und installiert
- ihn unter <filename>/usr/local</filename>.</para>
-
- <para>Die Variable <makevar>PREFIX</makevar> legt das
- Installations-Verzeichnis fest:</para>
-
- <screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/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>Die Kommandozeile ist zu lang, um sie hier komplett
- wiederzugeben, aber Sie sollten die zugrunde liegende
- Idee erkennen.</para>
- </sect3>
-
- <sect3>
- <title>Probleme mit <command>imake</command></title>
- <indexterm><primary>imake</primary></indexterm>
-
- <para>Einige Ports, welche &man.imake.1; (Teil des
- X-Window-Systems) benutzen, funktionieren nicht gut
- mit <makevar>PREFIX</makevar> und bestehen darauf,
- unter <filename>/usr/X11R6</filename> installiert
- zu werden. In ähnlicher Weise verhalten sich
- einige Perl-Ports, die <makevar>PREFIX</makevar>
- ignorieren und sich in den Perl-Verzeichnisbaum
- installieren. Zu erreichen, dass solche Ports
- <makevar>PREFIX</makevar> beachten, ist
- schwierig oder sogar unmöglich.</para>
- </sect3>
-
- <sect3>
- <title>Ports rekonfigurieren</title>
-
- <para>Beim Bau einiger Ports erhalten Sie ein ncurses-basiertes
- Menü, über dessen Optionen Sie den Bau dieser Ports
- beeinflussen können. 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</command> <maketarget>config</maketarget>
- eingeben, wodurch das Menü mit den ursprünglichen
- gewählten Optionen erneut aufgerufen wird. Eine andere
- Möglichkeit bietet der Befehl <command>make</command>
- <maketarget>showconfig</maketarget>, mit dem Sie eine Liste aller
- Konfigurationsoptionen dieses Ports aufrufen. Eine weitere
- Alternative bietet der Befehl <command>make</command>
- <maketarget>rmconfig</maketarget>, der die von Ihnen
- 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>
- </sect3>
- </sect2>
-
- <sect2 id="ports-removing">
- <title>Entfernen installierter Ports</title>
-
- <indexterm>
- <primary>Ports</primary>
- <secondary>entfernen</secondary>
- </indexterm>
- <para>Da Sie nun wissen, wie man einen Port installiert, wollen Sie
- sicher auch wissen, wie man ein über einen Port installiertes
- Programm wieder deinstallieren kann. Ports werden analog zu
- Paketen mit &man.pkg.delete.1; deinstalliert (Lesen Sie sich den
- Abschnitt <link linkend="packages-using">Benutzen des
- Paketsystems</link> des Handbuchs durch, wenn Sie weitere Informationen
- benötigen.). Für das vorhin installierte Programm
- <command>lsof</command> würden Sie dazu wie folgt
- vorgehen:</para>
-
- <screen>&prompt.root; <userinput>pkg_delete lsof-4.57</userinput></screen>
- </sect2>
-
- <sect2 id="ports-upgrading">
- <title>Ports aktualisieren</title>
-
- <indexterm>
- <primary>Ports</primary>
- <secondary>aktualisieren</secondary>
- </indexterm>
-
- <para>Als erstes sollten sie sich alle installierten Ports
- anzeigen lassen, von denen eine aktuellere Version in der
- Ports-Sammlung existiert. Dazu verwenden Sie den Befehl
- &man.pkg.version.1;:</para>
-
- <screen>&prompt.root; <userinput>pkg_version -v</userinput></screen>
-
- <sect3 id="ports-file-updating">
- <title><filename>/usr/ports/UPDATING</filename></title>
-
- <para>Nachdem Sie die Ports-Sammlung auf den neusten
- Stand gebracht haben, lesen Sie bitte zuerst die Datei
- <filename>/usr/ports/UPDATING</filename>, bevor
- Sie einen Port aktualisieren. In dieser Datei werden
- Probleme und zusätzlich durchzuführende
- Schritte bei der Aktualisierung einzelner Ports
- beschrieben. Dazu gehören solche Dinge wie
- geänderte Dateiformate, verschobene Konfigurationsdateien,
- aber auch Inkompatibilitäten zu einer
- Vorgängerversion.</para>
-
- <para>Sollte <filename>UPDATING</filename> etwas hier Gesagtem
- widersprechen, so gilt das in <filename>UPDATING</filename>
- Gesagte.</para>
- </sect3>
-
- <sect3 id="portupgrade">
- <title>Ports mit Portupgrade aktualisieren</title>
-
- <indexterm>
- <primary>portupgrade</primary>
- </indexterm>
-
- <para><application>portupgrade</application> wurde entwickelt, um
- die Aktualisierung von Ports zu vereinfachen. Sie können
- <application>portupgrade</application> über den Port
- <filename role="package">ports-mgmt/portupgrade</filename> wie
- jeden anderen Port mit <command>make <maketarget>install
- clean</maketarget></command> installieren:</para>
-
- <screen>&prompt.root; <userinput>cd <filename class="directory">/usr/ports/ports-mgmt/portupgrade/</filename></userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <para>Durchsuchen Sie regelmäßig (am besten vor jeder
- Aktualisierung) die Liste der installierten Ports mit
- <command>pkgdb -F</command> und beheben Sie alle gefundenen
- Probleme.</para>
-
- <para>Wenn Sie <command>portupgrade -a</command> eingeben,
- beginnt <application>portupgrade</application> automatisch mit
- der Aktualisierung aller veralteter Ports Ihres Systems.
- Verwenden Sie den Schalter <option>-i</option>, wenn Sie
- individuell entscheiden wollen, ob ein Port aktualisiert werden
- soll:</para>
-
- <screen>&prompt.root; <userinput>portupgrade -ai</userinput></screen>
-
- <para>Wenn Sie nur eine einzelne Anwendung anstelle
- aller Anwendungen aktualisieren wollen, verwenden
- Sie das Kommando
- <command>portupgrade <replaceable>pkgname</replaceable></command>.
- Geben Sie den Schalter <option>-R</option> an, wenn
- <application>portupgrade</application> zuvor alle
- Ports aktualisieren soll, die von dem gegebenen
- Paket abhängen.</para>
-
- <para>Der Schalter <option>-P</option> verwendet zur
- Installation Pakete anstelle von Ports. Mit dieser
- Option durchsucht <application>portupgrade</application>
- die in der Umgebungsvariablen <envar>PKG_PATH</envar>
- aufgeführten Verzeichnisse nach Paketen. Sind
- lokal keine Pakete vorhanden, versucht
- <application>portupgrade</application> die Pakete
- über das Netz herunterzuladen. Gibt es die Pakete
- weder lokal noch auf entfernten Rechnern, werden die Ports
- verwendet. Um dies zu verhindern, benutzen Sie die
- Option <option>-PP</option>.</para>
-
- <screen>&prompt.root; <userinput>portupgrade -PP gnome2</userinput></screen>
-
- <para>Wenn Sie nur die Quelldateien des Ports (oder die Pakete
- mit <option>-P</option>) herunterladen möchten,
- ohne die Anwendung zu bauen oder zu installieren,
- geben Sie die Option <option>-F</option> an.
- Weitere Möglichkeiten lesen Sie bitte in
- der Hilfeseite &man.portupgrade.1; nach.</para>
- </sect3>
-
- <sect3 id="portmanager">
- <title>Ports mit Portmanager aktualisieren</title>
-
- <indexterm>
- <primary>portmanager</primary>
- </indexterm>
-
- <para><application>Portmanager</application> ist ein weiteres
- Werkzeug, das die Aktualisierung installierter Ports
- erleichtert. Es kann über den Port
- <filename role="package">ports-mgmt/portmanager</filename>
- installiert werden:</para>
-
- <screen>&prompt.root; <userinput>cd <filename class="directory">/usr/ports/ports-mgmt/portmanager</filename></userinput>
-&prompt.root; <userinput>make install clean</userinput></screen>
-
- <para>Alle installierten Ports können danach durch folgende
- Eingabe aktualisiert werden:</para>
-
- <screen>&prompt.root; <userinput>portmanager -u</userinput></screen>
-
- <para>Wenn Sie zusätzlich die Optionen <option>-ui</option>
- an <application>Portmanager</application> übergeben, werden
- Sie bei jedem Schritt um eine Bestätigung gefragt.
- <application>Portmanager</application> ist außerdem in
- der Lage, neue Ports auf Ihrem System zu installieren. Im
- Gegensatz zum bekannten <command>make install clean</command>
- aktualisiert es aber vor dem Bau und der Installation eines
- Ports alle abhängigen Ports.</para>
-
- <screen>&prompt.root; <userinput>portmanager <replaceable>x11/gnome2</replaceable></userinput></screen>
-
- <para>Treten bei den Abhängigkeiten des zu installierenden
- Ports Probleme auf, ist <application>Portmanager</application>
- in der Lage, alle Abhängigkeiten in der korrekten
- Reihenfolge neu zu bauen. Nachdem dieser Schritt abgeschlossen
- ist, wird der problematische Port ebenfalls neu gebaut.</para>
-
- <screen>&prompt.root; <userinput>portmanager <replaceable>graphics/gimp</replaceable> -f</userinput></screen>
-
- <para>Weitere Informationen finden Sie in der Manualpage
- &man.portmanager.1;.</para>
- </sect3>
-
- <sect3 id="portmaster">
- <title>Ports mit Portmaster aktualisieren</title>
-
- <indexterm>
- <primary>portmaster</primary>
- </indexterm>
-
- <para>Bei <application>Portmaster</application> handelt es sich
- um ein weiteres Werkzeug zum Aktualisieren von Ports.
- <application>Portmaster</application> nutzt nur Werkzeuge, die
- bereits im Basissystem vorhanden sind (ist also nicht von
- weiteren Ports abhängig). Es verwendet Informationen
- in <filename class="directory">/var/db/pkg/</filename>, um
- festzustellen, welche Ports aktualisiert werden sollen.
- Sie können dieses Program über den Port
- <filename role="package">ports-mgmt/portmaster</filename>
- installieren:</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> teilt Ports in vier
- Kategorien ein:</para>
-
- <itemizedlist>
- <listitem>
- <para>Root ports (no dependencies, not depended on)</para>
- </listitem>
- <listitem>
- <para>Trunk ports (no dependencies, are depended on)</para>
- </listitem>
- <listitem>
- <para>Branch ports (have dependencies, are depended on)</para>
- </listitem>
- <listitem>
- <para>Leaf ports (have dependencies, not depended on)</para>
- </listitem>
- </itemizedlist>
-
- <para>Um eine Liste aller installierter Ports anzuzeigen (und nach
- neueren Versionen zu suchen), verwenden Sie die Option
- <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)
-===>>> apache-2.2.3
- ===>>> New version available: apache-2.2.8
-...
-===>>> Leaf ports (Have dependencies, not depended on)
-===>>> automake-1.9.6_2
-===>>> bash-3.1.17
- ===>>> New version available: bash-3.2.33
-...
-===>>> 32 leaf ports
-
-===>>> 137 total installed ports
- ===>>> 83 have new versions available
- </screen>
-
- <para>Um alle derzeit installierten Ports zu aktualisieren,
- verwenden Sie einfach den folgenden Befehl:</para>
-
- <screen>&prompt.root; <userinput>portmaster -a</userinput></screen>
-
- <note><para>In der Voreinstellung erzeugt
- <application>Portmaster</application> eine Sicherheitskopie,
- bevor ein installierter Port gelöscht wird. Ist die
- Installation der neuen Version erfolgreich, wird dieses
- Backup wieder gelöscht. Wollen Sie das Backup lieber
- manuell löschen, verwenden Sie die Option
- <option>-b</option> beim Aufruf von
- <application>Portmaster</application>. Durch die Verwendung
- der Option <option>-i</option> wird
- <application>Portmaster</application> im interaktiven
- Modus gestartet und fragt bei jedem zu aktualisierenden Port
- nach, wie Sie vorgehen wollen.</para></note>
-
- <para>Treten während der Aktualisierung Fehler auf, können
- Sie die Option <option>-f</option> verwenden, um alle Ports zu
- aktualisieren beziehungsweise neu zu bauen:</para>
-
- <screen>&prompt.root; <userinput>portmaster -af</userinput></screen>
-
- <para><application>Portmaster</application> ist auch in der Lage,
- neue Ports zu installieren, wobei zuvor alle abhängigen Ports
- aktualisiert werden:</para>
-
- <screen>&prompt.root; <userinput>portmaster <replaceable>shells/bash</replaceable></userinput></screen>
-
- <para>Weiterführende Informationen finden Sie in der Manualpage
- &man.portmaster.8;.</para>
- </sect3>
- </sect2>
-
- <sect2 id="ports-disk-space">
- <title>Platzbedarf von Ports</title>
-
- <indexterm>
- <primary>Ports</primary>
- <secondary>Plattenplatz</secondary>
- </indexterm>
-
- <para>Die Ports-Sammlung kann sehr viel Plattenplatz
- verschlingen. Führen Sie nach dem Bau und der
- Installation eines Ports <command>make
- <maketarget>clean</maketarget></command> aus, um die
- Arbeitsverzeichnisse zu löschen. Dieser Befehl
- entfernt das Verzeichnis <filename
- class="directory">work</filename> des gebauten Ports.
- Wollen Sie die gesamte Ports-Sammlung aufräumen,
- verwenden Sie folgenden Befehl:</para>
-
- <screen>&prompt.root; <userinput>portsclean -C</userinput></screen>
-
- <para>Im Laufe der Zeit werden sich zahlreiche Distfiles im
- Verzeichnis <filename class="directory">distfiles</filename>
- ansammeln. Sie können diese entweder händisch
- löschen, oder Sie verwenden den folgenden Befehl, um alle
- Distfiles zu löschen, die nicht länger
- benötigt werden:</para>
-
- <screen>&prompt.root; <userinput>portsclean -D</userinput></screen>
-
- <para>Falls Sie nur alle Distfiles löschen wollen, die von
- keinem derzeit installierten Port referenziert werden:</para>
-
- <screen>&prompt.root; <userinput>portsclean -DD</userinput></screen>
-
- <note>
- <para>Das Werkzeug <command>portsclean</command> wird
- automatisch bei der Installation von
- <application>portupgrade</application> mit installiert.</para>
- </note>
-
- <para>Denken Sie daran, installierte Ports wieder zu entfernen,
- wenn Sie diese nicht mehr benötigen. Um diese Arbeit zu
- erleichtern, können Sie den Port <filename
- role="package">ports-mgmt/pkg_cutleaves</filename>
- installieren.</para>
- </sect2>
- </sect1>
-
- <sect1 id="ports-nextsteps">
- <title>Nach der Installation</title>
-
- <para>Nach der Installation einer neuen Anwendung wollen Sie
- wahrscheinlich die mitgelieferte Dokumentation lesen und die
- Konfigurationsdateien der Anwendung anpassen. Wenn die Anwendung
- ein D&aelig;mon ist, sollten Sie sicherstellen, dass die
- Anwendung beim Booten startet.</para>
-
- <para>Die einzelnen Schritte sind natürlich von Anwendung zu
- Anwendung verschieden. Wenn Sie sich allerdings nach der Installation
- einer Anwendung die Frage <quote>Was nun?</quote> stellen, helfen die
- folgenden Hinweise vielleicht weiter.</para>
-
- <itemizedlist>
- <listitem>
- <para>Finden Sie mit &man.pkg.info.1; heraus, welche Dateien die
- Anwendung wo installiert hat. Wenn Sie beispielsweise gerade
- die Version 1.0.0 von FooPackage installiert haben, zeigt Ihnen
- das folgende Kommando alle installierten Dateien des
- Pakets:</para>
-
- <screen>&prompt.root; <userinput>pkg_info -L foopackage-1.0.0 | less</userinput></screen>
-
- <para>Achten Sie besonders auf die Manualpages, die Sie in
- <filename>man/</filename> Verzeichnissen finden und auf
- Konfigurationsdateien, die in <filename>etc/</filename> abgelegt
- werden. Manche Pakete enthalten in <filename>doc/</filename>
- zusätzliche Dokumentation.</para>
-
- <para>Wenn Sie sich nicht sicher sind, welche Version einer
- Anwendung Sie gerade installiert haben, können Sie mit dem
- folgenden Kommando nach der Anwendung suchen:</para>
-
- <screen>&prompt.root; <userinput>pkg_info | grep -i <replaceable>foopackage</replaceable></userinput></screen>
-
- <para>Das Kommando zeigt alle installierten Pakete, deren
- Paketname <replaceable>foopackage</replaceable> enthält.
- Ersetzen Sie <replaceable>foopackage</replaceable> durch den
- Namen der Anwendung, die Sie suchen.</para>
- </listitem>
-
- <listitem>
- <para>Nachdem Sie die Manualpages der Anwendung gefunden haben,
- lesen Sie diese bitte mit &man.man.1;. Schauen Sie sich auch die
- Beispiele für Konfigurationsdateien und die zusätzliche
- Dokumentation, wenn es welche gibt, an.</para>
- </listitem>
-
- <listitem>
- <para>Wenn es für die Anwendung eine Webseite gibt, suchen
- Sie dort nach zusätzlicher Dokumentation wie FAQs
- (häufig gestellte Fragen). Wenn Sie die Adresse der Webseite
- nicht kennen, versuchen Sie das folgende Kommando:</para>
-
- <screen>&prompt.root; <userinput>pkg_info <replaceable>foopackage-1.0.0</replaceable></userinput></screen>
-
- <para>Die Ausgabe enthält oft eine Zeile, die mit
- <literal>WWW:</literal> beginnt und die URL der Webseite
- enthält.</para>
- </listitem>
-
- <listitem>
- <para>Ports, die während des Systemstarts gestartet
- werden sollen, installieren meist ein Beispielskript im
- Verzeichnis <filename>/usr/local/etc/rc.d</filename>.
- Überprüfen Sie dieses Skript. Wenn nötig,
- passen Sie das Skript an und benennen Sie es um. Weitere
- Informationen finden Sie in
- <xref linkend="configtuning-starting-services"/>.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 id="ports-broken">
- <title>Kaputte Ports</title>
-
- <para>Stolpern Sie einmal über einen Port, der bei Ihnen nicht
- funktioniert, könnten Sie zum Beispiel Folgendes tun:</para>
-
- <orderedlist>
- <listitem>
- <para>Stellen Sie fest, ob die
- <ulink url="&url.base;/de/support.html#gnats">Datenbank mit den
- Problemberichten</ulink> bereits einen Lösungsvorschlag
- enthält. Ist dies der Fall, können Sie die
- vorgeschlagene Lösung testen.</para>
- </listitem>
-
- <listitem>
- <para>Bitten Sie den Betreuer des Ports um Hilfe. Geben
- Sie dazu <command>make <maketarget>maintainer</maketarget></command>
- ein oder lesen Sie das <filename>Makefile</filename> im Verzeichnis
- des Ports, um an die E-Mail-Adresse zu kommen. Vergessen Sie nicht
- den Namen und die Version des Ports (schicken Sie die Zeile mit
- <literal>&dollar;FreeBSD:</literal> aus dem
- <filename>Makefile</filename>) und die Ausgabe bis zur Fehlermeldung
- mitzuschicken.</para>
-
- <note>
- <para>Einige Ports werden nicht von einer Einzelperson, sondern
- von einer <ulink
- url="&url.articles.mailing-list-faq.en;/article.html">
- Mailingliste</ulink> betreut. Viele (aber nicht alle) dieser
- Adressen haben die Form
- <email role="nolink">freebsd-NameDerListe@FreeBSD.org</email>.
- Denken Sie daran, wenn Sie Ihre Fragen formulieren.</para>
-
- <para>Dies gilt insbesondere für Ports, die als als
- Betreuer den Eintrag <email
- role="nolink">ports@FreeBSD.org</email> aufweisen.
- Derartige Ports haben überhaupt keinen Betreuer.
- Korrekturen und Unterstützung kommen daher nur von
- Personen, die diese Mailingliste abonniert haben. Gerade
- in diesem Bereich werden jederzeit zusätzliche
- freiwillige Helfer benötigt!</para>
- </note>
-
- <para>Erhalten Sie auf Ihre Anfrage keine Antwort, können
- Sie über &man.send-pr.1; einen Problembericht erstellen.
- Bevor Sie einen solchen Bericht erstellen, sollten Sie den
- Artikel <ulink
- url="&url.articles.problem-reports.en;/article.html">Writing
- FreeBSD Problem Reports</ulink> lesen.</para>
- </listitem>
-
- <listitem>
- <para>Reparieren Sie ihn! Das <ulink
- url="&url.books.porters-handbook.en;/index.html">FreeBSD
- Porter's Handbook</ulink> enthält eine detaillierte
- Beschreibung des Portsystems. Damit sind Sie in der Lage,
- einen gelegentlich kaputten Port zu reparieren oder einen
- eigenen Port zu erstellen.</para>
- </listitem>
-
- <listitem>
- <para>Holen Sie sich das Paket von einem FTP-Server in Ihrer
- Nähe. Die <quote>Basis</quote>-Sammlung aller Pakete
- liegt auf <hostid role="fqdn">ftp.de.FreeBSD.org</hostid> im
- Verzeichnis <ulink
- url="ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ports/packages/">packages</ulink>.
- Aber versuchen Sie <emphasis>zuerst</emphasis> einen <link
- linkend="mirrors-ftp">Spiegel in Ihrer Nähe</link>! Benutzen Sie
- das Programm &man.pkg.add.1;, um Pakete auf Ihrem Rechner zu
- installieren. Dies hat zudem den Vorteil, dass es schneller
- geht.</para>
- </listitem>
- </orderedlist>
- </sect1>
-</chapter>