Packages
Tazpkg - Package manager
SliTaz provides a tiny package manager which can easily install more software on the system. Tazpkg is a lightweight package manager for .tazpkg files. Completely written in SHell script, it works well with Busybox ash shell and bash. Tazpkg lets you list, install, remove, download, extract, pack, search, or get information about available or installed packages. You can also repack an installed package and automatically upgrade all installed packages. With
$ tazpkg usage
you get a list of all the commands with a short description in English.
List of packages
Tazpkg lets you list all installed packages, installed packages by category or it can display the list of all packages available in the repository.
To display a single list of all installed packages on the system:
$ tazpkg list
To display all categories or packages sorted by category, you must specify cat
or category
.
Examples:
$ tazpkg list cat $ tazpkg list base-system
Tazpkg can also generate a xHTML list (default: installed-packages.html) in the local directory of all installed packages on the system:
$ tazpkg xhtml-list
To get a single list of all packages available in the repository you can use the command list-mirror
.
You can then examine the list in your favorite editor or use the Web site interface.
Install packages
To install some new applications such as The Gimp, AbiWord, ePDFView, Perl or Python, you first need to recharge the list of packages available in the repository and then install a package.
If the package dependencies are not installed, tazpkg will install them for you. For example, the installation of Gparted (a GTK+ partition editor using GNU parted):
# tazpkg recharge # tazpkg get-install gparted
The 'get' Packages
There are a few packages that are prefixed with get-
. These are not packages per-se but contain only a script.
This script provides software by:
- downloading the software
- creating a package in tazpkg format from it
- installing the generated SliTaz package
This means that the actual software is not contained within the get
package, but is repacked by it.
To manage this style of software:
- install the latest version using the
get
script in theget
package; - remove it by using tazpkg on the generated package.
# tazpkg get-install get-OpenOffice # get-OpenOffice
Some of these get scripts support command line parameters that can be displayed, for example
# get-OpenOffice --help
Update installed packages
To keep your system up-to-date and secure after recharging the packages list, you can automatically install all new versions and security updates from the repository with the command:
# tazpkg up
Tazpkg Manual
The Tazpkg Manual contains a lot more useful information.
Cookutils and the wok
All SliTaz packages are built with a tool named Cookutils and a recipe (in a file named receipt
) found in the wok.
The recipe provides all the necessary information to build a suitable package for Tazpkg including variables to give
the package name, source tarball format, download URL, etc.
Given a recipe, the compile_rules
function has all of the necessary commands to configure, make, and install the package
in a specific directory.
After compilation, Cookutils will execute the function genpkg_rules
to pick up only the needed or wanted files and generate
a cpio archive packagename.tazpkg.
On SliTaz you will find receipt files of all installed packages in the directory /var/lib/tazpkg/installed
.
Feel free to examine them or even use one as an example.
Cookutils will search by default for a wok in /home/slitaz/wok
and put generated packages in /home/slitaz/packages
.
These paths are set by a Cookutils configuration file which can be located in /etc/slitaz/cook.conf
or in the current directory,
which is useful if you want to work with multiple woks.
Now, if the Cookutils are setup by
# cook setup
and the slitaz-toolchain is installed, you can start to create and build a package which doesn't need many dependencies.
Small example for a package named pkgname:
# cook new pkgname --interactive
When a new package tree and receipt file has been created in the wok, you can edit the receipt file with your favorite editor (Geany provides nicely colored code), modify the rules, functions, add dependencies to the DEPENDS variable if needed and try a first cook:
# cook pkgname
Note that you can now browse the generated files, modify the cooking receipt file again or just rebuild the package.
When you are happy with your work you can install the package with tazpkg install
and then test the application or library.