Das FreeBSD-Handbuch
Zurück | Kapitel 5. Installieren von Anwendungen: Pakete und Ports | Weiter

# 5.4. Benutzen des Paketsystems

Beigesteuert von Chern Lee.

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.

## 5.4.1. Installieren eines Pakets

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 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), 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.

## 5.4.2. Verwalten von Paketen

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.

## 5.4.3. Entfernen eines Pakets

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.

## 5.4.4. Verschiedenes

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 <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>.