OPKG: Unterschied zwischen den Versionen

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
 
(37 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
 
  |[[Bild:english.png]] - [[OPKG (en)|in English]]
 
  |[[Bild:english.png]] - [[OPKG (en)|in English]]
 
  |}
 
  |}
[http://code.google.com/p/opkg/ OPKG] (kurz für '''O'''pen '''P'''ac'''K'''a'''G'''e Management) ist eine leichtgewichtige [http://de.wikipedia.org/wiki/Paketverwaltung Paketverwaltung] für [https://de.wikipedia.org/wiki/Eingebettetes_System eingebettete Systeme], wie die Dreambox. OPKG ist ein Fork von [[IPKG]] und hat seit [http://www.openembedded.org/wiki/Main_Page OE] 1.6 den Einzug in die Dreamboxwelt erfahren.
+
[http://code.google.com/p/opkg/ OPKG] (kurz für '''O'''pen '''P'''ac'''K'''a'''G'''e Management) ist eine leichtgewichtige [http://de.wikipedia.org/wiki/Paketverwaltung Paketverwaltung] für [https://de.wikipedia.org/wiki/Eingebettetes_System eingebettete Systeme], wie die Dreambox. OPKG ist ein Fork von [[IPKG]] und hat seit [http://www.openembedded.org/wiki/Main_Page OE] 1.6 den Einzug in die Dreamboxwelt erfahren. (Für Dreamboxen mit OE 2.2. wird [[APT]] verwendet.)
 +
 
 +
Die Paketverwaltung in der [[Shell|Konsole]], ist ein sehr mächtiges Werkzeug im Umgang mit der Dreambox und bietet weitaus mehr Möglichkeiten der Paketmanipulation, als es die Fernbedienung erlaubt. Natürlich ist die Fernbedienung meistens ausreichend, aber vielleicht weckt dieser Beitrag euer Interesse und ihr versucht das ganze einmal via [[Telnet]] oder [[SSH]].
 +
 
 +
Der Beitrag zeigt euch das Suchen / Installieren / Deinstallieren von Paketen und weitere hilfreiche Befehle die OPKG bietet. Wenn ihr alle Optionen von OPKG  kennenlernen wollt, gebt folgendes im [[Shell|Terminal]] ein.
 +
 
 +
opkg
 +
 
 +
== Pakete via Internet installieren ==
 +
Vor der Installation müssen die [http://de.wikipedia.org/wiki/Repository#Software-Repository Paketquellen] die in <code>/etc/opkg</code> definiert sind, aktualisiert werden. Nur so könnt ihr Pakete via Internet installieren, ansonsten bricht die Paketverwaltung die Installation mit der Fehlermeldung <code>Unknown package ....</code> ab. Gebt also vor dem Installieren immer den folgenden Befehl ein.
 +
<syntaxhighlight>
 +
opkg update
 +
</syntaxhighlight>
 +
 
 +
{{Warnung|Vorsicht ist geboten beim Einbinden von fremden Paketquellen. Sind die Quellen nicht verfügbar, oder nicht korrekt gepflegt, dann könnt ihr keine Firmwareaktualisierungen durchführen, oder Pakete installieren!}}
 +
 
 +
=== Installation ===
 +
Die Installation von einem Paket, erfolgt über den folgenden Befehl.
 +
<syntaxhighlight>
 +
opkg install $paketname
 +
</syntaxhighlight>
 +
Für <code>'''$paketname'''</code> muss der korrekte Name eingegeben werden. Wenn ihr z.B. [[WebAdmin]] installieren möchtet, dann wäre der Befehl wie folgt:
 +
<syntaxhighlight>
 +
root@dm8000:~# opkg install enigma2-plugin-extensions-webadmin
 +
Installing enigma2-plugin-extensions-webadmin (4.0) to root...
 +
Downloading http://dreamboxupdate.com/opendreambox/2.0.3/ipk/mips32el/enigma2-plugin-extensions-webadmin_4.0_mips32el.ipk.
 +
Configuring enigma2-plugin-extensions-webadmin.
 +
</syntaxhighlight>
 +
Jetzt fragt ihr euch sicher, wie man an die Paket Namen kommt. Die Namen findet ihr in den einzelnen Beiträgen im Wiki, oder auch im Forum. Oder ihr sucht mit der Hilfe der Paketverwaltung danach, was im folgenden Abschnitt beschrieben ist.
 +
 
 +
{{Hinweis|Erscheint nach dem Ausführen des Befehls eine Fehlermeldung, dann befindet sich das Paket nicht auf dem Softwarefeed (<code>Unknown package...</code>), oder es fehlen Abhängigkeiten (<code>Cannot satisfy the following dependencies...</code>) zu anderen Paketen, welche zusätzlich benötigt werden.}}
 +
 
 +
=== Paket Suche ===
 +
Zum Suchen von Paketen, stehen mehrere Wege zur Verfügung. So besitzt die Paketverwaltung die Option <code>search</code>, welche leider nicht optimal funktioniert. Besser ist die Suche mittels der Option <code>list</code>. So kann mit folgendem Befehl und Hilfe des <code>[[BusyBox#Wichtige_Dreambox-Befehle|grep]]</code> Programms, nach einem beliebigen Begriff gesucht werden.
 +
<syntaxhighlight>
 +
opkg list | grep suchbegriff
 +
</syntaxhighlight>
 +
Wenn ihr z.B. nach webadmin sucht, dann wäre die Ausgabe der Suche wie folgt. Der Name des Pakets, welchen man bei der Installation angeben muss, wird auf der linken Seite ausgegeben. Der korrekte Paketname für den Suchbegriff <code>webadmin</code> wäre also <code>enigma2-plugin-extensions-webadmin</code>.
 +
<syntaxhighlight>
 +
root@dm8000:~# opkg list | grep webadmin
 +
enigma2-plugin-extensions-webadmin - 4.0 - Additional plugins for Enigma2
 +
</syntaxhighlight>
 +
Alternativ kann man das [http://de.wikipedia.org/wiki/Sternchen_%28Schriftzeichen%29 Sternchen] (Asterisk) Symbol als Platzhalter in den Suchbegriffen einfügen. So ergibt die Suche nach <code>*webadmin*</code>, folgende Ausgabe.
 +
<syntaxhighlight>
 +
root@dm8000:~# opkg list *webadmin*
 +
enigma2-plugin-extensions-webadmin - 4.0 - Additional plugins for Enigma2
 +
Extension for enigma2 webinterface to install Ipkgs telnet client
 +
</syntaxhighlight>
 +
 
 +
==== Suche nach Paketen eingrenzen ====
 +
Wenn ihr den Aufbau der Paketnamen für Plugins, Skin usw. ein wenig kennt, dann könnt ihr mit der Suche gezielter ans Ziel kommen. So könnt ihr z.B. mit den folgenden Suchbegriffen, entsprechende Paketnamen aus den vorhandenen Softwarequellen herausfiltern.
 +
 
 +
* gemini → Zeigt euch die verschiedenen [[GP3 Blue Panel#GP3 Erweiterungen|GP3 Erweiterungen]]
 +
* gp-skin → Listet alle verfügbaren GP3 Skins
 +
* gp-icons → Zeigt die verschiedenen GP3 Icon Pakete
 +
* enigma2-plugin-systemplugins → Listet [[Enigma2]] Systemplugins
 +
* enigma2-plugin-extensions →  Zeigt Enigma2 Erweiterungen
 +
 
 +
=== Deinstallation ===
 +
Das deinstallieren von einem Paket, erfolgt über den folgenden Befehl.
 +
<syntaxhighlight>
 +
opkg remove $paketname
 +
</syntaxhighlight>
 +
Für <code>'''$paketname'''</code> muss natürlich der korrekte Name eingegeben werden. Wenn ihr z.B. [[WebAdmin]] entfernen möchtet, dann wäre der Befehl wie folgt:
 +
<syntaxhighlight>
 +
root@dm8000:~# opkg remove enigma2-plugin-extensions-webadmin
 +
Removing package enigma2-plugin-extensions-webadmin from root...
 +
</syntaxhighlight>
 +
 
 +
== Lokal gespeicherte Pakete installieren ==
 +
Pakete (z.B. Skins, Plugin, usw.) die z.B. im IhaD-Forum angeboten werden, aber nicht auf einem [http://de.wikipedia.org/wiki/Repository#Software-Repository Softwarefeed] liegen, können sehr einfach über die Paketverwaltung installiert werden. Natürlich benutzen wir nicht die [[Manuelle Installation eines .ipk-Files über die Softwareverwaltung|Softwareverwaltung]], den [[ GP3 Dateibrowser|GP3 Datei Browser]] oder den [[GP3.2 eCommander|eCommander]], sondern wir installieren das Paket via [[Telnet]] oder [[SSH]].
 +
 
 +
Ladet das Paket herunter und kopiert es via [[FTP]] in das Verzeichnis <code>/tmp</code> der Dreambox. Nun aktualisiert ihr wieder die Paketlisten, dass [http://de.wikipedia.org/wiki/Paketverwaltung#Arbeitsweise Abhängigkeiten] (sofern benötigt) zu dem Paket aufgelöst und installiert werden können. Der Befehl ist wie folgt.
 +
 
 +
opkg update
 +
 
 +
{{Warnung|Beachtet bitte, dass Fremdpakete das System beschädigen können!}}
 +
{{Achtung|Benutzt die korrekte [[OPKG#Paket_Architektur_f.C3.BCr_lokale_Installationen|Paketarchitektur]], für die verschiedenen Dreamboxen und verwendeten OpenEmbedded Versionen!}}
 +
 
 +
=== Installation eines Pakets ===
 +
Installiert das Paket mit dem folgenden Befehl.
 +
<syntaxhighlight>
 +
opkg install /tmp/$Dateiname_des_Pakets
 +
</syntaxhighlight>
 +
Beachtet bitte, dass der '''komplette''' Dateiname angegeben werden muss. Wenn z.B. der Skin <code>gp-skin-ln.hd_gp32-20130903_all.ipk</code> installiert wird, dann ist der Befehl wie folgt. Benutzt hier {{Taste|TAB}} um den Dateinamen automatisch zu vervollständigen.
 +
<syntaxhighlight>
 +
opkg install /tmp/gp-skin-ln.hd_gp32-20130903_all.ipk
 +
</syntaxhighlight>
 +
Man kann natürlich auch das Sternchen Symbol (Asterisk) verwenden als Platzhalter, damit man nicht den ganzen Namen schreiben muss, z.B. so.
 +
<syntaxhighlight>
 +
opkg install /tmp/gp-skin*
 +
</syntaxhighlight>
 +
 
 +
=== Installation mehrerer Pakete ===
 +
Die Installation von mehreren Pakete ist auch sehr einfach, wenn alle via [[FTP]] in das <code>/tmp</code> Verzeichnis der Dreambox kopiert worden sind. Gebt den folgenden Befehl ein, um die Pakete zu installieren. Funktioniert übrigens auch für die Installation von einem Paket ;)
 +
<syntaxhighlight>
 +
opkg install /tmp/*.ipk
 +
</syntaxhighlight>
 +
 
 +
=== Deinstallation ===
 +
Das deinstallieren von einem Paket, erfolgt wieder über den Paketnamen (ohne der Version und der Endung ipk) und dem folgenden Befehl. 
 +
<syntaxhighlight>
 +
opkg remove $paketname
 +
</syntaxhighlight>
 +
Für <code>'''$paketname'''</code> muss natürlich der korrekte Name eingegeben werden. Wenn ihr den <code>ln.hd</code> Skin entfernen möchtet, dann wäre der Befehl wie folgt:
 +
<syntaxhighlight>
 +
root@dm8000:~# opkg remove gp-skin-ln.hd
 +
Removing package gp-skin-ln.hd from root...
 +
</syntaxhighlight>
 +
 
 +
== Weitere interessante Befehle ==
 +
=== Paketquellen aktualisieren ===
 +
Aktualisiert die Paketquellen '''immer''' vor Paketmanipulationen (z.B. Installationen, Suchen, Herunterladen von Paketen), mit folgendem Befehl:
 +
<syntaxhighlight>
 +
opkg update
 +
</syntaxhighlight>
 +
=== Firmware aktualisieren ===
 +
Mit dem folgenden Befehl könnt ihr die Dreambox immer auch den neusten Softwarestand (Firmwareaktualisierung) bringen, sofern Aktualisierungen zur Verfügung stehen.
 +
<syntaxhighlight>
 +
opkg upgrade
 +
</syntaxhighlight>
 +
=== Befehle verknüpfen ===
 +
Mit zwei Und-Zeichen (&&) könnt ihr Befehle miteinander verknüpfen. So wird der zweite Befehl ausgeführt, sobald der erste erfolgreich abgearbeitet ist. Ein sehr oft benutzter Befehl, um Paketlisten und die Firmware zu aktualisieren, ist wie folgt.
 +
<syntaxhighlight>
 +
opkg update && opkg upgrade
 +
</syntaxhighlight>
 +
=== Mehrere Pakete aus den Softwarequellen installieren ===
 +
<syntaxhighlight>
 +
opkg install $paketname $paketname $paketname $paketname
 +
</syntaxhighlight>
 +
 
 +
=== Mehrere Pakete deinstallieren ===
 +
<syntaxhighlight>
 +
opkg remove $paketname $paketname $paketname $paketname
 +
</syntaxhighlight>
 +
 
 +
=== Alle verfügbaren Pakete der Softwarequellen anzeigen ===
 +
<syntaxhighlight>
 +
opkg list
 +
</syntaxhighlight>
 +
=== Alle installierten Pakete anzeigen ===
 +
<syntaxhighlight>
 +
opkg list-installed
 +
</syntaxhighlight>
 +
=== Installiertes Paket anzeigen ===
 +
Mit folgendem Befehl könnt ihr gezielt nach einem installierten Paket suchen. Erscheint der gesuchte Paketname, inklusive Version, dann ist es installiert. Erfolgt keine Ausgabe, dann ist es nicht installiert oder der Name des Pakets ist falsch geschrieben.
 +
<syntaxhighlight>
 +
opkg list-installed $paketname
 +
</syntaxhighlight>
 +
=== Aktualisierbare Pakete anzeigen ===
 +
<syntaxhighlight>
 +
opkg list-upgradable
 +
</syntaxhighlight>
 +
=== Pakete seitenweise anzeigen ===
 +
Pakete könnt ihr seitenweise anzeigen lassen, mittels dem Befehl <code>[http://de.wikipedia.org/wiki/More_%28Kommandozeilenbefehl%29 more]</code>. Benutzt die {{Taste|Leertaste}} oder {{Taste|↵ Enter}} um das auflisten zu beeinflussen.
 +
<syntaxhighlight>
 +
opkg list | more
 +
opkg list-installed | more
 +
opkg list-upgradable | more
 +
</syntaxhighlight>
 +
=== Pakete von einer Web-Adresse installieren ===
 +
Pakete können direkt von einer Web-Adresse installiert werden, z.B. mit folgendem Befehl.
 +
<syntaxhighlight>
 +
opkg install http://www.yyy.com/zzzz/&paketname.ipk
 +
</syntaxhighlight>
 +
=== Pakete aus den Softwarequellen herunterladen ===
 +
<syntaxhighlight>
 +
opkg download $paketname
 +
</syntaxhighlight>
 +
 
 +
=== Paketinformationen anzeigen ===
 +
<syntaxhighlight>
 +
opkg info $paketname
 +
</syntaxhighlight>
 +
 
 +
=== Paket Abhängigkeiten anzeigen ===
 +
Listet Pakete auf, welche für eine Installation '''zwingend''' erforderlich sind.
 +
<syntaxhighlight>
 +
opkg depends $paketname
 +
</syntaxhighlight>
 +
 
 +
=== Abhängigkeiten zu einem Paket anzeigen ===
 +
Zeigt die Pakete, welche den <code>$paketnamen</code> als Abhängigkeit benötigen.
 +
<syntaxhighlight>
 +
opkg whatdepends $paketname
 +
</syntaxhighlight>
 +
 
 +
=== Paketinstallation simulieren ===
 +
Lädt das Paket und simuliert die Installation. Ideal um zu sehen, ob eine Installation erfolgreich verlaufen wird.
 +
<syntaxhighlight>
 +
opkg --noaction $paketname
 +
</syntaxhighlight>
 +
 
 +
=== Paket und seine Abhängigkeiten entfernen ===
 +
Entfernt ein Paket mit seinen Abhängigkeiten, die installiert sind.
 +
<syntaxhighlight>
 +
opkg --autoremove $paketname
 +
</syntaxhighlight>
 +
 
 +
=== Paket auf hold setzen ===
 +
Aktualisierung eines Pakets verhindern (durch setzen des <code>'''hold'''</code> flags).
 +
<syntaxhighlight>
 +
opkg flag hold $paketname
 +
</syntaxhighlight>
 +
 
 +
=== Paket freigeben ===
 +
Ein auf '''<code>hold</code>''' gesetztes Paket freigeben.
 +
<syntaxhighlight>
 +
opkg flag user $paketname
 +
</syntaxhighlight>
 +
 
 +
=== Auflisten der kompatiblen Paketarchitekturen ===
 +
Zeigt den Inhalt der Datei <code>/etc/opkg/arch.conf</code>.
 +
<syntaxhighlight>
 +
opkg print-architecture
 +
</syntaxhighlight>
 +
 
 +
== Tipps und Tricks ==
 +
=== Proxy Server ===
 +
Wenn ihr über einen [http://de.wikipedia.org/wiki/Proxy_%28Rechnernetz%29 Proxy Server] Pakete installieren wollt, dann editiert bitte die Konfigurationsdatei <code>/etc/opkg/opkg.conf</code>. Die Eingaben sollten selbsterklärend sein ;)
 +
=== Paket Architektur für lokale Installationen ===
 +
Beachtet, dass je nach [[Enigma2]] [[Dreambox-Varianten|Dreamboxtyp]] und verwendeter [http://www.openembedded.org/wiki/Main_Page Openembedded] Version (OE 1.6 / [[OE 2.0]]), die korrekten Pakete für [[OPKG#Lokal_gespeicherte_Pakete_installieren|manuelle Installation]] verwendet werden müssen. Ansonsten bricht die Installation mit dem Fehler - <code>....incompatible with the architectures configured</code> ab. Wenn ihr also Pakete aus dem Forum holt, dann lest den entsprechenden Beitrag und beachtet immer die Dateiendungen und folgende Punkte.
 +
==== Plattformunabhängige Pakete ====
 +
* *.all.ipk
 +
==== OE 1.6 ====
 +
* *.mipsel.ipk Pakete
 +
==== [[OE 2.0]] ====
 +
* *.mips32el.ipk für alle Boxtypen, ausser der DM 800HD PVR.
 +
* *.mips32el-nf.ipk nur für DM 800HD PVR
 +
 
 +
=== IPK Pakete entpacken ===
 +
Pakete können am heimischen PC einfach entpackt werden. Unter Linux klappt das ohne Umwege, für Windows Benutzer ist z.B. das Programm [http://www.7-zip.org/ 7-Zip] interessant. Und für MAC Benutzer das Programm [http://macitbetter.com/ BetterZIP].
 +
=== Installierte Pakete in Textdatei schreiben ===
 +
Mit dem folgenden Befehl, könnt ihr installierte Pakete in einer Textdatei auflisten. Das folgende Beispiel zeigt die Auflistung der Enigma2 (*extensions*) Erweiterungen. Der Befehl kann natürlich angepasst werden für System Plugins (*systemplugins*) oder GP3 Erweiterungen (*gemini*), usw..
 +
 
 +
Die Liste mit dem Namen <code>'''e2plugins'''</code> findet ihr im Verzeichnis <code>/home/root</code>. Ist vielleicht eine interessante Variante, um die installieren Pakete anzuzeigen und wieder zu installieren, wenn z.B. ein neues Image installiert worden ist. Die Liste muss natürlich von den Dreambox auf den heimischen PC kopiert werden (z.B. via [[FTP]]). Ansonsten ist sie beim Installieren einer neuen Firmware weg ;)
 +
<syntaxhighlight>
 +
opkg list-installed *extensions* | awk '{ print $1 }' > /home/root/e2plugins
 +
</syntaxhighlight>
 +
Installieren könnte man den Inhalt der Liste mit folgendem Befehl, wenn die Liste wieder in das <code>/home/root</code> Verzeichnis kopiert worden ist. Natürlich müssen alle Pakete in den Softwarequellen vorhanden sein, damit die Installation erfolgreich verläuft.
 +
<syntaxhighlight>
 +
opkg update && opkg install $(cat /home/root/e2plugins)
 +
</syntaxhighlight>
 +
Andere Variante ist das installieren von mehreren Paketen, wie es im Abschnitt [[OPKG#Mehrere_Pakete_aus_den_Softwarequellen_installieren|Weitere interessante Befehle]] beschrieben ist. Die Namen der Pakete muss aber bekannt sein.
 +
<syntaxhighlight>
 +
opkg update && opkg install $paketname $paketname $paketname $paketname
 +
</syntaxhighlight>
  
 
[[Kategorie:Anleitungen]]
 
[[Kategorie:Anleitungen]]
 
[[Kategorie:Enigma2]]
 
[[Kategorie:Enigma2]]

Aktuelle Version vom 6. November 2016, 13:05 Uhr

Deutsch.png - auf Deutsch English.png - in English

OPKG (kurz für Open PacKaGe Management) ist eine leichtgewichtige Paketverwaltung für eingebettete Systeme, wie die Dreambox. OPKG ist ein Fork von IPKG und hat seit OE 1.6 den Einzug in die Dreamboxwelt erfahren. (Für Dreamboxen mit OE 2.2. wird APT verwendet.)

Die Paketverwaltung in der Konsole, ist ein sehr mächtiges Werkzeug im Umgang mit der Dreambox und bietet weitaus mehr Möglichkeiten der Paketmanipulation, als es die Fernbedienung erlaubt. Natürlich ist die Fernbedienung meistens ausreichend, aber vielleicht weckt dieser Beitrag euer Interesse und ihr versucht das ganze einmal via Telnet oder SSH.

Der Beitrag zeigt euch das Suchen / Installieren / Deinstallieren von Paketen und weitere hilfreiche Befehle die OPKG bietet. Wenn ihr alle Optionen von OPKG kennenlernen wollt, gebt folgendes im Terminal ein.

opkg

Pakete via Internet installieren

Vor der Installation müssen die Paketquellen die in /etc/opkg definiert sind, aktualisiert werden. Nur so könnt ihr Pakete via Internet installieren, ansonsten bricht die Paketverwaltung die Installation mit der Fehlermeldung Unknown package .... ab. Gebt also vor dem Installieren immer den folgenden Befehl ein.

opkg update
Ambox warning.png Vorsicht ist geboten beim Einbinden von fremden Paketquellen. Sind die Quellen nicht verfügbar, oder nicht korrekt gepflegt, dann könnt ihr keine Firmwareaktualisierungen durchführen, oder Pakete installieren!

Installation

Die Installation von einem Paket, erfolgt über den folgenden Befehl.

opkg install $paketname

Für $paketname muss der korrekte Name eingegeben werden. Wenn ihr z.B. WebAdmin installieren möchtet, dann wäre der Befehl wie folgt:

root@dm8000:~# opkg install enigma2-plugin-extensions-webadmin
Installing enigma2-plugin-extensions-webadmin (4.0) to root...
Downloading http://dreamboxupdate.com/opendreambox/2.0.3/ipk/mips32el/enigma2-plugin-extensions-webadmin_4.0_mips32el.ipk.
Configuring enigma2-plugin-extensions-webadmin.

Jetzt fragt ihr euch sicher, wie man an die Paket Namen kommt. Die Namen findet ihr in den einzelnen Beiträgen im Wiki, oder auch im Forum. Oder ihr sucht mit der Hilfe der Paketverwaltung danach, was im folgenden Abschnitt beschrieben ist.

Ambox notice.png Erscheint nach dem Ausführen des Befehls eine Fehlermeldung, dann befindet sich das Paket nicht auf dem Softwarefeed (Unknown package...), oder es fehlen Abhängigkeiten (Cannot satisfy the following dependencies...) zu anderen Paketen, welche zusätzlich benötigt werden.

Paket Suche

Zum Suchen von Paketen, stehen mehrere Wege zur Verfügung. So besitzt die Paketverwaltung die Option search, welche leider nicht optimal funktioniert. Besser ist die Suche mittels der Option list. So kann mit folgendem Befehl und Hilfe des grep Programms, nach einem beliebigen Begriff gesucht werden.

opkg list | grep suchbegriff

Wenn ihr z.B. nach webadmin sucht, dann wäre die Ausgabe der Suche wie folgt. Der Name des Pakets, welchen man bei der Installation angeben muss, wird auf der linken Seite ausgegeben. Der korrekte Paketname für den Suchbegriff webadmin wäre also enigma2-plugin-extensions-webadmin.

root@dm8000:~# opkg list | grep webadmin
enigma2-plugin-extensions-webadmin - 4.0 - Additional plugins for Enigma2

Alternativ kann man das Sternchen (Asterisk) Symbol als Platzhalter in den Suchbegriffen einfügen. So ergibt die Suche nach *webadmin*, folgende Ausgabe.

root@dm8000:~# opkg list *webadmin*
enigma2-plugin-extensions-webadmin - 4.0 - Additional plugins for Enigma2
Extension for enigma2 webinterface to install Ipkgs telnet client

Suche nach Paketen eingrenzen

Wenn ihr den Aufbau der Paketnamen für Plugins, Skin usw. ein wenig kennt, dann könnt ihr mit der Suche gezielter ans Ziel kommen. So könnt ihr z.B. mit den folgenden Suchbegriffen, entsprechende Paketnamen aus den vorhandenen Softwarequellen herausfiltern.

  • gemini → Zeigt euch die verschiedenen GP3 Erweiterungen
  • gp-skin → Listet alle verfügbaren GP3 Skins
  • gp-icons → Zeigt die verschiedenen GP3 Icon Pakete
  • enigma2-plugin-systemplugins → Listet Enigma2 Systemplugins
  • enigma2-plugin-extensions → Zeigt Enigma2 Erweiterungen

Deinstallation

Das deinstallieren von einem Paket, erfolgt über den folgenden Befehl.

opkg remove $paketname

Für $paketname muss natürlich der korrekte Name eingegeben werden. Wenn ihr z.B. WebAdmin entfernen möchtet, dann wäre der Befehl wie folgt:

root@dm8000:~# opkg remove enigma2-plugin-extensions-webadmin
Removing package enigma2-plugin-extensions-webadmin from root...

Lokal gespeicherte Pakete installieren

Pakete (z.B. Skins, Plugin, usw.) die z.B. im IhaD-Forum angeboten werden, aber nicht auf einem Softwarefeed liegen, können sehr einfach über die Paketverwaltung installiert werden. Natürlich benutzen wir nicht die Softwareverwaltung, den GP3 Datei Browser oder den eCommander, sondern wir installieren das Paket via Telnet oder SSH.

Ladet das Paket herunter und kopiert es via FTP in das Verzeichnis /tmp der Dreambox. Nun aktualisiert ihr wieder die Paketlisten, dass Abhängigkeiten (sofern benötigt) zu dem Paket aufgelöst und installiert werden können. Der Befehl ist wie folgt.

opkg update
Ambox warning.png Beachtet bitte, dass Fremdpakete das System beschädigen können!
Ambox attention.png Benutzt die korrekte Paketarchitektur, für die verschiedenen Dreamboxen und verwendeten OpenEmbedded Versionen!

Installation eines Pakets

Installiert das Paket mit dem folgenden Befehl.

opkg install /tmp/$Dateiname_des_Pakets

Beachtet bitte, dass der komplette Dateiname angegeben werden muss. Wenn z.B. der Skin gp-skin-ln.hd_gp32-20130903_all.ipk installiert wird, dann ist der Befehl wie folgt. Benutzt hier TAB um den Dateinamen automatisch zu vervollständigen.

opkg install /tmp/gp-skin-ln.hd_gp32-20130903_all.ipk

Man kann natürlich auch das Sternchen Symbol (Asterisk) verwenden als Platzhalter, damit man nicht den ganzen Namen schreiben muss, z.B. so.

opkg install /tmp/gp-skin*

Installation mehrerer Pakete

Die Installation von mehreren Pakete ist auch sehr einfach, wenn alle via FTP in das /tmp Verzeichnis der Dreambox kopiert worden sind. Gebt den folgenden Befehl ein, um die Pakete zu installieren. Funktioniert übrigens auch für die Installation von einem Paket ;)

opkg install /tmp/*.ipk

Deinstallation

Das deinstallieren von einem Paket, erfolgt wieder über den Paketnamen (ohne der Version und der Endung ipk) und dem folgenden Befehl.

opkg remove $paketname

Für $paketname muss natürlich der korrekte Name eingegeben werden. Wenn ihr den ln.hd Skin entfernen möchtet, dann wäre der Befehl wie folgt:

root@dm8000:~# opkg remove gp-skin-ln.hd
Removing package gp-skin-ln.hd from root...

Weitere interessante Befehle

Paketquellen aktualisieren

Aktualisiert die Paketquellen immer vor Paketmanipulationen (z.B. Installationen, Suchen, Herunterladen von Paketen), mit folgendem Befehl:

 opkg update

Firmware aktualisieren

Mit dem folgenden Befehl könnt ihr die Dreambox immer auch den neusten Softwarestand (Firmwareaktualisierung) bringen, sofern Aktualisierungen zur Verfügung stehen.

opkg upgrade

Befehle verknüpfen

Mit zwei Und-Zeichen (&&) könnt ihr Befehle miteinander verknüpfen. So wird der zweite Befehl ausgeführt, sobald der erste erfolgreich abgearbeitet ist. Ein sehr oft benutzter Befehl, um Paketlisten und die Firmware zu aktualisieren, ist wie folgt.

opkg update && opkg upgrade

Mehrere Pakete aus den Softwarequellen installieren

opkg install $paketname $paketname $paketname $paketname

Mehrere Pakete deinstallieren

opkg remove $paketname $paketname $paketname $paketname

Alle verfügbaren Pakete der Softwarequellen anzeigen

opkg list

Alle installierten Pakete anzeigen

opkg list-installed

Installiertes Paket anzeigen

Mit folgendem Befehl könnt ihr gezielt nach einem installierten Paket suchen. Erscheint der gesuchte Paketname, inklusive Version, dann ist es installiert. Erfolgt keine Ausgabe, dann ist es nicht installiert oder der Name des Pakets ist falsch geschrieben.

opkg list-installed $paketname

Aktualisierbare Pakete anzeigen

opkg list-upgradable

Pakete seitenweise anzeigen

Pakete könnt ihr seitenweise anzeigen lassen, mittels dem Befehl more. Benutzt die Leertaste oder ↵ Enter um das auflisten zu beeinflussen.

opkg list | more
opkg list-installed | more
opkg list-upgradable | more

Pakete von einer Web-Adresse installieren

Pakete können direkt von einer Web-Adresse installiert werden, z.B. mit folgendem Befehl.

opkg install http://www.yyy.com/zzzz/&paketname.ipk

Pakete aus den Softwarequellen herunterladen

opkg download $paketname

Paketinformationen anzeigen

opkg info $paketname

Paket Abhängigkeiten anzeigen

Listet Pakete auf, welche für eine Installation zwingend erforderlich sind.

opkg depends $paketname

Abhängigkeiten zu einem Paket anzeigen

Zeigt die Pakete, welche den $paketnamen als Abhängigkeit benötigen.

opkg whatdepends $paketname

Paketinstallation simulieren

Lädt das Paket und simuliert die Installation. Ideal um zu sehen, ob eine Installation erfolgreich verlaufen wird.

opkg --noaction $paketname

Paket und seine Abhängigkeiten entfernen

Entfernt ein Paket mit seinen Abhängigkeiten, die installiert sind.

opkg --autoremove $paketname

Paket auf hold setzen

Aktualisierung eines Pakets verhindern (durch setzen des hold flags).

opkg flag hold $paketname

Paket freigeben

Ein auf hold gesetztes Paket freigeben.

opkg flag user $paketname

Auflisten der kompatiblen Paketarchitekturen

Zeigt den Inhalt der Datei /etc/opkg/arch.conf.

opkg print-architecture

Tipps und Tricks

Proxy Server

Wenn ihr über einen Proxy Server Pakete installieren wollt, dann editiert bitte die Konfigurationsdatei /etc/opkg/opkg.conf. Die Eingaben sollten selbsterklärend sein ;)

Paket Architektur für lokale Installationen

Beachtet, dass je nach Enigma2 Dreamboxtyp und verwendeter Openembedded Version (OE 1.6 / OE 2.0), die korrekten Pakete für manuelle Installation verwendet werden müssen. Ansonsten bricht die Installation mit dem Fehler - ....incompatible with the architectures configured ab. Wenn ihr also Pakete aus dem Forum holt, dann lest den entsprechenden Beitrag und beachtet immer die Dateiendungen und folgende Punkte.

Plattformunabhängige Pakete

  • *.all.ipk

OE 1.6

  • *.mipsel.ipk Pakete

OE 2.0

  • *.mips32el.ipk für alle Boxtypen, ausser der DM 800HD PVR.
  • *.mips32el-nf.ipk nur für DM 800HD PVR

IPK Pakete entpacken

Pakete können am heimischen PC einfach entpackt werden. Unter Linux klappt das ohne Umwege, für Windows Benutzer ist z.B. das Programm 7-Zip interessant. Und für MAC Benutzer das Programm BetterZIP.

Installierte Pakete in Textdatei schreiben

Mit dem folgenden Befehl, könnt ihr installierte Pakete in einer Textdatei auflisten. Das folgende Beispiel zeigt die Auflistung der Enigma2 (*extensions*) Erweiterungen. Der Befehl kann natürlich angepasst werden für System Plugins (*systemplugins*) oder GP3 Erweiterungen (*gemini*), usw..

Die Liste mit dem Namen e2plugins findet ihr im Verzeichnis /home/root. Ist vielleicht eine interessante Variante, um die installieren Pakete anzuzeigen und wieder zu installieren, wenn z.B. ein neues Image installiert worden ist. Die Liste muss natürlich von den Dreambox auf den heimischen PC kopiert werden (z.B. via FTP). Ansonsten ist sie beim Installieren einer neuen Firmware weg ;)

opkg list-installed *extensions* | awk '{ print $1 }' > /home/root/e2plugins

Installieren könnte man den Inhalt der Liste mit folgendem Befehl, wenn die Liste wieder in das /home/root Verzeichnis kopiert worden ist. Natürlich müssen alle Pakete in den Softwarequellen vorhanden sein, damit die Installation erfolgreich verläuft.

opkg update && opkg install $(cat /home/root/e2plugins)

Andere Variante ist das installieren von mehreren Paketen, wie es im Abschnitt Weitere interessante Befehle beschrieben ist. Die Namen der Pakete muss aber bekannt sein.

opkg update && opkg install $paketname $paketname $paketname $paketname