Einrichtung eines drpmsync-Servers

aus openSUSE, der freien Wissensdatenbank

In diesem Artikel wird die Einrichtung und Konfiguration eines drpmsync-Server für die Factory Distribution beschrieben.

Inhaltsverzeichnis

drpmsync installiern

Der drpmsync-Klient und der Server befinden sich im Paket deltarpm. Die momentant empfohlenen Quellen und Pakete finden Sie im Verzeichnis http://download.opensuse.org/tools/drpmsync/ .

drpmsync kompilieren

Muss noch geschrieben werden...

Holen der Factory-Distribution

Factory über drpmsync synchronisieren

Der drpmsync-Klient speichert normalerweise die delta-Dateien, welche er auf die aktualisierten RPM-Dateien anwendet, nicht ab. Sie müssen für den drpmsync-Server gespeichert werden, welcher sie dann direkt für seine Klienten benutzt. Eine Konfigurationsdatei könnte so aussehen

  source: drpmsync.opensuse.org:8888/Factory
  log: /tmp/drpmsync.log
  generate_deltas: true
  keep_deltas: true
  keep_uncombined: true
  always_get_rpm: false

und als /etc/drpmsync.conf gespeichert werden. Anwender die hohe Prozessor- und Ein-/Ausgabelast vermeiden wollen, sollten die Option generate_deltas deaktivieren. Das aktivieren der Option always_get_rpm führt zwar zu mehr Netzwerkverkehr, vermeidert aber eine hohe Prozessor- und Ein-/Ausgabelast durch das Erstellen der delta-rpms.

Werfen sie auch einen Blick auf die Handbuchseite (man page) von drpmsync für detailliertere Informationen zu den Einstellungsmöglichkeiten.

Das Herunterladen kann mit

  drpmsync -c /etc/drpmsync.conf /srv/Factory

begonnen werden um den Verzeichnisbaum unter /srv/Factory zu speichern.

Factory über rsync synchronisieren

Es ist auch möglich den Verzeichnisbaum über das klassische rsync-Protokoll zu übertragen, allerdings gibt es keinen guten Grund, das zu tun ;) Sie können die verfügbaren rsync-Quellen im Artikel Spiegelserver Infrastruktur erfahren.

drpmsync-Server konfigurieren und ausführen

Erstellen einer Serverkonfigurationsdatei

Eine Konfigurationsdatei kann als /etc/drpmsyncd.conf angelegt werden und könnte so aussehen:

  servername: myserver.mydomain.org:8888
  serverlog: /var/log/drpmsync/drpmsyncd.log
  serveruser: drpmsyncd
  allow: *
  tree: /Factory /srv/Factory

Diese Konfiguration startet einen öffentlichen Server, welcher den Inhalt des Verzeichnisses /srv/Factory verteilt. Der Server muss folgendermaßen gestartet werden:

  drpmsync -s /etc/drpmsyncd.conf

Werfen sie auch einen Blick auf die Handbuchseite (man page) von drpmsync für detailliertere Informationen zu den Einstellungsmöglichkeiten.

Sicherheitsaspekte

drpmsync ist unter Sicherheitsgesichtspunkten geschrieben worden. Nichtsdestotrotz ist es in Perl geschrieben worden und wurde bis jetzt noch keiner eingehenderen Sicherheitsüberprüfung unterzogen. Deshalb empfehlen wir, ihn unter einer dedizierten Benutzerkennung laufen zu lassen. Im obigen Beispiel läuft er unter der Benutzerkennung von "drpmsyncd". Sie können das öffnen neuer Netzwerkverbindungen verbieten (er muss lediglich von den Klienten erreicht werden). Sie können das über die Linux iptables Firewall erreichen, indem Sie folgende Regel hinzufügen:

  iptables -A OUTPUT -m owner --match state --state NEW --uid-owner drpmsyncd -d 0/0 -j DROP