TazPkg-Handbuch

Name

TazPkg — SliTaz-Paketverwaltung.

Syntax
tazpkg [command] [options...]
Beschreibung

TazPkg ist eine ressourcenschonende Paketverwaltung zur Installation, zum Auflisten, Transferieren, Aktualisieren oder Entfernen von Paketen in einem GNU/Linux-System. TazPkg bietet auch Kommandos zum Suchen und Erzeugen von Paketen und wurde unabhängig für die Anforderungen von SliTaz entwickelt. Pakete mit der Endung .tazpkg sind cpio-Archive, die ein mit lzms komprimiertes Dateisystem enthalten, ein Rezept und optional eine Beschreibung. TazPkg verwaltet auch Abhängigkeiten basierend auf Paket-Rezepten. Jedes Rezept enthält alle Informationen über ein Paket und kann Vor- und Nach-Installationsprozeduren enthalten. Dasselbe Rezept wird von Cookutils verwendet, um Quellprogramme zu übersetzen und ein .tazpkg-Paket zu erzeugen.

TazPkg ist von Grund auf als "bash"-kompatible Kommandoprozedur ("shell script") erstellt worden; diese läuft unter "Ash" — einem Teil des "Busybox"-Projekts. TazPkg wird unter der freien GNU-Lizenz GPL V3 verbreitet.

Umgebung

TazPkg verwendet die folgenden Umgebungsvariablen:

Dateien
Konfigurationsdateien
Dateien der Paket-Datenbank

Standardmäßig befindet sich die Paket-Datenbank im Verzeichnis /var/lib/tazpkg.

Alle obsoleten Dateien werden gelöscht werden, wenn sichergestellt ist, dass sie von keinem Programm mehr benutzt werden.

Zusätzlich zu den oben genannten gemeinsamen Paket-Datenbankdateien gibt es auch individuelle Verzeichnisse für jedes installierte Paket, die standardmäßig /var/lib/tazpkg/installed/package heissen. Jedes dieser Verzeichnisse kann die folgenden Dateien enthalten:

Zwischenspeicher

Standardmäßig werden Pakete im Verzeichnis /var/cache/tazpkg mit Unterverzeichnissen für die verschiedenen Depots zwischengespeichert. Für die cooking-basierte SliTaz-Version ist dies das Verzeichnis /var/cache/tazpkg/cooking/packages.

Verschiedene Dateien

In der Datei mit Standardnamen /var/log/slitaz/tazpkg.log protokolliert TazPkg seine Aktivitäten. Es werden fünf Typen von Aktionen protokolliert: Installation, Deinstallation, Blockierung, Entblockierung und Rekonfiguration von Paketen.

Gemeinsame MIME-Informationen, die das “Vermuten” von SliTaz-Paketdateien, Paket-Rezepten und SliTaz-Varianten-Dateien ermöglichen. Diese Datei heißt: /usr/share/mime/packages/tazpkg.xml.

Das Zusatzprogram ("plug-in") für TazPanel (SliTaz-Verwaltungs- und -konfigurations-Oberfläche) /var/www/tazpanel/pkgs.cgi ermöglicht die Verwaltung von SliTaz-Paketen in der "web"-Anwendung.

Die Dokumentation von TazPkg befindet sich im Verzeichnis /usr/share/doc/tazpkg.

Kommandos

Der erste Parameter von tazpkg ist ein Kommando, dem weitere im folgenden beschriebene Parameter folgen können. Optionen haben zwei Bindestriche am Anfang und können in beliebiger Reihenfolge und an jeder Stelle stehen, sogar vor dem Kommando. Unbekannte und unpassende Optionen werden ignoriert. Die folgenden Kommandos sind gleichwertig:

$ tazpkg info nano --root=/mnt/sda6
$ tazpkg --root=/mnt/sda6 info nano
$ tazpkg info --root=/mnt/sda6 nano --color

Die globale Option --root=… kann in jedem TazPkg-Kommando angegeben werden. Diese Option ermöglicht das Operieren auf anderen SliTaz-Installationen, indem sie auf die Wurzel eines eingehängten Dateisystems einer anderen SliTaz-Installation zeigt. Diese Option ermöglicht insbesondere die Installation von SliTaz in einem anderen, leeren Dateisystem und das Aktualisieren von SliTaz-Paketen auf einem fernen System.

Service-Kommandos
Listen erstellen
Suchen
Installion und Deinstallation von Paketen
Verwaltung von Paketen
Verwaltung von Depots
Ausführliche Beschreibung der Kommandos
Service Kommandos

usage

Die vollständige Liste der TazPkg-Kommandos mit einer Kurzbeschreibung ausgeben.

$ tazpkg usage

help

Anwendungshilfe für das angegebene Kommando ausgeben (help oder -h). Es kann ein Kurzname des Kommandos, der vollständige Kommandoname oder ein Teil davon angegeben werden. Bindestriche am Anfang des Kurznamens brauchen nicht eingegeben zu werden. Wenn der eingegebene Teil eines vollständigen Kommandonamens auf mehrere Kommandos passt, wird nachgefragt.

$ tazpkg help -gi
$ tazpkg -h us

activity

TazPkg-Ablaufprotokoll ausgeben (activity oder log oder -a). Mit dem optionalen Parameter --nb= kann die Anzahl der anzuzeigenden Zeilen festgelegt werden.

$ tazpkg activity
$ tazpkg -a --nb=20

clean-cache

TazPkg-Pakete im Zwischenspeicher löschen (clean-cache oder -cc). Bei der Installation hält TazPkg Kopien der über das Netzwerk transferierten Pakete im Zwischenspeicher, damit im Fall einer erneuten Installation des Paketes keine Netzlast erzeugt wird. Wenn dieser Speicherplatz freigegeben werden oder die Pakete erneut transferiert werden sollen, kann dieses Kommando verwendet werden.

# tazpkg clean-cache
# tazpkg -cc

list-cache

*.tazpkg-Pakete im Zwischenspeicher auflisten. Es wird eine Liste von Dateinamen und -größen ausgegeben, wie auch die Gesamtzahl und -größe.

# tazpkg list-cache

shell

Den interaktiven TazPkg-Kommandointerpreter starten. Damit können alle oben angeführten TazPkg-Kommandos eingegeben werden. Darüberhinaus kann auch das Kommando su eingegeben werden.

$ tazpkg shell
# tazpkg shell
Listen erstellen

list

Im System installierte Pakete auflisten (list oder -l). Es wird eine Liste aller installierten Pakete ausgegeben. Es ist auch möglich, eine Liste der Kategorien (c oder cat oder categories), von Paketen einer Kategorie und von blockierten Paketen (b oder blocked) auszugeben. Sollen Pakete mit einem bestimmen Namen(smuster) ausgegeben werden, so kann das Kommando search verwendet werden.

$ tazpkg list
$ tazpkg list cat
$ tazpkg list games
$ tazpkg list blocked

list-mirror

Alle in einem Depot enthaltenen Pakete auflisten (list-mirror oder -lm). Es wird eine vom Depot neu transferierte Liste der Pakete (packages.list) ausgegeben. Existiert diese nicht, werden Sie aufgefordert, als Administrator (root) mit tazpkg recharge eine neue Liste zu transferieren. Mit der Option --diff können die Unterschiede zwischen der vorherigen und der aktuellen Liste der Pakete angezeigt werden.

$ tazpkg list-mirror
$ tazpkg -lm --diff

list-config

Die System-Konfigurationsdateien auflisten. Die Option --box bewirkt die Ausgabe in Tabellenform. Wird ein Paketname angegeben, werden nur die Konfigurationsdateien dieses Paketes aufgelistet.

$ tazpkg list-config
$ tazpkg list-config --box
$ tazpkg list-config slim
$ tazpkg list-config slim --box
Suchen

search-pkgname

In einem Depot nach einem Paket suchen, das eine bestimmte Datei enthält (search-pkgname oder -sp).

$ tazpkg search-pkgname libnss
$ tazpkg -sp /usr/share/fonts

search-file

In allen installierten Paketen nach einer Datei suchen (search-file oder -sf). Dieses Kommando ist sehr hilfreich um den vollständigen Pfadnamen einer Datei zu finden und festzustellen, ob eine Datei im System vorhanden ist. Die Option --mirror ermöglicht die Suche nach einer Datei in einem Depot.

$ tazpkg search-file libnss
$ tazpkg -sf /usr/share/fonts --mirror
Installation und Deinstallation von Paketen

get

Pakete von einem Depot transferieren (get oder -g). Die Pakete werden in das aktuelle Verzeichnis transferiert. Wenn mit dem Namen kein offizielles Paket gefunden wird, wird ein Paket mit dem Präfix get- oder ein Extra-Paket (in dieser Reihenfolge) gesucht und transferiert. Die Option --extra bewirkt, dass nur ein Extra-Paket transferiert wird.

Es können auch mehrere Paketnamen im tazpkg-Kommando angegeben werden oder (mit der Option --list) eine Datei, die eine Liste von Paketnamen enthält. Alternativ kann das Kommando get-list verwendet werden.

# tazpkg get grub
# tazpkg get nano --root=/mnt/sda6
# tazpkg get palemoon --extra
# tazpkg -g nano mc
# tazpkg -g --list=/tmp/office

install

Mit diesem Kommando können Pakete aus lokalen Dateien mit der Endung .tazpkg installiert werden (install oder -i).

Mit der Option --forced kann ein bereits installiertes Paket aktualisiert werden. Mit der Option --newconf können alle Konfigurationsdateien aus den Konfigurationsdateien des Paketes neu erstellt werden. Mit der Option --nodeps ist es möglich, nur das angegebene Paket ohne Berücksichtigung von Abhängigkeiten zu installieren.

Mit der Option --local bevorzugt TazPkg bei der Installation von Paketen zur Auflösung von Abhängigkeiten Pakete aus lokalen Dateien (d.h. Pakete aus demselben Verzeichnis wie das zu installierende Paket) gegenüber Paketen aus dem Zwischenspeicher oder einem Depot. Dies ermöglicht es, eine Anzahl bereits lokal gespeicherter Pakete mitsamt der Pakete, von denen sie abhängen, zu installieren, ohne dass dabei eine Netzwerk-Verbindung benötigt wird.

Es können mehrere Paketnamen im tazpkg-Kommando angegeben werden oder (mit der Option --list) eine Datei, die eine Liste von Paketnamen enthält. Alternativ kann das Kommando install-list verwendet werden.

Wie ein Paket über das Netzwerk installiert wird, ist bei get-install beschrieben.

# tazpkg install package-1.0.tazpkg
# tazpkg -i path/to/package-1.0.tazpkg --forced
# tazpkg -i path/to/package-1.0.tazpkg --root=/mnt/rootfs
# tazpkg -i nano-2.4.0.tazpkg mc-4.8.14.tazpkg
# tazpkg -i --list=/tmp/development
# cd /home/boot/packages; tazpkg -i nano-2.4.0.tazpkg --local

get-install

Pakete aus einem Depot über das Netzwerk transferieren und installieren (get-install oder -gi). Zunächst wird geprüft, ob das Paket in dem Depot vorhanden ist und ob es bereits transferiert wurde.

Mit der Option --forced kann ein bereits installiertes Paket aktualisiert werden. Mit der Option --newconf können alle Konfigurationsdateien aus den Konfigurationsdateien des Paketes neu erstellt werden. Mit der Option --nodeps ist es möglich, nur das angegebene Paket ohne Berücksichtigung von Abhängigkeiten zu installieren.

Es können mehrere Paketnamen angegeben werden oder (mit der Option --list) eine Datei, die eine Liste von Paketnamen enthält. Alternativ kann das Kommando get-install-list verwendet werden.

Um eine Liste der Pakete im Depot zu erhalten, kann das Kommando list-mirror verwendet werden.

# tazpkg get-install grub
# tazpkg -gi grub --forced
# tazpkg -gi nano --root=/mnt/sda6
# tazpkg -gi nano mc
# tazpkg -gi --list=/tmp/multimedia

get-list, install-list, get-install-list

Pakete aus einem Depot transferieren oder installieren, deren Namen in einer Datei enthalten sind. Damit ist es möglich, mehrere Pakete mit einem einzigen Kommando zu bearbeiten.

Die Optionen sind dieselben wie bei den entsprechenden einfachen Kommandos: get, install und get-install.

# tazpkg install-list my-packages.list
# tazpkg get-install-list my-packages.list --forced

remove

Ein Paket deinstallieren (remove oder -r). Es wird nach einer Bestätigung gefragt (j/N) für die Deinstallation sowohl des Paketes als auch von Paketen, die von diesem Paket abhängen und für die Reinstallation von Paketen, die von diesem Paket modifiziert wurden. Mit diesem Kommando werden alle Dateien gelöscht, die mit dem Paket installiert wurden (siehe list-files).

Mit der Option --auto wird bewirkt, dass keine Bestätigung angefordert wird.

# tazpkg remove bc
# tazpkg -r gtk+-3 --root=/mnt/sda6
# tazpkg -r nano --auto

reconfigure

Die Nachinstallationsprozedur des Pakets wird erneut zum Ablauf gebracht.

# tazpkg reconfigure gcc
# tazpkg reconfigure gcc --root=/mnt/sda6

set-release

Mit diesem Kommando wird der Freigabestand aktualisiert und alle Pakete werden auf den neuesten Stand gebracht.

# tazpkg set-release cooking

add-flavor, install-flavor

Installation aller Pakete einer SliTaz-Variante. Darüberhinaus deinstalliert install-flavor alle anderen installierten Pakete.

# tazpkg add-flavor gtkonly
# tazpkg install-flavor justx
Pakete verwalten

info

Alle verfügbaren Informationen über ein Paket ausgeben. Angegeben werden kann der Name eines installierten Paketes oder eines Paketes, das noch nicht installiert, aber im Depot vorhanden ist. Es können auch die Informationen aus einer lokalen Paketdatei angezeigt werden, indem ein absoluter oder relativer Pfadname der .tazpkg-Datei eingegeben wird. Die Informationen werden der TazPkg-Datenbank und dem Paket-Rezept entnommen, welches letztere Version, Kategorie, Betreuer, "website" und alle Abhängigkeiten enthält (siehe auch Cookutils für weitere Informationen über Rezepte).

$ tazpkg info busybox
$ tazpkg info minitube
$ tazpkg info packages/comix-4.0.4.tazpkg

desc

Beschreibung eines Paketes ausgeben (desc oder -d). Es wird der Inhalt der Datei description.txt ausgegeben, die optional für jedes Paket existieren kann.

$ tazpkg desc busybox

list-files

Die Namen der Dateien eines installierten Paketes ausgeben (list-files oder -lf). Mit diesem Kommando wird einfach die Datei files.list gelesen und ausgegeben, die bei der Paketerzeugung automatisch erstellt wird. Diese Datei wird auch verwendet, um die Dateien bei der Deinstallation eines Paketes zu löschen.

$ tazpkg list-files bc

block, unblock, chblock

Mit den Kommandos block (oder -b) bzw. unblock (oder -u) können installierte Paket-Versionen gesperrt werden, so dass sie vom Kommando upgrade übergangen werden bzw. entsperrt werden. Mit dem Kommando chblock kann der Blockierzustand des Paketes invertiert werden. Die Datei /var/lib/tazpkg/blocked-packages.list enthält die Namen der blockierten Pakete. Diese Datei kann auch manuell bearbeitet werden.

# tazpkg block grub
# tazpkg unblock grub
# tazpkg chblock grub

check

Die Abhängigkeiten installierter Pakete prüfen und ob alle Dateien für ein erneutes Packen des Paketes vorhanden sind. Ist kein Paketname angegeben, so werden alle installierten Pakete geprüft. Mit der Option --full werden einige Prüfungen mehr durchgeführt, weshalb auch mehr Zeit benötigt wird.

$ tazpkg check
$ tazpkg check --full
$ tazpkg check nano
$ tazpkg check sakura --full

bugs

Es wird eine Liste bekannter Fehler in einem Paket angezeigt. Ist kein Paketname angegeben, so werden die bekannten Fehler aller Pakete angezeigt.

$ tazpkg bugs
$ tazpkg bugs nano

depends, rdepends

Gibt den Abhängigkeitsbaum, bzw. den umgekehrten Abhängigkeitsbaum eines Paketes aus.

Mit dem Kommando depends wird eine Liste der Pakete ausgegeben, von denen das Paket abhängt, die also nötig sind, damit das Paket funktioniert. Im Kommando depends bewirkt die Option --mark, dass installierte Pakete mit einem Plus-Zeichen und nicht installierte Pakete mit einem Minus-Zeichen markiert werden. Die Option --total bewirkt, dass Anzahl und Größe der Pakete ausgegeben werden. Werden beide Optionen zusammen eingegeben, so werden Anzahl und Größe der Pakete ausgegeben, die zu installieren sind.

Mit dem Kommando rdepends wird eine Liste der Pakete ausgegeben, die von diesem Paket abhängen, die also nur richtig funktionieren, wenn das Paket installiert ist. Wird das Kommando rdepends ohne die Option --all eingegeben, werden nur die installierten Pakete angezeigt, die von dem Paket abhängen, mit dieser Option eine List aller verfügbaren Pakete, die von dem Paket abhängen. Mit der Option --mark werden die Pakete wie beim Kommando depends markiert.

$ tazpkg depends mpd
$ tazpkg rdepends mpd

extract

Ein Paket in ein Verzeichnis mit Namen package-version entpacken (extract oder -e). Wird kein Ziel-Verzeichnis angegeben, wird dieses Unterverzeichnis im aktuellen Verzeichnis angelegt.

$ tazpkg extract package.tazpkg
$ tazpkg extract package.tazpkg target/dir

pack

Ein entpacktes Paket oder ein vorbereitetes Paket aus einem Verzeichnis packen. Es kann manuell ein .tazpkg-Paket erzeugt werden (siehe die Dokumentation Cookutils zur automatischen Paketerzeugung).

# tazpkg pack package-version

repack

Ein Paket aus den Dateien eines installierten Paketes packen.

# tazpkg repack package

repack-config

Ein Paket aus den Konfigurationsdateien des Systems packen (siehe list-config). Zur Wiederherstellung der aktuellen Konfiguration genügt es, dieses Paket zu installieren.

# tazpkg repack-config

recompress

Ein .tazpkg-Paket (cpio-Archiv) erneut mittels lzma mit einer höheren Kompressionsrate packen.

# tazpkg recompress package.tazpkg

convert

Ein Fremdpaket in ein SliTaz-Paket (tazpkg-Format) umsetzen (convert oder -c).

Die unterstützten Fremdpaketformate sind:

# tazpkg convert alien-package-file

list-suggested

Eine Liste vorgeschlagener Pakete für jedes installierte Paket ausgeben. Mit der Option --all werden alle vorgeschlagenen Pakete ausgegeben, ohne nur die nicht installierten vorgeschlagenen Pakete.

$ tazpkg list-suggested
$ tazpkg list-suggested --all
Verwaltung von Depots

recharge

Die Paket-Datenbank aus einem Depot aktualisieren. Zunächst wird die alte Paket-Datenbank gesichert, dann wird die neueste Paket-Datenbank der verfügbaren Pakete vom Depot transferiert. Wenn die Datenbank aktualisiert ist, können die Kommandos list und search verwendet werden. Um Unterschiede zu entdecken, kann list-mirror --diff verwendet werden; zum Ansehen und Aktualisieren von Paketen kann einfach upgrade eingegeben werden.

Ohne weitere Optionen werden die Paket-Datenbanken aller definierten Depots aktualisiert. Es kann auch das Depot angegeben werden, aus dem aktualisiert werden soll: “main” für das Haupt-Depot oder der Name eines inoffiziellen Depots.

# tazpkg recharge
# tazpkg recharge main
# tazpkg recharge My_Undigest
# tazpkg recharge --root=/mnt/sda6

upgrade

Es werden alle installierten Pakete aktualisiert, die in einem Depot enthalten sind (upgrade oder up). Die Aktualisierung von Paketen ist ein wichtiger Beitrag zur Systemsicherheit: mit den neuesten Aktualisierungen und Korrekturen bleibt das System sicher. Das SliTaz-Projekt, auch wenn es klein ist, bietet regelmäßig Sicherheitsaktualisierungen und generell die neuesten Versionen von Software. Diese Funktion ist für Anwender gedacht, die SliTaz auf Platte installiert haben. Im Direktstart-Modus aktualisierte Pakete sind nach Systembeendigung ("shutdown") verloren!

Zunächst wird die Paket-Datenbank automatisch aktualisiert (recharge) um eine aktuelle Liste der Pakete zu erhalten, die aktualisiert werden können.

Ohne Optionen läuft die Aktualisierung im interaktiven Modus und fragt vor der Installation. Mit der Option -c oder --check wird nur nach verfügbaren Aktualisierungen gesucht; mit der Option -i oder --install wird nach verfügbaren Aktualisierungen gesucht und diese werden alle installiert.

# tazpkg upgrade
# tazpkg up --check
# tazpkg up -i

setup-mirror

Die Adresse (URL) eines Depots ändern (setup-mirror oder -sm). Der URL des neuen Depots wird nachgefragt. Es können mehrere URL, durch Leerzeichen getrennt, eingegeben werden. Stattdessen kann auch die Datei /var/lib/tazpkg/mirror direkt geändert werden. Der URL muss die Adresse des Verzeichnisses sein, das die Paketliste packages.info und die Pakete enthält.

# tazpkg setup-mirror

add-undigest, setup-undigest

Den URL eines inoffiziellen Depots hinzufügen, um Pakete zu testen, die noch nicht in einem offiziellen Depot enthalten sind. Stattdessen kann auch die Datei /var/lib/tazpkg/undigest/repository/mirror manuell bearbeitet werden. Der URL muss die Adresse des Verzeichnisses sein, das die Paketliste packages.info und die Pakete enthält.

# tazpkg add-undigest public-repository http://my.home.org/slitaz
# tazpkg setup-undigest local-repository /home/slitaz/packages

list-undigest

Inoffizielle Depots auflisten. Mit der Option --box wird die Liste tabellarisch ausgegeben.

$ tazpkg list-undigest
$ tazpkg list-undigest --box

remove-undigest

Den URL eines inoffiziellen Depots entfernen. Es wird nach einer Bestätigung gefragt.

# tazpkg remove-undigest my-repository

mkdb

Eine TazPkg-Datenbank für ein Verzeichnis mit *.tazpkg-Paketen erzeugen.

Die folgenden Dateien, die die Pakete beschreiben, werden in dem angegebenen Verzeichnis erstellt: packages.info, packages.equiv, descriptions.txt, files.list.lzma, IDs. Wenn die Datenbank bereits existiert, wird nichts geändert; die Neuerstellung der Datenbank-Dateien kann mit der Option --forced bewirkt werden.

# tazpkg mkdb /home/boot/packages
# tazpkg mkdb /home/boot/packages --forced
Betreuer

Christophe Lincoln <pankso at slitaz.org>

Deutsche Übersetzung erstellt 2016-09-05.

Deutsche Übersetzung überarbeitet 2017-01-03.