Repository erstellen:
- Zunächst erstellst du ein Verzeichnis, aus dem das Repository erstellt werden soll.
Code: Alles auswählen
mkdir -p /srv/repository/MyRepo - Darunter erstellst du die Verzeichnisse für die Architektur der rpm-Pakete und kopierst die rpms, welche in das Repository augenommen werden sollen, in das entsprechende Unterverzeichnis.
Code: Alles auswählen
mkdir -p /srv/repository/MyRepo/noarch mkdir -p /srv/repository/MyRepo/i586 mkdir -p /srv/repository/MyRepo/x86_64 - Jetzt bauen wir zunächst das Repository an sich, ohne Signierung. (Bei SLES10 befindet sich das "createrepo"-Paket auf der SDK-DVD1.)
Code: Alles auswählen
createrepo /srv/repository/MyRepo - Es sollte nun das Unterverzeichnis "repodata" angelegt worden. Wechsel in das Verzeichnis.
Code: Alles auswählen
cd /srv/repository/MyRepo/repodata" - Jetzt erzeugst du einen Schlüssel für das Repository:
Folgende Eingaben sind notwendig:
Code: Alles auswählen
gpg -q --gen-key- Kind of key: "1"
- Keysize: "1024"
- Key expiration: "0"
- Is this correct?: "y"
- Real name: "Vorname Nachname" (natürlich frei wählbar)
- Email address: "vorname.nachname@example.org" (natürlich frei wählbar)
- Comment: "MyRepo Repository" (natürlich frei wählbar)
- Change: "O"
- Password
- Reenter Password
- Für den Schlüssel müssen genügend Zufallszahlen erzeugt werden können. Deswegen bewege unbedingt die Maus über den Bildschirm, oder starte eine Anwendung. Die Verwendung von PuTTY ist hier nicht zu empfehlen, da die Mausbewegungen natürlich nicht an den Ziel-PC übertragen werden. Sollte also die Schlüsselerstellung an dieser Stelle mit der Fehlermeldung ("We need to generate a lot of random bytes.") abbrechen, so verbinde dich via VNC oder direkt auf den Schlüssel-Ersteller-PC.
- Jetzt erstellst du eine sog. "detached signature".
Code: Alles auswählen
gpg -a --detach-sign repomd.xml - Lasse dir den eingangs erzeugten Schlüssel anzeigen. Der eingerahmte Wert entspricht dem öffentlichen Schlüssel, welcher im nächsten Schritt benötigt wird.
Code: Alles auswählen
gpg --list-key - Exportiere den öffentlichen Schlüssel in die Datei "repomd.xml.key". Den Export-Wert "1D05B163 musst du natürlich an deinen öffentlichen Schlüssel anpassen.
Code: Alles auswählen
gpg -a --export 1D05B163 > repomd.xml.key - Du kannst den Repository-Ordner jetzt z.B. auf einen FTP-Server kopieren und über YaST einbinden. Beim Einbinden sollten dir folgende Meldungen angezeigt werden. Erscheinen darin deine Schlüsselinformationen (Name/E-Mail/Kommentar), dann hast du alles richtig gemacht.