---
title: Παράρτημα A. Που θα Βρείτε το FreeBSD
part: Μέρος V. Παραρτήματα
prev: books/handbook/partv
next: books/handbook/bibliography
showBookMenu: true
weight: 38
params:
  path: "/books/handbook/mirrors/"
---

[appendix]
[[mirrors]]
= Που θα Βρείτε το FreeBSD
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumoffset: A
:partnums:
:source-highlighter: rouge
:experimental:
:images-path: books/handbook/mirrors/

ifdef::env-beastie[]
ifdef::backend-html5[]
:imagesdir: ../../../../images/{images-path}
endif::[]
ifndef::book[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
toc::[]
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]

ifndef::env-beastie[]
toc::[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]

[[mirrors-cdrom]]
== Εκδόσεις σε CDROM και DVD

=== Retail Εκδόσεις

Το FreeBSD είναι διαθέσιμο ως εμπορικό προϊόν (FreeBSD CD, επιπρόσθετο λογισμικό, και τυπωμένη τεκμηρίωση) από διάφορους προμηθευτές:

* Frys Electronics +
WWW: http://www.frys.com/

=== CD και DVD διανομές

Το FreeBSD είναι διαθέσιμο σε CD και DVD για αγορά μέσω διαδικτύου από τους παρακάτω προμηθευτές:

* FreeBSD Mall, Inc. +
1164 Claremont Dr +
Brentwood, CA +
94513 +
USA +
Τηλέφωνο: +1 925 240-6652 +
Fax: +1 925 674-0821 +
Email: info@freebsdmall.com +
WWW: https://www.freebsdmall.com

* Getlinux +
WWW: https://www.getlinux.fr/

* Dr. Hinner EDV +
Schäftlarnstr. 10 // 4. Stock +
D-81371 München +
Germany +
Τηλέφωνο: +49 171 417 544 6 +
Email: infow@hinner.de +
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: <editors@lpmagazine.org> +
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: <info@linuxcenter.ru> +
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: <sales@kudzuenterprises.com>

* LinuxCenter.Ru +
Galernaya Street, 55 +
Saint-Petersburg +
190000 +
Russia +
Τηλέφωνο: +7-812-3125208 +
Email: <info@linuxcenter.ru> +
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 παρακάτω:

<<central, {central}>>, <<primary, {mirrors-primary}>>, <<armenia, {mirrors-armenia}>>, <<australia, {mirrors-australia}>>, <<austria, {mirrors-austria}>>, <<brazil, {mirrors-brazil}>>, <<czech-republic, {mirrors-czech}>>, <<denmark, {mirrors-denmark}>>, <<estonia, {mirrors-estonia}>>, <<finland, {mirrors-finland}>>, <<france, {mirrors-france}>>, <<germany, {mirrors-germany}>>, <<greece, {mirrors-greece}>>, <<hong-kong, {mirrors-hongkong}>>, <<ireland, {mirrors-ireland}>>, <<japan, {mirrors-japan}>>, <<korea, {mirrors-korea}>>, <<latvia, {mirrors-latvia}>>, <<lithuania, {mirrors-lithuania}>>, <<netherlands, {mirrors-netherlands}>>, <<new-zealand, {mirrors-new-zealand}>>, <<norway, {mirrors-norway}>>, <<poland, {mirrors-poland}>>, <<russia, {mirrors-russia}>>, <<saudi-arabia, {mirrors-saudi-arabia}>>, <<slovenia, {mirrors-slovenia}>>, <<south-africa, {mirrors-south-africa}>>, <<spain, {mirrors-spain}>>, <<sweden, {mirrors-sweden}>>, <<switzerland, {mirrors-switzerland}>>, <<taiwan, {mirrors-taiwan}>>, <<ukraine, {mirrors-ukraine}>>, <<uk, {mirrors-uk}>>, <<usa, {mirrors-us}>>.

(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/)

[[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-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

[[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`.
====

Μπορεί να πει κανείς ότι το <<cvsup,CVSup>> και το _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 δεν αναφέρεται σε κάποια συγκεκριμένη έκδοση, μπορεί αύριο να σημαίνει κάτι διαφορετικό από ότι σημαίνει σήμερα.

Το <<cvs-tags>> περιέχει 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/]

ή δείτε το τμήμα <<mirrors-ctm,mirrors>>.

Κάντε 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 κ.ο.κ. Αν δεν γνωρίζετε πως να εγγραφείτε σε μια λίστα, κάντε κλικ στο όνομα της λίστας που εμφανίζεται παραπάνω ή πηγαίνετε στο {mailing-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

Το <<ctm,CTM>>/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:

* <<cvsup-config-files,Ποια αρχεία θέλετε να λάβετε;>>
* <<cvsup-config-vers,Ποιες εκδόσεις των αρχείων θέλετε;>>
* <<cvsup-config-where,Από που θέλετε να τα λάβετε;>>
* <<cvsup-config-dest,Που θέλετε να τα αποθηκεύσετε στο μηχάνημα σας;>>
* <<cvsup-config-status,Που θέλετε να αποθηκεύσετε τα αρχεία κατάστασης;>>

Στα επόμενα τμήματα, θα δημιουργήσουμε ένα τυπικό [.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 είναι οργανωμένα σε γκρουπ που ονομάζονται "συλλογές". Περιγραφή των διαθέσιμων συλλογών θα βρείτε στο <<cvsup-collec,ακόλουθο τμήμα>>. Στο παράδειγμα μας, θέλουμε να λάβουμε το πλήρες δέντρο πηγαίου κώδικα του 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 δεν αναφέρεται σε κάποια συγκεκριμένη έκδοση, μπορεί αύριο να σημαίνει κάτι διαφορετικό από ότι σημαίνει σήμερα.
+ 
Στο <<cvs-tags>> θα βρείτε 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` από που να λάβει τις ανανεώσεις του. Οποιοδήποτε από τα <<cvsup-mirrors,CVSup mirror sites>> είναι κατάλληλο, αν και θα πρέπει να προσπαθήσετε να επιλέξετε κάποιο το οποίο να βρίσκεται κοντά σας. Στο παράδειγμα μας, θα χρησιμοποιήσουμε μια φανταστική τοποθεσία διανομής του 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# από μη-πλήρες δέντρο δεν υποστηρίζεται. Δείτε το extref:{faq}[FAQ, MAKE-INDEX].
====

`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]
====
Παρακαλούμε δείτε την <<cvsup-collec-pbase-warn,σημαντική προειδοποίηση παραπάνω>>: θα πρέπει _πάντοτε_ να ενημερώνετε αυτή την υποσυλλογή, όταν ενημερώνετε οποιοδήποτε τμήμα της συλλογής 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

Μπορείτε να βρείτε εξυπηρετητές <<cvsup,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/[Πληροφορίες Διαδικασίας Έκδοσης] και extref:{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.
