Thanks to the efforts of Frank Börner, we were able to update multiple documents to the current version. books/developers-handbook/policies/chapter.sgml 1.33 -> 1.34 [1] books/handbook/book.sgml 1.175 -> 1.176 [1] books/handbook/cutting-edge/chapter.sgml 1.245 -> 1.246 books/handbook/kernelconfig/chapter.sgml 1.193 -> 1.194 books/handbook/ports/chapter.sgml 1.278 -> 1.290 [1] books/handbook/x11/chapter.sgml 1.186 -> 1.201 flyer/flyer.tex 1.16 -> 1.17 [1] share/sgml/trademarks.sgml 1.6 -> 1.7 [1] [1] Contributed by: Frank Börner (frank dash freebsd at online dot de) Obtained from: The FreeBSD German Documentation Project
1686 lines
66 KiB
Text
1686 lines
66 KiB
Text
<!--
|
|
The FreeBSD Documentation Project
|
|
The FreeBSD German Documentation Project
|
|
|
|
$FreeBSD$
|
|
$FreeBSDde: de-docproj/books/handbook/ports/chapter.sgml,v 1.108 2010/01/10 20:19:21 bcr Exp $
|
|
basiert auf: 1.290
|
|
-->
|
|
|
|
<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>
|
|
|
|
<indexterm><primary>FreshPorts</primary></indexterm>
|
|
|
|
<listitem>
|
|
<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>
|
|
|
|
<indexterm><primary>FreshMeat</primary></indexterm>
|
|
|
|
<listitem>
|
|
<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; 5.4-RELEASE installiert haben, versucht
|
|
&man.pkg.add.1; in der Voreinstellung die Pakete von
|
|
<literal>ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/</literal>
|
|
zu laden. Wollen Sie &man.pkg.add.1; dazu zwingen, nur
|
|
&os; 5-STABLE-Pakete herunterzuladen, setzen Sie die
|
|
Umgebungsvariable <envar>PACKAGESITE</envar> auf
|
|
<literal>ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-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 seit &os; 6.2 im Basissystem enthaltene Variante
|
|
des <application>CVSup</application>-Protokolls heißt
|
|
<application>csup</application>. Verwenden Sie hingegen
|
|
noch eine ältere &os;-Version, können
|
|
Sie <application>csup</application> über den Port
|
|
<filename role="package">net/csup</filename> installieren.</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.md5.1; sowie &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/mozilla</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 <ulink
|
|
url="http://mirrorlist.FreeBSD.org/">Spiegel in Ihrer
|
|
Nähe</ulink>! 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>
|
|
|
|
<!--
|
|
Local Variables:
|
|
mode: sgml
|
|
sgml-declaration: "../chapter.decl"
|
|
sgml-indent-data: t
|
|
sgml-omittag: nil
|
|
sgml-always-quote-attributes: t
|
|
sgml-parent-document: ("../book.sgml" "part" "chapter")
|
|
End:
|
|
-->
|