Skip to content

Releases: snaplyze/optimize-debian

v2026.10.21.1

Choose a tag to compare

@snaplyze snaplyze released this 21 Oct 07:16
Immutable release. Only release title and notes can be modified.

Второй закрепленный выпуск: новое оформление и подробная документация, файлы сообщества и исправления, найденные при сверке документов с кодом. Все скрипты в нем проверены CI (docs/plan.md, этап «Оформление и документация 2026-10-21»).

Запуск этого выпуска (вместо main — тег):

TAG=v2026.10.21.1
bash <(curl -fsSL "https://raw.githubusercontent.com/snaplyze/optimize-debian/$TAG/optimize_vps.sh")

Исправлено

  • optimize_amnezia_host.sh --kernel-backports останавливался на шаге ядра с detect_debian_version: command not found на Debian 12 и 13. Теперь версия берется из /etc/os-release, и ядро из Debian Backports ставится.

  • optimize_wsl2.sh, шаг ssh-agent без пользовательского systemd:

    • прежде создавал ~/.bash_profile, после чего login-bash переставал читать ~/.profile и ~/.bashrc, и автопереход в Fish пропадал;
    • если целевым пользователем был root, шаг падал.

    Теперь агент запускает /etc/profile.d/wsl2-ssh-agent.sh для login-оболочек. Сокет лежит в $XDG_RUNTIME_DIR или /tmp/ssh-agent-<uid>, сниппет ничего не печатает и безопасен для set -e. Блок прежних версий удаляется. Если терминал WSL открывался без Fish, запустите скрипт повторно с пунктом «Configure ssh-agent».

  • optimize_wsl2.sh: повторный запуск в тот же день затирал копию /etc/wsl.conf. Теперь в имени копии есть время, и каждая копия остается.

  • optimize_vps.sh на Debian 13 печатал пустую версию ядра.

Добавлено

  • --help всех пяти скриптов печатает версию: VPS 3.0.0, Amnezia 0.3.0, мини-ПК 2.0.0, WSL2 4.1.0, upgrade 2.0.3.
  • LICENSE (MIT) и SECURITY.md. Об уязвимостях сообщайте приватно: https://github.com/snaplyze/optimize-debian/security/advisories/new.
  • CONTRIBUTING.md, CODE_OF_CONDUCT.md, формы issue и шаблон PR.
  • docs/README.md — оглавление документации, docs/ARCHITECTURE.md — устройство репозитория, CHANGELOG.md.

Документация

  • README переоформлен:

    • баннер для светлой и темной темы;
    • таблица выбора скрипта с версиями;
    • быстрый старт по скриптам;
    • схема работы и матрица возможностей.

    Команды запуска те же.

  • Пять руководств приведены к одной структуре и сверены с кодом: параметры, шаги в порядке исполнения, файлы, которые пишет скрипт, и их откат, проверка после запуска, повторный запуск, решение проблем. Исправлены прежние неточности, в том числе команды отката ядра Backports и UFW.

Проверки

  • Тест ссылок и якорей во всех документах.
  • Пробелы в конце строк проверяются во всем дереве.

Не проверено: настоящая WSL2, установка ядра Backports на настоящей Debian 12, полный интерактивный прогон на целевой машине. Проверки шли на моках и в контейнерах Debian 12/13.

v2026.10.21

Choose a tag to compare

@snaplyze snaplyze released this 21 Oct 03:59
Immutable release. Only release title and notes can be modified.

Первый закрепленный выпуск. Все скрипты в нем проверены CI. После первоначальной публикации 2026-09-04 код прошел аудит, и найденные задачи закрыты (docs/plan.md).

Запуск этого выпуска (вместо main — тег):

TAG=v2026.10.21
bash <(curl -fsSL "https://raw.githubusercontent.com/snaplyze/optimize-debian/$TAG/optimize_vps.sh")

Безопасность

  • SSH-закалка VPS, мини-ПК и Amnezia пишется в drop-in 00-*.conf. sshd берет первое прочитанное значение, поэтому, например, 50-cloud-init.conf с PasswordAuthentication yes ее больше не отменяет. После sshd -t действующие значения сверяются через sshd -T; если они расходятся, закалка откатывается без перезапуска SSH. Файл 99-*.conf прежних версий удаляется.
  • Starship, fnm, Go, gum и cuda-keyring устанавливаются только из закрепленной версии, проверенной по SHA-256. Ключи Docker и NVIDIA принимаются только с закрепленным отпечатком. Загрузки идут только по HTTPS, с пределом времени, во временные каталоги, которые удаляются после установки.
  • sudoers записывается атомарно, с проверкой visudo -cf. Мини-ПК закаляет SSH только после sshd -t, с откатом. Samba открыт только для локальной сети и принимает только NTLMv2.
  • Amnezia не создает пользователя, пока не найден источник SSH-ключей. Порядок изменений SSH и firewall не отрезает текущую сессию.

Надежность

  • Шаги VPS, мини-ПК и WSL2 начинаются только после полной загрузки скрипта. --help работает без root.
  • Общие APT-хелперы: ошибка установки останавливает шаг, ядро из Debian Backports ставится, ожидание блокировки dpkg не зависит от fuser, apt-get update выполняется один раз.
  • Синхронизация времени проверяется по NTPSynchronized. Уже установленная служба времени сохраняется.
  • Повторный запуск не плодит конфигурацию и не пересоздает swap-файл нужного размера. Неудачный swapoff не останавливает скрипт и не удаляет активный файл. Конфиги Fish и Bash общие, .bashrc копируется только один раз, если он чужой.
  • Прерванная загрузка gum не оставляет временный каталог.

Обновление до Debian 13 (upgrade-to-debian13.sh)

  • Источники старого релиза убираются, включая официальный .list с опциями [...], в которых есть пробелы.
  • Бэкап проверяется, порты SSH и права файлов источников сохраняются.

Документация и CI

  • Значения sysctl, read-ahead и dirty_ratio в документах приведены к коду. Версия WSL2 — 4.1.0.
  • CI на self-hosted раннере; main принимает только PR с пройденной проверкой checks.

Не проверено: arm64, WSL2 с GPU, полный интерактивный прогон на настоящей машине (проверки шли на контейнерах Debian 12/13).