web-dev-qa-db-fra.com

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

Je me demande juste quel est l'équivalent de

apt-get upgrade
apt upgrade
yum update

avec OpenWRT ou LEDE?

30
Evan Carroll

Il n'y a pas de commande ou d'argument single, 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 une utilisation intensive de opkg de LEDE/OpenWRT

É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 que si elle l'était. écraser simplement l'ancienne version dans la partition compressée du système de base. 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.

64
Evan Carroll

J'ai créé un petit script appelé opkg-upgrade pour 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 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 de l'espace supplémentaire 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 depuis CRON est une très mauvaise idée!
Je dirais que même pas sur une mise à jour Linux distro régulière, ce n'est pas une bonne idée.
.

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 [~ # ~] pas [~ # ~] en utilisant dev/trunk (beta)
  • Si vous exécutez sur ext4 FS avec beaucoup d'espace (x86 metal, VM, et. All)

Pourtant, je ne mettrais jamais à jour Cron.
Je penserais également 20 fois avant de mettre à niveau 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 utilisateurs 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

6
Gus Neves

Depuis OpenWrt 19.07, exécutant opkg upgrade [pkgname] peut renvoyer cette erreur.

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

Une solution de contournement consiste à utiliser opkg install à la place, ce qui revient au même que luci-app-opkg met à jour les packages.

opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg install 
1
KagurazakaKotori