DRPMSYNC(8)

BEZEICHNUNG
drpmsync - einen Dateibaum mit Delta-RPMs synchronisieren

ÜBERSICHT
drpmsync [-c Konfiguration] [Quelle] Verzeichnis
drpmsync [-s|-S] Serverkonfiguration
cgi-bin/drpmsync

BESCHREIBUNG
rpmsync gleicht einen lokalen mit einem entfernten Dateisystembaum ab. Es ist auf den Abgleich von RPM-Dateibäumen ausgelegt; die deltarpm zugrunde liegende Technik kann nur bei der Übertragung von RPM-Paketen Bandbreite sparen. Für normale Dateibäume verwenden Sie bitte das Programm rsync. drpmsync kann in zwei Modi ausgeführt werden: als Client verbindet es sich mit einem Server, empfängt eine Dateiliste und aktualisiert den Baum; als Server beantwortet es eingehende Anfragen und überträgt Dateien und RPM-Pakete.

CLIENT-MODUS
In diesem Modus aktualisiert drpmsync den Baum im angegebenen Verzeichnis. Es öffnet die Konfigurationsdatei Verzeichnis/drpmsync/config, um Informationen darüber zu erhalten, welche Server zu verwenden sind, sowie weitere Einstellungen. Mit der Option -c können Sie eine andere Konfigurationsdatei angeben. Die folgenden Einstellungen werden verstanden (die Voreinstellung für die booleschen Einstellungen ist »false«):

source: Server1 Server2 …

Dies ist eine Liste der Server, zu denen verbunden werden soll. drpmsync arbeitet diese Liste ab, bis ein funktionierender Server gefunden wird. Wenn eine Quelle in der Befehlszeile angegeben wird, dann wird diese anstelle der in der Konfiguration angegebenen Quelle verwendet. Die Syntax für Servereinträge lautet »Rechner[:Port]/Baum«.

log: Protokolldatei

gibt den Namen der Protokolldatei an. Falls der Name nicht mit einem Schrägstrich beginnt, wird Verzeichnis/drpmsync/ dem Namen vorangestellt.

generate_deltas: true|false

legt fest, ob drpmsync eine Differenzdatei erstellt, wenn es eine neue Version eines RPM-Pakets empfängt und der Server keine solche Differenzdatei bereitstellt. Dies ist nur dann nützlich, wenn der lokale Baum über den lokalen drpmsync-Server auch an andere Clients exportiert wird.

generate_delta_compression: Kompression

wird beim Erzeugen von Deltas an das Programm makedeltarpm weitergeleitet. Ein Beispiel wäre gzip,gzip.

keep_deltas: true|false

weist drpmsync an, empfangene oder neu erzeugte Differenzdateien in Verzeichnis/drpmsync/delta zu speichern. Dies ist automatisch »true«, wenn generate_deltas oder keep_uncombined auf »true« gesetzt ist.

keep_uncombined: true|false

weist drpmsync an, unverkettete Differenzdateien anstelle einer vorverketteten einzigen Differenzdatei beim Server anzufordern. Dies ergibt Sinn, wenn Sie den Baum re-exportieren und die Anzahl der Versionen, aus denen die Clients aktualisiert werden können, maximieren wollen.

always_get_rpm: true|false

legt fest, ob drpmsync anfordern soll, das vollständige RPM-Paket immer zusammen mit der Differenzdatei zu senden. Dies ergibt nur Sinn, wenn Sie über eine schnelle Netzwerkverbindung verfügen, so dass applydeltarpm mehr Zeit benötigt als für die Übertragung des vollständigen RPM-Pakets benötigt werden würde.

deltarpmpath: Pfad

legt das Verzeichnis fest, in dem drpmsync nach den deltarpm-Programmen sucht. Standardmäßig ist dies auf die Variable $PATH gesetzt.

SERVER-MODUS
drpmsync kann entweder als CGI-Skript oder als eigenständiger Server arbeiten. Der CGI-Skript-Modus wird automatisch ausgewählt, wenn die Umgebungsvariable REQUEST_METHOD gesetzt ist. In diesem Modus erwartet drpmsync, dass die Umgebungsvariable DRPMSYNC_CONFIG den Pfad zu einer Server-Konfigurationsdatei enthält. Für Apache können Sie diese mit der Anweisung SetEnv setzen. Der eigenständige Modus wird mit der Option -s oder -S ausgewählt. In diesem Modus muss die Serverkonfiguration als Argument beim Aufruf von drpmsync übergeben werden. Die Option -s weist drpmsync an, sich selbst in den Hintergrund zu verschieben und sich direkt zu beenden, während die Option -S den Server im Vordergrund hält. Die Serverkonfiguration kann die folgenden Einstellungen enthalten:

allow: Muster1 Muster2 …
deny: Muster1 Muster2 …

stellt die Zugriffskontrolle für den Server bereit. Das Muster kann entweder ein einfaches Glob-Muster sein (wobei nur * unterstützt wird) oder ein vollständiger regulärer Ausdruck, sofern dieser als /RA/ geschrieben ist. Der reguläre Ausdruck wird automatisch am Beginn und Ende verankert. Beispiele sind 10.10.* oder /10\.10\..*/. Falls entweder die numerische IP-Adresse oder der Domainname des Clients irgendeinem Eintrag in der Abweisungsliste entspricht, wird der Zugriff verweigert. Anderenfalls wird die Liste der erlaubten Clients nach einem passenden Eintrag durchsucht. Falls keiner gefunden wird, dann wird der Zugriff ebenfalls verweigert. Die Standardeinstellung für beide Listen ist leer, daher müssen Sie eine Liste der erlaubten Clients bereitstellen, um diesen Clients den Zugriff zu gewähren.

log: Protokolldatei

gibt den Pfad einer Protokolldatei an.

no_combine: true|false

weist mit dem Wert »true« den Server an, Differenzdateien nicht zu verketten. Dies erhöht die zu übertragende Datenmenge, aber reduziert die Prozessorlast auf dem Server.

tree: externer_Pfad interner_Pfad

exportiert den im internen_Pfad befindlichen Baum an die Clients als Verzeichnis externer_Pfad. Alle obigen Einstellungen werden als Einstellungen dieses bestimmten Baums gespeichert, so dass unterschiedliche Bäume unterschiedliche Einstellungen beinhalten können. Das bedeutet auch, dass sich die Konfigurationsanweisungen eines Baums oberhalb der tree-Anweisung befinden müssen.

Die folgenden Einstellungen sind global und nur für den eigenständigen Modus erforderlich:

serverlog: Protokolldatei

gibt den Pfad einer Protokolldatei an, die für die Protokollierung von Serverereignissen verwendet werden soll.

servername: Rechnername[:Port]

gibt den Namen des Servers an. Falls Rechnername leer ist, wird stattdessen der vollständig ausgeschriebene Domainname verwendet. Die Vorgabe für die Portnummer ist 80.

serveraddr: Adresse

gibt die Serveradresse an, die zum Binden des Server-Sockets verwendet werden soll. Falls nicht angegeben, können Verbindungen aus jeder Schnittstelle kommen.

serveruser: Benutzer
servergroup: Gruppe

konfiguriert Benutzer und Gruppe, zu denen der Server wechseln soll, sobald der Socket an den gewünschten Port gebunden wurde. Beispiele sind nobody oder wwwrun.

maxclients: Anzahl

begrenzt die maximale Anzahl gleichzeitiger Verbindungen auf die angegebene Anzahl. Der Standardwert ist 10 Verbindungen.

deltarpmpath: Pfad

legt das Verzeichnis fest, in dem drpmsync nach den deltarpm-Programmen sucht. Standardmäßig ist dies auf die Variable $PATH gesetzt.

DATEIEN
Verzeichnis/drpmsync/deltas
    Verzeichnis zum Speichern der Deltas
Verzeichnis/drpmsync/lock
    Sperrdatei zum Serialisieren von syncrpm-Aufrufen
Verzeichnis/drpmsync/wip
    Temporärer Speicherort für die übertragenen Objekte
Verzeichnis/drpmsync/cache
    md5sum-Zwischenspeicher, der die Berechnung des Baumstatus beschleunigt
Verzeichnis/drpmsync/timstamp
    enthält den Zeitpunkt des letzten abgeschlossenen Abgleichs und den Zeitpunkt, zu dem zuletzt der Status des fernen Dateibaums abgefragt wurde.

SIEHE AUCH
makedeltarpm(8), combinedeltarpm(8), applydeltarpm(8),

AUTOR
Michael Schroeder <mls@suse.de>

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.