-
Notifications
You must be signed in to change notification settings - Fork 0
Common Workflows
The recipes you will actually use. All mutating commands need root.
slacker update # refresh metadata (verifies GPG), pick which repos
slacker install-new # install repo packages you don't have (new or removed)
slacker upgrade-all # upgrade everything with a newer revision
slacker clean-system # drop packages the distro no longer ships
slacker new-config # reconcile any leftover *.new config filesWant to know first whether anything changed?
slacker check-updates ; echo "exit=$?" # exit 100 means updates are pendingNot sure your mirror is the best one - or status says it has fallen behind
upstream? Let slacker rank them for you:
slacker find-mirror # probe every official mirror, list the fastest fresh onesIt times each mirror, drops any more than 48 hours behind the upstream master,
ranks the rest by speed, and prints the fastest as the line to put in
/etc/slacker/mirrors. It never edits your config - you paste the suggested line.
It even works before a mirror is configured, so it is also the first command on a
fresh install. See Quick Start.
A distribution upgrade (e.g. 15.0 → -current) is one command - but a big, one-way one. Always preview it first:
slacker --dry-run upgrade-dist current # show the route + plan, change nothing
sudo slacker upgrade-dist current # the real upgrade (interactive)It re-points your mirror and repos to the target release, replaces every package
with the target's build (priority and blacklist deliberately bypassed - the one
command that does), runs install-new + clean-system + a second pass, and ends
with a kernel/initrd/bootloader reminder before you reboot. Have backups, and read
Distribution Upgrade for the full sequence, the allowed routes, and the
(experimental, not yet tested) local-source option.
slacker search firefox # exact name
slacker info ffmpeg # which repo wins, plus all candidates
slacker install mozilla-firefox
slacker install vlc mpv obs-studio # several at once
slacker install alienbob:vlc # take this build from one repo, just this once
slacker --dry-run install vlc # preview only, change nothingIf a pattern matches several packages you get a numbered chooser (Enter = all,
1 3 5 or 2-4 = a subset, n = cancel).
slacker install @gnome # every package in the gnome repo
slacker remove @gnome # the installed packages that came from it
slacker remove @_SBo # every installed SlackBuilds.org packageTwo complementary tools:
-
Tag priority - give your source tag a high priority so
upgrade-allnever migrates or downgrades it:# in /etc/slacker/repos 100 SBo _SBo 100 local _rtz -
Blacklist (
frozen) - freeze a specific package or pattern outright:slacker frozen "@alienbob vlc-[0-9]" # freeze alienbob's vlc only (regex) slacker frozen "webkit2gtk6.0*" # a glob (the dot is literal) slacker frozen kde/ # freeze the whole kde series
-
Pin (
pin) - the opposite of a freeze: take one package only from one repo, ignoring priority, for every command (persistent, stored inblacklist):Pins use an exact name (not a pattern); a freeze on the same package wins.slacker pin alienbob:vlc # vlc now comes only from alienbob slacker unpin vlc # back to normal; `unpin` lists pins
See Repositories and Priority and Blacklist.
Mark those repos immutable (and subtree) in repos, and clean-system will
leave their installed packages alone - no per-package blacklisting needed:
90 extras mirror/extra subtree immutable
91 testing mirror/testing subtree immutable
slacker history --last 30 # the 30 most recent changes
slacker history vlc # one package's whole story
slacker history --installed --since 2026-06-01
slacker history --removed # what left, and whenReconstructed from the pkgtools admin dirs, so it includes changes made by
slackpkg, sbopkg, or plain installpkg too. See Package History.
# on the source machine
slacker generate-template snapshot
# copy /etc/slacker/templates/snapshot.template to the target machine, then:
slacker install-template snapshotSee Templates.
A -current update broke something? Roll an official package back to a previous
version. slacker finds its earlier builds in the system's removed_packages,
fetches the one you pick from the cumulative archive (GPG-verified against the
pinned Slackware key), and downgrades with upgradepkg --reinstall.
slacker revert-pkg emacs # pick from a numbered list of older builds
slacker revert-pkg emacs -y # take the most recent previous version
slacker --dry-run revert-pkg emacs # show the exact build/URL, change nothingAfter a successful revert it offers to freeze the package so the next
upgrade-all won't pull it forward again; lift that later with
slacker unfrozen emacs when a fixed version lands. Official packages only (the
cumulative archive carries no third-party repos), and only on -current - the
command reads VERSION_CODENAME and refuses to run on a stable release, since
mixing -current packages into a stable system would break it. Toggle the feature
with REVERT in slacker.conf. See Commands and Blacklist.
slacker download -o /tmp vlc
slacker download @alienbob # confirms before >10 filesclean-cache later frees the space; metadata and keys are never touched.
slacker - slackpkg + slackpkg+ in one - Apache-2.0 - by Ioannis Anagnostakis (rizitis) - beta / WIP, for Slackware -current (64-bit & 32-bit)
Getting started
Using slacker
- Commands
- Common Workflows
- Distribution Upgrade
- Repositories and Priority
- Package History
- Dependencies
- Docker
- Templates
- Blacklist
Trust & safety
Reference
For contributors