APT: Unterschied zwischen den Versionen
Mfgeg (Diskussion | Beiträge) |
Mfgeg (Diskussion | Beiträge) |
||
Zeile 101: | Zeile 101: | ||
== Lokal gespeicherte Pakete installieren == | == Lokal gespeicherte Pakete installieren == | ||
− | === Installation === | + | 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!}} | |
+ | {{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!}} | ||
+ | |||
+ | === Installation eines Pakets === | ||
+ | Installiert das Paket mit dem folgenden Befehl. | ||
+ | <syntaxhighlight> | ||
+ | dpkg -i /tmp/$Dateiname_des_Pakets | ||
+ | </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. | ||
+ | <syntaxhighlight> | ||
+ | dpkg -i /tmp/gp-skin-holo-black_gp33-20141107-r586_all.deb | ||
+ | </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> | ||
+ | dpkg -i /tmp/gp-skin* | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Erscheint nach der Installation ein Fehler wie z.B. folgender, | ||
+ | <syntaxhighlight> | ||
+ | dpkg: error processing package gp-skin-holo-black (--install): | ||
+ | dependency problems - leaving unconfigured | ||
+ | Errors were encountered while processing: | ||
+ | gp-skin-holo-black | ||
+ | </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: | ||
+ | <syntaxhighlight> | ||
+ | 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 | ||
+ | </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. | ||
+ | <syntaxhighlight> | ||
+ | apt-get update && apt-get -f install | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Bestätigt die Abfrage zu der Installation der Abhängigkeiten mit der {{Taste|y}}. | ||
+ | |||
+ | === 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> | ||
+ | dpkg -i /tmp/*.ipk | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Fehlen hier Abhängigkeiten, dann benutzt bitte den folgenden Befehl: | ||
<syntaxhighlight> | <syntaxhighlight> | ||
− | + | apt-get update && apt-get -f install | |
− | |||
− | |||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== 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. | |
+ | <syntaxhighlight> | ||
+ | dpkg -r $paketname | ||
+ | </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. | ||
+ | <syntaxhighlight> | ||
+ | dpkg -r gp-skin-holo-black | ||
+ | (Reading database ... 10258 files and directories currently installed.) | ||
+ | Removing gp-skin-holo-black (gp33-20141107-r586) ... | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Ist das zu deinstallierende Paket eine Abhängigkeit, die von anderen Paketen benötigt werden, bricht die Deinstallation ab, wie in der folgenden Ausgabe ersichtlich ist. Das Paket kann nicht entfernt werden in dem folgenden Beispiel, da es vom Skin <code>gp-skin-holo-black</code> benötigt wird. | ||
+ | <syntaxhighlight> | ||
+ | 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. | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Besser ist es den Befehl <code>apt-get -r</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 | |
− | |||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | 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.}} | ||
== Update / Upgrade == | == Update / Upgrade == |
Version vom 9. November 2014, 19:03 Uhr
- auf Deutsch | - in English |
APT (kurz für Advanced Packaging Tool) ist eine Paketverwaltung das 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 der Paketmanipulation, sondern mehrere, wie 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ü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.dpkg
- Wird für die manuelle Installation / Deinstallation Paketen benutzt. Beachtet bitte dasdpkg
keine Abhängigkeiten berücksichtigt bei der Installation / Deinstallation.
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
Inhaltsverzeichnis
Pakete via Internet installieren
Vor der Installation müssen die Paketquellen die in /etc/apt/sources.list.d
definiert sind, mit dem folgenden Befehl aktualisiert werden.
apt-get update
Installation
Die Installation von einem Paket, erfolgt über den 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 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.
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, 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.
apt-get 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@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.
Beachtet bitte, dass Fremdpakete das System beschädigen können! |
Benutzt die korrekte Paketarchitektur, für die verschiedenen Dreamboxen und verwendeten OpenEmbedded Versionen! Für OE 2.2 werden *.deb Pakete benötigt.
|
Der Befehl dpkg löst keine Abhängigkeiten zu anderen Paketen automatisch auf!
|
Installation eines Pakets
Installiert das Paket mit dem folgenden 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, dann 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 dem folgenden 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 den 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 y.
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 ;)
dpkg -i /tmp/*.ipk
Fehlen hier Abhängigkeiten, dann benutzt bitte den folgenden Befehl:
apt-get update && apt-get -f install
Deinstallation
Das deinstallieren von einem Paket, erfolgt wieder über den Paketnamen (ohne der Version und der Endung deb
) und dem folgenden 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, dann wäre der Befehl wie folgt, um ein Paket zu entfernen.
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 werden, bricht die Deinstallation ab, wie in der folgenden Ausgabe ersichtlich ist. Das Paket kann nicht entfernt werden in dem folgenden Beispiel, 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 -r
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.
Pakete welche das zu deinstallierende Paket benötigen (als Abhängigkeit), werden auch entfernt. |
Update / Upgrade
Update
Ein Update der Paketlisten erfolgt mit:
apt-get update
Upgrade
Ein Upgrade der Software erfolgt mit:
apt-get upgrade
oder
apt-get dist-upgrade
Update und Upgrade gemeinsam
Alles auf einen Rutsch mit:
apt-get update && apt-get upgrade
oder
apt-get update && apt-get dist-upgrade
Weitere interessante Befehle
auf fehlende Abhängigkeiten kann hiermit geprüft werden:
apt-get check
fehlende Abhängigkeiten installieren:
apt-get -f install
den cache (die heruntergeladenen Installionsdateien) löscht man mit:
apt-get clean
Paket suchen
apt-cache search $paketname
oder
apt-cache search . | grep $paketname