--- categories: ['OpenWRT','Système'] date: 2020-02-24T19:17:42+01:00 description: "Comment mettre à jour l'ensemble de la liste des packages sous OpenWRT avec le gestionnaire opkg" draft: false tags: ["OpenWRT", "upgrade", "opkg", "astuce", "sysadmin"] title: "OpenWRT : opkg upgrade (astuce)" translationKey: "openwrt-opkg-upgrade" --- ## Description OpenWRT a pour gestionnaire de paquet l'outil `opkg`. Pour mettre à jour la liste des différents paquets, il n'est pas prévu de mettre à jour facilement ceux-ci en une seule ligne de commande, bien que l'option `upgrade` existe. {{< note danger >}}**ATTENTION** : L'utilisation de l'option `upgrade` est hautement découragée. Pour comprendre la raison, merci de lire la [page du wiki à ce propos](https://openwrt.org/meta/infobox/upgrade_packages_warning) ! {{}} Voici l'astuce : ```sh # for name in `opkg list-upgradable | awk '{print $1}'`; do opkg upgrade "${name}"; done ``` Ou si comme moi, vous avez créé un utilisateur qui a le droit d'utiliser la commande `sudo`, faites simplement : ```sh $ for name in `sudo opkg list-upgradable | awk '{print $1}'`; do sudo opkg upgrade "${name}"; done ``` ---- ### Script Un petit scrip shell nommé `opkgupgrade.sh` : ```sh #!/bin/sh sudo opkg update for name in `sudo opkg list-upgradable | awk '{print $1}'`; do sudo opkg upgrade "${name}"; done ``` Il n'y a plus qu'à l'appeler :
`$ ./opkgupgrade.sh` Et voilà ! ---