Dépôts de paquets et miroirs chinois : séparer apk et opkg
D’abord : la différence entre apk et opkg dépend de la version du firmware, pas de « quel miroir est le plus rapide ». 25.12 utilise apk ; 24.10 utilise opkg. Le format des paquets, les chemins des dépôts et la vérification diffèrent et ne sont pas interchangeables.
Résultat
Section intitulée « Résultat »- Savoir si le firmware utilise
apkouopkg, et où se trouvent ses fichiers de dépôts. - Faire correspondre la version, la cible, l’architecture et le hash du noyau des kmods.
- Savoir quelle partie de l’URL un miroir chinois remplace, et quels chemins doivent rester exacts.
- Comprendre pourquoi « après le changement de miroir, les paquets ne s’installent plus », et comment récupérer.
- Savoir pourquoi
apk upgrade/opkg upgraden’est pas une mise à jour du firmware.
Identifier le gestionnaire de paquets et les dépôts
Section intitulée « Identifier le gestionnaire de paquets et les dépôts »ubus call system boardcat /etc/openwrt_releaseuname -mcat /etc/apk/arch 2>/dev/nullopkg print-architecture 2>/dev/nullChamps clés : release.version, release.target, DISTRIB_ARCH, release.revision. Ils doivent correspondre au chemin du miroir.
AttenduVous pouvez écrire la combinaison complète version/cible/architecture.
OpenWrt 25.12 (apk) :
cat /etc/apk/repositories.d/distfeeds.listOpenWrt 24.10 (opkg) :
cat /etc/opkg/distfeeds.confcat /etc/opkg/customfeeds.confSauvegardez avant de modifier :
cp /etc/apk/repositories.d/distfeeds.list /etc/apk/repositories.d/distfeeds.list.bak.$(date +%F) 2>/dev/null || truecp /etc/opkg/distfeeds.conf /etc/opkg/distfeeds.conf.bak.$(date +%F) 2>/dev/null || trueAttenduVous savez où pointe chaque dépôt et s'il s'agit d'apk ou d'opkg.
L’organisation d’apk dans 25.12
Section intitulée « L’organisation d’apk dans 25.12 »OpenWrt 25.12 utilise apk ; les index sont des .adb, les paquets des .apk. Dépôts typiques :
targets/<target>/packages/packages.adb: paquets propres à la cible ;packages/<arch>/base/packages.adb: base ;packages/<arch>/luci/packages.adb: LuCI ;packages/<arch>/packages/packages.adb: paquets généraux ;packages/<arch>/routing|telephony|video/packages.adb: dépôts par catégorie ;targets/<target>/kmods/<kernel-hash>/packages.adb: modules du noyau ; le hash doit correspondre au noyau en cours d’exécution.
Commandes :
apk updateapk search <name>apk add <name>apk info -e <name>N’utilisez pas opkg et ne renommez pas un .ipk de 24.10 en .apk.
L’organisation d’opkg dans 24.10
Section intitulée « L’organisation d’opkg dans 24.10 »OpenWrt 24.10 utilise opkg ; les index sont des Packages.gz, les paquets des .ipk :
opkg updateopkg list | grep <name>opkg install <name>opkg list-installed | grep <name>N’utilisez pas apk et ne donnez pas un .apk de 25.12 à opkg.
Réécrire vers un miroir chinois
Section intitulée « Réécrire vers un miroir chinois »Pour le miroir TUNA, la racine est :
https://mirrors.tuna.tsinghua.edu.cn/openwrt/Remplacez uniquement https://downloads.openwrt.org par cette racine et conservez tout le chemin :
https://downloads.openwrt.org/releases/25.12.6/targets/x86/64/packages/packages.adb→ https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/25.12.6/targets/x86/64/packages/packages.adbNe vous arrêtez pas à .../openwrt/ et ne supprimez pas releases/25.12.6/targets/x86/64/... ; un chemin incomplet renvoie 404.
curl -I https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/25.12.6/targets/x86/64/packages/packages.adbRemplacez l’URL par votre version/cible ; pour les kmods, vérifiez aussi le hash du noyau. Si le miroir n’a pas le chemin, ne forcez pas.
Attenducurl renvoie 200 et le chemin correspond à la version/cible actuelle.
apk update# oropkg updateUtilisez apk search/opkg list pour confirmer que le dépôt est lisible, puis installez uniquement ce dont vous avez besoin. Ne considérez pas apk upgrade/opkg upgrade comme une mise à jour du firmware ; utilisez sysupgrade/ASU/owut pour le firmware.
Attenduapk/opkg update réussit sans mise à niveau en masse des paquets.
Échecs courants
Section intitulée « Échecs courants »- Mauvaise version (25.12.6 et 24.10.8) ;
- Mauvaise cible (
x86/64, et non un répertoirex86_64) ; - Mauvaise architecture (
x86_64,aarch64) ; - Le miroir n’a pas synchronisé ce chemin ;
- Répertoires
packagesettargetsconfondus.
Échecs de signature/vérification
Section intitulée « Échecs de signature/vérification »- Index corrompu ou version différente ;
- Heure système ou certificats erronés ;
- Un autre dépôt a été mélangé ;
- Ne comptez pas sur
--allow-untrusted; corrigez plutôt le dépôt/la vérification.
Incompatibilité de dépendances/ABI
Section intitulée « Incompatibilité de dépendances/ABI »- le hash du noyau des kmods ne correspond pas ;
- paquet compilé pour une autre cible/architecture ;
- dépôts officiels et ImmortalWrt/iStoreOS mélangés ;
- Il vous faut la même source, la même version et la même architecture, ou une recompilation.
Commande introuvable
Section intitulée « Commande introuvable »- 25.12 n’a pas
opkg; 24.10 n’a pasapk; - N’installez pas un gestionnaire de paquets juste pour exécuter une commande ; identifiez d’abord le firmware/la source.
Paquet installé mais LuCI ne l’affiche pas
Section intitulée « Paquet installé mais LuCI ne l’affiche pas »- Seul le paquet principal a été installé ; le paquet
luci-app-*manque ; - Paquet de langue manquant ;
- Cache du navigateur/actualisation ;
- La version du paquet ne correspond pas à LuCI.
Récupération
Section intitulée « Récupération »# apkcp /etc/apk/repositories.d/distfeeds.list.bak.YYYY-MM-DD /etc/apk/repositories.d/distfeeds.listapk update
# opkgcp /etc/opkg/distfeeds.conf.bak.YYYY-MM-DD /etc/opkg/distfeeds.confopkg updateSi les mises à jour cessent de fonctionner après un changement de miroir, restaurez d’abord le dépôt officiel, vérifiez le DNS, l’heure et les certificats, puis réessayez le miroir. Ne sautez pas d’un miroir à l’autre.
Essai en laboratoire E2 (2026-10-20)
Section intitulée « Essai en laboratoire E2 (2026-10-20) »- Environnement : VM x86 OpenWrt 25.12.6 200 ;
apk; dépôt officiel et miroir TUNA. apk updateofficiel :OK: 11220 distinct packages available;apk search -x sqm-scriptsa trouvésqm-scripts-1.7.2-r1.- Passage à TUNA :
apk updateégalement 11220 ;apk add sqm-scriptsa installé1.7.2-r1. - Retour au dépôt officiel :
apk updatea fonctionné ; le dépôt final est revenu surdownloads.openwrt.org. - Non testé :
opkgde 24.10, erreurs de signature, dépôts mélangés/incompatibilité ABI, index de miroir corrompu. - Recette :
tests/recipes/package-sources.md.
Statut E2 et sources
Section intitulée « Statut E2 et sources »- Ceci est un E2 partiel : le chemin
apkde 25.12 (officiel/TUNA/installation/restauration) a été testé ;opkget les branches de dépôt défaillant restent de la documentation. - Les chemins des miroirs changent avec les versions ; relancez
update/searchsur la version/cible/architecture visée avant de publier. - Ne mélangez pas les dépôts officiels, ImmortalWrt ou iStoreOS ; l’ABI, le noyau et les signatures peuvent tous être incompatibles.
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