Update to r42829:

- general tightening and clarification of content
- the section 3s were changed to section 2s to prevent this chapter from going too deep into headings and to be more consistent with the previous section; I will make igor happy with a white-space change after the rest of the changes to chapter 5 are complete
- listings were updated to latest version of pkgng

Reviewed by:	bcr
Differential Revision:	https://reviews.freebsd.org/D5410
This commit is contained in:
Bjoern Heidotting 2016-02-23 18:05:22 +00:00
parent 04ef58784a
commit a344f9bcc9
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48248

View file

@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/ports/chapter.xml,v 1.111 2011/12/19 17:13:33 bcr Exp $
basiert auf: r42809
basiert auf: r42829
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="ports">
<info><title>Installieren von Anwendungen: Pakete und Ports</title>
@ -591,31 +591,27 @@ docbook =
<title>Benutzen von <application>pkgng</application> zur
Verwaltung von Binärpaketen</title>
<para><application>pkgng</application> ist ein verbesserter
Ersatz für die traditionellen Paketverwaltungswerkzeuge
von &os;. Es bietet viele Funktionen, um den Umgang mit
Binärpaketen schneller und einfacher zu gestalten.
<application>pkgng</application> wurde erstmalig
im August 2012 veröffentlicht.</para>
<para><application>pkgng</application> ist der Nachfolger für die
traditionellen Paketverwaltungswerkzeuge von &os;. Es bietet
viele Funktionen, die den Umgang mit Binärpaketen schneller und
einfacher machen.</para>
<para><application>pkgng</application> ist kein Ersatz für die
Portverwaltungswerkzeuge wie
<package>ports-mgmt/portmaster</package> oder
<package>ports-mgmt/portupgrade</package>. Während
<package>ports-mgmt/portmaster</package> und
<package>ports-mgmt/portupgrade</package> Drittanbieter-Software
sowohl aus Binärpaketen als auch aus den Ports installieren
kann, so installiert <application>pkgng</application>
ausschließlich Binärpakete.</para>
<package>ports-mgmt/portupgrade</package>. Während diese
Werkzeuge Drittanbieter-Software sowohl aus Binärpaketen als
auch aus der Ports-Sammlung installieren können, so installiert
<application>pkgng</application> ausschließlich
Binärpakete.</para>
<sect2 xml:id="pkgng-initial-setup">
<title>Erste Schritte mit
<application>pkgng</application></title>
<para>&os;&nbsp;9.1 und nachfolgende Versionen enthalten ein
&quot;Bootstrap&quot;-Programm für
<application>pkgng</application>. Das Bootstrap-Programm
lädt und installiert <application>pkgng</application>.</para>
Bootstrap-Programm, welches <application>pkgng</application>
zusammen mit den Manualpages installiert.</para>
<para>Um das Bootstrap Programm zu starten, geben Sie folgendes
ein:</para>
@ -626,8 +622,8 @@ docbook =
<application>pkgng</application> zunächst aus der
Ports-Sammlung oder als Paket installiert werden.</para>
<para>Um <application>pkgng</application> aus den Ports zu
installieren, geben Sie folgendes ein:</para>
<para>Um den Port zu installieren, geben Sie folgendes
ein:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/pkg</userinput>
&prompt.root; <userinput>make</userinput>
@ -638,11 +634,10 @@ docbook =
<screen>&prompt.root; <userinput>pkg_add -r pkg</userinput></screen>
<para>Bestehende &os; Installationen benötigen eine
Konvertierung der
<application>pkg_install</application>-Paketdatenbank in das
neue Format. Um die Paketdatenbank zu konvertieren, geben Sie
folgendes ein:</para>
<para>Sobald <application>pkgng</application> installiert ist,
muss die Paketdatenbank mit dem folgenden Befehl vom
traditionellen Format in das neue Format konvertiert
werden:</para>
<screen>&prompt.root; <userinput>pkg2ng</userinput></screen>
@ -654,7 +649,7 @@ docbook =
<para>Die Konvertierung ist unwiderruflich. Sobald die
Paketdatenbank in das Format von
<application>pkgng</application> umgewandelt wurde, sollten
die traditionellen <application>pkg_install</application>
die traditionellen <application>pkg_*</application>
Werkzeuge nicht mehr benutzt werden.</para>
</important>
@ -671,17 +666,12 @@ docbook =
<para>Um sicherzustellen, dass die &os; Ports-Sammlung neue
Pakete mit <application>pkgng</application> und nicht mit
<application>pkg_install</application> registriert, muss in
den traditionellen Formaten registriert, muss in
&os;&nbsp;10.<replaceable>X</replaceable> und früheren
Versionen folgende Zeile in
<filename>/etc/make.conf</filename> hinzugefügt werden:</para>
<programlisting>WITH_PKGNG= yes</programlisting>
</sect2>
<sect2 xml:id="pkgng-pkg-conf">
<title>Konfiguration der <application>pkgng</application>
Umgebung</title>
<para>Das <application>pkgng</application>
Paketverwaltungssystem benutzt für die meisten Operationen ein
@ -693,15 +683,10 @@ docbook =
<para>Weitere Konfigurationsoptionen für
<application>pkgng</application> sind in &man.pkg.conf.5;
beschrieben.</para>
</sect2>
<sect2 xml:id="pkgng-basic-usage">
<title>Grundlegende Bedienung von
<application>pkgng</application></title>
<para>Informationen zur Bedienung von
<application>pkgng</application> ist in der Manualpage
&man.pkg.8; verfügbar. Alternativ kann <command>pkg</command>
<application>pkgng</application> ist in &man.pkg.8; verfügbar.
Alternativ kann <command>pkg</command>
ohne zusätzliche Argumente aufgerufen werden.</para>
<para>Jedes Argument von <application>pkgng</application> ist in
@ -714,100 +699,93 @@ docbook =
<screen>&prompt.root; <userinput>man pkg-install</userinput></screen>
<sect3 xml:id="pkgng-pkg-info">
<title>Mit <application>pkgng</application> Informationen über
installierte Pakete anzeigen</title>
<para>Der Rest dieses Abschnitts beschreibt die typischen
Verwaltungsaufgaben für Binärpakete, die mit
<application>pkgng</application> 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.</para>
</sect2>
<sect2 xml:id="pkgng-pkg-info">
<title>Informationen über installierte Pakete anzeigen</title>
<para>Informationen über bereits installierte Pakete können
mit <command>pkg info</command> angezeigt werden. Dabei
wird die Version und die Beschreibung aller Pakete
ausgegeben.</para>
<para>Informationen zu einem bestimmten Paket können wie folgt
angezeigt werden:</para>
<screen>&prompt.root; <userinput>pkg info <replaceable>paketname</replaceable></userinput></screen>
wird, wenn keine weiteren Optionen angegeben werden, die
Version und die Beschreibung aller Pakete oder eines
einzelnen Pakets ausgegeben.</para>
<para>Um zu ermitteln welche Version von
<application>pkgng</application> installiert ist, geben Sie
folgendes ein:</para>
<screen>&prompt.root; <userinput>pkg info pkg</userinput>
pkg-1.0.2 New generation package manager</screen>
</sect3>
pkg-1.1.4_1</screen>
</sect2>
<sect3 xml:id="pkgng-installing-deinstalling">
<title>Installation und Deinstallation von Paketen mit
<application>pkgng</application></title>
<sect2 xml:id="pkgng-installing-deinstalling">
<title>Installation und Deinstallation von Paketen</title>
<para>In der Regel werden Benutzer von &os; Binärpakete wie
folgt installieren:</para>
<para>Ein Binärpaket installieren Sie mit dem folgenden
Befehl, wobei <replaceable>paketname</replaceable> der Name
des zu installierenden Pakets ist:</para>
<screen>&prompt.root; <userinput>pkg install <replaceable>paketname</replaceable></userinput></screen>
<para><command>pkg install</command> benutzt das in
<xref linkend="pkgng-pkg-conf"/> erwähnte Repository.
Im Gegensatz dazu benutzt &man.pkg-add.8; kein Repository,
oder eine definierte <envar>PACKAGESITE</envar>, so dass
Abhängigkeiten nicht ordnungsgemäß aufgelöst und fehlende
Abhängigkeiten nicht von entfernten Systemen
heruntergeladen werden. Dieser Abschnitt beschreibt die
Bedienung von <command>pkg install</command>. Informationen
zur Bedienung von <command>pkg add</command> finden Sie in
&man.pkg-add.8;.</para>
<para>Zusätzliche Binärpakete können mit
<command>pkg intall</command> installiert werden. Um
beispielsweise <application>curl</application> zu
installieren:</para>
<para>Dieser Befehl verwendet Daten aus dem Repository um zu
bestimmen, welche Version der Software und welche
Abhängigkeiten installiert werden müssen. Um beispielsweise
<application>curl</application> zu installieren:</para>
<screen>&prompt.root; <userinput>pkg install curl</userinput>
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
The following packages will be installed:
/usr/local/tmp/All/curl-7.31.0_1.txz 100% of 1181 kB 1380 kBps 00m01s
Installing ca_root_nss: 3.13.5
Installing curl: 7.24.0
/usr/local/tmp/All/ca_root_nss-3.15.1_1.txz 100% of 288 kB 1700 kBps 00m00s
The installation will require 4 MB more space
Updating repository catalogue
The following 2 packages will be installed:
1 MB to be downloaded
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]: <userinput>y</userinput>
ca_root_nss-3.13.5.txz 100% 255KB 255.1KB/s 255.1KB/s 00:00
curl-7.24.0.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00
Checking integrity... done
Installing ca_root_nss-3.13.5... done
Installing curl-7.24.0... done</screen>
[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</screen>
<para>Das neue Paket und jedes weitere Paket, das als
Abhängigkeit installiert wurde, ist in der Liste der
installierten Pakete zu sehen:</para>
<screen>&prompt.root; <userinput>pkg info</userinput>
ca_root_nss-3.13.5 The root certificate bundle from the Mozilla Project
curl-7.24.0 Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers
pkg-1.0.2 New generation package manager</screen>
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</screen>
<para>Wird ein Paket nicht mehr benötigt, kann es mit
<command>pkg delete</command> entfernt werden. Wenn
beispielsweise <application>curl</application> nicht mehr
benötigt wird:</para>
<command>pkg delete</command> entfernt werden. Zum
Beispiel:</para>
<screen>&prompt.root; <userinput>pkg delete curl</userinput>
The following packages will be deleted:
curl-7.24.0_1
curl-7.31.0_1
The deletion will free 3 MB
Proceed with deleting packages [y/N]: <userinput>y</userinput>
Deleting curl-7.24.0_1... done</screen>
</sect3>
[1/1] Deleting curl-7.31.0_1... done</screen>
</sect2>
<sect3 xml:id="pkgng-upgrading">
<title>Installierte Pakete mit
<application>pkgng</application> aktualisieren</title>
<sect2 xml:id="pkgng-upgrading">
<title>Installierte Pakete aktualisieren</title>
<para>Pakete die nicht mehr aktuell sind, können mit
<command>pkg version</command> gefunden werden.
@ -816,98 +794,72 @@ Deleting curl-7.24.0_1... done</screen>
installiert ist. Ansonsten wird dazu das entfernte
Repository benutzt.</para>
<para>Pakete können mit <application>pkgng</application> auf
neue Versionen aktualisiert werden. Wenn eine neue Version
von <application>curl</application> veröffentlicht wurde,
kann das lokale Paket auf die neue Version aktualisiert
werden:</para>
<para>Installierte Pakete können mit
<command>pkg upgrade</command> 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 <userinput>y</userinput> ein, um die
Aktualisierung durchzuführen, oder <userinput>n</userinput>,
um die Aktualisierung abzubrechen.</para>
</sect2>
<screen>&prompt.root; <userinput>pkg upgrade</userinput>
Updating repository catalogue
repo.txz 100% 297KB 296KB/s 296KB/s 00:00
The following packages will be upgraded:
Upgrading curl: 7.24.0 -> 7.24.0_1
1 MB to be downloaded
Proceed with upgrading packages [y/N]: <userinput>y</userinput>
curl-7.24.0_1.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00
Checking integrity... done
Upgrading curl from 7.24.0 to 7.24.0_1... done</screen>
</sect3>
<sect3 xml:id="pkgng-auditing">
<title>Installierte Pakete mit
<application>pkgng</application> auditieren</title>
<sect2 xml:id="pkgng-auditing">
<title>Installierte Pakete auditieren</title>
<para>Gelegentlich werden Sicherheitslücken in einer
Software innerhalb der Ports-Sammlung entdeckt.
<application>pkgng</application> besitzt ein eingebautes
Auditing, was mit dem Paket
<package>ports-mgmt/portaudit</package> vergleichbar ist.
Um die auf dem System installierte Software zu prüfen, geben
Sie folgenden Befehl ein:</para>
Drittanbieter-Software entdeckt.
<application>pkgng</application> besitzt einen eingebauten
Auditing-Mechanismus. Um die auf dem System installierte
Software auf Sicherheitslücken zu prüfen, geben Sie
folgenden Befehl ein:</para>
<screen>&prompt.root; <userinput>pkg audit -F</userinput></screen>
</sect3>
</sect2>
<sect2 xml:id="pkgng-advanced-usage">
<title>Fortgeschrittene Arbeiten mit
<application>pkgng</application></title>
<sect3 xml:id="pkgng-autoremove">
<sect2 xml:id="pkgng-autoremove">
<title>Automatisches Entfernen von nicht mehr benötigten
Abhängigkeiten mit <application>pkgng</application></title>
Abhängigkeiten</title>
<para>Das Entfernen eines Pakets kann möglicherweise unnötige
Abhängigkeiten hinterlassen, wie im obigen Beispiel
<package>ca_root_nss</package>. Solche Pakete sind zwar
noch installiert, aber keine weiteren Pakete hängen mehr von
ihnen ab. Unnötige Pakete, die als Abhängigkeit von anderen
<para>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:</para>
<screen>&prompt.root; <userinput>pkg autoremove</userinput>
Packages to be removed:
ca_root_nss-3.15.5
ca_root_nss-3.15.1_1
The autoremoval will free 723 kB
Proceed with autoremoval of packages [y/N]: <userinput>y</userinput>
Deinstalling ca_root_nss-3.13.5... done</screen>
</sect3>
Deinstalling ca_root_nss-3.15.1_1... done</screen>
</sect2>
<sect3 xml:id="pkgng-backup">
<title>Sicherung der <application>pkgng</application>
Datenbank</title>
<sect2 xml:id="pkgng-backup">
<title>Sicherung der Paketdatenbank</title>
<para>Im Gegensatz zum alten Paketverwaltungssystem beinhaltet
<application>pkgng</application> einen eigenen Mechanismus
zur Sicherung der Paketdatenbank. Um den Inhalt der
Datenbank manuell zu sichern, geben Sie folgendes
ein:</para>
Paketdatenbank manuell zu sichern, geben Sie folgendes
ein, und ersetzen Sie <replaceable>pkgng.db</replaceable>
durch einen geeigneten Namen:</para>
<screen>&prompt.root; <userinput>pkg backup -d <replaceable>pkgng.db</replaceable></userinput></screen>
<note>
<para>Ersetzen Sie den Dateinamen
<replaceable>pkgng.db</replaceable> durch einen geeigneten
Dateinamen.</para>
</note>
<para>Zusätzlich verfügt <application>pkgng</application> über
ein &man.periodic.8;-Skript, das automatisch eine tägliche
Sicherung der Paketdatenbank erstellt, wenn in
&man.periodic.conf.5;
Sicherung der Paketdatenbank erstellt. Diese Funktionalität
kann aktiviert werden, indem in &man.periodic.conf.5;
<literal>daily_backup_pkgng_enable</literal> auf
<literal>YES</literal> gesetzt ist.</para>
<tip>
<para>Um <application>pkg_install</application> daran zu
hindern, ebenfalls eine Sicherung der Paketdatenbank zu
erstellen, muss in &man.periodic.conf.5;
<para>Um das Skript daran zu hindern, eine Sicherung der
Paketdatenbank zu erstellen, muss in &man.periodic.conf.5;
<literal>daily_backup_pkgdb_enable</literal> auf
<literal>NO</literal> gesetzt werden.</para>
</tip>
@ -916,11 +868,10 @@ Deinstalling ca_root_nss-3.13.5... done</screen>
wiederherzustellen, geben Sie folgendes ein:</para>
<screen>&prompt.root; <userinput>pkg backup -r <replaceable>/path/to/pkgng.db</replaceable></userinput></screen>
</sect3>
</sect2>
<sect3 xml:id="pkgng-clean">
<title>Alte Pakete mit <application>pkgng</application>
entfernen</title>
<sect2 xml:id="pkgng-clean">
<title>Alte Pakete entfernen</title>
<para>Standardmäßig speichert <application>pkgng</application>
Pakete in einem Cache-Verzeichnis, welches in
@ -934,33 +885,19 @@ Deinstalling ca_root_nss-3.13.5... done</screen>
ein:</para>
<screen>&prompt.root; <userinput>pkg clean</userinput></screen>
</sect3>
</sect2>
<sect3 xml:id="pkgng-set">
<title>Manipulation der <application>pkgng</application> Paket
Metadaten</title>
<sect2 xml:id="pkgng-set">
<title>Manipulation der Paket-Metadaten</title>
<para>Bei Software aus der &os; Ports-Sammlung kann es
vorkommen, dass die Hauptversionsnummer geändert wird. Im
Gegensatz zu <application>pkg_install</application> hat
<application>pkgng</application> ein eingebautes Kommando,
um die Quelle eines Pakets zu aktualisieren. Wenn zum
Beispiel <package>lang/php5</package> ursprünglich die
Version <literal>5.3</literal> hatte, nun aber in
<package>lang/php53</package> umbenannt wurde, um die
Version <literal>5.4</literal> zu integrieren, dann hätte
<application>pkg_install</application> zusätzliche Software,
wie beispielsweise <package>ports-mgmt/portmaster</package>
benötigt, um die Quelle des Pakets in der Paketdatenbank
zu aktualisieren.</para>
<para>Bei <package>ports-mgmt/portmaster</package> und
<package>ports-mgmt/portupgrade</package> unterscheidet sich
die Ausgabe bei der Auflistung von neuen und alten
Versionen. Für <application>pkgng</application> lautet die
Syntax:</para>
<screen>&prompt.root; <userinput>pkg set -o <replaceable>category/oldport</replaceable>:<replaceable>category/newport</replaceable></userinput></screen>
vorkommen, dass die Hauptversionsnummer geändert wird.
Dafür hat <application>pkgng</application> ein eingebautes
Kommando, um die Quelle eines Pakets zu aktualisieren. Dies
ist nützlich, wenn zum Beispiel <package>lang/php5</package>
zu <package>lang/php53</package> umbenannt wurde, damit
<package>lang/php5</package> jetzt die Version
<literal>5.4</literal> integrieren kann.</para>
<para>Um die Quelle des Pakets für das obige Beispiel zu
ändern, geben Sie folgendes ein:</para>
@ -982,16 +919,14 @@ Deinstalling ca_root_nss-3.13.5... done</screen>
<screen>&prompt.root; <userinput>pkg set -o graphics/libglut:graphics/freeglut</userinput></screen>
<note>
<para>Bei dem Wechsel einer Paketquelle ist es in den
meisten Fällen notwendig, die Pakete neu zu installieren,
welche von dem Paket abhängig sind, welches seine
Paketquelle geändert hat. Um eine Neuinstallation von
abhängigen Paketen zu erzwingen, führen Sie folgenden
Befehl aus:</para>
<para>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:</para>
<screen>&prompt.root; <userinput>pkg install -Rf <replaceable>graphics/freeglut</replaceable></userinput></screen>
</note>
</sect3>
</sect2>
</sect1>