diff --git a/el_GR.ISO8859-7/books/handbook/mirrors/chapter.sgml b/el_GR.ISO8859-7/books/handbook/mirrors/chapter.sgml
index 5a413a957a..f109cb1547 100644
--- a/el_GR.ISO8859-7/books/handbook/mirrors/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/mirrors/chapter.sgml
@@ -1,3421 +1,3236 @@
Που θα Βρείτε το &os;Εκδόσεις σε CDROM και DVDRetail ΕκδόσειςΤο &os; είναι διαθέσιμο ως εμπορικό προϊόν (&os; CD, επιπρόσθετο
λογισμικό, και τυπωμένη τεκμηρίωση) από διάφορους προμηθευτές:CompUSA
WWW: Frys Electronics
WWW: CD και DVD διανομέςΤο &os; είναι διαθέσιμο σε CD και DVD για αγορά μέσω διαδικτύου
από τους παρακάτω προμηθευτές:BSD Mall by Daemon NewsPO Box 161Nauvoo, IL62354USA
Phone: +1 866 273-6255
Fax: +1 217 453-9956
Email: sales@bsdmall.com
WWW: FreeBSD Mall, Inc.3623 Sanford StreetConcord, CA94520-1405USA
Phone: +1 925 674-0783
Fax: +1 925 674-0821
Email: info@freebsdmall.com
WWW: Dr. Hinner EDVSt. Augustinus-Str. 10D-81825MünchenGermany
Phone: (089) 428 419
WWW: Ikarios22-24 rue Voltaire92000NanterreFrance
WWW: JMC SoftwareIreland
Phone: 353 1 6291282
WWW: The Linux EmporiumHilliard House, Lester WayWallingfordOX10 9TAUnited Kingdom
Phone: +44 1491 837010
Fax: +44 1491 837016
WWW: Linux+ DVD MagazineLewartowskiego 6Warsaw00-190Poland
Phone: +48 22 860 18 18
Email: editors@lpmagazine.org
WWW: Linux System Labs Australia21 Ray DriveBalwyn NorthVIC - 3104Australia
Phone: +61 3 9857 5918
Fax: +61 3 9857 8974
WWW: LinuxCenter.RuGalernaya Street, 55Saint-Petersburg190000Russia
Phone: +7-812-3125208
Email: info@linuxcenter.ru
WWW: ΔιανομείςΑν είστε μεταπωλητής και μπορείτε να διανείμετε σε CD-ROM προϊόντα
βασισμένα στο &os;, παρακαλούμε επικοινωνήστε με κάποιον από τους
διανομείς:Cylogistics809B Cuesta Dr., #2149Mountain View, CA94040USA
Phone: +1 650 694-4949
Fax: +1 650 694-4953
Email: sales@cylogistics.com
WWW: Ingram Micro1600 E. St. Andrew PlaceSanta Ana, CA92705-4926USA
Phone: 1 (800) 456-8000
WWW: Kudzu, LLC7375 Washington Ave. S.Edina, MN55439USA
Phone: +1 952 947-0822
Fax: +1 952 947-0876
Email: sales@kudzuenterprises.comLinuxCenter.RuGalernaya Street, 55Saint-Petersburg190000Russia
Phone: +7-812-3125208
Email: info@linuxcenter.ru
WWW: Navarre Corp7400 49th Ave SouthNew Hope, MN55428USA
Phone: +1 763 535-8333
Fax: +1 763 535-0341
WWW: Εξυπηρετητές FTPΟι επίσημες εκδόσεις του &os; είναι διαθέσιμες μέσω ανώνυμης FTP
σύνδεσης από διάφορους εξυπηρετητές FTP σε όλο τον κόσμο. Ο κεντρικός
εξυπηρετητής
έχει πολύ καλή σύνδεση με τον υπόλοιπο κόσμο, και επιτρέπει ένα μεγάλο
αριθμό ταυτόχρονων συνδέσεων. Ακόμα κι έτσι όμως, είναι μάλλον καλή
ιδέα να βρείτε κάποιο εξυπηρετητή FTP που είναι πιο κοντά
σας (ειδικά αν θέλετε να στήσετε κάποιο τοπικό mirror site).Η
βάση των mirror sites του
&os; είναι πιο ενημερωμένη και έγκυρη από την αντίστοιχη λίστα
στο Εγχειρίδιο του &os;, κυρίως επειδή παίρνει τις πληροφορίες της από
το DNS κι όχι από μια στατική λίστα από ονόματα εξυπηρετητών.Το &os; είναι επίσης διαθέσιμο μέσω σύνδεσης ανώνυμου FTP από τα
παρακάτω mirror sites. Αν επιλέξετε να κατεβάσετε το &os; μέσω ανώνυμου
FTP, σας παρακαλούμε να διαλέξετε κάποιο εξυπηρετητή ο οποίος είναι
κοντά σας. Τα mirror sites που αναφέρονται ως Κύρια Mirror
Sites έχουν συνήθως την πλήρη συλλογή αρχείων του &os; (όλες τις
διαθέσιμες εκδόσεις, για κάθε διαθέσιμη αρχιτεκτονική συστήματος), αλλά
είναι πιθανόν να πετύχετε καλύτερες ταχύτητες εξυπηρέτησης με κάποιο
εξυπηρετητή που είναι στη δική σας χώρα ή περιοχή. Τα τοπικά sites
έχουν συνήθως τις πιο πρόσφατες εκδόσεις για τις πιο δημοφιλείς
αρχιτεκτονικές συστήματος, οπότε μπορεί να μην έχουν όλες τις πιθανές
εκδόσεις του &os;. Όλα τα sites δέχονται συνδέσεις μέσω ανώνυμου FTP.
Μερικά από αυτά μπορεί να υποστηρίζουν και άλλης μορφής συνδέσεις. Οι
εναλλακτικές μορφές σύνδεσης αναφέρονται ξεχωριστά για κάθε site
παρακάτω:
&chap.mirrors.ftp.inc;
Ανώνυμο CVSΕισαγωγήCVSanonymousΗ σύνδεση ανώνυμου CVS (ή anoncvs όπως
λέγεται μερικές φορές) υποστηρίζεται από τα εργαλεία CVS που
διανέμονται με το ίδιο το &os; για συγχρονισμό τοπικών αρχείων με
ένα απομακρυσμένο repository. Ένα από τα χαρακτηριστικά του CVS
είναι ότι επιτρέπει στους χρήστες του &os; να συγχρονίζουν, χωρίς
ιδιαίτερα δικαιώματα χρήστη, τα τοπικά αντίγραφα πηγαίου κώδικα που
έχουν με τους κεντρικούς, επίσημους εξυπηρετητές CVS του &os;
project. Για να χρησιμοποιήσει κανείς το CVS αρκεί: (α) να ορίσει
την τιμή της μεταβλητής περιβάλλοντος CVSROOT έτσι
ώστε να δείχνει προς έναν από τους επίσημους εξυπηρετητές, και (β)
να δώσει τον κωδικό anoncvs στην προτροπή της
εντολής cvs login. Τότε μπορεί να χρησιμοποιήσει
το εργαλείο &man.cvs.1; για να προσπελάσει το απομακρυσμένο CVS
repository του &os; σαν ένα οποιοδήποτε τοπικό repository.Η εντολή cvs login αποθηκεύει τους κωδικούς
που χρησιμοποιούνται για πιστοποίησης της ταυτότητάς σας στον
εξυπηρετητή CVS σε ένα αρχείο με
όνομα .cvspass στον HOME
κατάλογο του τοπικού σας λογαριασμού. Αν αυτό το αρχείο δεν
υπάρχει ήδη, μπορεί να αποτύχει η εντολή cvs
login την πρώτη φορά. Μπορείτε απλά να δημιουργήσετε
ένα άδειο αρχείο .cvspass και να ξανατρέξετε
την εντολή cvs login.Μπορεί να πει κανείς ότι το CVSup
και το anoncvs είναι ουσιαστικά παρόμοιοι
τρόποι συγχρονισμού αρχείων και υποστηρίζουν την ίδια
λειτουργικότητα, αλλά υπάρχουν κάποιες διαφορές οι οποίες μπορεί να
παίξουν σημαντικό ρόλο στην επιλογή μεταξύ αυτών των δύο μεθόδων.
Γενικά, το CVSup κάνει πολύ πιο αποδοτική
χρήση της σύνδεσης που έχετε και χρησιμοποιεί ένα πολύ πιο έξυπνο
πρωτόκολλο επικοινωνίας, αλλά υπάρχει και το αντίστοιχο τίμημα. Για
να χρησιμοποιήσετε το CVSup πρέπει να
εγκαταστήσετε και να ρυθμίσετε ένα ειδικό πρόγραμμα πελάτη, και τότε
μπορείτε να συγχρονίσετε μόνο μεγάλες συλλογές αρχείων — τις
οποίες το CVSup αποκαλεί
συλλογές (collections).Το anoncvs, από την άλλη, μπορεί να
χρησιμοποιηθεί για να εξετάσει κανείς τις αλλαγές ενός και μόνο
αρχείου ή ενός μόνο προγράμματος και των συνοδευτικών του αρχείων
(π.χ. τον πηγαίο κώδικα της εντολής ls ή
της grep), με χρήση του ονόματος του κατάλληλου
module. Το anoncvs είναι πιο βολικό για
εργασίες που απαιτούν βέβαια μόνο ανάγνωση. Οπότε, αν θέλετε να
υποστηρίξετε την ανάπτυξη προγραμμάτων τοπικά,
το CVSup είναι μάλλον μονόδρομος.Χρησιμοποιώντας Ανώνυμο CVSΗ ρύθμιση του &man.cvs.1; ώστε να χρησιμοποιεί ένα ανώνυμο CVS
repository γίνεται απλώς ρυθμίζοντας την μεταβλητή περιβάλλοντος
CVSROOT ώστε να δείχνει σε έναν από τους
anoncvs εξυπηρετητές του &os; project. Την ώρα
που γράφονται αυτές οι γραμμές, είναι διαθέσιμοι οι ακόλουθοι
εξυπηρετητές:Γαλλία:
:pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs
(pserver (κωδικός anoncvs), ssh (χωρίς κωδικό))
Ιαπωνία:
:pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
(Χρησιμοποιήστε την εντολή cvs login και
δώστε τον κωδικό anoncvs όταν σας ζητηθεί.)
Ταΐβάν:
:pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
(για τον pserver χρησιμοποιήστε την εντολή
cvs login και δώστε οτιδήποτε για κωδικό
όταν σας ζητηθεί, το ssh δεν έχει κωδικό.)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Ηνωμένες Πολιτείες Αμερικής:
freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs
(μόνο ssh - χωρίς κωδικό)SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu
SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pubΗνωμένες Πολιτείες Αμερικής:
anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (μόνο ssh2 - χωρίς
κωδικό)SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pubΚαθώς το CVS σας επιτρέπει να κάνετε check out
ουσιαστικά οποιαδήποτε έκδοση του πηγαίου κώδικα του &os; υπήρξε
ποτέ (και σε ορισμένες περιπτώσεις ακόμα και εκδόσεις που δεν έχουν
κυκλοφορήσει ακόμα), θα πρέπει να είστε εξοικειωμένος με την επιλογή
του &man.cvs.1; με την οποία επιλέγεται το revision (πρόκειται για
την ) και ποιες είναι οι επιτρεπτές τιμές
της για το repository του &os; project.Υπάρχουν δύο είδη tags (ετικετών), τα revision tags (ετικέτες
έκδοσης) και τα branch tags. Ένα revision tag αναφέρεται σε μια
συγκεκριμένη έκδοση. Η έννοια του παραμένει σταθερή μέρα με τη
μέρα. Από την άλλη, ένα branch tag δείχνει την τελευταία έκδοση
μιας συγκεκριμένης πορείας ανάπτυξης, σε κάθε χρονική στιγμή. Καθώς
το branch tag δεν αναφέρεται σε κάποια συγκεκριμένη έκδοση, μπορεί
αύριο να σημαίνει κάτι διαφορετικό από ότι σημαίνει σήμερα.Το περιέχει revision tags τα οποία
μπορεί να ενδιαφέρουν τους χρήστες. Υπενθυμίζουμε ότι κανένα από
αυτά δεν είναι έγκυρο για την Συλλογή των Ports, καθώς αυτή δεν
έχει πολλαπλές εκδόσεις (revisions).Όταν καθορίζετε κάποιο branch tag, φυσιολογικά λαμβάνετε τις
τελευταίες εκδόσεις των αρχείων που υπάρχουν σε αυτή τη γραμμή
ανάπτυξης. Αν θέλετε να λάβετε κάποια παλιότερη έκδοση, μπορείτε
χρησιμοποιώντας την ημερομηνία σε συνδυασμό με την επιλογή
. Δείτε τη σελίδα manual του &man.cvs.1;
για περισσότερες λεπτομέρειες.ΠαραδείγματαΑν και πραγματικά συνίσταται να διαβάσετε προσεκτικά τη σελίδα
manual του &man.cvs.1; πριν κάνετε οτιδήποτε, παρακάτω σας δίνουμε
κάποια γρήγορα παραδείγματα τα οποία ουσιαστικά θα σας δείξουν πως
να χρησιμοποιήσετε το Ανώνυμο CVS:Λήψη (Check out) Κάποιου Αρχείου από το -CURRENT
(&man.ls.1;):&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginΣτην προτροπή, δώστε οποιαδήποτε λέξη γιαpassword.
&prompt.user; cvs co lsΧρήση SSH για Λήψη (check out) του Δέντρου
src/:&prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src
The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established.
DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.Λήψη της Έκδοσης του Αρχείου &man.ls.1; από το 6-STABLE
Branch:&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginΣτην προτροπή, δώστε οποιαδήποτε λέξη γιαpassword.
&prompt.user; cvs co -rRELENG_6 lsΔημιουργία μιας Λίστας Αλλαγών (ως Unified Diffs) της
&man.ls.1;:&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginΣτην προτροπή, δώστε οποιαδήποτε λέξη γιαpassword.
&prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE lsΒρίσκοντας Ποια Άλλα Ονόματα Modules μπορούν να
Χρησιμοποιηθούν:&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginΣτην προτροπή, δώστε οποιαδήποτε λέξη γιαpassword.
&prompt.user; cvs co modules
&prompt.user; more modules/modulesΆλλες Πηγές ΠληροφοριώνΟι παρακάτω πηγές πληροφοριών ίσως σας φανούν χρήσιμες για να
μάθετε το CVS:CVS Tutorial από τον Cal Poly.CVS Home,
η ομάδα ανάπτυξης και υποστήριξης του CVS.CVSweb
Διεπαφή Web για το CVS του &os; Project.Χρησιμοποιώντας το CTMCTMΤο CTM είναι μια μέθοδος να διατηρούμε
σε συγχρονισμό ένα απομακρυσμένο κατάλογο με ένα κεντρικό. Αναπτύχθηκε
για χρήση με το δέντρο πηγαίου κώδικα του &os;, αν και άλλοι άνθρωποι
μπορεί να το βρουν χρήσιμο και για διαφορετικούς σκοπούς καθώς περνάει
ο καιρός. Τη δεδομένη στιγμή υπάρχει ελάχιστη ως ανύπαρκτη τεκμηρίωση
για την διαδικασία δημιουργίας αρχείων διαφορών (deltas), και αν
χρειάζεστε περισσότερες πληροφορίες, επικοινωνήστε με τη λίστα
ταχυδρομείου &a.ctm-users.name; ειδικά αν θέλετε να χρησιμοποιήσετε το
CTM για άλλες εφαρμογές.Γιατί Πρέπει να Χρησιμοποιήσω το
CTM;Το CTM θα σας δώσει ένα τοπικό
αντίγραφο του δέντρου πηγαίου κώδικα του &os;. Υπάρχει διαθέσιμος
ένας αριθμός από γεύσεις του δέντρου. Το
CTM μπορεί να σας παρέχει τις πληροφορίες
που χρειάζεστε, είτε αποφασίσετε να παρακολουθείτε ολόκληρο το
δέντρο, είτε κάποιο από τα παρακλάδια του.
Αν ανήκετε στα ενεργά μέλη ανάπτυξης του &os; αλλά έχετε κακής
ποιότητας (ή καθόλου) TCP/IP συνδεσιμότητα, ή απλά θέλετε οι
αλλαγές να σας έρχονται αυτόματα, το CTM
έχει φτιαχτεί για σας. Θα χρειαστεί να παίρνετε ως τρία deltas την
ημέρα για τα κλαδιά του δέντρου που έχουν την πιο ενεργή ανάπτυξη.
Θα πρέπει ωστόσο να θεωρήσετε ως καλύτερη λύση την αυτόματη
αποστολή τους μέσω email. Τα μεγέθη των ανανεώσεων κρατούνται πάντα
όσο το δυνατόν πιο μικρά. Συνήθως είναι μικρότερα από 5Κ,
περιστασιακά (ένα στα δέκα) είναι από 10-50Κ και ορισμένες φορές
εμφανίζονται και κάποια που είναι 100Κ ή και μεγαλύτερα.Θα πρέπει επίσης να εξοικειωθείτε με τις διάφορες παγίδες που
σχετίζονται με την απευθείας εργασία στον υπό ανάπτυξη πηγαίο κώδικα
σε σχέση με μια έτοιμη, προκατασκευασμένη έκδοση. Αυτό ισχύει ακόμα
περισσότερο αν επιλέξετε να χρησιμοποιήσετε τον πηγαίο κώδικα από το
current. Σας συνιστούμε να διαβάσετε πως να
χρησιμοποιήσετε το current στο &os;.
Τι Χρειάζομαι για να Χρησιμοποιήσω το
CTM;Θα χρειαστείτε δύο πράγματα: Την εφαρμογή
CTM και τις αρχικές αλλαγές (deltas) για
να τις εισάγετε σε αυτήν (ώστε να φτάσετε στο επίπεδο του
current).Το CTM είναι μέρος του &os; από
την έκδοση 2.0, και βρίσκεται στον κατάλογο
/usr/src/usr.sbin/ctm εφόσον έχετε
εγκατεστημένο τον πηγαίο κώδικα.Τα deltas με τα οποία τροφοδοτείτε το
CTM μπορείτε να τα αποκτήσετε με δύο
τρόπους, μέσω FTP ή μέσω email. Αν έχετε γενική FTP πρόσβαση στο
Internet, θα βρείτε υποστήριξη για το CTM
στις ακόλουθες τοποθεσίες FTP:ή δείτε το τμήμα mirrors.Κάντε FTP στο σχετικό κατάλογο και διαβάστε το αρχείο
README για να ξεκινήσετε.Αν θέλετε να λαμβάνετε τα deltas μέσω email:Γραφτείτε συνδρομητής σε μια από τις λίστες διανομής του
CTM. Η λίστα &a.ctm-cvs-cur.name;
υποστηρίζει ολόκληρο το δέντρο του CVS. Η λίστα
&a.ctm-src-cur.name; υποστηρίζει την κεφαλή (head) του κλάδου
ανάπτυξης (development branch). Η λίστα &a.ctm-src-4.name;
υποστηρίζει την έκδοση 4.X κ.ο.κ. Αν δεν γνωρίζετε πως να εγγραφείτε
σε μια λίστα, κάντε κλικ στο όνομα της λίστας που εμφανίζεται
παραπάνω ή πηγαίνετε στο &a.mailman.lists.link; και κάντε κλικ στη
λίστα που θέλετε να εγγραφείτε. Η σελίδα της λίστας θα πρέπει να
περιέχει όλες τις απαραίτητες πληροφορίες σχετικά με τις συνδρομές.
Όταν αρχίσετε να λαμβάνετε ανανεώσεις
CTM μέσω mail, μπορείτε να
χρησιμοποιήσετε το πρόγραμμα ctm_rmail για να τις
αποσυμπιέσετε και να τις εφαρμόσετε. Μπορείτε στην πραγματικότητα
να χρησιμοποιήσετε το πρόγραμμα ctm_rmail
απευθείας μέσω μιας εγγραφής στο /etc/aliases
αν θέλετε η διαδικασία να εκτελείται αυτοματοποιημένα. Δείτε τη
σελίδα manual του ctm_rmail για περισσότερες
λεπτομέρειες.Άσχετα με τη μέθοδο που θα χρησιμοποιήσετε για να λάβετε τα
deltas του CTM θα πρέπει να εγγραφείτε
στη λίστα &a.ctm-announce.name;. Στο μέλλον, αυτό θα είναι και το
μόνο μέρος στο οποίο θα δημοσιεύονται πληροφορίες σχετικά με τις
λειτουργίες του συστήματος CTM. Κάντε
κλικ στο όνομα της παραπάνω λίστας, και ακολουθείστε τις οδηγίες
για να εγγραφείτε.Χρησιμοποιώντας το CTM για Πρώτη
ΦοράΠριν αρχίσετε να χρησιμοποιείτε CTM
deltas, θα πρέπει να έχετε ένα σημείο εκκίνησης για τα delta που
έχουν δημιουργηθεί μετά από αυτό.Θα πρέπει πρώτα να καθορίσετε τι έχετε ήδη. Οποιοσδήποτε μπορεί
να αρχίσει από ένα άδειο κατάλογο. Θα πρέπει να
ξεκινήσετε με ένα αρχικό Κενό delta για να αρχίσετε
με το CTM δέντρο σας. Από κάποιο σημείο
θεωρούμε ότι ένα από αυτά τα αρχικά deltas θα
διανέμονται σε CD για τη δική σας διευκόλυνση, ωστόσο αυτό δεν
συμβαίνει τη δεδομένη στιγμή.Καθώς τα δέντρα είναι αρκετές δεκάδες megabytes, είναι
προτιμότερο να ξεκινήσετε από κάτι που έχετε ήδη. Αν έχετε CD
κάποιας διανομής (RELEASE), μπορείτε να αντιγράψετε ή να
αποσυμπιέσετε από εκεί τον αρχικό πηγαίο κώδικα. Έτσι θα γλυτώσετε
σημαντικό μέρος της μεταφοράς δεδομένων.Μπορείτε να αναγνωρίσετε αυτά τα αρχικά deltas
από το X που ακολουθεί τον αριθμό τους
(για παράδειγμα src-cur.3210XEmpty.gz). Ο
χαρακτηρισμός μετά το X αντιστοιχεί στην πηγή
του αρχικού σας seed.
Το Empty είναι ένας άδειος κατάλογος. Κατά
κανόνα δημιουργείται μια μετάβαση από το Empty
κάθε 100 deltas. Επίσης τα αρχεία αυτά είναι μεγάλα! Συνηθισμένο
μέγεθος για XEmpty deltas είναι τα 70 ως 80 MB
συμπιεσμένων με gzip δεδομένων.Μόλις επιλέξετε ένα βασικό delta για να ξεκινήσετε, θα
χρειαστείτε επίσης όλα τα deltas με μεγαλύτερους από αυτό αριθμούς.
Χρησιμοποιώντας το CTM στην
Καθημερινή σας ΖωήΓια να εφαρμόσετε τα deltas, απλώς γράψτε:&prompt.root; cd /where/ever/you/want/the/stuff
&prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.*Το CTM αντιλαμβάνεται deltas τα οποία
έχουν συμπιεστεί μέσω gzip, και έτσι δεν
χρειάζεται να χρησιμοποιήσετε την gunzip,
γλυτώνοντας με αυτό τον τρόπο χώρο στο δίσκο.Το CTM δεν πρόκειται να πειράξει τα
αρχεία σας αν δεν είναι απόλυτα σίγουρο για τη διαδικασία ανανέωσης.
Για να επαληθεύσετε ένα delta μπορείτε επίσης να χρησιμοποιήσετε την
επιλογή και το CTM
δεν θα πειράξει τίποτα, απλώς θα επαληθεύσει την ακεραιότητα του
delta και θα δει αν μπορεί να το εφαρμόσει χωρίς προβλήματα στο
τρέχον δέντρο.Υπάρχουν και άλλες επιλογές στο CTM,
δείτε τις αντίστοιχες σελίδες manual ή κοιτάξτε τον πηγαίο κώδικα
για περισσότερες πληροφορίες.Αυτό είναι όλο στην πραγματικότητα. Κάθε φορά που λαμβάνετε ένα
νέο delta, απλώς περάστε το στο CTM ώστε
να έχετε πάντοτε ανανεωμένο τον πηγαίο σας κώδικα.Μην σβήνετε τα deltas αν είναι δύσκολο να τα κατεβάσετε ξανά.
Ίσως θέλετε να τα φυλάξετε για την περίπτωση που κάτι πάει στραβά.
Ακόμα και αν το μόνο μέσο που έχετε είναι δισκέτες, κάντε αντίγραφο
χρησιμοποιώντας την fdwrite.Κρατώντας τις Τοπικές σας ΑλλαγέςΩς προγραμματιστής, θα θέλετε να πειραματιστείτε και να αλλάξετε
αρχεία στο δέντρο του πηγαίου κώδικα. Το
CTM υποστηρίζει περιορισμένου τύπου
τοπικές αλλαγές: πριν ελέγξει για την παρουσία ενός αρχείου
foo, ελέγχει πρώτα για το
foo.ctm. Αν το αρχείο αυτό υπάρχει, το
CTM θα χρησιμοποιήσει αυτό αντί για το
foo.Η συμπεριφορά αυτή μας παρέχει ένα απλό τρόπο να διατηρήσουμε
τοπικές αλλαγές: απλώς αντιγράψτε τα αρχεία που σκοπεύετε να
αλλάξετε σε αντίστοιχα αρχεία με κατάληξη .ctm.
Μπορείτε κατόπιν να κάνετε ότι αλλαγές θέλετε στον κώδικα ενώ το
CTM θα διατηρεί ανανεωμένο το αρχείο
.ctm.Άλλες Ενδιαφέρουσες Επιλογές του CTMΒρίσκοντας τι Ακριβώς θα Αλλάξει σε μια ΑνανέωσηΜπορείτε να προσδιορίσετε τις αλλαγές που θα προκαλέσει το
CTM στο repository του πηγαίου σας
κώδικα, χρησιμοποιώντας την επιλογή .Αυτό θα είναι χρήσιμο αν θέλετε να κρατήσετε ημερολόγιο των
αλλαγών, αν θέλετε να επεξεργαστείτε τα τροποποιημένα αρχεία πριν
ή μετά την τροποποίηση τους, ή αν απλώς αισθάνεστε ελαφρώς
παρανοϊκός.Δημιουργώντας Αντίγραφα Ασφαλείας πριν την ΑνανέωσηΜερικές φορές θα θέλετε να κρατήσετε αντίγραφο ασφαλείας όλων
των αρχείων που πρόκειται να αλλαχθούν από μια ανανέωση μέσω
CTM.Δίνοντας την επιλογή
το CTM θα δημιουργήσει αντίγραφο
ασφαλείας όλων των αρχείων που πρόκειται να αλλαχθούν από κάποιο
συγκεκριμένο delta στο αρχείο backup-file.
Περιορίζοντας τα Αρχεία που θα Αλλαχθούν από Κάποια Ανανέωση
Μερικές φορές ίσως να ενδιαφέρεστε να περιορίσετε την περιοχή
δράσης μιας συγκεκριμένης ανανέωσης μέσω
CTM ή ίσως σας ενδιαφέρει να πάρετε
μόνο λίγα αρχεία από κάποια σειρά από deltas.Μπορείτε να ελέγξετε τη λίστα των αρχείων στα οποία θα
λειτουργήσει το CTM χρησιμοποιώντας ως
φίλτρα, regular expressions με τις επιλογές
και .Για παράδειγμα, για να εξάγετε ένα ανανεωμένο αντίγραφο του
αρχείου lib/libc/Makefile από την συλλογή σας
των αποθηκευμένων CTM deltas, εκτελέστε
τις εντολές:&prompt.root; cd /where/ever/you/want/to/extract/it/
&prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*Για κάθε αρχείο που καθορίζεται σε ένα
CTM delta, οι επιλογές
και εφαρμόζονται με τη
σειρά που εμφανίζονται στη γραμμή εντολών. Στο αρχείο γίνεται
επεξεργασία από το CTM, μόνο αν
μαρκαριστεί ως έγκυρο προς ανανέωση μετά την εφαρμογή όλων των
επιλογών και .Μελλοντικά Σχέδια για το CTMΕίναι πάρα πολλά:Χρήση κάποιου είδους πιστοποίησης στο σύστημα
CTM ώστε να αναγνωρίζονται τυχόν
ψεύτικες ανανεώσεις.Ξεκαθάρισμα των επιλογών του CTM,
καθώς προκαλούν σύγχυση και δεν είναι προφανείς.ΔιάφοραΥπάρχει επίσης και μια σειρά από deltas για την συλλογή των
ports, αλλά δεν έχει εκδηλωθεί ακόμα αρκετό
ενδιαφέρον για αυτή.CTM MirrorsΤο CTM/FreeBSD διατίθεται μέσω ανώνυμου
FTP από τα ακόλουθα mirrors. Αν επιλέξετε να κατεβάσετε το
CTM μέσω ανώνυμου FTP, σας παρακαλούμε
προσπαθήστε να επιλέξετε μια τοποθεσία κοντά σε σας.Σε περίπτωση προβλημάτων, παρακαλούμε επικοινωνήστε με τη λίστα
&a.ctm-users.name;.Καλιφόρνια, Bay Area, επίσημη πηγήΝότια Αφρική, αντίγραφα ασφαλείας για παλιά deltasΤαιβάν/R.O.C.Αν δεν βρήκατε κάποιο mirror στην περιοχή σας, ή αν το mirror δεν
είναι πλήρες, προσπαθήστε να χρησιμοποιήσετε μια μηχανή αναζήτησης όπως
η alltheweb.Χρησιμοποιώντας το CVSupΕισαγωγήΤο CVSup είναι ένα λογισμικό για την
διανομή και ανανέωση δέντρων πηγαίου κώδικα από ένα κεντρικό (master)
CVS repository το οποίο βρίσκεται σε κάποιο απομακρυσμένο υπολογιστή.
Το repository του &os; βρίσκεται σε ένα κεντρικό μηχάνημα στην
Καλιφόρνια. Με το CVSup, οι χρήστες του
&os; μπορούν εύκολα να διατηρήσουν ανανεωμένα τα αντίγραφα του
πηγαίου τους κώδικα.Το CVSup χρησιμοποιεί ένα μοντέλο
ανανέωσης γνωστό ως pull. Στο μοντέλο αυτό,
κάθε πελάτης ζητά τις ανανεώσεις από τον εξυπηρετητή, όταν και αν
τις επιθυμεί. Ο εξυπηρετητής περιμένει, παθητικά, τις απαιτήσεις από
τους πελάτες. Με τον τρόπο αυτό, κάθε ανανέωση ξεκινάει κατόπιν
απαίτησης του πελάτη. Ο εξυπηρετητής ποτέ δεν στέλνει ανανεώσεις που
δεν έχουν ζητηθεί. Οι χρήστες θα πρέπει είτε να εκτελέσουν το
CVSup χειροκίνητα για να λάβουν μια
ανανέωση, είτε θα πρέπει να ρυθμίσουν κατάλληλα το
cron ώστε να το εκτελεί αυτόματα κατά τακτά
χρονικά διαστήματα.Ο όρος CVSup, γραμμένος με κεφαλαία
και μικρά όπως φαίνεται, αναφέρεται σε ολόκληρο το πακέτο λογισμικού.
Τα βασικά του τμήματα είναι η εντολή πελάτη cvsup
η οποία εκτελείται στο μηχάνημα του κάθε χρήστη, και το πρόγραμμα του
εξυπηρετητή cvsupd το οποίο εκτελείται σε κάθε ένα
από τα mirror sites του &os;.Καθώς διαβάζετε την τεκμηρίωση και τις λίστες ταχυδρομείου του
&os;, μπορεί να βρείτε αναφορές στην εφαρμογή
sup. Το sup
ήταν ο πρόγονος του CVSup, και εξυπηρετούσε
παρόμοιο σκοπό. Το CVSup χρησιμοποιείται με
αρκετά όμοιο τρόπο με το sup, και στην πραγματικότητα, χρησιμοποιεί
αρχεία ρυθμίσεων τα οποία έχουν πίσω συμβατότητα με αυτά του
sup. Το sup δεν
χρησιμοποιείται πλέον στο &os; Project, επειδή το CVSup
είναι ταχύτερο και προσφέρει μεγαλύτερη ευελιξία.
Το πρόγραμμα csup είναι το
CVSup ξαναγραμμένο σε γλώσσα C. Το
μεγαλύτερο του πλεονέκτημα είναι ότι είναι ταχύτερο, και δεν
εξαρτάται από την γλώσσα προγραμματισμού Modula-3, την οποία και
δεν χρειάζεται πλέον να εγκαταστήσετε. Επίσης, αν χρησιμοποιείτε
έκδοση &os; 6.2 ή μεταγενέστερη, μπορείτε να το χρησιμοποιήσετε
άμεσα, καθώς περιλαμβάνεται στο βασικό σύστημα. Παλιότερες εκδόσεις
του &os; δεν έχουν το &man.csup.1; στο βασικό σύστημα, αλλά μπορείτε
να το εγκαταστήσετε εύκολα από το port
net/csup port, ή από έτοιμο
πακέτο. Ωστόσο, το csup δεν υποστηρίζει
κατάσταση λειτουργίας CVS. Αν θέλετε να κάνετε mirror ολόκληρα
repositories, θα χρειαστεί να χρησιμοποιήσετε το
CVSup. Αν αποφασίσετε να χρησιμοποιήσετε
το csup, απλώς παραλείψτε τα βήματα για
την εγκατάσταση του CVSup και
αντικαταστήστε κάθε αναφορά στο CVSup σε
αυτό το άρθρο, με csup.ΕγκατάστασηΟ ευκολότερος τρόπος για να εγκαταστήσετε το
CVSup είναι μέσω του έτοιμου πακέτου
net/cvsup από την
συλλογή πακέτων του &os;. Αν προτιμάτε
να μεταγλωττίσετε το CVSup από τον πηγαίο
κώδικα, μπορείτε να χρησιμοποιήσετε το port
net/cvsup. Σας προειδοποιούμε
ωστόσο ότι το port net/cvsup
εξαρτάται από την Modula-3, η οποία χρειάζεται αρκετό χρόνο και χώρο
στο δίσκο για να κατέβει και να μεταγλωττιστεί.Αν πρόκειται να χρησιμοποιήσετε το
CVSup σε ένα μηχάνημα το οποίο δεν θα
διαθέτει γραφικό περιβάλλον μέσω
&xfree86; ή
&xorg;, όπως π.χ. σε ένα εξυπηρετητή,
βεβαιωθείτε ότι εγκαθιστάτε το αντίστοιχο port το οποίο δεν
περιλαμβάνει γραφικό περιβάλλον, δηλαδή το
net/cvsup-without-gui.Αν θέλετε να εγκαταστήσετε το csup στο
&os; 6.1 ή προγενέστερο, μπορείτε να χρησιμοποιήσετε το έτοιμο πακέτο
net/csup από την
συλλογή πακέτων του &os;.
Αν θέλετε να μεταγλωττίσετε το csup από
τον πηγαίο κώδικα, μπορείτε να χρησιμοποιήσετε το port,
net/csup.Ρύθμιση του CVSupΗ λειτουργία του 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 για λήψη και ανανέωση του κυρίως δέντρου
πηγαίου κώδικα για το &os;-CURRENT.
Ποια αρχεία θέλετε να
λάβετε;Τα αρχεία που είναι διαθέσιμα μέσω της
CVSup είναι οργανωμένα σε γκρουπ που
ονομάζονται συλλογές. Περιγραφή των διαθέσιμων
συλλογών θα βρείτε στο
ακόλουθο τμήμα. Στο
παράδειγμα μας, θέλουμε να λάβουμε το πλήρες δέντρο πηγαίου κώδικα
του &os; συστήματος. Υπάρχει μια μεγάλη συλλογή
src-all η οποία θα μας την δώσει όλη. Σαν πρώτο
βήμα για την δόμηση του supfile, απλώς
γράφουμε τις συλλογές, μία σε κάθε γραμμή (στην περίπτωση μας
έχουμε μόνο μια γραμμή):src-allΠοιες εκδόσεις των αρχείων
θέλετε να λάβετε;Με το CVSup, μπορείτε ουσιαστικά
να λάβετε οποιαδήποτε έκδοση του πηγαίου κώδικα υπήρξε ποτέ. Αυτό
είναι δυνατόν επειδή ο εξυπηρετητής
cvsupd λειτουργεί απευθείας από το
CVS repository, το οποίο περιέχει όλες τις εκδόσεις. Δηλώνετε
ποια από αυτές θέλετε χρησιμοποιώντας τα πεδία τιμών
tag= και .Θα πρέπει να δώσετε ιδιαίτερη προσοχή στον καθορισμό των
πεδίων tag= ώστε να είναι σωστά. Κάποια
tags είναι έγκυρα μόνο για συγκεκριμένες συλλογές αρχείων. Αν
καθορίσετε λανθασμένο tag (ή κάνετε ορθογραφικό λάθος) το
CVSup θα σβήσει αρχεία τα οποία
πιθανώς δεν θέλετε να σβηστούν. Ειδικότερα, για την συλλογή των
ports-*, χρησιμοποιήστε μόνο το
tag=..Το πεδίο tag= δείχνει προς ένα συμβολικό
tag στο repository. Υπάρχουν δύο είδη tags, τα tags εκδόσεων
(revision tags) και τα tags κλάδων (branch tags). Ένα revision tag
αναφέρεται σε μια συγκεκριμένη έκδοση. Η σημασία του διατηρείται
ίδια από τη μια μέρα στην άλλη. Από την άλλη, ένα branch tag,
αναφέρεται στην τελευταία έκδοση μια συγκεκριμένης γραμμής
ανάπτυξης, σε κάθε χρονική στιγμή. Επειδή ένα branch tag δεν
αναφέρεται σε κάποια συγκεκριμένη έκδοση, μπορεί αύριο να σημαίνει
κάτι διαφορετικό από ότι σημαίνει σήμερα.Στο θα βρείτε branch tags τα οποία
μπορεί να σας ενδιαφέρουν. Όταν καθορίζετε ένα tag στο αρχείο
ρυθμίσεων του CVSup, θα πρέπει πριν
από αυτό να βάζετε τη λέξη κλειδί tag= (δηλ. το
RELENG_4 θα γίνει
tag=RELENG_4). Να έχετε υπόψιν σας ότι για την
συλλογή των Ports, το tag=. είναι το μόνο
έγκυρο.Να είστε ιδιαίτερα προσεκτικός, ώστε να γράψετε το tag
ακριβώς όπως φαίνεται. Το CVSup δεν
μπορεί να διαχωρίσει μεταξύ έγκυρων και μη-έγκυρων tags. Αν
γράψετε λάθος το tag, το CVSup θα
συμπεριφερθεί σαν να έχετε δώσει ένα έγκυρο tag το οποίο δεν
αναφέρεται σε κανένα αρχείο. Στην περίπτωση αυτή θα διαγράψει
τα υπάρχοντα αρχεία σας πηγαίου κώδικα.Όταν καθορίσετε κάποιο branch tag, φυσιολογικά θα λάβετε τις
τελευταίες εκδόσεις των αρχείων που υπάρχουν σε αυτή τη γραμμή
ανάπτυξης. Αν θέλετε να λάβετε κάποιες παλιότερες εκδόσεις,
μπορείτε να το κάνετε καθορίζοντας μια ημερομηνία μέσω του πεδίου
τιμών . Η σελίδα manual &man.csup.1; εξηγεί
πως μπορείτε να το κάνετε.Στο παράδειγμα μας, επιθυμούμε να λάβουμε το &os;-CURRENT.
Προσθέτουμε τη γραμμή αυτή στην αρχή του
supfile αρχείου μας:*default tag=.Υπάρχει μια σημαντική ειδική περίπτωση όταν δεν καθορίσετε
ούτε πεδίο tag= ούτε πεδίο
date=. Στην περίπτωση αυτή θα λάβετε τα
κανονικά αρχεία RCS απευθείας από το CVS repository του
εξυπηρετητή, αντί για να λάβετε κάποια συγκεκριμένη έκδοση. Οι
προγραμματιστές γενικά προτιμούν αυτό τον τρόπο λειτουργίας.
Διατηρώντας πλήρες αντίγραφο του CVS repository στα συστήματα τους
έχουν την ικανότητα να βλέπουν το ιστορικό αλλαγών κάθε έκδοσης
και να εξετάζουν παλιότερες εκδόσεις των αρχείων. Τα παραπάνω
πλεονεκτήματα ωστόσο έχουν το κόστος της μεγαλύτερης χρήσης χώρου
στο σκληρό δίσκο.Από που θέλετε να τα
λάβετε;Χρησιμοποιούμε το πεδίο host= για να πούμε
στο cvsup από που να λάβει τις ανανεώσεις του.
Οποιοδήποτε από τα
CVSup mirror sites είναι
κατάλληλο, αν και θα πρέπει να προσπαθήσετε να επιλέξετε κάποιο
το οποίο να βρίσκεται κοντά σας. Στο παράδειγμα μας, θα
χρησιμοποιήσουμε μια φανταστική τοποθεσία διανομής του &os;, το
cvsup99.FreeBSD.org:*default host=cvsup99.FreeBSD.orgΘα πρέπει να αλλάξετε το host σε κάποιο που πραγματικά υπάρχει
πριν εκτελέσετε το CVSup. Κάθε φορά
που εκτελείτε το cvsup, έχετε την δυνατότητα
να ανατρέπετε αυτή τη ρύθμιση μέσω της γραμμής εντολών με την
επιλογή .
Που θέλετε να τα αποθηκεύσετε
στο μηχάνημα σας;Το πεδίο prefix= δηλώνει στην
cvsup που να αποθηκεύσει τα αρχεία που
λαμβάνει. Στο παράδειγμα μας, θα βάλουμε τα αρχεία του πηγαίου
κώδικα, απευθείας στο κύριο δέντρο πηγαίου κώδικα,
/usr/src. Ο κατάλογος
src θεωρείται δεδομένος για τις συλλογές
που έχουμε επιλέξει να λάβουμε, και έτσι ο σωστός προσδιορισμός
είναι αυτός που φαίνεται παρακάτω:*default prefix=/usrΠου θα αποθηκεύσει το
cvsup τα αρχεία κατάστασης του;Ο πελάτης CVSup διατηρεί κάποια
αρχεία κατάστασης (status files) σε αυτό που αποκαλείται κατάλογος
base. Τα αρχεία αυτά βοηθούν το
CVSup να λειτουργεί πιο αποδοτικά
κρατώντας λογαριασμό των ανανεώσεων που έχετε ήδη λάβει. Θα
χρησιμοποιήσουμε τον προεπιλεγμένο κατάλογο base,
/var/db:*default base=/var/dbΑν ο base κατάλογος σας δεν υπάρχει ήδη, τώρα είναι μια καλή
στιγμή να τον δημιουργήσετε. O πελάτης cvsup
δεν θα εκτελείται αν ο base κατάλογος δεν υπάρχει.Διάφορες ρυθμίσεις για το supfile:
Υπάρχει ακόμα μια κοινή γραμμή ρυθμίσεων, η οποία τυπικά
υπάρχει στο supfile:*default release=cvs delete use-rel-suffix compressΤο release=cvs δείχνει ότι ο εξυπηρετητής
θα πρέπει να λάβει τις πληροφορίες του μέσω του κύριου CVS
repository του &os;. Αυτό ισχύει σχεδόν πάντα, αλλά υπάρχουν και
άλλες πιθανότητες που ξεφεύγουν από το σκοπό αυτής της συζήτησης.
Η λέξη delete δίνει δικαιώματα στο
CVSup να διαγράφει αρχεία.
Θα πρέπει πάντοτε να έχετε την επιλογή αυτή, ώστε το
CVSup να μπορεί να κρατήσει το δέντρο
του πηγαίου σας κώδικα πλήρως ανανεωμένο. Το
CVSup είναι αρκετά προσεκτικό ώστε να
σβήνει μόνο τα αρχεία που βρίσκονται υπό την ευθύνη του. Αν τυχόν
βάλετε έξτρα αρχεία στον ίδιο κατάλογο, δεν θα τα αγγίξει.Η επιλογή use-rel-suffix είναι...
αρχαιολογική. Αν πραγματικά θέλετε να μάθετε σχετικά με αυτήν,
διαβάστε τη σελίδα manual &man.cvsup.1;. Αλλιώς, απλώς
χρησιμοποιήστε την, και μην ανησυχείτε ιδιαίτερα για αυτή.Η επιλογή compress ενεργοποιεί τη χρήση
συμπίεσης τύπου gzip στο κανάλι επικοινωνίας. Αν έχετε σύνδεση
δικτύου τύπου T1 ή και πιο γρήγορη, μάλλον δεν θα πρέπει να
χρησιμοποιήσετε συμπίεση. Σε διαφορετική περίπτωση, θα βοηθήσει
εξαιρετικά.Όλες οι επιλογές μαζί:Εδώ είναι το πλήρες supfile για το
παράδειγμα μας:*default tag=.
*default host=cvsup99.FreeBSD.org
*default prefix=/usr
*default base=/var/db
*default release=cvs delete use-rel-suffix compress
src-allΤο Αρχείο refuseΌπως αναφέραμε παραπάνω, το 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: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_*κ.ο.κ. για τις υπόλοιπες γλώσσες (μπορείτε να βρείτε την πλήρη
λίστα στο &os;
CVS repository).Με αυτή τη χρήσιμη δυνατότητα, οι χρήστες που έχουν αργή σύνδεση
ή πληρώνουν το Internet με χρονοχρέωση ανά λεπτό, θα μπορέσουν να
εξοικονομήσουν πολύτιμο χρόνο καθώς δεν θα χρειάζεται πλέον να
κατεβάσουν αρχεία που δεν πρόκειται να χρησιμοποιήσουν ποτέ. Για
περισσότερες πληροφορίες σχετικά με τα αρχεία
refuse και άλλα χρήσιμα χαρακτηριστικά του
CVSup, παρακαλούμε διαβάστε την αντίστοιχη
σελίδα του manual.Εκτελώντας το CVSupΕίστε τώρα έτοιμοι να δοκιμάσετε μια ανανέωση. Η γραμμή εντολής
για το σκοπό αυτό είναι ιδιαίτερα απλή:&prompt.root; cvsup supfileόπου το supfile
είναι φυσικά το όνομα του αρχείου supfile που
μόλις δημιουργήσατε. Υποθέτοντας ότι χρησιμοποιείτε τα X11, η εντολή
cvsup θα σας εμφανίσει ένα γραφικό παράθυρο με
κάποια πλήκτρα συνηθισμένων λειτουργιών. Πιέστε το πλήκτρο
go, και παρακολουθήστε την εκτέλεση.Καθώς στην περίπτωση μας ανανεώνεται το πραγματικό δέντρο
/usr/src, θα χρειαστεί να εκτελέσετε το
πρόγραμμα ως root ώστε η
cvsup να έχει τα δικαιώματα που χρειάζεται για να
ανανεώσει τα αρχεία σας. Καθώς μόλις έχετε δημιουργήσει το αρχείο
ρυθμίσεων, και δεν έχετε ποτέ πριν χρησιμοποιήσει το πρόγραμμα, ίσως
αισθάνεστε λίγο άβολα. Υπάρχει εύκολος τρόπος να κάνετε δοκιμαστική
εκτέλεση χωρίς να πειράξετε τα πολύτιμα αρχεία σας. Απλώς δημιουργήστε
ένα άδειο κατάλογο σε ένα βολικό μέρος, και δώστε το σαν έξτρα
παράμετρο στην γραμμή εντολών:&prompt.root; mkdir /var/tmp/dest
&prompt.root; cvsup supfile /var/tmp/destΟ κατάλογος που καθορίσατε θα χρησιμοποιηθεί ως προορισμός για
όλες τις ανανεώσεις αρχείων. Το CVSup θα
εξετάσει τα κανονικά αρχεία σας στο /usr/src,
αλλά δεν θα τροποποιήσει ούτε θα διαγράψει κανένα από αυτά. Κάθε
ανανέωση αρχείου θα γίνει στον κατάλογο
/var/tmp/dest/usr/src.
Το CVSup όταν εκτελείται με αυτό τον τρόπο
αφήνει επίσης ανέπαφα τα αρχεία κατάστασης του στον κατάλογο base. Οι
νέες εκδόσεις των αρχείων αυτών θα γραφούν στον καθορισμένο κατάλογο.
Αν έχετε απλώς πρόσβαση ανάγνωσης στο /usr/src,
δεν χρειάζεστε να είστε καν root για να κάνετε
αυτή τη δοκιμαστική εκτέλεση.Αν δεν εκτελείτε τα X11 ή απλώς δεν σας αρέσουν τα γραφικά
περιβάλλοντα, μπορείτε να δώσετε κάποιες επιλογές στην γραμμή εντολών
όταν εκτελείτε την cvsup:&prompt.root; cvsup -g -L 2 supfileΗ επιλογή λέει στο
CVSup να μη χρησιμοποιήσει το γραφικό του
περιβάλλον. Αυτό γίνεται αυτόματα αν δεν εκτελούνται τα X11, αλλά
διαφορετικά θα πρέπει να το καθορίσετε.Η επιλογή λέει στο
CVSup να εμφανίσει όλες τις λεπτομέρειες
για όλες τις ανανεώσεις αρχείων που εκτελεί. Υπάρχουν τρία επίπεδα
περιγραφής, από το ως το .
Η προεπιλογή είναι το 0, που σημαίνει απόλυτη σιωπή εκτός από μηνύματα
λάθους.Υπάρχουν διαθέσιμες αρκετές ακόμα επιλογές. Για μια περιληπτική
λίστα, γράψτε cvsup -H. Για περισσότερο
λεπτομερείς περιγραφές, δείτε τη σελίδα του manual.Όταν μείνετε ικανοποιημένος από τον τρόπο που γίνονται οι
ανανεώσεις, μπορείτε να κανονίσετε την σε τακτά διαστήματα εκτέλεση
του CVSup με την χρήση του
&man.cron.8;. Προφανώς δεν θα πρέπει να αφήσετε το
CVSup να χρησιμοποιεί το γραφικό του
περιβάλλον όταν το εκτελείτε μέσω του &man.cron.8;.Συλλογές Αρχείων τουCVSupΟι συλλογές αρχείων που διατίθενται μέσω του
CVSup είναι οργανωμένες ιεραρχικά.
Υπάρχουν λίγες μεγάλες συλλογές, και αυτές χωρίζονται σε μικρότερες
υπο-συλλογές. Η λήψη μιας μεγάλης συλλογής, ισοδυναμεί με την λήψη
κάθε μιας από τις υπο-συλλογές τις. Οι ιεραρχικές σχέσεις μεταξύ των
συλλογών, αντικατοπτρίζονται παρακάτω με την χρήση των εσοχών.Οι πιο συχνά χρησιμοποιούμενες συλλογές είναι η
src-all, και η
ports-all. Οι άλλες συλλογές χρησιμοποιούνται μόνο
από μικρές ομάδες ανθρώπων για ειδικούς σκοπούς, και κάποια mirror
sites μπορεί να μην τις έχουν καθόλου.cvs-all release=cvsΤο κύριο CVS repository του &os;, που περιλαμβάνει και τον
κώδικα κρυπτογραφίας.distrib release=cvsΑρχεία που αναφέρονται στην διανομή και το mirroring
του &os;.doc-all release=cvsΠηγαίος κώδικας για το &os; Handbook και την υπόλοιπη
τεκμηρίωση. Δεν περιλαμβάνει αρχεία για το web site του
&os;.ports-all release=cvsΗ συλλογή Ports του &os;.Αν δεν θέλετε να ανανεώσετε όλο το
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=cvsPorts σχετικά με αστρονομία.ports-audio
release=cvsΥποστήριξη ήχου.ports-base
release=cvsΒασικά αρχεία των ports για υποστήριξη του
συστήματος μεταγλώττισης. Διάφορα αρχεία που
βρίσκονται στους υποκαταλόγους
Mk/ και
Tools/ του
/usr/ports.Παρακαλούμε δείτε την σημαντική
προειδοποίηση παραπάνω: θα πρέπει
πάντοτε να ενημερώνετε αυτή
την υποσυλλογή, όταν ενημερώνετε οποιοδήποτε τμήμα
της συλλογής Ports του &os;.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-mbone
release=cvsΕφαρμογές MBone.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=cvsShells για την γραμμή εντολών.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=cvsPorts για υποστήριξη του συστήματος 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 του &os;.
src-all release=cvsΟ βασικός πηγαίος κώδικα του &os;, συμπεριλαμβανομένου
του κώδικα κρυπτογραφίας.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Εργαλεία και βιβλιοθήκες που δεν ανήκουν στο
&os; Project, και τα οποία χρησιμοποιούνται
ουσιαστικά αναλλοίωτα
(/usr/src/contrib).src-crypto release=cvsΕργαλεία και βιβλιοθήκες κρυπτογράφησης που δεν
ανήκουν στο &os; project και τα οποία
χρησιμοποιούνται ουσιαστικά αναλλοίωτα
(/usr/src/crypto).src-eBones release=cvsKerberos και DES
(/usr/src/eBones). Δεν
χρησιμοποιούνται στις τρέχουσες εκδόσεις του &os;.
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Αρχεία που απαιτούνται για την παραγωγή μιας
έκδοσης του &os;
(/usr/src/release).src-rescue
release=cvsΠρογράμματα με στατική μεταγλώττιση για χρήση
σε έκτακτες περιπτώσεις επαναφοράς του συστήματος.
Δείτε το &man.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Διάφορα εργαλεία για τη συντήρηση του &os;
(/usr/src/tools).src-usrbin
release=cvsΕργαλεία χρήστη
(/usr/src/usr.bin).src-usrsbin
release=cvsΕργαλεία συστήματος
(/usr/src/usr.sbin).www release=cvsΟ πηγαίος κώδικας για την τοποθεσία WWW του &os;.
distrib release=selfΤα αρχεία ρυθμίσεων του ίδιου του εξυπηρετητή
CVSup. Χρησιμοποιείται από
CVSup mirror sites.gnats release=currentH βάση δεδομένων του συστήματος παρακολούθησης προβλημάτων
GNATS.mail-archive release=currentΤα αρχεία της λίστας ταχυδρομείου του &os;.www release=currentΠρο-επεξεργασμένα αρχεία της δικτυακής τοποθεσίας (WWW) του
&os; (όχι ο πηγαίος κώδικας). Χρησιμοποιείται από WWW mirror
sites.Για Περισσότερες ΠληροφορίεςΓια το FAQ του CVSup και άλλες
πληροφορίες σχετικά με αυτό, δείτε τη
Σελίδα του CVSup.Συζητήσεις σχετικά με τη χρήση του
CVSup στο &os; λαμβάνουν χώρα στην
&a.hackers;. Στη λίστα αυτή, καθώς και στην &a.announce;
ανακοινώνονται και οι νέες εκδόσεις του προγράμματος.Για ερωτήσεις ή αναφορές σφαλμάτων σχετικά με το
CVSup ρίξτε μια ματιά στο
CVSup FAQ.Τοποθεσίες CVSupΜπορείτε να βρείτε εξυπηρετητές CVSup
για το &os; στις ακόλουθες τοποθεσίες:
&chap.mirrors.cvsup.inc;
-
-
- Χρησιμοποιώντας το Portsnap
-
-
- Εισαγωγή
-
- Το Portsnap είναι ένα σύστημα για την
- ασφαλή διανομή του δέντρου των ports του &os;. Κάθε μια ώρα περίπου,
- δημιουργείται ένα φωτογραφικό αντίγραφο, snapshot
- ολόκληρου του δέντρου των ports, το οποίο και υπογράφεται
- κρυπτογραφικά. Τα αρχεία που προκύπτουν, διανέμονται μέσω HTTP.
-
-
- Όπως και το CVSup το,
- Portsnap χρησιμοποιεί το μοντέλο ανανέωσης
- pull: Τα δέντρα των ports, αφού πακεταριστούν και
- υπογραφούν, διατίθενται σε ένα web server ο οποίος παθητικά περιμένει
- τα μηχανήματα-πελάτες που θα ζητήσουν αρχεία. Οι χρήστες πρέπει να
- εκτελέσουν το &man.portsnap.8; για να κατεβάσουν τις ανανεώσεις, είτε
- χειροκίνητα, είτε μέσω του &man.cron.8; ώστε η διαδικασία να γίνεται
- αυτόματα σε τακτά διαστήματα.
-
- Για τεχνικούς λόγους, το Portsnap
- δεν ανανεώνει απευθείας το εν χρήσει δέντρο των ports
- στο /usr/ports/. Αντί για αυτό, εργάζεται σε ένα
- συμπιεσμένο αντίγραφο του δέντρου, το οποίο αποθηκεύεται από
- προεπιλογή στο /var/db/portsnap/. Το συμπιεσμένο
- αυτό αντίγραφο χρησιμοποιείται για την μετέπειτα ανανέωση του
- κανονικού δέντρου των ports.
-
-
- Αν εγκαταστήσετε τον Portsnap από
- την συλλογή των Ports του &os;, η προεπιλεγμένη θέση για το
- συμπιεσμένο snapshot θα είναι
- /usr/local/portsnap/ αντί για
- /var/db/portsnap/.
-
-
-
-
- Εγκατάσταση
-
- Από το &os; 6.0 και μετά, το
- Portsnap περιέχεται στο βασικό σύστημα του
- &os;. Σε παλιότερες εκδόσεις του &os; μπορεί να εγκατασταθεί μέσω του
- port ports-mgmt/portsnap.
-
-
-
- Ρύθμιση του Portsnap
-
- Η λειτουργία του Portsnap ελέγχεται από
- το αρχείο ρυθμίσεων /etc/portsnap.conf. Για τους
- περισσότερους χρήστες, οι προεπιλεγμένες ρυθμίσεις είναι σωστές. Για
- περισσότερες πληροφορίες, δείτε τη σελίδα manual
- &man.portsnap.conf.5;.
-
-
- Αν εγκαταστήσετε το Portsnap από την
- συλλογή των Ports, θα χρησιμοποιεί το αρχείο ρυθμίσεων
- /usr/local/etc/portsnap.conf αντί για το
- /etc/portsnap.conf. Αυτό το αρχείο ρυθμίσεων
- δεν δημιουργείται κατά την εγκατάσταση του Port, δημιουργείται όμως
- ένα υπόδειγμα του αρχείου ρυθμίσεων. Για να το βάλετε στη σωστή θέση
- εκτελέστε την ακόλουθη εντολή:
-
- &prompt.root; cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf
-
-
-
-
- Εκτελώντας το Portsnap για Πρώτη
- Φορά
-
- Την πρώτη φορά που θα εκτελέσετε το &man.portsnap.8;, θα χρειαστεί
- να κατεβάσει ένα συμπιεσμένο snapshot ολόκληρου του δέντρου των ports
- στο /var/db/portsnap/ (ή στο
- /usr/local/portsnap/ αν το
- Portsnap εγκαταστάθηκε από την συλλογή των
- Ports). Στις αρχές του 2006, το snapshot είχε μέγεθος περίπου
- 41 MB.
-
- &prompt.root; portsnap fetch
-
- Μετά το κατέβασμα του συμπιεσμένου snapshot, είναι πλέον δυνατή
- η εξαγωγή του πραγματικού (live) αντιγράφου του δέντρου
- των ports στον κατάλογο /usr/ports/. Αυτό είναι
- απαραίτητο, ακόμα και αν έχετε ήδη δημιουργήσει δέντρο ports στον
- κατάλογο αυτό (π.χ. με χρήση της CVSup),
- καθώς με αυτό τον τρόπο, το portsnap δημιουργεί μια
- βασική αναφορά από την οποία κάθε φορά ανακαλύπτει ποια τμήματα του
- δέντρου των ports πρέπει να ανανεωθούν αργότερα.
-
- &prompt.root; portsnap extract
-
-
- Κατά την προεπιλεγμένη εγκατάσταση, δεν δημιουργείται ο
- κατάλογος /usr/ports. Αν
- χρησιμοποιείτε το &os; 6.0-RELEASE, θα πρέπει να τον
- δημιουργήσετε πριν εκτελέσετε την portsnap.
- Σε πιο πρόσφατες εκδόσεις του &os; ή του
- Portsnap, η εργασία αυτή θα γίνει
- αυτόματα την πρώτη φορά που θα χρησιμοποιήσετε την εντολή
- portsnap.
-
-
-
-
- Ανανέωση του Δέντρου των Ports
-
- Μετά το αρχικό κατέβασμα και εξαγωγή ενός δέντρου ports στον
- κατάλογο /usr/ports/, η ανανέωση των ports
- αποτελείται βασικά από δύο βήματα:
- Να γίνουν fetch οι ανανεώσεις στο συμπιεσμένο
- snapshot, και να χρησιμοποιηθούν για την
- ανανέωση (update) στο πραγματικό δέντρο των
- ports. Τα δύο αυτά βήματα, μπορούν να δοθούν στην
- portsnap ως μια μόνο εντολή:
-
- &prompt.root; portsnap fetch update
-
-
- Μερικές παλιότερες εκδόσεις της portsnap
- δεν υποστηρίζουν αυτή τη σύνταξη. Αν το παραπάνω αποτύχει,
- δοκιμάστε αντί για αυτό το παρακάτω:
-
- &prompt.root; portsnap fetch
-&prompt.root; portsnap update
-
-
-
-
- Εκτελώντας το Portsnap από το cron
-
- Για να αποφευχθούν προβλήματα συνωστισμού κατά την
- πρόσβαση στους εξυπηρετητές Portsnap, η
- portsnap fetch δεν εκτελείται μέσω εργασίας του
- &man.cron.8;. Αντί για αυτό, υπάρχει η ειδική εντολή
- portsnap cron, η οποία περιμένει ένα τυχαίο
- διάστημα ως και 3600 δευτερόλεπτα πριν κατεβάσει τις ανανεώσεις.
-
-
- Επιπρόσθετα, σας συνιστούμε να μην εκτελείτε την εντολή
- portsnap update μέσω εργασίας του
- cron, καθώς μπορεί να προκαλέσετε σημαντικά
- προβλήματα αν τύχει να εκτελεστεί την ίδια ώρα που γίνεται
- μεταγλώττιση ή εγκατάσταση κάποιου port. Είναι ωστόσο ασφαλές να
- ανανεώσετε τα αρχεία INDEX των ports και αυτό
- μπορεί να γίνει περνώντας την επιλογή στο
- portsnap. (Προφανώς αν εκτελέσετε το
- portsnap -I update μέσω του
- cron, θα είναι απαραίτητο να εκτελέσετε αργότερα το
- portsnap update χωρίς την επιλογή
- για να ανανεωθεί το υπόλοιπο τμήμα του δέντρου.)
-
-
- Προσθέτοντας την ακόλουθη γραμμή στο
- /etc/crontab, το portsnap θα
- ανανεώσει το συμπιεσμένο snapshot και τα αρχεία
- INDEX στον κατάλογο
- /usr/ports/, και θα σας στείλει email αν κάποια
- εγκαταστημένα ports χρειάζονται ανανέωση:
-
- 0 3 * * * root portsnap -I cron update && pkg_version -vIL=
-
-
- Αν το ρολόι του συστήματος δεν είναι ρυθμισμένο στην τοπική ζώνη
- ώρας, σας παρακαλούμε να αντικαταστήσετε το 3 με
- μια τυχαία τιμή μεταξύ 0 και 23, ώστε να γίνεται πιο ομοιόμορφη
- κατανομή του φορτίου στους εξυπηρετητές του
- Portsnap.
-
-
- Κάποιες παλιότερες εκδόσεις του portsnap
- δεν υποστηρίζουν πολλαπλές εντολές
- (π.χ., cron update) στην ίδια γραμμή εντολής
- του portsnap. Αν η παραπάνω γραμμή αποτύχει,
- δοκιμάστε να αντικαταστήσετε την
- portsnap -I cron update με
- portsnap cron && portsnap -I update.
-
-
-
- Ετικέτες (Tags) για το CVSΌταν κατεβάζετε ή ανανεώνετε τον πηγαίο κώδικα μέσω της
cvs η της
CVSup, θα πρέπει να καθορίσετε μια ετικέτα
έκδοσης (revision tag). Ένα revision tag αναφέρεται είτε σε μια
συγκεκριμένη πορεία ανάπτυξης του &os;, είτε σε ένα συγκεκριμένο χρονικό
σημείο. Ο πρώτος τύπος ονομάζεται
ετικέτα κλάδου (branch tag), και ο δεύτερος ονομάζεται
ετικέτα έκδοσης (release tag).Ετικέτες Κλάδων (Branch Tags)Όλες αυτές, με την εξαίρεση του HEAD (το οποίο
είναι πάντα έγκυρη ετικέτα), ισχύουν μόνο για το δέντρο
src/. Τα δέντρα ports/,
doc/, και www/ δεν έχουν
κλάδους.HEADΠρόκειται για το συμβολικό όνομα της κύριας γραμμής
ανάπτυξης, ή &os;-CURRENT. Είναι επίσης το προεπιλεγμένο tag αν
δεν καθοριστεί κάποιο συγκεκριμένο revision.Στο CVSup, το tag αυτό
αντιπροσωπεύεται από μια . (δεν πρόκειται για
σημείο στίξης της πρότασης, αλλά για τον πραγματικό χαρακτήρα
.).Στο CVS, αυτή είναι και η προεπιλογή αν δεν καθοριστεί
revision tag. Συνήθως δεν είναι καλή ιδέα
να κάνετε checkout και ανανέωση στον πηγαίο κώδικα του
CURRENT σε ένα μηχάνημα STABLE, εκτός αν αυτή είναι πραγματικά
η πρόθεση σας.RELENG_7Η γραμμή ανάπτυξης για το &os;-7.X, γνωστή επίσης και ως
&os; 7-STABLERELENG_7_0Η γραμμή έκδοσης του &os;-7.0, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_6Η γραμμή ανάπτυξης για το &os;-6.X, γνωστή επίσης και ως
&os; 6-STABLERELENG_6_3Η γραμμή έκδοσης του &os;-6.3, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_6_2Η γραμμή έκδοσης του &os;-6.2, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_6_1Η γραμμή έκδοσης του &os;-6.1, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_6_0Η γραμμή έκδοσης του &os;-6.0, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_5Η γραμμή ανάπτυξης για το &os;-5.X, γνωστή επίσης ως
&os; 5-STABLE.RELENG_5_5Η γραμμή έκδοσης του &os;-5.5, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_5_4Η γραμμή έκδοσης του &os;-5.4, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_5_3Η γραμμή έκδοσης του &os;-5.3, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_5_2Η γραμμή έκδοσης &os;-5.2 και &os;-5.2.1, χρησιμοποιείται μόνο
για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_5_1Η γραμμή έκδοσης για το &os;-5.1, χρησιμοποιείται μόνο για
για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_5_0Η γραμμή έκδοσης για το &os;-5.0, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_4Η γραμμή ανάπτυξης για το &os;-4.X, γνωστή επίσης και ως
&os; 4-STABLE.RELENG_4_11Η γραμμή έκδοσης για το &os;-4.11, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_4_10Η γραμμή έκδοσης για το &os;-4.10, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_4_9Η γραμμή έκδοσης για το &os;-4.9, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_4_8Η γραμμή έκδοσης για το &os;-4.8, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_4_7Η γραμμή έκδοσης για το &os;-4.7, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_4_6Η γραμμή έκδοσης για τα &os;-4.6 και &os;-4.6.2,
χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες
διορθώσεις.RELENG_4_5Η γραμμή έκδοσης για το &os;-4.5, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_4_4Η γραμμή έκδοσης για το &os;-4.4, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_4_3Η γραμμή έκδοσης για το &os;-4.3, χρησιμοποιείται μόνο για
ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις.RELENG_3Η γραμμή ανάπτυξης για το &os;-3.X, γνωστή επίσης και ως
3.X-STABLE.RELENG_2_2Η γραμμή ανάπτυξης για το &os;-2.2.X, γνωστή επίσης και ως
2.2-STABLE. Η γραμμή αυτή θεωρείται ουσιαστικά παρωχημένη.Ετικέτες Εκδόσεων (Release Tags)Οι ετικέτες αυτές αναφέρονται σε μια συγκεκριμένη χρονική στιγμή
κατά την οποία έγινε μια κανονική έκδοση (release) του &os;. Η
διαδικασία της έκδοσης τεκμηριώνεται με περισσότερες λεπτομέρειες στα
έγγραφα
Πληροφορίες Διαδικασίας
Έκδοσης και
Διαδικασία
Έκδοσης.
Το δέντρο src χρησιμοποιεί
ονόματα ετικετών που ξεκινούν με τη λέξη RELENG_.
Τα δέντρα ports και
doc χρησιμοποιούν ετικέτες που
ξεκινούν με τη λέξη RELEASE.
Τέλος, στο δέντρο www δεν
δίνεται κάποια ειδική ετικέτα που να έχει σχέση με τις εκδόσεις.
RELENG_7_0_0_RELEASE&os; 7.0RELENG_6_3_0_RELEASE&os; 6.3RELENG_6_2_0_RELEASE&os; 6.2RELENG_6_1_0_RELEASE&os; 6.1RELENG_6_0_0_RELEASE&os; 6.0RELENG_5_5_0_RELEASE&os; 5.5RELENG_5_4_0_RELEASE&os; 5.4RELENG_4_11_0_RELEASE&os; 4.11RELENG_5_3_0_RELEASE&os; 5.3RELENG_4_10_0_RELEASE&os; 4.10RELENG_5_2_1_RELEASE&os; 5.2.1RELENG_5_2_0_RELEASE&os; 5.2RELENG_4_9_0_RELEASE&os; 4.9RELENG_5_1_0_RELEASE&os; 5.1RELENG_4_8_0_RELEASE&os; 4.8RELENG_5_0_0_RELEASE&os; 5.0RELENG_4_7_0_RELEASE&os; 4.7RELENG_4_6_2_RELEASE&os; 4.6.2RELENG_4_6_1_RELEASE&os; 4.6.1RELENG_4_6_0_RELEASE&os; 4.6RELENG_4_5_0_RELEASE&os; 4.5RELENG_4_4_0_RELEASE&os; 4.4RELENG_4_3_0_RELEASE&os; 4.3RELENG_4_2_0_RELEASE&os; 4.2RELENG_4_1_1_RELEASE&os; 4.1.1RELENG_4_1_0_RELEASE&os; 4.1RELENG_4_0_0_RELEASE&os; 4.0RELENG_3_5_0_RELEASE&os;-3.5RELENG_3_4_0_RELEASE&os;-3.4RELENG_3_3_0_RELEASE&os;-3.3RELENG_3_2_0_RELEASE&os;-3.2RELENG_3_1_0_RELEASE&os;-3.1RELENG_3_0_0_RELEASE&os;-3.0RELENG_2_2_8_RELEASE&os;-2.2.8RELENG_2_2_7_RELEASE&os;-2.2.7RELENG_2_2_6_RELEASE&os;-2.2.6RELENG_2_2_5_RELEASE&os;-2.2.5RELENG_2_2_2_RELEASE&os;-2.2.2RELENG_2_2_1_RELEASE&os;-2.2.1RELENG_2_2_0_RELEASE&os;-2.2.0Τοποθεσίες AFSΕξυπηρετητές AFS για το &os; θα βρείτε στις ακόλουθες τοποθεσίες:
ΣουηδίαΗ διαδρομή για τα αρχεία είναι:
/afs/stacken.kth.se/ftp/pub/FreeBSD/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Υπεύθυνος Συντήρησης: ftp@stacken.kth.seΤοποθεσίες rsyncΤο &os; είναι διαθέσιμο μέσω του πρωτοκόλλου rsync στις ακόλουθες
τοποθεσίες. Το βοηθητικό πρόγραμμα rsync
λειτουργεί με περίπου τον ίδιο τρόπο με την εντολή &man.rcp.1;, αλλά
έχει περισσότερες επιλογές και χρησιμοποιεί το πρωτόκολλο απομακρυσμένης
ανανέωσης το οποίο μεταφέρει μόνο τις διαφορές μεταξύ δύο σετ αρχείων,
επιταχύνοντας έτσι ιδιαίτερα το συγχρονισμό μέσω του δικτύου. Αυτό είναι
περισσότερο χρήσιμο αν διατηρείτε mirror του διακομιστή FTP ή του CVS
Repository του &os;. Η συλλογή εφαρμογών
rsync διατίθεται για πολλά λειτουργικά
συστήματα, στο &os; δείτε το port
net/rsync ή χρησιμοποιήστε το
αντίστοιχο πακέτο.Δημοκρατία της Τσεχίαςrsync://ftp.cz.FreeBSD.org/Διαθέσιμες Συλλογές:ftp: Μερικό mirror του διακομιστή FTP του &os;.
&os;: Πλήρες mirror του διακομιστή FTP του &os;.
Γερμανίαrsync://grappa.unix-ag.uni-kl.de/Διαθέσιμες Συλλογές:freebsd-cvs: Το πλήρες CVS Repository του &os;.
Στο μηχάνημα αυτό διατηρούνται, μεταξύ άλλων, mirrors των
CVS Repositories των NetBSD και OpenBSD projects.Ολλανδίαrsync://ftp.nl.FreeBSD.org/Διαθέσιμες Συλλογές:vol/4/freebsd-core: Πλήρες mirror του διακομιστή
FTP του &os;.Ρωσίαrsync://cvsup4.ru.FreeBSD.org/Διαθέσιμες Συλλογές:&os;-gnats: Η βάση δεδομένων του συστήματος
παρακολούθησης σφαλμάτων GNATS.Ταΐβάνrsync://ftp.tw.FreeBSD.org/rsync://ftp2.tw.FreeBSD.org/rsync://ftp6.tw.FreeBSD.org/Διαθέσιμες Συλλογές:&os;: Πλήρες mirror του διακομιστή FTP του
&os;.Ηνωμένο Βασίλειοrsync://rsync.mirror.ac.uk/Διαθέσιμες Συλλογές:ftp.FreeBSD.org: Πλήρες mirror του διακομιστή
FTP του &os;.Ηνωμένες Πολιτείες Αμερικήςrsync://ftp-master.FreeBSD.org/Ο διακομιστής αυτός μπορεί να χρησιμοποιηθεί μόνο από κύρια
mirror sites του &os;.Διαθέσιμες Συλλογές:&os;: To κύριο (master) σύστημα αρχείων του
διακομιστή FTP του &os;.acl: Η κύρια λίστα ACL του
&os;.rsync://ftp13.FreeBSD.org/Διαθέσιμες Συλλογές:&os;: Πλήρες mirror του διακομιστή FTP του &os;.
diff --git a/el_GR.ISO8859-7/books/handbook/ports/chapter.sgml b/el_GR.ISO8859-7/books/handbook/ports/chapter.sgml
index adf0d78610..ba567978a1 100644
--- a/el_GR.ISO8859-7/books/handbook/ports/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/ports/chapter.sgml
@@ -1,1645 +1,1645 @@
Εγκατάσταση Εφαρμογών: Πακέτα και PortsΣύνοψηportsPackagesΤο &os; συνοδεύεται από μία πλούσια συλλογή από προγράμματα σαν
μέρος του βασικού συστήματος. Όμως, λίγα μπορεί να κάνει κάποιος πριν
βρεθεί στην ανάγκη να εγκαταστήσει μια πρόσθετη εφαρμογή για να
υλοποιήσει μια πραγματική εργασία. Το &os; παρέχει δυο συμπληρωματικές
τεχνολογίες για να εγκαταστήσετε πρόσθετες εφαρμογές στο σύστημα σας:
τη Συλλογή των Ports (Ports Collection, για εγκατάσταση από τον
πηγαίο κώδικα), και τα πακέτα (packages, για εγκατάσταση από
προ-μεταγλωττισμένα εκτελέσιμα πακέτα). Κάθε μία από τις δυο μεθόδους
μπορεί να χρησιμοποιηθεί για να εγκαταστήσετε τις νεότερες εκδόσεις από
τις αγαπημένες σας εφαρμογές, από τοπικά αποθηκευτικά μέσα ή απευθείας
από το δίκτυο.Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε:Πως να εγκαθιστάτε προ-μεταγλωττισμένα πακέτα λογισμικού.Πως να μεταγλωττίζετε πρόσθετο λογισμικό από τον πηγαίο κώδικα
χρησιμοποιώντας την Συλλογή των Ports.Πως να κάνετε απεγκατάσταση εγκαταστημένων πακέτων ή
ports.Πως να αλλάζετε τις προκαθορισμένες ρυθμίσεις που χρησιμοποιεί
η Συλλογή των Ports.Πως να βρίσκετε τα κατάλληλα πακέτα λογισμικού.Πως να αναβαθμίζετε τις εφαρμογές σας.Επισκόπησή της εγκατάστασης λογισμικούΑν έχετε χρησιμοποιήσει ένα &unix; σύστημα στο παρελθόν, θα
γνωρίζετε ότι η συνηθισμένη διαδικασία για την εγκατάσταση πρόσθετου
λογισμικού είναι περίπου η παρακάτω:Κατέβασμα του λογισμικού, που μπορεί να
διανέμεται σε μορφή πηγαίου κώδικα, ή σαν εκτελέσιμο.Αποσυμπίεση του λογισμικού από την μορφή της διανομής του
(συνήθως ένα tarball συμπιεσμένο με το &man.compress.1;,
&man.gzip.1;, ή &man.bzip2.1;).Εντοπισμός της τεκμηρίωσης (πιθανώς ένα αρχείο
INSTALL ή README
ή μερικά αρχεία μέσα σε ένα υποκατάλογο doc/)
και ανάγνωσή τους για το πως θα εγκατασταθεί το λογισμικό.Αν το λογισμικό διανέμεται με τη μορφή πηγαίου κώδικα,
μεταγλώττιση του. Αυτό μπορεί να περιλαμβάνει την επεξεργασία ενός
Makefile, ή την εκτέλεση ενός
configure script, και άλλες εργασίες.Δοκιμή και εγκατάσταση του λογισμικού.Και αυτά μόνο αν όλα πάνε καλά. Αν εγκαθιστάτε ένα λογισμικό που
δεν έχει μεταφερθεί στο &os; ίσως να πρέπει να τροποποιήσετε τον πηγαίο
κώδικα για να δουλέψει σωστά.Αν το θέλετε, μπορείτε να συνεχίσετε να εγκαθιστάτε λογισμικό με
τον παραδοσιακό τρόπο στο &os;. Όμως, το &os;
παρέχει δυο τεχνολογίες που μπορούν να σας γλιτώσουν από πολύ κόπο:
τα πακέτα και τα ports. Την στιγμή που γράφτηκε αυτό το κείμενο,
διατίθονταν με αυτόν τον τρόπο πάνω από &os.numports; πρόσθετες
εφαρμογές.Για οποιαδήποτε εφαρμογή, το αντίστοιχο &os; πακέτο της
είναι ένα μοναδικό αρχείο που πρέπει εσείς να κατεβάσετε.
Το πακέτο περιέχει προ-μεταγλωττισμένα αντίγραφα από όλες τις εντολές
της εφαρμογής, όπως επίσης και αρχεία παραμετροποίησης ή τεκμηρίωσης.
Ένα τέτοιο πακέτο σε μορφή αρχείου, μπορείτε να το χειριστείτε με τις
εντολές διαχείρισής πακέτων του &os;, όπως οι &man.pkg.add.1;,
&man.pkg.delete.1;, &man.pkg.info.1;, και πάει λέγοντας.
Η εγκατάσταση μιας νέας εφαρμογής μπορεί να γίνει με μία μόνο
εντολή.Ένα &os; port για μία εφαρμογή είναι μια συλλογή από αρχεία
σχεδιασμένα για να αυτοματοποιήσουν την διαδικασία μεταγλώττισης της
εφαρμογής από τον πηγαίο κώδικα.Θυμηθείτε ότι υπάρχουν μερικά βήματα που θα πρέπει λογικά να κάνετε
αν μεταγλωττίσετε ένα πρόγραμμα μόνος σας (κατέβασμα,
αποσυμπίεση, προσαρμογή (patching), μεταγλώττιση, εγκατάσταση).
Τα αρχεία που αποτελούν ένα port περιέχουν όλες τις απαραίτητες
πληροφορίες για να επιτρέψουν στο σύστημα να κάνει όλα αυτά για εσάς.
Εσείς εκτελείτε μερικές απλές εντολές, και ο πηγαίος κώδικας για την
εφαρμογή αυτόματα κατεβαίνει, αποσυμπιέζεται,
προσαρμόζεται, μεταγλωττίζεται, και εγκαθίσταται για εσάς.Στην πραγματικότητα, το σύστημα ports μπορεί επίσης να
χρησιμοποιηθεί για να δημιουργηθούν πακέτα που μπορείτε αργότερα να
διαχειριστείτε με την pkg_add και τις άλλες εντολές
διαχείρισής πακέτων που θα αναφερθούν σε λίγο.Τόσο τα πακέτα, όσο και τα ports κατανοούν τις
εξαρτήσεις (dependencies). Ας υποθέσουμε ότι
θέλετε να εγκαταστήσετε μία εφαρμογή που εξαρτάται από μία συγκεκριμένη
βιβλιοθήκη για να λειτουργήσει. Τόσο η εφαρμογή, όσο και η βιβλιοθήκη
διατίθενται ως πακέτα και ports του &os;. Αν χρησιμοποιήσετε την εντολή
pkg_add ή το σύστημα των ports για να εγκαταστήσετε
την εφαρμογή, αμφότερα θα παρατηρήσουν ότι η βιβλιοθήκη δεν είναι
εγκατεστημένη, και αυτόματα θα την εγκαταστήσουν πριν από το
πρόγραμμα.Έχοντας αναφέρει ότι οι δύο τεχνολογίες είναι αρκετά όμοιες, ίσως να
αναρωτιέστε γιατί το &os; προσφέρει και τις δύο. Τα πακέτα και τα
ports αμφότερα έχουν τα δικά τους πλεονεκτήματα, και το τι θα
χρησιμοποιήσετε εξαρτάται από την δική σας προτίμηση.Πλεονεκτήματα των ΠακέτωνΈνα συμπιεσμένο tarball πακέτου είναι συνήθως μικρότερο από
το συμπιεσμένο tarball που περιέχει τον πηγαίο κώδικα για την
εφαρμογή.Τα πακέτα δεν χρειάζονται μεταγλώττιση. Για
μεγάλες εφαρμογές, όπως είναι ο
Mozilla, το
KDE, ή το
GNOME αυτό μπορεί να είναι σημαντικό,
ιδιαίτερα αν βρίσκεστε σε ένα αργό μηχάνημα.Τα πακέτα δεν απαιτούν να κατανοήσετε την διαδικασία
που σχετίζεται με την μεταγλώττιση λογισμικού στο &os;.Πλεονεκτήματα των PortsΤα πακέτα συνήθως είναι μεταγλωττισμένα με συντηρητικές
επιλογές, επειδή πρέπει να λειτουργούν στον μέγιστο αριθμό
συστημάτων. Με εγκατάσταση από το port, μπορείτε να ρυθμίσετε τις
επιλογές μεταγλώττισης (για παράδειγμα) να δημιουργήσουν εκτελέσιμο
κώδικα που να εκμεταλλεύεται τις ικανότητες ενός Pentium 4 ή Athlon
επεξεργαστή.Μερικές εφαρμογές έχουν επιλογές μεταγλώττισης που σχετίζονται
με το τι μπορούν να κάνουν και τι όχι. Για παράδειγμα, ο
Apache μπορεί να μεταγλωττιστεί με ένα
ευρύ φάσμα από επιλογές. Μεταγλωττίζοντας τον από το port, δεν
είναι ανάγκη να δεχτείτε τις προεπιλεγμένες επιλογές, μπορείτε να
κάνετε τις δικές σας.Σε μερικές περιπτώσεις, μπορεί να υπάρχουν πολλαπλά πακέτα
για την ίδια εφαρμογή, με διαφορετικές ρυθμίσεις. Για παράδειγμα,
το Ghostscript διατίθεται ως ένα πακέτο
ghostscript και ένα πακέτο
ghostscript-nox11, αναλόγως αν
θα εγκαταστήσετε ή όχι έναν X11 server. Αυτού του τύπου
οι ρυθμίσεις είναι δυνατές με τα πακέτα, αλλά γρήγορα
γίνονται αδύνατες αν μία εφαρμογή έχει περισσότερες από μία ή δύο
διαφορετικές ρυθμίσεις μεταγλώττισης.Οι συνθήκες των αδειών διανομής από μερικές διανομές
λογισμικού, απαγορεύουν την διανομή εκτελέσιμου κώδικα. Πρέπει να
διανεμηθούν με την μορφή πηγαίου κώδικα.Μερικά άτομα δεν εμπιστεύονται τα έτοιμα εκτελέσιμα.
Τουλάχιστον με τον πηγαίο κώδικα, μπορείτε (θεωρητικά) να τον
διαβάσετε και να ψάξετε για πιθανά προβλήματα μόνος σας.Αν έχετε τοπικά, δικά σας patches, θα χρειαστείτε τον πηγαίο
κώδικα για να τα εφαρμόσετε.Μερικά άτομα γουστάρουν να έχουν τον πηγαίο κώδικα, ώστε να τον
διαβάσουν αν βαρεθούνε, να τον αλλάξουν (hack), να δανειστούν από
αυτόν (αν βέβαια το επιτρέπει η άδεια), κ.λ.π.Για να είστε ενήμερος για τα ανανεωμένα ports, εγγραφείτε στην
&a.ports; και στην &a.ports-bugs;.Πριν εγκαταστήσετε οποιοδήποτε εφαρμογή, πρέπει να ελέγχετε το
για θέματα ασφαλείας
που σχετίζονται με την εφαρμογή σας.Μπορείτε επίσης να εγκαταστήσετε το ports-mgmt/portaudit το οποίο αυτόματα
θα ελέγχει όλες τις εγκαταστημένες εφαρμογές για γνωστά τρωτά
σημεία. Έλεγχος επίσης θα πραγματοποιείται πριν τη μεταγλώττιση
οποιουδήποτε port. Στο ενδιάμεσο, μπορείτε να χρησιμοποιείτε την
εντολή portaudit -F -a αφότου έχετε πρώτα
εγκαταστήσει μερικά πακέτα.Το υπόλοιπο αυτού του κεφαλαίου εξηγεί πως να χρησιμοποιήσετε τα
πακέτα και τα ports για να εγκαταστήσετε και να διαχειριστείτε πρόσθετο
λογισμικό στο &os;.Βρίσκοντας την Εφαρμογή σαςΠριν εγκαταστήσετε οποιαδήποτε εφαρμογή πρέπει να γνωρίζετε τι
θέλετε να κάνει, και πως ονομάζεται η εφαρμογή.Η λίστα των διαθέσιμων εφαρμογών στο &os; μεγαλώνει συνεχώς.
Ευτυχώς, υπάρχουν πολλοί τρόποι να βρείτε αυτό που θέλετε:Στη δικτυακή τοποθεσία του &os; θα βρείτε μια
λίστα από όλες τις διαθέσιμες εφαρμογές, στο http://www.FreeBSD.org/ports/.
Η λίστα αυτή ανανεώνεται συχνά, ενώ υπάρχει και δυνατότητα
αναζήτησης. Τα ports είναι χωρισμένα σε κατηγορίες, και μπορείτε
να αναζητήσετε μία εφαρμογή είτε με το όνομα (αν το ξέρετε), ή να
δείτε όλες τις εφαρμογές που είναι διαθέσιμες σε μια
κατηγορία.FreshPortsΟ Dan Langille διατηρεί το FreshPorts, στο . Το FreshPorts
καταγράφει τις αλλαγές των εφαρμογών στο δέντρο των ports καθώς
συμβαίνουν, επιτρέποντάς σας να παρακολουθείτε ένα
ή περισσότερα ports, και μπορεί να σας στείλει email όταν αυτά
ανανεώνονται.FreshMeatΑν δεν γνωρίζετε το όνομα της εφαρμογής που θέλετε,
δοκιμάστε να χρησιμοποιήσετε ένα site σαν το FreshMeat () για να βρείτε μία
εφαρμογή, και μετά μπορείτε να ελέγξετε ξανά το site του &os; για
να δείτε αν η εφαρμογή έχει γίνει port.Αν ξέρετε το ακριβές όνομα του port, και θέλετε μόνο να
βρείτε σε ποια κατηγορία είναι, μπορείτε να χρησιμοποιήσετε την
εντολή &man.whereis.1;. Απλά γράψτε
whereis αρχείο, όπου
αρχείο είναι το πρόγραμμα που θέλετε να
εγκαταστήσετε. Αν αυτό βρίσκεται στο σύστημα σας, η εντολή θα σας
πει που είναι, όπως παρακάτω:&prompt.root; whereis lsof
lsof: /usr/ports/sysutils/lsofΑυτό μας λέει ότι το lsof (ένα εργαλείο
συστήματος) μπορεί να βρεθεί στον κατάλογο
/usr/ports/sysutils/lsof.Επιπρόσθετα, μπορείτε να χρησιμοποιήσετε μια απλή εντολή
&man.echo.1; για να εντοπίσετε την τοποθεσία κάποιου προγράμματος
μέσα στα ports. Για παράδειγμα:&prompt.root; echo /usr/ports/*/*lsof*
/usr/ports/sysutils/lsofΣημειώστε ότι το παραπάνω θα δείξει επίσης και οποιαδήποτε
αρχεία έχουν κατέβει στον κατάλογο
/usr/ports/distfiles εφόσον
ταιριάζουν στην αναζήτηση.Ακόμη ένας τρόπος να βρείτε ένα συγκεκριμένο port, είναι
χρησιμοποιώντας τον εσωτερικό μηχανισμό αναζήτησης της Συλλογής των
Ports. Γα να χρησιμοποιήσετε αυτό τον τρόπο αναζήτησης, Θα
χρειαστεί να βρίσκεστε στον κατάλογο
/usr/ports. Όταν βρεθείτε σε αυτόν τον
κατάλογο, εκτελέστε το make search
name=όνομα--προγράμματος όπου
όνομα--προγράμματος είναι το όνομα
του προγράμματος που θέλετε να βρείτε. Για παράδειγμα, αν αναζητάτε
το lsof:&prompt.root; cd /usr/ports
&prompt.root; make search name=lsof
Port: lsof-4.56.4
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint: obrien@FreeBSD.org
Index: sysutils
B-deps:
R-deps: Το τμήμα της εξόδου που πρέπει να προσέξετε ιδιαίτερα
είναι η γραμμή Path:, αφού αυτή σας
λέει που να βρείτε το port. Οι υπόλοιπες πληροφορίες που
παρέχονται δεν χρειάζονται για να εγκατασταθεί το port, για αυτό
δεν θα αναλυθούν εδώ.Για πιο λεπτομερή αναζήτηση μπορείτε να χρησιμοποιήσετε επίσης
make search key=φράση όπου
φράση είναι κάποιο κείμενο προς
αναζήτηση. Αυτό αναζητά ονόματα port, σχόλια, περιγραφές και
εξαρτήσεις, και μπορεί να χρησιμοποιηθεί για να βρεθούν ports που
σχετίζονται με ένα συγκεκριμένο θέμα, εάν δεν γνωρίζετε το όνομα
του προγράμματος που αναζητάτε.Σε όλες τις παραπάνω περιπτώσεις, η φράση προς αναζήτηση είναι
case-insensitive (δεν λαμβάνει υπόψη τις διαφορές κεφαλαίων-μικρών).
Η αναζήτηση για το LSOF, θα δώσει τα ίδια
αποτελέσματα με την αναζήτηση για το lsof.ChernLeeΣυνεισφορά του Χρησιμοποιώντας το Σύστημα των ΠακέτωνΕγκαθιστώντας ένα Πακέτοpackagesinstallingpkg_addΜπορείτε να χρησιμοποιήσετε το εργαλείο &man.pkg.add.1; για να
εγκαταστήσετε ένα πακέτο λογισμικού του &os; από ένα τοπικά
αποθηκευμένο αρχείο ή από έναν διακομιστή στο δίκτυο.Κατέβασμα ενός πακέτου χειροκίνητα και
εγκατάσταση του τοπικά&prompt.root; ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine is in Vienna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp>get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375 00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp>exit
&prompt.root; pkg_add lsof-4.56.4.tgzΕάν δεν έχετε μία τοπική πηγή πακέτων (όπως είναι ένα
&os; CD-ROM set) τότε ίσως είναι ευκολότερο να χρησιμοποιήσετε
την επιλογή για το &man.pkg.add.1;. Αυτή θα
κάνει το εργαλείο να καθορίσει αυτόματα τη σωστή μορφή και έκδοση
και έπειτα να ανακτήσει και να εγκαταστήσει το πακέτο από ένα FTP
site.pkg_add&prompt.root; pkg_add -r lsofΤο παραπάνω παράδειγμα θα κατεβάσει και θα
εγκαταστήσει το σωστό πακέτο χωρίς περαιτέρω επέμβαση του χρήστη.
Αν δεν θέλετε να χρησιμοποιήσετε το κύριο site διανομής πακέτων,
μπορείτε να χρησιμοποιήσετε κάποιο mirror. Για το σκοπό αυτό, θα
πρέπει να ρυθμίσετε σωστά την τιμή της PACKAGESITE,
ώστε να παρακάμψετε τις προεπιλεγμένες ρυθμίσεις. Το &man.pkg.add.1;
χρησιμοποιεί το &man.fetch.3; για να κατεβάσει τα
αρχεία, και αυτό με τη σειρά του χρησιμοποιεί διάφορες μεταβλητές
περιβάλλοντος, περιλαμβανομένων των
FTP_PASSIVE_MODE, FTP_PROXY, και
FTP_PASSWORD. Ίσως χρειαστεί να ρυθμίσετε μία ή
περισσότερες από αυτές αν βρίσκεστε πίσω από ένα firewall, ή ίσως να
χρειαστεί να χρησιμοποιήσετε έναν FTP/HTTP proxy. Δείτε το
&man.fetch.3; για την πλήρη λίστα των μεταβλητών. Προσέξτε ότι στο
παραπάνω παράδειγμα χρησιμοποιείται το lsof αντί
του lsof-4.56.4. Όταν γίνεται απομακρυσμένη λήψη,
πρέπει να αφαιρεθεί ο αριθμός έκδοσης του πακέτου.
Το &man.pkg.add.1; θα κατεβάσει αυτόματα την τελευταία
έκδοση της εφαρμογής.Το &man.pkg.add.1; θα κατεβάσει την τελευταία
έκδοση της εφαρμογής αν χρησιμοποιείτε &os.current; ή
&os.stable;. Αν τρέχετε μια -RELEASE έκδοση, θα
κατεβάσει την έκδοση του πακέτου που έχει
μεταγλωττιστεί με την έκδοση σας. Είναι δυνατό να το αλλάξετε
αυτό, αλλάζοντας την PACKAGESITE.
Για παράδειγμα, αν τρέχετε ένα σύστημα &os; 5.4-RELEASE,
το &man.pkg.add.1;, από προεπιλογή, θα προσπαθήσει να
κατεβάσει πακέτα από το
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/.
Αν θέλετε να αναγκάσετε το &man.pkg.add.1;
να κατεβάσει πακέτα του &os; 5-STABLE, θέστε
την PACKAGESITE ως
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/.Τα αρχεία των πακέτων διανέμονται σε μορφές
.tgz και .tbz. Μπορείτε
να τα βρείτε στο ,
ή στα CD-ROM της διανομής του &os;. Κάθε CD στο &os; 4-CD set (και
στο PowerPak, κλπ.) περιέχει πακέτα στον κατάλογο
/packages. Η κατηγοριοποίηση των πακέτων
ακολουθεί την δομή του δέντρου /usr/ports.
Κάθε κατηγορία έχει το δικό της κατάλογο, και κάθε πακέτο μπορεί να
βρεθεί στον κατάλογο All.Η δομή των καταλόγων του συστήματος πακέτων ταιριάζει με την
αντίστοιχη των ports. Τα δύο συστήματα συνεργάζονται μεταξύ τους για
να δημιουργήσουν το συνολικό σύστημα πακέτων/ports.Διαχείριση των ΠακέτωνpackagesmanagingΤο &man.pkg.info.1; είναι ένα εργαλείο που παραθέτει και
περιγράφει τα διάφορα πακέτα που είναι εγκαταστημένα.pkg_info&prompt.root; pkg_info
cvsup-16.1 A general network file distribution system optimized for CV
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...Το &man.pkg.version.1; είναι ένα εργαλείο που συνοψίζει τις
εκδόσεις όλων των εγκαταστημένων πακέτων. Συγκρίνει την έκδοση κάθε
πακέτου, με την τρέχουσα έκδοση που βρίσκεται στο δέντρο των
ports.pkg_version&prompt.root; pkg_version
cvsup =
docbook =
...Τα σύμβολα στην δεύτερη στήλη δηλώνουν την σχετική ηλικία
μεταξύ των εγκατεστημένων εκδόσεων και των εκδόσεων που είναι
διαθέσιμες στο τοπικό δέντρο των ports.ΣύμβολοΣημασία=Η έκδοση του εγκατεστημένου πακέτου ταιριάζει με αυτή
που είναι διαθέσιμη στο τοπικό δέντρο των ports.<Η εγκατεστημένη έκδοση είναι παλαιότερη από αυτή που
είναι διαθέσιμη στο δέντρο των ports.>Η εγκατεστημένη έκδοση είναι νεότερη από αυτή που είναι
διαθέσιμη στο τοπικό δέντρο των ports. (Το τοπικό δέντρο των
ports είναι πιθανότατα απαρχαιωμένο.)?Το εγκατεστημένο πακέτο δεν βρίσκεται στα περιεχόμενα
των ports. (Αυτό μπορεί να συμβεί, για παράδειγμα, αν ένα
εγκατεστημένο port έχει αφαιρεθεί από την Συλλογή των Ports,
ή έχει μετονομαστεί.)*Υπάρχουν πολλαπλές εκδόσεις του πακέτου.!Το εγκατεστημένο πακέτο υπάρχει στο index, αλλά για
κάποιο λόγο το pkg_version δεν κατάφερε να
συγκρίνει την έκδοση του εγκατεστημένου πακέτου με την
αντίστοιχη καταχώρηση στο index.Αφαιρώντας ένα Πακέτοpkg_deletepackagesdeletingΓια να αφαιρέσετε ένα εγκατεστημένο πακέτο λογισμικού,
χρησιμοποιήστε το εργαλείο &man.pkg.delete.1;.&prompt.root; pkg_delete xchat-1.7.1Σημειώστε ότι το &man.pkg.delete.1; απαιτεί το πλήρες όνομα και
αριθμό έκδοσης του πακέτου. Η παραπάνω εντολή δεν θα λειτουργήσει
αν δώσετε απλώς xchat αντί για
xchat-1.7.1. Είναι ωστόσο εύκολο να
χρησιμοποιήσετε την &man.pkg.version.1; για να βρείτε την έκδοση του
εγκατεστημένου πακέτου. Αντί για αυτό, μπορείτε επίσης να
χρησιμοποιήσετε ένα μπαλαντέρ:&prompt.root; pkg_delete xchat\*Στην περίπτωση αυτή, θα διαγραφούν όλα τα πακέτα που τα ονόματα
τους αρχίζουν με xchat.ΔιάφοραΌλες οι πληροφορίες για τα πακέτα είναι αποθηκευμένες στον
κατάλογο /var/db/pkg. Στα αρχεία αυτού του
καταλόγου, θα βρείτε τη περιγραφή κάθε πακέτου, καθώς και τη λίστα
των αρχείων που εγκαθιστά.Χρησιμοποιώντας την Συλλογή των PortsΤα παρακάτω τμήματα δίνουν βασικές οδηγίες χρήσης της
Συλλογής των Ports για εγκατάσταση ή διαγραφή προγραμμάτων στο
σύστημα σας. Μπορείτε να βρείτε λεπτομερή περιγραφή των διαθέσιμων
επιλογών του make και των μεταβλητών περιβάλλοντος
στο &man.ports.7;.Ανακτώντας την Συλλογή των PortsΠριν μπορέσετε να εγκαταστήσετε προγράμματα μέσω των ports,
πρέπει πρώτα να ανακτήσετε την Συλλογή των Ports. Πρόκειται
ουσιαστικά για μια συλλογή από Makefiles,
patches, και αρχεία περιγραφής που τοποθετούνται στο
/usr/ports.Όταν εγκαταστήσατε το &os; σύστημα σας,
το sysinstall σας ρώτησε αν θέλατε
να εγκαταστήσετε την Συλλογή των Ports. Αν επιλέξατε όχι, μπορείτε να
ακολουθήσετε αυτές τις οδηγίες για να ανακτήσετε την Συλλογή των
Ports:Μέθοδος CVSupΑυτή είναι μια γρήγορη μέθοδος για να ανακτήσετε και να
διατηρήσετε ένα ανανεωμένο αντίγραφο της Συλλογής των Ports,
χρησιμοποιώντας το πρωτόκολλο CVSup.
Αν θέλετε να μάθετε περισσότερα για το
CVSup, δείτε το
Χρησιμοποιώντας το CVSup.Η υλοποίηση του CVSup που
περιλαμβάνεται σε ένα σύστημα &os;, ονομάζεται
csup. Εμφανίστηκε για πρώτη φορά στο
&os; 6.2. Οι χρήστες παλαιότερων εκδόσεων του &os;, μπορούν
να το εγκαταστήσουν μέσω του πακέτου ή port
net/csup.Σιγουρευθείτε ότι το
/usr/ports
είναι άδειο πριν εκτελέσετε το csup για
πρώτη φορά! Εάν έχετε ήδη ανακτήσει τη Συλλογή των Ports μέσω
κάποιας άλλης πηγής, το csup
δεν θα διαγράψει patches που έχουν αφαιρεθεί στο μεταξύ.Εκτελέστε το csup:&prompt.root; csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfileΑλλάξτε το
cvsup.FreeBSD.org με έναν
κοντινό σας διακομιστή CVSup. Δείτε
το CVSup Mirrors () για την πλήρη λίστα των mirror
sites.Αν θέλετε, μπορείτε να χρησιμοποιήσετε το δικό σας
ports-supfile, ώστε να αποφύγετε
(για παράδειγμα) να δηλώσετε τον διακομιστή
CVSup στην γραμμή εντολών.Σε αυτή την περίπτωση, ως root,
αντιγράψτε το
/usr/share/examples/cvsup/ports-supfile
σε μία νέα τοποθεσία, όπως το /root ή
τον δικό σας home κατάλογο.Τροποποιήστε το ports-supfile.Αλλάξτε το
CHANGE_THIS.FreeBSD.org
με έναν κοντινό σας διακομιστή
CVSup.Δείτε το CVSup Mirrors
() για την
πλήρη λίστα των mirror sites.Εκτελέστε τώρα το csup, με τον
ακόλουθο τρόπο:&prompt.root; csup -L 2 /root/ports-supfileΕκτελώντας την εντολή &man.csup.1; αργότερα, θα
κατεβάσει και θα εφαρμόσει όλες
τις πρόσφατες αλλαγές στην Συλλογή των Ports, εκτός από το να
επανα-μεταγλωττίσει τα ports για το σύστημα σας.Μέθοδος PortsnapΤο Portsnap είναι ένα εναλλακτικό
σύστημα για την διανομή της
Συλλογής των Ports. Διατέθηκε πρώτη φορά στο &os; 6.0.
Σε παλαιότερα συστήματα, μπορείτε να το εγκαταστήσετε από το πακέτο
ports-mgmt/portsnap:&prompt.root; pkg_add -r portsnapΠαρακαλώ ελέγξτε το
- Χρησιμοποιώντας το Portsnap
+ Χρησιμοποιώντας το Portsnap
για μία λεπτομερή περιγραφή όλων των χαρακτηριστικών της
εφαρμογής.Από την &os; 6.1-RELEΑSE και με τις νεότερες εκδόσεις
του Portsnap, μπορείτε
να αποφύγετε αυτό το βήμα με ασφάλεια. Το /usr/ports θα δημιουργηθεί
αυτόματα με την πρώτη χρήση της εντολής &man.portsnap.8;.
Με παλαιότερες εκδόσεις του Portsnap,
πρέπει να δημιουργήσετε έναν άδειο κατάλογο /usr/ports αν δεν υπάρχει:&prompt.root; mkdir /usr/portsΚατεβάστε ένα συμπιεσμένο snapshot της
Συλλογής των Ports
/var/db/portsnap.
Αν θέλετε, μπορείτε να αποσυνδεθείτε από το Διαδίκτυο μετά από
αυτό το βήμα.&prompt.root; portsnap fetchΑν εκτελείτε το Portsnap για
πρώτη φορά, κάντε εξαγωγή του snapshot μέσα στο /usr/ports:&prompt.root; portsnap extractΕάν ήδη έχετε ένα γεμάτο /usr/ports και απλώς το ανανεώνετε,
εκτελέστε την ακόλουθη εντολή:&prompt.root; portsnap updateΜέθοδος SysinstallΑυτή η μέθοδος χρησιμοποιεί το
sysinstall για την εγκατάσταση της
Συλλογής των Ports από το μέσο εγκατάστασης. Σημειώστε ότι με αυτό
τον τρόπο θα εγκαταστήσετε το παλαιό αντίγραφο της
Συλλογής των Ports, που αντιστοιχεί στην ημερομηνία της έκδοσης του
&os; που χρησιμοποιείτε. Εάν έχετε πρόσβαση στο Διαδίκτυο, πρέπει
πάντα να χρησιμοποιείτε μία από τις μεθόδους που αναφέρθηκαν πιο
πάνω.Ως root, εκτελέστε το
sysinstall
(/stand/sysinstall σε εκδόσεις του &os;
πριν την 5.2) όπως φαίνεται παρακάτω:&prompt.root; sysinstallΕπιλέξτε το Configure,
και πιέστε Enter.Επιλέξτε το Distributions, και
πιέστε Enter.Μετακινηθείτε στο ports, και πιέστε
Space.Μετακινηθείτε στο Exit, και πιέστε
Enter.Επιλέξτε το μέσο εγκατάστασης της επιθυμίας σας, όπως CDROM,
FTP, και πάει λέγοντας.Μετακινηθείτε στο Exit και πιέστε
Enter.Πιέστε X για να βγείτε από το
sysinstall.Εγκαθιστώντας PortsportsinstallingΤο πρώτο πράγμα που πρέπει να διευκρινιστεί σχετικά
με την Συλλογή των Ports είναι η έννοια του όρου
skeleton (σκελετός). Με λίγα λόγια, ένα port skeleton
είναι η ελάχιστη συλλογή αρχείων που καθοδηγούν ένα σύστημα &os; ώστε
να μεταγλωττίσει και να εγκαταστήσει σωστά ένα πρόγραμμα. Κάθε port
skeleton περιέχει:Ένα Makefile. Το
Makefile περιέχει διάφορες δηλώσεις
που ορίζουν πως πρέπει να μεταγλωττιστεί η εφαρμογή και που
πρέπει να εγκατασταθεί στο σύστημά σας.Ένα αρχείο distinfo. Αυτό το αρχείο
περιέχει πληροφορίες για τα αρχεία που πρέπει να
κατέβουν για την μεταγλώττιση του port, και τα
checksums τους (χρησιμοποιώντας τις &man.md5.1; και
&man.sha256.1;), για να επιβεβαιωθεί ότι τα αρχεία δεν έχουν
αλλοιωθεί κατά την διάρκεια της μεταφοράς τους.Έναν κατάλογο files. Αυτός ο
κατάλογος περιέχει τα patches που επιτρέπουν στο πρόγραμμα να
μεταγλωττιστεί και εγκατασταθεί στο &os; σύστημα σας. Τα patches
είναι μικρά αρχεία που ορίζουν αλλαγές σε συγκεκριμένα αρχεία.
Είναι σε μορφή κοινού κειμένου, και βασικά λένε
Αφαίρεσε την γραμμή 10 ή
Μετέτρεψε τη γραμμή 26 σε αυτό .... Τα patches
είναι επίσης γνωστά ως diffs επειδή δημιουργούνται
με το πρόγραμμα &man.diff.1;.Αυτός ο κατάλογος μπορεί να περιέχει και άλλα αρχεία που
χρησιμοποιούνται για να μεταγλωττιστεί το port.Ένα αρχείο pkg-descr. Αυτό είναι μία πιο
λεπτομερής, συχνά πολλών γραμμών, περιγραφή του
προγράμματος.Ένα αρχείο pkg-plist. Αυτό περιέχει μια
λίστα όλων των αρχείων που θα εγκατασταθούν από το port.
Επίσης καθοδηγεί το σύστημα των ports τι αρχεία να αφαιρέσει
κατά την απεγκατάσταση.Μερικά ports έχουν και άλλα αρχεία, όπως το
pkg-message. Το σύστημα των ports χρησιμοποιεί
αυτά τα αρχεία για να χειριστεί ειδικές περιστάσεις. Αν θέλετε
περισσότερες λεπτομέρειες για αυτά τα αρχεία, και τα ports
γενικότερα, δείτε το &os; Porter's
Handbook.Το port περιέχει οδηγίες για το πως να μεταγλωττιστεί ο πηγαίος
κώδικας, αλλά δεν περιέχει τον πηγαίο κώδικα. Μπορείτε να
προμηθευτείτε τον πηγαίο κώδικα από ένα CD-ROM ή από το Διαδίκτυο.
Ο πηγαίος κώδικας διανέμεται με οποιοδήποτε τρόπο επιθυμεί ο
δημιουργός του. Συχνά είναι ένα tarred και gzipped αρχείο,
αλλά μπορεί να είναι συμπιεσμένος με κάποιο άλλο εργαλείο ή να είναι
ακόμα και ασυμπίεστος. Ο πηγαίος κώδικας του προγράμματος, σε
οποιαδήποτε μορφή κι αν διατίθεται, λέγεται distfile.
Οι δύο μέθοδοι για να εγκαταστήσετε ένα &os; port περιγράφονται
παρακάτω.Πρέπει να συνδεθείτε ως root για να
εγκαταστήσετε ports.Πριν εγκαταστήσετε οποιαδήποτε port, πρέπει να σιγουρευτείτε
ότι έχετε μία ανανεωμένη Συλλογή των Ports, και πρέπει να ελέγξετε
το για θέματα
ασφαλείας σχετικά με το port που ενδιαφέρεστε.Αν θέλετε να ελέγχετε αυτόματα για τυχόν προβλήματα ασφαλείας
πριν από κάθε εγκατάσταση νέας εφαρμογής, μπορείτε να
χρησιμοποιήσετε το portaudit.
Θα βρείτε αυτό το εργαλείο στην Συλλογή των Ports
(ports-mgmt/portaudit). Είναι
καλή ιδέα να εκτελέσετε το portaudit -F πριν
εγκαταστήσετε ένα νέο port, για να ανακτήσετε την τρέχουσα βάση
δεδομένων προβλημάτων ασφαλείας. Αντίστοιχος έλεγχος και ανανέωση
της βάσης δεδομένων εκτελείται επίσης αυτόματα κατά τον καθημερινό
έλεγχο ασφαλείας του συστήματος. Για περισσότερες
πληροφορίες διαβάστε τις σελίδες manual &man.portaudit.1; και
&man.periodic.8;.Η Συλλογή των Ports προϋποθέτει ότι έχετε λειτουργική σύνδεση με
το Διαδίκτυο. Εάν δεν έχετε, θα χρειαστεί να βάλετε μόνος σας ένα
αντίγραφο του distfile μέσα στο
/usr/ports/distfiles.Αρχικά, μετακινηθείτε στον κατάλογο του port που θέλετε να
εγκαταστήσετε:&prompt.root; cd /usr/ports/sysutils/lsofΜόλις βρεθείτε στον κατάλογο lsof, θα
δείτε τον port skeleton. Το επόμενο βήμα είναι να μεταγλωττίσετε,
ή να κτίσετε (build), το port. Αυτό γίνεται απλά
πληκτρολογώντας make στην γραμμή εντολών. Όταν το
κάνετε, θα δείτε κάτι όπως αυτό:&prompt.root; make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===> Extracting for lsof-4.57
...
[extraction output snipped]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[configure output snipped]
...
===> Building for lsof-4.57
...
[compilation output snipped]
...
&prompt.root;Προσέξτε ότι μόλις η μεταγλώττιση ολοκληρωθεί θα επιστρέψετε
στην γραμμή εντολών. Το επόμενο βήμα είναι να εγκαταστήσετε το
port. Για να το εγκαταστήσετε, χρειάζεται απλώς να προσθέσετε μια
λέξη στην εντολή make, και αυτή η λέξη είναι
install:&prompt.root; make install
===> Installing for lsof-4.57
...
[installation output snipped]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;Μόλις επιστρέψετε στην γραμμή εντολών, θα πρέπει να μπορείτε
να εκτελέσετε την εφαρμογή που μόλις εγκαταστήσατε. Θα δείτε μια
προειδοποίηση ασφαλείας, επειδή το lsof είναι ένα
πρόγραμμα που τρέχει με αυξημένα προνόμια. Κατά την μεταγλώττιση
και εγκατάσταση των ports, θα πρέπει να προσέχετε οποιαδήποτε
προειδοποίηση εμφανιστεί.Μια καλή ιδέα, είναι να διαγράψετε τον υποκατάλογο
που περιέχει όλα τα προσωρινά αρχεία που χρησιμοποιήθηκαν κατά την
μεταγλώττιση. Όχι μόνο καταναλώνουν πολύτιμο χώρο, άλλα μπορεί να
προκαλέσουν προβλήματα αργότερα όταν θα θελήσετε να εγκαταστήσετε μια
νεότερη έκδοση του port.&prompt.root; make clean
===> Cleaning for lsof-4.57
&prompt.root;Μπορείτε να γλιτώσετε δύο πρόσθετα βήματα απλώς εκτελώντας
make install clean αντί
για make,
make install και
make clean
ως τρία ξεχωριστά βήματα.Μερικά κελύφη κρατάνε μια λίστα από τις εντολές που βρίσκονται
διαθέσιμες στους καταλόγους που αναφέρονται στην μεταβλητή
περιβάλλοντος PATH, για να επιταχύνουν τις
αναζητήσεις για τα εκτελέσιμα αρχεία αυτών των εντολών.
Αν χρησιμοποιείτε ένα από αυτά τα κελύφη, θα πρέπει
να χρησιμοποιήσετε την εντολή rehash μετά
την εγκατάσταση ενός port, πριν μπορέσετε να χρησιμοποιήσετε τις
νέες εντολές. Αυτή η εντολή λειτουργεί σε κελύφη όπως το
tcsh. Χρησιμοποιήστε την εντολή
hash -r για κελύφη όπως το
sh. Δείτε την τεκμηρίωση του κελύφους σας για
περισσότερες πληροφορίες.Μερικά προϊόντα τρίτων κατασκευαστών σε DVD-ROM, όπως το &os;
Toolkit από το &os; Mall, περιέχουν
distfiles. Αυτά μπορούν να χρησιμοποιηθούν με την Συλλογή των Ports.
Προσαρτήστε το DVD-ROM στο /cdrom. Αν
χρησιμοποιείτε κάποιο διαφορετικό σημείο προσάρτησης, ρυθμίστε την
μεταβλητή CD_MOUNTPTS του make. Τα αναγκαία
distfiles θα χρησιμοποιηθούν αυτόματα αν υπάρχουν στο δισκάκι.Πρέπει να γνωρίζετε ότι οι άδειες μερικών ports δεν επιτρέπουν
την διανομή τους σε CD-ROM. Αυτό μπορεί να οφείλεται π.χ. στο ότι
πρέπει να συμπληρώσετε μια φόρμα εγγραφής πριν
κατεβάσετε την εφαρμογή, ή στο ότι δεν επιτρέπεται η
επαναδιανομή, ή σε κάποιο άλλο λόγο. Εάν θέλετε να εγκαταστήσετε
ένα port που δεν περιλαμβάνεται στο CD-ROM, θα χρειαστεί να είστε
συνδεδεμένος στο Διαδίκτυο για να το επιτύχετε.Το σύστημα των ports χρησιμοποιεί το &man.fetch.3; για να
κατεβάσει τα αρχεία. Το &man.fetch.3;
χρησιμοποιεί διάφορες μεταβλητές περιβάλλοντος, περιλαμβανομένων των
FTP_PASSIVE_MODE, FTP_PROXY, και
FTP_PASSWORD. Ίσως χρειαστεί να ρυθμίσετε μία ή
περισσότερες αν βρίσκεστε πίσω από ένα firewall, ή ίσως να χρειαστεί
να χρησιμοποιήσετε έναν FTP/HTTP proxy. Δείτε το &man.fetch.3; για
μια πλήρη λίστα των μεταβλητών αυτών.Για χρήστες που δεν μπορούν να είναι συνδεδεμένοι όλη την ώρα,
διατίθεται η επιλογή
make fetch.
Απλώς εκτελέστε την εντολή στον κατάλογο
(/usr/ports) και τα απαραίτητα αρχεία
θα κατέβουν για εσάς. Η εντολή αυτή θα λειτουργήσει
και σε υποκαταλόγους, όπως για παράδειγμα:
/usr/ports/net. Προσέξτε ότι αν ένα port
εξαρτάται από βιβλιοθήκες ή άλλα ports, η εντολή αυτή
δεν θα ανακτήσει τα distfiles τους.
Αντικαταστήστε το fetch με το
fetch-recursive
αν θέλετε μαζί με το port να ανακτήσετε και όλες τις
εξαρτήσεις του.Μπορείτε να μεταγλωττίσετε όλα τα ports σε μία κατηγορία ή
ακόμα και σε όλες, εκτελώντας το make στον αρχικό
κατάλογο, όπως με την προαναφερθείσα
make fetch μέθοδο.
Αυτό όμως είναι επικίνδυνο, γιατί μερικά ports δεν μπορούν να
συνυπάρχουν. Σε άλλες περιπτώσεις, μερικά ports μπορεί να
εγκαταστήσουν δυο διαφορετικά αρχεία με το με το ίδιο
όνομα.Σε μερικές σπάνιες περιπτώσεις, οι χρήστες μπορεί να χρειάζεται
να ανακτήσουν τα tarballs από ένα site διαφορετικό από τα
MASTER_SITES (η τοποθεσία από όπου
κατεβαίνουν τα αρχεία). Μπορείτε να αλλάξετε την
επιλογή MASTER_SITES με την ακόλουθη
εντολή:&prompt.root; cd /usr/ports/directory
&prompt.root; make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetchΣε αυτό το παράδειγμα αλλάξαμε την επιλογή
MASTER_SITES σε ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.Μερικά ports επιτρέπουν (ή απαιτούν) να δώσετε επιλογές
μεταγλώττισης που μπορούν να ενεργοποιήσουν/απενεργοποιήσουν
τμήματα της εφαρμογής που είναι αχρείαστα, συγκεκριμένες επιλογές
ασφαλείας, και άλλες τροποποιήσεις. Κοινά παραδείγματα τέτοιων
ports είναι τα www/mozilla,
security/gpgme, και το
mail/sylpheed-claws. Όταν
υπάρχουν διαθέσιμες τέτοιες επιλογές, θα εμφανιστεί στην οθόνη
σας σχετικό μήνυμα.Παρακάμπτοντας τους Προεπιλεγμένους Καταλόγους των
PortsΜερικές φορές είναι χρήσιμο (ή επιτακτικό) να χρησιμοποιήσετε
ένα διαφορετικό κατάλογο εργασίας και εγκατάστασης. Οι μεταβλητές
WRKDIRPREFIX και PREFIX
μπορούν να παρακάμψουν τους προεπιλεγμένους καταλόγους. Για
παράδειγμα, η εντολή:&prompt.root; make WRKDIRPREFIX=/usr/home/example/ports installθα μεταγλωττίσει το port στο
/usr/home/example/ports και θα εγκαταστήσει
τα πάντα στο /usr/local, ενώ η εντολή:&prompt.root; make PREFIX=/usr/home/example/local installθα μεταγλωττίσει το port στο /usr/ports και
θα το εγκαταστήσει στο
/usr/home/example/local.Και φυσικά η εντολή:&prompt.root; make WRKDIRPREFIX=../ports PREFIX=../local installθα συνδυάσει και τα δυο (είναι πολύ μεγάλη για να την δείξουμε
εδώ, άλλα πρέπει να πήρατε την γενική ιδέα).Εναλλακτικά, αυτές οι μεταβλητές μπορούν να ρυθμιστούν ως μέρος
του περιβάλλοντος σας. Διαβάστε την σελίδα manual για το κέλυφος
σας, για να βρείτε τις σχετικές οδηγίες.Αντιμετωπίζοντας το imakeΜερικά ports που χρησιμοποιούν το imake
(μέρος του X Window System) δεν συνεργάζονται σωστά με το
PREFIX, και επιμένουν να εγκατασταθούν
στο /usr/X11R6. Όμοια, μερικά Perl
ports αγνοούν το PREFIX και εγκαθίστανται στο
δέντρο Perl. Το να κάνετε αυτά τα ports να σέβονται το
PREFIX είναι μία δύσκολη ή αδύνατη
δουλειά.Επαναρύθμιση Επιλογών PortsΌταν μεταγλωττίζετε κάποια ports, μπορεί να εμφανιστεί στην
οθόνη σας ένα μενού επιλογών (βασισμένο σε ncurses) το οποίο να σας
επιτρέπει να αλλάξετε διάφορες επιλογές μεταγλώττισης. Δεν είναι
σπάνιο κάποιοι χρήστες να θέλουν να επισκεφτούν ξανά αυτό το μενού,
για να προσθέσουν, να αφαιρέσουν ή να αλλάξουν κάποιες επιλογές,
μετά την μεταγλώττιση του port. Μια επιλογή είναι να μετακινηθείτε
στον κατάλογο του port και να γράψετε
make config, με το
οποίο θα εμφανιστεί ξανά το μενού με τις προηγούμενες ρυθμίσεις σας
ήδη επιλεγμένες. Μια άλλη δυνατότητα, είναι να χρησιμοποιήσετε την
εντολή make showconfig,
με την οποία θα δείτε όλες τις επιλεγμένες ρυθμίσεις του port.
Τέλος, μια ακόμα επιλογή είναι να εκτελέσετε την εντολή
make rmconfig η οποία
θα αφαιρέσει όλες τις αποθηκευμένες επιλογές και θα σας επιτρέψει να
ξεκινήσετε ξανά από την αρχή. Όλες αυτές οι επιλογές, και ακόμα
περισσότερες, εξηγούνται στη σελίδα manual του &man.ports.7;.Αφαιρώντας Εγκατεστημένα PortsportsremovingΤώρα που γνωρίσατε πως να εγκαθιστάτε ports, πιθανώς θα
αναρωτιέστε πως αφαιρούνται, στην περίπτωση που εγκαταστήσατε ένα
και αργότερα αποφασίσατε ότι εγκαταστήσατε το λάθος port.
Θα αφαιρέσουμε το προηγούμενο παράδειγμα (που ήταν το
lsof για όσους δεν το πρόσεξαν). Τα ports
αφαιρούνται όπως και τα πακέτα (το αναλύσαμε στην ενότητα Χρησιμοποιώντας το Σύστημα των
Πακέτων), χρησιμοποιώντας την
εντολή &man.pkg.delete.1;:&prompt.root; pkg_delete lsof-4.57Αναβαθμίζοντας τα PortsportsupgradingΑρχικά, δείτε τα παρωχημένα ports για τα οποία υπάρχουν
διαθέσιμες νεότερες εκδόσεις στην Συλλογή των Ports, με την εντολή
&man.pkg.version.1;:&prompt.root; pkg_version -v/usr/ports/UPDATINGΜόλις ανανεώσετε την Συλλογή των Ports, πρέπει να ελέγξετε το
αρχείο /usr/ports/UPDATING, πριν επιχειρήσετε
την αναβάθμιση ενός port. Αυτό το αρχείο περιγράφει διάφορα πιθανά
προβλήματα, καθώς και ενδεχόμενα πρόσθετα βήματα που πρέπει να
εκτελέσετε όταν ανανεώνετε ένα port. Παραδείγματα των παραπάνω,
είναι η αλλαγή μορφής κάποιων αρχείων, αλλαγή στην τοποθεσία
των αρχείων ρυθμίσεων, ή άλλες ασυμβατότητες
με παλαιότερες εκδόσεις.Αν το UPDATING αναιρεί κάτι που διαβάσατε
εδώ, θεωρήστε ότι ισχύει το UPDATING.Αναβαθμίζοντας Ports με το PortupgradeportupgradeΤο εργαλείο portupgrade είναι
σχεδιασμένο για να αναβαθμίζει εύκολα εγκατεστημένα ports.
Διατίθεται από το
ports-mgmt/portupgrade port.
Εγκαταστήστε το όπως κάθε port, χρησιμοποιώντας την εντολή
make install clean:&prompt.root; cd /usr/ports/ports-mgmt/portupgrade
&prompt.root; make install cleanΗ εντολή pkgdb -F θα διαβάσει και θα
διορθώσει όλες τις ασυνέπειες που ίσως υπάρχουν στη λίστα των
εγκατεστημένων ports. Είναι καλή ιδέα είναι να την εκτελείτε
συχνά, ενδεχομένως πριν από κάθε αναβάθμιση.Όταν εκτελείτε το portupgrade -a, το
portupgrade θα αρχίσει να αναβαθμίζει
όλα τα παρωχημένα ports που είναι εγκατεστημένα στο σύστημα σας.
Χρησιμοποιήστε την επιλογή αν θέλετε να σας
ρωτά για επιβεβαίωση για κάθε ξεχωριστή αναβάθμιση.&prompt.root; portupgrade -aiΑν θέλετε να αναβαθμίσετε μόνο μία συγκεκριμένη εφαρμογή, και
όχι όλα τα διαθέσιμα ports, χρησιμοποιήστε το
portupgrade pkgname.
Συμπεριλάβετε την επιλογή αν το
portupgrade πρέπει πρώτα να αναβαθμίσει
όλα τα ports που απαιτούνται για την συγκεκριμένη εφαρμογή.&prompt.root; portupgrade -R firefoxΓια να χρησιμοποιήσετε πακέτα αντί για ports στην εγκατάσταση,
δώστε την επιλογή . Με αυτή την επιλογή το
portupgrade αναζητά
τους τοπικούς καταλόγους που ορίζονται στο PKG_PATH,
ή ανακτά τα πακέτα από απομακρυσμένα sites εάν δεν βρεθούν τοπικά.
Αν τα πακέτα δεν μπορούν να ανακτηθούν με τους παραπάνω τρόπους, το
portupgrade θα χρησιμοποιήσει τα ports.
Για να αποφύγετε εντελώς την χρήση των ports, καθορίστε την επιλογή
.&prompt.root; portupgrade -PR gnome2Για να ανακτήσετε απλώς τα distfiles (ή τα πακέτα, αν έχετε
ορίσει την επιλογή ) χωρίς να μεταγλωττίσετε ή να
εγκαταστήσετε τίποτα, χρησιμοποιήστε το .
Για περισσότερες πληροφορίες, δείτε το &man.portupgrade.1;.Αναβαθμίζοντας Ports με το PortmanagerportmanagerΤο Portmanager είναι ένα ακόμα
εργαλείο για εύκολη αναβάθμιση εγκατεστημένων ports. Διατίθεται
από το ports-mgmt/portmanager
port:&prompt.root; cd /usr/ports/ports-mgmt/portmanager
&prompt.root; make install cleanΌλα τα εγκατεστημένα ports μπορούν να αναβαθμιστούν
χρησιμοποιώντας αυτή την απλή εντολή:&prompt.root; portmanager -uΜπορείτε να προσθέσετε την επιλογή για να
ερωτηθείτε να επιβεβαιώσετε κάθε βήμα που θα εκτελέσει το
Portmanager.
Το Portmanager μπορεί επίσης
να χρησιμοποιηθεί για να εγκαταστήσετε νέα ports στο σύστημα.
Σε αντίθεση με την εντολή
make install clean, το
Portmanager θα αναβαθμίσει όλες
τις εξαρτήσεις πριν την μεταγλώττιση και εγκατάσταση του
επιλεγμένου port.&prompt.root; portmanager x11/gnome2Αν υπάρχουν προβλήματα που σχετίζονται με τις εξαρτήσεις ενός
επιλεγμένου port, μπορείτε να χρησιμοποιήσετε το
Portmanager για να τις
επανα-μεταγλωττίσει όλες με την σωστή σειρά. Μόλις τελειώσει με
τις εξαρτήσεις, θα επανα-μεταγλωττίσει και το προβληματικό
port.&prompt.root; portmanager graphics/gimp -fΓια περισσότερες πληροφορίες δείτε τη σελίδα manual
&man.portmanager.1;.Αναβαθμίζοντας τα Ports μέσω του PortmasterportmasterΤο Portmaster είναι ένα ακόμα
εργαλείο για την αναβάθμιση των εγκατεστημένων ports. Το
Portmaster σχεδιάστηκε ώστε να
χρησιμοποιεί τα εργαλεία που παρέχει το βασικό
σύστημα (δεν εξαρτάται από άλλα ports) και χρησιμοποιεί τις
πληροφορίες του /var/db/pkg
για να καθορίσει ποια ports θα αναβαθμίσει. Είναι διαθέσιμο μέσω
του port
ports-mgmt/portmaster:&prompt.root; cd /usr/ports/ports-mgmt/portmaster
&prompt.root; make install cleanΤο Portmaster ομαδοποιεί τα ports
σε τέσσερις κατηγορίες:Root ports (δεν εξαρτώνται από άλλα, και ούτε άλλα
εξαρτώνται από αυτά)Trunk ports (δεν εξαρτώνται από άλλα, ωστόσο κάποια πακέτα
εξαρτώνται από αυτά)Branch ports (έχουν εξαρτήσεις και προς τις δύο
κατευθύνσεις)Leaf ports (εξαρτώνται από άλλα, αλλά όχι το
αντίθετο)Μπορείτε να δείτε μια λίστα όλων των εγκατεστημένων ports και
να ψάξετε για ενημερωμένες εκδόσεις, χρησιμοποιώντας την επιλογή
:&prompt.root; portmaster -L
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache-2.2.3
===>>> New version available: apache-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports
===>>> 137 total installed ports
===>>> 83 have new versions availableΜπορείτε να αναβαθμίσετε όλα τα εγκατεστημένα ports με την
παρακάτω απλή εντολή:&prompt.root; portmaster -aΑπό προεπιλογή, το Portmaster
θα δημιουργήσει αντίγραφο ασφαλείας του εγκατεστημένου πακέτου
πριν το διαγράψει. Αν η εγκατάσταση της νέας έκδοσης είναι
επιτυχής, το Portmaster θα σβήσει το
αντίγραφο αυτό. Αν χρησιμοποιήσετε την επιλογή
, το Portmaster δεν
θα σβήσει αυτόματα το αντίγραφο. Αν χρησιμοποιήσετε την επιλογή
, θα θέσετε το
Portmaster σε διαδραστική λειτουργία,
όπου θα σας ζητάει επιβεβαίωση πριν την αναβάθμιση κάθε
port.Αν αντιμετωπίσετε λάθη κατά τη διαδικασία της αναβάθμισης,
μπορείτε να χρησιμοποιήσετε την επιλογή για
να αναβαθμίσετε και να μεταγλωττίσετε ξανά όλα τα ports:&prompt.root; portmaster -afΜπορείτε επίσης να χρησιμοποιήσετε το
Portmaster για να εγκαταστήσετε νέα
ports στο σύστημα σας, αναβαθμίζοντας και όλες τις εξαρτήσεις τους
πριν τη μεταγλώττιση και εγκατάσταση τους:&prompt.root; portmaster shells/bashΠαρακαλούμε δείτε τη σελίδα manual του &man.portmaster.8; για
περισσότερες πληροφορίες.Ports και Αποθηκευτικός Χώροςportsdisk-spaceΗ Συλλογή των Ports καταναλώνει διαθέσιμο χώρο στο δίσκο με την
πάροδο του χρόνου. Μετά την μεταγλώττιση και εγκατάσταση λογισμικού
από τα ports, πρέπει πάντα να θυμάστε να καθαρίζετε τους προσωρινούς
καταλόγους work
χρησιμοποιώντας την εντολή
make clean. Mπορείτε να
καθαρίσετε όλη την Συλλογή των Ports με την ακόλουθη εντολή:&prompt.root; portsclean -CΜε την πάροδο του χρόνου, θα συσσωρευτούν πολλά αρχεία διανομής
πηγαίου κώδικα στον κατάλογο
distfiles.
Μπορείτε να τα αφαιρέσετε χειροκίνητα, ή μπορείτε να χρησιμοποιήσετε
την ακόλουθη εντολή για να διαγράψετε όλα τα distfiles που δεν
σχετίζονται πλέον με κανένα port:&prompt.root; portsclean -DΉ για να αφαιρέσετε όλα τα distfiles που δεν σχετίζονται με
κανένα port που βρίσκεται εγκατεστημένο στο σύστημα σας:&prompt.root; portsclean -DDΤο εργαλείο portsclean εγκαθίσταται ως μέρος
του portupgrade.Μην ξεχνάτε να αφαιρείτε τα εγκατεστημένα ports όταν δεν τα
χρειάζεστε πλέον. Ένα καλό εργαλείο για να αυτοματοποιηθεί αυτή η
εργασία, είναι το port
ports-mgmt/pkg_cutleaves.Ενέργειες μετά την ΕγκατάστασηΜετά την εγκατάσταση μιας νέας εφαρμογής, λογικά θα θέλετε
να διαβάσετε ότι τεκμηρίωση υπάρχει, να τροποποιήσετε τα
αρχεία ρυθμίσεων που χρειάζεται, να βεβαιωθείτε ότι η
εφαρμογή ξεκινάει κατά την εκκίνηση (αν είναι daemon), κ.λ.π.Τα ακριβή βήματα που θα χρειαστούν για να ρυθμίσετε κάθε
εφαρμογή, θα είναι προφανώς διαφορετικά. Όμως, αν μόλις
εγκαταστήσατε μια νέα εφαρμογή και αναρωτιέστε Τώρα τι;
οι παρακάτω συμβουλές μπορεί να σας βοηθήσουν:Χρησιμοποιήστε το &man.pkg.info.1; για να δείτε τι αρχεία
εγκαταστάθηκαν, και που. Για παράδειγμα, αν μόλις εγκαταστήσατε το
FooPackage version 1.0.0, τότε η εντολή:&prompt.root; pkg_info -L foopackage-1.0.0 | lessθα σας δείξει όλα τα αρχεία που εγκαταστάθηκαν από αυτό το
πακέτο. Προσέξτε τα αρχεία στον κατάλογο
man/, που θα είναι σελίδες manual, τους
κατάλογους etc/, όπου θα είναι τα αρχεία
ρυθμίσεων, και το doc/, όπου θα βρίσκεται πιο
περιεκτική τεκμηρίωση.Αν δεν είστε σίγουρος ποια έκδοση της εφαρμογής εγκαταστήσατε,
μια εντολή όπως αυτή:&prompt.root; pkg_info | grep -i foopackageθα βρει όλα τα εγκατεστημένα πακέτα που έχουν το
foopackage στο όνομα του πακέτου.
Αντικαταστήστε το foopackage στην
γραμμή εντολών με το πακέτο που αναζητάτε.Μόλις δείτε που βρίσκονται τα manual pages της εφαρμογής, δείτε
τα με την &man.man.1;. Όμοια, δείτε τα παραδείγματα των αρχείων
ρύθμισης, και όποια άλλη πρόσθετη τεκμηρίωση διατίθεται.Αν υπάρχει web site για την εφαρμογή, ελέγξτε το για πρόσθετη
τεκμηρίωση, συχνές ερωτήσεις (FAQ), και άλλα. Αν δεν είστε
σίγουρος για την διεύθυνσή του web site, ίσως το βρείτε στην έξοδο
της εντολής:&prompt.root; pkg_info foopackage-1.0.0Αν υπάρχει γραμμή WWW:, θα πρέπει να
έχει το URL για το web site της εφαρμογής.Ports που πρέπει να ξεκινούν κατά την εκκίνηση
(όπως διακομιστές Internet) συνήθως εγκαθιστούν ένα script στο
/usr/local/etc/rc.d. Πρέπει να ελέγξετε το
script για την ορθότητα του και να το τροποποιήσετε ή να το
μετονομάσετε αν χρειάζεται. Δείτε το Εκκινώντας
Υπηρεσίες για περισσότερες πληροφορίες.Αντιμετωπίζοντας Χαλασμένα PortsΑν έρθετε αντιμέτωπος με ένα port το οποίο δεν λειτουργεί,
υπάρχουν κάποια πράγματα που μπορείτε να κάνετε:Δείτε αν εκκρεμεί κάποια διόρθωση για το port στο
Problem Report
database. Εάν ναι, μπορείτε να χρησιμοποιήσετε τη
προτεινόμενη διόρθωση.Ζητήστε βοήθεια από τον συντηρητή του port. Πληκτρολογήστε
make maintainer ή
διαβάστε το Makefile για να βρείτε την
διεύθυνση email του συντηρητή. Στο μήνυμα σας, θυμηθείτε να
συμπεριλάβετε το όνομα και την έκδοση του port (στείλτε τη γραμμή
$&os;: από το
Makefile) καθώς και την έξοδο του
σφάλματος.Μερικά ports δεν συντηρούνται από κάποιο συγκεκριμένο άτομο,
αλλά από κάποια mailing
list. Πολλές, αν όχι όλες, από αυτές τις διευθύνσεις
έχουν την μορφή
freebsd-listname@FreeBSD.org.
Παρακαλούμε να το έχετε υπόψη σας κατά τη διατύπωση των
ερωτήσεων σας.Συγκεκριμένα, τα ports που φαίνονται ότι συντηρούνται από την
freebsd-ports@FreeBSD.org, δεν
συντηρούνται από κανέναν στην πραγματικότητα. Διορθώσεις και
υποστήριξη, αν υπάρχουν, έρχονται γενικά από την κοινότητα που
συμμετέχει στην συγκεκριμένη mailing list. Χρειαζόμαστε πάντοτε
περισσότερους εθελοντές!Αν δεν λάβετε απάντηση,
μπορείτε να χρησιμοποιήσετε το &man.send-pr.1; για να στείλετε
μια αναφορά σφάλματος (δείτε το Γράφοντας
Αναφορές Σφάλματος για το &os;).Διορθώστε το! Το Porter's
Handbook περιέχει λεπτομερείς πληροφορίες για την υποδομή
των Ports ώστε να μπορείτε να διορθώσετε το
περιστασιακό προβληματικό port ή ακόμα και να δημιουργήσετε ένα
δικό σας port!Ανακτήστε το πακέτο από ένα κοντινό σας FTP site. Η
κύρια συλλογή πακέτων βρίσκεται στο ftp.FreeBSD.org, στον κατάλογο
πακέτων. Πριν τη χρησιμοποιήσετε, ελέγξτε
πρώτα το τοπικό σας mirror.
Τα πακέτα είναι πιο σίγουρο ότι θα λειτουργήσουν,
από το να προσπαθείτε να μεταγλωττίσετε τον πηγαίο κώδικα, και
η διαδικασία τελειώνει πιο γρήγορα. Χρησιμοποιήστε το πρόγραμμα
&man.pkg.add.1; για να εγκαταστήσετε το πακέτο στο
σύστημα σας.