2 Installation
Anagnostakis Ioannis edited this page 2026-06-25 04:10:20 +03:00

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 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, native-tls, 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 goes through the system OpenSSL via native-tls, so the distribution's security updates flow into slacker automatically.

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.