Το 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
είναι ταχύτερο και προσφέρει μεγαλύτερη
ευελιξία.
Το πρόγραμμα csup είναι το CVSup ξαναγραμμένο σε γλώσσα C. Το μεγαλύτερο του πλεονέκτημα είναι ότι είναι ταχύτερο, και δεν εξαρτάται από την γλώσσα προγραμματισμού Modula-3, την οποία και δεν χρειάζεται πλέον να εγκαταστήσετε. Επίσης μπορείτε να το χρησιμοποιήσετε άμεσα, καθώς περιλαμβάνεται στο βασικό σύστημα. Αν αποφασίσετε να χρησιμοποιήσετε το csup, απλώς παραλείψτε τα βήματα για την εγκατάσταση του CVSup και αντικαταστήστε κάθε αναφορά στο CVSup σε αυτό το άρθρο, με csup.
Ο ευκολότερος τρόπος για να εγκαταστήσετε το
CVSup είναι μέσω του έτοιμου πακέτου
net/cvsup
από την
συλλογή πακέτων του FreeBSD. Αν προτιμάτε
να μεταγλωττίσετε το CVSup από τον πηγαίο
κώδικα, μπορείτε να χρησιμοποιήσετε το port
net/cvsup
. Σας προειδοποιούμε
ωστόσο ότι το port net/cvsup
εξαρτάται από την Modula-3, η οποία χρειάζεται αρκετό χρόνο και χώρο
στο δίσκο για να κατέβει και να μεταγλωττιστεί.
Αν πρόκειται να χρησιμοποιήσετε το
CVSup σε ένα μηχάνημα το οποίο δεν θα
διαθέτει γραφικό περιβάλλον μέσω του
Xorg, όπως π.χ. σε ένα εξυπηρετητή,
βεβαιωθείτε ότι εγκαθιστάτε το αντίστοιχο port το οποίο δεν
περιλαμβάνει γραφικό περιβάλλον, δηλαδή το
net/cvsup-without-gui
.
Η λειτουργία του CVSup ελέγχεται
από ένα αρχείο ρυθμίσεων που καλείται supfile
.
Υπάρχουν κάποια υποδείγματα από supfiles
στον
κατάλογο /usr/share/examples/cvsup/
.
Οι πληροφορίες στο supfile
απαντούν
τις ακόλουθες ερωτήσεις για το
CVSup:
Στα επόμενα τμήματα, θα δημιουργήσουμε ένα τυπικό
supfile
απαντώντας κάθε μια από τις ερωτήσεις
αυτές με τη σειρά. Πρώτα, θα περιγράψουμε τη συνολική δομή ενός
supfile
.
Ένα supfile
είναι ένα αρχείο κειμένου. Τα
σχόλια ξεκινάνε με #
και επεκτείνονται ως το τέλος
της γραμμής. Οι κενές γραμμές, καθώς και αυτές που περιέχουν μόνο
σχόλια, αγνοούνται.
Κάθε γραμμή από τις υπόλοιπες περιγράφει ένα σετ αρχείων τα οποία
επιθυμεί να λάβει ο χρήστης. Η γραμμή ξεκινάει με το όνομα μιας
“συλλογής”, ενός λογικού γκρουπ από αρχεία που ορίζεται
από τον εξυπηρετητή. Το όνομα της συλλογής δηλώνει στον εξυπηρετητή
ποια αρχεία επιθυμείτε. Μετά το όνομα της συλλογής, μπορεί να
υπάρχουν από μηδέν ως κάποια πεδία, τα οποία χωρίζονται μεταξύ τους
με κενά διαστήματα. Τα πεδία αυτά απαντούν τις ερωτήσεις που τέθηκαν
παραπάνω. Υπάρχουν δύο τύποι πεδίων: πεδία σήμανσης (flags) και
πεδία τιμών. Ένα πεδίο σήμανσης αποτελείται από μια μόνο λέξη κλειδί
π.χ. delete
ή compress
. Ένα
πεδίο τιμής ξεκινάει επίσης με μια λέξη κλειδί, αλλά αυτή ακολουθείτε
χωρίς την παρεμβολή κενού διαστήματος από =
και μια
δεύτερη λέξη. Για παράδειγμα το release=cvs
αποτελεί ένα πεδίο τιμής.
Ένα supfile
τυπικά καθορίζει προς λήψη
περισσότερες από μία συλλογές. Ένα τρόπος για να δομήσετε ένα
supfile
είναι να καθορίσετε όλα τα σχετικά πεδία
χωριστά για κάθε συλλογή. Με τον τρόπο αυτό ωστόσο το
supfile
θα καταλάβει αρκετές γραμμές και θα είναι
άβολο, επειδή τα περισσότερα πεδία είναι ίδια για όλες τις συλλογές
που περιέχονται σε αυτό. Το CVSup παρέχει
ένα μηχανισμό χρήσης προεπιλεγμένων τιμών, ώστε να αποφεύγονται αυτά
τα προβλήματα. Οι γραμμές που ξεκινάνε με το ειδικό όνομα
ψευτό-συλλογής *default
μπορούν να χρησιμοποιηθούν
για να θέσουν πεδία σήμανσης και τιμών τα οποία θα χρησιμοποιηθούν ως
προεπιλογές για τις συλλογές του supfile
που
βρίσκονται μετά από αυτά. Μια προεπιλεγμένη τιμή μπορεί να αλλάξει
αν καθοριστεί ξανά με νέα τιμή μέσα στην ίδια τη συλλογή. Οι
προεπιλογές μπορούν επίσης να αλλάξουν, ή να προστεθούν νέες,
βάζοντας πρόσθετα *default
σε οποιοδήποτε σημείο
μέσα στο supfile
.
Γνωρίζοντας τα παραπάνω, θα προχωρήσουμε τώρα στη δόμηση ενός
supfile
για λήψη και ανανέωση του κυρίως δέντρου
πηγαίου κώδικα για το FreeBSD-CURRENT.
Τα αρχεία που είναι διαθέσιμα μέσω της
CVSup είναι οργανωμένα σε γκρουπ που
ονομάζονται “συλλογές”. Περιγραφή των διαθέσιμων
συλλογών θα βρείτε στο
ακόλουθο τμήμα. Στο
παράδειγμα μας, θέλουμε να λάβουμε το πλήρες δέντρο πηγαίου κώδικα
του FreeBSD συστήματος. Υπάρχει μια μεγάλη συλλογή
src-all
η οποία θα μας την δώσει όλη. Σαν
πρώτο βήμα για την δόμηση του supfile
, απλώς
γράφουμε τις συλλογές, μία σε κάθε γραμμή (στην περίπτωση μας
έχουμε μόνο μια γραμμή):
Ποιες εκδόσεις των αρχείων θέλετε να λάβετε;
Με το CVSup, μπορείτε ουσιαστικά
να λάβετε οποιαδήποτε έκδοση του πηγαίου κώδικα υπήρξε ποτέ. Αυτό
είναι δυνατόν επειδή ο εξυπηρετητής
cvsupd λειτουργεί απευθείας από το
CVS repository, το οποίο περιέχει όλες τις εκδόσεις. Δηλώνετε
ποια από αυτές θέλετε χρησιμοποιώντας τα πεδία τιμών
tag=
και date=
.
Θα πρέπει να δώσετε ιδιαίτερη προσοχή στον καθορισμό των
πεδίων tag=
ώστε να είναι σωστά. Κάποια
tags είναι έγκυρα μόνο για συγκεκριμένες συλλογές αρχείων. Αν
καθορίσετε λανθασμένο tag (ή κάνετε ορθογραφικό λάθος) το
CVSup θα σβήσει αρχεία τα οποία
πιθανώς δεν θέλετε να σβηστούν. Ειδικότερα, για την συλλογή των
ports-*
, χρησιμοποιήστε μόνο το
tag=.
.
Το πεδίο tag=
δείχνει προς ένα συμβολικό
tag στο repository. Υπάρχουν δύο είδη tags, τα tags εκδόσεων
(revision tags) και τα tags κλάδων (branch tags). Ένα revision
tag αναφέρεται σε μια συγκεκριμένη έκδοση. Η σημασία του
διατηρείται ίδια από τη μια μέρα στην άλλη. Από την άλλη, ένα
branch tag, αναφέρεται στην τελευταία έκδοση μια συγκεκριμένης
γραμμής ανάπτυξης, σε κάθε χρονική στιγμή. Επειδή ένα branch tag
δεν αναφέρεται σε κάποια συγκεκριμένη έκδοση, μπορεί αύριο να
σημαίνει κάτι διαφορετικό από ότι σημαίνει σήμερα.
Στο Τμήμα A.7, “Ετικέτες (Tags) για το CVS” θα βρείτε branch tags τα οποία
μπορεί να σας ενδιαφέρουν. Όταν καθορίζετε ένα tag στο αρχείο
ρυθμίσεων του CVSup, θα πρέπει πριν
από αυτό να βάζετε τη λέξη κλειδί tag=
(δηλ. το
RELENG_8
θα γίνει
tag=RELENG_8
). Να έχετε υπόψιν σας ότι για την
συλλογή των Ports, το tag=.
είναι το μόνο
έγκυρο.
Να είστε ιδιαίτερα προσεκτικός, ώστε να γράψετε το tag ακριβώς όπως φαίνεται. Το CVSup δεν μπορεί να διαχωρίσει μεταξύ έγκυρων και μη-έγκυρων tags. Αν γράψετε λάθος το tag, το CVSup θα συμπεριφερθεί σαν να έχετε δώσει ένα έγκυρο tag το οποίο δεν αναφέρεται σε κανένα αρχείο. Στην περίπτωση αυτή θα διαγράψει τα υπάρχοντα αρχεία σας πηγαίου κώδικα.
Όταν καθορίσετε κάποιο branch tag, φυσιολογικά θα λάβετε τις
τελευταίες εκδόσεις των αρχείων που υπάρχουν σε αυτή τη γραμμή
ανάπτυξης. Αν θέλετε να λάβετε κάποιες παλιότερες εκδόσεις,
μπορείτε να το κάνετε καθορίζοντας μια ημερομηνία μέσω του πεδίου
τιμών date=
. Η σελίδα manual csup(1) εξηγεί
πως μπορείτε να το κάνετε.
Στο παράδειγμα μας, επιθυμούμε να λάβουμε το FreeBSD-CURRENT.
Προσθέτουμε τη γραμμή αυτή στην αρχή του
supfile
αρχείου μας:
Υπάρχει μια σημαντική ειδική περίπτωση όταν δεν καθορίσετε
ούτε πεδίο tag=
ούτε πεδίο
date=
. Στην περίπτωση αυτή θα λάβετε τα
κανονικά αρχεία RCS απευθείας από το CVS repository του
εξυπηρετητή, αντί για να λάβετε κάποια συγκεκριμένη έκδοση. Οι
προγραμματιστές γενικά προτιμούν αυτό τον τρόπο λειτουργίας.
Διατηρώντας πλήρες αντίγραφο του CVS repository στα συστήματα τους
έχουν την ικανότητα να βλέπουν το ιστορικό αλλαγών κάθε έκδοσης
και να εξετάζουν παλιότερες εκδόσεις των αρχείων. Τα παραπάνω
πλεονεκτήματα ωστόσο έχουν το κόστος της μεγαλύτερης χρήσης χώρου
στο σκληρό δίσκο.
Χρησιμοποιούμε το πεδίο host=
για να πούμε
στο cvsup
από που να λάβει τις ανανεώσεις του.
Οποιοδήποτε από τα
CVSup mirror sites είναι
κατάλληλο, αν και θα πρέπει να προσπαθήσετε να επιλέξετε κάποιο
το οποίο να βρίσκεται κοντά σας. Στο παράδειγμα μας, θα
χρησιμοποιήσουμε μια φανταστική τοποθεσία διανομής του FreeBSD, το
cvsup99.FreeBSD.org
:
Θα πρέπει να αλλάξετε το host σε κάποιο που πραγματικά υπάρχει
πριν εκτελέσετε το CVSup. Κάθε φορά
που εκτελείτε το cvsup
, έχετε την δυνατότητα
να ανατρέπετε αυτή τη ρύθμιση μέσω της γραμμής εντολών με την
επιλογή -h
.hostname
Που θέλετε να τα αποθηκεύσετε στο μηχάνημα σας;
Το πεδίο prefix=
δηλώνει στην
cvsup
που να αποθηκεύσει τα αρχεία που
λαμβάνει. Στο παράδειγμα μας, θα βάλουμε τα αρχεία του πηγαίου
κώδικα, απευθείας στο κύριο δέντρο πηγαίου κώδικα,
/usr/src
. Ο κατάλογος
src
θεωρείται δεδομένος για τις συλλογές
που έχουμε επιλέξει να λάβουμε, και έτσι ο σωστός προσδιορισμός
είναι αυτός που φαίνεται παρακάτω:
Που θα αποθηκεύσει το
cvsup
τα αρχεία κατάστασης του;
Ο πελάτης CVSup διατηρεί κάποια
αρχεία κατάστασης (status files) σε αυτό που αποκαλείται κατάλογος
“base”. Τα αρχεία αυτά βοηθούν το
CVSup να λειτουργεί πιο αποδοτικά
κρατώντας λογαριασμό των ανανεώσεων που έχετε ήδη λάβει. Θα
χρησιμοποιήσουμε τον προεπιλεγμένο κατάλογο base,
/var/db
:
Αν ο base κατάλογος σας δεν υπάρχει ήδη, τώρα είναι μια καλή
στιγμή να τον δημιουργήσετε. O πελάτης cvsup
δεν θα εκτελείται αν ο base κατάλογος δεν υπάρχει.
Διάφορες ρυθμίσεις για το supfile
:
Υπάρχει ακόμα μια κοινή γραμμή ρυθμίσεων, η οποία τυπικά
υπάρχει στο supfile
:
Το release=cvs
δείχνει ότι ο εξυπηρετητής
θα πρέπει να λάβει τις πληροφορίες του μέσω του κύριου CVS
repository του FreeBSD. Αυτό ισχύει σχεδόν πάντα, αλλά υπάρχουν και
άλλες πιθανότητες που ξεφεύγουν από το σκοπό αυτής της
συζήτησης.
Η λέξη delete
δίνει δικαιώματα στο
CVSup να διαγράφει αρχεία.
Θα πρέπει πάντοτε να έχετε την επιλογή αυτή, ώστε το
CVSup να μπορεί να κρατήσει το δέντρο
του πηγαίου σας κώδικα πλήρως ανανεωμένο. Το
CVSup είναι αρκετά προσεκτικό ώστε να
σβήνει μόνο τα αρχεία που βρίσκονται υπό την ευθύνη του. Αν τυχόν
βάλετε έξτρα αρχεία στον ίδιο κατάλογο, δεν θα τα αγγίξει.
Η επιλογή use-rel-suffix
είναι...
αρχαιολογική. Αν πραγματικά θέλετε να μάθετε σχετικά με αυτήν,
διαβάστε τη σελίδα manual cvsup(1). Αλλιώς, απλώς
χρησιμοποιήστε την, και μην ανησυχείτε ιδιαίτερα για αυτή.
Η επιλογή compress
ενεργοποιεί τη χρήση
συμπίεσης τύπου gzip στο κανάλι επικοινωνίας. Αν έχετε σύνδεση
δικτύου τύπου T1 ή και πιο γρήγορη, μάλλον δεν θα πρέπει να
χρησιμοποιήσετε συμπίεση. Σε διαφορετική περίπτωση, θα βοηθήσει
εξαιρετικά.
Όλες οι επιλογές μαζί:
Εδώ είναι το πλήρες supfile
για το
παράδειγμα μας:
Όπως αναφέραμε παραπάνω, το CVSup
χρησιμοποιεί μέθοδο pull. Βασικά αυτό σημαίνει
ότι συνδέεστε στον εξυπηρετητή CVSup,
αυτός λέει “Αυτά είναι τα αρχεία που μπορείτε να κατεβάσετε
από μένα..”, και το δικό σας πρόγραμμα απαντάει
“Εντάξει, θα πάρω αυτό, αυτό, αυτό, και αυτό.” Στην
προεπιλεγμένη ρύθμιση, ο πελάτης CVSup θα
πάρει κάθε αρχείο που συνδέεται με την συλλογή και το tag που έχετε
καθορίσει στο αρχείο ρυθμίσεων. Ωστόσο μπορεί να μην το επιθυμείτε
αυτό πάντα, ειδικά αν συγχρονίζετε τα δέντρα
doc
, ports
ή
www
— οι περισσότεροι άνθρωποι δεν
μπορούν να διαβάσουν τέσσερις ή πέντε γλώσσες και έτσι δεν
χρειάζεται να κατεβάσουν αρχεία που αναφέρονται ειδικά σε αυτές. Αν
χρησιμοποιείτε το CVSup για την συλλογή
των Ports, μπορείτε να ξεπεράσετε αυτή τη συμπεριφορά καθορίζοντας
συγκεκριμένες συλλογές (π.χ. ports-astrology,
ports-biology αντί για
ports-all). Ωστόσο, επειδή τα δέντρα
doc
και www
δεν διαθέτουν
συλλογές χωρισμένες ανά γλώσσα, μπορείτε να χρησιμοποιήσετε ένα από
τα βολικά χαρακτηριστικά του CVSup: το
αρχείο refuse
.
Το αρχείο refuse
ουσιαστικά λέει στο
CVSup ότι δεν πρέπει να πάρει κάθε αρχείο
από μια συλλογή. Με άλλα λόγια, λέει στον πελάτη να
αρνηθεί συγκεκριμένα αρχεία που προσφέρει ο
εξυπηρετητής. Το αρχείο refuse
μπορεί να
βρεθεί (ή να δημιουργηθεί αν δεν έχετε ήδη) στο
.
Το base
/sup/base
καθορίζεται στο
supfile
. Το δικό μας
base
είναι στο
/var/db
, το οποίο σημαίνει ότι το προεπιλεγμένο
αρχείο refuse
θα είναι το
/var/db/sup/refuse
.
Το αρχείο refuse
έχει ιδιαίτερα απλή μορφή.
Απλώς περιέχει τα ονόματα των αρχείων και καταλόγων τα οποία δεν
επιθυμείτε να κατεβάσετε. Για παράδειγμα, αν δεν μιλάτε γλώσσες
εκτός από Αγγλικά και λίγα Γερμανικά, και δεν αισθάνεστε την ανάγκη
να διαβάσετε την Γερμανική μετάφραση της τεκμηρίωσης, μπορείτε να
βάλετε τα ακόλουθα στο δικό σας αρχείο
refuse
:
κ.ο.κ. για τις υπόλοιπες γλώσσες (μπορείτε να βρείτε την πλήρη λίστα στο FreeBSD CVS repository).
Με αυτή τη χρήσιμη δυνατότητα, οι χρήστες που έχουν αργή σύνδεση
ή πληρώνουν το Internet με χρονοχρέωση ανά λεπτό, θα μπορέσουν να
εξοικονομήσουν πολύτιμο χρόνο καθώς δεν θα χρειάζεται πλέον να
κατεβάσουν αρχεία που δεν πρόκειται να χρησιμοποιήσουν ποτέ. Για
περισσότερες πληροφορίες σχετικά με τα αρχεία
refuse
και άλλα χρήσιμα χαρακτηριστικά του
CVSup, παρακαλούμε διαβάστε την
αντίστοιχη σελίδα του manual.
Είστε τώρα έτοιμοι να δοκιμάσετε μια ανανέωση. Η γραμμή εντολής για το σκοπό αυτό είναι ιδιαίτερα απλή:
#
cvsup supfile
όπου το
είναι φυσικά το όνομα του αρχείου supfile
supfile
που
μόλις δημιουργήσατε. Υποθέτοντας ότι χρησιμοποιείτε τα X11, η εντολή
cvsup
θα σας εμφανίσει ένα γραφικό παράθυρο με
κάποια πλήκτρα συνηθισμένων λειτουργιών. Πιέστε το πλήκτρο
, και παρακολουθήστε την εκτέλεση.
Καθώς στην περίπτωση μας ανανεώνεται το πραγματικό δέντρο
/usr/src
, θα χρειαστεί να εκτελέσετε το
πρόγραμμα ως root
ώστε η
cvsup
να έχει τα δικαιώματα που χρειάζεται για να
ανανεώσει τα αρχεία σας. Καθώς μόλις έχετε δημιουργήσει το αρχείο
ρυθμίσεων, και δεν έχετε ποτέ πριν χρησιμοποιήσει το πρόγραμμα, ίσως
αισθάνεστε λίγο άβολα. Υπάρχει εύκολος τρόπος να κάνετε δοκιμαστική
εκτέλεση χωρίς να πειράξετε τα πολύτιμα αρχεία σας. Απλώς
δημιουργήστε ένα άδειο κατάλογο σε ένα βολικό μέρος, και δώστε το σαν
έξτρα παράμετρο στην γραμμή εντολών:
#
mkdir /var/tmp/dest
#
cvsup supfile /var/tmp/dest
Ο κατάλογος που καθορίσατε θα χρησιμοποιηθεί ως προορισμός για
όλες τις ανανεώσεις αρχείων. Το CVSup θα
εξετάσει τα κανονικά αρχεία σας στο /usr/src
,
αλλά δεν θα τροποποιήσει ούτε θα διαγράψει κανένα από αυτά. Κάθε
ανανέωση αρχείου θα γίνει στον κατάλογο
/var/tmp/dest/usr/src
.
Το CVSup όταν εκτελείται με αυτό τον τρόπο
αφήνει επίσης ανέπαφα τα αρχεία κατάστασης του στον κατάλογο base. Οι
νέες εκδόσεις των αρχείων αυτών θα γραφούν στον καθορισμένο κατάλογο.
Αν έχετε απλώς πρόσβαση ανάγνωσης στο /usr/src
,
δεν χρειάζεστε να είστε καν root
για να κάνετε
αυτή τη δοκιμαστική εκτέλεση.
Αν δεν εκτελείτε τα X11 ή απλώς δεν σας αρέσουν τα γραφικά
περιβάλλοντα, μπορείτε να δώσετε κάποιες επιλογές στην γραμμή εντολών
όταν εκτελείτε την cvsup
:
#
cvsup -g -L 2 supfile
Η επιλογή -g
λέει στο
CVSup να μη χρησιμοποιήσει το γραφικό του
περιβάλλον. Αυτό γίνεται αυτόματα αν δεν εκτελούνται τα X11, αλλά
διαφορετικά θα πρέπει να το καθορίσετε.
Η επιλογή -L 2
λέει στο
CVSup να εμφανίσει όλες τις λεπτομέρειες
για όλες τις ανανεώσεις αρχείων που εκτελεί. Υπάρχουν τρία επίπεδα
περιγραφής, από το -L 0
ως το -L 2
.
Η προεπιλογή είναι το 0, που σημαίνει απόλυτη σιωπή εκτός από μηνύματα
λάθους.
Υπάρχουν διαθέσιμες αρκετές ακόμα επιλογές. Για μια περιληπτική
λίστα, γράψτε cvsup -H
. Για περισσότερο
λεπτομερείς περιγραφές, δείτε τη σελίδα του manual.
Όταν μείνετε ικανοποιημένος από τον τρόπο που γίνονται οι ανανεώσεις, μπορείτε να κανονίσετε την σε τακτά διαστήματα εκτέλεση του CVSup με την χρήση του cron(8). Προφανώς δεν θα πρέπει να αφήσετε το CVSup να χρησιμοποιεί το γραφικό του περιβάλλον όταν το εκτελείτε μέσω του cron(8).
Οι συλλογές αρχείων που διατίθενται μέσω του 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.
Αν δεν θέλετε να ανανεώσετε όλο το
ports-all
(το πλήρες δέντρο των
ports), αλλά να χρησιμοποιήσετε μια από τις υποσυλλογές
που φαίνονται παρακάτω, βεβαιωθείτε ότι
πάντα ανανεώνετε την υποσυλλογή
ports-base
! Όταν κάτι αλλάζει στο
σύστημα μεταγλώττισης των ports που αντιπροσωπεύεται από
το ports-base
, είναι πρακτικά βέβαιο
ότι οι αλλαγές αυτές πολύ σύντομα θα χρησιμοποιηθούν από
“πραγματικά” ports. Έτσι, αν ανανεώνετε
μόνο τα “πραγματικά” ports και αυτά
χρησιμοποιούν κάποιες από τις νέες δυνατότητες, υπάρχει
μεγάλη πιθανότητα η μεταγλώττιση τους να αποτύχει με
κάποιο μυστηριώδες μήνυμα λάθους. Το
πρώτο πράγμα που πρέπει να κάνετε
σε αυτή την περίπτωση είναι να βεβαιωθείτε ότι είναι
ενημερωμένη η συλλογή σας
ports-base
.
Αν σκοπεύετε να δημιουργήσετε το δικό σας τοπικό
αντίγραφο του ports/INDEX
, θα
πρέπει να δεχτείτε τη συλλογή
ports-all
(ολόκληρο το δέντρο των
ports). H δημιουργία του
ports/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 για υποστήριξη του
συστήματος μεταγλώττισης. Διάφορα αρχεία που
βρίσκονται στους υποκαταλόγους
Mk/
και
Tools/
του
/usr/ports
.
Παρακαλούμε δείτε την σημαντική προειδοποίηση παραπάνω: θα πρέπει πάντοτε να ενημερώνετε αυτή την υποσυλλογή, όταν ενημερώνετε οποιοδήποτε τμήμα της συλλογής 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™.
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™.
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
Διάφορα αρχεία στην κορυφή του
/usr/src
.
src-bin
release=cvs
Εργαλεία που πιθανόν να απαιτούνται σε κατάσταση
λειτουργίας ενός χρήστη (single-user)
(/usr/src/bin
).
src-cddl
release=cvs
Εργαλεία και βιβλιοθήκες που καλύπτονται από την
άδεια χρήσης CDDL
(/usr/src/cddl
).
src-contrib
release=cvs
Εργαλεία και βιβλιοθήκες που δεν ανήκουν στο
FreeBSD Project, και τα οποία χρησιμοποιούνται
ουσιαστικά αναλλοίωτα
(/usr/src/contrib
).
src-crypto release=cvs
Εργαλεία και βιβλιοθήκες κρυπτογράφησης που δεν
ανήκουν στο FreeBSD project και τα οποία
χρησιμοποιούνται ουσιαστικά αναλλοίωτα
(/usr/src/crypto
).
src-eBones release=cvs
Kerberos και DES
(/usr/src/eBones
). Δεν
χρησιμοποιούνται στις τρέχουσες εκδόσεις του
FreeBSD.
src-etc
release=cvs
Αρχεία ρυθμίσεων του συστήματος
(/usr/src/etc
).
src-games
release=cvs
Παιχνίδια
(/usr/src/games
).
src-gnu
release=cvs
Εργαλεία που καλύπτονται από την άδεια χρήσης
GNU Public License
(/usr/src/gnu
).
src-include
release=cvs
Αρχεία επικεφαλίδων
(/usr/src/include
).
src-kerberos5
release=cvs
Πακέτο ασφαλείας Kerberos5
(/usr/src/kerberos5
).
src-kerberosIV
release=cvs
Πακέτο ασφαλείας KerberosIV
(/usr/src/kerberosIV
).
src-lib
release=cvs
Βιβλιοθήκες
(/usr/src/lib
).
src-libexec
release=cvs
Προγράμματα συστήματος τα οποία φυσιολογικά
εκτελούνται από άλλα προγράμματα
(/usr/src/libexec
).
src-release
release=cvs
Αρχεία που απαιτούνται για την παραγωγή μιας
έκδοσης του FreeBSD
(/usr/src/release
).
src-rescue
release=cvs
Προγράμματα με στατική μεταγλώττιση για χρήση
σε έκτακτες περιπτώσεις επαναφοράς του συστήματος.
Δείτε το rescue(8)
(/usr/src/rescue
).
src-sbin release=cvs
Εργαλεία συστήματος για λειτουργία σε κατάσταση
ενός χρήστη (single user mode)
(/usr/src/sbin
).
src-secure
release=cvs
Βιβλιοθήκες και εντολές κρυπτογράφησης
(/usr/src/secure
).
src-share
release=cvs
Αρχεία τα οποία μπορεί να είναι κοινά ανάμεσα σε
πολλαπλά συστήματα
(/usr/src/share
).
src-sys
release=cvs
Ο πυρήνας
(/usr/src/sys
).
src-sys-crypto
release=cvs
Κώδικας κρυπτογραφίας του πυρήνα
(/usr/src/sys/crypto
).
src-tools
release=cvs
Διάφορα εργαλεία για τη συντήρηση του FreeBSD
(/usr/src/tools
).
src-usrbin
release=cvs
Εργαλεία χρήστη
(/usr/src/usr.bin
).
src-usrsbin
release=cvs
Εργαλεία συστήματος
(/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 και άλλες πληροφορίες σχετικά με αυτό, δείτε τη Σελίδα του CVSup.
Συζητήσεις σχετικά με τη χρήση του CVSup στο FreeBSD λαμβάνουν χώρα στην ηλεκτρονική λίστα τεχνικών συζητήσεων του FreeBSD. Στη λίστα αυτή, καθώς και στην ηλεκτρονική λίστα ανακοινώσεων του FreeBSD ανακοινώνονται και οι νέες εκδόσεις του προγράμματος.
Για ερωτήσεις ή αναφορές σφαλμάτων σχετικά με το CVSup ρίξτε μια ματιά στο CVSup FAQ.
Μπορείτε να βρείτε εξυπηρετητές CVSup για το FreeBSD στις ακόλουθες τοποθεσίες:
Central Servers, Primary Mirror Sites, Armenia, Australia, Austria, Brazil, Canada, China, Costa Rica, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Iceland, Ireland, Israel, Italy, Japan, Korea, Kuwait, Kyrgyzstan, Latvia, Lithuania, Netherlands, New Zealand, Norway, Philippines, Poland, Portugal, Romania, Russia, San Marino, Slovak Republic, Slovenia, South Africa, Spain, Sweden, Switzerland, Taiwan, Thailand, Turkey, Ukraine, United Kingdom, USA.
(as of UTC)
cvsup.FreeBSD.org
cvsup1.FreeBSD.org
cvsup2.FreeBSD.org
cvsup3.FreeBSD.org
cvsup4.FreeBSD.org
cvsup5.FreeBSD.org
cvsup6.FreeBSD.org
cvsup7.FreeBSD.org
cvsup8.FreeBSD.org
cvsup9.FreeBSD.org
cvsup10.FreeBSD.org
cvsup11.FreeBSD.org
cvsup12.FreeBSD.org
cvsup13.FreeBSD.org
cvsup14.FreeBSD.org
cvsup15.FreeBSD.org
cvsup16.FreeBSD.org
cvsup18.FreeBSD.org
cvsup1.am.FreeBSD.org
cvsup.au.FreeBSD.org
cvsup.at.FreeBSD.org
cvsup.br.FreeBSD.org
cvsup2.br.FreeBSD.org
cvsup3.br.FreeBSD.org
cvsup4.br.FreeBSD.org
cvsup5.br.FreeBSD.org
cvsup1.ca.FreeBSD.org
cvsup.cn.FreeBSD.org
cvsup2.cn.FreeBSD.org
cvsup1.cr.FreeBSD.org
cvsup.cz.FreeBSD.org
cvsup.dk.FreeBSD.org
cvsup2.dk.FreeBSD.org
cvsup.ee.FreeBSD.org
cvsup.fi.FreeBSD.org
cvsup2.fi.FreeBSD.org
cvsup.fr.FreeBSD.org
cvsup1.fr.FreeBSD.org
cvsup2.fr.FreeBSD.org
cvsup3.fr.FreeBSD.org
cvsup4.fr.FreeBSD.org
cvsup5.fr.FreeBSD.org
cvsup8.fr.FreeBSD.org
cvsup.de.FreeBSD.org
cvsup2.de.FreeBSD.org
cvsup3.de.FreeBSD.org
cvsup4.de.FreeBSD.org
cvsup5.de.FreeBSD.org
cvsup6.de.FreeBSD.org
cvsup7.de.FreeBSD.org
cvsup8.de.FreeBSD.org
cvsup.gr.FreeBSD.org
cvsup2.gr.FreeBSD.org
cvsup.is.FreeBSD.org
cvsup.ie.FreeBSD.org
cvsup2.ie.FreeBSD.org
cvsup.il.FreeBSD.org
cvsup.it.FreeBSD.org
cvsup.jp.FreeBSD.org
cvsup2.jp.FreeBSD.org
cvsup3.jp.FreeBSD.org
cvsup4.jp.FreeBSD.org
cvsup5.jp.FreeBSD.org
cvsup6.jp.FreeBSD.org
cvsup.kr.FreeBSD.org
cvsup2.kr.FreeBSD.org
cvsup3.kr.FreeBSD.org
cvsup1.kw.FreeBSD.org
cvsup.kg.FreeBSD.org
cvsup.lv.FreeBSD.org
cvsup2.lv.FreeBSD.org
cvsup.lt.FreeBSD.org
cvsup2.lt.FreeBSD.org
cvsup3.lt.FreeBSD.org
cvsup.nl.FreeBSD.org
cvsup2.nl.FreeBSD.org
cvsup3.nl.FreeBSD.org
cvsup.nz.FreeBSD.org
cvsup.no.FreeBSD.org
cvsup1.ph.FreeBSD.org
cvsup.pl.FreeBSD.org
cvsup2.pl.FreeBSD.org
cvsup3.pl.FreeBSD.org
cvsup.pt.FreeBSD.org
cvsup2.pt.FreeBSD.org
cvsup3.pt.FreeBSD.org
cvsup.ro.FreeBSD.org
cvsup1.ro.FreeBSD.org
cvsup2.ro.FreeBSD.org
cvsup3.ro.FreeBSD.org
cvsup.ru.FreeBSD.org
cvsup2.ru.FreeBSD.org
cvsup3.ru.FreeBSD.org
cvsup4.ru.FreeBSD.org
cvsup5.ru.FreeBSD.org
cvsup6.ru.FreeBSD.org
cvsup7.ru.FreeBSD.org
cvsup.sm.FreeBSD.org
cvsup.sk.FreeBSD.org
cvsup.si.FreeBSD.org
cvsup2.si.FreeBSD.org
cvsup.za.FreeBSD.org
cvsup2.za.FreeBSD.org
cvsup.es.FreeBSD.org
cvsup2.es.FreeBSD.org
cvsup3.es.FreeBSD.org
cvsup.se.FreeBSD.org
cvsup2.se.FreeBSD.org
cvsup.ch.FreeBSD.org
cvsup.tw.FreeBSD.org
cvsup3.tw.FreeBSD.org
cvsup4.tw.FreeBSD.org
cvsup5.tw.FreeBSD.org
cvsup6.tw.FreeBSD.org
cvsup7.tw.FreeBSD.org
cvsup8.tw.FreeBSD.org
cvsup9.tw.FreeBSD.org
cvsup10.tw.FreeBSD.org
cvsup11.tw.FreeBSD.org
cvsup12.tw.FreeBSD.org
cvsup13.tw.FreeBSD.org
cvsup14.tw.FreeBSD.org
cvsup.th.FreeBSD.org
cvsup.tr.FreeBSD.org
cvsup2.tr.FreeBSD.org
cvsup3.ua.FreeBSD.org
cvsup5.ua.FreeBSD.org
cvsup6.ua.FreeBSD.org
cvsup.uk.FreeBSD.org
cvsup2.uk.FreeBSD.org
cvsup3.uk.FreeBSD.org
cvsup4.uk.FreeBSD.org
cvsup1.us.FreeBSD.org
cvsup2.us.FreeBSD.org
cvsup3.us.FreeBSD.org
cvsup4.us.FreeBSD.org
cvsup5.us.FreeBSD.org
cvsup6.us.FreeBSD.org
cvsup7.us.FreeBSD.org
cvsup8.us.FreeBSD.org
cvsup9.us.FreeBSD.org
cvsup10.us.FreeBSD.org
cvsup11.us.FreeBSD.org
cvsup12.us.FreeBSD.org
cvsup13.us.FreeBSD.org
cvsup14.us.FreeBSD.org
cvsup15.us.FreeBSD.org
cvsup16.us.FreeBSD.org
cvsup18.us.FreeBSD.org
Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την
τεκμηρίωση πριν να επικοινωνήσετε με την
<questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην
<doc@FreeBSD.org>.