Table of Contents
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
Status: beta / work in progress. slacker builds and runs on Slackware64-current and is offered for testers. It is not built for Slackware 15.0 and never will be; 32-bit -current support is coming. 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:namepin 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, orbzip2— 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 two commands:
# 1) pick exactly one mirror
$EDITOR /etc/slacker/mirrors
# 2) set your repo priorities
$EDITOR /etc/slacker/repos
# 3) import keys once, then refresh and check
slacker update gpg
slacker update
slacker status
Full walkthrough: Quick Start.
Documentation
| Installation | binary package and building from source |
| Quick Start | first-time setup, step by step |
| Configuration | slacker.conf, mirrors, repos, blacklist |
| Repositories and Priority | the priority model, subtree, pins, @ selectors |
| Commands | full reference for all 31 actions |
| Common Workflows | the recipes you will actually use |
| Package History | the history command |
| Dependencies | .dep resolution |
| Security | GPG, key pinning, verification, quarantine |
| Blacklist | freezing and hiding packages |
| Templates | snapshot and replay package sets |
| Comparison | slacker vs slackpkg vs slackpkg+ |
| FAQ | troubleshooting and common questions |
| Contributing | architecture and how to build/test |
| Building and Releasing | freezing dependencies for a distro package |
| Status and Roadmap | what works today, what is planned |
slacker is free software under the Apache License 2.0, by Ioannis Anagnostakis (rizitis). Sources: https://forge.slackware.nl/rizitis/slacker.
slacker
Getting started
Using slacker
- Commands
- Common Workflows
- Repositories and Priority
- Package History
- Dependencies
- Templates
- Blacklist
Trust & safety
Reference
For contributors
slacker — slackpkg + slackpkg+ in one · Apache-2.0 · by Ioannis Anagnostakis (rizitis) · beta / WIP, for Slackware64-current