Signiertes APT Repository erstellen: Unterschied zwischen den Versionen
Mfgeg (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{|width="40%" |Bild:deutsch.png - in Deutsch |Bild:english.png - in English …“) |
Mfgeg (Diskussion | Beiträge) |
||
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
|[[Bild:english.png]] - [[Create Signed APT repository|in English]] | |[[Bild:english.png]] - [[Create Signed APT repository|in English]] | ||
|} | |} | ||
+ | {{Baustelle|An diesem Artikel wird derzeit gearbeitet. Achtung: Der Artikel kann unvollständig und fehlerhaft sein!}} | ||
+ | |||
{{Achtung| Dieser Artikel erfordert mehr Erfahrung im Umgang mit der Dreambox / Linux und ist daher nur für fortgeschrittene Benutzer gedacht.}} | {{Achtung| Dieser Artikel erfordert mehr Erfahrung im Umgang mit der Dreambox / Linux und ist daher nur für fortgeschrittene Benutzer gedacht.}} | ||
− | Wenn jemand erfolgreich ein Dreambox SDK eingerichtet hat, z.B. für [[OE 2.2]], dann ist dieser Artikel sicherlich interessant. Er beschreibt das einrichten eines signierten [[APT]] Repositories. So könnt ihr eure gebauten Pakete via Paketverwaltung (APT) der Dreambox installieren. | + | Wenn jemand erfolgreich ein [[Images erstellen und Programme kompilieren unter OE 2.2|Dreambox SDK]] eingerichtet hat, z.B. für [[OE 2.2]], dann ist dieser Artikel sicherlich interessant. Er beschreibt das einrichten eines signierten [[APT]] Repositories. So könnt ihr eure gebauten Pakete via Paketverwaltung (APT) der Dreambox installieren. |
− | Basis des hier beschriebenen Artikels ist eine DEB basierende Distribution (z.B. Ubuntu, Mint, Debian, usw.) die | + | Basis des hier beschriebenen Artikels ist eine DEB basierende Distribution (z.B. Ubuntu, Mint, Debian, usw.) die auf eurem Rechner mit dem Dreambox SDK läuft. Eine Webserver brauchen wir auch, welcher die Daten für die Dreambox bereitstellen wird. |
== Repository erstellen == | == Repository erstellen == | ||
Zeile 29: | Zeile 31: | ||
==== Public Key exportieren/speichern ==== | ==== Public Key exportieren/speichern ==== | ||
− | Erstellt nun den Öffentlichen Schlüssel mit dem folgenden Befehl | + | Erstellt nun den Öffentlichen Schlüssel mit dem folgenden Befehl. Der Schlüssel (<code>keyFile.key</code>) muss im root Verzeichnis des Webservers platziert werden und wird später von den Client-Dreamboxen geladen, damit Pakete installiert werden können. |
<syntaxhighlight> | <syntaxhighlight> | ||
− | gpg --output keyFile --armor --export eureid_oder_name | + | gpg --output keyFile.key --armor --export eureid_oder_name |
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 74: | Zeile 76: | ||
<syntaxhighlight> | <syntaxhighlight> | ||
root@dm8000:~# cat /etc/apt/sources.list.d/all-feed.list | root@dm8000:~# cat /etc/apt/sources.list.d/all-feed.list | ||
− | deb http:// | + | deb http://server_ip/repository/dm8000/all ./ |
root@dm8000:~# cat /etc/apt/sources.list.d/dm8000-feed.list | root@dm8000:~# cat /etc/apt/sources.list.d/dm8000-feed.list | ||
deb http://server_ip/repository/dm8000/dm8000 ./ | deb http://server_ip/repository/dm8000/dm8000 ./ | ||
Zeile 89: | Zeile 91: | ||
Anschliessend könnt ihr die verfügbaren Pakete vom Feed installieren, usw. | Anschliessend könnt ihr die verfügbaren Pakete vom Feed installieren, usw. | ||
− | == | + | == Weblinks== |
− | + | * https://help.ubuntu.com/community/CreateAuthenticatedRepository | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[Kategorie:Software]] | |
− | |||
− | |||
− | |||
− |
Aktuelle Version vom 7. Oktober 2014, 20:04 Uhr
- in Deutsch | - in English |
An diesem Artikel wird derzeit gearbeitet. Achtung: Der Artikel kann unvollständig und fehlerhaft sein! |
Dieser Artikel erfordert mehr Erfahrung im Umgang mit der Dreambox / Linux und ist daher nur für fortgeschrittene Benutzer gedacht. |
Wenn jemand erfolgreich ein Dreambox SDK eingerichtet hat, z.B. für OE 2.2, dann ist dieser Artikel sicherlich interessant. Er beschreibt das einrichten eines signierten APT Repositories. So könnt ihr eure gebauten Pakete via Paketverwaltung (APT) der Dreambox installieren.
Basis des hier beschriebenen Artikels ist eine DEB basierende Distribution (z.B. Ubuntu, Mint, Debian, usw.) die auf eurem Rechner mit dem Dreambox SDK läuft. Eine Webserver brauchen wir auch, welcher die Daten für die Dreambox bereitstellen wird.
Inhaltsverzeichnis
Repository erstellen
Abhängigkeiten installieren
sudo apt-get install dpkg-dev apache2 dpkg-sig
GPG Schlüssel erstellen
Jetzt erstellen wir einen GPG Schlüssel für das signieren der Pakete und des Repositories.
gpg --gen-key
Die einzelnen Abfragen werde ich hier nicht genauer beschreiben. Funktioniert mit den Standard Abfragen. Gebt am Schluss eine Passphrase ein und wartet bis das erzeugen erfolgreich abgeschlossen ist. Einfach geduldig sein und mit der Maus / Keyboard ein bisschen herumfuchteln.
Abfragen des Schlüssels
Informationen über den erstellen Schlüssel könnt ihr mit folgendem Befehl abfragen.
gpg --list-keys
Public Key exportieren/speichern
Erstellt nun den Öffentlichen Schlüssel mit dem folgenden Befehl. Der Schlüssel (keyFile.key
) muss im root Verzeichnis des Webservers platziert werden und wird später von den Client-Dreamboxen geladen, damit Pakete installiert werden können.
gpg --output keyFile.key --armor --export eureid_oder_name
Webserver einrichten
Die Dateistruktur des Webservers habe ich wie folgt eingerichtet für eine DM 8000 HD PVR. Beim Erstellen der Pakete via Dreambox SDK erhält man z.B folgende Verzeichnisse all
, dm8000
, mips32el
. So habe ich hier unter dem vorkonfiguriertem Webroot Verzeichnis des Webservers die Pakete abgelegt. Z.B. unter:
/var/www/html/repository/dm8000/all /var/www/html/repository/dm8000/dm8000 /var/www/html/repository/dm8000/mip32el
Pakete signieren
Die Pakete in den Verzeichnissen könnt ihr mit dem folgenden Befehl signieren.
dpkg-sig --sign *.deb
Repository Index-Dateien erzeugen
Erstellt mit den folgenden Befehlen die benötigte Packages Index-Datei und komprimiert sie. Eine unkomprimierte Datei muss auch enthalten sein.
apt-ftparchive packages . > Packages gzip -c Packages > Packages.gz
Release, InRelease, and Release.gpg Datei erstellen
Release Dateien erstellen.
apt-ftparchive release . > Release gpg --clearsign -o InRelease Release gpg -abs -o Release.gpg Release
Dreambox einrichten
Public Key imporieren
Auf der Dreambox muss der Öffentliche Schlüssel importiert werden mit dem folgenden Befehl. Server Ip-Adresse und Verzeichniss muss sicherlich angepasst werden.
wget -O - http://server_ip/mein_public.key | apt-key add -
Paketlisten anpassen
Nun müsst ihr auf der Dreambox im Verzeichnis /etc/apt/sources.list
drei Dateien erstellen für die verfügbaren Feeds (z.B. all, dm8000, mips32el). Die folgenden Befehlen zeigen den Inhalt der Dateien.
root@dm8000:~# cat /etc/apt/sources.list.d/all-feed.list deb http://server_ip/repository/dm8000/all ./ root@dm8000:~# cat /etc/apt/sources.list.d/dm8000-feed.list deb http://server_ip/repository/dm8000/dm8000 ./ root@dm8000:~# cat /etc/apt/sources.list.d/mips32el-feed.list deb http://server_ip/repository/dm8000/mips32el ./ root@dm8000:~#
Paketliste aktualisieren / Pakete installieren
Ist alles eingerichtet könnt ihr von der Dreambox die Paketlisten aktualisieren mit dem Befehl:
apt-get update
Anschliessend könnt ihr die verfügbaren Pakete vom Feed installieren, usw.