Update to r40153:
Import pkgng documentation. Reviewed by: bcr
This commit is contained in:
parent
8ab79e4e2b
commit
4c27dd7997
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=47428
1 changed files with 418 additions and 1 deletions
|
@ -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: r40082
|
||||
basiert auf: r40153
|
||||
-->
|
||||
<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>
|
||||
|
@ -645,6 +645,423 @@ docbook =
|
|||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="pkgng-intro">
|
||||
<title>Benutzen von <application>pkgng</application> zur
|
||||
Verwaltung von Binärpaketen</title>
|
||||
|
||||
<para><application>pkgng</application> ist ein verbesserter
|
||||
Ersatz für die traditionellen
|
||||
<application>pkg_install</application> 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 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>
|
||||
|
||||
<sect2 xml:id="pkgng-initial-setup">
|
||||
<title>Erste Schritte mit
|
||||
<application>pkgng</application></title>
|
||||
|
||||
<para>&os; 9.1 und nachfolgende Versionen enthalten ein
|
||||
"Bootstrap"-Programm für
|
||||
<application>pkgng</application>. Das Bootstrap-Programm
|
||||
lädt und installiert <application>pkgng</application>.</para>
|
||||
|
||||
<para>Um das Bootstrap Programm zu starten, geben Sie folgendes
|
||||
ein:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>/usr/sbin/pkg</userinput></screen>
|
||||
|
||||
<para>Für ältere Versionen von &os; muss
|
||||
<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>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/pkg</userinput>
|
||||
&prompt.root; <userinput>make</userinput>
|
||||
&prompt.root; <userinput>make install clean</userinput></screen>
|
||||
|
||||
<para>Um das Paket zu installieren, geben Sie folgendes
|
||||
ein:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg_add -r pkg</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>&os; 7.<replaceable>X</replaceable> und
|
||||
&os; 8.0 enthalten keine Unterstützung für
|
||||
<application>pkgng</application>.</para>
|
||||
</note>
|
||||
|
||||
<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>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg2ng</userinput></screen>
|
||||
|
||||
<para>Auf neu installieren Systemen, auf denen noch keine
|
||||
Software von Drittanbietern installiert wurde, kann dieser
|
||||
Schritt entfallen.</para>
|
||||
|
||||
<important>
|
||||
<para>Die Konvertierung ist unwiderruflich. Sobald die
|
||||
Paketdatenbank in das Format von
|
||||
<application>pkgng</application> umgewandelt wurde, sollten
|
||||
die traditionellen <application>pkg_install</application>
|
||||
Werkzeuge nicht mehr benutzt werden.</para>
|
||||
</important>
|
||||
|
||||
<note>
|
||||
<para>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 <application>pkg2ng</application>
|
||||
fertig ist, wird eine Liste von Drittanbieter-Software
|
||||
ausgegeben, die nicht erfolgreich konvertiert werden konnte.
|
||||
Diese Anwendungen müssen manuell neu installiert
|
||||
werden.</para>
|
||||
</note>
|
||||
|
||||
<para>Um sicherzustellen, dass die &os; Ports-Sammlung neue
|
||||
Pakete mit <application>pkgng</application> und nicht mit
|
||||
<application>pkg_install</application> registriert, muss in
|
||||
&os; 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
|
||||
Paket-Repository. Der Speicherort des Paket-Repositories wird
|
||||
in <filename>/usr/local/etc/pkg.conf</filename> oder der
|
||||
Umgebungsvariablen <envar>PACKAGESITE</envar>
|
||||
definiert.</para>
|
||||
|
||||
<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>
|
||||
ohne zusätzliche Argumente aufgerufen werden.</para>
|
||||
|
||||
<para>Jedes Argument von <application>pkgng</application> ist in
|
||||
seiner spezifischen Manualpage dokumentiert. Um
|
||||
beispielsweise die Manualpage von
|
||||
<command>pkg install</command> zu lesen, geben Sie einen der
|
||||
folgenden Befehle ein:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg help install</userinput></screen>
|
||||
|
||||
<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>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>
|
||||
|
||||
<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>
|
||||
|
||||
<sect3 xml:id="pkgng-installing-deinstalling">
|
||||
<title>Installation und Deinstallation von Paketen mit
|
||||
<application>pkgng</application></title>
|
||||
|
||||
<para>In der Regel werden Benutzer von &os; Binärpakete wie
|
||||
folgt installieren:</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>
|
||||
|
||||
<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:
|
||||
|
||||
Installing ca_root_nss: 3.13.5
|
||||
Installing curl: 7.24.0
|
||||
|
||||
The installation will require 4 MB more space
|
||||
|
||||
1 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>
|
||||
|
||||
<para>Das neue Paket und jedes weitere Paket, das als
|
||||
Abhängigheit 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>
|
||||
|
||||
<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>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg delete curl</userinput>
|
||||
The following packages will be deleted:
|
||||
|
||||
curl-7.24.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>
|
||||
|
||||
<sect3 xml:id="pkgng-upgrading">
|
||||
<title>Installierte Pakete mit
|
||||
<application>pkgng</application> aktualisieren</title>
|
||||
|
||||
<para>Pakete die nicht mehr aktuell sind, können mit
|
||||
<command>pkg version</command> gefunden werden.
|
||||
&man.pkg-version.8; nutzt zur Identifikation der
|
||||
Paketversionen die lokale Ports-Sammlung, falls diese
|
||||
instlliert 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>
|
||||
|
||||
<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>
|
||||
|
||||
<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>
|
||||
|
||||
<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">
|
||||
<title>Automatisches Entfernen von nicht mehr benötigten
|
||||
Abhängigkeiten mit <application>pkgng</application></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
|
||||
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
|
||||
|
||||
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>
|
||||
|
||||
<sect3 xml:id="pkgng-backup">
|
||||
<title>Sicherung der <application>pkgng</application>
|
||||
Datenbank</title>
|
||||
|
||||
<para>Im Gegensatz zum alten
|
||||
<application>pkg_install</application>
|
||||
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>
|
||||
|
||||
<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;
|
||||
<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;
|
||||
<literal>daily_backup_pkgdb_enable</literal> auf
|
||||
<literal>NO</literal> gesetzt werden.</para>
|
||||
</tip>
|
||||
|
||||
<para>Um den Inhalt einer früheren Paketdatenbank
|
||||
wiederherzustellen, geben Sie folgendes ein:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg backup -r <replaceable>/path/to/pkgng.db</replaceable></userinput></screen>
|
||||
</sect3>
|
||||
|
||||
<sect3 xml:id="pkgng-clean">
|
||||
<title>Alte Pakete mit <application>pkgng</application>
|
||||
entfernen</title>
|
||||
|
||||
<para>Standardmäßig speichert <application>pkgng</application>
|
||||
Pakete in einem Cache-Verzeichnis, welches in
|
||||
&man.pkg.conf.5; in der Variablen
|
||||
<envar>PKG_CACHEDIR</envar> definiert wird. Beim Upgrade
|
||||
der Pakete mit <command>pkg upgrade</command>, werden die
|
||||
alten Versionen der Pakete nicht automatisch
|
||||
entfernt.</para>
|
||||
|
||||
<para>Um veraltete Pakete zu entfernen, geben Sie folgendes
|
||||
ein:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg clean</userinput></screen>
|
||||
</sect3>
|
||||
|
||||
<sect3 xml:id="pkgng-set">
|
||||
<title>Manipulation der <application>pkgng</application> 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>
|
||||
|
||||
<para>Um die Quelle des Pakets für das obige Beispiel zu
|
||||
ändern, geben Sie folgendes ein:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg set -o lang/php5:lang/php53</userinput></screen>
|
||||
|
||||
<para>Ein weiteres Beispiel:
|
||||
Um <package>lang/ruby18</package> auf
|
||||
<package>lang/ruby19</package> zu aktualisieren, geben Sie
|
||||
folgendes ein:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg set -o lang/ruby18:lang/ruby19</userinput></screen>
|
||||
|
||||
<para>In diesem letzten Beispiel wird die Quelle der
|
||||
Bibliotheken von <filename>libglut</filename> von
|
||||
<package>graphics/libglut</package> auf
|
||||
<package>graphics/freeglut</package> geändert:</para>
|
||||
|
||||
<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>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg install -Rf <replaceable>graphics/freeglut</replaceable></userinput></screen>
|
||||
</note>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="ports-using">
|
||||
<title>Benutzen der Ports-Sammlung</title>
|
||||
|
||||
|
|
Loading…
Reference in a new issue