Blacklist
The blacklist freezes packages you do not want touched, and hides ones you do not
want offered. Rules live in /etc/slacker/blacklist (one per line, # for
comments), or are added for you by the frozen command.
The blacklist is different from command-line PATTERN matching. PATTERNs are substring + series + exact; blacklist rules are unanchored regular expressions (plus
series/and@reposcoping) matched against the full package idname-version-arch-build, exactly likeslackpkg.
Rule syntax
[@repo] PATTERN
PATTERNis a Slackware series when it ends in/(e.g.kde/), otherwise an unanchored regex matched against the full id. Soxf86-.*-202.*catches a 202x build, and a barevlcmatches any id containingvlc. Anchor with^...$for an exact match.- The optional
@repoprefix scopes the rule to one repository: for an available package, its candidate repo; for an installed one, its source.
Frozen vs hidden
| The match is… | Effect |
|---|---|
| installed | frozen — never installed, upgraded, reinstalled, or removed, and never listed by clean-system |
| not installed | hidden from install-new, upgrades, and check-updates, but still shown by search/info marked [blacklisted] |
The blacklist is honoured by every mutating command (including reinstall).
The frozen command
frozen validates rules and appends them to the blacklist for you.
slacker frozen "@alienbob vlc-[0-9]" # freeze only alienbob's vlc
slacker frozen kde/ # freeze the whole kde series
slacker frozen "xf86-.*-202.*" # a regex rule
slacker frozen "@conraid ^ffmpeg-" # exact-ish, scoped to conraid
- Each argument is one rule; quote any rule that contains spaces (an
@reporule, for instance). - slacker flags a likely mistake — an
@repothat names no active repo, or a regex containing whitespace (no package id has spaces, so that is usually a forgotten@or a quoting slip) — and asks whether to declare it anyway. - It prints what each rule will freeze and asks for confirmation.
--yesskips the prompts. Rules already present are skipped.
A worked example: freeze just one repo's vlc
Say you keep vlc from alienbob and never want it replaced or removed:
slacker frozen "@alienbob vlc-[0-9]"
Why vlc-[0-9] and not just vlc? The rule is an unanchored regex over the
full id. vlc alone would also match vlc-plugin-foo or anything containing the
letters; vlc-[0-9] anchors to the version boundary so it matches the vlc
package itself. For a strict match you could write ^vlc-[0-9].
Blacklist vs repo quarantine
These solve different problems:
Blacklist (frozen) |
Quarantine (distrust-repo) |
|
|---|---|---|
| Scope | specific packages (by regex/series) | a whole repository |
| Effect | freeze / hide those packages | the repo provides no packages at all |
| Use it for | "never touch this package" | "do not trust this source right now" |
See Security for the quarantine model.
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