tazpkg view doc/tazpkg.en.html @ rev 947

modules/get: get_pkg_cookmode(): file may be absent.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Mon Jun 05 22:36:04 2017 +0300 (2017-06-05)
parents 1c61f2488440
children 5ef96f1997c1
line source
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>TazPkg Manual</title>
6 <meta name="viewport" content="width=device-width,initial-scale=1">
7 <link rel="stylesheet" href="../slitaz-doc.css">
8 <script src="../slitaz-doc.js"></script>
9 </head>
10 <body>
12 <header>
13 <h1>TazPkg Manual</h1>
14 </header>
19 <section><header>Name</header>
21 <p>TazPkg — Tiny autonomous zone package manager.</p>
22 </section>
25 <section><header>Syntax</header>
27 <pre>
28 tazpkg [command] [options...]
29 </pre>
30 </section>
33 <section><header>Description</header>
35 <p>TazPkg is a lightweight package manager to install, list, download, update or remove precompiled
36 packages on a GNU/Linux system. TazPkg offers commands for searching and creating packages and was
37 created independently for the project. The format of the packages using the *.tazpkg extension is
38 a cpio archive containing a filesystem compressed with lzma, a receipt and an optional description.
39 TazPkg also manages dependencies based on package receipts. Each receipt contains all the
40 information about a package and can also include pre- and post-installation functions. The same
41 receipt is used by <a href="../cookutils/cookutils.en.html" target="_blank">Cookutils</a> to compile
42 sources and generate a .tazpkg package.</p>
44 <p>TazPkg is entirely built from scratch using Shell script, compatible with Bash; it runs under
45 Ash — part of the Busybox project. TazPkg is distributed under the free GNU license <a
46 href="file:///usr/share/licenses/gpl.txt" target="_blank">GPL V3</a>.</p>
47 </section>
50 <section><header>Environment</header>
52 <p>TazPkg uses some environment variables:</p>
54 <ul>
55 <li><tt>LANGUAGE</tt>: defines the language of output and user confirmations.
56 <x-details>Note, <tt>LANG</tt> and <tt>LC_ALL</tt> environment variables also affect output
57 language</x-details></li>
58 <li><tt>LC_TIME</tt>: defines the date format in the <a href="#activity">activity</a>
59 command</li>
60 <li><tt>root</tt>: if defined, points to the root of a file system where TazPkg should work.
61 Note, a value defined using <tt>--root=</tt> option has precedence over this environment
62 variable</li>
63 </ul>
64 </section>
67 <section><header>Files</header>
70 <article><header>Configuration files</header>
72 <ul>
73 <li><tt><a href="file:///etc/slitaz/slitaz.conf"
74 target="_blank">/etc/slitaz/slitaz.conf</a></tt></li>
75 <li><tt><a href="file:///etc/slitaz/tazpkg.conf"
76 target="_blank">/etc/slitaz/tazpkg.conf</a></tt></li>
77 </ul>
78 </article>
81 <article><header>Package database files</header>
83 <p>Default placement of the package database is <tt>/var/lib/tazpkg</tt>.</p>
85 <ul>
86 <li><tt><a href="file:///var/lib/tazpkg/ID" target="_blank">ID</a></tt> (deprecated): identifier
87 of the current SliTaz repository state.
88 <x-details>The value changes when new or updated packages appear in the
89 repository.</x-details></li>
90 <li><tt><a href="file:///var/lib/tazpkg/IDs" target="_blank">IDs</a></tt>: identifier of the
91 current SliTaz repository state and the UNIX time stamp.
92 <x-details>The ID value changes when new or updated packages appear in the repository. Time
93 stamp allows you to track how long a change is made in the repository and to track the
94 freshness of repository mirrors. (To convert UNIX time stamp to the date:
95 <code>date -d@<em>timestamp</em></code>)</x-details></li>
96 <li><tt><a href="file:///var/lib/tazpkg/mirror" target="_blank">mirror</a></tt>: URL of the
97 current repository mirror in use.
98 <x-details>URL points to the remote folder containing packages and database
99 files.</x-details></li>
100 <li><tt><a href="file:///var/lib/tazpkg/mirrors" target="_blank">mirrors</a></tt>: list of URLs
101 of available repository mirrors.
102 <x-details>Note the difference between URLs from these two files; you should append URL from
103 this file by <tt>packages/<em>cooking</em>/</tt> (for <tt><em>cooking</em></tt>-based SliTaz
104 version).</x-details></li>
105 <li><tt><a href="file:///var/lib/tazpkg/packages.list" target="_blank">packages.list</a></tt>
106 (deprecated): list of package names with version numbers available in the repository.</li>
107 <li><tt><a href="file:///var/lib/tazpkg/packages.desc" target="_blank">packages.desc</a></tt>
108 (deprecated): list contained package name, version, short description, category and upstream
109 URL.</li>
110 <li><tt><a href="file:///var/lib/tazpkg/packages.txt" target="_blank">packages.txt</a></tt>
111 (deprecated): list containing package name, version, short description and two package sizes
112 <x-details>(first — traffic to download package, second — HDD size for installed
113 package)</x-details>.</li>
114 <li><tt><a href="file:///var/lib/tazpkg/packages.md5" target="_blank">packages.md5</a></tt>
115 (deprecated): list containing MD5 checksum with package file name.</li>
116 <li><tt><a href="file:///var/lib/tazpkg/packages.info" target="_blank">packages.info</a></tt>:
117 list was built to replace and extend above lists.
118 <x-details>For every package available in the repository it contains: package name, version,
119 category, short description, upstream URL, tags, package sizes, depends and MD5 checksum.
120 Development continues, and the list can be extended by other fields, if
121 necessary.</x-details></li>
122 <li><tt><a href="file:///var/lib/tazpkg/packages.equiv" target="_blank">packages.equiv</a></tt>:
123 list of equivalent packages available in the repository.
124 <x-details>Format of the list item: <tt><em>package</em>=<em>rule rule…</em></tt>.<br>
125 Format of the rule: <tt><em>alternative:newname</em></tt> — if <tt><em>alternative</em></tt>
126 is installed then <tt><em>newname</em></tt> will be installed instead of the
127 <tt><em>package</em></tt>.<br>
128 In the second format of the rule <tt><em>alternative:</em></tt> part is omitted — in this
129 case <tt><em>newname</em></tt> <em>can be</em> installed instead of the
130 <tt><em>package</em></tt> (in the user choice).</x-details></li>
131 <li><tt><a href="file:///var/lib/tazpkg/packages.diff" target="_blank">packages.diff</a></tt>:
132 list created when you run <tt><a href="#recharge">recharge</a></tt> command.
133 <x-details>List contains package names with versions of the new packages available in the
134 repository with the last recharge.</x-details></li>
135 <li><tt><a href="file:///var/lib/tazpkg/packages.up" target="_blank">packages.up</a></tt>: list
136 created when you run <tt><a href="#upgrade">upgrade</a></tt> command.
137 <x-details>List contains package names you can upgrade with the last
138 recharge.</x-details></li>
139 <li><tt><a href="file:///var/lib/tazpkg/descriptions.txt"
140 target="_blank">descriptions.txt</a></tt>: list of the “long” descriptions of the all
141 packages available on the repository.</li>
142 <li><tt>packages-desc.<em>language</em></tt> — optional list of the packages translated short
143 descriptions
144 <x-details>(see the package tazpkg-desc-ru)</x-details>.</li>
145 <li><tt>descriptions.<em>language</em>.txt</tt> — optional list of the packages translated
146 “long” descriptions
147 <x-details>(see the package tazpkg-desc-ru)</x-details>.</li>
148 <li><tt>packages.icons</tt> — optional list of the packages icons for TazPanel.</li>
149 <li><tt><a href="file:///var/lib/tazpkg/blocked-packages.list"
150 target="_blank">blocked-packages.list</a></tt>: optional list of the packages blocked for
151 update.</li>
152 <li><tt><a href="file:///var/lib/tazpkg/extra.list" target="_blank">extra.list</a></tt>: list of
153 the extra packages
154 <x-details>(non-free packages; free packages but not compiled from sources). List contains
155 package name, short description, upstream URL, category, version, license.</x-details></li>
156 <li><tt>files.list.lzma</tt>: very large compressed list which contains all the files of all the
157 packages available in the repository
158 <x-details>(nearly 5,000 packages and nearly 0.7 million files now)</x-details>.</li>
159 <li><tt>files-list.md5</tt>: MD5 checksum of the <tt>files.list.lzma</tt>.</li>
160 <li><tt><a href="file:///var/lib/tazpkg/installed.info" target="_blank">installed.info</a></tt>:
161 list of the installed packages with the exact format of the <tt>packages.info</tt> list.
162 <x-details>Idea is just to copy list item from <tt>packages.info</tt> to the
163 <tt>installed.info</tt> during package installation.</x-details></li>
164 <li><tt><a href="file:///var/lib/tazpkg/installed.md5" target="_blank">installed.md5</a></tt>
165 (deprecated): list containing MD5 checksum with file names of all installed packages.</li>
166 <li><tt><a href="file:///var/lib/tazpkg/priority" target="_blank">priority</a></tt>: optional
167 list of the repositories priority.
168 <x-details>One repository name per line. Undigest repositories are called by their names and
169 main repository by “main”. If priority list absent, then default priority is: main
170 repository and all existing undigest repositories in alphabetical
171 order.</x-details></li>
172 </ul>
174 <p>All the deprecated files will be deleted after we verify that the programs do not use them (and
175 modify the programs as necessary).</p>
177 <p>In addition to the common package database files there is also individual folders for all
178 installed packages placed by default in the <tt>/var/lib/tazpkg/installed/<em>package</em></tt>.
179 Every folder here may contain the following files:</p>
181 <ul>
182 <li><tt>receipt</tt> (mandatory) — the package recipe</li>
183 <li><tt>files.list</tt> (mandatory) — list of package files</li>
184 <li><tt>md5sum</tt> (mandatory) — checksums of package files (other checksum files can be
185 specified in the settings: <tt>cksum</tt> (CRC32), <tt>md5sum</tt> (MD5), <tt>sha1sum</tt>
186 (SHA1), <tt>sha256sum</tt> (SHA256), <tt>sha512sum</tt> (SHA512), <tt>sha3sum</tt>
187 (SHA3-512))</li>
188 <li><tt>description.txt</tt> (optional) — “long” description</li>
189 <li><tt>modifiers</tt> (optional) — list of packages that have replaced some of the files of
190 this package</li>
191 <li><tt>volatile.cpio.gz</tt> (optional) — archive of “official” configuration files</li>
192 </ul>
193 </article>
196 <article><header>Cache</header>
198 <p>Default placement of the packages cache is <tt>/var/cache/tazpkg</tt> with sub-folders for the
199 different repositories.
200 <x-details>It is exactly <tt>/var/cache/tazpkg/<em>cooking</em>/packages</tt> for the
201 <tt><em>cooking</em></tt>-based SliTaz version.</x-details></p>
202 </article>
205 <article><header>Misc files</header>
207 <p>File with default placement <tt><a href="file:///var/log/slitaz/tazpkg.log"
208 target="_blank">/var/log/slitaz/tazpkg.log</a></tt> stores the TazPkg activity log.
209 <x-details>Log stores five types of actions: installing, uninstalling, blocking, unblocking,
210 reconfiguring packages.</x-details></p>
212 <p>Shared MIME information which allows to “guess” SliTaz package files, package receipts and
213 SliTaz flavor files.
214 <x-details>File placed here: <tt><a href="file:///usr/share/mime/packages/tazpkg.xml"
215 target="_blank">/usr/share/mime/packages/tazpkg.xml</a></tt>.</x-details></p>
217 <p>Plug-in for the TazPanel (SliTaz administration and configuration panel)
218 <tt>/var/www/tazpanel/pkgs.cgi</tt> allows you to manage SliTaz packages in the <a
219 href="http://127.0.0.1:82/pkgs.cgi" target="_blank">web application</a>.</p>
221 <p>TazPkg documentation is placed in the <tt>/usr/share/doc/tazpkg</tt> folder.</p>
222 </article>
223 </section>
228 <section><header>Commands</header>
230 <p>The first <tt>tazpkg</tt> parameter is a command followed by other mandatory and optional
231 parameters as will be described hereinafter. Options begin with double dashes, you can arrange them
232 in any order and in any place, even before the command. Unknown and inappropriate options are
233 ignored. The following commands are equivalent:</p>
235 <pre>
236 $ tazpkg info nano --root=<em>/mnt/sda6</em>
237 $ tazpkg --root=<em>/mnt/sda6</em> info nano
238 $ tazpkg info --root=<em>/mnt/sda6</em> nano <em>--color</em>
239 </pre>
241 <p>You can add global option <tt>--root=…</tt> to any TazPkg command. This option allows you to work
242 with other SliTaz installations and can point to the root of a mounted file system from another SliTaz
243 installation.
244 <x-details>By the way, using this option allows to install SliTaz to the other file system “from
245 scratch” and upgrade SliTaz packages remotely.</x-details></p>
248 <article><header>Service commands</header>
250 <ul>
251 <li><a href="#usage">usage</a>: print short usage</li>
252 <li><a href="#help">help</a>: show help on the TazPkg commands</li>
253 <li><a href="#activity">activity</a>: show TazPkg activity log</li>
254 <li><a href="#clean-cache">clean-cache</a>: clean all packages downloaded in cache
255 directory</li>
256 <li><a href="#list-cache">list-cache</a>: list all packages downloaded in cache
257 directory</li>
258 <li><a href="#shell">shell</a>: run interactive TazPkg shell</li>
259 </ul>
260 </article>
263 <article><header>Working with lists</header>
265 <ul>
266 <li><a href="#list">list</a>: list installed packages on the system</li>
267 <li><a href="#list-mirror">list-mirror</a>: list all available packages on the mirror</li>
268 <li><a href="#list-config">list-config</a>: list the configuration files</li>
269 </ul>
270 </article>
273 <article><header>Search</header>
275 <ul>
276 <li><a href="#search">search</a>: search for a package by pattern or name</li>
277 <li><a href="#search-pkgname">search-pkgname</a>: search on mirror for package having a
278 particular file</li>
279 <li><a href="#search-file">search-file</a>: search for file in all installed packages files</li>
280 </ul>
281 </article>
284 <article><header>Installing and removing packages</header>
286 <ul>
287 <li><a href="#get">get</a>: download a package into the current directory</li>
288 <li><a href="#install">install</a>: install a local package</li>
289 <li><a href="#get-install">get-install</a>: download and install a package from the mirror</li>
290 <li><a href="#get-list">get-list</a>: download a list of packages from the mirror</li>
291 <li><a href="#get-list">install-list</a>: install all packages from a list of packages</li>
292 <li><a href="#get-list">get-install-list</a>: download and install a list of packages from the
293 mirror</li>
294 <li><a href="#remove">remove</a>: remove the specified package and all installed files</li>
295 <li><a href="#reconfigure">reconfigure</a>: replay post install script from package</li>
296 <li><a href="#link">link</a>: link a package from another SliTaz installation</li>
297 <li><a href="#set-release">set-release</a>: change release and update packages</li>
298 <li><a href="#add-flavor">add-flavor</a>: install the flavor list of packages</li>
299 <li><a href="#add-flavor">install-flavor</a>: install the flavor list of packages and remove
300 other ones</li>
301 </ul>
302 </article>
305 <article><header>Working with packages</header>
307 <ul>
308 <li><a href="#info">info</a>: print information about a package</li>
309 <li><a href="#desc">desc</a>: print description of a package</li>
310 <li><a href="#list-files">list-files</a>: list the files installed with a package</li>
311 <li><a href="#block">block, unblock</a>: block an installed package version or unblock it for
312 upgrade</li>
313 <li><a href="#check">check</a>: verify consistency of installed packages</li>
314 <li><a href="#bugs">bugs</a>: show known bugs in packages</li>
315 <li><a href="#depends">depends</a>: display dependencies tree</li>
316 <li><a href="#depends">rdepends</a>: display reverse dependencies tree</li>
317 <li><a href="#extract">extract</a>: extract a (*.tazpkg) package into a directory</li>
318 <li><a href="#pack">pack</a>: pack an unpacked or prepared package tree</li>
319 <li><a href="#repack">repack</a>: create a package archive from an installed package</li>
320 <li><a href="#repack-config">repack-config</a>: create a package archive with configuration
321 files</li>
322 <li><a href="#recompress">recompress</a>: rebuild a package with a better compression ratio</li>
323 <li><a href="#convert">convert</a>: convert alien package to tazpkg</li>
324 <li><a href="#list-suggested">list-suggested</a>: print list of suggested packages</li>
325 </ul>
326 </article>
329 <article><header>Working with repositories</header>
331 <ul>
332 <li><a href="#recharge">recharge</a>: recharge your packages database from the mirror</li>
333 <li><a href="#upgrade">upgrade</a>: check packages, list and install latest upgrades</li>
334 <li><a href="#setup-mirror">setup-mirror</a>: change the mirror URL configuration</li>
335 <li><a href="#add-undigest">setup-undigest</a>: update an undigest mirror</li>
336 <li><a href="#list-undigest">list-undigest</a>: list undigest mirrors</li>
337 <li><a href="#add-undigest">add-undigest</a>: add an undigest mirror</li>
338 <li><a href="#remove-undigest">remove-undigest</a>: remove an undigest mirror</li>
339 <li><a href="#mkdb">mkdb</a>: make a TazPkg database for a folder with *.tazpkg packages</li>
340 </ul>
341 </article>
342 </section>
347 <section><header>Service commands</header>
350 <article id="usage"><h3>usage</h3>
352 <p>Show the full list of the TazPkg commands with a brief description.</p>
354 <pre>
355 $ tazpkg usage
356 </pre>
357 </article>
360 <article id="help"><h3>help</h3>
362 <p>Display help for the selected command (<tt>help</tt> or <tt>-h</tt>). You can enter a short name
363 of the command, the full name or a part of the full name. You can ignore hyphens at the beginning of
364 the short name. If the requested part of the full name match the several commands, you will be asked
365 to clarify the request.</p>
367 <pre>
368 $ tazpkg help <em>-gi</em>
369 $ tazpkg -h <em>us</em>
370 </pre>
371 </article>
374 <article id="activity"><h3>activity</h3>
376 <p>Display TazPkg activity log (<tt>activity</tt> or <tt>log</tt> or <tt>-a</tt>). Optional
377 parameter <tt>--nb=</tt> lets you set number of displayed lines.</p>
379 <pre>
380 $ tazpkg activity
381 $ tazpkg -a --nb=<em>20</em>
382 </pre>
383 </article>
386 <article id="clean-cache"><h3>clean-cache</h3>
388 <p>Remove *.tazpkg packages downloaded to the cache (<tt>clean-cache</tt> or <tt>-cc</tt>). During
389 installation, TazPkg keeps a copy of packages downloaded from the Web. This is done to save
390 bandwidth in case of reinstallation, but you may want to free up space on the hard drive or
391 re-download the packages.</p>
393 <pre>
394 # tazpkg clean-cache
395 # tazpkg -cc
396 </pre>
397 </article>
400 <article id="list-cache"><h3>list-cache</h3>
402 <p>List *.tazpkg packages downloaded to the cache. Displays a list of file names and their sizes,
403 as well as the total amount and size.</p>
405 <pre>
406 # tazpkg list-cache
407 </pre>
408 </article>
411 <article id="shell"><h3>shell</h3>
413 <p>Run interactive TazPkg shell. Here you can enter all the TazPkg commands listed above.</p>
415 <pre>
416 $ tazpkg shell
417 # tazpkg shell
418 </pre>
419 </article>
420 </section>
425 <section><header>Working with lists</header>
428 <article id="list"><h3>list</h3>
430 <p>List packages installed on the system (<tt>list</tt> or <tt>-l</tt>). This command displays a
431 column list of all installed packages. It also allows you to list the categories (<tt>c</tt> or
432 <tt>cat</tt> or <tt>categories</tt>), packages based on category and packages placed on hold
433 (<tt>b</tt> or <tt>blocked</tt>). You can also use the <tt><a href="#search">search</a></tt>
434 command for a list based on a term or package name.</p>
436 <pre>
437 $ tazpkg list
438 $ tazpkg list cat
439 $ tazpkg list <em>games</em>
440 $ tazpkg list blocked
441 </pre>
442 </article>
445 <article id="list-mirror"><h3>list-mirror</h3>
447 <p>List packages available on the mirror (<tt>list-mirror</tt> or <tt>-lm</tt>). This command will
448 display the packages list recharged from the mirror. If it doesn't exist, you will be asked to
449 launch <code>tazpkg <a href="#recharge">recharge</a></code> as administrator (root) for a list of
450 available packages. The <tt>--diff</tt> option is used to display the differences between the last
451 and current list of packages.</p>
453 <pre>
454 $ tazpkg list-mirror
455 $ tazpkg -lm --diff
456 </pre>
457 </article>
460 <article id="list-config"><h3>list-config</h3>
462 <p>Lists the system configuration files. The <tt>--box</tt> option displays in table form. You can
463 specify package name to display configuration files only for this package.</p>
465 <pre>
466 $ tazpkg list-config
467 $ tazpkg list-config --box
468 $ tazpkg list-config <em>slim</em>
469 $ tazpkg list-config <em>slim</em> --box
470 </pre>
471 </article>
472 </section>
477 <section><header>Search</header>
480 <article id="search"><h3>search</h3>
482 <p>Search for packages by owner or package name (<tt>search</tt> or <tt>-s</tt>). This command will
483 search for the term wanted in the installed packages (<tt>-i</tt> or <tt>--installed</tt>) and the
484 list of available packages on the mirror (<tt>-l</tt> or <tt>--list</tt>).</p>
486 <p>To obtain the latest list of installable packages on the mirror, just run <code>tazpkg
487 recharge</code> before conducting a search.</p>
489 <pre>
490 $ tazpkg search <em>gcc</em>
491 $ tazpkg search <em>mt</em> -i
492 $ tazpkg search <em>bit</em> -l
493 </pre>
494 </article>
497 <article id="search-pkgname"><h3>search-pkgname</h3>
499 <p>Search for a file on mirror and output only the packages names (<tt>search-pkgname</tt> or
500 <tt>-sp</tt>).</p>
502 <pre>
503 $ tazpkg search-pkgname <em>libnss</em>
504 $ tazpkg -sp <em>/usr/share/fonts</em>
505 </pre>
506 </article>
509 <article id="search-file"><h3>search-file</h3>
511 <p>Search for a file among the files installed by the packages (<tt>search-file</tt> or
512 <tt>-sf</tt>). This command is very useful to find the full path to a file and determine if a file
513 is present on the system. Option <tt>--mirror</tt> allows to search for a file among all the files
514 available on the mirror.</p>
516 <pre>
517 $ tazpkg search-file <em>libnss</em>
518 $ tazpkg -sf <em>/usr/share/fonts</em> --mirror
519 </pre>
520 </article>
521 </section>
526 <section><header>Installing and removing packages</header>
529 <article id="get"><h3>get</h3>
531 <p>Get a package from the mirror (<tt>get</tt> or <tt>-g</tt>). The downloaded package is stored in
532 the current directory. You will get regular package, or get-package, or extra-package (in that
533 order). You can specify <tt>--extra</tt> option to get an extra-package only.</p>
535 <p>You can specify multiple packages on the command line or give tazpkg a list of the packages you
536 want to download or use <tt><a href="#get-list">get-list</a></tt> command.</p>
538 <pre>
539 # tazpkg get <em>grub</em>
540 # tazpkg get <em>nano</em> --root=<em>/mnt/sda6</em>
541 # tazpkg get <em>palemoon</em> --extra
542 # tazpkg -g <em>nano mc</em>
543 # tazpkg -g --list=<em>/tmp/office</em>
544 </pre>
545 </article>
548 <article id="install"><h3>install</h3>
550 <p>This command allows the installation of a local package with the <tt>.tazpkg</tt> extension
551 (<tt>install</tt> or <tt>-i</tt>).</p>
553 <p>Option <tt>--forced</tt> allows you to update an already installed package. Option
554 <tt>--newconf</tt> allows you to rewrite all user configuration files using the new files from a
555 package. Option <tt>--nodeps</tt> allows you to install only a specified package without its
556 dependencies.</p>
558 <p>When TazPkg installs package dependencies, it prefers local packages (i.e. dependent packages
559 located in the same folder as installed packages) over mirrored/cached packages with the <tt>--local</tt> option.
560 It is useful when you want to install a lot of already downloaded packages and their dependencies
561 without the need of a network connection.</p>
563 <p>You can specify multiple packages on the command line or give tazpkg a list of the packages you
564 want to install or use <tt><a href="#get-list">install-list</a></tt> command.</p>
566 <p>See <tt><a href="#get-install">get-install</a></tt> to install a package from the internet.</p>
568 <pre>
569 # tazpkg install <em>package-1.0.tazpkg</em>
570 # tazpkg -i <em>path/to/package-1.0.tazpkg</em> --forced
571 # tazpkg -i <em>path/to/package-1.0.tazpkg</em> --root=<em>/mnt/rootfs</em>
572 # tazpkg -i <em>nano-2.4.0.tazpkg mc-4.8.14.tazpkg</em>
573 # tazpkg -i --list=<em>/tmp/development</em>
574 # cd <em>/home/boot/packages</em>; tazpkg -i <em>nano-2.4.0.tazpkg</em> --local
575 </pre>
576 </article>
579 <article id="get-install"><h3>get-install</h3>
581 <p>Get and install a package from a mirror on the internet (<tt>get-install</tt> or <tt>-gi</tt>).
582 Command begins by checking whether the package exists on the mirror and if it has been already
583 downloaded.</p>
585 <p>Option <tt>--forced</tt> allows you to update an already installed package. Option
586 <tt>--newconf</tt> allows you to rewrite all user configuration files using the new files from a
587 package. Option <tt>--nodeps</tt> allows you to install only a specified package without its
588 dependencies.</p>
590 <p>You can specify multiple packages on the command line or give tazpkg a list of the packages you
591 want to get and install or use <tt><a href="#get-list">get-install-list</a></tt>
592 command.</p>
594 <p>For a list of packages on the mirror, you must use the <tt><a
595 href="#list-mirror">list-mirror</a></tt> command.</p>
597 <pre>
598 # tazpkg get-install <em>grub</em>
599 # tazpkg -gi <em>grub</em> --forced
600 # tazpkg -gi <em>nano</em> --root=<em>/mnt/sda6</em>
601 # tazpkg -gi <em>nano mc</em>
602 # tazpkg -gi --list=<em>/tmp/multimedia</em>
603 </pre>
604 </article>
607 <article id="get-list"><h3>get-list, install-list, get-install-list</h3>
609 <p>Get and/or install a set of packages listed in a file. This command allows you to work with the
610 several packages with a single command.</p>
612 <p>All options are the same as for respective simple commands: <tt><a href="#get">get</a></tt>,
613 <tt><a href="#install">install</a></tt> and <tt><a href="#get-install">get-install</a></tt>.</p>
615 <pre>
616 # tazpkg install-list <em>my-packages.list</em>
617 # tazpkg get-install-list <em>my-packages.list</em> --forced
618 </pre>
619 </article>
622 <article id="remove"><h3>remove</h3>
624 <p>Remove a package (<tt>remove</tt> or <tt>-r</tt>). You will be asked for confirmation (y/N) of
625 removing the package, as well as for removing packages depending on this package, and for
626 reinstalling packages modified by this package. This command will delete all files installed with
627 the package.</p>
629 <p>Option <tt>--auto</tt> removes and reinstalls packages without your confirmation.</p>
631 <pre>
632 # tazpkg remove <em>bc</em>
633 # tazpkg -r <em>gtk+-3</em> --root=<em>/mnt/sda6</em>
634 # tazpkg -r <em>nano</em> --auto
635 </pre>
636 </article>
639 <article id="reconfigure"><h3>reconfigure</h3>
641 <p>Replays the post-install script from the package.</p>
643 <pre>
644 # tazpkg reconfigure <em>gcc</em>
645 # tazpkg reconfigure <em>gcc</em> --root=<em>/mnt/sda6</em>
646 </pre>
647 </article>
650 <article id="link"><h3>link</h3>
652 <p>This command allows the installation of a package from another media device. The set up is done
653 through symbolic links and consumes very little memory. It is generally used within the system RAM
654 to install add-ons from a USB key.</p>
656 <pre>
657 # tazpkg link <em>openoffice /media/usbdisk</em>
658 </pre>
659 </article>
662 <article id="set-release"><h3>set-release</h3>
664 <p>This command changes the current version and upgrades all of the packages to the latest
665 release.</p>
667 <pre>
668 # tazpkg set-release <em>cooking</em>
669 </pre>
670 </article>
673 <article id="add-flavor"><h3>add-flavor, install-flavor</h3>
675 <p>Install a set of packages from a flavor. In addition, <tt>install-flavor</tt> purges other
676 installed packages.</p>
678 <pre>
679 # tazpkg add-flavor <em>gtkonly</em>
680 # tazpkg install-flavor <em>justx</em>
681 </pre>
682 </article>
683 </section>
688 <section><header>Working with packages</header>
691 <article id="info"><h3>info</h3>
693 <p>Show all the available information related to your package. You can specify the name of the
694 installed package or a package that is not yet installed, but available in the repository. You can
695 also get information about a local file package by entering an absolute or relative path to the file
696 <tt>.tazpkg</tt>. The information contained in the TazPkg database and in the package recipe — its
697 version, category, maintainer, Web site and all the dependencies (see also <a
698 href="../cookutils/cookutils.en.html" target="_blank">Cookutils</a> for more information on
699 recipes).</p>
701 <pre>
702 $ tazpkg info <em>busybox</em>
703 $ tazpkg info <em>minitube</em>
704 $ tazpkg info <em>packages/comix-4.0.4.tazpkg</em>
705 </pre>
706 </article>
709 <article id="desc"><h3>desc</h3>
711 <p>Description of the package (<tt>desc</tt> or <tt>-d</tt>).</p>
713 <pre>
714 $ tazpkg desc <em>busybox</em>
715 </pre>
716 </article>
719 <article id="list-files"><h3>list-files</h3>
721 <p>List all files installed with a package (<tt>list-files</tt> or <tt>-lf</tt>). This command will
722 simply read and display the <tt>files.list</tt> of each package which is automatically generated
723 when the package is created and is also used to remove files when uninstalling a package.</p>
725 <pre>
726 $ tazpkg list-files <em>bc</em>
727 </pre>
728 </article>
731 <article id="block"><h3>block, unblock, chblock</h3>
733 <p>The <tt>block</tt> (or <tt>-b</tt>) and <tt>unblock</tt> (or <tt>-u</tt>) commands permit you to
734 block installed package versions so that they are not maintained by an <tt><a
735 href="#upgrade">upgrade</a></tt>. Command <tt>chblock</tt> changes the blocking state of the
736 package. The list of packages on hold are contained in the
737 <tt>/var/lib/tazpkg/blocked-packages.list</tt>. This file can also be edited by hand.</p>
739 <pre>
740 # tazpkg block <em>grub</em>
741 # tazpkg unblock <em>grub</em>
742 # tazpkg chblock <em>grub</em>
743 </pre>
744 </article>
747 <article id="check"><h3>check</h3>
749 <p>Check dependencies on installed packages and determine whether all the files needed for the
750 repacking of packages are present. You can specify package name to check or check all installed
751 packages. Option <tt>--full</tt> makes few more checks and need more time.</p>
753 <pre>
754 $ tazpkg check
755 $ tazpkg check --full
756 $ tazpkg check <em>nano</em>
757 $ tazpkg check <em>sakura</em> --full
758 </pre>
759 </article>
762 <article id="bugs"><h3>bugs</h3>
764 <p>Generates a list of known bugs in the packages. You can specify a single package to show
765 bugs.</p>
767 <pre>
768 $ tazpkg bugs
769 $ tazpkg bugs <em>nano</em>
770 </pre>
771 </article>
774 <article id="depends"><h3>depends, rdepends</h3>
776 <p>Displays a dependency tree or reverse dependency tree for a package.</p>
778 <p>For <code>depends</code> command: option <tt>--mark</tt> marks installed packages with plus sign
779 and not installed with a minus/dash. Option <tt>--total</tt> calculates the number of displayed
780 packages and their size. Also, with both options at a time you'll get the number and size of
781 packages to be installed.</p>
783 <p>For <code>rdepends</code> command: <em>without</em> the <tt>--all</tt> option you'll get the list
784 of only installed reverse dependency packages, <em>with</em> this option — a list of all available
785 packages. Option <tt>--mark</tt> marks packages as in the <code>depends</code> command.</p>
787 <pre>
788 $ tazpkg depends <em>mpd</em>
789 $ tazpkg rdepends <em>mpd</em>
790 </pre>
791 </article>
794 <article id="extract"><h3>extract</h3>
796 <p>Extract a package into a directory (<tt>extract</tt> or <tt>-e</tt>). If you do not specify the
797 destination directory, the package will be extracted in the current directory using the name
798 <tt><em>package-version</em></tt>.</p>
800 <pre>
801 $ tazpkg extract <em>package.tazpkg</em>
802 $ tazpkg extract <em>package.tazpkg target/dir</em>
803 </pre>
804 </article>
807 <article id="pack"><h3>pack</h3>
809 <p>Create a package from a directory prepared in advance or from an unpacked package. It can also
810 manually create a <tt>.tazpkg</tt> package (see the <a href="../cookutils/cookutils.en.html"
811 target="_blank">Cookutils</a> documentation for the automatic creation of packages).</p>
813 <pre>
814 # tazpkg pack <em>package-version</em>
815 </pre>
816 </article>
819 <article id="repack"><h3>repack</h3>
821 <p>Recreate a package from the files on a system where it was previously installed.</p>
823 <pre>
824 # tazpkg repack <em>package</em>
825 </pre>
826 </article>
829 <article id="repack-config"><h3>repack-config</h3>
831 <p>Recreate a package of the system configuration files (see <tt><a
832 href="#list-config">list-config</a></tt>). It is enough to install the package to find the current
833 configuration.</p>
835 <pre>
836 # tazpkg repack-config
837 </pre>
838 </article>
841 <article id="recompress"><h3>recompress</h3>
843 <p>Recompress <tt>.tazpkg</tt> cpio archive with lzma.</p>
845 <pre>
846 # tazpkg recompress <em>package.tazpkg</em>
847 </pre>
848 </article>
851 <article id="convert"><h3>convert</h3>
853 <p>Converts an “alien” package into a SliTaz package (<tt>.tazpkg</tt>) (<tt>convert</tt> or
854 <tt>-c</tt>).</p>
856 <p>Supported packages formats:</p>
858 <ul>
859 <li><a href="https://packages.debian.org/search" target="_blank">Debian packages</a>
860 (<tt>*.deb</tt>, <tt>*.udeb</tt>)</li>
861 <li><a href="http://rpmfind.net/linux/rpm2html/search.php" target="_blank">RPM packages</a>
862 (<tt>*.rpm</tt>)</li>
863 <li><a href="http://www.slax.org/" target="_blank">Slax packages</a>
864 (<tt>*.sb</tt>)</li>
865 <li><a href="http://puppylinux.org/" target="_blank">Puppy packages</a>
866 (<tt>*.sfs</tt>, <tt>*.pet</tt>)</li>
867 <li><a href="http://www.slackware.com/packages/" target="_blank">Slackware packages</a>
868 (<tt>*.tgz</tt>)</li>
869 <li><a href="http://www.nutyx.org/" target="_blank">NuTyX packages</a>
870 (<tt>*.cards.tar.xz</tt>)</li>
871 <li><a href="https://www.archlinux.org/packages/" target="_blank">Arch Linux</a> /
872 <a href="http://pkgs.alpinelinux.org/packages" target="_blank">Alpine Linux packages</a>
873 (<tt>*.apk</tt>, <tt>*.pkg.tar.gz</tt>, <tt>*.pkg.tar.xz</tt>)</li>
874 <li><a href="http://wiki.openwrt.org/doc/packages" target="_blank">OpenWrt packages</a>
875 (<tt>*.ipk</tt>, <tt>*.opk</tt>)</li>
876 <li><a href="http://0.tuxfamily.org/doku.php/paquets/start" target="_blank">0Linux packages</a>
877 (<tt>*.spack</tt>)</li>
878 <li><a href="http://www.paldo.org/index-section-packages.html" target="_blank">paldo packages</a>
879 (<tt>*.tar.bz2</tt>)</li>
880 <li><a href="http://www.voidlinux.eu/packages/" target="_blank">Void packages</a>
881 (<tt>*.xbps</tt>)</li>
882 <li><a href="http://tinycorelinux.net/" target="_blank">Tinycore packages</a>
883 (<tt>*.tce</tt>, <tt>*.tcel</tt>, <tt>*.tcem</tt>, <tt>*.tcz</tt>)</li>
884 </ul>
886 <pre>
887 # tazpkg convert <em>alien-package-file</em>
888 </pre>
889 </article>
892 <article id="list-suggested"><h3>list-suggested</h3>
894 <p>List suggested packages for each of your installed packages. With option <tt>--all</tt> it shows
895 all suggested packages, and without option it shows only non installed suggested packages.</p>
897 <pre>
898 $ tazpkg list-suggested
899 $ tazpkg list-suggested --all
900 </pre>
901 </article>
902 </section>
907 <section><header>Working with repositories</header>
910 <article id="recharge"><h3>recharge</h3>
912 <p>Recharge the list of available packages on the mirror. This command will download the most recent
913 packages database of installable packages on the mirror and before starting will save the old
914 database. Once the DB is updated, you can then use the <tt><a href="#list">list</a></tt> and
915 <tt><a href="#search">search</a></tt> commands. To view and list the differences, you can use
916 <code>list-mirror --diff</code>; and to view and update packages, you can simply
917 <tt><a href="#upgrade">upgrade</a></tt>.</p>
919 <p>Command without options will recharge databases of all your repositories. You can specify the
920 repository to be recharged: “main” for main repo, or undigest repository name.</p>
922 <pre>
923 # tazpkg recharge
924 # tazpkg recharge main
925 # tazpkg recharge <em>My_Undigest</em>
926 # tazpkg recharge --root=<em>/mnt/sda6</em>
927 </pre>
928 </article>
931 <article id="upgrade"><h3>upgrade</h3>
933 <p>Upgrade allows you to update all installed packages available on the current mirror
934 (<tt>upgrade</tt> or <tt>up</tt>). Upgrading packages is an important part of system security, it
935 helps to keep you secure with the latest updates and fixes. The SliTaz project, although tiny,
936 provides regular updates on security and generally offers the latest versions of software. Note that
937 this function is aimed at people with SliTaz installed on a hard drive. Updated packages in Live CD
938 mode will be lost on system shutdown.</p>
940 <p>At the beginning the packages database is updated automatically (<tt><a
941 href="#recharge">recharge</a></tt>) in order to provide you with the current list of packages that
942 you can update.</p>
944 <p>Without options it runs in interactive mode and asks before install. You can specify one of the
945 next options: <tt>-c</tt> or <tt>--check</tt> to check only for available upgrades; <tt>-i</tt> or
946 <tt>--install</tt> to check for upgrades and install them all.</p>
948 <pre>
949 # tazpkg upgrade
950 # tazpkg up --check
951 # tazpkg up -i
952 </pre>
953 </article>
956 <article id="setup-mirror"><h3>setup-mirror</h3>
958 <p>Setup the URL for the mirror (<tt>setup-mirror</tt> or <tt>-sm</tt>). Command will ask for the
959 URL of the new mirror. Note that you can also modify the main <tt>/var/lib/tazpkg/mirror</tt> file.
960 The URL must point to the directory containing the <tt>packages.info</tt> and packages.</p>
962 <pre>
963 # tazpkg setup-mirror
964 </pre>
965 </article>
968 <article id="add-undigest"><h3>add-undigest, setup-undigest</h3>
970 <p>Set the URL of an additional unofficial mirror to test packages that are not yet present on the
971 official mirrors. Note, you can also manually edit the file in
972 <tt>/var/lib/tazpkg/undigest/<em>repository</em></tt>. The URL must point to the directory
973 containing the packages and <tt>packages.info</tt>.</p>
975 <pre>
976 # tazpkg add-undigest <em>public-repository http://my.home.org/slitaz</em>
977 # tazpkg setup-undigest <em>local-repository /home/slitaz/packages</em>
978 </pre>
979 </article>
982 <article id="list-undigest"><h3>list-undigest</h3>
984 <p>Lists additional undigest mirrors. Option <tt>--box</tt> will output list in the table form.</p>
986 <pre>
987 $ tazpkg list-undigest
988 $ tazpkg list-undigest --box
989 </pre>
990 </article>
993 <article id="remove-undigest"><h3>remove-undigest</h3>
995 <p>Removes the URL of an undigest mirror. You will be asked for confirmation.</p>
997 <pre>
998 # tazpkg remove-undigest <em>my-repository</em>
999 </pre>
1000 </article>
1003 <article id="mkdb"><h3>mkdb</h3>
1005 <p>Make a TazPkg database for a selected folder with *.tazpkg packages.</p>
1007 <p>The following files describing packages will be created inside the selected folder: <tt>packages.info</tt>,
1008 <tt>packages.equiv</tt>, <tt>descriptions.txt</tt>, <tt>files.list.lzma</tt>, <tt>IDs</tt>.
1009 Do nothing if the database already exists; you can also force database files rebuilding with the
1010 <tt>--forced</tt> option.</p>
1012 <pre>
1013 # tazpkg mkdb <em>/home/boot/packages</em>
1014 # tazpkg mkdb <em>/home/boot/packages</em> --forced
1015 </pre>
1016 </article>
1017 </section>
1022 <section><header>Maintainer</header>
1024 <p>Christophe Lincoln &lt;pankso at slitaz.org&gt;</p>
1025 </section>
1030 <footer>
1031 Copyright © 2015 <a href="http://www.slitaz.org/en/">SliTaz GNU/Linux</a>
1032 </footer>
1034 </body>
1035 </html>