Es gibt viele unterschiedliche Werkzeuge um Pakete in FreeBSD zu verwalten:
Auf einem laufenden System kann sysinstall benutzt werden, um Pakete zu installieren, zu löschen und verfügbare und installierte anzuzeigen. Weitere Informationen finden Sie unter Abschnitt 2.10.11.
Die Paketverwaltungswerkzeuge der Kommandozeile sind die Themen von diesem Kapitel.
Mit pkg_add(1) können Sie ein FreeBSD-Paket von einer lokalen Datei oder über das Netzwerk installieren.
Beispiel 5-1. Download vor Installation eines Pakets
# ftp -a ftp2.FreeBSD.org 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 [email protected]. 230- 230- 230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd /pub/FreeBSD/ports/packages/sysutils/ 250 CWD command successful. ftp> get lsof-4.56.4.tgz 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) ftp> exit # pkg_add lsof-4.56.4.tgz
Wenn Sie die Pakete nicht lokal vorliegen haben (zum Beispiel auf den
FreeBSD-CD-ROMs), ist es wahrscheinlich einfacher den Schalter -r
von 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.
# pkg_add -r lsof
Das obige Beispiel würde ohne weitere Interaktion das richtige Paket herunterladen und installieren. Pakete werden vom FreeBSD-Hauptserver heruntergeladen. Wenn Sie anderen Server verwenden möchten, geben Sie den Server in der Umgebungsvariablen PACKAGESITE an. Die Dateien werden mit fetch(3), das Umgebungsvariablen wie FTP_PASSIVE_MODE, FTP_PROXY und FTP_PASSWORD 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 fetch(3). Beachten Sie, dass im obigen Beispiel lsof anstelle von lsof-4.56.4 verwendet wird. Wenn Sie 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.
Anmerkung: Unter FreeBSD-CURRENT oder FreeBSD-STABLE holt pkg_add(1) die neuste Version einer Anwendung, unter einer Release holt pkg_add(1) die Version der Anwendung, die im Release enthalten ist. Sie können dies ändern, indem Sie die Umgebungsvariable PACKAGESITE überschreiben. Wenn Sie bespielsweise FreeBSD 8.1-RELEASE installiert haben, versucht pkg_add(1) in der Voreinstellung die Pakete von ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/ zu laden. Wollen Sie pkg_add(1) dazu zwingen, nur FreeBSD 8-STABLE-Pakete herunterzuladen, setzen Sie die Umgebungsvariable PACKAGESITE auf ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/.
Pakete werden im .tgz- und .tbz-Format ausgeliefert. Sie finden Sie unter ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/ oder auf der FreeBSD-CD-ROM-Distribution. Jede CD der FreeBSD Distribution (oder des PowerPaks) enthält Pakete im Verzeichnis /packages. Die Struktur des Paketbaums entspricht dem /usr/ports Baum. Jede Kategorie besitzt ein eigenes Verzeichnis und alle Pakete befinden sich im Verzeichnis All.
Die Verzeichnisstruktur des Paketbaums ist ein Abbild der Ports, da beide Systeme eng zusammenarbeiten.
pkg_info(1) zeigt alle installierten Pakete und deren Beschreibung an.
# pkg_info 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 ...
pkg_version(1) vergleicht die Version installierter Pakete mit der Version aus der Ports-Sammlung.
# pkg_version cvsup = docbook = ...
Die Symbole in der zweiten Spalte zeigen das Alter des Pakets im Vergleich zu der lokalen Version aus der Ports-Sammlung an.
Symbol | Bedeutung |
---|---|
= | Die Version des installierten Paketes stimmt mit der Version aus der lokalen Ports-Sammlung überein. |
< | Die installierte Version ist älter als die der verfügbaren Version aus der Ports-Sammlung. |
> | Die installierte Version ist neuer als die aus der Ports-Sammlung (Eventuell ist die lokale Ports-Sammlung veraltet). |
? | 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. |
* | In der Ports-Sammlung befinden sich mehrere Versionen der Anwendung. |
! | Das installierte Paket ist zwar im Index enthalten, aus irgendeinem Grund war pkg_version aber dennoch nicht in der Lage, die Versionsnummer des installierten Pakets mit der Versionsnummer des entsprechenden Eintrags im Index zu vergleichen. |
Um ein zuvor installiertes Paket zu entfernen, benutzen Sie das Werkzeug pkg_delete(1).
# pkg_delete xchat-1.7.1
Beachten Sie, dass pkg_delete(1) die vollständige Bezeichnung des Pakets benötigt (also Paketname und Versionsnummer). Die Eingabe von xchat (anstelle von xchat-1.7.1) ist daher nicht ausreichend. Zwar können Sie die Versionsnummer eines installierten Pakets mit pkg_version(1) herausfinden, es ist aber auch möglich, ein Paket zu deinstallieren, ohne die exakte Versionsnummer zu kennen, wenn Sie Wildcards einsetzen:
# pkg_delete xchat\*
In diesem Beispiel werden alle Pakete gelöscht, deren Name mit xchat beginnt.
Informationen über alle installierte Pakete werden in /var/db/pkg abgelegt. Das Verzeichnis enthält Dateien, in denen sich die Beschreibungen der Pakete und Listen von Dateien, die zu einem Paket gehören, befinden.
Zurück | Zum Anfang | Weiter |
Suchen einer Anwendung | Nach oben | Benutzen der Ports-Sammlung |
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<[email protected]>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <[email protected]>.