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, „Pakete installieren“.
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.
#
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.
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.
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>.