-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
EN · EL · FR · ES · IT · RU · ZH · AR · HI · PT · DE
Common questions and troubleshooting. See also Configuration, Security, and Repositories and Priority.
No - and it never will. slacker targets Slackware -current: 64-bit (x86_64) and, as of 0.9.0, 32-bit (i586/i686). See Status and Roadmap.
Yes - that is slacker upgrade-dist {current|VERSION}. It re-points your mirror
and repos to the target release and replaces every package with the target's
build (the one command that deliberately bypasses the priority model), then runs
install-new + clean-system and reminds you about the kernel before you reboot.
Always --dry-run it first and keep backups. Note that to upgrade a 15.0
system you need a slacker binary that runs on 15.0's older glibc (the
distributed package is built for -current); and the local-source option
(DISTRO_UPGRADE_MIRROR) is not yet tested. Full details in
Distribution Upgrade.
That is the release-match guard. A repo built for another Slackware release (for
example an alienbob -current repo still active on 15.0) can pass GPG/md5 yet
install packages that break your system, so slacker refuses it. Point the repo at
your system's release, or pass --yes to override if you are sure. slacker status shows the same mismatch on its Repo release row. See Security.
No. The binary package puts the config files in place under /etc/slacker/. You
only edit two of them - mirrors (pick one) and repos (set priorities). See
Installation.
Run slacker find-mirror. It probes the official Slackware mirror list, times each
mirror, drops any that have fallen behind the upstream master, ranks the rest by
speed, and prints the fastest one as the line to put in mirrors - it never
changes your config for you. It works before any mirror is configured, so it is
the natural first command on a fresh install. slacker status later flags a mirror
that has gone stale (more than 48 hours behind upstream). See Quick Start.
That repo is a distribution subtree (extra, patches, testing,
pasture) and needs the subtree flag in repos. Its PACKAGES.TXT lists
locations relative to the distribution root; the flag tells slacker to fetch
packages and the key from the parent URL. See
Repositories and Priority.
Binary-repo priorities must be distinct. Give each binary repo a unique number. (Tag-priority lines may share a priority - that is fine.)
In mirrors, exactly one line must be uncommented. Zero leaves the official
URL empty; two or more is an error.
Priority. slacker never migrates an installed package to a different-priority
source or downgrades it. A candidate is only proposed from a repo of higher or
equal priority. If you want a specific repo's build, pin it:
slacker upgrade alienbob:vlc. To make a source always win, give it a tag
priority. See Repositories and Priority.
Yes, for official packages on -current. slacker revert-pkg NAME lists that
package's previous builds (from removed_packages), fetches the one you pick from
the cumulative archive (GPG-verified against the pinned Slackware key), and
downgrades it with upgradepkg --reinstall. Try --dry-run first to see the
exact build. It then offers to freeze the package so upgrade-all won't pull it
forward again - lift that later with slacker unfrozen NAME. Third-party packages
aren't covered (the cumulative archive carries only official ones), and it works
only on -current: the code reads VERSION_CODENAME and refuses on a stable
release (a hard, fail-closed guard). See Common Workflows.
slacker unfrozen RULE - the counterpart to frozen. Run slacker unfrozen with
no argument to list the current rules, then pass one exactly as shown (the
match is literal, so .* / * / / are never treated as a pattern). Editing
/etc/slacker/blacklist by hand works too. See Blacklist.
install-new is for packages whose name is newly added to the distribution -
not packages you removed (those already exist in the tree). To put a removed
package back, use slacker install NAME (or install @repo). See
Commands.
Names match exactly. If the package is aircrack-ng, history aircrack
finds nothing - use the exact name. See Package History.
The pkgtools removed_packages/ directory keeps one filename per package id,
so a later removal overwrites an earlier record - some history is lost by the
tools themselves. slacker reconstructs as much as it can and infers a lost upgrade
target from the next known entry. See Package History.
slacker quarantines a repo that fails vetting (unreachable or malformed/hostile
metadata). Re-check with slacker vet-repo NAME; if you judge it a false
positive, slacker trust-repo NAME lifts it (at your responsibility). See
Security.
slacker pins each repo's GPG fingerprint on first import (trust on first use). A
later key with a different fingerprint is refused. If the key legitimately
changed, you'll need to clear that repo's pin under STATE_DIR
(/var/lib/slacker/gpg/<repo>.fpr) and re-import. See Security.
Mark those repos immutable in repos. Their installed packages are then kept
without blacklisting each one. See Common Workflows.
slacker has no * wildcard for selecting packages. A whole repository is
@repo (e.g. install @gnome); a single package is its exact name; a substring
matches a family. An unquoted * is expanded by your shell into the
filenames of the current directory before slacker runs — slacker never sees the
* and never reads your directory. When that produces a flood of non-package
arguments, slacker recognises it and refuses the command without changing
anything (a remove * will not delete real packages that happen to share a
substring with a filename). Quote a literal pattern, or use @repo. Note that
the blacklist is different: frozen does accept glob and regex patterns —
see Blacklist.
Yes. search, info, file-search, check-updates, show-changelog,
history, and find-mirror run as any user. Everything that changes the system needs root.
Mutating commands take an exclusive lock (/run/slacker.lock); only one runs at a
time. The lock releases automatically if slacker exits or is killed. Queries take
no lock.
Set NO_COLOR=1 (colour is also auto-disabled when output is not a terminal).
The pager for long output is $PAGER or less -FRX.
Open an issue at https://forge.slackware.nl/rizitis/slacker/issues.
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