Index: head/de_DE.ISO8859-1/books/handbook/ports/chapter.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/ports/chapter.xml (revision 48426) +++ head/de_DE.ISO8859-1/books/handbook/ports/chapter.xml (revision 48427) @@ -1,1704 +1,1716 @@ Installieren von Anwendungen: Pakete und Ports UwePierauÜbersetzt von Übersicht Ports Pakete &os; enthält eine umfassende Sammlung von Systemwerkzeugen, die Teil des Basissystems sind. Darüber hinaus stellt &os; zwei sich ergänzende Methoden zur Installation von Drittanbieter-Software zur Verfügung: Die Ports-Sammlung zur Installation aus dem Quellcode sowie Pakete zur Installation von vorkompilierten binären Softwarepaketen. Beide Methoden können benutzt werden, um Anwendungen von lokalen Medien oder über das Netzwerk zu installieren. Dieses Kapitel behandelt die folgenden Themen: Den Unterschied zwischen binären Softwarepaketen und Ports. Wie man Drittanbieter-Software findet, die nach &os; portiert wurde. Wie Binärpakete mit dem traditionellen Paketsystem verwaltet werden. Wie Binärpakete mit pkgng verwaltet werden. Den Bau von Drittanbieter-Software aus dem Quellcode mithilfe der Ports-Sammlung. Wie man die Dateien findet, die zusammen mit der Anwendung installiert wurden. Was zu tun ist, wenn die Installation einer Software fehlschlägt. Installation von Software Die typischen Schritte zur Installation von Drittanbieter-Software auf einem &unix; System sind: Download der Software, die als Quelltext oder im Binärformat vorliegen kann. Auspacken der Software. Dies ist typischerweise ein mit &man.compress.1;, &man.gzip.1; oder &man.bzip2.1; komprimiertes Tar-Archiv. Durchsuchen der Dokumentation, die sich in INSTALL, README oder mehreren Dateien im Verzeichnis doc/ befindet, nach Anweisungen, wie die Software zu installieren ist. Kompilieren der Software, wenn sie als Quelltext vorliegt. Dazu muss vielleicht das Makefile angepasst, oder configure ausgeführt werden. Testen und installieren der Software. Wenn die Software nicht speziell für &os; geschrieben wurde, muss vielleicht sogar der Quelltext angepasst werden, damit die Software funktioniert. Zurzeit werden über &os.numports; Anwendungen Dritter zur Verfügung gestellt. &os; bietet zwei Technologien an, die diese Schritte automatisieren. Ein &os;-Paket enthält vorkompilierte Kopien aller Befehle für eine Anwendung, sowie zusätzliche Konfigurationsdateien und Dokumentation. Pakete können mit den pkg-Befehlen, wie pkg install, manipuliert werden. Ein &os;-Port ist eine Sammlung von Dateien, die das Kompilieren der Quelltexte einer Anwendung automatisieren. Die Dateien, die ein Port umfasst enthalten alle notwendigen Informationen um die Anwendung herunterzuladen, zu extrahieren, anzupassen und zu installieren. Das Portsystem kann auch dazu benutzt werden, Pakete zu generieren, die mit den Paketverwaltungswerkzeugen von &os; manipuliert werden können. Pakete und Ports beachten Abhängigkeiten zwischen Anwendungen. Wenn ein Paket oder die Ports-Sammlung benutzt wird, um eine Anwendung zu installieren, dann werden fehlende Bibliotheken zuerst installiert, sofern sie nicht schon vorher installiert waren. Obwohl beide Technologien gleichartig sind, so haben Pakete und Ports jeweils ihre eigenen Stärken. Welche Technologie eingesetzt wird, hängt letzten Endes von den Anforderungen ab, die an eine bestimmte Anwendung gestellt werden. Vorteile von Paketen Das komprimierte Paket einer Anwendung ist normalerweise kleiner als das komprimierte Archiv der Quelltexte. Pakete müssen nicht mehr kompiliert werden. Dies ist ein Vorteil, wenn große Pakete wie Mozilla, KDE oder GNOME auf langsamen Maschinen installiert werden. Wenn Sie Pakete verwenden, brauchen Sie nicht zu verstehen, wie Software unter &os; kompiliert wird. Vorteile von Ports Da die Pakete auf möglichst vielen System laufen sollen, werden Optionen beim Übersetzen zurückhaltend gesetzt. Wird eine Anwendung über die Ports übersetzt, können die Optionen nach eigenen Bedürfnissen angepasst werden. Die Eigenschaften einiger Anwendungen werden über Optionen zum Zeitpunkt des Übersetzens festgelegt. Apache kann zum Beispiel über eine große Auswahl an eingebauten Optionen konfiguriert werden. Für einige Fälle existieren verschiedene Pakete einer Anwendung, die beim Übersetzen unterschiedlich konfiguriert wurden. Für Ghostscript gibt es ein ghostscript-Paket und ein ghostscript-nox11-Paket, die sich durch die Xorg Unterstützung unterscheiden. Das Erstellen von verschiedenen Paketen wird aber schnell unhandlich, wenn eine Anwendung mehr als ein oder zwei Optionen zum Zeitpunkt des Übersetzens besitzt. Die Lizenzbestimmungen mancher Software verbietet ein Verbreiten in binärer Form. Diese Software muss als Quelltext, der durch den Benutzer kompiliert werden muss, ausgeliefert werden. Einige Leute trauen binären Distributionen nicht, oder sie ziehen es vor den Quelltext zu lesen, um diesen nach möglichen Problemen zu durchsuchen. Der Quellcode wird benötigt, um individuelle Anpassungen anzuwenden. Wenn Sie über aktualisierte Ports informiert sein wollen, lesen Sie die Mailinglisten &a.ports; und &a.ports-bugs;. Bevor Sie eine Anwendung installieren, informieren Sie sich auf der Seite http://vuxml.FreeBSD.org/ über mögliche Sicherheitsprobleme mit der Anwendung, oder installieren Sie ports-mgmt/portaudit. Installierte Anwendungen können mit portaudit -F -a auf bekannte Sicherheitsprobleme untersucht werden. Der Rest dieses Kapitels beschreibt, wie man Software Dritter mit Paketen und Ports unter &os; installiert und verwaltet. Suchen einer Anwendung Die Anzahl der nach &os; portierten Anwendungen steigt ständig. Es gibt einige Wege, um nach Anwendungen zu suchen: Die &os;-Webseite stellt unter http://www.FreeBSD.org/ports/ eine aktuelle und durchsuchbare Liste aller Anwendungen zur Verfügung. Die Ports können nach dem Namen den Anwendung, oder über die Software-Kategorie durchsucht werden. FreshPorts Dan Langille verwaltet FreshPorts.org, das eine umfassende Suchfunktion bietet und Änderungen an den Anwendungen in der Ports-Sammlung verfolgt. Registrierte Benutzer können eine Merkliste erstellen, um automatisch eine E-Mail zu erhalten, sobald ein Port von dieser Liste aktualisiert wurde. Freecode Wenn Sie den Namen einer Anwendung nicht kennen, versuchen Sie eine Webseite wie Freecode.com, um eine passende Anwendung zu finden. Schauen Sie dann auf der &os;-Webseite nach, ob die Anwendung schon portiert wurde. Wenn die Ports-Sammlung bereits installiert ist, gibt es mehrere Methoden, um die lokale Version dieser Port-Sammlung abzufragen. Verwenden Sie whereis Datei um herauszufinden, in welcher Kategorie ein Port ist, wobei Datei der Name des Programms ist, das installiert werden soll: &prompt.root; whereis lsof lsof: /usr/ports/sysutils/lsof Alternativ kann der &man.echo.1;-Befehl verwendet werden: &prompt.root; echo /usr/ports/*/*lsof* /usr/ports/sysutils/lsof Beachten Sie aber, dass dieser Befehl auch alle Dateien im Verzeichnis /usr/ports/distfiles findet, auf die der angegebene Suchbegriff passt. Ein weiterer Weg nach Software zu suchen besteht darin, die eingebaute Suchfunktion der Ports-Sammlung zu benutzen. Wechseln Sie dazu in das Verzeichnis /usr/ports, und rufen Sie make search name=Anwendungsname auf, wobei Anwendungsname der Name der Software ist. Um zum Beispiel nach lsof zu suchen: &prompt.root; cd /usr/ports &prompt.root; make search name=lsof Port: lsof-4.88.d,8 Path: /usr/ports/sysutils/lsof Info: Lists information about open files (similar to fstat(1)) Maint: ler@lerctr.org Index: sysutils B-deps: R-deps: Der integrierte Suchmechanismus verwendet eine Datei mit Index-Informationen. Erscheint eine Meldung, dass der INDEX benötigt wird, führen Sie make fetchindex aus, um die aktuelle Index-Datei herunterzuladen. Mit einem vorhandenen INDEX ist make search in der Lage, die gewünschte Suche durchzuführen. Die Path:-Zeile zeigt an, wo der Port zu finden ist. Um weniger Informationen zu erhalten, benutzen Sie die Funktion quicksearch: &prompt.root; cd /usr/ports &prompt.root; make quicksearch name=lsof Port: lsof-4.88.d,8 Path: /usr/ports/sysutils/lsof Info: Lists information about open files (similar to fstat(1)) Erweiterte Suchen führen Sie mit make search key=Text oder make quicksearch key=Text aus. Damit werden Portnamen, Kommentare, Beschreibungen und Abhängigkeiten nach Text durchsucht. Dies kann sehr nützlich sein, wenn der Name des Programms nicht bekannt ist. Bei der Verwendung von search und quicksearch wird Groß- und Kleinschreibung bei der Suche ignoriert. Die Suche nach LSOF wird dieselben Ergebnisse wie die Suche nach lsof liefern. Verwendung von Binärpaketen Derzeit befindet sich &os; in einer Übergangsphase auf ein neues Paketverwaltungssystem. Benutzer möchten vielleicht die Vorteile von PKGng bei der Verwaltung von Drittanbieter-Paketen in &os; kennenlernen. Benutzer, die noch nicht auf pkgng migriert haben, können die traditionelle Methode zur Verwaltung der Paketdatenbank verwenden. Diese Methode der Paketverwaltung verwendet ein Datenbankverzeichnis, /var/db/pkg, um Versionen und Dateien von installierten Anwendungen aufzuzeichnen. Verschiedene Werkzeuge interagieren mit dem Datenbankverzeichnis und werden verwendet, um Binärpakete zu verwalten. Solche Kommandos beginnen mit pkg_. Dieser Abschnitt bietet einen Überblick über die Kommandos, die verwendet werden, um Binärpakete zu installieren, zu löschen und um Informationen über Pakete zu sammeln. Jedes Kommando verfügt über viele Optionen, mit den das Verhalten angepasst werden kann. In den aufgeführten Manualpages finden Sie weitere Informationen und Anwendungsbeispiele. Installieren eines Pakets Pakete installieren pkg_add Benutzen Sie &man.pkg.add.1;, um ein Binärpaket von einem lokalen &os;-Medium oder über einen entfernten &os;-Paketserver zu installieren. Obwohl das &os;-Medium keine Netzwerkverbindung für die Installation von Paketen benötigt, wird es wahrscheinlich nicht die neuesten Versionen der Binärpakete enthalten, da die Versionen kontinuierlich auf den &os;-Paketservern neu gebaut werden. Verwenden Sie &man.pkg.add.1; mit -r (für remote), um ein Paket von einem Server zu installieren. Dies bestimmt automatisch das nötige Objektformat und die richtige Version des Pakets, lädt dieses dann von einem Paketserver und installiert es, ohne dass weitere Benutzereingriffe nötig sind. pkg_add &prompt.root; pkg_add -r lsof In diesem Beispiel wird lsof ohne Versionsnummer verwendet, da bei der Installation von Paketen von einem entfernten Server keine Versionen angegeben werden dürfen. Wenn Sie einen anderen &os; FTP-Mirror verwenden möchten, geben Sie den Mirror in der Umgebungsvariablen PACKAGESITE an. &man.pkg.add.1; benutzt &man.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 für FTP finden Sie in &man.fetch.3;. Unter &os.current; oder &os.stable; holt &man.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 &os; 9.1-RELEASE System, versucht &man.pkg.add.1; in der Voreinstellung die Pakete von ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.1-release/Latest/ zu laden. Um &man.pkg.add.1; zu zwingen, nur &os; 9-STABLE-Pakete herunterzuladen, setzen Sie PACKAGESITE auf ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-stable/Latest/. Pakete werden im .tbz-Format ausgeliefert. Sie sind unter ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/, oder im Verzeichnis /packages auf der &os;-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. Verwalten von Paketen Pakete verwalten Benutzen Sie &man.pkg.info.1;, um alle installierten Pakete und deren Beschreibung anzuzeigen. pkg_info &prompt.root; pkg_info colordiff-1.0.13 Tool to colorize diff output docbook-1.4 Meta-port for the different versions of the DocBook DTD ... Benutzen Sie &man.pkg.version.1;, um einen Überblick über die Versionen aller installierten Pakete und einen Vergleich zu den aktuellen Versionen aus der lokal installierten Ports-Sammlung anzuzeigen: pkg_version &prompt.root; 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. Symbol Bedeutung = 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 nicht in der Lage, die Versionsnummer des installierten Pakets mit der Versionsnummer des entsprechenden Eintrags im Index zu vergleichen. Entfernen eines Pakets pkg_delete Pakete entfernen Um ein zuvor installiertes Paket zu entfernen, benutzen Sie &man.pkg.delete.1;. &prompt.root; pkg_delete xchat-2.8.8_1 Beachten Sie, dass &man.pkg.delete.1; die vollständige Bezeichnung des Pakets benötigt. Die Eingabe von xchat anstelle von xchat-2.8.8_1 wäre im obigen Beispiel daher nicht ausreichend. Benutzen Sie &man.pkg.version.1;, um die Versionsnummer des Pakets herausfinden, oder verwenden Sie Wildcards: &prompt.root; pkg_delete xchat\* In diesem Beispiel werden alle Pakete gelöscht, deren Name mit xchat beginnt. Benutzen von <application>pkgng</application> zur Verwaltung von Binärpaketen pkgng ist der Nachfolger für die traditionellen Paketverwaltungswerkzeuge von &os;. Es bietet viele Funktionen, die den Umgang mit Binärpaketen schneller und einfacher machen. pkgng ist kein Ersatz für die Portverwaltungswerkzeuge wie ports-mgmt/portmaster oder ports-mgmt/portupgrade. Während diese Werkzeuge Drittanbieter-Software sowohl aus Binärpaketen als auch aus der Ports-Sammlung installieren können, so installiert pkgng ausschließlich Binärpakete. Erste Schritte mit <application>pkgng</application> &os; 9.1 und nachfolgende Versionen enthalten ein Bootstrap-Programm, welches pkgng zusammen mit den Manualpages installiert. Um das Bootstrap Programm zu starten, geben Sie folgendes ein: &prompt.root; /usr/sbin/pkg Für ältere Versionen von &os; muss pkgng zunächst aus der Ports-Sammlung oder als Paket installiert werden. Um den Port zu installieren, geben Sie folgendes ein: &prompt.root; cd /usr/ports/ports-mgmt/pkg &prompt.root; make &prompt.root; make install clean Um das Paket zu installieren, geben Sie folgendes ein: &prompt.root; pkg_add -r pkg Sobald pkgng installiert ist, muss die Paketdatenbank mit dem folgenden Befehl vom traditionellen Format in das neue Format konvertiert werden: &prompt.root; pkg2ng Auf neu installieren Systemen, auf denen noch keine Software von Drittanbietern installiert wurde, kann dieser Schritt entfallen. Die Konvertierung ist unwiderruflich. Sobald die Paketdatenbank in das Format von pkgng umgewandelt wurde, sollten die traditionellen pkg_* Werkzeuge nicht mehr benutzt werden. Bei der Konvertierung der Paketdatenbank können Fehler ausgegeben werden, wenn die Inhalte auf die neue Version umgewandelt werden. Im Allgemeinen können diese Fehler ignoriert werden. Wenn pkg2ng fertig ist, wird eine Liste von Drittanbieter-Software ausgegeben, die nicht erfolgreich konvertiert werden konnte. Diese Anwendungen müssen manuell neu installiert werden. Um sicherzustellen, dass die &os; Ports-Sammlung neue Pakete mit pkgng und nicht mit den traditionellen Formaten registriert, muss in &os; 10.X und früheren Versionen folgende Zeile in /etc/make.conf hinzugefügt werden: WITH_PKGNG= yes Das pkgng Paketverwaltungssystem benutzt für die meisten Operationen ein Paket-Repository. Der Speicherort des Paket-Repositories wird in /usr/local/etc/pkg.conf oder der Umgebungsvariablen PACKAGESITE definiert. Weitere Konfigurationsoptionen für pkgng sind in &man.pkg.conf.5; beschrieben. Informationen zur Bedienung von pkgng ist in &man.pkg.8; verfügbar. Alternativ kann pkg ohne zusätzliche Argumente aufgerufen werden. Jedes Argument von pkgng ist in seiner spezifischen Manualpage dokumentiert. Um beispielsweise die Manualpage von pkg install zu lesen, geben Sie einen der folgenden Befehle ein: &prompt.root; pkg help install &prompt.root; man pkg-install Der Rest dieses Abschnitts beschreibt die typischen Verwaltungsaufgaben für Binärpakete, die mit pkgng erledigt werden können. Jedes gezeigte Kommando verfügt über Optionen, um das Verhalten anzupassen. Details und weitere Beispiele finden Sie in den Manualpages der einzelnen Kommandos. Informationen über installierte Pakete anzeigen Informationen über bereits installierte Pakete können mit pkg info angezeigt werden. Dabei wird, wenn keine weiteren Optionen angegeben werden, die Version und die Beschreibung aller Pakete oder eines einzelnen Pakets ausgegeben. Um zu ermitteln welche Version von pkgng installiert ist, geben Sie folgendes ein: &prompt.root; pkg info pkg pkg-1.1.4_1 Installation und Deinstallation von Paketen Ein Binärpaket installieren Sie mit dem folgenden Befehl, wobei paketname der Name des zu installierenden Pakets ist: &prompt.root; pkg install paketname Dieser Befehl verwendet Daten aus dem Repository um zu bestimmen, welche Version der Software und welche Abhängigkeiten installiert werden müssen. Um beispielsweise curl zu installieren: &prompt.root; pkg install curl Updating repository catalogue /usr/local/tmp/All/curl-7.31.0_1.txz 100% of 1181 kB 1380 kBps 00m01s /usr/local/tmp/All/ca_root_nss-3.15.1_1.txz 100% of 288 kB 1700 kBps 00m00s Updating repository catalogue The following 2 packages will be installed: Installing ca_root_nss: 3.15.1_1 Installing curl: 7.31.0_1 The installation will require 3 MB more space 0 MB to be downloaded Proceed with installing packages [y/N]: y Checking integrity... done [1/2] Installing ca_root_nss-3.15.1_1... done [2/2] Installing curl-7.31.0_1... done Cleaning up cache files...Done Das neue Paket und jedes weitere Paket, das als Abhängigkeit installiert wurde, ist in der Liste der installierten Pakete zu sehen: &prompt.root; pkg info ca_root_nss-3.15.1_1 The root certificate bundle from the Mozilla Project curl-7.31.0_1 Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers pkg-1.1.4_6 New generation package manager Wird ein Paket nicht mehr benötigt, kann es mit pkg delete entfernt werden. Zum Beispiel: &prompt.root; pkg delete curl The following packages will be deleted: curl-7.31.0_1 The deletion will free 3 MB Proceed with deleting packages [y/N]: y [1/1] Deleting curl-7.31.0_1... done Installierte Pakete aktualisieren Pakete die nicht mehr aktuell sind, können mit pkg version gefunden werden. &man.pkg-version.8; nutzt zur Identifikation der Paketversionen die lokale Ports-Sammlung, falls diese installiert ist. Ansonsten wird dazu das entfernte Repository benutzt. Installierte Pakete können mit pkg upgrade auf die neuesten Versionen aktualisiert werden. Mit diesem Befehl werden die installierten Versionen der Pakete mit denen im Repository verglichen. Es wird dann eine Liste der Anwendungen ausgegeben, für die neuere Versionen zur Verfügung stehen. Geben Sie y ein, um die Aktualisierung durchzuführen, oder n, um die Aktualisierung abzubrechen. Installierte Pakete auditieren Gelegentlich werden Sicherheitslücken in einer Drittanbieter-Software entdeckt. pkgng besitzt einen eingebauten Auditing-Mechanismus. Um die auf dem System installierte Software auf Sicherheitslücken zu prüfen, geben Sie folgenden Befehl ein: &prompt.root; pkg audit -F Automatisches Entfernen von nicht mehr benötigten Abhängigkeiten Das Entfernen eines Pakets kann möglicherweise Abhängigkeiten hinterlassen, die nicht mehr benötigt werden. Unnötige Pakete, die als Abhängigkeit von anderen Paketen installiert wurden, können automatisch erfasst und entfernt werden: &prompt.root; pkg autoremove Packages to be removed: ca_root_nss-3.15.1_1 The autoremoval will free 723 kB Proceed with autoremoval of packages [y/N]: y Deinstalling ca_root_nss-3.15.1_1... done Sicherung der Paketdatenbank Im Gegensatz zum alten Paketverwaltungssystem beinhaltet pkgng einen eigenen Mechanismus zur Sicherung der Paketdatenbank. Um den Inhalt der Paketdatenbank manuell zu sichern, geben Sie folgendes ein, und ersetzen Sie pkgng.db durch einen geeigneten Namen: &prompt.root; pkg backup -d pkgng.db Zusätzlich verfügt pkgng über ein &man.periodic.8;-Skript, das automatisch eine tägliche Sicherung der Paketdatenbank erstellt. Diese Funktionalität kann aktiviert werden, indem in &man.periodic.conf.5; daily_backup_pkgng_enable auf YES gesetzt ist. Um das Skript daran zu hindern, eine Sicherung der Paketdatenbank zu erstellen, muss in &man.periodic.conf.5; daily_backup_pkgdb_enable auf NO gesetzt werden. Um den Inhalt einer früheren Paketdatenbank wiederherzustellen, geben Sie folgendes ein: &prompt.root; pkg backup -r /path/to/pkgng.db Alte Pakete entfernen Standardmäßig speichert pkgng Pakete in einem Cache-Verzeichnis, welches in &man.pkg.conf.5; in der Variablen PKG_CACHEDIR definiert wird. Beim Upgrade der Pakete mit pkg upgrade, werden die alten Versionen der Pakete nicht automatisch entfernt. Um veraltete Pakete zu entfernen, geben Sie folgendes ein: &prompt.root; pkg clean Manipulation der Paket-Metadaten Bei Software aus der &os; Ports-Sammlung kann es vorkommen, dass die Hauptversionsnummer geändert wird. Dafür hat pkgng ein eingebautes Kommando, um die Quelle eines Pakets zu aktualisieren. Dies ist nützlich, wenn zum Beispiel lang/php5 zu lang/php53 umbenannt wurde, damit lang/php5 jetzt die Version 5.4 integrieren kann. Um die Quelle des Pakets für das obige Beispiel zu ändern, geben Sie folgendes ein: &prompt.root; pkg set -o lang/php5:lang/php53 Ein weiteres Beispiel: Um lang/ruby18 auf lang/ruby19 zu aktualisieren, geben Sie folgendes ein: &prompt.root; pkg set -o lang/ruby18:lang/ruby19 In diesem letzten Beispiel wird die Quelle der Bibliotheken von libglut von graphics/libglut auf graphics/freeglut geändert: &prompt.root; pkg set -o graphics/libglut:graphics/freeglut Bei einem Wechsel der Paketquelle ist es notwendig, die Pakete neu zu installieren, welche von dem Paket abhängig sind, das seine Paketquelle geändert hat. Um eine Neuinstallation von abhängigen Paketen zu erzwingen, führen Sie folgenden Befehl aus: &prompt.root; pkg install -Rf graphics/freeglut Benutzen der Ports-Sammlung Die Ports-Sammlung ist eine Reihe von Makefiles, Patches und Beschreibungen, die unter /usr/ports gespeichert sind. Diese Dateien werden für den Bau und die Installation von Anwendungen unter &os; verwendet. Bevor eine Anwendung aus den Ports erstellt werden kann, muss zuerst die Ports-Sammlung installiert werden. Wenn Sie dies nicht bereits bei der Installation von &os; getan haben, benutzen Sie eine der beiden Methoden um sie zu installieren: Installation mit Portsnap Portsnap ist ein schnelles und benutzerfreundliches Werkzeug zur Installation der Ports-Sammlung und die bevorzugte Wahl für die meisten Benutzer. Im finden Sie eine ausführliche Beschreibung zu Portsnap. Laden Sie einen komprimierten Snapshot der Ports-Sammlung in /var/db/portsnap. &prompt.root; portsnap fetch Wenn Sie Portsnap das erste Mal verwenden, müssen Sie den Snapshot nach /usr/ports extrahieren: &prompt.root; portsnap extract Nach dem ersten Einsatz von Portsnap, kann /usr/ports wie folgt aktualisiert werden: &prompt.root; portsnap fetch &prompt.root; portsnap update Installation mit Subversion Wird mehr Kontrolle über die Ports-Sammlung benötigt, oder wenn die lokalen Änderungen beibehalten werden sollen, kann Subversion benutzt werden, um die Ports-Sammlung zu laden. Lesen Sie the + xlink:href="&url.articles.committers-guide;/subversion-primer.html">den Subversion Primer für eine detaillierte Beschreibung von Subversion. Subversion muss installiert sein, bevor die Ports-Sammlung geladen werden kann. Ist eine lokale Kopie der Ports-Sammlung bereits vorhanden, installieren Sie Subversion wie folgt: &prompt.root; cd /usr/ports/devel/subversion &prompt.root; make install clean Ist keine lokale Kopie der Ports-Sammlung vorhanden, kann Subversion als Paket installiert werden: &prompt.root; pkg_add -r subversion Wird pkgng für die Verwaltung von Paketen benutzt, kann Subversion darüber installiert werden: &prompt.root; pkg install subversion Laden Sie eine Kopie der Ports-Sammlung: &prompt.root; svn checkout https://svn.FreeBSD.org/ports/head /usr/ports Nach dem erstmaligen checkout mit Subversion kann /usr/ports wie folgt aktualisiert werden: &prompt.root; svn update /usr/ports Die Ports-Sammlung installiert eine Reihe von Verzeichnissen, die jeweils eine Softwarekategorie repräsentieren. Jede Kategorie hat für jede einzelne Anwendung ein weiteres Unterverzeichnis. Jedes Unterverzeichnis enthält Dateien, die &os; sagen, wie ein Programm kompiliert und installiert werden muss. Diese Dateien werden auch Port-Gerüst genannt. Jedes Port-Gerüst beinhaltet die folgenden Dateien und Verzeichnisse: Makefile: enthält Anweisungen, die spezifizieren, wie die Anwendung kompiliert wird und wohin die Komponenten installiert werden sollten. distinfo: enthält die Namen und die Prüfsummen der Dateien, die heruntergeladen werden müssen, um den Port zu bauen. files: dieses Verzeichnis enthält Patches, welche das Übersetzen und Installieren der Anwendung unter &os; ermöglichen. Zudem können noch weitere Dateien, die für die Übersetzung des Ports verwendet werden, enthalten sein. pkg-descr: enthält eine ausführlichere Beschreibung der Anwendung. pkg-plist: 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 beinhalten noch pkg-message oder weitere Dateien, die vom Port-System benutzt werden, um spezielle Situationen zu handhaben. Wenn Sie mehr über diese Dateien oder das Port-System erfahren wollen, lesen Sie das &os; Porter's Handbook. Ein Port enthält nicht den eigentlichen Quellcode, der auch als Distfile bekannt ist. Der heruntergeladene Quellcode wird automatisch nach /usr/ports/distfiles extrahiert. Ports installieren Ports installieren Dieser Abschnitt beschreibt die grundlegende Benutzung der Ports-Sammlung, um Software zu installieren oder zu deinstallieren. Eine ausführliche Beschreibung der einzelnen make-Targets finden Sie in &man.ports.7;. Stellen Sie sicher, dass die Ports-Sammlung aktuell ist, bevor Sie einen Port kompilieren. Informieren Sie sich vorher zusätzlich unter http://vuxml.FreeBSD.org/ über mögliche Sicherheitsprobleme des zu installierenden Ports. Alternativ können Sie pkg audit -F ausführen, bevor Sie einen neuen Port installieren. Die täglich laufende Sicherheitsprüfung des Systems aktualisiert ebenfalls die Datenbank und prüft installierte Anwendungen auf vorhandene Sicherheitsprobleme. Weitere Informationen finden Sie in &man.portaudit.1; und &man.periodic.8;. Die Benutzung der Ports-Sammlung setzt eine funktionierende Internetverbindung und Superuser-Rechte voraus. Um einen Port zu installieren, wechseln Sie in das Verzeichnis des Ports, den Sie installieren möchten. Geben Sie dann make install am Prompt ein: &prompt.root; cd /usr/ports/sysutils/lsof &prompt.root; make install >> lsof_4.88D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. >> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/. ===> Extracting for lsof-4.88 ... [Ausgabe des Auspackens weggelassen] ... >> Checksum OK for lsof_4.88D.freebsd.tar.gz. ===> Patching for lsof-4.88.d,8 ===> Applying FreeBSD patches for lsof-4.88.d,8 ===> Configuring for lsof-4.88.d,8 ... [configure-Ausgabe weggelassen] ... ===> Building for lsof-4.88.d,8 ... [Ausgabe der Übersetzung weggelassen] ... ===> Installing for lsof-4.88.d,8 ... [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. /usr/local/bin/lsof &prompt.root; Da lsof eine Anwendung ist, die mit erhöhten Rechten läuft, wird nach der Installation eine Sicherheitswarnung angezeigt. Sobald die Installation abgeschlossen ist, erscheint wieder der Prompt. Um die Suche nach Kommandos zu beschleunigen, speichern einige Shells eine Liste der verfügbaren Kommandos in den durch die Umgebungsvariable PATH gegebenen Verzeichnissen. Benutzer der tcsh müssen eventuell rehash eintippen, um die neu installierten Kommandos benutzen zu können, ohne den vollständigen Pfad anzugeben. Benutzer der Shell sh müssen stattdessen hash -r eintippen. Weitere Informationen finden Sie in der Dokumentation der jeweiligen Shell. Bei der Installation wird ein Arbeitsverzeichnis erstellt, das alle temporären Dateien enthält, die während des Bauvorgangs benötigt werden. Wenn dieses Verzeichnis nach der Installation entfernt wird, spart dies Plattenplatz und minimiert mögliche Probleme bei der Aktualisierung des Ports auf eine neuere Version: &prompt.root; make clean ===> Cleaning for lsof-4.88.d,8 &prompt.root; Sie können zwei Schritte sparen, wenn Sie bei der Kompilierung des Ports gleich make install clean eingeben. Port Installation anpassen Einige Ports bieten Optionen, mit denen zusätzliche Funktionen oder Sicherheitsoptionen eingestellt werden können. Beispiele dafür sind www/firefox, security/gpgme und mail/sylpheed-claws. Wenn ein Port von anderen Ports abhängig ist und diese über zusätzliche Abhängigkeiten und Optionen verfügen, wird mehrmals ein Menü ausgegeben, wo der Benutzer verschiedene Optionen wählen kann. Um dies zu vermeiden, wechseln Sie in das Verzeichnis des Ports und geben Sie make config-recursive ein, um die Konfiguration an einem Stück zu erledigen. Führen Sie danach make install [clean] aus, um den Port zu kompilieren und zu installieren. Bei der Verwendung von config-recursive wird eine Liste von Ports, die konfiguriert werden, vom Target all-depends-list erstellt. Es wird empfohlen, make config-recursive so lange auszuführen, bis alle Optionen der abhängigen Ports definiert sind und keine Optionen und Menüs mehr erscheinen. Damit soll sichergestellt werden, dass alle Optionen konfiguriert wurden. Es gibt diverse Möglichkeiten, dieses Menü nach dem Bau eines Ports erneut aufzurufen, um Optionen zu entfernen, hinzuzufügen oder anzupassen. Sie können beispielsweise mit cd in das Verzeichnis des Ports wechseln und dort make config eingeben. Eine andere Möglichkeit ist make showconfig. Eine weitere Alternative bietet make rmconfig, das alle ursprünglich gewählten Optionen zurücksetzt und es Ihnen dadurch ermöglicht, die Konfiguration erneut zu beginnen. Die eben erwähnten Optionen werden ausführlich in &man.ports.7; beschrieben. Die Ports-Sammlung benutzt zum Herunterladen von Dateien &man.fetch.3;, das diverse Umgebungsvariablen unterstützt. Die Variablen FTP_PASSIVE_MODE, FTP_PROXY und FTP_PASSWORD müssen unter Umständen gesetzt werden, wenn das &os;-System hinter einer Firewall oder einem FTP/HTTP-Proxy arbeitet. Eine vollständige Liste der unterstützten Variablen finden Sie in &man.fetch.1;. Benutzer ohne eine ständige Internet-Verbindung können make fetch im Verzeichnis /usr/ports ausführen, um die benötigten Dateien herunterzuladen. Es ist auch möglich, make fetch nur in einem Teil des Baums, wie /usr/ports/net, aufzurufen. Die Dateien von allen abhängigen Ports werden mit diesem Kommando allerdings nicht heruntergeladen. Wenn Sie diese Dateien ebenfalls herunterladen wollen, benutzen Sie stattdessen make fetch-recursive. In einigen seltenen Fällen ist es erforderlich, die benötigten Dateien von einem anderen Ort als den im Port definierten MASTER_SITES herunterzuladen. Sie können MASTER_SITES mit dem folgenden Kommando überschreiben: &prompt.root; cd /usr/ports/directory &prompt.root; make MASTER_SITE_OVERRIDE= \ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch Die Variablen WRKDIRPREFIX und PREFIX überschreiben das voreingestellte Bau- und Zielverzeichnis. Zum Beispiel: &prompt.root; make WRKDIRPREFIX=/usr/home/example/ports install Dieses Kommando baut den Port unter /usr/home/example/ports und installiert ihn unter /usr/local. Die Variable PREFIX legt das Installations-Verzeichnis fest: &prompt.root; make PREFIX=/usr/home/example/local install In diesem Beispiel wird der Port unter /usr/ports gebaut und nach /usr/home/example/local installiert. Sie können beide Variablen auch zusammen benutzen: &prompt.root; make WRKDIRPREFIX=../ports PREFIX=../local install Alternativ können diese Variablen auch als Umgebungsvariablen gesetzt werden. In der Manualpage Ihrer Shell finden Sie Anweisungen, wie Umgebungsvariablen gesetzt werden. Entfernen installierter Ports Ports entfernen Installierte Ports können mit pkg delete wieder deinstalliert werden. Beispiele für dieses Kommando finden Sie in &man.pkg-delete.8;. Alternativ kann make deinstall im Verzeichnis des Ports aufgerufen werden: &prompt.root; cd /usr/ports/sysutils/lsof make deinstall ===> Deinstalling for sysutils/lsof ===> Deinstalling Deinstallation has been requested for the following 1 packages: lsof-4.88.d,8 Thee deinstallation will free 229 kB [1/1] Deleting lsof-4.88.d,8... done Es wird empfohlen die Nachrichten zu lesen, die ausgegeben werden, wenn ein Port deinstalliert wird. Wenn der Port noch Anwendungen hat, die von ihm abhängig sind, werdenn diese am Bildschirm angezeigt, aber die Deinstallation wird forgesetzt. In solchen Fällen ist es besser, die Anwendung neu zu installieren, um fehlende Abhängigkeiten zu vermeiden. Ports aktualisieren Ports aktualisieren - Als erstes sollten sie sich alle installierten Ports - anzeigen lassen, von denen eine aktuellere Version in der - Ports-Sammlung existiert. Dazu verwenden Sie den Befehl - &man.pkg.version.1;: + Im Laufe der Zeit stehen neuere Versionen der Software in + der Ports-Sammlung zur Verfügung. In diesem Abschnitt wird + beschrieben, wie Sie bestimmen, welche Software aktualisiert + werden kann und wie das Upgrade durchzuführen ist. - &prompt.root; pkg_version -v + Um festzustellen, ob neuere Versionen der installierten + Ports verfügbar sind, stellen Sie sicher, dass die neueste + Version der Ports-Sammlung installiert ist. Diese wird in + Prozedur 5.1 und Prozedur 5.2 beschrieben. Führen Sie + anschließend den folgenden Befehl aus, um eine Liste der Ports + zu erhalten für die eine aktuelle Version existiert: - - Lesen Sie - <filename>/usr/ports/UPDATING</filename> + &prompt.root; pkg version -l "<" - Nachdem Sie die Ports-Sammlung auf den neusten - Stand gebracht haben, lesen Sie bitte zuerst die Datei + + Lesen Sie zuerst /usr/ports/UPDATING, bevor Sie einen Port aktualisieren. In dieser Datei werden Probleme und zusätzlich durchzuführende Schritte bei der Aktualisierung einzelner Ports beschrieben. Dazu gehören solche Dinge wie geänderte Dateiformate, verschobene Konfigurationsdateien, aber auch Inkompatibilitäten zu einer - Vorgängerversion. + Vorgängerversion. Notieren Sie sich alle Anweisungen der + Ports, die aktualisiert werden müssen. Folgen Sie den + Anweisungen, wenn Sie das Upgrade durchführen. + - Sollte UPDATING etwas hier Gesagtem - widersprechen, so gilt das in UPDATING - Gesagte. - - - - Ports mit Portupgrade aktualisieren - - - portupgrade - - - portupgrade wurde entwickelt, um - die Aktualisierung von Ports zu vereinfachen. Sie können - portupgrade über den Port - ports-mgmt/portupgrade wie - jeden anderen Port mit make install clean - installieren: - - &prompt.root; cd /usr/ports/ports-mgmt/portupgrade/ -&prompt.root; make install clean - - Durchsuchen Sie regelmäßig die Liste der installierten - Ports mit pkgdb -F und beheben Sie alle - gefundenen Probleme. Es ist eine gute Idee, dies vor jedem - Update auszuführen. - - Benutzen Sie portupgrade -a, um - automatisch alle veralteten Ports auf dem System zu - aktualisieren. Verwenden Sie den Schalter - , wenn Sie individuell entscheiden wollen, - ob ein Port aktualisiert werden soll: - - &prompt.root; portupgrade -ai - - Um nur eine spezifische Anwendung zu aktualisieren, - verwenden Sie portupgrade - Paketname. - Geben Sie den Schalter an, wenn - portupgrade zuvor alle - Ports aktualisieren soll, die von dem gegebenen - Paket abhängen. - - &prompt.root; portupgrade -R firefox - - Um Pakete anstelle von Ports zu installieren, verweden Sie - den Schalter . Mit dieser - Option durchsucht portupgrade - die in der Umgebungsvariablen PKG_PATH - aufgeführten Verzeichnisse nach Paketen. Sind - lokal keine Pakete vorhanden, versucht - portupgrade die Pakete - über das Netz herunterzuladen. Gibt es die Pakete - weder lokal noch auf entfernten Rechnern, werden die Ports - verwendet. Um dies zu verhindern, benutzen Sie die - Option . - - &prompt.root; portupgrade -PP gnome2 - - Wenn Sie nur die Quelldateien des Ports (oder die Pakete - mit ) herunterladen möchten, - ohne die Anwendung zu bauen oder zu installieren, - geben Sie die Option an. - Weitere Möglichkeiten lesen Sie bitte in - der Hilfeseite &man.portupgrade.1; nach. - - - Ports mit <application>portmaster</application> + <title>Ports mit <application>Portmaster</application> aktualisieren portmaster - portmaster ist ein weiteres Werkzeug - zum Aktualisieren von Ports. - portmaster nutzt nur Werkzeuge, - die bereits im Basissystem vorhanden sind, ohne dabei von - weiteren Ports abhängig zu sein. Es verwendet Informationen - in /var/db/pkg/, um - festzustellen, welche Ports aktualisiert werden sollen. - Sie können den Port wie folgt installieren: + ports-mgmt/portmaster ist ein sehr + kleines Werkzeug zum Aktualisieren von Ports. Es wurde + entwickelt, um mit den in &os; integrierten Werkzeugen zu + arbeiten, ohne dabei von anderen Ports oder Datenbanken + abhängig zu sein. Sie können das Programm aus der + Ports-Sammlung installieren: &prompt.root; cd /usr/ports/ports-mgmt/portmaster &prompt.root; make install clean Portmaster teilt Ports in vier Kategorien ein: - Root ports: no dependencies and is not depended on - by other ports - + Root Port: hat keine Abhängigkeiten und andere Ports + sind nicht von diesem Port abhängig. + - Trunk ports: no dependencies, but other ports depend - upon it - + Trunk Port: hat keine Abhängigkeiten, aber andere + Ports sind von diesem Port abhängig. + - Branch ports: have dependencies but are depended - upon by other ports - + Branch Port: hat Abhängigkeiten und andere Ports + sind von diesem Port abhängig. + - Leaf ports: have dependencies but are not depended - upon by other ports - + Leaf Port: hat Abhängigkeiten, aber andere Ports + sind nicht von diesem Port abhängig. + Um eine Liste der installierten Ports anzuzeigen und - nach neueren Versionen zu suchen, verwenden Sie - : + nach neueren Versionen zu suchen, verwenden Sie: &prompt.root; portmaster -L ===>>> Root ports (No dependencies, not depended on) ===>>> ispell-3.2.06_18 ===>>> screen-4.0.3 ===>>> New version available: screen-4.0.3_1 ===>>> tcpflow-0.21_1 ===>>> 7 root ports ... ===>>> Branch ports (Have dependencies, are depended on) ===>>> apache22-2.2.3 ===>>> New version available: apache22-2.2.8 ... ===>>> Leaf ports (Have dependencies, not depended on) ===>>> automake-1.9.6_2 ===>>> bash-3.1.17 ===>>> New version available: bash-3.2.33 ... ===>>> 32 leaf ports ===>>> 137 total installed ports ===>>> 83 have new versions available Um alle installierten Ports zu aktualisieren, verwenden Sie folgenden Befehl: &prompt.root; portmaster -a In der Voreinstellung erzeugt - portmaster eine + Portmaster eine Sicherheitskopie, bevor ein installierter Port gelöscht wird. Ist die Installation der neuen Version erfolgreich, wird dieses Backup wieder gelöscht. Wollen Sie das Backup lieber manuell löschen, verwenden Sie die Option beim Aufruf von - portmaster. Durch die + Portmaster. Durch die Verwendung von wird - portmaster im interaktiven + Portmaster im interaktiven Modus gestartet und fragt bei jedem zu aktualisierenden - Port nach, wie weiter vorgegangen werden soll. + Port nach, wie weiter vorgegangen werden soll. Viele + weitere Optionen stehen zur Verfügung. Lesen Sie die + Manualpage von &man.portmaster.8; für weitere Einzelheiten + in Bezug auf ihre Nutzung. - Treten während der Aktualisierung Fehler auf, können - Sie die Option verwenden, um alle Ports zu + Treten während der Aktualisierung Fehler auf, verwenden + Sie die Option , um alle Ports zu aktualisieren beziehungsweise neu zu bauen: &prompt.root; portmaster -af - portmaster ist auch in der Lage, - neue Ports zu installieren, wobei zuvor alle abhängigen Ports - aktualisiert werden: + Portmaster ist auch in der + Lage, neue Ports zu installieren, wobei zuvor alle + abhängigen Ports aktualisiert werden. Um diese Funktion + zu nutzen, geben Sie den Pfad des Ports in der + Ports-Sammlung an: &prompt.root; portmaster shells/bash + - Weiterführende Informationen finden Sie in der Manualpage - &man.portmaster.8;. + + Ports mit Portupgrade aktualisieren + + + portupgrade + + + Ein weiteres Werkzeug zur Aktualisierung von Ports ist + Portupgrade, welches als Paket oder + Port ports-mgmt/portupgrade zur Verfügung + steht. Dieses Programm installiert eine Reihe von + Anwendungen, die für die Verwaltung von Ports verwendet werden + können. Das Programm ist jedoch von Ruby abhängig. Um den + Port zu installieren, geben Sie ein: + + &prompt.root; cd /usr/ports/ports-mgmt/portupgrade +&prompt.root; make install clean + + Durchsuchen Sie vor jedem Update die Liste der + installierten Ports mit pkgdb -F und + beheben Sie alle gefundenen Probleme. + + Benutzen Sie portupgrade -a, um + automatisch alle veralteten Ports auf dem System zu + aktualisieren. Verwenden Sie zusätzlich den Schalter + , wenn Sie individuell entscheiden wollen, + ob ein Port aktualisiert werden soll: + + &prompt.root; portupgrade -ai + + Um nur eine spezifische Anwendung zu aktualisieren, + verwenden Sie portupgrade + Paketname. Es ist + wichtig den Schalter zu benutzen, um zuvor + alle Ports zu aktualisieren, die von dem gegebenen Anwendung + abhängen. + + &prompt.root; portupgrade -R firefox + + Um Pakete anstelle von Ports zu installieren, verwenden + Sie den Schalter . Mit dieser + Option durchsucht Portupgrade + die in der Umgebungsvariablen PKG_PATH + aufgeführten Verzeichnisse nach Paketen. Sind + lokal keine Pakete vorhanden, versucht + Portupgrade die Pakete + über das Netz herunterzuladen. Gibt es die Pakete + weder lokal noch auf entfernten Rechnern, werden die Ports + verwendet. Um die Nutzung von Ports gänzlich zu verhindern, + benutzen Sie die Option . + Portupgrade würde dann abbrechen, + falls keine Pakete zur Verfügung stehen. + + &prompt.root; portupgrade -PP gnome2 + + Wenn Sie nur die Quelldateien des Ports, oder die Pakete + mit herunterladen möchten, ohne die + Anwendung zu bauen oder zu installieren, geben Sie den + Schalter an. Weitere Informationen zu den + verfügbaren Schaltern finden Sie in der Manualpage von + &man.portupgrade.1;. Platzbedarf von Ports Ports Plattenplatz Die Nutzung der Ports-Sammlung wird im Laufe der Zeit viel Plattenplatz verschlingen. Nach dem Bau und der Installation eines Ports, wird make clean die temporären Arbeitsverzeichnisse work aufräumen. - Um die gesamte Ports-Sammlung aufzuräumen, verwenden Sie - folgenden Befehl: + Portmaster wird dieses Verzeichnis + automatisch entfernen, wenn die Option + verwendet wird. Wenn Portupgrade + installiert ist, wird dieser Befehl alle Arbeitsverzeichnisse + der lokalen Ports-Sammlung entfernen: &prompt.root; portsclean -C - Im Laufe der Zeit werden sich zahlreiche veraltete - Distfiles in distfiles ansammeln. Mit - dem folgenden Befehl werden alle Distfiles gelöscht, die vom - keinem Port mehr benötigt werden: + Zusätzlich werden sich im Laufe der Zeit zahlreiche + veraltete Distfiles in + /usr/ports/distfiles ansammeln. Wenn + Portupgrade installiert ist, können + mit dem folgenden Befehl alle Distfiles gelöscht werden, die + vom keinem Port mehr benötigt werden: &prompt.root; portsclean -D - Um alle Distfiles zu löschen, die von - keinem derzeit installierten Port referenziert werden: + Mit Portupgrade können Sie alle + Distfiles löschen, die von keinem derzeit installierten + Port benötigt werden: &prompt.root; portsclean -DD - - Das Werkzeug portsclean wird - automatisch bei der Installation von - portupgrade mit installiert. - + Wenn Portmaster installiert + ist, benutzen Sie diesen Befehl: - port-mgmt/pkg_cutleaves automatisiert - die Deinstallation von installierten Ports, die nicht weiter - benötigt werden. + &prompt.root; portmaster --clean-distfiles + + In der Voreinstellung arbeitet dieses Programm interaktiv + und fragt den Benutzer um Bestätigung, bevor ein Distfile + gelöscht wird. + + Zusätzlich zu diesen Kommandos gibt es noch + port-mgmt/pkg_cutleaves. Dieses Werkzeug + automatisiert die Deinstallation von installierten Ports, die + nicht weiter benötigt werden. Nach der Installation Unabhängig davon, ob die Software aus einem binären Paket oder aus einem Port installiert wird, benötigen die meisten Anwendungen von Drittanbietern ein gewisses Maß an Konfiguration, nachdem sie installiert wurden. Die folgenden Kommandos und Speicherorte helfen Ihnen dabei festzustellen, was mit der Anwendung zusammen installiert wurde. Die meisten Anwendungen installieren mindestens eine Konfigurationsdatei nach /usr/local/etc. Die Konfigurationsdateien sollten überprüft und ggf. bearbeitet werden, um die Anforderungen des Systems zu erfüllen. Wenn die Anwendung Dokumentation zur Verfügung stellt, wird diese nach /usr/local/share/doc installiert. Viele Anwendungen installieren auch Manualpages. Diese Dokumentation sollten Sie lesen, bevor Sie fortfahren. Einige Anwendungen laufen als Dienst und müssen vor dem ersten Start in /etc/rc.conf eingetragen werden. Diese Anwendungen installieren meist ein Skript in /usr/local/etc/rc.d. Weitere Informationen finden Sie im . Benutzer der &man.csh.1; sollten rehash ausführen, um die neu installierten Programme nutzen zu können. Benutzen Sie pkg info, um die Dateien, Manualpages und Binaries zu ermitteln, die mit der Anwendung installiert wurden. Kaputte Ports - Stolpern Sie einmal über einen Port, der nicht - funktioniert: + Wenn sich ein Port nicht bauen oder installieren lässt, + versuchen Sie folgendes: Stellen Sie fest, ob die Datenbank mit den Problemberichten bereits einen Lösungsvorschlag enthält. Ist dies der Fall, kann die vorgeschlagene Lösung getestet werden. - Bitten Sie den Betreuer des Ports um Hilfe. Geben - Sie dazu make maintainer - ein oder lesen Sie das Makefile im Verzeichnis - des Ports, um an die E-Mail-Adresse zu kommen. Vergessen Sie nicht - den Namen und die Version des Ports (schicken Sie die Zeile mit - $FreeBSD: aus dem - Makefile) und die Ausgabe bis zur Fehlermeldung - mitzuschicken. + Bitten Sie den Betreuer des Ports um Hilfe. Geben Sie + dazu make maintainer ein oder lesen Sie + das Makefile im Verzeichnis des Ports, + um an die E-Mail-Adresse zu kommen. Vergessen Sie nicht + die Zeile mit $FreeBSD: aus dem + Makefile und die Ausgabe bis zur + Fehlermeldung mitzuschicken. Einige Ports werden nicht von einer Einzelperson, sondern von einer Mailingliste betreut. Viele (aber nicht alle) dieser Adressen haben die Form freebsd-NameDerListe@FreeBSD.org. Denken Sie daran, wenn Sie Ihre Fragen formulieren. Dies gilt insbesondere für Ports, die als Betreuer den Eintrag ports@FreeBSD.org aufweisen. Derartige Ports haben überhaupt keinen Betreuer. Korrekturen und Unterstützung kommen daher nur von Personen, die diese Mailingliste abonniert haben. Gerade in diesem Bereich werden jederzeit zusätzliche freiwillige Helfer benötigt! Erhalten Sie auf Ihre Anfrage keine Antwort, benutzen - Sie &man.send-pr.1;, um einen Problembericht zu erstellen. + Sie Bugzilla, um einen Problembericht zu erstellen. Bevor Sie einen solchen Bericht erstellen, lesen Sie den Artikel Writing &os; Problem Reports. Reparieren Sie ihn! Das &os; Porter's Handbook enthält eine detaillierte Beschreibung des Portsystems. Damit sind Sie in der Lage, - einen gelegentlich kaputten Port zu reparieren oder einen + einen zeitweilig kaputten Port zu reparieren oder einen eigenen Port zu erstellen. - Benutzen Sie alternativ &man.pkg.add.1;, um das Paket zu - installieren. + Installieren Sie das Paket anstelle des Ports. + Anweisungen hierzu finden Sie in + oder in + .