The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Дистрибутив OpenWrt переходит на пакетный менеджер APK

16.11.2024 22:02

Разработчики дистрибутива OpenWrt, ориентированного на применение в различных сетевых устройствах, таких как маршрутизаторы, коммутаторы и точки доступа, объявили о переходе на пакетный менеджер APK, развиваемый проектом Alpine. В ноябрьских снапшотах, созданных на базе находящейся в разработке основной ветки OpenWrt, ранее использовавшийся пакетный менеджер opkg уже заменён на инструментарий apk.

Тестовая ветка OpenWrt 24.10 пока продолжает использовать opkg, но в ближайшее время будет переведена на APK (OpenWrt 24.10 станет первым релизом на базе APK). Стабильная ветка OpenWrt 23.05 до окончания своего сопровождения продолжит использование opkg. После завершения миграции на новый пакетный менеджер, opkg будет переведён в разряд устаревших и больше не будет развиваться как часть проекта OpenWrt.

Переход на APK позволит расширить возможности управления пакетами, а также приведёт к изменению методов установки и работы с пакетами. Среди причин перехода упоминаются более эффективная работа с метаданными в APK и возможность модернизации процесса обновления всей системы до новой версии дистрибутива. Кроме того, APK по умолчанию требует наличия корректных цифровых подписей для всех пакетов (если не указывать опцию "--allow-untrusted"), в то время как opkg не проводит проверку для локально устанавливаемых пакетов.

Из расширенных возможностей APK также отмечается: Команда "apk list --installed --orphaned", при помощи которой можно посмотреть все не используемые зависимости, которые без ущерба для системы могут быть удалены. Возможность обойтись без отдельной команды обновления индекса - операции opkg, требовавшие запуска разных команд, в apk могут быть сведены к одной команде, например, вместо "opkg update && opkg install dnsmasq-full" можно запустить "apk --update-cache add dnsmasq-full".

Сравнение некоторых команд 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


  1. Главная ссылка к новости (https://forum.openwrt.org/t/ma...)
  2. OpenNews: Опубликован OpenWrt 23.05.0
  3. OpenNews: Доступен маршрутизатор OpenWrt One, развиваемый сообществами OpenWrt и Banana Pi
  4. OpenNews: Обновление OpenWrt 19.07.1 с устранением уязвимости, допускающей подмену пакетов
  5. OpenNews: Релиз минималистичного дистрибутива Alpine Linux 3.20
  6. OpenNews: Уязвимость в пакетном менеджере APK, позволяющая удалённо выполнить код в Alpine Linux
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62240-openwrt
Ключевые слова: openwrt, apk
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (53) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, хрю из бусика (?), 22:43, 16/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +15 +/
    главное чтобы это не добавило больше тормозов на итак немощных embedded устройствах
     
     
  • 2.3, Аноним (-), 22:51, 16/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А я планирую что-то более мощное купить после того как попробовал. Есть устройства на ARM и используют 1-2 Гб оперативной памяти. Для моих целей нужно что-то более 128 Мб. А в целом хотелось бы видеть больше статей про свободные прошивки, есть же и другие.
     
  • 2.6, Аноним (6), 23:09, 16/11/2024 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Это всего лишь на этапе установки пакета, как оно может влиять на работу устройства в целом? Даже если перейдут на deb/rpm
     
     
  • 3.11, Dzen Python (ok), 23:57, 16/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    + место под базу для ключей (+проц для вычисления ключа)
    ИЛИ
    + место под базу самих верифицированных подписей,

    ...которые еще и нужно обновлять периодически. С failsafe - т.е. с классической А/В-схемой или стек-схемой. И это для эмбеддед, где иногда килобайты наперечет.

     
     
  • 4.20, 12yoexpert (ok), 01:21, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    в новости ничего не сказано про верификацию подписей или бд ключей
     
  • 4.24, ryoken (ok), 01:47, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> И это для эмбеддед, где иногда килобайты наперечет.

    Ну это вы, батенька, загнули... Даже в моем дремучем WNDR4300 128RAM / 128 Flash, причем последнее даже не на половину заполнено. Можно найти конечно девайс, где все в притык, но там вероятно OpenWRT несколько не к месту.

     
     
  • 5.42, Аноним (42), 10:20, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>> И это для эмбеддед, где иногда килобайты наперечет.
    > Ну это вы, батенька, загнули... Даже в моем дремучем WNDR4300 128RAM /
    > 128 Flash, причем последнее даже не на половину заполнено. Можно найти
    > конечно девайс, где все в притык, но там вероятно OpenWRT несколько
    > не к месту.

    К месту или не к месту решать только владельцу устройства. А openWRT за последние годы зело разжирело и прогрессия потребления ресурсов у него не далеко отстаёт от прогрессии потребления андроидов с каждой новой версией.

     
     
  • 6.48, Аноним (48), 12:39, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вот только если ваше мнение расходится с мнением мейнтейнеров OpenWRT, то ваше устройство - либо легаси, либо колхоз, либо и то, и другое. Поздрпвляю, вы теперь сами по себе, независимо от используемого пакетного менеджера.
     
  • 3.27, Аноним (27), 02:27, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Занять всё свободное место индексами, базами, кэшами, подписями и т.д.?
     
  • 3.52, Аноним (-), 13:53, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Это всего лишь на этапе установки пакета, как оно может влиять на
    > работу устройства в целом? Даже если перейдут на deb/rpm

    Как, как... yum и dnf отлично дохнут на VM с 256 оперативы, при установке жирного пакета - кончается память выжраная пакетником! Дальше оно делает само себе харакири - с разлетом базы пакетов. И после этого вы вообще ничерта не установите и не снесете, пока с этим не разберетесь.

    Так простая операция превращается в брэйнфак - а идея сделать VM для микросервиса - обнаруживает что больше всего RAM оной надо - чтобы пакетник был доволен, лол.

     
  • 2.8, тфьу (?), 23:25, 16/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > что-то более мощное купить после того как попробовал.
    > 1-2 Гб оперативной памяти

    Да ну, вот моща то какая!

     
     
  • 3.17, Аноним (17), 01:00, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Если учесть, что у роутеров в среднем 128 - 256 МБайт, то да.
     
     
  • 4.28, Аноним (27), 02:31, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > 128 - 256 МБайт

    Это ещё много. В ходу до сих пор полно 8MB флэш / 64MB озу. И они даже работают, правда без вэб морды.

     
     
  • 5.35, 1 (??), 07:03, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    работают и даже с вэб мордой
     
  • 2.22, Аноним (22), 01:32, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    На OpenWRT индекс пакетов дофига места занимает. apk решает эту проблему.
     
     
  • 3.26, Аноним (27), 02:26, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > На OpenWRT индекс пакетов дофига места занимает.

    А теперь не просто дофига, а овердофига будут занимать ключи с подписями.

     
     
  • 4.31, cheburnator9000 (ok), 03:14, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Нет не будут.

    Ключи в apk пакетном менеджере это просто rsa.pub файл с текстом ключа, все. Репозиторий может банально подписываться одним ключем.

    Индекс пакетов это просто APKINDEX.tar.gz файл. Который в случае с openwrt лежит в tmpfs в ram.

     
     
  • 5.33, Молодой Смузихлёб (?), 04:31, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Вот не понимаю почему все ещё держаться за RSA. Ed25519 значительно меньше, но до сих пор не поддерживается для того же SSH.
     
     
  • 6.36, 1 (??), 07:05, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ssh-keygen -t ed25519 -C "your_email@example.com"
     
  • 6.45, Axel (??), 11:05, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Поддерживается, несколько лет использую.
     
  • 6.53, Аноним (-), 13:56, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот не понимаю почему все ещё держаться за RSA. Ed25519 значительно
    > меньше, но до сих пор не поддерживается для того же SSH.

    Apk его и юзал. Ибо ждать пока малохольная мыльница прожует пачку RSA подписей - это вообше совсем не айс.

     
     
  • 7.54, Аноним (-), 13:57, 17/11/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.51, старый процессор (?), 13:48, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Устройства менее чем с 64мб памяти не поддерживаются оврт. Скоро требования поднимутся до 128 и без АПК.
     

  • 1.2, Alladin (?), 22:45, 16/11/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     

  • 1.5, Уникум (?), 23:08, 16/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Только сам apk или альпиновские репы ещё?
     
     
  • 2.7, Аноним (6), 23:10, 16/11/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    OpenWRT собирают все пакеты сами под все архитектуры, зачем им альпиновские репы?
     

  • 1.9, Аноним (-), 23:45, 16/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В чём причина перехода?
     
     
  • 2.23, Аноним (22), 01:35, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В issue на гитхабе всё расписано. TL;DR: в Alpinовский пакеный менеджер больше инвестировали, поэтому он работает и хранит метаданные более эффективно. Вместо того, чтобы изобретать колесо и плодить фрагментацию, решено было просто dropнуть opkg. Good ridance.
     

  • 1.10, Dzen Python (ok), 23:54, 16/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Шило -> Мыло

    Ну это как по мне. Непонятно, на самом деле.

    Хотя...на эмбеддеде разве важна проверка цифровых подписей? Проверка хэшей при загрузке из заведомо "trusted" репа это еще куда ни шло, но все знают, что owrt как раз хорош тем, что можно собрать СВОЙ пакет и штатно его поставить в систему?
    > Некоторые операции opkg, требовавшие запуска разных команд, в apk могут быть сведены к одной команде

    А разве это такая прямо проблема? Все каждый день ковыряют роутер так, что это становится реально проблемой?
    > "apk list --installed --orphaned"

    Годно, но...еще раз - кто так часто ковыряет вспомогательное устройство и накатывает на него от сотни пакетов, чтобы не осознавать, какой пакет что тянет и что можно безболезненно удалить? На настольном ПК со сборкой от 500-600 пакетов - мастхэв, но на эмбеддед?

     
     
  • 2.14, Я (??), 00:26, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    современный класс роутеров это уже действительно микросерверы. там теперь всякое крутится и современный пакетный менеджер логичен
     
  • 2.21, 12yoexpert (ok), 01:28, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    кто так часто ковыряет вспомогательное устройство и накатывает на него от сотни пакетов, чтобы осознавать, какой пакет что тянет и что можно безболезненно удалить?
     

  • 1.15, Аноним (15), 00:32, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Придумайте другое название. Apk уже занято Андроидом.
     
     
  • 2.18, Аноним (18), 01:07, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Придумайте другое название для мобильной операционной систем Гугла. Андроид уже занято человекоподобными роботами.
     
     
  • 3.19, Аноним (-), 01:19, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Андроид уже занято человекоподобными роботами.

    Гигантскими боевыми, я надеюсь?
    Других можете даже не предлагать!

     
     
  • 4.55, Аноним (-), 13:58, 17/11/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.29, Skullnet (ok), 03:05, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Alpk
     
  • 2.32, cheburnator9000 (ok), 03:15, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты еще скажи что слово English застолблено за USA.
     
  • 2.40, Аноним (40), 08:59, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Alpine существует с 2005 года, а Android  c 2008.
     

  • 1.16, Аноним (16), 00:59, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Меньше фрагментации это хорошо
     
  • 1.25, Yevgeny Vaganovich (?), 02:12, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Как бы сей переход не превратится apkалипсис для роутеров у которых памяти впритык.
     
     
  • 2.41, Аноним (41), 09:02, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    да-да и не придется с этим переходом делать без сохранения настроек, а то что-то не хочется снова настраивать.
     
  • 2.56, Аноним (-), 14:01, 17/11/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.30, cheburnator9000 (ok), 03:07, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Очень сомнительный выбор. Там по сути один основной разработчик, который как раб на галерах, и ему давно покласть на развитие apk. А теперь еще и другие от него зависят.

    Вот вам пример. Добавьте сторонний репозиторий в котором, например, есть пакет со сторонним модулем ядра. Пакет бинарного модуля всегда конкретно привязан к конкретной версии-релиза пакета ядра.

    Иными словами в PKGBUILD мейнтейнеры вынуждены использовать install_if="linux-virt=6.5.0-r1" и depends="linux-virt=6.5.0-r1" (для примера) чтобы не поломать бинарную совместимость модуля.

    Так вот что случится когда выйдет linux-virt-6.5.0-r2 или 6.6.0-r1?

    Аpk вам не даст обновиться на новое ядро из-за жесткого depends, а удаление пакета со сторонним модулем потащит за собой удаление ядра из системы. Что? То! Почему так? Одному лишь сатане известно. Я поднимал этот вопрос в их irc, они либо не желают читать, либо отвечать, либо им по барабану.

    А самое главное apk upgrade вам ничего не напишет в терминал, просто пользователь будет считать что пакетов для обновления нет, ну нет и нет, и будет продолжать сидеть на этом __Secure__ линуксе и считать себя в безопасности. А что же в случае с банальным apt? Apt будет ругаться кучей Warning.

    А так как Alpine это "bleeding edge" дистрибутив то там мейнтейнеры сторонних репозиториев тупо не поспевают за изменениями в репах.

    Ладно хрен с ним, а OpenWRT то тут причем? Там ведь ядро не патчат каждый день! Да не патчат, но сторонние репы для openwrt существуют. Я очень сомневаюсь что разработчики openwrt будут разивать apk до уровня того же apt по качеству user experience. В alpine его писали скрипто-маkakи для таких же красноглазых консольщиков которые вынуждены читать сорцы программы, чтобы понять логику опций apk.

     
     
  • 2.37, Аноним (37), 07:17, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С OPKG ещё хуже, он вообще не развивается.
     
  • 2.49, Аноним (48), 12:49, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот вам пример...

    Т.е. apk плох, если зависимости меняются часто, а сторонние мейнтейнеры не успевают. Ок.

    > Ладно хрен с ним, а OpenWRT то тут причем? Там ведь ядро не патчат каждый день!

    Т.е. в OpenWrt версии пакетов бампаютсч не очень часто. Ок.

    Мне кажется, вы только что сами себя поделили на ноль.

     
  • 2.50, Лампочка (?), 13:28, 17/11/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.38, Анониссимус (?), 07:54, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Жаль. apk жруч до памяти, а opkg работает даже на самых слабых устройствах.
     
  • 1.39, Аноним123 (?), 08:13, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >вместо "opkg update && opkg install dnsmasq-full" можно запустить "apk --update-cache add dnsmasq-full")

    Это прична для чего было нужно заменить opkg?

     
  • 1.43, Аноним (43), 10:41, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Думаю, что если мой роутер будет хуже работать на новой опенврт, то просто откачусь на 23.05, накачу конфиг свой и буду пользоваться, так как он работает и хлеба не просит) archer c6u
     
  • 1.44, Аноним (44), 10:52, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    нахрен вообще пакетник в роутерах? атомарность была бы уместнее.
     
     
  • 2.46, Аноним (46), 11:12, 17/11/2024 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.47, Аноним (47), 12:31, 17/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как раз для этого есть возможность собрать openwrt под свои нужды, исключив из итогового образа что не нужно и добавив что нужно.
    При чем можно сделать это не выхордя из браузера на https://firmware-selector.openwrt.org/ в "Customize installed packages and/or first boot script"
    Практически уверен что и с apk эта возможность сохранится.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру