Index: head/de_DE.ISO8859-1/books/handbook/ports/chapter.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/ports/chapter.xml (revision 48074) +++ head/de_DE.ISO8859-1/books/handbook/ports/chapter.xml (revision 48075) @@ -1,2009 +1,2009 @@ <?xml version="1.0" encoding="iso-8859-1"?> <!-- The FreeBSD Documentation Project The FreeBSD German Documentation Project $FreeBSD$ $FreeBSDde: de-docproj/books/handbook/ports/chapter.xml,v 1.111 2011/12/19 17:13:33 bcr Exp $ - basiert auf: r42014 + basiert auf: r42792 --> <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="ports"> <info><title>Installieren von Anwendungen: Pakete und Ports</title> <authorgroup> <author><personname><firstname>Uwe</firstname><surname>Pierau</surname></personname><contrib>�bersetzt von </contrib></author> </authorgroup> </info> <sect1 xml:id="ports-synopsis"> <title>�bersicht</title> <indexterm><primary>Ports</primary></indexterm> <indexterm><primary>Pakete</primary></indexterm> <para>&os; enth�lt eine umfassende Sammlung von Systemwerkzeugen, - die Teil des Basissystems sind. Allerdings ist man fr�her oder - sp�ter auf Software Dritter angewiesen, damit bestimmte Arbeiten - durchgef�hrt werden k�nnen. Um diese Software zu installieren, - stellt &os; 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). - Beide Methoden k�nnen benutzt werden, um Anwendungen von lokalen - Medien oder �ber das Netzwerk zu installieren.</para> + die Teil des Basissystems sind. Dar�ber hinaus stellt &os; zwei + sich erg�nzende Methoden zur Installation von + Drittanbieter-Software zur Verf�gung: Die Ports-Sammlung zur + Installation aus dem Quellcode sowie Pakete zur Installation + von vorkompilierten bin�ren Softwarepaketen. Beide Methoden + k�nnen benutzt werden, um Anwendungen 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> + <para>Den Unterschied zwischen bin�ren Softwarepaketen und + Ports.</para> </listitem> <listitem> - <para>Der Bau Software Dritter aus dem Quellcode mithilfe der - Ports-Sammlung.</para> + <para>Wie man Drittanbieter-Software findet, die nach + &os; portiert wurde.</para> </listitem> <listitem> - <para>Wie zuvor installierte Pakete oder Ports - entfernt werden.</para> + <para>Wie Bin�rpakete mit dem traditionellen Paketsystem + verwaltet werden.</para> </listitem> <listitem> - <para>Wie die Voreinstellungen der Ports-Sammlung - �berschrieben werden k�nnen.</para> + <para>Wie Bin�rpakete mit <application>pkgng</application> + verwaltet werden.</para> </listitem> <listitem> - <para>Die Suche nach geeigneter Software.</para> + <para>Den Bau von Drittanbieter-Software aus dem Quellcode + mithilfe der Ports-Sammlung.</para> </listitem> <listitem> - <para>Wie Anwendungen aktualisiert werden.</para> + <para>Was zu tun ist, wenn die Installation einer Software + fehlschl�gt.</para> </listitem> </itemizedlist> </sect1> <sect1 xml:id="ports-overview"> <title>Installation von Software</title> <para>Die typischen Schritte zur Installation von Drittanbieter-Software auf einem &unix; System sind:</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 in <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>Wenn Sie Software installieren, die nicht speziell f�r &os; geschrieben wurde, m�ssen Sie vielleicht sogar den Quelltext anpassen, damit die Software funktioniert.</para> <para>&os; bietet zwei Technologien an, die diese Schritte f�r Sie durchf�hren. Zurzeit werden �ber &os.numports; Anwendungen Dritter zur Verf�gung gestellt.</para> <para>Ein &os;-Paket enth�lt vorkompilierte Kopien aller Befehle f�r eine Anwendung, sowie zus�tzliche Konfigurationsdateien und Dokumentation. Zur Handhabung der Pakete stellt &os; Kommandos wie &man.pkg.add.1;, &man.pkg.delete.1; und &man.pkg.info.1; zur Verf�gung.</para> <para>Ein &os;-Port ist eine Sammlung von Dateien, die das Kompilieren der Quelltexte einer Anwendung automatisieren. Die Dateien, die ein Port umfasst enthalten alle notwendigen Informationen um die Anwendung herunterzuladen, zu extrahieren, anzupassen und zu installieren.</para> <para>Das Portsystem kann auch dazu benutzt werden, Pakete zu generieren, die mit den Paketverwaltungswerkzeugen von &os; manipuliert werden k�nnen.</para> <para>Pakete und Ports beachten <emphasis>Abh�ngigkeiten</emphasis> zwischen Anwendungen. Wenn &man.pkg.add.1; oder die Ports-Sammlung benutzt wird, um eine Anwendung zu installieren, dann werden fehlende Bibliotheken zuerst installiert, sofern sie nicht schon vorher installiert waren.</para> <para>Obwohl beide Technologien recht �hnlich sind, so haben Pakete und Ports jeweils ihre eigenen St�rken. Welche Technologie eingesetzt wird, h�ngt letzten Endes von den Anforderungen ab, die an eine bestimmte Anwendung gestellt werden.</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 gro�e Pakete wie <application>Mozilla</application>, <application>KDE</application> oder <application>GNOME</application> auf langsamen Maschinen installiert werden.</para> </listitem> <listitem> <para>Wenn Sie Pakete verwenden, brauchen Sie nicht zu verstehen, wie Software unter &os; kompiliert wird.</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. Wird eine Anwendung �ber die Ports �bersetzt, k�nnen die Optionen nach eigenen Bed�rfnissen angepasst werden.</para> </listitem> <listitem> <para>Die Eigenschaften einiger Anwendungen werden �ber Optionen zum Zeitpunkt des �bersetzens festgelegt. <application>Apache</application> kann zum Beispiel �ber eine gro�e Auswahl an eingebauten Optionen konfiguriert werden.</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 <application>Xorg</application> Unterst�tzung unterscheiden. Das Erstellen von verschiedenen Paketen 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, der durch den Benutzer kompiliert werden muss, ausgeliefert werden.</para> </listitem> <listitem> <para>Einige Leute trauen bin�ren Distributionen nicht, oder sie ziehen es vor den Quelltext zu lesen, um diesen nach m�glichen Problemen zu durchsuchen.</para> </listitem> <listitem> <para>Wenn Sie eigene Anpassungen besitzen, ben�tigen Sie den Quelltext, um diese anzuwenden.</para> </listitem> </itemizedlist> <para>Wenn Sie �ber aktualisierte Ports informiert sein wollen, lesen Sie die Mailinglisten &a.ports; und &a.ports-bugs;.</para> <warning> <para>Bevor Sie eine Anwendung installieren, informieren Sie sich auf der Seite <uri xlink:href="http://vuxml.FreeBSD.org/">http://vuxml.FreeBSD.org/</uri> �ber m�gliche Sicherheitsprobleme mit der Anwendung, oder installieren Sie <package>ports-mgmt/portaudit</package>. Installierte Anwendungen k�nnen mit <command>portaudit -F -a</command> auf bekannte Sicherheitsprobleme untersucht werden.</para> </warning> <para>Der Rest dieses Kapitels beschreibt, wie man Software Dritter mit Paketen und Ports unter &os; installiert und verwaltet.</para> </sect1> <sect1 xml:id="ports-finding-applications"> <title>Suchen einer Anwendung</title> <para>Die Anzahl der nach &os; portierten Anwendungen steigt st�ndig. Es gibt einige Wege, um nach Anwendungen zu suchen:</para> <itemizedlist> <listitem> <para>Die &os;-Webseite stellt unter <link xlink:href="&url.base;/ports/index.html">http://www.FreeBSD.org/ports/</link> eine aktuelle und durchsuchbare Liste aller Anwendungen zur Verf�gung. Die Ports k�nnen nach dem Namen den Anwendung, oder �ber die Software-Kategorie durchsucht werden.</para> </listitem> <listitem> <indexterm><primary>FreshPorts</primary></indexterm> <para>Dan Langille verwaltet <uri xlink:href="http://www.FreshPorts.org/">FreshPorts</uri>, das eine umfassende Suchfunktion bietet und �nderungen an den Anwendungen in der Ports-Sammlung verfolgt. Registrierte Benutzer k�nnen eine Merkliste erstellen, um automatisch eine E-Mail zu erhalten, sobald ein Port von dieser Liste aktualisiert wurde.</para> </listitem> <listitem> <indexterm><primary>Freecode</primary></indexterm> <para>Wenn Sie den Namen einer Anwendung nicht kennen, versuchen Sie eine Webseite wie <uri xlink:href="http://www.freecode.com/">Freecode.com</uri>, um eine passende Anwendung zu finden. Schauen Sie dann auf der &os;-Webseite nach, ob die Anwendung schon portiert wurde.</para> </listitem> <listitem> <para>Verwenden Sie <command>whereis <replaceable>Datei</replaceable></command> um herauszufinden, in welcher Kategorie ein Port ist, wobei <replaceable>Datei</replaceable> der Name des Programms ist, das installiert werden soll:</para> <screen>&prompt.root; <userinput>whereis lsof</userinput> lsof: /usr/ports/sysutils/lsof</screen> <para>Alternativ kann der &man.echo.1;-Befehl verwendet werden:</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>/usr/ports/distfiles</filename> findet, auf die der angegebene Suchbegriff passt.</para> </listitem> <listitem> <para>Ein weiterer Weg nach Software zu suchen besteht darin, die eingebaute Suchfunktion der Ports-Sammlung zu benutzen. Wechseln Sie dazu in das Verzeichnis <filename>/usr/ports</filename>, und rufen Sie <command>make search name=Anwendungsname</command> auf, wobei <replaceable>Anwendungsname</replaceable> der Name der Software ist. Um zum Beispiel nach <command>lsof</command> zu 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> <tip> <para>Der integrierte Suchmechanismus verwendet eine Datei mit Index-Informationen. Erscheint eine Meldung, dass der <filename>INDEX</filename> ben�tigt wird, f�hren Sie <command>make fetchindex</command> aus, um die aktuelle Index-Datei herunterzuladen. Mit einem vorhandenen <filename>INDEX</filename> ist <command>make search</command> in der Lage, die gew�nschte Suche durchzuf�hren.</para> </tip> <para>Die <quote>Path:</quote>-Zeile zeigt an, wo der Port zu finden ist.</para> <para>Um weniger Informationen zu erhalten, benutzen Sie die Funktion <command>quicksearch</command>:</para> <screen>&prompt.root; <userinput>cd /usr/ports</userinput> &prompt.root; <userinput>make quicksearch name=lsof</userinput> Port: lsof-4.87.a,7 Path: /usr/ports/sysutils/lsof Info: Lists information about open files (similar to fstat(1))</screen> <para>Erweiterte Suchen f�hren Sie mit <command>make search key=<replaceable>Text</replaceable></command> oder <command>make quicksearch 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 der Name des Programms nicht bekannt ist.</para> <para>Bei der Verwendung von <buildtarget>search</buildtarget> und <buildtarget>quicksearch</buildtarget> 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 xml:id="packages-using"> <info><title>Verwendung von Bin�rpaketen</title> <authorgroup> <author><personname><firstname>Chern</firstname><surname>Lee</surname></personname><contrib>Beigesteuert von </contrib></author> </authorgroup> </info> <para>Derzeit befindet sich &os; in einer �bergangsphase auf ein neues Paketverwaltungssystem. Benutzer von neueren &os;-Versionen m�chten vielleicht die Vorteile von <link linkend="pkgng-intro">PKGng</link> bei der Verwaltung von Drittanbieter-Paketen kennenlernen. F�r diejenigen Benutzer, die noch nicht auf <application>pkgng</application> migriert haben, k�nnen die hier vorgestellten Werkzeuge f�r die Verwaltung der Paketdatenbank verwendet werden. Der Einfachheit halber kann jedoch auch <command>sysinstall</command> weiterhin f�r die Installation von Paketen benutzt werden.</para> <para>Alle Paketinformationen werden im Verzeichnis der Paketdatenbank, <filename>/var/db/pkg</filename> abgelegt.</para> <sect2> <title>Installieren eines Pakets</title> <indexterm> <primary>Pakete</primary> <secondary>installieren</secondary> </indexterm> <indexterm> <primary><command>pkg_add</command></primary> </indexterm> <para>Benutzen Sie &man.pkg.add.1;, um ein &os;-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 ftp2.FreeBSD.org</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 lsof-4.56.4.tgz</userinput></screen> </example> <para>Wenn Sie die Pakete nicht lokal vorliegen haben, zum Beispiel auf den &os;-CD-ROMs, verwenden Sie den Schalter <option>-r</option> von &man.pkg.add.1;. Dies bestimmt automatisch das n�tige Objektformat und die richtige Version des Pakets, l�dt dieses dann von einem FTP-Server und installiert es, ohne das weitere Benutzereingriffe n�tig sind.</para> <indexterm> <primary><command>pkg_add</command></primary></indexterm> <screen>&prompt.root; <userinput>pkg_add -r lsof</userinput></screen> <para>Wenn Sie einen anderen &os; FTP-Mirror verwenden m�chten, geben Sie den Mirror in der Umgebungsvariablen <envar>PACKAGESITE</envar> an. &man.pkg.add.1; benutzt &man.fetch.3;, um Dateien herunterzuladen. Umgebungsvariablen wie <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar> und <envar>FTP_PASSWORD</envar> werden dabei 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;. 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.</para> <note> <para>Unter &os.current; oder &os.stable; holt &man.pkg.add.1; die neueste Version einer Anwendung. Unter einer -RELEASE Version holt es die Version der Anwendung, die im Release enthalten ist. Sie k�nnen dieses Verhalten �ndern, indem Sie die Umgebungsvariable <envar>PACKAGESITE</envar> �berschreiben. Auf einem &os; 8.1-RELEASE System, 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. Um &man.pkg.add.1; zu zwingen, nur &os; 8-STABLE-Pakete herunterzuladen, setzen Sie <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 sind unter <uri xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/</uri>, oder auf der &os;-DVD-Distribution. Die Struktur des Paketbaums entspricht der Verzeichnisstruktur unter <filename>/usr/ports</filename>. Jede Kategorie besitzt ein eigenes Verzeichnis und alle Pakete befinden sich im Verzeichnis <filename>All</filename>.</para> </sect2> <sect2> <title>Verwalten von Paketen</title> <indexterm> <primary>Pakete</primary> <secondary>verwalten</secondary> </indexterm> <para>&man.pkg.info.1; kann dazu benutzt werden, alle installierten Pakete und deren Beschreibung anzuzeigen.</para> <indexterm> <primary><command>pkg_info</command></primary> </indexterm> <screen>&prompt.root; <userinput>pkg_info</userinput> colordiff-1.0.13 A tool to colorize diff output docbook-1.2 Meta-port for the different versions of the DocBook DTD ...</screen> <para>&man.pkg.version.1; 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> colordiff = 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 Version aus der lokalen Ports-Sammlung.</entry> </row> <row> <entry>></entry> <entry>Die installierte Version ist neuer als die aus der Ports-Sammlung, was vermutlich bedeutet, dass die lokale Ports-Sammlung veraltet ist.</entry> </row> <row> <entry>?</entry> <entry>Das installierte Paket konnte im Ports-Index nicht gefunden werden. Dies kann passieren, wenn 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 &man.pkg.delete.1;.</para> <screen>&prompt.root; <userinput>pkg_delete xchat-1.7.1</userinput></screen> <para>Beachten Sie, dass &man.pkg.delete.1; die vollst�ndige Bezeichnung des Pakets ben�tigt. Die Eingabe von <replaceable>xchat</replaceable> anstelle von <replaceable>xchat-1.7.1</replaceable> w�re im obigen Beispiel daher nicht ausreichend. Benutzen Sie &man.pkg.version.1;, um die Versionsnummer des Pakets herausfinden, oder verwenden Sie Wildcards:</para> <screen>&prompt.root; <userinput>pkg_delete xchat\*</userinput></screen> <para>In diesem Beispiel werden alle Pakete gel�scht, deren Name mit <literal>xchat</literal> beginnt.</para> </sect2> </sect1> <sect1 xml:id="pkgng-intro"> <title>Benutzen von <application>pkgng</application> zur Verwaltung von Bin�rpaketen</title> <para><application>pkgng</application> ist ein verbesserter Ersatz f�r die traditionellen Paketverwaltungswerkzeuge von &os;. Es bietet viele Funktionen, um den Umgang mit Bin�rpaketen schneller und einfacher zu gestalten. <application>pkgng</application> wurde erstmalig im August 2012 ver�ffentlicht.</para> <para><application>pkgng</application> ist kein Ersatz f�r die Portverwaltungswerkzeuge wie <package>ports-mgmt/portmaster</package> oder <package>ports-mgmt/portupgrade</package>. W�hrend <package>ports-mgmt/portmaster</package> und <package>ports-mgmt/portupgrade</package> Drittanbieter-Software sowohl aus Bin�rpaketen als auch aus den Ports installieren kann, so installiert <application>pkgng</application> ausschlie�lich Bin�rpakete.</para> <sect2 xml:id="pkgng-initial-setup"> <title>Erste Schritte mit <application>pkgng</application></title> <para>&os; 9.1 und nachfolgende Versionen enthalten ein "Bootstrap"-Programm f�r <application>pkgng</application>. Das Bootstrap-Programm l�dt und installiert <application>pkgng</application>.</para> <para>Um das Bootstrap Programm zu starten, geben Sie folgendes ein:</para> <screen>&prompt.root; <userinput>/usr/sbin/pkg</userinput></screen> <para>F�r �ltere Versionen von &os; muss <application>pkgng</application> zun�chst aus der Ports-Sammlung oder als Paket installiert werden.</para> <para>Um <application>pkgng</application> aus den Ports zu installieren, geben Sie folgendes ein:</para> <screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/pkg</userinput> &prompt.root; <userinput>make</userinput> &prompt.root; <userinput>make install clean</userinput></screen> <para>Um das Paket zu installieren, geben Sie folgendes ein:</para> <screen>&prompt.root; <userinput>pkg_add -r pkg</userinput></screen> <para>Bestehende &os; Installationen ben�tigen eine Konvertierung der <application>pkg_install</application>-Paketdatenbank in das neue Format. Um die Paketdatenbank zu konvertieren, geben Sie folgendes ein:</para> <screen>&prompt.root; <userinput>pkg2ng</userinput></screen> <para>Auf neu installieren Systemen, auf denen noch keine Software von Drittanbietern installiert wurde, kann dieser Schritt entfallen.</para> <important> <para>Die Konvertierung ist unwiderruflich. Sobald die Paketdatenbank in das Format von <application>pkgng</application> umgewandelt wurde, sollten die traditionellen <application>pkg_install</application> Werkzeuge nicht mehr benutzt werden.</para> </important> <note> <para>Bei der Konvertierung der Paketdatenbank k�nnen Fehler ausgegeben werden, wenn die Inhalte auf die neue Version umgewandelt werden. Im Allgemeinen k�nnen diese Fehler ignoriert werden. Wenn <application>pkg2ng</application> fertig ist, wird eine Liste von Drittanbieter-Software ausgegeben, die nicht erfolgreich konvertiert werden konnte. Diese Anwendungen m�ssen manuell neu installiert werden.</para> </note> <para>Um sicherzustellen, dass die &os; Ports-Sammlung neue Pakete mit <application>pkgng</application> und nicht mit <application>pkg_install</application> registriert, muss in &os; 10.<replaceable>X</replaceable> und fr�heren Versionen folgende Zeile in <filename>/etc/make.conf</filename> hinzugef�gt werden:</para> <programlisting>WITH_PKGNG= yes</programlisting> </sect2> <sect2 xml:id="pkgng-pkg-conf"> <title>Konfiguration der <application>pkgng</application> Umgebung</title> <para>Das <application>pkgng</application> Paketverwaltungssystem benutzt f�r die meisten Operationen ein Paket-Repository. Der Speicherort des Paket-Repositories wird in <filename>/usr/local/etc/pkg.conf</filename> oder der Umgebungsvariablen <envar>PACKAGESITE</envar> definiert.</para> <para>Weitere Konfigurationsoptionen f�r <application>pkgng</application> sind in &man.pkg.conf.5; beschrieben.</para> </sect2> <sect2 xml:id="pkgng-basic-usage"> <title>Grundlegende Bedienung von <application>pkgng</application></title> <para>Informationen zur Bedienung von <application>pkgng</application> ist in der Manualpage &man.pkg.8; verf�gbar. Alternativ kann <command>pkg</command> ohne zus�tzliche Argumente aufgerufen werden.</para> <para>Jedes Argument von <application>pkgng</application> ist in seiner spezifischen Manualpage dokumentiert. Um beispielsweise die Manualpage von <command>pkg install</command> zu lesen, geben Sie einen der folgenden Befehle ein:</para> <screen>&prompt.root; <userinput>pkg help install</userinput></screen> <screen>&prompt.root; <userinput>man pkg-install</userinput></screen> <sect3 xml:id="pkgng-pkg-info"> <title>Mit <application>pkgng</application> Informationen �ber installierte Pakete anzeigen</title> <para>Informationen �ber bereits installierte Pakete k�nnen mit <command>pkg info</command> angezeigt werden. Dabei wird die Version und die Beschreibung aller Pakete ausgegeben.</para> <para>Informationen zu einem bestimmten Paket k�nnen wie folgt angezeigt werden:</para> <screen>&prompt.root; <userinput>pkg info <replaceable>paketname</replaceable></userinput></screen> <para>Um zu ermitteln welche Version von <application>pkgng</application> installiert ist, geben Sie folgendes ein:</para> <screen>&prompt.root; <userinput>pkg info pkg</userinput> pkg-1.0.2 New generation package manager</screen> </sect3> <sect3 xml:id="pkgng-installing-deinstalling"> <title>Installation und Deinstallation von Paketen mit <application>pkgng</application></title> <para>In der Regel werden Benutzer von &os; Bin�rpakete wie folgt installieren:</para> <screen>&prompt.root; <userinput>pkg install <replaceable>paketname</replaceable></userinput></screen> <para><command>pkg install</command> benutzt das in <xref linkend="pkgng-pkg-conf"/> erw�hnte Repository. Im Gegensatz dazu benutzt &man.pkg-add.8; kein Repository, oder eine definierte <envar>PACKAGESITE</envar>, so dass Abh�ngigkeiten nicht ordnungsgem�� aufgel�st und fehlende Abh�ngigkeiten nicht von entfernten Systemen heruntergeladen werden. Dieser Abschnitt beschreibt die Bedienung von <command>pkg install</command>. Informationen zur Bedienung von <command>pkg add</command> finden Sie in &man.pkg-add.8;.</para> <para>Zus�tzliche Bin�rpakete k�nnen mit <command>pkg intall</command> installiert werden. Um beispielsweise <application>curl</application> zu installieren:</para> <screen>&prompt.root; <userinput>pkg install curl</userinput> Updating repository catalogue Repository catalogue is up-to-date, no need to fetch fresh copy The following packages will be installed: Installing ca_root_nss: 3.13.5 Installing curl: 7.24.0 The installation will require 4 MB more space 1 MB to be downloaded Proceed with installing packages [y/N]: <userinput>y</userinput> ca_root_nss-3.13.5.txz 100% 255KB 255.1KB/s 255.1KB/s 00:00 curl-7.24.0.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00 Checking integrity... done Installing ca_root_nss-3.13.5... done Installing curl-7.24.0... done</screen> <para>Das neue Paket und jedes weitere Paket, das als Abh�ngigkeit installiert wurde, ist in der Liste der installierten Pakete zu sehen:</para> <screen>&prompt.root; <userinput>pkg info</userinput> ca_root_nss-3.13.5 The root certificate bundle from the Mozilla Project curl-7.24.0 Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers pkg-1.0.2 New generation package manager</screen> <para>Wird ein Paket nicht mehr ben�tigt, kann es mit <command>pkg delete</command> entfernt werden. Wenn beispielsweise <application>curl</application> nicht mehr ben�tigt wird:</para> <screen>&prompt.root; <userinput>pkg delete curl</userinput> The following packages will be deleted: curl-7.24.0_1 The deletion will free 3 MB Proceed with deleting packages [y/N]: <userinput>y</userinput> Deleting curl-7.24.0_1... done</screen> </sect3> <sect3 xml:id="pkgng-upgrading"> <title>Installierte Pakete mit <application>pkgng</application> aktualisieren</title> <para>Pakete die nicht mehr aktuell sind, k�nnen mit <command>pkg version</command> gefunden werden. &man.pkg-version.8; nutzt zur Identifikation der Paketversionen die lokale Ports-Sammlung, falls diese installiert ist. Ansonsten wird dazu das entfernte Repository benutzt.</para> <para>Pakete k�nnen mit <application>pkgng</application> auf neue Versionen aktualisiert werden. Wenn eine neue Version von <application>curl</application> ver�ffentlicht wurde, kann das lokale Paket auf die neue Version aktualisiert werden:</para> <screen>&prompt.root; <userinput>pkg upgrade</userinput> Updating repository catalogue repo.txz 100% 297KB 296KB/s 296KB/s 00:00 The following packages will be upgraded: Upgrading curl: 7.24.0 -> 7.24.0_1 1 MB to be downloaded Proceed with upgrading packages [y/N]: <userinput>y</userinput> curl-7.24.0_1.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00 Checking integrity... done Upgrading curl from 7.24.0 to 7.24.0_1... done</screen> </sect3> <sect3 xml:id="pkgng-auditing"> <title>Installierte Pakete mit <application>pkgng</application> auditieren</title> <para>Gelegentlich werden Sicherheitsl�cken in einer Software innerhalb der Ports-Sammlung entdeckt. <application>pkgng</application> besitzt ein eingebautes Auditing, was mit dem Paket <package>ports-mgmt/portaudit</package> vergleichbar ist. Um die auf dem System installierte Software zu pr�fen, geben Sie folgenden Befehl ein:</para> <screen>&prompt.root; <userinput>pkg audit -F</userinput></screen> </sect3> </sect2> <sect2 xml:id="pkgng-advanced-usage"> <title>Fortgeschrittene Arbeiten mit <application>pkgng</application></title> <sect3 xml:id="pkgng-autoremove"> <title>Automatisches Entfernen von nicht mehr ben�tigten Abh�ngigkeiten mit <application>pkgng</application></title> <para>Das Entfernen eines Pakets kann m�glicherweise unn�tige Abh�ngigkeiten hinterlassen, wie im obigen Beispiel <package>ca_root_nss</package>. Solche Pakete sind zwar noch installiert, aber keine weiteren Pakete h�ngen mehr von ihnen ab. Unn�tige Pakete, die als Abh�ngigkeit von anderen Paketen installiert wurden, k�nnen automatisch erfasst und entfernt werden:</para> <screen>&prompt.root; <userinput>pkg autoremove</userinput> Packages to be removed: ca_root_nss-3.15.5 The autoremoval will free 723 kB Proceed with autoremoval of packages [y/N]: <userinput>y</userinput> Deinstalling ca_root_nss-3.13.5... done</screen> </sect3> <sect3 xml:id="pkgng-backup"> <title>Sicherung der <application>pkgng</application> Datenbank</title> <para>Im Gegensatz zum alten Paketverwaltungssystem beinhaltet <application>pkgng</application> einen eigenen Mechanismus zur Sicherung der Paketdatenbank. Um den Inhalt der Datenbank manuell zu sichern, geben Sie folgendes ein:</para> <screen>&prompt.root; <userinput>pkg backup -d <replaceable>pkgng.db</replaceable></userinput></screen> <note> <para>Ersetzen Sie den Dateinamen <replaceable>pkgng.db</replaceable> durch einen geeigneten Dateinamen.</para> </note> <para>Zus�tzlich verf�gt <application>pkgng</application> �ber ein &man.periodic.8;-Skript, das automatisch eine t�gliche Sicherung der Paketdatenbank erstellt, wenn in &man.periodic.conf.5; <literal>daily_backup_pkgng_enable</literal> auf <literal>YES</literal> gesetzt ist.</para> <tip> <para>Um <application>pkg_install</application> daran zu hindern, ebenfalls eine Sicherung der Paketdatenbank zu erstellen, muss in &man.periodic.conf.5; <literal>daily_backup_pkgdb_enable</literal> auf <literal>NO</literal> gesetzt werden.</para> </tip> <para>Um den Inhalt einer fr�heren Paketdatenbank wiederherzustellen, geben Sie folgendes ein:</para> <screen>&prompt.root; <userinput>pkg backup -r <replaceable>/path/to/pkgng.db</replaceable></userinput></screen> </sect3> <sect3 xml:id="pkgng-clean"> <title>Alte Pakete mit <application>pkgng</application> entfernen</title> <para>Standardm��ig speichert <application>pkgng</application> Pakete in einem Cache-Verzeichnis, welches in &man.pkg.conf.5; in der Variablen <envar>PKG_CACHEDIR</envar> definiert wird. Beim Upgrade der Pakete mit <command>pkg upgrade</command>, werden die alten Versionen der Pakete nicht automatisch entfernt.</para> <para>Um veraltete Pakete zu entfernen, geben Sie folgendes ein:</para> <screen>&prompt.root; <userinput>pkg clean</userinput></screen> </sect3> <sect3 xml:id="pkgng-set"> <title>Manipulation der <application>pkgng</application> Paket Metadaten</title> <para>Bei Software aus der &os; Ports-Sammlung kann es vorkommen, dass die Hauptversionsnummer ge�ndert wird. Im Gegensatz zu <application>pkg_install</application> hat <application>pkgng</application> ein eingebautes Kommando, um die Quelle eines Pakets zu aktualisieren. Wenn zum Beispiel <package>lang/php5</package> urspr�nglich die Version <literal>5.3</literal> hatte, nun aber in <package>lang/php53</package> umbenannt wurde, um die Version <literal>5.4</literal> zu integrieren, dann h�tte <application>pkg_install</application> zus�tzliche Software, wie beispielsweise <package>ports-mgmt/portmaster</package> ben�tigt, um die Quelle des Pakets in der Paketdatenbank zu aktualisieren.</para> <para>Bei <package>ports-mgmt/portmaster</package> und <package>ports-mgmt/portupgrade</package> unterscheidet sich die Ausgabe bei der Auflistung von neuen und alten Versionen. F�r <application>pkgng</application> lautet die Syntax:</para> <screen>&prompt.root; <userinput>pkg set -o <replaceable>category/oldport</replaceable>:<replaceable>category/newport</replaceable></userinput></screen> <para>Um die Quelle des Pakets f�r das obige Beispiel zu �ndern, geben Sie folgendes ein:</para> <screen>&prompt.root; <userinput>pkg set -o lang/php5:lang/php53</userinput></screen> <para>Ein weiteres Beispiel: Um <package>lang/ruby18</package> auf <package>lang/ruby19</package> zu aktualisieren, geben Sie folgendes ein:</para> <screen>&prompt.root; <userinput>pkg set -o lang/ruby18:lang/ruby19</userinput></screen> <para>In diesem letzten Beispiel wird die Quelle der Bibliotheken von <filename>libglut</filename> von <package>graphics/libglut</package> auf <package>graphics/freeglut</package> ge�ndert:</para> <screen>&prompt.root; <userinput>pkg set -o graphics/libglut:graphics/freeglut</userinput></screen> <note> <para>Bei dem Wechsel einer Paketquelle ist es in den meisten F�llen notwendig, die Pakete neu zu installieren, welche von dem Paket abh�ngig sind, welches seine Paketquelle ge�ndert hat. Um eine Neuinstallation von abh�ngigen Paketen zu erzwingen, f�hren Sie folgenden Befehl aus:</para> <screen>&prompt.root; <userinput>pkg install -Rf <replaceable>graphics/freeglut</replaceable></userinput></screen> </note> </sect3> </sect2> </sect1> <sect1 xml:id="ports-using"> <title>Benutzen der Ports-Sammlung</title> <para>Dieser Abschnitt stellt die grundlegenden Anweisungen vor, um Anwendungen aus der Ports-Sammlung zu installieren oder zu l�schen. &man.ports.7; enth�lt eine Auflistung aller verf�gbaren <command>make</command>-Targets und Umgebungsvariablen.</para> <warning> <para>Ende 2012 hat das &os; Ports-Projekt eine Migration des Versionskontrollsystems von CVS auf Subversion durchgef�hrt. Die bevorzugte Methode zum Herunterladen der Ports-Sammlung ist <application>Portsnap</application>. Benutzer, die lokale Anpassungen der Ports vornehmen m�ssen, werden es wahrscheinlich bevorzugen, Subversion direkt zu verwenden. Der <application>CVSup</application>-Service wurde am 28. Februar 2013 eingestellt.</para> </warning> <sect2 xml:id="ports-tree"> <title>Installation der Ports-Sammlung</title> <para>Die Ports-Sammlung ist eine Reihe von Makefiles, Patches und Beschreibungen, die unter <filename>/usr/ports</filename> gespeichert sind. Diese Dateien werden f�r den Bau und die Installation von Anwendungen unter &os; verwendet. Die folgenden Anweisungen zeigen verschiedene Methoden zur Installation der Ports-Sammlung, falls diese nicht schon w�hrend der Installation von &os; installiert wurden.</para> <procedure> <title>Installation mit Portsnap</title> <para><application>Portsnap</application> ist ein schnelles und benutzerfreundliches Werkzeug zur Installation der Ports-Sammlung und die bevorzugte Wahl f�r die meisten Benutzer.</para> <step> <para>Laden Sie einen komprimierten Snapshot der Ports-Sammlung in <filename>/var/db/portsnap</filename>.</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>/usr/ports</filename> extrahieren:</para> <screen>&prompt.root; <userinput>portsnap extract</userinput></screen> </step> <step> <para>Nach dem ersten Einsatz von <application>Portsnap</application>, kann <filename>/usr/ports</filename> wie folgt aktualisiert werden:</para> <screen>&prompt.root; <userinput>portsnap fetch</userinput> &prompt.root; <userinput>portsnap update</userinput></screen> </step> </procedure> <procedure> <title>Installation mit Subversion</title> <para>Wird mehr Kontrolle �ber die Ports-Sammlung ben�tigt (beispielsweise f�r der Pflege lokaler �nderungen), kann <application>Subversion</application> benutzt werden, um die Ports-Sammlung zu laden. Lesen Sie <link xlink:href="&url.articles.committers-guide;/subversion-primer.html">the Subversion Primer</link> f�r eine detaillierte Beschreibung von <application>Subversion</application>.</para> <step> <para><application>Subversion</application> muss installiert sein, bevor damit die Ports-Sammlung geladen werden kann. Ist eine lokale Kopie der Ports-Sammlung bereits vorhanden, installieren Sie <application>Subversion</application> wie folgt:</para> <screen>&prompt.root; <userinput>cd /usr/ports/devel/subversion</userinput> &prompt.root; <userinput>make install clean</userinput></screen> <para>Ist keine lokale Kopie der Ports-Sammlung vorhanden, kann <application>Subversion</application> als Paket installiert werden:</para> <screen>&prompt.root; <userinput>pkg_add -r subversion</userinput></screen> <para>Wird <application>pkgng</application> f�r die Verwaltung von Paketen benutzt, kann <application>Subversion</application> dar�ber installiert werden:</para> <screen>&prompt.root; <userinput>pkg install subversion</userinput></screen> </step> <step> <para>Laden Sie eine Kopie der Ports-Sammlung. Verwenden Sie anstatt <replaceable>svn0.us-east.FreeBSD.org</replaceable> einen <link xlink:href="&url.books.handbook;/svn-mirrors.html">Subversion Mirror</link> in Ihrer N�he. Committer sollten zuvor den <link xlink:href="&url.articles.committers-guide;/subversion-primer.html">Subversion Primer</link> lesen, um sicherzustellen, dass das richtige Protokoll gew�hlt wird.</para> <screen>&prompt.root; <userinput>svn checkout https://<replaceable>svn0.us-east.FreeBSD.org</replaceable>/ports/head /usr/ports</userinput></screen> </step> <step> <para>Nach dem erstmaligen <foreignphrase>checkout</foreignphrase> mit <application>Subversion</application> kann <filename>/usr/ports</filename> wie folgt aktualisiert werden:</para> <screen>&prompt.root; <userinput>svn update /usr/ports</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 <systemitem class="username">root</systemitem> <command>sysinstall</command> aus:</para> <screen>&prompt.root; <userinput>sysinstall</userinput></screen> </step> <step> <para>W�hlen Sie den Punkt <guimenuitem>Configure</guimenuitem> aus und dr�cken Sie <keycap>Enter</keycap>.</para> </step> <step> <para>W�hlen Sie dann <guimenuitem>Distributions</guimenuitem> aus und dr�cken Sie <keycap>Enter</keycap>.</para> </step> <step> <para>In diesem Men� w�hlen Sie <guimenuitem>ports</guimenuitem> aus und dr�cken die <keycap>Leertaste</keycap>.</para> </step> <step> <para>Danach w�hlen Sie <literal>Exit</literal> aus und dr�cken <keycap>Enter</keycap>.</para> </step> <step> <para>Legen Sie nun ein geeignetes Installationsmedium, wie CD-ROM oder FTP, fest.</para> </step> <step> <para>W�hlen Sie nun <literal>Exit</literal> aus und dr�cken <keycap>Enter</keycap>.</para> </step> <step> <para>Verlassen Sie <application>sysinstall</application> mit <keycap>X</keycap>.</para> </step> </procedure> </sect2> <sect2 xml:id="cvsup-migration"> <title>Migration von <application>CVSup</application>/<application>csup</application> zu <application>portsnap</application></title> <warning> <para>Seit dem 28. Februar 2013 wird die Ports-Sammlung nicht mehr nach <application>CVS</application> exportiert. Somit werden �ber <application>CVSup</application> und <application>csup</application> keine Updates f�r die Ports-Sammlung mehr zu Verf�gung gestellt.</para> </warning> <procedure> <title>Migration zu portsnap</title> <para>F�r die Migration werden in <filename>/usr</filename> ca. 1 GB freier Speicher und in <filename>/var</filename> ca. 150 MB freier Speicher ben�tigt.</para> <step> <para>Deaktivieren Sie alle automatischen Updates der Ports-Sammlung, wie beispielsweise &man.cron.8; Jobs, die <application>CVSup</application> oder <application>csup</application> aufrufen.</para> </step> <step> <para>Verschieben Sie die bestehende Ports-Sammlung in ein tempor�res Verzeichnis:</para> <screen>&prompt.root; <userinput>mv /usr/ports /usr/ports.old</userinput></screen> </step> <step> <para>Laden Sie eine aktuelle Kopie Ports-Sammlung mit <application>Portsnap</application> herunter und extrahieren Sie diese nach <filename>/usr/ports</filename>:</para> <screen>&prompt.root; <userinput>portsnap fetch extract</userinput></screen> </step> <step> <para>Verschieben Sie Distfiles und vorhandene Pakete in die neue Ports-Sammlung:</para> <screen>&prompt.root; <userinput>mv /usr/ports.old/distfiles /usr/ports</userinput> &prompt.root; <userinput>mv /usr/ports.old/packages /usr/ports</userinput></screen> </step> <step> <para>L�schen Sie die alte Ports-Sammlung:</para> <screen>&prompt.root; <userinput>rm -rf /usr/ports.old</userinput></screen> </step> <step> <para>Falls zuvor <application>CVSup</application> verwendet wurde, kann es nun deinstalliert werden:</para> <screen>&prompt.root; <userinput>pkg_delete -r -v cvsup-without-gui-\*</userinput></screen> </step> <step> <para>Benutzer von <application>pkgng</application> k�nnen das folgende Kommando benutzen:</para> <screen>&prompt.root; <userinput>pkg delete cvsup-without-gui</userinput></screen> </step> </procedure> <para>Eine detaillierte Beschreibung von <application>Portsnap</application> und wie die Ports-Sammlung mit <application>Portsnap</application> aktualisiert wird, finden Sie in <link linkend="updating-upgrading-portsnap">Portsnap: Ein Werkzeug zur Aktualisierung der Ports-Sammlung</link>.</para> </sect2> <sect2 xml:id="ports-skeleton"> <title>Ports installieren</title> <indexterm> <primary>Ports</primary> <secondary>installieren</secondary> </indexterm> <para>Ein Port-<quote>Ger�st</quote> ist ein Satz von Dateien, die &os; sagen, wie ein Programm zu kompilieren und zu installieren ist. Ein jeder Port beinhaltet:</para> <itemizedlist> <listitem> <para><filename>Makefile</filename>: Das <filename>Makefile</filename> enth�lt Anweisungen, die spezifizieren, wie eine Anwendung kompiliert wird und wohin sie installiert werden sollte.</para> </listitem> <listitem> <para><filename>distinfo</filename>: Diese Datei enth�lt Informationen, welche Dateien heruntergeladen werden m�ssen sowie deren Pr�fsummen (&man.sha256.1;), um sicherzustellen, dass Dateien w�hrend des Herunterladens nicht besch�digt wurden.</para> </listitem> <listitem> <para><filename>files</filename>: Dieses Verzeichnis enth�lt Patches, welche das �bersetzen und Installieren der Anwendung unter &os; erm�glichen. Zudem k�nnen noch weitere Dateien, die f�r die �bersetzung des Ports verwendet werden, enthalten sein.</para> </listitem> <listitem> <para><filename>pkg-descr</filename>: Diese Datei enth�lt eine ausf�hrlichere Beschreibung der Anwendung.</para> </listitem> <listitem> <para><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 das <link xlink:href="&url.books.porters-handbook.en;/index.html"> &os; Porter's Handbook</link>.</para> <para>Ein Port enth�lt nicht den eigentlichen Quellcode, der auch als <quote>Distfile</quote> bekannt ist. Der Autor der Software kann bestimmen, in welcher Weise die Software verteilt wird. Die beiden Methoden zur Installation eines &os;-Ports werden nachfolgend beschrieben.</para> <note> <para>Zum Installieren von Ports m�ssen Sie als Benutzer <systemitem class="username">root</systemitem> angemeldet sein.</para> </note> <warning> <para>Stellen Sie sicher, dass die Ports-Sammlung aktuell ist, bevor Sie einen Port kompilieren. Informieren Sie sich vorher zus�tzlich unter <uri xlink:href="http://vuxml.FreeBSD.org/">http://vuxml.FreeBSD.org/</uri> �ber m�gliche Sicherheitsprobleme des zu installierenden Ports. Wenn <package>ports-mgmt/portaudit</package> installiert ist, f�hren Sie <command>portaudit -F</command> aus, um die aktuelle Sicherheitsdatenbank zu aktualisieren. Die t�glich laufende Sicherheitspr�fung des Systems aktualisiert ebenfalls die Datenbank und pr�ft installierte Anwendungen auf vorhandene Sicherheitsprobleme. F�r weitere Informationen lesen Sie die Manualpage &man.portaudit.1; und &man.periodic.8;.</para> </warning> <para>Die Ports-Sammlung geht davon, dass eine funktionierende Internetverbindung besteht. Ansonsten muss eine Kopie des zu installierenden Distfiles manuell nach <filename>/usr/ports/distfiles</filename> kopiert werden.</para> <para>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>Um den Port zu �bersetzen (auch Bauen genannt), geben Sie am Prompt <command>make</command> ein. Die Ausgabe sollte der in diesem Beispiel �hnlich sein:</para> <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 mit <command>make install</command> installieren:</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>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 install clean </command> anstelle von <command>make</command>, <command>make install</command> und <command>make clean</command> eingeben.</para> </note> <note> <para>Wird ein Port immer nur mit <command>make install</command> installiert, kann es m�glicherweise zu mehreren Wartezeiten zwischen Benutzerinteraktionen kommen, da dem Benutzer standardm��ig Optionen angezeigt werden. Um dies bei einer hohen Anzahl an Abh�ngigkeiten zu vermeiden, starten Sie zuerst <command>make config-recursive</command>, um die Konfiguration der Optionen an einem St�ck zu erledigen. F�hren Sie anschlie�end <command>make install [clean]</command> aus.</para> </note> <tip> <para>Bei der Verwendung von <buildtarget>config-recursive</buildtarget> wird eine Liste von Ports, die konfiguriert werden, vom &man.make.1;-Target <buildtarget>all-depends-list</buildtarget> erstellt. Es wird oft empfohlen, <command>make config-recursive</command> so lange auszuf�hren, bis alle Optionen der abh�ngigen Ports definiert sind und keine Optionen und &man.dialog.1;-Masken mehr erscheinen. Damit soll sichergestellt werden, dass alle Optionen wie beabsichtigt konfiguriert wurden.</para> </tip> <note> <para>Um die Suche nach Kommandos zu beschleunigen, speichern einige Shells eine Liste der verf�gbaren Kommandos in den durch die Umgebungsvariable <envar>PATH</envar> gegebenen Verzeichnissen. Wenn Sie die <command>tcsh</command> benutzen, m�ssen Sie eventuell <command>rehash</command> eintippen, um die neu installierten Kommandos benutzen zu k�nnen, ohne den vollst�ndigen Pfad anzugeben. Unter Shells wie der <command>sh</command> benutzen Sie stattdessen das Kommando <command>hash -r</command>. Weitere Informationen finden Sie in der Dokumentation der jeweiligen Shell.</para> </note> <para>Einige von Dritten angebotenen DVD-Produkte wie das &os; Toolkit von der <link xlink:href="http://www.freebsdmall.com/">&os; Mall</link> enthalten auch Distfiles. Diese lassen sich �ber die Ports-Sammlung installieren. Dazu h�ngen Sie die DVD unter <filename>/cdrom</filename> in den Verzeichnisbaum ein. Wenn Sie einen anderen Mountpunkt verwenden, setzen Sie die make-Variable <varname>CD_MOUNTPTS</varname>, damit die auf der DVD enthaltenen Distfiles automatisch verwendet werden.</para> <note> <para>Die Lizenzen einiger Ports verbieten die Einbeziehung auf der DVD. Das kann verschiedene Gr�nde haben. Beispielsweise ist eine Registrierung vor dem Herunterladen erforderlich, oder die Weiterverteilung ist verboten. Wenn Sie einen Port installieren wollen, der nicht auf der DVD enthalten ist, m�ssen Sie mit dem Internet verbunden sein.</para> </note> <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 k�nnen <command>make fetch</command> im Verzeichnis <filename>/usr/ports</filename> ausf�hren, um die ben�tigten Dateien herunterzuladen. Es ist auch m�glich, <command>make fetch</command> nur in einem Teil des Baums, wie <filename>/usr/ports/net</filename>, aufzurufen. Die Dateien von allen abh�ngigen Ports werden mit diesem Kommando allerdings nicht heruntergeladen. Wenn Sie diese Dateien ebenfalls herunterladen wollen, benutzen Sie <command>make fetch-recursive</command>.</para> <note> <para>Sie k�nnen alle Ports einer Kategorie oder alle Ports bauen, indem Sie <command>make</command> im �bergeordneten Verzeichnis ausf�hren. Dies ist jedoch eine gef�hrliche Methode, da einige Ports nicht nebeneinander existieren k�nnen. Weiterhin gibt es F�lle, in denen zwei Ports unterschiedliche Inhalte in derselben Datei speichern wollen.</para> </note> <para>In einigen seltenen F�llen ist es erforderlich, die ben�tigten Dateien von einem anderen Ort als den im Port definierten <varname>MASTER_SITES</varname> herunterzuladen. Sie k�nnen die Option <varname>MASTER_SITES</varname> mit dem folgenden Kommando �berschreiben:</para> <screen>&prompt.root; <userinput>cd /usr/ports/directory</userinput> &prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen> <para>Im Beispiel wurde <varname>MASTER_SITES</varname> mit dem Wert <literal>ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</literal> �berschrieben.</para> <note> <para>Einige Ports bieten Optionen, mit denen zus�tzliche Funktionen oder Sicherheitsoptionen eingestellt werden k�nnen. Zus�tzliche Optionen k�nnen beispielsweise f�r <package>www/firefox</package>, <package>security/gpgme</package> und <package>mail/sylpheed-claws</package> angegeben werden. Wenn ein Port �ber zus�tzliche Optionen verf�gt, wird ein Men� beim Bau des Ports ausgegeben.</para> </note> <sect3> <title>Vorgabe-Verzeichnisse �ndern</title> <para>Die Variablen <varname>WRKDIRPREFIX</varname> und <varname>PREFIX</varname> �berschreiben das voreingestellte Bau- und Zielverzeichnis. Zum Beispiel:</para> <screen>&prompt.root; <userinput>make WRKDIRPREFIX=/usr/home/example/ports install</userinput></screen> <para>Dieses Kommando baut den Port unter <filename>/usr/home/example/ports</filename> und installiert ihn unter <filename>/usr/local</filename>.</para> <para>Die Variable <varname>PREFIX</varname> 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>Alternativ k�nnen diese Variablen auch als Umgebungsvariablen gesetzt werden. In der Manualpage Ihrer Shell finden Sie Anweisungen, wie Umgebungsvariablen gesetzt werden.</para> </sect3> <sect3> <title>Ports rekonfigurieren</title> <para>Einige Ports enthalten ein ncurses-basiertes Men�, �ber dessen Optionen der Bau dieser Ports beeinflusst werden kann. Es gibt diverse M�glichkeiten, dieses Men� nach dem Bau eines Ports erneut aufzurufen, um beispielsweise Optionen zu entfernen, hinzuzuf�gen oder anzupassen. Sie k�nnen beispielsweise in das Verzeichnis des Ports wechseln und dort den Befehl <command>make config</command> eingeben. Eine andere M�glichkeit ist <command>make showconfig</command>. Eine weitere Alternative bietet <command>make rmconfig</command>, der alle urspr�nglich gew�hlten Optionen zur�cksetzt und es Ihnen dadurch erm�glicht, die Konfiguration erneut zu beginnen. Die eben erw�hnten Optionen (und viele andere) werden ausf�hrlich in der Manualpage &man.ports.7; beschrieben.</para> </sect3> </sect2> <sect2 xml:id="ports-removing"> <title>Entfernen installierter Ports</title> <indexterm> <primary>Ports</primary> <secondary>entfernen</secondary> </indexterm> <para>Installierte Ports werden mit &man.pkg.delete.1; wieder deinstalliert:</para> <screen>&prompt.root; <userinput>pkg_delete lsof-4.57</userinput></screen> </sect2> <sect2 xml: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 xml:id="ports-file-updating"> <title>Lesen Sie <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 xml: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 <package>ports-mgmt/portupgrade</package> wie jeden anderen Port mit <command>make install clean</command> installieren:</para> <screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portupgrade/</userinput> &prompt.root; <userinput>make install clean</userinput></screen> <para>Durchsuchen Sie regelm��ig die Liste der installierten Ports mit <command>pkgdb -F</command> und beheben Sie alle gefundenen Probleme. Es ist eine gute Idee, dies vor jedem Update auszuf�hren.</para> <para>Benutzen Sie <command>portupgrade -a</command>, um automatisch alle veralteten Ports auf dem System zu aktualisieren. 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>Um nur eine spezifische Anwendung zu aktualisieren, verwenden Sie <command>portupgrade <replaceable>Paketname</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> <screen>&prompt.root; <userinput>portupgrade -R firefox</userinput></screen> <para>Um Pakete anstelle von Ports zu installieren, verweden Sie den Schalter <option>-P</option>. 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 xml:id="portmaster"> <title>Ports mit <application>portmaster</application> aktualisieren</title> <indexterm> <primary>portmaster</primary> </indexterm> <para><package>portmaster</package> ist ein weiteres Werkzeug zum Aktualisieren von Ports. <application>portmaster</application> nutzt nur Werkzeuge, die bereits im Basissystem vorhanden sind, ohne dabei von weiteren Ports abh�ngig zu sein. Es verwendet Informationen in <filename>/var/db/pkg/</filename>, um festzustellen, welche Ports aktualisiert werden sollen. Sie k�nnen den Port wie folgt installieren:</para> <screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portmaster</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 and is not depended on by other ports</para> </listitem> <listitem> <para>Trunk ports: no dependencies, but other ports depend upon it</para> </listitem> <listitem> <para>Branch ports: have dependencies but are depended upon by other ports</para> </listitem> <listitem> <para>Leaf ports: have dependencies but are not depended upon by other ports</para> </listitem> </itemizedlist> <para>Um eine Liste der installierten Ports anzuzeigen und nach neueren Versionen zu suchen, verwenden Sie <option>-L</option>:</para> <screen>&prompt.root; <userinput>portmaster -L</userinput> ===>>> Root ports (No dependencies, not depended on) ===>>> ispell-3.2.06_18 ===>>> screen-4.0.3 ===>>> New version available: screen-4.0.3_1 ===>>> tcpflow-0.21_1 ===>>> 7 root ports ... ===>>> Branch ports (Have dependencies, are depended on) ===>>> apache22-2.2.3 ===>>> New version available: apache22-2.2.8 ... ===>>> Leaf ports (Have dependencies, not depended on) ===>>> automake-1.9.6_2 ===>>> bash-3.1.17 ===>>> New version available: bash-3.2.33 ... ===>>> 32 leaf ports ===>>> 137 total installed ports ===>>> 83 have new versions available </screen> <para>Um alle installierten Ports zu aktualisieren, verwenden Sie 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 von <option>-i</option> wird <application>portmaster</application> im interaktiven Modus gestartet und fragt bei jedem zu aktualisierenden Port nach, wie weiter vorgegangen werden soll.</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 shells/bash</userinput></screen> <para>Weiterf�hrende Informationen finden Sie in der Manualpage &man.portmaster.8;.</para> </sect3> </sect2> <sect2 xml:id="ports-disk-space"> <title>Platzbedarf von Ports</title> <indexterm> <primary>Ports</primary> <secondary>Plattenplatz</secondary> </indexterm> <para>Die Nutzung der Ports-Sammlung wird im Laufe der Zeit viel Plattenplatz verschlingen. Nach dem Bau und der Installation eines Ports, wird <command>make clean</command> die tempor�ren Arbeitsverzeichnisse <filename>work</filename> aufr�umen. Um die gesamte Ports-Sammlung aufzur�umen, verwenden Sie folgenden Befehl:</para> <screen>&prompt.root; <userinput>portsclean -C</userinput></screen> <para>Im Laufe der Zeit werden sich zahlreiche veraltete Distfiles in <filename>distfiles</filename> ansammeln. Mit dem folgenden Befehl werden alle Distfiles gel�scht, die vom keinem Port mehr ben�tigt werden:</para> <screen>&prompt.root; <userinput>portsclean -D</userinput></screen> <para>Um alle Distfiles zu l�schen, 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 <package>portupgrade</package> mit installiert.</para> </note> <para><package>port-mgmt/pkg_cutleaves</package> automatisiert die Deinstallation von installierten Ports, die nicht weiter ben�tigt werden.</para> </sect2> </sect1> <sect1 xml:id="ports-nextsteps"> <title>Nach der Installation</title> <para>Die meisten Anwendungen von Drittanbietern ben�tigen ein gewisses Ma� an Konfiguration, nachdem sie installiert wurden. Dies kann beispielsweise eine einfache �nderung an der Konfigurationsdatei sein, vielleicht generiert aber die Anwendung selbst eine Konfigurationsdatei. Die meisten Anwendungen installieren die Dokumentation nach <filename>/usr/local/share/doc</filename>. Diese Dokumentation sollten Sie lesen, bevor Sie fortfahren. Einige Anwendungen laufen als Dienst und m�ssen vor dem ersten Start in <filename>/etc/rc.conf</filename> eingetragen werden.</para> <para>Die folgende Liste enth�lt n�tzliche Informationen f�r die Arbeiten nach der Installation eines Ports. In manchen F�llen befindet sich der Speicherort einer Anwendung au�erhalb von <envar>PATH</envar>. Benutzer der &man.csh.1; sollten <command>rehash</command> ausf�hren, um die neu installierten Programme benutzen zu k�nnen.</para> <itemizedlist> <listitem> <para>Das Kommando &man.pkg.info.1; zeigt alle installierten Dateien und deren Speicherort an. Wenn beispielsweise die Version 1.0.0 von FooPackage installiert wurde, zeigt das folgende Kommando alle installierten Dateien an, die mit dem Paket installiert wurden:</para> <screen>&prompt.root; <userinput>pkg_info -L <replaceable>foopackage-1.0.0</replaceable> | less</userinput></screen> <para>Die Konfigurationsdateien werden immer nach <filename>/usr/local/etc</filename> installiert. Sie sollten diese Dateien auf jeden Fall lesen, bevor Sie die neue Anwendung benutzen.</para> <para>Um festzustellen welche Version der Anwendung installiert ist:</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>Diese Kommandos zeigen auch die Namen der Manualpages, die zusammen mit der Anwendung installiert wurden. Die zus�tzliche Dokumentation steht nun auch dem Kommando &man.man.1; zur Verf�gung.</para> </listitem> <listitem> <para>Wenn es f�r die Anwendung eine Webseite gibt, suchen Sie dort nach zus�tzlicher Dokumentation oder FAQs (h�ufig gestellte Fragen). Wenn Ihnen die Webseite nicht bekannt ist, versuchen Sie das folgende Kommando:</para> <screen>&prompt.root; <userinput>pkg_info foopackage-1.0.0</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 Startskript in <filename>/usr/local/etc/rc.d</filename>. �berpr�fen Sie dieses Skript, und wenn n�tig, passen Sie es an oder benennen Sie es um. Weitere Informationen finden Sie in <xref linkend="configtuning-starting-services"/>.</para> </listitem> </itemizedlist> </sect1> <sect1 xml:id="ports-broken"> <title>Kaputte Ports</title> <para>Stolpern Sie einmal �ber einen Port, der nicht funktioniert:</para> <orderedlist> <listitem> <para>Stellen Sie fest, ob die <link xlink:href="&url.base;/de/support.html#gnats">Datenbank mit den Problemberichten</link> bereits einen L�sungsvorschlag enth�lt. Ist dies der Fall, kann die vorgeschlagene L�sung getestet werden.</para> </listitem> <listitem> <para>Bitten Sie den Betreuer des Ports um Hilfe. Geben Sie dazu <command>make maintainer</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 <link xlink:href="&url.articles.mailing-list-faq.en;/article.html"> Mailingliste</link> 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 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, benutzen Sie &man.send-pr.1;, um einen Problembericht zu erstellen. Bevor Sie einen solchen Bericht erstellen, lesen Sie den Artikel <link xlink:href="&url.articles.problem-reports.en;/article.html">Writing &os; Problem Reports</link>.</para> </listitem> <listitem> <para>Reparieren Sie ihn! Das <link xlink:href="&url.books.porters-handbook.en;/index.html">&os; Porter's Handbook</link> 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>Benutzen Sie alternativ &man.pkg.add.1;, um das Paket zu installieren.</para> </listitem> </orderedlist> </sect1> </chapter>