Ein Softwarerepository für eigene Software für SUSE-Clients erstellen

Ziel ist die Verteilung von ein paar Softwarepaketen in einem lokalen Netz per HTTP.
Voraussetzung ist die Installation des Apache.(siehe auch Apache2)
Installiere Dir das Paket createrepo.
Debian:

apt-get install createrepo

SUSE:

zypper in createrepo

Erstelle ein Verzeichnis in /var/www/ oder /srv/www/htdocs (das ist versionsabhängig):

mkdir -p /var/www/meinrepo/rpm

Kopiere Deine RPM-Datei(en) in dies Verzeichnis:

cp meineDatei-1.i586.rpm /var/www/meinrepo/rpm/

Die RPM-Dateien müssen funktionieren und schon wie folgt installierbar sein:

rpm -Uvh meineDatei-1.i586.rpm

Wechsle in das Verzeichnis und erstelle verschiedene Repodateien:

cd /var/www/meinrepo
createrepo .

Es wurde ein Unterverzeichnis repodata erstellt. Wechsele in dieses Verzeichnis:

cd repodata

Erstelle, wenn noch nicht geschehen, einen persönlichen Schlüssel:

gpg --gen-key
   1
   2048    
   0
   y
   Vorname Nachname (wichtig, notieren, brauchen wir noch)
   email
   Kommentar
   o(oder f)
   Passphrase (wichtig, notieren, brauchen wir noch)
   Zufallsbits

Lasse Dir den erzeugten Schlüssel anzeigen:

gpg --list-keys

Signiere mit dem Schlüssel die Datei repomd.xml:

gpg -a --detach-sign repomd.xml
Passphrase:(siehe oben)

Exportiere den Schlüssel:

gpg -a --export "Vorname Nachname" >repomd.xml.key

Ändere die Rechte an dem Verzeichnis damit der Webserver die Dateien ausliefern kann:

chown -R wwwrun:www /var/www/meinrepo

Damit ist der Server fertig konfiguriert. Prüfe im Webbrowser ob das Verzeichnis jetzt sichtbar ist.

http://meinServer/meinrepo

Wenn das der Fall ist, kann das Repo von Suserechnern jetzt benutzt werden.
Füge das Repo jetzt per YAST oder zypper dem Rechner hinzu:

zypper ar http://meinServer/meinrepo meineSoftware

Installiere jetzt die Software:

zypper in meineDatei

FERTIG