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, der auf den Benutzermaschinen läuft, und der Server cvsupd, der auf allen OpenBSD-CVSup-,mirrors' 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:
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.
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-,mirrors' 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.
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=cvsup.uk.openbsd.org
*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 cvsup.uk.openbsd.org 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
Es ist jetzt einfach, jegliches Repository zu aktualisieren:
# cd /usr
# cvs -d /cvs checkout src
Das oben genannte wird die aktuellsten Quellen herunterladen. Viele von euch wollen aber nur die Release-Quellen, insbesondere, wenn ihr euer Systeme patcht. Um die Release-Quellen zu aktualisieren, musst du dem Kommando ein ,tag' hinzufügen. Zum Beispiel:
# cd /usr
# cvs -d /cvs checkout -rOPENBSD_3_7 src
Oder OPENBSD_3_6 für 3.6 etc.
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. Inbesondere 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=cvsup.uk.openbsd.org
*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.
Die folgenden CVSup-Server stehen zur Verfügung:
Beheimatet in Brighton, UK.
gepflegt von Brian Somers.
Wird alle 2 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-all | - Alle OpenBSD-Repositorys |
Beheimatet in West Lafayette, Indiana, USA;
gepflegt von Will Andrews.
Wird alle 2 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-all | - Alle OpenBSD-Repositorys |
Beheimatet in Redwood City, Kalifornien, USA;
gepflegt von Todd Miller.
Wird alle 2 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-all | - Alle OpenBSD-Repositorys |
Beheimatet an der Universität von Colorado in Boulder, westliche USA;
gepflegt von Todd Miller.
Wird alle 2 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-all | - Alle OpenBSD-Repositorys |
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-all | - Alle OpenBSD-Repositorys |
Beheimatet an der ,University of Coimbra', Portugal;
verwaltet von João Pedras.
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-all | - Alle OpenBSD-Repositorys |
Beheimatet in Lake in the Hills, Illinois, USA;
verwaltet von Joshua Stein.
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-xenocara | - Das Xenocara-Repository | |
| OpenBSD-all | - Alle OpenBSD-Repositorys |
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 |
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-all | - Alle OpenBSD-Repositorys |
Beheimatet an der National Chiao-Tung University, Taiwan;
gepflegt von Ying-Chieh Liao.
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 |
Beheimatet in Sydney, Australien;
gepflegt von Grant Bayley.
Wird alle 6 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 |
Beheimatet in Deutschland
und gepflegt von Armin Wolfermann.
Wird alle 4 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 |
Auch bekannt als openbsd.informatik.uni-erlangen.de.
Beheimatet an der Universität von Erlangen, Deutschland;
gepflegt von Alexander von Gernler
und Christian Kollee.
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-xenocara | - Das Xenocara-Repository | |
| OpenBSD-all | - Alle OpenBSD-Repositorys |
Beheimatet in Plovdiv, Bulgarien,
gepflegt von Ventsislav Velkov.
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 |
Beheimatet in Riga, Litauen;
gepflegt von Peter Dunaskin.
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 |
Beheimatet an der Gdanks University of Technology, Polen;
gepflegt von Lukasz
Sztachanski.
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 |
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 | |
| OpenBSD-www | - Das www-Repository | |
| OpenBSD-x11 | - Das XFree86-3-Repository | |
| OpenBSD-xf4 | - Das XFree86-4-Repository | |
| OpenBSD-all | - Alle OpenBSD-Repositorys |
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-all | - Alle OpenBSD-Repositorys |
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 8. Dezember 2004) hatte das CVS-Repository etwa folgende Größen:
| OpenBSD-ports | - 222 MB | |
| OpenBSD-src | - 1396 MB | |
| OpenBSD-www | - 247 MB | |
| OpenBSD-x11 | - 200 MB | |
| OpenBSD-xf4 | - 562 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:
Die OpenBSD-Quelltexte kommen aus Kanada. Wie von einem Kanadier untersucht und wie in den Export-Kontrollisten von Kanada beschrieben, ist es legal, Krypto-Software aus Kanada in die ganze Welt zu exportieren.
Wenn du jedoch außerhalb der USA oder Kanada wohnst, solltest du die kryptographischen Teile der OpenBSD-Quellen nicht von CVSup-Servern aus den USA holen. Die fraglichen Dateien sind:
Aufgrund der ,USA ITAR munitions list' darf Krypto-Software aus den USA nur nach Kanada exportiert werden.
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.