OPKG (en)
- auf Deutsch | - 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.
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
Inhaltsverzeichnis
- 1 Install packages via internet
- 2 Install local packages
- 3 Other interesting commands
- 3.1 Update sources
- 3.2 Upgrade Firmware
- 3.3 Chain commands
- 3.4 Install multiple packages from the feeds
- 3.5 Deinstall multiplpe packages
- 3.6 Show all available packages from the feeds
- 3.7 Show all installed packages
- 3.8 Show installed package
- 3.9 Show upgradable packages
- 3.10 Show packages page by page
- 3.11 Install packages from a website
- 3.12 Download package from the feed
- 3.13 Show package information
- 3.14 Paket Abhängigkeiten anzeigen
- 3.15 Abhängigkeiten zu einem Paket anzeigen
- 3.16 Paketinstallation simulieren
- 3.17 Paket und seine Abhängigkeiten entfernen
- 3.18 Paket auf hold setzen
- 3.19 Paket freigeben
- 3.20 Auflisten der kompatiblen Paketarchitekturen
- 4 Tipps und Tricks
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
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.
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
Please keep in mind, packages from external sources can damage the system! |
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 &paketname &paketname &paketname &paketname
Deinstall multiplpe packages
opkg remove &paketname &paketname &paketname &paketname
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 $paketname
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 &paketname
Show package information
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 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 ;)
Package architecture for local installations
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.