Come posso aggiornare tutti i miei pacchetti installati in LEDE?


Risposte:


54

Non esiste un singolo comando o argomento, ma puoi farlo facilmente. Per aggiornare tutti i pacchetti, LEDE consiglia ,

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

Esistono altri modi meno efficienti in cui le persone usano AWK e simili.

Un avvertimento importante segue spesso con un ampio uso di LEDE / OpenWRTopkg

Poiché il firmware LEDE memorizza il sistema di base in una partizione di sola lettura compressa, qualsiasi aggiornamento ai pacchetti di sistema di base verrà scritto nella partizione di lettura e scrittura e quindi utilizzerà più spazio di quello che avrebbe se stesse sovrascrivendo la versione precedente nella base compressa partizione di sistema. Si consiglia di controllare lo spazio disponibile nella memoria flash interna e i requisiti di spazio per gli aggiornamenti dei pacchetti del sistema di base.


1
un altro modo per farlo è con una shell per loop. ad es.> per a in `opkg list-aggiornabile | cut -f 1 -d '' `; esegui l'upgrade di opkg "$ a"; fatto
Scott,

5

Ho creato un piccolo script chiamato opkg-upgradeper gestire l'upgrade in modo migliore.

È disponibile su github:
https://github.com/tavinus/opkg-upgrade

Renderà l'aggiornamento semplice come:
opkg-upgrade

Istruzioni per l'installazione di Curl / Wget qui!


Come menzionato nel file readme.md , tuttavia , potrebbero esserci problemi con l'aggiornamento.

Possibili problemi:

  • Il problema di squashfs (la ROM è di sola lettura, quindi gli aggiornamenti occupano più spazio su flash o extroot) .
  • Il problema dev / trunk (beta) (le versioni beta possono essere soft-bricked sugli aggiornamenti) .
  • Il problema di spazio (è necessario spazio sufficiente per i download e le installazioni) .

Vorrei anche ricordare che l'aggiornamento da CRON è una pessima idea!
Direi che nemmeno su una normale distribuzione Linux aggiornamenti ciechi sono una buona idea.
Ci sono molte cose che possono andare storte negli aggiornamenti e poiché OpenWrt di solito funziona su dispositivi che possono essere bloccati, è ancora meno sensato farlo incustodito.

In breve, gli unici casi in cui vorrei MAI aggiornare sono:

  • Se si utilizza extroot su una grande chiavetta USB
  • Se il flash interno è 32 Mb o più grande
  • Se NON si utilizza dev / trunk (beta)
  • Se in esecuzione su ext4 FS con molto spazio (x86 metal, VM, ecc.)

Tuttavia, non aggiornerei mai da cron.
Vorrei anche pensare 20 volte prima di aggiornare il Flash interno (anche quelli di grandi dimensioni), poiché ciò lo degraderebbe più velocemente.

Il mio script ha la possibilità di inviare un rapporto e-mail con gli aggiornamenti disponibili.
Quindi consiglierei di aggiungere lo strumento di reporting a cron e quindi le persone possono aggiornare manualmente dopo aver ricevuto l'e-mail. Ciò rende le cose più sicure offrendo al contempo la possibilità di rivedere gli aggiornamenti.

Saluti!
Gus

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.