SLACKPKG(8)

NAME
slackpkg - Automated tool for managing Slackware Linux packages

SYNOPSIS
slackpkg [OPTIONS] {install|remove|search|file-search|download|upgrade|reinstall} {PATTERN|FILE} slackpkg [OPTIONS] {clean-system|upgrade-all|install-new} slackpkg [OPTIONS] {generate-template|install-template|remove-template} TEMPLATENAME slackpkg [OPTIONS] info PACKAGE slackpkg [OPTIONS] update [gpg] slackpkg [OPTIONS] {new-config|check-updates|show-changelog} slackpkg [OPTIONS] help

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.

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:
# slackpkg update
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:
# slackpkg [OPTIONS] <action> {PATTERN|FILE}
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 slackpkg.conf(5) man-page to see what options are available. PATTERN can be a package name or just part of package name. It can also be a software series (like kde, a, ap, ...).
FILE is a file with a list of PATTERNs inside: either one per line, or several per line with spaces as separators. Slackpkg can be used to upgrade the whole distribution.
The usual way is to do:
# slackpkg update
# slackpkg install-new
# slackpkg upgrade-all
# slackpkg clean-system
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:

    •   Install one machine

    •   Run "slackpkg generate-template TEMPLATENAME"

    •   Copy /etc/slackpkg/templates/TEMPLATENAME.template to the same directory on the other machine

    •   Run "slackpkg install-template TEMPLATENAME" on the other machine
TEMPLATENAME is the name of your template. Following this manual page, you can find what each of these (and other) actions does.

ACTIONS

help
    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.

update
    update will download the latest package lists from a Slackware mirror (or your CD). It's a good idea to run
    # slackpkg update
    before attempting to upgrade, install, or search for packages.
    If you need to update Slackware's GPG key, run
    # slackpkg update gpg
    The GPG key doesn't change. This should be a "one time" command - run it once and forget it...

check-updates
    Verify if there is any update to ChangeLog.txt. This is good to be used from cron to alert the sysadmin about updates.

show-changelog
    Display Slackware ChangeLog.txt file and exit.

file-search
    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.
    # slackpkg file-search filename
    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 CAVEATS.

search
    You can search for any package distributed in Slackware.
    # slackpkg search pattern
    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.

install
    Installation of a package is very simple. Just use a command like this:
    # slackpkg install package
    and the package will be downloaded and installed.
    You can't use the "install" option to install an already installed package, but you may reinstall or upgrade it.

upgrade
    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).

reinstall
    In case you mistakenly corrupt something, the reinstall option will allow you to reinstall the same version of a package that is currently installed.

remove
    With remove, you can remove certain installed packages. As an example:
    # slackpkg remove kde
    will remove all packages with "kde" in their name.

download
    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).

info
    This action prints information about the package(s): compressed and uncompressed size, description, etcetera...

clean-system
    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.
    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.

upgrade-all
    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.
    Remember to use the "install-new" action before you use "upgrade-all."

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.
    If you want to install all uninstalled Slackware packages onto your system, use the following command instead of the install-new action:
    # slackpkg install slackware.

new-config
    This action searches for .new configuration files and ask the user what to do with those files.
    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.
    new-config searches /etc and /usr/share/vim for new config files.

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

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.

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.

CAVEATS
Long story short — 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)).

EXIT STATUS

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.

FILES

/etc/slackpkg/mirrors
    File to specify the location from which to download packages

/etc/slackpkg/slackpkg.conf
    General configuration of slackpkg

/etc/slackpkg/blacklist
    List of packages to skip

/etc/slackpkg/templates
    Contains all template files

/usr/libexec/slackpkg
    Contains slackpkg core and additional functions

/var/lib/slackpkg
    Slackpkg internal use - Formatted package lists, copy of ChangeLog.txt, list of files, etcetera...

SEE ALSO
slackpkg.conf(5), installpkg(8), upgradepkg(8), explodepkg(8), makepkg(8), pkgtool(8).