Comment mettre à niveau tous mes packages installés dans LEDE?

27

Je me demande juste quel est l'équivalent de

apt-get upgrade
apt upgrade
yum update

avec OpenWRT ou LEDE?

Evan Carroll
la source

Réponses:

54

Il n'y a pas de commande ou d'argument unique , mais vous pouvez facilement le faire. Pour mettre à niveau tous les packages, LEDE recommande ,

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

Il existe d'autres moyens moins efficaces lorsque les gens utilisent AWK et autres.

Une mise en garde importante suit souvent avec l'utilisation intensive des LEDE / OpenWRTopkg

Étant donné que le micrologiciel LEDE stocke le système de base dans une partition en lecture seule compressée, toute mise à jour des packages du système de base sera écrite dans la partition en lecture-écriture et utilisera donc plus d'espace qu'elle ne le ferait si elle remplaçait simplement l'ancienne version dans la base compressée partition système. Il est recommandé de vérifier l'espace disponible dans la mémoire flash interne et l'espace requis pour les mises à jour des packages du système de base.

Evan Carroll
la source
1
une autre façon de le faire est d'utiliser un shell for loop. par exemple> pour une liste dans `opkg list-upgradeable | cut -f 1 -d '' '; faire la mise à niveau opkg "$ a"; fait
Scott
5

J'ai créé un petit script appelé opkg-upgradepour mieux gérer la mise à niveau.

Il est disponible sur github:
https://github.com/tavinus/opkg-upgrade

Cela rendra la mise à niveau aussi simple que:
opkg-upgrade

Instructions d'installation de Curl / Wget ici!


Comme mentionné dans le fichier readme.md , il peut cependant y avoir des problèmes de mise à niveau.

Problèmes possibles:

  • Le problème squashfs (la ROM est en lecture seule, donc les mises à niveau prennent plus d'espace sur flash ou extroot) .
  • Le problème dev / trunk (beta) (les versions beta peuvent être soft-brickées lors des mises à jour) .
  • Le problème d'espace (besoin de suffisamment d'espace libre pour les téléchargements et les installations) .

Je dois également mentionner que la mise à niveau à partir de CRON est une très mauvaise idée!
Je dirais que même sur une distribution Linux aveugle, les mises à niveau aveugles ne sont pas une bonne idée.
Il y a beaucoup de choses qui peuvent mal tourner lors des mises à niveau et étant donné qu'OpenWrt s'exécute généralement sur des périphériques pouvant être maçonnés, il est encore moins logique de le faire sans surveillance.

En bref, les seuls cas où je mettrais JAMAIS à niveau sont:

  • Si vous utilisez extroot sur une énorme clé USB
  • Si le flash interne est de 32 Mo ou plus
  • Si vous n'utilisez PAS dev / trunk (beta)
  • Si vous exécutez sur ext4 FS avec beaucoup d'espace (métal x86, VM, etc.)

Pourtant, je ne mettrais jamais à jour Cron.
Je penserais également 20 fois avant de mettre à jour Flash interne (même les gros), car cela le dégraderait plus rapidement.

Mon script a la possibilité d'envoyer un rapport par e-mail avec les mises à jour disponibles.
Je recommanderais donc d'ajouter l'outil de création de rapports à cron, puis les gens pourront effectuer une mise à niveau manuellement après avoir reçu l'e-mail. Cela rend les choses plus sûres tout en donnant la possibilité de réviser les mises à niveau.

À votre santé!
Gus

Gus Neves
la source