diff --git a/documentation/content/de/books/handbook/mirrors/_index.adoc b/documentation/content/de/books/handbook/mirrors/_index.adoc index ceb2f70959..ac1ca481f3 100644 --- a/documentation/content/de/books/handbook/mirrors/_index.adoc +++ b/documentation/content/de/books/handbook/mirrors/_index.adoc @@ -1,598 +1,597 @@ --- title: Anhang A. Bezugsquellen für FreeBSD part: Teil V. Anhang prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = Bezugsquellen für FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :table-caption: Tabelle :figure-caption: Abbildung :example-caption: Beispiel :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/de/mailing-lists.adoc[] include::shared/de/teams.adoc[] include::shared/de/urls.adoc[] [[mirrors-cdrom]] == CD and DVD Sets Die FreeBSD-CDs und -DVDs werden von verschiedenen Online-Händlern angeboten: * FreeBSD Mall, Inc. + 2420 Sand Creek Rd C-1 #347 + Brentwood, CA + 94513 + USA + Phone: +1 925 240-6652 + Fax: +1 925 674-0821 + Email: + WWW: https://www.freebsdmall.com * Getlinux + 78 Rue de la Croix Rochopt + Épinay-sous-Sénart + 91860 + France + Email: + WWW: http://www.getlinux.fr/ * Dr. Hinner EDV + Kochelseestr. 11 + D-81371 München + Germany + Phone: (0177) 428 419 0 + Email: + WWW: http://www.hinner.de/linux/freebsd.html * Linux Center + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Phone: +7-812-309-06-86 + Email: + WWW: http://linuxcenter.ru/shop/freebsd [[mirrors-ftp]] == FTP-Server Die offiziellen Quellen von FreeBSD sind mit anonymous FTP über ein weltweites Netz von Spiegeln erhältlich. Die Seite link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ ftp://ftp.FreeBSD.org/pub/FreeBSD/] ist über HTTP und FTP erreichbar. Sie besteht aus mehreren Servern, die von den Cluster-Administratoren des Projekts über GeoDNS betrieben wird, um Benutzer auf den nächsten verfügbaren Spiegel umzuleiten. Sie können FreeBSD auch über anonymous FTP von den folgenden Spiegeln beziehen. Wenn Sie FreeBSD über anonymous FTP beziehen wollen, wählen Sie bitte einen Spiegel in Ihrer Nähe. Die unter "Haupt-Spiegel" aufgeführten Spiegel stellen normalerweise das komplette FreeBSD-Archiv (alle momentan erhältlichen Versionen für jede unterstützte Architektur) zur Verfügung. Wahrscheinlich geht es aber schneller, wenn Sie einen Spiegel in Ihrer Nähe benutzen. Die Länder-Spiegel stellen die neusten Versionen für die beliebtesten Architekturen bereit, sie stellen aber unter Umständen nicht das komplette FreeBSD-Archiv bereit. Auf alle Server kann mit anonymous FTP zugegriffen werden, einige Server bieten auch andere Zugriffsmethoden an. Die zur Verfügung stehenden Zugriffsmethoden sind bei jedem Server in Klammern angegeben. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (aktualisiert am: UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-primary-email}>` dieser Domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-armenia-email}>` dieser Domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-australia-email}>` dieser Domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-austria-email}>` dieser Domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-brazil-email}>` dieser Domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-czech-email}>` dieser Domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-denmark-email}>` dieser Domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-estonia-email}>` dieser Domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-finland-email}>` dieser Domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-france-email}>` dieser Domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-germany-email}>` dieser Domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-greece-email}>` dieser Domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-ireland-email}>` dieser Domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-japan-email}>` dieser Domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-korea-email}>` dieser Domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-latvia-email}>` dieser Domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-lithuania-email}>` dieser Domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-netherlands-email}>` dieser Domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-norway-email}>` dieser Domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-poland-email}>` dieser Domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-russia-email}>` dieser Domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-saudi-arabia-email}>` dieser Domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-slovenia-email}>` dieser Domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-south-africa-email}>` dieser Domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-spain-email}>` dieser Domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-sweden-email}>` dieser Domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-switzerland-email}>` dieser Domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-taiwan-email}>` dieser Domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-uk-email}>` dieser Domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* Bei Problemen wenden Sie sich bitte an den Betreuer `<{mirrors-us-email}>` dieser Domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[svn]] == Benutzen von Subversion [[svn-intro]] === Einführung Seit Juli 2012 nutzt FreeBSD ausschließlich Subversion als Versionskontrollsystem zur Speicherung des gesamten FreeBSD Quellcodes, der Dokumentation und der Ports-Sammlung. [NOTE] ==== Subversion ist hauptsächlich ein Werkzeug für Entwickler. Die meisten Benutzer bevorzugen `freebsd-update` (crossref:cutting-edge[updating-upgrading-freebsdupdate,FreeBSD-Update]) um das FreeBSD Basissystem zu aktualisieren, und `portsnap` (crossref:ports[ports-using,Benutzen der Ports-Sammlung]) um die FreeBSD Ports-Sammlung aktuell zu halten. ==== Dieser Abschnitt zeigt, wie Subversion unter FreeBSD installiert wird und wie Sie damit eine lokale Kopie des FreeBSD Repositories erstellen. Weitere Informationen über die Benutzung von Subversion sind ebenfalls enthalten. [[svn-ssl-certificates]] === SSL Root-Zertifikate Die Installation von package:security/ca_root_nss[] erlaubt es Subversion die Identität des HTTPS-Repository-Servers zu überprüfen. Die SSL Root-Zertifikate können aus der Ports-Sammlung installiert werden: [source,shell] .... # cd /usr/ports/security/ca_root_nss # make install clean .... Alternativ kann das Paket installiert werden: [source,shell] .... # pkg install ca_root_nss .... [[svn-svnlite]] === Svnlite Mit `svnlite` enthält FreeBSD bereits eine vereinfachte Version von Subversion. Der Port oder das Paket ist nur erforderlich, wenn die Python oder Perl API benötigt wird, oder eine neuere Version von Subversion gewünscht ist. Der einzige Unterschied zum normalen Subversion ist, dass der Name des Kommandos `svnlite` lautet. [[svn-install]] === Installation Falls `svnlite` nicht verfügbar ist, oder die komplette Version von Subversion benötigt wird, muss das Programm installiert werden. Subversion kann aus der Ports-Sammlung installiert werden: [source,shell] .... # cd /usr/ports/devel/subversion # make install clean .... Subversion kann auch als Paket installiert werden: [source,shell] .... # pkg install subversion .... [[svn-usage]] === Subversion benutzen Der `svn` Befehl wird verwendet, um eine Kopie der Quellen in ein lokales Verzeichnis zu holen. Die Dateien in diesem Verzeichnis werden _lokale Arbeitskopie_ genannt. [WARNING] ==== Verschieben oder löschen Sie das Zielverzeichnis bevor Sie `checkout` benutzen. In ein bestehendes nicht-`svn` Verzeichnis auszuchecken kann zu Konflikten zwischen den vorhandenen Dateien und denen aus dem Respository führen. ==== In Subversion werden URLs in der Form von _protocol://hostname/path_ verwendet, um ein Repository zu kennzeichnen. Die erste Komponente des Pfades ist das FreeBSD Repository auf welches zugegriffen wird. Es gibt drei verschiedene Repositories. `base` für den Quellcode des FreeBSD Basissystems, `ports` für die Ports-Sammlung und `doc` für die Dokumentation. Als Beispiel spezifiziert die URL `svn://svn.FreeBSD.org/ports/head/` den Hauptzweig des Port-Repositories auf dem Mirror `svn.FreeBSD.org`, über das `svn`-Protokoll. Das Auschecken aus einem bestimmten Repository kann wie folgt durchgeführt werden: [source,shell] .... # svn checkout https://svn.FreeBSD.org/repository/branch lcwdir .... wobei: * _repository_ eines der Projekt-Repositories ist: `base`, `ports` oder `doc`. * _branch_ vom verwendeten Repository abhängt. `ports` und `doc` werden meist im `head` Zweig aktualisiert, während `base` die neueste Version von -CURRENT unter `head` und die jeweilige neueste Version des -STABLE Zweiges unter `stable/9` (9._x_) und `stable/10` (10._x_) verwaltet wird. * _lcwdir_ das Zielverzeichnis ist, in dem die Inhalte des angegebenen Zweiges platziert werden sollen. Dies ist üblicherweise [.filename]#/usr/ports# für `ports`, [.filename]#/usr/src# für `base`, und [.filename]#/usr/doc# für `doc`. Dieses Beispiel checkt die Ports-Sammlung aus dem Repositroy über das HTTPS-Protokoll aus, und speichert die Arbeitskopie unter [.filename]#/usr/ports#. Wenn [.filename]#/usr/ports# bereits vorhanden ist, aber nicht von `svn` erstellt wurde, denken Sie vor dem Auschecken daran, das Verzeichnis umzubenennen oder zu löschen. [source,shell] .... # svn checkout https://svn.FreeBSD.org/ports/head /usr/ports .... Dies kann eine Weile dauern, da beim ersten Auschecken der komplette Zweig vom entfernten Repository heruntergeladen werden muss. Bitte haben Sie Geduld. Nach dem ersten Auschecken können Sie Ihre lokale Arbeitskopie wie folgt aktualisieren: [source,shell] .... # svn update lcwdir .... Um [.filename]#/usr/ports# aus dem oben erstellten Beispiel zu aktualisieren, benutzen Sie: [source,shell] .... # svn update /usr/ports .... Das Update ist viel schneller als ein Auschecken, da nur die Dateien übertragen werden müssen, die sich auch geändert haben. Eine alternative Möglichkeit zur Aktualisierung Ihrer Arbeitskopie nach dem Auschecken ist es, das bestehende [.filename]#Makefile# in den Verzeichnissen [.filename]#/usr/ports#, [.filename]#/usr/src#, und [.filename]#/usr/doc# zu nutzen. Setzen Sie dazu `SVN_UPDATE` und benutzen Sie das `update` Ziel. Zum Beispiel, um [.filename]#/usr/src# zu aktualisieren: [source,shell] .... # cd /usr/src # make update SVN_UPDATE=yes .... [[svn-mirrors]] === Subversion Mirror Sites Das FreeBSD Subversion Repository ist: [.programlisting] .... svn.FreeBSD.org .... Dies ist ein öffentlich zugängliches Netzwerk aus Spiegeln, das GeoDNS verwendet, um einen entsprechenden Backend-Server auszuwählen. Um das FreeBSD Subversion Repository über einen Browser anzuzeigen, verwenden Sie https://svnweb.FreeBSD.org/[ http://svnweb.FreeBSD.org/]. HTTPS ist das bevorzugte Protokoll, jedoch muss das Paket package:security/ca_root_nss[] installiert werden, um Zertifikate automatisch zu validieren. === Weiterführende Informationen Weitere Informationen über die Verwendung von Subversion finden Sie im "Subversion Buch" mit dem Namen http://svnbook.red-bean.com/[Versionskontrolle mit Subversion], oder in der http://subversion.apache.org/docs/[Subversion Dokumentation]. [[mirrors-rsync]] == Benutzen von rsync Die folgenden Server stellen FreeBSD über das rsync-Protokoll zur Verfügung. Das Programm rsync überträgt lediglich geänderte Dateien und ist sehr nützlich, wenn Sie einen FreeBSD FTP-Spiegel betreiben. rsync ist für viele Betriebssysteme verfügbar. Für FreeBSD sehen Sie sich den Port oder das Paket package:net/rsync[] an. Großbritannien:: rsync://rsync.mirrorservice.org/ + Verfügbare Sammlungen: ** ftp.freebsd.org: Kompletter Spiegel des FreeBSD FTP-Servers. Niederlande:: rsync://ftp.nl.FreeBSD.org/ + Verfügbare Sammlungen: ** FreeBSD: Kompletter Spiegel des FreeBSD FTP-Servers. Russland:: rsync://ftp.mtu.ru/ + Verfügbare Sammlungen: ** FreeBSD: Kompletter Spiegel des FreeBSD FTP-Servers. ** FreeBSD-Archive: Ein Spiegel des FreeBSD Archive-FTP-Servers. Schweden:: rsync://ftp4.se.freebsd.org/ + Verfügbare Sammlungen: ** FreeBSD: Kompletter Spiegel des FreeBSD FTP-Servers. Taiwan:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Verfügbare Sammlungen: ** FreeBSD: Kompletter Spiegel des FreeBSD FTP-Servers. Tschechische Republik:: rsync://ftp.cz.FreeBSD.org/ + Verfügbare Sammlungen: ** ftp: Unvollständiger Spiegel des FreeBSD FTP-Servers. ** FreeBSD: Vollständiger Spiegel des FreeBSD FTP-Servers. USA:: rsync://ftp-master.FreeBSD.org/ + Dieser Server darf nur von primären Spiegeln benutzt werden. + Verfügbare Sammlungen: ** FreeBSD: Das Hauptarchiv des FreeBSD FTP-Servers. ** acl: Die primäre ACL-Liste. + rsync://ftp13.FreeBSD.org/ + Verfügbare Sammlungen: + ** FreeBSD: Kompletter Spiegel des FreeBSD FTP-Servers. diff --git a/documentation/content/el/books/handbook/mirrors/_index.adoc b/documentation/content/el/books/handbook/mirrors/_index.adoc index d1b29471fe..707cd043e9 100644 --- a/documentation/content/el/books/handbook/mirrors/_index.adoc +++ b/documentation/content/el/books/handbook/mirrors/_index.adoc @@ -1,1648 +1,1647 @@ --- title: Παράρτημα A. Που θα Βρείτε το FreeBSD part: Μέρος V. Παραρτήματα prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = Που θα Βρείτε το FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Πίνακας Περιεχομένων :table-caption: Πίνακας :figure-caption: Σχήμα :example-caption: Παράδειγμα :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/el/mailing-lists.adoc[] include::shared/el/teams.adoc[] include::shared/el/urls.adoc[] [[mirrors-cdrom]] == Εκδόσεις σε CDROM και DVD === Retail Εκδόσεις Το FreeBSD είναι διαθέσιμο ως εμπορικό προϊόν (FreeBSD CD, επιπρόσθετο λογισμικό, και τυπωμένη τεκμηρίωση) από διάφορους προμηθευτές: * Frys Electronics + WWW: http://www.frys.com/ === CD και DVD διανομές Το FreeBSD είναι διαθέσιμο σε CD και DVD για αγορά μέσω διαδικτύου από τους παρακάτω προμηθευτές: * FreeBSD Mall, Inc. + 700 Harvest Park Ste F + Brentwood, CA 94513 + USA + Τηλέφωνο: +1 925 674-0783 + Fax: +1 925 674-0821 + Email: + WWW: http://www.freebsdmall.com/ * Dr. Hinner EDV + St. Augustinus-Str. 10 + D-81825 M"unchen + Germany + Τηλέφωνο: (089) 428 419 + WWW: http://www.hinner.de/linux/freebsd.html * JMC Software + Ireland + Τηλέφωνο: 353 1 6291282 + WWW: http://www.thelinuxmall.com * Linux Distro UK + 42 Wharfedale Road + Margate + CT9 2TB + United Kingdom + WWW: https://linux-distro.co.uk/ * The Linux Emporium + Hilliard House, Lester Way + Wallingford + OX10 9TA + United Kingdom + Τηλέφωνο: +44 1491 837010 + Fax: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/bsd/ * Linux+ DVD Magazine + Lewartowskiego 6 + Warsaw + 00-190 + Poland + Τηλέφωνο: +48 22 860 18 18 + Email: + WWW: http://www.lpmagazine.org/ * Linux System Labs Australia + 21 Ray Drive + Balwyn North + VIC - 3104 + Australia + Τηλέφωνο: +61 3 9857 5918 + Fax: +61 3 9857 8974 + WWW: http://www.lsl.com.au * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Τηλέφωνο: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/shop/freebsd === Διανομείς Αν είστε μεταπωλητής και μπορείτε να διανείμετε σε CD-ROM προϊόντα βασισμένα στο FreeBSD, παρακαλούμε επικοινωνήστε με κάποιον από τους διανομείς: * Ingram Micro + 1600 E. St. Andrew Place + Santa Ana, CA 92705-4926 + USA + Τηλέφωνο: 1 (800) 456-8000 + WWW: http://www.ingrammicro.com/ * Kudzu, LLC + 7375 Washington Ave. S. + Edina, MN 55439 + USA + Τηλέφωνο: +1 952 947-0822 + Fax: +1 952 947-0876 + Email: * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Τηλέφωνο: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/freebsd [[mirrors-ftp]] == Εξυπηρετητές FTP Οι επίσημες εκδόσεις του FreeBSD είναι διαθέσιμες μέσω ανώνυμης FTP σύνδεσης από διάφορους εξυπηρετητές FTP σε όλο τον κόσμο. Ο κεντρικός εξυπηρετητής link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] έχει πολύ καλή σύνδεση με τον υπόλοιπο κόσμο, και επιτρέπει ένα μεγάλο αριθμό ταυτόχρονων συνδέσεων. Ακόμα κι έτσι όμως, είναι μάλλον καλή ιδέα να βρείτε κάποιο εξυπηρετητή FTP που είναι πιο "κοντά" σας (ειδικά αν θέλετε να στήσετε κάποιο τοπικό mirror site). Το FreeBSD είναι επίσης διαθέσιμο μέσω σύνδεσης ανώνυμου FTP από τα παρακάτω mirror sites. Αν επιλέξετε να κατεβάσετε το FreeBSD μέσω ανώνυμου FTP, σας παρακαλούμε να διαλέξετε κάποιο εξυπηρετητή ο οποίος είναι κοντά σας. Τα mirror sites που αναφέρονται ως "Κύρια Mirror Sites" έχουν συνήθως την πλήρη συλλογή αρχείων του FreeBSD (όλες τις διαθέσιμες εκδόσεις, για κάθε διαθέσιμη αρχιτεκτονική συστήματος), αλλά είναι πιθανόν να πετύχετε καλύτερες ταχύτητες εξυπηρέτησης με κάποιο εξυπηρετητή που είναι στη δική σας χώρα ή περιοχή. Τα τοπικά sites έχουν συνήθως τις πιο πρόσφατες εκδόσεις για τις πιο δημοφιλείς αρχιτεκτονικές συστήματος, οπότε μπορεί να μην έχουν όλες τις πιθανές εκδόσεις του FreeBSD. Όλα τα sites δέχονται συνδέσεις μέσω ανώνυμου FTP. Μερικά από αυτά μπορεί να υποστηρίζουν και άλλης μορφής συνδέσεις. Οι εναλλακτικές μορφές σύνδεσης αναφέρονται ξεχωριστά για κάθε site παρακάτω: <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[mirrors-bittorrent]] == BitTorrent Μπορείτε να ανακτήσετε τα βασικά αρχεία ISO των εκδόσεων του FreeBSD, μέσω του συστήματος BitTorrent. Στην τοποθεσία http://torrents.freebsd.org:8080/[http://torrents.freebsd.org:8080] υπάρχει μια πλήρης συλλογή από αρχεία torrent που μπορείτε να κατεβάσετε. Για να χρησιμοποιήσετε τα αρχεία torrent, θα χρειαστείτε κατάλληλο λογισμικό-πελάτη, όπως αυτό που παρέχεται από το port ή πακέτο package:net-p2p/py-bittorrent[]. Αφού κατεβάσετε το αρχείο ISO με το BitTorrent, μπορείτε να το γράψετε σε CD ή DVD, όπως περιγράφεται στο crossref:disks[burncd,burncd] (burncd). [[anoncvs]] == Ανώνυμο CVS [[anoncvs-intro]] === Εισαγωγή Η σύνδεση ανώνυμου CVS (ή _anoncvs_ όπως λέγεται μερικές φορές) υποστηρίζεται από τα εργαλεία CVS που διανέμονται με το ίδιο το FreeBSD για συγχρονισμό τοπικών αρχείων με ένα απομακρυσμένο repository. Ένα από τα χαρακτηριστικά του CVS είναι ότι επιτρέπει στους χρήστες του FreeBSD να συγχρονίζουν, χωρίς ιδιαίτερα δικαιώματα χρήστη, τα τοπικά αντίγραφα πηγαίου κώδικα που έχουν με τους κεντρικούς, επίσημους εξυπηρετητές CVS του FreeBSD project. Για να χρησιμοποιήσει κανείς το CVS αρκεί: (α) να ορίσει την τιμή της μεταβλητής περιβάλλοντος `CVSROOT` έτσι ώστε να δείχνει προς έναν από τους επίσημους εξυπηρετητές, και (β) να δώσει τον κωδικό "anoncvs" στην προτροπή της εντολής `cvs login`. Τότε μπορεί να χρησιμοποιήσει το εργαλείο man:cvs[1] για να προσπελάσει το απομακρυσμένο CVS repository του FreeBSD σαν ένα οποιοδήποτε τοπικό repository. [NOTE] ==== Η εντολή `cvs login` αποθηκεύει τους κωδικούς που χρησιμοποιούνται για πιστοποίησης της ταυτότητάς σας στον εξυπηρετητή CVS σε ένα αρχείο με όνομα [.filename]#.cvspass# στον `HOME` κατάλογο του τοπικού σας λογαριασμού. Αν αυτό το αρχείο δεν υπάρχει ήδη, μπορεί να αποτύχει η εντολή `cvs login` την πρώτη φορά. Μπορείτε απλά να δημιουργήσετε ένα άδειο αρχείο [.filename]#.cvspass# και να ξανατρέξετε την εντολή `cvs login`. ==== Μπορεί να πει κανείς ότι το <> και το _anoncvs_ είναι ουσιαστικά παρόμοιοι τρόποι συγχρονισμού αρχείων και υποστηρίζουν την ίδια λειτουργικότητα, αλλά υπάρχουν κάποιες διαφορές οι οποίες μπορεί να παίξουν σημαντικό ρόλο στην επιλογή μεταξύ αυτών των δύο μεθόδων. Γενικά, το CVSup κάνει πολύ πιο αποδοτική χρήση της σύνδεσης που έχετε και χρησιμοποιεί ένα πολύ πιο έξυπνο πρωτόκολλο επικοινωνίας, αλλά υπάρχει και το αντίστοιχο τίμημα. Για να χρησιμοποιήσετε το CVSup πρέπει να εγκαταστήσετε και να ρυθμίσετε ένα ειδικό πρόγραμμα πελάτη, και τότε μπορείτε να συγχρονίσετε μόνο μεγάλες συλλογές αρχείων - τις οποίες το CVSup αποκαλεί "συλλογές" (collections). Το anoncvs, από την άλλη, μπορεί να χρησιμοποιηθεί για να εξετάσει κανείς τις αλλαγές ενός και μόνο αρχείου ή ενός μόνο προγράμματος και των συνοδευτικών του αρχείων (π.χ. τον πηγαίο κώδικα της εντολής `ls` ή της `grep`), με χρήση του ονόματος του κατάλληλου module. Το anoncvs είναι πιο βολικό για εργασίες που απαιτούν βέβαια μόνο ανάγνωση. Οπότε, αν θέλετε να υποστηρίξετε την ανάπτυξη προγραμμάτων τοπικά, το CVSup είναι μάλλον μονόδρομος. [[anoncvs-usage]] === Χρησιμοποιώντας Ανώνυμο CVS Η ρύθμιση του man:cvs[1] ώστε να χρησιμοποιεί ένα ανώνυμο CVS repository γίνεται απλώς ρυθμίζοντας την μεταβλητή περιβάλλοντος `CVSROOT` ώστε να δείχνει σε έναν από τους _anoncvs_ εξυπηρετητές του FreeBSD project. Την ώρα που γράφονται αυτές οι γραμμές, είναι διαθέσιμοι οι ακόλουθοι εξυπηρετητές: * _Γαλλία_: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (Για pserver χρησιμοποιήστε την εντολή `cvs login` και δώστε τον κωδικό "anoncvs" όταν σας ζητηθεί. Το ssh δεν απαιτεί τη χρήση κωδικού.) * _Ταΐβάν_: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (Για pserver χρησιμοποιήστε την εντολή `cvs login` και δώστε οτιδήποτε για κωδικό όταν σας ζητηθεί, Το ssh δεν απαιτεί τη χρήση κωδικού.) + [.programlisting] .... SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub .... Καθώς το CVS σας επιτρέπει να κάνετε "check out" ουσιαστικά οποιαδήποτε έκδοση του πηγαίου κώδικα του FreeBSD υπήρξε ποτέ (και σε ορισμένες περιπτώσεις ακόμα και εκδόσεις που δεν έχουν κυκλοφορήσει ακόμα), θα πρέπει να είστε εξοικειωμένος με την επιλογή του man:cvs[1] με την οποία επιλέγεται το revision (πρόκειται για την `-r`) και ποιες είναι οι επιτρεπτές τιμές της για το repository του FreeBSD project. Υπάρχουν δύο είδη tags (ετικετών), τα revision tags (ετικέτες έκδοσης) και τα branch tags. Ένα revision tag αναφέρεται σε μια συγκεκριμένη έκδοση. Η έννοια του παραμένει σταθερή μέρα με τη μέρα. Από την άλλη, ένα branch tag δείχνει την τελευταία έκδοση μιας συγκεκριμένης πορείας ανάπτυξης, σε κάθε χρονική στιγμή. Καθώς το branch tag δεν αναφέρεται σε κάποια συγκεκριμένη έκδοση, μπορεί αύριο να σημαίνει κάτι διαφορετικό από ότι σημαίνει σήμερα. Το <> περιέχει revision tags τα οποία μπορεί να ενδιαφέρουν τους χρήστες. Υπενθυμίζουμε ότι κανένα από αυτά δεν είναι έγκυρο για την Συλλογή των Ports, καθώς αυτή δεν έχει πολλαπλές εκδόσεις (revisions). Όταν καθορίζετε κάποιο branch tag, φυσιολογικά λαμβάνετε τις τελευταίες εκδόσεις των αρχείων που υπάρχουν σε αυτή τη γραμμή ανάπτυξης. Αν θέλετε να λάβετε κάποια παλιότερη έκδοση, μπορείτε χρησιμοποιώντας την ημερομηνία σε συνδυασμό με την επιλογή `-D date`. Δείτε τη σελίδα manual του man:cvs[1] για περισσότερες λεπτομέρειες. === Παραδείγματα Αν και πραγματικά συνίσταται να διαβάσετε προσεκτικά τη σελίδα manual του man:cvs[1] πριν κάνετε οτιδήποτε, παρακάτω σας δίνουμε κάποια γρήγορα παραδείγματα τα οποία ουσιαστικά θα σας δείξουν πως να χρησιμοποιήσετε το Ανώνυμο CVS: .Λήψη (Check out) Κάποιου Αρχείου από το -CURRENT (man:ls[1]): [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Στην προτροπή, δώστε οποιαδήποτε λέξη για «password». % cvs co ls .... ==== .Χρήση SSH για Λήψη (check out) του Δέντρου [.filename]#src/#: [example] ==== [source,shell] .... % cvs -d anoncvs@anoncvs1.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established. DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts. .... ==== .Λήψη της Έκδοσης του Αρχείου man:ls[1] από το 8-STABLE Branch: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Στην προτροπή, δώστε οποιαδήποτε λέξη για «password». % cvs co -rRELENG_8 ls .... ==== .Δημιουργία μιας Λίστας Αλλαγών (ως Unified Diffs) της man:ls[1]: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Στην προτροπή, δώστε οποιαδήποτε λέξη για «password». % cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls .... ==== .Βρίσκοντας Ποια Άλλα Ονόματα Modules μπορούν να Χρησιμοποιηθούν: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Στην προτροπή, δώστε οποιαδήποτε λέξη για «password». % cvs co modules % more modules/modules .... ==== === Άλλες Πηγές Πληροφοριών Οι παρακάτω πηγές πληροφοριών ίσως σας φανούν χρήσιμες για να μάθετε το CVS: * http://users.csc.calpoly.edu/~gfisher/classes/308/handouts/cvs-basics.html[CVS Tutorial] από το California Polytechnic State University. * http://www.nongnu.org/cvs/[CVS Home], η ομάδα ανάπτυξης και υποστήριξης του CVS. * http://www.FreeBSD.org/cgi/cvsweb.cgi[CVSweb] Διεπαφή Web για το CVS του FreeBSD Project. [[ctm]] == Χρησιμοποιώντας το CTM Το CTM είναι μια μέθοδος να διατηρούμε σε συγχρονισμό ένα απομακρυσμένο κατάλογο με ένα κεντρικό. Αναπτύχθηκε για χρήση με το δέντρο πηγαίου κώδικα του FreeBSD, αν και άλλοι άνθρωποι μπορεί να το βρουν χρήσιμο και για διαφορετικούς σκοπούς καθώς περνάει ο καιρός. Τη δεδομένη στιγμή υπάρχει ελάχιστη ως ανύπαρκτη τεκμηρίωση για την διαδικασία δημιουργίας αρχείων διαφορών (deltas), και αν χρειάζεστε περισσότερες πληροφορίες, επικοινωνήστε με τη λίστα ταχυδρομείου link:{ctm-users-url}[ctm-users-desc] ειδικά αν θέλετε να χρησιμοποιήσετε το CTM για άλλες εφαρμογές. === Γιατί Πρέπει να Χρησιμοποιήσω το CTM; Το CTM θα σας δώσει ένα τοπικό αντίγραφο του δέντρου πηγαίου κώδικα του FreeBSD. Υπάρχει διαθέσιμος ένας αριθμός από "γεύσεις" του δέντρου. Το CTM μπορεί να σας παρέχει τις πληροφορίες που χρειάζεστε, είτε αποφασίσετε να παρακολουθείτε ολόκληρο το δέντρο, είτε κάποιο από τα παρακλάδια του. Αν ανήκετε στα ενεργά μέλη ανάπτυξης του FreeBSD αλλά έχετε κακής ποιότητας (ή καθόλου) TCP/IP συνδεσιμότητα, ή απλά θέλετε οι αλλαγές να σας έρχονται αυτόματα, το CTM έχει φτιαχτεί για σας. Θα χρειαστεί να παίρνετε ως τρία deltas την ημέρα για τα κλαδιά του δέντρου που έχουν την πιο ενεργή ανάπτυξη. Θα πρέπει ωστόσο να θεωρήσετε ως καλύτερη λύση την αυτόματη αποστολή τους μέσω email. Τα μεγέθη των ανανεώσεων κρατούνται πάντα όσο το δυνατόν πιο μικρά. Συνήθως είναι μικρότερα από 5Κ, περιστασιακά (ένα στα δέκα) είναι από 10-50Κ και ορισμένες φορές εμφανίζονται και κάποια που είναι 100Κ ή και μεγαλύτερα. Θα πρέπει επίσης να εξοικειωθείτε με τις διάφορες παγίδες που σχετίζονται με την απευθείας εργασία στον υπό ανάπτυξη πηγαίο κώδικα σε σχέση με μια έτοιμη, προκατασκευασμένη έκδοση. Αυτό ισχύει ακόμα περισσότερο αν επιλέξετε να χρησιμοποιήσετε τον πηγαίο κώδικα από το "current". Σας συνιστούμε να διαβάσετε πως να crossref:cutting-edge[current,χρησιμοποιήσετε το current στο FreeBSD]. === Τι Χρειάζομαι για να Χρησιμοποιήσω το CTM; Θα χρειαστείτε δύο πράγματα: Την εφαρμογή CTM και τις αρχικές αλλαγές (deltas) για να τις εισάγετε σε αυτήν (ώστε να φτάσετε στο επίπεδο του "current"). Το CTM είναι μέρος του FreeBSD από την έκδοση 2.0, και βρίσκεται στον κατάλογο [.filename]#/usr/src/usr.sbin/ctm# εφόσον έχετε εγκατεστημένο τον πηγαίο κώδικα. Τα "deltas" με τα οποία τροφοδοτείτε το CTM μπορείτε να τα αποκτήσετε με δύο τρόπους, μέσω FTP ή μέσω email. Αν έχετε γενική FTP πρόσβαση στο Internet, θα βρείτε υποστήριξη για το CTM στις ακόλουθες τοποθεσίες FTP: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] ή δείτε το τμήμα <>. Κάντε FTP στο σχετικό κατάλογο και διαβάστε το αρχείο [.filename]#README# για να ξεκινήσετε. Αν θέλετε να λαμβάνετε τα deltas μέσω email: Γραφτείτε συνδρομητής σε μια από τις λίστες διανομής του CTM. Η λίστα link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] υποστηρίζει ολόκληρο το δέντρο του CVS. Η λίστα link:{ctm-src-cur-url}[ctm-src-cur-desc] υποστηρίζει την κεφαλή (head) του κλάδου ανάπτυξης (development branch). Η λίστα link:{ctm-src-7-url}[ctm-src-7-desc] υποστηρίζει την έκδοση 7.X κ.ο.κ. Αν δεν γνωρίζετε πως να εγγραφείτε σε μια λίστα, κάντε κλικ στο όνομα της λίστας που εμφανίζεται παραπάνω ή πηγαίνετε στο {mailman-lists-url} και κάντε κλικ στη λίστα που θέλετε να εγγραφείτε. Η σελίδα της λίστας θα πρέπει να περιέχει όλες τις απαραίτητες πληροφορίες σχετικά με τις συνδρομές. Όταν αρχίσετε να λαμβάνετε ανανεώσεις CTM μέσω mail, μπορείτε να χρησιμοποιήσετε το πρόγραμμα `ctm_rmail` για να τις αποσυμπιέσετε και να τις εφαρμόσετε. Μπορείτε στην πραγματικότητα να χρησιμοποιήσετε το πρόγραμμα `ctm_rmail` απευθείας μέσω μιας εγγραφής στο [.filename]#/etc/aliases# αν θέλετε η διαδικασία να εκτελείται αυτοματοποιημένα. Δείτε τη σελίδα manual του `ctm_rmail` για περισσότερες λεπτομέρειες. [NOTE] ==== Άσχετα με τη μέθοδο που θα χρησιμοποιήσετε για να λάβετε τα deltas του CTM θα πρέπει να εγγραφείτε στη λίστα link:{ctm-announce-url}[ctm-announce-desc]. Στο μέλλον, αυτό θα είναι και το μόνο μέρος στο οποίο θα δημοσιεύονται πληροφορίες σχετικά με τις λειτουργίες του συστήματος CTM. Κάντε κλικ στο όνομα της παραπάνω λίστας, και ακολουθείστε τις οδηγίες για να εγγραφείτε. ==== === Χρησιμοποιώντας το CTM για Πρώτη Φορά Πριν αρχίσετε να χρησιμοποιείτε CTM deltas, θα πρέπει να έχετε ένα σημείο εκκίνησης για τα delta που έχουν δημιουργηθεί μετά από αυτό. Θα πρέπει πρώτα να καθορίσετε τι έχετε ήδη. Οποιοσδήποτε μπορεί να αρχίσει από ένα "άδειο" κατάλογο. Θα πρέπει να ξεκινήσετε με ένα αρχικό "Κενό" delta για να αρχίσετε με το CTM δέντρο σας. Από κάποιο σημείο θεωρούμε ότι ένα από αυτά τα "αρχικά" deltas θα διανέμονται σε CD για τη δική σας διευκόλυνση, ωστόσο αυτό δεν συμβαίνει τη δεδομένη στιγμή. Καθώς τα δέντρα είναι αρκετές δεκάδες megabytes, είναι προτιμότερο να ξεκινήσετε από κάτι που έχετε ήδη. Αν έχετε CD κάποιας διανομής (RELEASE), μπορείτε να αντιγράψετε ή να αποσυμπιέσετε από εκεί τον αρχικό πηγαίο κώδικα. Έτσι θα γλυτώσετε σημαντικό μέρος της μεταφοράς δεδομένων. Μπορείτε να αναγνωρίσετε αυτά τα "αρχικά" deltas από το `X` που ακολουθεί τον αριθμό τους (για παράδειγμα [.filename]#src-cur.3210XEmpty.gz#). Ο χαρακτηρισμός μετά το `X` αντιστοιχεί στην πηγή του αρχικού σας "seed". Το [.filename]#Empty# είναι ένας άδειος κατάλογος. Κατά κανόνα δημιουργείται μια μετάβαση από το `Empty` κάθε 100 deltas. Επίσης τα αρχεία αυτά είναι μεγάλα! Συνηθισμένο μέγεθος για [.filename]#XEmpty# deltas είναι τα 70 ως 80 MB συμπιεσμένων με `gzip` δεδομένων. Μόλις επιλέξετε ένα βασικό delta για να ξεκινήσετε, θα χρειαστείτε επίσης όλα τα deltas με μεγαλύτερους από αυτό αριθμούς. === Χρησιμοποιώντας το CTM στην Καθημερινή σας Ζωή Για να εφαρμόσετε τα deltas, απλώς γράψτε: [source,shell] .... # cd /where/ever/you/want/the/stuff # ctm -v -v /where/you/store/your/deltas/src-xxx.* .... Το CTM αντιλαμβάνεται deltas τα οποία έχουν συμπιεστεί μέσω `gzip`, και έτσι δεν χρειάζεται να χρησιμοποιήσετε την `gunzip`, γλυτώνοντας με αυτό τον τρόπο χώρο στο δίσκο. Το CTM δεν πρόκειται να πειράξει τα αρχεία σας αν δεν είναι απόλυτα σίγουρο για τη διαδικασία ανανέωσης. Για να επαληθεύσετε ένα delta μπορείτε επίσης να χρησιμοποιήσετε την επιλογή `-c` και το CTM δεν θα πειράξει τίποτα, απλώς θα επαληθεύσει την ακεραιότητα του delta και θα δει αν μπορεί να το εφαρμόσει χωρίς προβλήματα στο τρέχον δέντρο. Υπάρχουν και άλλες επιλογές στο CTM, δείτε τις αντίστοιχες σελίδες manual ή κοιτάξτε τον πηγαίο κώδικα για περισσότερες πληροφορίες. Αυτό είναι όλο στην πραγματικότητα. Κάθε φορά που λαμβάνετε ένα νέο delta, απλώς περάστε το στο CTM ώστε να έχετε πάντοτε ανανεωμένο τον πηγαίο σας κώδικα. Μην σβήνετε τα deltas αν είναι δύσκολο να τα κατεβάσετε ξανά. Ίσως θέλετε να τα φυλάξετε για την περίπτωση που κάτι πάει στραβά. Ακόμα και αν το μόνο μέσο που έχετε είναι δισκέτες, κάντε αντίγραφο χρησιμοποιώντας την `fdwrite`. === Κρατώντας τις Τοπικές σας Αλλαγές Ως προγραμματιστής, θα θέλετε να πειραματιστείτε και να αλλάξετε αρχεία στο δέντρο του πηγαίου κώδικα. Το CTM υποστηρίζει περιορισμένου τύπου τοπικές αλλαγές: πριν ελέγξει για την παρουσία ενός αρχείου [.filename]#foo#, ελέγχει πρώτα για το [.filename]#foo.ctm#. Αν το αρχείο αυτό υπάρχει, το CTM θα χρησιμοποιήσει αυτό αντί για το [.filename]#foo#. Η συμπεριφορά αυτή μας παρέχει ένα απλό τρόπο να διατηρήσουμε τοπικές αλλαγές: απλώς αντιγράψτε τα αρχεία που σκοπεύετε να αλλάξετε σε αντίστοιχα αρχεία με κατάληξη [.filename]#.ctm#. Μπορείτε κατόπιν να κάνετε ότι αλλαγές θέλετε στον κώδικα ενώ το CTM θα διατηρεί ανανεωμένο το αρχείο [.filename]#.ctm#. === Άλλες Ενδιαφέρουσες Επιλογές του CTM ==== Βρίσκοντας τι Ακριβώς θα Αλλάξει σε μια Ανανέωση Μπορείτε να προσδιορίσετε τις αλλαγές που θα προκαλέσει το CTM στο repository του πηγαίου σας κώδικα, χρησιμοποιώντας την επιλογή `-l`. Αυτό θα είναι χρήσιμο αν θέλετε να κρατήσετε ημερολόγιο των αλλαγών, αν θέλετε να επεξεργαστείτε τα τροποποιημένα αρχεία πριν ή μετά την τροποποίηση τους, ή αν απλώς αισθάνεστε ελαφρώς παρανοϊκός. ==== Δημιουργώντας Αντίγραφα Ασφαλείας πριν την Ανανέωση Μερικές φορές θα θέλετε να κρατήσετε αντίγραφο ασφαλείας όλων των αρχείων που πρόκειται να αλλαχθούν από μια ανανέωση μέσω CTM. Δίνοντας την επιλογή `-B backup-file` το CTM θα δημιουργήσει αντίγραφο ασφαλείας όλων των αρχείων που πρόκειται να αλλαχθούν από κάποιο συγκεκριμένο delta στο αρχείο [.filename]#backup-file#. ==== Περιορίζοντας τα Αρχεία που θα Αλλαχθούν από Κάποια Ανανέωση Μερικές φορές ίσως να ενδιαφέρεστε να περιορίσετε την περιοχή δράσης μιας συγκεκριμένης ανανέωσης μέσω CTM ή ίσως σας ενδιαφέρει να πάρετε μόνο λίγα αρχεία από κάποια σειρά από deltas. Μπορείτε να ελέγξετε τη λίστα των αρχείων στα οποία θα λειτουργήσει το CTM χρησιμοποιώντας ως φίλτρα, regular expressions με τις επιλογές `-e` και `-x`. Για παράδειγμα, για να εξάγετε ένα ανανεωμένο αντίγραφο του αρχείου [.filename]#lib/libc/Makefile# από την συλλογή σας των αποθηκευμένων CTM deltas, εκτελέστε τις εντολές: [source,shell] .... # cd /where/ever/you/want/to/extract/it/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... Για κάθε αρχείο που καθορίζεται σε ένα CTM delta, οι επιλογές `-e` και `-x` εφαρμόζονται με τη σειρά που εμφανίζονται στη γραμμή εντολών. Στο αρχείο γίνεται επεξεργασία από το CTM, μόνο αν μαρκαριστεί ως έγκυρο προς ανανέωση μετά την εφαρμογή όλων των επιλογών `-e` και `-x`. === Μελλοντικά Σχέδια για το CTM Είναι πάρα πολλά: * Χρήση κάποιου είδους πιστοποίησης στο σύστημα CTM ώστε να αναγνωρίζονται τυχόν ψεύτικες ανανεώσεις. * Ξεκαθάρισμα των επιλογών του CTM, καθώς προκαλούν σύγχυση και δεν είναι προφανείς. === Διάφορα Υπάρχει επίσης και μια σειρά από deltas για την συλλογή των `ports`, αλλά δεν έχει εκδηλωθεί ακόμα αρκετό ενδιαφέρον για αυτή. [[mirrors-ctm]] === CTM Mirrors Το <>/FreeBSD διατίθεται μέσω ανώνυμου FTP από τα ακόλουθα mirrors. Αν επιλέξετε να κατεβάσετε το CTM μέσω ανώνυμου FTP, σας παρακαλούμε προσπαθήστε να επιλέξετε μια τοποθεσία κοντά σε σας. Σε περίπτωση προβλημάτων, παρακαλούμε επικοινωνήστε με τη λίστα link:{ctm-users-url}[ctm-users-desc]. Καλιφόρνια, Bay Area, επίσημη πηγή:: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] Νότια Αφρική, αντίγραφα ασφαλείας για παλιά deltas:: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] Ταϊβάν/R.O.C.:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] Αν δεν βρήκατε κάποιο mirror στην περιοχή σας, ή αν το mirror δεν είναι πλήρες, προσπαθήστε να χρησιμοποιήσετε μια μηχανή αναζήτησης όπως η http://www.alltheweb.com/[alltheweb]. [[cvsup]] == Χρησιμοποιώντας το CVSup [[cvsup-intro]] === Εισαγωγή Το CVSup είναι ένα λογισμικό για την διανομή και ανανέωση δέντρων πηγαίου κώδικα από ένα κεντρικό (master) CVS repository το οποίο βρίσκεται σε κάποιο απομακρυσμένο υπολογιστή. Το repository του FreeBSD βρίσκεται σε ένα κεντρικό μηχάνημα στην Καλιφόρνια. Με το CVSup, οι χρήστες του FreeBSD μπορούν εύκολα να διατηρήσουν ανανεωμένα τα αντίγραφα του πηγαίου τους κώδικα. Το CVSup χρησιμοποιεί ένα μοντέλο ανανέωσης γνωστό ως _pull_. Στο μοντέλο αυτό, κάθε πελάτης ζητά τις ανανεώσεις από τον εξυπηρετητή, όταν και αν τις επιθυμεί. Ο εξυπηρετητής περιμένει, παθητικά, τις απαιτήσεις από τους πελάτες. Με τον τρόπο αυτό, κάθε ανανέωση ξεκινάει κατόπιν απαίτησης του πελάτη. Ο εξυπηρετητής ποτέ δεν στέλνει ανανεώσεις που δεν έχουν ζητηθεί. Οι χρήστες θα πρέπει είτε να εκτελέσουν το CVSup χειροκίνητα για να λάβουν μια ανανέωση, είτε θα πρέπει να ρυθμίσουν κατάλληλα το `cron` ώστε να το εκτελεί αυτόματα κατά τακτά χρονικά διαστήματα. Ο όρος CVSup, γραμμένος με κεφαλαία και μικρά όπως φαίνεται, αναφέρεται σε ολόκληρο το πακέτο λογισμικού. Τα βασικά του τμήματα είναι η εντολή πελάτη `cvsup` η οποία εκτελείται στο μηχάνημα του κάθε χρήστη, και το πρόγραμμα του εξυπηρετητή `cvsupd` το οποίο εκτελείται σε κάθε ένα από τα mirror sites του FreeBSD. Καθώς διαβάζετε την τεκμηρίωση και τις λίστες ταχυδρομείου του FreeBSD, μπορεί να βρείτε αναφορές στην εφαρμογή sup. Το sup ήταν ο πρόγονος του CVSup, και εξυπηρετούσε παρόμοιο σκοπό. Το CVSup χρησιμοποιείται με αρκετά όμοιο τρόπο με το sup, και στην πραγματικότητα, χρησιμοποιεί αρχεία ρυθμίσεων τα οποία έχουν πίσω συμβατότητα με αυτά του `sup`. Το sup δεν χρησιμοποιείται πλέον στο FreeBSD Project, επειδή το CVSup είναι ταχύτερο και προσφέρει μεγαλύτερη ευελιξία. [NOTE] ==== Το πρόγραμμα csup είναι το CVSup ξαναγραμμένο σε γλώσσα C. Το μεγαλύτερο του πλεονέκτημα είναι ότι είναι ταχύτερο, και δεν εξαρτάται από την γλώσσα προγραμματισμού Modula-3, την οποία και δεν χρειάζεται πλέον να εγκαταστήσετε. Επίσης μπορείτε να το χρησιμοποιήσετε άμεσα, καθώς περιλαμβάνεται στο βασικό σύστημα. Αν αποφασίσετε να χρησιμοποιήσετε το csup, απλώς παραλείψτε τα βήματα για την εγκατάσταση του CVSup και αντικαταστήστε κάθε αναφορά στο CVSup σε αυτό το άρθρο, με csup. ==== [[cvsup-install]] === Εγκατάσταση Ο ευκολότερος τρόπος για να εγκαταστήσετε το CVSup είναι μέσω του έτοιμου πακέτου package:net/cvsup[] από την crossref:ports[ports,συλλογή πακέτων] του FreeBSD. Αν προτιμάτε να μεταγλωττίσετε το CVSup από τον πηγαίο κώδικα, μπορείτε να χρησιμοποιήσετε το port package:net/cvsup[]. Σας προειδοποιούμε ωστόσο ότι το port package:net/cvsup[] εξαρτάται από την Modula-3, η οποία χρειάζεται αρκετό χρόνο και χώρο στο δίσκο για να κατέβει και να μεταγλωττιστεί. [NOTE] ==== Αν πρόκειται να χρησιμοποιήσετε το CVSup σε ένα μηχάνημα το οποίο δεν θα διαθέτει γραφικό περιβάλλον μέσω του Xorg, όπως π.χ. σε ένα εξυπηρετητή, βεβαιωθείτε ότι εγκαθιστάτε το αντίστοιχο port το οποίο δεν περιλαμβάνει γραφικό περιβάλλον, δηλαδή το package:net/cvsup-without-gui[]. ==== [[cvsup-config]] === Ρύθμιση του CVSup Η λειτουργία του CVSup ελέγχεται από ένα αρχείο ρυθμίσεων που καλείται [.filename]#supfile#. Υπάρχουν κάποια υποδείγματα από [.filename]#supfiles# στον κατάλογο link:file://localhost/usr/shared/examples/cvsup/[/usr/shared/examples/cvsup/]. Οι πληροφορίες στο [.filename]#supfile# απαντούν τις ακόλουθες ερωτήσεις για το CVSup: * <> * <> * <> * <> * <> Στα επόμενα τμήματα, θα δημιουργήσουμε ένα τυπικό [.filename]#supfile# απαντώντας κάθε μια από τις ερωτήσεις αυτές με τη σειρά. Πρώτα, θα περιγράψουμε τη συνολική δομή ενός [.filename]#supfile#. Ένα [.filename]#supfile# είναι ένα αρχείο κειμένου. Τα σχόλια ξεκινάνε με `#` και επεκτείνονται ως το τέλος της γραμμής. Οι κενές γραμμές, καθώς και αυτές που περιέχουν μόνο σχόλια, αγνοούνται. Κάθε γραμμή από τις υπόλοιπες περιγράφει ένα σετ αρχείων τα οποία επιθυμεί να λάβει ο χρήστης. Η γραμμή ξεκινάει με το όνομα μιας "συλλογής", ενός λογικού γκρουπ από αρχεία που ορίζεται από τον εξυπηρετητή. Το όνομα της συλλογής δηλώνει στον εξυπηρετητή ποια αρχεία επιθυμείτε. Μετά το όνομα της συλλογής, μπορεί να υπάρχουν από μηδέν ως κάποια πεδία, τα οποία χωρίζονται μεταξύ τους με κενά διαστήματα. Τα πεδία αυτά απαντούν τις ερωτήσεις που τέθηκαν παραπάνω. Υπάρχουν δύο τύποι πεδίων: πεδία σήμανσης (flags) και πεδία τιμών. Ένα πεδίο σήμανσης αποτελείται από μια μόνο λέξη κλειδί π.χ. `delete` ή `compress`. Ένα πεδίο τιμής ξεκινάει επίσης με μια λέξη κλειδί, αλλά αυτή ακολουθείτε χωρίς την παρεμβολή κενού διαστήματος από `=` και μια δεύτερη λέξη. Για παράδειγμα το `release=cvs` αποτελεί ένα πεδίο τιμής. Ένα [.filename]#supfile# τυπικά καθορίζει προς λήψη περισσότερες από μία συλλογές. Ένα τρόπος για να δομήσετε ένα [.filename]#supfile# είναι να καθορίσετε όλα τα σχετικά πεδία χωριστά για κάθε συλλογή. Με τον τρόπο αυτό ωστόσο το [.filename]#supfile# θα καταλάβει αρκετές γραμμές και θα είναι άβολο, επειδή τα περισσότερα πεδία είναι ίδια για όλες τις συλλογές που περιέχονται σε αυτό. Το CVSup παρέχει ένα μηχανισμό χρήσης προεπιλεγμένων τιμών, ώστε να αποφεύγονται αυτά τα προβλήματα. Οι γραμμές που ξεκινάνε με το ειδικό όνομα ψευτό-συλλογής `*default` μπορούν να χρησιμοποιηθούν για να θέσουν πεδία σήμανσης και τιμών τα οποία θα χρησιμοποιηθούν ως προεπιλογές για τις συλλογές του [.filename]#supfile# που βρίσκονται μετά από αυτά. Μια προεπιλεγμένη τιμή μπορεί να αλλάξει αν καθοριστεί ξανά με νέα τιμή μέσα στην ίδια τη συλλογή. Οι προεπιλογές μπορούν επίσης να αλλάξουν, ή να προστεθούν νέες, βάζοντας πρόσθετα `*default` σε οποιοδήποτε σημείο μέσα στο [.filename]#supfile#. Γνωρίζοντας τα παραπάνω, θα προχωρήσουμε τώρα στη δόμηση ενός [.filename]#supfile# για λήψη και ανανέωση του κυρίως δέντρου πηγαίου κώδικα για το crossref:cutting-edge[current,FreeBSD-CURRENT]. * [[cvsup-config-files]]Ποια αρχεία θέλετε να λάβετε; + Τα αρχεία που είναι διαθέσιμα μέσω της CVSup είναι οργανωμένα σε γκρουπ που ονομάζονται "συλλογές". Περιγραφή των διαθέσιμων συλλογών θα βρείτε στο <>. Στο παράδειγμα μας, θέλουμε να λάβουμε το πλήρες δέντρο πηγαίου κώδικα του FreeBSD συστήματος. Υπάρχει μια μεγάλη συλλογή `src-all` η οποία θα μας την δώσει όλη. Σαν πρώτο βήμα για την δόμηση του [.filename]#supfile#, απλώς γράφουμε τις συλλογές, μία σε κάθε γραμμή (στην περίπτωση μας έχουμε μόνο μια γραμμή): + [.programlisting] .... src-all .... * [[cvsup-config-vers]]Ποιες εκδόσεις των αρχείων θέλετε να λάβετε; + Με το CVSup, μπορείτε ουσιαστικά να λάβετε οποιαδήποτε έκδοση του πηγαίου κώδικα υπήρξε ποτέ. Αυτό είναι δυνατόν επειδή ο εξυπηρετητής cvsupd λειτουργεί απευθείας από το CVS repository, το οποίο περιέχει όλες τις εκδόσεις. Δηλώνετε ποια από αυτές θέλετε χρησιμοποιώντας τα πεδία τιμών `tag=` και `date=`. + [WARNING] ==== Θα πρέπει να δώσετε ιδιαίτερη προσοχή στον καθορισμό των πεδίων `tag=` ώστε να είναι σωστά. Κάποια tags είναι έγκυρα μόνο για συγκεκριμένες συλλογές αρχείων. Αν καθορίσετε λανθασμένο tag (ή κάνετε ορθογραφικό λάθος) το CVSup θα σβήσει αρχεία τα οποία πιθανώς δεν θέλετε να σβηστούν. Ειδικότερα, για την συλλογή των `ports-*`, χρησιμοποιήστε _ μόνο το_ ``tag=.``. ==== + Το πεδίο `tag=` δείχνει προς ένα συμβολικό tag στο repository. Υπάρχουν δύο είδη tags, τα tags εκδόσεων (revision tags) και τα tags κλάδων (branch tags). Ένα revision tag αναφέρεται σε μια συγκεκριμένη έκδοση. Η σημασία του διατηρείται ίδια από τη μια μέρα στην άλλη. Από την άλλη, ένα branch tag, αναφέρεται στην τελευταία έκδοση μια συγκεκριμένης γραμμής ανάπτυξης, σε κάθε χρονική στιγμή. Επειδή ένα branch tag δεν αναφέρεται σε κάποια συγκεκριμένη έκδοση, μπορεί αύριο να σημαίνει κάτι διαφορετικό από ότι σημαίνει σήμερα. + Στο <> θα βρείτε branch tags τα οποία μπορεί να σας ενδιαφέρουν. Όταν καθορίζετε ένα tag στο αρχείο ρυθμίσεων του CVSup, θα πρέπει πριν από αυτό να βάζετε τη λέξη κλειδί `tag=` (δηλ. το `RELENG_8` θα γίνει `tag=RELENG_8`). Να έχετε υπόψιν σας ότι για την συλλογή των Ports, το `tag=.` είναι το μόνο έγκυρο. + [WARNING] ==== Να είστε ιδιαίτερα προσεκτικός, ώστε να γράψετε το tag ακριβώς όπως φαίνεται. Το CVSup δεν μπορεί να διαχωρίσει μεταξύ έγκυρων και μη-έγκυρων tags. Αν γράψετε λάθος το tag, το CVSup θα συμπεριφερθεί σαν να έχετε δώσει ένα έγκυρο tag το οποίο δεν αναφέρεται σε κανένα αρχείο. Στην περίπτωση αυτή θα διαγράψει τα υπάρχοντα αρχεία σας πηγαίου κώδικα. ==== + Όταν καθορίσετε κάποιο branch tag, φυσιολογικά θα λάβετε τις τελευταίες εκδόσεις των αρχείων που υπάρχουν σε αυτή τη γραμμή ανάπτυξης. Αν θέλετε να λάβετε κάποιες παλιότερες εκδόσεις, μπορείτε να το κάνετε καθορίζοντας μια ημερομηνία μέσω του πεδίου τιμών `date=`. Η σελίδα manual man:csup[1] εξηγεί πως μπορείτε να το κάνετε. + Στο παράδειγμα μας, επιθυμούμε να λάβουμε το FreeBSD-CURRENT. Προσθέτουμε τη γραμμή αυτή στην αρχή του [.filename]#supfile# αρχείου μας: + [.programlisting] .... *default tag=. .... + Υπάρχει μια σημαντική ειδική περίπτωση όταν δεν καθορίσετε ούτε πεδίο `tag=` ούτε πεδίο `date=`. Στην περίπτωση αυτή θα λάβετε τα κανονικά αρχεία RCS απευθείας από το CVS repository του εξυπηρετητή, αντί για να λάβετε κάποια συγκεκριμένη έκδοση. Οι προγραμματιστές γενικά προτιμούν αυτό τον τρόπο λειτουργίας. Διατηρώντας πλήρες αντίγραφο του CVS repository στα συστήματα τους έχουν την ικανότητα να βλέπουν το ιστορικό αλλαγών κάθε έκδοσης και να εξετάζουν παλιότερες εκδόσεις των αρχείων. Τα παραπάνω πλεονεκτήματα ωστόσο έχουν το κόστος της μεγαλύτερης χρήσης χώρου στο σκληρό δίσκο. * [[cvsup-config-where]]Από που θέλετε να τα λάβετε; + Χρησιμοποιούμε το πεδίο `host=` για να πούμε στο `cvsup` από που να λάβει τις ανανεώσεις του. Οποιοδήποτε από τα <> είναι κατάλληλο, αν και θα πρέπει να προσπαθήσετε να επιλέξετε κάποιο το οποίο να βρίσκεται κοντά σας. Στο παράδειγμα μας, θα χρησιμοποιήσουμε μια φανταστική τοποθεσία διανομής του FreeBSD, το `cvsup99.FreeBSD.org`: + [.programlisting] .... *default host=cvsup99.FreeBSD.org .... + Θα πρέπει να αλλάξετε το host σε κάποιο που πραγματικά υπάρχει πριν εκτελέσετε το CVSup. Κάθε φορά που εκτελείτε το `cvsup`, έχετε την δυνατότητα να ανατρέπετε αυτή τη ρύθμιση μέσω της γραμμής εντολών με την επιλογή `-h _hostname_`. * [[cvsup-config-dest]]Που θέλετε να τα αποθηκεύσετε στο μηχάνημα σας; + Το πεδίο `prefix=` δηλώνει στην `cvsup` που να αποθηκεύσει τα αρχεία που λαμβάνει. Στο παράδειγμα μας, θα βάλουμε τα αρχεία του πηγαίου κώδικα, απευθείας στο κύριο δέντρο πηγαίου κώδικα, [.filename]#/usr/src#. Ο κατάλογος [.filename]#src# θεωρείται δεδομένος για τις συλλογές που έχουμε επιλέξει να λάβουμε, και έτσι ο σωστός προσδιορισμός είναι αυτός που φαίνεται παρακάτω: + [.programlisting] .... *default prefix=/usr .... * [[cvsup-config-status]]Που θα αποθηκεύσει το `cvsup` τα αρχεία κατάστασης του; + Ο πελάτης CVSup διατηρεί κάποια αρχεία κατάστασης (status files) σε αυτό που αποκαλείται κατάλογος "base". Τα αρχεία αυτά βοηθούν το CVSup να λειτουργεί πιο αποδοτικά κρατώντας λογαριασμό των ανανεώσεων που έχετε ήδη λάβει. Θα χρησιμοποιήσουμε τον προεπιλεγμένο κατάλογο base, [.filename]#/var/db#: + [.programlisting] .... *default base=/var/db .... + Αν ο base κατάλογος σας δεν υπάρχει ήδη, τώρα είναι μια καλή στιγμή να τον δημιουργήσετε. O πελάτης `cvsup` δεν θα εκτελείται αν ο base κατάλογος δεν υπάρχει. * Διάφορες ρυθμίσεις για το [.filename]#supfile#: + Υπάρχει ακόμα μια κοινή γραμμή ρυθμίσεων, η οποία τυπικά υπάρχει στο [.filename]#supfile#: + [.programlisting] .... *default release=cvs delete use-rel-suffix compress .... + Το `release=cvs` δείχνει ότι ο εξυπηρετητής θα πρέπει να λάβει τις πληροφορίες του μέσω του κύριου CVS repository του FreeBSD. Αυτό ισχύει σχεδόν πάντα, αλλά υπάρχουν και άλλες πιθανότητες που ξεφεύγουν από το σκοπό αυτής της συζήτησης. + Η λέξη `delete` δίνει δικαιώματα στο CVSup να διαγράφει αρχεία. Θα πρέπει πάντοτε να έχετε την επιλογή αυτή, ώστε το CVSup να μπορεί να κρατήσει το δέντρο του πηγαίου σας κώδικα πλήρως ανανεωμένο. Το CVSup είναι αρκετά προσεκτικό ώστε να σβήνει μόνο τα αρχεία που βρίσκονται υπό την ευθύνη του. Αν τυχόν βάλετε έξτρα αρχεία στον ίδιο κατάλογο, δεν θα τα αγγίξει. + Η επιλογή `use-rel-suffix` είναι... αρχαιολογική. Αν πραγματικά θέλετε να μάθετε σχετικά με αυτήν, διαβάστε τη σελίδα manual man:cvsup[1]. Αλλιώς, απλώς χρησιμοποιήστε την, και μην ανησυχείτε ιδιαίτερα για αυτή. + Η επιλογή `compress` ενεργοποιεί τη χρήση συμπίεσης τύπου gzip στο κανάλι επικοινωνίας. Αν έχετε σύνδεση δικτύου τύπου T1 ή και πιο γρήγορη, μάλλον δεν θα πρέπει να χρησιμοποιήσετε συμπίεση. Σε διαφορετική περίπτωση, θα βοηθήσει εξαιρετικά. * Όλες οι επιλογές μαζί: + Εδώ είναι το πλήρες [.filename]#supfile# για το παράδειγμα μας: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== Το Αρχείο [.filename]#refuse# Όπως αναφέραμε παραπάνω, το CVSup χρησιμοποιεί _μέθοδο pull_. Βασικά αυτό σημαίνει ότι συνδέεστε στον εξυπηρετητή CVSup, αυτός λέει "Αυτά είναι τα αρχεία που μπορείτε να κατεβάσετε από μένα..", και το δικό σας πρόγραμμα απαντάει "Εντάξει, θα πάρω αυτό, αυτό, αυτό, και αυτό." Στην προεπιλεγμένη ρύθμιση, ο πελάτης CVSup θα πάρει κάθε αρχείο που συνδέεται με την συλλογή και το tag που έχετε καθορίσει στο αρχείο ρυθμίσεων. Ωστόσο μπορεί να μην το επιθυμείτε αυτό πάντα, ειδικά αν συγχρονίζετε τα δέντρα [.filename]#doc#, [.filename]#ports# ή [.filename]#www# - οι περισσότεροι άνθρωποι δεν μπορούν να διαβάσουν τέσσερις ή πέντε γλώσσες και έτσι δεν χρειάζεται να κατεβάσουν αρχεία που αναφέρονται ειδικά σε αυτές. Αν χρησιμοποιείτε το CVSup για την συλλογή των Ports, μπορείτε να ξεπεράσετε αυτή τη συμπεριφορά καθορίζοντας συγκεκριμένες συλλογές (π.χ. _ports-astrology_, _ports-biology_ αντί για _ports-all_). Ωστόσο, επειδή τα δέντρα [.filename]#doc# και [.filename]#www# δεν διαθέτουν συλλογές χωρισμένες ανά γλώσσα, μπορείτε να χρησιμοποιήσετε ένα από τα βολικά χαρακτηριστικά του CVSup: το αρχείο [.filename]#refuse#. Το αρχείο [.filename]#refuse# ουσιαστικά λέει στο CVSup ότι δεν πρέπει να πάρει κάθε αρχείο από μια συλλογή. Με άλλα λόγια, λέει στον πελάτη να _αρνηθεί_ συγκεκριμένα αρχεία που προσφέρει ο εξυπηρετητής. Το αρχείο [.filename]#refuse# μπορεί να βρεθεί (ή να δημιουργηθεί αν δεν έχετε ήδη) στο [.filename]#base/sup/#. Το _base_ καθορίζεται στο [.filename]#supfile#. Το δικό μας _base_ είναι στο [.filename]#/var/db#, το οποίο σημαίνει ότι το προεπιλεγμένο αρχείο [.filename]#refuse# θα είναι το [.filename]#/var/db/sup/refuse#. Το αρχείο [.filename]#refuse# έχει ιδιαίτερα απλή μορφή. Απλώς περιέχει τα ονόματα των αρχείων και καταλόγων τα οποία δεν επιθυμείτε να κατεβάσετε. Για παράδειγμα, αν δεν μιλάτε γλώσσες εκτός από Αγγλικά και λίγα Γερμανικά, και δεν αισθάνεστε την ανάγκη να διαβάσετε την Γερμανική μετάφραση της τεκμηρίωσης, μπορείτε να βάλετε τα ακόλουθα στο δικό σας αρχείο [.filename]#refuse#: [source,shell] .... doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/it_* doc/ja_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* .... κ.ο.κ. για τις υπόλοιπες γλώσσες (μπορείτε να βρείτε την πλήρη λίστα στο http://www.FreeBSD.org/cgi/cvsweb.cgi/[FreeBSD CVS repository]). Με αυτή τη χρήσιμη δυνατότητα, οι χρήστες που έχουν αργή σύνδεση ή πληρώνουν το Internet με χρονοχρέωση ανά λεπτό, θα μπορέσουν να εξοικονομήσουν πολύτιμο χρόνο καθώς δεν θα χρειάζεται πλέον να κατεβάσουν αρχεία που δεν πρόκειται να χρησιμοποιήσουν ποτέ. Για περισσότερες πληροφορίες σχετικά με τα αρχεία [.filename]#refuse# και άλλα χρήσιμα χαρακτηριστικά του CVSup, παρακαλούμε διαβάστε την αντίστοιχη σελίδα του manual. === Εκτελώντας το CVSup Είστε τώρα έτοιμοι να δοκιμάσετε μια ανανέωση. Η γραμμή εντολής για το σκοπό αυτό είναι ιδιαίτερα απλή: [source,shell] .... # cvsup supfile .... όπου το [.filename]#supfile# είναι φυσικά το όνομα του αρχείου [.filename]#supfile# που μόλις δημιουργήσατε. Υποθέτοντας ότι χρησιμοποιείτε τα X11, η εντολή `cvsup` θα σας εμφανίσει ένα γραφικό παράθυρο με κάποια πλήκτρα συνηθισμένων λειτουργιών. Πιέστε το πλήκτρο btn[go], και παρακολουθήστε την εκτέλεση. Καθώς στην περίπτωση μας ανανεώνεται το πραγματικό δέντρο [.filename]#/usr/src#, θα χρειαστεί να εκτελέσετε το πρόγραμμα ως `root` ώστε η `cvsup` να έχει τα δικαιώματα που χρειάζεται για να ανανεώσει τα αρχεία σας. Καθώς μόλις έχετε δημιουργήσει το αρχείο ρυθμίσεων, και δεν έχετε ποτέ πριν χρησιμοποιήσει το πρόγραμμα, ίσως αισθάνεστε λίγο άβολα. Υπάρχει εύκολος τρόπος να κάνετε δοκιμαστική εκτέλεση χωρίς να πειράξετε τα πολύτιμα αρχεία σας. Απλώς δημιουργήστε ένα άδειο κατάλογο σε ένα βολικό μέρος, και δώστε το σαν έξτρα παράμετρο στην γραμμή εντολών: [source,shell] .... # mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest .... Ο κατάλογος που καθορίσατε θα χρησιμοποιηθεί ως προορισμός για όλες τις ανανεώσεις αρχείων. Το CVSup θα εξετάσει τα κανονικά αρχεία σας στο [.filename]#/usr/src#, αλλά δεν θα τροποποιήσει ούτε θα διαγράψει κανένα από αυτά. Κάθε ανανέωση αρχείου θα γίνει στον κατάλογο [.filename]#/var/tmp/dest/usr/src#. Το CVSup όταν εκτελείται με αυτό τον τρόπο αφήνει επίσης ανέπαφα τα αρχεία κατάστασης του στον κατάλογο base. Οι νέες εκδόσεις των αρχείων αυτών θα γραφούν στον καθορισμένο κατάλογο. Αν έχετε απλώς πρόσβαση ανάγνωσης στο [.filename]#/usr/src#, δεν χρειάζεστε να είστε καν `root` για να κάνετε αυτή τη δοκιμαστική εκτέλεση. Αν δεν εκτελείτε τα X11 ή απλώς δεν σας αρέσουν τα γραφικά περιβάλλοντα, μπορείτε να δώσετε κάποιες επιλογές στην γραμμή εντολών όταν εκτελείτε την `cvsup`: [source,shell] .... # cvsup -g -L 2 supfile .... Η επιλογή `-g` λέει στο CVSup να μη χρησιμοποιήσει το γραφικό του περιβάλλον. Αυτό γίνεται αυτόματα αν δεν εκτελούνται τα X11, αλλά διαφορετικά θα πρέπει να το καθορίσετε. Η επιλογή `-L 2` λέει στο CVSup να εμφανίσει όλες τις λεπτομέρειες για όλες τις ανανεώσεις αρχείων που εκτελεί. Υπάρχουν τρία επίπεδα περιγραφής, από το `-L 0` ως το `-L 2`. Η προεπιλογή είναι το 0, που σημαίνει απόλυτη σιωπή εκτός από μηνύματα λάθους. Υπάρχουν διαθέσιμες αρκετές ακόμα επιλογές. Για μια περιληπτική λίστα, γράψτε `cvsup -H`. Για περισσότερο λεπτομερείς περιγραφές, δείτε τη σελίδα του manual. Όταν μείνετε ικανοποιημένος από τον τρόπο που γίνονται οι ανανεώσεις, μπορείτε να κανονίσετε την σε τακτά διαστήματα εκτέλεση του CVSup με την χρήση του man:cron[8]. Προφανώς δεν θα πρέπει να αφήσετε το CVSup να χρησιμοποιεί το γραφικό του περιβάλλον όταν το εκτελείτε μέσω του man:cron[8]. [[cvsup-collec]] === Συλλογές Αρχείων τουCVSup Οι συλλογές αρχείων που διατίθενται μέσω του CVSup είναι οργανωμένες ιεραρχικά. Υπάρχουν λίγες μεγάλες συλλογές, και αυτές χωρίζονται σε μικρότερες υπο-συλλογές. Η λήψη μιας μεγάλης συλλογής, ισοδυναμεί με την λήψη κάθε μιας από τις υπο-συλλογές τις. Οι ιεραρχικές σχέσεις μεταξύ των συλλογών, αντικατοπτρίζονται παρακάτω με την χρήση των εσοχών. Οι πιο συχνά χρησιμοποιούμενες συλλογές είναι η `src-all`, και η `ports-all`. Οι άλλες συλλογές χρησιμοποιούνται μόνο από μικρές ομάδες ανθρώπων για ειδικούς σκοπούς, και κάποια mirror sites μπορεί να μην τις έχουν καθόλου. `cvs-all release=cvs`:: Το κύριο CVS repository του FreeBSD, που περιλαμβάνει και τον κώδικα κρυπτογραφίας. `distrib release=cvs`::: Αρχεία που αναφέρονται στην διανομή και το mirroring του FreeBSD. `doc-all release=cvs`::: Πηγαίος κώδικας για το FreeBSD Handbook και την υπόλοιπη τεκμηρίωση. Δεν περιλαμβάνει αρχεία για το web site του FreeBSD. `ports-all release=cvs`::: Η συλλογή Ports του FreeBSD. + [IMPORTANT] ==== Αν δεν θέλετε να ανανεώσετε όλο το `ports-all` (το πλήρες δέντρο των ports), αλλά να χρησιμοποιήσετε μια από τις υποσυλλογές που φαίνονται παρακάτω, βεβαιωθείτε ότι _πάντα_ ανανεώνετε την υποσυλλογή `ports-base`! Όταν κάτι αλλάζει στο σύστημα μεταγλώττισης των ports που αντιπροσωπεύεται από το `ports-base`, είναι πρακτικά βέβαιο ότι οι αλλαγές αυτές πολύ σύντομα θα χρησιμοποιηθούν από "πραγματικά" ports. Έτσι, αν ανανεώνετε μόνο τα "πραγματικά" ports και αυτά χρησιμοποιούν κάποιες από τις νέες δυνατότητες, υπάρχει μεγάλη πιθανότητα η μεταγλώττιση τους να αποτύχει με κάποιο μυστηριώδες μήνυμα λάθους. Το _πρώτο_ πράγμα που πρέπει να κάνετε σε αυτή την περίπτωση είναι να βεβαιωθείτε ότι είναι ενημερωμένη η συλλογή σας `ports-base`. ==== + [IMPORTANT] ==== Αν σκοπεύετε να δημιουργήσετε το δικό σας τοπικό αντίγραφο του [.filename]#ports/INDEX#, θα _πρέπει_ να δεχτείτε τη συλλογή `ports-all` (ολόκληρο το δέντρο των ports). H δημιουργία του [.filename]#ports/INDEX# από μη-πλήρες δέντρο δεν υποστηρίζεται. Δείτε το link:{faq}#MAKE-INDEX[ FAQ]. ==== `ports-accessibility release=cvs`:::: Λογισμικό για την βοήθεια χρηστών με αναπηρίες. `ports-arabic release=cvs`:::: Υποστήριξη Αραβικής Γλώσσας. `ports-archivers release=cvs`:::: Εργαλεία αποθήκευσης και συμπίεσης. `ports-astro release=cvs`:::: Ports σχετικά με αστρονομία. `ports-audio release=cvs`:::: Υποστήριξη ήχου. `ports-base release=cvs`:::: Βασικά αρχεία των ports για υποστήριξη του συστήματος μεταγλώττισης. Διάφορα αρχεία που βρίσκονται στους υποκαταλόγους [.filename]#Mk/# και [.filename]#Tools/# του [.filename]#/usr/ports#. + [NOTE] ==== Παρακαλούμε δείτε την <>: θα πρέπει _πάντοτε_ να ενημερώνετε αυτή την υποσυλλογή, όταν ενημερώνετε οποιοδήποτε τμήμα της συλλογής Ports του FreeBSD. ==== `ports-benchmarks release=cvs`:::: Προγράμματα μέτρησης απόδοσης (Benchmarks). `ports-biology release=cvs`:::: Βιολογία. `ports-cad release=cvs`:::: Εργαλεία σχεδίασης με τη βοήθεια υπολογιστή. `ports-chinese release=cvs`:::: Υποστήριξη Κινεζικής Γλώσσας. `ports-comms release=cvs`:::: Λογισμικό επικοινωνιών. `ports-converters release=cvs`:::: Μετατροπείς χαρακτήρων. `ports-databases release=cvs`:::: Βάσεις Δεδομένων. `ports-deskutils release=cvs`:::: Αντικείμενα που βρίσκονταν συνήθως σε ένα γραφείο πριν την εφεύρεση των υπολογιστών. `ports-devel release=cvs`:::: Βοηθητικά προγράμματα για την ανάπτυξη λογισμικού. `ports-dns release=cvs`:::: Λογισμικό σχετικό με DNS. `ports-editors release=cvs`:::: Συντάκτες κειμένου. `ports-emulators release=cvs`:::: Εξομοιωτές άλλων λειτουργικών συστημάτων. `ports-finance release=cvs`:::: Χρηματοοικονομικά προγράμματα. `ports-ftp release=cvs`:::: Προγράμματα FTP (πελάτες και εξυπηρετητές). `ports-games release=cvs`:::: Παιχνίδια. `ports-german release=cvs`:::: Υποστήριξη Γερμανικής γλώσσας. `ports-graphics release=cvs`:::: Εργαλεία γραφικών. `ports-hebrew release=cvs`:::: Υποστήριξη εβραϊκής γλώσσας. `ports-hungarian release=cvs`:::: Υποστήριξη Ουγγαρέζικης γλώσσας. `ports-irc release=cvs`:::: Προγράμματα για το IRC. `ports-japanese release=cvs`:::: Υποστήριξη Ιαπωνικής γλώσσας. `ports-java release=cvs`:::: Εργαλεία για την Java(TM). `ports-korean release=cvs`:::: Υποστήριξη Κορεατικής γλώσσας. `ports-lang release=cvs`:::: Γλώσσες προγραμματισμού. `ports-mail release=cvs`:::: Προγράμματα ηλεκτρονικού ταχυδρομείου. `ports-math release=cvs`:::: Λογισμικό μαθηματικών υπολογισμών. `ports-misc release=cvs`:::: Διάφορα βοηθητικά προγράμματα. `ports-multimedia release=cvs`:::: Λογισμικό πολυμέσων. `ports-net release=cvs`:::: Λογισμικό δικτύων. `ports-net-im release=cvs`:::: Λογισμικό άμεσων μηνυμάτων (instant messaging). `ports-net-mgmt release=cvs`:::: Λογισμικό διαχείρισης δικτύων. `ports-net-p2p release=cvs`:::: Δικτύωση peer-to-peer. `ports-news release=cvs`:::: Λογισμικό για το USENET. `ports-palm release=cvs`:::: Λογισμικό για την υποστήριξη συσκευών τύπου Palm(TM). `ports-polish release=cvs`:::: Υποστήριξη Πολωνικής γλώσσας. `ports-ports-mgmt release=cvs`:::: Εργαλεία για τη διαχείριση πακέτων και ports. `ports-portuguese release=cvs`:::: Υποστήριξη Πορτογαλικής γλώσσας. `ports-print release=cvs`:::: Λογισμικό εκτυπώσεων. `ports-russian release=cvs`:::: Υποστήριξη Ρωσικής γλώσσας. `ports-science release=cvs`:::: Επιστημονικά προγράμματα. `ports-security release=cvs`:::: Εργαλεία ασφαλείας. `ports-shells release=cvs`:::: Shells για την γραμμή εντολών. `ports-sysutils release=cvs`:::: Βοηθητικά προγράμματα συστήματος. `ports-textproc release=cvs`:::: Εργαλεία επεξεργασίας κειμένου (δεν περιλαμβάνει επιτραπέζια τυπογραφία). `ports-ukrainian release=cvs`:::: Υποστήριξη Ουκρανικής γλώσσας. `ports-vietnamese release=cvs`:::: Υποστήριξη Βιετναμέζικης γλώσσας. `ports-www release=cvs`:::: Λογισμικό που σχετίζεται με τον παγκόσμιο ιστό (World Wide Web). `ports-x11 release=cvs`:::: Ports για υποστήριξη του συστήματος X Windows. `ports-x11-clocks release=cvs`:::: Ρολόγια για το X11. `ports-x11-drivers release=cvs`:::: Προγράμματα οδήγησης για τα X11. `ports-x11-fm release=cvs`:::: Διαχειριστές αρχείων για τα X11. `ports-x11-fonts release=cvs`:::: Γραμματοσειρές και εργαλεία γραμματοσειρών για X11. `ports-x11-toolkits release=cvs`:::: Εργαλειοθήκες X11. `ports-x11-servers release=cvs`:::: Εξυπηρετητές X11. `ports-x11-themes release=cvs`:::: Θέματα για X11. `ports-x11-wm release=cvs`:::: Διαχειριστές παραθύρων (window managers) για X11. `projects-all release=cvs`::: Πηγαίος κώδικας για το projects repository του FreeBSD. `src-all release=cvs`::: Ο βασικός πηγαίος κώδικα του FreeBSD, συμπεριλαμβανομένου του κώδικα κρυπτογραφίας. `src-base release=cvs`:::: Διάφορα αρχεία στην κορυφή του [.filename]#/usr/src#. `src-bin release=cvs`:::: Εργαλεία που πιθανόν να απαιτούνται σε κατάσταση λειτουργίας ενός χρήστη (single-user) ([.filename]#/usr/src/bin#). `src-cddl release=cvs`:::: Εργαλεία και βιβλιοθήκες που καλύπτονται από την άδεια χρήσης CDDL ([.filename]#/usr/src/cddl#). `src-contrib release=cvs`:::: Εργαλεία και βιβλιοθήκες που δεν ανήκουν στο FreeBSD Project, και τα οποία χρησιμοποιούνται ουσιαστικά αναλλοίωτα ([.filename]#/usr/src/contrib#). `src-crypto release=cvs`:::: Εργαλεία και βιβλιοθήκες κρυπτογράφησης που δεν ανήκουν στο FreeBSD project και τα οποία χρησιμοποιούνται ουσιαστικά αναλλοίωτα ([.filename]#/usr/src/crypto#). `src-eBones release=cvs`:::: Kerberos και DES ([.filename]#/usr/src/eBones#). Δεν χρησιμοποιούνται στις τρέχουσες εκδόσεις του FreeBSD. `src-etc release=cvs`:::: Αρχεία ρυθμίσεων του συστήματος ([.filename]#/usr/src/etc#). `src-games release=cvs`:::: Παιχνίδια ([.filename]#/usr/src/games#). `src-gnu release=cvs`:::: Εργαλεία που καλύπτονται από την άδεια χρήσης GNU Public License ([.filename]#/usr/src/gnu#). `src-include release=cvs`:::: Αρχεία επικεφαλίδων ([.filename]#/usr/src/include#). `src-kerberos5 release=cvs`:::: Πακέτο ασφαλείας Kerberos5 ([.filename]#/usr/src/kerberos5#). `src-kerberosIV release=cvs`:::: Πακέτο ασφαλείας KerberosIV ([.filename]#/usr/src/kerberosIV#). `src-lib release=cvs`:::: Βιβλιοθήκες ([.filename]#/usr/src/lib#). `src-libexec release=cvs`:::: Προγράμματα συστήματος τα οποία φυσιολογικά εκτελούνται από άλλα προγράμματα ([.filename]#/usr/src/libexec#). `src-release release=cvs`:::: Αρχεία που απαιτούνται για την παραγωγή μιας έκδοσης του FreeBSD ([.filename]#/usr/src/release#). `src-rescue release=cvs`:::: Προγράμματα με στατική μεταγλώττιση για χρήση σε έκτακτες περιπτώσεις επαναφοράς του συστήματος. Δείτε το man:rescue[8] ([.filename]#/usr/src/rescue#). `src-sbin release=cvs`:::: Εργαλεία συστήματος για λειτουργία σε κατάσταση ενός χρήστη (single user mode) ([.filename]#/usr/src/sbin#). `src-secure release=cvs`:::: Βιβλιοθήκες και εντολές κρυπτογράφησης ([.filename]#/usr/src/secure#). `src-share release=cvs`:::: Αρχεία τα οποία μπορεί να είναι κοινά ανάμεσα σε πολλαπλά συστήματα ([.filename]#/usr/src/share#). `src-sys release=cvs`:::: Ο πυρήνας ([.filename]#/usr/src/sys#). `src-sys-crypto release=cvs`:::: Κώδικας κρυπτογραφίας του πυρήνα ([.filename]#/usr/src/sys/crypto#). `src-tools release=cvs`:::: Διάφορα εργαλεία για τη συντήρηση του FreeBSD ([.filename]#/usr/src/tools#). `src-usrbin release=cvs`:::: Εργαλεία χρήστη ([.filename]#/usr/src/usr.bin#). `src-usrsbin release=cvs`:::: Εργαλεία συστήματος ([.filename]#/usr/src/usr.sbin#). `www release=cvs`::: Ο πηγαίος κώδικας για την τοποθεσία WWW του FreeBSD. `distrib release=self`:: Τα αρχεία ρυθμίσεων του ίδιου του εξυπηρετητή CVSup. Χρησιμοποιείται από CVSup mirror sites. `gnats release=current`:: H βάση δεδομένων του συστήματος παρακολούθησης προβλημάτων GNATS. `mail-archive release=current`:: Τα αρχεία της λίστας ταχυδρομείου του FreeBSD. `www release=current`:: Προ-επεξεργασμένα αρχεία της δικτυακής τοποθεσίας (WWW) του FreeBSD (όχι ο πηγαίος κώδικας). Χρησιμοποιείται από WWW mirror sites. === Για Περισσότερες Πληροφορίες Για το FAQ του CVSup και άλλες πληροφορίες σχετικά με αυτό, δείτε τη http://www.cvsup.org[Σελίδα του CVSup]. Συζητήσεις σχετικά με τη χρήση του CVSup στο FreeBSD λαμβάνουν χώρα στην {freebsd-hackers}. Στη λίστα αυτή, καθώς και στην {freebsd-announce} ανακοινώνονται και οι νέες εκδόσεις του προγράμματος. Για ερωτήσεις ή αναφορές σφαλμάτων σχετικά με το CVSup ρίξτε μια ματιά στο http://www.cvsup.org/faq.html#bugreports[CVSup FAQ]. [[cvsup-mirrors]] === Τοποθεσίες CVSup Μπορείτε να βρείτε εξυπηρετητές <> για το FreeBSD στις ακόλουθες τοποθεσίες: [[cvs-tags]] == Ετικέτες (Tags) για το CVS Όταν κατεβάζετε ή ανανεώνετε τον πηγαίο κώδικα μέσω της cvs η της CVSup, θα πρέπει να καθορίσετε μια ετικέτα έκδοσης (revision tag). Ένα revision tag αναφέρεται είτε σε μια συγκεκριμένη πορεία ανάπτυξης του FreeBSD, είτε σε ένα συγκεκριμένο χρονικό σημείο. Ο πρώτος τύπος ονομάζεται "ετικέτα κλάδου (branch tag)", και ο δεύτερος ονομάζεται "ετικέτα έκδοσης (release tag)". === Ετικέτες Κλάδων (Branch Tags) Όλες αυτές, με την εξαίρεση του `HEAD` (το οποίο είναι πάντα έγκυρη ετικέτα), ισχύουν μόνο για το δέντρο [.filename]#src/#. Τα δέντρα [.filename]#ports/#, [.filename]#doc/#, και [.filename]#www/# δεν έχουν κλάδους. HEAD:: Πρόκειται για το συμβολικό όνομα της κύριας γραμμής ανάπτυξης, ή FreeBSD-CURRENT. Είναι επίσης το προεπιλεγμένο tag αν δεν καθοριστεί κάποιο συγκεκριμένο revision. + Στο CVSup, το tag αυτό αντιπροσωπεύεται από μια `.` (δεν πρόκειται για σημείο στίξης της πρότασης, αλλά για τον πραγματικό χαρακτήρα `.`). + [NOTE] ==== Στο CVS, αυτή είναι και η προεπιλογή αν δεν καθοριστεί revision tag. Συνήθως _δεν_ είναι καλή ιδέα να κάνετε checkout και ανανέωση στον πηγαίο κώδικα του CURRENT σε ένα μηχάνημα STABLE, εκτός αν αυτή είναι πραγματικά η πρόθεση σας. ==== RELENG_9:: Η γραμμή ανάπτυξης για το FreeBSD-9.X, γνωστή επίσης και ως FreeBSD 9-STABLE RELENG_9_0:: Η γραμμή έκδοσης του FreeBSD-9.0, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_8:: Η γραμμή ανάπτυξης για το FreeBSD-8.X, γνωστή επίσης και ως FreeBSD 8-STABLE RELENG_8_3:: Η γραμμή έκδοσης του FreeBSD-8.3, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_8_2:: Η γραμμή έκδοσης του FreeBSD-8.2, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_8_1:: Η γραμμή έκδοσης του FreeBSD-8.1, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_8_0:: Η γραμμή έκδοσης του FreeBSD-8.0, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7:: Η γραμμή ανάπτυξης για το FreeBSD-7.X, γνωστή επίσης και ως FreeBSD 7-STABLE RELENG_7_4:: Η γραμμή έκδοσης του FreeBSD-7.4, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7_3:: Η γραμμή έκδοσης του FreeBSD-7.3, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7_2:: Η γραμμή έκδοσης του FreeBSD-7.2, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7_1:: Η γραμμή έκδοσης του FreeBSD-7.1, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7_0:: Η γραμμή έκδοσης του FreeBSD-7.0, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_6:: Η γραμμή ανάπτυξης για το FreeBSD-6.X, γνωστή επίσης και ως FreeBSD 6-STABLE RELENG_6_4:: Η γραμμή έκδοσης του FreeBSD-6.4, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_6_3:: Η γραμμή έκδοσης του FreeBSD-6.3, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_6_2:: Η γραμμή έκδοσης του FreeBSD-6.2, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_6_1:: Η γραμμή έκδοσης του FreeBSD-6.1, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_6_0:: Η γραμμή έκδοσης του FreeBSD-6.0, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_5:: Η γραμμή ανάπτυξης για το FreeBSD-5.X, γνωστή επίσης ως FreeBSD 5-STABLE. RELENG_5_5:: Η γραμμή έκδοσης του FreeBSD-5.5, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_5_4:: Η γραμμή έκδοσης του FreeBSD-5.4, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_5_3:: Η γραμμή έκδοσης του FreeBSD-5.3, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_5_2:: Η γραμμή έκδοσης FreeBSD-5.2 και FreeBSD-5.2.1, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_5_1:: Η γραμμή έκδοσης για το FreeBSD-5.1, χρησιμοποιείται μόνο για για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_5_0:: Η γραμμή έκδοσης για το FreeBSD-5.0, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4:: Η γραμμή ανάπτυξης για το FreeBSD-4.X, γνωστή επίσης και ως FreeBSD 4-STABLE. RELENG_4_11:: Η γραμμή έκδοσης για το FreeBSD-4.11, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_10:: Η γραμμή έκδοσης για το FreeBSD-4.10, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_9:: Η γραμμή έκδοσης για το FreeBSD-4.9, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_8:: Η γραμμή έκδοσης για το FreeBSD-4.8, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_7:: Η γραμμή έκδοσης για το FreeBSD-4.7, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_6:: Η γραμμή έκδοσης για τα FreeBSD-4.6 και FreeBSD-4.6.2, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_5:: Η γραμμή έκδοσης για το FreeBSD-4.5, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_4:: Η γραμμή έκδοσης για το FreeBSD-4.4, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_3:: Η γραμμή έκδοσης για το FreeBSD-4.3, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_3:: Η γραμμή ανάπτυξης για το FreeBSD-3.X, γνωστή επίσης και ως 3.X-STABLE. RELENG_2_2:: Η γραμμή ανάπτυξης για το FreeBSD-2.2.X, γνωστή επίσης και ως 2.2-STABLE. Η γραμμή αυτή θεωρείται ουσιαστικά παρωχημένη. === Ετικέτες Εκδόσεων (Release Tags) Οι ετικέτες αυτές αναφέρονται σε μια συγκεκριμένη χρονική στιγμή κατά την οποία έγινε μια κανονική έκδοση (release) του FreeBSD. Η διαδικασία της έκδοσης τεκμηριώνεται με περισσότερες λεπτομέρειες στα έγγραφα link:https://www.FreeBSD.org/releng/[Πληροφορίες Διαδικασίας Έκδοσης] και link:{releng}#release-proc/[Διαδικασία Έκδοσης]. Το δέντρο [.filename]#src# χρησιμοποιεί ονόματα ετικετών που ξεκινούν με τη λέξη `RELENG_`. Τα δέντρα [.filename]#ports# και [.filename]#doc# χρησιμοποιούν ετικέτες που ξεκινούν με τη λέξη `RELEASE`. Τέλος, στο δέντρο [.filename]#www# δεν δίνεται κάποια ειδική ετικέτα που να έχει σχέση με τις εκδόσεις. RELENG_9_0_0_RELEASE:: FreeBSD 9.0 RELENG_8_3_0_RELEASE:: FreeBSD 8.3 RELENG_8_2_0_RELEASE:: FreeBSD 8.2 RELENG_8_1_0_RELEASE:: FreeBSD 8.1 RELENG_8_0_0_RELEASE:: FreeBSD 8.0 RELENG_7_4_0_RELEASE:: FreeBSD 7.4 RELENG_7_3_0_RELEASE:: FreeBSD 7.3 RELENG_7_2_0_RELEASE:: FreeBSD 7.2 RELENG_7_1_0_RELEASE:: FreeBSD 7.1 RELENG_7_0_0_RELEASE:: FreeBSD 7.0 RELENG_6_4_0_RELEASE:: FreeBSD 6.4 RELENG_6_3_0_RELEASE:: FreeBSD 6.3 RELENG_6_2_0_RELEASE:: FreeBSD 6.2 RELENG_6_1_0_RELEASE:: FreeBSD 6.1 RELENG_6_0_0_RELEASE:: FreeBSD 6.0 RELENG_5_5_0_RELEASE:: FreeBSD 5.5 RELENG_5_4_0_RELEASE:: FreeBSD 5.4 RELENG_4_11_0_RELEASE:: FreeBSD 4.11 RELENG_5_3_0_RELEASE:: FreeBSD 5.3 RELENG_4_10_0_RELEASE:: FreeBSD 4.10 RELENG_5_2_1_RELEASE:: FreeBSD 5.2.1 RELENG_5_2_0_RELEASE:: FreeBSD 5.2 RELENG_4_9_0_RELEASE:: FreeBSD 4.9 RELENG_5_1_0_RELEASE:: FreeBSD 5.1 RELENG_4_8_0_RELEASE:: FreeBSD 4.8 RELENG_5_0_0_RELEASE:: FreeBSD 5.0 RELENG_4_7_0_RELEASE:: FreeBSD 4.7 RELENG_4_6_2_RELEASE:: FreeBSD 4.6.2 RELENG_4_6_1_RELEASE:: FreeBSD 4.6.1 RELENG_4_6_0_RELEASE:: FreeBSD 4.6 RELENG_4_5_0_RELEASE:: FreeBSD 4.5 RELENG_4_4_0_RELEASE:: FreeBSD 4.4 RELENG_4_3_0_RELEASE:: FreeBSD 4.3 RELENG_4_2_0_RELEASE:: FreeBSD 4.2 RELENG_4_1_1_RELEASE:: FreeBSD 4.1.1 RELENG_4_1_0_RELEASE:: FreeBSD 4.1 RELENG_4_0_0_RELEASE:: FreeBSD 4.0 RELENG_3_5_0_RELEASE:: FreeBSD-3.5 RELENG_3_4_0_RELEASE:: FreeBSD-3.4 RELENG_3_3_0_RELEASE:: FreeBSD-3.3 RELENG_3_2_0_RELEASE:: FreeBSD-3.2 RELENG_3_1_0_RELEASE:: FreeBSD-3.1 RELENG_3_0_0_RELEASE:: FreeBSD-3.0 RELENG_2_2_8_RELEASE:: FreeBSD-2.2.8 RELENG_2_2_7_RELEASE:: FreeBSD-2.2.7 RELENG_2_2_6_RELEASE:: FreeBSD-2.2.6 RELENG_2_2_5_RELEASE:: FreeBSD-2.2.5 RELENG_2_2_2_RELEASE:: FreeBSD-2.2.2 RELENG_2_2_1_RELEASE:: FreeBSD-2.2.1 RELENG_2_2_0_RELEASE:: FreeBSD-2.2.0 [[mirrors-afs]] == Τοποθεσίες AFS Εξυπηρετητές AFS για το FreeBSD θα βρείτε στις ακόλουθες τοποθεσίες: Σουηδία:: Η διαδρομή για τα αρχεία είναι: [.filename]#/afs/stacken.kth.se/ftp/pub/FreeBSD/# + [.programlisting] .... stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se .... + Υπεύθυνος Συντήρησης: mailto:ftp@stacken.kth.se[ftp@stacken.kth.se] [[mirrors-rsync]] == Τοποθεσίες rsync Το FreeBSD είναι διαθέσιμο μέσω του πρωτοκόλλου rsync στις ακόλουθες τοποθεσίες. Το βοηθητικό πρόγραμμα rsync λειτουργεί με περίπου τον ίδιο τρόπο με την εντολή man:rcp[1], αλλά έχει περισσότερες επιλογές και χρησιμοποιεί το πρωτόκολλο απομακρυσμένης ανανέωσης το οποίο μεταφέρει μόνο τις διαφορές μεταξύ δύο σετ αρχείων, επιταχύνοντας έτσι ιδιαίτερα το συγχρονισμό μέσω του δικτύου. Αυτό είναι περισσότερο χρήσιμο αν διατηρείτε mirror του διακομιστή FTP ή του CVS Repository του FreeBSD. Η συλλογή εφαρμογών rsync διατίθεται για πολλά λειτουργικά συστήματα, στο FreeBSD δείτε το port package:net/rsync[] ή χρησιμοποιήστε το αντίστοιχο πακέτο. Δημοκρατία της Τσεχίας:: rsync://ftp.cz.FreeBSD.org/ + Διαθέσιμες Συλλογές: ** ftp: Μερικό mirror του διακομιστή FTP του FreeBSD. ** FreeBSD: Πλήρες mirror του διακομιστή FTP του FreeBSD. Ολλανδία:: rsync://ftp.nl.FreeBSD.org/ + Διαθέσιμες Συλλογές: ** FreeBSD: Πλήρες mirror του διακομιστή FTP του FreeBSD. Ρωσία:: rsync://ftp.mtu.ru/ + Διαθέσιμες Συλλογές: ** FreeBSD: Πλήρες mirror του διακομιστή FTP του FreeBSD. ** FreeBSD-gnats: Η βάση δεδομένων του συστήματος παρακολούθησης σφαλμάτων GNATS. ** FreeBSD-Archive: Mirror του διακομιστή FTP παλαιότερων εκδόσεων (archive) του FreeBSD. Σουηδία:: rsync://ftp4.se.freebsd.org/ + Διαθέσιμες Συλλογές: ** FreeBSD: Πλήρες mirror του διακομιστή FTP του FreeBSD Ταΐβάν:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Διαθέσιμες Συλλογές: ** FreeBSD: Πλήρες mirror του διακομιστή FTP του FreeBSD. Ηνωμένο Βασίλειο:: rsync://rsync.mirrorservice.org/ + Διαθέσιμες Συλλογές: ** sites/ftp.freebsd.org: Πλήρες mirror του διακομιστή FTP του FreeBSD. Ηνωμένες Πολιτείες Αμερικής:: rsync://ftp-master.FreeBSD.org/ + Ο διακομιστής αυτός μπορεί να χρησιμοποιηθεί μόνο από κύρια mirror sites του FreeBSD. + Διαθέσιμες Συλλογές: ** FreeBSD: To κύριο (master) σύστημα αρχείων του διακομιστή FTP του FreeBSD. ** acl: Η κύρια λίστα ACL του FreeBSD. + rsync://ftp13.FreeBSD.org/ + Διαθέσιμες Συλλογές: ** FreeBSD: Πλήρες mirror του διακομιστή FTP του FreeBSD. diff --git a/documentation/content/en/books/handbook/mirrors/_index.adoc b/documentation/content/en/books/handbook/mirrors/_index.adoc index 8796ed4581..9e5807e1e2 100644 --- a/documentation/content/en/books/handbook/mirrors/_index.adoc +++ b/documentation/content/en/books/handbook/mirrors/_index.adoc @@ -1,836 +1,835 @@ --- title: Appendix A. Obtaining FreeBSD part: Part V. Appendices prev: books/handbook/partv next: books/handbook/bibliography description: "How to get FreeBSD: CD and DVD sets, FTP sites and how to install and use Git" tags: ["Obtaining", "CD", "DVD", "FTP", "Git"] --- [appendix] [[mirrors]] = Obtaining FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/en/mailing-lists.adoc[] include::shared/en/teams.adoc[] include::shared/en/urls.adoc[] [[mirrors-cdrom]] == CD and DVD Sets FreeBSD CD and DVD sets are available from several online retailers: * FreeBSD Mall, Inc. + 2420 Sand Creek Rd C-1 #347 + Brentwood, CA + 94513 + USA + Phone: +1 925 240-6652 + Fax: +1 925 674-0821 + Email: + WWW: https://www.freebsdmall.com * Getlinux + 78 Rue de la Croix Rochopt + Épinay-sous-Sénart + 91860 + France + Email: + WWW: http://www.getlinux.fr/ * Dr. Hinner EDV + Kochelseestr. 11 + D-81371 München + Germany + Phone: (0177) 428 419 0 + Email: + WWW: http://www.hinner.de/linux/freebsd.html [[mirrors-ftp]] == FTP Sites The official sources for FreeBSD are available via anonymous FTP from a worldwide set of mirror sites. The site link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] is available via HTTP and FTP. It is made up of many machines operated by the project cluster administrators and behind GeoDNS to direct users to the closest available mirror. Additionally, FreeBSD is available via anonymous FTP from the following mirror sites. When obtaining FreeBSD via anonymous FTP, please try to use a nearby site. The mirror sites listed as "Primary Mirror Sites" typically have the entire FreeBSD archive (all the currently available versions for each of the architectures) but faster download speeds are probably available from a site that is in your country or region. The regional sites carry the most recent versions for the most popular architecture(s) but might not carry the entire FreeBSD archive. All sites provide access via anonymous FTP but some sites also provide access via other methods. The access methods available for each site are provided in parentheses after the hostname. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[bulgaria]] *{mirrors-bulgaria}* In case of problems, please contact the hostmaster `<{mirrors-bulgaria-email}>` for this domain. * {mirrors-bulgaria-ftp} (ftp / {mirrors-bulgaria-ftpv6} / {mirrors-bulgaria-ftp-http} / {mirrors-bulgaria-ftp-httpv6} / rsync / rsyncv6) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[git]] == Using Git [[git-intro]] === Introduction As of December 2020, FreeBSD uses git as the primary version control system for storing all of FreeBSD's base source code and documentation. As of April 2021, FreeBSD uses git as the only version control system for storing all of FreeBSD's Ports Collection. [NOTE] ==== Git is generally a developer tool. Users may prefer to use `freebsd-update` (crossref:cutting-edge[updating-upgrading-freebsdupdate,“FreeBSD Update”]) to update the FreeBSD base system, and `portsnap` (crossref:ports[ports-using,“Using the Ports Collection”]) to update the FreeBSD Ports Collection. ==== This section demonstrates how to install Git on a FreeBSD system and use it to create a local copy of a FreeBSD repository. Additional information on the use of Git is included. [[git-ssl-certificates]] === Root SSL Certificates FreeBSD systems older than 12._x_ do not have proper root certificates. Installing package:security/ca_root_nss[] on these systems allows Git to verify the identity of HTTPS repository servers. The root SSL certificates can be installed from a port: [source,shell] .... # cd /usr/ports/security/ca_root_nss # make install clean .... or as a package: [source,shell] .... # pkg install ca_root_nss .... [[git-install]] === Installation Git can be installed as a package: [source,shell] .... # pkg install git .... Git can also be installed from the Ports Collection: [source,shell] .... # cd /usr/ports/devel/git # make install clean .... [[git-usage]] === Running Git To fetch a clean copy of the sources into a local directory, use `git`. This directory of files is called the _working tree_. [WARNING] ==== Move or delete an existing destination directory before using `git clone` for the first time. Cloning over an existing non-git directory will fail. ==== Git uses URLs to designate a repository, taking the form of _protocol://hostname/path_. The first component of the path is the FreeBSD repository to access. There are three different repositories, `src` for the FreeBSD system source code, `doc` for documentation, and `ports` for the FreeBSD Ports Collection. For example, the URL `https://git.FreeBSD.org/src.git` specifies the main branch of the src repository, using the `https` protocol. [[git-url-table]] .FreeBSD Git Repository URL Table [options="header,footer"] |======================================================= |Item | Git URL | Web-based repository browser src | `https://cgit.freebsd.org/src` | Read-only src repo via HTTPS | `https://git.freebsd.org/src.git` | Read-only src repo via anon-ssh | `ssh://anongit@git.freebsd.org/src.git` | Read/write src repo for committers | `ssh://git@gitrepo.freebsd.org/src.git` (*) | Web-based repository browser doc | `https://cgit.freebsd.org/doc` | Read-only doc repo via HTTPS | `https://git.freebsd.org/doc.git` | Read-only doc repo via anon-ssh | `ssh://anongit@git.freebsd.org/doc.git` | Read/write doc repo for committers | `ssh://git@gitrepo.freebsd.org/doc.git` (*) | Web-based repository browser ports | `https://cgit.freebsd.org/ports` | Read-only ports repo via HTTPS | `https://git.freebsd.org/ports.git` | Read-only ports repo via anon-ssh | `ssh://anongit@git.freebsd.org/ports.git` | Read/write ports repo for committers | `ssh://git@gitrepo.freebsd.org/ports.git` (*) |======================================================= - (*) `git` is a special user on the repository server which will map your registered ssh key in FreeBSD.org to your identity, no need to change it. [WARNING] ==== Sometime after the switch to git is complete, `gitrepo.freebsd.org` will change to simply `repo.freebsd.org`. ==== To get started, clone a copy of the FreeBSD repository: [source,shell] .... # git clone -o freebsd [ -b branch ] https://git.FreeBSD.org/repo.git wcdir .... where: * _repo_ is one of the Project repositories: `src`, `ports`, or `doc`. * _branch_ depends on the repository used. `ports` and `doc` are mostly updated in the `main` branch, while `src` maintains the latest version of -CURRENT under `main` and the respective latest versions of the -STABLE branches under `stable/12` (12._x_) and `stable/13` (13._x_). * _wcdir_ is the target directory where the contents of the specified branch should be placed. This is usually [.filename]#/usr/ports# for `ports`, [.filename]#/usr/src# for `src`, and [.filename]#/usr/doc# for `doc`. * _freebsd_ is the name of the origin to use. By convention in the FreeBSD documentation, the origin is assumed to be `freebsd`. This example checks out the `main` branch of the system sources from the FreeBSD repository using the HTTPS protocol, placing the local working copy in [.filename]#/usr/src#. If [.filename]#/usr/src# is already present but was not created by `git`, remember to rename or delete it before the checkout. Git will refuse to do anything otherwise. [source,shell] .... # git clone -o freebsd https://git.FreeBSD.org/src.git /usr/src .... Because the initial checkout must download the full branch of the remote repository, it can take a while. Please be patient. After the initial checkout, the local working copy can be updated by running: [source,shell] .... # cd wcdir # git pull --rebase .... To update [.filename]#/usr/src# created in the example above, use: [source,shell] .... # cd /usr/src # git pull --rebase .... The update is much quicker than a checkout, only transferring files that have changed. There are also external mirrors maintained by project members available, please refer to the <> section. === SSH related information * `ssh://${user}@${url}/${repo}.git` can be written as `${user}@${url}:${repo}.git`, i.e., following two URLs are both valid for passing to `git`: -- ** `ssh://anongit@git.freebsd.org/${repo}.git` ** `anongit@git.freebsd.org:${repo}.git` As well as the read-write repo: ** `ssh://git@(git)repo.freebsd.org/${repo}.git` ** `git@(git)repo.freebsd.org:${repo}.git` -- * gitrepo.FreeBSD.org host key fingerprints: ** ECDSA key fingerprint is `SHA256:seWO5D27ySURcx4bknTNKlC1mgai0whP443PAKEvvZA` ** ED25519 key fingerprint is `SHA256:lNR6i4BEOaaUhmDHBA1WJsO7H3KtvjE2r5q4sOxtIWo` ** RSA key fingerprint is `SHA256:f453CUEFXEJAXlKeEHV+ajJfeEfx9MdKQUD7lIscnQI` * git.FreeBSD.org host key fingerprints: ** ECDSA key fingerprint is `SHA256:/UlirUAsGiitupxmtsn7f9b7zCWd0vCs4Yo/tpVWP9w` ** ED25519 key fingerprint is `SHA256:y1ljKrKMD3lDObRUG3xJ9gXwEIuqnh306tSyFd1tuZE` ** RSA key fingerprint is `SHA256:jBe6FQGoH4HjvrIVM23dcnLZk9kmpdezR/CvQzm7rJM` These are also published as SSHFP records in DNS. === Web-based repository browser The FreeBSD project currently uses cgit as the web-based repository browser: https://cgit.freebsd.org/. The URLs of individual repositories are listed in <>. === For Users Using `git clone` and `git pull` from the official distributed mirrors is recommended. The GeoDNS should direct you to the nearest mirror to you. === For Developers Please see the link:{committers-guide}#git-mini-primer[Committer's Guide]. [[external-mirrors]] === External mirrors Those mirrors are not hosted in FreeBSD.org but still maintained by the project members. Users and developers are welcome to pull or browse repositories on those mirrors. The project workflow with those mirrors are still under discussion. ==== Codeberg - doc: https://codeberg.org/FreeBSD/freebsd-doc - ports: https://codeberg.org/FreeBSD/freebsd-ports - src: https://codeberg.org/FreeBSD/freebsd-src ==== GitHub - doc: https://github.com/freebsd/freebsd-doc - ports: https://github.com/freebsd/freebsd-ports - src: https://github.com/freebsd/freebsd-src ==== GitLab - doc: https://gitlab.com/FreeBSD/freebsd-doc - ports: https://gitlab.com/FreeBSD/freebsd-ports - src: https://gitlab.com/FreeBSD/freebsd-src === Mailing lists General usage and questions about git in the FreeBSD project: https://lists.freebsd.org/mailman/listinfo/freebsd-git[freebsd-git] Commit messages will be sent to the following mailing lists: - https://lists.freebsd.org/mailman/listinfo/dev-commits-doc-all[dev-commits-doc-all]: All changes to the doc repository - https://lists.freebsd.org/mailman/listinfo/dev-commits-ports-all[dev-commits-ports-all]: All changes to the ports repository - https://lists.freebsd.org/mailman/listinfo/dev-commits-ports-main[dev-commits-ports-main]: All changes to the "main" branch of the ports repository - https://lists.freebsd.org/mailman/listinfo/dev-commits-ports-branches[dev-commits-ports-branches]: All changes to the quarterly branches of the ports repository - https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all[dev-commits-src-all]: All changes to the src repository - https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main[dev-commits-src-main]: All changes to the "main" branch of the src repository (the FreeBSD-CURRENT branch) - https://lists.freebsd.org/mailman/listinfo/dev-commits-src-branches[dev-commits-src-branches]: All changes to all stable branches of the src repository For more information, please refer to the "Commit message lists" section of C.2. "Mailing Lists" in handbook: https://docs.freebsd.org/en/books/handbook/eresources/#eresources-mail [[svn]] == Using Subversion [[svn-intro]] === Introduction As of December 2020, FreeBSD uses git as the primary version control system for storing all of FreeBSD's source code and documentation. Changes from the git repo on the `stable/11`, `stable/12` and related releng branches are exported to the subversion repository. This export will continue through the life of these branches. From July 2012 to March 2021, FreeBSD used Subversion as the only version control system for storing all of FreeBSD's Ports Collection. As of April 2021, FreeBSD uses git as the only version control system for storing all of FreeBSD's Ports Collection. [NOTE] ==== Subversion is generally a developer tool. Users may prefer to use `freebsd-update` (crossref:cutting-edge[updating-upgrading-freebsdupdate,“FreeBSD Update”]) to update the FreeBSD base system, and `portsnap` (crossref:ports[ports-using,“Using the Ports Collection”]) to update the FreeBSD Ports Collection. After March 2021, subversion use is only for legacy branches (`stable/11` and `stable/12`). ==== This section demonstrates how to install Subversion on a FreeBSD system and use it to create a local copy of a FreeBSD repository. Additional information on the use of Subversion is included. [[svn-ssl-certificates]] === Root SSL Certificates FreeBSD systems older than 12._x_ do not have proper root certificates. Those certificates allow Subversion to verify the identity of HTTPS repository servers. Installation instructions are described in <>. [[svn-svnlite]] === Svnlite A lightweight version of Subversion is already installed on FreeBSD as `svnlite`. The port or package version of Subversion is only needed if the Python or Perl API is needed, or if a later version of Subversion is desired. The only difference from normal Subversion use is that the command name is `svnlite`. [[svn-install]] === Installation If `svnlite` is unavailable or the full version of Subversion is needed, then it must be installed. Subversion can be installed from the Ports Collection: [source,shell] .... # cd /usr/ports/devel/subversion # make install clean .... Subversion can also be installed as a package: [source,shell] .... # pkg install subversion .... [[svn-usage]] === Running Subversion To fetch a clean copy of the sources into a local directory, use `svn`. The files in this directory are called a _local working copy_. [WARNING] ==== Move or delete an existing destination directory before using `checkout` for the first time. Checkout over an existing non-`svn` directory can cause conflicts between the existing files and those brought in from the repository. ==== Subversion uses URLs to designate a repository, taking the form of _protocol://hostname/path_. The first component of the path is the FreeBSD repository to access. There are three different repositories, `base` for the FreeBSD base system source code, `ports` for the Ports Collection, and `doc` for documentation. For example, the URL `https://svn.FreeBSD.org/base/head/` specifies the main branch of the src repository, using the `https` protocol. A checkout from a given repository is performed with a command like this: [source,shell] .... # svn checkout https://svn.FreeBSD.org/repository/branch lwcdir .... where: * _repository_ is one of the Project repositories: `base`, `ports`, or `doc`. * _branch_ depends on the repository used. `ports` and `doc` are mostly updated in the `head` branch, while `base` maintains the latest version of -CURRENT under `head` and the respective latest versions of the -STABLE branches under `stable/11` (11._x_) and `stable/12` (12._x_). * _lwcdir_ is the target directory where the contents of the specified branch should be placed. This is usually [.filename]#/usr/ports# for `ports`, [.filename]#/usr/src# for `base`, and [.filename]#/usr/doc# for `doc`. This example checks out the Source Tree from the FreeBSD repository using the HTTPS protocol, placing the local working copy in [.filename]#/usr/src#. If [.filename]#/usr/src# is already present but was not created by `svn`, remember to rename or delete it before the checkout. [source,shell] .... # svn checkout https://svn.FreeBSD.org/base/head /usr/src .... Because the initial checkout must download the full branch of the remote repository, it can take a while. Please be patient. After the initial checkout, the local working copy can be updated by running: [source,shell] .... # svn update lwcdir .... To update [.filename]#/usr/src# created in the example above, use: [source,shell] .... # svn update /usr/src .... The update is much quicker than a checkout, only transferring files that have changed. An alternate way of updating the local working copy after checkout is provided by the [.filename]#Makefile# in the [.filename]#/usr/ports#, [.filename]#/usr/src#, and [.filename]#/usr/doc# directories. Set `SVN_UPDATE` and use the `update` target. For example, to update [.filename]#/usr/src#: [source,shell] .... # cd /usr/src # make update SVN_UPDATE=yes .... [[svn-mirrors]] === Subversion Mirror Sites The FreeBSD Subversion repository is: [.programlisting] .... svn.FreeBSD.org .... This is a publicly accessible mirror network that uses GeoDNS to select an appropriate back end server. To view the FreeBSD Subversion repositories through a browser, use https://svnweb.FreeBSD.org/[https://svnweb.FreeBSD.org/]. HTTPS is the preferred protocol, but the [.filename]#security/ca_root_nss# package will need to be installed in order to automatically validate certificates. === For More Information For other information about using Subversion, please see the "Subversion Book", titled http://svnbook.red-bean.com/[Version Control with Subversion], or the http://subversion.apache.org/docs/[Subversion Documentation]. [[mirrors-rsync]] == Using rsync These sites make FreeBSD available through the rsync protocol. The rsync utility transfers only the differences between two sets of files. This is useful for mirror sites of the FreeBSD FTP server. The rsync suite is available for many operating systems, on FreeBSD, see the package:net/rsync[] port or use the package. Czech Republic:: rsync://ftp.cz.FreeBSD.org/ + Available collections: ** ftp: A partial mirror of the FreeBSD FTP server. ** FreeBSD: A full mirror of the FreeBSD FTP server. Netherlands:: rsync://ftp.nl.FreeBSD.org/ + Available collections: ** FreeBSD: A full mirror of the FreeBSD FTP server. Russia:: rsync://ftp.mtu.ru/ + Available collections: ** FreeBSD: A full mirror of the FreeBSD FTP server. ** FreeBSD-Archive: The mirror of FreeBSD Archive FTP server. Sweden:: rsync://ftp4.se.freebsd.org/ + Available collections: ** FreeBSD: A full mirror of the FreeBSD FTP server. Taiwan:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Available collections: ** FreeBSD: A full mirror of the FreeBSD FTP server. United Kingdom:: rsync://rsync.mirrorservice.org/ + Available collections: ** ftp.freebsd.org: A full mirror of the FreeBSD FTP server. United States of America:: rsync://ftp-master.FreeBSD.org/ + This server may only be used by FreeBSD primary mirror sites. + Available collections: + -- ** FreeBSD: The master archive of the FreeBSD FTP server. ** acl: The FreeBSD master ACL list. -- + rsync://ftp13.FreeBSD.org/ + Available collections: ** FreeBSD: A full mirror of the FreeBSD FTP server. diff --git a/documentation/content/fr/books/handbook/mirrors/_index.adoc b/documentation/content/fr/books/handbook/mirrors/_index.adoc index 98f0b2e60d..3c03c3785e 100644 --- a/documentation/content/fr/books/handbook/mirrors/_index.adoc +++ b/documentation/content/fr/books/handbook/mirrors/_index.adoc @@ -1,1709 +1,1708 @@ --- title: Annexe A. Se procurer FreeBSD part: Partie V. Annexes prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = Se procurer FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Table des matières :table-caption: Tableau :example-caption: Exemple :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/fr/mailing-lists.adoc[] include::shared/fr/teams.adoc[] include::shared/fr/urls.adoc[] [[mirrors-cdrom]] == Editeurs de CD-ROMs et DVDs === Produits vendus en boîte Des versions en boîte de FreeBSD sont disponibles (CDs de FreeBSD, logiciels supplémentaires, et documentation papier) auprès de plusieurs revendeurs: * CompUSA + WWW: http://www.compusa.com/ * Frys Electronics + WWW: http://www.frys.com/ === CDs et DVDs Les CDs et DVDs de FreeBSD sont disponibles auprès de nombreux revendeurs en ligne: * BSD Mall by Daemon News + PO Box 161 + Nauvoo, IL 62354 + USA + Phone: +1 866 273-6255 + Fax: +1 217 453-9956 + Email: + WWW: http://www.bsdmall.com/ * BSD-Systems + Email: + WWW: http://www.bsd-systems.co.uk * FreeBSD Mall, Inc. + 3623 Sanford Street + Concord, CA 94520-1405 + USA + Phone: +1 925 240-6652 + Fax: +1 925 674-0821 + Email: + WWW: http://www.freebsdmall.com/ * Dr. Hinner EDV + St. Augustinus-Str. 10 + D-81825 München + Allemagne + Phone: (089) 428 419 + WWW: http://www.hinner.de/linux/freebsd.html * Ikarios + 22-24 rue Voltaire + 92000 Nanterre + France + WWW: http://ikarios.com/form/#freebsd * JMC Software + Ireland + Phone: 353 1 6291282 + WWW: http://www.thelinuxmall.com * Linux CD Mall + Private Bag MBE N348 + Auckland 1030 + New Zealand + Phone: +64 21 866529 + WWW: http://www.linuxcdmall.co.nz/ * The Linux Emporium + Hilliard House, Lester Way + Wallingford + OX10 9TA + Royaume-Uni + Phone: +44 1491 837010 + Fax: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/freebsd/ * Linux+ DVD Magazine + Lewartowskiego 6 + Warsaw + 00-190 + Poland + Phone: +48 22 860 18 18 + Email: + WWW: http://www.lpmagazine.org/ * Linux System Labs Australie + 21 Ray Drive + Balwyn North + VIC - 3104 + Australie + Phone: +61 3 9857 5918 + Fax: +61 3 9857 8974 + WWW: http://www.lsl.com.au * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Phone: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/freebsd === Distributeurs Si vous êtes un revendeur et désirez vendre des CDROMs de FreeBSD, veuillez contacter un distributeur: * Cylogistics + 809B Cuesta Dr., #2149 + Mountain View, CA 94040 + USA + Phone: +1 650 694-4949 + Fax: +1 650 694-4953 + Email: + WWW: http://www.cylogistics.com/ * Ingram Micro + 1600 E. St. Andrew Place + Santa Ana, CA 92705-4926 + USA + Phone: 1 (800) 456-8000 + WWW: http://www.ingrammicro.com/ * Kudzu, LLC + 7375 Washington Ave. S. + Edina, MN 55439 + USA + Phone: +1 952 947-0822 + Fax: +1 952 947-0876 + Email: * Navarre Corp + 7400 49th Ave South + New Hope, MN 55428 + USA + Phone: +1 763 535-8333 + Fax: +1 763 535-0341 + WWW: http://www.navarre.com/ [[mirrors-ftp]] == Sites FTP Les sources officielles de FreeBSD sont disponibles via FTP anonyme à partir d'un ensemble de sites miroir. Le site link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] dispose d'une bonne connectivité et autorise un grand nombre de connexions, mais vous avez intérêt à trouver plutôt un site miroir "plus proche" (tout particulièrement si vous décidez de mettre en place une sorte de miroir à votre tour). La http://mirrorlist.FreeBSD.org/[base de données des sites miroir FreeBSD] est plus à jour que la liste de ce Manuel, parce qu'elle tire ses informations du DNS plutôt que se reposer sur une liste statique de machines. De plus, FreeBSD est disponible via FTP anonyme à partir des sites miroir ci-dessous. Si vous décidez de vous procurer FreeBSD via FTP anonyme, essayez si possible d'utiliser un site proche de vous. Les sites miroir listés en tant que "sites miroir primaires" disposent généralement de l'intégralité de l'archive FreeBSD (toutes les versions actuellement disponibles pour chacune des architectures) mais vous obtiendrez les temps de téléchargements les plus courts à partir d'un site situé dans votre pays ou votre région. Les sites régionaux proposent les versions les plus récentes des architectures les plus populaires mais pourraient ne pas proposer l'intégralité de l'archive de FreeBSD. Tous les sites proposent un accès FTP anonyme mais certains sites fournissent également un accès suivant d'autres méthodes. Les méthodes d'accès disponibles pour chaque site sont données entre parenthèses après le nom de la machine. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[anoncvs]] == CVS anonyme [[anoncvs-intro]] === Introduction CVS anonyme (ou comme on l'appelle également, _anoncvs_) est une de fonctionnalité des utilitaires CVS livrés avec FreeBSD qui permet la synchronisation avec un référentiel CVS sur une machine distante. Elle permet, entre autres, aux utilisateurs de FreeBSD, de lire, sans autorisation particulière, les archives disponibles sur l'un des serveurs anoncvs officiels du projet FreeBSD. Pour l'utiliser, il suffit simplement de définir la variable d'environnement `CVSROOT` pour qu'elle pointe sur le serveur anoncvs approprié, fournir le fameux mot de passe "anoncvs" avec la commande `cvs login`, puis ensuite utiliser la commande man:cvs[1] pour y accéder de la même manière qu'à un référentiel local. [NOTE] ==== La commande `cvs login`, stocke les mots de passe utilisés pour authentification sur le serveur CVS dans un fichier appelé [.filename]#.cvspass# dans votre répertoire `HOME`. Si ce fichier n'existe pas, vous pourrez obtenir une erreur quand vous essaierez d'utiliser `cvs login` pour la première fois. Créez juste un fichier [.filename]#.cvspass# vide, et relancez la commande. ==== Bien que l'on puisse aussi dire que <> et anoncvs assurent globalement la même fonction, il y a diverses nuances qui peuvent influencer l'utilisateur dans son choix d'une méthode de synchronisation. En résumé, CVSup utilise plus efficacement les ressources réseau et est de loin la méthode la plus sophistiquée des deux, mais cela a un prix. Pour employer CVSup, il faut d'abord installer et configurer un programme client spécialisé avant de pouvoir récupérer quoi que ce soit, et il faut ensuite travailler par sous-ensemble relativement importants, que CVSup appelle _catalogues_. anoncvs, au contraire, peut être utilisé pour examiner n'importe quoi, d'un seul fichier à un programme particulier (tel que `ls` ou `grep`) en faisant référence au nom du module CVS. Bien sûr, anoncvs n'est bon qu'à lire un référentiel CVS, si vous avez donc l'intention de développer localement sur un référentiel partagé avec le projet FreeBSD, alors vous n'avez d'autre choix que d'utiliser CVSup. [[anoncvs-usage]] === Utiliser CVS anonyme Configurer man:cvs[1] pour utiliser un référentiel CVS anonyme consiste simplement à définir la variable d'environnement `CVSROOT` pour qu'elle pointe sur l'un des serveurs anoncvs du projet FreeBSD. A la date de rédaction de ce document, les serveurs suivants sont disponibles: * _Autriche_: :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs (Utilisez `cvs login` et entrez le mot de passe "anoncvs" quand on vous le demandera.) * _France_: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (mot de passe "anoncvs"), ssh (aucun mot de passe)) * _Allemagne_: :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs (rsh, pserver, ssh, ssh/2022) * _Japon_: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (Utilisez `cvs login` et entrez le mot de passe "anoncvs" quand on vous le demandera.) * _Taiwan_: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver (utilisez `cvs login` and entrez n'importe quel mot de passe quand on vous le demandera), ssh (pas de mot de passe)) + [.programlisting] .... SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub .... * _USA_: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (ssh uniquement - pas de mot de passe) + [.programlisting] .... SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub .... * _USA_: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (ssh2 uniquement - pas de mot de passe) + [.programlisting] .... SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub .... Comme CVS vous permet de récupérer ("check out") pratiquement n'importe quelle version des sources de FreeBSD ayant existé (ou, dans certains cas, à venir), vous devez maîtriser l'indicateur de révision (`-r`) de man:cvs[1] et connaître les valeurs qu'il peut prendre dans le référentiel du projet FreeBSD. Il y a deux sortes d'étiquettes, les étiquettes de révision et les étiquettes de branches. Les étiquettes de révision s'appliquent à une révision particulière. Leur signification ne varie pas d'un jour à l'autre. Les étiquettes de branche, à l'inverse, se rapportent à la dernière révision sur une branche particulière à un moment donné. Comme les étiquettes de branche ne se rapportent pas à une révision particulière, elles peuvent désigner demain quelque chose de différent de ce qu'elles référencent aujourd'hui. <> présente les étiquettes de révision qui peuvent intéresser l'utilisateur. Encore une fois, aucune ne s'applique au catalogue des logiciels portés puisque ce dernier ne présente pas de multiples branches de développement. Quand vous précisez une étiquette de branche, vous obtenez normalement la dernière version des fichiers de cette branche de développement. Si vous voulez une version antérieure, vous pouvez l'obtenir en précisant une date avec l'indicateur `-D date`. Reportez-vous aux pages de manuel man:cvs[1] pour plus de détails. === Exemples Bien qu'il soit vraiment recommandé de lire attentivement les pages de manuel de man:cvs[1] avant de faire quoi que ce soit, voici quelques exemples rapides qui vous montrent essentiellement comment utiliser CVS anonyme: .Récupérer quelque chose de -CURRENT (man:ls[1]): [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login At the prompt, enter any word for « password ». % cvs co ls .... ==== .Utiliser SSH pour récupérer l'arborescence [.filename]#src/#: [example] ==== [source,shell] .... % cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. .... ==== .Récupérer la version 6-STABLE de man:ls[1]: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login At the prompt, enter any word for « password ». % cvs co -rRELENG_6 ls .... ==== .Générer la liste des différences concernant man:ls[1] (sous forme de "diffs unifiés") entre différentes versions de FreeBSD [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login At the prompt, enter any word for « password ». % cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls .... ==== .Savoir quels autres noms de modules peuvent être utilisés: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login At the prompt, enter any word for « password ». % cvs co modules % more modules/modules .... ==== === Autres ressources Les ressources supplémentaires suivantes peuvent être utiles pour apprendre à se servir de CVS: * http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/[Guide CVS] de Cal Poly. * http://ximbiot.com/cvs/wiki/[CVS Home], la communauté de développement et de support de CVS. * http://www.FreeBSD.org/cgi/cvsweb.cgi[CVSweb] est l'interface Web pour CVS du projet FreeBSD. [[ctm]] == Utiliser CTM CTM est une méthode pour synchroniser une arborescence de répertoires distants avec une arborescence centrale. Elle a été développée pour être utilisée avec l'arborescence des sources de FreeBSD, bien que d'autres puissent avec le temps la trouver utile pour d'autres besoins. Il existe actuellement très peu, sinon aucune, documentation sur la façon de créer les deltas, contactez-donc la liste de diffusion link:{ctm-users-url}[ctm-users-desc] pour obtenir plus d'informations et si vous souhaitez utiliser CTM pour autre chose. === Pourquoi utiliser CTM? CTM vous procurera un exemplaire local de l'arborescence des sources de FreeBSD. Il y a plusieurs "moutures" de l'arborescence disponibles. Que vous désiriez suivre toute l'arborescence CVS ou seulement une de ses branches, CTM peut vous fournir ce dont vous avez besoin. Si vous développez activement sous FreeBSD, mais ne disposez que d'une connectivité TCP/IP peu fiable ou n'en avez pas du tout, ou voulez tout simplement que les modifications vous soient automatiquement envoyées, CTM est ce qu'il vous faut. Il vous faudra jusqu'à trois deltas par jour sur les branches les plus actives. Cependant, vous devriez envisager de vous les faire envoyer automatiquement par courrier électronique. La taille des mises à jour est toujours aussi petite que possible. Typiquement moins de 5KO, occasionnellement (une fois sur 10), entre 10 et 50KO, et de temps à autre, une grosse modification de 100KO ou plus. Vous devrez aussi vous tenir au courant des différentes contre-parties liées au fait de travailler directement avec les sources en cours de développement plutôt qu'avec les versions publiées. C'est particulièrement vrai si vous choisissez les sources de la branche "-CURRENT". Il est recommandé de lire crossref:cutting-edge[current,Se synchroniser avec la version -CURRENT de FreeBSD]. === Que vous faut-il pour utiliser CTM? Vous aurez besoin de deux choses: le programme CTM, et les deltas initiaux à lui fournir (pour mettre à jour avec la version "courante"). Le programme CTM fait partie de FreeBSD depuis la publication de la version 2.0, et se trouve dans [.filename]#/usr/src/usr.sbin/ctm# si vous avez un exemplaire des sources en ligne. Vous pouvez obtenir les "deltas" à fournir à CTM de deux façons, par FTP ou par courrier électronique. Si vous avez un accès FTP à l'Internet, les sites suivants supportent l'accès à CTM: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] ou reportez-vous à la section <>. Allez dans le répertoire vous concernant et commencez par télécharger le fichier [.filename]#README#. Si vous souhaitez récupérer vos deltas par courrier électronique: Abonnez-vous à l'une des listes de distribution CTM. link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] comprend toute l'arborescence -CURRENT. {ctm-src-4} concerne la branche 4.X, etc... (Si vous ne savez pas comment vous abonner à une liste, cliquez sur le nom de la liste ci-dessus ou sur {mailman-lists-url} puis cliquez sur la liste à laquelle vous désirez vous abonner. La page devrait contenir toutes les instructions nécessaires à l'abonnement.) Dès que vous commencez à recevoir vos mises à jour CTM par courrier électronique, vous pouvez utiliser le programme `ctm_rmail` pour les décompacter et les appliquer. Vous pouvez en fait utiliser directement le programme `ctm_rmail` à partir d'une entrée dans [.filename]#/etc/aliases# si vous voulez automatiser complètement le processus. Consultez les pages de manuel de `ctm_rmail` pour plus de détails. [NOTE] ==== Quelle que soit la méthode que vous utilisez pour récupérer les deltas CTM, vous devriez vous abonner à la liste de diffusion link:{ctm-announce-url}[ctm-announce-desc]. Ce sera, dans l'avenir, le seul endroit où les annonces concernant le fonctionnement du système CTM seront faites. Cliquez sur le nom de la liste et suivez les instructions pour s'inscrire à la liste. ==== === Utiliser CTM pour la première fois Avant de pouvoir utiliser les deltas CTM, il vous faut un point de départ pour appliquer les deltas générés à partir de là. Tout d'abord vous devez déterminer ce que vous avez déjà. Tout le monde peut partir d'un répertoire "vide". Vous devez utiliser un delta "Empty" (vide) au départ pour débuter votre arborescence supportée par CTM. Il fut question que l'un de ces deltas de départ soit distribué sur le CD, cependant ce n'est actuellement pas le cas. Puisque les arborescences représentent plusieurs dizaines de mégaoctets, vous préférerez commencer avec ce que vous avez déjà sous la main. Si vous disposez d'une version de FreeBSD sur CD, vous pouvez copier ou extraire les sources initiales qui s'y trouvent. Cela évitera un transfert de données conséquent. Vous pouvez reconnaître ces deltas de transition au `X` qui suit leur numéro de séquence ([.filename]#src-cur.3210XEmpty.gz# par exemple). La dénomination après le `X` correspond à l'origine de votre "racine" initiale. [.filename]#Empty# est un répertoire vide. La règle est qu'une transition de base à partir de [.filename]#Empty# est générée tous les 100 deltas. Au passage, elles sont volumineuses! De 70 à 80 mégaoctets de données compressées avec `gzip` est une taille habituelle pour les deltas [.filename]#XEmpty#. Une fois que vous avez sélectionné un delta initial à partir duquel commencer, il vous faudra également tous les deltas de numéro supérieur qui le suivent. === Utiliser CTM au quotidien Pour appliquer les deltas, tapez simplement: [source,shell] .... # cd /où/vous/voulez/mettre/les/fichiers # ctm -v -v /où/vous/mettez/vos/deltas/src-xxx.* .... CTM reconnaît les deltas qui ont été compressés avec `gzip`, vous n'avez donc pas besoin de les décompresser avant, ce qui économise de l'espace disque. A moins d'être absolument sûr du résultat, CTM ne touchera pas à votre arborescence. Pour contrôler la validité d'un delta, vous pouvez également utiliser l'indicateur `-c` et CTM ne modifiera alors pas votre arborescence; il vérifiera simplement l'intégrité du delta et regardera s'il peut s'appliquer proprement à votre arborescence en l'état. Il y a aussi d'autres option pour CTM, voyez les pages de manuel ou lisez les sources pour plus d'informations. C'est à peu près tout. Chaque fois que vous recevez un delta, passez-le à CTM pour tenir à jour votre arborescence des sources. N'effacez pas les deltas s'il vous est difficile de les télécharger de nouveau. Vous pouvez en avoir besoin si quelque chose mauvais se produit. Même si vous n'avez que des disquettes, envisagez d'utiliser man:fdwrite[1] pour en faire une copie. === Conserver vos modifications locales Si vous êtes développeur vous voudrez expérimenter et modifier des fichiers de l'arborescence des sources. CTM supporte de façon limitée les modifications locales: avant de contrôler l'existence d'un fichier [.filename]#foo#, il regarde tout d'abord s'il y a un fichier [.filename]#foo.ctm#. Si ce fichier existe, CTM l'utilisera au lieu de [.filename]#foo#. Ce comportement vous permet de conserver de façon simple des modifications locales: copiez simplement les fichiers que vous envisagez de modifier dans des fichiers de même nom, mais avec le suffixe [.filename]#.ctm#. Vous pouvez ensuite bidouiller tranquillement le code, pendant que CTM maintient à jour le fichier [.filename]#.ctm#. === D'autres options intéressantes de CTM ==== Savoir avec précision ce que va modifier une mise à jour Vous pouvez connaître la liste des modifications que CTM appliquera à votre archive des sources en utilisant CTM avec l'option `-l`. C'est utile si vous voulez conserver la trace des modifications, pré- ou post- modifier les fichiers concernés, ou vous vous sentez un tantinet paranoïaque. ==== Faire des sauvegardes avant la mise à jour Parfois vous voudrez sauvegarder tous les fichiers qui seraient toucher par une mise à jour CTM. Avec l'option `-B fichier_de_sauvegarde`, CTM sauvegarde tous les fichiers que seraient modifiés par delta CTM donné dans [.filename]#fichier_de_sauvegarde#. ==== Restreindre la liste des fichiers touchés par une mise à jour Parfois vous voudrez restreindre le champ d'application d'une mise à jour CTM, ou serez intéressé à n'extraire que quelques fichiers d'une séquence de deltas. Vous pouvez contrôler la liste de fichiers sur laquelle travaillera CTM en donnant comme filtre une expression régulière avec les options `-e` et `-x`. Par exemple, pour extraire une version à jour de [.filename]#lib/libc/Makefile# de la série de deltas CTM que vous avez sauvegardé, lancez les commandes: [source,shell] .... # cd /where/ever/you/want/to/extract/it/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... Pour chaque fichier d'un delta CTM, les options `-e` et `-x` sont appliquées dans l'ordre donné sur la ligne de commande. Le fichier est traité par CTM uniquement s'il est sélectionné après application des options `-e` et `-x`. === Perspectives pour CTM Il y en a des tonnes: * Utiliser une méthode d'authentification au système CTM pour détecter la substitution de mises à jour. * Faire le ménage dans les options de CTM, elles commencent à engendrer de la confusion et à contredire l'intuition. === Divers Il existe aussi une séquence de deltas pour le catalogue des logiciels portés, mais elle n'a pas reçue beaucoup d'écho jusqu'ici. [[mirrors-ctm]] === Miroirs CTM <>/FreeBSD est disponible via FTP anonyme sur les miroirs suivants. Si vous faites le choix de vous procurer CTM via FTP anonyme, utilisez s'il vous plaît un site proche de vous. En cas de problème, contactez la liste de diffusion link:{ctm-users-url}[ctm-users-desc]. Californie, Bay Area, source officielle:: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] Afrique du Sud, serveur de sauvegarde pour les anciens deltas:: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] Taïwan/R.O.C.:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] Si vous n'avez pas trouvé de miroir proche de vous, où si le miroir est incomplet, essayez d'utiliser un moteur de recherche comme http://www.alltheweb.com/[alltheweb]. [[cvsup]] == Utiliser CVSup [[cvsup-intro]] === Introduction CVSup est un ensemble de logiciels pour la distribution et la mise à jour d'arborescences de sources à partir d'un référentiel CVS principal sur une machine serveur distante. Les sources de FreeBSD sont archivées sous un référentiel CVS sur une machine centrale de développement en Californie. Grâce à CVSup, les utilisateurs de FreeBSD peuvent facilement tenir à jour leur propre arborescence de sources. CVSup utilise le modèle _pull_ de mise à jour. Dans ce schéma, chaque client réclame les mises à jour au serveur, si et quand il le souhaite. Le serveur attend passivement les demandes de mises à jour de ses clients. Toutes les mises à jour sont donc faites à la demande du client. Le serveur n'envoie jamais de mise à jour non sollicitée. Les utilisateurs doivent soit exécuter le client CVSup à la main pour obtenir une mise à jour, soit mettre en oeuvre une tâche `cron` pour l'exécuter automatiquement et à intervalles réguliers. Le terme CVSup, avec les majuscules, désigne l'ensemble du logiciel. Ses principales composantes sont le client `cvsup` qui s'exécute sur les machines de chaque utilisateur, et le serveur `cvsupd`, qui tourne sur tous les sites miroir de FreeBSD. En lisant la documentation et les listes de diffusion de FreeBSD, vous trouverez des références à sup. sup était le prédécesseur de CVSup, et remplissait la même fonction. CVSup est utilisé de la même façon que sup et, emploie de fait des fichiers de configuration qui sont compatibles avec ceux de `sup`. sup n'est plus utilisé pour le projet FreeBSD, parce que CVSup est à la fois plus rapide et plus souple. [NOTE] ==== L'utilitaire csup est une réécriture en C du logiciel CVSup. Son plus grand avantage est d'être plus rapide et de ne pas dépendre du langage Modula-3, vous n'avez donc pas besoin de l'installer. De plus si vous utilisez FreeBSD 6.2 ou une version suivante, vous pouvez directement utiliser cet utilitaire puisqu'il fait partie du système de base. Les anciennes versions de FreeBSD ne disposent pas de man:csup[1] dans leur système de base, mais vous pouvez facilement installer le logiciel porté package:net/csup[], ou le paquetage pré-compilé correspondant. L'utilitaire csup ne supporte pas, cependant, le mode CVS. Si vous désirez dupliquer l'intégralité de dépôts, vous aurez toujours besoin de CVSup. Si vous avez décidé d'utiliser csup, passez les étapes concernant l'installation de CVSup et remplacez les références à CVSup par csup dans le reste de cette section. ==== [[cvsup-install]] === Installation La méthode la plus simple pour installer CVSup est d'utiliser la version pré-compilée package:net/cvsup[] du crossref:ports[ports,catalogue des logiciels portés] de FreeBSD. Si vous préférez compiler CVSup à partir des sources, vous pouvez directement utiliser le logiciel porté package:net/cvsup[]. Cependant soyez averti: le logiciel porté package:net/cvsup[] est écrit en Modula-3, qui demande un temps et un espace disque non négligeables pour le télécharger et le compiler. [NOTE] ==== Si vous avez l'intention d'utiliser CVSup sur une machine qui ne disposera pas de XFree86(TM) ou Xorg, comme un serveur, assurez-vous que le logiciel porté de n'incluera pas l'interface graphique ("GUI") de CVSup, package:net/cvsup-without-gui[]. ==== Si vous voulez installer csup sous FreeBSD 6.1 et version précédentes, vous pouvez utiliser le paquetage pré-compilé package:net/csup[] du crossref:ports[ports,catalogue des logiciels portés]. Si vous préférez compiler csup à partir des sources, vous pouvez directement utiliser le logiciel porté package:net/csup[]. [[cvsup-config]] === Configuration de CVSup Le fonctionnement de CVSup est contrôlé par un fichier de configuration appelé [.filename]#supfile#. Il y a des exemples de fichiers [.filename]#supfile# dans le répertoire link:file://localhost/usr/shared/examples/cvsup/[/usr/shared/examples/cvsup/]. Les informations du fichier [.filename]#supfile# répondent pour CVSup aux question suivantes: * <> * <> * <> * <> * <> Dans les sections suivantes, nous allons renseigner un fichier [.filename]#supfile# typique en répondant une à une à chacune de ces questions. Commençons par décrire la structure d'ensemble d'un fichier [.filename]#supfile#. Un fichier [.filename]#supfile# est un fichier texte. Les commentaires débutent par un `#` et se prolongent jusqu'à la fin de la ligne. Les lignes vides ou qui ne contiennent que des commentaires sont ignorées. Les autres lignes décrivent les ensembles de fichiers que l'utilisateur souhaite recevoir. Ces lignes commencent par le nom d'un "catalogue" - _collection_, un regroupement logique de fichiers défini par le serveur. Le nom du catalogue dit au serveur quels fichiers vous voulez. Ce nom est éventuellement suivi d'un ou plusieurs champs, séparés par un espace. Ces champs répondent aux questions listées ci-dessus. Il y deux types de champs: des indicateurs et des valeurs. Un indicateur est un mot-clé autonome, e.g., `delete` ou `compress`. Une valeur commence aussi par un mot-clé, mais il est impérativement suivi sans espace par un `=` et un deuxième mot. Par exemple, `release=cvs` est un champ définissant une valeur. Un fichier [.filename]#supfile# spécifie en général plus d'un catalogue à télécharger. Une façon de construire un fichier [.filename]#supfile# consiste à préciser explicitement tous les champs nécessaires pour chaque catalogue. Cependant, cela tend à donner des fichiers [.filename]#supfile# avec des lignes assez longues, et ce n'est pas très pratique parce que la plupart des champs sont les mêmes pour tous les catalogues du fichier [.filename]#supfile#. CVSup fournit un mécanisme pour s'affranchir de ce problème. Les lignes qui commencent par le nom du pseudo-catalogue spécial `*default` servent à définir les indicateurs et les valeurs qui seront pris par défaut pour les catalogues listés ensuite dans le fichier [.filename]#supfile#. Une valeur par défaut peut-être surchargée pour un catalogue particulier, en associant au catalogue lui-même une valeur différente. Les valeurs par défaut peuvent également être redéfinies, ou bien on peut en définir de nouvelles, en cours de fichier [.filename]#supfile#, par de nouvelles lignes `*default`. Sachant cela, nous allons maintenant mettre au point un fichier [.filename]#supfile# pour télécharger et mettre à jour l'arborescence principale de crossref:cutting-edge[current,FreeBSD-CURRENT]. * [[cvsup-config-files]]Quels fichiers voulez-vous télécharger? + Les fichiers disponibles via CVSup sont regroupés par "catalogues" - _collections_. Les catalogues disponibles sont décrits dans la <>. Dans notre exemple, nous souhaitons recevoir toute l'arborescence principale du système FreeBSD. Il existe un unique gros catalogue `src-all` qui correspond à tout cela. Pour commencer à renseigner notre fichier [.filename]#supfile#, nous listons simplement les catalogues, un par ligne (dans notre cas, une seule ligne): + [.programlisting] .... src-all .... * [[cvsup-config-vers]]Quelle(s) version(s) voulez-vous télécharger? + Avec CVSup, vous pouvez obtenir pratiquement n'importe quelle version qui ait existé des sources. C'est possible parce que le serveur cvsupd travaille directement à partir du référentiel CVS, qui contient toutes les versions. Vous indiquez quelle version vous voulez en utilisant les valeurs `tag=` et `date=`. + [WARNING] ==== Faites très attention à définir correctement la valeur `tag=`. Certaines étiquettes ne s'appliquent qu'à certains catalogues. Si l'étiquette que vous donnez n'est pas valable ou mal orthographiée, CVSup effacera des fichiers que vous ne vouliez probablement pas supprimer. En particulier, n'utilisez _que_`tag=.` pour les catalogues `ports-*`. ==== + Les valeurs données avec `tag=` sont des étiquettes symboliques définies dans le référentiel. Il y a deux sortes d'étiquettes, les étiquettes de révision et les étiquettes de branches. Les étiquettes de révision s'appliquent à une révision particulière. Leur signification ne varie pas d'un jour à l'autre. Les étiquettes de branches, à l'inverse, se rapportent à la dernière révision sur une branche particulière à un moment donné. Comme les étiquettes de branches ne se rapportent pas à une révision particulière, elles peuvent désigner demain quelque chose de différent de ce qu'elles référencent aujourd'hui. + <> contient les étiquettes de branches qui peuvent intéresser les utilisateurs. Quand on spécifie une étiquette dans le fichier de configuration de CVSup, elle doit être précédée du champ `tag=` (`RELENG_4` deviendra `tag=RELENG_4`). Gardez à l'esprit que seule l'étiquette `tag=.` n'a de signification pour le catalogue des logiciels portés. + [WARNING] ==== Faites très attention à mentionner précisément l'étiquette exacte. CVSup ne sait différencier une étiquette valide d'une étiquette qui ne l'est pas. Si vous orthographiez mal l'étiquette, CVSup se comportera comme si vous aviez donné une étiquette valide qui ne se réfère à aucun fichier. Dans ce cas il supprimera toutes les sources que vous avez déjà. ==== + Lorsque vous indiquez une étiquette de branche, vous recevez normalement les dernières versions des fichiers sur cette branche de développement. Si vous voulez récupérer des version antérieures, vous pouvez le faire en donnant une date avec le champ `date=`. La page de manuel de man:cvsup[1] vous expliquent comment le faire. + Dans notre exemple, nous désirons obtenir FreeBSD-CURRENT. Nous ajoutons alors la ligne suivante au début de notre fichier [.filename]#supfile#: + [.programlisting] .... *default tag=. .... + Il existe un cas particulier important qui se produit lorsque que l'on ne spécifie ni le champ `tag=` ni le champ `date=`. Dans ce cas, vous obtenez alors les fichiers RCS directement du référentiel CVS du serveur, plutôt que de recevoir une version donnée. Les développeurs préfèrent généralement cette façon de travailler. En maintenant une version du référentiel lui-même sur leur système, ils ont la possibilité de consulter l'historique des révisions et d'accéder aux versions antérieures des fichiers. Cet avantage ne s'obtient cependant qu'au prix d'une consommation importante d'espace disque. * [[cvsup-config-where]]D'où voulez-vous les télécharger? + Nous employons le champ `host=` pour dire à `cvsup` où récupérer ses mises à jour. N'importe quel des <> fera l'affaire, bien que vous devriez essayer de choisir un site proche de vous. Dans cet exemple, nous utiliserons un site fictif de distribution de FreeBSD `cvsup99.FreeBSD.org`: + [.programlisting] .... *default host=cvsup99.FreeBSD.org .... + Vous devrez changer le site pour un qui existe réellement avant d'exécuter CVSup. Lors de l'exécution de `cvsup`, vous pouvez surcharger cette définition sur la ligne de commande avec l'option `-h _nom_de_machine_`. * [[cvsup-config-dest]]Où voulez-vous les mettre sur votre machine? + Le champ `prefix=` dit à `cvsup` où mettre les fichiers qu'il obtient. Dans l'exemple, nous mettrons les fichiers source directement dans notre arborescence des sources, [.filename]#/usr/src#. Le répertoire [.filename]#src# est déjà implicitement défini dans les catalogues que nous avons choisis de télécharger, voici donc la définition correcte: + [.programlisting] .... *default prefix=/usr .... * [[cvsup-config-status]]Où `cvsup` doit-il mettre les fichiers d'état? + Le client CVSup tient à jour des fichiers d'état dans ce qui est appelé le répertoire de "base". Ces fichiers permettent à CVSup de travailler plus efficacement en gardant la trace des modifications que vous avez déjà reçues. Nous utiliserons le répertoire de base standard, [.filename]#/var/db#: + [.programlisting] .... *default base=/var/db .... + Si votre répertoire de base n'existe pas encore, c'est le moment de le créer. Le client `cvsup` refusera de s'exécuter si le répertoire de base n'existe pas. * Diverses autres options de configuration dans le fichier [.filename]#supfile#: + Il y a une autre ligne d'instruction qui doit normalement figurer dans le fichier [.filename]#supfile#: + [.programlisting] .... *default release=cvs delete use-rel-suffix compress .... + `release=cvs` dit au serveur d'obtenir les informations du référentiel principal de FreeBSD. C'est quasiment toujours le cas, mais il existe d'autres possibilités qui sortent du cadre du présent document. + `delete` donne à CVSup l'autorisation de supprimer des fichiers. Vous devriez toujours utiliser cette possibilité, de sorte que CVSup puisse vraiment maintenir à jour votre arborescence des sources. CVSup veille à ne supprimer que les fichiers qu'il maintient. Les fichiers supplémentaires que vous pourriez avoir ne seront pas touchés. + `use-rel-suffix` est... ésotérique. Si vous voulez vraiment savoir de quoi il retourne, lisez la page de manuel de man:cvsup[1]. Sinon, mettez cet indicateur et ne vous en souciez pas plus. + `compress` permet d'utiliser un algorithme de compression de type man:gzip[1] sur la ligne de communication. Si votre connexion a la vitesse d'une ligne T1 ou plus, vous ne devriez probablement pas utiliser la compression. Sinon, cela facilite substantiellement les choses. * Assembler les morceaux: + Voici le fichier [.filename]#supfile# de notre exemple en entier: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== Le fichier [.filename]#refuse# Comme mentionné ci-dessus, CVSup utilise une méthode de type _pull_. Fondamentalement, cela signifie que vous vous connectez au serveur CVSup, ce dernier dit, "Voici ce que vous pouvez télécharger...", puis votre client répond "Ok, je prendrai ceci, ceci, ceci et cela". Dans la configuration par défaut, le client CVSup téléchargera chaque fichier associé avec le catalogue et l'étiquette que vous avez choisi dans le fichier de configuration. Cependant cela ne correspond pas toujours à ce que vous désirez, tout particulièrement si vous mettez à jour les arborescences [.filename]#doc#, [.filename]#ports#, ou [.filename]#www# - la plupart des personnes sont incapables de lire quatre ou cinq langues différentes, et donc elles n'ont pas besoin de télécharger les fichiers spécifiques à certaines langues. Si vous mettez à jour le catalogue des logiciels portés, vous pouvez remédier à cela en spécifiant chaque catalogue individuellement (e.g., _ports-astrology_, _ports-biology_, etc au lieu de spécifier simplement _ports-all_). Cependant puisque les arborescences [.filename]#doc# et [.filename]#www# ne disposent pas de catalogues spécifiques à chaque langue, vous devez utiliser une des nombreuses fonctions de CVSup: le fichier [.filename]#refuse#. Le fichier [.filename]#refuse# indique essentiellement à CVSup qu'il ne doit pas télécharger chaque fichier d'un catalogue; en d'autre termes, il dit au client de _refuser_ certains fichiers du serveur. Le fichier [.filename]#refuse# peut être trouvé (ou, si vous n'en disposez pas encore d'un, doit être placé) dans [.filename]#base/sup/#. _base_ est défini dans votre [.filename]#supfile#; notre répertoire _base_ est défini en tant que [.filename]#/var/db# ce qui signifie que le fichier [.filename]#refuse# est par défaut [.filename]#/var/db/sup/refuse#. Le fichier [.filename]#refuse# a un format très simple; il contient tout simplement les noms des fichiers ou des répertoires que vous ne désirez pas rapatrier. Par exemple, si vous ne pouvez parler d'autres langues que l'anglais ou un peu d'allemand, et vous ne ressentez pas le besoin de lire la traduction en allemand de la documentation, vous pouvez mettre ce qui suit dans le fichier [.filename]#refuse#: [source,shell] .... doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/it_* doc/ja_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* .... et ainsi de suite pour les autres langues (vous pouvez en trouver une liste complète en parcourant le http://www.FreeBSD.org/cgi/cvsweb.cgi/[référentiel CVS de FreeBSD]). Avec cette fonction très utile, les utilisateurs disposant d'une connexion lente ou payant le temps de connexion à la minute seront en mesure d'économiser de précieuses minutes comme ils n'auront plus du tout besoin de télécharger des fichiers qu'ils n'utiliseront jamais. Pour plus d'information sur les fichiers [.filename]#refuse# et d'autres caractéristiques intéressantes de CVSup, consultez sa page de manuel. === Exécuter CVSup Vous êtes maintenant prêt à essayer de faire une mise à jour. La ligne de commande à utiliser est très simple: [source,shell] .... # cvsup supfile .... où [.filename]#supfile# est bien sûr le nom du fichier [.filename]#supfile# que vous venez de créer. Si vous êtes sous X11, `cvsup` affichera une interface graphique avec des boutons pour les opérations courantes. Appuyez sur le bouton btn[go] et suivez le déroulement des opérations. Comme, dans cet l'exemple, vous mettez directement à jour votre arborescence [.filename]#/usr/src#, vous devrez exécuter le programme en tant que `root` de façon à ce que `cvsup` ait le droit de mettre à jour vos fichiers. Comme vous venez juste de créer votre fichier de configuration et n'avez encore jamais utilisé le programme, il est compréhensible que cela vous rende nerveux. Il est facile de faire un essai sans toucher à vos précieux fichiers. Créez juste un nouveau répertoire quelque part et donnez-le en argument supplémentaire sur la ligne de commande: [source,shell] .... # mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest .... Le répertoire indiqué sera pris comme destination pour tous les fichiers modifiés. CVSup examinera les fichiers habituels dans [.filename]#/usr/src#, mais ne les modifiera pas et n'en supprimera aucun. Les modifications atterriront dans [.filename]#/var/tmp/dest/usr/src#. CVSup ne touchera pas non plus à ses fichiers d'état dans le répertoire de base, lorsqu'il est invoqué de cette manière. Les nouvelles versions de ces fichiers iront dans le répertoire indiqué. A partir du moment où vous avez les les droits en lecture sur [.filename]#/usr/src#, vous n'avez pas besoin d'être `root` pour faire ce genre d'essai. Si vous n'êtes pas sous X11, ou si vous n'aimez tout simplement pas les interfaces graphiques, vous devrez ajouter quelques options supplémentaires sur la ligne de commande de `cvsup`: [source,shell] .... # cvsup -g -L 2 supfile .... L'option `-g` dit à CVSup de ne pas utiliser son interface graphique. C'est automatique si vous n'êtes pas sous X11, sinon vous devez le préciser. L'option`-L 2` dit à CVSup d'afficher le détail de ce qu'il est en train de faire. Il y a trois niveaux de trace, de `-L 0` à `-L 2`. La valeur par défaut est de 0, ce qui équivaut à n'émettre que les messages d'erreur. Il y a de nombreuses autres option disponibles. Pour en obtenir un résumé, tapez `cvsup -H`. Pour une description plus détaillée, reportez-vous aux pages de manuel. Une fois que vous êtes satisfait de la façon dont se passent les mises à jour, vous pouvez mettre en place une exécution de CVSup à intervalles réguliers en utilisant man:cron[8]. Bien évidemment, vous ne devez pas laisser CVSup utiliser don interface graphique quand vous le lancez depuis man:cron[8]. [[cvsup-collec]] === Catalogue de fichiers CVSup Les catalogues de fichiers disponibles via CVSup sont organisés hiérarchiquement. Il y a quelques gros catalogues, qui sont divisés en plus petits sous-catalogues. Recevoir un gros catalogue équivaut à recevoir chacun de ces sous-catalogues. Les relations hiérarchiques entre les sous-catalogues sont décrites par les indentations dans la liste ci-dessous. Les catalogues habituellement les plus employés sont `src-all`, et `ports-all`. Les autres catalogues ne sont utilisés que par de petits groupes de personnes pour des besoins particuliers, et certains sites miroir ne les mettent pas à disposition. `cvs-all release=cvs`:: Le référentiel CVS principal de FreeBSD, incluant les logiciels de chiffrement. `distrib release=cvs`::: Les fichiers ayant trait à la distribution et à la mise en place de sites miroir FreeBSD. `doc-all release=cvs`::: Les sources du manuel FreeBSD et d'autres documentations. Cela de comprend pas les fichiers pour le site Web de FreeBSD. `ports-all release=cvs`::: Le catalogue des logiciels portés de FreeBSD. + [[cvsup-collec-pbase-warn]] [IMPORTANT] ==== Si vous ne voulez pas mettre à jour l'intégralité du catalogue `ports-all` (l'intégralité du catalogue des logiciels portés), mais utiliser un des sous-catalogues listés ci-dessous, assurez-vous de _toujours_ mettre à jour le sous-catalogue `ports-base`! Dès qu'il y a un changement dans l'infrastructure de compilation des logiciels portés représentée par `ports-base`, il est certain que ces changements seront utilisés par un logiciel porté très rapidement. Donc, si vous ne mettez à jour que les logiciels portés en tant que tel et qu'ils utilisent certains des changements, il y a de grandes chances pour que leur compilation échoue avec de mystérieux messages d'erreur. La _première_ chose à faire dans ce cas est de vérifier que votre sous-catalogue `ports-base` est à jour. ==== + [IMPORTANT] ==== Si vous voulez construire votre propre version locale du fichier [.filename]#ports/INDEX#, vous _devez_ accepter le catalogue `ports-all` (l'intégralité du catalogue des logiciels portés). La construction de [.filename]#ports/INDEX# avec une arborescence partielle n'est pas supportée. Consultez la link:{faq}#MAKE-INDEX[FAQ]. ==== `ports-accessibility release=cvs`:::: Logiciels pour utilisateurs handicapées. `ports-arabic release=cvs`:::: Support pour l'arabe. `ports-archivers release=cvs`:::: Outils d'archivage. `ports-astro release=cvs`:::: Logiciels d'astronomie. `ports-audio release=cvs`:::: Support du son. `ports-base release=cvs`:::: L'infrastructure de compilation du catalogue des logiciels portés - divers fichiers situés dans les répertoires [.filename]#Mk/# et [.filename]#Tools/# sous-répertoires de la hiérarchie [.filename]#/usr/ports#. + [NOTE] ==== Lisez l'<>: vous devriez _toujours_ mettre à jour ce sous-catalogue, dès que vous mettez à jour une partie du catalogue des logiciels portés de FreeBSD! ==== `ports-benchmarks release=cvs`:::: Evaluation de performances. `ports-biology release=cvs`:::: Biologie. `ports-cad release=cvs`:::: Outils de conception assistée par ordinateur. `ports-chinese release=cvs`:::: Support pour le chinois. `ports-comms release=cvs`:::: Logiciels de communication. `ports-converters release=cvs`:::: Conversion entre codages de caratères. `ports-databases release=cvs`:::: Bases de données. `ports-deskutils release=cvs`:::: Les choses que l'on trouvait sur un bureau avant l'invention des ordinateurs. `ports-devel release=cvs`:::: Outils de développement. `ports-dns release=cvs`:::: Logiciels relatifs au DNS. `ports-editors release=cvs`:::: Editeurs. `ports-emulators release=cvs`:::: Emulateurs d'autres systèmes d'exploitation. `ports-finance release=cvs`:::: Applications concernant les finances et l'argent. `ports-ftp release=cvs`:::: Clients et serveurs FTP. `ports-games release=cvs`:::: Jeux. `ports-german release=cvs`:::: Support pour l'allemand. `ports-graphics release=cvs`:::: Outils graphiques. `ports-hebrew release=cvs`:::: Support de l'hébreu. `ports-hungarian release=cvs`:::: Support du hongrois. `ports-irc release=cvs`:::: Outils pour l'IRC. `ports-japanese release=cvs`:::: Support pour le japonais. `ports-java release=cvs`:::: Outils Java(TM). `ports-korean release=cvs`:::: Support pour le coréen. `ports-lang release=cvs`:::: Langages de programmation. `ports-mail release=cvs`:::: Logiciels de courrier électronique. `ports-math release=cvs`:::: Logiciels de calcul numérique. `ports-mbone release=cvs`:::: Applications MBone. `ports-misc release=cvs`:::: Utilitaires divers. `ports-multimedia release=cvs`:::: Logiciels pour le multimedia. `ports-net release=cvs`:::: Logiciels réseau. `ports-net-im release=cvs`:::: Logiciels de messagerie instantanée. `ports-net-mgmt release=cvs`:::: Logiciels de gestion des réseaux. `ports-net-p2p release=cvs`:::: Logiciels pour le "peer to peer". `ports-news release=cvs`:::: Logiciels pour les forums de discussion USENET. `ports-palm release=cvs`:::: Logiciels de support des machines Palm(TM). `ports-polish release=cvs`:::: Support pour le polonais. `ports-ports-mgmt release=cvs`:::: Utilitaires pour la gestion des logiciels portés et des paquetages. `ports-portuguese release=cvs`:::: Support pour le portugais. `ports-print release=cvs`:::: Logiciels d'impression. `ports-russian release=cvs`:::: Support pour le russe. `ports-science release=cvs`:::: Science. `ports-security release=cvs`:::: Outils de sécurité. `ports-shells release=cvs`:::: Interpréteurs de commandes. `ports-sysutils release=cvs`:::: Utilitaires système. `ports-textproc release=cvs`:::: Outils de traitement de texte (sauf les logiciels de publication assistée par ordinateur). `ports-ukrainian release=cvs`:::: Support de l'ukrainien. `ports-vietnamese release=cvs`:::: Support du vietnamien. `ports-www release=cvs`:::: Logiciels concernant le World Wide Web. `ports-x11 release=cvs`:::: Logiciel pour le système X window. `ports-x11-clocks release=cvs`:::: Horloges pour X11. `ports-x11-drivers release=cvs`:::: pilotes de périphérique X11. `ports-x11-fm release=cvs`:::: Gestionnaires de fichiers pour X11. `ports-x11-fonts release=cvs`:::: Polices de caractères et outils associés pour X11. `ports-x11-toolkits release=cvs`:::: "Toolkits" X11. `ports-x11-servers release=cvs`:::: Serveurs X11. `ports-x11-themes release=cvs`:::: Thèmes X11. `ports-x11-wm release=cvs`:::: Gestionnaires de fenêtres pour X11. `projects-all release=cvs`::: Les sources présentes dans le dépots des projets FreeBSD. `src-all release=cvs`::: Les sources du système FreeBSD, comprenant les logiciels de chiffrement. `src-base release=cvs`:::: Divers fichiers en haut de la hiérarchie [.filename]#/usr/src#. `src-bin release=cvs`:::: Programmes utilisateurs qui peuvent être utiles en mode mono-utilisateur ([.filename]#/usr/src/bin#). `src-cddl release=cvs`:::: Utilitaires et bibliothèques sous licence CDDL ([.filename]#/usr/src/cddl#). `src-contrib release=cvs`:::: Utilitaires et bibliothèques d'origine indépendante du projet FreeBSD, employés à peu près tels quels ([.filename]#/usr/src/contrib#). `src-crypto release=cvs`:::: Utilitaires et bibliothèques pour le chiffrement d'origine indépendante du projet FreeBSD, employés à peu près tels quels ([.filename]#/usr/src/crypto#). `src-eBones release=cvs`:::: Kerberos et DES ([.filename]#/usr/src/eBones#). Non utilisés dans les versions de FreeBSD actuellement publiées. `src-etc release=cvs`:::: Fichiers de configuration du système ([.filename]#/usr/src/etc#). `src-games release=cvs`:::: Jeux ([.filename]#/usr/src/games#). `src-gnu release=cvs`:::: Utilitaires soumis à la licence publique GNU ([.filename]#/usr/src/gnu#). `src-include release=cvs`:::: Fichiers d'entête ([.filename]#/usr/src/include#). `src-kerberos5 release=cvs`:::: Logiciel de sécurité Kerberos5 ([.filename]#/usr/src/kerberos5#). `src-kerberosIV release=cvs`:::: Logiciel de sécurité KerberosIV ([.filename]#/usr/src/kerberosIV#). `src-lib release=cvs`:::: Bibliothèques ([.filename]#/usr/src/lib#). `src-libexec release=cvs`:::: Programmes système normalement exécutés par d'autres programmes ([.filename]#/usr/src/libexec#). `src-release release=cvs`:::: Fichiers nécessaires à la génération d'une version publiable de FreeBSD ([.filename]#/usr/src/release#). `src-rescue release=cvs`:::: Programmes liés en statique pour les dépannages d'urgence; consultez la page de manuel man:rescue[8] ([.filename]#/usr/src/rescue#). `src-sbin release=cvs`:::: Utilitaires système pour le mode mono-utilisateur ([.filename]#/usr/src/sbin#). `src-secure release=cvs`:::: Commandes et bibliothèques pour le chiffrage ([.filename]#/usr/src/secure#). `src-share release=cvs`:::: Fichiers qui peuvent être partagés par plusieurs systèmes ([.filename]#/usr/src/share#). `src-sys release=cvs`:::: Le noyau ([.filename]#/usr/src/sys#). `src-sys-crypto release=cvs`:::: Code du noyau destiné au chiffrement ([.filename]#/usr/src/sys/crypto#). `src-tools release=cvs`:::: Divers outils pour la maintenance de FreeBSD ([.filename]#/usr/src/tools#). `src-usrbin release=cvs`:::: Outils utilisateur ([.filename]#/usr/src/usr.bin#). `src-usrsbin release=cvs`:::: Utilitaires système ([.filename]#/usr/src/usr.sbin#). `www release=cvs`::: Les sources du site WWW de FreeBSD. `distrib release=self`:: Fichiers de configuration du serveur CVSup. Utilisés par les sites miroir CVSup. `gnats release=current`:: Base de données GNATS d'historique des bogues. `mail-archive release=current`:: Archives des listes de diffusion FreeBSD. `www release=current`:: Les fichiers/données WWW publiés (pas les fichiers source). Utilisés par les sites miroir WWW. === Pour plus d'informations Pour la FAQ de CVSup et d'autres informations concernant CVSup, consultez la http://www.cvsup.org[page Web de CVSup]. La plupart des discussions relatives à l'utilisation de CVSup sous FreeBSD ont lieu sur la {freebsd-hackers}. Les nouvelles versions du logiciel y sont annoncés ainsi que sur la {freebsd-announce}. Pour toutes les questions et rapports de bogues concernant CVSup, consultez la http://www.cvsup.org/faq.html#bugreports[FAQ CVSup]. [[cvsup-mirrors]] === Sites CVSup Des serveurs <> pour FreeBSD fonctionnent aux sites suivants: [[portsnap]] == Utiliser Portsnap [[portsnap-intro]] === Introduction Portsnap est un système de distribution sécurisée du catalogue des logiciels portés de FreeBSD. Approximativement chaque heure, un "instantané" du catalogue des logiciels portés est généré, rassemblé et signé de manière chiffrée. Les fichiers résultants sont alors distribués par l'intermédiaire du protocole HTTP. Tout comme CVSup, Portsnap utilise un modèle de mise à jour de type _pull_: le catalogue des logiciels portés packagé et signé est placé sur un serveur Web qui attend les requêtes des clients. Les utilisateurs doivent soit exécuter manuellement man:portsnap[8] pour télécharger les mises à jour, soit configurer man:cron[8] pour un téléchargement régulier et automatique des mises à jour. Pour des raisons techniques, Portsnap ne met pas à jour le catalogue des logiciels portés directement dans le répertoire [.filename]#/usr/ports#; le logiciel travaille plutôt par défaut sur une version compressée de l'arborescence des logiciels portés dans le répertoire [.filename]#/var/db/portsnap#. Cette copie compressée est ensuite utilisée pour mettre à jour le catalogue des logiciels portés. [NOTE] ==== Si Portsnap est installé à partir du catalogue des logiciels portés de FreeBSD, alors l'emplacement par défaut pour son instantané compressé sera [.filename]#/usr/local/portsnap# au lieu de [.filename]#/var/db/portsnap#. ==== [[portsnap-install]] === Installation Sous FreeBSD 6.0 et les versions plus récentes, Portsnap fait partie du système de base de FreeBSD. Sous des versions plus anciennes de FreeBSD, il peut être installé à partir du logiciel porté package:ports-mgmt/portsnap[]. [[portsnap-config]] === Configuration de Portsnap L'exécution de Portsnap est contrôlée par le fichier de configuration [.filename]#/etc/portsnap.conf#. Pour la plupart des utilisateurs, le fichier de configuration par défaut sera suffisant; pour plus de détails, consultez la page de manuel man:portsnap.conf[5]. [NOTE] ==== Si Portsnap est installé à partir du catalogue des logiciels portés, il utilisera [.filename]#/usr/local/etc/portsnap.conf# comme fichier de configuration au lieu de [.filename]#/etc/portsnap.conf#. Ce fichier n'est pas créé lors de l'installation du logiciel, mais un fichier d'exemple est fourni; pour le copier à son emplacement correct, utilisez la commande suivante: [source,shell] .... # cd /usr/local/etc cp portsnap.conf.sample portsnap.conf .... ==== === Exécuter Portsnap pour la première fois Au premier lancement de la commande man:portsnap[8], il sera nécessaire de télécharger un instantané compressé de l'intégralité de l'arborescence des logiciels portés dans [.filename]#/var/db/portsnap# (ou [.filename]#/usr/local/portsnap# si Portsnap a été installé à partir du catalogue des logiciels portés). Au début de l'année 2006, cela représentait un téléchargement d'environ 41 Mo. [source,shell] .... # portsnap fetch .... Une fois que l'instantané compressé a été récupéré, une copie utilisable de l'arborescence des logiciels portés peut être extraite dans le répertoire [.filename]#/usr/ports#. Cela est nécessaire même si une arborescence a déjà été créée dans ce répertoire (par exemple en utilisant CVSup), puisque cela met en place une version de référence à partir de laquelle `portsnap` peut déterminer plus tard quelles parties du catalogue des logiciels portés a besoin d'une mise à jour. [source,shell] .... # portsnap extract .... [NOTE] ==== Dans l'installation par défaut de FreeBSD [.filename]#/usr/ports# n'est pas créé. Si vous utilisez FreeBSD 6.0-RELEASE, ce répertoire doit être créé avant d'utiliser la commande `portsnap`. Sur les versions de FreeBSD plus récentes ou de Portsnap, cette création est effectuée automatiquement à la premiere utilisation de la commande `portsnap`. ==== === Mettre à jour l'arborescence des logiciels portés Après qu'un instantané initial du catalogue des logiciels portés ait été récupéré puis décompressé dans le répertoire [.filename]#/usr/ports#, la mise à jour du catalogue se divise en deux étapes: la récupération (_fetch_) des mises à jour de l'instantané, et leur utilisation pour mettre à jour (_update_) le catalogue des logiciels portés en tant que tel. Ces deux étapes peuvent être effectuées par l'intermédiaire d'une seule commande `portsnap`: [source,shell] .... # portsnap fetch update .... [NOTE] ==== Des versions anciennes de `portsnap` ne supporte pas cette syntaxe; en cas d'échec, utilisez à la place ceci: [source,shell] .... # portsnap fetch # portsnap update .... ==== === Exécuter Portsnap à partir de cron Afin d'éviter tout problème "d'embouteillage" lors de l'accès aux serveurs Portsnap, `portsnap fetch` ne fonctionnera pas à partir d'une tâche man:cron[8]. Il existe, à la place, une commande `portsnap cron` spécifique, qui patiente durant un délai aléatoire pouvant aller jusqu'à 3600 secondes avant de récupérer les mises à jour. De plus, il est fortement recommandé de ne pas exécuter `portsnap update` à partir d'une tâche `cron`, puisque cela peut être à l'origine de graves problèmes si la commande a lieu au même moment qu'un logiciel porté est en train d'être compilé ou installé. Cependant, les fichiers [.filename]#INDEX# peuvent être mis à jour sans risque, et cela peut être fait en passant l'indicateur `-I` à la commande `portsnap` (bien entendu si `portsnap -I update` est exécuté à par `cron`, il sera alors nécessaire de lancer `portsnap update` sans l'option `-I` ultérieurement pour mettre à jour le reste de l'arborescence). L'ajout de la ligne suivante dans le fichier [.filename]#/etc/crontab# demandera à `portsnap` de mettre à jour son instantané compressé et les fichiers [.filename]#INDEX# du répertoire [.filename]#/usr/ports#, et enverra un courrier électronique si un logiciel porté installé n'est pas à jour: [.programlisting] .... 0 3 * * * root portsnap -I cron update pkg_version -vIL= .... [NOTE] ==== Si l'horloge système n'est pas positionnée sur le fuseau horaire local, remplacez `3` par une valeur quelconque comprise entre 0 et 23, afin de répartir de manière plus équilibrée la charge sur les serveurs Portsnap. ==== [NOTE] ==== Des versions anciennes de `portsnap` ne supportent pas l'utilisation de commandes multiples (par exemple `cron update`) lors de la même invocation de `portsnap`. Si la ligne précédente échoue, essayez de remplacer `portsnap -I cron update` par `portsnap cron portsnap -I update`. ==== [[cvs-tags]] == Etiquettes CVS Quand on récupère ou l'on met à jour les sources en utilisant cvs ou CVSup, une étiquette de révision doit être spécifiée. Une étiquette de révision fait référence soit à une branche particulière de développement de FreeBSD, soit à un moment particulier dans le temps. Le premier type d'étiquette est nommé "étiquette de branche", le second type "étiquette de publication" - _release tags_. === Etiquettes de branche Toutes ces étiquettes, à l'exception de l'étiquette `HEAD` (qui est une étiquette toujours valide), ne s'appliquent qu'à l'arborescence [.filename]#src/#. Il n'y a pas de branche pour les arborescences [.filename]#ports/#, [.filename]#doc/#, et [.filename]#www/#. HEAD:: Nom symbolique pour la branche principale de développement, ou FreeBSD-CURRENT. C'est aussi la valeur par défaut lorsque la révision n'est pas précisée. + Sous CVSup, cette étiquette est représentée par un `.` (ce n'est pas une ponctuation, mais bien le caractère `.`). + [NOTE] ==== Sous CVS, c'est la valeur par défaut quand aucune étiquette de révision n'est précisée. Ce n'est généralement _pas_ une bonne idée de récupérer ou mettre à jour vers les sources CURRENT sur une machine STABLE, à moins que cela ne soit vraiment votre intention. ==== RELENG_6:: Branche de développement pour FreeBSD-6.X, également connue sous le nom de FreeBSD 6-STABLE. RELENG_6_2:: Branche de publication de la version FreeBSD-6.2, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_6_1:: Branche de publication de la version FreeBSD-6.1, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_6_0:: Branche de publication de la version FreeBSD-6.0, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_5:: Branche de développement pour FreeBSD-5.X, également connue sous le nom de FreeBSD 5-STABLE. RELENG_5_5:: Branche de publication de la version FreeBSD-5.5, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_5_4:: Branche de publication de la version FreeBSD-5.4, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_5_3:: Branche de publication de la version FreeBSD-5.3, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_5_2:: Branche de publication des versions FreeBSD-5.2 et FreeBSD-5.2.1, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_5_1:: Branche de publication de la version FreeBSD-5.1, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_5_0:: Branche de publication de la version FreeBSD-5.0, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4:: Branche de développement de FreeBSD-4.X, aussi connue sous le nom de FreeBSD 4-STABLE. RELENG_4_11:: Branche de publication de la version FreeBSD-4.11, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_10:: Branche de publication de la version FreeBSD-4.10, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_9:: Branche de publication de la version FreeBSD-4.9, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_8:: Branche de publication de la version FreeBSD-4.8, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_7:: Branche de publication de la version FreeBSD-4.7, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_6:: Branche de publication des versions FreeBSD-4.6 et FreeBSD-4.6.2, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_5:: Branche de publication de la version FreeBSD-4.5, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_4:: Branche de publication de la version FreeBSD-4.4, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_4_3:: Branche de publication de la version FreeBSD-4.3, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques. RELENG_3:: Branche de développement de FreeBSD-3.X, aussi connue sous le nom de 3.X-STABLE. RELENG_2_2:: Branche de développement de FreeBSD-2.2.X, aussi connue sous le nom de 2.2-STABLE. Cette branche est en grande partie obsolète. === Etiquettes de publication Ces étiquettes font référence à un moment bien précis dans le temps quand une version particulière de FreeBSD a été publiée. Le processus d'ingénierie des publications est documenté en détails dans les documents link:https://www.FreeBSD.org/releng/[Information sur la publication des versions] et link:{releng}#release-proc/[Processus de publication]. L'arborescence [.filename]#src# utilise des étiquettes commençant par `RELENG_`. Les arborescences [.filename]#ports# et [.filename]#doc# utilisent des étiquettes dont les noms commencent par `RELEASE`. Enfin, l'arborescence [.filename]#www# ne bénéficie pas d'étiquette particulière pour les publications. RELENG_6_2_0_RELEASE:: FreeBSD 6.2 RELENG_6_1_0_RELEASE:: FreeBSD 6.1 RELENG_6_0_0_RELEASE:: FreeBSD 6.0 RELENG_5_5_0_RELEASE:: FreeBSD 5.5 RELENG_5_4_0_RELEASE:: FreeBSD 5.4 RELENG_4_11_0_RELEASE:: FreeBSD 4.11 RELENG_5_3_0_RELEASE:: FreeBSD 5.3 RELENG_4_10_0_RELEASE:: FreeBSD 4.10 RELENG_5_2_1_RELEASE:: FreeBSD 5.2.1 RELENG_5_2_0_RELEASE:: FreeBSD 5.2 RELENG_4_9_0_RELEASE:: FreeBSD 4.9 RELENG_5_1_0_RELEASE:: FreeBSD 5.1 RELENG_4_8_0_RELEASE:: FreeBSD 4.8 RELENG_5_0_0_RELEASE:: FreeBSD 5.0 RELENG_4_7_0_RELEASE:: FreeBSD 4.7 RELENG_4_6_2_RELEASE:: FreeBSD 4.6.2 RELENG_4_6_1_RELEASE:: FreeBSD 4.6.1 RELENG_4_6_0_RELEASE:: FreeBSD 4.6 RELENG_4_5_0_RELEASE:: FreeBSD 4.5 RELENG_4_4_0_RELEASE:: FreeBSD 4.4 RELENG_4_3_0_RELEASE:: FreeBSD 4.3 RELENG_4_2_0_RELEASE:: FreeBSD 4.2 RELENG_4_1_1_RELEASE:: FreeBSD 4.1.1 RELENG_4_1_0_RELEASE:: FreeBSD 4.1 RELENG_4_0_0_RELEASE:: FreeBSD 4.0 RELENG_3_5_0_RELEASE:: FreeBSD-3.5 RELENG_3_4_0_RELEASE:: FreeBSD-3.4 RELENG_3_3_0_RELEASE:: FreeBSD-3.3 RELENG_3_2_0_RELEASE:: FreeBSD-3.2 RELENG_3_1_0_RELEASE:: FreeBSD-3.1 RELENG_3_0_0_RELEASE:: FreeBSD-3.0 RELENG_2_2_8_RELEASE:: FreeBSD-2.2.8 RELENG_2_2_7_RELEASE:: FreeBSD-2.2.7 RELENG_2_2_6_RELEASE:: FreeBSD-2.2.6 RELENG_2_2_5_RELEASE:: FreeBSD-2.2.5 RELENG_2_2_2_RELEASE:: FreeBSD-2.2.2 RELENG_2_2_1_RELEASE:: FreeBSD-2.2.1 RELENG_2_2_0_RELEASE:: FreeBSD-2.2.0 [[mirrors-afs]] == Sites AFS Il y a des serveurs AFS pour FreeBSD sur les sites suivants: Suède:: Le chemin d'accès au fichiers est [.filename]#/afs/stacken.kth.se/ftp/pub/FreeBSD/# + [.programlisting] .... stacken.kth.se # Stacken Computer Club, KTH, Suède 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se .... + Responsable mailto:ftp@stacken.kth.se[ftp@stacken.kth.se] [[mirrors-rsync]] == Sites rsync Les sites suivants fournissent FreeBSD en utilisant le protocole rsync. L'utilitaire rsync fonctionne globalement de la même manière que la commande man:rcp[1], mais il dispose de plus d'options et utilise le protocole de mise à jour à distance rsync qui ne transfert que les différences entre deux ensembles de fichiers, ce qui accélère énormément la synchronisation par le réseau. C'est surtout utile si vous disposez d'un miroir du serveur FTP de FreeBSD, ou du référentiel CVS. La suite rsync est disponible sur de nombreux systèmes d'exploitation, et sous FreeBSD, voir le logiciel porté package:net/rsync[] ou utilisez la version pré-compilée. République Tchèque:: rsync://ftp.cz.FreeBSD.org/ + Collections disponibles: ** ftp: un miroir partiel du serveur FTP FreeBSD. ** FreeBSD: un miroir complet du serveur FTP FreeBSD. Allemagne:: rsync://grappa.unix-ag.uni-kl.de/ + Collections disponibles: ** freebsd-cvs: référentiel CVS FreeBSD complet. + Cette machine est également miroir des référentiels CVS des projets NetBSD et OpenBSD, parmi d'autres. Hollande:: rsync://ftp.nl.FreeBSD.org/ + Collections disponibles: ** vol/4/freebsd-core: un miroir complet du serveur FTP FreeBSD. Thailande:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Collections disponibles: ** FreeBSD: Un miroir complet du serveur FTP FreeBSD. Royaume-Uni:: rsync://rsync.mirror.ac.uk/ + Collections disponibles: ** ftp.freebsd.org: Un miroir complet du serveur FTP FreeBSD. Etats Unis d'Amérique:: rsync://ftp-master.FreeBSD.org/ + Ce serveur ne pourra être utilisé que par les sites miroirs primaires FreeBSD. + Collections disponibles: ** FreeBSD: l'archive principale du serveur FTP FreeBSD. ** acl: la liste principale ACL de FreeBSD. + rsync://ftp13.FreeBSD.org/ + Collections disponibles: + ** FreeBSD: Un miroir complet du serveur FTP FreeBSD. diff --git a/documentation/content/hu/books/handbook/mirrors/_index.adoc b/documentation/content/hu/books/handbook/mirrors/_index.adoc index 6f4862e568..474fd6df33 100644 --- a/documentation/content/hu/books/handbook/mirrors/_index.adoc +++ b/documentation/content/hu/books/handbook/mirrors/_index.adoc @@ -1,1655 +1,1654 @@ --- title: A. Függelék - A FreeBSD beszerzése part: V. Rész - Függelék prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = A FreeBSD beszerzése :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Tartalom :table-caption: Táblázat :figure-caption: Ábra :example-caption: Példa :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/hu/mailing-lists.adoc[] include::shared/hu/teams.adoc[] include::shared/hu/urls.adoc[] [[mirrors-cdrom]] == CD és DVD kiadók === Kiskereskedelmi dobozos termékek A FreeBSD beszerezhetõ számos kiskereskedõtõl dobozos termék formájában is (FreeBSD CD-k, egyéb szoftverek és nyomtatott dokumentáció): * CompUSA + WWW: http://www.compusa.com/ * Frys Electronics + WWW: http://www.frys.com/ === CD- és DVD-készletek FreeBSD CD- és DVD-készletek rengeteg helyrõl rendelhetõek: * FreeBSD Mall, Inc. + 700 Harvest Park Ste F + Brentwood, CA 94513 + Egyesült Államok + Telefon: +1 925 240-6652 + Fax: +1 925 674-0821 + e-mail: + WWW: http://www.freebsdmall.com/ * Dr. Hinner EDV + St. Augustinus-Str. 10 + D-81825 München + Németország + Telefon: (089) 428 419 + WWW: http://www.hinner.de/linux/freebsd.html * Ikarios + 22-24 rue Voltaire + 92000 Nanterre + Franciaország + WWW: http://ikarios.com/form/#freebsd * JMC Software + Írország + Telefon: 353 1 6291282 + WWW: http://www.thelinuxmall.com * The Linux Emporium + Hilliard House, Lester Way + Wallingford + OX10 9TA + Egyesült Királyság + Telefon: +44 1491 837010 + Fax: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/bsd/ * Linux+ DVD Magazine + Lewartowskiego 6 + Warsaw + 00-190 + Lengyelország + Telefon: +48 22 860 18 18 + e-mail: + WWW: http://www.lpmagazine.org/ * Linux System Labs Australia + 21 Ray Drive + Balwyn North + VIC - 3104 + Ausztrália + Telefon: +61 3 9857 5918 + Fax: +61 3 9857 8974 + WWW: http://www.lsl.com.au * LinuxCenter.Ru + Galernaya utca, 55 + Szentpétervár + 190000 + Oroszország + Telefon: +7-812-3125208 + e-mail: + WWW: http://linuxcenter.ru/shop/freebsd === Terjesztõk Ha viszonteladók vagyunk és szeretnénk CD-s FreeBSD termékeket forgalmazni, akkor az alábbi terjesztõk valamelyikével vegyük fel a kapcsolatot: * Cylogistics + 809B Cuesta Dr., #2149 + Mountain View, CA 94040 + Egyesült Államok + Telefon: +1 650 694-4949 + Fax: +1 650 694-4953 + e-mail: + WWW: http://www.cylogistics.com/ * Ingram Micro + 1600 E. St. Andrew Place + Santa Ana, CA 92705-4926 + Egyesült Államok + Telefon: 1 (800) 456-8000 + WWW: http://www.ingrammicro.com/ * Kudzu, LLC + 7375 Washington Ave. S. + Edina, MN 55439 + Egyesült Államok + Telefon: +1 952 947-0822 + Fax: +1 952 947-0876 + e-mail: * LinuxCenter.Kz + Uszty-Kamenogorszk + Kazahsztán + Telefon: +7-705-501-6001 + e-mail: + WWW: http://linuxcenter.kz/page.php?page=fr * LinuxCenter.Ru + Galernaya utca, 55 + Szentpétervár + 190000 + Oroszország + Telefon: +7-812-3125208 + e-mail: + WWW: http://linuxcenter.ru/freebsd * Navarre Corp + 7400 49th Ave South + New Hope, MN 55428 + Egyesült Államok + Telefon: +1 763 535-8333 + Fax: +1 763 535-0341 + WWW: http://www.navarre.com/ [[mirrors-ftp]] == FTP oldalak A FreeBSD hivatalos forrásai anonim FTP-n keresztül is elérhetõek különféle tükrözésekrõl. Az link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] oldal ugyan jó minõségû kapcsolattal rendelkezik és rengeteg felhasználót is enged egyidejûleg kapcsolódni, azonban valószínûleg jobban járunk, ha egy "hozzánk közelebbi" tükrözést választunk (különösen abban az esetben, amikor mi magunk is egy tükrözést akarunk készíteni). A http://mirrorlist.FreeBSD.org/[FreeBSD tükrözések adatbázisá]ban az itt megtalálhatónál sokkal pontosabb leltárt kaphatunk az elérhetõ tükrözésekrõl, mivel közvetlenül a névfeloldás segítségével állapítja meg a szükséges adatokat és nem egy rögzített listát tárol. Emellett az alábbi tükrözésekrõl a FreeBSD elérhetõ anonim FTP-n keresztül is. Amennyiben az anonim FTP használata mellett döntenénk, igyekezzünk a hozzánk legközelebb levõ szervert használni. Az "Elsõdleges tükrözésekként" feltüntetett oldalak általában a teljes FreeBSD archívumot tartalmazzák (az összes jelenleg elérhetõ változatot az összes architektúrára), de a környékünkön vagy országunkban elhelyezkedõ tükörszerverekrõl többnyire gyorsabban tudunk majd letölteni. A regionális oldalakon gyakorta csak a népszerûbb architektúrákon futó népszerûbb változatokat találjuk meg, nem a teljes FreeBSD archívumot. Minden szerver elérhetõ anonim FTP-vel, de közülük néhány még további más módszereket is támogat. Az egyes oldalak által ismert konkrét módszereket a nevük után zárójelben közüljük. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) == BitTorrent Az egyes kiadásokhoz tartozó alap CD-készletek BitTorrent segítségével is elérhetõek. A lemezek képeire hivatkozó torrent állományokat a http://torrents.freebsd.org:8080[http://torrents.freebsd.org:8080] címrõl tölthetjük le. A BitTorrent kliens telepíthetõ a package:net-p2p/py-bittorrent[] portból vagy csomagból. Miután sikeresen letöltöttük BitTorrenten keresztül a lemezképeket, a crossref:disks[burncd,burncd] nyújthat segítséget abban, hogy kell ezeket lemezre írni. [[anoncvs]] == Anonim CVS [[anoncvs-intro]] === Bevezetés Az anonim CVS (vagy más néven _anoncvs_) a FreeBSD-hez mellékelt CVS-es segédprogramok által nyújtott olyan lehetõség, amivel távoli CVS repositorykkal tudunk szinkronizálni. Több más dolog mellett lehetõvé teszi a FreeBSD felhasználói számára, hogy kiemelt jogosultságok nélkül képesek legyenek olvasással kapcsolatos CVS mûveleteket végrehajtani a FreeBSD Projekt hivatalos anoncvs szerverein. A használatához egyszerûen csak a kiválasztott anoncvs szervert kell beállítani a `CVSROOT` környezeti változó értékének, ahol aztán a `cvs login` parancsnak a szerver által ismert "anoncvs" jelszót kell megadni. Ezután a man:cvs[1] paranccsal a többi CVS szerverhez hasonlóan lehetõségünk nyílik hozzáférni. [NOTE] ==== A `cvs login` parancs a bejelentkezésekhez szükséges jelszavakat a `HOME` könyvtárunkban levõ [.filename]#.cvspass# állományban tárolja. Ha ez az állomány nem létezik, akkor a `cvs login` elsõ használatakor hibát kapunk. Ilyenkor csak hozzunk létre egy üres [.filename]#.cvspass# állományt, majd próbálkozzunk újra. ==== Habár azt mondhatnánk, hogy a <> és az _anoncvs_ lényegében egyazon feladatot oldják meg, mind a két esetben léteznek olyan kompromisszumok, amelyek befolyásolhatják a felhasználó választását a két szinkronizációs módszer között. Dióhéjban ezt úgy tudnánk összefoglalni, hogy a CVSup a hálózati erõforrásokat hatékonyabban kihasználja és kettejük közül ez a fejlettebb, azonban ennek meg kell fizetnünk az árát. A CVSup használatához elõször ugyanis telepítenünk kell és be kell állítanunk egy speciális klienst, illetve az adatokat a CVSup által _gyûjteményeknek_ (collection) nevezett, viszonylag nagy méretû egyeségekben érhetjük el. Ezzel szemben az anoncvs használata során a megfelelõ CVS modul nevének felhasználásával tetszõlegesen megvizsgálhatunk önálló állományokat vagy akár programokat (mint az `ls` vagy a `grep`). Természetesen az anoncvs segítségével csupán az olvasást igénylõ CVS mûveleteket végezhetjük el, ezért ha a FreeBSD Projekt keretein belül fejleszteni is szeretnénk, akkor inkább érdemes a CVSup alkalmazást választani. [[anoncvs-usage]] === Az anonim CVS használata A man:cvs[1] parancsot nagyon könnyû beállítani az anonim CVS repositoryk használatához, hiszen mindössze annyit kell tennünk, hogy a `CVSROOT` környezeti változó értékének megadjuk a FreeBSD Projekt valamelyik _anoncvs_ szerverét. Ezen sorok írásának pillanatában a következõ szerverek érhetõek el: * _Franciaország_: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver módban a jelszó "anoncvs", az SSH pedig nincs jelszó) * _Tajvan_: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver módban a `cvs login` használatával tetszõleges jelszó megadható, az SSH esetén pedig nincs jelszó) + [.programlisting] .... SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub .... * _Egyesült Államok_: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (csak SSH v2 - nincs jelszó) + [.programlisting] .... SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub .... Mivel a CVS használatával "kikérhetjük" (check out) tulajdonképpen a FreeBSD forrásainak akármelyik eddigi (vagy majd ezután keletkezõ) változatát, érdemes megismerkednünk a man:cvs[1] által alkalmazott revízió (revision) (az `-r` opcióval állítható) fogalmával és a FreeBSD Projekt repositoryjain belül engedélyezett értékeivel. Címkéket (tag) két esetben használhatunk: a revíziók és az ágak esetén. A revíziós címkék mindig egy adott revízióra hivatkoznak, ami állandóan ugyanazt jelenti. Ezzel szemben az ágak címkéi a fejlesztés adott irányú menetének az adott pillanatban legfrissebb revízióját hivatkozzák. Mivel az ágak címkéi nem egy adott revízióra vonatkoznak, ezért elmondhatjuk róluk, hogy naponta változik a jelentésük. Az <> tartalmazza a felhasználók számára fontos revíziós címkéket. Ezek azonban nem igazak a Portgyûjteményre, mivel a Portgyûjteménynek nincs egyszerre több fejlesztési iránya. Egy ág címkéjének megadásával általában az adott irányhoz tartozó állományok legfrissebb változatát kapjuk meg. Ha viszont az állományok egy korábbi változatára lenne szükségünk, akkor a `-D dátum` opció megadásával meg tudjuk adni annak idõpontját. Errõl részletesebben a man:cvs[1] man oldalán olvashatunk. === Példák Habár a továbbhaladáshoz mindenképpen javasoljuk a man:cvs[1] man oldalának részletes áttanulmányozását, mutatunk néhány gyors példát az anonim CVS használatának tömör illusztrálására: .Valami (az man:ls[1]) kikérése a -CURRENT ágból [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login "Jelszóként" ezután bármit megadhatunk. % cvs co ls .... ==== .Az [.filename]#src/# fa kikérése SSH-n keresztül [example] ==== [source,shell] .... % cvs -d anoncvs@anoncvs1.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established. DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts. .... ==== .Az man:ls[1] 6-STABLE ágban szereplõ változatának kikérése [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Amikor kéri, "jelszóként" bármit megadhatunk. % cvs co -rRELENG_6 ls .... ==== .Az man:ls[1] változásainak (Unified Diff formátumú) listázása [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Itt "jelszóként" bármit megadhatunk. % cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls .... ==== .A használható modulok nevének kiderítése [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Ezután "jelszóként" bármit megadhatunk. % cvs co modules % more modules/modules .... ==== === Egyéb helyek A következõ helyeken találhatunk még hasznos információkat a CVS használatáról: * http://users.csc.calpoly.edu/~gfisher/classes/308/handouts/cvs-basics.html[A CVS bemutatása] (forrás: Kaliforna Állami Mûszaki Egyetem). * http://ximbiot.com/cvs/wiki/[A CVS honlapja], a CVS fejlesztésével és alkalmazásával foglalkozó közösség oldala. * A http://www.FreeBSD.org/cgi/cvsweb.cgi[CVSweb] a FreeBSD Projekt által használt CVS rendszerének webes felülete. [[ctm]] == A CTM használata A CTM használatáva a távoli könyvtárakat tudunk egy központi változattal szinkronban tartani. Eredetileg a FreeBSD forrásaihoz fejlesztették ki, de idõvel mások más célokra is alkalmasnak találhatják majd. Az eltérések (delták) feldolgozásával kapcsolatban kevéske dokumentáció áll rendelkezésre, ezért a link:{ctm-users-url}[ctm-users-desc] levelezési listát érdemes felkeresni, ha többet szeretnénk megtudni a CTM egyéb célú alkalmazásairól. === Miért használnánk a CTM-et? A CTM segítségével a FreeBSD forrásainak helyi másolatát hozhatjuk létre. A források több különbözõ "kivitelben" is hozzáférhetõek. A CTM minden esetben képes eleget tenni az igényeinknek, akár az egész CVS fát, akár annak egy részét kívánjuk csak figyelemmel követni. Ha netalán FreeBSD fejlesztõk lennénk, és híján vagyunk vagy éppen gyenge TCP/IP kapcsolattal rendelkezünk, esetleg egyszerûen csak automatikusan értesülni szeretnénk a változásokról, a CTM-et nekünk találták ki. A leggyorsabban fejlõdõ ágakból is naponta legfeljebb három deltát fogunk kapni, azonban érdemes megfontolni a változások automatikus elküldését levélben. A szükséges frissítések méretét mindig igyekszünk minimalizálni. Ez egyébként általában alig 5 KB, de néha (tízbõl egyszer) elõfordul, hogy 10 és 50 KB között van, és idõnként 100 KB vagy afeletti mennyiségû frissítés is érkezhet. Amikor a fejlesztõk által használt forrásokat töltjük le, magunknak kell gondoskodnunk a menet közben felmerülõ különbözõ problémák megoldásáról. Ez kiváltképp igaz abban az esetben, amikor az aktuális, vagy hivatalos nevén "CURRENT" ágat követjük. Mielõtt azonban egy ilyenbe belevágnánk, érdemes fellapozni a crossref:cutting-edge[current,FreeBSD legfrissebb változatának használatáról] szóló fejezetet. === Mire van szükségünk a CTM használatához? A mûködéshez két komponens szükségeltetik: a CTM kliensprogramja és hozzá a kezdeti delták (amivel majd letöltjük a "CURRENT" forrásait). A CTM program már a 2.0 kiadástól kezdve a FreeBSD része, és a források között a [.filename]#/usr/src/usr.sbin/ctm# könyvtárban találjuk meg (amennyiben felraktuk). A CTM mûködéséhez kellõ "deltákat" két módon, FTP-n vagy e-mailen keresztül szerezhetjük be. Ha el tudunk érni interneten levõ FTP oldalakat, akkor az alábbi FTP helyeken találunk a CTM-hez használható adatokat: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] valamint lásd a <>. FTP-n keresztül lépjünk be a könyvtárba, töltsük le a [.filename]#README# nevû állományt és kövessük a benne szereplõ utasításokat. Ha viszont e-mailen keresztül akarjuk megszerezni a deltákat: Iratkozzunk fel a CTM terjesztési listáinak egyikére. A link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] lista az egész CVS-fát, míg a link:{ctm-src-cur-url}[ctm-src-cur-desc] a fõ fejlesztési ágat teszi elérhetõvé. A {ctm-src-4} a 4.X kiadásaihoz ágakat tartalmazza, és így tovább. (Ha nem tudjuk, hogyan kell feliratkozni egy levelezési listára, akkor kattintsunk a lista nevére vagy kövessük a {mailman-lists-url} linket, majd kattintsunk arra a listára, ahova fel akarunk iratkozni. Ezen az oldalon az összes, a feliratkozáshoz nélkülözhetetlen információnak szerepelnie kell.) Miután elkezdenek megérkezni a CTM-frissítéseket tartalmazó levelek, a tartalmukat a `ctm_rmail` programmal tudjuk kicsomagolni és felhasználni. Az [.filename]#/etc/aliases# állományba akár közvetlenül is beírhatjuk a `ctm_rmail` programot, és ezzel a önállósítani tudjuk a levélben érkezõ frissítések feldolgozását. A `ctm_rmail` man oldalán olvashatjuk ennek részleteit. [NOTE] ==== Nem számít, milyen módon jutunk hozzá a CTM által használt deltákhoz, minden esetben fel kell iratkoznunk a link:{ctm-announce-url}[ctm-announce-desc] levelezési listára. Az elkövetkezendõkben ez lesz az egyetlen hely, ahová a CTM rendszer mûködtetésével kapcsolatos bejelentések beküldésre kerülnek. A feliratkozáshoz kattinsunk a fenti lista nevére és kövessük a mellette szereplõ utasításokat. ==== === A CTM elsõ használata Mielõtt nekilátnánk a CTM-hez tartozó delták használatának, elõször el kell jutnunk egy kiindulási ponthoz, ahonnan majd létre tudjuk hozni a rákövetkezõ deltákat. Ehhez elsõként vegyük számba, pontosan mink is van. Általában mindenki egy "üres" könyvtárral kezd. Ilyenkor egy kezdeti "Empty" (mint "üres") elnevezésû deltával tudjuk megkezdeni az CTM által ismert fa szinkronizálását. Erre a célra lesznek majd szintén alkalmasak a "megkezdett" delták is, amelyek valamikor a CD-re fognak felkerülni. Mivel a fák maguk több tíz megabyte-nyi méretûek, ezért érdemes inkább valami kéznél levõ eszközzel megkezdeni a folyamatot. Ha van -RELEASE verziójú CD-nk, akkor másoljuk le róla és bontsuk ki a kiindulásként használt forrásokat. Ezzel jelentõs mennyiségû adat átvitelét takaríthatjuk meg. A "kezdõ" deltákat könnyen megismerjük a szám után `X` karakterrel leválasztott nevükrõl (például [.filename]#src-cur.3210XEmpty.gz#). Az `X` után szereplõ megnevezés a kezdeti "kiindulás" (seed) fokának felel meg. Az [.filename]#Empty# egy üres könyvtárra utal. A szabályok szerint az `Empty` állapotból 100 deltánként jön létre újabb (kiindulásra alkalmas) alapváltozat. Ezek azonban nagyon nagyok is lehetnek. A 70 vagy 80 megabyte-os ``gzip``pel csomagolt adatok gyakoriak az [.filename]#XEmpty# delták esetén. Miután kiválasztottuk a számunkra megfelelõ alapváltozatot, szükségünk lesz a tõle nagyobb sorszámú összes deltára is. === A CTM használata a hétköznapokban A delták felhasználásához egyszerûen csak ennyit kell tennünk: [source,shell] .... # cd /ahol/tárolni/akarjuk/az/adatokat # ctm -v -v /ahol/tároljuk/a/deltákat/src-xxx.* .... A CTM képes értelmezni a `gzip` által csomagolt adatokat, ezért nincs szükség a delták elõzetes kitömörítésére, amivel tárhelyet tudunk spórolni. Hacsak nem tekinti tökéletesen biztonságosnak az egész folyamatot, akkor a CTM nem fog módosítani a fán. A deltákat a CTM `-c` kapcsolójával is ellenõrizhetjük, aminek során egyáltalán nem fog módosulni a forrásfa. Ekkor egyszerûen csak ellenõrzi a delták sértetlenségét és megnézi, hogy minden rendben zajlana-e az alkalmazásuk során. A CTM-nek vannak még további kapcsolói is, melyekrõl bõvebben a man oldalakból és a forráskódokból tájékozódhatunk. Most már minden megvan, ami kellhet. Amikor kapunk egy újabb deltát, a forrásaink frissítéséhez csak futtassuk át a CTM-en. Ne töröljük le azokat a deltákat, melyeket nehezen tudtunk letölteni. Helyette érdemes inkább megtartani ezeket arra az esetre, ha valami rossz történne. Még ha csak floppylemezek is állnak rendelkezésünkre, mindenképpen másoljuk le ezeket az `fdwrite` paranccsal. === A saját változtatásaink megtartása Fejlesztõként biztosan szeretnénk kísérletezni és állományokat megváltoztatni a forrásfában. A CTM a helyben elkövetett változtatásokat csak korlátozottan támogatja: az [.filename]#ize# nevû állomány meglétének vizsgálata elõtt az [.filename]#ize.ctm# állományt fogja keresni. Ha létezik, akkor a CTM az [.filename]#ize# helyett ezen fog dolgozni. Ezzel a viselkedéssel nyerjük a saját változtatásaink megtartásának egyszerû módját: csak másoljuk le [.filename]#.ctm# kiterjesztéssel a módosítani tervezett állományokat. Ezután már szabadon módosíthatjuk a forrásokat, miközben a CTM a [.filename]#.ctm# kiterjesztésû állományokat folyamatosan szinkronban tartja. === A CTM egyéb érdekes beállításai ==== Derítsük ki pontosan miket is fog érinteni a frissítés A CTM által a forrásokon elvégzendõ változtatások listáját az `-l` kapcsolóval kérdezhetjük le. Ez akkor esik kézre, ha szeretnénk feljegyezni a bekövetkezõ változásokat, vagy bármilyen módon elõ- vagy utófeldolgozni a módosított állományokat, esetleg szimplán elõvigyázatosak akarunk lenni. ==== Biztonsági másolat készítése a frissítés elõtt Néha egyszerûen csak szeretnénk az összes érintett állományról biztonsági másolatot készíteni a CTM által elvégzett frissítés elõtt. A `-B _mentés-állomány_` beállítás megadásával az adott CTM delta által módosítandó összes állomány tárolásra kerül a _mentés-állomány_ nevû állományba. ==== A frissíthetõ állományok korlátozása Egyes esetekben érdekünkben állhat leszûkíteni a CTM által eszközölt frissítések hatáskörét, vagy egyszerûen csak néhány állomány szinkronizálására van szükségünk. A CTM számára feldolgozható állományok listáját reguláris kifejezés formájában az `-e` és `-x` opciók mentén határozhatjuk meg. Például ha a [.filename]#lib/libc/Makefile# állomány az összegyûjtött CTM delták szerinti legfrissebb verziójához kívánunk hozzájutni, akkor futtassuk az alábbi parancsot: [source,shell] .... # cd /akarhova/ahova/ki/akarjuk/bontani/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... A CTM deltákban megadott minden egyes állomány esetén az `-e` az `-x` opciók a parancssorban történt megadásuk sorrendjében kerülnek feldolgozásra. Egy állományt kizárólag csak akkor dolgoz fel a CTM, ha az az `-e` és `-x` opciók kiértékelése után is indokolt. === További tervek a CTM-mel kapcsolatban Rengeteg van: * Valamiféle hitelesítés bevezetése a CTM rendszerbe, amivel észlelhetõek a meghamisított CTM-frissítések. * A CTM beállításainak letisztázása, mivel eléggé megtévesztõek és nehézkesen használhatóak. === Egyebek Léteznek delták a `portok` gyûjteményéhez is, azonban még nem mutatkozott túlzottan nagy érdeklõdés irántuk. [[mirrors-ctm]] === CTM tükrözések A <>/FreeBSD anonim FTP-n keresztül elérhetõ az alábbi tüköroldalak valamelyikérõl. Amennyiben ezen a módon kívánjuk letölteni a CTM rendszerhez tartozó állományokat, elõször próbálkozzunk a hozzánk legközelebb levõ szerverrel. Ha bármilyen gond merülne fel, értesítsük a link:{ctm-users-url}[ctm-users-desc] levelezési listát. Kalifornia, Bay Area (hivatalos forrás):: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] Dél-Afrika (a korábbi delták biztonsági másolatai):: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] Tajvan/R.O.C.:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] Ha nem találtunk volna hozzánk közel esõ tükrözést, vagy ha talált tükör nem elég friss, akkor próbálkozzunk egy olyan keresõmotor használatával, mint például az http://www.alltheweb.com/[alltheweb]. [[cvsup]] == A CVSup használata [[cvsup-intro]] === Bevezetés A CVSup távoli szervereken található központi repositorykban levõ forrásfák terjesztésére és a rajtuk keresztüli frissítésre alkalmas programcsomag. A FreeBSD forrásait egy CVS repositoryban tartják karban Kaliforniában egy fejlesztéseket tároló központi számítógépen. A CVSup segítségével a FreeBSD felhasználói könnyen szinkronban tudják vele tartani a saját forrásaikat. A CVSup az ún. _lehúzással_ frissít. Ilyenkor a kliensek csak akkor kérnek a szervertõl frissítéseket, amikor szükségük van rá, miközben a szerver passzívan várja a frissítési kérelmeket. Ennek megfelelõen tehát minden esetben a kliens kezdeményezi a frissítést, a szerver pedig önmagától sosem küld ilyeneket kéretlenül. A felhasználóknak így vagy maguknak kell meghívniuk a CVSup kliensét, vagy a frissítések rendszeres automatikus letöltéséhez be kell állítaniuk a `cron` rendszerprogramot. A CVSup kifejezés ebben az írásmódban az egész programcsomagra utal. Fõ alkotórészei a a felhasználó gépén futó `cvsup` nevû kliens, és a FreeBSD tüköroldalain futó `cvsupd` nevû szerver. A FreeBSD dokumentációjának és levelezési listáinak fürkészése során rengeteg hivatkozást találhatunk egy sup nevû alkalmazásra. A sup a CVSup elõdje volt, és hasonló célokat szolgált. A CVSup használat tekintetében nagyon hasonlít a sup-hoz, és ami azt illeti, a a `sup` konfigurációs állományaival visszafele kompatibilis formátumot használ. Mivel a CVSup sokkal gyorsabb és rugalmasabb, a supot már nem használja a FreeBSD Projekt. [NOTE] ==== A csup a CVSup C nyelven újraírt változata. Legnagyobb elõnye, hogy gyorsabb és nincs szüksége a Modula-3 nyelv futtató környezetére, ezért azt nem kell a használatához telepíteni. Ráadásul, ha a FreeBSD 6.2 vagy annál késõbbi változatát használjuk, akkor minden további nélkül a rendelkezésünkre áll, hiszen az alaprendszer része. A FreeBSD korábbi verzióinak alaprendszerei ugyan nem tartalmazzák a man:csup[1] parancsot, viszont a package:net/csup[] port vagy csomag segítségével pillanatok alatt telepíteni tudjuk. Amennyiben a csup mellett tennénk le a voksunkat, a szakasz fennmaradó részében egyszerûen hagyjuk ki a CVSup telepítésérõl szóló lépéseket és a CVSup hivatkozásait helyettesítsük a csup programmal. ==== [[cvsup-install]] === Telepítés A CVSup telepítésének legegyszerûbb módja a FreeBSD crossref:ports[ports,csomaggyûjteményében] található elõrefordított package:net/cvsup[] csomag használata. Ha viszont inkább forrásból akarjuk telepíteni a CVSupot, akkor helyette használjuk a package:net/cvsup[] portot. De legyünk elõvigyázatosak: a package:net/cvsup[] portnak szüksége van a Modula-3 rendszerre, aminek letöltése és lefordítása pedig meglehetõsen sok idõt és tárhelyet igényel. [NOTE] ==== Ha olyan gépen akarjuk használni a CVSupot, ahol nincs XFree86(TM), Xorg vagy bármilyen más ilyen szerver, akkor használjuk a package:net/cvsup-without-gui[] portot, ami nem tartalmazza a hozzá tartozó grafikus felületet. ==== Ha a FreeBSD 6.1 vagy korábbi változatain szeretnénk telepíteni a csupot, használjuk a FreeBSD crossref:ports[ports,csomaggyûjteményében] megtalálható package:net/csup[] csomagot. Ha viszont forrásból kívánjuk telepíteni a csup programot, akkor helyette használjuk a package:net/csup[] portot. [[cvsup-config]] === A CVSup beállítása A CVSup mûködését a [.filename]#supfile# elnevezésû állomány vezérli. A link:file://localhost/usr/shared/examples/cvsup/[ /usr/shared/examples/cvsup/] könyvárban találhatunk néhány példát a [.filename]#supfile# állományokra. A [.filename]#supfile# állományban szereplõ információk a CVSup használatával kapcsolatban a következõ kérdéseket válaszolják meg: * <> * <> * <> * <> * <> Az imént feltett kérdésekre a következõ szakaszokban összeállítandó [.filename]#supfile# segítségével fogunk válaszolni. Ehhez elõször bemutatjuk a [.filename]#supfile# formátumú állományok általános szerkezetét. A [.filename]#supfile# állományok szöveget tartalmaznak. A megjegyzések `#` karakterrel kezdõdnek és a sor végéig tartanak. A kizárólag csak megjegyzéseket tartalmazó vagy üres sorok nem kerülnek feldolgozásra. Az összes többi fennmaradó sorban pedig azokat az állományokat írjuk le, amelyeket a felhasználó le akar tölteni. Az ilyen fajtájú sorok egy "gyûjtemény" (collection) nevével kezdõdnek, ami állományok egy szerver által meghatározott logikai csoportjára utal. A gyûjtemény neve ennek megfelelõen elárulja a szervernek, hogy pontosan milyen állományokra van szükségünk. Ezután következik whitespace-szel elválasztva nulla vagy több mezõ, amelyek a korábban feltett kérdéseinket válaszolják meg rendre. Ezeknek a mezõknek két típusa létezik: a beállításokat és a konkrét értéket tároló mezõk. A beállításokat tároló mezõk különbözõ kulcsszavakat tartalmaznak, például a `delete` (törlés) vagy `compress` (tömörítés). Az értéket tároló mezõk is egy kulcsszóval kezdõdnek, azonban utána közvetlenül egy `=` (egyenlõségjel) jön, amelyet egy második szó követ szorosan. Így például a `release=cvs` pontosan egy ilyen értékmezõ lesz. Egy [.filename]#supfile# általában egynél több gyûjtemény letöltését írja le. Ezért az ilyen állományok felépítésének egyik módja, ha az egyes gyûjteményhez explicite megadjuk a hozzá tartozó mezõket. Azonban így a [.filename]#supfile# állományok gyorsan megnövekednek és kényelmetlenné válnak, mivel a legtöbb gyûjtemény esetén szinte ugyanazokat a mezõket kellene megadnunk. A CVSup az ilyen típusú bonyodalmak elkerülésére egy alapértelmezési megoldást javasol. A `*default` nevû álgyûjteménnyel kezdõdõ sorok segítségével meg tudunk adni olyan beállításokat és értékeket, amelyek az utána következõ gyûjtemények számára alapértelmezésnek fognak számítani a [.filename]#supfile# állományban. Az itt megadott alapértelmezések természetesen az egyes gyûjteményekben tetszõleges módon felülbírálhatóak, a mezõk magán a gyûjteményen belüli megadásával. Az állományban az alapértelmezések is megváltoztathatóak vagy bõvíthetõek további `*default` sorok hozzáadásával. Mindezek tudatában most már megkezdhetjük a crossref:cutting-edge[current,FreeBSD-CURRENT] ág tartalmának letöltésére és frissen tartására alkalmas [.filename]#supfile# állomány összeállítását. * [[cvsup-config-files]]Milyen állományokat akarunk letölteni? + A CVSupon keresztül elérhetõ állományok "gyûjteményeknek" hívott nevesített csoportokra bontva érhetõek el. A hivatkozható gyûjtemények leírását a <> találjuk. Ebben a példában most szeretnénk letölteni az egész FreeBSD rendszer forrását. Ezt a `src-all` nevû gyûjteményre hivatkozva érhetjük el. A [.filename]#supfile# állományunk létrehozásának elsõ lépéseként soronként egyet megadva felsoroljuk a letölteni kívánt gyûjteményeket (jelen esetünkben csak egyetlen egyet): + [.programlisting] .... src-all .... + * [[cvsup-config-vers]]Milyen verzióikra van szükségünk? + A CVSup használatával tulajdonképpen a források összes valaha létezett verziójához hozzá tudunk férni. Ez annak köszönhetõ, hogy a cvsupd szerver közvetlenül a CVS repositoryból dolgozik, ami pedig az összes verziót tartalmazza. A `tag=` és `date=` értékmezõk segítségével adhatjuk meg az igényelt verziókat. + [WARNING] ==== Legyünk óvatosak azonban a `tag=` mezõk helyes megadásával. Egyes címkék ugyanis csak bizonyos állománygyûjtemények esetén élnek. Ha hibás vagy elírt címkét adunk meg, akkor a CVSup törölni fog olyan állományokat, amelyeket valószínûleg nem kellene. A `ports-*` gyûjtemények esetében pedig kifejezetten _csak_ a `tag=.` mezõk használhatóak! ==== + A `tag=` mezõk a tárházban található szimbolikus címkéket nevezik meg. A címkéknek két típusa van: a revíziókhoz és az ágakhoz tartozó címkék. A revíziós címkék mindig egy adott revíziót hivatkoznak, jelentésük állandó. Ezzel szemben az ágak címkéi egy adott fejlesztési ág adott idõpontjában elérhetõ revíziót címkézi. Mivel az ágak címkéi nem egy konkrét revízióra vonatkoznak, ezért akár olyanra is utalhatnak, ami pillanatnyilag még nem is létezik. + Az <>ban megtalálhatjuk a fontosabb ágak címkéit. A CVSup konfigurációs állományában a címkéket a `tag=` elõtaggal kell bevezetni (így tehát a `RELENG_4` címke hivatkozása `tag=RELENG_4` lesz). Ne felejtsük el, hogy a Portgyûjtemény esetében csak `tag=.` mezõ megadásának van értelme. + [WARNING] ==== Igyekezzünk pontosan lemásolni a címkék neveit, mivel a CVSup nem képes megkülönböztetni az érvényes és az érvénytelen címkéket. Ha véletlen elírjuk a címkét, akkor a CVSup úgy fog viselkedni, mintha olyan érvényes címkére hivatkozhatunk volna, amihez nem tartoznak állományok. Ennek következtében pedig egyszerûen letörli a már meglevõ forrásainkat. ==== + Egy ág címkéjének megadása során általában az adott fejlesztési vonal legfrissebb verzióját kapjuk meg. Ha viszont az adott ág valamelyik korábbi változatára lenne szükségünk, akkor a `date=` értékmezõ felhasználásával meg tudjuk adni a hozzá tartozó dátumot. Ennek mûködésérõl a man:cvsup[1] man oldala részletesebben értekezik. + A példában mi most a FreeBSD-CURRENT verziót akarjuk letölteni. Ezért a következõ sort tesszük a [.filename]#supfile# állományunk elejére: + [.programlisting] .... *default tag=. .... + Ha nem adunk meg sem `tag=`, sem pedig `date=` mezõket, akkor egy fontos eset következik be. Ilyenkor ugyanis egy konkrét verzió helyett közvetlenül a szerver CVS repositoryjából kapjuk meg az állományokat, az összes kiegészítõ információjukkal együtt. A fejlesztõk általában ezt a típusú megoldást kedvelik, mivel így a saját rendszerükön is könnyen karban tudnak tartani egy példányt, amiben tudnak keresni a revíziók között és ki tudják kérni akár az állományok korábbi változatait is. Természetesen ennek függvényében jóval több tárhelyre van szükségük. * [[cvsup-config-where]]Honnan akarjuk ezeket beszerezni? + A `host=` mezõ beállításával közöljük a `cvsup` klienssel, honnan töltse le a frissítéseket. A <> közül bármelyik megfelel erre a célra, habár leginkább azt érdemes választani, ami a kibertérben a hozzánk legközelebb esik. A példában most egy kitalált FreeBSD terjesztési oldalt választunk, a `cvsup99.FreeBSD.org`-ot: + [.programlisting] .... *default host=cvsup99.FreeBSD.org .... + A CVSup futtatása elõtt tehát ne felejtsük el megváltoztatni ezt a létezõ számítógép hálózati nevére. A `cvsup` futtatásakor a `-h _hálózati név_` opció megadásával lehetõségünk ennek felülbírálására. * [[cvsup-config-dest]]Hova akarjuk rakni a számítógépünkön? + A `prefix=` mezõ adja meg a `cvsup` számára, hogy hova tegye a kapott állományokat. A példában a forrásokat közvetlenül a forrásokat tároló központi könyvtárba, a [.filename]#/usr/src# könyvtárba tettük. Mivel a [.filename]#src# könyvtár neve már hallgatólagosan benne foglaltatik a letöltésre kiválasztott gyûjtemény nevében, ezért itt csak ennyit kell megadnunk: + [.programlisting] .... *default prefix=/usr .... + * [[cvsup-config-status]]Hova akarjuk rakni az állapotot tároló állományokat? + A CVSup kliens egy "bázisnak" (base) nevezett könyvtárban folyamatosan fenntart bizonyos állományokban állapotokat (status file). Ezek a már letöltött állományok nyilvántartásával segítik a CVSup hatékony munkavégzését. Mi most a szabványos bázist, a [.filename]#/var/db# könyvtárat fogjuk használni: + [.programlisting] .... *default base=/var/db .... + Amennyiben még nem létezne a bázisként használni kívánt könyvtár, ideje létrehoznunk. A `cvsup` ugyanis egy nem létezõ könyvtár esetén nem lesz hajlandó mûködni. * További beállítások a [.filename]#supfile# állományban: + Általában még egy sor szokott szerepelni a [.filename]#supfile# állományokban: + [.programlisting] .... *default release=cvs delete use-rel-suffix compress .... + A `release=cvs` mezõ jelzi, hogy a szervernek a FreeBSD fõ CVS repositoryból kell kikeresnie az információkat. Tulajdonképpen majdnem mindig errõl van szó, és az itt megadható többi lehetõség ismertetése most egyébként is meghaladná a szakasz határait. + A `delete` hatására a CVSup képes lesz állományokat törölni. Mindig érdemes megadnunk, hiszen a CVSup csak így tudja teljes mértékben frissentartani a forrásokat. A CVSup természetesen csak azokat az állományokat igyekszik letörölni, amelyek miatt valóban felelõs. A kóbor állományokat nem fogja bántani. + A `use-rel-suffix` hatása egy igazi... Rejtély. Ha tényleg érdekel minket a mûködése, lapozzuk fel bátran a man:cvsup[1] man oldalát. Nyugodtan adjuk meg és különösebben ne törõdjünk vele. + A `compress` beállítás segítségével a kommunikációs csatornán vándorló adatokat tudjuk gzip-szerû módon tömöríteni. Ha a hálózati kapcsolatunk sebessége meghaladja a 1,5 Mbitet másodpercenként (T1), akkor ezt már nem érdemes használni, viszont minden más esetben lényeges gyorsulást hozhat. * Összegezzük az eddigieket: + Íme a példaként összerakott [.filename]#supfile# állományunk teljes tartalma: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== A [.filename]#refuse# állomány Ahogy arról már korábban szó esett, a CVSup _lehúzással_ frissít. Ez alapvetõen annyit jelent, hogy feltárcsázunk egy CVSup szervert, aki a következõt mondja nekünk: "A következõket tudod tõlem letölteni...", amire a kliensünk ezt válaszolja: "Rendben, akkor nekem kell ez, ez, ez meg ez." Alapértelmezés szerint a CVSup kliense azokat az állományokat fogja letölteni, amelyeket a konfigurációs állományban szereplõ gyûjtemények és címkék által megneveztünk. Ez azonban nem mindig felel meg az igényeinknek, különösen akkor, amikor a [.filename]#doc#, [.filename]#ports# vagy [.filename]#www# fákat akarjuk letölteni - az emberek többsége ugyanis nem beszél négy vagy öt nyelven, ezért nincs is szükségük a nyelvfüggõ állományok letöltésére. A Portgyûjtemény letöltése során a _ports-all_ helyett egyszerûen egyenként is felsorolhatjuk a számunkra érdekes kategóriákat (például _ports-astrology_, _ports-biology_ stb). Azonban mivel a [.filename]#doc# és a [.filename]#www# fákhoz nincsenek nyelvfüggõ gyûjtemények, ezért elõ kell halásznunk a CVSup egyik remek funkcióját, a [.filename]#refuse# állományt. A [.filename]#refuse# állománnyal lényegében arra utasítjuk a CVSup alkalmazást, hogy a gyûjteményekbõl ne töltse le az összes állományt. Úgy is fogalmazhatnánk, hogy javaslatára a kliens _visszautasít_ (refuse) bizonyos szervertõl érkezõ állományokat. Ezeket a visszautasításokat tároló [.filename]#refuse# állományt a [.filename]#bázis/sup/# könyvtárban találhatjuk meg (illetve ha még nincsenek, akkor ide kell rakunk ezeket). Itt a _bázis_ a [.filename]#supfile# állományban megadott `base=` mezõre utal, ami a példánkban a [.filename]#/var/db# könyvtár volt. Ennek megfelelõen tehát a [.filename]#refuse# állomány a [.filename]#/var/db/sup/refuse# lesz. A [.filename]#refuse# állomány felépítése igen egyszerû: a letölteni nem kívánt állományok és könyvtárak neveit tartalmazza. Például ha az angolul mellett esetleg még beszélünk egy kevés németet is, de nincs szükségünk az angol dokumentáció német fordítására sem, akkor a következõket írjuk a [.filename]#refuse# állományba: [source,shell] .... doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/hu_* doc/it_* doc/ja_* doc/mn_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* .... és így tovább a többi nyelvre is (melyeket a http://www.FreeBSD.org/cgi/cvsweb.cgi/[FreeBSD CVS repository] böngészésével deríthetjük ki). Ezzel az alkalmas funkcióval a lassú vagy drága internetes kapcsolattal rendelkezõ felhasználók nagyon jól tudnak gazdálkodni, mivel így nem kell letölteniük az egyáltalán nem használt állományokat. A [.filename]#refuse# állományokról és a CVSup más hasonlóan elegáns funkcióiról a saját man oldaláról tudhatunk meg többet. === A CVSup futtatása Most már készen állunk egy próba frissítés elvégzésére. A parancssorban nem sok mindent kell beírnunk ehhez: [source,shell] .... # cvsup supfile .... ahol a [.filename]#supfile# a frissen létrehozott [.filename]#supfile# állományunk neve lesz. Feltételezve, hogy a parancsot X11 alatt adtunk ki, az `cvsup` erre feldob egy grafikus ablakot néhány gombbal. Nyomjuk meg a btn:[go] feliratú gombot és dõljünk hátra. Mivel a példában a [.filename]#/usr/src# könyvtárunk frissítését állítottuk be, az állományok aktualizálásához szükséges jogosultságok biztosításához a `cvsup` programot `root` felhasználóként kell elindítanunk. Teljesen érthetõ, ha egy kicsit izgatottak vagyunk ezekben a pillanatokban, hiszen az elõbb hoztunk létre egy általunk eddig ismeretlen programhoz egy konfigurációs állományt. Ezért megemlítenénk, hogy ilyenkor elõször mindig próbáljuk ki a konfigurációkat, mielõtt azok bármilyen módosítást végeznének a fontos állományainkon. Ehhez hozzunk létre valahol egy üres könyvtárat, majd adjuk meg a parancssorban ennek a nevét: [source,shell] .... # mkdir /var/tmp/proba # cvsup supfile /var/tmp/proba .... Az így megadott könyvtárba kerülnek a frissítés eredményeképpen keletkezõ állományok. A CVSup elõször megvizsgálja a [.filename]#/usr/src# könyvtárban található állományokat, viszont egyiküket sem módosítja vagy törli. A frissítések ehelyett a [.filename]#/var/tmp/proba/usr/src# könyvtárba fognak kerülni. A CVSup emellett még a báziskönyvtárában tárolt állapotokat sem fogja megváltoztatni. A módosított állományok új változatai a megadott könyvtárba jönnek létre. Mivel a [.filename]#/usr/src# könyvtárt ehhez csak olvasni fogjuk, a próba lefuttatásához még `root` felhasználónak sem kell lennünk. Ha nem használunk X11-et vagy egyszerûen csak nincs szükségünk a grafikus felületre, a parancssorban pár további opció megadásával így is kiadhatjuk a `cvsup` parancsot: [source,shell] .... # cvsup -g -L 2 supfile .... A `-g` hatására a CVSup nem hozza be a grafikus felületét. Ha nem talál X11-et, akkor ez természetesen automatikus, de ellenkezõ esetben ezt is meg kell adnunk. Az `-L 2` megadásával a CVSup az összes elvégzendõ frissítésrõl részletes értesítést ad. A részletességnek három foka van, `-L 0`-tól indulva egészen `-L 2`-ig. Itt az alapértelmezett érték a 0, amivel a hibaüzenetek kivételével egyetlen üzenetet sem kapunk. Rengeteg egyéb beállítás adható még meg, ezeket a `cvsup -H` kiadásával kérdezhetjük le. A beállítások pontosabb leírását a man oldalon találjuk meg. Miután elégedetten tapasztaltuk, hogy a frissítés remekül mûködik, a man:cron[8] segítségével próbáljuk meg az egész folyamatot önmûködövé tenni a CVSup szabályos idõközönkénti futtatásával. Ekkor viszont magától értetõdik, hogy a CVSup számára ne engedjük használni a grafikus felületet. [[cvsup-collec]] === A CVSup állománygyûjteményei A CVSup révén elérhetõ állománygyûjtemények egy hierarchikus rendszert alkotnak. Van néhány nagyobb állománygyûjtemény, amelyek kisebb al-állománygyûjteményekre bonthatóak. A nagyobb gyûjtemények letöltése ezért a kisebb algyûjtemények letöltésével egyenlõ. A gyûjtemények közt fennálló hierarchikus rendszer a lentebb szereplõ lista behúzásaiban érhetõ tetten. A leggyakrabban használt gyûjtemények a `src-all` és a `ports-all` neveket viselik. A többi gyûjteményt általában csak kevesen és csak speciális célokra használják, ezért egyes tükrözéseken nem feltétlenül találjuk meg mindegyiküket. `cvs-all release=cvs`:: A FreeBSD fõ CVS repositoryja, beleértve a titkosításhoz tartozó kódokat is. `distrib release=cvs`::: A FreeBSD terjesztéséhez és tükrözéséhez kapcsolódó állományok. `doc-all release=cvs`::: A FreeBSD kézikönyvének és a többi dokumentáció forrásai. Nem tartalmazza a FreeBSD honlapjának forrásait. `ports-all release=cvs`::: A FreeBSD portgyûjteménye. + [IMPORTANT] ==== Ha nem akarjuk a `ports-all` egészét (vagyis a teljes portfát) frissíteni, csak a lentebb szereplõ egyes algyûjteményeket letölteni, akkor _soha_ ne feledkezzünk meg a `ports-base` megadásáról! Amikor valami változik a portok mûködésében, akkor a `ports-base` által képviselt algyûjteményben szereplõ állományokat igen gyorsan elkezdik használni a "valódi" portok. Ezért ha csak a "valódi" portokat frissítjük, amelyek viszont igényt tartanak néhány újabb funkcióra is, akkor könnyen fordítási hibára vagy különbözõ rejtélyes hibaüzenetekbe futhatunk. Emiatt _legeslegelõször_ mindig tegyünk róla, hogy a `ports-base` algyûjteményünk a lehetõ legfrissebb legyen. ==== + [IMPORTANT] ==== Ha a [.filename]#ports/INDEX# állomány egy saját példányát kívánjuk létrehozni, akkor ahhoz a `ports-all` gyûjteményt (tehát a teljes portfát) le _kell_ kérnünk. A [.filename]#ports/INDEX# állományt a portfa egy része alapján nem készíthetjük el. Errõl bõvebben lásd a link:{faq}#MAKE-INDEX[ GYIK]-ot. ==== `ports-accessibility release=cvs`:::: A fogyatékos felhasználókat segítõ szoftverek. `ports-arabic release=cvs`:::: Arab nyelvi támogatás. `ports-archivers release=cvs`:::: Archiváló eszközök. `ports-astro release=cvs`:::: Csillagászathoz tartozó portok. `ports-audio release=cvs`:::: Hangtámogatás. `ports-base release=cvs`:::: A Portgyûjtemény saját infrastruktúrája - az [.filename]#Mk/#, [.filename]#Tools/# és [.filename]#/usr/ports# különféle alkönyvtáraiban elhelyezkedõ állományok. + [NOTE] ==== Ne hagyjuk figyelmen kívül <> sem: ezt az algyûjteményt _mindig_ a FreeBSD Portgyûjteményével együtt frissítsük! ==== `ports-benchmarks release=cvs`:::: Teljesítménytesztek. `ports-biology release=cvs`:::: Biológia. `ports-cad release=cvs`:::: Számítógépes tervezõeszközök (CAD). `ports-chinese release=cvs`:::: Kínai nyelvi támogatás. `ports-comms release=cvs`:::: Kommunikációs szoftverek. `ports-converters release=cvs`:::: Karakterkódolások közti átalakítók. `ports-databases release=cvs`:::: Adatbázisok. `ports-deskutils release=cvs`:::: A számítógép feltalálása elõtt is már létezõ eszközök. `ports-devel release=cvs`:::: Fejlesztõeszközök. `ports-dns release=cvs`:::: Névfeloldással kapcsolatos szoftverek. `ports-editors release=cvs`:::: Szövegszerkesztõk. `ports-emulators release=cvs`:::: Más operációs rendszerek emulátorai. `ports-finance release=cvs`:::: Pénzügyi, gazdasági és hasonló alkalmazások. `ports-ftp release=cvs`:::: FTP kliensek és szerverek. `ports-games release=cvs`:::: Játékok. `ports-german release=cvs`:::: Német nyelvi támogatás. `ports-graphics release=cvs`:::: Grafikus segédeszközök. `ports-hebrew release=cvs`:::: Héber nyelvi támogatás. `ports-hungarian release=cvs`:::: Magyar nyelvi támogatás. `ports-irc release=cvs`:::: IRC-vel kapcsolatos programok. `ports-japanese release=cvs`:::: Japán nyelvi támogatás. `ports-java release=cvs`:::: Java(TM) segédeszközök. `ports-korean release=cvs`:::: Koreai nyelvi támogatás. `ports-lang release=cvs`:::: Programozási nyelvek. `ports-mail release=cvs`:::: Levelezõ programok. `ports-math release=cvs`:::: Numerikus számításokkal foglalkozó programok. `ports-mbone release=cvs`:::: MBone alkalmazások. `ports-misc release=cvs`:::: Egyéb segédprogramok. `ports-multimedia release=cvs`:::: Multimediás szoftverek. `ports-net release=cvs`:::: Hálózati szoftverek. `ports-net-im release=cvs`:::: Üzenetküldõ (Instant Messaging, IM) szoftverek. `ports-net-mgmt release=cvs`:::: Hálózati karbantartó szoftverek. `ports-net-p2p release=cvs`:::: Egyenrangú (Peer to Peer, P2P) hálózatok. `ports-news release=cvs`:::: USENET hírszoftverek. `ports-palm release=cvs`:::: A Palm(TM) sorozat szoftveres támogatása. `ports-polish release=cvs`:::: Lengyel nyelvi támogatás. `ports-ports-mgmt release=cvs`:::: A portok és csomagok karbantartását végzõ segédeszközök. `ports-portuguese release=cvs`:::: Portugál nyelvi támogatás. `ports-print release=cvs`:::: Nyomdai programok. `ports-russian release=cvs`:::: Orosz nyelvi támogatás. `ports-science release=cvs`:::: Tudományos programok. `ports-security release=cvs`:::: Biztonsági segédprogramok. `ports-shells release=cvs`:::: Parancsértelmezõk. `ports-sysutils release=cvs`:::: Rendszerprogramok. `ports-textproc release=cvs`:::: Szövegfeldolgozást segítõ eszközök (kivéve az asztali kiadványszerkesztést). `ports-ukrainian release=cvs`:::: Ukrán nyelvi támogatás. `ports-vietnamese release=cvs`:::: Vietnámi nyelvi támogatás. `ports-www release=cvs`:::: A világhálóhoz tartozó szoftverek. `ports-x11 release=cvs`:::: Az X Window System mûködését segítõ portok. `ports-x11-clocks release=cvs`:::: X11 órák. `ports-x11-drivers release=cvs`:::: X11 meghajtók. `ports-x11-fm release=cvs`:::: X11 állománykezelõk. `ports-x11-fonts release=cvs`:::: X11 betûtípusok és a hozzájuk tartozó segédprogramok. `ports-x11-toolkits release=cvs`:::: X11 eszközrendszerek. `ports-x11-servers release=cvs`:::: X11 szerverek. `ports-x11-themes release=cvs`:::: X11 témák. `ports-x11-wm release=cvs`:::: X11 ablakkezelõk. `projects-all release=cvs`::: A FreeBSD projektek forrásainak repositoryja. `src-all release=cvs`::: A FreeBSD fontosabb forrásai, a titkosításhoz tartozó kódokkal együtt. `src-base release=cvs`:::: A [.filename]#/usr/src# könyvtárban levõ egyéb állományok. `src-bin release=cvs`:::: Az egyfelhasználós módban használható segédeszközök ([.filename]#/usr/src/bin#). `src-cddl release=cvs`:::: A CDDL licenc szerint terjesztett segédprogramok és függvénykönyvtárak ([.filename]#/usr/src/cddl#). `src-contrib release=cvs`:::: A FreeBSD Projekten kívül fejlesztett segédprogramok és függvénykönyvtárak, viszonylag kevés módosítással ([.filename]#/usr/src/contrib#). `src-crypto release=cvs`:::: A FreeBSD Projekten kívül fejlesztett, titkosítással kapcsolatos segédprogramok és függvénykönyvtárak, viszonylag kevés módosítással ([.filename]#/usr/src/crypto#). `src-eBones release=cvs`:::: Kerberos és DES ([.filename]#/usr/src/eBones#). A FreeBSD jelenlegi változatai nem használják. `src-etc release=cvs`:::: A rendszer beállításait tartalmazó állományok ([.filename]#/usr/src/etc#). `src-games release=cvs`:::: Játékok ([.filename]#/usr/src/games#). `src-gnu release=cvs`:::: A GPL licenc szerint terjesztett segédprogramok ([.filename]#/usr/src/gnu#). `src-include release=cvs`:::: (C nyelvi) Header állományok ([.filename]#/usr/src/include#). `src-kerberos5 release=cvs`:::: A Kerberos5 biztonsági csomag ([.filename]#/usr/src/kerberos5#). `src-kerberosIV release=cvs`:::: A KerberosIV biztonsági csomag ([.filename]#/usr/src/kerberosIV#). `src-lib release=cvs`:::: Függvénykönyvtárak ([.filename]#/usr/src/lib#). `src-libexec release=cvs`:::: Más programok által futtatott rendszerprogramok ([.filename]#/usr/src/libexec#). `src-release release=cvs`:::: A FreeBSD kiadások elkészítéséhez szükséges állományok ([.filename]#/usr/src/release#). `src-rescue release=cvs`:::: Statikusan linkelt programok vészhelyzet esetére, lásd man:rescue[8] ([.filename]#/usr/src/rescue#). `src-sbin release=cvs`:::: Egyfelhasználós módban használható rendszereszközök ([.filename]#/usr/src/sbin#). `src-secure release=cvs`:::: Titkosítással foglalkozó függvénykönyvtárak és parancsok ([.filename]#/usr/src/secure#). `src-share release=cvs`:::: Több rendszer között megosztható állományok ([.filename]#/usr/src/share#). `src-sys release=cvs`:::: A rendszermag ([.filename]#/usr/src/sys#). `src-sys-crypto release=cvs`:::: A rendszermagban levõ titkosítással foglalkozó kód ([.filename]#/usr/src/sys/crypto#). `src-tools release=cvs`:::: A FreeBSD karbantartására való különbözõ segédprogramok ([.filename]#/usr/src/tools#). `src-usrbin release=cvs`:::: Felhasználói segédprogramok ([.filename]#/usr/src/usr.bin#). `src-usrsbin release=cvs`:::: Rendszerszintû segédprogramok ([.filename]#/usr/src/usr.sbin#). `www release=cvs`::: A FreeBSD Projekt honlapjának forráskódja. `distrib release=self`:: A CVSup szerver saját konfigurációs állományai. A CVSup tükrözései használják. `gnats release=current`:: A GNATS hibanyilvántartó adatbázis. `mail-archive release=current`:: A FreeBSD levelezési listáinak archívuma. `www release=current`:: A FreeBSD Projekt honlapjának generált állományai (de nem a forrásai). A WWW tükrözések használják. === Bõvebb információk A CVSup részletesebb bemutatását és a hozzá tartozó GYIK-ot http://www.cvsup.org[A CVSup honlapján] találjuk meg. A CVSup FreeBSD-re vonatkozó tárgyalása a {freebsd-hackers}n történik. Itt és az {freebsd-announce}n jelentik be a szoftver újabb változatait. A CVSup alkalmazással kapcsolatos kérdéseket és hibajelentéseket illetõen a http://www.cvsup.org/faq.html#bugreports[ CVSup GYIK]-ot érdemes megnéznünk. [[cvsup-mirrors]] === CVSup oldalak A FreeBSD <> szerverei az alábbi oldalakon érhetõek el: [[cvs-tags]] == CVS címkék Meg kell adnunk egy revízió címkéjét, amikor a cvs vagy CVSup használatával letöltjük vagy frissítjük a forrásokat. A revíziós címkék a FreeBSD egyik fejlesztési irányát vagy egy adott idõpontbeli állapotát hivatkozzák. Az elõbbi egy "ág címkéje", míg az utóbbi pedig egy "kiadás címkéje". === Az ágak címkéi A `HEAD` kivételével (amely mindig egy érvényes címke) az összes címke csak a [.filename]#src/# fára vonatkozik. A [.filename]#ports/#, [.filename]#doc/# és [.filename]#www/# fák nem tartalmaznak ágakat. HEAD:: A fõ fejlesztési ág, avagy a FreeBSD-CURRENT szimbolikus neve. Ha nem adunk meg revíziót, ez lesz az alapértelmezés. + A CVSup számára ezt `.` címke jelzi (itt most nem mondatvégi pontot jelöli, hanem a `.` karaktert). + [NOTE] ==== A CVS számára ez lesz az alapértelmezett érték, ha nem adunk meg konkrét revíziós címkét. Többnyire _nem_ túlzottan jó ötlet egy STABLE változatot használó gépen a CURRENT verziójú források kikérése, kivéve hacsak nem ez a szándékunk. ==== RELENG_8:: A FreeBSD-8.X fejlesztési ága, más néven a FreeBSD 8-STABLE RELENG_8_1:: A FreeBSD-8.1 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_8_0:: A FreeBSD-8.0 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_7:: A FreeBSD-7.X fejlesztési ága, más néven a FreeBSD 7-STABLE RELENG_7_3:: A FreeBSD-7.3 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_7_2:: A FreeBSD-7.2 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_7_1:: A FreeBSD-7.1 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_7_0:: A FreeBSD-7.0 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6:: A FreeBSD-6.X fejlesztési ága, más néven a FreeBSD 6-STABLE RELENG_6_4:: A FreeBSD-6.4 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6_3:: A FreeBSD-6.3 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6_2:: A FreeBSD-6.2 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6_1:: A FreeBSD-6.1 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6_0:: A FreeBSD-6.0 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5:: A FreeBSD-5.X fejlesztési ág, más néven a FreeBSD 5-STABLE. RELENG_5_5:: A FreeBSD-5.5 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_4:: A FreeBSD-5.4 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_3:: A FreeBSD-5.3 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_2:: A FreeBSD-5.2 és FreeBSD-5.2.1 kiadások ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_1:: A FreeBSD-5.1 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_0:: A FreeBSD-5.0 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4:: A FreeBSD-4.X fejlesztési ága, más néven a FreeBSD 4-STABLE. RELENG_4_11:: A FreeBSD-4.11 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_10:: A FreeBSD-4.10 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_9:: A FreeBSD-4.9 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_8:: A FreeBSD-4.8 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_7:: A FreeBSD-4.7 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_6:: A FreeBSD-4.6 és FreeBSD-4.6.2 kiadások ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_5:: A FreeBSD-4.5 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_4:: A FreeBSD-4.4 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_3:: A FreeBSD-4.3 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_3:: A FreeBSD-3.X fejlesztési ága, más néven a 3.X-STABLE. RELENG_2_2:: A FreeBSD-2.2.X fejlesztési ága, más néven a 2.2-STABLE. Ez az ág manapság már elavult. === A kiadások címkéi Ezek a címkék a FreeBSD egyes kiadásainak dátumára hivatkoznak. Egy kiadás elõkészítésének és terjesztésének folyamatáról részleteiben a link:https://www.FreeBSD.org/releng/[kiadásokat összefoglaló lapról] és a link:{releng}#release-proc/[ kiadások építésérõl szóló cikkbõl] tájékozódhatunk. Az [.filename]#src# fában `RELENG_` kezdetû címkéket találunk. A [.filename]#ports# és [.filename]#doc# fákban a címkék nevei a `RELEASE` elõtaggal kezdõdnek. Végezetül a [.filename]#www# fában nincsenek kiadásokhoz tartozó címkék. RELENG_8_1_0_RELEASE:: FreeBSD 8.1 RELENG_8_0_0_RELEASE:: FreeBSD 8.0 RELENG_7_3_0_RELEASE:: FreeBSD 7.3 RELENG_7_2_0_RELEASE:: FreeBSD 7.2 RELENG_7_1_0_RELEASE:: FreeBSD 7.1 RELENG_7_0_0_RELEASE:: FreeBSD 7.0 RELENG_6_4_0_RELEASE:: FreeBSD 6.4 RELENG_6_3_0_RELEASE:: FreeBSD 6.3 RELENG_6_2_0_RELEASE:: FreeBSD 6.2 RELENG_6_1_0_RELEASE:: FreeBSD 6.1 RELENG_6_0_0_RELEASE:: FreeBSD 6.0 RELENG_5_5_0_RELEASE:: FreeBSD 5.5 RELENG_5_4_0_RELEASE:: FreeBSD 5.4 RELENG_4_11_0_RELEASE:: FreeBSD 4.11 RELENG_5_3_0_RELEASE:: FreeBSD 5.3 RELENG_4_10_0_RELEASE:: FreeBSD 4.10 RELENG_5_2_1_RELEASE:: FreeBSD 5.2.1 RELENG_5_2_0_RELEASE:: FreeBSD 5.2 RELENG_4_9_0_RELEASE:: FreeBSD 4.9 RELENG_5_1_0_RELEASE:: FreeBSD 5.1 RELENG_4_8_0_RELEASE:: FreeBSD 4.8 RELENG_5_0_0_RELEASE:: FreeBSD 5.0 RELENG_4_7_0_RELEASE:: FreeBSD 4.7 RELENG_4_6_2_RELEASE:: FreeBSD 4.6.2 RELENG_4_6_1_RELEASE:: FreeBSD 4.6.1 RELENG_4_6_0_RELEASE:: FreeBSD 4.6 RELENG_4_5_0_RELEASE:: FreeBSD 4.5 RELENG_4_4_0_RELEASE:: FreeBSD 4.4 RELENG_4_3_0_RELEASE:: FreeBSD 4.3 RELENG_4_2_0_RELEASE:: FreeBSD 4.2 RELENG_4_1_1_RELEASE:: FreeBSD 4.1.1 RELENG_4_1_0_RELEASE:: FreeBSD 4.1 RELENG_4_0_0_RELEASE:: FreeBSD 4.0 RELENG_3_5_0_RELEASE:: FreeBSD 3.5 RELENG_3_4_0_RELEASE:: FreeBSD 3.4 RELENG_3_3_0_RELEASE:: FreeBSD 3.3 RELENG_3_2_0_RELEASE:: FreeBSD 3.2 RELENG_3_1_0_RELEASE:: FreeBSD 3.1 RELENG_3_0_0_RELEASE:: FreeBSD 3.0 RELENG_2_2_8_RELEASE:: FreeBSD 2.2.8 RELENG_2_2_7_RELEASE:: FreeBSD 2.2.7 RELENG_2_2_6_RELEASE:: FreeBSD 2.2.6 RELENG_2_2_5_RELEASE:: FreeBSD 2.2.5 RELENG_2_2_2_RELEASE:: FreeBSD 2.2.2 RELENG_2_2_1_RELEASE:: FreeBSD 2.2.1 RELENG_2_2_0_RELEASE:: FreeBSD 2.2.0 [[mirrors-afs]] == AFS oldalak A FreeBSD a következõ szerverein érhetõ el AFS: Svédország:: Az állományok a következõ helyen érhetõek el: [.filename]#/afs/stacken.kth.se/ftp/pub/FreeBSD/# + [.programlisting] .... stacken.kth.se # Stacken Computer Club, KTH, Svédország 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se .... + Karbantartó: mailto:ftp@stacken.kth.se[ftp@stacken.kth.se] [[mirrors-rsync]] == Rsync oldalak A most következõ oldalakon a FreeBSD-t érhetjük el az rsync protokollal. Az rsync segédprogram mûködésében leginkább a man:rcp[1] parancshoz hasonlít, de sokkal több beállítással rendelkezik, és az rsync távoli frissítéseket kezelõ protokollja segítségével csak az állományok csoportjai között levõ eltéréseket küldi át, amivel a hálózaton keresztüli szinkronizáció rendkívül felgyorsítható. Ez olyankor jelent számunkra a legtöbbet, ha a FreeBSD FTP szerverének vagy CVS repositoryjának egyik tükrözését tartjuk karban. Az rsync több operációs rendszerre is elérhetõ, és FreeBSD-n a package:net/rsync[] port vagy csomag tartalmazza. Cseh Köztársaság:: rsync://ftp.cz.FreeBSD.org/ + Elérhetõ gyûjtemények: ** ftp: a FreeBSD FTP szerverének részleges tükrözése. ** FreeBSD: a FreeBSD FTP szerverének teljes tükrözése. Hollandia:: rsync://ftp.nl.FreeBSD.org/ + Elérhetõ gyûjtemények: ** FreeBSD: a FreeBSD FTP szerverének teljes tükrözése. Oroszország:: rsync://ftp.mtu.ru + Elérhetõ gyûjtemények: ** FreeBSD: A FreeBSD FTP szerver teljes tartalma. ** FreeBSD-gnats: A GNATS hibanyilvántartó adatbázis. ** FreeBSD-Archive: A FreeBSD archívumait tároló FTP szerver tükrözése. Tajvan:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Elérhetõ gyûjtemények: ** FreeBSD: a FreeBSD FTP szerverének teljes tükrözése. Egyesült Királyság:: rsync://rsync.mirrorservice.org/ + Elérhetõ gyûjtemények: ** sites/ftp.freebsd.org: a FreeBSD FTP szerverének teljes tükrözése. Amerikai Egyesült Államok:: rsync://ftp-master.FreeBSD.org/ + Ezt a szervert csak az elsõdleges FreeBSD tükrözéseknek szabad használniuk. + Elérhetõ gyûjtemények: ** FreeBSD: a FreeBSD FTP szerverének központi archívuma. ** acl: a FreeBSD központi ACL listája. + rsync://ftp13.FreeBSD.org/ + Elérhetõ gyûjtemények: ** FreeBSD: a FreeBSD FTP szerver teljes tükrözése. diff --git a/documentation/content/it/books/handbook/mirrors/_index.adoc b/documentation/content/it/books/handbook/mirrors/_index.adoc index 7c0bf73f07..1dd1bdb2a8 100644 --- a/documentation/content/it/books/handbook/mirrors/_index.adoc +++ b/documentation/content/it/books/handbook/mirrors/_index.adoc @@ -1,1682 +1,1681 @@ --- title: Appendice A. Ottenere FreeBSD part: Parte V. Appendici prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = Ottenere FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Indice :table-caption: Tabella :figure-caption: Figura :example-caption: Esempio :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/it/mailing-lists.adoc[] include::shared/it/urls.adoc[] [[mirrors-cdrom]] == Editori di CDROM e DVD === Prodotti al Dettaglio Confezionati FreeBSD è disponibile in confezioni (i CD di FreeBSD, del software aggiuntivo, e la documentazione cartacea) presso svariati rivenditori: * CompUSA + WWW: http://www.compusa.com/ * Frys Electronics + WWW: http://www.frys.com/ === Set di CD e DVD I set di CD e DVD di FreeBSD sono disponibili presso molti rivenditori on-line: * BSD Mall by Daemon News + PO Box 161 + Nauvoo, IL 62354 + Stati Uniti d'America + Telefono: +1 866 273-6255 + Fax: +1 217 453-9956 + Email: + WWW: http://www.bsdmall.com/freebsd1.html * BSD-Systems + Email: + WWW: http://www.bsd-systems.co.uk * FreeBSD Mall, Inc. + 3623 Sanford Street + Concord, CA 94520-1405 + Stati Uniti d'America + Telefono: +1 925 674-0783 + Fax: +1 925 674-0821 + Email: + WWW: http://www.freebsdmall.com/ * Hinner EDV + St. Augustinus-Str. 10 + D-81825 München + Germania + Telefono: (089) 428 419 + WWW: http://www.hinner.de/linux/freebsd.html * Ikarios + 22-24 rue Voltaire + 92000 Nanterre + Francia + WWW: http://ikarios.com/form/#freebsd * JMC Software + Irlanda + Telefono: 353 1 6291282 + WWW: http://www.thelinuxmall.com * Linux CD Mall + Private Bag MBE N348 + Auckland 1030 + Nuova Zelanda + Telefono: +64 21 866529 + WWW: http://www.linuxcdmall.co.nz/ * The Linux Emporium + Hilliard House, Lester Way + Wallingford + OX10 9TA + Regno Unito + Telefono: +44 1491 837010 + Fax: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/freebsd/ * Linux+ DVD Magazine + Lewartowskiego 6 + Warsaw + 00-190 + Polonia + Telefono: +48 22 860 18 18 + Email: + WWW: http://www.lpmagazine.org/ * Linux System Labs Australia + 21 Ray Drive + Balwyn North + VIC - 3104 + Australia + Telefono: +61 3 9857 5918 + Fax: +61 3 9857 8974 + WWW: http://www.lsl.com.au * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Telefono: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/freebsd === Distributori Se sei un rivenditore e vuoi vendere i CDROM di FreeBSD, contatta uno dei distributori seguenti: * Cylogistics + 809B Cuesta Dr., #2149 + Mountain View, CA 94040 + Stati Uniti d'America + Telefono: +1 650 694-4949 + Fax: +1 650 694-4953 + Email: + WWW: http://www.cylogistics.com/ * Ingram Micro + 1600 E. St. Andrew Place + Santa Ana, CA 92705-4926 + Stati Uniti d'America + Telefono: 1 (800) 456-8000 + WWW: http://www.ingrammicro.com/ * Kudzu, LLC + 7375 Washington Ave. S. + Edina, MN 55439 + Stati Uniti d'America + Telefono: +1 952 947-0822 + Fax: +1 952 947-0876 + Email: * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Phone: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/freebsd * Navarre Corp + 7400 49th Ave South + New Hope, MN 55428 + Stati Uniti d'America + Telefono: +1 763 535-8333 + Fax: +1 763 535-0341 + WWW: http://www.navarre.com/ [[mirrors-ftp]] == Siti FTP I sorgenti ufficiali di FreeBSD sono disponibili via FTP anonimo da una serie di siti mirror sparsi in tutto il mondo. Il sito link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] è ben gestito e permette un gran numero di connessioni, ma ti conviene probabilmente trovare un sito mirror a te "più vicino" (soprattutto se decidi di configurare una sorta di sito mirror). Il http://mirrorlist.FreeBSD.org/[database dei siti mirror di FreeBSD] è più preciso della lista contenuta in questo manuale, poichè ottiene le informazioni direttamente dal DNS anziché affidarsi a una lista statica di host. Inoltre, FreeBSD è disponibile via FTP anonimo dai seguenti siti mirror. Se decidi di procurarti FreeBSD via FTP anonimo, usa per favore un sito a te vicino. I siti mirror elencati come "Siti Mirror Primari" hanno tipicamente l'intero archivio di FreeBSD (tutte le versioni oggi disponibili per ognuna delle architetture) ma probabilmente scaricherai più velocemente da un sito che è nel tuo stato o regione. I siti di ogni stato contengono le versioni più recenti per le architetture più popolari ma potrebbero non contenere l'intero archivio di FreeBSD. Tutti i siti permettono l'accesso tramite FTP anonimo e alcuni permettono l'accesso anche con altri metodi. I metodi di accesso disponibili per ogni sito sono elencati fra parentesi dopo il nome dell'host. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (aggiornato al UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[anoncvs]] == CVS Anonimo [[anoncvs-intro]] === Introduzione Il CVS Anonimo (anche conosciuto come _anoncvs_) è una caratteristica del programma di utilità CVS contenuto in FreeBSD che serve per sincronizzarsi con un deposito CVS remoto (in gergo repository CVS). Tra le altre cose, permette agli utenti di FreeBSD di realizzare, senza avere particolari permessi, operazioni CVS in sola lettura su uno dei server anoncvs ufficiali del progetto FreeBSD. Per utilizzarlo è sufficiente impostare la variabile di ambiente `CVSROOT` facendola puntare al server anoncvs appropriato, immettere la password "anoncvs" con il comando `cvs login`, e poi usare il comando man:cvs[1] per accederci come se fosse un deposito locale. [NOTE] ==== Il comando `cvs login` memorizza le password utilizzate per l'autenticazione con il server CVS in un file chiamato [.filename]#.cvspass# nella tua directory `HOME`. Se questo file non esiste, potresti ricevere un errore alla prima esecuzione di `cvs login`. Crea un file [.filename]#.cvspass# vuoto e riprova il login. ==== Benché si possa dire che i servizi <> e _anoncvs_ realizzino sostanzialmente le stesse funzioni, ci sono vari particolari che possono influenzare la scelta di un metodo di sincronizzazione piuttosto dell'altro. Per dirla in breve, CVSup è più efficiente nell'uso delle risorse di rete ed è il più avanzato tecnicamente tra i due, ma tutto questo ha un prezzo. Per usare CVSup, bisogna installare e configurare un client speciale prima di poter scaricare qualcosa, e si può scaricare solo blocchi piuttosto grossi che CVSup chiama _collezioni_. Anoncvs, al contrario, può essere usato per esaminare qualunque cosa a partire da un singolo file fino a uno specifico programma (come `ls` o `grep`) specificando il nome del modulo CVS. Ovviamente, anoncvs è adatto solo per operazioni di sola lettura sul deposito CVS, quindi se hai intenzione di supportare lo sviluppo locale in uno dei depositi condivisi del progetto FreeBSD allora CVSup è in realtà l'unica opzione. [[anoncvs-usage]] === Uso del CVS Anonimo La configurazione di man:cvs[1] per usare un deposito CVS Anonimo è semplicemente una questione di impostare la variabile di ambiente `CVSROOT` affinché punti a uno dei server _anoncvs_ del progetto FreeBSD. Al momento della stesura di questo testo sono disponibili i seguenti server: * _Austria_: :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs (Usa `cvs login` ed inserisci qualunque password quando richiesta.) * _Francia_: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (password "anoncvs"), ssh (nessuna password)) * _Germania_: :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs (Usa `cvs login` ed inserisci la password "anoncvs" quando richiesta.) * _Germania_: :pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs (rsh, pserver, ssh, ssh/2022) * _Giappone_: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (Usa `cvs login` ed inserisci la password "anoncvs" quando richiesta.) * _USA_: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (solo ssh - nessuna password) + [.programlisting] .... SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub .... * _USA_: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (solo ssh - nessuna password) + [.programlisting] .... SSH HostKey: 1024 8b:c4:6f:9a:7e:65:8a:eb:50:50:29:7c:a1:47:03:bc root@ender.liquidneon.com SSH2 HostKey: 2048 4d:59:19:7b:ea:9b:76:0b:ca:ee:da:26:e2:3a:83:b8 ssh_host_dsa_key.pub .... Dato che CVS permette di estrarre (nel suo gergo: "check out") qualsiasi versione dei sorgenti di FreeBSD che sia mai esistita (o, in alcuni casi, che esisterà), è bene familiarizzare con il parametro revisione (`-r`) di man:cvs[1] e sapere quali valori può assumere nel deposito del progetto FreeBSD. Ci sono due tipi di tag, i tag di revisione e i tag di ramo. Un tag di revisione fa riferimento ad una revisione specifica. Il suo significato rimane lo stesso di giorno in giorno. Un tag di ramo, d'altro canto, si riferisce sempre all'ultima revisione relativa a una specifica linea di sviluppo. Dato che un tag di ramo non si riferisce ad una revisione specifica, esso potrebbe avere un significato diverso da un giorno con l'altro. La <> contiene i tag di revisione che possono essere interessanti per gli utenti. Tuttavia, nessuno di questi tag è valido per la collezione dei port poichè questa non ha revisioni multiple. Quando specifichi un tag di ramo, normalmente ricevi l'ultima versione dei file relativa a quella linea di sviluppo. Se vuoi ricevere una versione precedente, puoi farlo specificando la data con il parametro `-D date`. Si rimanda alla pagina man di man:cvs[1] per ulteriori dettagli. === Esempi Benché sia consigliata un'attenta lettura della pagina man di man:cvs[1] prima di fare qualsiasi cosa, seguono alcuni veloci esempi che spiegano in modo essenziale l'uso del CVS Anonimo: .Estrazione di Qualcosa dalla -CURRENT (man:ls[1]): [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs % cvs login Alla richiesta, inserire la password «anoncvs». % cvs co ls .... ==== .Utilizzo di SSH per estrarre il ramo [.filename]#src/#: [example] ==== [source,shell] .... % cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. .... ==== .Estrazione della Versione di man:ls[1] dal Ramo 6-STABLE: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs % cvs login Alla richiesta, inserire la password «anoncvs». % cvs co -rRELENG_6 ls .... ==== .Creazione di una Lista di Cambiamenti (come Diff Unificate) di man:ls[1] [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs % cvs login Alla richiesta, inserire la password «anoncvs». % cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls .... ==== .Scoperta di Quali Altri Nomi di Moduli Possono Essere Usati [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs % cvs login Alla richiesta, inserire la password «anoncvs». % cvs co modules % more modules/modules .... ==== === Altre Risorse Le seguenti risorse addizionali possono essere utili nell'apprendimento del CVS: * http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/[CVS Tutorial] dal Cal Poly. * http://ximbiot.com/cvs/wiki/[CVS Home], la comunità di sviluppo e supporto del CVS. * http://www.FreeBSD.org/cgi/cvsweb.cgi[CVSWeb] è l'interfaccia web di CVS relativa al progetto FreeBSD. [[ctm]] == Uso di CTM CTM è un metodo per mantenere sincronizzati un albero di directory remoto e uno centralizzato. È stato sviluppato per l'albero dei sorgenti di FreeBSD, anche se con il passare del tempo, altre persone lo hanno trovano utile per altri scopi. A tutt'oggi esiste pochissima documentazione sul processo della creazione delle delta, quindi contattate la mailing list link:{ctm-users-url}[ctm-users-desc] per avere più informazioni e nel caso voleste usare CTM per altri scopi. === Perché Dovrei Usare CTM? CTM fornisce una copia locale dell'albero dei sorgenti di FreeBSD. Ci sono molte "varietà" di alberi disponibili. Che tu voglia seguire l'intero albero CVS o solo uno dei rami, CTM può fornirti i dati che ti servono. Se sei uno sviluppatore attivo di FreeBSD, ma hai una connettività TCP/IP di bassa qualità o non esistente, o semplicemente desideri ricevere le modifiche in modo automatico, CTM fa al caso tuo. Riceverai fino a tre delta giornaliere per i rami più attivi. Tuttavia, puoi considerare che li puoi avere attraverso l'invio automatico di email. Le dimensioni degli aggiornamenti sono sempre più piccole possibile. Questi sono in genere meno di 5K, con occasionali (uno su dieci) aggiornamenti da 10-50K e qualcuno più grande (100K o più) di tanto in tanto. Devi anche essere cosciente delle varie insidie relativi all'uso di sorgenti in via di sviluppo e non provenienti da release pronte. Questo è vero in particolare per i sorgenti "current" (correnti). È raccomandata la lettura di crossref:cutting-edge[current,Restare in "current" con FreeBSD]. === Cosa Serve per l'Uso di CTM? Ti servono due cose: il programma CTM, e le delta iniziali da dargli in pasto (per arrivare ai livelli della "current"). Il programma CTM fa parte di FreeBSD fin dalla release della versione 2.0 e, se hai una copia dei sorgenti disponibile, risiede in [.filename]#/usr/src/usr.sbin/ctm#. Le "delta" da dare in pasto a CTM si possono avere in due modi: tramite FTP o email. Se puoi utilizzare FTP via Internet allora i seguenti siti supportano l'accesso a CTM: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] vedi anche la sezione <>. Entra via FTP nella directory giusta e, da lì, inizia col trasferire il file [.filename]#README#. Se invece desideri ricevere le delta per email: Iscriviti ad una delle liste di distribuzione di CTM. link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] supporta l'interno albero CVS. link:{ctm-src-cur-url}[ctm-src-cur-desc] supporta il ramo di sviluppo current. {ctm-src-4} supporta il ramo della release 4.X, ecc. (Se non sai come iscriverti a una lista, clicca sul nome della lista o raggiungi la pagina {mailman-lists-url} e clicca sulla lista a cui ti vuoi iscrivere. La pagina della lista dovrebbe contenere tutte le informazioni necessarie per l'iscrizione.) Quando inizierai a ricevere gli aggiornamenti CTM via email, puoi usare il programma `ctm_rmail` per scompattarli e per applicarli. In realtà, se vuoi avere un processo completamente automatizzato, puoi usare il programma `ctm_rmail` direttamente in un elemento di [.filename]#/etc/aliases#. Esamina la pagina man di `ctm_rmail` per maggiori dettagli. [NOTE] ==== Indipendentemente dal metodo che utilizzi per ricevere le delta di CTM, dovresti iscriverti alla mailing list link:{ctm-announce-url}[ctm-announce-desc]. In futuro, questo sarà l'unico posto dove saranno postati gli annunci riguardanti il funzionamento del sistema CTM. Clicca sul nome della lista e segui le istruzioni per iscriverti. ==== === Uso di CTM per la Prima Volta Prima che tu possa servirti delle delta di CTM, hai bisogno di un punto di partenza dal quale successivamente costruire le delta. Innanzitutto dovresti determinare ciò che hai. Si può iniziare da un directory "vuota". Devi usare una delta iniziale "Empty" per iniziare il tuo albero CTM. Qualche volta può succedere che una di queste delta "iniziali" sia distribuita su un CD per tua convenienza, ma comunque, questo generalmente non avviene. Poichè gli alberi sono molte decine di megabyte, puoi iniziare da qualcosa che hai a portata di mano. Se hai un CD di una release, puoi copiare o estrarre i sorgenti da lì. Questo salverà un significativo trasferimento di dati. Puoi riconoscere queste delta "iniziali" dalla lettera `X` preceduta da un numero (per esempio [.filename]#src-cur.3210XEmpty.gz#). Il nome che segue la lettera `X` corrisponde all'origine del tuo "seme" iniziale. [.filename]#Empty# è una directory vuota. Di solito una transizione base a partire da `Empty` è prodotta ogni 100 delta. Strada facendo, queste avranno grandi dimensioni! Le dimensioni comuni per le delta [.filename]#XEmpty# vanno dai 70 a 80 Megabyte di dati compressi con `gzip`. Una volta che ti sei procurato una delta base come punto di partenza, avrai bisogno anche di tutte le delta successive aventi un numero maggiore. === Uso di CTM nella Tua Vita Quotidiana Per applicare le delta, fai come segue: [source,shell] .... # cd /where/ever/you/want/the/stuff # ctm -v -v /where/you/store/your/deltas/src-xxx.* .... CTM decifra le delta compresse tramite il comando `gzip`, quindi non hai bisogno di decomprimerle con `gunzip`, e ciò salva spazio su disco. Tranne in alcune circostanze, CTM non toccherà il tuo albero. Per verificare una delta puoi usare l'opzione `-c` e di fatto CTM non toccherà il tuo albero; verificherà soltanto l'integrità della delta e se questa può essere applicata in modo pulito al tuo albero attuale. Ci sono altre opzioni di CTM, guarda la pagina man o ispeziona i sorgenti per maggiori dettagli. Questo è davvero tutto ciò che devi sapere. Ogni volta che ottieni una delta, esegui CTM per aggiornare i tuoi sorgenti. È meglio non rimuovere le delta che richiedono grandi tempi di scaricamento. Nel caso succeda qualche disgrazia non dovrai riscaricarle. Anche se hai solo dischetti floppy, considera l'uso di `fdwrite` per crearne una copia. === Mantenimento delle Tue Modifiche Locali Allo stesso modo di uno sviluppatore potresti voler sperimentare delle modifiche nell'albero dei sorgenti. CTM supporta le modifiche locali in modo limitato: prima di verificare la presenza di un file [.filename]#foo#, esso cerca [.filename]#foo.ctm#. Se questo file esiste, CTM opererà su di esso piuttosto che su [.filename]#foo#. Questo comportamento offre un semplice modo per mantenere le modifiche locali: copia semplicemente il file che desideri modificare in un file con lo stesso nome e suffisso [.filename]#.ctm#. Quindi puoi liberamente hackerare il codice, e CTM manterrà aggiornato il file [.filename]#.ctm#. === Altre Opzioni Interessanti di CTM ==== Scoprire con Precisione Ciò che Dovrebbe Essere Aggiornato Puoi determinare la lista delle modifiche che CTM apporterà ai tuoi sorgenti usando l'opzione `-l` di CTM. Questo è utile se vuoi mantenere dei log delle modifiche, prima o dopo aver modificato in qualche modo i file, o solo perchè ti senti un pò paranoico. ==== Creare dei Backup Prima di Aggiornare Qualche volta potresti voler creare dei backup di tutti i file che saranno modificati da un aggiornamento di CTM. Specificando l'opzione `-B backup-file`, CTM effettuerà il backup di tutti i file che saranno modificati da una certa delta CTM nel file [.filename]#backup-file#. ==== Limitare i File che Devono Essere Aggiornati Qualche volta potresti volere restringere la portata di un certo aggiornamento CTM, o potresti essere interessato ad estrarre solo pochi file da una serie di delta. Puoi controllare la lista dei file sui quali CTM opererà specificando un'espressione regolare usando le opzioni `-e` e `-x`. Per esempio, per estrarre una copia aggiornata del file [.filename]#lib/libc/Makefile# dalla tua collezione di delta CTM, esegui i comandi seguenti: [source,shell] .... # cd /dove/vuoi/estrarre/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... Per ogni file specificato in una delta CTM, le opzioni `-e` e `-x` sono applicate nello stesso ordine in cui compaiono sulla riga di comando. Il file è processato da CTM solo se risulta idoneo a tutte le opzioni `-e` e `-x` ad esso applicate. === Piani Futuri per CTM I più importanti: * Usare qualche tipo di autenticazione nel sistema CTM, in modo tale da permette l'identificazione di aggiornamenti CTM contraffatti. * Ripulire le opzioni di CTM, che confondono e sono tutt'altro che intuitive. === Materiale Vario Esiste una serie di delta per la collezione dei `ports`, ma è ancora di poco interesse. [[mirrors-ctm]] === Mirror CTM <>/FreeBSD è disponibile via FTP anonimo dai siti mirror seguenti. Se decidi di procurarti CTM via FTP anonimo, per favore usa un sito a te vicino. In caso di problemi, contatta la mailing list link:{ctm-users-url}[ctm-users-desc]. California, Bay Area, sorgenti ufficiali:: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] Sudafrica, server di backup per vecchie delta:: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] Taiwan/R.O.C.:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] Se non trovi un mirror a te vicino o se il mirror è incompleto, prova ad usare qualche motore di ricerca come http://www.alltheweb.com/[alltheweb]. [[cvsup]] == Uso di CVSup [[cvsup-intro]] === Introduzione CVSup è un pacchetto di software per distribuire ed aggiornare alberi di sorgenti da un deposito centrale CVS posto su un server remoto. I sorgenti di FreeBSD sono mantenuti in un deposito CVS su una macchina centrale di sviluppo situata in California. Con CVSup, gli utenti di FreeBSD possono facilmente mantenere aggiornati i loro alberi di sorgenti. CVSup usa il cosiddetto modello ad _estrazione_ per aggiornare. In questo modello, è compito del client chiedere al server gli aggiornamenti. Il server attente passivamente le richieste di aggiornamento dai suoi client. In questo modo tutti gli aggiornamenti sono incitati dal client. Il server non invia mai degli aggiornamenti che non sono stati richiesti. Gli utenti devono eseguire il client CVSup manualmente per ottenere un aggiornamento, oppure possono usare `cron` per eseguire automaticamente queste operazioni secondo stabilite regole. Il termine CVSup, scritto in quel modo, si riferisce all'intero pacchetto di software. I suoi componenti principali sono il client `cvsup` che viene eseguito su ogni macchina degli utenti, e il server `cvsupd` che viene eseguito su ogni sito mirror di FreeBSD. Leggendo la documentazione di FreeBSD e le mailling list, potresti notare dei riferimenti a sup. Sup è il predecessore di CVSup, e serviva per un simile scopo. CVSup sostanzialmente è usato allo stesso modo di sup e, di fatto, i suoi file di configurazione sono compatibili con `sup`. Sup non viene più utilizzato nel progetto FreeBSD, poichè CVSup è più veloce e più flessibile. [[cvsup-install]] === Installazione Il modo più semplice per installare CVSup è usare il package precompilato package:net/cvsup[] della crossref:ports[ports,collezione dei package] di FreeBSD. Se preferisci costruire CVSup partendo dal sorgente, allora puoi usare il port package:net/cvsup[]. Ma sei avvisato: il port package:net/cvsup[] dipende dal sistema Modula-3, che richiede una consistente quantità di tempo e di spazio su disco per scaricarlo e costruirlo. [NOTE] ==== Se hai intenzione di usare CVSup su una macchina sulla quale non sarà installato XFree86(TM) o Xorg, come su un server, assicurati di usare il port che non include la GUI di CVSup, ossia package:net/cvsup-without-gui[]. ==== [[cvsup-config]] === Configurazione di CVSup Il funzionamento di CVSup è controllato da un file di configurazione chiamato [.filename]#supfile#. Esistono alcuni esempi di [.filename]#supfile# nella directory link:file://localhost/usr/shared/examples/cvsup/[/usr/shared/examples/cvsup/]. Le informazioni contenute in un [.filename]#supfile# rispondono alle seguenti questioni relative a CVSup: * <> * <> * <> * <> * <> Nelle seguenti sezioni, costruiremo un tipico [.filename]#supfile# per rispondere a turno ad ognuna di queste questioni. Incominciamo però col descrivere la struttura globale di un [.filename]#supfile#. Un [.filename]#supfile# è un file di testo. I commenti iniziano con un `#` e si estendono fino alle fine della riga. Le righe bianche e le righe che contengono solo commenti sono ignorate. Ogni altra riga descrive un insieme di file che l'utente vuole ricevere. Una riga inizia con il nome di una "collezione", un nome di un gruppo logico di file definiti dal server. Il nome della collezione indica al server i file che vuoi ricevere. Dopo il nome della collezione seguono zero o più campi, separati da spazi bianchi. Questi campi rispondono alle questioni citate in precedenza. Ci sono due tipi di campi: campo opzione e campo valore. Un campo opzione consiste di una parola chiave a se stante, es. `delete` o `compress`. Anche un campo valore inizia con una parola chiave, ma questa è seguita dal simbolo `=`, senza spazi bianchi intermedi, e da un seconda parola. Ad esempio, `release=cvs` è un campo valore. Un [.filename]#supfile# tipicamente specifica più di un'unica collezione da ricevere. Un modo di strutturare un [.filename]#supfile# è specificare esplicitamente tutti i campi rilevanti per ogni collezione. Tuttavia, ciò tende a creare [.filename]#supfile# troppo lunghi, e ciò è scomodo poichè in un [.filename]#supfile# la maggior parte dei campi sono gli stessi per tutte le collezioni. CVSup fornisce un meccanismo per aggirare questi problemi. Le linee che iniziano con il nome speciale di pseudo-collezione `*default` possono essere usate per inizializzare opzioni e valori che saranno utilizzati come default per le successive collezioni definite nel [.filename]#supfile#. Un valore di default può essere sovrascritto da una singola collezione, specificando un valore diverso per la collezione stessa. Inoltre i valori di default possono essere modificati in mezzo al supfile tramite linee `*default` aggiuntive. Con queste conoscenze, possiamo ora procedere alla costruzione di un [.filename]#supfile# per ricevere ed aggiornare l'albero dei sorgenti della crossref:cutting-edge[current,FreeBSD-CURRENT]. * [[cvsup-config-files]]Quali file vuoi ricevere? + I file disponibili via CVSup sono organizzati in gruppi chiamati "collezioni". Le collezioni che sono disponibili sono descritte nella <>. In questo esempio, desideriamo ricevere per intero l'albero corrente dei sorgenti del sistema FreeBSD. C'è un'unica e vasta collezione `src-all` che ci permette di ricevere tutto ciò. Come prima fase nella costruzione del nostro [.filename]#supfile#, dobbiamo semplicemente elencare le collezioni, una per riga (in questo caso, c'è un'unica riga): + [.programlisting] .... src-all .... * [[cvsup-config-vers]]Quali versioni dei file vuoi? + Con CVSup, hai la possibilità di ricevere qualsiasi versione dei sorgenti che sia mai esistita. Questo è possibile poichè il server cvsupd lavora direttamente sul deposito CVS, che contiene tutte le versioni. Puoi specificare la versione che vuoi usando i campi valori `tag=` e `date=`. + [WARNING] ==== Stai molto attento a specificare i campi `tag=` in modo corretto. Alcuni tag sono validi solo per certe collezioni di file. Se specifichi un tag non corretto, CVSup cancellerà file che tu non vorresti eliminare. In particolare, usa _solamente_ `tag=.` per le collezioni `ports-*`. ==== + Il campo `tag=` richiama un tag simbolico nel deposito. Ci sono due tipi di tag, i tag di revisione e i tag di ramo. Un tag di revisione fa riferimento ad una revisione specifica. Il suo significato rimane lo stesso di giorno in giorno. Un tag di ramo, d'altro canto, si riferisce sempre all'ultima revisione relativa ad una specifica linea di sviluppo. Dato che un tag di ramo non si riferisce ad una revisione specifica, esso potrebbe avere un significato diverso da un giorno con l'altro. + La <> contiene tag di ramo che potrebbero interessare gli utenti. Quando si specifica un tag in un file di configurazione di CVSup, esso dovrebbe essere preceduto da `tag=` (`RELENG_4` diviene `tag=RELENG_4`). Tieni presente che per la collezione dei port è rilevante solo `tag=.`. + [WARNING] ==== Sii molto attento a digitare il nome del tag nel modo esatto. CVSup non è in grado di riconoscere tag errati. Se digiti in modo sbagliato un tag, CVSup si comporterà come se tu avessi specificato un tag valido che non riguarda nessun file. In questo caso i tuoi sorgenti saranno eliminati. ==== + Quando specifichi un tag di ramo, normalmente ricevi le ultime versioni dei file di quella linea di sviluppo. Se vuoi ricevere versioni precedenti, puoi specificare una data con il campo valore `date=`. La pagina man di man:cvsup[1] spiega come farlo. + Nel nostro esempio, desideriamo ricevere FreeBSD-CURRENT. Aggiungiamo questa riga all'inizio del nostro [.filename]#supfile#: + [.programlisting] .... *default tag=. .... + C'è un importante caso speciale che entra in gioco se non specifichi ne un campo `tag=` ne un campo `date=`. In questo caso, ricevi i file RCS attuali direttamente dal deposito CVS del server, invece di ricevere una versione particolare. Gli sviluppatori in genere preferiscono questa modalità di funzionamento. Mantenendo una copia del deposito stesso sui loro sistemi, essi sono in grado di navigare attraverso la storia delle revisioni e di esaminare le versioni precedenti dei file. Comunque questo vantaggio è realizzabile al costo di un ingente quantità di spazio su disco. * [[cvsup-config-where]]Da dove li vuoi prelevare? + Il campo `host=` indica a `cvsup` da dove prelevare i suoi aggiornamenti. Va bene uno qualunque dei <>, anche se dovresti provare a selezionarne uno che sia a te vicino nel ciberspazio. In questo esempio useremo un sito di distribuzione di FreeBSD fittizio, `cvsup99.FreeBSD.org`: + [.programlisting] .... *default host=cvsup99.FreeBSD.org .... + Devi cambiare l'host in uno che esiste realmente prima di eseguire CVSup. Il settaggio dell'host può essere sovrascritto su riga di comando eseguendo `cvsup` con l'opzione `-h _hostname_`. * [[cvsup-config-dest]]Dove li vuoi mettere sulla tua macchina? + Il campo `prefix=` indica a `cvsup` dove mettere i file che riceve. In questo esempio, metteremo i file sorgenti direttamente nel nostro albero dei sorgenti, [.filename]#/usr/src#. La directory [.filename]#src# è già implicita nelle collezioni che vogliamo ricevere, quindi la corretta specifica è questa: + [.programlisting] .... *default prefix=/usr .... * [[cvsup-config-status]]Dove `cvsup` dovrebbe mantenere i suoi file di stato? + Il client di CVSup mantiene certi file di stato in ciò che è chiamata directory "base". Questi file aiutano CVSup a lavorare in modo più efficace, mantenendo traccia di quali aggiornamenti sono stati già ricevuti. Useremo la directory base standard, [.filename]#/var/db#: + [.programlisting] .... *default base=/var/db .... + Se la tua directory base non esiste, potrebbe essere una buona idea crearla subito. Il client `cvsup` interrompe l'esecuzione se la tua directory base non esiste. * Settaggi vari di [.filename]#supfile#: + C'è un altro settaggio che normalmente deve essere presente in un [.filename]#supfile#: + [.programlisting] .... *default release=cvs delete use-rel-suffix compress .... + `release=cvs` indica che il server dovrebbe prendere le sue informazioni dal deposito CVS principale di FreeBSD. In genere questa è la normalità, ma esistono altre possibilità che vanno oltre lo scopo di questa sezione. + `delete` dà a CVSup il permesso di cancellare file. Dovresti sempre specificare questa opzione, in modo che CVSup possa mantenere il tuo albero dei sorgenti del tutto aggiornato. CVSup è attento nel cancellare solamente quei file dei quali è responsabile. Altri file extra verranno lasciati intatti. + `use-rel-suffix` è ... arcano. Se vuoi realmente saperne di più, guarda la pagina man di man:cvsup[1]. Altrimenti, specificala senza preoccupartene troppo. + `compress` abilita l'uso di una compressione stile gzip sul canale di comunicazione. Se hai una connessione T1 o più veloce, non dovresti usare la compressione. Diversamente, può essere veramente d'aiuto. * Ricapitolazione di tutti settaggi: + Il [.filename]#supfile# completo per il nostro esempio è il seguente: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== Il File [.filename]#refuse# Come menzionato in precedenza, CVSup usa un _modello ad estrazione_. Sostanzialmente, questo significa che ti connetti al server CVSup, lui dice, "Ecco ciò che puoi scaricare ...", ed il tuo client risponde "OK, prenderò questo, questo, questo e questo." Nella configurazione di default, il client CVSup prenderà ogni file associato alla collezione e al tag che hai specificato nel file di configurazione. Tuttavia, questo non è sempre ciò che vuoi, specialmente se stai sincronizzando gli alberi [.filename]#doc#, [.filename]#ports#, o [.filename]#www# - molte persone non sono in grado di leggere quattro o cinque lingue, e quindi esse non hanno bisogno di scaricare i file di certe lingue. Se stai sincronizzando con CVSup la collezione dei port, puoi specificare collezioni individuali (es., _ports-astrology_, _ports-biology_, ecc. invece di specificare semplicemente _ports-all_). Tuttavia, poichè gli alberi [.filename]#doc# e [.filename]#www# non hanno collezioni per specifiche lingue, devi usare una delle molte abili caratteristiche di CVSup: il file [.filename]#refuse#. Il file [.filename]#refuse# sostanzialmente indica a CVSup che non dovrebbe prendere ogni singolo file da una collezione; in altre parole, esso dice al client di _rifiutare_ certi file dal server. Il file [.filename]#refuse# può essere trovato (o, se non ne hai ancora uno, dovrebbe essere messo) in [.filename]#base/sup/#. _base_ è definita nel tuo [.filename]#supfile#; la nostra _base_ è [.filename]#/var/db#, e quindi di default il file [.filename]#refuse# è [.filename]#/var/db/sup/refuse#. Il file [.filename]#refuse# ha veramente un formato molto semplice; esso contiene semplicemente i nomi dei file o delle directory che non desideri scaricare. Per esempio, se non parli altre lingue oltre all'inglese e al tedesco, e non hai la necessità di leggere la traduzione in tedesco della documentazione, puoi mettere le seguenti righe nel tuo file [.filename]#refuse#: [source,shell] .... doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/it_* doc/ja_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* .... e così via per altre lingue (puoi ottenere la lista completa esplorando il http://www.FreeBSD.org/cgi/cvsweb.cgi/[deposito CVS di FreeBSD]). Con questa utile funzionalità, quegli utenti che hanno una connessione lenta o pagano ogni minuto di connessione Internet potranno risparmiare tempo prezioso poichè non dovranno più scaricare file che non usano mai. Per maggiori dettagli sul file [.filename]#refuse# e su altre utili caratteristiche di CVSup, guarda la sua pagina man. === Eseguire CVSup Sei ora pronto per provare un aggiornamento. La riga di comando per farlo è molto semplice: [source,shell] .... # cvsup supfile .... dove [.filename]#supfile# è naturalmente il nome del [.filename]#supfile# che hai creato. Assumendo che stai lavorando sotto X11, `cvsup` visualizzarà una GUI con alcuni bottoni adibiti ad operazioni usuali. Premi il bottone btn:[go], e stai a guardare l'esecuzione. Poichè in questo esempio stai aggiornando il tuo albero dei sorgenti [.filename]#/usr/src#, avrai bisogno di eseguire il programma come `root` affinchè `cvsup` abbia i permessi necessari per aggiornare i tuoi file. Avendo appena creato il tuo file di configurazione, e non avendo mai usato questo programma prima ad ora, tutto ciò potrebbe renderti un pò nervoso. Esiste un semplice modo per provare la sincronizzazione senza toccare i tuoi preziosi file. Crea una directory vuota in qualche posto, e richiamala come argomento sulla riga di comando: [source,shell] .... # mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest .... La directory che hai specificato sarà usata come directory di destinazione per tutti gli aggiornamenti dei file. CVSup esaminerà i tuoi file usuali in [.filename]#/usr/src#, ma non modificherà o cencellerà alcuno di essi. Gli aggiornamenti dei file finiranno invece in [.filename]#/var/tmp/dest/usr/src#. Inoltre CVSup lascerà intatta la sua directory base contenente gli stati dei file quando viene eseguito in questo modo. Le nuove versioni di questi file saranno scritte nella directory specificata. A condizione che tu abbia l'accesso di lettura in [.filename]#/usr/src#, non hai bisogno di essere `root` per realizzare questo tipo di giro di prova. Se non stai utilizzando X11 o se non ti piacciono le GUI, dovresti aggiungere un paio di opzioni alla riga di comando quando esegui `cvsup`: [source,shell] .... # cvsup -g -L 2 supfile .... L'opzione `-g` indica a CVSup di non usare la sua GUI. Ciò è automatico se non stai utilizzando X11, ma se lo stai facendo allora la devi specificare. L'opzione `-L 2` indica a CVSup di visualizzare i dettagli di tutti gli aggiornamenti dei file che avvengono. Esistono tre livelli di verbosità, da `-L 0` a `-L 2`. Il default è 0, che significa silenzio totale eccetto per i messaggi di errore. Ci sono molte altre opzione disponibili. Per una breve lista di esse, digita `cvsup -H`. Per una descrizione più dettagliata, guarda la relativa pagina man. Una volta che sei soddisfatto di come avvengono gli aggiornamenti, puoi organizzare esecuzioni regolari di CVSup usando man:cron[8]. Ovviamente, non dovresti lasciare che CVSup usi la sua GUI quando lo esegui tramite man:cron[8]. [[cvsup-collec]] === Collezioni di File di CVSup Le collezioni di file disponibili via CVSup sono organizzate gerarchicamente. Ci sono poche collezioni grandi, le quali sono divise in piccole sotto-collezioni. Ricevere una grande collezione è equivalente a ricevere ogni sua sotto-collezione. Le relazioni gerarchiche tra le collezioni riflettono l'uso dell'identazione nella lista qui sotto. Le collezioni maggiormente usate sono `src-all`, e `ports-all`. Le altre collezioni sono usate solo da piccoli gruppi di persone per scopi speciali, e alcuni siti mirror potrebbero non contenerle tutte. `cvs-all release=cvs`:: Il deposito CVS maestro di FreeBSD, incluso il codice di crittografia. `distrib release=cvs`::: File relativi alla distribuzione e al mirroring di FreeBSD. `doc-all release=cvs`::: Sorgenti del Manuale di FreeBSD e altra documentazione. Questa collezione non include i file per il sito web di FreeBSD. `ports-all release=cvs`::: La FreeBSD Ports Collection. + [IMPORTANT] ==== Se non vuoi aggiornare per intero `ports-all` (l'interno albero dei port), ma usare una delle sotto-collezioni listate qui sotto, assicurati di aggiornare _sempre_ la sotto-collezione `ports-base`! Ogni volta che qualcosa cambia nell'infrastruttura della costruzione dei port rappresentata da `ports-base`, è praticamente certo che quei cambiamenti saranno usati dai port "reali" in un brevissimo arco di tempo. Quindi, se aggiorni solo i port "reali" e questi usano alcune delle nuove caratteristiche, c'è un'alta probabilità che la loro costruzione fallirà con alcuni misteriosi messaggi di errore. La _primissima_ cosa da fare in questi casi è assicurarsi che la propria sotto-collezione `ports-base` sia aggiornata. ==== + [IMPORTANT] ==== Se hai intenzione di creare localmente una copia di [.filename]#ports/INDEX#, _devi_ includere `ports-all` (l'intero albero dei port). Costruire [.filename]#ports/INDEX# con un albero non completo non è supportato. Consulta la link:{faq}#make-index[FAQ]. ==== `ports-accessibility release=cvs`:::: Software per aiutare gli utenti disabili. `ports-arabic release=cvs`:::: Supporto per la lingua araba. `ports-archivers release=cvs`:::: Applicazioni per l'archiviazione. `ports-astro release=cvs`:::: Applicazioni riguardanti l'astronomia. `ports-audio release=cvs`:::: Applicazioni di supporto all'audio. `ports-base release=cvs`:::: L'infrastruttura della costruzione della collezione dei port - vari file posti nelle sottodirectory [.filename]#Mk/# e [.filename]#Tools/# della directory [.filename]#/usr/ports#. + [NOTE] ==== Per favore vedi l'<>: dovresti _sempre_ aggiornare questa sotto-collezione ogni volta che aggiorni qualche pezzo della FreeBSD Ports Collection! ==== `ports-benchmarks release=cvs`:::: Benchmark (applicazioni per valutare le prestazioni del computer). `ports-biology release=cvs`:::: Biologia. `ports-cad release=cvs`:::: Applicazioni per la grafica computerizzata. `ports-chinese release=cvs`:::: Supporto alla lingua cinese. `ports-comms release=cvs`:::: Software per la comunicazione. `ports-converters release=cvs`:::: Convertitori di codici di caratteri. `ports-databases release=cvs`:::: Database. `ports-deskutils release=cvs`:::: Cose che erano utilizzate sulla scrivania prima che i computer furono inventati. `ports-devel release=cvs`:::: Utility per il development. `ports-dns release=cvs`:::: Software relativo al DNS. `ports-editors release=cvs`:::: Editor. `ports-emulators release=cvs`:::: Emulatori per altri sistemi operativi. `ports-finance release=cvs`:::: Applicazioni finanziarie, di gestione delle spese e simili. `ports-ftp release=cvs`:::: Server e client FTP. `ports-games release=cvs`:::: Giochi. `ports-german release=cvs`:::: Supporto alla lingua tedesca. `ports-graphics release=cvs`:::: Utilità per la grafica. `ports-hebrew release=cvs`:::: Supporto per la lingua ebraica. `ports-hungarian release=cvs`:::: Supporto alla lingua ungherese. `ports-irc release=cvs`:::: Utilità IRC (Internet Relay Chat). `ports-japanese release=cvs`:::: Supporto alla lingua giapponese. `ports-java release=cvs`:::: Utility Java(TM). `ports-korean release=cvs`:::: Supporto alla lingua coreana. `ports-lang release=cvs`:::: Linguaggi di programmazione. `ports-mail release=cvs`:::: Software di posta. `ports-math release=cvs`:::: Software per la computazione numerica. `ports-mbone release=cvs`:::: Applicazioni MBone. `ports-misc release=cvs`:::: Utility varie. `ports-multimedia release=cvs`:::: Software multimediale. `ports-net release=cvs`:::: Software di rete. `ports-net-im release=cvs`:::: Software per messaggeria istantanea. `ports-net-mgmt release=cvs`:::: Software di gestione del network. `ports-net-p2p release=cvs`:::: Rete peer to peer. `ports-news release=cvs`:::: Software per USENET. `ports-palm release=cvs`:::: Software di supporto per i vari Palm(TM). `ports-polish release=cvs`:::: Supporto alla lingua polacca. `ports-portuguese release=cvs`:::: Supporto alla lingua portoghese. `ports-print release=cvs`:::: Software per la stampa. `ports-russian release=cvs`:::: Supporto alla lingua russa. `ports-science release=cvs`:::: Scienzia. `ports-security release=cvs`:::: Utility per la sicurezza. `ports-shells release=cvs`:::: Shell a riga di comando. `ports-sysutils release=cvs`:::: Utility di sistema. `ports-textproc release=cvs`:::: Utility per la manipolazione del testo (non include utility per la pubblicazione computerizzata). `ports-ukrainian release=cvs`:::: Supporto per la lingua ucraina. `ports-vietnamese release=cvs`:::: Supporto alla lingua vietnamite. `ports-www release=cvs`:::: Software relativo al World Wide Web. `ports-x11 release=cvs`:::: Port per il supporto al sistema a finestre X. `ports-x11-clocks release=cvs`:::: Orologi per X11. `ports-x11-fm release=cvs`:::: Gestori di file per X11. `ports-x11-fonts release=cvs`:::: Font per X11 e relative utility. `ports-x11-toolkits release=cvs`:::: Cassette degli attrezzi per X11. `ports-x11-servers release=cvs`:::: Server X11. `ports-x11-themes release=cvs`:::: Temi per X11. `ports-x11-wm release=cvs`:::: Gestori di finestre per X11. `projects-all release=cvs`::: Sorgenti per i progetti di FreeBSD. `src-all release=cvs`::: I sorgenti correnti di FreeBSD, incluso il codice di crittografia. `src-base release=cvs`:::: Vari file posti in [.filename]#/usr/src#. `src-bin release=cvs`:::: Utility per l'utente in ambiente mono-utente ([.filename]#/usr/src/bin#). `src-contrib release=cvs`:::: Utility e librerie al di fuori del progetto FreeBSD, sostanzialmente utilizzati senza modifiche ([.filename]#/usr/src/contrib#). `src-crypto release=cvs`:::: Utility e librerie per la crittografia al di fuori del progetto FreeBSD, sostanzialmente utilizzati senza modifiche ([.filename]#/usr/src/crypto#). `src-eBones release=cvs`:::: Kerberos e DES ([.filename]#/usr/src/eBones#). Non usati nell'attuale release di FreeBSD. `src-etc release=cvs`:::: File di configurazione del sistema ([.filename]#/usr/src/etc#). `src-games release=cvs`:::: Giochi ([.filename]#/usr/src/games#). `src-gnu release=cvs`:::: Utility protette dalla licenza pubblica di GNU ([.filename]#/usr/src/gnu#). `src-include release=cvs`:::: File header ([.filename]#/usr/src/include#). `src-kerberos5 release=cvs`:::: Pacchetto di sicurezza Kerberos5 ([.filename]#/usr/src/kerberos5#). `src-kerberosIV release=cvs`:::: Pacchetto di sicurezza KerberosIV ([.filename]#/usr/src/kerberosIV#). `src-lib release=cvs`:::: Librerie ([.filename]#/usr/src/lib#). `src-libexec release=cvs`:::: Programmi di sistema normalmente eseguiti da altri programmi ([.filename]#/usr/src/libexec#). `src-release release=cvs`:::: File richiesti per produrre una release di FreeBSD ([.filename]#/usr/src/release#). `src-sbin release=cvs`:::: Utility di sistema per la modalità mono-utente ([.filename]#/usr/src/sbin#). `src-secure release=cvs`:::: Librerie e comandi per la crittografia ([.filename]#/usr/src/secure#). `src-share release=cvs`:::: File che possono essere condivisi tra sistemi multipli ([.filename]#/usr/src/share#). `src-sys release=cvs`:::: Il kernel ([.filename]#/usr/src/sys#). `src-sys-crypto release=cvs`:::: Codice di crittografia del kernel ([.filename]#/usr/src/sys/crypto#). `src-tools release=cvs`:::: Vari strumenti per il mantenimento di FreeBSD ([.filename]#/usr/src/tools#). `src-usrbin release=cvs`:::: Utility per l'utente ([.filename]#/usr/src/usr.bin#). `src-usrsbin release=cvs`:::: Utility di sistema ([.filename]#/usr/src/usr.sbin#). `www release=cvs`::: I sorgenti per il sito web di FreeBSD. `distrib release=self`:: I file di configurazione del server CVSup. Usati dai siti mirror CVSup. `gnats release=current`:: Il database GNATS per tener traccia dei bug. `mail-archive release=current`:: Archivio delle mailing list di FreeBSD. `www release=current`:: I file pre-processati del sito web di FreeBSD (non i file sorgenti). Usati dai siti mirror WWW. === Per Maggiori Informazioni Per le FAQ ed altre informazioni di CVSup vedere http://www.polstra.com/projects/freeware/CVSup/[la pagina home di CVSup]. La maggior parte delle discussioni su CVSup inerenti a FreeBSD si svolgono sulla {freebsd-hackers}. In questa mailling list inoltre sono anche annunciate nuove versioni del software, come pure sulla {freebsd-announce}. Questioni e resoconti di bug dovrebbero essere indirizzati all'autore del programma mailto:cvsup-bugs@polstra.com[cvsup-bugs@polstra.com]. [[cvsup-mirrors]] === Siti CVSup I server <> per FreeBSD si trovano ai seguenti siti: [[portsnap]] == Usare Portsnap [[portsnap-intro]] === Introduzione Portsnap è un sistema per distribuire in modo sicuro l'albero dei port di FreeBSD. Circa ogni ora, viene generata una "snapshot" dell'albero dei port, che viene impacchettata e firmata criptograficamente. I file risultanti sono quindi distribuiti via HTTP. Come CVSup, Portsnap usa un modello di aggiornamento a _rchiesta_: gli alberi dei port impacchettati e firmati sono messi sul server web che attende in modo passivo le richieste dei client. Gli utenti devono eseguire man:portsnap[8] manualmente o schedulare il job con man:cron[8] per scaricare periodicamente gli aggiornamenti in modo automatico. Per ragioni tecniche, Portsnap non aggiorna direttamente il "reale" albero dei port in [.filename]#/usr/ports/#; invece, lavora con una copia compressa dell'albero dei port memorizzata di default in [.filename]#/var/db/portsnap/#. Questa copia compressa viene quindi usata per aggiornare l'albero dei port effettivo. [NOTE] ==== Se Portsnap è installato dalla collezione dei port di FreeBSD, la locazione di default per la sua snapshot compressa è [.filename]#/usr/local/portsnap/# invece di [.filename]#/var/db/portsnap/#. ==== [[portsnap-install]] === Instalazione Su FreeBSD 6.0 e versioni più recenti, Portsnap è contenuto nel sistema base. Su versioni di FreeBSD più datate, può essere installato usando il port package:sysutils/portsnap[]. [[portsnap-config]] === Configurazione di Portsnap Il funzionamento di Portsnap è controllato dal file di configurazione [.filename]#/etc/portsnap.conf#. Per la maggior parte degli utenti, la configurazione di default sarà sufficiente; per maggiori dettagli, consultare la pagina man man:portsnap.conf[5]. [NOTE] ==== Se Portsnap è installato dalla collezione dei port di FreeBSD, userà il file di configurazione posto in [.filename]#/usr/local/etc/portsnap.conf# invece di [.filename]#/etc/portsnap.conf#. Questo file di configurazione non viene creato quando viene installato il port, ma viene dato un file di configurazione di base; per copiarlo nella giusta posizione, esegui il comando seguente: [source,shell] .... # cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf .... ==== === Eseguire Portsnap per la Prima Volta La prima volta che man:portsnap[8] viene eseguito, ha bisogno di scaricare una snapshot compressa dell'intero albero dei port in [.filename]#/var/db/portsnap/# (o [.filename]#/usr/local/portsnap/# se Portsnap è stato installato dalla collezione dei port). Dall'inizio del 2006 la sua dimensione è di circa 41 MB. [source,shell] .... # portsnap fetch .... Una volta che la snapshot compressa è stata scaricata, una copia dell'albero dei port può estratta in [.filename]#/usr/ports/#. Questo è necessario perfino se l'albero dei port è già stato creato in quella directory (es., usando CVSup), poichè stabilisce un punto di inizio dal qualche `portsnap` può determinare quale parte dell'albero dei port necessita di essere aggiornata. [source,shell] .... # portsnap extract .... [NOTE] ==== Nell'installazione di default la directory [.filename]#/usr/ports# non viene creata. Se usi FreeBSD 6.0-RELEASE, la directory dovrebbe essere creata prima di usare `portsnap`. Su versioni di FreeBSD e Portsnap più recenti questa operazione viene fatta in automatico al primo utilizzo del comando `portsnap`. ==== === Aggiornare l'Albero dei Port Dopo che una prima snapshot compressa dell'albero dei port è stata scaricata ed estratta in [.filename]#/usr/ports/#, l'aggiornamento dell'albero dei port consiste in due passi: _scaricando_ gli aggiornamenti della snapshot compressa, e usare questi per _aggiornare_ l'albero dei port effettivo. Questi due passi possono essere specificati a `portsnap` con un comando singolo. [source,shell] .... # portsnap fetch update .... [NOTE] ==== Alcune versioni vecchie di `portsnap` non supportano questa sintassi; se fallisce, prova in questo modo: [source,shell] .... # portsnap fetch # portsnap update .... ==== === Avviare Portsnap tramite cron Al fine di evitare problemi di "affollamenti istantanei" accedendo ai server di Portsnap, `portsnap fetch` non funziona da un job man:cron[8]. Esiste invece un comando apposito `portsnap cron`, che attende una durata random fino a 3600 secondi prima di scaricare gli aggiornamenti. Inoltre, è fortemente racomandato che `portsnap update` non sia eseguito da un job `cron`, poichè è soggetto a causare problemi se viene avviato allo stesso tempo di compilazione o installazione di un port. Ad ogni modo, è possibile aggiornare i file [.filename]#INDEX# dei port, e può essere fatto passando il flag `-I` a `portsnap`. (Ovviamente, se `portsnap -I update` viene eseguito da `cron`, sarà necessario eseguire successivamnte `portsnap update` senza la flag `-I` al fine di aggiornare il resto dell'albero.) Aggiungendo la riga seguente in [.filename]#/etc/crontab#, `portsnap` aggiornerà la snapshot compressa e i file [.filename]#INDEX# in [.filename]#/usr/ports/#, e manderà una email se qualche port installato non è aggiornato: [.programlisting] .... 0 3 * * * root portsnap -I cron update pkg_version -vIL= .... [NOTE] ==== Se l'ora di sistema non è settata all'ora locale, sostituisci `3` con un valore random tra 0 e 23, al fine di disporre il carico sui server Portsnap in modo uniforme. ==== [NOTE] ==== Alcune versioni datate di `portsnap` non supportano l'elenco di comandi multipli (es., `cron update`) nella stessa invocazione di `portsnap`. Se la riga di comando precedente fallisce, prova a sostituire `portsnap -I cron update` con `portsnap cron portsnap -I update`. ==== [[cvs-tags]] == Tag CVS Quando ricevi o aggiorni dei sorgenti usando cvs o CVSup, devi specificare un tag di revisione. Un tag di revisione si riferisce sia ad una particolare linea di sviluppo di FreeBSD, sia ad un specifico periodo di tempo. I primi tipi sono chiamati "tag di ramo", mentre i secondi "tag di release". === Tag di Ramo Tutti, con l'eccezione di `HEAD` (che è sempre un valido tag), sono relativi all'albero [.filename]#src/#. Gli alberi [.filename]#ports/#, [.filename]#doc/#, e [.filename]#www/# non sono ramificati. HEAD:: Nome simbolico per la linea di sviluppo corrente, FreeBSD-CURRENT. È anche il tag di default se nessun tag di revisione è specificato. + In CVSup, questo tag è rappresentato dal simbolo `.`. + [NOTE] ==== In CVS, questo è il settaggio di default se nessun tag di revisione è stato specificato. In genere _non_ è una buona idea aggiornare i sorgenti a CURRENT su una macchina STABLE, a meno che sai cosa stai facendo. ==== RELENG_6:: La linea di sviluppo per FreeBSD-6.X, anche conosciuta come FreeBSD 6-STABLE. RELENG_6_1:: Il ramo di release per FreeBSD-6.1, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_6_0:: Il ramo di release per FreeBSD-6.0, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_5:: La linea di sviluppo per FreeBSD-5.X, anche conosciuta come FreeBSD-STABLE. RELENG_5_5:: Il ramo di release per FreeBSD-5.5, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_5_4:: Il ramo di release per FreeBSD-5.4, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_5_3:: Il ramo di release per FreeBSD-5.3, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_5_2:: Il ramo di release per FreeBSD-5.2 e FreeBSD-5.2.1, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_5_1:: Il ramo di release per FreeBSD-5.1, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_5_0:: Il ramo di release per FreeBSD-5.0, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4:: La linea di sviluppo per FreeBSD-4.X, anche conosciuta come FreeBSD 4-STABLE. RELENG_4_11:: Il ramo di release per FreeBSD-4.11, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_10:: Il ramo di release per FreeBSD-4.10, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_9:: Il ramo di release per FreeBSD-4.9, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_8:: Il ramo di release per FreeBSD-4.8, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_7:: Il ramo di release per FreeBSD-4.7, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_6:: Il ramo di release per FreeBSD-4.6 e FreeBSD-4.6.2, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_5:: Il ramo di release per FreeBSD-4.5, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_4:: Il ramo di release per FreeBSD-4.4, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_4_3:: Il ramo di release per FreeBSD-4.3, usato solo per aggiornamenti relativi alla sicurezza e per altri fix cruciali. RELENG_3:: La line di sviluppo per FreeBSD-3.X, anche conosciuta come 3.X-STABLE. RELENG_2_2:: La linea di sviluppo per FreeBSD-2.2.X, anche conosciuta come 2.2-STABLE. Questo ramo è per la maggior parte obsoleto. === Tag di Release Questi tag si riferiscono a un preciso istante di tempo quando una versione di FreeBSD è stata rilasciata. Il processo di release engineering è documentato in dettaglio dai documenti link:https://www.FreeBSD.org/releng/[Release Engineering Information] e link:{releng}#release-proc/[Release Process]. L'albero [.filename]#src# usa nomi di tag che iniziano con `RELENG_`. Gli alberi [.filename]#ports# e [.filename]#doc# usano tag il cui nome inizia con `RELEASE`. Infine, l'albero [.filename]#www# non viene taggato con alcun nome particolare per le release. RELENG_6_1_0_RELEASE:: FreeBSD 6.1 RELENG_6_0_0_RELEASE:: FreeBSD 6.0 RELENG_5_5_0_RELEASE:: FreeBSD 5.5 RELENG_5_4_0_RELEASE:: FreeBSD 5.4 RELENG_4_11_0_RELEASE:: FreeBSD 4.11 RELENG_5_3_0_RELEASE:: FreeBSD 5.3 RELENG_4_10_0_RELEASE:: FreeBSD 4.10 RELENG_5_2_1_RELEASE:: FreeBSD 5.2.1 RELENG_5_2_0_RELEASE:: FreeBSD 5.2 RELENG_4_9_0_RELEASE:: FreeBSD 4.9 RELENG_5_1_0_RELEASE:: FreeBSD 5.1 RELENG_4_8_0_RELEASE:: FreeBSD 4.8 RELENG_5_0_0_RELEASE:: FreeBSD 5.0 RELENG_4_7_0_RELEASE:: FreeBSD 4.7 RELENG_4_6_2_RELEASE:: FreeBSD 4.6.2 RELENG_4_6_1_RELEASE:: FreeBSD 4.6.1 RELENG_4_6_0_RELEASE:: FreeBSD 4.6 RELENG_4_5_0_RELEASE:: FreeBSD 4.5 RELENG_4_4_0_RELEASE:: FreeBSD 4.4 RELENG_4_3_0_RELEASE:: FreeBSD 4.3 RELENG_4_2_0_RELEASE:: FreeBSD 4.2 RELENG_4_1_1_RELEASE:: FreeBSD 4.1.1 RELENG_4_1_0_RELEASE:: FreeBSD 4.1 RELENG_4_0_0_RELEASE:: FreeBSD 4.0 RELENG_3_5_0_RELEASE:: FreeBSD-3.5 RELENG_3_4_0_RELEASE:: FreeBSD-3.4 RELENG_3_3_0_RELEASE:: FreeBSD-3.3 RELENG_3_2_0_RELEASE:: FreeBSD-3.2 RELENG_3_1_0_RELEASE:: FreeBSD-3.1 RELENG_3_0_0_RELEASE:: FreeBSD-3.0 RELENG_2_2_8_RELEASE:: FreeBSD-2.2.8 RELENG_2_2_7_RELEASE:: FreeBSD-2.2.7 RELENG_2_2_6_RELEASE:: FreeBSD-2.2.6 RELENG_2_2_5_RELEASE:: FreeBSD-2.2.5 RELENG_2_2_2_RELEASE:: FreeBSD-2.2.2 RELENG_2_2_1_RELEASE:: FreeBSD-2.2.1 RELENG_2_2_0_RELEASE:: FreeBSD-2.2.0 [[mirrors-afs]] == Siti AFS I server AFS per FreeBSD sono in esecuzione nei seguenti siti: Svezia:: Il percorso dei file è: [.filename]#/afs/stacken.kth.se/ftp/pub/FreeBSD/# + [.programlisting] .... stacken.kth.se # Stacken Computer Club, KTH, Svezia 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se .... + Il maintainer mailto:ftp@stacken.kth.se[ftp@stacken.kth.se] [[mirrors-rsync]] == Siti rsync I seguenti siti rendono disponibile FreeBSD tramite il protocollo rsync. L'utility rsync lavora nello stesso modo del comando man:rcp[1], ma ha più opzioni e usa il protocollo rsync per aggiornamenti remoti il quale trasferisce solo le differenze tra i due set di file, e di conseguenza accelera fortemente la sincronizzazione su rete. Questo è molto utile se hai un sito mirror del server FTP di FreeBSD, o del deposito CVS. La suite rsync è disponibile per molti sistemi operativi e, su FreeBSD, puoi usare il port package:net/rsync[] o il rispettivo package. Repubblica Ceca:: rsync://ftp.cz.FreeBSD.org/ + Collezioni disponibili: ** ftp: Un mirror parziale del server FTP di FreeBSD. ** FreeBSD: Un mirror completo del server FTP di FreeBSD. Germania:: rsync://grappa.unix-ag.uni-kl.de/ + Collezioni disponibili: ** freebsd-cvs: Il completo deposito CVS di FreeBSD. + Questa macchina fa da mirror anche per il deposito CVS dei progetti NetBSD e OpenBSD, tra gli altri. Olanda:: rsync://ftp.nl.FreeBSD.org/ + Collezioni disponibili: ** vol/4/freebsd-core: Un completo mirror del server FTP di FreeBSD. Regno Unito:: rsync://rsync.mirror.ac.uk/ + Collezioni disponibili: ** ftp.FreeBSD.org: Un completo mirror del server FTP di FreeBSD. Stati Uniti d'America:: rsync://ftp-master.FreeBSD.org/ + Questo server può essere usato solo dai siti mirror primari di FreeBSD. + Collezioni disponibili: ** FreeBSD: L'archivio master del server FTP di FreeBSD. ** acl: La lista master delle ACL di FreeBSD. + rsync://ftp13.FreeBSD.org/ + Collezioni disponibili: ** FreeBSD: Un completo mirror del server FTP di FreeBSD. diff --git a/documentation/content/ja/books/handbook/mirrors/_index.adoc b/documentation/content/ja/books/handbook/mirrors/_index.adoc index 94d73db4e6..031f3fcb0e 100644 --- a/documentation/content/ja/books/handbook/mirrors/_index.adoc +++ b/documentation/content/ja/books/handbook/mirrors/_index.adoc @@ -1,850 +1,849 @@ --- title: 付録A FreeBSD の入手方法 part: パートV. 付録 prev: books/handbook/partv next: books/handbook/bibliography description: "FreeBSD の入手方法: CD および DVD セット, FTP サイト, Git のインストールおよび利用方法" tags: ["入手方法", "CD", "DVD", "FTP", "Git"] --- [appendix] [[mirrors]] = FreeBSD の入手方法 :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: 目次 :table-caption: 表 :figure-caption: 図 :example-caption: 例 :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/ja/mailing-lists.adoc[] include::shared/ja/teams.adoc[] include::shared/ja/urls.adoc[] [[mirrors-cdrom]] == CD および DVD セット FreeBSD の CD および DVD のセットは以下のオンライン業者から入手できます。 * FreeBSD Mall, Inc. + 2420 Sand Creek Rd C-1 #347 + Brentwood, CA + 94513 + USA + Phone: +1 925 240-6652 + Fax: +1 925 674-0821 + Email: + WWW: https://www.freebsdmall.com * Getlinux + 78 Rue de la Croix Rochopt + Épinay-sous-Sénart + 91860 + France + Email: + WWW: http://www.getlinux.fr/ * Dr. Hinner EDV + Kochelseestr. 11 + D-81371 München + Germany + Phone: (0177) 428 419 0 + Email: + WWW: http://www.hinner.de/linux/freebsd.html [[mirrors-ftp]] == FTP サイト FreeBSD の公式な情報は anonymous FTP によって世界中のミラーサイトより入手できます。 link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] サイトは、HTTP および FTP 経由で利用できます。 これは、プロジェクトクラスタの管理者により運用されている数多くのコンピュータから構成されています。 また、GeoDNS により、近くの利用可能なミラーをユーザに提供します。 さらに、FreeBSD は以下のミラーサイトから anonymous FTP によって入手できます。 FreeBSD を anonymous FTP から入手する場合には、近くのサイトを利用するようにしてください。 "一次ミラーサイト" としてあげられているサイトには、 FreeBSD の各アーキテクチャで利用可能なすべてのバージョンのアーカイブ一式が用意されていますが、 あなたが住んでいる国や地域には、 おそらくより高速にダウンロードできるサイトが用意されています。 各国のミラーサイトには、人気のあるアーキテクチャの最新のバージョンが置いてありますが、FreeBSD のアーカイブ全体はもしかするとないかもしれません。 すべてのサイトは anonymous FTP でのアクセスを提供していますが、別の方法によるアクセスを提供しているサイトもあります。 各サイトで提供しているアクセス方法は、 ホスト名に続く括弧の中に記載されています。 <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-primary-email}>` 宛にお問い合わせください。 * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-armenia-email}>` 宛にお問い合わせください。 * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-australia-email}>` 宛にお問い合わせください。 * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-austria-email}>` 宛にお問い合わせください。 * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-brazil-email}>` 宛にお問い合わせください。 * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[bulgaria]] *{mirrors-bulgaria}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-bulgaria-email}>` 宛にお問い合わせください。 * {mirrors-bulgaria-ftp} (ftp / {mirrors-bulgaria-ftpv6} / {mirrors-bulgaria-ftp-http} / {mirrors-bulgaria-ftp-httpv6} / rsync / rsyncv6) [[czech-republic]] *{mirrors-czech}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-czech-email}>` 宛にお問い合わせください。 * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-denmark-email}>` 宛にお問い合わせください。 * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-estonia-email}>` 宛にお問い合わせください。 * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-finland-email}>` 宛にお問い合わせください。 * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-france-email}>` 宛にお問い合わせください。 * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-germany-email}>` 宛にお問い合わせください。 * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-greece-email}>` 宛にお問い合わせください。 * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-ireland-email}>` 宛にお問い合わせください。 * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-japan-email}>` 宛にお問い合わせください。 * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-korea-email}>` 宛にお問い合わせください。 * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-latvia-email}>` 宛にお問い合わせください。 * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-lithuania-email}>` 宛にお問い合わせください。 * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-netherlands-email}>` 宛にお問い合わせください。 * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-norway-email}>` 宛にお問い合わせください。 * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-poland-email}>` 宛にお問い合わせください。 * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-russia-email}>` 宛にお問い合わせください。 * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-saudi-arabia-email}>` 宛にお問い合わせください。 * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-slovenia-email}>` 宛にお問い合わせください。 * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-south-africa-email}>` 宛にお問い合わせください。 * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-spain-email}>` 宛にお問い合わせください。 * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-sweden-email}>` 宛にお問い合わせください。 * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-switzerland-email}>` 宛にお問い合わせください。 * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-taiwan-email}>` 宛にお問い合わせください。 * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-uk-email}>` 宛にお問い合わせください。 * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* 問題がある場合は、このドメインのホストマスタ `<{mirrors-us-email}>` 宛にお問い合わせください。 * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[git]] == Git の利用 [[git-intro]] === はじめに 2020 年 12 月から、FreeBSD はソースコード、ドキュメントのすべてを管理するメインのバージョン管理システムに git を使っています。 2021 年 4 月から、FreeBSD は Ports Collection のすべてを管理するバージョン管理システムに git を使っています。 [NOTE] ==== 一般的には Git は開発用ツールです。 ユーザによっては、FreeBSD ベースシステムのアップデートに `freebsd-update` (crossref:cutting-edge[updating-upgrading-freebsdupdate,“FreeBSD Update”])、 FreeBSD Ports Collection のアップデートに `portsnap` (crossref:ports[ports-using,“Ports Collection の利用”]) を好んで使用するでしょう。 ==== この章では、FreeBSD 上への Git のインストール方法および、 FreeBSD リポジトリのローカルコピーの作成方法について説明します。 Git の使用方法についても紹介します。 [[git-ssl-certificates]] === ルート SSL 証明書 12._x_ より前の古い FreeBSD システムは、適切なルート証明書を持っていません。 これらのシステムに package:security/ca_root_nss[] をインストールすることで、 Git は HTTPS リポジトリサーバを検証できるようになります。 ルート SSL 証明書は port からインストールできます。 [source,shell] .... # cd /usr/ports/security/ca_root_nss # make install clean .... または package からインストールしてください。 [source,shell] .... # pkg install ca_root_nss .... [[git-install]] === インストール package を使って Git をインストールできます。 [source,shell] .... # pkg install git .... Ports Collection からも Git をインストールできます。 [source,shell] .... # cd /usr/ports/devel/git # make install clean .... [[git-usage]] === Git の実行 ソースコードをローカルディレクトリに新しくコピーするには、`git` を使ってください。 このファイルのあるディレクトリのことを _ワークツリー_ と呼びます。 [WARNING] ==== コピー先のディレクトリが既に存在する場合は、`git clone` をはじめて使う前にディレクトリを移動するか削除してください。 git 以外の方法で用意されたディレクトリに対するリポジトリのクローンは失敗するでしょう。 ==== Git は、リポジトリの指定に _protocol://hostname/path_ 形式の URL を用います。 path の最初でアクセスする FreeBSD リポジトリを指定します。 リポジトリには `base`, `doc` および `ports` の 3 種類あります。 `base` は FreeBSD ベースシステムのソースコード、`doc` はドキュメント、そして `ports` は FreeBSD Ports Collection のリポジトリです。 たとえば、`https://git.FreeBSD.org/src.git` という URL は、`https` プロトコルによる src リポジトリの main ブランチを示します。 [[git-url-table]] .FreeBSD Git リポジトリの URL テーブル [options="header,footer"] |======================================================= |項目 | Git URL | ウェブベースの src リポジトリブラウザ | `https://cgit.freebsd.org/src` | HTTPS 経由の読み取り専用 src リポジトリ | `https://git.freebsd.org/src.git` | Anonymous ssh による読み取り専用 src リポジトリ | `ssh://anongit@git.freebsd.org/src.git` | コミッタのための読み取り/書き込み用 src リポジトリ | `ssh://git@gitrepo.freebsd.org/src.git` (*) | ウェブベースの doc リポジトリブラウザ | `https://cgit.freebsd.org/doc` | HTTPS 経由の読み取り専用 doc リポジトリ | `https://git.freebsd.org/doc.git` | Anonymous ssh による読み取り専用 doc リポジトリ | `ssh://anongit@git.freebsd.org/doc.git` | コミッタのための読み取り/書き込み用 doc リポジトリ | `ssh://git@gitrepo.freebsd.org/doc.git` (*) | ウェブベースの ports リポジトリブラウザ | `https://cgit.freebsd.org/ports` | HTTPS 経由の読み取り専用 ports リポジトリ| `https://git.freebsd.org/ports.git` | Anonymous ssh による読み取り専用 ports リポジトリ | `ssh://anongit@git.freebsd.org/ports.git` | コミッタのための読み取り/書き込み用 ports リポジトリ | `ssh://git@gitrepo.freebsd.org/ports.git` (*) |======================================================= - (*) `git` は、リポジトリサーバ上の特別なユーザです。 リポジトリサーバは、FreeBSD.org に登録されている ssh 鍵からユーザを識別するので、変更する必要はありません。 [WARNING] ==== git への移行完了後、`gitrepo.freebsd.org` は単純な `repo.freebsd.org` に変更される予定です。 ==== 利用開始には、FreeBSD リポジトリを clone してください。 [source,shell] .... # git clone -o freebsd [ -b branch ] https://git.FreeBSD.org/repo.git wcdir .... ここで * _repo_ は、プロジェクトリポジトリの `src`, `ports`, または `doc` のどれかになります。 * _branch_ は、使用しているリポジトリに依存します。 `ports` および `doc` では、ほとんどの変更が `main` ブランチで行われる一方で、`src` では -CURRENT の最新版を `main` で管理し、各 -STABLE ブランチの最新版を `stable/12` (12._x_) および `stable/13` (13._x_) で管理しています。 * _wcdir_ は、指定したブランチの内容が置かれるターゲットディレクトリです。 通常、`ports` では [.filename]#/usr/ports#、 `src` では [.filename]#/usr/src#、そして `doc` では [.filename]#/usr/doc# です。 * _freebsd_ は、使用する origin の名前です。 FreeBSD のドキュメントの慣例で、origin は `freebsd` とします。 この例では、FreeBSD リポジトリからシステムのソースの 'main' ブランチを HTTPS プロトコルを用いてチェックアウトし、ローカルのワーキングコピーを [.filename]#/usr/src# に作成します。 もし、[.filename]#/usr/src# がすでに存在していて、`git` により作成されたものでなければ、チェックアウトの前に、名前を変更するか削除しておいてください。 そうでなければ、git は何も行わないでしょう。 [source,shell] .... # git clone -o freebsd https://git.FreeBSD.org/src.git /usr/src .... 初めてチェックアウトする際には、リモートリポジトリのすべてのブランチをダウンロードするので時間がかかります。 初めてのチェックアウト後は、 以下を実行することでローカルのワーキングコピーをアップデートできます。 [source,shell] .... # cd wcdir # git pull --rebase .... この例で作成された [.filename]#/usr/src# をアップデートするには、以下のようになります。 [source,shell] .... # cd /usr/src # git pull --rebase .... チェックアウトと比較すると、このアップデートでは変更点のあるファイルのみが転送されるので高速です。 プロジェクトのメンバーが管理する外部のミラーも存在します。 <> の節を参照してください。 === SSH 関連情報 * `ssh://${user}@${url}/${repo}.git` は、`${user}@${url}:${repo}.git` と書くこともできます。すなわち git 上では以下の二つの URL は両方とも使えます。 -- ** `ssh://anongit@git.freebsd.org/${repo}.git` ** `anongit@git.freebsd.org:${repo}.git` 読み書き用リポジトリでも同様です。 ** `ssh://git@(git)repo.freebsd.org/${repo}.git` ** `git@(git)repo.freebsd.org:${repo}.git` -- * gitrepo.FreeBSD.org ホスト鍵のフィンガープリントは以下です。 ** ECDSA 鍵のフィンガープリントは `SHA256:seWO5D27ySURcx4bknTNKlC1mgai0whP443PAKEvvZA` です。 ** ED25519 鍵のフィンガープリントは `SHA256:lNR6i4BEOaaUhmDHBA1WJsO7H3KtvjE2r5q4sOxtIWo` です。 ** RSA 鍵のフィンガープリントは `SHA256:f453CUEFXEJAXlKeEHV+ajJfeEfx9MdKQUD7lIscnQI` です。 * git.FreeBSD.org ホスト鍵のフィンガープリントは以下です。 ** ECDSA 鍵のフィンガープリントは `SHA256:/UlirUAsGiitupxmtsn7f9b7zCWd0vCs4Yo/tpVWP9w` です。 ** ED25519 鍵のフィンガープリントは `SHA256:y1ljKrKMD3lDObRUG3xJ9gXwEIuqnh306tSyFd1tuZE` です。 ** RSA 鍵のフィンガープリントは `SHA256:jBe6FQGoH4HjvrIVM23dcnLZk9kmpdezR/CvQzm7rJM` です。 これらは DNS の SSHFP レコードとしても公開されています。 === ウェブベースのリポジトリブラウザ FreeBSD プロジェクトは、現在 cgit をウェブベースのリポジトリブラウザ (https://cgit.freebsd.org/) として使用しています。 各リポジトリの URL は、<> にまとめられています。 === ユーザ向けの説明 公式の配布用のミラーから`git clone` および `git pull` することが推奨されています。 GeoDNS により、近くの利用可能なミラーがユーザに提供されます。 === 開発者向けの説明 link:{committers-guide}#git-mini-primer[Committer's Guide] をご覧ください。 [[external-mirrors]] === 外部ミラー FreeBSD.org は以下のミラーを管理しておらず、プロジェクトのメンバーが現在も維持しています。 ユーザおよび開発者は自由にこれらのミラーのリポジトリを pull したりブラウザで見ることができます。 これらのミラーとのプロジェクトワークフローは議論中です。 ==== Codeberg - doc: https://codeberg.org/FreeBSD/freebsd-doc - ports: https://codeberg.org/FreeBSD/freebsd-ports - src: https://codeberg.org/FreeBSD/freebsd-src ==== GitHub - doc: https://github.com/freebsd/freebsd-doc - ports: https://github.com/freebsd/freebsd-ports - src: https://github.com/freebsd/freebsd-src ==== GitLab - doc: https://gitlab.com/FreeBSD/freebsd-doc - ports: https://gitlab.com/FreeBSD/freebsd-ports - src: https://gitlab.com/FreeBSD/freebsd-src === メーリングリスト FreeBSD プロジェクトにおける git の一般的な使用方法や質問について: https://lists.freebsd.org/mailman/listinfo/freebsd-git[freebsd-git] コミットメッセージは以下のメーリングリストに送信されます。 - https://lists.freebsd.org/mailman/listinfo/dev-commits-doc-all[dev-commits-doc-all]: doc リポジトリに対するすべての変更 - https://lists.freebsd.org/mailman/listinfo/dev-commits-ports-all[dev-commits-ports-all]: ports リポジトリに対するすべての変更 - https://lists.freebsd.org/mailman/listinfo/dev-commits-ports-main[dev-commits-ports-main]: ports リポジトリの "main" ブランチに対するすべての変更 - https://lists.freebsd.org/mailman/listinfo/dev-commits-ports-branches[dev-commits-ports-branches]: ports リポジトリの quarterly ブランチに対するすべての変更 - https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all[dev-commits-src-all]: src リポジトリに対するすべての変更 - https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main[dev-commits-src-main]: src リポジトリの "main" ブランチ (FreeBSD-CURRENT ブランチ) に対するすべての変更 - https://lists.freebsd.org/mailman/listinfo/dev-commits-src-branches[dev-commits-src-branches]: src リポジトリの stable ブランチに対するすべての変更 詳細については、ハンドブックの C.2. 「メーリングリスト」 https://docs.freebsd.org/ja/books/handbook/eresources/#eresources-mail の "コミットメッセージリスト" の節を参照してください。 [[svn]] == Subversion の利用 [[svn-intro]] === はじめに 2020 年 12 月より、FreeBSD のソースコード、ドキュメントのすべてを管理するメインのバージョン管理システムは git に移行しました。 git リポジトリの `stable/11`, `stable/12` および関連するリリースのブランチは、subversion リポジトリにエクスポートされます。 このエクスポートは、各ブランチの保守終了予定日まで行われる予定です。 2012 年 7 月から 2021 年 3 月までの間 FreeBSD は、FreeBSD Ports Collection のすべてを管理するバージョン管理システムに Subversion を使用していました。 2021 年 4 月より、FreeBSD の Ports Collection のすべてを管理するメインのバージョン管理システムは git に移行しました。 [NOTE] ==== -一般的には Subversion は開発者向けのツールです。 ユーザは好みに応じて、FreeBSD のベースシステムのアップデートに `freebsd-update` (crossref:cutting-edge[updating-upgrading-freebsdupdate,「FreeBSD Update」])、Ports Collection のアップデートには `portsnap` (crossref:ports[ports-using,「Ports Collection の利用」]) を使用できます。 2021 年 3 月以降、subversion はレガシーブランチ (`stable/11` および `stable/12`) でのみ使用されます。 ==== この節では、FreeBSD システムへの Subversion のインストール方法、および FreeBSD リポジトリをローカルに作成する方法について説明します。 さらに Subversion を利用するための情報についても紹介します。 [[svn-ssl-certificates]] === ルート SSL 証明書 12._x_ より前の古い FreeBSD システムは、適切なルート証明書を持っていません。 これらのシステムに package:security/ca_root_nss[] をインストールすることで、 Subversion は HTTPS リポジトリサーバを検証できるようになります。 インストールの手順については、<> で説明されています。 [[svn-svnlite]] === Svnlite FreeBSD には、Subversion より軽い `svnlite` がインストールされています。 Subversion の port または package は、Python もしくは Perl API が必要な時や、最新の Subversion を使用したい時のみ必要となります。 通常の Subversion と、 `svnlite` との違いは、 使用する時のコマンド名が異なるだけです。 [[svn-install]] === インストール `svnlite` を利用できない場合や、 フルバージョンの Subversion を使いたいのであれば、 事前に Subversion をインストールしておく必要があります。 Subversion は Ports Collection からインストールできます。 [source,shell] .... # cd /usr/ports/devel/subversion # make install clean .... package を使って Subversion をインストールすることもできます。 [source,shell] .... # pkg install subversion .... [[svn-usage]] === Subversion の実行 ローカルディレクトリにソースコードをダウンロードするには、 `svn` コマンドを使ってください。 このディレクトリにあるファイルを、 _ローカル作業コピー_ と呼びます。 [WARNING] ==== `checkout` をはじめて使う前に、 ローカルディレクトリを移動するか削除してください。 `svn` 以外の方法で用意されたディレクトリでチェックアウトすると、 すでに存在するファイルと、 リポジトリから持ってきたファイルとの間で衝突が起きてしまいます。 ==== Subversion では、リポジトリの指定に _protocol://hostname/path_ 形式の URL を用います。 以下に記載されているように、 アクセスする FreeBSD リポジトリは、パス (path) の最初で指定します。 リポジトリは 3 つあります。 `base` は FreeBSD ベースシステムのソースコード、`ports` は Ports Collection、 そして `doc` はドキュメントのリポジトリです。 たとえば、`https://svn.FreeBSD.org/base/head/` という URL は、`https` プロトコルによる src リポジトリのメインブランチを示しています。 以下のように入力して、リポジトリからチェックアウトしてください。 [source,shell] .... # svn checkout https://svn.FreeBSD.org/repository/branch lwcdir .... ここで、_repository_, _branch_ および _root_ は以下のとおりです。 * _repository_ には、 プロジェクトリポジトリの `base`, `ports` または `doc` のどれかひとつを指定します。 * _branch_ は、使うリポジトリによります。 `ports` および `doc` では、ほとんどの変更が `head` ブランチで行われます。 `base` リポジトリでは、`head` ブランチで -CURRENT の最新バージョンを管理しています。 -STABLE ブランチの最新バージョンは、 11._x_ は `stable/11`, そして 12._x_ は `stable/12` で管理しています。 * _lwcdir_ は、 指定したブランチの中身が置かれるターゲットのディレクトリです。 通常 `ports` は [.filename]#/usr/ports#、 `base` は [.filename]#/usr/src#、 そして `doc` では [.filename]#/usr/doc# と指定します。 以下の例では、ソースツリーを FreeBSD リポジトリから HTTPS プロトコルを使ってチェックアウトします。 それらは、[.filename]#/usr/src# のローカル作業コピーに置かれます。 もし [.filename]#/usr/src# がすでに存在していて、それが `svn` によって生成されたものでなければ、チェックアウトする前に、名前を変更するか削除してください。 [source,shell] .... # svn checkout https://svn.FreeBSD.org/base/head /usr/src .... 初めてチェックアウトする際には、 リモートリポジトリのすべてのブランチをダウンロードする必要があるので、時間がかかります。 我慢してください。 初めてのチェックアウト後は、 以下を実行することでローカル作業コピーをアップデートできます。 [source,shell] .... # svn update lwcdir .... この例で作成された [.filename]#/usr/src# をアップデートするには、 以下のようにしてください。 [source,shell] .... # svn update /usr/src .... アップデートはチェックアウトにくらべ、 変更点のあるファイルのみが転送されるので高速です。 チェックアウト後、ローカル作業コピーをアップデートするもうひとつの方法は、 [.filename]#/usr/ports#, [.filename]#/usr/src# または [.filename]#/usr/doc# ディレクトリの [.filename]#Makefile# で提供されています。 `SVN_UPDATE` を設定して `update` ターゲットを使ってください。 たとえば、[.filename]#/usr/src# をアップデートするには、以下のようにしてください。 [source,shell] .... # cd /usr/src # make update SVN_UPDATE=yes .... [[svn-mirrors]] === Subversion ミラーサイト FreeBSD Subversion リポジトリは、 [.programlisting] .... svn.FreeBSD.org .... です。これは、公にアクセス可能なミラーネットワークで、 GeoDNS を用いて適切なバックエンドサーバを選択しています。 ブラウザを用いて FreeBSD の Subversion リポジトリを参照するには、link:https://svnweb.FreeBSD.org/[https://svnweb.FreeBSD.org/] を利用してください。 HTTPS は推奨されているプロトコルです。 自動的に証明書を検証するために、package:security/ca_root_nss[] port をインストールする必要があります。 === より詳しい情報 Subversion の利用に関する他の情報は、 http://svnbook.red-bean.com/[Version Control with Subversion] や http://subversion.apache.org/docs/[Subversion Documentation] といった "Subversion Book" をご覧ください。 [[mirrors-rsync]] == rsync を使用する 次のサイトは、FreeBSD を rsync プロトコルで提供しています。 rsync ユーティリティは送り側と受け側の差分だけを転送します。 FreeBSD FTP サーバのミラーサイトを作成する時に便利でしょう。 rsync は、多くのオペレーティングシステムで 利用することができます。 FreeBSD 版は、package:net/rsync[] の port か、package を使ってください。 チェコ共和国:: rsync://ftp.cz.FreeBSD.org/ + 提供しているコレクション: ** ftp: FreeBSD FTP サーバの部分ミラー ** FreeBSD: FreeBSD FTP サーバの全体ミラー オランダ:: rsync://ftp.nl.FreeBSD.org/ + 提供しているコレクション: ** FreeBSD: FreeBSD FTP サーバの全体ミラー ロシア:: rsync://ftp.mtu.ru/ + 提供しているコレクション: ** FreeBSD: FreeBSD FTP サーバの全体ミラー ** FreeBSD-Archive: FreeBSD アーカイブ FTP サーバのミラー スウェーデン:: rsync://ftp4.se.freebsd.org/ + 提供しているコレクション: ** FreeBSD: FreeBSD FTP サーバの全体ミラー 台湾:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + 提供しているコレクション: ** FreeBSD: FreeBSD FTP サーバの全体ミラー イギリス:: rsync://rsync.mirrorservice.org/ + 提供しているコレクション: ** ftp.freebsd.org: FreeBSD FTP サーバの全体ミラー アメリカ合衆国:: rsync://ftp-master.FreeBSD.org/ + このサーバは、FreeBSD の一次ミラーサイトとしてのみ使われています。 + 提供しているコレクション: + -- ** FreeBSD: FreeBSD FTP サーバのマスタアーカイブ ** acl: The FreeBSD マスタ ACL リスト -- + rsync://ftp13.FreeBSD.org/ + 提供しているコレクション: ** FreeBSD: FreeBSD FTP サーバの全体ミラー diff --git a/documentation/content/mn/books/handbook/mirrors/_index.adoc b/documentation/content/mn/books/handbook/mirrors/_index.adoc index 4c3d7dd727..7a421a9c7a 100644 --- a/documentation/content/mn/books/handbook/mirrors/_index.adoc +++ b/documentation/content/mn/books/handbook/mirrors/_index.adoc @@ -1,1395 +1,1394 @@ --- title: Хавсралт A. FreeBSD-г олж авах нь part: хэсэг V. Хавсралтууд prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = Se procurer FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Гарчиг :table-caption: Хүснэгт :figure-caption: Зураг :example-caption: Жишээ :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/mn/mailing-lists.adoc[] include::shared/mn/teams.adoc[] include::shared/mn/urls.adoc[] [[mirrors-cdrom]] == CDROM болон DVD Нийтлэгчид === CD болон DVD цуглуулгууд FreeBSD CD болон DVD цуглуулгуудыг олон жижиглэн худалдаалагчдаас шууд худалдан авах боломжтой байдаг: * FreeBSD Mall, Inc. + 2420 Sand Creek Rd C-1 #347 + Brentwood, CA 94513 + USA + Утас: +1 925 240-6652 + Факс: +1 925 674-0821 + Email: + WWW: http://www.freebsdmall.com/ * Dr. Hinner EDV + Kochelseestr. 11 + D-81371 München + Germany + Утас: (0177) 428 419 0 + WWW: http://www.hinner.de/linux/freebsd.html * Linux Distro UK + 42 Wharfedale Road + Margate + CT9 2TB + United Kingdom + WWW: https://linux-distro.co.uk/ * The Linux Emporium + The Techno Centre, Puma Way + Parkside + CV1 2TT + United Kingdom + Утас: +44 (0)247 615 8121 + Факс: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/bsd/ * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Утас: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/shop/freebsd [[mirrors-ftp]] == FTP сайтууд FreeBSD-д зориулсан абан ёсны эхүүдийг дэлхий даяар байрласан толин тусгал сайтуудаас авч болно. link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] сайт нь сайн холбогдсон бөгөөд маш олон тооны холболтуудыг зөвшөөрдөг. Гэхдээ та "илүү ойр" толин тусгал сайтыг хайж олсон нь дээр биз ээ (ялангуяа хэрэв та ямар нэгэн толин тусгал маягийн сайт тохируулж ажиллуулахыг хүсвэл). Мөн FreeBSD нь дараах толин тусгал сайтууд дахь нэргүй FTP-ээс авч болохоор байдаг. Хэрэв та нэргүй FTP-ээс FreeBSD-г авахыг сонговол өөртөө аль болох ойр сайтыг ашиглаад үзээрэй. "Primary Mirror Sites" буюу үндсэн толин тусгал сайтууд дахь толин тусгал сайтууд нь бүхэл FreeBSD архивыг (архитектур болгонд зориулсан одоо байгаа бүх хувилбарууд) ихэвчлэн агуулдаг боловч танай улс юм уу эсвэл бүсэд байрлаж байгаа сайтаас татаж авахад танд илүү хурдан байх болов уу. Бүсийн сайтууд нь хамгийн түгээмэл архитектуруудад зориулсан хамгийн сүүлийн үеийн хувилбаруудыг агуулдаг боловч FreeBSD-ийн бүх архивыг агуулаагүй байж болох юм. Бүх сайтууд нь нэргүй FTP-ээр хандах боломжийг олгодог. Зарим сайтууд нь бас бусад аргуудаар хандах боломжийг олгодог. Сайт болгоны хувьд хандах аргууд нь хостын нэрийн дараа хаалтанд өгөгдсөн байгаа болно. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[mirrors-bittorrent]] == BitTorrent Үндсэн хувилбарын CD-үүдийн ISO дүрсүүдийг BitTorrent-оор дамжуулан авах боломжтой байдаг. Дүрсүүдийг татаж авах torrent файлын цуглуулга http://torrents.freebsd.org:8080/[http://torrents.freebsd.org:8080] хаяг дээр бий. BitTorrent-ийн клиент програм хангамж нь package:net-p2p/py-bittorrent[] порт эсвэл өмнө нь эмхэтгэсэн багц хэлбэрээр байдаг. BitTorrent-оор ISO дүрсийг татаж авсны дараагаар та <> burncd-ийн талаар тайлбарласнаар CD эсвэл DVD дээр шарж болох юм. [[anoncvs]] == Нэргүй CVS(хуучирсан) === Анхааруулга [WARNING] ==== CVS нь төслийн хувьд хуучирсан бөгөөд ашиглахыг зөвлөдөггүй. Түүний оронд Subversion-г ашиглах ёстой. ==== [[ctm]] == CTM-г ашиглах нь CTM нь алсын сангийн модыг төвтэй синхрончлол хийхэд зориулсан арга юм. Энэ нь FreeBSD-ийн эх моднуудтай ашиглахад зориулагдаж хөгжүүлэгдсэн бөгөөд цаг хугацаа өнгөрөх тусам бусад хүмүүс бусад зорилгоор хэрэглэхэд ашигтайг мэдэж болох юм. Дельтанууд үүсгэх процессийн талаар бараг баримт байхгүй болохоор бас хэрэв та CTM-г бусад зүйлсэд зориулж ашиглахыг хүсэж байгаа бол дэлгэрэнгүй мэдээллийн талаар link:{ctm-users-url}[ctm-users-desc] захидлын жагсаалтад хандана уу. === CTM-г би яагаад ашиглах ёстой вэ? CTM нь танд FreeBSD эх моднуудын локал хуулбарыг өгдөг. Модны төрөл бүрийн "хэлбэрүүд" байдаг. Таны бүхэл CVS мод эсвэл аль нэг салбаруудын нэгийг дагахыг хүсэж байгаагаас хамаарч CTM нь танд мэдээлэл өгч чадна. Та FreeBSD-ийн идэвхтэй хөгжүүлэгч боловч олиггүй юм уу эсвэл TCP/IP холболт байхгүй эсвэл өөрчлөлтүүдийг автоматаар тан руу илгээгддэг байлгахыг хүсэж байгаа бол CTM нь танд зориулагджээ. Та хамгийн идэвхтэй салбаруудын хувьд өдөрт гурав хүртэлх дельтануудыг авах хэрэгтэй болно. Гэхдээ та тэдгээрийг автомат цахим захидлаар илгээгддэг байхыг бодох хэрэгтэй. Шинэчлэлтүүдийн хэмжээг үргэлж аль болох бага байлгадаг. Энэ ихэвчлэн 5K-с бага байдаг, хааяа (арваас нэгт) 10-50K хэмжээтэй байдаг бөгөөд заримдаа том 100K+ эсвэл илүү бас байдаг. Та урьдчилан багцалсан хувилбарын оронд хөгжүүлэлтийн эхүүд дээр шууд ажиллахтай холбоотой гардаг төрөл бүрийн анхааруулгуудын талаар бас мэдэж байх хэрэгтэй болно. Энэ нь таныг "current" эхүүдийг сонгох тохиолдолд ялангуяа үнэн байдаг. Таныг crossref:cutting-edge[current,FreeBSD-ийн одоо үеийн хэлбэрт байх нь] хэсгийг уншихыг зөвлөдөг. === CTM-г ашиглахад надад юу хэрэгтэй вэ? Танд хоёр зүйл хэрэгтэй: CTM програм болон түүнийг тэжээх эхний дельтанууд ("current" түвшингүүдэд хүрэхийн тулд). CTM програм нь хувилбар 2.0 гарснаас хойш FreeBSD-ийн хэсэг болж ирсэн бөгөөд хэрэв танд эх байгаа бол энэ нь [.filename]#/usr/src/usr.sbin/ctm# санд байдаг. CTM-г тэжээх "дельтануудыг" нь FTP эсвэл цахим захидал гэсэн хоёр аргаар авч болно. Хэрэв танд Интернет уруу хандах ерөнхий FTP хандалт байгаа бол дараах FTP сайтууд нь CTM-д хандахыг дэмждэг: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] эсвэл <> хаягийг үзнэ үү. тохирох сан руу FTP хийгээд [.filename]#README# файлыг татаж аваад тэндээс эхлээрэй. Хэрэв та өөрийн дельтануудыг цахим захидлаар авахыг хүсэж байгаа бол: CTM түгээлтийн жагсаалтуудын аль нэгэнд бүртгүүлэх хэрэгтэй. link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] нь бүхэл CVS модыг дэмждэг. link:{ctm-src-cur-url}[ctm-src-cur-desc] нь хөгжүүлэлтийн салбарын толгойг дэмждэг. link:{ctm-src-9-url}[ctm-src-9-desc] нь 9.X хувилбарыг дэмждэг, гэх мэт. (Хэрэв та өөрийгөө жагсаалтад хэрхэн бүртгүүлэхийг мэдэхгүй байгаа бол дээрх жагсаалтын нэрэн дээр дарах юм уу эсвэл {mailman-lists-url} уруу очоод өөрийн хүсэж байгаа жагсаалтан дээрээ дарах хэрэгтэй. Бүртгэхэд шаардлагатай бүгдийг жагсаалтын хуудас агуулсан байх ёстой.) Өөрийн CTM шинэчлэлтүүдийг хүлээн авч эхлэхдээ та тэдгээрийг задалж ашиглахдаа `ctm_rmail` тушаал ашиглаж болох юм. Хэрэв та процессийг бүрэн автомат загвараар ажилладаг байлгахыг хүсэж байгаа бол [.filename]#/etc/aliases# файл дахь оруулгаас `ctm_rmail` програмыг шууд ашиглаж болох юм. Илүү дэлгэрэнгүйг `ctm_rmail`-ийн гарын авлагын хуудаснаас шалгана уу. [NOTE] ==== CTM дельтануудыг авах ямар аргыг ашиглаж байгаагаас үл хамааран та link:{ctm-announce-url}[ctm-announce-desc] захидлын жагсаалтад бүртгүүлэх хэрэгтэй. Ирээдүйд CTM системийн ажиллагааны тухай зарлалууд илгээгдэх газар нь зөвхөн энэ болох юм. Дээрх жагсаалтын нэрэн дээр дарж жагсаалтад бүртгүүлэхийн тулд заавруудыг дагах хэрэгтэй. ==== === CTM-г эхний удаа хэрэглэх CTM дельтануудыг ашиглаж эхлэхээсээ өмнө дельтанууд дараа дараагийн удаа үүсгэгдэхэд нь зориулж та эхлэх цэг дээр ирэх хэрэгтэй болно. Танд юу байгааг эхлээд тодорхойлох хэрэгтэй. Бүгд "хоосон" сангаас эхэлж болно. Өөрийн CTM-ээр дэмжигдсэн модыг эхлүүлэхийн тулд та эхний "Empty" буюу хоосон дельтаг ашиглах ёстой. Тодорхой нэг цэгт эдгээр "started" буюу эхэлсэн дельтануудын аль нэгийг өөрийн хүслээр CD дээр түгээж болохоор энэ нь зориулагдсан боловч одоогоор тийм юм болоогүй байгаа билээ. Моднууд нь хэдэн арван мегабайт байдаг болохоор өөртөө байгаагаас эхлэхийг эрхэмлэх ёстой юм. Хэрэв танд -RELEASE CD байгаа бол та эхний эхийг түүнэс хуулж эсвэл задалж болох юм. Энэ нь өгөгдлийн чухал дамжуулалтыг хэмнэх болно. Та эдгээр "starter" буюу эхлэх дельтануудыг дугаарт нэмэгдсэн `X`-ээр таньж болно (жишээ нь [.filename]#src-cur.3210XEmpty.gz#). `X`-ийн дараах тэмдэглээс нь таны эхний "seed" буюу үрийн үүсэлд харгалзана. Дүрмээр бол `Empty` буюу хоосноос шилжих үндсэн шилжилт нь 100 дельта бүрээс үүсгэгдэнэ. Ингэхэд тэдгээр нь том байна! [.filename]#XEmpty# дельтануудын хувьд 70-аас 80 мегабайт `gzip` хийгдсэн өгөгдөл нь нийтлэг байдаг. Эхлэх анхдагч дельтаг сонгосны дараа танд түүний дараах өндөр дугааруудтай бүх дельтанууд хэрэгтэй болно. === Өөрийн өдөр тутмын амьдралдаа CTM-г ашиглах нь Дельтануудыг өгөхийн тулд ердөө л доор дурдсаныг хийнэ: [source,shell] .... # cd /where/ever/you/want/the/stuff # ctm -v -v /where/you/store/your/deltas/src-xxx.* .... CTM нь `gzip`-ээр тавигдсан дельтануудыг ойлгодог болохоор та тэдгээрийг эхлээд `gunzip` хийх хэрэггүй юм. Энэ нь дискний зай хэмнэх болно. Бүх процессийн талаар маш нууцлаг гэж бодоогүй л бол CTM нь таны модыг хөндөхгүй байх болно. Дельтаг шалгахын тулд та `-c` тугийг бас ашиглаж болох бөгөөд CTM нь таны модыг үнэндээ хөндөхгүй; энэ нь зөвхөн дельтаны бүрэн бүтэн байдлыг шалгаж таны одоогийн модонд цэвэр хийгдэх эсэхийг л үздэг. CTM-д өгөгдөх бусад сонголтууд бас байдаг бөгөөд эдгээрийг гарын авлагын хуудаснуудаас үзнэ үү, эсвэл илүү дэлгэрэнгүйг эхүүдээс хайна уу. Ингээд л бүгд бараг болж байна. Шинэ дельта авах бүртээ өөрийн эхүүдийг хамгийн сүүлийн хувилбарт аваачихын тулд түүнийг CTM-ээр ажиллуулах хэрэгтэй. Дельтануудыг дахин татаж авахад хэцүү байгаа бол битгий устгаарай. Ямар нэг муу юм болж болзошгүй гэж үзээд тэдгээрийг та хаа нэгтэй хадгалахыг хүсэж болох юм. Танд зөвхөн уян диск байсан ч гэсэн `fdwrite` тушаалыг ашиглан хуулбар хийх нь зүйтэй. === Өөрийн локал өөрчлөлтүүдийг хадгалах нь Хөгжүүлэгчийн хувьд эх модыг өөрчлөх эсвэл түүн дээр турших хүсэл төрж болох юм. CTM нь локал өөрчлөлтүүдийг хязгаарлалттайгаар дэмждэг: [.filename]#foo# файлыг байгаа эсэхийг шалгахын өмнө [.filename]#foo.ctm# файлыг эхлээд хайдаг. Хэрэв энэ файл байвал CTM нь [.filename]#foo#-ийн оронд энэ файл дээр ажилладаг. Энэ нь бидэнд локал өөрчлөлтүүдийг хялбараар арчлах боломжийг олгодог: өөрийн өөрчлөх төлөвлөгөөтэй байгаа файлуудаа [.filename]#.ctm# өргөтгөлтэй болгон хуулах хэрэгтэй. Дараа нь та кодыг чөлөөтэй оролдож болох бөгөөд CTM нь [.filename]#.ctm# файлыг хамгийн сүүлийн хэлбэрт байлгах болно. === CTM-ийн бусад сонирхолтой сонголтууд ==== Шинэчлэлтээр яг юу хөндөгдөхийг олох Та өөрийн эх архивт CTM-ийн хийх өөрчлөлтүүдийн жагсаалтыг `-l` сонголтыг CTM-д өгөн тодорхойлж болно. Та өөрчлөлтүүдийн бүртгэлүүдийг хадгалах, өөрчлөгдсөн файлуудад урьдчилан эсвэл дараа нь боловсруулалт хийх эсвэл ердөө л хэтэрхий зовниж байгаа бол энэ нь ашигтай юм. ==== Шинэчлэхээсээ өмнө нөөцлөлтүүд хийх Заримдаа та CTM шинэчлэлтээр өөрчлөгдөх бүх файлуудыг нөөцөлж авахыг хүсэж болох юм. `-B backup-file` сонголтыг зааснаар CTM-ийг өгөгдсөн CTM дельтагаар хөндөгдөх бүх файлуудыг нөөцөлж [.filename]#backup-file# руу хадгалахад хүргэнэ. ==== Шинэчлэлтээр хөндөгдөх файлуудыг хязгаарлах Заримдаа та өгөгдсөн CTM шинэчлэлтийн хүрээг хязгаарлах сонирхолтой эсвэл дельтануудын дарааллаас цөөн хэдэн файлуудыг задлах сонирхолтой байж болох юм. CTM-ийн ажилладаг файлуудын жагсаалтыг та `-e` болон `-x` сонголтуудыг ашиглан шүүлт хийх регулар илэрхийллүүдийг заан хянаж болно. Жишээ нь өөрийн хадгалсан CTM дельтануудын цуглуулгаас [.filename]#lib/libc/Makefile#-ийн хамгийн сүүлийн хуулбарыг задалж авахын тулд дараах тушаалуудыг ажиллуулна: [source,shell] .... # cd /where/ever/you/want/to/extract/it/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... CTM дельтанд заагдсан файл бүрийн хувьд тушаалын мөрөнд өгөгдсөн дарааллаар `-e` болон `-x` сонголтуудыг өгсөн. Файл нь бүх `-e` болон `-x` сонголтууд түүнд өгөгдсөний дараа зөвхөн сонгогдох эрхтэй гэж тэмдэглэгдсэн бол CTM-ээр боловсруулагддаг. === CTM-ийн ирээдүйн төлөвлөгөөнүүд Маш их: * CTM-ийн хуурамч шинэчлэлтүүдийг илрүүлэхийн тулд CTM системд ямар нэгэн нэвтрэлт танилт ашиглах. * CTM-ийн сонголтуудыг цэвэрлэх, тэдгээр нь толгой эргүүлэм, зөн совингийн эсрэг болсон. === Бусад зүйлс `ports` цуглуулгад зориулсан дельтануудын дараалал бас байдаг боловч сонирхол тийм ч өндөр байдаггүй. [[mirrors-ctm]] === CTM толин тусгалууд <>/FreeBSD нь дараах толин тусгал сайтууд дахь нэргүй FTP-ээр хандаж авах боломжтой байдаг. Хэрэв та CTM-г нэргүй FTP-ээр авахыг сонгосон бол өөртөө ойр сайтыг оролдож үзнэ үү. Асуудал гарсан тохиолдолд link:{ctm-users-url}[ctm-users-desc] захидлын жагсаалтад хандана уу. Калифорни, Bay Area, албан ёсны эх:: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] Өмнөд Африк, хуучин дельтануудад зориулсан нөөц сервер:: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] Тайвань/R.O.C.:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] Хэрэв та өөртөө ойрхон толин тусгалыг олоогүй бол эсвэл толин тусгал нь бүрэн биш байгаа бол http://www.alltheweb.com/[alltheweb] зэрэг хайлтын системийг ашиглаад үзээрэй. [[svn]] == Subversion ашиглах нь [[svn-intro]] === Танилцуулга 2012 оны 7 сараас FreeBSD-н бүх эх код, баримтжуулалт болон портын цуглуулгыг хадгалахдаа http://subversion.apache.org/[Subversion] (_svn_)-г үндсэн хувилбар удирдах систем болгон ашиглаж эхэлсэн. [NOTE] ==== Subversion хөгжүүлэлтийн хэрэгсэл юм. Ихэнх хэрэглэгчид crossref:cutting-edge[updating-upgrading-freebsdupdate,FreeBSD-г шинэчлэх] хэсэгт зааснаар FreeBSD-н үндсэн системийг шинэчлэх ёстой бөгөөд FreeBSD-н портын цуглуулгыг шинэчлэхдээ crossref:cutting-edge[updating-upgrading-portsnap,Portsnap]-г ашиглах ёстой. ==== Subversion-д URL-г ашиглан репозиторыг заадаг бөгөөд `protocol://hostname/path` хэлбэрийн байна. Доор заасан шиг толин тусгалууд өөр өөр протоколуудыг дэмжиж болно. Замын эхний хэсэг нь хандаж болох FreeBSD-н репозитор юм. Гурван өөр репозитор байдаг: FreeBSD-н үндсэн системийн эх кодод зориулсан `base`, Портын цуглуулгад зориулсан `ports`, баримтжуулалтад зориулсан `doc` байдаг. Жишээ нь URL `svn://svn0.us-east.FreeBSD.org/ports/head/` нь svn протоколыг ашиглан `svn0.us-east.FreeBSD.org` толин дээрх портын репозиторын гол салбарыг зааж байна. [[svn-install]] === Суулгах Subversion-г аль ч репозиторын агуулгыг татаж авахаас өмнө суулгасан байх шаардлагатай. Хэрэв портын мод байгаа бол Subversion-г ингэж суулгаж болно: [source,shell] .... # cd /usr/ports/devel/subversion # make install clean .... Хэрэв портын мод байхгүй бол Subversion-г багц хэлбэрээр суулгаж болно: [source,shell] .... # pkg_add -r subversion .... Хэрэв pkgng ашиглан багцыг удирддаг бол Subversion-г ингэж суулгана: [source,shell] .... # pkg install devel/subversion .... [[svn-usage]] === Subversion-г ажиллуулах Эхийн цэвэр хувилбарыг татаж локал сан руу авахад `svn` тушаалыг ашиглаж болно. Энэ санд байгаа файлуудыг _локал ажлын хувилбар_ гэдэг. [WARNING] ==== Локал сан нь үүссэн боловч `svn` тушаалаар үүсгэгдээгүй бол татаж авахаасаа өмнө нэрийг солих юм уу устгаарай. `svn`-ээр үүсгэгдээгүй сан дээр татаж авах тохиолдолд татаж авч байгаа файлууд нь байгаа файлуудтай зөрөх асуудал үүсч болзошгүй. ==== Өгөгдсөн репозитороос татаж авахдаа энэ маягийн тушаалыг: [source,shell] .... # svn checkout svn-mirror/repository/branch lwcdir .... гэж ажиллуулах бөгөөд: * _svn-mirror_ нь <> дахь аль нэгийн URL юм. * _repository_ нь төслийн аль нэг репозитор бөгөөд жишээ нь `base`, `ports`, эсвэл `doc`. * _branch_ нь ашиглаж байгаа репозитороос хамаарна. `ports` ба `doc` нь `head` салбарт ихэвчлэн шинэчлэгддэг бол `base` нь -CURRENT-н хамгийн сүүлийн хувилбарыг `head` дотор агуулж байдаг бөгөөд -STABLE салбарын сүүлийн хувилбарууд нь `stable/8` ( 8._x_) болон `stable/9` (9._x_) дотор байдаг. * _lwcdir_ нь зааж өгсөн салбарын агуулга байрлах сан юм. Энэ нь ихэвчлэн `ports`-н хувьд [.filename]#/usr/ports#, `base`-н хувьд [.filename]#/usr/src#, `doc`-н хувьд [.filename]#/usr/doc# байдаг. Энэ нь Портын цуглуулгыг АНУ-н баруунд байрлах репозитороос HTTPS протокол ашиглан локал ажлын хуулбарыг [.filename]#/usr/ports#-д санд байршуулж байгаа жишээ юм. Хэрэв [.filename]#/usr/ports# сан байгаа бөгөөд `svn`-ээр үүсгэгдээгүй бол өөрчлөх юм уу устгахаа мартуузай. [source,shell] .... # svn checkout https://svn0.us-west.FreeBSD.org/ports/head /usr/ports .... Алсын репозиторын бүрэн салбарыг эхний удаа татаж авах учраас удаж магадгүй. Тэвчээртэй байгаарай. Эхний удаа татсаныхаа дараа локал ажлын хуулбарыг шинэчлэхдээ: [source,shell] .... # svn update lwcdir .... Дээрх жишээн дээр үүсгэсэн [.filename]#/usr/ports#-г шинэчлэхдээ: [source,shell] .... # svn update /usr/ports .... Татаж авахаас шинэчлэх нь хурдан бөгөөд өөрчлөгдсөн файлуудыг л татаж авдаг. Татаж авсныхаа дараа локал ажлын хуулбарыг шинэчлэх өөр нэг арга нь [.filename]#/usr/ports#, [.filename]#/usr/src#, ба [.filename]#/usr/doc# сангууд дахь [.filename]#Makefile#-д байдаг. `SVN_UPDATE`-г зааж өгөөд `update` гэж хэрэглэнэ. Жишээ нь [.filename]#/usr/src#-г шинэчлэхийн тулд: [source,shell] .... # cd /usr/src # make update SVN_UPDATE=yes .... === Дэлгэрэнгүй мэдээлэл Subversion ашиглах талаар бусад мэдээллийг http://svnbook.red-bean.com/[Version Control with Subversion] нэртэй "Subversion ном", эсвэл http://subversion.apache.org/docs/[Subversion баримтжуулалт]аас үзнэ үү. [[svn-mirrors]] == Subversion толин сайтууд Бүх толин тусгалууд бүх репозиторыг агуулдаг. FreeBSD-н мастер Subversion сервер `svn.FreeBSD.org`-д олон нийт хандах боломжтой байх бөгөөд зөвхөн уншигдах боломжтой байдаг. Энэ нь ирээдүйд өөрчлөгдөж болох бөгөөд хэрэглэгчдийг аль болох албан ёсны толин тусгалуудыг ашиглахыг зөвлөдөг. FreeBSD Subversion репозиториудыг хөтөч ашиглан харахын тулд http://svnweb.FreeBSD.org/[http://svnweb.FreeBSD.org/] хаягийг ашиглаарай. [NOTE] ==== FreeBSD svn толин тусгалын сүлжээ нь эхний шатандаа байгаа бөгөөд өөрчлөгдөх магадлалтай. Эдгээр толин тусгалуудыг статик гэж тооцоолж болохгүй. Ялангуяа серверүүдийн SSL сертификатууд хэзээ нэг цагт шинэчлэгдэх болно. ==== [.informaltable] [cols="1,1,1,1", options="header"] |=== | Нэр | Протоколууд | Байрлал | SSL хээ |`svn0.us-west.FreeBSD.org` |svn, http://svn0.us-west.FreeBSD.org/base/[http], https://svn0.us-west.FreeBSD.org/base/[https] |USA, California |SHA1 `79:35:8F:CA:6D:34:D9:30:44:D1:00:AF:33:4D:E6:11:44:4D:15:EC` |`svn0.us-east.FreeBSD.org` |svn, http://svn0.us-east.FreeBSD.org/base/[http], https://svn0.us-east.FreeBSD.org/base/[https] |USA, New Jersey |SHA1 `06:D1:23:DE:5E:7A:F7:2B:7A:7E:74:95:5F:54:8D:5C:B0:D6:2E:8F` |=== HTTPS нь FreeBSD толин тусгалыг хуурамчаар дуурайх ("man in the middle" халдлага гэгддэг) эсвэл эцсийн хэрэглэгч рүү муу агуулга шидэх зэргээс хамгаалах боломжтой ашиглахыг зөвлөдөг протокол юм. HTTPS толин тусгал руу хийх эхний холболтын үеэр хэрэглэгчээс серверийн _fingerprint_-г асуудаг: [source,shell] .... Error validating server certificate for 'https://svn0.us-west.freebsd.org:443': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! Certificate information: - Hostname: svnmir.ysv.FreeBSD.org - Valid: from Fri, 24 Aug 2012 22:04:04 GMT until Sat, 24 Aug 2013 22:04:04 GMT - Issuer: clusteradm, FreeBSD.org, CA, US - Fingerprint: 79:35:8f:ca:6d:34:d9:30:44:d1:00:af:33:4d:e6:11:44:4d:15:ec (R)eject, accept (t)emporarily or accept (p)ermanently? .... Fingerprint-г дээрх хүснэгттэй харьцуулж хараарай. Хэрэв хурууны хээ таарч байгаа бол серверийн аюулгүй байдлын сертификатыг түр эсвэл бүрмөсөн зөвшөөрч болно. Түр зуурын сертификат нь сервертэй хийх нэг удаагийн сессээр дуусгавар болох бөгөөд дараагийн удаа шалгах алхам дахин хийгдэх болно. Сертификатыг бүрмөсөн зөвшөөрснөөр нэвтрэх эрхийг [.filename]#~/.subversion/auth/# санд хадгалж сертификатын хугацаа дуустал хэрэглэгчээс хурууны хээг дахин шалгахыг асуудаггүй. Хэрэв HTTPS-г галт хана эсвэл бусад асуудлаас болоод хэрэглэх боломжгүй бол арай илүү хурдан `SVN` дараагийн сонголт байж болох юм. Алийг ч ашиглах боломжгүй бол HTTP-г ашиглаарай. [[cvsup]] == CVSup-г ашиглах нь (хуучирсан) [[cvsup-intro]] === Танилцуулга [WARNING] ==== CVS нь төслийн хувьд хуучирсан бөгөөд ашиглахыг зөвлөдөггүй. Түүний оронд Subversion-г ашиглах ёстой. ==== CVSup нь алсын сервер хост дээр байгаа мастер CVS архиваас эх модыг шинэчлэх болон түгээхэд зориулагдсан програм хангамжийн багц юм. FreeBSD-ийн эхүүд Калифорни дахь төв хөгжүүлэлтийн машин дээрх CVS архивт арчлагдаж байдаг. CVSup-ийн тусламжтай FreeBSD хэрэглэгчид өөрсдийн эх модыг хялбараар хамгийн сүүлийн хэлбэрт аваачиж чаддаг байна. CVSup нь шинэчлэлтийн _pull_ буюу _татах_ загварыг ашигладаг. Татах загвар дээр клиент бүр серверээс шинэчлэлтийг хүссэн үедээ эсвэл хэрэгтэй үедээ асуудаг. Сервер нь өөрийн хэрэглэгчдээс ирэх хүсэлтүүдийг идэвхгүйгээр хүлээж байдаг. Сервер хэзээ ч хүсээгүй шинэчлэлтүүдийг илгээдэггүй. Хэрэглэгчид нь шинэчлэлтийг авахын тулд CVSup клиентийг гараар ажиллуулах юм уу эсвэл түүнийг автоматаар давтамжтайгаар ажиллуулахын тулд `cron` ажил тохируулах ёстой болно. Ингэж том үсгээр бичсэн CVSup ухагдахуун нь бүхэл програм хангамжийн багцыг хэлнэ. Түүний гол бүрэлдэхүүн хэсгүүд нь хэрэглэгч бүрий машин дээр ажилладаг `cvsup` клиент, ба FreeBSD-ийн толин тусгал сайтууд дээр ажиллаж байдаг `cvsupd` сервер юм. [NOTE] ==== csup хэрэгсэл нь CVSup-г C дээр бичсэн хувилбар юм. Үүний хамгийн том давуу тал бол илүү хурдан бөгөөд Modula-3 хэлээс хамаардаггүй, тиймээс та түүнийг суулгах шаардлагагүй байдаг. Мөн түүнийг шууд ашиглаж болно, учир нь энэ нь үндсэн системд орсон байдаг. Хэрэв та csup-г ашиглахаар шийдсэн бол CVSup-ийн суулгалт дахь алхмуудыг алгасаж энэ нийтлэлийн үлдсэн хэсгийг дагаж байхдаа CVSup гэснийг csup болгож солиорой. ==== [[cvsup-install]] === Суулгалт CVSup-г суулгах хамгийн хялбар арга бол FreeBSD-ийн crossref:ports[ports,багцын цуглуулга]ас урьдчилан эмхэтгэсэн package:net/cvsup[] багцыг ашиглах явдал юм. Хэрэв та CVSup-г эхээс бүтээхийг эрхэмлэж байгаа бол package:net/cvsup[] портыг ашиглаарай. Гэхдээ урьдчилан анхааруулъя: package:net/cvsup[] порт нь Modula-3 системээс хамаардаг бөгөөд үүнийг татан авч суулгахад ихээхэн хэмжээний дискний зай болон хугацаа шаарддаг. [NOTE] ==== Хэрэв та Xorg суулгагдаагүй сервер машин дээр CVSup-г ашиглах гэж байгаа бол CVSupGUI-г агуулаагүй package:net/cvsup-without-gui[] портыг ашиглах хэрэгтэй. ==== [[cvsup-config]] === CVSup тохиргоо CVSup-ийн ажиллагаа [.filename]#supfile# гэгддэг тохиргооны файлаар хянагддаг. link:file://localhost/usr/shared/examples/cvsup/[/usr/shared/examples/cvsup/] санд зарим жишээ [.filename]#supfiles# байдаг. [.filename]#supfile# дахь мэдээлэл CVSup-д зориулж дараах асуултуудад хариулдаг: * <> * <> * <> * <> * <> Дараах хэсгүүдэд бид эдгээр асуултуудад хариулан түгээмэл [.filename]#supfile#-г бүтээх болно. Эхлээд бид [.filename]#supfile#-ийн ерөнхий бүтцийг тайлбарлах болно. [.filename]#supfile# нь текст файл юм. Тайлбарууд нь `#` тэмдэгтээс эхэлж мөр дуустал үргэлжилнэ. Хоосон мөрнүүд болон зөвхөн тайлбараас тогтох мөрүүдийг орхидог. Үлдэж байгаа мөр болгон хэрэглэгчийн авахыг хүсэж байгаа файлуудын цуглуулгыг тайлбарладаг. Мөр нь файлуудын "цуглуулга" буюу файлуудын логик бүлэглэлийн нэрээс эхэлдэг бөгөөд эдгээрийг сервер тодорхойлдог. Цуглуулгын нэр таны аль файлуудыг хүсэж байгааг серверт хэлдэг. Цуглуулгын нэрийн дараа талбарууд байхгүй эсвэл байж болох бөгөөд зайгаар тусгаарлагдсан байна. Эдгээр талбарууд нь дээрх асуултуудад хариулдаг. Хоёр төрлийн талбар байдаг: тугны талбарууд ба утгын талбарууд. Тугны талбар нь ганцаараа байгаа түлхүүр үгнээс тогтдог, өөрөөр хэлбэл `delete` эсвэл `compress` байна. Утгын талбар нь бас түлхүүр үгээс эхлэх боловч хоосон зайгаар тусгаарлагдалгүйгээр `=` болон хоёр дахь үгээс тогтоно. Жишээ нь `release=cvs` нь утгын талбар юм. [.filename]#supfile# ихэвчлэн нэгээс илүү цуглуулгыг хүлээн авахаар заасан байдаг. [.filename]#supfile#-г зохион байгуулах нэг арга нь цуглуулга бүрийн хувьд харгалзах бүх талбаруудыг зааж өгөх явдал юм. Гэхдээ энэ нь [.filename]#supfile#-ий мөрүүдийг нэлээн урт болгодог бөгөөд [.filename]#supfile# дахь цуглуулгуудын бүгдийн хувьд ихэнх талбарууд нь ижил байдаг болохоор таагүй юм. CVSup нь эдгээр асуудлуудыг тойрон гарах анхдагч болгох арга замтай байдаг. Тусгай псевдо цуглуулгын нэр `*default`-р эхэлсэн мөрүүд нь тугнууд болон [.filename]#supfile# дахь дараа дараачийн цуглуулгуудын хувьд анхдагч болж ашиглагдах утгуудыг заахад хэрэглэгддэг. Анхдагч утгыг цуглуулгатай цуг өөр утгыг заан өгч тухайн цуглуулгын хувьд өөрчилж болдог. Анхдагчуудыг дундын supfile-д нэмэлт `*default` мөрүүдээр өөрчилж эсвэл дарж болдог. Ийм мэдээлэлтэйгээр бид одоо crossref:cutting-edge[current,FreeBSD-CURRENT]-ийн гол эх модыг хүлээн авч шинэчлэхэд зориулсан [.filename]#supfile#-г бүтээх болно. * [[cvsup-config-files]]Ямар файлуудыг та хүлээн авахыг хүсэж байна вэ? + CVSup-аар авах боломжтой файлууд нь "collections" буюу цуглуулгууд гэгддэг бүлгүүдэд хуваагдан зохион байгуулагддаг. Байгаа цуглуулгууд нь crossref:cutting-edge[cvsup-collec,дараах хэсэгт] тайлбарлагдсан байгаа. Энэ жишээн дээр бид FreeBSD-ийн хувьд бүх гол эхийг авахыг хүсэж байна. `src-all` гэсэн ганц том цуглуулга бидэнд үүнийг өгөх болно. [.filename]#supfile#-аа бүтээх эхний алхам болгож бид цуглуулгуудыг нэг мөрөнд нэгийг тавьж жагсаана (энэ тохиолдолд зөвхөн нэг мөр байна): + [.programlisting] .... src-all .... * [[cvsup-config-vers]]Тэдгээрийн ямар хувилбаруудыг та хүсэж байна вэ? + CVSup-ийн тусламжтай та хэзээ ч юм байсан эхүүдийн бараг ямар ч хувилбарыг хүлээн авч чадна. cvsupd сервер нь бүх хувилбаруудыг агуулсан CVS архиваас шууд ажилладаг болохоор энэ нь боломжтой юм. Та тэдгээрийн алийг хүсэж байгаагаа `tag=` болон `date=` утга талбаруудыг ашиглан зааж өгч болно. + [WARNING] ==== `tag=` талбарыг зөв зааж өгөхдөө анхааралтай байх хэрэгтэй. Зарим хаягууд нь зөвхөн файлуудын зарим цуглуулгуудын хувьд зөв байдаг. Хэрэв та буруу эсвэл буруу бичсэн хаягийг зааж өгөх юм бол магадгүй таны устгахыг хүсээгүй файлуудыг CVSup нь устгах юм. Ялангуяа `ports-*` цуглуулгуудын хувьд _зөвхөн_ `tag=.`-г ашиглаарай. ==== + `tag=` талбар нь симболын хаягийг архивт нэрлэдэг. Хоёр төрлийн хаяг байдаг бөгөөд эдгээр нь залруулалтын хаягууд болон салбарын хаягууд юм. Залруулалтын хаяг нь тухайн нэг залруулалтыг заадаг. Үүний утга нь өдрөөс өдөрт ижил хэвээр байна. Нөгөө талаас салбарын хаяг нь ямар ч үед хөгжүүлэлтийн өгөгдсөн шугам дахь хамгийн сүүлийн залруулалтыг заадаг. Салбарын хаяг нь тухайн нэг залруулалтыг заадаггүй болохоор үүний маргаашийн утга нь өнөөдрийнхөөс өөр байж болох юм. + <> нь хэрэглэгчдийн сонирхож болох салбарын хаягуудыг агуулдаг. CVSup-ийн тохиргооны файлд хаягийг зааж өгөхдөө өмнө нь `tag=` гэж өгөх ёстой (`RELENG_8` нь `tag=RELENG_8` болно). Зөвхөн `tag=.` нь портын цуглуулгад хамааралтай болохыг санаарай. + [WARNING] ==== Хаягийн нэрийг яг үзүүлсэн шиг бичихдээ анхааралтай байгаарай. CVSup нь зөв болон буруу хаягуудыг ялгаж чаддаггүй. Хэрэв та хаягийг буруу бичвэл CVSup нь таныг зөв хаяг өгсөн гэж ойлгон ажиллах бөгөөд энэ нь ямар ч файлуудыг заагаагүйд хүргэж болох юм. Энэ тохиолдолд энэ нь танд байгаа эхүүдийг устгах болно. ==== + Салбарын хаягийг заахад та тэр хөгжүүлэлтийн шугамын файлуудын хамгийн сүүлийн хувилбаруудыг авах болно. Хэрэв та ямар нэг өнгөрсөн хувилбарыг авахыг хүсвэл `date=` талбарт огноог заан хийж өгч болно. man:cvsup[1] гарын авлагын хуудас үүнийг хэрхэн хийхийг тайлбарладаг. + Бидний жишээний хувьд FreeBSD-CURRENT-г авахыг бид хүсэж байна. Бид энэ мөрийг өөрсдийн [.filename]#supfile#-ийн эхэнд нэмнэ: + [.programlisting] .... *default tag=. .... + Хэрэв та `tag=` талбар эсвэл `date=` талбарын алийг ч зааж өгөөгүй бол чухал тусгай тохиолдол гарч ирнэ. Энэ тохиолдолд тодорхой нэг хувилбарыг хүлээн авахын оронд серверийн CVS архиваас RCS файлуудыг шууд хүлээн авдаг. Ажиллагааны ийм горимыг хөгжүүлэгчид ерөнхийдөө эрхэмлэдэг. Өөрсдийн системүүд дээр архивын хуулбарыг арчилснаар тэд залруулалтын түүхийг хайж файлуудын өнгөрсөн хувилбаруудыг шалгах боломжтой болох юм. Гэхдээ энэ хонжоо нь дискний зайны хувьд их өртөгтэйгээр орж ирдэг. * [[cvsup-config-where]]Тэдгээрийг та хаанаас авахыг хүсэж байна вэ? + Бид `host=` талбарыг ашиглан `cvsup`-д өөрийн шинэчлэлтүүдийг хаанаас авахыг хэлж өгдөг. <>ын аль нь ч болох боловч та өөрийн кибер ертөнцдөө ойрхныг турших хэрэгтэй. Энэ жишээн дээр бид зохиомол FreeBSD түгээлтийн сайт `cvsup99.FreeBSD.org`-г ашиглах болно: + [.programlisting] .... *default host=cvsup99.FreeBSD.org .... + Та CVSup-г ашиглахаасаа өмнө үнэн хэрэг дээрээ байгаа жинхэнэ хостоор солих хэрэгтэй болно. `cvsup`-г ажиллуулах үедээ та хостын тохируулгыг тушаалын мөрөөс `-h _hostname_` сонголтоор өөрчлөн дарж болно. * [[cvsup-config-dest]]Та тэдгээрийг өөрийн машиныхаа хаана байрлуулахыг хүсэж байна вэ? + `prefix=` талбар нь хүлээн авсан файлуудыг хаана байрлуулахыг `cvsup` хэлнэ. Энэ жишээн дээр бид эх файлуудыг өөрсдийн гол эх модны [.filename]#/usr/src# байрлалд шууд байрлуулах болно. [.filename]#src# сан нь бидний хүлээн авахаар сонгосон цуглуулгад далд байгаа болохоор энэ нь зөв юм: + [.programlisting] .... *default prefix=/usr .... * [[cvsup-config-status]]`cvsup` өөрийн төлвийн файлуудыг хаана арчлах ёстой вэ? + CVSup клиент нь "base" буюу үндсэн гэгддэг сан дахь зарим төлвийн файлуудыг арчилж байдаг. Эдгээр файлууд нь ямар шинэчлэлтүүдийг та аль хэдийн хүлээн авсныг хянаж CVSup-ийг илүү үр ашигтай ажиллахад тусалдаг. Бид стандарт үндсэн сан [.filename]#/var/db#-г ашиглах болно: + [.programlisting] .... *default base=/var/db .... + Хэрэв таны үндсэн сан байхгүй байгаа бол одоо түүнийг үүсгэх хугацаа болсон байна. Хэрэв үндсэн сан байхгүй бол `cvsup` ажиллахаас татгалзах болно. * [.filename]#supfile#-ийн бусад тохиргоонууд: + [.filename]#supfile#-д ерөнхийдөө байх ёстой бас нэг мөр байдаг: + [.programlisting] .... *default release=cvs delete use-rel-suffix compress .... + `release=cvs` нь сервер гол FreeBSD CVS архиваас өөрийн мэдээллийг авах ёстойг зааж байна. Энэ нь бараг үргэлж тохиолддог, хэдийгээр бусад боломжууд байдаг боловч энэ хэлэлцүүлгийн хүрээнээс хальдаг. + `delete` нь CVSup-д файлууд устгах зөвшөөрөл өгдөг. CVSup нь таны эх модыг байнга хамгийн сүүлийн хэлбэрт байлгадаг байхын тулд та үүнийг үргэлж зааж өгөх хэрэгтэй. CVSup нь өөрийн хариуцдаг зөвхөн тэр файлуудыг устгах тал дээр их анхааралтай ажилладаг. Танд байж болох нэмэлт файлууд тэр хэвээрээ үлддэг. + `use-rel-suffix` нь ... ойлгоход төвөгтэй юм. Хэрэв та үүний тухай жинхэнээсээ мэдье гэж хүсэж байгаа бол man:cvsup[1] гарын авлагын хуудаснаас үзнэ үү. Хэрэв тийм биш бол ердөө заагаад л тэгээд санаа зовох хэрэггүй юм. + `compress` нь холбооны суваг дээр gzip загварын шахалтын хэрэглээг идэвхжүүлдэг. Хэрэв таны сүлжээний холболт T1 эсвэл түүнээс хурдан бол та магадгүй шахалтыг ашиглах хэрэггүй юм. Хэрэв үгүй бол энэ нь бодитойгоор тусалдаг. * Бүгдийг нийлүүлбэл: + Энд бидний жишээнд зориулсан бүхэл [.filename]#supfile# байна: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== [.filename]#refuse# файл Дээр дурдсанаар CVSup нь _татах аргыг_ ашигладаг. Энэ нь юу гэсэн үг вэ гэхээр та CVSup сервер руу холбогдох бөгөөд энэ нь "Над дээрээс татаж авах боломжтой зүйлс энэ байна..." гэж хэлэх бөгөөд таны клиент "OK, Би энэ,энэ, энийг авна." гэж хариулна гэсэн үг юм. Анхдагч тохиргоон дээр CVSup клиент нь таны тохиргооны файлд сонгосон хаяг болон цуглуулгатай холбоотой бүх файлыг авна. Модыг хэсэгчлэн татахын тулд [.filename]#refuse#-г ашиглана. [.filename]#refuse# файл нь үндсэндээ CVSup-д цуглуулгаас файл болгоныг татаж авахгүй гэдгийг хэлдэг; өөрөөр хэлбэл клиентэд серверээс зарим файлууд татаж авахаас _татгалзахыг_ хэлж өгдөг. [.filename]#refuse# файл нь [.filename]#base/sup/# сангаас олдож болно (эсвэл хэрэв танд ийм файл байхгүй байгаа бол түүнийг дээрх санд байрлуулах хэрэгтэй). _base_ нь таны [.filename]#supfile#-д тодорхойлогдсон байдаг; бидний тодорхойлсон _base_ нь [.filename]#/var/db# бөгөөд энэ нь анхдагчаар [.filename]#refuse# файл нь [.filename]#/var/db/sup/refuse# гэсэн үг юм. [.filename]#refuse# файл нь маш хялбар хэлбэршилттэй байдаг; энэ нь таны татаж авахыг хүсээгүй файлууд эсвэл сангуудын нэрийг агуулдаг. Жишээ нь: [.programlisting] .... bin/ usr.bin/ .... Удаан холболттой юм уу эсвэл өөрсдийн Интернэтийн холболтод минутаар төлдөг хэрэглэгчид үнэ цэнэтэй хугацаагаа хэмнэх болно. Учир нь тэд өөрсдийн хэзээ ч ашиглахгүй файлаа татаж авах шаардлагагүй болох юм. CVSup-ийн [.filename]#refuse# файлууд болон бусад сайхан боломжуудын талаар илүү мэдээллийг түүний гарын авлагын хуудаснаас үзнэ үү. === CVSup-г ажиллуулах нь Одоо та шинэчлэлт хийж үзэхэд бэлэн боллоо. Үүнийг хийх тушаалын мөр их амархан: [source,shell] .... # cvsup supfile .... энд байгаа [.filename]#supfile# нь таны дөнгөж үүсгэсэн [.filename]#supfile#-ийн нэр юм. Таныг X11 дээр ажиллаж байна гэж үзвэл `cvsup` нь энгийн зүйлсийг хийх зарим товчлууруудтай GUI цонхыг үзүүлэх болно. btn[go] товчлуурыг дарж ажиллахыг нь хараарай. Та энэ жишээн дээр өөрийн жинхэнэ [.filename]#/usr/src# модыг шинэчилж байгаа болохоор `cvsup` нь таны файлуудыг шинэчлэхэд шаардлагатай зөвшөөрлүүдтэй байхын тулд та програмыг `root` эрхээс ажиллуулах хэрэгтэй болно. Өөрийн тохиргооны файлыг дөнгөж үүсгэсэн бөгөөд урьд нь энэ програмыг хэзээ ч ашиглаж байгаагүй бол таныг бухимдуулж магадгүй юм. Өөрийн файлуудыг хөндөлгүйгээр туршилтын журмаар ажиллуулах хялбар арга байдаг. Хаа нэгтээ хоосон сан үүсгээд түүнийг тушаалын мөрөнд нэмэлт өгөгдлөөр оруулж өгнө: [source,shell] .... # mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest .... Таны заасан сан бүх файлын шинэчлэлтүүдийн хувьд очих сан болдог. CVSup нь [.filename]#/usr/src# сан доторх таны энгийн файлуудыг шалгадаг, гэхдээ тэдгээрийн алийг ч өөрчлөх буюу устгахгүй. Файлын шинэчлэлтүүд харин [.filename]#/var/tmp/dest/usr/src# санд хийгдэнэ. CVSup нь ингэж ажиллахдаа бас өөрийн үндсэн сангийн төлвийн файлуудыг өөрчлөлгүйгээр үлдээдэг. Тэдгээр файлуудын шинэ хувилбарууд заагдсан сан уруу бичигдэх болно. Танд [.filename]#/usr/src# сан уруу унших эрх л байхад иймэрхүү туршилтын ажиллагааг гүйцэтгэхэд `root` эрх байх заавал шаардлагагүй юм. Хэрэв та X11-г ажиллуулахгүй байгаа юм уу эсвэл танд GUI таалагддаггүй бол `cvsup`-г ажиллуулахдаа тушаалын мөрөн дээр хоёр сонголтыг нэмж өгөх хэрэгтэй: [source,shell] .... # cvsup -g -L 2 supfile .... `-g` сонголт нь CVSup-д өөрийн GUI-г ашиглахгүйг хэлнэ. Хэрэв та X11-ийг ажиллуулахгүй байгаа бол энэ автомат байдаг, үгүй бол та үүнийг зааж өгөх хэрэгтэй. `-L 2` нь CVSup-д хийж байгаа бүх шинэчлэлтүүдийнхээ талаар дэлгэрэнгүй мэдээллийг үзүүлэхийг хэлж өгнө. Гурван түвшний харуулах горим байдаг бөгөөд энэ нь `-L 0`-с `-L 2` хүртэл байна. Анхдагч нь 0 байх бөгөөд энэ нь алдааны мэдэгдлээс бусдыг харуулахгүй. Бусад олон сонголтууд байдаг. Тэдгээрийн товч жагсаалтыг үзэхийн тулд `cvsup -H` гэж бичнэ. Илүү дэлгэрэнгүй тайлбаруудын талаар гарын авлагын хуудсыг үзнэ үү. Шинэчлэлт ажилладаг аргад сэтгэл ханамжтай болсныхоо дараа та CVSup-г давтамжтайгаар ажиллуулахын тулд man:cron[8] ашиглан хийж өгч болно. Мэдээж та man:cron[8]-с CVSup-г ажиллуулахдаа өөрийнхөө GUI-г ашиглахгүй болгох хэрэгтэй. [[cvsup-collec]] === CVSup-ийн файлын цуглуулгууд CVSup-ийн файлын цуглуулгууд нь шатлалтайгаар зохион байгуулагдсан байдаг. Цөөн том цуглуулгууд байдаг бөгөөд тэдгээр нь арай жижиг дэд цуглуулгуудад хуваагддаг. Том цуглуулгыг хүлээн авах нь түүний дэд цуглуулгууд тус бүрийг хүлээн авахтай адил юм. Цуглуулга хоорондын шаталсан холбоонууд нь доорх жагсаалт дахь догол ашиглалтаар тусгагддаг. Хамгийн түгээмэл хэрэглэгддэг цуглуулгууд нь `src-all` юм. `cvs-all release=cvs`:: Криптограф кодыг оролцуулаад FreeBSD-ийн гол CVS архив. `distrib release=cvs`::: FreeBSD-ийн түгээлт болон толин тусгал хийхтэй холбоотой файлууд. `projects-all release=cvs`::: FreeBSD төслийн архив дахь эхүүд. `src-all release=cvs`::: Криптограф кодыг оролцуулаад FreeBSD-ийн гол эхүүд. `src-base release=cvs`:::: [.filename]#/usr/src# сангийн дээр байрлах бусад файлууд. `src-bin release=cvs`:::: Ганц хэрэглэгчийн горимд хэрэг болох хэрэглэгчийн багажууд ([.filename]#/usr/src/bin#). `src-cddl release=cvs`:::: CDDL лицензийн доор байдаг хэрэгслүүд болон сангууд ([.filename]#/usr/src/cddl#). `src-contrib release=cvs`:::: Харьцангуй өөрчлөлтгүйгээр хэрэглэгддэг FreeBSD төслөөс гаднах хэрэгслүүд ба сангууд ([.filename]#/usr/src/contrib#). `src-crypto release=cvs`:::: Харьцангуй өөрчлөлтгүйгээр хэрэглэгддэг FreeBSD төслөөс гаднах криптограф хэрэгслүүд ба сангууд ([.filename]#/usr/src/crypto#). `src-eBones release=cvs`:::: Kerberos ба DES ([.filename]#/usr/src/eBones#). FreeBSD-ийн одоогийн хувилбаруудад ашигладаггүй. `src-etc release=cvs`:::: Системийн тохиргооны файлууд ([.filename]#/usr/src/etc#). `src-games release=cvs`:::: Тоглоомууд ([.filename]#/usr/src/games#). `src-gnu release=cvs`:::: GNU Нийтийн Лицензтэй хэрэгслүүд ([.filename]#/usr/src/gnu#). `src-include release=cvs`:::: Толгой файлууд ([.filename]#/usr/src/include#). `src-kerberos5 release=cvs`:::: Kerberos5 аюулгүй байдлын багц ([.filename]#/usr/src/kerberos5#). `src-kerberosIV release=cvs`:::: KerberosIV аюулгүй байдлын багц ([.filename]#/usr/src/kerberosIV#). `src-lib release=cvs`:::: Сангууд ([.filename]#/usr/src/lib#). `src-libexec release=cvs`:::: Бусад програмуудаар ажилладаг системийн програмууд ([.filename]#/usr/src/libexec#). `src-release release=cvs`:::: FreeBSD хувилбар гаргахад шаардагдах файлууд ([.filename]#/usr/src/release#). `src-rescue release=cvs`:::: Яаралтай сэргээлт хийхэд зориулсан статикаар холболт хийгдсэн програмууд; man:rescue[8]-г үзнэ үү ([.filename]#/usr/src/rescue#). `src-sbin release=cvs`:::: Ганц хэрэглэгчийн горимд зориулсан системийн хэрэгслүүд ([.filename]#/usr/src/sbin#). `src-secure release=cvs`:::: Криптограф сангууд ба тушаалууд ([.filename]#/usr/src/secure#). `src-share release=cvs`:::: Олон системүүдийн хооронд хуваалцаж болох файлууд ([.filename]#/usr/src/share#). `src-sys release=cvs`:::: Цөм ([.filename]#/usr/src/sys#). `src-sys-crypto release=cvs`:::: Цөмийн криптограф код ([.filename]#/usr/src/sys/crypto#). `src-tools release=cvs`:::: FreeBSD-г арчлахад зориулсан төрөл бүрийн хэрэгслүүд ([.filename]#/usr/src/tools#). `src-usrbin release=cvs`:::: Хэрэглэгчийн хэрэгслүүд ([.filename]#/usr/src/usr.bin#). `src-usrsbin release=cvs`:::: Системийн хэрэгслүүд ([.filename]#/usr/src/usr.sbin#). `distrib release=self`:: CVSup серверийн өөрийн тохиргооны файлууд. CVSup толин тусгал сайтуудад хэрэглэгддэг. `gnats release=current`:: GNATS алдаа мөрдөх мэдээллийн бааз. `mail-archive release=current`:: FreeBSD захидлын жагсаалтын архив. === Дэлгэрэнгүй мэдээллийг CVSup FAQ болон бусад CVSup-ийн тухай мэдээллийг http://www.cvsup.org[ CVSup гэрийн хуудас] хаягаас үзнэ үү. Ихэнх FreeBSD-тэй холбоотой CVSup-ийн хэлэлцүүлэг {freebsd-hackers}-д болдог. Програмын шинэ хувилбар тэнд, бас {freebsd-announce}-д зарлагддаг. CVSup-ийн талаар асуултууд эсвэл алдааны тайлангуудыг http://www.cvsup.org/faq.html#bugreports[ CVSup FAQ] холбоосоос үзнэ үү. [[cvsup-mirrors]] === CVSup сайтууд FreeBSD-д зориулсан <> серверүүд дараах хаягууд дээр ажиллаж байгаа: [[cvs-tags]] == CVS Tags буюу хаягууд [WARNING] ==== CVS нь төслийн хувьд хуучирсан бөгөөд ашиглахыг зөвлөдөггүй. Түүний оронд Subversion-г ашиглах ёстой. ==== cvs эсвэл CVSup ашиглан эхийг авах юм уу эсвэл шинэчилж байгаа үед revision tag буюу залруулалтын хаягийг зааж өгөх ёстой байдаг. Залруулалтын хаяг нь FreeBSD хөгжүүлэлтийн тодорхой нэг байх юм уу эсвэл хугацааны тодорхой нэг цэг байдаг. Эхнийх нь "branch tags" буюу "салбарын хаягууд" гэгддэг бөгөөд хоёр дахь нь "хувилбарын хаягууд" гэгддэг. === Салбарын хаягууд `HEAD`-с (энэ нь үргэлж зөв хаяг байдаг) бусад бүх хаягууд зөвхөн [.filename]#src/# модонд хамаардаг. [.filename]#ports/#, [.filename]#doc/#, болон [.filename]#www/# моднууд нь салбарладаггүй. HEAD:: Гол шугамын симболын нэр, эсвэл FreeBSD-CURRENT. Залруулалт заагаагүй тохиолдолд бас анхдагч байдаг. + CVSup-д энэ хаяг нь `.` гэсэн тэмдэгтээр илэрхийлэгддэг (цэг биш харин `.` тэмдэгт). + [NOTE] ==== CVS-д энэ нь залруулалт заагаагүй тохиолдолд анхдагч байдаг. Хэрэв та өөрөө хүсээгүй л бол STABLE машин дээр CURRENT эхийг татан авч шинэчлэх нь ихэвчлэн тийм ч сайн санаа _биш_ юм. ==== RELENG_9:: FreeBSD-9.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 8-STABLE гэгддэг RELENG_9_0:: FreeBSD-9.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_8:: FreeBSD-8.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 8-STABLE гэгддэг RELENG_8_3:: FreeBSD-8.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_8_2:: FreeBSD-8.2-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_8_1:: FreeBSD-8.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_8_0:: FreeBSD-8.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_7:: FreeBSD-7.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 7-STABLE гэгддэг RELENG_7_4:: FreeBSD-7.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_7_3:: FreeBSD-7.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_7_2:: FreeBSD-7.2-т зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_7_1:: FreeBSD-7.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_7_0:: FreeBSD-7.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6:: FreeBSD-6.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 6-STABLE гэгддэг RELENG_6_4:: FreeBSD-6.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6_3:: FreeBSD-6.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6_2:: FreeBSD-6.2-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6_1:: FreeBSD-6.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6_0:: FreeBSD-6.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5:: FreeBSD-5.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 5-STABLE гэгддэг. RELENG_5_5:: FreeBSD-5.5-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_4:: FreeBSD-5.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_3:: FreeBSD-5.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_2:: FreeBSD-5.2 болон FreeBSD-5.2.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_1:: FreeBSD-5.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_0:: FreeBSD-5.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4:: FreeBSD-4.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 4-STABLE гэгддэг. RELENG_4_11:: FreeBSD-4.11-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_10:: FreeBSD-4.10-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_9:: FreeBSD-4.9-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_8:: FreeBSD-4.8-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_7:: FreeBSD-4.7-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_6:: FreeBSD-4.6 болон FreeBSD-4.6.2-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_5:: FreeBSD-4.5-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_4:: FreeBSD-4.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_3:: FreeBSD-4.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_3:: FreeBSD-3.X-д зориулсан хөгжүүлэлтийн шугам, бас 3.X-STABLE гэгддэг. RELENG_2_2:: FreeBSD-2.2.X-д зориулсан хөгжүүлэлтийн шугам, бас 2.2-STABLE гэгддэг. Энэ салбар нь гол төлөв хуучирсан. === Хувилбарын хаягууд Эдгээр хаягууд нь FreeBSD-ийн тодорхой нэг хувилбар гарсан үеийн цагийн тодорхой цэгийг заадаг. Хувилбар инженерчлэлийн процессийн талаар link:https://www.FreeBSD.org/releng/[Хувилбар инженерчлэлийн мэдээлэл] болон link:{releng}#release-proc/[Хувилбарын процесс] баримтуудад илүү дэлгэрэнгүй баримтжуулагдсан байдаг. [.filename]#src# мод нь `RELENG_` гэж эхэлсэн хаягийн нэрсийг ашигладаг. [.filename]#ports# болон [.filename]#doc# моднууд нь `RELEASE` гэж эхэлсэн хаягийн нэрсийг ашигладаг. Төгсгөлд нь [.filename]#www# мод нь хувилбаруудад зориулсан ямар нэг тусгай нэрээр хаяглагддаггүй. RELENG_9_0_0_RELEASE:: FreeBSD 9.0 RELENG_8_3_0_RELEASE:: FreeBSD 8.3 RELENG_8_2_0_RELEASE:: FreeBSD 8.2 RELENG_8_1_0_RELEASE:: FreeBSD 8.1 RELENG_8_0_0_RELEASE:: FreeBSD 8.0 RELENG_7_4_0_RELEASE:: FreeBSD 7.4 RELENG_7_3_0_RELEASE:: FreeBSD 7.3 RELENG_7_2_0_RELEASE:: FreeBSD 7.2 RELENG_7_1_0_RELEASE:: FreeBSD 7.1 RELENG_7_0_0_RELEASE:: FreeBSD 7.0 RELENG_6_4_0_RELEASE:: FreeBSD 6.4 RELENG_6_3_0_RELEASE:: FreeBSD 6.3 RELENG_6_2_0_RELEASE:: FreeBSD 6.2 RELENG_6_1_0_RELEASE:: FreeBSD 6.1 RELENG_6_0_0_RELEASE:: FreeBSD 6.0 RELENG_5_5_0_RELEASE:: FreeBSD 5.5 RELENG_5_4_0_RELEASE:: FreeBSD 5.4 RELENG_4_11_0_RELEASE:: FreeBSD 4.11 RELENG_5_3_0_RELEASE:: FreeBSD 5.3 RELENG_4_10_0_RELEASE:: FreeBSD 4.10 RELENG_5_2_1_RELEASE:: FreeBSD 5.2.1 RELENG_5_2_0_RELEASE:: FreeBSD 5.2 RELENG_4_9_0_RELEASE:: FreeBSD 4.9 RELENG_5_1_0_RELEASE:: FreeBSD 5.1 RELENG_4_8_0_RELEASE:: FreeBSD 4.8 RELENG_5_0_0_RELEASE:: FreeBSD 5.0 RELENG_4_7_0_RELEASE:: FreeBSD 4.7 RELENG_4_6_2_RELEASE:: FreeBSD 4.6.2 RELENG_4_6_1_RELEASE:: FreeBSD 4.6.1 RELENG_4_6_0_RELEASE:: FreeBSD 4.6 RELENG_4_5_0_RELEASE:: FreeBSD 4.5 RELENG_4_4_0_RELEASE:: FreeBSD 4.4 RELENG_4_3_0_RELEASE:: FreeBSD 4.3 RELENG_4_2_0_RELEASE:: FreeBSD 4.2 RELENG_4_1_1_RELEASE:: FreeBSD 4.1.1 RELENG_4_1_0_RELEASE:: FreeBSD 4.1 RELENG_4_0_0_RELEASE:: FreeBSD 4.0 RELENG_3_5_0_RELEASE:: FreeBSD-3.5 RELENG_3_4_0_RELEASE:: FreeBSD-3.4 RELENG_3_3_0_RELEASE:: FreeBSD-3.3 RELENG_3_2_0_RELEASE:: FreeBSD-3.2 RELENG_3_1_0_RELEASE:: FreeBSD-3.1 RELENG_3_0_0_RELEASE:: FreeBSD-3.0 RELENG_2_2_8_RELEASE:: FreeBSD-2.2.8 RELENG_2_2_7_RELEASE:: FreeBSD-2.2.7 RELENG_2_2_6_RELEASE:: FreeBSD-2.2.6 RELENG_2_2_5_RELEASE:: FreeBSD-2.2.5 RELENG_2_2_2_RELEASE:: FreeBSD-2.2.2 RELENG_2_2_1_RELEASE:: FreeBSD-2.2.1 RELENG_2_2_0_RELEASE:: FreeBSD-2.2.0 [[mirrors-rsync]] == rsync сайтууд Дараах сайтууд нь FreeBSD-г rsync протоколоор түгээгдэх боломжийг бүрдүүлдэг. rsync хэрэгсэл нь man:rcp[1] тушаалтай бараг төстэйгөөр ажилладаг боловч илүү олон тохируулгуудтай бөгөөд хоёр талын файлуудын зөвхөн ялгаатайг нь дамжуулдаг. Ингэснээр сүлжээгээр хийх хамгийн сүүлийн хэлбэрт аваачих үйлдлийг ихээхэн хурдасгадаг байна. Хэрэв та FreeBSD FTP сервер юм уу эсвэл CVS архивын толин тусгал сайт бол энэ нь их ашигтай байдаг. rsync цуглуулга нь олон үйлдлийн системүүд дээр байдаг. FreeBSD-ийн хувьд package:net/rsync[] порт эсвэл багцыг үзнэ үү. Бүгд Найрамдах Чех Улс:: rsync://ftp.cz.FreeBSD.org/ + Байгаа цуглуулгууд: ** ftp: FreeBSD FTP серверийн хэсэгчилсэн толин тусгал. ** FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. Нидерланд:: rsync://ftp.nl.FreeBSD.org/ + Байгаа цуглуулгууд: ** FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. Орос:: rsync://ftp.mtu.ru/ + Байгаа цуглуулгууд: ** FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. ** FreeBSD-gnats: GNATS цох хянах мэдээллийн сан. ** FreeBSD-Archive: FreeBSD архив FTP серверийн бүрэн толин тусгал. Швед:: rsync://ftp4.se.freebsd.org/ + Байгаа цуглуулгууд: ** FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. Тайвань:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Байгаа цуглуулгууд: ** FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. Их Британи:: rsync://rsync.mirrorservice.org/ + Байгаа цуглуулгууд: ** ftp.freebsd.org: FreeBSD FTP серверийн бүрэн толин тусгал. Америкийн Нэгдсэн Улс:: rsync://ftp-master.FreeBSD.org/ + Энэ серверийг FreeBSD-ийн анхдагч толин тусгал сайтууд зөвхөн хэрэглэж болно. + Байгаа цуглуулгууд: ** FreeBSD: FreeBSD FTP серверийн мастер архив. ** acl: FreeBSD-ийн мастер ACL жагсаалт. + rsync://ftp13.FreeBSD.org/ + Байгаа цуглуулгууд: + ** FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. diff --git a/documentation/content/nl/books/handbook/mirrors/_index.adoc b/documentation/content/nl/books/handbook/mirrors/_index.adoc index 754e9f0773..27e6eced71 100644 --- a/documentation/content/nl/books/handbook/mirrors/_index.adoc +++ b/documentation/content/nl/books/handbook/mirrors/_index.adoc @@ -1,1690 +1,1689 @@ --- title: Bijlage A. FreeBSD verkrijgen part: Deel V. Appendix prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = FreeBSD verkrijgen :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Inhoudsopgave :table-caption: Tabel :figure-caption: Afbeelding :example-caption: Voorbeeld :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/nl/mailing-lists.adoc[] include::shared/nl/teams.adoc[] include::shared/nl/urls.adoc[] [[mirrors-cdrom]] == CD-ROM en DVD uitgevers === Winkelproducten in doos FreeBSD is beschikbaar in een doos (FreeBSD CD-ROMs, additionele software en gedrukte documentatie) bij verschillende verkopers: * Frys Electronics + WWW: http://www.frys.com/ === CD-ROMs en DVD's FreeBSD CD-ROMs en DVD's zijn te koop bij veel online winkels: * FreeBSD Mall, Inc. + 700 Harvest Park Ste F + Brentwood, CA 94513 + Verenigde Staten + Telefoon: +1 925 240-6652 + Fax: +1 925 674-0821 + E–mail: + WWW: http://www.freebsdmall.com/ * Dr. Hinner EDV + St. Augustinus-Str. 10 + D-81825 München + Duitsland + Telefoon: (089) 428 419 + WWW: http://www.hinner.de/linux/freebsd.html * JMC Software + Ierland + Telefoon: 353 1 6291282 + WWW: http://www.thelinuxmall.com * Linux Distro UK + 42 Wharfedale Road + Margate + CT9 2TB + Verenigd Koninkrijk + WWW: https://linux-distro.co.uk/ * The Linux Emporium + Hilliard House, Lester Way + Wallingford + OX10 9TA + Verenigd Koninkrijk + Telefoon: +44 1491 837010 + Fax: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/bsd/ * Linux+ DVD Magazine + Lewartowskiego 6 + Warsaw + 00-190 + Polen + Telefoon: +48 22 860 18 18 + E–mail: + WWW: http://www.lpmagazine.org/ * Linux System Labs Australia + 21 Ray Drive + Balwyn North + VIC - 3104 + Australië + Telefoon: +61 3 9857 5918 + Fax: +61 3 9857 8974 + WWW: http://www.lsl.com.au * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Rusland + Telefoon: +7-812-3125208 + E–mail: + WWW: http://linuxcenter.ru/shop/freebsd === Distributeurs Wederverkopers die FreeBSD CD-ROM producten willen verkopen kunnen contact opnemen met een distributeur: * Ingram Micro + 1600 E. St. Andrew Place + Santa Ana, CA + 92705-4926 Verenigde Staten + Telefoon: 1 (800) 456-8000 + WWW: http://www.ingrammicro.com/ * Kudzu, LLC + 7375 Washington Ave. S. + Edina, MN 55439 + Verenigde Staten + Telefoon: +1 952 947-0822 + Fax: +1 952 947-0876 + E–mail: * LinuxCenter.Ru + Galernaya Street, 55 + Sint-Petersburg + 190000 + Rusland + Telefoon: +7-812-3125208 + E–mail: + WWW: http://linuxcenter.ru/freebsd [[mirrors-ftp]] == FTP sites De officiële broncode voor FreeBSD is beschikbaar via anoniem toegankelijke FTP in de hele wereld via vele mirrorsites. De site link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] heeft een goede verbinding en staat veel verbindingen toe, maar het is waarschijnlijk beter om een mirrorsite te zoeken die "dichterbij" is (zeker als het doel is ook een soort mirrorsite op te zetten). FreeBSD is beschikbaar via de onderstaande anonieme FTP mirror sites. Bij het kiezen van anonieme FTP voor het verkrijgen van FreeBSD wordt aangeraden een site die dichtbij ligt te kiezen. De mirrorsites die in de lijst staan als "Primaire Mirrorsites" hebben meestal het complete FreeBSD archief (alle beschikbare versies voor alle architecturen) maar downloads zijn waarschijnlijk sneller van een site die in het land of de regio van de gebruiker staat. De regionale sites hebben de meeste recente versies voor de meest populaire architecturen, maar hebben wellicht niet het complete archief. Alle sites geven toegang via anonieme FTP, maar een aantal sites hebben ook andere toegangsmogelijkheden. De toegangsmogelijkheden voor iedere site staan tussen haakjes achter de hostnaam. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[mirrors-bittorrent]] == BitTorrent De ISO-afbeeldingen voor de basis-CD's van de uitgaven zijn beschikbaar via BitTorrent. Een verzameling torrent-bestanden om de afbeeldingen binnen te halen is beschikbaar op http://torrents.freebsd.org:8080/[http://torrents.freebsd.org:8080] De software voor de BitTorrent-cliënt is beschikbaar via de port package:net-p2p/py-bittorrent[], of als voorgecompileerd pakket. Nadat de ISO-afbeelding met BitTorrent is gedownload, kan het op CD of DVD gebrand worden zoals beschreven in <>. [[mirrors-svn]] == Subversion-sites Sinds juli 2012 gebruikt FreeBSD http://subversion.apache.org/[Subversion] als het primaire versiebeheersysteem om alle broncode van FreeBSD, de documentatie, en de Portscollectie op te slaan. [NOTE] ==== Subversion is hoofdzakelijk een gereedschap voor ontwikkelaars. De meeste gebruikers dienen crossref:cutting-edge[updating-upgrading-freebsdupdate,FreeBSD Update] te gebruiken om het basissysteem van FreeBSD bij te werken, en crossref:cutting-edge[updating-upgrading-portsnap,Portsnap] om de FreeBSD Portscollectie bij te werken. ==== Het spiegelsite-netwerk voor Subversion van FreeBSD bevindt zich nog in de beginfase en zal waarschijnlijk veranderen. Reken er niet op dat deze lijst van spiegelsites statisch is. In het bijzonder zullen de SSL-certificaten van de servers op een gegeven moment veranderen. In Subversion worden URLs gebruikt om een depot aan te duiden in de vorm van `protocol://hostnaam/pad`. Spiegelsites kunnen verschillende protocollen ondersteunen zoals hieronder is gespecificeerd. Het eerste gedeelte van het pad is het FreeBSD-depot wat benaderd moet worden. Er zijn drie verschillende depots, `base` voor de broncode van het basissysteem van FreeBSD, `ports` voor de Portscollectie, en `doc` voor de documentatie. De URL `svn://svn0.us-east.FreeBSD.org/ports/head/` specificeert de hoofdtak van het ports-depot op de spiegelsite `svn0.us-east.FreeBSD.org`, gebruikmakend van het svn-protocol. Alle spiegelsites bevatten alle depots. De FreeBSD Subversion hoofdserver, `svn.FreeBSD.org`, is publiekelijk toegankelijk als alleen-lezen. Dit kan in de toekomst veranderen, dus gebruikers worden aangeraden om een van de officiële spiegelsites te gebruiken. Gebruik http://svnweb.FreeBSD.org/[http://svnweb.FreeBSD.org] om de Subversion-depots van FreeBSD met een webbrowser te bekijken. [.informaltable] [cols="1,1,1,1", options="header"] |=== | Naam | Protocollen | Locatie | SSL-vingerafdruk |`svn0.us-west.FreeBSD.org` |svn, http://svn0.us-west.FreeBSD.org/base/[http], https://svn0.us-west.FreeBSD.org/base/[https] |Verenigde Staten, Californië |SHA1 `79:35:8F:CA:6D:34:D9:30:44:D1:00:AF:33:4D:E6:11:44:4D:15:EC` |`svn0.us-east.FreeBSD.org` |svn, http://svn0.us-east.FreeBSD.org/base/[http], https://svn0.us-east.FreeBSD.org/base/[https] |Verenigde Staten, New Jersey |SHA1 `06:D1:23:DE:5E:7A:F7:2B:7A:7E:74:95:5F:54:8D:5C:B0:D6:2E:8F` |=== [[anoncvs]] == Anonieme CVS [[anoncvs-intro]] === Inleiding Anonieme CVS (of ook wel bekend als _anoncvs_) is een functie die beschikbaar is met de hulpprogramma's die bij FreeBSD zitten om te synchroniseren met een elders aanwezig CVS depot. Het staat gebruikers van FreeBSD onder andere toe om zonder bijzondere rechten alleen-lezen operaties uit te voeren op een van de officiële anoncvs servers van het FreeBSD project. Om het te kunnen gebruiken dient de omgevingsvariabele `CVSROOT` zo ingesteld te worden dat hij wijst naar de gewenste anoncvs server, dient het bekende wachtwoord "anoncvs" bij het commando `cvs login` opgegeven te worden en kan daarna man:cvs[1] gebruikt worden om het te benaderen als ieder lokaal aanwezig depot. [NOTE] ==== Het commando `cvs login` slaat de wachtwoorden die voor aanmelden bij de CVS server op in een bestand met de naam [.filename]#.cvspass# in de map `HOME`. Als dit bestand niet bestaat, is het mogelijk dat er een foutmelding wordt gegeven als `cvs login` de eerste keer wordt gebruikt. Dat kan opgelost worden door een leeg bestand [.filename]#.cvspass# te maken en dan opnieuw aan te melden. ==== Hoewel de diensten <> en _anoncvs_ beiden vrijwel dezelfde functie invullen, zijn er redenen die de keuze voor de synchronisatiemethode beïnvloeden. In een notendop is CVSup veel efficiënter in het gebruik van netwerkbronnen en is het de meest geavanceerde van de twee, maar daar staat iets tegenover. Voor het gebruik van CVSup moet eerst een speciale client geïnstalleerd en ingesteld worden voordat er bits kunnen gaan stromen en dat kan dan alleen in de redelijk grote brokken die in CVSup_collections_ heten. Anoncvs kan daarentegen gebruikt worden om alles te bekijken van een individueel bestand tot aan een specifiek programma (als `ls` of `grep`) door aan de naam van de CVS module te refereren. Ook anoncvs is alleen geschikt voor alleen-lezen operaties op het CVS depot, dus als het de bedoeling is om lokaal ontwikkelwerk en hetzelfde depot met delen uit het FreeBSD project te combineren, dan biedt alleen CVSup daar een oplossing voor. [[anoncvs-usage]] === Anonieme CVS gebruiken Het instellen van man:cvs[1] om gebruik te maken van een Anoniem CVS depot is een kwestie van het instellen van de omgevingsvariabele `CVSROOT` op een van de _anoncvs_ servers van het FreeBSD project. Op het moment van schrijven zijn de volgende servers beschikbaar: * _Frankrijk_: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (Gebruik `cvs login` voor pserver-modus en voer het wachtwoord "anoncvs" in wanneer het gevraagd wordt. Voor ssh is geen wachtwoord nodig.) * _Taiwan_: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (Gebruik `cvs login` voor pserver-modus en voer elk willekeurig wachtwoord in wanneer het gevraagd wordt. Voor ssh is geen wachtwoord nodig.) + [.programlisting] .... SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub .... Omdat met CVS vrijwel iedere versie die ooit beschikbaar is geweest "uitgecheckt" kan worden, is het van belang op de hoogte te zijn van de man:cvs[1] vlag voor revisie (`-r`) en welke waarden zie zoal kan aannemen in het FreeBSD Project depot. Er zijn twee soorten labels (tags): revisielabels en taklabels (branch). Een revisielabel refereert aan een specifieke revisie. De betekenis blijft van dag tot dag gelijk. Aan de andere kant refereert een taklabel aan de laatste revisie in een bepaalde ontwikkellijn op een bepaald moment. Omdat een taklabel niet refereert aan een specifieke revisie, kan die morgen anders zijn dan vandaag. <> bevat revisielabels waar gebruikers in geïnteresseerd kunnen zijn. Nogmaals: deze zijn allemaal niet geldig voor de Portscollectie omdat de Portscollectie geen meerdere ontwikkel takken kent. Als een specifiek taklabel wordt aangegeven, worden als alles goed gaat, de laatste revisies uit een bepaalde ontwikkellijn ontvangen. Als er een oudere versie opgehaald moet worden, kan dat door met de vlag `-D datum` een datum aan te geven. In man:cvs[1] staan meer details. === Voorbeelden Hoewel het sterk wordt aangeraden eerst de hulppagina's voor man:cvs[1] grondig door te lezen, volgen hier een aantal snelle voorbeelden die feitelijk aangeven hoe Anonieme CVS gebruikt kan worden. .SSH gebruiken om de [.filename]#src/# tree uit te checken: [example] ==== [source,shell] .... % cvs -d anoncvs@anoncvs1.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established. DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts. .... ==== .Iets uitchecken uit -CURRENT (man:ls[1]): [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”. % cvs co ls .... ==== .SSH gebruiken om de [.filename]#src/# structuur uit te checken: [example] ==== [source,shell] .... % cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. .... ==== .De versie van man:ls[1] in de 8-STABLE tak uitchecken: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”. % cvs co -rRELENG_8 ls .... ==== .Een lijst wijzigingen maken (als unified diffs) voor man:ls[1] [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”. % cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls .... ==== .Uitzoeken welke modulenamen gebruikt kunnen worden: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”. % cvs co modules % more modules/modules .... ==== === Andere bronnen De volgende bronnen kunnen bijdragen aan een beter begrip van CVS: * http://users.csc.calpoly.edu/~gfisher/classes/308/handouts/cvs-basics.html[CVS Tutorial] van California Polytechnic State University. * http://www.nongnu.org/cvs/[CVS Home], de CVS gemeenschap voor ontwikkeling en ondersteuning. * http://www.FreeBSD.org/cgi/cvsweb.cgi[CVSweb] is de FreeBSD Project webinterface voor CVS. [[ctm]] == CTM gebruiken CTM is een methode om een map elders gesynchroniseerd te houden met een centrale. Het is ontwikkeld voor gebruik met de FreeBSD broncode, hoewel sommigen het ook voor andere doeleinden handig vinden. Er bestaat op dit moment weinig tot geen documentatie over het proces van het maken van delta's. Voor informatie over het gebruik van CTM kan het beste contact gezocht worden met de link:{ctm-users-url}[ctm-users-desc] mailinglijst. === Waarom CTM gebruiken? CTM geeft een lokale kopie van de FreeBSD broncode. Die is in een aantal "smaken" beschikbaar. Of het gaat om slechts één tak of de complete CVS structuur, CTM kan het bieden. CTM is gewoon gemaakt voor actieve ontwikkelaars die met FreeBSD werken, maar geen of een slechte Internetverbinding hebben of gewoon automatisch de laatste wijzigingen willen ontvangen. De meest actieve takken kennen op z'n hoogst drie delta's per dag. Het is het overwegen waard om ze per automatische mail te laten sturen. De grootte van de updates wordt altijd zo klein mogelijk gehouden. Meestal kleiner dan 5 K en soms (in tien procent van de gevallen) is het 10-50 K. In uitzonderlijke gevallen komt het voor dat een mail van 100 K of meer wordt gestuurd. Het is wel van belang op de hoogte te zijn van de valkuilen die een rol spelen bij het direct werken met broncode in plaats van met een voorverpakte release. Dit geldt nog meer als wordt gewerkt met de "current" code. Het lezen van crossref:cutting-edge[current,Bijblijven met FreeBSD] wordt sterk aangeraden. === Wat is er nodig om CTM te gebruiken? Voor het gebruik van CTM zijn twee dingen nodig: het CTM programma en de initiële delta's om de applicatie te voeden en naar een "current" niveau te komen. CTM is al onderdeel van FreeBSD sinds versie 2.0 is uitgebracht en is te vinden in [.filename]#/usr/src/usr.sbin/ctm#, als de broncode aanwezig is. De "delta's" voor CTM kunnen op twee manieren komen: met FTP of per e-mail. De volgende FTP sites bieden ondersteuning voor CTM: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] Er staan er nog meer in de paragraaf <>. FTP de relevante map en download het bestand [.filename]#README# vanaf daar. Voor delta's via e-mail: Er dient een abonnement genomen te worden op een van de CTM distributielijsten. link:{ctm-src-cur-url}[ctm-src-cur-desc] ondersteunt de complete Subversion structuur. link:{ctm-src-cur-url}[ctm-src-cur-desc] ondersteunt het hoofd van de ontwikkeltak. link:{ctm-src-9-url}[ctm-src-9-desc] ondersteunt de 9.X release tak, enzovoort. Om te abonneren kan geklikt worden op de bovenstaande links of via {mailman-lists-url} kan in een lijst geklikt worden op de lijst waarvoor een abonnement gewenst is. De lijstpagina bevat instructies over hoe te abonneren. Na het ontvangen van CTM updates per mail, kan `ctm_rmail` gebruikt worden voor het uitpakken en verwerken. `ctm_rmail` kan zelfs direct vanuit [.filename]#/etc/aliases# gebruikt worden om het proces volledig automatisch te laten verlopen. In de hulppagina van `ctm_rmail` staan meer details. [NOTE] ==== Welke methode ook gebruikt wordt voor de CTM delta's, het is belangrijk een abonnement te nemen op de link:{ctm-announce-url}[ctm-announce-desc] mailinglijst. In de toekomst worden alleen op die lijst aankondigingen gedaan over het CTM systeem. Abonneren kan door op de link hierboven te klikken en de instructies te volgen. ==== === CTM de eerste keer gebruiken Voordat de CTM delta's gebruikt kunnen worden, moet er een startpunt voor bepaald worden. Eerst moet bepaald worden wat er al is. Het is mogelijk te beginnen vanuit een "lege" map. Dan moet een initiële "Empty" delta gebruikt worden om een door CTM ondersteunde structuur te starten. Het is de bedoeling dat deze "start" delta's ooit voor het gemak op de CD-ROM komen te staan, maar dit is nog niet het geval. Omdat de structuren tientallen megabytes groot zijn, heeft het de voorkeur om al met iets te beginnen. Als er een -RELEASE CD-ROM beschikbaar is, kan de initiële broncode gekopieerd of uitgepakt worden. Dit bespaart nogal wat dataverkeer. De "start" delta's kunnen herkend worden aan de `X` die aan het nummer is toegevoegd (bijvoorbeeld [.filename]#src-cur.3210XEmpty.gz#). De nummering achter de `X` komt overeen met de oorsprong van het initiële "zaad". [.filename]#Empty# is een lege map. Er wordt in het algemeen iedere honderd delta's een basistransitie voor `Empty` gemaakt. Die zijn trouwens groot: 70 tot 80 Megabytes `gzip` data is normaal voor de [.filename]#XEmpty# delta's. Als er een delta als startpunt is gekozen, zijn ook alle delta's met hogere volgnummers nodig. === CTM in het dagelijks leven gebruiken Om de delta's toe te passen: [source,shell] .... # cd /where/ever/you/want/the/stuff # ctm -v -v /where/you/store/your/deltas/src-xxx.* .... CTM begrijpt delta's in `gzip` formaat, dus het niet nodig om eerst `gunzip` te gebruiken. Dat spaart diskruimte. Tenzij het zeker is van de veiligheid van het proces, doet CTM niets met de structuur. Om een delta te verifiëren kan ook de vlag `-c` gebruikt worden en dan komt CTM ook niet aan een structuur. Dan wordt alleen de integriteit van de delta gecontroleerd en of die zonder problemen op de huidige structuur kan worden toegepast. CTM kent nog meer opties die in de hulppagina's worden besproken. Meer is er niet. Iedere keer dat er een delta wordt ontvangen, moet die door CTM gehaald worden om de broncode bijgewerkt te houden. Delta's kunnen het beste niet verwijderd worden als het lastig is ze opnieuw te downloaden. Dan kunnen ze het beste bewaard worden voor het geval er eens iets gebeurt. Zelfs als er alleen floppy's beschikbaar zijn, is het wellicht verstandig die te gebruiken met `fdwrite`. === Lokale wijzigingen behouden Een ontwikkelaar wil graag experimenteren met bestanden in de structuur en die bestanden veranderen. CTM ondersteunt lokale wijzigingen in beperkte mate: alvorens te kijken of bestand [.filename]#foo# bestaat, zoekt het eerst naar [.filename]#foo.ctm#. Als dat bestand bestaat, past CTM de wijzigigen daarop toe in plaats van op [.filename]#foo#. Dit gedrag biedt een eenvoudige mogelijkheid om lokale wijzigingen bij te houden. Dat kan dus door bestanden die gewijzigd gaan worden te kopiëren naar een bestand met dezelfde naam met de toevoeging [.filename]#.ctm#. Dan kan er vrijelijk gespeeld worden met de code, terwijl CTM het bestand [.filename]#.ctm# bijwerkt. === Andere interessante mogelijkheden van CTM ==== Uitvinden wat precies wordt veranderd met bijwerken Het is mogelijk een lijst met wijzigingen te maken die CTM zou maken op het broncodedepot met de optie `-l`. Dit is nuttig als het gewenst is om een logboek bij te houden van de wijzigingen, de te wijzigen bestanden voor- of na te bewerken op welke manier dan ook, of als de gebruiker gewoon een beetje paranoïde is. ==== Back-ups maken vóór bijwerken Soms kan het wenselijk zijn om een back-up te maken van alle bestanden die gewijzigd gaan worden door een CTM update. Met `-B back-upbestand` back-upt CTM alle bestanden die gewijzigd gaan worden door een CTM delta naar [.filename]#back-upbestand#. ==== Te wijzigen bestanden door bijwerken beperken Soms is het wenselijk de reikwijdte voor een CTM update te beperken of kan het wenselijk zijn om maar een paar bestanden bij te werken uit een aantal delta's. Een lijst met bestanden die CTM mag bewerken kan aangegeven worden met de opties `-e` en `-x` en het opgeven van regular expressions. Om bijvoorbeeld een bijgewerkte kopie van [.filename]#lib/libc/Makefile# te maken uit de verzameling met opgeslagen CTM delta's, kan het volgende commando uitgevoerd worden: [source,shell] .... # cd /where/ever/you/want/to/extract/it/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... Voor ieder te wijzigen bestand in een CTM delta worden de opties `-e` en `-x` toegepast in de volgorde waarin ze op de commandoregel staan. Het bestand wordt alleen door CTM verwerkt als het passend is bevonden na het toepassen van alle parameters in `-e` en `-x`. === Toekomstige plannen voor CTM Die zijn er: * Een of andere vorm van authenticatie in het CTM systeem bouwen zodat vervalste CTM updates afgevangen kunnen worden; * De opties voor CTM opruimen omdat ze verwarrend zijn geworden. === Nog meer Er zijn ook delta's voor de `ports`collectie, maar daar is nog niet zo veel belangstelling voor. [[mirrors-ctm]] === CTM mirrors <>/FreeBSD is op de volgende mirrorsites via anonieme FTP beschikbaar. Als voor CTM anonieme FTP wordt gebruikt, heeft het de voorkeur een site die in geografische zin dichtbij is te gebruiken. Bij problemen kan contact gezocht worden met de link:{ctm-users-url}[ctm-users-desc] mailinglijst. Californië, Bay Area, officiële bron:: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] Zuid-Afrika, back-upserver voor oude delta's:: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] Taiwan/R.O.C.:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] Als er geen mirror dichtbij is of als die incompleet is, kan een zoekmachine als http://www.alltheweb.com/[alltheweb] gebruikt worden. [[cvsup]] == CVSup gebruiken [[cvsup-intro]] === Inleiding CVSup is een softwarepakket voor het verspreiden en bijwerken van broncodestructuren vanaf een master CVS depot op een andere server. De FreeBSD broncode wordt beheerd in een broncode depot op een centrale ontwikkelmachine in Californië. Met CVSup kunnen FreeBSD gebruikers op eenvoudige wijze hun broncode bijwerken. CVSup gebruikt een zogenaamd _pull_ model voor het bijwerken. In het pull-model vraagt iedere client de server om updates als die nodig zijn. De server wacht passief op een verzoek om updates van zijn clients. Alle updates worden dus op initiatief van de client gedaan. De server stuurt nooit ongevraagde updates. Gebruikers moeten de CVSup client handmatig draaien om te updaten of een `cron` taak instellen om op regelmatige basis bij te werken. De term CVSup, op de gegeven wijze geschreven, doelt op het complete softwarepakket. De belangrijkste componenten zijn de client `cvsup`, die op de machine van een gebruiker draait, en de server `cvsupd`, die op alle FreeBSD mirrorsites draait. In de FreeBSD documentatie en op de mailinglijsten zijn referenties aan sup te vinden. Sup was de voorloper van CVSup en diende hetzelfde doel. CVSup wordt op dezelfde manier gebruikt als sup en gebruikt zelfs bestanden met instellingen die ook te gebruiken zijn met `sup`. Sup wordt niet langer gebruikt in het FreeBSD project omdat CVSup sneller en flexibeler is. [NOTE] ==== De csup applicatie is een herschreven versie van CVSup in de C taal. Het grootste voordeel ervan is dat het sneller is en dat het niet afhankelijk is van de Modula-3 taal, dus dat hoeft niet geïnstalleerd te worden als afhankelijkheid. Sterker nog de applicatie wordt standaard meegeleverd. als ervoor gekozen is om csup te gebruiken, sla dan de installatie stappen voor CVSup over en vervang de referenties naar CVSup met csup terwijl de rest van het artikel gevolgd wordt. ==== [[cvsup-install]] === Installatie De meest eenvoudige wijze van installatie van CVSup is met het voorgecompileerde pakket package:net/cvsup[] uit de FreeBSD crossref:ports[ports,pakkettencollectie]. Als het gewenst is, kan CVSup ook uit de broncode gebouwd worden in package:net/cvsup[]. De port package:net/cvsup[] is afhankelijk van het Modula-3 systeem en dat kan wel even duren en er is ook nogal wat schijfruimte voor nodig om het te downloaden en te bouwen. [NOTE] ==== Als CVSup gebruikt gaat worden op een machine waarop geen Xorg staat, zoals een server, dan dient de port waar geen CVSupGUI bij zit geïnstalleerd te worden: package:net/cvsup-without-gui[]. ==== [[cvsup-config]] === CVSup instellingen De werking van CVSup wordt gestuurd door een bestand met instellingen met de naam [.filename]#supfile#. Er staan een aantal [.filename]#supfiles# als voorbeeld in de map link:file://localhost/usr/shared/examples/cvsup/[/usr/shared/examples/cvsup/]. De informatie in een [.filename]#supfile# beantwoordt de volgende vragen voor CVSup: * <> * <> * <> * <> * <> In de volgende paragrafen wordt een [.filename]#supfile# bestand opgebouwd door achtereenvolgens alle gestelde vragen te beantwoorden. Als eerste wordt de algemene structuur van een [.filename]#supfile# beschreven. Een [.filename]#supfile# is een tekstbestand. Commentaar begint met een `#` en loopt tot het einde van de regel. Lege regels en regels die alleen commentaar bevatten worden genegeerd. Iedere regel die overblijft slaat op een groep bestanden die ontvangen moet worden. De regel begint met de naam van een "collectie", een logische groep bestanden op de server. De naam van de collectie geeft de server aan welke bestanden er gestuurd moeten worden. Na de naam van de collectie komen er geen of meer velden die gescheiden worden door witruimte. Die velden beantwoorden de hierboven gestelde vragen. Er zijn twee soorten velden: vlagvelden en waardevelden. Een vlagveld bestaat uit een alleenstaand sleutelwoord, bijvoorbeeld `delete` of `compress`. Een waardeveld begint ook met een sleutelwoord, maar het sleutelwoord wordt direct (zonder witruimte) gevolgd door `=` en een tweede woord. `release=cvs` is bijvoorbeeld een waardeveld. In een [.filename]#supfile# wordt meestal aangegeven dat er meerdere collecties ontvangen moeten worden. Het is mogelijk om een [.filename]#supfile# te structureren door expliciet alle relevante velden aan te geven voor iedere collectie, maar dat maakt de regels in de [.filename]#supfile# nogal lang en het is onhandig omdat de meeste velden hetzelfde zijn voor alle collecties in een [.filename]#supfile#. CVSup biedt een systeem met standaardinstellingen om dit probleem te omzeilen. Regels die beginnen met de speciale pseudo-collectienaam `*default` kunnen gebruikt worden om standaarden in te stellen voor de collecties die er in de [.filename]#supfile# achteraan komen. Een standaardwaarde kan voor individuele collecties overschreven worden door een andere waarde in de collectie zelf aan te geven. Standaarden kunnen ook middenin het bestand gewijzigd of aangevuld worden met extra `*default` regels. Na deze achtergronden wordt er nu een [.filename]#supfile# samengesteld voor het ontvangen en bijwerken van de hoofd broncodestructuur van crossref:cutting-edge[current,FreeBSD-CURRENT]. * [[cvsup-config-files]]Welke bestanden moeten ontvangen worden? + De bestanden die via CVSup beschikbaar zijn, zijn beschikbaar in groepen die "collecties" heten. De beschikbare collecties staan beschreven in de <>. In dit voorbeeld is het de bedoeling dat de hele hoofd broncodestructuur voor FreeBSD wordt ontvangen. Daar is één grote collectie voor: `src-all`. De eerste stap in het maken van een [.filename]#supfile# is het opsommen van de gewenste collecties, één per regel (in dit geval maar één regel): + [.programlisting] .... src-all .... * [[cvsup-config-vers]]Welke versies daarvan moeten ontvangen worden? + Met CVSup kan vrijwel iedere versie van de broncode die ooit heeft bestaan opgehaald worden. Dat kan omdat de cvsupd server direct vanaf het CVS depot werkt, dat alle versies bevat. Er kan aangegeven welke ontvangen moeten worden met de waardevelden `tag=` en `date=`. + [WARNING] ==== Voorzichtigheid is geboden bij het correct aangeven van velden met `tag=`. Sommige labels zijn alleen geldig voor bepaalde collecties of bestanden. Als ze incorrect worden aangeven of als er een spelfout wordt gemaakt in een label, verwijdert CVSup bestanden waarvan dat waarschijnlijk niet de bedoeling is. Het label `tag=.` dient eigenlijk _alleen_ gebruikt te worden voor de `ports-*` collecties. ==== + Het veld `tag=` benoemt een symbolisch label in het depot. Er zijn twee soorten labels: revisielabels en taklabels. Een revisielabel refereert aan een specifieke revisie. De betekenis blijft altijd hetzelfde. Een taklabel refereert echter aan de laatste revisie van een gegeven ontwikkellijn op een gegeven moment. Omdat een taklabel niet refereert aan een specifieke revisie, kan het morgen iets anders betekenen dan vandaag. + <> beschrijft de meest interessante taklabels. Als er in het instellingenbestand van CVSup een label wordt aangegeven, moet dat vooraf gegaan worden door `tag=` (`RELENG_8` zal `tag=RELENG_8` worden). Voor de Portscollectie is alleen `tag=.` relevant. + [WARNING] ==== Labels dienen exact zo ingegeven te worden als ze staan beschreven. CVSup kan geen onderscheid maken tussen geldige en ongeldige labels. Als er een spelfout in een label wordt gemaakt, doet CVSup alsof er een geldig label is ingegeven dat aan geen enkel bestand refereert. Dan zal CVSup de bestaande broncode wissen. ==== + Bij het aangeven van een taklabel wordt meestal de laatste versie van de bestanden voor een bepaalde ontwikkellijn ontvangen. Om een oudere versie te ontvangen kan in het veld `date=` een datum opgegeven worden. In man:cvsup[1] staat hoe dat werkt. + Om bijvoorbeeld FreeBSD-CURRENT te ontvangen dient het volgende aan het begin van [.filename]#supfile# toegevoegd te worden: + [.programlisting] .... *default tag=. .... + Er ontstaat een belangrijk speciaal geval als er geen velden met `tag=` of `date=` worden aangegeven. In dat geval worden de eigenlijke RCS bestanden direct uit het CVS depot van de server ontvangen in plaats van dat een bepaalde versie wordt ontvangen. Ontwikkelaars geven in het algemeen de voorkeur aan deze optie. Door zelf een kopie van de broncode op hun systeem te hebben, krijgen ze de mogelijkheid om zelf door eerdere versies van bestanden te bladeren en de geschiedenis ervan te bekijken. Dit voordeel kost wel veel schijfruimte. * [[cvsup-config-where]]Waar moeten ze vandaan komen? + Het veld `host=` wordt gebruikt om `cvsup` aan te geven waar de updates vandaan moeten komen. Dat kan van elke <>, hoewel er wordt aangeraden een site die geografisch dichtbij ligt te kiezen. In dit voorbeeld wordt een fictieve FreeBSD distributiesite gebruikt, `cvsup99.FreeBSD.org`: + [.programlisting] .... *default host=cvsup99.FreeBSD.org .... + In een werkelijke situatie dient de hostnaam gewijzigd te worden in een host die echt bestaat voordat CVSup gaat draaien. Iedere keer dat `cvsup` wordt gestart, kan er een andere host op de commandoregel opgegeven worden met de optie `-h_hostname_`. * [[cvsup-config-dest]]Waar moeten ze komen te staan? + Het veld `prefix=` geeft `cvsup` aan waar de ontvangen bestanden terecht moeten komen. In dit voorbeeld worden de bestanden direct in de hoofd broncodestructuur [.filename]#/usr/src# geplaatst. De map [.filename]#src# is al impliciet in de gekozen collecties, vandaar dat het onderstaande de juiste instelling is: + [.programlisting] .... *default prefix=/usr .... * [[cvsup-config-status]]Waar moet `cvsup` zijn statusbestanden bijhouden? + De CVSup client houdt statusbestanden bij in een map die "base" wordt genoemd. Die bestanden helpen CVSup efficiënter te werken door bij te houden welke updates al eerder zijn ontvangen. Hier wordt de standaard basemap gebruikt, [.filename]#/var/db#: + [.programlisting] .... *default base=/var/db .... + De bovenstaande instelling wordt standaard gebruikt als die niet wordt aangegeven in de [.filename]#supfile#, dus hij is eigenlijk niet nodig. + Als de basemap niet al bestaat, moet die gemaakt worden. De `cvsup` client weigert te draaien als de basemap niet bestaat. * Allerlei [.filename]#supfile# instellingen: + Er is nog een regel die in een [.filename]#supfile# moet staan: + [.programlisting] .... *default release=cvs delete use-rel-suffix compress .... + `release=cvs` geeft de server aan dat de informatie uit het FreeBSD hoofd CVS depot moet komen. Dat is eigenlijk altijd het geval, maar er zijn mogelijkheden die buiten het bereik van dit handboek vallen. + `delete` geeft CVSup het recht om bestanden te verwijderen. Dit moet altijd aangegeven worden zodat CVSup de broncode altijd kan bijwerken. CVSup gaat voorzichtig om met het verwijderen van bestanden waar het verantwoordelijk voor is. Extra bestanden in de structuur worden met rust gelaten. + `use-rel-suffix` is nogal geheimzinnig. Voor de nieuwsgierigen staat er meer over in man:cvsup[1]. Anders kan het gewoon ingesteld worden zonder erover na te denken. + `compress` schakelt het gebruikt van gzip compressie in voor het communicatiekanaal. Als de verbinding een E1 of sneller is, hoeft er geen compressie gebruikt te worden. Anders helpt het aanzienlijk. * Alles combinerend: + Hieronder staat de hele [.filename]#supfile# uit het voorbeeld: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== Het bestand [.filename]#refuse# Zoals hierboven al is aangegeven, gebruikt CVSup een _pull methode_. Dat betekent eigenlijk dat er een verbinding wordt gemaakt met de CVSup server en die zegt dan: "Dit kan er van mij gedownload worden...", en dan antwoordt de client met: "Oké, ik wil dit en dat en zus en zo." Met de standaardinstellingen haalt de CVSup client alle bestanden die bij een collectie en het label horen dat in het bestand met de instellingen is opgegeven. Maar dat is niet altijd wenselijk, in het bijzonder als de [.filename]#doc#, [.filename]#ports# of [.filename]#www# structuren worden gesynchroniseerd. De meeste mensen kunnen geen vier of vijf talen lezen en die hebben de taalspecifieke bestanden dus niet nodig. Als de Portscollectie met CVSup wordt opgehaald, is het mogelijk om iedere collectie apart aan te geven (bijvoorbeeld _ports-astrology_, _ports-biology_, enzovoort, in plaats van eenvoudigweg _ports-all_). Maar omdat de [.filename]#doc# en [.filename]#www# structuren geen taalspecifieke collecties hebben, moet er gebruik gemaakt worden van een van de vele mooie mogelijkheden van CVSup: het bestand [.filename]#refuse#. Het bestand [.filename]#refuse# geeft CVSup in feite aan dat niet ieder bestand uit een collectie opgehaald moet worden. Het geeft dus aan dat de client bepaalde bestanden van de server moet _weigeren_. Het bestand [.filename]#refuse# staat in (of kan gemaakt worden in) [.filename]#base/sup/#. _base_ staat ingesteld in [.filename]#supfile#. De standaardlocatie voor _base_ is [.filename]#/var/db#. De standaardplaats voor [.filename]#refuse# is dus [.filename]#/var/db/sup/refuse#. Het bestand [.filename]#refuse# heeft een erg eenvoudige opmaak. Het bevat de namen van de bestanden die niet gedownload mogen worden. Als een gebruiker bijvoorbeeld geen andere talen spreekt dan Engels en Nederlands, maar de Nederlandse vertaling van de documentatie hoeft niet binnengehaald te worden, dan kan het volgende in het bestand [.filename]#refuse# gezet worden: [.programlisting] .... doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/hu_* doc/it_* doc/ja_* doc/mn_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* .... Dit gaat zo door voor de andere talen. De volledige lijst staat in het http://www.FreeBSD.org/cgi/cvsweb.cgi/[FreeBSD CVS depot]. Met deze handige eigenschap kunnen gebruikers met langzamere verbindingen of zij die per minuut voor hun Internetverbinding betalen waardevolle tijd besparen omdat er geen bestanden meer gedownload worden die nooit gebruikt worden. Meer informatie over [.filename]#refuse# bestanden en andere leuke mogelijkheden van CVSup staat in de handleiding. === CVSup draaien Nu kan het bijwerken beginnen. Het commando is best wel eenvoudig: [source,shell] .... # cvsup supfile .... De [.filename]#supfile# is de naam van het [.filename]#supfile# bestand dat gebruikt moet worden. Aangenomen dat er X11 draait op een machine, toont `cvsup` een GUI venster met wat knoppen om de bekende acties uit te voeren. Het proces start na het klikken op de knop btn[go]. Omdat in dit voorbeeld de werkelijke structuur in [.filename]#/usr/src# wordt bijgewerkt, moet het programma als `root` uitgevoerd worden, zodat `cvsup` de rechten heeft die het nodig heeft om de bestanden bij te werken. Het is voorstelbaar dat de benodigde rechten, het net gemaakte bestand met instellingen en het voor de eerste keer draaien van een programma zorgt voor wat onrust. Daarom is het mogelijk proef te draaien zonder dat er bestanden gewijzigd worden. Dat kan door ergens een lege map te maken en een extra argument mee te geven op de commandoregel: [source,shell] .... # mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest .... De opgegeven map is de bestemming voor alle bestandsupdates. CVSup bekijkt wel de bestanden in [.filename]#/usr/src#, maar wijzigt ze niet. Alle updates belanden in [.filename]#/var/tmp/dest/usr/src#. CVSup werkt ook de statusbestanden niet bij als het op deze wijze wordt uitgevoerd. De nieuwe versies van de bestanden worden naar de aangegeven map geschreven. Als er maar leestoegang is tot [.filename]#/usr/src#, hoeft een gebruiker zelfs geen `root` te zijn bij het uitvoeren van dit experiment. Als er geen X11 draait of als het niet wenselijk is een GUI te gebruiken, dan kunnen daarvoor opties op de commandoregel meegegeven worden bij het draaien van `cvsup`: [source,shell] .... # cvsup -g -L 2 supfile .... De optie `-g` geeft CVSup aan dat de GUI niet gebruikt hoeft te worden. Dit gebeurt automatisch als X11 niet draait, maar anders moet het aangegeven worden. De optie `-L 2` geeft CVSup aan dat details getoond moeten worden over alle bestanden die bijgewerkt worden. Er zijn drie niveaus van uitvoerigheid, van `-L 0` tot `-L 2`. Standaard is het 0, wat betekent dat er geen enkel bericht wordt getoond, met uitzondering van foutmeldingen. Er zijn nog veel andere opties beschikbaar. Met `cvsup -H` wordt een lijst met korte uitleg getoond. Beschrijvingen met meer details staan in de handleiding. Als het bijwerken op de gewenste manier loopt, kan het regulier draaien van CVSup met man:cron[8] ingesteld worden. Natuurlijk hoort CVSup zonder GUI te draaien als het programma vanuit de man:cron[8] draait. [[cvsup-collec]] === CVSup bestandscollecties De via CVSup beschikbare bestandscollecties zijn hiërarchisch georganiseerd. Er zijn een paar grote collecties en die zijn opgedeeld in kleinere subcollecties. Het ontvangen van een collectie is hetzelfde als het ontvangen van alle subcollecties. De hiërarchische relatie tussen de collecties wordt hieronder aangegeven door het niveau van inspringen. De meest gebruikte collecties zijn `src-all` en `ports-all`. De andere collecties worden door kleine groepen mensen gebruikt voor bijzondere doeleinden en sommige mirrorsites hebben ze niet allemaal. `cvs-all release=cvs`:: Het FreeBSD CVS hoofddepot, inclusief de cryptografische code. `distrib release=cvs`::: Bestanden die betrekking hebben op het verspreiden en spiegelen van FreeBSD. `ports-all release=cvs`::: De FreeBSD Portscollectie. + [IMPORTANT] ==== Als `ports-all` (het complete portssysteem) niet bijgewerkt hoeft te worden, maar enkele van de onderstaande subcollecties, dan moet _altijd_ ook de `ports-base` subcollectie bijgewerkt worden! Als er iets wijzigt in de infrastructuur van de ports waar `ports-base` voor staat, is het vrijwel zeker dat die wijzigingen heel snel door "echte" ports gebruikt gaan worden. Dus als alleen de "echte" ports bijgewerkt worden en als die gebruik maken van nieuwe mogelijkheden, dan is de kans groot dat het bouwen daarvan foutloopt met een vage foutmelding. Het _eerste_ dat gedaan moeten worden is ervoor zorgen dat de `ports-base` subcollectie is bijgewerkt. ==== + [IMPORTANT] ==== Bij het zelf bouwen van een lokale kopie van [.filename]#ports/INDEX#_moet_`ports-all` geaccepteerd worden (de hele port structuur). Het bouwen van [.filename]#ports/INDEX# met een gedeeltelijke structuur wordt niet ondersteund. Zie ook de link:{faq}#MAKE-INDEX[FAQ]. ==== `ports-accessibility release=cvs`:::: Software voor minder valide gebruikers. `ports-arabic release=cvs`:::: Ondersteuning voor de Arabische taal. `ports-archivers release=cvs`:::: Archiveringshulpmiddelen. `ports-astro release=cvs`:::: Astronomie ports. `ports-audio release=cvs`:::: Geluidsondersteuning. `ports-base release=cvs`:::: De infrastructuur van de Portscollectie. Bestanden uit de mappen [.filename]#Mk/# en [.filename]#Tools/# van [.filename]#/usr/ports#. + [NOTE] ==== Zie ook de <>: deze subcollectie dient _altijd_ bijgewerkt te worden als er een onderdeel van de FreeBSD Portscollectie wordt bijgewerkt! ==== `ports-benchmarks release=cvs`:::: Benchmarks. `ports-biology release=cvs`:::: Biologie. `ports-cad release=cvs`:::: Computer aided design programma's. `ports-chinese release=cvs`:::: Ondersteuning voor de Chinese taal. `ports-comms release=cvs`:::: Communicatiesoftware. `ports-converters release=cvs`:::: Karaktercode omzetters. `ports-databases release=cvs`:::: Databases. `ports-deskutils release=cvs`:::: Dingen die op een bureaublad stonden voordat computers waren uitgevonden. `ports-devel release=cvs`:::: Ontwikkelhulpmiddelen. `ports-dns release=cvs`:::: DNS gerelateerde software. `ports-editors release=cvs`:::: Editors. `ports-emulators release=cvs`:::: Emulatoren voor besturingssystemen. `ports-finance release=cvs`:::: Monetaire, financiële en gerelateerde applicaties. `ports-ftp release=cvs`:::: FTP client en server programma's. `ports-games release=cvs`:::: Spelletjes. `ports-german release=cvs`:::: Ondersteuning voor de Duitse taal. `ports-graphics release=cvs`:::: Grafische programma's. `ports-hebrew release=cvs`:::: Ondersteuning voor de Hebreeuwse taal. `ports-hungarian release=cvs`:::: Ondersteuning voor de Hongaarse taal. `ports-irc release=cvs`:::: Internet Relay Chat hulpprogramma's. `ports-japanese release=cvs`:::: Ondersteuning voor de Japanse taal. `ports-java release=cvs`:::: Java(TM) programma's. `ports-korean release=cvs`:::: Ondersteuning voor de Koreaanse taal. `ports-lang release=cvs`:::: Programmeertalen. `ports-mail release=cvs`:::: Mailsoftware. `ports-math release=cvs`:::: Numerieke rekensoftware. `ports-misc release=cvs`:::: Verschillende programma's. `ports-multimedia release=cvs`:::: Multimedia software. `ports-net release=cvs`:::: Netwerksoftware. `ports-net-im release=cvs`:::: Berichtenuitwisseling. `ports-net-mgmt release=cvs`:::: Netwerkbeheersoftware. `ports-net-p2p release=cvs`:::: Peer to Peer Netwerken `ports-news release=cvs`:::: USENET news software. `ports-palm release=cvs`:::: Softwareondersteuning voor Palm(TM) apparatuur. `ports-polish release=cvs`:::: Ondersteuning voor de Poolse taal. `ports-ports-mgmt release=cvs`:::: Programma's om ports en pakketten te beheren. `ports-portuguese release=cvs`:::: Ondersteuning voor de Portugese taal. `ports-print release=cvs`:::: Printsoftware. `ports-russian release=cvs`:::: Ondersteuning voor de Russische taal. `ports-science release=cvs`:::: Wetenschappelijk. `ports-security release=cvs`:::: Beveiligingsprogramma's. `ports-shells release=cvs`:::: Commandoregelshells. `ports-sysutils release=cvs`:::: Systeemprogramma's. `ports-textproc release=cvs`:::: Tekstverwerkingsprogramma's (zonder desktop publishing). `ports-ukrainian release=cvs`:::: Ondersteuning voor de Oekraïense taal. `ports-vietnamese release=cvs`:::: Ondersteuning voor de Viëtnamese taal. `ports-www release=cvs`:::: Software gerelateerd aan het Wereldwijde Web. `ports-x11 release=cvs`:::: Ports voor het X windowsysteem. `ports-x11-clocks release=cvs`:::: X11 klokken. `ports-x11-drivers release=cvs`:::: X11-stuurprogramma's `ports-x11-fm release=cvs`:::: X11 bestandsbeheerders. `ports-x11-fonts release=cvs`:::: X11 lettertypen en lettertypeprogramma's. `ports-x11-toolkits release=cvs`:::: X11 hulpprogramma's. `ports-x11-servers release=cvs`:::: X11 servers. `ports-x11-themes`:::: X11 thema's. `ports-x11-wm release=cvs`:::: X11 vensterbeheerprogramma's. `projects-all release=cvs`::: Broncode's voor de FreeBSD projecten repository. `src-all release=cvs`::: De hoofdbroncode van FreeBSD, inclusief de cryptografische code. `src-base release=cvs`:::: Verschillende bestanden bovenin de [.filename]#/usr/src# structuur. `src-bin release=cvs`:::: Gebruikersprogramma's die wellicht nodig zijn in single-user modus ([.filename]#/usr/src/bin#). `src-cddl release=cvs`:::: Programma's en bibliotheken die uitgegeven zijn onder de CDDL licentie ([.filename]#/usr/src/cddl#). `src-contrib release=cvs`:::: Programma's en bibliotheken van buiten het FreeBSD project die vrijwel ongewijzigd gebruikt worden ([.filename]#/usr/src/contrib#). `src-crypto release=cvs`:::: Cryptografische programma's en bibliotheken van buiten het FreeBSD project, die vrijwel ongewijzigd worden gebruikt ([.filename]#/usr/src/crypto#). `src-eBones release=cvs`:::: Kerberos en DES ([.filename]#/usr/src/eBones#). Niet gebruikt in recente uitgaves van FreeBSD. `src-etc release=cvs`:::: Bestanden met systeeminstellingen ([.filename]#/usr/src/etc#). `src-games release=cvs`:::: Spelletjes ([.filename]#/usr/src/games#). `src-gnu release=cvs`:::: Programma's die onder de GNU Public License vallen ([.filename]#/usr/src/gnu#). `src-include release=cvs`:::: Headerbestanden ([.filename]#/usr/src/include#). `src-kerberos5 release=cvs`:::: Kerberos5 beveiligingspakket ([.filename]#/usr/src/kerberos5#). `src-kerberosIV release=cvs`:::: KerberosIV beveiligingspakket ([.filename]#/usr/src/kerberosIV#). `src-lib release=cvs`:::: Bibliotheken ([.filename]#/usr/src/lib#). `src-libexec release=cvs`:::: Systeemprogramma's die meestal door andere programma's worden uitgevoerd ([.filename]#/usr/src/libexec#). `src-release release=cvs`:::: Bestanden die nodig zijn voor het maken van een FreeBSD release ([.filename]#/usr/src/release#). `src-release release=cvs`:::: Statisch gelinkte programma's voor nood onderhoud, zie man:rescue[8] ([.filename]#/usr/src/rescue#). `src-sbin release=cvs`:::: Systeemprogramma's voor single-user modus ([.filename]#/usr/src/sbin#). `src-secure release=cvs`:::: Cryptografische bibliotheken en commando's ([.filename]#/usr/src/secure#). `src-share release=cvs`:::: Bestanden die tussen meerdere systemen gedeeld kunnen worden ([.filename]#/usr/src/share#). `src-sys release=cvs`:::: De kernel ([.filename]#/usr/src/sys#). `src-sys-crypto release=cvs`:::: Cryptografische kernelcode ([.filename]#/usr/src/sys/crypto#). `src-tools release=cvs`:::: Verschillende hulpprogramma's voor het onderhoud van FreeBSD ([.filename]#/usr/src/tools#). `src-usrbin release=cvs`:::: Gebruikersprogramma's ([.filename]#/usr/src/usr.bin#). `src-usrsbin release=cvs`:::: Systeemprogramma's ([.filename]#/usr/src/usr.sbin#). `distrib release=self`:: De instellingenbestanden van de CVSup server zelf. Gebruikt door de CVSup mirrorsites. `gnats release=current`:: De GNATS bug-tracking database. `mail-archive release=current`:: FreeBSD mailinglijstarchief. `www release=current`:: De voorbewerkte FreeBSD websitebestanden (niet de broncode). Gebruikt door WWW mirrorsites. === Voor meer informatie De CVSup FAQ en andere informatie over CVSup is te vinden op http://www.cvsup.org/[De CVSup Homepage]. De meeste FreeBSD-gerelateerde discussie over CVSup vindt plaats op de {freebsd-hackers}. Daar worden nieuwe versies van de software aangekondigd, net als op de {freebsd-announce}. Voor vragen en foutrapporten moet een kijkje genomen worden op http://www.cvsup.org/faq.html#bugreports[ de CVSup FAQ] [[cvsup-mirrors]] === CVSup sites <> servers voor FreeBSD draaien op de onderstaande sites. [[cvs-tags]] == CVS labels Bij het ophalen of bijwerken van broncode met cvs of CVSup moet een revisielabel meegegeven worden. Een revisielabel refereert aan een specifieke lijn in de FreeBSD ontwikkeling of aan een specifiek moment in de tijd. Het eerste type heet "taklabel" (branch tag) en het tweede type heet "releaselabel" (release tag). === Taklabels Deze zijn, met uitzondering van `HEAD` (dat altijd een geldig label is), alleen van toepassing op de [.filename]#src/# structuur. De [.filename]#ports/#, [.filename]#doc/# en [.filename]#www/# structuren kennen geen takken. HEAD:: Symbolische naam voor de hoofdlijn van FreeBSD-CURRENT. Ook de standaard als geen revisie is aangegeven. + In CVSup wordt dit label aangegeven met een `.` (dat is dus geen interpunctie, maar een echt `.` karakter). + [NOTE] ==== In CVS is dit de standaard als er geen revisielabel is aangegeven. Het is meestal _geen_ goed idee om een checkout of update van CURRENT broncode op een STABLE machine te doen, tenzij dat expliciet de bedoeling is. ==== RELENG_9:: De ontwikkellijn voor FreeBSD-9.X, ook bekend als FreeBSD 9-STABLE. RELENG_9_0:: De uitgavetak voor FreeBSD-9.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_8:: De ontwikkellijn voor FreeBSD-8.X, ook bekend als FreeBSD 8-STABLE. RELENG_8_3:: De uitgavetak voor FreeBSD-8.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_8_2:: De uitgavetak voor FreeBSD-8.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_8_1:: De uitgavetak voor FreeBSD-8.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_8_0:: De uitgavetak voor FreeBSD-8.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7:: De ontwikkellijn voor FreeBSD-7.X, ook bekend als FreeBSD 7-STABLE. RELENG_7_4:: De uitgavetak voor FreeBSD-7.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7_3:: De uitgavetak voor FreeBSD-7.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7_2:: De uitgavetak voor FreeBSD-7.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7_1:: De uitgavetak voor FreeBSD-7.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7_0:: De uitgavetak voor FreeBSD-7.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6:: De ontwikkellijn voor FreeBSD-6.X, ook bekend als FreeBSD 6-STABLE. RELENG_6_4:: De uitgavetak voor FreeBSD-6.4, alleen gebruikt voor beveiligingsadviezen en andere kritieke reparaties. RELENG_6_3:: De uitgavetak voor FreeBSD-6.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6_2:: De releasetak voor FreeBSD-6.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6_1:: De releasetak voor FreeBSD-6.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6_0:: De releasetak voor FreeBSD-6.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5:: De ontwikkellijn voor FreeBSD-5.X, ook bekend als FreeBSD 5-STABLE. RELENG_5_5:: De releasetak voor FreeBSD-5.5, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_4:: De releasetak voor FreeBSD-5.4, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_3:: De releasetak voor FreeBSD-5.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_2:: De releasetak voor FreeBSD-5.2 en FreeBSD-5.2.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_1:: De releasetak voor FreeBSD-5.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_0:: De releasetak voor FreeBSD-5.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4:: De ontwikkellijn voor FreeBSD-4.X, ook bekend als FreeBSD 4-STABLE. RELENG_4_11:: De releasetak voor FreeBSD-4.11, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_10:: De releasetak voor FreeBSD-4.10, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_9:: De releasetak voor FreeBSD-4.9, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_8:: De releasetak voor FreeBSD-4.8, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_7:: De releasetak voor FreeBSD-4.7, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_6:: De releasetak voor FreeBSD-4.6 en FreeBSD-4.6.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_5:: De releasetak voor FreeBSD-4.5, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_4:: De releasetak voor FreeBSD-4.4, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_3:: De releasetak voor FreeBSD-4.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_3:: De ontwikkellijn voor FreeBSD-3.X, ook bekend als 3.X-STABLE. RELENG_2_2:: De ontwikkellijn voor FreeBSD-2.2.X, ook bekend als 2.2-STABLE. Deze tak is sterk verouderd. === Releaselabels Deze labels refereren aan een specifiek moment in de tijd waarop een versie van FreeBSD is uitgegeven. Het proces om tot een release te komen is gedetailleerder beschreven in de link:https://www.FreeBSD.org/releng/[Release Engineering Informatie] en link:{releng}#release-proc/[Release Proces] documenten. De [.filename]#src# structuur gebruikt labelnamen die beginnen met `RELENG_` labels. De [.filename]#ports# en [.filename]#doc# structuren gebruiken labels waarvan de naam begint met het label `RELEASE`. De [.filename]#www# tenslotte, is niet gemarkeerd met een bijzondere naam bij uitgaven. RELENG_9_0_0_RELEASE:: FreeBSD 9.0 RELENG_8_3_0_RELEASE:: FreeBSD 8.3 RELENG_8_2_0_RELEASE:: FreeBSD 8.2 RELENG_8_1_0_RELEASE:: FreeBSD 8.1 RELENG_8_0_0_RELEASE:: FreeBSD 8.0 RELENG_7_4_0_RELEASE:: FreeBSD 7.4 RELENG_7_3_0_RELEASE:: FreeBSD 7.3 RELENG_7_2_0_RELEASE:: FreeBSD 7.2 RELENG_7_1_0_RELEASE:: FreeBSD 7.1 RELENG_7_0_0_RELEASE:: FreeBSD 7.0 RELENG_6_4_0_RELEASE:: FreeBSD 6.4 RELENG_6_3_0_RELEASE:: FreeBSD 6.3 RELENG_6_2_0_RELEASE:: FreeBSD 6.2 RELENG_6_1_0_RELEASE:: FreeBSD 6.1 RELENG_6_0_0_RELEASE:: FreeBSD 6.0 RELENG_5_5_0_RELEASE:: FreeBSD 5.5 RELENG_5_4_0_RELEASE:: FreeBSD 5.4 RELENG_4_11_0_RELEASE:: FreeBSD 4.11 RELENG_5_3_0_RELEASE:: FreeBSD 5.3 RELENG_4_10_0_RELEASE:: FreeBSD 4.10 RELENG_5_2_1_RELEASE:: FreeBSD 5.2.1 RELENG_5_2_0_RELEASE:: FreeBSD 5.2 RELENG_4_9_0_RELEASE:: FreeBSD 4.9 RELENG_5_1_0_RELEASE:: FreeBSD 5.1 RELENG_4_8_0_RELEASE:: FreeBSD 4.8 RELENG_5_0_0_RELEASE:: FreeBSD 5.0 RELENG_4_7_0_RELEASE:: FreeBSD 4.7 RELENG_4_6_2_RELEASE:: FreeBSD 4.6.2 RELENG_4_6_1_RELEASE:: FreeBSD 4.6.1 RELENG_4_6_0_RELEASE:: FreeBSD 4.6 RELENG_4_5_0_RELEASE:: FreeBSD 4.5 RELENG_4_4_0_RELEASE:: FreeBSD 4.4 RELENG_4_3_0_RELEASE:: FreeBSD 4.3 RELENG_4_2_0_RELEASE:: FreeBSD 4.2 RELENG_4_1_1_RELEASE:: FreeBSD 4.1.1 RELENG_4_1_0_RELEASE:: FreeBSD 4.1 RELENG_4_0_0_RELEASE:: FreeBSD 4.0 RELENG_3_5_0_RELEASE:: FreeBSD-3.5 RELENG_3_4_0_RELEASE:: FreeBSD-3.4 RELENG_3_3_0_RELEASE:: FreeBSD-3.3 RELENG_3_2_0_RELEASE:: FreeBSD-3.2 RELENG_3_1_0_RELEASE:: FreeBSD-3.1 RELENG_3_0_0_RELEASE:: FreeBSD-3.0 RELENG_2_2_8_RELEASE:: FreeBSD-2.2.8 RELENG_2_2_7_RELEASE:: FreeBSD-2.2.7 RELENG_2_2_6_RELEASE:: FreeBSD-2.2.6 RELENG_2_2_5_RELEASE:: FreeBSD-2.2.5 RELENG_2_2_2_RELEASE:: FreeBSD-2.2.2 RELENG_2_2_1_RELEASE:: FreeBSD-2.2.1 RELENG_2_2_0_RELEASE:: FreeBSD-2.2.0 [[mirrors-rsync]] == rsync sites De volgende sites bieden FreeBSD aan via het protocol rsync. Het programma rsync werkt vrijwel hetzelfde als man:rcp[1], maar kent meer mogelijkheden en gebruikt het rsync remote-update protocol, dat alleen verschillen tussen twee groepen bestanden overbrengt, waardoor het synchroniseren via een netwerk drastisch wordt versneld. Dit kan het beste gedaan worden als er een mirrorsite voor de FreeBSD FTP server of het FreeBSD CVS depot draait. De rsync suite is voor veel besturingssystemen beschikbaar. Voor FreeBSD kan het pakket of de port uit package:net/rsync[] geïnstalleerd worden. Tsjechië:: rsync://ftp.cz.FreeBSD.org/ + Beschikbare collecties: ** ftp: een gedeeltelijke mirror van de FreeBSD FTP server. ** FreeBSD: een volledige mirror van de FreeBSD FTP server. Nederland:: rsync://ftp.nl.FreeBSD.org/ + Beschikbare collecties: ** FreeBSD: een volledige mirror van de FreeBSD FTP server. Rusland:: rsync://ftp.mtu.ru/ + Beschikbare collecties: ** FreeBSD: een volledige spiegel van de FTP-server van FreeBSD. ** FreeBSD-gnats: De GNATS bug-tracking database. ** FreeBSD-archief: spiegel van de FreeBSD Archive FTP-server. Zweden:: rsync://ftp4.se.freebsd.org/ + Beschikbare verzamelingen: ** FreeBSD: een volledige spiegel van de FTP-server van FreeBSD. Taiwan:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Beschikbare collecties: ** FreeBSD: een volledige mirror van de FreeBSD FTP server. Verenigd Koninkrijk:: rsync://rsync.mirrorservice.org/ + Beschikbare collecties: ** sites/ftp.freebsd.org: een volledige mirror van de FreeBSD FTP server. Verenigde Staten van Amerika:: rsync://ftp-master.FreeBSD.org/ + Deze server mag alleen gebruikt worden door FreeBSD primaire mirrorsites. + Beschikbare collecties: ** FreeBSD: het masterarchief van de FreeBSD FTP server. ** acl: de FreeBSD master ACL lijst. + rsync://ftp13.FreeBSD.org/ + Beschikbare collecties: + ** FreeBSD: een volledige mirror van de FreeBSD FTP server. diff --git a/documentation/content/pl/books/handbook/mirrors/_index.adoc b/documentation/content/pl/books/handbook/mirrors/_index.adoc index 2c65d0f6a4..9af84454ca 100644 --- a/documentation/content/pl/books/handbook/mirrors/_index.adoc +++ b/documentation/content/pl/books/handbook/mirrors/_index.adoc @@ -1,602 +1,601 @@ --- title: Dodatek A. Obtaining FreeBSD part: Część V. Dodatki prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = Obtaining FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Spis treści :table-caption: Tabela :figure-caption: Rysunek :example-caption: Przykład :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/pl/mailing-lists.adoc[] include::shared/pl/urls.adoc[] include::shared/pl/teams.adoc[] [[mirrors-cdrom]] == CD and DVD Sets FreeBSD CD and DVD sets are available from several online retailers: * FreeBSD Mall, Inc. + 2420 Sand Creek Rd C-1 #347 + Brentwood, CA + 94513 + USA + Phone: +1 925 240-6652 + Fax: +1 925 674-0821 + Email: + WWW: https://www.freebsdmall.com * Getlinux + 78 Rue de la Croix Rochopt + Épinay-sous-Sénart + 91860 + France + Email: + WWW: http://www.getlinux.fr/ * Dr. Hinner EDV + Kochelseestr. 11 + D-81371 München + Germany + Phone: (0177) 428 419 0 + Email: + WWW: http://www.hinner.de/linux/freebsd.html * Linux Center + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Phone: +7-812-309-06-86 + Email: + WWW: http://linuxcenter.ru/shop/freebsd [[mirrors-ftp]] == FTP Sites The official sources for FreeBSD are available via anonymous FTP from a worldwide set of mirror sites. The site link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] is available via HTTP and FTP. It is made up of many machines operated by the project cluster administrators and behind GeoDNS to direct users to the closest available mirror. Additionally, FreeBSD is available via anonymous FTP from the following mirror sites. When obtaining FreeBSD via anonymous FTP, please try to use a nearby site. The mirror sites listed as "Primary Mirror Sites" typically have the entire FreeBSD archive (all the currently available versions for each of the architectures) but faster download speeds are probably available from a site that is in your country or region. The regional sites carry the most recent versions for the most popular architecture(s) but might not carry the entire FreeBSD archive. All sites provide access via anonymous FTP but some sites also provide access via other methods. The access methods available for each site are provided in parentheses after the hostname. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[svn]] == Using Subversion [[svn-intro]] === Introduction As of July 2012, FreeBSD uses Subversion as the only version control system for storing all of FreeBSD's source code, documentation, and the Ports Collection. [NOTE] ==== Subversion is generally a developer tool. Users may prefer to use `freebsd-update` (crossref:cutting-edge[updating-upgrading-freebsdupdate,“FreeBSD Update”]) to update the FreeBSD base system, and `portsnap` (crossref:ports[ports-using,“Using the Ports Collection”]) to update the FreeBSD Ports Collection. ==== This section demonstrates how to install Subversion on a FreeBSD system and use it to create a local copy of a FreeBSD repository. Additional information on the use of Subversion is included. [[svn-ssl-certificates]] === Root SSL Certificates Installing package:security/ca_root_nss[] allows Subversion to verify the identity of HTTPS repository servers. The root SSL certificates can be installed from a port: [source,shell] .... # cd /usr/ports/security/ca_root_nss # make install clean .... or as a package: [source,shell] .... # pkg install ca_root_nss .... [[svn-svnlite]] === Svnlite A lightweight version of Subversion is already installed on FreeBSD as `svnlite`. The port or package version of Subversion is only needed if the Python or Perl API is needed, or if a later version of Subversion is desired. The only difference from normal Subversion use is that the command name is `svnlite`. [[svn-install]] === Installation If `svnlite` is unavailable or the full version of Subversion is needed, then it must be installed. Subversion can be installed from the Ports Collection: [source,shell] .... # cd /usr/ports/devel/subversion # make install clean .... Subversion can also be installed as a package: [source,shell] .... # pkg install subversion .... [[svn-usage]] === Running Subversion To fetch a clean copy of the sources into a local directory, use `svn`. The files in this directory are called a _local working copy_. [WARNING] ==== Move or delete an existing destination directory before using `checkout` for the first time. Checkout over an existing non-`svn` directory can cause conflicts between the existing files and those brought in from the repository. ==== Subversion uses URLs to designate a repository, taking the form of _protocol://hostname/path_. The first component of the path is the FreeBSD repository to access. There are three different repositories, `base` for the FreeBSD base system source code, `ports` for the Ports Collection, and `doc` for documentation. For example, the URL `https://svn.FreeBSD.org/ports/head/` specifies the main branch of the ports repository, using the `https` protocol. A checkout from a given repository is performed with a command like this: [source,shell] .... # svn checkout https://svn.FreeBSD.org/repository/branch lwcdir .... where: * _repository_ is one of the Project repositories: `base`, `ports`, or `doc`. * _branch_ depends on the repository used. `ports` and `doc` are mostly updated in the `head` branch, while `base` maintains the latest version of -CURRENT under `head` and the respective latest versions of the -STABLE branches under `stable/9` (9._x_) and `stable/10` (10._x_). * _lwcdir_ is the target directory where the contents of the specified branch should be placed. This is usually [.filename]#/usr/ports# for `ports`, [.filename]#/usr/src# for `base`, and [.filename]#/usr/doc# for `doc`. This example checks out the Ports Collection from the FreeBSD repository using the HTTPS protocol, placing the local working copy in [.filename]#/usr/ports#. If [.filename]#/usr/ports# is already present but was not created by `svn`, remember to rename or delete it before the checkout. [source,shell] .... # svn checkout https://svn.FreeBSD.org/ports/head /usr/ports .... Because the initial checkout must download the full branch of the remote repository, it can take a while. Please be patient. After the initial checkout, the local working copy can be updated by running: [source,shell] .... # svn update lwcdir .... To update [.filename]#/usr/ports# created in the example above, use: [source,shell] .... # svn update /usr/ports .... The update is much quicker than a checkout, only transferring files that have changed. An alternate way of updating the local working copy after checkout is provided by the [.filename]#Makefile# in the [.filename]#/usr/ports#, [.filename]#/usr/src#, and [.filename]#/usr/doc# directories. Set `SVN_UPDATE` and use the `update` target. For example, to update [.filename]#/usr/src#: [source,shell] .... # cd /usr/src # make update SVN_UPDATE=yes .... [[svn-mirrors]] === Subversion Mirror Sites The FreeBSD Subversion repository is: [.programlisting] .... svn.FreeBSD.org .... This is a publicly accessible mirror network that uses GeoDNS to select an appropriate back end server. To view the FreeBSD Subversion repositories through a browser, use https://svnweb.FreeBSD.org/[https://svnweb.FreeBSD.org/]. HTTPS is the preferred protocol, but the [.filename]#security/ca_root_nss# package will need to be installed in order to automatically validate certificates. === For More Information For other information about using Subversion, please see the "Subversion Book", titled http://svnbook.red-bean.com/[Version Control with Subversion], or the http://subversion.apache.org/docs/[Subversion Documentation]. [[mirrors-rsync]] == Using rsync These sites make FreeBSD available through the rsync protocol. The rsync utility transfers only the differences between two sets of files. This is useful for mirror sites of the FreeBSD FTP server. The rsync suite is available for many operating systems, on FreeBSD, see the package:net/rsync[] port or use the package. Czech Republic:: rsync://ftp.cz.FreeBSD.org/ + Available collections: ** ftp: A partial mirror of the FreeBSD FTP server. ** FreeBSD: A full mirror of the FreeBSD FTP server. Netherlands:: rsync://ftp.nl.FreeBSD.org/ + Available collections: ** FreeBSD: A full mirror of the FreeBSD FTP server. Russia:: rsync://ftp.mtu.ru/ + Available collections: ** FreeBSD: A full mirror of the FreeBSD FTP server. ** FreeBSD-Archive: The mirror of FreeBSD Archive FTP server. Sweden:: rsync://ftp4.se.freebsd.org/ + Available collections: ** FreeBSD: A full mirror of the FreeBSD FTP server. Taiwan:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Available collections: ** FreeBSD: A full mirror of the FreeBSD FTP server. United Kingdom:: rsync://rsync.mirrorservice.org/ + Available collections: ** ftp.freebsd.org: A full mirror of the FreeBSD FTP server. United States of America:: rsync://ftp-master.FreeBSD.org/ + This server may only be used by FreeBSD primary mirror sites. + Available collections: ** FreeBSD: The master archive of the FreeBSD FTP server. ** acl: The FreeBSD master ACL list. + rsync://ftp13.FreeBSD.org/ + Available collections: ** FreeBSD: A full mirror of the FreeBSD FTP server. :sectnums: :sectnumlevels: 6 diff --git a/documentation/content/pt-br/books/handbook/mirrors/_index.adoc b/documentation/content/pt-br/books/handbook/mirrors/_index.adoc index eeb20388c6..e6d2458fb2 100644 --- a/documentation/content/pt-br/books/handbook/mirrors/_index.adoc +++ b/documentation/content/pt-br/books/handbook/mirrors/_index.adoc @@ -1,601 +1,600 @@ --- title: Apêndice A. Obtendo o FreeBSD part: Parte V. Apêndices prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = Obtendo o FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Índice :table-caption: Tabela :figure-caption: Figura :example-caption: Exemplo :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/pt-br/mailing-lists.adoc[] include::shared/pt-br/teams.adoc[] include::shared/pt-br/urls.adoc[] [[mirrors-cdrom]] == CD and DVD Sets Os conjuntos de CD and DVD do FreeBSD estão disponíveis em vários varejistas on-line: * FreeBSD Mall, Inc. + 2420 Sand Creek Rd C-1 #347 + Brentwood, CA + 94513 + USA + Phone: +1 925 240-6652 + Fax: +1 925 674-0821 + Email: + WWW: https://www.freebsdmall.com * Getlinux + 78 Rue de la Croix Rochopt + Épinay-sous-Sénart + 91860 + France + Email: + WWW: http://www.getlinux.fr/ * Dr. Hinner EDV + Kochelseestr. 11 + D-81371 München + Germany + Phone: (0177) 428 419 0 + Email: + WWW: http://www.hinner.de/linux/freebsd.html * Linux Center + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Phone: +7-812-309-06-86 + Email: + WWW: http://linuxcenter.ru/shop/freebsd [[mirrors-ftp]] == Sites de FTP As fontes oficiais do FreeBSD estão disponíveis no FTP anônimo de um conjunto mundial de sites espelho. O site link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] está disponível via HTTP e FTP. Ele é composto de muitas máquinas operadas pelos administradores de cluster do projeto e fica atrás de uma estrutura de GeoDNS que direciona os usuários para o espelho disponível mais próximo. Adicionalmente, o FreeBSD está disponível via FTP anônimo a partir dos seguintes sites espelho. Ao obter o FreeBSD via FTP anônimo, por favor tente usar um site próximo. Os sites espelhos listados como "Sites Espelhos Primários" geralmente possuem o arquivo completo do FreeBSD (todas as versões atualmente disponíveis para cada uma das arquiteturas), mas velocidades de download mais rápidas provavelmente estão disponíveis em um site que esteja em seu país ou região. Os sites regionais carregam as versões mais recentes para a(s) arquitetura(s) mais populare(s), mas podem não carregar o arquivo completo do FreeBSD. Todos os sites fornecem acesso via FTP anônimo, mas alguns sites também fornecem acesso por meio de outros métodos. Os métodos de acesso disponíveis para cada site são fornecidos entre parênteses após o nome do host. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[svn]] == Usando o Subversion [[svn-intro]] === Introdução Desde de julho de 2012, o FreeBSD usa o Subversion como o único sistema de controle de versão para armazenar todo o código-fonte do FreeBSD, a documentação e a coleção de ports. [NOTE] ==== O Subversion é geralmente uma ferramenta de desenvolvimento. Os usuários podem preferir usar o `freebsd-update` (crossref:cutting-edge[updating-upgrading-freebsdupdate,Atualização do FreeBSD]) para atualizar o sistema básico do FreeBSD, e o `portsnap` (crossref:ports[ports-using,Usando a Coleção de Ports]) para atualizar a coleção de ports do FreeBSD. ==== Esta seção demonstra como instalar o Subversion em um sistema FreeBSD e usá-lo para criar uma cópia local de um repositório do FreeBSD. Informações adicionais sobre o uso de Subversion estão incluídas. [[svn-ssl-certificates]] === Certificados Raiz SSL A instalação do package:security/ca_root_nss[] permite que o Subversion verifique a identidade dos servidores de repositório HTTPS. Os certificados raiz SSL podem ser instalados a partir de um port: [source,shell] .... # cd /usr/ports/security/ca_root_nss # make install clean .... ou como um pacote: [source,shell] .... # pkg install ca_root_nss .... [[svn-svnlite]] === Svnlite Uma versão leve do Subversion já está instalada no FreeBSD como `svnlite`. A versão do port ou pacote do Subversion é necessária apenas se a API do Python ou do Perl for necessária, ou se uma versão posterior do Subversion for desejada. A única diferença do uso normal do Subversion é que o nome do comando é `svnlite`. [[svn-install]] === Instalação Se o `svnlite` não estiver disponível ou a versão completa do Subversion for necessária, ele deverá ser instalado. O Subversion pode ser instalado a partir da coleção de ports: [source,shell] .... # cd /usr/ports/devel/subversion # make install clean .... O Subversion também pode ser instalado como um pacote: [source,shell] .... # pkg install subversion .... [[svn-usage]] === Executando o Subversion Para obter uma cópia limpa do código-fonte em um diretório local, use `svn`. Os arquivos neste diretório são chamados de _cópia de trabalho local_. [WARNING] ==== Mova ou exclua o diretório de destino existente antes de usar o `checkout` pela primeira vez. O checkout em cima de um diretório não-`svn` existente pode causar conflitos entre os arquivos existentes e aqueles trazidos do repositório. ==== O Subversion usa URLs para designar um repositório, sob a forma de _protocol://hostname/path_. O primeiro componente do caminho é o repositório do FreeBSD para acessar. Existem três repositórios diferentes, `base` para o código-fonte do sistema básico do FreeBSD, `ports` para a coleção de ports, e `doc` para a documentação. Por exemplo, o URL `https://svn.FreeBSD.org/ports/head/` especifica a ramificação principal do repositório de ports, usando o protocolo `https`. Um checkout de um determinado repositório é executado com um comando como este: [source,shell] .... # svn checkout https://svn.FreeBSD.org/repository/branch lwcdir .... Onde: * O _repository_ é um dos repositórios do Projecto: `base`, `ports`, ou `doc`. * A _branch_ depende do repositório usado. O `ports` e o `doc` são normalmente atualizados na ramificação `head`, enquanto `base` mantém a última versão de -CURRENT em `head` e as respectivas versões mais recentes das ramificações -STABLE em `stable/9` (9._x_) e `stable/10` (10._x_). * O _lwcdir_ é o diretório de destino onde o conteúdo do ramo especificado deve ser colocado. Isso geralmente é [.filename]#/usr/ports# para o `ports`, [.filename]#/usr/src# para a `base`, e [.filename]#/usr/doc# para o `doc`. Este exemplo obtém a coleção de ports do repositório do FreeBSD usando o protocolo HTTPS, colocando a cópia de trabalho local em [.filename]#/usr/ports#. Se o [.filename]#/usr/ports# já estiver presente, mas não tiver sido criado pelo `svn`, lembre-se de renomeá-lo ou excluí-lo antes do checkout. [source,shell] .... # svn checkout https://svn.FreeBSD.org/ports/head /usr/ports .... Como o checkout inicial deve fazer o download da ramificação completa do repositório remoto, isso pode demorar um pouco. Por favor, seja paciente. Após o checkout inicial, a cópia de trabalho local pode ser atualizada executando: [source,shell] .... # svn update lwcdir .... Para atualizar o [.filename]#/usr/ports# criado no exemplo acima, use: [source,shell] .... # svn update /usr/ports .... O update é muito mais rápido do que um checkout, transferindo apenas os arquivos que foram alterados. Uma maneira alternativa de atualizar a cópia de trabalho local após o checkout é fornecida pelo [.filename]#Makefile# existente em [.filename]#/usr/ports#, [.filename]#/usr/src#, e [.filename]#/usr/doc#. Configure o `SVN_UPDATE` e use o destino `atualizar`. Por exemplo, para atualizar [.filename]#/usr/src#: [source,shell] .... # cd /usr/src # make update SVN_UPDATE=yes .... [[svn-mirrors]] === Sites Espelho do Subversion O repositório Subversion do FreeBSD é: [.programlisting] .... svn.FreeBSD.org .... Essa é uma rede de espelhos acessível publicamente a qual usa o GeoDNS para selecionar um servidor de backend apropriado. Para visualizar os repositórios Subversion do FreeBSD através de um navegador, use https://svnweb.FreeBSD.org/[https://svnweb.FreeBSD.org/]. O HTTPS é o protocolo preferido, mas o pacote [.filename]#security/ca_root_nss# precisará ser instalado para validar os certificados automaticamente. === Para Maiores Informações Para outras informações sobre o uso do Subversion, por favor veja o "Subversion Book", intitulado http://svnbook.red-bean.com/[Version Controle com Subversion], ou o http://subversion.apache.org/docs/[Documentação do Subversion]. [[mirrors-rsync]] == Usando o rsync Estes sites disponibilizam o FreeBSD através do protocolo rsync. O utilitário rsync transfere apenas as diferenças entre dois conjuntos de arquivos. Isto é útil para sites espelho do servidor de FTP do FreeBSD . O pacote rsync está disponível para muitos sistemas operacionais, no FreeBSD, veja o port package:net/rsync[] ou use o pacote. República Checa:: rsync://ftp.cz.FreeBSD.org/ + Coleções disponíveis: ** ftp: Um espelho parcial do servidor de FTP do FreeBSD. ** FreeBSD: Um espelho completo do servidor de FTP do FreeBSD. Países Baixos:: rsync://ftp.nl.FreeBSD.org/ + Coleções disponíveis: ** FreeBSD: Um espelho completo do servidor de FTP do FreeBSD. Rússia:: rsync://ftp.mtu.ru/ + Coleções disponíveis: ** FreeBSD: Um espelho completo do servidor de FTP do FreeBSD. ** FreeBSD-Archive: Um espelho do servidor de FTP do FreeBSD Archive. Suécia:: rsync://ftp4.se.freebsd.org/ + Coleções disponíveis: ** FreeBSD: Um espelho completo do servidor de FTP do FreeBSD. Taiwan:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Coleções disponíveis: ** FreeBSD: Um espelho completo do servidor de FTP do FreeBSD. Reino Unido:: rsync://rsync.mirrorservice.org/ + Coleções disponíveis: ** ftp.freebsd.org: Um espelho completo do servidor de FTP do FreeBSD. Estados Unidos da America:: rsync://ftp-master.FreeBSD.org/ + Este servidor só pode ser usado por sites espelhos primários do FreeBSD. + Coleções disponíveis: ** FreeBSD: O arquivo master do servidor de FTP do FreeBSD. ** acl: A lista do ACL mestre do FreeBSD. + rsync://ftp13.FreeBSD.org/ + Coleções disponíveis: ** FreeBSD: Um espelho completo do servidor de FTP do FreeBSD. :sectnums: :sectnumlevels: 6 diff --git a/documentation/content/ru/books/handbook/mirrors/_index.adoc b/documentation/content/ru/books/handbook/mirrors/_index.adoc index e3288f24e4..90a160b7cd 100644 --- a/documentation/content/ru/books/handbook/mirrors/_index.adoc +++ b/documentation/content/ru/books/handbook/mirrors/_index.adoc @@ -1,721 +1,720 @@ --- title: Приложение A. Получение FreeBSD part: Часть V. Приложения prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = Получение FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Содержание :table-caption: Таблица :figure-caption: Рисунок :example-caption: Пример :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/ru/mailing-lists.adoc[] include::shared/ru/teams.adoc[] include::shared/ru/urls.adoc[] [[mirrors-cdrom]] == Наборы CD и DVD Наборы FreeBSD CD и DVD доступны у нескольких онлайн поставщиков: * FreeBSD Mall, Inc. + 2420 Sand Creek Rd C-1 #347 + Brentwood, CA + 94513 + США + Телефон: +1 925 240-6652 + Факс: +1 925 674-0821 + Email: + WWW: http://www.freebsdmall.com/ * Getlinux + 78 Rue de la Croix Rochopt + 'Epinay-sous-S'enart + 91860 + Франция + Email: + WWW: http://www.getlinux.fr/ * Dr. Hinner EDV + Kochelseestr. 11 + D-81371 M"unchen + Германия + Телефон: (0177) 428 419 0 + Email: + WWW: http://www.hinner.de/linux/freebsd.html * Linux Center + ул. Галерная, 55 + Санкт-Петербург + 190000 + Россия + Телефон: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/shop/freebsd [[mirrors-ftp]] == FTP сайты Официальные исходные тексты FreeBSD доступны через анонимные FTP зеркала по всему миру. Сайт link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] имеет хорошее подключение и поддерживает большое количество одновременных соединений, но для вас возможно потребуется найти "ближайшее" зеркало (особенно если вы решили настроить у себя какой-то из видов зеркал). Кроме того, FreeBSD доступна через анонимный FTP со следующих зеркал. Если вы выбрали получение FreeBSD через анонимный FTP, пожалуйста, выберите ближайший к вам сайт. Зеркала из списка "Основных зеркал" обычно содержат полный архив FreeBSD (все доступные на данный момент версии для каждой архитектуры), но скорость загрузки возможно будет больше с зеркала, расположенного в вашей стране или регионе. Сайты каждой страны содержат последнюю версию для наиболее популярных архитектур, но на них может не быть полного архива FreeBSD. Все сайты предоставляют доступ через анонимный FTP, а некоторые предоставляют доступ и другими методами. Для каждого сайта приведен список методов доступа в скобках после имени хоста. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[ctm]] == Использование CTM CTM это метод синхронизации удаленного дерева каталогов с центральным. Он встроен во FreeBSD и может использоваться для синхронизации системы с репозиториями исходных текстов FreeBSD. Он поддерживает синхронизацию всего репозитория или только заданного набора ветвей. CTM создан специально для использования в условиях некачественного соединения по TCP/IP или его отсутствия и предоставляет возможность автоматической отправки изменений по электронной почте. Пользователю требуется загружать до трех изменений в день для наиболее активных ветвей. Размеры обновлений всегда поддерживаются настолько малыми, насколько это возможно, и обычно составляют меньше 5 Кб. Примерно на каждое десятое приходится по 10-50 Кб, и иногда случаются обновления больше 100 Кб. При использовании CTM для отслеживания процесса разработки FreeBSD требуется учитывать особенности в работе напрямую с исходных текстов, находящихся в разработке, по сравнению с использованием готовых релизов. Эти вопросы рассматриваются в разделе <>. Cуществует немного документации по процессу создания дельта-файлов (delta, разница между имеющимися и актуальными исходными текстами) или использованию CTM в других целях. Обратитесь в список рассылки link:{ctm-users-url}[ctm-users-desc] для получения ответов на вопросы по использованию CTM. [[mirrors-ctm]] === Получение дельта-файлов "Дельта-файлы" для использования в CTM можно получить двумя способами: через анонимный FTP или по электронной почте. Дельта-файлы по FTP можно получить со следующих сайтов зеркал. При использовании анонимного FTP для получения дельта-файлов CTM выберите географически ближайшее зеркало. По случаю возникновения проблем сообщайте в список рассылки link:{ctm-users-url}[ctm-users-desc]. США, Калифорния, Bay Area, официальный источник:: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] Южная Африка, запасной сервер для старых дельт:: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] Тайвань/R.O.C.:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] Для получения дельта-файлов по почте подпишитесь на один из списков распространения `ctm-src`, доступных на http://lists.freebsd.org/mailman/listinfo[http://lists.freebsd.org/mailman/listinfo]. Например, link:{ctm-src-cur-url}[ctm-src-cur-desc] поддерживает главную ветвь разработки, а link:{ctm-src-9-url}[ctm-src-9-desc] поддерживает ветвь выпуска релизов 9.X. Как только вы получаете обновления CTM по почте, используйте программу `ctm_rmail` для их распаковки и применения. Эта программа может выполняться непосредственно из записи в [.filename]#/etc/aliases# для автоматизации процесса. Обращайтесь к странице справочника man:ctm_rmail[1] для получения дополнительной информации. [NOTE] ==== Вне зависимости от способа получения дельта-файлов, пользователям CTM следует подписаться на список рассылки link:{ctm-announce-url}[ctm-announce-desc], поскольку это единственный механизм публикации объявлений CTM. ==== === Использование CTM Перед началом использования дельта-файлов CTM потребуется определить исходную точку для последующего их применения. Один из способов состоит в применении "стартового" дельта-файла к пустому каталогу. В имени такого файла присутствует `Xempty`, например, [.filename]#src-cur.3210XEmpty.gz#. Обозначение перед `X` соответствует происхождению первоначального источника. [.filename]#Empty# означает пустой каталог. Как правило, файл с `Empty` создается через каждые 100 дельта-файлов. Обратите внимание, что стартовые дельта-файлы имеют большой размер, и от 70 до 80 мегабайт сжатых в `gzip` данных для [.filename]#XEmpty# является обычным делом. Другой способ заключается в получении первоначального источника с -RELEASE CD. Это может существенно снизить объём передаваемых данных по сети. Когда основной дельта-файл создан, примените все дельта-файлы с последующими номерами. Чтобы применить дельта-файлы: [source,shell] .... # cd /directory/to/store/the/stuff # ctm -v -v /directory/which/stores/the/deltas/src-xxx.* .... Можно применять несколько дельт одной командой, по мере их последовательной обработки уже применённые дельты игнорируются. CTM работает с дельта-файлами, сжатыми с помощью `gzip`, что позволяет сэкономить на используемом дисковом пространстве. Для проверки дельта-файла без его применения используйте параметр командной строки `-c`. CTM не будет модифицировать локальное дерево, а только проверит целостность дельта-файла на предмет его применимости без ошибок. Обращайтесь к man:ctm[1] для получения дополнительной информации по имеющимся параметрам и понимания процесса применения дельт, который используется в CTM. Для поддержания исходных текстов в актуальном состоянии каждый раз, когда становится доступна новая дельта, применяйте её с использованием CTM. Рекомендуется не удалять дельты после применения, если их сложно загрузить повторно. В этом случае будет доступна локальная копия, которая может понадобиться при восстановлении после сбоя. === Сохранение локальных изменений Разработчики часто экспериментируют и изменяют файлы в локальном дереве исходных текстов. CTM имеет ограниченную поддержку локальных изменений: перед проверкой наличия файла сначала проверяется файл тем же именем и расширением [.filename]#.ctm#. Если такой файл присутствует, CTM будет работать с ним вместо исходного файла. Такое поведение обеспечивает простой путь поддержки локальных изменений. Перед изменением файла скопируйте его с расширением [.filename]#.ctm#. Вносите любые изменения в исходный файл, зная что CTM будет применять обновления только к файлу с расширением [.filename]#.ctm#. === Другие возможности CTM Определение файлов, которые будут затронуты обновлением:: Для определения списка изменений, которые CTM внесет в локальный репозиторий исходных текстов, используйте параметр `-l`. Этот параметр используется для записи лога изменений или выполнения предварительной или последующей обработки какого-либо подмножества изменяемых файлов. Создание резервных копий перед обновлением:: Для создания резервной копии всех файлов, которые будут изменены обновлением CTM, укажите параметр `-B _backup-file_`. С этим параметром CTM выполняет сохранение в [.filename]#backup-file# всех файлов, которые затрагиваются применяемыми дельтами CTM. Ограничение обновлений для определенных файлов:: Для ограничения набора файлов, обновляемых CTM, или для извлечения лишь нескольких файлов из последовательности дельт можно указать фильтрующие регулярные выражения с использованием `-e`, который указывает, какие файлы обрабатывать, или `-x`, который указывает, какие файлы игнорировать. + Пример извлечения свежей копии [.filename]#lib/libc/Makefile# из коллекции сохраненных дельт CTM: + [source,shell] .... # cd /directory/to/extract/to/ # ctm -e '^lib/libc/Makefile' /directory/which/stores/the/deltas/src-xxx.* .... + Для каждого файла, указанного в CTM дельте, параметры `-e` и `-x` применяются в порядке их задания в командной строке. Файл обрабатывается CTM, только если он помечается как подходящий после обработки всех параметров `-e` и `-x`. [[svn]] == Использование Subversion [[svn-intro]] === Введение По состоянию на июль 2012 года FreeBSD использует Subversion в качестве основной системы контроля версий для хранения всего исходного кода FreeBSD, документации и Коллекции Портов. [NOTE] ==== Subversion в основном является инструментом разработчика. Большинству пользователей следует использовать `freebsd-update` (crossref:cutting-edge[updating-upgrading-freebsdupdate,Обновление FreeBSD]) для обновления основной системы FreeBSD и `portsnap` (crossref:ports[ports-using,Использование Коллекции Портов]) для обновления Коллекции Портов FreeBSD. ==== В этом разделе демонстрируется, как устанавливать Subversion в системе FreeBSD и затем использовать его для создания локальной копии репозитория FreeBSD. Здесь приводится список доступных зеркал Subversion для FreeBSD, а также ссылки на дополнительную информацию по использованию Subversion. [[svn-install]] === Установка Subversion должен быть установлен до его использования для получения содержимого любого из репозиториев. Если уже имеется копия дерева портов, Subversion можно установить следующим образом: [source,shell] .... # cd /usr/ports/devel/subversion # make install clean .... Если дерево портов недоступно, Subversion можно установить из пакета: [source,shell] .... # pkg_add -r subversion .... Если для управления пакетов используется pkgng, то Subversion можно установить с его помощью: [source,shell] .... # pkg install devel/subversion .... [[svn-usage]] === Работа с Subversion Команда `svn` используется для извлечения чистой копии исходных кодов в локальный каталог. Файлы в этом каталоге называются _локальной рабочей копией_. [WARNING] ==== Если локальный каталог уже существует, но не был создан с помощью `svn`, переименуйте его или удалите перед загрузкой. Загрузка в существующий не-`svn` каталог может вызвать конфликты между существующими файлами и получаемыми из репозитория. ==== Subversion для обозначения репозитория использует URL, которые имеют вид _протокол://имя/путь_. Зеркала могут поддерживать различные протоколы как указано ниже. Первый компонент пути обозначает используемый репозиторий. Существует три различных репозитория: `base` для исходного кода основной системы FreeBSD, `ports` для Коллекции Портов и `doc` для документации. Например, URL `svn://svn0.us-east.FreeBSD.org/ports/head/` указывает на главную ветвь репозитория портов на зеркале `svn0.us-east.FreeBSD.org` с использованием протокола `svn`. Загрузка из данного репозитория выполняется следующей командой: [source,shell] .... # svn checkout svn-mirror/repository/branch lwcdir .... где: * _svn-mirror_ - URL для одного из <>. * _repository_ - один из репозиториев проекта, т.е. `base`, `ports` или `doc`. * _branch_ зависит от используемого репозитория. `ports` и `doc` в основном обновляются в ветви `head`, в то время как `base` содержит последнюю версию -CURRENT в `head` и соответственно последние версии ветви -STABLE в `stable/8` (для 8._x_), `stable/9` (9._x_) и `stable/10` (10._x_). * _lwcdir_ - каталог для размещения содержимого указанной ветви. Обычно это [.filename]#/usr/ports# для `ports`, [.filename]#/usr/src# для `base` и [.filename]#/usr/doc# для `doc`. В этом примере загружается Коллекция Портов с западного репозитория США с использованием протокола HTTPS и размещением локальной рабочей копии в [.filename]#/usr/ports#. Если [.filename]#/usr/ports# уже присутствует, но не был создан с помощью `svn`, не забудьте его переименовать или удалить перед загрузкой. [source,shell] .... # svn checkout https://svn0.us-west.FreeBSD.org/ports/head /usr/ports .... Поскольку на первоначальном этапе с удалённого репозитория загружается вся ветвь целиком, на это может уйти некоторое время. Пожалуйста, будьте терпеливы. После первоначальной загрузки локальную рабочую копию можно обновить: [source,shell] .... # svn update lwcdir .... Для обновления [.filename]#/usr/ports#, созданного в вышеприведённом примере, используйте: [source,shell] .... # svn update /usr/ports .... Обновление намного быстрее загрузки, т.к. передаются только файлы с изменениями. Альтернативный способ обновления локальной рабочей копии после загрузки обеспечивается в [.filename]#Makefile# в каталогах [.filename]#/usr/ports#, [.filename]#/usr/src# и [.filename]#/usr/doc#. Используйте цель `update` с заданной переменной `SVN_UPDATE`. Пример для обновления [.filename]#/usr/src#: [source,shell] .... # cd /usr/src # make update SVN_UPDATE=yes .... [[svn-mirrors]] === Сайты зеркала Subversion Все зеркала покрывают все репозитории. Главный сервер Subversion FreeBSD `svn.FreeBSD.org` является общедоступным для чтения. Это может измениться в будущем, поэтому пользователям рекомендуется использовать одно из официальных зеркал. Для просмотра репозиториев Subversion FreeBSD через браузер используйте http://svnweb.FreeBSD.org/[http://svnweb.FreeBSD.org/]. [NOTE] ==== Сеть зеркал Subversion FreeBSD находится на раннем этапе развития и скорее всего будет меняться. Не полагайтесь на неизменность этого списка. В частности, серверные сертификаты SSL скорее всего изменятся. ==== [.informaltable] [cols="1,1,1,1", options="header"] |=== | Название | Протоколы | Местоположение | SSL Fingerprint |`svn0.us-west.FreeBSD.org` |`svn`, http://svn0.us-west.FreeBSD.org/[http], https://svn0.us-west.FreeBSD.org/[https] |США, Калифорния |SHA1 `1C:BD:85:95:11:9F:EB:75:A5:4B:C8:A3:FE:08:E4:02:73:06:1E:61` |`svn0.us-east.FreeBSD.org` |`svn`, http://svn0.us-east.FreeBSD.org/[http], https://svn0.us-east.FreeBSD.org/[https], `rsync` |Сша, Нью Джерси |SHA1 `1C:BD:85:95:11:9F:EB:75:A5:4B:C8:A3:FE:08:E4:02:73:06:1E:61` |`svn0.eu.FreeBSD.org` |`svn`, http://svn0.eu.FreeBSD.org/[http], https://svn0.eu.FreeBSD.org/[https], `rsync` |Великобритания |SHA1 `39:B0:53:35:CE:60:C7:BB:00:54:96:96:71:10:94:BB:CE:1C:07:A7` |`svn0.ru.FreeBSD.org` |`svn`, http://svn0.ru.FreeBSD.org/[http], https://svn0.ru.FreeBSD.org/[https], `rsync` |Россия, Москва |SHA1 `F6:44:AA:B9:03:89:0E:3E:8C:4D:4D:14:F0:27:E6:C7:C1:8B:17:C5` |=== Предпочтительным протоколом является HTTPS, который обеспечивает защиту от других компьютеров, маскирующихся под зеркало FreeBSD (известно как атака "человек посредине"), и прочих, пытающихся послать плохое содержимое конечному пользователю. При первом соединении с зеркалом по HTTPS пользователю будет предложено проверить _fingerprint_ (отпечаток) сервера: [source,shell] .... Error validating server certificate for 'https://svn0.us-west.freebsd.org:443': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! - The certificate hostname does not match. Certificate information: - Hostname: svnmir.ysv.FreeBSD.org - Valid: from Jul 29 22:01:21 2013 GMT until Dec 13 22:01:21 2040 GMT - Issuer: clusteradm, FreeBSD.org, (null), CA, US (clusteradm@FreeBSD.org) - Fingerprint: 1C:BD:85:95:11:9F:EB:75:A5:4B:C8:A3:FE:08:E4:02:73:06:1E:61 (R)eject, accept (t)emporarily or accept (p)ermanently? .... Сравните отпечаток с вышеуказанными в таблице. Если отпечаток совпадает, сертификат безопасности сервера можно принять на временной или постоянной основе. Временный сертификат действует до конца сессии с сервером, и при следующем соединении этап верификации будет повторён. Постоянное принятие сертификата сохраняет параметры аутентификации в [.filename]#~/.subversion/auth/#, и пользователю не придётся проверять отпечаток снова до истечения сертификата. Если `https` не получается использовать из-за фаервола или иных проблем, `svn` - следующий выбор с чуть более быстрой передачей. Если ни один из них не может быть использован, используйте `http`. === Дополнительная информация Для получения другой информации по использованию Subversion смотрите "книгу Subversion" по названию http://svnbook.red-bean.com/[Version Control with Subversion] или http://subversion.apache.org/docs/[Документацию Subversion]. [[mirrors-rsync]] == Использование rsync Следующие сайты организуют доступ к FreeBSD через протокол rsync. Утилита rsync работает в основном таким же способом, что и команда man:rcp[1], но поддерживает больше параметров и использует протокол удаленного обновления rsync, который передает только разницу между двумя наборами файлов, что значительно повышает скорость синхронизации по сети. Это особенно полезно, если вы поддерживаете зеркало сервера FreeBSD FTP или репозитория CVS. Пакет rsync доступен для многих операционных систем; в FreeBSD смотрите порт package:net/rsync[] или используйте пакет. Чешская республика:: rsync://ftp.cz.FreeBSD.org/ + Доступные коллекции: ** ftp: Частичное зеркало FreeBSD FTP сервера. ** FreeBSD: Полное зеркало FreeBSD FTP сервера. Нидерланды:: rsync://ftp.nl.FreeBSD.org/ + Доступные коллекции: ** FreeBSD: Полное зеркало FreeBSD FTP сервера. Россия:: rsync://ftp.mtu.ru/ + Доступные коллекции: ** FreeBSD: Полное зеркало FreeBSD FTP сервера. ** FreeBSD-gnats: База данных системы отслеживания ошибок GNATS. ** FreeBSD-Archive: Зеркало FreeBSD архивного FTP сервера. Швеция:: rsync://ftp4.se.freebsd.org/ + Доступные коллекции: ** FreeBSD: Полное зеркало FreeBSD FTP сервера. Тайвань:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Доступные коллекции: ** FreeBSD: Полное зеркало FreeBSD FTP сервера. Великобритания:: rsync://rsync.mirrorservice.org/ + Доступные коллекции: ** ftp.freebsd.org: Полное зеркало FreeBSD FTP сервера. Соединенные Штаты Америки:: rsync://ftp-master.FreeBSD.org/ + Этот сервер может использоваться только основными зеркалами FreeBSD. + Доступные коллекции: ** FreeBSD: Основной архив FreeBSD FTP сервера. ** acl: Основной ACL список FreeBSD. + rsync://ftp13.FreeBSD.org/ + Доступные коллекции: ** FreeBSD: Полное зеркало FreeBSD FTP сервера. diff --git a/documentation/content/zh-cn/books/handbook/mirrors/_index.adoc b/documentation/content/zh-cn/books/handbook/mirrors/_index.adoc index 63695134b4..b5fc3f5939 100644 --- a/documentation/content/zh-cn/books/handbook/mirrors/_index.adoc +++ b/documentation/content/zh-cn/books/handbook/mirrors/_index.adoc @@ -1,1682 +1,1681 @@ --- title: 附录 A. 获取 FreeBSD part: 部分 V. 附录 prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = 获取 FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: 目录 :table-caption: 表 :figure-caption: 图 :example-caption: 例 :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/zh-cn/mailing-lists.adoc[] include::shared/zh-cn/teams.adoc[] include::shared/zh-cn/urls.adoc[] [[mirrors-cdrom]] == CDROM 和 DVD 发行商 === 零售盒装产品 可以从下面几个零售商那里买到 FreeBSD 的盒装产品 (FreeBSD CD, 附加软件,印刷文档): * CompUSA + WWW: http://www.compusa.com/ * Frys Electronics + WWW: http://www.frys.com/ === CD 和 DVD 光盘 FreeBSD CD 和 DVD 光盘可以从许多在线零售商那里买到: * FreeBSD Mall, Inc. + 700 Harvest Park Ste F + Brentwood, CA 94513 + USA + Phone: +1 925 240-6652 + Fax: +1 925 674-0821 + Email: + WWW: http://www.freebsdmall.com/ * Dr. Hinner EDV + St. Augustinus-Str. 10 + D-81825 München + Germany + Phone: (089) 428 419 + WWW: http://www.hinner.de/linux/freebsd.html * Ikarios + 22-24 rue Voltaire + 92000 Nanterre + France + WWW: http://ikarios.com/form/#freebsd * JMC Software + Ireland + Phone: 353 1 6291282 + WWW: http://www.thelinuxmall.com * The Linux Emporium + Hilliard House, Lester Way + Wallingford + OX10 9TA + United Kingdom + Phone: +44 1491 837010 + Fax: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/bsd/ * Linux+ DVD Magazine + Lewartowskiego 6 + Warsaw + 00-190 + Poland + Phone: +48 22 860 18 18 + Email: + WWW: http://www.lpmagazine.org/ * Linux System Labs Australia + 21 Ray Drive + Balwyn North + VIC - 3104 + Australia + Phone: +61 3 9857 5918 + Fax: +61 3 9857 8974 + WWW: http://www.lsl.com.au * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Phone: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/shop/freebsd === 发行人 如果您是销售商并且想销售 FreeBSD CDROM 产品, 请和发行人联系: * Cylogistics + 809B Cuesta Dr., #2149 + Mountain View, CA 94040 + USA + Phone: +1 650 694-4949 + Fax: +1 650 694-4953 + Email: + WWW: http://www.cylogistics.com/ * Ingram Micro + 1600 E. St. Andrew Place + Santa Ana, CA 92705-4926 + USA + Phone: 1 (800) 456-8000 + WWW: http://www.ingrammicro.com/ * Kudzu, LLC + 7375 Washington Ave. S. + Edina, MN 55439 + USA + Phone: +1 952 947-0822 + Fax: +1 952 947-0876 + Email: * LinuxCenter.Kz + Ust-Kamenogorsk + Kazakhstan + Phone: +7-705-501-6001 + Email: + WWW: http://linuxcenter.kz/page.php?page=fr * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Phone: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/freebsd * Navarre Corp + 7400 49th Ave South + New Hope, MN 55428 + USA + Phone: +1 763 535-8333 + Fax: +1 763 535-0341 + WWW: http://www.navarre.com/ [[mirrors-ftp]] == FTP 站点 官方的 FreeBSD 源代码可以从遍布全球的镜像站点 通过匿名 FTP 下载。 站点 link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] 有着良好的网络连接并且允许大量的并发连接, 但是 您或许更想找一个 "更近的" 镜像站点 (特别是当您想进行某种形式的镜像的时候)。 FreeBSD 可以从下面这些镜像站点通过匿名 FTP 下载。如果您选择了通过匿名 FTP 获取 FreeBSD, 请尽量使用离您比较近的站点。被列为 "主镜像站点" 的镜像站点一般都有完整的 FreeBSD 文件 (针对每种体系结构的所有当前可用的版本), 您或许从您所在的国家或地区的站点下载会得到更快的下载速度。 每个站点提供了最流行的体系结构的最近的版本而有可能不提供完整的 FreeBSD 存档。所有的站点都提供匿名 FTP 访问而有些站点也提供其他的访问方式。对每个站点可用的访问方式 在其主机名后有所说明。 <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[mirrors-bittorrent]] == BitTorrent 基本发行版 CD 的 ISO 镜像也可以通过 BitTorrent 获得。 用户下载镜像的 torrent 文件能够在这里找到 http://torrents.freebsd.org:8080/[http://torrents.freebsd.org:8080] BitTorrent 客户端软件可以从这个 port package:net-p2p/py-bittorrent[] 或预编译的二进制包安装。 在通过 BitTorrent 下载了 ISO 镜像之后, 你可以照着 crossref:disks[burncd,burncd]burncd 中的所描述的方法烧录到 CD 或 DVD 介质上。 [[anoncvs]] == 匿名 CVS [[anoncvs-intro]] === 概述 匿名 CVS(或人们常说的 _anoncvs_)是由和 FreeBSD 附带的 CVS 实用工具提供的用于和远程的 CVS 代码库同步的一种特性。 尤其是, 它允许 FreeBSD 用户不需要特殊的权限对任何一台 FreeBSD 项目的官方 anoncvs 服务器执行只读的 CVS 操作。 要使用它,简单的设置 `CVSROOT` 环境变量指向适当的 anoncvs 服务器, 输入 `cvs login` 命令 并提供广为人知的密码"anoncvs",然后使用 man:cvs[1] 命令像访问任何本地仓库一样来访问它。 [NOTE] ==== `cvs login` 命令把用来登录 CVS 服务器的密码储存在您的 `HOME` 目录中一个叫 [.filename]#.cvspass# 的文件里。 如果这个文件不存在, 第一次使用 `cvs login` 的时候可能会出错。 请创建一个空的 [.filename]#.cvspass# 文件,然后试试重新登录。 ==== 也可以这么说 <> 和 _anoncvs_ 服务本质上提供了同样的功能,但是有各种各样 不同的场合可以影响用户对同步方式的选择。简单来说, CVSup 在网络资源利用方面 更加有效,而且是到目前为止在两者之中技术上更成熟的 除了成本方面。要使用 CVSup,在下载任何东西之前 必须首先安装配置特定的客户端, 而且只能用于下载相当大块的 CVSup 称作 _collections_。 相比之下,anoncvs 可以通过 CVS 模块名来从单个文件里检出任何东西并赋给特定的程序 (比如 `ls` 或者 `grep`)。 当然,anoncvs 也只适用于对 CVS 仓库的只读操作,所以如果您是想用和 FreeBSD 项目共享的仓库提供本地开发的话, CVSup 几乎是您唯一的选择。 [[anoncvs-usage]] === 使用匿名 CVS 配置 man:cvs[1] 使用匿名 CVS 仓库可以简单的设定 `CVSROOT` 环境变量指向 FreeBSD 项目的 _anoncvs_ 服务器之一。 到此书写作为止, 下面的服务器都是可用的: * _法国_: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (使用 pserver 模式时, 用 `cvs login` 配合口令 "anoncvs" 来登录。 如果使用的是 ssh, 则不需要口令。) * __台湾__地区: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (使用 pserver 模式时, 用 `cvs login` 配合口令 "anoncvs" 来登录。 如果使用的是 ssh, 则不需要口令。) + [.programlisting] .... SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub .... * _美国_: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (使用 ssh 时, 请使用协议版本 2, 不需要口令。) + [.programlisting] .... SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub .... 因为 CVS 实际上允许 "检出" 曾经存在的 (或者,某种情况下将会存在) FreeBSD 源代码的任意版本, 您需要熟悉 man:cvs[1] 的版本 (`-r`) 参数, 以及在 FreeBSD 代码库中可用的值。 有两种标签,修订标签和分支标签。 修订标签特指一个特定的修订版本。含义始终是不变的。 分支标签,另一方面, 指代给定时间给定开发分支的最新修订, 因为分支标签不涉及特定的修订版本, 它明天所代表的含义就可能和今天的不同。 <> 包括了用户可能感兴趣的 修订标签。 请注意, 这些标签并不适用于 Ports Collection, 因为它并不包含多个开发分支。 当您指定一个分支标签,您通常会得到那个开发分支的文件的最新版本。 如果您希望得到一些旧的版本,您可以用 `-D date` 标记制定一个日期。 察看 man:cvs[1] 手册页了解更多细节。 === 示例 在这之前强烈建议您通读 man:cvs[1] 的手册页, 这里有一些简单的例子来展示如何使用匿名 CVS: .从 -CURRENT 检出些东西 (man:ls[1]): [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login >在提示符处,输入任意密码 “password”. % cvs co ls .... ==== .通过 SSH 检出整个 [.filename]#src/# 代码树: [example] ==== [source,shell] .... % cvs -d anoncvs@anoncvs1.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established. DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts. .... ==== .检出 8-STABLE 分支中的 man:ls[1] 版本: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login 在提示符处,输入任意密码 “password”。 % cvs co -rRELENG_8 ls .... ==== .创建 man:ls[1] 的变化列表(用标准的 diff) [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login 在提示符处,输入任意密码 “password”。 % cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls .... ==== .找出可以使用的其它的模块名: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login 在提示符处,输入任意密码 “password”。 % cvs co modules % more modules/modules .... ==== === 其他资源 下面附加的资源可能对学习 CVS 有帮助: * http://users.csc.calpoly.edu/~gfisher/classes/308/handouts/cvs-basics.html[CVS 教程], 来自加州州立理工大学。 * http://ximbiot.com/cvs/wiki/[CVS 主页], CVS 开发和支持社区。 * http://www.FreeBSD.org/cgi/cvsweb.cgi[CVSweb] 是 FreeBSD 项目的 CVS web 界面。 [[ctm]] == 使用 CTM CTM 是保持远程目录树和中央服务器目录树同步的一种方法。 它被开发用于 FreeBSD 的源代码树,虽然其他人随着时间推移会发现它可以用于其他目的。 当前几乎没有,也或者只有很少的文档讲述创建 deltas 的步骤, 所以如果您希望使用 CTM 去做其它事情, 请联系 link:{ctm-users-url}[ctm-users-desc] 邮件列表了解更多信息。 === 为什么我该使用 CTM? CTM 会给您一份 FreeBSD 源代码树的本地副本。 代码树有很多的 "flavors" 可用。不管您是希望跟踪完整的 CVS 树还是只是一个分支, CTM 都会给您提供信息。 如果您是 FreeBSD 上的一个活跃的开发者,但是缺乏或者不存在 TCP/IP 连接,或者只是希望把变化自动发送给您, CTM 就是适合您的。对于最积极的分支 您将会每天获得三个以上的 deltas。 然而,您应该考虑通过邮件来自动发送。 升级的大小总是保证尽可能的小。 通常小于 5K,也偶然(十分之一可能)会有 10-50K,也不时地有个大的 100K+ 甚至更大的。 您也需要让自己了解直接和开发代码而不是预发行版本打交道的各种警告。这种情况会很显著, 如果您选择了 "current" 代码的话。强烈建议您阅读crossref:cutting-edge[current,和 FreeBSD 保持同步]。 === 使用 CTM 我需要做什么? 您需要两样东西:CTM 程序,还有初始的 deltas 来 feed it(达到 "current" 级别)。 CTM 程序从版本 2.0 发布以来 已经是 FreeBSD 的一部分了,如果您安装了源代码副本的话, 它位于 [.filename]#/usr/src/usr.sbin/ctm#。 您喂给 CTM 的 "deltas" 可以有两种方式,FTP 或者 email。 如果您有普通的访问 Internet 的 FTP 权限, 那么下面的 FTP 站点支持访问 CTM: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] 或者看看这一小节<>。 FTP 访问相关的目录并取得 [.filename]#README# 文件,从那里开始。 如果您希望通过 email 得到您的 deltas: 订阅一个 CTM 分发列表。 link:{ctm-src-cur-url}[ctm-src-cur-desc] 支持最新的开发分支。 link:{ctm-src-7-url}[ctm-src-7-desc] 支持 7.X 发行分支, 等等。。(如果您不知道如何订阅邮件列表, 点击上面的列表名或者到 {mailman-lists-url} 点击您希望订阅的列表。 列表页包含了所有必要的订阅指导。) 当您开始接收到您邮件中的 CTM 升级时,您可以使用 `ctm_rmail` 程序来解压并应用它们。 事实上如果您想要让进程以全自动的形式运行的话,您可以通过在 [.filename]#/etc/aliases# 中设置直接使用 `ctm_rmail` 程序。 查看 `ctm_rmail` 手册页了解更多细节。 [NOTE] ==== 不管您使用什么方法得到 CTM deltas,您都应该订阅 link:{ctm-announce-url}[ctm-announce-desc] 邮件列表。 以后会有单独的地方提交有关 CTM 系统的操作的公告。 点击上面的邮件列表名并按照指示订阅邮件列表。 ==== === 第一次使用 CTM 在您开始使用 CTM delta 之前,您需要获得一个起始点。 首先您应该确定您已经有了什么。每个人都可以从一个"空"目录开始。 您必须用一个初始的 "空的" delta 来开始您的 CTM 支持树。曾经为了您的便利这些 "起始" deltas 被有意的通过 CD 来发行, 然而现在已经不这样做了。 因为代码树有数十兆字节,您应该更喜欢从手头上已经有的东西开始。如果您有一张 -RELEASE CD 光盘,您可以从里面复制或者解压缩一份初始代码出来。 这会节省非常多的数据传输量。 您会发现这些"初始的" deltas 名字的数字后面都有个 `X` (比如 [.filename]#src-cur.3210XEmpty.gz#)。 后面加一个 `X` 的设计符合您的初始 "seed" 的由来。 [.filename]#Empty# 是一个空目录。通常一个基本的从 `Empty` 开始的转换由 100 个 deltas 构成。顺便说一下,他们都很大!70 到 80 兆字节的 `gzip` 压缩的数据对于 [.filename]#XEmpty# deltas 是很平常的。 一旦您已经选定了一个基本的 delta 开始,您就需要比这个数高的所有的 delta。 === 在您的日常生活中使用 CTM 要应用 deltas,简单的键入: [source,shell] .... # cd /where/ever/you/want/the/stuff # ctm -v -v /where/you/store/your/deltas/src-xxx.* .... CTM 能够理解被 `gzip` 压缩的 deltas,所以您不需要先 `gunzip` 他们,这可以节省磁盘空间。 除非觉得整个过程非常可靠, CTM 不会涉及到您的代码树的。您也可以使用 `-c` 标记来校验 delta, 这样 CTM 就不会涉及代码树; 它会只校验 delta 的完整性看看是否可以安全的用于您的当前代码树。 CTM 还有其他的一些参数, 查看手册页或者源代码了解更多信息。 这真的就是全部的事情了。每次得到一个新的 delta,就通过 CTM 运行它来保证您的代码是最新的。 如果这些 deltas 很难重新下载的话不要删除它们。 有些东西坏掉的时候您会想到保留它们的。 即使您只有软盘,也请考虑使用 `fdwrite` 来做一份副本。 === 维持您本地的变动 作为一名开发者喜欢实验,改动代码树中的文件。 CTM 用一种受限的方式支持本地修改:再检查文件 [.filename]#foo# 存在之前,首先查找 [.filename]#foo.ctm#。如果这个文件存在, CTM 会对它操作而不是 [.filename]#foo#。 这种行为给我们提供了一种简单的方式来维持本地的改动: 只要复制您计划修改的文件并用 [.filename]#.ctm# 的后缀重新命名。 然后就可以自由的修改代码了,CTM 会更新 [.filename]#.ctm# 文件到最新版本。 === 其他有趣的 CTM 选项 ==== 正确的找出哪些将被更新 您可以确定变动列表, CTM 可以做到,在您的代码库上使用 CTM 的 `-l` 选项。 这很有用如果您想要保存改动的日志, pre- 或者 post- 用各种风格处理修改的文件的纪录, 或者仅仅是想感受一下孩子般的疯狂。 ==== 在升级前制作备份 有时您可能想备份将要被 CTM 升级所改动的所有文件。 指定 `-B backup-file` 选项会导致 CTM 备份将要被给定的 CTM delta 改动的所有文件到 [.filename]#backup-file#。 ==== 限定受升级影响的文件 有时您可能对限定一个给定的 CTM 升级的范围感兴趣,也有可能想知道怎样从一列 deltas 中解压缩一部分文件。 您可以通过使用 `-e` 和 `-x` 选项指定过滤规则表达式来控制 CTM 即将对之操作的文件列表。 例如,要从您保存的CTM deltas 集里解压缩出一个最新的 [.filename]#lib/libc/Makefile# 文件,运行这个命令: [source,shell] .... # cd /where/ever/you/want/to/extract/it/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... 对于每一个在 CTM delta 中指定的文件,`-e` 和 `-x` 选项按照命令行给定的顺序应用。 文件只有在所有的 `-e` 和 `-x` 被应用之后标记为合格之后 才能被 CTM 操作。 === CTM 未来的计划 其中几项: * 在 CTM 中使用一些认证方式, 这样来允许察觉冒充的 CTM 补丁。 * 整理 CTM 的选项, 它们变得杂乱而违反直觉了。 === 杂项 也有一系列的 `ports` collection 的 deltas,但是人们对它的兴致还没有那么高。 [[mirrors-ctm]] === CTM 镜像 <>/FreeBSD 可以在下面的镜像站点通过匿名 FTP 下载。如果您选择通过匿名 FTP 获取 CTM, 请试着使用一个离您较近的站点。 如果有问题,请联系 link:{ctm-users-url}[ctm-users-desc] 邮件列表。 加利福尼亚州,旧金山湾区,官方源代码:: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] 南非,旧的 deltas 的备份服务器:: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] 中国台湾:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] 如果您在您附近找不到镜像或者镜像不完整, 试着使用搜索引擎比如 http://www.alltheweb.com/[alltheweb]. [[cvsup]] == 使用 CVSup [[cvsup-intro]] === 概述 CVSup 是一个用于从远程服务器主机上的主 CVS 仓库发布和升级源代码树的软件包。 FreeBSD 的源代码维护在加利福尼亚州一台主开发服务器的 CVS 仓库里。 有了 CVSup, FreeBSD 用户可以很容易的保持他们自己的源代码树更新。 CVSup 使用所谓的升级 _pull_ 模式。在 pull 模式下,客户端在需要的时候向服务器端请求更新。 服务器被动的等待客户端的升级请求。 因此所有的升级都是客户端发起的。 服务器决不会发送未请求的升级。用户必须手动运行 CVSup 客户端获取更新, 或者设置一个 `cron` 作业来让它以固定的规律自动运行。 术语 CVSup用大写字母写正是表示, 代表了完整的软件包。 它的主要组件是运行在每个用户机器上的客户端 `cvsup`, 和运行在每个 FreeBSD 镜像站点上的服务器端 `cvsupd`。 当您阅读 FreeBSD 文档和邮件列表时,您可能会看见 sup。 Sup 是 CVSup 的前身,有着相似的目的。 CVSup 使用很多和 sup 相同的方式, 而且, 它还是用使用和 `sup` 的兼容的配置文件。 Sup 已经不再被 FreeBSD 项目使用了, 因为 CVSup 既快又有更好的灵活性。 [NOTE] ==== csup 是用 C 语言对 CVSup 软件的重写。 它最大的好处是, 这个程序更快一些, 并且也不需要依赖于 Modula-3 语言, 因此也就不需要安装后者。 另外, 您可以直接使用它, 因为它是基本系统的一部分。 假如您决定使用 csup, 则可以跳过安装 CVSup 这一步, 并在文章中余下部分提到的 CVSup 改为 csup。 ==== [[cvsup-install]] === 安装 安装 CVSup 最简单的方式就是使用 FreeBSD crossref:ports[ports,packages collection] 中预编译的 package:net/cvsup[] 包。 如果您想从源代码构建 CVSup, 您可以使用 package:net/cvsup[] port。但是预先警告一下: package:net/cvsup[] port 依赖于 Modula-3 系统,会花费相当的时间和磁盘空间来下载编译。 [NOTE] ==== 如果想在没有安装 Xorg 的计算机, 例如服务器上使用 CVSup, 则只能使用不包含 CVSupGUI 的 package:net/cvsup-without-gui[]。 ==== [[cvsup-config]] === CVSup 配置 CVSup 的操作被一个叫做 [.filename]#supfile# 的配置文件所控制。 在目录 link:file://localhost/usr/shared/examples/cvsup/[/usr/shared/examples/cvsup/] 下面有一些示例的 [.filename]#supfiles#。 [.filename]#supfile# 中的信息解答了 CVSup 下面的几个问题: * <> * <> * <> * <> * <> 在下面的章节里,我们通过依次回答这些问题来创建一个典型的 [.filename]#supfile# 文件。首先,我们描述一下 [.filename]#supfile# 的整体构成。 [.filename]#supfile# 是个文本文件。注释用 `#` 开头,至行尾有效。 空行和只包含注释的行会被忽略。 每个保留行描述一批用户希望接收的文件。 每行以 "collection", 由服务器端定义的合理的文件分组,的名字开头。 collection 的名字告诉服务器您想要的文件。 collection 名字结束或者有更多的字段,用空格分隔。 这些字段回答了上面列出的问题。 字段类型有两种:标记字段和值字段。 标记字段由独立的关键字组成,比如, `delete` 或者 `compress`。值字段也用关键字开头, 关键字后面跟 `=` 和第二个词而没有空格。 例如,`release=cvs` 是一个值字段。 一个典型的 [.filename]#supfile# 往往接收多于一个的 collection。创建 [.filename]#supfile# 的一种方式是明确的为每一个 collection 指定相关的字段。然而,这样使得 [.filename]#supfile# 的行变得特别长,很不方便, 因为 [.filename]#supfile# 中的所有 collection 的大部分 字段都是相同的。 CVSup 提供了一个默认机制来避免 这些问题。用特定的伪 collection 名 `*default` 开头的行可以被用来设置标记和值为 [.filename]#supfile# 中随后的 collection 中的默认值。 默认值可以通过为这个 collection 自身指定不同的值来对单个的 collection 覆盖设置, 也可以在 mid-supfile 中通过附加的 `*default` 行改变或扩充。 知道了这些,我们现在就可以开始创建一个 用于接收和升级 crossref:cutting-edge[current,FreeBSD-CURRENT] 主源代码树的 [.filename]#supfile# 文件了。 * [[cvsup-config-files]]您想接收哪些文件? + 通过 CVSup 可用的文件组织成叫做 "collections" 的名称组。 这些可用的 collection 在 <> 中描述。 在这个例子里, 我们希望接收 FreeBSD 系统的完整的主代码树。 有一个单独的大的 collection `src-all` 让我们完成这个。 创建我们的 [.filename]#supfile# 的第一步, 我们简单的列出这些 collection,每个一行(在这个例子里, 只有一行): + [.programlisting] .... src-all .... * [[cvsup-config-vers]]您想要他们的 哪个版本? + 通过 CVSup,您实际上可以接收 曾经存在的源代码的任何版本。 这是有可能的,因为 cvsupd 服务器直接通过 CVS 仓库工作,那包含了所有的版本。您可以 用 `tag=` 和 `date=` 值字段 指定一个您想要的版本。 + [WARNING] ==== 仔细的正确指定任何 `tag=` 字段。有一些 tag 只对特定的 collection 文件合法。 如果您指定了一个不正确的或者 拼写错误的 tag,CVSup 会删除您可能不想删除的文件。 特别地,对 `ports-*` collection __只__使用 `tag=.`。 ==== + `tag=` 字段在仓库中表示为一个符号标签。 有两种标签,修订标签和分支标签。 修订标签代表一个特定的修订版本。 它的含义是一成不变的。 分支标签,另一方面,代表给定开发线上给定时间的最新修订。 因为分支标签不代表一个特定的修订版本, 它明天的含义就可能和今天的有所不同。 + <> 包含了用户可能感兴趣的分支标签。 当在 CVSup 的配置文件中指定标签的时候,必须用 `tag=` 开头 (`RELENG_8` 会变成 `tag=RELENG_8`)。 记住只有 `tag=.` 可以用于 Ports Collection。 + [WARNING] ==== 注意像看到的那样正确的输入标签名。 CVSup 不能辨别合法和不合法标签。 如果您拼写错了标签名, CVSup 会像您指定了一个没有任何文件的合法标签一样工作, 那会删除您已经存在的代码。 ==== + 当您指定一个分支标签的时候,您通常会收到开发线上文件的最新版本。 如果您希望接收一些过时的版本,您可以通过用 `date=` 值字段指定一个日期来做到。 man:cvsup[1] 手册页解释了如何来做。 + 对于我们的示例来说,我们希望接收 FreeBSD-CURRENT。 我们在我们的 [.filename]#supfile# 的开头添加这行: + [.programlisting] .... *default tag=. .... + 有一个重要的特例, 如果您既没指定 `tag=` 字段也没指定 `date=` 字段的情况。这种情况下, 您会收到直接来自于服务器 CVS 仓库的真实的 RCS 文件, 而不是某一特定版本。 开发人员一般喜欢这种操作模式。 通过在他们的系统上维护一份仓库自身的副本, 他们可以浏览修订历史以及检查文件过去的版本。 然而,这个好处是以大量的磁盘空间为代价的。 * [[cvsup-config-where]]您想从哪里获取他们? + 我们使用 `host=` 字段来告诉 `cvsup` 从哪里获取更新。 任何一个 <>都可以, 虽然您应该选择一个离您比较近的站点。 在这个例子里我们将使用一个虚拟的 FreeBSD 发布站点, `cvsup99.FreeBSD.org`: + [.programlisting] .... *default host=cvsup99.FreeBSD.org .... + 您需要在运行 CVSup 之前把这个改成一个实际存在的站点。 在任何 `cvsup` 运行的特定时刻, 您都可以在命令行上使用 `-h _hostname_` 选项来覆盖主机设置。 * [[cvsup-config-dest]]您想把它们放在 您自己机器的什么地方? + `prefix=` 字段告诉 `cvsup` 把接收的文件放在哪里。 在这个例子里,我们把源代码文件直接放进我们的主源代码树, [.filename]#/usr/src#。 [.filename]#src# 目录已经隐含在我们选择接收的 collection 里了, 所以正确的写法是: + [.programlisting] .... *default prefix=/usr .... * [[cvsup-config-status]]`cvsup` 在哪里维护它的状态文件? + CVSup 客户端在被叫做 "base" 的目录里维护了几个状态文件。 这些文件帮助 CVSup 更有效的工作, 通过跟踪您已经接收到哪些更新的方式。 我们将使用标准的 base 目录, [.filename]#/var/db#: + [.programlisting] .... *default base=/var/db .... + 如果您的 base 目录还不存在,现在最好创建它。 如果 base 目录不存在,`cvsup` 客户端会拒绝工作。 * 其他的 [.filename]#supfile# 设置: + 在 [.filename]#supfile# 中有一些其他选项需要介绍一下: + [.programlisting] .... *default release=cvs delete use-rel-suffix compress .... + `release=cvs` 显示服务器应该从 FreeBSD 的主 CVS 仓库中获取信息。 事实上总是这样的,但是也有可能会超出这个讨论的范围。 + `delete` 给 CVSup 权限删除文件。 您应该总是指定这个,这样 CVSup 可以保证您的源代码树完全更新。CVSup 很小心的只删除那些不再依赖的文件。 您拥有的任何额外的文件会被严格的保留。 + `use-rel-suffix` 是 ... 不可思议的。 如果您真的想了解它,查看 man:cvsup[1] 手册页。 否则,就指定而不用担心这个。 + `compress` 启用 gzip 风格的信道压缩。 如果您的网络连接是 T1 或者更快, 您可能不想使用压缩。 否则,它非常有帮助。 * 把它们放在一起: + 这是我们的示例的完整 [.filename]#supfile# 文件: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== [.filename]#refuse# 文件 像上面提到的,CVSup 使用一种 _pull 方法_。基本上,这意味着您要连接到 CVSup 服务器,服务器说, "这有些您能下载的东西 ...",然后您的客户端反应"好,我要这个, 这个,这个,还有这个。"在默认的配置中, CVSup 客户端会取回您在配置文件中选定的 collection 和标签的每个文件。 然而,并不总是您想要的, 尤其是您在同步 [.filename]#doc#,[.filename]#ports#,或者 [.filename]#www# 树 - 大部分人都不能阅读四种或者五种 语言,因此他们不需要下载特定语言的文件。 如果您在 CVSup Ports Collection,您 可以通过单独指定每个 collection 来避免这个 (比如,_ports-astrology_, _ports-biology_,等等取代简单的说明 _ports-all_)。然而,因为 [.filename]#doc# 和 [.filename]#www# 树没有特定语言的 collection,您必须 使用 CVSup 许多极好的特性之一: [.filename]#refuse# 文件。 [.filename]#refuse# 文件本质上是告诉 CVSup 它不应该从 collection 中取得某些文件;换句话说,它告诉客户端 _拒绝_ 来自服务器的特定的文件。 [.filename]#refuse# 文件可以在 [.filename]#base/sup/# 中找到(或者,如果您没有,应该创建一个)。 _base_ 在您的 [.filename]#supfile# 中定义; 默认情况下,_base_ 就是 [.filename]#/var/db#, 这意味着默认的 [.filename]#refuse# 文件就是 [.filename]#/var/db/sup/refuse#。 [.filename]#refuse# 文件的格式很简单; 它仅仅包含您不希望下载的文件和目录名。 例如,如果您除了英语和德语之外不会讲其他语言, 而且也不打算阅读德文的文档翻译版本, 则可以把下面这些放在您的 [.filename]#refuse# 文件里: [source,shell] .... doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/hu_* doc/it_* doc/ja_* doc/mn_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* .... 等等其他语言(您可以通过浏览 http://www.FreeBSD.org/cgi/cvsweb.cgi/[FreeBSD CVS 仓库]找到完整的列表)。 有这个非常有用的特性,那些慢速连接或者要为他们的 Internet 连接按时付费的用户就可以节省宝贵的时间因为他们不再需要 下载那些从来不用的文件。要了解 [.filename]#refuse# 文件的更多信息以及其它 CVSup 的优雅的特性,请浏览它的 手册页。 === 运行 CVSup 您现在准备尝试升级了。命令很简单: [source,shell] .... # cvsup supfile .... [.filename]#supfile# 的位置当然就是您刚刚创建的 [.filename]#supfile# 文件名啦。 如果您在 X11 下面运行,`cvsup` 会显示一个有一些可以做平常事情的按钮的 GUI 窗口。 按 btn:[go] 按钮,然后看着它运行。 在这个例子里您将要升级您目前的 [.filename]#/usr/src# 树,您将需要 用 `root` 来运行程序,这样 `cvsup` 有需要的权限来更新您的文件。 刚刚创建了您的配置文件,又从来没有使用过这个程序, 紧张不安是可以理解的。有一个简单的方法不改变您当前的文件 来做一次试验性的运行。只要在方便的地方创建一个 空目录,并在命令行上作为一个额外的参数说明: [source,shell] .... # mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest .... 您指定的目录会作为所有文件更新的目的路径。 CVSup 会检查您在 [.filename]#/usr/src# 中的文件,但是不会修改或 删除。任何文件更新都会被放到 [.filename]#/var/tmp/dest/usr/src# 里了。 在这种方式下运行 CVSup 也会把它的 base 目录状态文件保持原样。这些文件的新版本 会被写到指定的目录。 因为您有 [.filename]#/usr/src# 目录的读权限,所以执行这种试验性的运行 甚至不需要使用 `root` 用户。 如果您没有运行 X11 或者不喜欢 GUI, 当您运行 `cvsup` 的时候需要在命令行添加 两个选项: [source,shell] .... # cvsup -g -L 2 supfile .... `-g` 告诉 CVSup 不要使用 GUI。如果您 没在运行 X11 这个是自动的,否则您必须指定它。 `-L 2` 告诉 CVSup 输出所有正在升级的文件的细节。 有三个等级可以选择,从 `-L 0` 到 `-L 2`。默认是 0,意味着除了错误消息 什么都不输出。 还有许多其它的选项可用。想要一个简短的列表, 输入 `cvsup -H`。要查看更详细的描述, 请查看手册页。 一旦您对升级工作的方式满意了,您就 可以使用 man:cron[8] 来安排规则的运行 CVSup。 很显然的,您不应该让 CVSup 通过 man:cron[8] 运行的时候使用它的 GUI。 [[cvsup-collec]] === CVSup 文件 collection CVSup 可用的文件 collection 是分级组织的。 有几个大的 collection,然后它们有分成更小的子 collection。接收一个大的 collection 等同于 接收它的每一个子 collection。 collection 的等级关系在下面列表中通过缩进的使用 反映出来。 最常用的 collection 是 `src-all`,和 `ports-all`。其它的 collection 只被有着特定 目的的小部分人使用, 有些站点可能不全部支持。 `cvs-all release=cvs`:: FreeBSD 主 CVS 仓库,包含 密码系统的代码。 `distrib release=cvs`::: FreeBSD 发行版本和镜像相关的 文件。 `doc-all release=cvs`::: FreeBSD 使用手册和其它文档的源代码。 其中不包含 FreeBSD web 站点的文件。 `ports-all release=cvs`::: FreeBSD Ports Collection。 + [IMPORTANT] ==== 如果您不想升级全部的 `ports-all`(整个 ports 树), 而只是使用下面列出的一个子集, 请确保您__总是__升级了 `ports-base` 子 collection! 无论何时在 ports 构建下层构造有所改变的时候都会通过 `ports-base` 表现出来,事实上某些 改变会很快的被"实际的" ports 使用,因此,如果您只升级了 "实际的" ports 而他们使用了一些新的特性, 就有极大的可能编译会因一些神秘的错误信息而失败。 这种情况下__非常快速的__要做的事情 就是确保您的 `ports-base` 子 collection 更新到 最新。 ==== + [IMPORTANT] ==== 要自行构建 [.filename]#ports/INDEX#, 您 _必须_ 接受 `ports-all` (完整的 ports tree)。 在部分 ports tree 上构建 [.filename]#ports/INDEX# 是不被支持的。 请参见 link:{faq}#applications/#MAKE-INDEX[ FAQ]。 ==== `ports-accessibility release=cvs`:::: 用以帮助残疾用户的软件。 `ports-arabic release=cvs`:::: 阿拉伯语支持。 `ports-archivers release=cvs`:::: 存档工具。 `ports-astro release=cvs`:::: 天文相关的 ports。 `ports-audio release=cvs`:::: 声音支持。 `ports-base release=cvs`:::: Ports Collection 构建下部构造 - 位于 [.filename]#/usr/ports# 的 [.filename]#Mk/# 和 [.filename]#Tools/# 子目录的 各种各样的文件。 + [NOTE] ==== 请查看<>:您应该 __总是__更新这个 子 collection,无论您更新 FreeBSD Ports Collection 的任何部分的时候! ==== `ports-benchmarks release=cvs`:::: 基准。 `ports-biology release=cvs`:::: 生物学。 `ports-cad release=cvs`:::: 计算机辅助设计工具。 `ports-chinese release=cvs`:::: 中文语言支持。 `ports-comms release=cvs`:::: 通信软件。 `ports-converters release=cvs`:::: 字符编码转换。 `ports-databases release=cvs`:::: 数据库 `ports-deskutils release=cvs`:::: 计算机发明前常出现在桌面上的东西。 `ports-devel release=cvs`:::: 开发工具。 `ports-dns release=cvs`:::: DNS 相关软件。 `ports-editors release=cvs`:::: 编辑器 `ports-emulators release=cvs`:::: 其它操作系统的模拟器 `ports-finance release=cvs`:::: 货币,金融相关应用程序。 `ports-ftp release=cvs`:::: FTP 客户端和服务器端工具。 `ports-games release=cvs`:::: 游戏 `ports-german release=cvs`:::: 德语支持。 `ports-graphics release=cvs`:::: 图形图像工具。 `ports-hebrew release=cvs`:::: 希伯来语支持。 `ports-hungarian release=cvs`:::: 匈牙利语言支持。 `ports-irc release=cvs`:::: Internet 多线交谈(IRC)工具。 `ports-japanese release=cvs`:::: 日语支持。 `ports-java release=cvs`:::: Java(TM) 工具。 `ports-korean release=cvs`:::: 韩国语言支持。 `ports-lang release=cvs`:::: 编程语言。 `ports-mail release=cvs`:::: 邮件软件。 `ports-math release=cvs`:::: 数值计算软件。 `ports-misc release=cvs`:::: 杂样工具。 `ports-multimedia release=cvs`:::: 多媒体软件。 `ports-net release=cvs`:::: 网络软件。 `ports-net-im release=cvs`:::: 即时消息软件。 `ports-net-mgmt release=cvs`:::: 网管软件。 `ports-net-p2p release=cvs`:::: 对等网 (peer to peer network) 应用。 `ports-news release=cvs`:::: USENET 新闻软件。 `ports-palm release=cvs`:::: Palm(TM) 系列软件支持。 `ports-polish release=cvs`:::: 波兰语支持。 `ports-ports-mgmt release=cvs`:::: 用于管理 ports 和预编译包的工具。 `ports-portuguese release=cvs`:::: 葡萄牙语支持。 `ports-print release=cvs`:::: 打印软件。 `ports-russian release=cvs`:::: 俄语支持。 `ports-science release=cvs`:::: 科学计算。 `ports-security release=cvs`:::: 安全工具。 `ports-shells release=cvs`:::: 命令行 shell。 `ports-sysutils release=cvs`:::: 系统实用工具。 `ports-textproc release=cvs`:::: 文本处理工具(不 包含桌面出版)。 `ports-ukrainian release=cvs`:::: 乌克兰语支持。 `ports-vietnamese release=cvs`:::: 越南语支持。 `ports-www release=cvs`:::: 万维网(WWW)相关软件。 `ports-x11 release=cvs`:::: 支持 X window 系统的 ports。 `ports-x11-clocks release=cvs`:::: X11 时钟。 `ports-x11-drivers release=cvs`:::: X11 驱动程序。 `ports-x11-fm release=cvs`:::: X11 文件管理器。 `ports-x11-fonts release=cvs`:::: X11 字体和字体工具。 `ports-x11-toolkits release=cvs`:::: X11 工具包。 `ports-x11-servers release=cvs`:::: X11 服务器。 `ports-x11-themes release=cvs`:::: X11 主题。 `ports-x11-wm release=cvs`:::: X11 窗口管理器。 `projects-all release=cvs`::: FreeBSD 内部项目的代码库。 `src-all release=cvs`::: FreeBSD 主代码,包含密码系统的代码。 `src-base release=cvs`:::: [.filename]#/usr/src# 顶层的各式各样的文件。 `src-bin release=cvs`:::: 单用户模式下可能用到的用户工具 ([.filename]#/usr/src/bin#)。 `src-cddl release=cvs`:::: 采用了 CDDL 授权的实用工具和函数库 ([.filename]#/usr/src/cddl#)。 `src-contrib release=cvs`:::: FreeBSD 项目之外的工具和库,通常在 FreeBSD 中不作修改 ([.filename]#/usr/src/contrib#)。 `src-crypto release=cvs`:::: FreeBSD 项目之外的 密码系统工具和库,通常在 FreeBSD 中不作修改 ([.filename]#/usr/src/crypto#)。 `src-eBones release=cvs`:::: Kerberos 和 DES ([.filename]#/usr/src/eBones#)。 目前的 FreeBSD 中不再使用使用。 `src-etc release=cvs`:::: 系统配置文件 ([.filename]#/usr/src/etc#)。 `src-games release=cvs`:::: 游戏 ([.filename]#/usr/src/games#)。 `src-gnu release=cvs`:::: GNU 公共许可协议的工具 ([.filename]#/usr/src/gnu#)。 `src-include release=cvs`:::: 头文件 ([.filename]#/usr/src/include#)。 `src-kerberos5 release=cvs`:::: Kerberos5 安全包 ([.filename]#/usr/src/kerberos5#)。 `src-kerberosIV release=cvs`:::: KerberosIV 安全包 ([.filename]#/usr/src/kerberosIV#)。 `src-lib release=cvs`:::: 库 ([.filename]#/usr/src/lib#)。 `src-libexec release=cvs`:::: 通常被其它程序调用的系统程序 ([.filename]#/usr/src/libexec#)。 `src-release release=cvs`:::: 生成 FreeBSD 版本必需的文件 ([.filename]#/usr/src/release#)。 `src-rescue release=cvs`:::: 用于紧急修复的静态联编的程序; 请参见 man:rescue[8] ([.filename]#/usr/src/rescue#)。 `src-sbin release=cvs`:::: 单用户模式的系统工具 ([.filename]#/usr/src/sbin#)。 `src-secure release=cvs`:::: 密码相关库和命令 ([.filename]#/usr/src/secure#)。 `src-share release=cvs`:::: 跨多个平台的共享的文件 ([.filename]#/usr/src/share#)。 `src-sys release=cvs`:::: 内核 ([.filename]#/usr/src/sys#)。 `src-sys-crypto release=cvs`:::: 内核密码系统代码 ([.filename]#/usr/src/sys/crypto#)。 `src-tools release=cvs`:::: 维护 FreeBSD 的各种各样的工具 ([.filename]#/usr/src/tools#)。 `src-usrbin release=cvs`:::: 用户工具 ([.filename]#/usr/src/usr.bin#)。 `src-usrsbin release=cvs`:::: 系统工具 ([.filename]#/usr/src/usr.sbin#)。 `www release=cvs`::: FreeBSD WWW 站点的源代码。 `distrib release=self`:: CVSup 服务器的 配置文件。用于 CVSup 镜像站点。 `gnats release=current`:: GNATS bug 跟踪数据库。 `mail-archive release=current`:: FreeBSD 邮件列表存档。 `www release=current`:: 预处理过的 FreeBSD WWW 站点文件(不是源文件)。 用于 WWW 镜像站点。 === 更多信息 CVSup FAQ 以及关于 CVSup 的其他信息, 请查看 http://www.cvsup.org[CVSup 主页]。 多数与 FreeBSD 有关的 CVSup 讨论会在 {freebsd-hackers} 进行。 这个软件的新版本会在那里和 {freebsd-announce} 公布。 如果对于 CVSup 有任何问题, 或希望提交 bug 报告, 请参阅 http://www.cvsup.org/faq.html#bugreports[ CVSup FAQ]。 [[cvsup-mirrors]] === CVSup 站点 FreeBSD 的 <> 服务器运行于 下列站点: [[cvs-tags]] == CVS 标签 当使用 cvs 或者 CVSup 获取和升级源代码的时候,必须指定一个修订标签。 修订标签代表 FreeBSD 开发的一个特定分支, 或者一个特定的时间点。第一种叫做 "分支标签",第二种叫做 "版本标签"。 === 分支标签 所有这些,除了 `HEAD` (这个总是 合法标签)以外,只适用于 [.filename]#src/# 树。[.filename]#ports/#,[.filename]#doc/#,和 [.filename]#www/# 树没有分支。 HEAD:: 主线的符号名,或者说 FreeBSD-CURRENT。 当没有指定修订版本的时候也是默认的。 + 在 CVSup 里,这个标签通过 一个 `.` 来反映出来(不是标点,而是一个 `.` 字符)。 + [NOTE] ==== 在 CVS 里,当没有修订标签指定时这是默认的。 在一台 STABLE 机器上检出或者升级到 CURRENT 源代码 通常__不是__ 一个好主意,除非这是您的本意。 ==== RELENG_8:: 这是 FreeBSD-8.X 的开发分支, 也被称作 FreeBSD 8-STABLE。 RELENG_8_2:: 这是 FreeBSD-8.2 发行版分支,只用于安全公告, 以及其他重要更新。 RELENG_8_1:: FreeBSD-8.1 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_8_0:: FreeBSD-8.0 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_7:: 这是 FreeBSD-7.X 的开发分支, 也被称作 FreeBSD 7-STABLE。 RELENG_7_4:: FreeBSD-7.4 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_7_3:: FreeBSD-7.3 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_7_2:: FreeBSD-7.2 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_7_1:: FreeBSD-7.1 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_7_0:: FreeBSD-7.0 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_6:: 这是 FreeBSD-6.X 的开发分支, 也被称作 FreeBSD 6-STABLE。 RELENG_6_4:: FreeBSD-6.4 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_6_3:: FreeBSD-6.3 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_6_2:: FreeBSD-6.2 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_6_1:: FreeBSD-6.1 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_6_0:: FreeBSD-6.0 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_5:: 这是 FreeBSD-5.X 的开发分支, 也被称作 FreeBSD 5-STABLE。 RELENG_5_5:: FreeBSD-5.5 安全分支。 只被安全公告和其它重要更新使用。 RELENG_5_4:: FreeBSD-5.4 安全分支。 只被安全公告和其它重要更新使用。 RELENG_5_3:: FreeBSD-5.3 安全分支。 只被安全公告和其它重要更新使用。 RELENG_5_2:: 针对 FreeBSD-5.2 和 FreeBSD-5.2.1 的安全分支, 只被安全公告和其它重要更新使用。 RELENG_5_1:: 针对 FreeBSD-5.1 的发行版本分支, 只被安全公告和其它重要更新使用。 RELENG_5_0:: 针对 FreeBSD-5.0 的发行版本分支, 只被安全公告和其它重要更新使用。 RELENG_4:: FreeBSD-4.X 开发线,也被叫做 FreeBSD-STABLE。 RELENG_4_11:: FreeBSD-4.11 安全分支。 只被安全公告和其它重要更新使用。 RELENG_4_10:: FreeBSD-4.10 安全分支。 只被安全公告和其它重要更新使用。 RELENG_4_9:: FreeBSD-4.9 安全分支。 只被安全公告和其它重要更新使用。 RELENG_4_8:: FreeBSD-4.8 安全分支。 只被安全公告和其它重要更新使用。 RELENG_4_7:: FreeBSD-4.7 安全分支。 只被安全公告和其它重要更新使用。 RELENG_4_6:: FreeBSD-4.6 和 4.6.2 的安全分支。 只被安全公告和其它重要更新使用。 RELENG_4_5:: FreeBSD-4.5 安全分支。 只被安全公告和其它重要更新使用。 RELENG_4_4:: FreeBSD-4.4 安全分支。 只被安全公告和其它重要更新使用。 RELENG_4_3:: FreeBSD-4.3 安全分支。 只被安全公告和其它重要更新使用。 RELENG_3:: FreeBSD-3.X 的开发线,也被叫做 3.X-STABLE。 RELENG_2_2:: FreeBSD-2.2.X 的开发线, 也被叫做 2.2-STABLE。 这个分支基本上已经过时了。 === 版本标签 当一个特定的 FreeBSD 版本发行时, 这些标签代表了一个指定的时间点。发布工程进程在 link:https://www.FreeBSD.org/releng/[Release Engineering Information] 和 link:{releng}#release-proc/[Release Process] 文档中被详细描述。 [.filename]#src# 树使用以 `RELENG_` 开头的标签。 [.filename]#ports# 和 [.filename]#doc# 树使用以 `RELEASE` 开头的标签。 最后, [.filename]#www# 树上不会有任何特定发行版的标签。 RELENG_8_2_0_RELEASE:: FreeBSD 8.2 RELENG_8_1_0_RELEASE:: FreeBSD 8.1 RELENG_8_0_0_RELEASE:: FreeBSD 8.0 RELENG_7_4_0_RELEASE:: FreeBSD 7.4 RELENG_7_3_0_RELEASE:: FreeBSD 7.3 RELENG_7_2_0_RELEASE:: FreeBSD 7.2 RELENG_7_1_0_RELEASE:: FreeBSD 7.1 RELENG_7_0_0_RELEASE:: FreeBSD 7.0 RELENG_6_4_0_RELEASE:: FreeBSD 6.4 RELENG_6_3_0_RELEASE:: FreeBSD 6.3 RELENG_6_2_0_RELEASE:: FreeBSD 6.2 RELENG_6_1_0_RELEASE:: FreeBSD 6.1 RELENG_6_0_0_RELEASE:: FreeBSD 6.0 RELENG_5_5_0_RELEASE:: FreeBSD 5.5 RELENG_5_4_0_RELEASE:: FreeBSD 5.4 RELENG_4_11_0_RELEASE:: FreeBSD 4.11 RELENG_5_3_0_RELEASE:: FreeBSD 5.3 RELENG_4_10_0_RELEASE:: FreeBSD 4.10 RELENG_5_2_1_RELEASE:: FreeBSD 5.2.1 RELENG_5_2_0_RELEASE:: FreeBSD 5.2 RELENG_4_9_0_RELEASE:: FreeBSD 4.9 RELENG_5_1_0_RELEASE:: FreeBSD 5.1 RELENG_4_8_0_RELEASE:: FreeBSD 4.8 RELENG_5_0_0_RELEASE:: FreeBSD 5.0 RELENG_4_7_0_RELEASE:: FreeBSD 4.7 RELENG_4_6_2_RELEASE:: FreeBSD 4.6.2 RELENG_4_6_1_RELEASE:: FreeBSD 4.6.1 RELENG_4_6_0_RELEASE:: FreeBSD 4.6 RELENG_4_5_0_RELEASE:: FreeBSD 4.5 RELENG_4_4_0_RELEASE:: FreeBSD 4.4 RELENG_4_3_0_RELEASE:: FreeBSD 4.3 RELENG_4_2_0_RELEASE:: FreeBSD 4.2 RELENG_4_1_1_RELEASE:: FreeBSD 4.1.1 RELENG_4_1_0_RELEASE:: FreeBSD 4.1 RELENG_4_0_0_RELEASE:: FreeBSD 4.0 RELENG_3_5_0_RELEASE:: FreeBSD-3.5 RELENG_3_4_0_RELEASE:: FreeBSD-3.4 RELENG_3_3_0_RELEASE:: FreeBSD-3.3 RELENG_3_2_0_RELEASE:: FreeBSD-3.2 RELENG_3_1_0_RELEASE:: FreeBSD-3.1 RELENG_3_0_0_RELEASE:: FreeBSD-3.0 RELENG_2_2_8_RELEASE:: FreeBSD-2.2.8 RELENG_2_2_7_RELEASE:: FreeBSD-2.2.7 RELENG_2_2_6_RELEASE:: FreeBSD-2.2.6 RELENG_2_2_5_RELEASE:: FreeBSD-2.2.5 RELENG_2_2_2_RELEASE:: FreeBSD-2.2.2 RELENG_2_2_1_RELEASE:: FreeBSD-2.2.1 RELENG_2_2_0_RELEASE:: FreeBSD-2.2.0 [[mirrors-afs]] == AFS 站点 FreeBSD 的 AFS 服务器运行于下面的站点: 瑞典:: 文件的路径是: [.filename]#/afs/stacken.kth.se/ftp/pub/FreeBSD/# + [.programlisting] .... stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se .... + 维护者 mailto:ftp@stacken.kth.se[ftp@stacken.kth.se] [[mirrors-rsync]] == rsync 站点 下面的站点让 FreeBSD 可以通过 rsync 协议下载。 rsync 实用程序和 man:rcp[1] 的工作方式很相像, 但是有更多的选项,使用 rsync 远程更新协议只传输 两份文件的不同之处, 因此能够大幅度的提高网络同步速率。 如果您是 FreeBSD FTP 服务器或者 CVS 仓库的镜像站点, 这一点非常有用。 rsync 套件可以工作在许多种 操作系统上,在 FreeBSD 上,查看 package:net/rsync[] port 或者使用 package。 捷克共和国:: rsync://ftp.cz.FreeBSD.org/ + 可用的 collection: ** ftp: FreeBSD FTP 服务器的 部分镜像。 ** FreeBSD: FreeBSD FTP 服务器的 完整镜像。 荷兰:: rsync://ftp.nl.FreeBSD.org/ + 可用的 collection: ** FreeBSD: 对于 FreeBSD FTP 服务器的完整镜像。 俄罗斯:: rsync://ftp.mtu.ru/ + 可用的 collections: ** FreeBSD: 完整的 FreeBSD FTP 服务器镜像。 ** FreeBSD-gnats: GNATS 问题追踪数据库。 ** FreeBSD-Archive: FreeBSD 档案的 FTP 服务器镜像。 瑞典:: rsync://ftp4.se.freebsd.org/ + 可用的 collections: ** FreeBSD: FreeBSD FTP 服务器的完整镜像。 台湾地区 (中国):: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + 可用的 collection: ** FreeBSD: FreeBSD FTP 服务器的完整镜像。 英国:: rsync://rsync.mirrorservice.org/ + 可用的 collection: ** sites/ftp.FreeBSD.org: FreeBSD FTP 服务器 的完整镜像。 美国:: rsync://ftp-master.FreeBSD.org/ + 服务器只供 FreeBSD 主镜像站点使用。 + 可用的 collection: ** FreeBSD:FreeBSD FTP 服务器的主要存档。 ** acl:FreeBSD 主 ACL 列表。 + rsync://ftp13.FreeBSD.org/ + 可用的 collection: ** FreeBSD:FreeBSD FTP 服务器的完整 镜像。 diff --git a/documentation/content/zh-tw/books/handbook/mirrors/_index.adoc b/documentation/content/zh-tw/books/handbook/mirrors/_index.adoc index 0e16954cc1..6f8a241032 100644 --- a/documentation/content/zh-tw/books/handbook/mirrors/_index.adoc +++ b/documentation/content/zh-tw/books/handbook/mirrors/_index.adoc @@ -1,602 +1,601 @@ --- title: 附錄 A. 取得 FreeBSD part: 部 V. 附錄 prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = 取得 FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: 目录 :table-caption: 表 :figure-caption: 图 :example-caption: 例 :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/zh-tw/mailing-lists.adoc[] include::shared/zh-tw/urls.adoc[] include::shared/zh-tw/teams.adoc[] [[mirrors-cdrom]] == CD 與 DVD 合集 FreeBSD CD 以及 DVD 組可從以下幾個線上零售商取得: * FreeBSD Mall, Inc. + 2420 Sand Creek Rd C-1 #347 + Brentwood, CA + 94513 + USA + Phone: +1 925 240-6652 + Fax: +1 925 674-0821 + Email: + WWW: https://www.freebsdmall.com * Getlinux + 78 Rue de la Croix Rochopt + Épinay-sous-Sénart + 91860 + France + Email: + WWW: http://www.getlinux.fr/ * Dr. Hinner EDV + Kochelseestr. 11 + D-81371 München + Germany + Phone: (0177) 428 419 0 + Email: + WWW: http://www.hinner.de/linux/freebsd.html * Linux Center + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Phone: +7-812-309-06-86 + Email: + WWW: http://linuxcenter.ru/shop/freebsd [[mirrors-ftp]] == FTP 站 FreeBSD 的官方原始碼可從全球任一鏡像站透過匿名 FTP 取得。其中 link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] 站可使用 HTTP 及 FTP,該站是由多台由計畫叢集管理員所維護的主機所組成,且在 GeoDNS 之後,可導向使用者到最近可用的鏡像站。 除此之外,FreeBSD 也可透過匿名 FTP 從下列鏡像站取得。要透過匿名 FTP 取得 FreeBSD 時,請先嘗試使用臨近的站台。列在 "主要鏡像站" 中的鏡像站通常會有完整的 FreeBSD 封存檔 (每一個架構目前所有可用的版本),但若要考慮下載速度,可能要使用您所在國家或區域的站台。區域的站台會有熱門架構最近期的版本,但不會有完整的 FreeBSD 封存檔。所有站台皆提供匿名 FTP 存取只有部份站台會以其他方式提供存取。每個站台可用的存取方式會列在主機名稱後的括號當中。 <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) -* {mirrors-russia-ftp4} (ftp) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[svn]] == 使用 Subversion [[svn-intro]] === 簡介 自 2012 年 7 月起,FreeBSD 儲存所有 FreeBSD 的原始碼、文件與 Port 套件集均使用 Subversion 作為其唯一的版本控制系統。 [NOTE] ==== Subversion 只是一套開發人員工具。一般使用者可能會較喜歡使用 `freebsd-update` (crossref:cutting-edge[updating-upgrading-freebsdupdate,FreeBSD 更新]) 來更新 FreeBSD 基礎系統及 `portsnap` (crossref:ports[ports-using,使用 Port 套件集]) 來更新 FreeBSD Port 套件集。 ==== 本節將示範如何在 FreeBSD 系統安裝 Subversion 以及使用它建立一個本地的 FreeBSD 檔案庫複本,也包含使用 Subversion 的其他資訊。 [[svn-ssl-certificates]] === 根 SSL 憑證 安裝 package:security/ca_root_nss[] 可讓 Subversion 能夠驗証 HTTPS 檔案庫伺服器的身份。root SSL 憑証可從 Port 安裝: [source,shell] .... # cd /usr/ports/security/ca_root_nss # make install clean .... 或從套件: [source,shell] .... # pkg install ca_root_nss .... [[svn-svnlite]] === Svnlite 輕量化版的 Subversion `svnlite` 已會隨 FreeBSD 安裝。Port 或套件版的 Subversion 僅在要使用其 Python 或 Perl API 時需要,或是新想要使用最新版本 Subversion 時才需要。 與正常 Subversion 唯一的差別只是指令名稱改為 `svnlite`。 [[svn-install]] === 安裝 若無法使用 `svnlite` 或需要完整版本的 Subversion 就必須安裝。 Subversion 可從 Port 套件集安裝: [source,shell] .... # cd /usr/ports/devel/subversion # make install clean .... Subversion 也可以以套件安裝: [source,shell] .... # pkg install subversion .... [[svn-usage]] === 執行 Subversion 要下載原始碼乾淨的複本到本地目錄可使用 `svn`。在此目錄中的檔案稱作 _本地工作複本 (Local working copy)_。 [WARNING] ==== 在第一次使用 `checkout` 前請先移動或刪除目地現有的目錄。 在現有非 `svn` 目錄存在的情況下做取出 (Checkout) 的動作會導致現有檔案與檔案庫中的檔案發生衝突。 ==== Subversion 使用 URL 來指定檔案庫,使用的格式為 _protocol://hostname/path_。路徑的第一個部份為要存取的 FreeBSD 檔案庫,目前有三個檔案庫,`base` 為 FreeBSD 基礎系統原始碼、`ports` 為 Port 套件集以及 `doc` 為說明文件。舉例來說,URL `https://svn.FreeBSD.org/ports/head/` 代表 Port 檔案庫的主要分支,使用 `https` 通訊協定。 使用指令從指定的檔案庫取出 (Checkout) 原始碼如下: [source,shell] .... # svn checkout https://svn.FreeBSD.org/repository/branch lwcdir .... where: * _repository_ 要是下列專案檔案庫其中之一:`base`, `ports` 或 `doc`。 * _branch_ 則依據使用的檔案庫來決定。`ports` 與 `doc` 大部份的更新皆在 `head` 分支,而 `base` 則會將 -CURRENT 的最新版本存放在 `head` 下,-STABLE 分支各自最新的版本則會放在 `stable/9` (9._x_) 與 `stable/10` (10._x_) 下。 * _lwcdir_ 則是要存放指定分支內容的目標目錄,通常 `ports` 會置於 [.filename]#/usr/ports#,`base` 會置於 [.filename]#/usr/src# 以及 `doc` 會置於 [.filename]#/usr/doc#。 以下範例會使用 HTTPS 協定從 FreeBSD 的檔案庫取出 Port 套件集,並將本地工作複本放置於 [.filename]#/usr/ports#。若 [.filename]#/usr/ports# 已存在,且不是由 `svn` 所建立的,記得要在取出之前重新命名或刪除。 [source,shell] .... # svn checkout https://svn.FreeBSD.org/ports/head /usr/ports .... 由於首次取出的動作必須下載遠端檔案庫中完整的分支,會需要花費一段時間,請耐心等候。 首次取出之後,往後要更新本地工作複本可以執行: [source,shell] .... # svn update lwcdir .... 要更新上述範例所建立的 [.filename]#/usr/ports# 可執行: [source,shell] .... # svn update /usr/ports .... 因為只會傳輸有更新過的檔案,更新的動作會比取出還要快速。 另一種在取出之後更新本地工作複本的方式是透過 [.filename]#/usr/ports#, [.filename]#/usr/src# 以及 [.filename]#/usr/doc# 目錄所提供的 [.filename]#Makefile#。設定 `SVN_UPDATE` 並使用 `update` 目標。例如要更新 [.filename]#/usr/src#: [source,shell] .... # cd /usr/src # make update SVN_UPDATE=yes .... [[svn-mirrors]] === Subversion 鏡像站 FreeBSD Subversion 的檔案庫為: [.programlisting] .... svn.FreeBSD.org .... 這是可公開存取的鏡像站,使用了 GeoDNS 會自動選擇適合的後端伺服器。若要由瀏覽器檢視 Subversion 檔案庫可以使用 https://svnweb.FreeBSD.org/[https://svnweb.FreeBSD.org/]。 HTTPS is the preferred protocol, but the [.filename]#security/ca_root_nss# package will need to be installed in order to automatically validate certificates. === 取得更多資訊 要取得其他有關使用 Subversion 的資訊請參考 "Subversion Book",其書名為 http://svnbook.red-bean.com/[Version Control with Subversion] 或是 http://subversion.apache.org/docs/[Subversion Documentation]。 [[mirrors-rsync]] == 使用 rsync 這些站台讓 FreeBSD 可透過 rsync 通訊協定取得。rsync 工具只會傳輸兩個檔案集之間的差異,所以能夠大大的加快在網路上同步的速度,這對大多數 FreeBSD FTP 伺服器的鏡像站非常有用。rsync 在許多作業系統上也可以使用,在 FreeBSD 上請參考 package:net/rsync[] Port 或使用套件。 捷克 (Czech Republic):: rsync://ftp.cz.FreeBSD.org/ + 可用的檔案集: ** ftp: FreeBSD FTP 伺服器的部份鏡像。 ** FreeBSD: FreeBSD FTP 伺服器的完整鏡像。 荷蘭 (Netherlands):: rsync://ftp.nl.FreeBSD.org/ + 可用的檔案集: ** FreeBSD: FreeBSD FTP 伺服器的完整鏡像。 俄羅斯 (Russia):: rsync://ftp.mtu.ru/ + 可用的檔案集: ** FreeBSD: FreeBSD FTP 伺服器的完整鏡像。 ** FreeBSD-Archive: FreeBSD 封存 FTP 伺服器的鏡像。 瑞典 (Sweden):: rsync://ftp4.se.freebsd.org/ + 可用的檔案集: ** FreeBSD: FreeBSD FTP 伺服器的完整鏡像。 台灣 (Taiwan):: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + 可用的檔案集: ** FreeBSD: FreeBSD FTP 伺服器的完整鏡像。 英國 (United Kingdom):: rsync://rsync.mirrorservice.org/ + 可用的檔案集: ** ftp.freebsd.org: FreeBSD FTP 伺服器的完整鏡像。 美國 (USA):: rsync://ftp-master.FreeBSD.org/ + 此伺服器僅供 FreeBSD 主要鏡像站使用。 + 可用的檔案集: ** FreeBSD: FreeBSD FTP 伺服器的主要封存。 ** acl: FreeBSD 主要 ACL 清單。 + rsync://ftp13.FreeBSD.org/ + 可用的檔案集: ** FreeBSD: FreeBSD FTP 伺服器的完整鏡像。 :sectnums: :sectnumlevels: 6