-
Notifications
You must be signed in to change notification settings - Fork 0
Installation.zh
EN · EL · FR · ES · IT · RU · ZH · AR · HI · PT · DE
在 Slackware 上,你安装由 SlackBuild 构建的二进制软件包。它会替你把一切就位:
- 可执行文件
slacker(/usr/bin/slacker), - man 手册页(
man slacker), -
/etc/slacker/下的纯文本配置文件, - bash、zsh 和 fish 的 shell 补全,
-
slacker-gui(
/usr/bin/slacker-gui),以及它的桌面条目、图标和它用来以 root 身份执行更改的 polkit 策略。
你无需复制任何东西。 安装软件包之后,唯一的配置就是编辑两个文件 —— 在 mirrors
中选一个镜像,在 repos 中设定仓库优先级 —— 然后运行 slacker status(它会检查
配置并告诉你接下来该做什么)、slacker update gpg 和 slacker update。参见
Quick Start。
在升级时,Slackware 会以
*.new的形式投递有变更的配置文件,使你的修改永不被 覆盖;slacker new-config可帮你将它们调和。
构建需要 Rust 1.85.1 或更新版本 —— 即实际支持的最低 Rust 版本。当前的
Slackware 附带 Rust 1.96,完全可用。(crate 本身是 edition 2021,但其依赖
clap_lex 用 edition 2024 编写,正是它把下限设在了 1.85.1 —— 而非 slacker 自身的
代码。)
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/ 由 slacker 在第一次 generate-template 时自行创建。)
构建或运行测试套件无需 root;只有会改动系统的命令才需要 root。
cargo build
cargo test # 所有测试通过;构建无任何警告slacker 在依赖上刻意保持精简。直接 crate:clap、ureq、md-5、regex、rusqlite。一切
繁重的工作都交给 Slackware 本就附带的工具:
-
installpkg/upgradepkg/removepkg—— 实际的软件包操作, -
gpg2(缺失时用gpg)—— 签名校验, -
bzip2—— MANIFEST, -
sha256sum—— SHA 校验和, -
diff——new-config。
TLS 由 rustls 在进程内处理(通过 ureq 的 tls feature),SQLite(供
resolve-stock 读取)则通过 rusqlite 的 bundled feature 编译进二进制,因此
slacker 既不链接系统 OpenSSL,也不链接系统 SQLite。除了 C 库之外,这个二进制
几乎不需要系统提供别的东西。
图形前端与 slacker 相互独立,并不精简依赖:它链接 GTK4 和
libadwaita(>= 1.5),并且需要 polkit(pkexec)以及会话中的认证代理,
用于执行会改动系统的操作。slacker 本身不依赖它。
如果你要构建可分发的软件包,请先冻结依赖版本,以使构建保持可复现。参见 Building and Releasing。
slacker --version
slacker status # 对整套配置做健康检查下一步: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