NAME
Tazpkg - Tiny autonomous zone package manager
SYNTAX
tazpkg [command] [package|dir|pattern|list|cat|--opt] [dir|--opt]
DESCRIPTION
Tazpkg is an ultralightweight (~ 35KB) package manager to install, list, download, update or remove precompiled packages on a GNU/Linux system. Tazpkg offers commands for searching and creating packages and was created independently for the project. The format of the packages using the *.tazpkg extension is a cpio archive containing a filesystem compressed with gzip, a receipt and an optional description. Tazpkg also manages dependencies based on package receipts. Each receipt contains all the information about a package and can also include pre and post installation functions. The same receipt is used by Tazwok to compile sources and generate a .tazpkg package.
Tazpkg is entirely built from scratch using SHell script, compatible with Bash; it runs under Ash - part of the Busybox project. Tazpkg is distributed under the free GNU license GPL V3.
COMMANDS
list
List packages installed on the system. This command displays a column list of all installed packages, It also allows you to list the categories, packages based on category and packages placed on hold. You can also use the 'search' command for a list based on a term or package name:
# tazpkg list # tazpkg list cat|categories # tazpkg list blocked
xhtml-list
The 'xhtml-list' command can create a XHTML list of all the packages installed on the system which can be read with your preferred Web browser. It can be run as a normal user and creates a page 'installed-packages.html' in your current directory. Note that you can change the name of the generated list via the command line:
# tazpkg xhtml-list # tazpkg xhtml-list list-name.html
list-mirror
List packages available on the mirror. This command will display the 'packages.list' file recharged from the mirror. If this doesn't exist, you will be asked to launch 'tazpkg recharge' as administrator (root) for a list of available packages . The --diff option is used to display the differences between the last and current list of packages:
# tazpkg list-mirror # tazpkg list-mirror --diff
info
Display any information available in the receipt for the package in question - its version, category, maintainer, Web site and any dependencies (see also Tazwok for more information on receipts):
# tazpkg info busybox
desc
Description of the package (if it exists). This command displays the 'description.txt' file of each package (a simple text file, justified to 80 characters to fit in a standard terminal):
# tazpkg desc busybox
list-config
Lists the system configuration files. The --box option displays in table format:
# tazpkg list-config # tazpkg list-config --box
list-files
List all files installed with a package. This command will simply read and display the 'files.list' of each package which is automatically generated when the package is created and is also used to remove files when uninstalling a package. To list the files installed with the package bc:
# tazpkg list-files bc
search
Search for packages by owner or package name. This command will search for the term wanted in the installed packages and the list of available packages on the mirror. To obtain the latest list of installable packages on the mirror, just run 'tazpkg recharge' before conducting a search:
# tazpkg search gcc
search-file
The 'search-file' command allows you to search for a file among the files installed by the packages. This command is very useful to find the full path to a file and determine if a file is present on the system. Example:
$ tazpkg search-file libnss
install
This command allows the installation of a local package with the .tazpkg extension. See 'get-install' to install a package from the internet. Note that you can force the installation via the --forced, uninstall and reinstall options or specify the root system where you want to install the packages via the -root= option:
# tazpkg install package-1.0.tazpkg Or : # tazpkg install path/to/package-1.0.tazpkg --forced Or : # tazpkg install path/to/package-1.0.tazpkg --root=/mnt/rootfs
install-list or get-install-list
Install a set of packages listed in a file. This command allows you to (download and) install several packages with a single command and can also be forced:
# tazpkg install-list my-packages.list # tazpkg get-install-list my-packages.list --forced
link
This command allows the installation of a package from another media device. The set up is done through symbolic links and consumes very little memory. It is generally used within the system RAM to install add-ons from an USB key:
# tazpkg link openoffice /media/usbdisk
remove
Remove a package. You will be asked for confirmation (y/N). This command will delete all files installed with the package. To view the list of files, use the 'list-files' command followed by the name of the package. Example with the package bc:
# tazpkg remove bc
extract
Extract a package into a directory. If you do not specify the destination directory, the package will be extracted in the current directory using the name package-version:
# tazpkg extract package.tazpkg # tazpkg extract package.tazpkg target/dir
pack
The 'pack' command will create a package from a directory prepared in advance or from an unpacked package. It can also manually create a .tazpkg package (see the Tazwok documentation for the automatic creation of packages). To pack a package:
# tazpkg pack package-version
repack
The 'repack' command allows you to recreate a package from the files on a system where it was previously installed. To repack a package:
# tazpkg repack package
repack-config
The 'repack-config' command recreates a package of the system configuration files (see list-config). It is enough to install the package to find the current configuration. To repack the configuration files:
# tazpkg repack-config
recharge
Recharge the list of available packages on the mirror. This command will download the most recent 'packages.list' of installable packages on the mirror and before starting will save the old list. Once the list is updated, you can then use the 'list' and 'search' commands. To view and list the differences, you can use 'list-mirror --diff'; and to view and update packages, you can simply 'upgrade'. To recharge the latest list of packages:
# tazpkg recharge
upgrade
Upgrade allows you to update all installed packages available on the current mirror. Upgrading packages is an important part of system security, it helps to keep you secure with the latest updates and fixes. The SliTaz project, although tiny, provides regular updates on security and generally offers the latest versions of software. Note that this function is aimed at people with SliTaz installed on a hard drive. Updated packages in LiveCD mode will be lost on system shutdown. To upgrade:
# tazpkg upgrade
check
The 'check' command can check dependencies on installed packages and determine whether all the files needed for the repacking of packages are present:
# tazpkg check package
block or unblock
The 'block' and 'unblock' commands permit you to block installed package versions so that they are not maintained by an 'upgrade'. The list of packages on hold are contained in the /var/lib/tazpkg/blocked-packages.list. This file can also be edited by hand. To block or unblock a package such as Grub:
# tazpkg block grub Or : # tazpkg unblock grub
get
Get a package from the mirror (if it exists). The downloaded package is stored in the current directory. To find the path you can use 'pwd'. To get the Grub package:
# tazpkg get grub
get-install
Get and install a package from a mirror on the internet. The 'get-install' command begins by checking whether the package exists on the mirror and if it has been already downloaded. For a list of packages on the mirror, we must use the 'list-mirror' command. To install the package Grub:
# tazpkg get-install grub
clean-cache
Remove *.tazpkg packages downloaded to the cache. During installation, Tazpkg keeps a copy of packages downloaded from the web. This is done to save bandwidth in case of reinstallation, but you may want to free up space on the hard drive or re-download the packages:
# tazpkg clean-cache
setup-mirror
Setup the URL for the mirror. The 'setup-mirror' command will ask for the URL of the new mirror. You can specify multiple URLs separated by spaces. Note that you can also modify the main /var/lib/tazpkg/mirror file. The URL must point to the directory containing the 'packages.list' and packages:
# tazpkg setup-mirror
reconfigure
Replays the post-install script from the package. Example using gcc:
# tazpkg reconfigure gcc
depends or rdepends
Displays a dependency tree or reverse dependency tree for a package. Examples using mpd:
# tazpkg depends mpd # tazpkg rdepends mpd
add-undigest or setup-undigest
Set the URL of an additional unofficial mirror to test packages that are not yet present on the official mirrors. Note, you can also manually edit the file in /var/lib/tazpkg/undigest/'repository'. The URL must point to the directory containing the packages and 'packages.list':
# tazpkg add-undigest public-repository http://my.home.org/slitaz # tazpkg setup-undigest local-repository /home/slitaz/packages
remove-undigest
Removes the URL of an undigest mirror:
# tazpkg remove-undigest my-repository
list-undigest
Lists additional undigest mirrors:
# tazpkg list-undigest
convert
Converts a Debian package (.deb), Redhat (.rpm), Slackware (.tgz) or Archlinux (.pkg.tar.gz) package into a SliTaz package (.tazpkg):
# tazpkg convert alien-package
set-release
The 'set-release' command changes the current version and upgrades all of the packages to the latest release:
# tazpkg set-release cooking
bugs
Generates a list of known bugs in the packages:
# tazpkg bugs
MAINTAINER
Christophe Lincoln <pankso at slitaz.org>