diff options
Diffstat (limited to 'de_DE.ISO8859-1/books/handbook/ports/chapter.sgml')
-rw-r--r-- | de_DE.ISO8859-1/books/handbook/ports/chapter.sgml | 833 |
1 files changed, 223 insertions, 610 deletions
diff --git a/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml b/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml index a7eed6d1f1..0eb12fc4cd 100644 --- a/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml @@ -3,8 +3,8 @@ The FreeBSD German Documentation Project $FreeBSD$ - $FreeBSDde: de-docproj/books/handbook/ports/chapter.sgml,v 1.43 2003/05/18 12:16:25 mheinen Exp $ - basiert auf: 1.186 + $FreeBSDde: de-docproj/books/handbook/ports/chapter.sgml,v 1.45 2003/05/29 15:17:12 mheinen Exp $ + basiert auf: 1.200 --> <chapter id="ports"> @@ -43,12 +43,15 @@ <para>wie Sie binäre Softwarepakete installieren,</para> </listitem> <listitem> - <para>wie Sie Software Dritter mit der Ports-Sammlung bauen - und</para> + <para>wie Sie Software Dritter mit der Ports-Sammlung bauen,</para> </listitem> <listitem> <para>wie Sie zuvor installierte Pakete oder Ports von einem - System entfernen.</para> + System entfernen und</para> + </listitem> + <listitem> + <para>wie Sie die Voreinstellungen der Ports-Sammlung + überschreiben.</para> </listitem> </itemizedlist> </sect1> @@ -68,8 +71,8 @@ <step> <para>Auspacken der Software, die typischerweise ein mit - &man.compress.1; oder &man.gzip.1; komprimiertes Tar-Archiv - enthält.</para> + &man.compress.1;, &man.gzip.1; oder &man.bzip2.1; + komprimiertes Tar-Archiv enthält.</para> </step> <step> @@ -433,7 +436,10 @@ docbook = <row> <entry>?</entry> <entry>Das installierte Paket konnte in der Ports-Sammlung - nicht gefunden werden.</entry> + 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> @@ -628,7 +634,7 @@ docbook = <listitem> <para>Eine Datei <filename>distinfo</filename>. Diese enthält Informationen, welche Dateien heruntergeladen - werden müssen, sowie Prüfsummen, um sicher zu gehen, + werden müssen, sowie MD5-Prüfsummen, um sicher zu gehen, dass diese Dateien während des Herunterladens nicht beschädigt wurden.</para> </listitem> @@ -918,6 +924,112 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% 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 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, 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">net/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> + + <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>PORTSDIR</makevar> + und <makevar>PREFIX</makevar> einstellen. Die Variable + <makevar>PORTSDIR</makevar> gibt das Bauverzeichnis an:</para> + + <screen>&prompt.root; <userinput>make PORTSDIR=/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 PORTSDIR=../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> </sect2> @@ -958,6 +1070,70 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% wie im Abschnitt <link linkend="packages-using">Benutzen des Paketsystems</link> beschrieben.</para> </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 clean</command> + aus, um die Arbeitsverzeichnisse zu löschen. + Die Quelldateien im Verzeichnis <filename>distfiles</filename> + können Sie ebenfalls löschen. Entfernen Sie + nicht mehr benötigte Ports, um weiteren Plattenplatz + freizugeben.</para> + + <para>Wenn Sie die Ports-Sammlung mit + <application>CVSup</application> synchronisieren, + können Sie in der Datei <filename>refuse</filename> + Kategorien angeben, die nicht heruntergeladen werden sollen.</para> + </sect2> + + <sect2> + <title>Ports aktualisieren</title> + + <indexterm> + <primary>portupgrade</primary> + </indexterm> + <indexterm> + <primary>Ports</primary> + <secondary>aktualisieren</secondary> + </indexterm> + + <para>Es kann sehr mühsam sein, einen Port zu + aktualisieren: Sie müssen den Port im Port-Verzeichnis + bauen, den alten Port entfernen, den neuen Port + installieren und anschließend aufräumen. Stellen + Sie sich vor, Sie müssten fünf Ports auf + diese Weise aktualisieren! Viele Systemadministratoren + haben sich über dieses aufwändige Verfahren + beklagt. Mittlerweile gibt es aber den Port + <filename role="port">sysutils/portupgrade</filename>, + der diese Aufgabe automatisiert. Installieren Sie + den Port, wie jeden anderen, mit dem Kommando + <command>make install clean</command>.</para> + + <para>Das Werkzeug <application>portupgrade</application> + benötigt eine Datenbank, die installierte Ports + enthält. Das Kommando <command>pkgdb -F</command> + erstellt diese Datenbank im Verzeichnis + <filename>/var/db/pkg</filename>. Das Kommando + <command>portupgrade -a</command> aktualisiert alle + Ports des Systems. Dazu wird die Datenbank und die + Datei <filename>INDEX</filename> der Ports-Sammlung + gelesen. Anschließend werden die benötigten + Quelldateien heruntergeladen, die Ports gebaut, gesichert + und installiert. Zum Abschluß räumt + <application>portupgrade</application> die Arbeitsverzeichnisse + auf. Im Verzeichnis <filename>ports/sysutils</filename> + finden Sie weitere Werkzeuge, mit denen Sie die + Ports-Sammlung aktualisieren können.</para> + </sect2> </sect1> <sect1 id="ports-nextsteps"> @@ -994,7 +1170,7 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% Anwendung Sie gerade installiert haben, können Sie mit dem folgenden Kommando nach der Anwendung suchen:</para> - <screen>&prompt.root; <userinput>pkg_info | grep <replaceable>foopackage</replaceable></userinput></screen> + <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. @@ -1024,611 +1200,49 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100% </itemizedlist> </sect1> - <sect1 id="ports-trouble"> - <title>Fehlersuche und -behebung</title> - - <para>Der folgende Abschnitt beschreibt einige einfache - Fehlerbehebungsmöglichkeiten beim Benutzen der Ports-Sammlung - und ein paar Fehlerbehandlungen, falls ein <link - linkend="ports-broken">Port kaputt</link> ist.</para> - - <sect2 id="ports-questions"> - <title>Einige Fragen und Antworten</title> - - <qandaset> - <qandaentry> - <question> - <para>Ich dachte hierbei ging es um Modems??!</para> - </question> - - <answer> - <para>Ah, Sie müssen an die serielle Schnittstelle auf der - Rückseite Ihres Computers gedacht haben (engl. - <foreignphrase>port</foreignphrase>). Wir - benutzen hier <quote>Port</quote> als Ergebnis des - <quote>Portierens</quote> einer Anwendung von einem - Betriebssystem auf ein anderes.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para id="ports-patch">Was ist ein Patch?</para> - </question> - - <answer> - <para>Ein Patch ist eine kleine Datei, die beschreibt, wie man - von einer Version einer Datei zu einer anderen kommt. Sie - enthält reinen Text und sagt im Prinzip Dinge wie - <quote>lösche Zeile 23</quote>, - <quote>füge diese zwei Zeilen hinter Zeile 468 an</quote> - oder <quote>ändere Zeile 197 hierzu</quote>. Patche werden - mit &man.diff.1; erstellt, daher werden die resultierenden - Dateien auch <quote>diffs</quote> genannt.</para> - </answer> - </qandaentry> - - <indexterm><primary>Tarball</primary></indexterm> - <qandaentry> - <question> - <para id="ports-tarball">Worum gehts eigentlich bei diesen - Tarballs?</para> - </question> - - <answer> - <para>Das ist eine Datei mit der Endung <filename>.tar</filename> - oder als Varianten mit <filename>.tar.gz</filename>, - <filename>.tar.Z</filename>, <filename>.tar.bz2</filename>, - oder auch <filename>.tgz</filename>.</para> - - <para>Vereinfacht ist das ein Verzeichnisbaum, welcher in eine - einzelne Datei (<filename>.tar</filename>) archiviert und - optional gepackt (<filename>.gz</filename>) wurde. Diese - Technik wurde ursprünglich für - <emphasis>T</emphasis>ape <emphasis>AR</emphasis>chives - benutzt (daher der Name <command>tar</command>), aber stellt - heute einen weit verbreiteten Weg da, im Internet Quellcode - zu verbreiten und zu verteilen.</para> - - <para>Sie können nachsehen, welche Dateien im Archiv - enthalten sind oder diese auspacken, indem Sie das Programm - &man.tar.1;, das Teil des FreeBSD Basissystems ist, - benutzen. Das sähe in etwa so aus:</para> - - <screen>&prompt.user; <userinput>tar tvzf foobar.tar.gz</userinput> -&prompt.user; <userinput>tar xzvf foobar.tar.gz</userinput> -&prompt.user; <userinput>tar tvf foobar.tar</userinput> -&prompt.user; <userinput>tar xvf foobar.tar</userinput></screen> - </answer> - </qandaentry> - - <indexterm><primary>Prüfsumme</primary></indexterm> - <qandaentry> - <question> - <para id="ports-checksum">Eine Prüfsumme?</para> - </question> - - <answer> - <para>Das ist eine Zahl, die dadurch generiert wird, indem man - die ganzen Daten einer Datei aufaddiert. Ändert sich ein - Zeichen in dieser Datei, ist die Prüfsumme nicht mehr die - gleiche und ein einfacher Vergleich ermöglicht das - Erkennen des Unterschieds.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Ich tat, was ihr zum Übersetzen von Ports von der - CD-ROM geschrieben habt und es funktionierte auch prima, bis ich - zum Port <application>Kermit</application> kam.</para> - - <screen>&prompt.root; <userinput>make install</userinput> ->> cku190.tar.gz doesn't seem to exist on this system. ->> Attempting to fetch from ftp://kermit.columbia.edu/kermit/archives/.</screen> - - <para>Warum kann die Datei nicht gefunden werden? Habe ich - eine kaputte CD-ROM?</para> - </question> - - <answer> - <para>Wie im Abschnitt <link linkend="ports-cd">Installation von - CD-ROM</link> erläutert, dürfen einige Ports wegen - Lizenz-Beschränkungen nicht auf CD-ROM veröffentlicht - werden. <application>Kermit</application> ist ein solches - Beispiel. Die Lizenz-Bestimmungen - verbieten uns das Brennen des Tarballs auf CD-ROM, leider - müssen Sie es sich von Hand aus dem Netz - herunterladen – sorry!</para> - - <para>Der Grund für die ganzen Fehlermeldungen liegt darin, - dass Sie zu diesem Zeitpunkt nicht mit dem Internet verbunden - waren. Haben Sie den Tarball von einer der - <makevar>MASTER_SITES</makevar> (aufgeführt im - <filename>Makefile</filename>) gezogen, können Sie die - Installation erneut starten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Das habe ich getan, aber als ich ihn in das Verzeichnis - <filename>/usr/ports/distfiles</filename> legen wollte, erhielt - ich eine Fehlermeldung bezüglich der Zugriffsrechte.</para> - </question> - - <answer> - <para>Der Port-Mechanismus versucht heruntergeladene Tarballs in - <filename>/usr/ports/distfiles</filename> abzulegen. Dieses - Verzeichnis verweist aber oft auf ein Verzeichnis eines - Fileservers oder eine CD-ROM, die nur gelesen werden - können. Wenn dies der Fall ist, können Sie einen - anderen Ort zum Speichern der Tarballs angeben:</para> - - <screen>&prompt.root; <userinput>make DISTDIR=<replaceable>/Verzeichnis/mit/Schreibberechtigung</replaceable> install</userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Funktioniert das Konzept der Ports nur, wenn alles in - <filename>/usr/ports</filename> abläuft? Mein - Systemadministrator sagt, dass ich alles unter - <filename>/u/people/guests/wurzburger</filename> haben - muss, aber das scheint nicht zu klappen.</para> - </question> - - <answer> - <para>Die Variablen <makevar>PORTSDIR</makevar> und - <makevar>PREFIX</makevar> legen die Verzeichnisse fest, die das - Ports-System benutzt.</para> - - <screen>&prompt.root; <userinput>make PORTSDIR=/u/people/guests/wurzburger/ports install</userinput></screen> - - <para>Der obige Befehl übersetzt den Port in - <filename>/u/people/guests/wurzburger/ports</filename> und - installiert alles unter <filename>/usr/local</filename>. Der - folgende Befehl kompiliert in <filename>/usr/ports</filename> - und installiert den Port in - <filename>/u/people/guests/wurzburger/local</filename>:</para> - - <screen>&prompt.root; <userinput>make PREFIX=/u/people/guests/wurzburger/local install</userinput></screen> - - <para>Sie können beide Variablen auch zusammen benutzen:</para> - - <screen>&prompt.root; <userinput>make PORTSDIR=../ports PREFIX=../local install</userinput></screen> - - <para>Die Kommandozeile ist zu lang, um es hier komplett - wiederzugeben, aber Sie sollten die zugrunde liegende Idee - erkennen.</para> - - <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> - - <para>Wenn Sie keine Lust haben, dies jedes Mal zu tippen, - sollten Sie diese Variablen als Umgebungsvariablen setzen. - Lesen Sie die Manualpage Ihrer Shell, um zu erfahren, wie man - das anstellt.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Ich habe keine FreeBSD CD-ROM, würde aber gerne die - Tarballs auf meinem Rechner liegen haben, damit ich nicht - jedes Mal auf das Herunterladen warten muss, wenn ich mal einen - Port installieren will. Gibt es einen Weg, alle auf einmal - zu holen?</para> - </question> - - <answer> - <para>Um jeden einzelnen Tarball für die Ports-Sammlung zu - holen geben Sie ein:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>make fetch</userinput></screen> - - <para>Für alle Tarballs eines Ports-Verzeichnis:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>Verzeichnis</replaceable></userinput> -&prompt.root; <userinput>make fetch</userinput></screen> - - <para>und für nur einen Port – gut, das haben Sie sicher - schon erraten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Ich weiß, das es wohl schneller geht, wenn ich die - Tarballs von einem FreeBSD Spiegel in der Nähe hole. Kann - ich sagen, dass andere als in MASTER_SITES angegebene - Server genommen werden sollen?</para> - </question> - - <answer> - <para>Ja. Zum Beispiel, wenn <hostid - role="fqdn">ftp.FreeBSD.org</hostid> näher bei Ihnen - ist, als der in <makevar>MASTER_SITES</makevar> angegebene, - machen Sie das wie folgt:</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> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Ich würde gerne vorher wissen, welche Dateien - <command>make</command> holen wird, bevor es das versucht.</para> - </question> - - <answer> - <para><command>make fetch-list</command> gibt aus, welche Dateien - für den Port benötigt werden.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Gibt es einen Weg einen Port am Kompilieren zu hindern? Ich - möchte gerne vor der Installation etwas im Quellcode hacken. - Es ist aber etwas nervig, immer aufzupassen und im richtigen - Moment mit - <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>C</keycap> - </keycombo> - abzubrechen.</para> - </question> - - <answer> - <para>Die Eingabe von <command>make extract</command> erreicht, - dass der Port Quellcode nur geholt und entpackt wird.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Ich versuche einen eigenen Port zu erstellen und will, - dass der Port vor dem Übersetzen anhält, damit - ich eine Chance habe zu sehen, ob meine Patches sauber - funktionieren. Gibt es etwas wie <command>make - extract</command> für Patches?</para> - </question> - - <answer> - <para>Klar, <command>make patch</command> ist alles was Sie - wünschen. Sie werden wahrscheinlich die Variable - <makevar>PATCH_DEBUG</makevar> auch recht nützlich finden. - Ach ja, und vielen Dank für Ihre Bemühungen!</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Stimmt es, dass einige Compiler Fehler machen? Wie - kann ich sicher gehen, dass ich mit den richtigen - Einstellungen übersetze?</para> - </question> - - <answer> - <para>Ja, in der Version 2.6.3 des <command>gcc</command> (diese - Version ist bei FreeBSD 2.1.0 und 2.1.5 dabei) kann die Option - <option>-O2</option> fehlerhafte Ergebnisse liefern, sofern man - nicht auch die Option <option>-fno-strength-reduce</option> - benutzt. (Die meisten Ports benutzen <option>-O2</option> - nicht). Sie <emphasis>sollten</emphasis> die Compiler-Optionen - etwa wie folgt spezifizieren können:</para> - - <screen>&prompt.root; <userinput>make CFLAGS='-O2 -fno-strength-reduce' install</userinput></screen> - - <para>Die Compiler-Optionen können Sie auch in - <filename>/etc/make.conf</filename> angeben, - allerdings beachten das nicht alle Ports. Der sicherste Weg ist, - nach einem <command>make configure</command> in das Verzeichnis - mit dem Quellcode zu gehen und dort die - <filename>Makefile</filename>s von Hand zu - untersuchen. Das kann aber sehr mühselig werden, da es - oft sehr viele Unterverzeichnisse mit eigenen - <filename>Makefile</filename>s geben - kann.</para> - - <para>Die bei FreeBSD voreingestellten Compiler Optionen sind - recht konservativ, Sie sollten eigentlich keine Probleme - bekommen, wenn Sie diese nicht verändert haben.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Das sind aber ganz schön viele Ports und es ist nicht - leicht, den einen zu finden, den ich gerade möchte. Gibt es - eine Liste der erhältlichen Ports?</para> - </question> - - <answer> - <para>Schauen Sie in die Datei <filename>INDEX</filename> im - Verzeichnis <filename>/usr/ports</filename>. Sie können - auch die Ports-Sammlung nach einem Stichwort durchsuchen. - Wollen Sie zum Beispiel alle Ports finden, die mit der - Programmiersprache LISP zu tun haben, geben Sie ein:</para> - - <screen>&prompt.user; <userinput>cd /usr/ports</userinput> -&prompt.user; <userinput>make search key=lisp</userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Als ich den Port <literal>bla</literal> installieren - wollte, hört das System auf einmal mit dem Kompilieren auf - und fing an, den Port <literal>sülz</literal> zu - erstellen. Was ist hier los?</para> - </question> - - <answer> - <para>Der Port <literal>bla</literal> braucht etwas aus dem - Port <literal>sülz</literal> – beispielsweise, - wenn <literal>bla</literal> Grafik benutzt, könnte der Port - <literal>sülz</literal> eine Bibliothek mit - nützlichen grafischen Routinen enthalten. Oder - <literal>sülz</literal> könnte ein Werkzeug sein, das zum - Übersetzen des Ports <literal>bla</literal> notwendig - ist. Wenn <literal>sülz</literal> einmal installiert ist, - sollte das System mit dem Bau von <literal>bla</literal> - fortfahren.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para id="ports-remove"> Ich habe aus der Ports-Sammlung die - Anwendung <literal>grizzle</literal> installiert und nun - festgestellt, dass es reine Verschwendung von Plattenplatz - ist. Ich will ihn wieder löschen, weiß aber nicht - wohin der Port seine Dateien installiert hat. Tips?</para> - </question> - - <answer> - <para>Alles kein Problem, tippen Sie einfach:</para> - - <screen>&prompt.root; <userinput>pkg_delete grizzle-6.5</userinput></screen> - - <para>Sie können alternativ auch eingeben:</para> - - <screen>&prompt.root; <userinput>cd <replaceable>/usr/ports/somewhere/grizzle</replaceable></userinput> -&prompt.root; <userinput>make deinstall</userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Moment, man muss die Versionsnummer wissen, um das - Kommando benutzen zu können. Es wird aber nicht wirklich - erwartet, dass ich mich daran noch erinnere, oder?</para> - </question> - - <answer> - <para>Nein, Sie finden diese Nummer durch folgende Eingabe - heraus:</para> - - <screen>&prompt.root; <userinput>pkg_info -a | grep 'grizzle*'</userinput> -Information for grizzle-6.5: -grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up -arcade game.</screen> - - <para>Die Versionsnummer finden Sie auch mit - <command>pkg_info</command> heraus, oder indem Sie - <command>ls /var/db/pkg</command> eingeben.</para> - - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Apropos Plattenplatz, die Ports-Sammlung scheint recht viel - Platz einzunehmen. Ist es gefährlich darin - Sachen zu löschen?</para> - </question> - - <answer> - <para>Nun, wenn Sie Anwendungen installiert haben und sicher sind, - dass Sie den Quellcode nicht benötigen, gibt es - keinen Grund diesen herumliegen zu haben. Der sicherste Weg - aufzuräumen ist:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>make clean</userinput></screen> - - <para>Das geht durch alle Ports-Verzeichnisse und löscht - für jeden Port alles bis auf das Gerüst.</para> - - <tip><para>Dasselbe können Sie auch erreichen, ohne - rekursiv jedes <filename>Makefile</filename> aufzurufen. Die - <filename>work/</filename> Verzeichnisse können Sie auch - mit dem folgenden Kommando löschen: - <screen>&prompt.root; <userinput>find /usr/ports -depth -name work -exec rm -rf {} \;</userinput></screen></para> - </tip> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Das habe ich probiert, aber da liegen immer noch diese - Tarballs (oder wie die genannt werden) im Verzeichnis - <filename>distfiles</filename> herum. Darf ich die auch - löschen?</para> - </question> - - <answer> - <para>Ja, wenn Sie mit denen fertig sind, können die auch - verschwinden. Man kann sie von Hand löschen oder das - Kommando <command>make distclean</command> benutzen.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Ich finde es toll, tierisch viele Anwendungen zu haben und - damit rumzuspielen. Gibt es einen Weg alle Ports auf einmal - zu installieren?</para> - </question> - - <answer> - <para>Machen Sie einfach:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>make install</userinput></screen> - - <para>Vorsicht: Einige Ports könnten Dateien mit dem - gleichen Namen installieren. Wenn man zwei grafische Ports - installiert und beide eine Datei - <filename>/usr/local/bin/plot</filename> anlegen, haben Sie - ein Problem.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Okay, das habe ich gemacht und da ich dachte, dass das - sicherlich ziemlich lange dauert, ging ich zu Bett. Als ich heute - morgen zum Computer kam, waren erst dreieinhalb Ports - installiert. Hat da etwas nicht geklappt?</para> - </question> - - <answer> - <para>Nein, das Problem ist, dass es Ports gibt, die Ihnen - Fragen stellen, auf die wir die Antworten nicht für Sie - geben konnten (z.B. <quote>Drucken Sie auf Papier im A4 oder US - Letter Format?</quote>). In solchen Fällen muss - jemand da sein und die Fragen beantworten.</para> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Ich möchte aber nicht wirklich einen ganzen Tag damit - verbringen, auf den Monitor zu starren. Irgendeine bessere - Idee?</para> - </question> - - <answer> - <para>Klar, bevor Sie zu Bett/zur Arbeit/in den Park gehen, - geben Sie ein:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>make -DBATCH install</userinput></screen> - - <para>Das installiert Ihnen alle Ports, die - <emphasis>keine</emphasis> Eingaben des Benutzers erfordern. - Die restlichen Ports installieren Sie, wenn Sie zurück - sind, mit dem Kommando:</para> - - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>make -DINTERACTIVE install</userinput></screen> - - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Auf der Arbeit benutzen wir die Anwendung - <literal>frobble</literal>, die in der Ports-Sammlung ist. Wir - haben sie aber etwas auf unsere Bedürfnisse angepasst. - Können wir irgendwie ein eigenes Paket erstellen, so - dass wir die Anwendung leichter auf unsere Rechner - verteilen können?</para> - </question> - - <answer> - <para>Kein Problem. Angenommen Sie wissen, wie Sie für Ihre - Anpassungen Patches erzeugen:</para> - - <screen>&prompt.root; <userinput>cd <replaceable>/usr/ports/somewhere/frobble</replaceable></userinput> -&prompt.root; <userinput>make extract</userinput> -&prompt.root; <userinput>cd work/frobble-2.8</userinput> -[Ihre patche einspielen] -&prompt.root; <userinput>cd ../..</userinput> -&prompt.root; <userinput>make package</userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question> - <para>Diese Geschichte mit den Ports ist wirklich clever. Ich - habe keine Ahnung, wie ihr das hinbekommen habt. Was ist das - Geheimnis dahinter?</para> - </question> - - <answer> - <para>Keine Geheimnisse. Sehen Sie einfach in die Dateien - <filename>bsd.port.mk</filename> und - <filename>bsd.port.subdir.mk</filename> im Verzeichnis - <filename>/usr/ports/Mk/</filename>.</para> - - <para>Lesern mit einer Aversion gegen komplizierte Shell-Skripten - wird geraten, dieses Verzeichnis nicht zu besuchen.</para> - </answer> - </qandaentry> - </qandaset> - </sect2> - - <sect2 id="ports-broken"> - <title>Hilfe! Dieser Port ist kaputt!</title> + <sect1 id="ports-broken"> + <title>Kaputte Ports</title> - <para>Stolpern Sie mal über einen Port, der bei Ihnen nicht - funktioniert, könnten Sie zum Beispiel Folgendes tun:</para> + <para>Stolpern Sie mal über einen Port, der bei Ihnen nicht + funktioniert, könnten Sie zum Beispiel Folgendes tun:</para> - <orderedlist> - <listitem> - <para>Reparieren Sie ihn! Das <ulink - url="../../../../doc/en_US.ISO8859-1/books/porters-handbook/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> + <orderedlist> + <listitem> + <para>Reparieren Sie ihn! Das <ulink + url="../../../../doc/en_US.ISO8859-1/books/porters-handbook/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>Rummeckern – <emphasis>nur mittels E-Mail</emphasis>! - Senden Sie zuerst eine E-Mail an den Betreuer des Ports. 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. Erhalten - Sie vom Betreuer keine Resonanz, können mit - &man.send-pr.1; einen Fehler-Report senden.</para> - </listitem> + <listitem> + <para>Rummeckern – <emphasis>nur mittels E-Mail</emphasis>! + Senden Sie zuerst eine E-Mail an den Betreuer des Ports. 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. Erhalten + Sie vom Betreuer keine Resonanz, können mit + &man.send-pr.1; einen Fehler-Report senden.</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 + <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 Spiegel in - Ihrer Nähe! 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> - </sect2> + Aber versuchen Sie <emphasis>zuerst</emphasis> einen Spiegel in + Ihrer Nähe! 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> <!-- @@ -1641,4 +1255,3 @@ arcade game.</screen> sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> - |