4 FAQ.ru
Anagnostakis Ioannis edited this page 2026-06-30 21:10:06 +03:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

EN · EL · FR · ES · IT · RU · ZH · AR · HI · PT · DE

FAQ

Частые вопросы и устранение неполадок. См. также Configuration, Security и Repositories and Priority.


Работает ли slacker на Slackware 15.0?

Нет — и никогда не будет. slacker нацелен на Slackware -current: 64-бит (x86_64) и, начиная с 0.9.0, 32-бит (i586/i686). См. Status and Roadmap.

Может ли slacker обновить мою систему до нового выпуска Slackware?

Да — это slacker upgrade-dist {current|VERSION}. Он перенаправляет ваше зеркало и репозитории на целевой выпуск и заменяет каждый пакет сборкой из цели (единственная команда, намеренно обходящая модель приоритетов), затем выполняет install-new + clean-system и напоминает о ядре перед перезагрузкой. Всегда сначала делайте --dry-run и храните резервные копии. Учтите, что для обновления системы 15.0 нужен бинарник slacker, работающий на более старой glibc 15.0 (распространяемый пакет собран для -current); а опция локального источника (DISTRO_UPGRADE_MIRROR) ещё не протестирована. Подробности в Distribution Upgrade.

install/upgrade отказывает пакету, говоря, что репозиторий нацелен на другой выпуск.

Это защита соответствия выпуска. Репозиторий, собранный для другого выпуска Slackware (например, репозиторий alienbob -current, всё ещё активный на 15.0), может пройти GPG/md5 и всё же установить пакеты, ломающие систему, поэтому slacker отказывает. Нацельте репозиторий на выпуск вашей системы или передайте --yes, чтобы переопределить, если уверены. slacker status показывает то же несоответствие в строке Repo release. См. Security.

Нужно ли копировать файлы конфигурации после установки?

Нет. Бинарный пакет ставит файлы конфигурации на место в /etc/slacker/. Вы редактируете только два — mirrors (выберите один) и repos (задайте приоритеты). См. Installation.

Как выбрать быстрое и актуальное зеркало?

Выполните slacker find-mirror. Он опрашивает официальный список зеркал Slackware, замеряет каждое, отбрасывает отставшие от вышестоящего мастера, ранжирует остальные по скорости и печатает самое быстрое как строку для mirrors — он никогда не меняет вашу конфигурацию сам. Он работает до того, как настроено любое зеркало, поэтому это естественная первая команда на свежей установке. Позже slacker status отмечает зеркало, которое устарело (более чем на 48 часов отстаёт от вышестоящего). См. Quick Start.

update сообщает, что пакеты репозитория не скачиваются (удвоенный путь вроде .../extra/extra/...).

Этот репозиторий — поддерево дистрибутива (extra, patches, testing, pasture) и требует флага subtree в repos. Его PACKAGES.TXT указывает расположения относительно корня дистрибутива; флаг велит slacker брать пакеты и ключ из родительского URL. См. Repositories and Priority.

error: repos: ... duplicate priority

Приоритеты бинарных репозиториев должны быть различными. Дайте каждому бинарному репозиторию уникальный номер. (Строки tag-priority могут разделять приоритет — это нормально.)

error: repos: ... two active mirrors / «no mirror»

В mirrors должна быть раскомментирована ровно одна строка. Ноль оставляет официальный URL пустым; две или более — ошибка.

Почему upgrade-all не обновил мой пакет SBo / alienbob, хотя есть более новая версия?

Приоритет. slacker никогда не мигрирует установленный пакет к источнику с другим приоритетом и не понижает его. Кандидат предлагается только из репозитория с бóльшим или равным приоритетом. Если вы хотите сборку конкретного репозитория, закрепите её: slacker upgrade alienbob:vlc. Чтобы источник всегда побеждал, дайте ему приоритет по метке. См. Repositories and Priority.

Обновление -current сломало пакет — можно откатить?

Да, для официальных пакетов на -current. slacker revert-pkg NAME перечисляет предыдущие сборки этого пакета (из removed_packages), скачивает выбранную вами из накопительного архива (проверена GPG против закреплённого ключа Slackware) и понижает её через upgradepkg --reinstall. Сначала попробуйте --dry-run, чтобы увидеть точную сборку. Затем он предлагает заморозить пакет, чтобы upgrade-all не вытянул его снова вперёд, — снимите это позже через slacker unfrozen NAME. Сторонние пакеты не охвачены (накопительный архив несёт только официальные), и это работает только на -current: код читает VERSION_CODENAME и отказывает на стабильном выпуске (жёсткая защита, fail-closed). См. Common Workflows.

Как удалить правило из чёрного списка?

slacker unfrozen RULE — пара к frozen. Запустите slacker unfrozen без аргумента, чтобы перечислить текущие правила, затем передайте одно точно как показано (сопоставление буквальное, поэтому .* / * / / никогда не трактуются как шаблон). Править /etc/slacker/blacklist вручную тоже можно. См. Blacklist.

install-new постоянно предлагает то, что я удалил / никогда не предлагает удалённый мной пакет.

install-new — для пакетов, чьё имя только что добавлено в дистрибутив, а не для удалённых вами пакетов (те уже существуют в дереве). Чтобы вернуть удалённый пакет, используйте slacker install NAME (или install @repo). См. Commands.

history emacs ничего не показывает, хотя пакет установлен.

Имена совпадают точно. Если пакет — aircrack-ng, то history aircrack ничего не найдёт — используйте точное имя. См. Package History.

history показывает обновление old → new для того, что я точно удалял.

Каталог removed_packages/ от pkgtools хранит по одному файлу на идентификатор пакета, поэтому более позднее удаление перезаписывает более раннюю запись — часть истории теряют сами инструменты. slacker восстанавливает столько, сколько может, и выводит потерянную цель обновления из следующей известной записи. См. Package History.

Репозиторий в карантине и не предоставляет пакетов.

slacker помещает в карантин репозиторий, не прошедший проверку (недоступный или с искажёнными/враждебными метаданными). Перепроверьте через slacker vet-repo NAME; если сочтёте это ложным срабатыванием, slacker trust-repo NAME снимает его (под вашу ответственность). См. Security.

«key-substitution attack» / ключ не импортируется.

slacker закрепляет отпечаток GPG каждого репозитория при первом импорте (trust on first use). Более поздний ключ с другим отпечатком отклоняется. Если ключ сменился законно, понадобится удалить pin этого репозитория в STATE_DIR (/var/lib/slacker/gpg/<repo>.fpr) и импортировать заново. См. Security.

Как не дать clean-system удалять пакеты extra/testing/patches?

Пометьте эти репозитории как immutable в repos. Их установленные пакеты тогда сохраняются без занесения каждого в чёрный список. См. Common Workflows.

install * / remove * / history * делает не то, что я ожидаю.

У slacker нет подстановочного знака * для выбора пакетов. Целый репозиторий — это @repo (напр. install @gnome); одиночный пакет — его точное имя; подстрока соответствует семейству. Незакавыченный * раскрывается вашей оболочкой в имена файлов текущего каталога до запуска slacker — slacker никогда не видит * и не читает ваш каталог. Когда это даёт поток аргументов, не являющихся пакетами, slacker распознаёт это и отказывает в команде, ничего не меняя (remove * не удалит реальные пакеты, случайно разделяющие подстроку с именем файла). Заключите буквальный шаблон в кавычки или используйте @repo. Учтите, что чёрный список — иное: frozen принимает glob и regex — см. Blacklist.

Можно ли выполнять запросы обычным пользователем?

Да. search, info, file-search, check-updates, show-changelog, history и find-mirror работают под любым пользователем. Всё, что меняет систему, требует root.

Команда сообщает, что запущен другой экземпляр.

Изменяющие команды берут эксклюзивную блокировку (/run/slacker.lock); за раз выполняется только одна. Блокировка снимается автоматически, если slacker завершился или был убит. Запросы блокировку не берут.

Цвета портят мои логи / терминал.

Установите NO_COLOR=1 (цвет также отключается автоматически, когда вывод не в терминал). Пейджер для длинного вывода — $PAGER или less -FRX.

Как сообщить об ошибке или запросить функцию?

Откройте задачу на https://forge.slackware.nl/rizitis/slacker/issues.