Nombre

TazPkg — Pequeño administrador autónomo de paquetes y espejos de paquetes.

Sintaxis

    tazpkg [comando] [parámetros...]

Descripción

TazPkg es un administrador de paquetes ligero para instalar, catalogar, descargar, actualizar o desinstalar paquetes precompilados en un sistema GNU/Linux. TazPkg ofrece comandos para la búsqueda y creación de paquetes y fue creado independientemente para el proyecto. El formato de los paquetes usando la extensión *.tazpkg es un fichero cpio que contiene un sistema de archivos comprimido con lzma, un fichero de recibo y una descripción opcional. TazPkg también administra dependencias basadas en los ficheros de recibo de los paquetes. Cada archivo de recibo contiene toda la información sobre un paquete y también puede incluir funciones para antes y después de la instalación. El mismo fichero de recibo es usado por Cookutils para compilar desde el código fuente y generar un paquete .tazpkg.

TazPkg está construido completamente desde cero usando shell script, compatible con Bash, se ejecuta bajo Ash (que forma parte de BusyBox). TazPkg es distribuido bajo la licencia libre de GNU GPL V3.

Environment

TazPkg uses some environment variables:

- `LANGUAGE`: defines the language of output and user confirmations. Note, `LANG` and `LC_ALL` environment variables also affect output language
- `LC_TIME`: defines the date format in the activity command
- `root`: if defined it points to the root of file system where TazPkg should work. Note, value defined using `--root=` option has precedence over this environment variable

Files
Configuration files

- `/etc/slitaz/slitaz.conf`
- `/etc/slitaz/tazpkg.conf`

Package database files

Default placement of the package database is `/var/lib/tazpkg`.

- `ID` (deprecated): identifier of the current SliTaz repository state. The value changes when new or updated packages appear in the repository.
- `IDs`: identifier of the current SliTaz repository state and the UNIX time stamp. The ID value changes when new or updated packages appear in the repository. Time stamp allows you to track how long a change is made in the repository and to track the freshness of repository mirrors. (To convert UNIX time stamp to the date: `date -d@timestamp`)
- `mirror`: URL of the current repository mirror in use. URL points to the remote folder containing packages and database files.
- `mirrors`: list of URLs of available repository mirrors. Note the difference between URLs from these two files; you should append URL from this file by `packages/cooking/` (for `cooking`-based SliTaz version).
- `packages.list` (deprecated): list of package names with version numbers available in the repository.
- `packages.desc` (deprecated): list contained package name, version, short description, category and upstream URL.
- `packages.txt` (deprecated): list containing package name, version, short description and two package sizes (first — traffic to download package, second — HDD size for installed package).
- `packages.md5` (deprecated): list containing MD5 checksum with package file name.
- `packages.info`: list was built to replace and extend above lists. For every package available in the repository it contains: package name, version, category, short description, upstream URL, tags, package sizes, depends and MD5 checksum. Development continues, and the list can be extended by other fields, if necessary.
- `packages.equiv`: list of equivalent packages available in the repository. Format of the list item: `package=rule rule…`.
  Format of the rule: `alternative:newname` — if `alternative` is installed then `newname` will be installed instead of the `package`.
  In the second format of the rule `alternative:` part is omitted — in this case `newname` can be installed instead of the `package` (in the user choice).
- `packages.diff`: list created when you run `recharge` command. List contains package names with versions of the new packages available in the repository with the last recharge.
- `packages.up`: list created when you run `upgrade` command. List contains package names you can upgrade with the last recharge.
- `descriptions.txt`: list of the “long” descriptions of the all packages available on the repository.
- `packages-desc.language` — optional list of the packages translated short descriptions (see the package tazpkg-desc-ru).
- `descriptions.language.txt` — optional list of the packages translated “long” descriptions (see the package tazpkg-desc-ru).
- `packages.icons` — optional list of the packages icons for TazPanel.
- `blocked-packages.list`: optional list of the packages blocked for update.
- `extra.list`: list of the extra packages (non-free packages; free packages but not compiled from sources). List contains package name, short description, upstream URL, category, version, license.
- `files.list.lzma`: very large compressed list which contains all the files of all the packages available in the repository (nearly 5,000 packages and nearly 0.7 million files now).
- `files-list.md5`: MD5 checksum of the `files.list.lzma`.
- `installed.info`: list of the installed packages with the exact format of the `packages.info` list. Idea is just to copy list item from `packages.info` to the `installed.info` during package installation.
- `installed.md5` (deprecated): list containing MD5 checksum with file names of all installed packages.
- `priority`: optional list of the repositories priority. One repository name per line. Undigest repositories are called by their names and main repository by “main”. If priority list absent, then default priority is: main repository and all existing undigest repositories in the alphabetical order.

All the deprecated files will be deleted after we verify that the programs do not use them (and modify the programs as necessary).

In addition to the common package database files there is also individual folders for all installed packages placed by default in the `/var/lib/tazpkg/installed/package`. Every folder here may contain the following files:

- `receipt` (mandatory) — the package recipe
- `files.list` (mandatory) — list of package files
- `md5sum` (mandatory) — checksums of package files (other checksum files can be specified in the settings: `cksum` (CRC32), `md5sum` (MD5), `sha1sum` (SHA1), `sha256sum` (SHA256), `sha512sum` (SHA512), `sha3sum` (SHA3-512))
- `description.txt` (optional) — “long” description
- `modifiers` (optional) — list of packages that have replaced some of the files of this package
- `volatile.cpio.gz` (optional) — archive of “official” configuration files

Cache

Default placement of the packages cache is `/var/cache/tazpkg` with sub-folders for the different repositories. It is exactly `/var/cache/tazpkg/cooking/packages` for the `cooking`-based SliTaz version.

Misc files

File with default placement `/var/log/slitaz/tazpkg.log` stores TazPkg activity log. Log stores five types of actions: installing, uninstalling, blocking, unblocking, reconfiguring packages.

Shared MIME information which allows to “guess” SliTaz package files, package receipts and SliTaz flavor files. File placed here: `/usr/share/mime/packages/tazpkg.xml`.

Plug-in for the TazPanel (SliTaz administration and configuration panel) `/var/www/tazpanel/pkgs.cgi` allows you to manage SliTaz packages in the web application.

TazPkg documentation is placed in the `/usr/share/doc/tazpkg` folder.

Comandos

The first `tazpkg` parameter is a command followed by other mandatory and optional parameters as will be described hereinafter. Options begin with double dashes, you can arrange them in any order and in any place, even before the command. Unknown and inappropriate options are ignored. The following commands are equivalent:

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

You can add global option `--root=…` to any TazPkg command. This option allows to work with other SliTaz installations. Option points to the root of mounted file system from other SliTaz installation. By the way, using this option allows to install SliTaz to the other file system “from scratch”, and upgrade SliTaz packages remotely.

Service commands

- usage: imprime este uso corto
- help: show help on the TazPkg commands
- activity: show TazPkg activity log
- clean-cache: clean all packages downloaded in cache directory
- list-cache: list all packages downloaded in cache directory
- shell: run interactive TazPkg shell

Working with lists

- list: lista de paquetes instalados en el sistema
- list-mirror: Lista de todos los paquetes disponibles en el espejo
- list-config: lista de archivos de configuración

Search

- search: búsqueda de paquetes por patrón o nombre
- search-pkgname: buscar en el espejo un paquete que tenga un archivo particular
- search-file: búsqueda de archivos en los archivos de todos los paquetes instalados

Installing and removing packages

- get: download a package into the current directory
- install: instala un local paquete
- get-install: download and install a package from the mirror
- install-list: install all packages from a list of packages
- get-install-list: download and install a list of packages from the mirror
- remove: remover los paquetes especificados y todos los archivos instalados
- reconfigure: replay post install script from package
- link: link a package from another SliTaz installation
- set-release: change release and update packages
- add-flavor: install the flavor list of packages
- install-flavor: install the flavor list of packages and remove other ones

Working with packages

- info: imprima información sobre el paquete
- desc: imprima la descripción del paquete
- list-files: lista de archivos instalados con un paquete
- block, unblock: block an installed package version or unblock it for upgrade
- check: verify consistency of installed packages
- bugs: muestra conocidos bugs en paquetes
- depends: display dependencies tree
- rdepends: display reverse dependencies tree
- extract: extrae un (*.tazpkg) paquete en el directorio
- pack: empaquetar una desempaquetado o preparar un árbol de paquetes
- repack: create a package archive from an installed package
- repack-config: create a package archive with configuration files
- recompress: rebuild a package with a better compression ratio
- convert: convert alien package to tazpkg
- list-suggested: print list of suggested packages

Working with repositories

- recharge: recharge your packages database from the mirror
- upgrade: comprobar paquetes md5sum para listar e instalar las últimas mejoras
- setup-mirror: change the mirror URL configuration
- setup-undigest: update an undigest mirror
- list-undigest: list undigest mirrors
- add-undigest: add an undigest mirror
- remove-undigest: remove an undigest mirror

Service commands

### usage

Show the full list of the TazPkg commands with a brief description.

    $ tazpkg usage
    $ tazpkg

### help

Display help for the selected command (`help` or `-h`). You can enter a short name of the command, the full name or a part of the full name. You can ignore hyphens at the beginning of the short name. If the requested part of the full name match the several commands, you will be asked to clarify the request.

    $ tazpkg help -gi
    $ tazpkg -h us

### activity

Display TazPkg activity log (`activity` or `log` or `-a`). Optional parameter `--nb=` lets you set number of displayed lines.

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

### clean-cache

Borra los paquetes *.tazpkg descargados en la cache (`clean-cache` o `-cc`). Durante la instalación, TazPkg guarda una copia de paquetes descargados desde la web. Esto se hace para ahorrar ancho de banda en caso de reinstalación, pero también puedes querer liberar espacio en el disco duro o recargar los paquetes.

    # tazpkg clean-cache
    # tazpkg -cc

### list-cache

List *.tazpkg packages downloaded to the cache. Displays a list of file names and their sizes, as well as the total amount and size.

    # tazpkg list-cache

### shell

Run interactive TazPkg shell. Here you can enter all the TazPkg commands listed above.

    $ tazpkg shell
    # tazpkg shell

Working with lists

### list

Lista los paquetes instalados en el sistema (`list` o `-l`). Este comando muestra la lista de todos los paquetes instalados. También permite mostrar la lista de categorías (`c` o `cat` o `categories`), los paquetes correspondientes a una categoría y los paquetes bloqueados (`b` o `blocked`). Además puedes usar el comando `search` para mostrar una lista basada en un término o en el nombre de un paquete.

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

### list-mirror

Lista los paquetes disponibles en el espejo (`list-mirror` o `-lm`). Este comando mostrara el paquetes lista recargado desde el espejo. Si este no existe, se te requerirá ejecutar `tazpkg recharge` como administrador (root) para ver la lista de paquetes disponibles. La opción `--diff` se usa para mostrar las diferencias entre la ultima lista de paquetes y la actual.

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

### list-config

Lista los archivos de configuración del sistema. La opción `--box` muestra la lista en formato tabla. You can specify package name to display configuration files only for this package.

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

Search

### search

Busca paquetes por propietario o por el nombre del paquete (`search` o `-s`). Este comando buscará el termino requerido en los paquetes instalados (`-i` o `--installed`) y en la lista de paquetes disponibles en el espejo (`-l` o `--list`).

Para obtener la última lista de paquetes instalables en el espejo, solo hay que ejecutar `tazpkg recharge` antes de la realización de la búsqueda.

    $ tazpkg search gcc
    $ tazpkg search mt -i
    $ tazpkg search bit -l

### search-pkgname

Search for a file on mirror and output only the packages names (`search-pkgname` or `-sp`).

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

### search-file

Buscar un archivo entre los archivos instalados por los paquetes (`search-file` o `-sf`). Este comando es muy útil para saber la ruta completa de un archivo y determinar si un archivo esta presente en el sistema. Option `--mirror` allows to search for a file among all the files available on the mirror.

    $ tazpkg search-file libnss
    $ tazpkg -sf /usr/share/fonts --mirror

Installing and removing packages

### get

Descargar un paquete desde el espejo (`get` o `-g`). El paquete descargado es almacenado en el directorio actual. Para encontrar la ruta puedes usar `pwd`.

    # tazpkg get grub
    # tazpkg get nano --root=/mnt/sda6

### install

Este comando te permite instalar un paquete local con la extensión `.tazpkg` (`install` o `-i`). Ver `get-install` para instalar un paquete desde internet. Tenga en cuenta que puede forzar la instalación con las opciones `--forced`. Option `--newconf` allows you to rewrite all user configuration files using the new files from package. Option `--nodeps` allows you to install only a specified package without its dependencies.

    # tazpkg install paquete-1.0.tazpkg
    # tazpkg install ruta/al/paquete-1.0.tazpkg --forced
    # tazpkg install ruta/al/paquete-1.0.tazpkg --root=/mnt/rootfs

### get-install

Descargar e instalar un paquete desde un espejo en internet (`get-install` o `-gi`). El comando empieza comprobando si el paquete existe en el espejo y si ya ha sido descargado. Para ver la lista de paquetes en el espejo, tenemos que usar el comando `list-mirror`. Note that you can force the installation via the `--forced` option. Option `--newconf` allows you to rewrite all user configuration files using the new files from a package. Option `--nodeps` allows you to install only a specified package without its dependencies.

    # tazpkg get-install grub
    # tazpkg -gi grub --forced
    # tazpkg -gi nano --root=/mnt/sda6

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

Instala un conjunto de paquetes listados en un archivo. Este comando te permite (descargar e) instalar varios paquetes con un solo comando y también puede ser forzado.

    # tazpkg install-list mis-paquetes.lista
    # tazpkg get-install-list mis-paquetes.lista --forced

### remove

Borra un paquete (`remove` o `-r`). Se te preguntará para confirmar (s/N) of removing the package, as well as for removing packages depending on this package, and for reinstalling packages modified by this package. Este comando borrará todos los archivos instalados con el paquete.

Option `--auto` removes and reinstalls packages without your confirmation.

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

### reconfigure

Vuelve a reproducir el script de post-instalación del paquete.

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

### link

Este comando te permite la instalación de un paquete desde otro dispositivo. La instalación se hace por medio de enlaces simbólicos y consume muy poca memoria. Es generalmente usada dentro del sistema RAM para instalar add-ons (extensiones) desde USB.

    # tazpkg link openoffice /media/usbdisk

### set-release

El comando cambia la versión actual y actualiza todos los paquetes a la última versión.

    # tazpkg set-release cooking

### add-flavor, install-flavor

Install a set of packages from a flavor. In addition, `install-flavor` purges other installed packages.

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

Working with packages

### info

Muestra cualquier información disponible en el fichero de recibo del paquete en cuestión, como su versión, categoría, mantenedor, página web y dependencias (véase también Cookutils para más información sobre los ficheros de recibo).

    $ tazpkg info busybox

### desc

Descripción del paquete (`desc` or `-d`).

    $ tazpkg desc busybox

### list-files

Lista todos los archivos instalados con un paquete (`list-files` o `-lf`). Este comando simplemente lee y muestra el archivo `files.list` de cada paquete que se genera automáticamente cuando el paquete es creado y también se usa para borrar los archivos cuando se desinstala un paquete.

    $ tazpkg list-files bc

### block, unblock, chblock

Los comandos `block` (o `-b`) y `unblock` (o `-u`) te permiten bloquear versiones de paquetes instalados asi ya no estarán mantenidos por `upgrade`. Command `chblock` changes the blocking state of the package. La lista de paquetes en espera se encuentra en `/var/lib/tazpkg/blocked-packages.list`. Este archivo puede ser editado manualmente.

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

### check

Comprobar las dependencias en paquetes instalados y determinar si todos los archivos necesarios para reempacar paquetes están presentes. You can specify package name to check or check all installed packages. Option `--full` makes few more checks and need more time.

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

### bugs

Genera una lista de los errores (bugs) conocidos de los paquetes. You can specify a single package to show bugs.

    $ tazpkg bugs
    $ tazpkg bugs nano

### depends, rdepends

Muestra un árbol de dependencias o un árbol de dependencias invertido para un paquete.

For `depends` command: option `--mark` marks installed packages with plus sign and not installed with a minus/dash. Option `--total` calculates the number of displayed packages and their size. Also, with both options at a time you'll get the number and size of packages to be installed.

For `rdepends` command: without the `--all` option you'll get the list of only installed reverse dependency packages, with this option — a list of all available packages. Option `--mark` marks packages as in the `depends` command.

    # tazpkg depends mpd
    # tazpkg rdepends mpd

### extract

Extrae un paquete en un directorio (`extract` or `-e`). Si no especificas el directorio de destino, el paquete se extraerá en el directorio actual usando el nombre `paquete-version`.

    $ tazpkg extract paquete.tazpkg
    $ tazpkg extract paquete.tazpkg target/dir

### pack

Crea un paquete desde un directorio preparado de antemano o desde un paquete desempaquetado. También puede crear manualmente un paquete `.tazpkg` (ver la documentación de Cookutils para la creación automática de paquetes).

    # tazpkg pack paquete-version

### repack

Recrear un paquete desde los archivos en el sistema donde fue previamente instalado.

    # tazpkg repack paquete

### repack-config

Recrea un paquete de archivos de configuración del sistema (ver `list-config`). Es suficiente instalar el paquete para encontrar la configuración actual.

    # tazpkg repack-config

### recompress

Recompress .tazpkg cpio archive with lzma.

    $ tazpkg recompress paquete.tazpkg

### convert

Convierte los paquetes en paquetes SliTaz (`.tazpkg`) (`convert` o `-c`).

Supported packages formats:

- paquetes Debian (`*.deb`, `*.udeb`)
- paquetes RPM (`*.rpm`)
- paquetes Slax (`*.sb`)
- paquetes Puppy (`*.sfs`, `*.pet`)
- paquetes Slackware (`*.tgz`)
- paquetes NuTyX (`*.cards.tar.xz`)
- paquetes Arch Linux / Alpine Linux (`*.apk`, `*.pkg.tar.gz`, `*.pkg.tar.xz`)
- paquetes OpenWrt (`*.ipk`, `*.opk`)
- paquetes 0Linux (`*.spack`)
- paquetes paldo (`*.tar.bz2`)
- paquetes Void (`*.xbps`)
- paquetes Tinycore (`*.tce`, `*.tcel`, `*.tcem`, `*.tcz`)

    # tazpkg convert alien-paquete

### list-suggested

List suggested packages for each of your installed packages. With option `--all` it shows all suggested packages, and without option it shows only not installed suggested packages.

    $ tazpkg list-suggested
    $ tazpkg list-suggested --all

Working with repositories

### recharge

Recarga la lista de los paquetes disponibles en el espejo. Este comando descargará el packages database más reciente con la lista de paquetes disponibles en el espejo y antes de empezar guardará una copia de la database antigua. Una vez actualizada la DB, puedes usar los comandos `list` y `search`. Para ver y listar las diferencias, puedes usar `list-mirror --diff`; y para ver y actualizar paquetes, puedes usar el comando `upgrade`.

Command without options will recharge databases of all your repositories. You can specify the repository to be recharged: “main” for main repo, or undigest repository name.

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

### upgrade

Upgrade te permite actualizar todos los paquetes instalados disponibles en el espejo actual (`upgrade` or `up`). Actualizar paquetes es una parte importante de la seguridad del sistema, ayuda a mantenerte seguro con las ultimas actualizaciones y correcciones. El proyecto SliTaz, aunque sea pequeño, proporciona actualizaciones regulares de seguridad y en general ofrece las ultimas versiones de software. Tenga en cuenta que esta función esta dirigida a la gente con SliTaz instalado en su disco duro. Los paquetes actualizados en el modo Live CD se perderán al apagar el sistema.

At the beginning the packages database is updated automatically (`recharge`) in order to provide you with the current list of packages that you can update.

Without options it runs in interactive mode and asks before install. You can specify one of the next options: `-c` or `--check` to check only for available upgrades; `-i` or `--install` to check for upgrades and install them all.

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

### setup-mirror

Configura la dirección URL del espejo (`setup-mirror` o `-sm`). El comando te preguntará la dirección URL del nuevo espejo. Tenga en cuenta que también puede modificar el archivo principal `/var/lib/tazpkg/mirror`. La dirección URL tiene que indicar el directorio que contiene el archivo `packages.info` y los paquetes.

    # tazpkg setup-mirror

### add-undigest, setup-undigest

Establece la dirección URL de un espejo adicional no oficial para probar paquetes que todavía no están presentes en los espejos oficiales. Tenga en cuenta que también puede editar manualmente el archivo en `/var/lib/tazpkg/undigest/repository`. La dirección URL tiene que indicar el directorio que contiene los paquetes y el archivo `packages.info`.

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

### list-undigest

Lista espejos no oficiales (undigest) adicionales. Option `--box` will output list in the table form.

    # tazpkg list-undigest
    # tazpkg list-undigest --box

### remove-undigest

Borra la dirección de un espejo no oficial (undigest). You will be asked for confirmation.

    # tazpkg remove-undigest my-repository

Encargado de mantenimiento

Christophe Lincoln <pankso en slitaz.org>