Шаг 3. Пакеты: yse¶
yse — маленький шелл-скрипт, который ставит пакеты из двух источников:
- Entware (opkg) — тысячи пакетов для ARM:
htop,tmux,nano,mc,python,git,exfat-fuse,usbutils…; - реестры
.yapна GitHub — готовые сборки под Станции, по умолчанию yapkg (~65 пакетов:btop,jq,rclone,restic,wireguard,ripgrep,sd…).
Всё ставится в /data/opt, системные файлы не трогаются.
Установка¶
Скачать yse
Скачать установщик
Одной командой с компьютера (Linux, macOS или WSL; нужен adb или ssh):
curl -fsSL https://raw.githubusercontent.com/Marker284/yandex-station-extended/main/contrib/install-yse.sh | sh -s -- 192.168.1.120
Установщик скачает yse, зальёт его на колонку по ADB (порт 5555), а если ADB недоступен —
по SSH (порт 2222), и сразу развернёт Entware (yse bootstrap). Только по SSH: добавьте
--ssh после IP, только по ADB — --adb.
Вручную, без установщика
После установки переподключитесь по SSH — yse и пакеты будут вызываться без полного пути:
Исходники: contrib/bin/yse,
contrib/install-yse.sh.
Обновить yse до новой версии — запустить установщик ещё раз.
Команды¶
yse bootstrap # развернуть Entware (один раз; нужен и для .yap)
yse update # обновить списки Entware и .yap-реестров
yse install <pkg>... # установить
yse install yap:<pkg> # явно из .yap-реестра
yse install ent:<pkg> # явно из Entware
yse remove <pkg>... # удалить
yse search <строка> # найти (у .yap-пакетов пометка [yap/<реестр>])
yse info <pkg>
yse list [-a] # установленные / все доступные
yse upgrade # обновить установленные (оба источника)
yse sources # список .yap-реестров
eval "$(yse env)" # PATH для текущей сессии без переподключения
Без префикса пакет берётся из Entware, а если там его нет — из .yap. Чтобы наоборот:
YSE_PREFER=yap. Архитектура — YSE_ARCH, зеркало Entware — YSE_ENT_MIRROR.
Пакеты .yap с GitHub¶
- Пакет скачивается с GitHub, проверяется по sha256 из индекса, распаковывается в
/data/opt/yap/<имя>/, а команда появляется в/data/opt/bin. - Перед установкой проверяется свободное место — пакеты бывают большими (
node— 26 МБ). - Чужие файлы в
/data/opt/binне перезаписываются: например, еслиfastfetchвы положили туда сами,yap:fastfetchоткажется ставиться. - Если та же команда есть в Entware, в PATH раньше окажется версия из Entware —
yseпредупредит и подскажет полный путь. - Только
aarch64(на Стрит не подходит).
Свой реестр¶
Реестры перечисляются в /data/opt/etc/yse/sources, по одному на строку: имя и адрес
index.json. Пока файла нет, используется yapkg.
yapkg https://raw.githubusercontent.com/nyakokitsu/yapkg/registry/index.json
my https://raw.githubusercontent.com/<you>/<repo>/registry/index.json
После правки — yse update.
Не ставьте на Станцию Лайт клиент apkg в режиме Buildroot
Пакеты yapkg перепакованы из initialfox/yandex-station-repo,
у которого есть свой клиент apkg. На Buildroot он ставит в /usr/local/bin на
корневой ФС (на Лайт там свободно ~12 МБ) и в /opt, который у нас занят Entware.
Те же пакеты безопасно ставит yse install yap:<pkg>.
Модели¶
| Модель | Архитектура Entware |
|---|---|
| Лайт, Мини 2, Станция 2, Миди | aarch64-k3.10 (проверено на Лайт) |
| Стрит | armv7sf-k3.2 |
| Макс, Станция 1-го поколения | не подходит (Android, нет root) |
Место
На Лайт под /data весь раздел bkupgrade — ~87 МБ, из них половина свободна после
Entware и нескольких пакетов. Смотрите df -h /data перед установкой больших пакетов.
Удалить¶
for c in /data/opt/bin/*; do grep -q '^# yse-yap ' "$c" 2>/dev/null && rm "$c"; done # запускалки .yap
rm -rf /data/opt/bin/yse /data/opt/entware /data/opt/yap /data/opt/var/yse /data/opt/etc/yse
mount -o remount,rw / && rm /opt && mkdir /opt && sync && mount -o remount,ro /
Как это устроено¶
- Busybox
wgetна колонке не умеет TLS, поэтому установщик Entware качается поhttpсbin.entware.net. Дальше Entware пользуется своимwgetс TLS. - Entware самодостаточен (свой загрузчик и glibc в
/opt), поэтому 64-битные пакеты работают, хотя системный userspace колонки 32-битный. bootstrapзадаёт записываемыйHOME=/data/opt/home(домашний каталог root лежит на read-only разделе) и превращает/opt/etc/shellsв обычный файл — иначе установка шеллов (fish,bash,zsh) падает с «Read-only file system»..yap— этоtar.gzсplugin.toml(id,version,[launch] path— главный бинарник,[compatibility] features = ["arch.aarch64"]) и папкой пакета. Пакеты yapkg собраны на musl и везут свои библиотеки: обёртка<пакет>-runзапускает бинарник через собственныйld-musl— поэтому они не зависят ни от системы, ни от Entware. Индекс реестра —index.jsonсо ссылкой и sha256 каждого архива.- HTTPS busybox не умеет, поэтому
.yapкачаются черезcurlиз Entware (yseпоставит его сам).
Дальше: если что-то сломалось · рецепты.