Le paquet ne s'installe pas : téléchargement, architecture, dépendances, LuCI et postinst
Résultat attendu
Section intitulée « Résultat attendu »- Déterminer si le paquet est absent du dépôt ou s’il existe mais échoue à l’installation ;
- Identifier un échec d’architecture, d’ABI, de dépendance, d’interface LuCI ou de postinst ;
- Comprendre pourquoi le programme principal s’est installé mais LuCI n’a pas de menu ;
- Récupérer sans reflasher le micrologiciel.
Couche 0 : relever l’environnement
Section intitulée « Couche 0 : relever l’environnement »ubus call system boardcat /etc/openwrt_releasecat /etc/apk/arch 2>/dev/nullcommand -v apkcommand -v opkgcat /etc/apk/repositories.d/distfeeds.list 2>/dev/null25.12 utilise apk ; 24.10 utilise opkg. Ne renommez pas un .ipk en .apk et ne forcez pas une autre architecture.
AttenduVous savez s'il faut utiliser apk ou opkg, ainsi que la version, la cible et l'architecture.
Couche 1 : téléchargement et dépôts
Section intitulée « Couche 1 : téléchargement et dépôts »apk updateapk search <package>apk info -e <package>Si apk update échoue, vérifiez d’abord les erreurs 404, la signature, l’heure et les certificats. Si la recherche ne trouve rien, le dépôt est peut-être périmé, le nom est peut-être erroné, ou le paquet n’existe pas pour cette version/architecture.
Attenduapk search/update le trouve, ou vous savez qu'il est absent.
- 25.12 :
.apk; 24.10 :.ipk; - Préférez les dépôts aux « repacks » de disque cloud ou de forum ;
- Pour les fichiers locaux, vérifiez le SHA-256 ou la signature ;
- N’utilisez pas
--allow-untrustedpar routine ; il contourne les contrôles de confiance et ne prouve pas la compatibilité.
AttenduLa source est fiable et le format/l'architecture correspondent.
Couche 2 : architecture et ABI
Section intitulée « Couche 2 : architecture et ABI »cat /etc/apk/archapk info -a <package> | grep -E "arch|depends|provides" | headx86_64,aarch64_cortex-a53, etc. ne sont pas interchangeables ;- les modules noyau (kmod) doivent correspondre à la version/ABI du noyau ;
- les paquets de simples scripts peuvent être
any/noarchet ne peuvent pas prouver un rejet d’architecture.
Ce labo a téléchargé un
sqm-scriptsaarch64, mais il s’agit desqm-scripts-any(sans binaire propre à une architecture), et--allow-untrusteden local l’a quand même remplacé. Cela ne prouve pas que les contrôles d’architecture ont réussi. Un vrai test de rejet exige un paquet contenant de l’ELF ; cette page ne le marque pas comme vérifié.
AttenduL'architecture du paquet correspond à /etc/apk/arch ; les kmods correspondent aussi au noyau.
Couche 3 : dépendances
Section intitulée « Couche 3 : dépendances »apk add <package> 2>&1 | tail -20apk info -R <package> 2>/dev/null | head -20apk info -e <dependency>Cas courants :
- programme principal installé,
luci-app-*manquant ; kmod-*ne correspond pas au noyau ;- les dépendances se trouvent dans un autre dépôt ou une autre version ;
- des dépôts officiels, ImmortalWrt et iStoreOS sont mélangés.
AttenduLes dépendances manquantes ont des noms de paquets précis.
Couche 4 : menu LuCI
Section intitulée « Couche 4 : menu LuCI »apk info -L <luci-app-name> | head -20ls -l /usr/share/luci/menu.d/ 2>/dev/null | grep <name>Dans ce labo :
sqm-scriptsseul : installé, mais aucun menu LuCI ;- ajout de
luci-app-sqm:/usr/share/luci/menu.d/luci-app-sqm.jsonet/www/luci-static/resources/view/network/sqm.jssont apparus ; - suppression de
luci-app-sqm: le fichier de menu a disparu ; la réinstallation l’a restauré.
Si le menu ne s’affiche toujours pas : videz le cache du navigateur, déconnectez-vous puis reconnectez-vous, vérifiez luci-base, le paquet de langue et rpcd ; ne reflashez pas en premier.
AttenduAprès l'installation de luci-app, le menu et les fichiers statiques apparaissent.
Démo enregistrée (labo 017)
Section intitulée « Démo enregistrée (labo 017) »Couche 5 : postinst / scripts de configuration
Section intitulée « Couche 5 : postinst / scripts de configuration »logread | tail -50apk info -L <package> | head -20ls /etc/uci-defaults/ 2>/dev/null | tail- Un postinst en échec n’annule pas forcément le paquet ;
- vérifiez
/etc/uci-defaults,/etc/init.d/<service>,/etc/config/<service>; - ne forcez pas des réinstallations répétées juste pour rejouer postinst ; lisez d’abord le journal et les scripts.
AttenduVous savez si postinst a échoué et ce qu'il a modifié.
Couche 6 : récupération
Section intitulée « Couche 6 : récupération »apk del <package># if feeds were changed:cp /etc/apk/repositories.d/distfeeds.list.bak.YYYY-MM-DD /etc/apk/repositories.d/distfeeds.listapk updaterebootSi le paquet casse la gestion, arrêtez d’abord le service et restaurez les sauvegardes de configuration ; le reflashage est le dernier recours.
AttenduRetour à l'état précédent, ou au moins possibilité de continuer le diagnostic.
Échecs courants
Section intitulée « Échecs courants »| Symptôme | Cause plus probable | À vérifier d’abord |
|---|---|---|
apk update 404 |
mauvaise version/cible/architecture/chemin du miroir | fichiers de dépôt + curl -I |
| Paquet introuvable | mauvais nom/dépôt/version | apk search |
| Téléchargé mais ne s’installe pas | architecture/dépendance/signature | apk info -a, sortie d’installation |
| Installé mais pas de menu | programme principal seul, pas de luci-app-* |
apk info -L |
| Le menu existe mais ne s’ouvre pas | LuCI/langue/rpcd/cache | console du navigateur, logread |
| Erreur postinst | script/permissions/dépendance/configuration | logread, /etc/uci-defaults |
| Plus d’Internet après l’installation | le service a modifié le DNS, le pare-feu ou l’interface | arrêter le service, restaurer les sauvegardes |
Test de labo E2 (2026-10-20)
Section intitulée « Test de labo E2 (2026-10-20) »- Environnement : OpenWrt 25.12.6 x86 VM 200 ; x86_64 ; apk ; miroir TUNA pour la vitesse (la page ne l’exige pas).
sqm-scripts 1.7.2-r1: installé ; aucun menu/contrôleur LuCI.luci-app-sqm: installé ;/usr/share/luci/menu.d/luci-app-sqm.jsonest apparu ;/www/luci-static/resources/view/network/sqm.jsexiste.apk del luci-app-sqm: le fichier de menu a disparu ; la réinstallation l’a restauré.sqm-scriptsaarch64 : le paquet estsqm-scripts-any(noarch) ;--allow-untrusteden local l’a accepté ; ce n’est pas un test de rejet d’architecture.- Non reproduit de façon destructive : échec de postinst, incompatibilité d’ABI kmod, vrai rejet lié à l’architecture.
Statut E2 et sources
Section intitulée « Statut E2 et sources »- Niveau E2 partiel : l’installation, les dépendances, le menu LuCI et la suppression/réinstallation ont été testés ; le rejet d’architecture et l’échec de postinst n’ont pas été entièrement reproduits.
- Recette :
tests/recipes/plugin-install-25.12.md. - N’en déduisez pas que « tous les paquets s’installent » ; vérifiez la version, la cible et l’architecture pour chaque paquet.
Sources
Notes indépendantes sur OpenWrt. Chaque page précise le firmware, l’appareil, le gestionnaire de paquets et le retour arrière.
Icônes : Solar by 480 Design, CC BY 4.0