OPKG (en): Unterschied zwischen den Versionen

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
 
(49 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] (short for '''O'''pen '''P'''ac'''K'''a'''G'''e Management) is a leightweight [http://en.wikipedia.org/wiki/Package_management_system package management system] for [https://en.wikipedia.org/wiki/Embedded_system embedded systems] such as the Dreambox. OPKG is a fork of [[IPKG (en)|IPKG]] and was introduced in the Deambox world since [http://www.openembedded.org/wiki/Main_Page OE] 1.6.
+
[http://code.google.com/p/opkg/ OPKG] (short for '''O'''pen '''P'''ac'''K'''a'''G'''e Management) is a leightweight [http://en.wikipedia.org/wiki/Package_management_system package management system] for [https://en.wikipedia.org/wiki/Embedded_system embedded systems] such as the Dreambox. OPKG is a fork of [[IPKG (en)|IPKG]] and was introduced in the Deambox world since [http://www.openembedded.org/wiki/Main_Page OE] 1.6. (For dreamboxes with OE 2.2, [[APT (en)|APT]] is used.)
  
The package management in the [[Shell (en)|shell]] is a powerful tool for the Dreambox, and offers far more possibilities compared to the package management with the remote control.  Of course, using the remote control is easy and most of the time adequate.  But maybe this article can convince you to give it a try via [[Telnet (en)|telnet]] or [[SSH (en)|SSH]].
+
The package management in the [[Shell (en)|shell]] is a powerful tool for the Dreambox, and offers far more possibilities compared to the package management with the remote control.  Of course, using the remote control is easy and most of the time adequate.  But maybe this article can convince you to give it a try via [[Telnet (en)|Telnet]] or [[SSH (en)|SSH]].
  
 
This article explains how to search / install / remove packages and some more interesting commands which offers OPKG. If you want to learn all options of OPKG, enter following command in the [[Shell (en)|Terminal]]:
 
This article explains how to search / install / remove packages and some more interesting commands which offers OPKG. If you want to learn all options of OPKG, enter following command in the [[Shell (en)|Terminal]]:
Zeile 12: Zeile 12:
  
 
== Install packages via internet ==
 
== Install packages via internet ==
To be able to install the [http://en.wikipedia.org/wiki/Software_repository sources] defined in the <code>/etc/opkg</code>, must be actualised. 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.
+
To be able to install a package, the [http://en.wikipedia.org/wiki/Software_repository feed] defined in the <code>/etc/opkg</code>, should be updated. If this is not done, the installation will be terminated with the error message: <code>Unknown package ....</code>. Always enter the following command before installing:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
opkg update
 
opkg update
 
</syntaxhighlight>
 
</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!}}
+
{{Warnung|Be careful when integrating 3rd party package feeds. If the feed is not available, or not maintained correctly, upgrading the firmware or installing packages will fail!}}
  
 
=== Installation ===
 
=== Installation ===
Die Installation von einem Paket, erfolgt über den folgenden Befehl.
+
The installation of a package is done with the following command:
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg install $paketname
+
opkg install $package_name
 
</syntaxhighlight>
 
</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:
+
<code>'''$package_name'''</code> should be replaced by the correct name. E.g. when installing [[WebAdmin (en)|webadmin]], the command is:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
root@dm8000:~# opkg install enigma2-plugin-extensions-webadmin
 
root@dm8000:~# opkg install enigma2-plugin-extensions-webadmin
Zeile 31: Zeile 31:
 
Configuring enigma2-plugin-extensions-webadmin.
 
Configuring enigma2-plugin-extensions-webadmin.
 
</syntaxhighlight>
 
</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.
+
The question is, how can you know the correct package name. The name can be found here in the wiki, or in the board. Or you can search with the package management system, as described below.
  
{{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.}}
+
{{Hinweis|If the installation results in an error message, this means the package is not on the feed (<code>Unknown package...</code>), or there are some dependencies to other required packages missing (<code>Cannot satisfy the following dependencies...</code>).}}
  
=== Paket Suche ===
+
=== Search package ===
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.
+
There are different ways to search a package. First of all the package management offers the option <code>search</code>, but unfortunately this option doesn't work quite well. Better results are obtained with the option <code>list</code>. The following command shows how to use <code>[[BusyBox (en)#Important_shell_commands|grep]]</code> to search for any string.
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg list | grep suchbegriff
+
opkg list | grep search_term
 
</syntaxhighlight>
 
</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>.
+
E.g. when searching for webadmin, the search result is as follows. The name of the package, which is needed for the installation, is on the left side. The correct package name for the <code>webadmin</code> is <code>enigma2-plugin-extensions-webadmin</code>.
 
<syntaxhighlight>
 
<syntaxhighlight>
 
root@dm8000:~# opkg list | grep webadmin
 
root@dm8000:~# opkg list | grep webadmin
 
enigma2-plugin-extensions-webadmin - 4.0 - Additional plugins for Enigma2
 
enigma2-plugin-extensions-webadmin - 4.0 - Additional plugins for Enigma2
 
</syntaxhighlight>
 
</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.
+
It's also possible to use an [http://en.wikipedia.org/wiki/Asterisk Asterisk] symbol as wildcard in the search term. The search for <code>*webadmin*</code>, results iin:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
root@dm8000:~# opkg list *webadmin*
 
root@dm8000:~# opkg list *webadmin*
Zeile 52: Zeile 52:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==== Suche nach Paketen eingrenzen ====
+
==== Constrain the package search ====
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.
+
Once you know the naming convention for packages (plugins, skin etc.), the search can be optimized to find faster the desired package. With the following search terms it's easy to filter the package names from the available feeds.
  
* gemini → Zeigt euch die verschiedenen [[GP3 Blue Panel#GP3 Erweiterungen|GP3 Erweiterungen]]
+
* gemini → shows the different [[GP3 Blue Panel (en)#GP3 Addons|GP3 Addons]]
* gp-skin → Listet alle verfügbaren GP3 Skins
+
* gp-skin → shows all the available GP3 Skins
* gp-icons → Zeigt die verschiedenen GP3 Icon Pakete
+
* gp-icons → shows all the different GP3 Icon Packages
* enigma2-plugin-systemplugins → Listet [[Enigma2]] Systemplugins
+
* enigma2-plugin-systemplugins → shows the [[Enigma2 (en)|Enigma2]] System Plugins
* enigma2-plugin-extensions →  Zeigt Enigma2 Erweiterungen
+
* enigma2-plugin-extensions →  shows Enigma2 extentions
  
 
=== Deinstallation ===
 
=== Deinstallation ===
Das deinstallieren von einem Paket, erfolgt über den folgenden Befehl.
+
Removing a package is done like this:
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg remove $paketname
+
opkg remove $package_name
 
</syntaxhighlight>
 
</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:
+
For <code>'''$package_name'''</code> the correct name must be used. E.g. for removing the [[WebAdmin (en)|webadmin]], use the following command:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
root@dm8000:~# opkg remove enigma2-plugin-extensions-webadmin
 
root@dm8000:~# opkg remove enigma2-plugin-extensions-webadmin
Zeile 72: Zeile 72:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== Lokal gespeicherte Pakete installieren ==
+
== Install local packages ==
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]].
+
Packages (e.g. skins, plugin, ets.) which are offered in the IhaD board, but which are not on a [http://en.wikipedia.org/wiki/Software_repository feed], can be installed easily by the package management. Of course we don't use the software management, the [[ GP3 File Browser (en)|GP3 File Browser]] or the [[ GP3.2 eCommander (en)|eCommander]], but we use [[Telnet (en)|telnet]] or [[SSH (en)|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.
+
Download the package and use [[FTP (en)|FTP]] to copy the file in the directory <code>/tmp</code> of the Dreambox. Now update the package lists, this way the dependencies (if required) for the package will be resolved and installed. The command is:
  
 
  opkg update
 
  opkg update
  
{{Warnung|Beachtet bitte, dass Fremdpakete das System beschädigen können!}}
+
{{Warnung|Please keep in mind, packages from external sources can damage the system!}}
{{Achtung|Benutzt die korrekte [[OPKG#Paket_Architektur_f.C3.BCr_lokale_Installationen|Paketarchitektur]], für die verschiedenen Dreamboxen und verwendeten OpenEmbedded Versionen!}}
+
{{Achtung|Use the correct [[OPKG_(en)#Package_architecture_for_local_installations| package architecture]], for the different Dreamboxes and used OpenEmbedded versions!}}
  
=== Installation eines Pakets ===
+
=== Installation of one package ===
Installiert das Paket mit dem folgenden Befehl.
+
Use the following command for the installation.
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg install /tmp/$Dateiname_des_Pakets
+
opkg install /tmp/$file_name_of_the_package
 
</syntaxhighlight>
 
</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.
+
Keep in mind, the '''complete''' file name must be specified. E.g. if installing the skin <code>gp-skin-ln.hd_gp32-20130903_all.ipk</code>, the command is as follows. Use the {{Taste|TAB}} to complete the file name automatically.
 
<syntaxhighlight>
 
<syntaxhighlight>
 
opkg install /tmp/gp-skin-ln.hd_gp32-20130903_all.ipk
 
opkg install /tmp/gp-skin-ln.hd_gp32-20130903_all.ipk
 
</syntaxhighlight>
 
</syntaxhighlight>
Man kann natürlich auch das Sternchen Symbol (Asterisk) verwenden als Platzhalter, damit man nicht den ganzen Namen schreiben muss, z.B. so.
+
Of course it's also possible to use an asterisk as wildcard, this way you don't need to write the complete name. E.g:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
opkg install /tmp/gp-skin*
 
opkg install /tmp/gp-skin*
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== Installation mehrerer Pakete ===
+
=== Installation of multiple packages ===
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 ;)
+
The installation of multiple packages is also easy, once all files are copied with [[FTP (en)|FTP]] in the directory <code>/tmp</code> on the Dreambox. Use the following command to install all packages. By the way, this works also for the installation of one package ;)
 
<syntaxhighlight>
 
<syntaxhighlight>
 
opkg install /tmp/*.ipk
 
opkg install /tmp/*.ipk
Zeile 103: Zeile 103:
  
 
=== Deinstallation ===
 
=== Deinstallation ===
Das deinstallieren von einem Paket, erfolgt wieder über den Paketnamen (ohne der Version und der Endung ipk) und dem folgenden Befehl.  
+
The removal of a package is also done with the package name (without the version and the extention ipk) and the following command:  
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg remove $paketname
+
opkg remove $package_name
 
</syntaxhighlight>
 
</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:
+
Of course the <code>'''$package_name'''</code> needs to be replaced by the correct name. If you want to remove the <code>ln.hd</code> skin, use the command:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
root@dm8000:~# opkg remove gp-skin-ln.hd
 
root@dm8000:~# opkg remove gp-skin-ln.hd
Zeile 113: Zeile 113:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== Weitere interessante Befehle ==
+
== Other interesting commands ==
=== Paketquellen aktualisieren ===
+
=== Update sources ===
Aktualisiert die Paketquellen '''immer''' vor Paketmanipulationen (z.B. Installationen, Suchen, Herunterladen von Paketen), mit folgendem Befehl:
+
'''Allways''' update the sources before any package manipulation (e.g. installation, search, download of packages), with the command:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
  opkg update
 
  opkg update
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Firmware aktualisieren ===
+
=== Upgrade Firmware ===
Mit dem folgenden Befehl könnt ihr die Dreambox immer auch den neusten Softwarestand (Firmwareaktualisierung) bringen, sofern Aktualisierungen zur Verfügung stehen.
+
With the following command it's possible to install all available updates for your Dreambox.
 
<syntaxhighlight>
 
<syntaxhighlight>
 
opkg upgrade
 
opkg upgrade
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Befehle verknüpfen ===
+
=== Chain commands ===
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.
+
With two "and" symbols (&&) it's possible to chain commands. This way the second command is executed, as soon as the first is succesfully performed. The following command is very often used, to update the sources and the firmware.
 
<syntaxhighlight>
 
<syntaxhighlight>
 
opkg update && opkg upgrade
 
opkg update && opkg upgrade
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Mehrere Pakete aus den Softwarequellen installieren ===
+
=== Install multiple packages from the feeds ===
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg install &paketname &paketname &paketname &paketname
+
opkg install $package_name $package_name $package_name $package_name
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Mehrere Pakete deinstallieren ===
+
 
 +
=== Deinstall multiplpe packages ===
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg remove &paketname &paketname &paketname &paketname
+
opkg remove $package_name $package_name $package_name $package_name
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Alle verfügbaren Pakete der Softwarequellen anzeigen ===
+
 
 +
=== Show all available packages from the feeds ===
 
<syntaxhighlight>
 
<syntaxhighlight>
 
opkg list
 
opkg list
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Alle installierten Pakete anzeigen ===
+
=== Show all installed packages ===
 
<syntaxhighlight>
 
<syntaxhighlight>
 
opkg list-installed
 
opkg list-installed
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Installiertes Paket anzeigen ===
+
=== Show installed package ===
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.
+
The following command can be used to search for an installed package. If the package is installed the name is shown with the version number. If no output is displayed, the package is not installed ot the name of the package is wrong.
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg list-installed $paketname
+
opkg list-installed $package_name
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Aktualisierbare Pakete anzeigen ===
+
 
 +
=== Show upgradable packages ===
 
<syntaxhighlight>
 
<syntaxhighlight>
 
opkg list-upgradable
 
opkg list-upgradable
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Pakete seitenweise anzeigen ===
+
=== Show packages page by page ===
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.
+
Packages can be shown with the command <code>[http://en.wikipedia.org/wiki/More_%28command%29 more]</code>. Use the {{Taste|space}} or {{Taste|↵ Enter}} to continue.
 
<syntaxhighlight>
 
<syntaxhighlight>
 
opkg list | more
 
opkg list | more
Zeile 161: Zeile 164:
 
opkg list-upgradable | more
 
opkg list-upgradable | more
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Pakete von einer Web-Adresse installieren ===
+
=== Install packages from a website ===
Pakete können direkt von einer Web-Adresse installiert werden, z.B. mit folgendem Befehl.
+
Packages can be installed directly from a web adress, e.g. with following command.
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg install http://www.yyy.com/zzzz/&paketname.ipk
+
opkg install http://www.yyy.com/zzzz/$package_name.ipk
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Pakete aus den Softwarequellen herunterladen ===
+
 
 +
=== Download package from the feed ===
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg download &paketname
+
opkg download $package_name
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Paketinformationen anzeigen ===
+
 
 +
=== Show package information ===
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg info &paketname
+
opkg info $package_name
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Paket Abhängigkeiten anzeigen ===
+
 
Listet Pakete auf, welche für eine Installation '''zwingend''' erforderlich sind.
+
=== Show package dependencies ===
 +
Lists packages which are '''mandatory''' for an installation.
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg depends &paketname
+
opkg depends $package_name
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Abhängigkeiten zu einem Paket anzeigen ===
+
 
Zeigt die Pakete, welche den &paketnamen als Abhängigkeit benötigen.
+
=== Show packages which require the package as dependency ===
 +
Shows the packages which have the <code>$package_name</code> as required dependency.
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg whatdepends &paketname
+
opkg whatdepends $package_name
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Paketinstallation simulieren ===
+
 
Lädt das Paket und simuliert die Installation. Ideal um zu sehen, ob eine Installation erfolgreich verlaufen wird.
+
=== Simulate package installation ===
 +
Loads the package and simulates the installation. Ideal to check if an installation would be performed succesfully.
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg --noaction &paketname
+
opkg --noaction $package_name
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Paket und seine Abhängigkeiten entfernen ===
+
 
Entfernt ein Paket mit seinen Abhängigkeiten, die installiert sind.
+
=== Deinstall package with all dependencies ===
 +
Removes a package and all installed dependencies.
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg --autoremove &paketname
+
opkg --autoremove $package_name
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Paket auf hold setzen ===
+
 
Aktualisierung eines Pakets verhindern (durch setzen des <code>'''hold'''</code> flags).
+
=== Set package on hold ===
 +
Prevent an update of a package (using the flag <code>'''hold'''</code>).
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg hold &paketname
+
opkg flag hold $package_name
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Paket freigeben ===
+
 
Ein auf '''<code>hold</code>''' gesetztes Paket freigeben.
+
=== Release package ===
 +
Release a package which is on '''<code>hold</code>'''.
 
<syntaxhighlight>
 
<syntaxhighlight>
opkg flag user &paketname
+
opkg flag user $package_name
 
</syntaxhighlight>
 
</syntaxhighlight>
=== Auflisten der kompatiblen Paketarchitekturen ===
+
 
Zeigt den Inhalt der Datei <code>/etc/opkg/arch.conf</code>.
+
=== List the compatible package architectures ===
 +
Shows the content of the file <code>/etc/opkg/arch.conf</code>.
 
<syntaxhighlight>
 
<syntaxhighlight>
 
opkg print-architecture
 
opkg print-architecture
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== Tipps und Tricks ==
+
== Tips and Tricks ==
 
=== Proxy Server ===
 
=== 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 ;)
+
When using a [http://en.wikipedia.org/wiki/Proxy_server Proxy Server] to install packages, edit the configuration file <code>/etc/opkg/opkg.conf</code>. The entries should be self explaining ;)
=== 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.
+
=== Package architecture for local installations ===
==== Plattformunabhängige Pakete ====
+
Keep in mind, for each [[Enigma2 (en)|Enigma2]] [[Dreambox-Varianten|Dreambox type]] and used [http://www.openembedded.org/wiki/Main_Page Openembedded] Version (OE 1.6 / [[OE 2.0 (en)|OE 2.0]]), the corresponding packages for a [[OPKG_(en)#Install_local_packages|manual installation]] are required. If not, the installation will be aborted with an error message - <code>....incompatible with the architectures configured</code>. When downloading packages from the board, read the thread and pay attention to the file extention as listet below.
 +
==== Packages for all architectures ====
 
* *.all.ipk  
 
* *.all.ipk  
 
==== OE 1.6 ====
 
==== OE 1.6 ====
* *.mipsel.ipk Pakete
+
* *.mipsel.ipk packages
==== OE 2.0 ====
+
==== [[OE 2.0 (en)|OE 2.0]] ====
* *.mips32el.ipk für alle Boxtypen, ausser der DM 800HD PVR.
+
* *.mips32el.ipk for all Box types, except the DM 800HD PVR.
* *.mips32el-nf.ipk nur für DM 800HD PVR
+
* *.mips32el-nf.ipk only for 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].
+
=== Unpack IPK packages ===
 +
Packages can be unpacked on a home computer. With Linux no extra tools are required, for Windows users the programm [http://www.7-zip.org/ 7-Zip] can be used. And for MAC users [http://macitbetter.com/ BetterZIP].
 +
 
 +
=== Write text file with list of installed packages ===
 +
With following command it's possible to create a list of installed packages, and write the list in a text file. The example creates the list for the *extensions*. Of course the command can be adapted for *systemplugins* or GP3 Addons (*gemini*), etc..
 +
 
 +
The list with the name <code>'''e2plugins'''</code> can be found in the directory <code>/home/root</code>. This file can be used to show the installed packages, and reinstall the plugins after a new image was flashed. Of course you have to copy the list from the Dreambox on your computer (e.g. using [[FTP (en)|FTP]]). Otherwise the file is deleted after flashing the Dreambox ;)
 +
<syntaxhighlight>
 +
opkg list-installed *extensions* | awk '{ print $1 }' > /home/root/e2plugins
 +
</syntaxhighlight>
 +
Install the content of the list is possible with following command.  Make sure the text file is in the directory <code>/home/root</code>. And of course the packages should be available on the feeds.
 +
<syntaxhighlight>
 +
opkg update && opkg install $(cat /home/root/e2plugins)
 +
</syntaxhighlight>
 +
An other method to install multiple packages is described in the chapter [[OPKG (en)#Install multiple packages from the feeds|other interesting commands]]. But you need to know the names of the packages.
 +
<syntaxhighlight>
 +
opkg update && opkg install $paketname $paketname $paketname $paketname
 +
</syntaxhighlight>
  
 
[[Kategorie:Instructions (en)]]
 
[[Kategorie:Instructions (en)]]
 
[[Kategorie:Enigma2 (en)]]
 
[[Kategorie:Enigma2 (en)]]

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

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

OPKG (short for Open PacKaGe Management) is a leightweight package management system for embedded systems such as the Dreambox. OPKG is a fork of IPKG and was introduced in the Deambox world since OE 1.6. (For dreamboxes with OE 2.2, APT is used.)

The package management in the shell is a powerful tool for the Dreambox, and offers far more possibilities compared to the package management with the remote control. Of course, using the remote control is easy and most of the time adequate. But maybe this article can convince you to give it a try via Telnet or SSH.

This article explains how to search / install / remove packages and some more interesting commands which offers OPKG. If you want to learn all options of OPKG, enter following command in the Terminal:

opkg

Install packages via internet

To be able to install a package, the feed defined in the /etc/opkg, should be updated. If this is not done, the installation will be terminated with the error message: Unknown package ..... Always enter the following command before installing:

opkg update
Ambox warning.png Be careful when integrating 3rd party package feeds. If the feed is not available, or not maintained correctly, upgrading the firmware or installing packages will fail!

Installation

The installation of a package is done with the following command:

opkg install $package_name

$package_name should be replaced by the correct name. E.g. when installing webadmin, the command is:

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.

The question is, how can you know the correct package name. The name can be found here in the wiki, or in the board. Or you can search with the package management system, as described below.

Ambox notice.png If the installation results in an error message, this means the package is not on the feed (Unknown package...), or there are some dependencies to other required packages missing (Cannot satisfy the following dependencies...).

Search package

There are different ways to search a package. First of all the package management offers the option search, but unfortunately this option doesn't work quite well. Better results are obtained with the option list. The following command shows how to use grep to search for any string.

opkg list | grep search_term

E.g. when searching for webadmin, the search result is as follows. The name of the package, which is needed for the installation, is on the left side. The correct package name for the webadmin is enigma2-plugin-extensions-webadmin.

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

It's also possible to use an Asterisk symbol as wildcard in the search term. The search for *webadmin*, results iin:

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

Constrain the package search

Once you know the naming convention for packages (plugins, skin etc.), the search can be optimized to find faster the desired package. With the following search terms it's easy to filter the package names from the available feeds.

  • gemini → shows the different GP3 Addons
  • gp-skin → shows all the available GP3 Skins
  • gp-icons → shows all the different GP3 Icon Packages
  • enigma2-plugin-systemplugins → shows the Enigma2 System Plugins
  • enigma2-plugin-extensions → shows Enigma2 extentions

Deinstallation

Removing a package is done like this:

opkg remove $package_name

For $package_name the correct name must be used. E.g. for removing the webadmin, use the following command:

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

Install local packages

Packages (e.g. skins, plugin, ets.) which are offered in the IhaD board, but which are not on a feed, can be installed easily by the package management. Of course we don't use the software management, the GP3 File Browser or the eCommander, but we use telnet or SSH.

Download the package and use FTP to copy the file in the directory /tmp of the Dreambox. Now update the package lists, this way the dependencies (if required) for the package will be resolved and installed. The command is:

opkg update
Ambox warning.png Please keep in mind, packages from external sources can damage the system!
Ambox attention.png Use the correct package architecture, for the different Dreamboxes and used OpenEmbedded versions!

Installation of one package

Use the following command for the installation.

opkg install /tmp/$file_name_of_the_package

Keep in mind, the complete file name must be specified. E.g. if installing the skin gp-skin-ln.hd_gp32-20130903_all.ipk, the command is as follows. Use the TAB to complete the file name automatically.

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

Of course it's also possible to use an asterisk as wildcard, this way you don't need to write the complete name. E.g:

opkg install /tmp/gp-skin*

Installation of multiple packages

The installation of multiple packages is also easy, once all files are copied with FTP in the directory /tmp on the Dreambox. Use the following command to install all packages. By the way, this works also for the installation of one package ;)

opkg install /tmp/*.ipk

Deinstallation

The removal of a package is also done with the package name (without the version and the extention ipk) and the following command:

opkg remove $package_name

Of course the $package_name needs to be replaced by the correct name. If you want to remove the ln.hd skin, use the command:

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

Other interesting commands

Update sources

Allways update the sources before any package manipulation (e.g. installation, search, download of packages), with the command:

 opkg update

Upgrade Firmware

With the following command it's possible to install all available updates for your Dreambox.

opkg upgrade

Chain commands

With two "and" symbols (&&) it's possible to chain commands. This way the second command is executed, as soon as the first is succesfully performed. The following command is very often used, to update the sources and the firmware.

opkg update && opkg upgrade

Install multiple packages from the feeds

opkg install $package_name $package_name $package_name $package_name

Deinstall multiplpe packages

opkg remove $package_name $package_name $package_name $package_name

Show all available packages from the feeds

opkg list

Show all installed packages

opkg list-installed

Show installed package

The following command can be used to search for an installed package. If the package is installed the name is shown with the version number. If no output is displayed, the package is not installed ot the name of the package is wrong.

opkg list-installed $package_name

Show upgradable packages

opkg list-upgradable

Show packages page by page

Packages can be shown with the command more. Use the space or ↵ Enter to continue.

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

Install packages from a website

Packages can be installed directly from a web adress, e.g. with following command.

opkg install http://www.yyy.com/zzzz/$package_name.ipk

Download package from the feed

opkg download $package_name

Show package information

opkg info $package_name

Show package dependencies

Lists packages which are mandatory for an installation.

opkg depends $package_name

Show packages which require the package as dependency

Shows the packages which have the $package_name as required dependency.

opkg whatdepends $package_name

Simulate package installation

Loads the package and simulates the installation. Ideal to check if an installation would be performed succesfully.

opkg --noaction $package_name

Deinstall package with all dependencies

Removes a package and all installed dependencies.

opkg --autoremove $package_name

Set package on hold

Prevent an update of a package (using the flag hold).

opkg flag hold $package_name

Release package

Release a package which is on hold.

opkg flag user $package_name

List the compatible package architectures

Shows the content of the file /etc/opkg/arch.conf.

opkg print-architecture

Tips and Tricks

Proxy Server

When using a Proxy Server to install packages, edit the configuration file /etc/opkg/opkg.conf. The entries should be self explaining ;)

Package architecture for local installations

Keep in mind, for each Enigma2 Dreambox type and used Openembedded Version (OE 1.6 / OE 2.0), the corresponding packages for a manual installation are required. If not, the installation will be aborted with an error message - ....incompatible with the architectures configured. When downloading packages from the board, read the thread and pay attention to the file extention as listet below.

Packages for all architectures

  • *.all.ipk

OE 1.6

  • *.mipsel.ipk packages

OE 2.0

  • *.mips32el.ipk for all Box types, except the DM 800HD PVR.
  • *.mips32el-nf.ipk only for DM 800HD PVR

Unpack IPK packages

Packages can be unpacked on a home computer. With Linux no extra tools are required, for Windows users the programm 7-Zip can be used. And for MAC users BetterZIP.

Write text file with list of installed packages

With following command it's possible to create a list of installed packages, and write the list in a text file. The example creates the list for the *extensions*. Of course the command can be adapted for *systemplugins* or GP3 Addons (*gemini*), etc..

The list with the name e2plugins can be found in the directory /home/root. This file can be used to show the installed packages, and reinstall the plugins after a new image was flashed. Of course you have to copy the list from the Dreambox on your computer (e.g. using FTP). Otherwise the file is deleted after flashing the Dreambox ;)

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

Install the content of the list is possible with following command. Make sure the text file is in the directory /home/root. And of course the packages should be available on the feeds.

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

An other method to install multiple packages is described in the chapter other interesting commands. But you need to know the names of the packages.

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