Skip to content

Configuration

Anagnostakis Ioannis edited this page Jun 30, 2026 · 6 revisions

Configuration

Everything slacker reads is plain text under /etc/slacker/ (override the directory with --config-dir). After installing the package these files are already in place.

/etc/slacker/
├── slacker.conf   KEY=value global settings
├── mirrors        catalogue of official mirrors - uncomment exactly ONE
├── repos          repo priorities/names + external repos + tag-priority lines
├── blacklist      blacklist rules: [@repo] GLOB|REGEX | [@repo] series/
├── distro-upgrade.conf   optional: DISTRO_UPGRADE_MIRROR for upgrade-dist
└── templates/     generated and user-created templates

slacker.conf

KEY=value, one per line, # for comments.

Key Default Meaning
ARCH auto Architecture, auto-detected from the installed aaa_base. Set only to force a specific arch (e.g. cross).
ADM_DIR /var/adm Slackware pkgtools administrative root - holds packages/, removed_packages/, scripts/, setup/. The Package History command reads it.
CACHE_DIR /var/cache/slacker Downloaded metadata and package files - all re-downloadable; safe to clear.
STATE_DIR /var/lib/slacker Persistent security state: the GPG keyring, the TOFU fingerprint pins (*.fpr), and the repo quarantine/trust markers. Kept separate from the disposable CACHE_DIR so a cache wipe can't reset the trust anchors; existing state is migrated here automatically on first run.
PKG_DB_DIR ADM_DIR/packages The installed-package database. Set explicitly only to override the derived location.
RESOLVE_DEPS yes Whether .dep files are read to pull in dependencies. See Dependencies.
IGNORE_TAGS (empty) Space-separated build tags (e.g. _SBo cf alien) that clean-system must not treat as foreign.
VERIFY all Package verification policy. See Security.
MAX_PARALLEL 4 How many packages download concurrently during install/upgrade/download (clamped to 1-16; 1 = serial). A failed download or verification is skipped and reported, never aborting the rest; a package that fails GPG/checksum is never installed.
REVERT on Enables the revert-pkg rollback command. Set to off to disable it.
CUMULATIVE_URL https://slackware.uk/cumulative/slackware64-current The cumulative -current archive revert-pkg fetches superseded official packages from - a revert-only source, never consulted by update/upgrade/install/check-updates, so its historical packages never enter the priority model.

ADM_DIR defaults to /var/adm rather than /var/lib/pkgtools on purpose: on a real box removed_packages/ lives under /var/adm/pkgtools/... and is not exposed by name from /var/lib/pkgtools. Only /var/adm exposes the whole set that history needs.


mirrors

A slackpkg-style catalogue. Uncomment exactly one line. None is active by default; two or more active lines is an error. http://, https://, and file:// are all supported (the last for a local clone, NFS mount, or mounted media); ftp:// is not. The shipped file already carries the right directory for your arch and release - you only choose which mirror.

The directory segment follows arch + release:

Arch / release Directory segment Example active line
x86_64 · -current slackware64-current https://mirrors.slackware.com/slackware/slackware64-current/
32-bit · -current slackware-current https://mirrors.slackware.com/slackware/slackware-current/
x86_64 · 15.0 slackware64-15.0 https://mirrors.slackware.com/slackware/slackware64-15.0/
32-bit · 15.0 slackware-15.0 https://mirrors.slackware.com/slackware/slackware-15.0/
# /etc/slacker/mirrors  - uncomment ONE line (the redirector is a good default)
https://mirrors.slackware.com/slackware/slackware64-current/

Not sure which to pick? slacker find-mirror probes the official list, drops stale mirrors, and prints the fastest fresh one to paste here - it never edits the file. Change your mirror by changing which line is uncommented.


repos

Two kinds of line: binary repositories and tag-priority lines.

What ships active by default

The installed repos comes with the official tree plus the three distribution subtrees already enabled - note patches at the highest priority (200), so a 15.0 security/bugfix package always wins:

# [priority]  [name]      [url]              [flags]
100         slackware   mirror              official
200         patches     mirror/patches      subtree immutable
90          extras      mirror/extra        subtree immutable
85          testing     mirror/testing      subtree immutable

Third-party repos ship commented out below that block, ready to uncomment and retune - e.g. alienbob, conraid, restricted, multilib on -current/x86_64; mate, cbs on 15.0/x86_64; a smaller set on 32-bit. Their URLs are already matched to the build's arch and release (see the variants table below).

Binary repository

priority  name  url|mirror|mirror/<subpath>  [official] [immutable] [subtree] [verify=...]
  • priority - higher wins; must be distinct across binary repos (a duplicate is a fail-fast error).
  • url - a literal URL, the keyword mirror (the active mirror, for the official repo), or mirror/<subpath> (the active mirror with a subpath appended, e.g. mirror/extra - tracks a subtree on whichever mirror you picked, without hardcoding the host).
  • flags (any order): official, immutable, subtree, verify=....

The full semantics of the flags, the priority model, and pinning are in Repositories and Priority.

Tag-priority

priority  name  tag        # e.g.  100  SBo  _SBo

Gives packages carrying a build tag a priority on the same scale as repos, so SBo/local/source packages are never silently migrated or downgraded by upgrade-all. Tag-priority lines may share a priority.

Edit this file by hand, or let add-repo / del-repo / add-tag / del-tag do it for you (validated, with a confirmation prompt).

The shipped configs are arch- and release-specific

slacker ships four ready-made /etc/slacker sets; the build for your platform embeds the matching one, so the directory segments and example URLs already fit your system. The differences are only in the URL/segment text:

x86_64 · -current 32-bit · -current x86_64 · 15.0 32-bit · 15.0
mirror dir slackware64-current slackware-current slackware64-15.0 slackware-15.0
alienbob example .../current/x86_64 .../current/x86 .../15.0/x86_64 .../15.0/x86
CUMULATIVE_URL .../slackware64-current .../slackware-current (revert is -current-only) (revert is -current-only)
ARCH hint x86_64 x86 x86_64 x86

The active default block (official + patches/extras/testing) is identical across all four. You normally never touch this - it is chosen at install time.


blacklist

One rule per line, [@repo] PATTERN. PATTERN is a Slackware series when it ends in /, otherwise a glob or an unanchored regex matched against the full package id name-version-arch-build (with no regex syntax it is a glob, so * is any run of characters and a literal . stays literal). Full reference: Blacklist.


distro-upgrade.conf

Optional, and only consulted by upgrade-dist (see Distribution Upgrade). A single key points a distribution upgrade at a local copy of the target release instead of the network:

Key Meaning
DISTRO_UPGRADE_MIRROR A local source for upgrade-dist: a local release tree (file:// or http://), an NFS clone, or a mounted install ISO. When set, the upgrade re-points to this base and validates it (release segment matches the target, PACKAGES.TXT reachable) before the point of no return. Absent or empty, upgrade-dist uses the configured mirrors.
# /etc/slacker/distro-upgrade.conf
DISTRO_UPGRADE_MIRROR=file:///mnt/iso/

The local-source path is implemented but not yet tested end-to-end - treat it as experimental and keep backups. The network path is the tested one.


Environment variables

Variable Effect
NO_COLOR Disables all coloured output (also auto-disabled when stdout is not a terminal).
SLACKER_MERGE External merge tool for new-config's (M)erge action (default vimdiff).
PAGER Pager for long output (history, show-changelog); defaults to less -FRX.

Clone this wiki locally