[OpenBSD]

CVSup


Inhaltsverzeichnis


Was ist CVSup?

CVSup ist ein Softwarepaket, das dazu dient, Source-Trees von einem cvs(1)-Repository zu verteilen und auf dem aktuellen Stand zu halten, wobei sich dieses Repository auf einem entfernten Server befindet. Die OpenBSD-Quellen werden in einem CVS-Repository auf einer zentralen Entwicklungsmaschine in Kanada gehalten. Mit CVSup können OpenBSD-Benutzer ihre Quellen einfach auf dem neuesten Stand halten.

CVSup benutzt das sogenannte Pull-Modell zum Aktualisieren. Dabei fragt jeder Client den Server nach Updates: ob und wann sie gewünscht sind. Der Server wartet passiv auf die Update-Anfragen der Clients. Deswegen sind alle Updates vom Client aus initialisiert. Der Server sendet niemals unaufgeforderte Updates. Benutzer müssen entweder den CVSup-Client per Hand benutzen, um ein Update zu bekommen, oder sie können auch einen cron(8)-Job setzen, um das ganze automatisch und regelmäßig zu machen.

Der Begriff CVSup - genau so geschrieben - meint das gesamte Softwarepaket. Seine Hauptkomponenten sind der Client cvsup (oder die alternative Implementation csup), der auf den Benutzermaschinen läuft, und der Server cvsupd, der auf allen OpenBSD-CVSup-Mirror läuft.

CVSup soll sowohl schneller als auch flexibler als sup(1), der Vorgänger von CVSups, sein.

Das OpenBSD-Projekt hat momentan sechs Haupt-Quelltext-Repositorys:

Was ist CVS?

CVS ist das Quelltext-Kontrollsystem, das benutzt wird, um den OpenBSD-Source-Tree zu verwalten. Eine detailliertere Beschreibung gibt es hier. Bedenke bitte, dass CVS und CVSup vollkommen unterschiedliche Programme sind. Obwohl CVS für entfernten Dateizugriff benutzt werden kann, ist es nicht optimiert für die Verteilung des Source-Trees über das Netz, und CVSup ist leicht eine Größenordnung besser für diese Aufgabe geeignet.

Den Anfang mit CVSup finden

CVSup aus den Quellen zu erzeugen kann etwas fordernd sein, da es in Modula-3 geschrieben wurde. Der lang/ezm3-Port bietet eine kleinere Distribution des Modula-3-Kompilers und -Laufzeit-Systems für Leute, die Modula-3 nur brauchen, um damit CVSup zu erzeugen. Trotzdem solltest du - wenn es dir nur darum geht CVSup zu benutzen - einfach das CVSup-Package von einem der FTP-Mirror laden, statt dein eigenes aus dem net/cvsup-Port zu erzeugen. Momentan ist der OpenBSD-Port von Ezm3 - und daher auch CVSup - nur auf der i386-Plattform verfügbar.

Alternativ hierzu steht auch das in C geschrieben csup-Package zur Verfügung, das einen vollständig kompatiblen Client darstellt.

Weitere Informationen über CVSup gibt es auf der Projekthomepage des Autors.

Um das ganze OpenBSD-Repository mit CVSup zu spiegeln, kann die folgende Konfigurationsdatei benutzt werden:

        # Standards, die für alle Sammlungen passen
        *default release=cvs
        *default delete use-rel-suffix
        *default umask=002
        *default host=mirror.osn.de
        *default base=/cvs
        *default prefix=/cvs

        # Wenn dein Netzwerkanschluss T1 oder schneller ist, kommentiere die folgende Zeile aus
        *default compress

        OpenBSD-all
        #OpenBSD-src
        #OpenBSD-www
        #OpenBSD-ports
        #OpenBSD-x11
        #OpenBSD-xf4
        #OpenBSD-xenocara

Das bringt cvsup dazu, alle Openbsd-Distributionen von mirror.osn.de zu aktualisieren; und zwar mit einer umask(2), die ein Gruppenschreibrecht im lokalen CVS-Tree erlaubt.

Unter der Voraussetzung, dass diese Datei als cvs-supfile gespeichert wird, könnte das folgende Kommando benutzt werden, um das GUI von cvsup hervorzuzaubern:

        cvsup cvs-supfile

während für den Batch-Modus z. B. das folgende benutzt werde könnte:

        cvsup -g -L 2 cvs-supfile

CVS benutzen, um deinem Repository zu arbeiten

Mit dieser lokalen Kopie des CVS-Repositorys ist es nun einfach, ein Checkout, Update oder andere CVS-Operationen durchzuführen, die du sonst auf einem Repository eines anderen Systems durchführen würdest - jetzt aber lokal.

        cvs -d/cvs checkout src -P
        cvs -d/cvs up -Pd
        cvs -d/cvs diff -u file.c
Weitere Details zu den CVS-Operationen befinden sich in FAQ5, Den passenden Quelltext runterladen und in der Manualseite für cvs(1).

CVSup im Checkout-Modus benutzen

Alternativ zum Holen und Prüfen von Repositorys mittels CVS kannst du CVS im Checkout-Modus laufen lassen, und zwar mit Hilfe des tag- oder date-Schlüsselworts in deiner supfile, entweder als *default oder als eine Option. Insbesondere kannst du das benutzen, um effektiv deinen Source- und Ports-Tree von den CD-ROMs auf den aktuellen Stand zu bringen.

Mit der folgenden supfile könntest du deinen Ports-Tree auf den aktuellen Stand bringen:

        # Standards, die für alle Sammlungen passen
        *default host=mirror.osn.de
        *default base=/var
        *default prefix=/usr
        *default release=cvs
        *default delete use-rel-suffix compress

        # Ports-Kollektion.
        openbsd-ports tag=.

Jeder symbolische CVS-Tag kann benutzt werden. Ein einfacher Punkt (».«) bedeutet HEAD, d. h. die neueste Version aller Dateien im Hauptzweig. Achte darauf, einen gültigen Tag anzugeben, da CVSup nicht gültige von ungültigen Tags unterscheiden kann. Ein Versuch, einen existierenden gültigen Tree mit einem ungültigen Tag zu vergleichen, löscht alle vorhanden Dateien.

Alternativ dazu kannst du das Schlüsselwort date=[cc.]yy.mm.dd.hh.mm.ss benutzen, um ein bestimmtes Datum zu erhalten. Alle 17 oder 20 Zeichen müssen wie oben angegeben werden. Für die Jahre 2000 und später gib einfach das Jahrhundert an cc. Für frühere Jahre brauchst du nur die letzten zwei Jahre angeben yy. Du kannst auch tag und date kombinieren.

Zur Verfügung stehende CVSup-Server

Die folgenden CVSup-Server stehen zur Verfügung:

cvsup.no.openbsd.org

Beheimatet in Oslo, Norwegen; verwaltet von Anders Nordby.
Wird alle 3 Stunden aktualisiert.

Zur Verfügung stehende Sammlungen:

OpenBSD-src - Das src-Repository
OpenBSD-ports - Das ports-Repository
OpenBSD-www - Das www-Repository
OpenBSD-x11 - Das XFree86-3-Repository
OpenBSD-xf4 - Das XFree86-4-Repository
OpenBSD-xenocara - Das Xenocara-Repository
OpenBSD-all - Alle OpenBSD-Repositorys
skeleton.phys.spbu.ru

Beheimatet in der St. Petersburg State University, St. Petersburg, Russland; verwaltet von Dima Veselov.
Wird alle 2 Stunden aktualisiert.

Verfügbare Sammlungen:

OpenBSD-ports - Das ports-Repository
cvsup.jp.OpenBSD.org

Beheimatet in Otemachi, Tokyo, Japan; verwaltet vom CVSup Administrator.
Wird alle 3 Stunden aktualisiert.

Verfügbare Sammlungen:

OpenBSD-src - Das src-Repository
OpenBSD-ports - Das ports-Repository
OpenBSD-www - Das www-Repository
OpenBSD-x11 - Das XFree86-3-Repository
OpenBSD-xf4 - Das XFree86-4-Repository
OpenBSD-xenocara - Das Xenocara-Repository
OpenBSD-all - Alle OpenBSD-Repositorys
cvsup.tw.OpenBSD.org

Beheimatet an der National Chiao-Tung University, Taiwan; gepflegt von Yi-Jheng Lin.
Wird alle 2 Stunden aktualisiert.

Verfügbare Sammlungen:

OpenBSD-src - Das src-Repository
OpenBSD-ports - Das ports-Repository
OpenBSD-www - Das www-Repository
OpenBSD-x11 - Das XFree86-3-Repository
OpenBSD-xf4 - Das XFree86-4-Repository
OpenBSD-all - Alle OpenBSD-Repositorys
mirror.osn.de

Beheimatet in Deutschland und gepflegt von Armin Wolfermann.
Wird alle 3 Stunden aktualisiert.

Verfügbare Sammlungen:

OpenBSD-src - Das src-Repository
OpenBSD-ports - Das ports-Repository
OpenBSD-www - Das www-Repository
OpenBSD-x11 - Das XFree86-3-Repository
OpenBSD-xf4 - Das XFree86-4-Repository
OpenBSD-xenocara - Das Xenocara-Repository
OpenBSD-all - Alle OpenBSD-Repositorys
mirror.public-internet.co.uk

Beheimatet in London, UK; gepflegt von Tom Beard.
Wird alle 2 Stunden von cvsup2.de.openbsd.org aktualisiert.

Verfügbare Sammlungen:

OpenBSD-src - Das src-Repository
OpenBSD-ports - Das ports-Repository
cvsup.openbsd.nu

Beheimatet in Stockholm, Schweden; gepflegt von Kent Riboe.
Wird alle 3 Stunden von cvsync.de.openbsd.org aktualisiert.

Verfügbare Sammlungen:

OpenBSD-src - Das src-Repository
OpenBSD-ports - Das ports-Repository
OpenBSD-www - Das www-Repository
OpenBSD-x11 - Das XFree86-3-Repository
OpenBSD-xf4 - Das XFree86-4-Repository
OpenBSD-xenocara - Das Xenocara-Repository
OpenBSD-all - Alle OpenBSD-Repositorys
anoncvs.estpak.ee

Beheimatet in Tallinn, Estland; gepflegt von Rivo Nurges.
Wird alle 2 Stunden von cvsync.de.openbsd.org aktualisiert.

Verfügbare Sammlungen:

OpenBSD-src - The src repository
OpenBSD-ports - The ports repository
OpenBSD-www - The www repository
OpenBSD-x11 - The XFree86-3 repository
OpenBSD-xf4 - The XFree86-4 repository
OpenBSD-xenocara - The Xenocara repository
OpenBSD-all - All OpenBSD repositories

Hinweis: Wenn dein Server hier mit falschen oder unvollständigen Daten genannt wird, schreibe bitte eine E-Mail an www@openbsd.org.

Du kannst auch traceroute(8) benutzen, um den Server zu finden, der dir geographisch oder dem Weg nach am nächsten ist. Probleme mit einem Server sollten dem Maintainer (Verantwortlichen) des jeweiligen Servers gemeldet werden.

Zurzeit (am 21. August 2006) hatte das CVS-Repository etwa folgende Größen:

OpenBSD-ports - 310 MB
OpenBSD-src - 1500 MB
OpenBSD-www - 350 MB
OpenBSD-xenocara - 600MB
OpenBSD-x11 - 200 MB
OpenBSD-xf4 - 564 MB

Es gibt einen zusätzliche Belastung von 408 MB für die Verzeichnisse CVSROOT und sup. Die Gesamtgröße steigt momentan um etwa 400 MB pro Jahr.

Wichtiger Hinweis: Es gibt einige wenige Dinge bezüglich der Kryptographie, die jedem bewusst sein sollten:

Das OpenBSD-Projekt sucht weiterhin nach mehr CVSup-Servern - wenn du Interesse hast, einen solchen zu betreiben, schreibe bitte eine E-Mail an www@openbsd.org, um die Konfigurationsdetails zu besprechen.


OpenBSD www@openbsd.org
$OpenBSD: cvsup.html,v 1.101 2009/11/08 22:09:17 tobias Exp $