Slackware's package management system can install, upgrade, and remove packages from local sources, but makes no attempt to track or manage dependencies, relying on the user to ensure that the system has all the supporting system libraries and programs required by the new package. If any of these are missing, there may be no indication until one attempts to use the newly installed software.
Slackware packages are tarballs. Prior to version 13.0, the compression method was gzip with filenames ending in .tgz. Beginning with version 13.0, the compression method for packages was changed from gzip to lzma. With the change in compression method, the filename extension was changed to .txz so there would be no confusion between the two package formats. The updated package manager maintains support for the older package format.
The package contains the files that form part of the software being installed, as well as additional files for the benefit of the Slackware package manager. The files that form part of the software being installed are organized such that, when extracted into the root directory, their files are placed in their installed locations. The other files are those placed under the install/ directory inside the package.
Two files are commonly found in the install/ directory, which are the slack-desc and doinst.sh files. These are not placed directly into the filesystem in the same manner as the other files in the package. The slack-desc file is a simple text file which contains a description of the package being installed. This is used when viewing packages using the package manager. The doinst.sh file is a shell script which is usually intended to run commands or make changes which could not be best made by changing the contents of the package. This script is run at the end of the installation of a package.