Як оновити всі встановлені пакети в LEDE?


Відповіді:


54

Немає жодної команди чи аргументу, але ви легко можете це зробити. Щоб оновити всі пакети, LEDE рекомендує ,

opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade 

Є й інші менш ефективні способи, коли люди використовують AWK і подібні.

Важливе застереження часто випливає з широкого використання LEDE / OpenWRTopkg

Оскільки мікропрограмне забезпечення LEDE зберігає базову систему в стисненому розділі, доступному лише для читання, будь-яке оновлення базових системних пакетів буде записано в розділ для читання-запису і, отже, буде використовувати більше місця, ніж це було б, якби просто перезаписати старішу версію в стиснуту базу системний розділ. Рекомендується перевірити наявний простір у внутрішній флеш-пам’яті та необхідні місця для оновлення базових системних пакетів.


1
Ще один спосіб зробити це - оболонкою для петлі. напр.> для списку в `opkg, який можна оновити | вирізати -f 1 -d '' `; зробіть оновлення opkg "$ a"; зробив
Скотт

5

Я створив невеликий сценарій, покликаний opkg-upgradeрозібратися з оновленням кращим чином.

Він доступний на веб- сайті github:
https://github.com/tavinus/opkg-upgrade

Це зробить оновлення так само просто:
opkg-upgrade

Інструкції з установки Curl / Wget тут!


Як вже згадувалося у файлі readme.md , можливо, можуть бути проблеми з оновленням.

Можливі проблеми:

  • Проблема squashfs (ROM є лише для читання, тому оновлення займає додатковий простір у спалах або екстраот) .
  • Проблема dev / trunk (beta) (бета-версії можуть бути м'якими цеглинами при оновленнях) .
  • Проблема з простором (потрібно достатньо вільного місця для завантаження та встановлення) .

Я також повинен зазначити, що оновлення до CRON - це дуже погана ідея!
Я б сказав, що навіть на звичайних дистрибутивах Linux сліпі оновлення - хороша ідея.
Є багато речей, які можуть піти не так у оновленнях, і оскільки OpenWrt зазвичай працює на пристроях, які можна закласти цеглою, це робить ще менше сенсу робити це без нагляду.

Коротше кажучи, єдині випадки, коли я хотів би оновити:

  • Якщо ви використовуєте extroot на величезній USB-накопичувачі
  • Якщо внутрішній спалах становить 32 Мбіт або більше
  • Якщо НЕ використовуйте dev / trunk (бета-версія)
  • Якщо ви працюєте на ext4 FS з великою кількістю місця (метал x86, VM тощо)

І все-таки я ніколи не перейду з крона.
Я також подумав би 20 разів перед оновленням внутрішнього Flash (навіть великого), оскільки це швидше погіршить його.

Мій сценарій має можливість надсилати звіт електронною поштою з наявними оновленнями.
Тож я б рекомендував додати інструмент звітування в cron, а потім люди зможуть оновити вручну після отримання електронної пошти. Це робить речі більш безпечними, а також дає можливість переглянути оновлення.

Ура!
Гас

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.