mirror of
https://github.com/rworkman/slackpkg
synced 2024-11-15 19:47:54 +01:00
13c79b1eb2
To make easier to do an unattended slackpkg update/upgrade process, this commit provides different exit codes to many situations: 0 Successful slackpkg execution. 1 Something wrong happened. 20 No package found to be downloaded, installed, reinstalled, upgraded, or removed. 50 Slackpkg itself was upgraded and you need to re-run it. 100 There are pending updates. Code and the main manpage are updated accordingly. In addition, this commit also: - removes the ChangeLog.txt in doinst.sh, so the needed 'slackpkg update' after Slackpkg upgrade won't says it's all OK and don't need to redo the package lists - removes AUTHORS from manpage. Nowadays there are code from many people in Slackpkg and shows a bit unfair to have only my and Evaldo's name listed there. Signed-off-by: Robby Workman <rworkman@slackware.com>
349 lines
9.4 KiB
Groff
349 lines
9.4 KiB
Groff
.TH SLACKPKG 8 "Oct 8, 2021" slackpkg-15.0.8 ""
|
|
.SH NAME
|
|
.B slackpkg
|
|
\- Automated tool for managing Slackware Linux packages
|
|
|
|
.SH SYNOPSIS
|
|
.B slackpkg
|
|
.B [OPTIONS]
|
|
.B {install|remove|search|file-search|download|upgrade|reinstall}
|
|
.BI { PATTERN | FILE }
|
|
|
|
.B slackpkg [OPTIONS] {clean-system|upgrade-all|install-new}
|
|
|
|
.B slackpkg
|
|
.B [OPTIONS]
|
|
.B {generate-template|install-template|remove-template}
|
|
.I TEMPLATENAME
|
|
|
|
.B slackpkg [OPTIONS] info
|
|
.I PACKAGE
|
|
|
|
.B slackpkg [OPTIONS] update [gpg]
|
|
|
|
.B slackpkg [OPTIONS] {new-config|check-updates|show-changelog}
|
|
|
|
.B slackpkg [OPTIONS] help
|
|
|
|
.SH DESCRIPTION
|
|
Slackpkg is a tool for those who want to easily install or upgrade
|
|
packages via the network. With slackpkg, you can have a minimal
|
|
installation of Slackware Linux and install/upgrade only those packages
|
|
you need most.
|
|
|
|
You don't need to setup NFS or make dozens of CDs for all your
|
|
computers; all you need to do is to type one command and all of
|
|
the latest official Slackware packages will be at your fingertips.
|
|
|
|
.SH INSTRUCTIONS
|
|
Slackpkg has many features. It can search for specific files, remove
|
|
all third-party packages in your system, install packages added to
|
|
Slackware since your last update, show package descriptions, etc.
|
|
|
|
Before you do anything, you will need to uncomment one mirror in
|
|
/etc/slackpkg/mirrors file and run:
|
|
|
|
.in +5
|
|
# slackpkg update
|
|
.in
|
|
|
|
The "update" action will download and format the list of files and
|
|
packages in Slackware. Every time this list is changed, the update
|
|
needs to be run.
|
|
|
|
The main features of Slackpkg are the ones directly related to
|
|
package management: install, upgrade, and remove packages.
|
|
To do any of these tasks, the Slackpkg syntax is:
|
|
|
|
.in +5
|
|
# slackpkg [OPTIONS] <action> {PATTERN|FILE}
|
|
.in
|
|
|
|
.I OPTIONS
|
|
can be one or more of the many configuration options listed in
|
|
/etc/slackpkg/slackpkg.conf. There are equivalent command line options
|
|
for most of the configuration directives found in slackpkg.conf - see the
|
|
.B slackpkg.conf(5)
|
|
man-page to see what options are available.
|
|
|
|
.I PATTERN
|
|
can be a package name or just part of package name. It can also
|
|
be a software series (like kde, a, ap, ...).
|
|
.br
|
|
|
|
.I FILE
|
|
is a file with a list of
|
|
.I PATTERNs
|
|
inside: either one per line,
|
|
or several per line with spaces as separators.
|
|
|
|
Slackpkg can be used to upgrade the whole distribution.
|
|
.br
|
|
The usual way is to do:
|
|
|
|
.in +5
|
|
# slackpkg update
|
|
.br
|
|
# slackpkg install-new
|
|
.br
|
|
# slackpkg upgrade-all
|
|
.br
|
|
# slackpkg clean-system
|
|
.in
|
|
|
|
Another feature of Slackpkg is the ability to work with templates, which can
|
|
make it much easier to create different machines with the same contents of
|
|
packages. The basic steps are as follows:
|
|
|
|
.RS +5
|
|
.IP \(bu 2
|
|
Install one machine
|
|
.IP \(bu 2
|
|
Run "slackpkg generate-template TEMPLATENAME"
|
|
.IP \(bu 2
|
|
Copy /etc/slackpkg/templates/TEMPLATENAME.template to the same directory on
|
|
the other machine
|
|
.IP \(bu 2
|
|
Run "slackpkg install-template TEMPLATENAME" on the other machine
|
|
.RE
|
|
|
|
.I TEMPLATENAME
|
|
is the name of your template.
|
|
|
|
Following this manual page, you can find what each of these (and other)
|
|
actions does.
|
|
|
|
.SH ACTIONS
|
|
.TP 5
|
|
.B help
|
|
.br
|
|
Show slackpkg's actions and a short description of them. Useful if you need
|
|
to know a little about slackpkg. The information here, on man-page is much
|
|
more complete.
|
|
|
|
.TP 5
|
|
.B update
|
|
.br
|
|
update will download the latest package lists from a Slackware mirror
|
|
(or your CD). It's a good idea to run
|
|
|
|
.in +5
|
|
# slackpkg update
|
|
.in
|
|
|
|
before attempting to upgrade, install, or search for packages.
|
|
.br
|
|
If you need to update Slackware's GPG key, run
|
|
|
|
.in +5
|
|
# slackpkg update gpg
|
|
.in
|
|
|
|
The GPG key doesn't change. This should be a "one time" command - run it
|
|
once and forget it...
|
|
|
|
.TP 5
|
|
.B check-updates
|
|
.br
|
|
Verify if there is any update to ChangeLog.txt. This is good to be used from
|
|
cron to alert the sysadmin about updates.
|
|
|
|
.TP 5
|
|
.B show-changelog
|
|
.br
|
|
Display Slackware ChangeLog.txt file and exit.
|
|
|
|
.TP 5
|
|
.B file-search
|
|
.br
|
|
You can search the official Slackware packages for any file in the Slackware
|
|
distribution. Do you need a strange library? Use file-search to find it.
|
|
|
|
.in +5
|
|
# slackpkg file-search filename
|
|
.in
|
|
|
|
All packages with matching "filename" will be shown, thus you can see whether
|
|
the packages are installed or not; if not, you can download and install them
|
|
with other slackpkg actions.
|
|
Multiple filenames may be requested for searching by separating them with
|
|
space; those fragments will be ORed;
|
|
still, "filename" must be one argument; quotes and/or escapes are at your
|
|
discretion.
|
|
See also
|
|
.BR CAVEATS .
|
|
|
|
.TP 5
|
|
.B search
|
|
.br
|
|
You can search for any package distributed in Slackware.
|
|
|
|
.in +5
|
|
# slackpkg search pattern
|
|
.in
|
|
|
|
All packages names that matches with "pattern" will be shown.
|
|
Like file-search, you can see whether the packages are installed or not; if
|
|
not, you can download and install them with other slackpkg actions.
|
|
|
|
.TP 5
|
|
.B install
|
|
.br
|
|
Installation of a package is very simple. Just use a command like this:
|
|
|
|
.in +5
|
|
# slackpkg install package
|
|
.in
|
|
|
|
and the package will be downloaded and installed.
|
|
.br
|
|
You can't use the "install" option to install an already installed package,
|
|
but you may reinstall or upgrade it.
|
|
|
|
.TP 5
|
|
.B upgrade
|
|
.br
|
|
upgrade installs the most recent official version of the specified package(s).
|
|
|
|
upgrade will not attempt to install new packages (use the install
|
|
function for that purpose; the latest official version of the package
|
|
will be installed).
|
|
.TP 5
|
|
.B reinstall
|
|
.br
|
|
In case you mistakenly corrupt something, the reinstall option will allow
|
|
you to reinstall the same version of a package that is currently installed.
|
|
|
|
.TP 5
|
|
.B remove
|
|
.br
|
|
With remove, you can remove certain installed packages. As an example:
|
|
|
|
.in +5
|
|
# slackpkg remove kde
|
|
.in
|
|
|
|
will remove all packages with "kde" in their name.
|
|
|
|
.TP 5
|
|
.B download
|
|
.br
|
|
This action tells slackpkg to download the packages, but not to install them.
|
|
They will be placed in /var/cache/packages, and you can
|
|
install/upgrade/reinstall them later (or burn them to CD).
|
|
|
|
.TP 5
|
|
.B info
|
|
.br
|
|
This action prints information about the package(s): compressed and
|
|
uncompressed size, description, etcetera...
|
|
|
|
.TP 5
|
|
.B clean-system
|
|
.br
|
|
This action removes all of the packages that don't belong to a standard
|
|
Slackware installation. With this option, you can clean up your system,
|
|
removing third-party packages as well as any packages that were removed
|
|
from the official Slackware package set.
|
|
.br
|
|
If you have some third party (or custom built) packages that you would like
|
|
to keep, you can temporarily add them to the list of blacklisted packages
|
|
before you run the 'clean-system' action.
|
|
|
|
.TP 5
|
|
.B upgrade-all
|
|
.br
|
|
This action upgrades every package installed on the system to the version in
|
|
the official Slackware tree; this is the "good" way to upgrade the entire
|
|
system.
|
|
.br
|
|
Remember to use the "install-new" action before you use "upgrade-all."
|
|
|
|
.TP 5
|
|
.B install-new
|
|
This action installs any new packages that are added to the official
|
|
Slackware package set. Run this if you are upgrading your system to
|
|
another Slackware version or if you are using -current.
|
|
.br
|
|
If you want to install all uninstalled Slackware packages onto your system,
|
|
use the following command instead of the install-new action:
|
|
|
|
.in +5
|
|
# slackpkg install slackware.
|
|
.in
|
|
.TP 5
|
|
.B new-config
|
|
This action searches for .new configuration files and ask the user what to
|
|
do with those files.
|
|
.br
|
|
new-config is very useful when you perform an upgrade and leave the
|
|
configuration files to be reviewed later. Instead of a manual search,
|
|
diff, and replace; you can use the new-config action.
|
|
.br
|
|
new-config searches /etc and /usr/share/vim for new config files.
|
|
.TP 5
|
|
.B generate-template
|
|
This action creates a new template with all official packages that are
|
|
installed in your system. The template is stored at /etc/slackpkg/templates
|
|
.TP 5
|
|
.B install-template
|
|
This action install the required template in the system. The template must
|
|
be in /etc/slackpkg/templates. If the template "includes" other templates,
|
|
all of them need to be in /etc/slackpkg/templates. You can disable the
|
|
"includes" in slackpkg.conf or in command-line.
|
|
.TP 5
|
|
.B remove-template
|
|
This action remove all packages that are part of selected template. Be
|
|
careful, this can put your machine in an unusable state. The "include"
|
|
handling can be activated/deactivated in slackpkg.conf or with the
|
|
appropriate option in command-line.
|
|
|
|
.SH CAVEATS
|
|
Long story short \(em spaces in filenames (of "file-search" action) are not
|
|
supported.
|
|
If you happen to be looking for a filename-with-space, you are safe to use the
|
|
left-most part up to the space (in that the right-most part after the space
|
|
will be ignored anyway (at best) or yield noise (at worst)).
|
|
|
|
.SH EXIT STATUS
|
|
.P
|
|
.IP "\fB0\fP" 5
|
|
Successful slackpkg execution.
|
|
.IP "\fB1\fP" 5
|
|
Something wrong happened.
|
|
.IP "\fB20\fP" 5
|
|
No package found to be downloaded, installed, reinstalled, upgraded, or
|
|
removed.
|
|
.IP "\fB50\fP" 5
|
|
Slackpkg itself was upgraded and you need to re-run it.
|
|
.IP "\fB100\fP" 5
|
|
There are pending updates.
|
|
|
|
.SH FILES
|
|
.TP 5
|
|
.B /etc/slackpkg/mirrors
|
|
File to specify the location from which to download packages
|
|
.TP 5
|
|
.B /etc/slackpkg/slackpkg.conf
|
|
General configuration of slackpkg
|
|
.TP 5
|
|
.B /etc/slackpkg/blacklist
|
|
List of packages to skip
|
|
.TP 5
|
|
.B /etc/slackpkg/templates
|
|
Contains all template files
|
|
.TP 5
|
|
.B /usr/libexec/slackpkg
|
|
Contains slackpkg core and additional functions
|
|
.TP 5
|
|
.B /var/lib/slackpkg
|
|
Slackpkg internal use - Formatted package lists, copy of
|
|
ChangeLog.txt, list of files, etcetera...
|
|
|
|
.SH "SEE ALSO"
|
|
.BR slackpkg.conf (5),
|
|
.BR installpkg (8),
|
|
.BR upgradepkg (8),
|
|
.BR explodepkg (8),
|
|
.BR makepkg (8),
|
|
.BR pkgtool (8).
|