LinuxCommandLibrary

removepkg

Remove Slackware packages

TLDR

Remove a package

$ sudo removepkg [package_name]
copy

Generate a report of a simulated removal to stdout
$ removepkg -warn [package_name]
copy

Reconstruct the package subtree in /tmp/preserved_packages/package_name and remove the package
$ sudo removepkg -preserve [package_name]
copy

Copy package under /tmp/preserved_packages/package_name without removing
$ removepkg -copy [package_name]
copy

Save temporary files created by removepkg for debugging
$ sudo removepkg -keep [package_name]
copy

SYNOPSIS

removepkg [options] package_name ...
removepkg --version

PARAMETERS

package_name
    The name(s) of the package(s) to remove. Multiple packages can be specified. Wildcards can often be used.

-warn
    Display a warning and ask for confirmation before removing the package, providing a chance to abort.

-preserve
    Attempt to preserve configuration files that were modified by the user during the package's installation.

-copy
    Instead of permanently deleting files, copy them to a .bak directory under the install root before removal.

-root new_root
    Specify an alternate root directory to operate on. This is useful for chroot environments or preparing custom images.

--version
    Display the version information of the removepkg utility and exit.

DESCRIPTION

removepkg is the primary command-line utility for uninstalling software packages on a Slackware Linux system. Unlike modern package managers that automatically handle dependencies, removepkg operates on a more direct, user-controlled basis. It removes all files associated with a specified package, reverting changes made during installation. Users must be aware of potential dependencies and manually remove any packages that become unneeded or broken after an uninstallation.

This design philosophy emphasizes simplicity and user control, a hallmark of Slackware. The command typically requires root privileges to execute and is an integral part of Slackware's straightforward, script-based package management toolkit, alongside installpkg and upgradepkg. Careful use is advised to avoid breaking system functionality, as it does not perform dependency checks or warnings by default.

CAVEATS

removepkg does not handle package dependencies automatically. Removing a package that other installed packages rely on can lead to a broken system. Users are solely responsible for managing dependencies manually.

It requires root privileges to run. The command is specific to Slackware Linux and its derivatives; it is not a universally available Linux command. Always exercise caution and understand the implications before removing system-critical packages.

DEPENDENCY MANAGEMENT

removepkg does not perform dependency checks or automatically remove packages that depend on the one being uninstalled. It is entirely up to the user to know which packages depend on others and to remove them in the correct order or determine if they are still needed. This requires a deeper understanding of the system's package structure.

SCRIPT-BASED IMPLEMENTATION

Like most of Slackware's package tools, removepkg itself is typically a shell script. This makes its operation transparent and easily auditable by users, aligning with Slackware's commitment to a simple, understandable, and highly customizable system.

HISTORY

The removepkg utility has been a core component of Slackware Linux's package management system since its inception in 1993. It reflects Slackware's philosophy of simplicity and user control, opting for a straightforward, script-based approach rather than complex dependency resolution. This design has remained largely consistent, emphasizing that users should understand what they are installing and removing, providing a transparent and predictable system.

SEE ALSO

installpkg(8), upgradepkg(8), pkgtool(8), makepkg(8), explodepkg(8)

Copied to clipboard