-
Notifications
You must be signed in to change notification settings - Fork 0
Installation.ru
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,
-
slacker-gui (
/usr/bin/slacker-gui) с ярлыком рабочего стола, значками и правилом polkit, через которое он выполняет изменения от root.
Вы ничего не копируете. После установки пакета единственная настройка — это
отредактировать два файла (выбрать зеркало в 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, что подходит.
(Сам крейт — 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 намеренно лёгок по зависимостям. Прямые крейты: clap, ureq, md-5,
regex, rusqlite. Всё тяжёлое вынесено во внешние инструменты, которые Slackware уже
поставляет:
-
installpkg/upgradepkg/removepkg— для собственно операций с пакетами, -
gpg2(илиgpg, если его нет) — для проверки подписей, -
bzip2— для MANIFEST, -
sha256sum— для контрольных сумм SHA, -
diff— дляnew-config.
TLS обрабатывается внутри процесса библиотекой rustls (через feature tls
крейта ureq), а SQLite (её читает resolve-stock) встроена в бинарник через
feature bundled крейта rusqlite, поэтому 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