Commands
The full reference for all 31 actions, with the exact descriptions printed by
slacker --help. Run slacker <command> --help for a command's options, or
man slacker for the complete manual.
Global flags (any command):
| Flag | Effect |
|---|---|
--config-dir <DIR> |
Directory holding the plain-text config files (default /etc/slacker). |
-y, --yes |
Assume "yes" to confirmation prompts. |
--dry-run |
Show what would happen without changing the system. |
--no-deps |
Do not read .dep files / pull in dependencies for this run. |
-h, --help |
Print help. |
-V, --version |
Print version. |
Metadata
| Command | What it does |
|---|---|
update [gpg] |
Refresh metadata from every repo. update gpg imports repo GPG keys. |
check-updates |
Check every configured repo for pending updates (exit 100 if any). |
show-changelog [REPO] |
Print a repo's cached ChangeLog. With no argument, the official (tracked) repo; name a repo to fetch and show that one instead. |
history [NAME] |
Show a chronological log of package changes — installed, upgraded and removed, and when — newest first. Derived from the pkgtools admin directories, so it also reflects changes made outside slacker. See Package History. |
Querying (read-only, no root)
| Command | What it does |
|---|---|
search NAME |
Find a package by its exact name (case-insensitive). |
file-search FILE |
Find which package ships a file (uses MANIFEST). |
info PACKAGE |
Show details and per-repo candidates for a package. |
list-repos |
List configured repositories with priority, verify policy and how many installed packages came from each. |
status |
Health-check the whole setup: mirror, repos, priorities, verification, GPG keys, metadata freshness, blacklist, installed-package sources, and (if online) reachability and pending updates. Reports whether slacker is correctly set up and what to do next. |
Installing and removing
| Command | What it does |
|---|---|
install PATTERN... |
Install new packages (refuses already-installed ones). |
upgrade PATTERN... |
Upgrade installed packages to the newest available revision. |
reinstall PATTERN... |
Reinstall the currently installed version. |
remove PATTERN... |
Remove installed packages. |
download [-o DIR] PATTERN... |
Download package files without installing. Saved to the cache by default, or to a directory given with -o/--output. |
Bulk operations
| Command | What it does |
|---|---|
upgrade-all |
Upgrade every installed package that has a newer revision — honouring priority (no migration, no downgrade). |
install-new [REPO...] |
Install packages whose name is newly added to a repo since the last update (new to the distribution) — not packages you removed or never installed (use install NAME for those). Default: official repo(s) only; name repos to use those instead. |
clean-system |
Remove installed packages no longer in the official baseline — the official repo plus any immutable repo. slackpkg-style: a package the distribution dropped is removed even if a third-party repo still ships the name. Kept by the blacklist, an IGNORE_TAGS build tag, or an immutable repo. See Common Workflows. |
clean-cache [REPO...] |
Delete downloaded package files from the cache. Repo metadata and GPG keys are never touched. Optionally limit to named repos. |
new-config |
Handle leftover *.new configuration files. |
Blacklist
| Command | What it does |
|---|---|
frozen RULE... |
Add one or more blacklist rules ("freeze"). Each argument is one rule: a regex, a series/, or @repo regex (quote rules with spaces). See Blacklist. |
Repositories and tags
| Command | What it does |
|---|---|
list-repos |
List configured repositories with priority, verify policy and installed counts. |
status |
Health-check the whole setup and say what to do next. |
add-repo PRIORITY NAME URL [flags] |
Add a binary repository to the repos file. URL must be http:// or https:// and unique. Flags (separate words, no quotes): official, immutable (keeps its packages out of clean-system), subtree (a Slackware distribution subtree — extra/, patches/, … — whose packages download from the parent/root URL), verify=.... See Repositories and Priority. |
del-repo NAME |
Remove a binary repository (by name) from the repos file. |
add-tag PRIORITY NAME TAG |
Add a build-tag priority line to the repos file (e.g. add-tag 100 SBo _SBo; no quotes). |
del-tag TAG |
Remove a build-tag priority line (by its TAG) from the repos file. |
Repository safety (quarantine model)
| Command | What it does |
|---|---|
vet-repo NAME |
Re-run the safety vetting on a repo on demand (fetches metadata only). Quarantines it if it fails, or clears a prior quarantine if it now passes. |
trust-repo NAME |
Trust a quarantined repo, lifting its freeze so it can be used again. This overrides slacker's safety verdict — at your own responsibility. |
distrust-repo NAME |
Manually quarantine (freeze) a repo so it provides no packages until you trust-repo it again. |
See Security for the trust model.
Templates
| Command | What it does |
|---|---|
generate-template NAME |
Snapshot installed packages into a template. |
install-template NAME |
Install all packages listed in a template. |
remove-template NAME |
Remove all packages listed in a template. |
delete-template NAME |
Delete a template file (does not touch installed packages). |
See Templates.
Full slacker --help
The authoritative output, verbatim:
slackpkg + slackpkg+ in one, minimal Rust tool
Usage: slacker [OPTIONS] <COMMAND>
Commands:
update Refresh metadata from every repo. `update gpg` imports repo GPG keys
search Find a package by its exact name (case-insensitive)
file-search Find which package ships a file (uses MANIFEST)
info Show details and per-repo candidates for a package
list-repos List configured repositories with priority, verify policy and how many installed packages came from each
status Health-check the whole setup: mirror, repos, priorities, verification, GPG keys, metadata freshness, blacklist, installed-package sources, and (if online) reachability and pending updates. Reports whether slacker is correctly set up and what to do next
install Install new packages (refuses already-installed ones)
upgrade Upgrade installed packages to the newest available revision
reinstall Reinstall the currently installed version
remove Remove installed packages
download Download package files without installing. Saved to the cache by default, or to a directory given with -o/--output
upgrade-all Upgrade every installed package that has a newer revision
install-new Install packages whose name is newly added to a repo since the last update (new to the distribution) — NOT packages you removed or never installed (use `install NAME` for those). Default: official repo(s) only; name repos to use those instead
clean-system Remove installed packages no longer in the official baseline — the official repo plus any `immutable` repo. slackpkg-style: a package the distribution dropped is removed even if a third-party repo still ships the name. Kept by the blacklist, an `IGNORE_TAGS` build tag, or an immutable repo
clean-cache Delete downloaded package files from the cache. Repo metadata and GPG keys are never touched. Optionally limit to named repos
new-config Handle leftover *.new configuration files
check-updates Check every configured repo for pending updates (exit 100 if any)
show-changelog Print a repo's cached ChangeLog. With no argument, the official (tracked) repo; name a repo to fetch and show that one instead
history Show a chronological log of package changes — installed, upgraded and removed, and when — newest first. Derived from the pkgtools admin directories, so it also reflects changes made outside slacker
generate-template Snapshot installed packages into a template
install-template Install all packages listed in a template
remove-template Remove all packages listed in a template
delete-template Delete a template file (does not touch installed packages)
frozen Add one or more blacklist rules ("freeze"). Each argument is one rule: a regex, a `series/`, or `@repo regex` (quote rules with spaces)
add-repo Add a binary repository to the `repos` file: `add-repo PRIORITY NAME URL [official] [immutable] [subtree] [verify=...]`. URL must be http:// or https:// and unique. Separate words, no quotes (quote only a URL that contains shell-special characters). `immutable` keeps every package attributed to the repo out of clean-system. `subtree` marks a Slackware distribution subtree (extra/, patches/, ...) whose packages download from the parent (root) URL
del-repo Remove a binary repository (by name) from the `repos` file
add-tag Add a build-tag priority line to the `repos` file: `add-tag PRIORITY NAME TAG` (e.g. `add-tag 100 SBo _SBo`; no quotes)
del-tag Remove a build-tag priority line (by its TAG) from the `repos` file
vet-repo Re-run the safety vetting on a repo on demand (fetches metadata only). Quarantines it if it fails, or clears a prior quarantine if it now passes
trust-repo Trust a quarantined repo, lifting its freeze so it can be used again. This overrides slacker's safety verdict — at your own responsibility
distrust-repo Manually quarantine (freeze) a repo so it provides no packages until you `trust-repo` it again
help Print this message or the help of the given subcommand(s)
Options:
--config-dir <CONFIG_DIR> Directory holding the plain-text config files [default: /etc/slacker]
-y, --yes Assume "yes" to confirmation prompts
--dry-run Show what would happen without changing the system
--no-deps Do not read .dep files / pull in dependencies for this run
-h, --help Print help
-V, --version Print version
Exit codes
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#161b22','primaryBorderColor':'#1f6feb','primaryTextColor':'#e6edf3','lineColor':'#6e7781','fontFamily':'monospace'}}}%%
flowchart LR
A["0 success"]:::green
B["1 error"]:::grey
C["20 nothing found"]:::grey
D["50 slacker upgraded itself — re-run"]:::blue
E["100 pending updates (check-updates)"]:::blue
classDef grey fill:#0d1117,stroke:#6e7781,color:#8b949e;
classDef blue fill:#0d1117,stroke:#1f6feb,color:#e6edf3;
classDef green fill:#0d1117,stroke:#2ea043,color:#e6edf3;
| Code | Meaning |
|---|---|
0 |
success |
1 |
an error occurred |
20 |
no package found to act on |
50 |
slacker upgraded itself and must be re-run |
100 |
there are pending updates (from check-updates) |
Privileges and locking
Read-only commands (search, info, file-search, check-updates,
show-changelog, history) run as any user. Everything that changes the
system, cache, or config must be run as root. Mutating commands take an
exclusive lock (/run/slacker.lock) so only one runs at a time; queries take no
lock and run freely in parallel.
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