24.6. Synchronisation der Quellen

Sie können eine Internet-Verbindung (oder E-Mail) dazu nutzen, Teile von FreeBSD, wie die Quellen zu einzelnen Projekten, oder das Gesamtsystem, aktuell zu halten. Die primären Dienste dafür sind Subversion und CTM.

Warnung:

Obwohl es möglich ist, nur Teile des Quellbaums zu aktualisieren, ist die einzige unterstütze Migrationsprozedur, den kompletten Quellbaum zu aktualisieren und alles neu zu übersetzen. Dazu zählen alle Userland-Programme in /bin und /sbin, sowie die Kernelquellen. Wird hingegen nur ein Teil der Quellen, zum Beispiel nur der Kernel oder nur die Programme aus dem Userland aktualisiert, treten Probleme auf, die von Übersetzungsfehlern über Kernel-Panics bis hin zu Beschädigung von Daten reichen können.

Subversion benutzt die Pull-Methode [9], um die Quellen zu aktualisieren. Der Benutzer, oder ein cron-Skript, ruft das Programm svn auf, das die Quellen aktualisiert. Subversion ist die empfohlene Methode, um die lokalen Quellen zu aktualisieren. Mit beiden Methoden erhalten Sie aktuelle Updates zu einem genau von Ihnen bestimmten Zeitpunkt. Es ist einfach, die Prozedur auf bestimmte Dateien oder Verzeichnisse einschränken. Die Updates werden zur Laufzeit generiert.

CTM vergleicht die Quellen nicht mit denen auf einem Server. Stattdessen läuft auf dem Server ein Skript, das Änderungen an Dateien gegenüber seinem vorigen Lauf bemerkt, die Änderungen komprimiert, mit einer Sequenznummer versieht und für das Verschicken per E-Mail kodiert. Dabei werden nur druckbare ASCII-Zeichen verwendet. Wenn Sie diese CTM-Deltas erhalten haben, können Sie sie mit ctm_rmail(1) benutzen, welches die Deltas dekodiert, verifiziert und dann die Änderungen an den Quellen vornimmt. Dieses Verfahren ist viel effizienter als Subversion und erzeugt auch weniger Last auf den Servern, da es die Push-Methode [10] verwendet.

Es gibt noch weitere Unterschiede. Wenn ein Benutzer unabsichtlich Teile des Archivs löschen, wird das von Subversion erkannt und repariert. CTM leistet das nicht. Wenn ein Benutzer Teile des Quellbaums gelöscht hat und keine Sicherung besitzt, muss er von neuem, das heißt vom letzten Basis-Delta, starten und die Änderungen wieder mit CTM nachziehen.



[9] Von engl. to pull = ziehen. Der Client holt sich bei dieser Methode die Dateien ab.

[10] Von engl. to push = schieben. Der Server schickt dem Client die Dateien.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.

Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.