2 Commands
Anagnostakis Ioannis edited this page 2026-06-25 03:59:14 +03:00

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.