Как мне обновить все мои установленные пакеты в LEDE?

Нет, нет никакого способа получить закрытые ключи, хранящиеся в ssh-agent , потому что это было бы нарушением того, для чего создан агент. Рекомендую создавать новые ключи в качестве подсказок в комментариях.

На Mac есть какая-то машина обратной связи, которая должна дать вам резервную копию, не так ли? Или как вы их удалили? Ничего в мусоре?

28
25.10.2017, 00:39
4 ответа

Я создал небольшой скрипт под названием opkg-upgrade, чтобы лучше справляться с обновлением.

Доступен на github:
https://github.com/tavinus/opkg-upgrade

Обновление станет таким же простым, как:
opkg-upgrade

Инструкции по установке Curl/Wget здесь!


Как указано в файле readme.md , при обновлении могут возникнуть проблемы.

Возможные проблемы:

  • Проблема с squashfs(ПЗУ доступно только для чтения -, поэтому обновления занимают дополнительное место на флэш-памяти или в extroot).
  • Проблема с dev/trunk (бета-версией )(бета-версии могут быть программными -при обновлении).
  • Проблема с местом(требуется достаточно свободного места для загрузки и установки).

Я также должен упомянуть, что обновление с CRON — очень плохая идея!
Я бы сказал, что даже на обычном дистрибутиве Linux слепые обновления не являются хорошей идеей.
Есть много вещей, которые могут пойти не так при обновлении, и, поскольку OpenWrt обычно работает на устройствах, которые можно заблокировать, еще меньше смысла делать это без присмотра.

Короче говоря,единственные случаи, когда я КОГДА-ЛИБО обновился, это:

  • При использовании extroot на большом USB-накопителе
  • Если внутренняя флэш-память 32 МБ или больше
  • Если НЕ с использованием бета-версии dev/trunk ()
  • При работе на ext4 FS с большим количеством места(x86 metal, VM и т. д. все)

Тем не менее, я бы никогда не обновился с cron.
Я бы также 20 раз подумал, прежде чем обновлять внутреннюю флэш-память (, даже большую ), так как это ухудшит ее работу быстрее.

В моем скрипте есть возможность отправлять -отчет по электронной почте с доступными обновлениями.
Поэтому я бы порекомендовал добавить инструмент создания отчетов в cron, а затем люди смогут обновить его вручную после получения электронной почты -. Это делает вещи более безопасными, а также дает возможность пересматривать обновления.

Ура!
Гас

8
27.01.2020, 19:39

Начиная с OpenWrt 19.07, выполнение opkg upgrade [pkgname]может вызвать эту ошибку.

Collected errors:
 * pkg_hash_add_from_file: Failed to open /var/opkg-lists/openwrt_routing: Out of memory.

В качестве обходного пути можно использовать вместо этого opkg install, который аналогичен тому, как luci-app-opkgобновляет пакеты.

opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg install 
4
27.01.2020, 19:39

Насколько я могу судить, правильный ответ на этот вопрос заключается в том, что нет эквивалента apt upgrade в OpenWrt и нет набора команд, которые создадут эквивалентную функциональность. Репозитории OpenWrt не поддерживаются с целью обновления пакетов конечного пользователя (, которые вы должны переходить от выпуска к выпуску путем перепрошивки ), а opkg не обрабатывает и даже не проверяет зависимости.

Существует предупреждение в информационном окне для руководства пользователя OpenWRT , в котором рассматривается эта тема, частично:

Generally speaking, the use of opkg upgrade is very highly discouraged. It should be avoided in almost all circumstances. In particular, bulk upgrading is very likely to result in major problems, but even upgrading individual packages may cause issues. It is also important to stress that this is distinctly different from the sysupgrade path for upgrading OpenWrt releases (major versions as well as maintenance upgrades). opkg upgrade will not update the OpenWrt version. Only sysupgrade can do that. The two are not equivalent.

Unlike the 'big distros' of Linux, OpenWrt is optimized to run on systems with limited resources. This includes the opkg package manager, which does not have built-in ABI (Application Binary Interface) compatibility and kernel version dependencies verification. Although sometimes there may be no issues, there is no guarantee and the upgrade can result in various types of incompatibilities that can range from minor to severe, and it may be very difficult to troubleshoot. In addition, the opkg upgrade process will consume flash storage space. Since it does not (and cannot) overwrite the original (stored in ROM), it must store the upgraded packages in the r/w overlay.

Это суммируется с:

Blindly upgrading packages (manually or via script) can lead you into all sorts of trouble.

Just because there is an updated version of a given package does not mean it should be installed or that it will function properly. Inform yourself before doing any upgrades to determine if it is safe to upgrade.

и, наконец,

There are two ways to manage/install packages in OpenWrt: with the LuCI web interface Software menu (System > Software), and via the command line interface (CLI). Both methods invoke the same CLI opkg executable, and as of OpenWrt 19.07.0, the LuCI interface now has an 'Updates' tab with a listing of packages that have available upgrades. The LuCI Upgrade… button performs the same opkg upgrade command that is discussed in this article. The same warnings apply to upgrading packages using LuCI and the CLI.

Стоит прочитать весь информационный блок. Он появляется в верхней части этого раздела Руководства пользователя об отображении доступных обновлений пакетов .

Оставшееся содержание моего исходного поста сохранено ниже

Цитаты с форумов OpenWrt:

Those of us who have more experience with OpenWrt know that it is a bad idea to use opkg upgrade (unless there is a very specific reason) as things can break. But many other users do not know -- they assume that it is just like any other linux installation and that the upgrades should work most of the time.

и

DO NOT USE OPKG UPGRADE!

Seriously, don't. Ever. Unless you know what you are doing, have a very good reason to do it, and are willing to face the consequences if you mess up your router when it doesn't go well. It will consume flash memory space, but even more importantly, there can be kernel mismatches and other broken dependencies which can cause various issues for OpenWrt -- some of them just at the nuisance level, others can be quite severe requiring re-flashing and such.

и

Never, ever use opkg upgrade - this method will likely cause you major problems and does not actually upgrade the version. Some people will say that they have used opkg upgrade successfully, but for every one of those people, there are many more who have problems caused entirely by that process - some minor, some major. Just don’t do it

Короче говоря, есть причина, по которой в LUCI не включен параметр графического интерфейса для выполнения этого действия. Методы, предлагаемые для использования в других ответах здесь, позволят достичь чего-то похожего на apt/apt -get, но базовые инструменты просто не работают так же, как apt или yum. Возможные проблемы выходят за рамки упомянутой возможности нехватки места для хранения (, что плохо, но их можно избежать, если соблюдать осторожность ).

Ссылки :https://forum.openwrt.org/t/okpg-upgrade-safeguards/30326
https://forum.openwrt.org/t/opkg-upgrade-vs-flashing-sysupgrade/58906
https://forum.openwrt.org/t/sysupgrade-instead-of-opkg-upgrade/32897/4

Я не эксперт по OpenWRT, я попал в эту тему, потому что она по-прежнему занимает первое место в результатах веб-поиска по запросу «обновление wrt». Прочитав эту ветку, я перешел к форумам OpenWrt, включая темы, указанные выше.Я всего лишь пытаюсь помочь конечным пользователям избежать проблем в будущем, передавая информацию, которую я нашел, которая, предположительно, была написана теми, кто более знаком/осведомлен в этом вопросе, чем я.

Те, кто хочет продолжать выступать за использование различных команд для обновления пакетов в OpenWrt, пожалуйста, найдите время, чтобы проверить с командой OpenWrt, что это разумный способ использования предоставленных инструментов. Я бы хотел оказаться неправым.

17
27.04.2020, 19:57

Если вы получаете сообщение об ошибке

попробуйте обновить каждый файл отдельно, пока:

opkg list-upgradable | cut -f 1 -d ' ' | while IFS='$\n' read -r line; do opkg install $line ; done
1
14.10.2020, 18:30

Теги

Похожие вопросы