Разработчики дистрибутива OpenWrt, ориентированного на применение в различных сетевых устройствах, таких как маршрутизаторы, коммутаторы и точки доступа, объявили о переходе на пакетный менеджер APK, развиваемый проектом Alpine. В ноябрьских снапшотах, созданных на базе находящейся в разработке основной ветки OpenWrt, ранее использовавшийся пакетный менеджер opkg уже заменён на инструментарий apk.
Тестовая ветка OpenWrt 24.10 пока продолжает использовать opkg, но в ближайшее время будет переведена на APK (OpenWrt 24.10 станет первым релизом на базе APK). Стабильная ветка OpenWrt 23.05 до окончания своего сопровождения продолжит использование opkg. После завершения миграции на новый пакетный менеджер, opkg будет переведён в разряд устаревших и больше не будет развиваться как часть проекта OpenWrt. Переход на APK позволит расширить возможности управления пакетами, а также приведёт к изменению методов установки и работы с пакетами.
APK по умолчанию (если не указывать опцию “–allow-untrusted”) требует наличия корректных цифровых подписей для всех пакетов, в то время как opkg не проводил проверку для локальных пакетов. Некоторые операции opkg, требовавшие запуска разных команд, в apk могут быть сведены к одной команде (например, отдельно не нужно обновлять кэш с информацией о репозитории, т.е. вместо “opkg update && opkg install dnsmasq-full” можно запустить “apk –update-cache add dnsmasq-full”). Из расширенных возможностей APK также отмечается команда “apk list –installed –orphaned”, при помощи которой можно посмотреть все не используемые зависимости, которые без ущерба для системы могут быть удалены.
Сравнение некоторых команд apk и opkg для выполнения типовых действий:
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 |