¿Cómo actualizo todos mis paquetes instalados en LEDE?

27

Me pregunto cuál es el equivalente de

apt-get upgrade
apt upgrade
yum update

con OpenWRT o LEDE?

Evan Carroll
fuente

Respuestas:

54

No hay un solo comando o argumento, pero puede hacerlo fácilmente. Para actualizar todos los paquetes, LEDE recomienda ,

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

Hay otras formas menos eficientes donde las personas usan AWK y tal.

A menudo se produce una advertencia importante con el uso extensivo de LEDE / OpenWRTopkg

Dado que el firmware LEDE almacena el sistema base en una partición de solo lectura comprimida, cualquier actualización de los paquetes del sistema base se escribirá en la partición de lectura y escritura y, por lo tanto, usará más espacio del que usaría si solo se sobrescribe la versión anterior en la base comprimida partición del sistema Se recomienda verificar el espacio disponible en la memoria flash interna y los requisitos de espacio para las actualizaciones de los paquetes del sistema base.

Evan Carroll
fuente
1
Otra forma de hacerlo es con un shell for loop. por ejemplo,> para un en `opkg list-actualizable | cortar -f 1 -d '' '; hacer opkg actualizar "$ a"; hecho
Scott
5

He creado un pequeño script llamado opkg-upgradepara lidiar con la actualización de una mejor manera.

Está disponible en github:
https://github.com/tavinus/opkg-upgrade

Hará la actualización tan fácil como:
opkg-upgrade

¡Instrucciones de instalación de Curl / Wget aquí!


Como se menciona en el archivo readme.md , puede haber problemas con la actualización.

Posibles problemas:

  • El problema de squashfs (la ROM es de solo lectura, por lo que las actualizaciones requieren espacio adicional en flash o extroot) .
  • El problema de desarrollo / troncal (beta) (las versiones beta pueden tener problemas en las actualizaciones) .
  • El problema del espacio (necesita suficiente espacio libre para las descargas e instalaciones) .

¡También debo mencionar que actualizar desde CRON es una muy mala idea!
Diría que ni siquiera en una distribución regular de Linux las actualizaciones ciegas son una buena idea.
Hay muchas cosas que pueden salir mal en las actualizaciones y dado que OpenWrt generalmente se ejecuta en dispositivos que pueden ser bloqueados, tiene aún menos sentido hacerlo sin supervisión.

En resumen, los únicos casos en los que alguna vez actualizaría son:

  • Si usa extroot en una gran memoria USB
  • Si el flash interno es de 32 Mb o más
  • Si NO usa dev / trunk (beta)
  • Si se ejecuta en ext4 FS con mucho espacio (x86 metal, VM, et. All)

Aún así, nunca me actualizaría de cron.
También pensaría 20 veces antes de actualizar Flash interno (incluso grandes), ya que eso lo degradaría más rápido.

Mi script tiene la opción de enviar un informe por correo electrónico con las actualizaciones disponibles.
Por lo tanto, recomendaría agregar la herramienta de informes a cron, y luego las personas pueden actualizar manualmente después de recibir el correo electrónico. Esto hace que las cosas sean más seguras al tiempo que ofrece la opción de revisar las actualizaciones.

¡Aclamaciones!
Gus

Gus Neves
fuente