5.4. Verwendung von Binärpaketen

Beigesteuert von Chern Lee.

Derzeit befindet sich FreeBSD in einer Übergangsphase auf ein neues Paketverwaltungssystem. Benutzer von neueren FreeBSD-Versionen möchten vielleicht die Vorteile von PKGng bei der Verwaltung von Drittanbieter-Paketen kennenlernen. Für diejenigen Benutzer, die noch nicht auf pkgng migriert haben, können die hier vorgestellten Werkzeuge für die Verwaltung der Paketdatenbank verwendet werden. Der Einfachheit halber kann jedoch auch sysinstall weiterhin für die Installation von Paketen benutzt werden.

Alle Paketinformationen werden im Verzeichnis der Paketdatenbank, /var/db/pkg abgelegt.

5.4.1. Installieren eines Pakets

Benutzen Sie pkg_add(1), um 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 freebsd@vienna.verio.net.
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, verwenden Sie den Schalter -r von pkg_add(1). Dies bestimmt automatisch das nötige Objektformat und die richtige Version des Pakets, lädt dieses dann von einem FTP-Server und installiert es, ohne das weitere Benutzereingriffe nötig sind.

# pkg_add -r lsof

Wenn Sie einen anderen FreeBSD FTP-Mirror verwenden möchten, geben Sie den Mirror in der Umgebungsvariablen PACKAGESITE an. pkg_add(1) benutzt fetch(3), um Dateien herunterzuladen. Umgebungsvariablen wie FTP_PASSIVE_MODE, FTP_PROXY und FTP_PASSWORD werden dabei berücksichtigt. Wenn Sie durch eine Firewall geschützt werden, müssen Sie vielleicht eine oder mehrere dieser Umgebungsvariablen setzen oder einen FTP oder HTTP Proxy verwenden. Eine Liste der unterstützten Umgebungsvariablen finden Sie in 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.

Anmerkung:

Unter FreeBSD-CURRENT oder FreeBSD-STABLE holt pkg_add(1) die neueste Version einer Anwendung. Unter einer -RELEASE Version holt es die Version der Anwendung, die im Release enthalten ist. Sie können dieses Verhalten ändern, indem Sie die Umgebungsvariable PACKAGESITE überschreiben. Auf einem FreeBSD 8.1-RELEASE System, 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. Um pkg_add(1) zu zwingen, nur FreeBSD 8-STABLE-Pakete herunterzuladen, setzen Sie PACKAGESITE auf ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/.

Pakete werden im .tgz- und .tbz-Format ausgeliefert. Sie sind unter ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/, oder auf der FreeBSD-DVD-Distribution. Die Struktur des Paketbaums entspricht der Verzeichnisstruktur unter /usr/ports. Jede Kategorie besitzt ein eigenes Verzeichnis und alle Pakete befinden sich im Verzeichnis All.

5.4.2. Verwalten von Paketen

pkg_info(1) kann dazu benutzt werden, alle installierten Pakete und deren Beschreibung anzuzeigen.

# pkg_info
colordiff-1.0.13    A tool to colorize diff output
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
colordiff                   =
docbook                     =
...

Die Symbole in der zweiten Spalte zeigen das Alter des Pakets im Vergleich zu der lokalen Version aus der Ports-Sammlung an.

SymbolBedeutung
=Die Version des installierten Paketes stimmt mit der Version aus der lokalen Ports-Sammlung überein.
<Die installierte Version ist älter als die Version aus der lokalen Ports-Sammlung.
>Die installierte Version ist neuer als die aus der Ports-Sammlung, was vermutlich bedeutet, dass die lokale Ports-Sammlung veraltet ist.
?Das installierte Paket konnte im Ports-Index nicht gefunden werden. Dies kann passieren, wenn ein installierter Port aus der Ports-Sammlung entfernt wurde oder einen neuen Namen erhalten hat.
*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.

5.4.3. Entfernen eines Pakets

Um ein zuvor installiertes Paket zu entfernen, benutzen Sie pkg_delete(1).

# pkg_delete xchat-1.7.1

Beachten Sie, dass pkg_delete(1) die vollständige Bezeichnung des Pakets benötigt. Die Eingabe von xchat anstelle von xchat-1.7.1 wäre im obigen Beispiel daher nicht ausreichend. Benutzen Sie pkg_version(1), um die Versionsnummer des Pakets herausfinden, oder verwenden Sie Wildcards:

# pkg_delete xchat\*

In diesem Beispiel werden alle Pakete gelöscht, deren Name mit xchat beginnt.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.

Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.