diff options
Diffstat (limited to 'de_DE.ISO8859-1/books/handbook/ports/chapter.sgml')
-rw-r--r-- | de_DE.ISO8859-1/books/handbook/ports/chapter.sgml | 1673 |
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 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; 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; 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><</entry> - <entry>Die installierte Version ist älter als die der - verfügbaren Version aus der Ports-Sammlung.</entry> - </row> - - <row> - <entry>></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> ->> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. ->> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/. -===> Extracting for lsof-4.57 -... -[Ausgabe des Auspackens weggelassen] -... ->> Checksum OK for lsof_4.57D.freebsd.tar.gz. -===> Patching for lsof-4.57 -===> Applying FreeBSD patches for lsof-4.57 -===> Configuring for lsof-4.57 -... -[configure-Ausgabe weggelassen] -... -===> Building for lsof-4.57 -... -[Ausgabe der Ü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> -===> Installing for lsof-4.57 -... -[Ausgabe der Installation weggelassen] -... -===> Generating temporary packing list -===> Compressing manual pages for lsof-4.57 -===> Registering installation for lsof-4.57 -===> SECURITY NOTE: - This port has installed the following binaries which execute with - increased privileges. -&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> -===> 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æ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>$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> |