-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
EN · EL · FR · ES · IT · RU · ZH · AR · HI · PT · DE
On Slackware you install the binary package built from the SlackBuild. It puts everything in place for you:
- the
slackerexecutable (/usr/bin/slacker), - the man page (
man slacker), - the plain-text config files under
/etc/slacker/, - shell completions for bash, zsh and fish,
-
slacker-gui (
/usr/bin/slacker-gui), its desktop entry, icons and the polkit policy it uses to run changes as root.
You do not copy anything. After installing the package, the only setup is to
edit two files - pick a mirror in mirrors and set your repo priorities in
repos - then run slacker status (it checks the setup and tells you what to do
next), slacker update gpg, and slacker update. See Quick Start.
On upgrades, Slackware delivers changed config files as
*.newso your edits are never clobbered;slacker new-confighelps you reconcile them.
Building needs Rust 1.85.1 or newer - the effective minimum supported Rust
version. Current Slackware ships Rust 1.96, which is fine. (The crate itself is
edition 2021, but a dependency, clap_lex, is written in edition 2024, and that
is what sets the 1.85.1 floor - not slacker's own code.)
cargo build --release
install -m0755 target/release/slacker /usr/bin/slacker
install -m0644 man/slacker.8 /usr/man/man8/slacker.8
mkdir -p /etc/slacker
for f in slacker.conf distro-upgrade.conf mirrors repos blacklist; do
install -m0644 CONF/etc-slacker/current/$(uname -m)/$f /etc/slacker/$f
done(/etc/slacker/templates/ is created by slacker itself on the first
generate-template.)
No root is needed to build or to run the test suite; only the mutating commands need root.
cargo build
cargo test # all tests pass; the build is warning-cleanslacker is deliberately dependency-light. Direct crates: clap, ureq,
md-5, regex, rusqlite. Everything heavy is shelled out to the tools
Slackware already ships:
-
installpkg/upgradepkg/removepkgfor the actual package operations, -
gpg2(falling back togpg) for signature verification, -
bzip2for the MANIFEST, -
sha256sumfor SHA checksums, -
difffornew-config.
TLS is handled in-process by rustls (via ureq's tls feature), and SQLite
(read by resolve-stock) is compiled in through rusqlite's bundled feature,
so slacker links no system OpenSSL and no system SQLite. The binary needs
little more from the system than the C library.
The graphical front-end is separate from slacker and not dependency-light: it
links GTK4 and libadwaita (>= 1.5), and needs polkit (pkexec) with
an authentication agent in the session for the actions that change the system.
slacker itself does not depend on it.
If you build a distributable package, freeze the dependency versions first so the build stays reproducible. See Building and Releasing.
slacker --version
slacker status # health-check the whole setupNext: Quick Start.
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