APT: Unterschied zwischen den Versionen

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
(26 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
 
  |[[Bild:english.png]] - [[APT (en)|in English]]
 
  |[[Bild:english.png]] - [[APT (en)|in English]]
 
  |}
 
  |}
[http://de.wikipedia.org/wiki/Advanced_Packaging_Tool APT] (kurz für '''A'''dvanced '''P'''ackaging '''T'''ool) ist eine [http://de.wikipedia.org/wiki/Paketverwaltung Paketverwaltung] das im Bereich des Betriebssystems Debian GNU/Linux entstanden ist. APT hat seit [http://www.openembedded.org/wiki/Main_Page OE] 2.2 den Einzug in die Dreamboxwelt erfahren. (Für Dreamboxen mit OE 1.6 oder [[OE 2.0]] wird [[OPKG]] verwendet).
+
[http://de.wikipedia.org/wiki/Advanced_Packaging_Tool APT] (kurz für '''A'''dvanced '''P'''ackaging '''T'''ool) ist eine [http://de.wikipedia.org/wiki/Paketverwaltung Paketverwaltung], die im Bereich des Betriebssystems Debian GNU/Linux entstanden ist. APT hat seit [http://www.openembedded.org/wiki/Main_Page OE] 2.2 den Einzug in die Dreamboxwelt erfahren. (Für Dreamboxen mit OE 1.6 oder [[OE 2.0]] wird [[OPKG]] 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]].
+
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]].
  
Im Vergleich zu den alten Paketverwaltungen wie [[IPKG]] oder [[OPKG]] gibt es nicht nur einen Befehl für der Paketmanipulation, sondern mehrere, wie z.B.
+
Im Vergleich zu den alten Paketverwaltungen, wie [[IPKG]] oder [[OPKG]] gibt es nicht nur einen Befehl für die Paketmanipulation, sondern mehrere. Das sind z.B.:
  
 
* '''<code>apt-get</code>''' - Der Befehl installiert Pakete von den vorhandenen Paketquellen. Er beachtet Abhängigkeiten der zu installierenden Pakete und kann natürlich auch Pakete löschen und vieles mehr.
 
* '''<code>apt-get</code>''' - Der Befehl installiert Pakete von den vorhandenen Paketquellen. Er beachtet Abhängigkeiten der zu installierenden Pakete und kann natürlich auch Pakete löschen und vieles mehr.
* '''<code>apt-cache</code>''' - Die Benutzung des Befehl führen keine Änderungen am System durch. Er wird gebraucht um den Paketcache zu durchforsten (z.B. suchen). Der Cache beinhaltet Metadaten zu allen verfügbaren Paketen, die auf dem Softwarefeed liegen.
+
* '''<code>apt-cache</code>''' - Die Benutzung des Befehl führt keine Änderungen am System durch. Er wird gebraucht, um den Paketcache zu durchforsten (z.B. suchen). Der Cache beinhaltet Metadaten zu allen verfügbaren Paketen, die auf dem Softwarefeed liegen.
* '''<code>dpkg</code>''' - Wird für die manuelle Installation / Deinstallation Paketen benutzt. Beachtet bitte das <code>dpkg</code> keine Abhängigkeiten berücksichtigt bei der Installation / Deinstallation.
+
* '''<code>dpkg</code>''' - Wird für die manuelle Installation / Deinstallation von Paketen benutzt. Beachtet bitte, dass <code>dpkg</code> keine Abhängigkeiten berücksichtigt bei der Installation / Deinstallation.
 +
* '''<code>apt</code>''' - Der Befehl stellt die wichtigsten Befehle der Paketmanipulation zur Verfügung, inklusive farbiger Ausgabe.
  
Der Artikel zeigt euch das Suchen / Installieren / Deinstallieren von Paketen und weitere hilfreiche Befehle im Zusammenhang mit dem '''Advanced Packaging Tool'''. Weitere hilfreiche Informationen zu den Befehlen, erhaltet ihr über die Option <code>--help</code>.
+
Der Artikel zeigt euch das Suchen / Installieren / Deinstallieren von Paketen und weitere hilfreiche Befehle im Zusammenhang mit dem '''Advanced Packaging Tool'''. Weitere hilfreiche Informationen zu den Befehlen erhaltet ihr über die Option <code>--help</code>.
 
<syntaxhighlight>
 
<syntaxhighlight>
 
apt-get --help
 
apt-get --help
 
apt-cache --help
 
apt-cache --help
 
dpkg --help
 
dpkg --help
 +
apt --help
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== Pakete via Internet installieren ==
 
== Pakete via Internet installieren ==
Vor der Installation müssen die [http://de.wikipedia.org/wiki/Repository#Software-Repository Paketquellen] die in <code>/etc/apt/sources.list.d</code> definiert sind, mit dem folgenden Befehl aktualisiert werden.  
+
Vor der Installation müssen die [http://de.wikipedia.org/wiki/Repository#Software-Repository Paketquellen], die in <code>/etc/apt/sources.list.d</code> definiert sind, mit folgendem Befehl aktualisiert werden.  
 
<syntaxhighlight>
 
<syntaxhighlight>
 
apt-get update
 
apt-get 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, Pakete installieren, oder im schlimmsten Fall beschädigt ihr euer System!}}
+
{{Warnung|Vorsicht ist geboten beim Einbinden von fremden Paketquellen. Sind die Quellen nicht verfügbar oder nicht korrekt gepflegt, könnt ihr keine Firmwareaktualisierungen durchführen, Pakete installieren oder im schlimmsten Fall beschädigt ihr euer System!}}
  
 
=== Installation ===
 
=== Installation ===
Die Installation von einem Paket, erfolgt über den folgenden Befehl.
+
Die Installation von einem Paket erfolgt über folgenden Befehl:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
apt-get install $paketname
 
apt-get install $paketname
Zeile 52: Zeile 54:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Müssen zusätzliche Pakete installiert werden, müsst ihr die Installation mit der Taste {{Taste|y}} bestätigen. Ein {{Taste|n}} bricht die Installation ab. Soll eine Installation ohne Abfrage erfolgen könnt ihr die Option <code>-y</code> benutzen, z.B.:
+
Müssen zusätzliche Pakete installiert werden, müsst ihr die Installation mit der Taste {{Taste|y}} bestätigen. Ein {{Taste|n}} bricht die Installation ab. Soll eine Installation ohne Abfrage erfolgen, könnt ihr die Option <code>-y</code> benutzen, z.B.:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
apt-get install -y $paketname
 
apt-get install -y $paketname
 
</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.
+
Jetzt fragt ihr euch sicher, wie man an die Paketnamen 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>Unable to locate package...</code>), oder es fehlen Abhängigkeiten zu anderen Paketen, welche zusätzlich benötigt werden.}}
+
{{Hinweis|Erscheint nach dem Ausführen des Befehls eine Fehlermeldung, befindet sich das Paket nicht auf dem Softwarefeed (<code>Unable to locate package...</code>), oder es fehlen Abhängigkeiten zu anderen Paketen, welche zusätzlich benötigt werden.}}
  
 
=== Paket Suche ===
 
=== Paket Suche ===
Zeile 68: Zeile 70:
  
 
==== Suche nach Paketen eingrenzen ====
 
==== 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.
+
Wenn ihr den Aufbau der Paketnamen für Plugins, Skin usw. ein wenig kennt, könnt ihr mit der Suche gezielter ans Ziel kommen. So könnt ihr z.B. mit folgenden Suchbegriffen entsprechende Paketnamen aus den vorhandenen Softwarequellen herausfiltern.
  
 
* gemini → Zeigt euch die verschiedenen [[GP3 Blue Panel#GP3 Erweiterungen|GP3 Erweiterungen]]
 
* gemini → Zeigt euch die verschiedenen [[GP3 Blue Panel#GP3 Erweiterungen|GP3 Erweiterungen]]
Zeile 77: Zeile 79:
  
 
=== Deinstallation ===
 
=== Deinstallation ===
Das deinstallieren von einem Paket, erfolgt über den folgenden Befehl.
+
Das Deinstallieren von einem Paket erfolgt über folgenden Befehl:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
apt-get remove $paketname
 
apt-get remove $paketname
 
</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:
+
Für <code>'''$paketname'''</code> muss natürlich der korrekte Name eingegeben werden. Wenn ihr z.B. [[WebAdmin]] entfernen möchtet, wäre der Befehl wie folgt:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
root@dm7080:~# apt-get remove enigma2-plugin-extensions-webadmin
 
root@dm7080:~# apt-get remove enigma2-plugin-extensions-webadmin
Zeile 94: Zeile 96:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Bestätigt die Deinstallation mit der Taste {{Taste|y}}. Ein {{Taste|n}} bricht die Deinstallation ab. Soll das entfernen automatisch ohne Abfrage erfolgen, müsst ihr den Befehl wie folgt anpassen:
+
Bestätigt die Deinstallation mit der Taste {{Taste|y}}. Ein {{Taste|n}} bricht die Deinstallation ab. Soll das Entfernen automatisch ohne Abfrage erfolgen, müsst ihr den Befehl wie folgt anpassen:
  
 
<syntaxhighlight>
 
<syntaxhighlight>
Zeile 101: Zeile 103:
  
 
== Lokal gespeicherte Pakete installieren ==
 
== 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]].
+
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]].
  
 
{{Warnung|Beachtet bitte, dass Fremdpakete das System beschädigen können!}}
 
{{Warnung|Beachtet bitte, dass Fremdpakete das System beschädigen können!}}
{{Achtung|Benutzt die korrekte Paketarchitektur, für die verschiedenen Dreamboxen und verwendeten OpenEmbedded Versionen! Für [[OE 2.2]] werden <code>*.deb</code> Pakete benötigt.}}
+
{{Achtung|Benutzt die korrekte Paketarchitektur für die verschiedenen Dreamboxen und verwendeten OpenEmbedded Versionen! Für [[OE 2.2]] werden <code>*.deb</code> Pakete benötigt.}}
 
{{Hinweis|Der Befehl <code>dpkg</code> löst keine Abhängigkeiten zu anderen Paketen automatisch auf!}}
 
{{Hinweis|Der Befehl <code>dpkg</code> löst keine Abhängigkeiten zu anderen Paketen automatisch auf!}}
  
 
=== Installation eines Pakets ===
 
=== Installation eines Pakets ===
Installiert das Paket mit dem folgenden Befehl.
+
Installiert das Paket mit folgendem Befehl:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
dpkg -i /tmp/$Dateiname_des_Pakets
 
dpkg -i /tmp/$Dateiname_des_Pakets
 
</syntaxhighlight>
 
</syntaxhighlight>
Beachtet bitte, dass der '''komplette''' Dateiname angegeben werden muss. Wenn z.B. der Skin <code>gp-skin-holo-black_gp33-20141107-r586_all.deb</code> installiert wird, dann ist der Befehl wie folgt. Benutzt hier {{Taste|TAB}} um den Dateinamen automatisch zu vervollständigen.
+
Beachtet bitte, dass der '''komplette''' Dateiname angegeben werden muss. Wenn z.B. der Skin <code>gp-skin-holo-black_gp33-20141107-r586_all.deb</code> installiert wird, ist der Befehl wie folgt. Benutzt hier {{Taste|TAB}}, um den Dateinamen automatisch zu vervollständigen.
 
<syntaxhighlight>
 
<syntaxhighlight>
 
dpkg -i /tmp/gp-skin-holo-black_gp33-20141107-r586_all.deb
 
dpkg -i /tmp/gp-skin-holo-black_gp33-20141107-r586_all.deb
 
</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.
+
Man kann natürlich auch das Sternchen Symbol (Asterisk) verwenden als Platzhalter, damit man nicht den ganzen Namen schreiben muss, z.B. so:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
dpkg -i /tmp/gp-skin*
 
dpkg -i /tmp/gp-skin*
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Erscheint nach der Installation ein Fehler wie z.B. folgender,
+
Erscheint nach der Installation ein Fehler, wie z.B. folgender:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
dpkg: error processing package gp-skin-holo-black (--install):
 
dpkg: error processing package gp-skin-holo-black (--install):
Zeile 129: Zeile 131:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
dann werden weitere Abhängigkeiten benötigt, um einen reibungslosen Betrieb des Paketes zu gewährleisten. Abhängigkeitsprobleme könnt ihr mit dem folgenden Befehl anzeigen lassen:
+
dann werden weitere Abhängigkeiten benötigt, um einen reibungslosen Betrieb des Paketes zu gewährleisten. Abhängigkeitsprobleme könnt ihr mit folgendem Befehl anzeigen lassen:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
root@dm7080:~# apt-get check
 
root@dm7080:~# apt-get check
Zeile 143: Zeile 145:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Das Problem zu anderen Abhängigkeiten, kann einfach gelöst werden, sofern die Pakete auf dem Softwarefeed liegen. Benutzt den folgenden Befehl, um die Paketlisten zu aktualisieren und die fehlenden Abhängigkeiten zu installieren.
+
Das Problem zu anderen Abhängigkeiten, kann einfach gelöst werden, sofern die Pakete auf dem Softwarefeed liegen. Benutzt folgenden Befehl, um die Paketlisten zu aktualisieren und die fehlenden Abhängigkeiten zu installieren.
 
<syntaxhighlight>
 
<syntaxhighlight>
 
apt-get update && apt-get -f install
 
apt-get update && apt-get -f install
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Bestätigt die Abfrage zu der Installation der Abhängigkeiten mit der {{Taste|y}}.
+
Bestätigt die Abfrage zu der Installation der Abhängigkeiten mit der Taste {{Taste|y}}.
  
 
=== Installation mehrerer Pakete ===
 
=== 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 ;)
+
Die Installation mehrerer Pakete ist auch sehr einfach, wenn alle via [[FTP]] in das <code>/tmp</code> Verzeichnis der Dreambox kopiert worden sind. Gebt folgenden Befehl ein, um die Pakete zu installieren. Funktioniert übrigens auch für die Installation von einem Paket ;)
 
<syntaxhighlight>
 
<syntaxhighlight>
 
dpkg -i /tmp/*.deb
 
dpkg -i /tmp/*.deb
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Fehlen hier Abhängigkeiten, dann benutzt bitte den folgenden Befehl, um dies zu korrigieren:
+
Fehlen hier Abhängigkeiten, benutzt bitte folgenden Befehl, um dies zu korrigieren:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
apt-get update && apt-get -f install
 
apt-get update && apt-get -f install
Zeile 162: Zeile 164:
  
 
=== Deinstallation ===
 
=== Deinstallation ===
Das deinstallieren von einem Paket, erfolgt wieder über den Paketnamen (ohne der Version und der Endung <code>deb</code>) und dem folgenden Befehl.  
+
Das Deinstallieren von einem Paket erfolgt wieder über den Paketnamen (ohne die Version und der Endung <code>.deb</code>) mit folgendem Befehl:  
 
<syntaxhighlight>
 
<syntaxhighlight>
 
dpkg -r $paketname
 
dpkg -r $paketname
 
</syntaxhighlight>
 
</syntaxhighlight>
Für <code>'''$paketname'''</code> muss natürlich der korrekte Name eingegeben werden. Wenn ihr den <code>gp-skin-holo-black</code> Skin entfernen möchtet, dann wäre der Befehl wie folgt, um ein Paket zu entfernen.
+
Für <code>'''$paketname'''</code> muss natürlich der korrekte Name eingegeben werden. Wenn ihr den <code>gp-skin-holo-black</code> Skin entfernen möchtet, wäre der Befehl wie folgt:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
dpkg -r gp-skin-holo-black
 
dpkg -r gp-skin-holo-black
Zeile 173: Zeile 175:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Ist das zu deinstallierende Paket eine Abhängigkeit, die von anderen Paketen benötigt wird, bricht die Deinstallation ab, wie in der folgenden Ausgabe ersichtlich ist. Im folgenden Beispiel kann das Paket nicht entfernt werden, da es vom Skin <code>gp-skin-holo-black</code> benötigt wird.  
+
Ist das zu deinstallierende Paket eine Abhängigkeit, die von anderen Paketen benötigt wird, bricht die Deinstallation ab, wie in folgender Ausgabe ersichtlich ist. Im folgenden Beispiel kann das Paket nicht entfernt werden, da es vom Skin <code>gp-skin-holo-black</code> benötigt wird.  
 
<syntaxhighlight>
 
<syntaxhighlight>
 
root@dm7080:~# dpkg -r enigma2-plugin-skincomponents-eventposition
 
root@dm7080:~# dpkg -r enigma2-plugin-skincomponents-eventposition
Zeile 180: Zeile 182:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Besser ist es den Befehl <code>apt-get remove</code> zu benutzen. Dieser berücksichtigt die Abhängigkeiten zwischen den Paketen. Also z.B mit dem Befehl:
+
Besser ist es, den Befehl <code>apt-get remove</code> zu benutzen. Dieser berücksichtigt die Abhängigkeiten zwischen den Paketen. Also z.B mit dem Befehl:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
apt-get remove enigma2-plugin-skincomponents-eventposition
 
apt-get remove enigma2-plugin-skincomponents-eventposition
Zeile 187: Zeile 189:
 
Bestätigt die Abfrage der Deinstallation mit der Taste {{Taste|y}}.  
 
Bestätigt die Abfrage der Deinstallation mit der Taste {{Taste|y}}.  
  
{{Achtung|Pakete welche das zu deinstallierende Paket benötigen (als  Abhängigkeit), werden auch entfernt.}}
+
{{Achtung|Pakete welche das zu deinstallierende Paket (als  Abhängigkeit) benötigen, werden auch entfernt.}}
  
 
== Image aktualisieren ==
 
== Image aktualisieren ==
Aktualisiert immer zuerst die Paketquellen mit dem folgenden Befehl:
+
Aktualisiert immer zuerst die Paketquellen mit folgendem Befehl:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
apt-get update
 
apt-get update
 
</syntaxhighlight>
 
</syntaxhighlight>
Anschliessend habt ihr folgende Möglichkeiten für das aktualisieren der Dreambox.
+
Anschließend habt ihr folgende Möglichkeiten für das Aktualisieren der Dreambox:
  
 
=== Upgrade ===
 
=== Upgrade ===
 
Diese Variante aktualisiert nur Pakete, die installiert sind. Es werden aber '''nie''' Pakete hinzugefügt oder entfernt, auch wenn diese nicht mehr benötigt werden. Ein Upgrade der Software erfolgt mit:  
 
Diese Variante aktualisiert nur Pakete, die installiert sind. Es werden aber '''nie''' Pakete hinzugefügt oder entfernt, auch wenn diese nicht mehr benötigt werden. Ein Upgrade der Software erfolgt mit:  
<syntaxhighlight>apt-get update</syntaxhighlight>
+
<syntaxhighlight>apt-get upgrade</syntaxhighlight>
  
 
=== Dist-Upgrade ===
 
=== Dist-Upgrade ===
 
Diese Variante aktualisiert alle Pakete, die neu in den Paketquellen hinzugefügt worden sind. Es werden dabei auch neue Pakete installiert, sofern benötigt. Die Aktualisierung startet ihr mit dem Befehl:  
 
Diese Variante aktualisiert alle Pakete, die neu in den Paketquellen hinzugefügt worden sind. Es werden dabei auch neue Pakete installiert, sofern benötigt. Die Aktualisierung startet ihr mit dem Befehl:  
 
<syntaxhighlight>apt-get dist-upgrade</syntaxhighlight>
 
<syntaxhighlight>apt-get dist-upgrade</syntaxhighlight>
 +
 +
=== Paketlisten / Pakete in einem Schritt aktualisieren ===
 +
Mittels <code>&&</code> könnt ihr mehrere Befehle zusammen ausführen.
 +
<syntaxhighlight>apt-get update && apt-get upgrade</syntaxhighlight>
 +
oder
 +
<syntaxhighlight>apt-get update && apt-get dist-upgrade</syntaxhighlight>
  
 
== Weitere interessante Befehle ==
 
== Weitere interessante Befehle ==
 
=== Inkonsistenz (Abhängigkeitsprobleme) prüfen ===
 
=== Inkonsistenz (Abhängigkeitsprobleme) prüfen ===
Abhängigkeitsprobleme könnt ihr so prüfen:
+
Abhängigkeitsprobleme könnt ihr prüfen mit:
 
<syntaxhighlight>apt-get check</syntaxhighlight>
 
<syntaxhighlight>apt-get check</syntaxhighlight>
  
Zeile 212: Zeile 220:
 
<syntaxhighlight>apt-get -f install</syntaxhighlight>
 
<syntaxhighlight>apt-get -f install</syntaxhighlight>
  
=== Paket-Cache löschen ===
+
=== Heruntergeladene Pakete löschen ===
Den Paket-Cache (die heruntergeladenen Metainformationen zu allen Paketen) löscht man mit:
+
Der Befehl löscht die heruntergeladen <code>*.deb</code> Dateien, welche nach der Installation unter <code>/var/cache/apt/archives</code> bestehen bleiben.
 
<syntaxhighlight>apt-get clean</syntaxhighlight>
 
<syntaxhighlight>apt-get clean</syntaxhighlight>
  
Zeile 220: Zeile 228:
 
oder
 
oder
 
<syntaxhighlight>apt-cache search . | grep $paketname</syntaxhighlight>
 
<syntaxhighlight>apt-cache search . | grep $paketname</syntaxhighlight>
 +
 +
=== Abhängigkeiten eines Paketes anzeigen ===
 +
<syntaxhighlight>apt-cache depends $paketname</syntaxhighlight>
  
 
=== Mehrere Pakete löschen ===
 
=== Mehrere Pakete löschen ===
So könnt ihr ein, oder mehrere Pakete löschen. Manuell geänderte, oder durch ein Paket erstellte Konfigurationsdateien bleiben enthalten.
+
So könnt ihr ein oder mehrere Pakete löschen. Manuell geänderte oder durch ein Paket erstellte Konfigurationsdateien bleiben enthalten.
 
<syntaxhighlight>sudo apt-get remove $paketname $paketname</syntaxhighlight>
 
<syntaxhighlight>sudo apt-get remove $paketname $paketname</syntaxhighlight>
  
Zeile 228: Zeile 239:
 
<syntaxhighlight>sudo apt-get purge $paketname</syntaxhighlight>
 
<syntaxhighlight>sudo apt-get purge $paketname</syntaxhighlight>
  
=== Weitere Möglichkeiten um Pakete zu entfernen ===
+
=== Weitere Möglichkeiten, um Pakete zu entfernen ===
Dieser Befehl entfernt Pakete, die von anderen Paketen installiert und nicht mehr benötigt werden.
+
Dieser Befehl entfernt Pakete, die von anderen Paketen installiert und nicht mehr benötigt werden:
 
<syntaxhighlight>apt-get autoremove</syntaxhighlight>
 
<syntaxhighlight>apt-get autoremove</syntaxhighlight>
 
Der folgende Befehl entfernt ein installiertes Paket, inklusive seiner Abhängigkeiten.
 
Der folgende Befehl entfernt ein installiertes Paket, inklusive seiner Abhängigkeiten.
 
<syntaxhighlight>apt-get autoremove $paketname</syntaxhighlight>
 
<syntaxhighlight>apt-get autoremove $paketname</syntaxhighlight>
Und folgender Befehl, entfernt ein installiertes Paket, inklusive der Konfigurationsdateien und Abhängigkeiten, die einmal installiert worden sind.
+
Und folgender Befehl entfernt ein installiertes Paket, inklusive der Konfigurationsdateien und Abhängigkeiten, die einmal installiert worden sind.
 
<syntaxhighlight>apt-get --purge autoremove $paketname</syntaxhighlight>
 
<syntaxhighlight>apt-get --purge autoremove $paketname</syntaxhighlight>
 +
 +
=== Pakete aus den Softwarequellen herunterladen ===
 +
<syntaxhighlight>apt-get download $paketname</syntaxhighlight>
 +
 +
=== Installierte Pakete anzeigen ===
 +
<syntaxhighlight>apt list --installed</syntaxhighlight>
 +
 +
=== Suchen nach bestimmten, installierten Paketen ===
 +
<syntaxhighlight>apt list --installed $suchbegriff</syntaxhighlight>
 +
Dieser Befehl zeigt euch z.B. alle installieren Enimga2 Plugins an:
 +
<syntaxhighlight>apt list --installed enigma2-plugin-extensions*</syntaxhighlight>
 +
 +
=== Verfügbare Aktualisierungen anzeigen ===
 +
<syntaxhighlight>apt list --upgradable</syntaxhighlight>
 +
 +
=== Paketinformationen anzeigen ===
 +
<syntaxhighlight>apt show $paketname</syntaxhighlight>
 +
 +
=== Updates von einem Paket verhindern ===
 +
<syntaxhighlight>apt-mark hold $paketname</syntaxhighlight>
 +
 +
Der folgende Befehl setzt den hold Status zurück.
 +
<syntaxhighlight>apt-mark unhold $paketname</syntaxhighlight>
 +
 +
== Tipps und Tricks ==
 +
=== 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 2.2]] / [[OE 2.5]]), 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.deb
 +
==== [[OE 2.2]] ====
 +
* *.mipsel.deb für alle Boxtypen
 +
==== [[OE 2.5]] ====
 +
* *.mipsel.deb für alle Boxtypen ausser DM 900 und DM 920
 +
* *.armhf.deb für DM 900 und DM 920
 +
==== [[OE 2.6]] ====
 +
* *.arm64.deb für Dreambox ONE UltraHD
 +
 +
=== DEB 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].
 +
 +
{{WIKI|ID=186594}}
 +
[[Kategorie:Anleitungen]]
 +
[[Kategorie:Enigma2]]

Version vom 7. Juli 2019, 10:47 Uhr

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

APT (kurz für Advanced Packaging Tool) ist eine Paketverwaltung, die im Bereich des Betriebssystems Debian GNU/Linux entstanden ist. APT hat seit OE 2.2 den Einzug in die Dreamboxwelt erfahren. (Für Dreamboxen mit OE 1.6 oder OE 2.0 wird OPKG 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.

Im Vergleich zu den alten Paketverwaltungen, wie IPKG oder OPKG gibt es nicht nur einen Befehl für die Paketmanipulation, sondern mehrere. Das sind z.B.:

  • apt-get - Der Befehl installiert Pakete von den vorhandenen Paketquellen. Er beachtet Abhängigkeiten der zu installierenden Pakete und kann natürlich auch Pakete löschen und vieles mehr.
  • apt-cache - Die Benutzung des Befehl führt keine Änderungen am System durch. Er wird gebraucht, um den Paketcache zu durchforsten (z.B. suchen). Der Cache beinhaltet Metadaten zu allen verfügbaren Paketen, die auf dem Softwarefeed liegen.
  • dpkg - Wird für die manuelle Installation / Deinstallation von Paketen benutzt. Beachtet bitte, dass dpkg keine Abhängigkeiten berücksichtigt bei der Installation / Deinstallation.
  • apt - Der Befehl stellt die wichtigsten Befehle der Paketmanipulation zur Verfügung, inklusive farbiger Ausgabe.

Der Artikel zeigt euch das Suchen / Installieren / Deinstallieren von Paketen und weitere hilfreiche Befehle im Zusammenhang mit dem Advanced Packaging Tool. Weitere hilfreiche Informationen zu den Befehlen erhaltet ihr über die Option --help.

apt-get --help
apt-cache --help
dpkg --help
apt --help

Pakete via Internet installieren

Vor der Installation müssen die Paketquellen, die in /etc/apt/sources.list.d definiert sind, mit folgendem Befehl aktualisiert werden.

apt-get update
Ambox warning.png Vorsicht ist geboten beim Einbinden von fremden Paketquellen. Sind die Quellen nicht verfügbar oder nicht korrekt gepflegt, könnt ihr keine Firmwareaktualisierungen durchführen, Pakete installieren oder im schlimmsten Fall beschädigt ihr euer System!

Installation

Die Installation von einem Paket erfolgt über folgenden Befehl:

apt-get 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@dm7080:~# apt-get install enigma2-plugin-extensions-webadmin
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  enigma2-plugin-extensions-webadmin
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 221 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://dreamboxupdate.com/opendreambox/2.2/unstable/r0/dm7080/deb/mips32el/ ./ enigma2-plugin-extensions-webadmin 4.2.0+git25+93609ff651-r0.0 [221 kB]
Fetched 221 kB in 1s (211 kB/s)                              
Selecting previously unselected package enigma2-plugin-extensions-webadmin.
(Reading database ... 10348 files and directories currently installed.)
Preparing to unpack .../enigma2-plugin-extensions-webadmin_4.2.0+git25+93609ff651-r0.0_mipsel.deb ...
Unpacking enigma2-plugin-extensions-webadmin (4.2.0+git25+93609ff651-r0.0) ...

Müssen zusätzliche Pakete installiert werden, müsst ihr die Installation mit der Taste y bestätigen. Ein n bricht die Installation ab. Soll eine Installation ohne Abfrage erfolgen, könnt ihr die Option -y benutzen, z.B.:

apt-get install -y $paketname

Jetzt fragt ihr euch sicher, wie man an die Paketnamen 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, befindet sich das Paket nicht auf dem Softwarefeed (Unable to locate package...), oder es fehlen Abhängigkeiten zu anderen Paketen, welche zusätzlich benötigt werden.

Paket Suche

Zum Suchen von Paketen steht der Befehl apt-cache mit der Option search zur Verfügung. Der Suchbegriff durchsucht den Paketcache nach Namen und Paketbeschreibungen.

apt-cache search $suchbegriff

Suche nach Paketen eingrenzen

Wenn ihr den Aufbau der Paketnamen für Plugins, Skin usw. ein wenig kennt, könnt ihr mit der Suche gezielter ans Ziel kommen. So könnt ihr z.B. mit 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 folgenden Befehl:

apt-get remove $paketname

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

root@dm7080:~# apt-get remove enigma2-plugin-extensions-webadmin
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  enigma2-plugin-extensions-webadmin
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y

Bestätigt die Deinstallation mit der Taste y. Ein n bricht die Deinstallation ab. Soll das Entfernen automatisch ohne Abfrage erfolgen, müsst ihr den Befehl wie folgt anpassen:

root@dm7080:~# apt-get remove -y enigma2-plugin-extensions-webadmin

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.

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! Für OE 2.2 werden *.deb Pakete benötigt.
Ambox notice.png Der Befehl dpkg löst keine Abhängigkeiten zu anderen Paketen automatisch auf!

Installation eines Pakets

Installiert das Paket mit folgendem Befehl:

dpkg -i /tmp/$Dateiname_des_Pakets

Beachtet bitte, dass der komplette Dateiname angegeben werden muss. Wenn z.B. der Skin gp-skin-holo-black_gp33-20141107-r586_all.deb installiert wird, ist der Befehl wie folgt. Benutzt hier TAB, um den Dateinamen automatisch zu vervollständigen.

dpkg -i /tmp/gp-skin-holo-black_gp33-20141107-r586_all.deb

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

dpkg -i /tmp/gp-skin*

Erscheint nach der Installation ein Fehler, wie z.B. folgender:

dpkg: error processing package gp-skin-holo-black (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
gp-skin-holo-black

dann werden weitere Abhängigkeiten benötigt, um einen reibungslosen Betrieb des Paketes zu gewährleisten. Abhängigkeitsprobleme könnt ihr mit folgendem Befehl anzeigen lassen:

root@dm7080:~# apt-get check
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
gp-skin-holo-black : Depends: enigma2 (>= 4.2.0r15) but 4.2.0r11-dm7080-r0.0 is installed
                     Depends: enigma2-plugin-skincomponents-eventlist but it is not installed
                     Depends: enigma2-plugin-skincomponents-eventposition but it is not installed
                     Depends: enigma2-plugin-skincomponents-extcomponents but it is not installed

Das Problem zu anderen Abhängigkeiten, kann einfach gelöst werden, sofern die Pakete auf dem Softwarefeed liegen. Benutzt folgenden Befehl, um die Paketlisten zu aktualisieren und die fehlenden Abhängigkeiten zu installieren.

apt-get update && apt-get -f install

Bestätigt die Abfrage zu der Installation der Abhängigkeiten mit der Taste y.

Installation mehrerer Pakete

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

dpkg -i /tmp/*.deb

Fehlen hier Abhängigkeiten, benutzt bitte folgenden Befehl, um dies zu korrigieren:

apt-get update && apt-get -f install

Deinstallation

Das Deinstallieren von einem Paket erfolgt wieder über den Paketnamen (ohne die Version und der Endung .deb) mit folgendem Befehl:

dpkg -r $paketname

Für $paketname muss natürlich der korrekte Name eingegeben werden. Wenn ihr den gp-skin-holo-black Skin entfernen möchtet, wäre der Befehl wie folgt:

dpkg -r gp-skin-holo-black
(Reading database ... 10258 files and directories currently installed.)
Removing gp-skin-holo-black (gp33-20141107-r586) ...

Ist das zu deinstallierende Paket eine Abhängigkeit, die von anderen Paketen benötigt wird, bricht die Deinstallation ab, wie in folgender Ausgabe ersichtlich ist. Im folgenden Beispiel kann das Paket nicht entfernt werden, da es vom Skin gp-skin-holo-black benötigt wird.

root@dm7080:~# dpkg -r enigma2-plugin-skincomponents-eventposition
dpkg: dependency problems prevent removal of enigma2-plugin-skincomponents-eventposition:
gp-skin-holo-black depends on enigma2-plugin-skincomponents-eventposition.

Besser ist es, den Befehl apt-get remove zu benutzen. Dieser berücksichtigt die Abhängigkeiten zwischen den Paketen. Also z.B mit dem Befehl:

apt-get remove enigma2-plugin-skincomponents-eventposition

Bestätigt die Abfrage der Deinstallation mit der Taste y.

Ambox attention.png Pakete welche das zu deinstallierende Paket (als Abhängigkeit) benötigen, werden auch entfernt.

Image aktualisieren

Aktualisiert immer zuerst die Paketquellen mit folgendem Befehl:

apt-get update

Anschließend habt ihr folgende Möglichkeiten für das Aktualisieren der Dreambox:

Upgrade

Diese Variante aktualisiert nur Pakete, die installiert sind. Es werden aber nie Pakete hinzugefügt oder entfernt, auch wenn diese nicht mehr benötigt werden. Ein Upgrade der Software erfolgt mit:

apt-get upgrade

Dist-Upgrade

Diese Variante aktualisiert alle Pakete, die neu in den Paketquellen hinzugefügt worden sind. Es werden dabei auch neue Pakete installiert, sofern benötigt. Die Aktualisierung startet ihr mit dem Befehl:

apt-get dist-upgrade

Paketlisten / Pakete in einem Schritt aktualisieren

Mittels && könnt ihr mehrere Befehle zusammen ausführen.

apt-get update && apt-get upgrade

oder

apt-get update && apt-get dist-upgrade

Weitere interessante Befehle

Inkonsistenz (Abhängigkeitsprobleme) prüfen

Abhängigkeitsprobleme könnt ihr prüfen mit:

apt-get check

Fehlende Abhängigkeiten installieren

apt-get -f install

Heruntergeladene Pakete löschen

Der Befehl löscht die heruntergeladen *.deb Dateien, welche nach der Installation unter /var/cache/apt/archives bestehen bleiben.

apt-get clean

Paket suchen

apt-cache search $paketname

oder

apt-cache search . | grep $paketname

Abhängigkeiten eines Paketes anzeigen

apt-cache depends $paketname

Mehrere Pakete löschen

So könnt ihr ein oder mehrere Pakete löschen. Manuell geänderte oder durch ein Paket erstellte Konfigurationsdateien bleiben enthalten.

sudo apt-get remove $paketname $paketname

Paket inklusive Konfigurationsdateien löschen

sudo apt-get purge $paketname

Weitere Möglichkeiten, um Pakete zu entfernen

Dieser Befehl entfernt Pakete, die von anderen Paketen installiert und nicht mehr benötigt werden:

apt-get autoremove

Der folgende Befehl entfernt ein installiertes Paket, inklusive seiner Abhängigkeiten.

apt-get autoremove $paketname

Und folgender Befehl entfernt ein installiertes Paket, inklusive der Konfigurationsdateien und Abhängigkeiten, die einmal installiert worden sind.

apt-get --purge autoremove $paketname

Pakete aus den Softwarequellen herunterladen

apt-get download $paketname

Installierte Pakete anzeigen

apt list --installed

Suchen nach bestimmten, installierten Paketen

apt list --installed $suchbegriff

Dieser Befehl zeigt euch z.B. alle installieren Enimga2 Plugins an:

apt list --installed enigma2-plugin-extensions*

Verfügbare Aktualisierungen anzeigen

apt list --upgradable

Paketinformationen anzeigen

apt show $paketname

Updates von einem Paket verhindern

apt-mark hold $paketname

Der folgende Befehl setzt den hold Status zurück.

apt-mark unhold $paketname

Tipps und Tricks

Paket Architektur für lokale Installationen

Beachtet, dass je nach Enigma2 Dreamboxtyp und verwendeter Openembedded Version (OE 2.2 / OE 2.5), 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.deb

OE 2.2

  • *.mipsel.deb für alle Boxtypen

OE 2.5

  • *.mipsel.deb für alle Boxtypen ausser DM 900 und DM 920
  • *.armhf.deb für DM 900 und DM 920

OE 2.6

  • *.arm64.deb für Dreambox ONE UltraHD

DEB 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.

Wiki - Forumsbeitrag

Zu diesem Beitrag gehört dieser Thread im IhaD-Forum. Benutzt den Beitrag wenn ihr Fehler, Verbesserungen oder Ergänzungen melden möchtet. Natürlich könnt ihr den Beitrag selbst anpassen, wenn ihr im Wiki registriert seid.