| FreeBSD Handbuch | ||
|---|---|---|
| Zurück | Kapitel 4. Installieren von Anwendungen: Pakete und Ports | Nach vorne |
Die folgenden Abschnitte stellen die grundlegenden Anweisungen vor, um Anwendungen aus der Ports-Sammlung auf Ihren Rechner zu installieren oder zu löschen.
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 /usr/ports installiert.
Bei der FreeBSD Installation hatten Sie in Sysinstall 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:
Installieren mit Sysinstall
Sie können die Ports-Sammlung nachträglich mit sysinstall installieren.
Führen Sie als root /stand/sysinstall aus:
# /stand/sysinstall
Wählen Sie den Punkt Configure aus und drücken Sie Enter.
Wählen Sie dann Distributions aus und drücken Sie Enter.
In diesem Menü wählen Sie ports aus und drücken die Leertaste.
Danach wählen Sie Exit aus und drücken Enter.
Legen Sie nun ein geeignetes Installationsmedium, wie CD-ROM oder FTP, fest.
Wählen Sie nun Exit aus und drücken Enter.
Verlassen Sie sysinstall mit X.
Alternativ können Sie die Ports-Sammlung auch mit CVSup installieren und aktualisieren. Ein Beispiel für die Konfiguration von CVSup finden Sie in /usr/share/examples/cvsup/ports-supfile. Weitere Informationen über CVSup und dessen Konfiguration finden Sie in Benutzen von CVSup (Abschnitt A.6).
Installieren mit CVSup
Dies ist eine schnelle Methode um die Ports-Sammlung zu aktualisieren.
Installieren Sie den net/cvsup Port. Weitere Informationen finden Sie in Installation von CVSup (Abschnitt A.6.2).
Kopieren Sie als root /usr/share/examples/cvsup/ports-supfile an einen neuen Ort, beispielsweise nach /root oder in Ihr Heimatverzeichnis.
Editieren Sie die Kopie von ports-supfile.
Ersetzen Sie CHANGE_THIS.FreeBSD.org durch einen CVSup-Server in Ihrer Nähe. Eine vollständige Liste der CVSup-Spiegel finden Sie in CVSup Spiegel (Abschnitt A.6.7).
Führen Sie cvsup aus:
# cvsup -g -L 2 /root/ports-supfile
Mit diesem Kommando können Sie später die Ports-Sammlung aktualisieren. Die installierten Ports werden mit diesem Kommando nicht aktualisiert.
Was ist mit einem ``Gerüst'' 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:
Eine Datei Makefile. Das Makefile enthält verschiedene Anweisungen, die spezifizieren, wie eine Anwendung kompiliert wird und wo sie auf Ihrem System installiert werden sollte.
Eine Datei distinfo. Diese enthält Informationen, welche Dateien heruntergeladen werden müssen, sowie Prüfsummen, um sicher zu gehen, dass diese Dateien während des Herunterladens nicht beschädigt wurden.
Ein files 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: ``Lösche Zeile 10'' oder ``Ändere Zeile 26 zu ...''. Patches sind auch bekannt unter dem Namen ``diffs'', weil Sie mit dem Programm diff(1) erstellt werden.
Dieses Verzeichnis kann auch noch andere Dateien enthalten, welche zum Bauen des Ports benutzt werden.
Eine Datei pkg-comment. Eine einzeilige Beschreibung der Anwendung.
Eine Datei pkg-descr. Eine ausführlichere, oft mehrzeilige Beschreibung der Anwendung.
Eine Datei pkg-plist. 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.
Einige Ports besitzen noch andere Dateien, wie pkg-message, 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 im FreeBSD FreeBSD Porter's Handbook weiter.
Nun haben Sie genug Hintergrund Informationen über die Ports-Sammlung und Sie können Ihren ersten Port installieren. Es gibt dazu zwei Möglichkeiten, die im Folgenden erläutert werden.
Bevor Sie damit beginnen, müssen Sie sich natürlich einen Port zum Installieren aussuchen. Sie können dazu mehrere Wege gehen, als einfachste Methode gibt es die Liste aller Ports auf dem FreeBSD Web-Server. Sie können dort suchen oder in der Liste schmökern. Jeder Port enthält außerdem eine Beschreibung, so dass Sie sich vor der Entscheidung, welchen Port Sie installieren wollen, über den Port informieren können.
Sie können einen Port auch mit whereis(1) suchen. Geben Sie einfach whereis Datei ein, wobei Datei der Name des Programms ist, das Sie suchen:
# whereis lsof
lsof: /usr/ports/sysutils/lsof
Damit haben wir herausgefunden, dass sich lsof, ein Systemwerkzeug, in /usr/ports/sysutils/lsof befindet.
Ein weiterer Weg, einen bestimmten Port zu finden, ist es, die eingebaute Suchfunktion der Ports-Sammlung zu benutzen. Dazu müssen Sie im Verzeichnis /usr/ports sein. Darin geben Sie make search name=Anwendungsname ein, worin Anwendungsname der Name der von Ihnen gesuchten Anwendung ist. Wenn Sie zum Beispiel nach lsof suchen:
# cd /usr/ports
# make search name=lsof
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:
Der Teil der Ausgabe der Sie interessiert ist die Zeile, die mit ``Path:'' 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.
Mit make search key=Text können Sie erweiterte Suchen durchführen. Damit werden Portnamen, Kommentare, Beschreibungen und Abhängigkeiten nach Text durchsucht. Dies kann sehr nützlich sein, wenn Sie den Namen des Programms, nach dem Sie suchen, nicht kennen.
In beiden Fällen wird Groß- und Kleinschreibung bei der Suche ignoriert. Die Suche nach ``LSOF'' wird dieselben Ergebnisse wie die Suche nach ``lsof'' liefern.
Anmerkung: Zum Installieren von Ports müssen Sie als Benutzer root angemeldet sein.
Jetzt, wo Sie den gewünschten Port gefunden haben, kann es mit der eigentlichen Installation losgehen. Der Port enthält Anweisungen, wie der Quelltext zu bauen ist, enthält aber nicht den Quelltext selbst. 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 ``Distfile'' genannt.
Die offiziellen FreeBSD CD-ROMs enthalten keine Distfiles mehr, da diese sehr viel Platz beanspruchen, der besser von vorkompilierten Paketen genutzt werden kann. Andere FreeBSD CD-ROMs, wie der ``FreeBSD PowerPak'', enthalten Distfiles. Diese CD-ROMs können Sie über einen Händler wie FreeBSD Mall beziehen. Dieser Abschnitt geht davon aus, dass Sie eine solche CD-ROM Distribution besitzen.
# cd /usr/ports/sysutils/lsof
Im Verzeichnis lsof kann man das Gerüst erkennen. Der nächste Schritt ist das Übersetzen (auch Bauen genannt) des Ports. Dies wird durch Eingabe von make getan. Haben Sie das eingegeben, so werden Sie etwas lesen wie:
# make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from file:/cdrom/ports/distfiles/.
===> 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]
...
#
Ist die Übersetzungsprozedur beendet, sind Sie wieder in der Kommandozeile und der nächste Schritt ist die Installation. Erweitern Sie dazu einfach die make-Kommandozeile um das Wort install:
# make install
===> 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.
#
Wenn Sie wieder den Prompt haben, sollten Sie in der Lage sein, die gerade installierte Anwendung laufen zu lassen. Da lsof 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.
Anmerkung: Sie können einen Schritt sparen, wenn Sie gleich make install anstelle von make und dem anschließenden make install eingeben.
Anmerkung: Um die Suche nach Kommandos zu beschleunigen, speichern einige Shells eine Liste der verfügbaren Kommandos in den durch die Umgebungsvariable PATH gegebenen Verzeichnissen. Nach der Installation eines Ports müssen Sie in einer solchen Shell vielleicht das Kommando rehash absetzen, um die neu installierten Kommandos benutzen zu können. Dies betrifft sowohl die beiden Shells des Basissystems, wie die tcsh, und Shells aus den Ports, zum Beispiel die shells/zsh.
Anmerkung: 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. Folgen Sie bitte den Anweisungen des nächsten Abschnitts.
Dieser Abschnitt setzt voraus, dass Sie eine Verbindung mit dem Internet haben. Haben Sie dies nicht, müssen Sie eine CD-ROM Installation durchführen oder das Distfile selber nach /usr/ports/distfiles stellen.
Das Installieren eines Ports vom Internet wird genauso durchgeführt wie das Installieren von CD-ROM. Der einzige Unterschied zwischen beiden ist, dass das Distfile des Ports vom Internet heruntergeladen und nicht von der CD-ROM gelesen wird.
Die durchgeführten Schritte sind identisch:
# make install
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
439860 bytes transferred in 18.0 seconds (23.90 kBps)
===> 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]
...
===> 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.
#
Wie Sie sehen können, besteht der einzige Unterschied in der Zeile, die Ihnen sagt, woher das System den Quellcode holt.
Die Ports-Sammlung benutzt zum Herunterladen von Dateien fetch(3), das Umgebungsvariablen wie FTP_PASSIVE_MODE, FTP_PROXY und FTP_PASSWORD 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 fetch(3).
Da Sie nun wissen, wie man einen Port installiert, wollen Sie sicher auch wissen, wie man einen Port entfernt, für den Fall, dass Sie versehentlich einen falschen installiert haben. Nun wollen wir mal unser vorheriges Beispiel wieder löschen (für alle die nicht aufgepasst haben, das war lsof). Wie beim Installieren wechseln Sie zuerst in das Verzeichnis des Ports /usr/ports/sysutils/lsof. Nachdem Sie das Verzeichnis gewechselt haben, können Sie lsof mit make deinstall entfernen:
# cd /usr/ports/sysutils/lsof
# make deinstall
===> Deinstalling for lsof-4.57
Das war leicht, Sie haben lsof von Ihrem System entfernt. Möchten Sie den Port doch wieder neu installieren, geben Sie make reinstall im Verzeichnis /usr/ports/sysutils/lsof ein.
make deinstall und make reinstall funktionieren nicht mehr, wenn Sie einmal make clean ausgeführt haben. Wenn Sie dennoch einen Port nach einem make clean entfernen möchten, benutzen Sie pkg_delete(1) wie im Abschnitt Benutzen des Paketsystems beschrieben.
| Zurück | Zum Anfang | Nach vorne |
| Benutzen des Paketsystems | Nach oben | Nach der Installation |
Wenn Sie Fragen zu FreeBSD haben,
schicken Sie eine EMail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie
eine Email an <de-bsd-translators@de.FreeBSD.org>.