opkg-Pakete

Autor: Gerd Raudenbusch
Stand: 27.05.2026
 

Grundlagen von opkg

opkg ist ein schlanker Paketmanager für eingebettete Linux-Systeme und andere Geräte mit begrenzten Ressourcen. Er dient zum Installieren, Aktualisieren und Entfernen von Softwarepaketen – ähnlich wie andere bekannte Paketmanager wie apt oder yum, jedoch speziell für kleine und ressourcenschonende Umgebungen konzipiert (z. B. das openWrt-Router-Betriebssystem). Das Tool opkg verwaltet Software in Form von Paketdateien mit der Endung .ipk. Diese Pakete lassen sich einfach installieren, entfernen oder aktualisieren. opkg versucht dabei, erforderliche Abhängigkeiten automatisch aufzulösen.

Aufbau eines opkg-Pakets

Ein opkg-Paket ist ein mit ar komprimiertes Container-Archiv, das Metadaten, Installationsskripte und die eigentlichen Dateien enthält, die systemweit installiert werden sollen. Der Aufbau ähnelt stark dem von Debian-Paketen (.deb), wurde jedoch speziell für eingebettete Systeme angepasst. Ein .ipk-Paket kann mit dem Befehl ar x <packet.ipk> entpackt werden. 

Der Inhalt ist wie folgt gegliedert:

├── control.tar.gz
│   ├── preinst (Shellscript, optional)
│   ├── prerm (Shellscript, optional)
│   ├── postinst (Shellckript, optional)
│   ├── postrm (Shellscript, optional)
│   └── control
├── data.tar.gz
│   └── <Packet-Inhalt>
└── debian-binary

Erstellen eines opkg-Pakets

Dazu ist folgende Verzeichnisstruktur erforderlich:

.
├── CONTROL
│   ├── preinst (Shellscript, optional)
│   ├── prerm (Shellscript, optional)
│   ├── postinst (Shellscript, optional)
│   ├── postrm (Shellscript, optional)
│   └── control
├── data
│   └── <Packet-Inhalt>
└── debian-binary

Die Steuerdatei hat folgenden Inhalt:

Package: mein-paketname
Version: 1.0
Architecture: all
Maintainer: ich <ich@domain.tld>
Description: Mein opkg Paket

Die Datei debian-binary hat folgenden Inhalt:

2.0

Das folgende kleine bash-Skript erstellt das .ipk-Archiv aus der vorgeschlagenen Verzeichnisstruktur:

#!/bin/bash                                              
tar czf control.tar.gz -C CONTROL .                       
tar czf data.tar.gz --exclude=CONTROL .                  
ar r mypacket.ipk control.tar.gz data.tar.gz debian-binary

 

Wichtige opkg-Befehle


Zurück zur Hauptseite