Выпущена новая стабильная версия OpenWrt 23.05, дистрибутива Linux, ориентированного на использование во встраиваемых системах, включая, но не ограничиваясь, маршрутизаторами и другим сетевым оборудованием. Проект поддерживает более 2200 различных устройств, включая x86-совместимые системы (то есть обычные компьютеры) и одноплатные компьютеры.
Обновления в OpenWrt 23.05:
APK (Alpine Package Keeper)
Важным изменением стало внедрение поддержки пакетного менеджера opkg от Alpine Package Keeper, который используется в дистрибутиве Alpine Linux. Система opkg, ранее использовавшаяся в OpenWrt, уже давно не поддерживается активно и обладает рядом ограничений, например, невозможностью удаления пакетов без их непосредственного указания или отсутствием поддержки зависимостей. APK, разработанный как минималистичный и производительный менеджер пакетов, призван решить эти проблемы. Он разработан специалистами проекта Alpine и успешно применяется в Docker-контейнерах и других средах с ограниченными ресурсами. Это означает, что теперь пользователи смогут более эффективно управлять установленными пакетами, решать проблемы с зависимостями и проводить более чистую инсталляцию/деинсталляцию ПО. С помощью команды "apk list --installed --orphaned" можно, например, найти пакеты, которые больше не нужны и занимают место в системе, а затем удалить их.
Переход на APK потребует некоторой адаптации в повседневной работе. Например, привычная команда "opkg update && opkg install dnsmasq-full" теперь будет выглядеть как "apk --update-cache add dnsmasq-full". В таблице ниже представлена полная таблица соответствия команд между opkg и apk для выполнения базовых операций с пакетами:
apk update | opkg update
apk add pkg | opkg install pkg
apk del pkg | opkg remove pkg
apk list | opkg list
apk list P | opkg list P
apk list --installed [P] | opkg list-installed
apk list --upgradeable [P] | opkg list-upgradable
apk list --providers [P] | opkg -A whatprovides P
apk info P | opkg info P
apk info --all P | — (нет аналога)
apk info --contents P | opkg files P
ASU (Attended SysUpgrade)
В этой версии значительно улучшена система Attended SysUpgrade (ASU) для автоматического обновления прошивки до самой свежей версии. Это позволит избежать ручной загрузки и установки прошивок с сайта проекта. Интегрированный в веб-интерфейс LuCI, ASU теперь облегчает обновление благодаря возможности автоматического получения информации о доступных обновлениях, их загрузке и установке. Сервис ASU работает за счет выделенного сервера, который собирает и обрабатывает запросы на обновление. Этот механизм гарантирует, что система получает только валидные и проверенные обновления. Также появилась возможность восстановления заводских настроек через LuCI, что обеспечивает безопасный откат к изначальной конфигурации после неудачных экспериментов.
Обновления конфигурации
Обновился механизм сохранения истории команд в командной оболочке ash, которая используется в OpenWrt. Раньше история сохранялась в RAM, что при перезагрузке приводило к ее потере. Теперь история команд автоматически записывается во flash-память, обеспечивая ее сохранность после перезагрузки устройства. Кроме того, появилась поддержка автоматического сбора истории событий посредством интеграции с Busybox, что позволяет сохранять данные в файл '/etc/profile.d/busybox-history-file.sh'.
Поддержка графических интерфейсов
Включена поддержка современных графических библиотек, таких как Qt5, GTK, SDL3, wlroots и Wayland. Эти изменения расширяют возможности для разработки и использования приложений с графическим интерфейсом на устройствах под управлением OpenWrt, делая их более функциональными и интерактивными.
uCode (Shell-скрипт)
Добавлен новый shell-скрипт ucode для управления беспроводными соединениями и сетевым оборудованием. ucode, написанный на JavaScript, обеспечивает более гибкое и мощное управление Wi-Fi и сетевыми параметрами, предоставляя новые возможности для настройки и автоматизации сетевых задач в OpenWrt. ucode предназначен для взаимодействия с ubus и UCI, унифицированными интерфейсами OpenWrt, что позволяет управлять различными аспектами системы.
Новые и улучшенные архитектуры
Расширена поддержка аппаратного обеспечения. В общей сложности добавлена поддержка для более чем 180 новых устройств, доведя общее количество поддерживаемых до 2200. Ключевые архитектурные добавления включают поддержку:
- некоторых Ethernet-контроллеров Realtek с 10-гигабитными портами;
- SoC ipq50xx и ipq60xx в архитектуре qualcommax;
- SoC Siflower SF21A6826/SF21H8898 в архитектуре siflower;
- SoC Allwinner F1C100/200s под sunxi/arm926ejs и микросхем Microchip LAN969x.
Обновления ядра
Ядро Linux обновлено до версии 6.1.71. Также были обновлены компоненты ядра cfg80211/mac80211, ответственные за работу Wi-Fi, до версии 6.18.7 (в предыдущем релизе использовалось ядро 6.6 и компонент cfg80211/mac80211 версии 6.12).