TazPkg — SliTaz-Paketverwaltung.
tazpkg [command] [options...]
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.
TazPkg verwendet die folgenden Umgebungsvariablen:
Standardmäßig befindet sich die Paket-Datenbank im Verzeichnis /var/lib/tazpkg.
date -d@timestamp
)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:
Standardmäßig werden Pakete im Verzeichnis /var/cache/tazpkg mit Unterverzeichnissen für die
verschiedenen Depots zwischengespeichert.
In der Datei mit Standardnamen /var/log/slitaz/tazpkg.log protokolliert TazPkg seine Aktivitäten.
Gemeinsame MIME-Informationen, die das “Vermuten” von SliTaz-Paketdateien, Paket-Rezepten und
SliTaz-Varianten-Dateien ermöglichen.
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.
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.
Die vollständige Liste der TazPkg-Kommandos mit einer Kurzbeschreibung ausgeben.
$ tazpkg usage
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
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
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
*.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
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
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
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
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
ein Paket über seinen Namen oder ein Muster suchen (search oder -s). Es wird nach Paketen gesucht, deren Name die angegebene Zeichenfolge enthält, und zwar unter den installierten Paketen (-i oder --installed) und in der Liste der Pakete eines Depots (-l oder --list).
Um eine aktuelle Liste der installierbaren Pakete eines Depots zu erhalten, ist tazpkg
recharge
vor der Suche auszuführen.
$ tazpkg search gcc $ tazpkg search mt -i $ tazpkg search bit -l
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
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
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
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
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
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
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
Die Nachinstallationsprozedur des Pakets wird erneut zum Ablauf gebracht.
# tazpkg reconfigure gcc # tazpkg reconfigure gcc --root=/mnt/sda6
Mit diesem Kommando wird die Installation eines Paketes ermöglicht, das bereits auf einem anderen Datenträger installiert ist. Dazu werden symbolische Verknüpfungen (von Dateinamen) verwendet, so dass sehr wenig Speicher benötigt wird. Dieses Verfahren wird generell von einem System im Arbeitsspeicher zur Installation von Zusatz-Produkten von USB-Speichermedien verwendet.
# tazpkg link openoffice /media/usbdisk
Mit diesem Kommando wird der Freigabestand aktualisiert und alle Pakete werden auf den neuesten Stand gebracht.
# tazpkg set-release cooking
Installation aller Pakete einer SliTaz-Variante. Darüberhinaus deinstalliert install-flavor alle anderen installierten Pakete.
# tazpkg add-flavor gtkonly # tazpkg install-flavor justx
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
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
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
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
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
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
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
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
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
Ein Paket aus den Dateien eines installierten Paketes packen.
# tazpkg repack package
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
Ein .tazpkg-Paket (cpio-Archiv) erneut mittels lzma mit einer höheren Kompressionsrate packen.
# tazpkg recompress package.tazpkg
Ein Fremdpaket in ein SliTaz-Paket (tazpkg-Format) umsetzen (convert oder -c).
Die unterstützten Fremdpaketformate sind:
# tazpkg convert alien-package-file
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
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
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
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
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
Inoffizielle Depots auflisten. Mit der Option --box wird die Liste tabellarisch ausgegeben.
$ tazpkg list-undigest $ tazpkg list-undigest --box
Den URL eines inoffiziellen Depots entfernen. Es wird nach einer Bestätigung gefragt.
# tazpkg remove-undigest my-repository
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
Christophe Lincoln <pankso at slitaz.org>
Deutsche Übersetzung erstellt 2016-09-05.
Deutsche Übersetzung überarbeitet 2017-01-03.