Änderungen

Wechseln zu: Navigation, Suche

Paketmanager opkg

1.361 Bytes hinzugefügt, 20:53, 27. Jan. 2022
Weiterführende Informationen
{|
| <code>opkg update</code> || Akualisiert Aktualisiert die Liste der am Feed verfügbaren Pakete
|-
| <code>okpg list-upgradable</code> || Zeigt eine Liste aller Pakete an, für die es am Feed eine Aktualisierung gibt
''opkg'' benutzt drei Verzeichnisse für den Betrieb:
{|
| style="width: 150px"| <code>/etc/opkg/</code> || Konfiguration für ''opkg''; hier wird die Liste aller Feeds abgelegt und die Liste der benutzten Architekturen definiert.
|-
| <code>/var/lib/opkg/</code> || Hier wird der Gesamt-Status der installierten Pakete gespeichert. Dies beinhaltet eine Liste aller Pakete, die am Feed verfügbar sind, als auch Listen mit allen Dateien, die von allen Paketen installiert wurden.
|- style="vertical-align:top;"
| /<code>/usr/lib/opkg/</code> || Im Verzeichnis <code>/usr/lib/opkg/alternatives/</code> werden Informationen zu allen Programmen verwaltet, für die es mehrere Installations-Kandidaten gibt. Ein gutes Beispiel ist [[Busybox_und_deren_Befehle|busybox]], welches für eine Vielzahl von Standard-Unix-Programmen eine abgespeckte Variante zur Verfügung stellt. Wenn das Original-Programm ebenfalls installiert wird, soll natürlich nicht weiter die Busybox-Variante benutzt werden.
|}
 
Im Verzeichnis <code>/var/lib/opkg/</code> liegen die von den Feeds heruntergeladenen Dateien sowie in der Datei <code>/var/lib/opkg/status</code> ein Liste (oder Datenbank) aller im System installierten Pakete. Das Format der einzelnen Blöcke in dieser Datei ist weitgehend identisch mit der im folgenden Abschnitt beschriebenen ''control''-Dateien. Die einzelnen Blöcke enthalten zusätzlich zu den Informationen aus den ''control''-Dateien noch den Zeitstempel, wann das Paket installiert wurde (''Installed-Time: ...''), sowie ob es als abhängiges Paket automatisch installiert wurde (''Auto-Installed: yes'') und einen Installations-Status (''Status: ...'')
=== Paket-Informationen ===
{|
| style="width: 150px"| ''paketname''.control || Datei mit allen Meta-Informationen zum Paket ''paketname''
|-
| ''paketname''.list || Liste aller vom Paket installierten Dateien
|}
Eine ipk-Datei ist vom Format eine [https://de.wikipedia.org/wiki/Ar_(Unix) ar]-Datei, die immer 3 Dateien enthält: {|| style="width: 150px"| ''control.tar.gz'' || eine Tar-Datei mit den gerade beschriebenen Dateien aus <code>/var/lib/opkg/info</code> eines Paketes außer der .list-Datei|-| ''data.tar.gz'' || eine Tar-Datei mit den zu installierenden Files; dies entspricht dem Inhalt der .list-Datei|-| ''debian-binary'' || enthält immer 2.0 als String|} Anmerkung: Neuere Versionen von ''opkg'' akzeptieren auch mit ''xz'' gepackte Tar-Dateien. Mit diesen Informationen ist es ziemlich einfach, zu einem installierten Paket wieder eine ipk-Datei mit einem installierbaren Paket zu bauen. Dafür kann folgendes Script benutzt werden:
#!/bin/bash
mv -i $builddir/$ipk .
rm -fr $builddir
 
Anmerkung: für dieses Script funktionieren die Busybox-Versionen von ''tar'' und ''ar'' nicht.
=== Pakete selber bauen ===
75
Bearbeitungen

Navigationsmenü