Skip to content

Installation

Anagnostakis Ioannis edited this page Jun 30, 2026 · 12 revisions

EN · EL · FR · ES · IT · RU · ZH · AR · HI · PT · DE

Installation

The easy way: the binary package

On Slackware you install the binary package built from the SlackBuild. It puts everything in place for you:

  • the slacker executable (/usr/local/sbin/slacker),
  • the man page (man slacker),
  • the plain-text config files under /etc/slacker/.

You do not copy anything. After installing the package, the only setup is to edit two files - pick a mirror in mirrors and set your repo priorities in repos - then run slacker status (it checks the setup and tells you what to do next), slacker update gpg, and slacker update. See Quick Start.

On upgrades, Slackware delivers changed config files as *.new so your edits are never clobbered; slacker new-config helps you reconcile them.

Building from source (for developers)

Building needs Rust 1.85.1 or newer - the effective minimum supported Rust version. Current Slackware ships Rust 1.96, which is fine. (The crate itself is edition 2021, but a dependency, clap_lex, is written in edition 2024, and that is what sets the 1.85.1 floor - not slacker's own code.)

cargo build --release
install -m0755 target/release/slacker /usr/sbin/slacker
install -m0644 slacker.8 /usr/man/man8/slacker.8
mkdir -p /etc/slacker/templates
for f in slacker.conf mirrors repos blacklist; do
  install -m0644 examples/etc-slacker/current/$f /etc/slacker/$f
done

No root is needed to build or to run the test suite; only the mutating commands need root.

cargo build
cargo test            # all tests pass; the build is warning-clean

Dependencies

slacker is deliberately dependency-light. Direct crates: clap, ureq, md-5, regex. Everything heavy is shelled out to the tools Slackware already ships:

  • installpkg / upgradepkg / removepkg for the actual package operations,
  • gpg for signature verification,
  • bzip2 for the MANIFEST,
  • sha256sum for SHA checksums.

TLS is handled in-process by rustls (via ureq's tls feature), so slacker has no libssl/system-OpenSSL dependency at all. That is deliberate: a binary with no libssl to satisfy keeps running on an older base than it was built on - which is what lets a -current-built slacker drive a distribution upgrade on a 15.0 box (see Distribution Upgrade).

Packaging notes

If you build a distributable package, freeze the dependency versions first so the build stays reproducible. See Building and Releasing.

Verify it works

slacker --version
slacker status        # health-check the whole setup

Next: Quick Start.

Clone this wiki locally