Paket lässt sich nicht installieren: Download, Architektur, Abhängigkeiten, LuCI und postinst
Ergebnis
Abschnitt betitelt „Ergebnis“- Unterscheiden, ob das Paket im Feed fehlt oder vorhanden ist, aber nicht installiert werden kann;
- Architektur-, ABI-, Abhängigkeits-, LuCI-Frontend- oder postinst-Fehler identifizieren;
- Verstehen, warum das Hauptprogramm installiert wurde, LuCI aber kein Menü zeigt;
- Wiederherstellen, ohne die Firmware neu zu flashen.
Ebene 0: Umgebung erfassen
Abschnitt betitelt „Ebene 0: Umgebung erfassen“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 verwendet apk; 24.10 verwendet opkg. Benennen Sie .ipk nicht in .apk um und erzwingen Sie keine andere Architektur.
ErwartetSie wissen, ob apk oder opkg gilt, sowie Release/Target/Architektur.
Ebene 1: Download und Feeds
Abschnitt betitelt „Ebene 1: Download und Feeds“apk updateapk search <package>apk info -e <package>Schlägt apk update fehl, prüfen Sie zuerst 404/Signatur/Uhrzeit/Zertifikate. Findet die Suche nichts, ist der Feed womöglich veraltet, der Name falsch oder das Paket nicht in diesem Release/dieser Architektur enthalten.
Erwartetapk search/update findet es, oder Sie wissen, dass es fehlt.
- 25.12:
.apk; 24.10:.ipk; - Bevorzugen Sie Feeds gegenüber „Repacks“ von Cloud-Laufwerken bzw. aus Foren;
- Prüfen Sie bei lokalen Dateien SHA-256/Signatur;
- Verwenden Sie
--allow-untrustednicht routinemäßig; es umgeht Vertrauensprüfungen und beweist keine Kompatibilität.
ErwartetDie Quelle ist vertrauenswürdig und Format/Architektur passen.
Ebene 2: Architektur und ABI
Abschnitt betitelt „Ebene 2: Architektur und ABI“cat /etc/apk/archapk info -a <package> | grep -E "arch|depends|provides" | headx86_64,aarch64_cortex-a53usw. sind nicht austauschbar;- Kernelmodule (kmod) müssen zu Kernelversion/ABI passen;
- reine Skriptpakete können
any/noarchsein und beweisen keine Architekturablehnung.
In diesem Labor wurde ein aarch64-
sqm-scriptsheruntergeladen, das abersqm-scripts-anyist (keine architekturspezifische Binärdatei), und ein lokales--allow-untrustedersetzte es trotzdem. Das beweist nicht, dass die Architekturprüfung bestanden wurde. Ein echter Ablehnungstest braucht ein Paket mit ELF-Dateien; diese Seite markiert ihn nicht als verifiziert.
ErwartetDie Paketarchitektur entspricht /etc/apk/arch; kmods passen zusätzlich zum Kernel.
Ebene 3: Abhängigkeiten
Abschnitt betitelt „Ebene 3: Abhängigkeiten“apk add <package> 2>&1 | tail -20apk info -R <package> 2>/dev/null | head -20apk info -e <dependency>Häufige Fälle:
- Hauptprogramm installiert,
luci-app-*fehlt; kmod-*passt nicht zum Kernel;- Abhängigkeiten liegen in einem anderen Feed bzw. einer anderen Version;
- offizielle, ImmortalWrt- und iStoreOS-Feeds sind gemischt.
ErwartetFehlende Abhängigkeiten haben konkrete Paketnamen.
Ebene 4: LuCI-Menü
Abschnitt betitelt „Ebene 4: LuCI-Menü“apk info -L <luci-app-name> | head -20ls -l /usr/share/luci/menu.d/ 2>/dev/null | grep <name>In diesem Labor:
- nur
sqm-scripts: installiert, aber kein LuCI-Menü; luci-app-sqmhinzugefügt:/usr/share/luci/menu.d/luci-app-sqm.jsonund/www/luci-static/resources/view/network/sqm.jserschienen;luci-app-sqmentfernt: Menüdatei verschwand; Neuinstallation stellte sie wieder her.
Erscheint das Menü weiterhin nicht: Browser-Cache leeren, ab- und wieder anmelden, luci-base/Sprachpaket/rpcd prüfen; flashen Sie nicht als Erstes neu.
ErwartetNach der Installation von luci-app erscheinen Menü- und statische Dateien.
Aufgezeichnete Demo (Labor 017)
Abschnitt betitelt „Aufgezeichnete Demo (Labor 017)“Ebene 5: postinst-/Setup-Skripte
Abschnitt betitelt „Ebene 5: postinst-/Setup-Skripte“logread | tail -50apk info -L <package> | head -20ls /etc/uci-defaults/ 2>/dev/null | tail- Ein fehlgeschlagenes postinst setzt das Paket nicht zwingend zurück;
- prüfen Sie
/etc/uci-defaults,/etc/init.d/<service>,/etc/config/<service>; - installieren Sie nicht wiederholt neu, nur um postinst erneut auszuführen; lesen Sie zuerst Log und Skripte.
ErwartetSie wissen, ob postinst fehlgeschlagen ist und was es geändert hat.
Ebene 6: Wiederherstellung
Abschnitt betitelt „Ebene 6: Wiederherstellung“apk del <package># if feeds were changed:cp /etc/apk/repositories.d/distfeeds.list.bak.YYYY-MM-DD /etc/apk/repositories.d/distfeeds.listapk updaterebootWenn das Paket die Verwaltung beeinträchtigt, stoppen Sie zuerst den Dienst bzw. stellen Sie Konfigurationsbackups wieder her; ein Neuflashen ist der letzte Ausweg.
ErwartetZurück im vorherigen Zustand oder zumindest in der Lage, weiter zu debuggen.
Häufige Fehler
Abschnitt betitelt „Häufige Fehler“| Symptom | Wahrscheinlichere Ursache | Zuerst prüfen |
|---|---|---|
apk update 404 |
falsches Release/Target/Architektur/Mirror-Pfad | Feed-Dateien + curl -I |
| Paket nicht gefunden | falscher Name/Feed/falsche Version | apk search |
| Heruntergeladen, lässt sich aber nicht installieren | Architektur/Abhängigkeit/Signatur | apk info -a, Installationsausgabe |
| Installiert, aber kein Menü | nur Hauptprogramm, kein luci-app-* |
apk info -L |
| Menü vorhanden, öffnet sich aber nicht | LuCI/Sprache/rpcd/Cache | Browser-Konsole, logread |
| postinst-Fehler | Skript/Berechtigungen/Abhängigkeit/Konfiguration | logread, /etc/uci-defaults |
| Nach der Installation kein Internet | Dienst hat DNS/Firewall/Schnittstelle geändert | Dienst stoppen, Backups wiederherstellen |
E2-Laborlauf (2026-10-20)
Abschnitt betitelt „E2-Laborlauf (2026-10-20)“- Umgebung: OpenWrt 25.12.6 x86-VM 200; x86_64; apk; TUNA-Mirror aus Geschwindigkeitsgründen (die Seite setzt ihn nicht voraus).
sqm-scripts 1.7.2-r1: installiert; kein LuCI-Menü/Controller.luci-app-sqm: installiert;/usr/share/luci/menu.d/luci-app-sqm.jsonerschien;/www/luci-static/resources/view/network/sqm.jsexistiert.apk del luci-app-sqm: Menüdatei verschwand; Neuinstallation stellte sie wieder her.- aarch64-
sqm-scripts: Das Paket istsqm-scripts-any(noarch); lokales--allow-untrustedakzeptierte es; kein Test der Architekturablehnung. - Nicht destruktiv reproduziert: postinst-Fehler, kmod-ABI-Abweichung, echte architekturspezifische Ablehnung.
E2-Status und Quellen
Abschnitt betitelt „E2-Status und Quellen“- Dies ist E2 teilweise: Installation/Abhängigkeiten/LuCI-Menü/Entfernen und Neuinstallation wurden getestet; Architekturablehnung und postinst-Fehler wurden nicht vollständig reproduziert.
- Rezept:
tests/recipes/plugin-install-25.12.md. - Machen Sie daraus nicht „jedes Paket lässt sich installieren“; prüfen Sie Release/Target/Architektur pro Paket.
Quellen
Unabhängige OpenWrt-Notizen. Jede Seite nennt Firmware, Gerät, Paketmanager und den Rückweg.
Symbole: Solar by 480 Design, CC BY 4.0