Skip to content
Anagnostakis Ioannis edited this page Jul 12, 2026 · 20 revisions

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

slacker

slackpkg + slackpkg+RustSlackwareLicensestatusrelease

slacker

slackpkg + slackpkg+ in one - a Slackware package manager written in Rust.

slacker gives you full slackpkg action parity and slackpkg+-style multi-repo priority resolution in a single, fast, dependency-light binary. The official mirror is just one repository whose priority you choose, so it can sit anywhere in your stack - and a distinct, high priority locks a repository's packages so nothing of lower priority can ever silently replace or downgrade them.

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#161b22','primaryBorderColor':'#1f6feb','primaryTextColor':'#e6edf3','lineColor':'#6e7781','fontFamily':'monospace'}}}%%
flowchart LR
Q["a package name"] --> R{"highest-priority repo<br/>that offers it"}
R --> W["that build is installed"]
P["repo:name pin"] -. "the only override" .-> R
classDef grey fill:#0d1117,stroke:#6e7781,color:#8b949e;
classDef blue fill:#0d1117,stroke:#1f6feb,color:#e6edf3;
classDef green fill:#0d1117,stroke:#2ea043,color:#e6edf3;
class Q,P grey
class R blue
class W green
Loading

Status: beta / work in progress. slacker builds and runs on Slackware -current - 64-bit (x86_64) and, as of 0.9.0, 32-bit (i586/i686) - and is offered for testers. It is not built for Slackware 15.0 and never will be. See Status and Roadmap.


Why slacker

  • One tool, many repositories. The official mirror, extra/testing/patches, alienbob, conraid, ktown, your own - all in a single priority-ordered model.
  • Priority above all. An installed package is never silently migrated to a different repository or downgraded. Give a repo a high priority and its packages are protected - only an explicit repo:name pin overrides it. See Repositories and Priority.
  • Honest verification. GPG on every update, per-package signatures at install, trust-on-first-use key pinning, and a quarantine model for misbehaving repos. See Security.
  • A real history command. A newest-first timeline of every package change on the box - installed, upgraded, reinstalled, removed - even changes made by other tools. See Package History.
  • Thin by design. It never reimplements installpkg/upgradepkg/removepkg, gpg, or bzip2 - it calls the tools Slackware already ships.
  • Plain text, everywhere. Everything you edit is a plain-text file under /etc/slacker/.

Quick start

After installing the package, you edit two files and run a few commands:

# 1) find the fastest fresh mirror, then activate exactly one in /etc/slacker/mirrors
slacker find-mirror
$EDITOR /etc/slacker/mirrors
# 2) set your repo priorities$EDITOR /etc/slacker/repos
# 3) check the setup - works even before update, and lists what to do next
slacker status
# 4) import keys once, then refresh
slacker update gpg
slacker update
slacker install-new
slacker upgrade-all

Full walkthrough: Quick Start.


Documentation

Installationbinary package and building from source
Quick Startfirst-time setup, step by step
Configurationslacker.conf, mirrors, repos, blacklist
Repositories and Prioritythe priority model, subtree, pins, @ selectors
Commandsfull reference for all 35 actions
Common Workflowsthe recipes you will actually use
Distribution Upgradeupgrade-dist - moving to a new Slackware release
Package Historythe history command
Dependencies.dep resolution
Dockerthe minimal container image and its resolve-stock bootstrap
SecurityGPG, key pinning, verification, quarantine
Blacklistfreezing and hiding packages
Templatessnapshot and replay package sets
Comparisonslacker vs slackpkg vs slackpkg+
FAQtroubleshooting and common questions
Contributingarchitecture and how to build/test
Building and Releasingfreezing dependencies for a distro package
Status and Roadmapwhat works today, what is planned
The Emblemthe labyrinth logo and where it comes from

slacker is free software under the Apache License 2.0, by Ioannis Anagnostakis (rizitis). Sources: https://forge.slackware.nl/rizitis/slacker.

Clone this wiki locally