diff --git a/el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml b/el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml
index 3af3ff96c0..433942d2ca 100644
--- a/el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml
+++ b/el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml
@@ -1,783 +1,792 @@
%articles.ent;
]>
Εγκατάσταση ενός CVS Repository - ο τρόπος του FreeBSDStijnHoopstijn@win.tue.nl200120022003Stijn Hoop$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.general;
Το άρθρο αυτό περιγράφει τα βήματα που έκανα για να εγκαταστήσω
ένα CVS repository που χρησιμοποιεί τα ίδια scripts (αρχεία δέσμης εντολών)
με αυτά που χρησιμοποιεί και το FreeBSD project στη δική του
εγκατάσταση. Η συγκεκριμένη προσέγγιση έχει αρκετά πλεονεκτήματα
έναντι μιας τυποποιημένης CVS εγκατάστασης, όπως ένα περισσότερο
κατευθυνόμενo έλεγχο πρόσβασης στο δέντρο του κώδικα καθώς και
αυτόματη παραγωγή ευανάγνωστων email με λεπτομέρειες για κάθε
commit.ΕισαγωγήΤα περισσότερα projects ανοιχτού κώδικα (open source) χρησιμοποιούν το
CVS σαν σύστημα ελέγχου του κώδικα τους.
Παρόλο που το CVS είναι πολύ καλό σε αυτόν
τον τομέα έχει κι αυτό το μερίδιό του σε ελαττώματα και αδυναμίες. Μια
από αυτές είναι το ότι η κοινή χρήση κώδικα μπορεί γρήγορα να οδηγήσει
σε έναν εφιάλτη διαχείρισης, ειδικά αν υπάρχει η επιθυμία να
προστατευτούν ορισμένα κομμάτια του δέντρου του κώδικα από κοινή
πρόσβαση.Το FreeBSD είναι ένα από τα έργα που χρησιμοποιεί το
CVS. Διαθέτει επίσης μια μεγάλη βάση από
developers από πολλές διαφορετικές χώρες. Αναπτύχθηκαν λοιπόν μερικά
scripts για να κάνουν την διαχείριση του repository πιο εύκολη.
Πρόσφατα τα scripts αυτά αναθεωρήθηκαν και κανονικοποιήθηκαν από τον
&a.joe; για να είναι πιο εύκολο να χρησιμοποιηθούν και σε άλλα
έργα. Το άρθρο αυτό περιγράφει μια μέθοδο χρήσης αυτών των νέων
scripts.Για να μπορέσετε να χρησιμοποιήσετε με τον καλύτερο τρόπο τις
πληροφορίες αυτού του άρθρου θα πρέπει να γνωρίζετε τις βασικές μεθόδους
λειτουργίας του CVS.Πρώτη ΕγκατάστασηΤο καλύτερο θα ήταν να εκτελέσετε για πρώτη φορά αυτή τη
διαδικασία χρησιμοποιώντας ένα κενό δοκιμαστικό repository, για να
είναι βέβαιο ότι θα κατανοήσετε όλες τις συνέπειες. Όπως πάντα,
σιγουρευτείτε ότι έχετε πρόσφατα backups, τα οποία εγγυημένα
δουλεύουν!Αρχικοποίηση του repositoryΤο πρώτο πράγμα που θα πρέπει να κάνετε όταν στήνετε ένα νέο
repository είναι να πείτε στο CVS να το
αρχικοποιήσει:&prompt.user; cvs -d path-to-repository initΑυτό λέει στο CVS να δημιουργήσει τον
φάκελο διαχείρισης CVSROOT, όπου συμβαίνουν όλες
οι παραμετροποιήσεις.Η ομάδα του repositoryΤώρα θα δημιουργήσουμε την ομάδα στην οποία θα ανήκει το
repository. Όλοι οι committers θα πρέπει να ανήκουν σε αυτή την ομάδα,
ώστε να μπορούν να γράφουν στο repository. Για το σκοπό αυτό θα
χρησιμοποιήσουμε την ίδια ομάδα που χρησιμοποιεί γι' αυτό και το
FreeBSD, την ομάδα ncvs.&prompt.root; pw groupadd ncvsΜετά, θα πρέπει να εκτελέσετε την &man.chown.8; στον φάκελο με
παραμέτρους την ομάδα που μόλις προσθέσατε:&prompt.root; chown -R :ncvspath-to-your-repositoryΑυτό εξασφαλίζει ότι κανείς δεν θα μπορεί να γράψει στο repository αν
δεν ανήκει στην σωστή ομάδα.Παίρνοντας τον πηγαίο κώδικαΤώρα θα πρέπει να αποκτήσετε τον κατάλογο CVSROOT
από το repository του FreeBSD. Αυτό γίνεται εύκολα, κάνοντας
check out από ένα ανοιχτής πρόσβασης FreeBSD CVS mirror. Δείτε το
σχετικό κεφάλαιο στο εγχειρίδιο για περισσότερες
πληροφορίες. Ας υποθέσουμε ότι ο πηγαίος κώδικας θα αποθηκευτεί στον
κατάλογο CVSROOT-freebsd που βρίσκεται μέσα στον
τρέχοντα κατάλογο.Αντιγράφοντας τα scripts του FreeBSDΎστερα, αντιγράφουμε τον πηγαίο κώδικα από τον
CVSROOT κατάλογο του FreeBSD στο δικό μας repository. Αν είστε
συνηθισμένος με το CVS, ίσως να
σας περάσει από το μυαλό να προσπαθήσετε να κάνετε import τα scripts, σε μια προσπάθεια να
γίνει ύστερα ο συγχρονισμός με τις κατοπινές εκδόσεις ευκολότερος.
Ωστόσο, αποδεικνύεται ότι το CVS παρουσιάζει
μια δυσλειτουργία στην περιοχή αυτή: Όταν εισάγετε πηγαίο κώδικα μέσα
στο CVSROOT φάκελο, δεν θα ενημερωθούν τα
απαραίτητα αρχεία διαχείρισης. Για να μπορέσετε να το κάνετε να τα
αναγνωρίσει, θα πρέπει να κάνετε checkin ξεχωριστά κάθε αρχείο αφού
έχετε τελειώσει με την εισαγωγή, χάνοντας έτσι την αξία του
cvs import. Επομένως, η προτεινόμενη μέθοδος είναι
απλά να αντιγράψετε τα scripts.Δεν είναι και τόσο σημαντικό το αν η παραπάνω παράγραφος δεν σας
φαίνεται πολύ ξεκάθαρη—το τελικό αποτέλέσμα είναι το ίδιο. Απλά
ελέγξτε τον CVSROOT φάκελο και αντιγράψτε τα
FreeBSD αρχεία πάνω από τα δικά σας τοπικά (απείραχτα) αντίγραφα:&prompt.user; cvs -d path-to-your-repository checkout CVSROOT
&prompt.user; cd CVSROOT
&prompt.user; cp ../CVSROOT-freebsd/* .
&prompt.user; cvs add *Σημειώστε ότι πιθανότατα θα πάρετε μερικές προειδοποιήσεις σχετικά με
το ότι μερικοί φάκελοι δεν θα αντιγραφούν. Αυτό είναι και το επιθυμητό
καθώς δεν τους χρειάζεστε.Tα scriptsΤώρα έχετε στον φάκελο εργασίας σας ένα ακριβές αντίγραφο των
scripts που το ίδιο το FreeBSD project χρησιμοποιεί στο δικό του
repository. Μια περίληψη του σε τι χρησιμεύει το κάθε αρχείο
περιλαμβάνεται παρακάτω.access - το αρχείο αυτό δεν
χρησιμοποιείται στην εξ' ορισμού εγκατάσταση. Χρησιμοποιείται μόνο
στην ειδική εγκατάσταση του
FreeBSD project, όπου και ελέγχει την πρόσβαση στο
repository. Μπορείτε να αφαιρέσετε αυτό το αρχείο αν δεν σας
ενδιαφέρει να χρησιμοποιήσετε κάτι τέτοιο στη δική σας
εγκατάσταση.avail - το αρχείο αυτό ελέγχει την
πρόσβαση στο repository. Μέσα σε αυτό, μπορείτε να καθορίσετε
ομάδες χρηστών στους οποίους θέλετε να δώσετε πρόσβαση στο
repository, όπως επίσης και να απαγορέψετε commits σε επίπεδο
φακέλου. Θα πρέπει να το προσαρμόσετε ώστε να περιέχει τις ομάδες
χρηστών και τους φακέλους που θα υπάρχουν στο δικό σας
repository.cfg.pm - το αρχείο αυτό ερμηνεύει τις
ρυθμίσεις σας και παρέχει τις εξ' ορισμού ρυθμίσεις.
Δεν πρέπει να αλλάξετε αυτό το αρχείο.
Αντίθετα, θα πρέπει να τοποθετήσετε τις δικές σας αλλαγές στις
ρυθμίσεις στο αρχείο cfg_local.pm.cfg_local.pm - το αρχείο αυτό περιέχει
όλες τις ρυθμιζόμενες παραμέτρους του συστήματος. Θα πρέπει να
κάνετε οποιεσδήποτε ρυθμίσεις σας εδώ, όπως σε ποια διεύθυνση θα στέλνονται τα
email από κάθε commit, σε ποιους hosts θα επιτρέπεται να γίνονται commit,
κλπ. Περισσότερες πληροφορίες σχετικά με αυτό θα βρείτε
παρακάτω.checkoutlist - το αρχείο αυτό
περιλαμβάνει όλα τα αρχεία που βρίσκονται κάτω από τον έλεγχο του
CVS στον κατάλογο αυτό—όλα
εκτός από τα προκαθορισμένα αρχεία που δημιουργεί η εντολή
cvs init. Θα πρέπει να
το αλλάξετε για να αφαιρέσετε μερικά, σχετικά μόνο με το FreeBSD,
αρχεία.commit_prep.pl - το script αυτό εκτελεί
διάφορους ελέγχους πριν από κάθε commit, βασισμένο στο αν τους
έχετε ενεργοποιήσει στο cfg_local.pm. Δεν θα
χρειαστεί να πειράξετε αυτό το αρχείο.commitcheck - το script αυτό καλείται
απευθείας από το CVS. Πρώτα ελέγχει,
χρησιμοποιώντας το πρόγραμμα cvs_acls.pl, αν
ο committer έχει πρόσβαση στο συγκεκριμένο μέρος του δέντρου του
κώδικα, και μετά εκτελεί το commit_prep.pl
που εκτελεί τους διάφορους pre-commit ελέγχους. Αν δεν υπάρξει
κάποιο πρόβλημα στους τελευταίους, τότε το
CVS θα επιτρέψει στο commit να
συνεχίσει. Δεν θα χρειαστεί να πειράξετε αυτό το αρχείο.commitinfo - το αρχείο αυτό
χρησιμοποιείται από το CVS στο να
αποφασίσει ποιο script να εκτελέσει πριν από κάθε commit—στη
δική μας περίπτωση αυτό το ρόλο καλύπτει το
commitcheck. Δεν θα
χρειαστεί να πειράξετε αυτό το αρχείο.config - το αρχείο ρυθμίσεων γι' αυτό το
repository. Θα πρέπει να κάνετε αλλαγές σ' αυτό το αρχείο ανάλογα
με τις ανάγκες σας, αλλά οι περισσότεροι διαχειριστές μπορούν να
αφήσουν τις εξ' ορισμού ρυθμίσεις. Περισσότερες πληροφορίες για
τις διάφορες δυνατότητες επιλογών που έχετε στο αρχείο αυτό μπορείτε να βρείτε
στο εγχειρίδιο του CVS.cvs_acls.pl - το script αυτό καθορίζει
την ταυτότητα του committer, και το αν θα του επιτραπεί πρόσβαση
στο δέντρο του κώδικα. Αυτό γίνεται με βάση το
αρχείο avail. Δεν θα χρειαστεί να πειράξετε
αυτό το αρχείο.cvsignore - στο αρχείο αυτό καθορίζονται
τα αρχεία που το CVS δεν θα πρέπει να
επιτρέψει το checkin τους στο repository. Μπορείτε να
επεξεργαστείτε αυτό το αρχείο ανάλογα με τις δικές σας
προτιμήσεις. Περισσότερες πληροφορίες για το αρχείο αυτό θα
βρείτε στο εγχειρίδιο του CVS.cvswrappers - το αρχείο αυτό
χρησιμοποιείται από το CVS για την
ενεργοποίηση ή απενεργοποίηση του keyword expansion, ή για το αν
κάποιο αρχείο θα πρέπει να αντιμετωπίζεται ως binary. Μπορείτε να
επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες σας.
Περισσότερες πληροφορίες σχετικά με το αρχείο αυτό μπορείτε να
βρείτε στο εγχειρίδιο του CVS.
Σημειώστε πως οι επιλογές -t και
-f δε δουλεύουν σωστά για client/server χρήση
του CVS.edithook - το αρχείο αυτό δεν
χρησιμοποιείται πια, αλλά εξακολουθεί να υπάρχει για ιστορικούς
λόγους. Μπορείτε να σβήσετε αυτό το αρχείο.editinfo - το
CVS χρησιμοποιεί αυτό το αρχείο για
παράκαμψη των editors. Το FreeBSD δεν χρησιμοποιεί αυτή την
λειτουργικότητα γιατί η ερμηνεία του log μηνύματος γίνεται από τα
verifymsg και logcheck
αρχεία. Επιλέξαμε να γίνεται έτσι αυτό επειδή η χρήση του
editinfo έχει κάποια προβλήματα με τα commits
από μακριά και με τα commits που χρησιμοποιούν τις επιλογές
-F ή -F. Δεν θα χρειαστεί να
πειράξετε αυτό το αρχείο.exclude - το αρχείο αυτό περιέχει regular
expressions που χρησιμοποιούνται από το πρόγραμμα
commit_prep.pl για να προσδιοριστούν τα
αρχεία που
δεν είναι απαραίτητο να περιέχουν επικεφαλίδα επισκόπησης (revision
header). Στην εγκατάσταση του FreeBSD, όλα τα αρχεία κάτω από έλεγχο
επισκόπησης (revision control) είναι απαραίτητο να περιέχουν ένα
revision header (όπως $FreeBSD$). Όλα τα ονόματα
αρχείων που ταιριάζουν με τουλάχιστον μια από τις γραμμές του
αρχείου αυτού εξαιρούνται από τον συγκεκριμένο έλεγχο. Θα πρέπει
να προσθέσετε τις ανάλογες regular expressions στο αρχείο αυτό
όταν κάνετε checkin αρχεία που δεν είναι απαραίτητο να περιέχουν revision
header. Κατά τη διάρκεια της εγκατάστασης των νέων scripts ελέγχου, ίσως να είναι
καλύτερα να εξαιρείται ο κατάλογος CVSROOT/
από τον έλεγχο των headers.log_accum.pl - πρόκειται για ένα script
που παίρνει το log μήνυμα όπως αυτό δίνεται από το
logcheck script, και το προσθέτει στο τέλος
ενός αρχείου log στο repository για σκοπούς δημιουργίας αντιγράφων
ασφαλείας. Επίσης, αναλαμβάνει να στείλει ένα mail στην email
διεύθυνση που έχετε δηλώσει (στο
cfg_local.pm). Συνεργάζεται με το
CVS μέσω του αρχείου
loginfo. Δεν θα χρειαστεί να πειράξετε το
αρχείο αυτό.logcheck - το αρχείο αυτό ερμηνεύει το
commit log μήνυμα που παρέχουν οι committers, και προσπαθεί κατά
κάποιο τρόπο να το κανονικοποιήσει.Το script εξαρτάται από μια τοπική αλλαγή του FreeBSD στο
CVS: Η αλλαγή αυτή επανατοποθετεί το
log μήνυμα αφού αυτό έχει τροποποιηθεί από το script. Η
κανονική έκδοση του CVS προφανώς δεν
κάνει κάτι τέτοιο, οπότε το logcheck δε
μπορεί να κάνει μικροδιορθώσεις στο log μήνυμα, αλλά μπορεί να
ελέγξει ότι το μήνυμα δεν έχει συντακτικά λάθη. Απο την έκδοση
1.11.2 και μετά το ίδιο το CVS μπορεί
να ρυθμιστεί να έχει την ίδια συμπεριφορά με αυτή που έχει η
έκδοση του FreeBSD με την επιλογή
RereadLogAfterVerify=always στο αρχείο
config.loginfo - το αρχείο αυτό χρησιμοποιείται
από το CVS για τον έλεγχο του που θα
στέλνονται οι πληροφορίες των logs. Εδώ ενεργοποιείται το
πρόγραμμα log_accum.pl. Δεν θα χρειαστεί να
πειράξετε αυτό το αρχείο.modules - το αρχείο αυτό διατηρεί την
παραδοσιακή του σημασία στο CVS. Θα
πρέπει να αφαιρέσετε τα FreeBSD modules από την κανονική έκδοση.
Μπορείτε να επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες
σας. Περισσότερες πληροφορίες για το αρχείο αυτό είναι
διαθέσιμες στο εγχειρίδιο του
CVS.notify - το αρχείο αυτό χρησιμοποιείται
από το CVS στην περίπτωση που κάποιος
τοποθετήσει εντολή παρακολούθησης σε κάποιο αρχείο. Δεν
χρησιμοποιείται στο repository του FreeBSD. Μπορείτε να
επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες σας.
Περισσότερες πληροφορίες για το αρχείο αυτό είναι διαθέσιμες στο
εγχειρίδιο του CVS.options - το αρχείο αυτό σχετίζεται άμεσα
με την FreeBSD έκδοση του CVS και
υποστηρίζεται μόνο από αυτή και την έκδοση του Debian. Περιέχει
το keyword που θα γίνεται expand στα revision headers. Θα πρέπει
να τροποποιήσετε το αρχείο αυτό για να είναι ίδιο με την έκδοση
που έχετε εισάγει στο αρχείο cfg_local.pm (αν
αποφασίσετε να χρησιμοποιήσετε αυτή την λειτουργία, που προς το
παρόν δουλεύει σωστά μόνο με την έκδοση του
CVS που έχει το FreeBSD).rcsinfo - το αρχείο αυτό αντιστοιχεί
φακέλους του repository σε αρχεία template, όπως π.χ. το
rcstemplate. Εξ' ορισμού, το
FreeBSD χρησιμοποιεί ένα template για ολόκληρο το repository.
Μπορείτε να προσθέσετε και άλλα στο αρχείο αυτό αν το
επιθυμείτε.rcstemplate - το αρχείο αυτό είναι το
template που θα δούν τελικά οι committers όταν θα κάνουν checkin.
Θα πρέπει να επεξεργαστείτε αυτό το αρχείο ώστε να περιγράφει τις
διάφορες επιπλέον παραμέτρους που ορίσατε στο αρχείο
cfg_local.pm.tagcheck - το αρχείο αυτό ελέγχει την
πρόσβαση στην χρήση των tags στο repository. Η κανονική έκδοση του
FreeBSD δεν επιτρέπει tags με ονόματα όπως RELENG*, λόγω της
διαδικασίας δημιουργίας των επίσημων εκδόσεων. Θα πρέπει να
επεξεργαστείτε το αρχείο αυτό ανάλογα με τις δικές σας ανάλογες
προτιμήσεις.taginfo - το αρχείο αυτό αντιστοιχεί
λειτουργίες των tags σε φακέλους του repository με προγράμματα
ελέγχου, όπως το tagcheck. Δεν θα χρειαστεί
να τροποποιήσετε αυτό το αρχείο.unwrap - το αρχείο αυτό μπορεί να χρησιμοποιηθεί για το
αυτόματο unwrap των binary αρχείων (δείτε
cvswrappers) στο checkout. Δεν
χρησιμοποιείται στην τρέχουσα εγκατάσταση του CVS για το FreeBSD
επειδή δεν λειτουργεί σωστά με τα απομακρυσμένα commits. Δεν θα
χρειαστεί να τροποποιήσετε το αρχείο αυτό.verifymsg - το αρχείο αυτό αντιστοιχεί
υποκαταλόγους του repository σε προγράμματα επεξεργασίας των
μηνυμάτων του log, όπως π.χ. το logcheck.
Δεν θα χρειαστεί να τροποποιήσετε το αρχείο αυτό.wrap - το script αυτό χρειάζεται για το
αυτόματο wrap των binary αρχείων (δείτε
cvswrappers) κατά το checkin. Δεν
χρησιμοποιείται στην τρέχουσα εγκατάσταση του FreeBSD επειδή δεν
λειτουργεί σωστά με τα απομακρυσμένα commits. Δεν θα
χρειαστεί να τροποποιήσετε το αρχείο αυτό.Τροποποιώντας τα scriptsΤο επόμενο βήμα είναι η αλλαγή των scripts ώστε να μπορούν να
χρησιμοποιηθούν στο δικό σας περιβάλλον. Θα πρέπει να ελέγξετε όλα τα
αρχεία μέσα στον φάκελο και να κάνετε τις τροποποιήσεις σας. Πιο
συγκεκριμένα, θα θέλετε κατά πάσα πιθανότητα να τροποποιήσετε τα
παρακάτω αρχεία:Αν δεν θέλετε να χρησιμοποιήσετε τις λειτουργίες των scripts
οι οποίες χρησιμοποιούνται αποκλειστικά από το
FreeBSD, μπορείτε να αφαιρέσετε με ασφάλεια το αρχείο
access:
&prompt.user; cvs rm -f accessΔιορθώστε το αρχείο avail ώστε να
περιέχει τους διάφορους φακέλους του repository στους οποίους
θέλετε να ελέγξετε την πρόσβαση. Σιγουρευτείτε ότι θα διατηρήσετε
ανέπαφη την avail||CVSROOT γραμμή, ειδάλλως θα
αποκλείσετε ακόμα και τον εαυτό σας με το επόμενο βημα.Εκτός αυτού στο συγκεκριμένο αρχείο μπορείτε να εισάγετε και
ομάδες από committers. Εξ' ορισμού, το FreeBSD χρησιμοποιεί το
αρχείο access για την τοποθέτηση όλων των
committers, αλλά μπορείτε να χρησιμοποιήσετε όποιο άλλο επιθυμείτε.
Μπορείτε επίσης να προσθέσετε και ομάδες αν το επιθυμείτε (η
σύνταξη καθορίζεται στην κορυφή του αρχείου
cvs_acls.pl).Διορθώστε το αρχείο cfg_local.pm ώστε να
περιέχει τις επιλογές που επιθυμείτε. Πιο συγκεκριμενα, θα πρέπει
να ελέγξετε τις παρακάτω τροποποιήσιμες επιλογές:
%TEMPLATE_HEADERS - Αυτές
επεξεργάζονται από τα log scripts, και τοποθετούνται κάτω
από το mail του κάθε commit αν υπάρχουν και δεν είναι κενές
στο μήνυμα του commit. Μπορείτε πολύ πιθανόν να αφαιρέσετε
τις καταχωρήσεις PR και MFC after.
Και φυσικά μπορείτε να προσθέσετε τις δικές
σας.$MAIL_BRANCH_HDR - Αν θέλετε να
προσθέσετε μια επικεφαλίδα σε κάθε commit μήνυμα mail που θα
περιγράφει το branch στο οποίο έγινε το συγκεκριμένο commit,
ορίστε την τιμή αυτή να ταιριάζει με την δική σας
εγκατάσταση. Αφήστε την κενή αν δεν επιθυμείτε να προστίθεται αυτόματα μια
τέτοια επικεφαλίδα.@COMMIT_HOSTS - Ορίστε την τιμή αυτή
σε μια λίστα από hosts από τους οποίους μπορούν να
επιτρέπονται commit.$MAILADDRS - Ρυθμίστε αυτή την τιμή
στο email του διαχειριστή ή σε μια διεύθυνση λίστας στην
οποία θέλετε να πηγαίνουν τα mail των commit
μηνυμάτων.@LOG_FILE_MAP - Αλλάξτε αυτό το array
όπως επιθυμείτε. Κάθε regexp αντιστοιχεί στο συγκεκριμένο
φάκελο στον οποίο γίνεται το commit, και το log μήνυμα του
commit αποθηκεύεται στον υποκατάλογο
commitlogs στο αρχείο που
αναφέρεται.$COMMITCHECK_EXTRA - Αν δεν θέλετε να
χρησιμοποιήσετε τους
ίδιους ελέγχους πρόσβασης με το FreeBSD, θα πρέπει να
αφαιρέσετε τον ορισμό της τιμής
$COMMITCHECK_EXTRA από το αρχείο
αυτό.Η αλλαγή της παραμέτρου $IDHEADER είναι
εγγυημένο ότι θα δουλέψει μόνο σε πλατφόρμες FreeBSD. Εξαρτάται
από ειδικές μετατροπές του FreeBSD στο
CVS.
Μπορείτε να ελέγξετε το αρχείο cfg.pm για να
δείτε ποιές άλλες παραμέτρους μπορείτε να αλλάξετε, αλλά οι παραπάνω
είναι οι πιο συνήθεις επιλογές.Επεξεργαστείτε το αρχείο exclude για να
αφαιρέσετε τις ειδικές καταχωρήσεις του FreeBSD (όπως όλες τις
γραμμές που ξεκινούν με ^ports/ κτλ.). Εκτός
αυτού, βάλτε σε σχόλια τις γραμμές που ξεκινούν με
^CVSROOT/, και προσθέστε μια γραμμή που θα
περιέχει μόνο το ^CVSROOT/. Αφού εγκατασταθεί
ο wrapper, μπορείτε να προσθέσετε το δικό σας header στα αρχεία
που βρίσκονται μέσα στον κατάλογο CVSROOT και
να επαναφέρετε τις γραμμές αυτές, αλλά προς το παρόν απλά θα σας
δημιουργήσουν προβλήματα όταν θα προσπαθήσετε να κάνετε commit
αργότερα.Ανοίξτε το αρχείο modules, και αφαιρέστε
όλες τις σχετικές με το FreeBSD καταχωρήσεις. Προσθέστε τα δικά
σας modules αν το επιθυμείτε.Το βήμα αυτό είναι απαραίτητο μόνο αν έχετε ορίσει
κάποια τιμή στην παράμετρο $IDHEADER του
αρχείου cfg_local.pm (η οποία δουλεύει μόνο
εφόσον χρησιμοποιείτε την τροποποιημένη έκδοση του
CVS που έχει το FreeBSD).Διορθώστε το αρχείο options ώστε να
ταιριάζει με το tag που ορίσατε στο αρχείο
cfg_local.pm. Μια αναζήτηση και
αντικατάσταση του FreeBSD σε όλο το αρχείο
είναι αρκετή.Επεξεργαστείτε το αρχείο rcstemplate ώστε
να περιέχει τα ίδια keywords με αυτά που έχετε ορίσει στο
cfg_local.pm.Προαιρετικά αφαιρέστε τους ελέγχους του FreeBSD από το αρχείο
tagcheck. Μπορείτε απλά να προσθέσετε
exit 0 στην αρχή του αρχείου για να
απενεργοποιήσετε όλους τους ελέγχους στο tagging.Το τελευταίο πράγμα που πρέπει να γίνει, είναι να
σιγουρευτείτε ότι τα commitlogs μπορούν να αποθηκευτούν. Εξ'
ορισμού αποθηκεύονται στο repository, μέσα στον φάκελο
commitlogs που είναι υποφάκελος του
CVSROOT. Αυτός ο φάκελος πρέπει να
δημιουργηθεί, οπότε κάντε τα ακόλουθα:&prompt.user; mkdir commitlogs
&prompt.user; cvs add commitlogsΤώρα, αφού ελέγξετε τα πάντα προσεκτικά, θα πρέπει να κάνετε
commit τις αλλαγές σας. Φροντίστε να είστε σίγουροι ότι έχετε δώσει
στον εαυτό σας πρόσβαση στον φάκελο CVSROOT μέσα
από το αρχείο avail πριν κάνετε οτιδήποτε, εφόσων
στην αντίθετη περίπτωση θα κλειδώσετε τον εαυτό σας έξω. Οπότε,
φροντίστε τα πάντα να είναι όπως επιθυμείτε, και μόνο τότε δώστε τα
ακόλουθα:
&prompt.user; cvs commit -m '- Initial FreeBSD scripts commit'Δοκιμάζοντας την ΕγκατάστασηΕίστε έτοιμοι για την πρώτη σας δοκιμή: Ένα forced commit στο
αρχείο avail, για να σιγουρευτείτε ότι όλα
δουλεύουν όπως θα έπρεπε.&prompt.user; cvs commit -f -m 'Forced commit to test the new CVSROOT scripts' availΆν όλα πάνε καλά, συγχαρητήρια! Έχετε καταφέρει να στήσετε μια πλήρως
λειτουργική εγκατάσταση των FreeBSD scripts για το repository σας.
Στην περίπτωση που το CVS εξακολουθεί να
παραπονιέται για κάτι, επιστρέψτε στις προηγούμενες ενότητες και
ελέγξτε ξανά ότι έχετε εκτελέσει σωστά όλα τα προηγούμενα
βήματα.Ειδική Εγκατάσταση του FreeBSD ProjectΤο ίδιο το FreeBSD project χρησιμοποιεί μια ελαφρώς διαφορετική
εγκατάσταση, που χρησιμοποιεί επίσης αρχεία από τον υποφάκελο
freebsd του CVSROOT που
χρησιμοποιείται στο FreeBSD. Το project χρειάζεται κάτι τέτοιο λόγω του
μεγάλου αριθμού των committers, που διαφορετικά θα έπρεπε να ανήκουν όλοι
στο ίδιο group. Έτσι, δημιουργήθηκε ένας απλός wrapper ο οποίος αφού
πρώτα εξασφαλίζει τα σωστά διαπιστευτήρια των committers, αλλάζει
μετέπειτα το group id σε αυτό του repository.Αν και το δικό σας repository χρειάζεται κάτι ανάλογο, τα βήματα που
θα πρέπει να ακολουθήσετε ακολουθούν παρακάτω. Αλλά πρώτα ας κάνουμε
μια σύντομη επισκόπηση των σχετικών αρχείων.Αρχεία που χρησιμοποιούνται στην ειδική εγκατάσταση του
FreeBSDaccess - το αρχείο αυτό ελέγχει τις
πληροφορίες για τα δικαιώματα πρόσβασης. Θα πρέπει να το
επεξεργαστείτε ανάλογα έτσι ώστε να περιλαμβάνει όλα τα μέλη του
project σας.freebsd/commitmail.pl - το αρχείο αυτό
δεν χρησιμοποιείται πια, αλλά παραμένει για ιστορικούς λόγους.
Δεν θα χρειαστεί να επεξεργαστείτε αυτό το αρχείο.freebsd/cvswrap.c - πρόκειται για τον
πηγαίο κώδικα του CVS wrapper που θα πρέπει να εγκαταστήσετε για
να μπορέσουν όλοι οι έλεγχοι πρόσβασης τελικά να δουλέψουν.
Περισσότερες πληροφορίες για τη διαδικασία αυτή θα βρείτε
παρακάτω. Θα πρέπει να διορθώσετε τα paths στις
ACCESS και REALCVS
μακροεντολές ώστε να ταιριάζουν με τη δική σας
εγκατάσταση.freebsd/mailsend.c - το αρχείο αυτό
χρειάζεται για την σχετική με τις λίστες ταχυδρομείου
εγκατάσταση του FreeBSD. Δεν θα χρειαστεί να πειράξετε το
αρχείο αυτό.Η διαδικασίαΔιορθώστε το αρχείο access ώστε να
περιέχει μόνο το δικό σσς username.Διορθώστε το αρχείο cvswrap.c ώστε να
περιέχει το σωστό path για τη δική σας εγκατάσταση. Αυτό ορίζεται
ως μια μακροεντολή που ονομάζεται ACCESS. Θα
πρέπει επίσης να αλλάξετε και τη διεύθυνση του πραγματικού
cvs binary αν αυτή που υπάρχει δεν είναι η
σωστή για τη δική σας περίπτωση. Το κανονικό
cvswrap.c αναμένει να αντικαταστήσει την
εντολή cvs σε επίπεδο συστήματος, η οποία θα θα μεταφερθεί στο
αρχείο /usr/bin/ncvs.Το δικό μου αντίτυπο του αρχείου
cvswrap.c έχει τα ακόλουθα:#define ACCESS "/local/cvsroot/CVSROOT/access"
#define REALCVS "/usr/bin/ncvs"Το επόμενο βήμα είναι να εγκαταστήσουμε τον wrapper για να
είμαστε σίγουροι ότι θα γίνεται η μετατροπή στο σωστό group όταν
γίνεται commit. Ο πηγαίος κώδικας γι' αυτό βρίσκεται στο αρχείο
cvswrap.c στον κατάλογο
CVSROOT.Μεταγλωττίστε τον κώδικα που έχετε ήδη διορθώσει ώστε να
περιέχει τα σωστά paths:&prompt.user; cc -o cvs cvswrap.cΣτη συνέχεια εγκαταστήστε τον με τα ακόλουθα (Θα πρέπει να είστε
root για το βήμα αυτό):&prompt.root; mv /usr/bin/cvs /usr/bin/ncvs
&prompt.root; mv cvs /usr/bin/cvs
&prompt.root; chown root:ncvs /usr/bin/cvs /usr/bin/ncvs
&prompt.root; chmod o-rx /usr/bin/ncvs
&prompt.root; chmod u-w,g+s /usr/bin/cvsΑυτό εγκαθιστά τον wrapper σαν την εξ' ορισμού
cvs εντολή, κάνοντας έτσι σίγουρο ότι
οποιοσδήποτε θελήσει να χρησιμοποιήσει το repository, θα πρέπει να
έχει τα κατάλληλα επίπεδα πρόσβασης.Μπορείτε τώρα να αφαιρέσετε όλους τους χρήστες από το
repository group σας. Όλοι οι έλεγχοι πρόσβασης θα γίνονται από
τον wrapper, και ο ίδιος ο wrapper θα θέτει το ανάλογο group με το
οποίο θα γίνεται και η τελική πρόσβαση.Ελέγχοντας την εγκατάστασηΟ wrapper πρέπει πλέον να είναι έτοιμος. Μπορείτε φυσικά να το
δοκιμάσετε κάνοντας ένα forced commit στο αρχείο
access:&prompt.user; cvs commit -f -m 'Forced commit to test the new CVSROOT scripts' accessΞανά, αν αυτό αποτύχει, ελέγξτε για το αν όλα τα παραπάνω βήματα έχουν
εκτελεστεί σωστά.
+
+
diff --git a/el_GR.ISO8859-7/articles/dialup-firewall/article.sgml b/el_GR.ISO8859-7/articles/dialup-firewall/article.sgml
index 3725771f61..ff231124b8 100644
--- a/el_GR.ISO8859-7/articles/dialup-firewall/article.sgml
+++ b/el_GR.ISO8859-7/articles/dialup-firewall/article.sgml
@@ -1,401 +1,410 @@
%man;
]>
Σύνδεση μέσω τηλεφώνου και firewalling στο FreeBSDMarcSilvermarcs@draenor.org$FreeBSD$Αυτό το άρθρο περιγράφει πως μπορείτε να ρυθμίσετε ένα firewall
χρησιμοποιώντας μια PPP σύνδεση μέσω τηλεφώνου στο FreeBSD με το IPFW.
Πιο συγκεκριμένα, ένα firewall πάνω από μια σύνδεση μέσω τηλεφώνου που
έχει δυναμική IP διεύθυνση. Αυτό το κείμενο δεν ασχολείται με το πως
θα ρυθμίσετε την PPP σύνδεσή σας.ΠρόλογοςΣύνδεση μέσω τηλεφώνου και firewalling στο FreeBSDΑυτό το κείμενο περιγράφει την διαδικασία που χρειάζεται για να
ρυθμίσετε ένα firewall στο FreeBSD όταν η IP διεύθυνση δίνεται δυναμικά
από τον ISP σας. Παρόλο που έχω προσπαθήσει να κάνω αυτό το κείμενο
όσο το δυνατόν πιο πλήρες και σωστό, είστε ευπρόσδεκτοι να στείλετε τα
σχόλιά ή τις προτάσεις σας στην διεύθυνση
marcs@draenor.org.Παράμετροι του πυρήναΤο πρώτο πράγμα που θα χρειαστεί να κάνετε είναι να μεταγλωττίσετε
τον πυρήνα σας. Αν χρειάζεστε βοήθεια για να το κάνετε αυτό, τότε το
καλύτερο μέρος να ξεκινήσετε είναι το τμήμα
ρυθμίσεων του πυρήνα στο Εγχειρίδιο. Θα πρέπει να προσθέσετε
τις παρακάτω επιλογές στις ρυθμίσεις του πυρήνα σας:options IPFIREWALLΕνεργοποιεί τον firewall κώδικα του πυρήνα.options IPFW2Ενεργοποιεί την νέα έκδοση του IPFW.Αυτή η επιλογή έχει νόημα μόνο αν χρησιμοποιείτε την έκδοση
4.X του FreeBSD, είναι ενεργοποιημένη ήδη στις νεώτερες
εκδόσεις.options IPFIREWALL_VERBOSEΣτέλνει τα μηνύματα για τα κατάλληλα πακέτα στο log του
συστήματος.options
IPFIREWALL_VERBOSE_LIMIT=100Βάζει κάποιο όριο στις φορές που κάποια εγγραφή θα
καταγράφεται. Αυτό εμποδίζει τα log αρχεία σας από το να γεμίσουν
με πολλές επαναλαμβανόμενες εγγραφές.
100 είναι μια αρκετά λογική τιμή, αλλά
μπορείτε να το ρυθμίσετε ανάλογα με τις απαιτήσεις σας.options IPDIVERTΕνεργοποιεί τα divert sockets, που θα
δούμε αργότερα τι κάνουν.Υπάρχουν κι άλλα προαιρετικά πράγματα που
μπορείτε να προσθέσετε στον πυρήνα σας για ακόμα μεγαλύτερη ασφάλεια.
Δεν είναι απαραίτητα για να ρυθμίσετε ένα firewall έτσι ώστε να
δουλεύει, αλλά κάποιοι αρκετά παρανοϊκοί χρήστες μπορεί να θέλουν να τα
ενεργοποιήσουν.options TCP_DROP_SYNFINΑυτή η επιλογή δίνει την δυνατότητα στον πυρήνα να αγνοεί τα
TCP πακέτα που έχουν και την SYN και την FIN επιλογή. Έτσι
εμποδίζονται εργαλεία όπως το
security/nmap κλπ. στην
προσπάθειά τους να
αναγνωρίσουν το TCP stack του μηχανήματος, αλλά επίσης είναι
ασύμβατο με τις επεκτάσεις που περιγράφει το RFC1644. Αυτό
δεν προτείνεται για ένα μηχάνημα που θα
τρέχει κάποιο web server.Μην κάνετε reboot όταν έχετε μεταγλωττίσει τον πυρήνα. Ελπίζουμε
πως θα χρειαστεί μόνο μια επανεκκίνηση, στο τέλος της
εγκατάστασης του firewall.Αλλαγές στο /etc/rc.conf για να φορτώνεται
το firewallΤώρα πρέπει να κάνουμε κάποιες αλλαγές στο
/etc/rc.conf με τις ρυθμίσεις μας για το
firewall. Απλά προσθέστε τις παρακάτω γραμμές:firewall_enable="YES"
firewall_script="/etc/firewall/fwrules"
natd_enable="YES"
natd_interface="tun0"
natd_flags="-dynamic"Για περισσότερες πληροφορίες σχετικά με τη σημασίας καθεμιάς από
αυτές τις γραμμές, ρίξτε μια ματιά στο
/etc/defaults/rc.conf και διαβάστε την man σελίδα
&man.rc.conf.5;Απενεργοποιήστε την ενσωματωμένη μετάφραση διευθύνσεων του
PPPΜπορεί ήδη να χρησιμοποιείτε την ενσωματωμένη μετάφραση διευθύνσεων
του PPP (NAT). Αν ναι, τότε θα πρέπει να την απενεργοποιήσετε, αφού τα
παραδείγματα που θα δούμε παρακάτω χρησιμοποιούν το &man.natd.8; για να
κάνουν το ίδιο πράγμα.Αν έχετε ήδη τις απαραίτητες γραμμές για να ξεκινάει το PPP
αυτόματα, μάλλον μοιάζουν κάπως έτσι:ppp_enable="YES"
ppp_mode="auto"
ppp_nat="YES"
ppp_profile="profile"Αν ναι, πρέπει να απενεργοποιήσετε το ppp_nat
προσθέτοντας στο αρχείο rc.conf σας την γραμμή
ppp_nat="YES".
Θα πρέπει επίσης να αφαιρέσετε τυχόν nat enable yes ή
alias enable yes έχει το
/etc/ppp/ppp.conf σας.Οι κανόνες του firewallΈχουμε σχεδόν τελειώσει. Το μόνο που απομένει τώρα είναι να
ορίσουμε τους κανόνες του firewall και τότε μπορούμε να επανεκκινήσουμε
το σύστημα ώστε να ξεκινήσει το firewall. Καταλαβαίνω πως ο καθένας θα
θέλει κάτι λίγο ή πολύ διαφορετικό στους κανόνες του. Αυτό που
προσπάθησα να κάνω είναι να γράψω κάποιους βασικούς κανόνες που
ταιριάζουν στους πιο πολλούς χρήστες που συνδέονται στο δίκτυο μέσω
τηλεφώνου. Μπορείτε προφανώς να κάνετε αλλαγές σύμφωνα με τις ανάγκες
σας, χρησιμοποιώντας τους παρακάτω κανόνες σαν την βάση για το δικό σας
σετ κανόνων. Ας αρχίσουμε όμως με τις βασικές αρχές ενός κλειστού
firewall. Αυτό που θέλετε να κάνετε είναι να κλείσετε τα πάντα και μετά
να ανοίξετε μόνο ότι πραγματικά σας χρειάζεται. Οι κανόνες θα πρέπει
λοιπόν πρώτα να επιτρέπουν και μετά να απαγορεύουν. Η λογική πίσω από
αυτό είναι ότι πρώτα βάζετε τους κανόνες που επιτρέπουν πράγματα να
περάσουν και ύστερα όλα τα άλλα απαγορεύονται. :)Ύστερα, φτιάξτε ένα κατάλογο /etc/firewall. Αλλάξτε κατάλογο μέσα σε
αυτόν και δημιουργήστε το αρχείο fwrules που το
όνομά του είχαμε γράψει στο rc.conf. Σημειώστε πως
μπορείτε να αλλάξετε το όνομα του αρχείου αυτού σε ότι θέλετε. Αυτός ο
οδηγός δίνει αυτό το όνομα σαν παράδειγμα και μόνο.Ας δούμε τώρα ένα παράδειγμα firewall, που έχει αρκετά καλά
σχόλια.# Define the firewall command (as in /etc/rc.firewall) for easy
# reference. Helps to make it easier to read.
fwcmd="/sbin/ipfw"
# Force a flushing of the current rules before we reload.
$fwcmd -f flush
# Divert all packets through the tunnel interface.
$fwcmd add divert natd all from any to any via tun0
# Allow all connections that have dynamic rules built for them,
# but deny established connections that don't have a dynamic rule.
# See ipfw(8) for details.
$fwcmd add check-state
$fwcmd add deny tcp from any to any established
# Allow all localhost connections
$fwcmd add allow tcp from me to any out via lo0 setup keep-state
$fwcmd add deny tcp from me to any out via lo0
$fwcmd add allow ip from me to any out via lo0 keep-state
# Allow all connections from my network card that I initiate
$fwcmd add allow tcp from me to any out xmit any setup keep-state
$fwcmd add deny tcp from me to any
$fwcmd add allow ip from me to any out xmit any keep-state
# Everyone on the Internet is allowed to connect to the following
# services on the machine. This example shows that people may connect
# to sshd and a webserver.
$fwcmd add allow tcp from any to me dst-port 22,80 in recv any setup keep-state
# This sends a RESET to all ident packets.
$fwcmd add reset log tcp from any to me 113 in recv any
# Enable ICMP: remove type 8 if you don't want your host to be pingable
$fwcmd add allow icmp from any to any icmptypes 0,3,8,11,12,13,14
# Deny all the rest.
$fwcmd add deny log ip from any to anyΤώρα έχετε ένα ολοκληρωμένο firewall που επιτρέπει συνδέσεις στις
θύρες 22 και 80 και καταγράφει όλες τις άλλες συνδέσεις στο log του
συστήματος. Πλέον είστε έτοιμοι για επανεκκίνηση και το firewall θα
πρέπει να ξεκινήσει να δουλεύει. Αν δείτε ότι αυτό είναι λάθος, ή έχετε
οποιαδήποτε προβλήματα, ή ακόμα καλύτερα έχετε κάποιες προτάσεις για να
διορθωθεί αυτή η σελίδα, επικοινωνήστε μαζί μου με email.ΕρωτήσειςΓιατί χρησιμοποιείς το &man.natd.8; και το &man.ipfw.8; αφού
θα μπορούσες να χρησιμοποιήσεις τα φίλτρα του &man.ppp.8;;Θα πρέπει να είμαι ειλικρινής και να πω ότι δεν υπάρχει
κάποιος σοβαρός λόγος που χρησιμοποιώ το ipfw
και το natd αντί για τα ενσωματωμένα φίλτρα του
ppp. Από συζητήσεις που είχα με διάφορα άτομα
φαίνεται πως οι πιο πολλοί συμφωνούν στο εξής: το
ipfw έχει σαφώς πιο πολλές δυνατότητες και
είναι πιο ευέλικτο στις ρυθμίσεις του από ότι τα φίλτρα του
ppp, αλλά ότι κερδίζει σε δυνατότητες το χάνει
σε ευκολία τροποποίησης των ρυθμίσεων. Ένας από τους λόγους που
το χρησιμοποιώ είναι επειδή προτιμώ το φιλτράρισμα του firewall να
γίνεται στο επίπεδο του πυρήνα, κι όχι από ένα πρόγραμμα στο
επίπεδο του χρήστη.Βλέπω μηνύματα όπως limit 100 reached on entry
2800 και μετά από αυτό δεν ξαναβλέπω ποτέ μηνύματα στο
log μου. Δουλεύει ακόμα το firewall μου;Αυτό απλά σημαίνει πως έχει χρησιμοποιηθεί το μέγιστο όριο
καταγραφής (logging) για αυτό τον κανόνα. Ο κανόνας ο ίδιος
εξακολουθεί να δουλεύει, αλλά δεν θα στέλνει πια μηνύματα στο log
του συστήματος μέχρι να μηδενίσετε πάλι τους μετρητές. Μπορείτε
να μηδενίσετε τους μετρητές με την εντολή ipfw
resetlog. Εναλλακτικά, μπορείτε να αυξήσετε το όριο
καταγραφής στις ρυθμίσεις του πυρήνα σας με την επιλογή
όπως περιγράψαμε
παραπάνω. Μπορείτε να αλλάξετε αυτό το όριο (χωρίς να
μεταγλωττίσετε πάλι τον πυρήνα σας και να κάνετε reboot)
χρησιμοποιώντας την &man.sysctl.8; τιμή
net.inet.ip.fw.verbose_limit.Αν χρησιμοποιώ διευθύνσεις εσωτερικά που ανήκουν στην ομάδα
192.168.0.0 range, μπορώ να αλλάξω την εντολή σε κάτι όπως
$fwcmd add deny all from any to 192.168.0.0:255.255.0.0
via tun0 στους κανόνες του firewall για να εμποδίσω τα
μηχανήματα έξω από το δίκτυο από το να συνδέονται με τα εσωτερικά
μηχανήματα;Η σύντομη απάντηση είναι όχι. Ο λόγος γι αυτό είναι ότι το
natd κάνει μετάφραση διευθύνσεων για
οτιδήποτε περνάει μέσω του interface
tun0. Έτσι, τα εισερχόμενα πακέτα θα
εμφανίζονται μόνο στην δυναμικά ορισμένη IP διεύθυνση του
εξωτερικού interface και όχι στην διεύθυνση
του εσωτερικού δικτύου. Σημειώστε όμως ότι μπορείτε να προσθέσετε
ένα κανόνα $fwcmd add deny all from
192.168.0.4:255.255.0.0 to any via tun0 ο οποίος θα
απαγορεύει σε ένα μηχάνημα του εσωτερικού δικτύου να στείλει
οτιδήποτε πέρα από το firewall.Κάποιο λάθος πρέπει να έγινε. Ακολούθησα τις εντολές κατά
γράμμα και τώρα κλειδώθηκα απέξω.Αυτός ο οδηγός υποθέτει ότι χρησιμοποιείτε το
userland-ppp, γι αυτό κι οι κανόνες που
δίνονται χρησιμοποιούν το tun0 interface,
που αντιστοιχεί στην πρώτη σύνδεση που φτιάχνεται με το
&man.ppp.8; (αλλιώς γνωστό και ως user-ppp).
Η επόμενη σύνδεση θα χρησιμοποιούσε το
tun1, μετά το
tun2 και πάει λέγοντας.Θα πρέπει επίσης να θυμάστε ότι το &man.pppd.8; χρησιμοποιεί
το interface ppp0, οπότε αν ξεκινήσετε τη
σύνδεσή σας με το &man.pppd.8; θα πρέπει να αντικαταστήσετε το
tun0 με ppp0.
Παρακάτω θα δείξουμε ένα εύκολο τρόπο να αλλάξετε τους κανόνες του
firewall κατάλληλα. Οι αρχικοί κανόνες σώζονται σε ένα αρχείο με
όνομα fwrules_tun0. &prompt.user; cd /etc/firewall
/etc/firewall&prompt.user; suPassword:
/etc/firewall&prompt.root; mv fwrules fwrules_tun0
/etc/firewall&prompt.root; cat fwrules_tun0 | sed s/tun0/ppp0/g > fwrulesΓια να καταλάβετε αν χρησιμοποιείτε το &man.ppp.8; ή το
&man.pppd.8; μπορείτε να εξετάσετε την έξοδο της &man.ifconfig.8;
αφού ενεργοποιηθεί η σύνδεσή σας. Π.χ., για μια σύνδεση που
ενεργοποιήθηκε από το &man.pppd.8; θα δείτε κάτι σαν αυτό
(δείχνονται μόνο οι σχετικές γραμμές): &prompt.user; ifconfig(skipped...)
ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1524
inet xxx.xxx.xxx.xxx --> xxx.xxx.xxx.xxx netmask 0xff000000(skipped...)Από την άλλη, για μια σύνδεση που ενεργοποιήθηκε με το
&man.ppp.8; (user-ppp) θά πρεπε να δείτε κάτι
παρόμοιο με το παρακάτω: &prompt.user; ifconfig(skipped...)
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500(skipped...)
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1524(IPv6 stuff skipped...)
inet xxx.xxx.xxx.xxx --> xxx.xxx.xxx.xxx netmask 0xffffff00
Opened by PID xxxxx(skipped...)
+
+
diff --git a/el_GR.ISO8859-7/articles/formatting-media/article.sgml b/el_GR.ISO8859-7/articles/formatting-media/article.sgml
index 0690f40789..df2b969d61 100644
--- a/el_GR.ISO8859-7/articles/formatting-media/article.sgml
+++ b/el_GR.ISO8859-7/articles/formatting-media/article.sgml
@@ -1,665 +1,674 @@
%authors;
%freebsd;
%trademarks;
%man;
]>
Διαμόρφωση Αποθηκευτικών Μέσων για Χρήση με το FreeBSDΈνας σύντομος οδηγόςDougWhitedwhite@resnet.uoregon.eduΜάρτιος 1997
&tm-attrib.freebsd;
&tm-attrib.iomega;
&tm-attrib.opengroup;
&tm-attrib.general;
Το παρόν έγγραφο περιγράφει πώς να κόψετε σε τμήματα (slices),
κομματιάσετε (partition) και μορφοποιήσετε (format/διαμόρφωση)
σκληρούς δίσκους και παρόμοια μέσα που προορίζονται για χρήση με το
FreeBSD. Τα παραδείγματα δοκιμάστηκαν στο FreeBSD 2.2 αλλά λογικά
δουλεύουν και στις άλλες εκδόσεις. Το κείμενο έχει ενημερωθεί για την
έκδοση 4 του FreeBSD.Εισαγωγή και ΟρισμοίΓενικάΤο να προσθέτεις δίσκους με επιτυχία σε ένα υπάρχον σύστημα είναι
χαρακτηριστικό ενός έμπειρου διαχειριστή συστήματος. Το κόψιμο, το
κομμάτιασμα και η προσθήκη δίσκων απαιτεί ιδιαίτερη προσοχή και σωστή
σύνταξη εντολών. Ένα πιθανό λάθος μπορεί να εξαφανίσει έναν ολόκληρο
δίσκο σε δευτερόλεπτα. Αυτό το έγγραφο γράφτηκε ως προσπάθεια να
απλοποιηθεί η διαδικασία και να αποφευχθούν ατυχήματα. Ευτυχώς,
ανανεώσεις υπαρχόντων εργαλείων (κυρίως του sysinstall), στις
πρόσφατες εκδόσεις του FreeBSD, έχουν βελτιώσει την διαδικασία.Υπάρχουν δύο πιθανοί τρόποι (modes) μορφοποίησης:συμβατή λειτουργία (compatibility
mode): Διαμόρφωση του δίσκου ώστε να έχει ένα πίνακα
τμήματων (slice table) και να μπορεί να χρησιμοποιηθεί παράλληλα
από άλλα λειτουργικά συστήματα.αποκλειστική λειτουργία (dedicated mode),
μερικές φορές λέγεται και επικίνδυνα αποκλειστική
λειτουργία: Διαμόρφωση ενός δίσκου χωρίς πίνακα
partitions. Αυτό κάνει την διαδικασία της πρόσθεσης δίσκου
ευκολότερη αλλά ένα μη-FreeBSD λειτουργικό σύστημα πιθανόν να μη
μπορεί να δει το δίσκο. Η έκφραση επικίνδυνα
αναφέρεται στον κίνδυνο του ότι το σύστημα μπορεί να μην
αναγνωρίσει έναν δίσκο μορφοποιημένο κατ' αυτόν τον τρόπο.Στις περισσότερες περιπτώσεις η αποκλειστική λειτουργία είναι ο
ευκολότερος τρόπος να στηθεί και να χρησιμοποιηθεί σε υπάρχοντα
συστήματα, εφόσον ένας καινούργιος δίσκος συνήθως προορίζεται μόνο για
το FreeBSD. Παρόλο που η συμβατή λειτουργία διασφαλίζει μέγιστη
διαλειτουργικότητα (interoperability) με μελλοντικές εγκαταστάσεις,
είναι πιο πολύπλοκη.Πέρα από την επιλογή τρόπου λειτουργίας υπάρχουν δύο μέθοδοι
στησίματος του δίσκου. Ο πρώτος χρησιμοποιεί το εργαλείο εγκατάστασης
του συστήματος /stand/sysinstall. Από το
2.1.7-RELEASE και μετά η sysinstall απλοποιεί το
στήσιμο των δίσκων επειδή επιτρέπει την απευθείας αλλαγή στο label
(τίτλος) και στα τμήματα (partitions) των δίσκων. Επιπλέον σας
επιτρέπει να αποθηκεύσετε τις αλλαγές μόνο στον συγκεκριμένο δίσκο
χωρίς να επηρεάζει τους υπόλοιπους. Ο δεύτερος τρόπος είναι να
εκτελέσετε διάφορες εντολές με το χέρι απο την γραμμή εντολών ως root.
Αν επιλέξετε την αποκλειστική λειτουργία χρειάζετε να εκτελέσετε μόνο
2-3 εντολές ενώ με το sysinstall πρέπει δουλέψετε
λιγάκι παραπάνω.ΟρισμοίΗ διαχείριση δίσκων στο &unix; έχει δώσει νέα έννοια σε υπάρχουσες
λέξεις. Το παρακάτω λεξιλόγιο εξηγεί την ορολογία που χρησιμοποιούμε
σε αυτό το κείμενο και στο FreeBSD γενικά (προφανώς).συμβατή λειτουργία (compatibility mode): η διαμόρφωση του
δίσκου ώστε να έχει ένα πίνακα τμήματων (slice table) και να
μπορεί να χρησιμοποιηθεί παράλληλα με άλλα λειτουργικά συστήματα.
Αντίθετο της αποκλειστικής λειτουργίας.(επικίνδυνα) αποκλειστική λειτουργία: η διαμόρφωση του δίσκου
κατά τέτοιον τρόπο ώστε να μην περιέχει πίνακα τμημάτων (slice
table). Είναι πιο εύκολη διαδικασία αλλά ο δίσκος μπορεί να μη
δουλεύει σε μη-FreeBSD λειτουργικά συστήματα. Αντίθετο της
συμβατής λειτουργίας.δίσκος: Οι σκληροί δίσκοι, τα CDROM, οι μαγνητο-οπτικές
συσκευές και τα αφαιρούμενα μέσα &iomegazip;/&jaz; είναι μερικές
από τις συσκευές μαζικής αποθήκευσης δεδομένων που
χρησιμοποιούνται σήμερα.
Η βασική αρχή λειτουργίας αυτών των μέσων αποθήκευσης ένας ή
περισσότεροι δίσκοι οι οποίοι περιστρέφονται από ένα μοτέρ, ενώ
μια κεφαλή κινείται σε ένα μονοπάτι πάνω στην ακτίνα του δίσκου
και διαβάζει από το δίσκο ή γράφει δεδομένα σε αυτόν.
Το γράψιμο γίνεται με μεταβολή κάποιου φυσικού χαρακτηριστικού του
δίσκου (μαγνητική ροή, ανακλαστικότητα, κλπ.) ενώ το διάβασμα
γίνεται με ανίχνευση αλλαγών στην ίδια φυσική
ιδιότητα του δίσκου.τμήμα (slice): Μία υποδιαίρεση ενός δίσκου. Σύμφωνα με τα
πρότυπα των PC μπορούν να υπάρχουν μέχρι 4 τμήματα σε έναν δίσκο.
Τα τμήματα αποτελούνται απο συνεχόμενους τομείς (sectors).
Υπάρχει ένας πίνακας τμημάτων (slice table) που
περιέχει πληροφορίες για τα τμήματα και χρησιμοποιείται από το
BIOS για να βρεί από πού μπορεί να ξεκινήσει το σύστημα. Ο
πίνακας τμημάτων λέγεται και πίνακας κομματιών
(partition table) σε ορολογία DOS που φτιάχνεται απο το πρόγραμμα
fdisk.κομμάτι (partition): Μία υποδιαίρεση ενός τμήματος. Συνήθως
χρησιμοποιείται για αναφορά στις υποδιαιρέσεις των τμημάτων
(slices) του δίσκου στο FreeBSD. Κάθε σύστημα αρχείων
(filesystem) ή δευτερεύουσας μνήμης (swap area) στον δίσκο
βρίσκεται σε ένα κομμάτι. Τα κομμάτια φτιάχνονται με το εργαλείο
disklabel.τομέας (sector): Η μικρότερη υποδιαίρεση ενός δίσκου. Συνήθως
έχει μέγεθος 512 bytes.Σημεία που πρέπει να προσέξετε και παγίδεςΔώστε μεγάλη προσοχή στη διαδικασία, αν δεν λάβετε τα μέτρα σας
και γίνει λάθος μπορεί να καταστρέψετε τα περιεχόμενα άλλων δίσκων του
συστήματος.Προσέξτε τι κάνετε. Είναι πολύ εύκολο να
καταστρέψετε λάθος δίσκο δουλεύοντας με αυτές τις εντολές. Αν έχετε
αμφιβολίες ελέγξτε τα μηνύματα του πυρήνα κατά τη διαδικασία εκκίνησης
για να βρείτε τη σωστή συσκευή δίσκου.Φυσικά δεν έχουμε καμία ευθύνη για ζημιές που μπορεί να
προκληθούν. Η ευθύνη είναι δική σας!Zip, Jazz, και άλλα αφαιρούμενα μέσαΟι αφαιρούμενοι δίσκοι μπορούν να διαμορφωθούν σαν κανονικοί
δίσκοι. Το σημαντικό είναι να είναι συνδεμένος ο οδηγός του δίσκου
κατά την εκκίνηση του συστήματος και με δισκέτα μέσα ώστε να μπορέσει
ο πυρήνας να δεί σωστά την γεωμετρία του δίσκου. Κοιτάξτε τι λέει η
εντολή dmesg για να δείτε αν η συσκευή είναι στην
λίστα. Για παράδειγμα αν ο πυρήνας γράψει:
Can't get the size
τότε δεν υπάρχει δισκέτα στον οδηγό. Αν γίνει αυτό θα πρέπει να
επανεκκινήσετε το μηχάνημα πριν δοκιμάσετε να διαμορφώσετε την
δισκέτα.Διαμορφώνοντας δίσκους για αποκλειστική λειτουργίαΕισαγωγήΑυτή η παράγραφος περιγράφει πώς να φτιάξετε δίσκους μόνο για το
FreeBSD. Θυμηθείτε ότι οι δίσκοι αποκλειστικής λειτουργίας δεν μπορούν
να διαβαστούν από άλλα λειτουργικά, ούτε να κάνουν boot.Πώς να φτιάξετε δίσκους αποκλειστικής λειτουργίας με το
SysinstallTo /stand/sysinstall, το πρόγραμμα εγκατάστασης
του συστήματος, έχει επεκταθεί στις τελευταίες του εκδόσεις ώστε να
απλοποιεί την διαδικασία χωρισμού των δίσκων και να απαιτεί λιγότερη
προσπάθεια. Τα προγράμματα fdisk και disklabel που υπάρχουν στο
sysinstall είναι γραφικού περιβάλοντος (GUI - Graphical User
Interface) και μειώνουν το μπέρδεμα του κοψίματος των δίσκων. Είναι
προφανώς ο ευκολότερος τρόπος να κόψετε δίσκους από την έκδοση 2.1.7
και μετά του FreeBSD.Ξεκινήστε το sysinstall ώς root γράφοντας
&prompt.root; /stand/sysinstall
στην γραμμή εντολών.Επιλέξτε Index.Επιλέξτε Partition.Επιλέξτε το δίσκο που θέλετε να εγκαταστήσετε χρησιμοποιώντας
τα βελάκια και μετά SPACE.Αν θα χρησιμοποιήσετε όλο το δίσκο για το FreeBSD, επιλέξτε
A.θα σας ζητηθεί:
Do you want to do this with a true partition entry so as to remain
cooperative with any future possible operating systems on the
drive(s)?
(Θέλετε να το κάνετε αυτό με πραγματικά κομμάτια για να παραμείνει
συμβατός με άλλα λειτουργικά συστήματα?) Απαντήστε
No.Μόλις σας ρωτήσει αν όντως θέλετε να το κάνετε αυτό (Do you
still want to do this) απαντήστε Yes.Επιλέξτε Write.Θα σας βγάλει μια προειδοποίηση σχετικά με την εγγραφή σε
υπάρχοντα συστήματα απαντήστε Yes.Επιλέξτε Quit για να βγείτε από το FDISK
Editor και μετά ESCAPE για να επιστρέψετε στο
Index menu.Επιλέξτε Label από το Index menu.Ονομάστε το δίσκο σας όπως θέλετε (εδώ ορίζετε τα
partitions). Αν θέλετε μόνο ένα partition πατήστε το
C για να δημιουργήσετε το partition. Μετά
απλώς δεχθείτε τις προεπιλογές για τα προκαθορισμένα size,
partition type Filesystem, και mountpoint (το οποίο δεν
χρησιμοποιείται).Πατήστε W μόλις τελειώσετε και επικυρώστε
τις αλλαγές για να συνεχίσετε. Το filesystem θα περαστεί αυτόματα
από την εντολή newfs εκτός αν επιλέξετε το αντίθετο. (Αν βάζετε
καινούργιο partition σας συμφέρει να το κάνετε!). Θα σας δώσει το
λάθος:
Error mounting /mnt/dev/ad2s1e on /mnt/blah : No such file or directory
Αγνοήστε το.Πατήστε συνεχόμενα το ESCAPE για να
βγείτε.Πως να φτιάξετε δίσκους αποκλειστικής λειτουργίας μέσα από την
γραμμή εντολώνΕκτελέστε τις παρακάτω εντολές αντικαθιστώντας το
ad2 με το όνομα της συσκευής του δίσκου
(γράψτε dmesg να ελέγξετε αν είναι σωστό).&prompt.root; dd if=/dev/zero of=/dev/ad2 count=2
&prompt.root; disklabel /dev/ad2 | disklabel -B -R -r ad2 /dev/stdinΘέλουμε μόνο ένα partition, οπότε μπορούμε να χρησιμοποιήσουμε το κομμάτι 'c':
&prompt.root; newfs /dev/ad2cΑν χρειάζεται να αλλάξετε το disklabel για να χρησιμοποιήσετε
πολλαπλά partitions (για παράδειγμα αν θέλετε swap) τότε κάντε:&prompt.root; dd if=/dev/zero of=/dev/ad2 count=2
&prompt.root; disklabel /dev/ad2 > /tmp/labelΑνοίξτε το disklabel για να προσθέσετε partitions:
&prompt.root; vi /tmp/label
&prompt.root; disklabel -B -R -r ad2 /tmp/labelεκτελέστε την εντολή newfs στα partitions όπως πρέπειΟ δίσκος σας είναι έτοιμος προς χρήση.Διαμορφώνοντας δίσκους για συμβατή λειτουργίαΕισαγωγήΗ γραμμή εντολών είναι μεν ο ευκολότερος τρόπος για να φτιάξετε
δίσκους αποκλειστικής λειτουργίας αλλά είναι και ο δυσκολότερος για να
φτιάξετε συμβατούς δίσκους. Το fdisk από την γραμμή
εντολών θέλει περισσότερες γνώσεις μαθηματικών και πολλές γνώσεις
σχετικά με τον πίνακα κομματιών, κάτι που προφανώς δεν χρειάζεται να
μάθετε. Γι αυτό χρησιμοποιήστε το sysinstall για να φτιάξετε συμβατούς
δίσκους ακολουθώντας τις οδηγίες παρακάτω.Πώς να φτιάξετε δίσκους συμβατής λειτουργίας με το
SysinstallΞεκινήστε το sysinstall ώς root γράφοντας
&prompt.root; /stand/sysinstall
στην γραμμή εντολών.Επιλέξτε Index.Επιλέξτε Partition.Επιλέξτε το δίσκο που θέλετε να εγκαταστήσετε χρησιμοποιώντας
τα βελάκια και μετά SPACE.Αν θα χρησιμοποιήσετε όλο τον δίσκο για το FreeBSD,
επιλέξτε A.Όταν σας ζητηθεί:
Do you want to do this with a true partition entry so as to remain
cooperative with any future possible operating systems on the
drive(s)?
(Θέλετε να το κάνετε αυτό με πραγματικά κομμάτια για να παραμείνει
συμβατός με άλλα λειτουργικά συστήματα?) Απαντήστε
Yes.Επιλέξτε Write.Όταν σας ζητηθεί να εγκαταστήσετε τον boot manager, επιλέξτε
None με το SPACE και μετά ENTER
για OK.Quit (βγείτε) από το FDISK Editor.Θα σας ρωτήσει κάτι σχετικό με τον boot manager πάλι, επιλέξτε
None ξανά. Επιλέξτε Label απο το Index menu.Ονομάστε το δίσκο όπως θέλετε (εδώ θα ορίσετε τα
partitions). Aν θέλετε μόνο ένα partition απλώς δεχθείτε τις
προεπιλογές για τα προκαθορισμένα size, partition type filesystem,
και mountpoint (το οποίο δεν χρησιμοποιείται).Το filesystem θα περαστεί αυτόματα από την εντολή newfs εκτός
αν επιλέξετε το αντίθετο. Αν βάζετε καινούργιο partition σας
συμφέρει να το κάνετε! Θα σας δώσει το λάθος:
Error mounting /mnt/dev/ad2s1e on /mnt/blah : No such file or directory
Αγνοήστε το.Πατήστε συνεχόμενα το ESCAPE για να
βγείτε.Ο δίσκος σας είναι έτοιμος προς χρήση.Άλλες λειτουργίες με τους δίσκουςΠροσθέτοντας swap.Καθώς ένα σύστημα επεκτείνεται, η ανάγκη για μεγαλύτερο swap
γίνεται όλο και πιο επιτακτική. Παρόλο που το να προστεθεί swap σε έναν
υπάρχοντα δίσκο είναι τρομερά δύσκολο, ένας καινούργιος δίσκος μπορεί
να μορφοποιηθεί έτσι ώστε να περιέχει το επιπλέον swap που σας
λείπει.Για να προσθέσετε swap καθώς βάζετε ένα δίσκο στο σύστημα:Καθώς κόβετε το δίσκο (partitioning) αλλάξτε το disklabel και
ορίστε χώρο για swap στο κομμάτι (partition) `b' και βάλτε τον
υπόλοιπο χώρο σε κάποιο άλλο κομμάτι, π.χ. στο `a' ή στο `e'. Το
μέγεθος που δίνετε είναι σε blocks των 512 bytes.Όταν κάνετε newfs στον δίσκο, ΜΗΝ το κάνετε στο κομμάτι `c'.
Αντίθετα, κάντε το μόνο στο κομμάτι που δεν είναι swap.Προσθέστε στο /etc/fstab
το παρακάτω:/dev/ad0b none swap sw 0 0Αλλάξτε το /dev/ad0b στο όνομα της
καινούργιας σας συσκευής.Για να ενεργοποιήσετε άμεσα το νέο swap χρησιμοποιήστε την
εντολή swapon&prompt.root; swapon /dev/da0b
swapon: added /dev/da0b as swap spaceΑντιγράφοντας τα περιεχόμενα δίσκωνΑπό τον: Renaud Waldura
(renaud@softway.com)Για να μετακινήσετε αρχεία από τον αρχικό σας δίσκο σε έναν
καινούργιο, κάντε:
&prompt.root; mount /dev/ad2 /mnt
&prompt.root; pax -r -w -p e /usr/home /mnt
&prompt.root; umount /mnt
&prompt.root; rm -rf /usr/home/*
&prompt.root; mount /dev/ad2 /usr/homeΦτιάξτε ενωμένους δίσκους με το CCDΑπο τον: Stan Brown
(stanb@awod.com) Με το Concatenated Disk Driver, ή αλλιώς CCD, μπορείτε να έχετε
πολλούς όμοιους δίσκους αλλά να συμπεριφέρονται ως ένας. Η διαδικασία
λέγεται συγχώνευση (striping). Με την επικόλληση έχετε καλύτερα
αποτελέσματα στην ταχύτητα επειδή μοιράζονται οι εγγραφές και οι
αναγνώσεις στους δίσκους. Διαβάστε τις manual pages &man.ccd.4; και
&man.ccdconfig.8; ή την αρχική σελίδα του
CCD για περισσότερες λεπτομέρειες.Για να τρέξετε CCD πλέον δεν χρειάζεστε ειδικό πυρήνα. Με την
εντολή ccdconfig, φορτώνεται το κατάλληλο KLD
αυτόματα αν ο πυρήνας δεν έχει ήδη υποστήριξη για CCD.Τα CCD φτιάχνονται σε partitions τύπου
4.2BSD. Αν θέλετε να χρησιμοποιήσετε όλο τον
δίσκο και πάλι πρέπει να φτιάξετε ένα νέο partition. Για παράδειγμα,
η εντολή disklabel -e μπορεί να δείξει:# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)Δεν μπορείτε να χρησιμοποιήσετε το partition
c για CCD, εφόσον είναι τύπου
unused. Αντίθετα δημιουργήστε ένα νέο partition
ακριβώς ίδιου μεγέθους αλλά τύπου 4.2BSD:# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597)Για να δημιουργήσετε ένα νέο CCD, εκτελέστε τις παρακάτω
εντολές. Περιγράφουν πώς να προσθέσετε τρείς δίσκους. Απλώς αλλάξτε
τις συσκευές όπου χρειάζεται. Θυμηθείτε ότι οι δίσκοι πρέπει να
είναι όμοιοι.&prompt.root; cd /dev ; sh MAKDEV ccd0
&prompt.root; disklabel -r -w da0 auto
&prompt.root; disklabel -r -w da1 auto
&prompt.root; disklabel -r -w da2 auto
&prompt.root; disklabel -e da0Προσθέστε το partition e τύπου 4.2BSD
&prompt.root; disklabel -e da1Προσθέστε το partition e τύπου 4.2BSD
&prompt.root; disklabel -e da2Προσθέστε το partition e τύπου 4.2BSD
&prompt.root; ccdconfig ccd0 273 0 /dev/da0e /dev/da1e /dev/da2e
&prompt.root; newfs /dev/ccd0cΗ τιμή 273 είναι το μέγεθος του stripe. Είναι ο αριθμός των
sectors (512 bytes ο καθένας) σε κάθε block δεδομένων του CCD.
Θα πρέπει να είναι τουλάχιστον 128 kB, και δεν πρέπει να είναι δύναμη
του 2.Τώρα μπορείτε να κάνετε mount και να χρησιμοποιήσετε το CCD σας
μέσω της συσκευής /dev/ccd0c.Ένα πιό δυνατό και ευέλικτο εναλλακτικό του CCD είναι το Vinum.
Περισσότερες πληροφορίες στο Vinum Project home page.ΕυχαριστίεςΟ συγγραφέας θα ήθελε να ευχαριστήσει τους παρακάτω για την
συνεισφορά τους σε αυτή την εργασία τους:Darryl Okahata (darrylo@hpnmhjw.sr.hp.com)
για τις απλές οδηγίες εγκατάστασης ενός δίσκου σε αποκλειστικό τρόπο
λειτουργίας, τις οποίες έχω πολλές φορές χρησιμοποιήσει στην
FreeBSD-questions.&a.jkh;
που έκανε το sysinstall χρήσιμο για τέτοιου είδους δουλειές.John Fieber (jfieber@indiana.edu)
που έδωσε τις πληροφορίες και τα παραδείγματα για το DocBook DTD
πάνω στα οποία αυτό το κείμενο βασίζεται.&a.grog;
που έλεγξε την δουλειά μου, ψάχνοντας για ανακρίβειες, και για την
υποστήριξη του σε διάφορα θέματα.
+
+
diff --git a/el_GR.ISO8859-7/articles/java-tomcat/article.sgml b/el_GR.ISO8859-7/articles/java-tomcat/article.sgml
index 756b30a3a8..0ca08c39e7 100644
--- a/el_GR.ISO8859-7/articles/java-tomcat/article.sgml
+++ b/el_GR.ISO8859-7/articles/java-tomcat/article.sgml
@@ -1,641 +1,650 @@
%man;
]>
Java και Jakarta Tomcat στο FreeBSDVictoriaChanvkchan@kendryl.netHitenPandyahiten@uk.FreeBSD.org2002Victoria ChanHiten Pandya$FreeBSD$Το έγγραφο αυτό φιλοδοξεί να βοηθήσει οποιονδήποτε θέλει να
εγκαταστήσει και να χρησιμοποιήσει την Java στο FreeBSD με τη
μικρότερη δυνατή προσπάθεια. Σχεδιάστε να ασχοληθείτε μια ολόκληρη
μέρα με το αυτό το εγχείρημα, καθώς θα χρειαστεί αρκετός χρόνος να
μαζέψετε όλα τα κομμάτια και να τα μεταγλωττίσετε πρώτα χωριστά και
στο τέλος όλα μαζί. Θα σας δείξουμε επίσης πως να εγκαταστήσετε τον
διάσημο Jakarta Tomcat Servlet και JSP container στο λειτουργικό
σύστημα FreeBSD.ΕισαγωγήΗ γλώσσα προγραμματισμού Java γεννήθηκε στις 23 Μαϊου 1995. Κάποιος
θα πίστευε πως μέσα σε όλο αυτό το χρονικό διάστημα, οι εφαρμογές Java
θα έπρεπε να είναι πολύ έυκολο να εγκατασταθούν και να εκτελεστούν από
ένα μοναδικό package ή port του FreeBSD, κάνοντας έτσι την Java
προσβάσιμη στο ευρύ κοινό. Δυστυχώς, τα πράγματα δεν
είναι έτσι, καθώς η διανομή της Java είναι στενά ελεγχόμενη από την Sun
Microsystems, η οποία απαγορεύει την αναδιανομή. Όλα τα Java Applets
πρέπει να μεταγλωττίζονται, μαζί με το ίδιο το Java Development Kit που
προέρχεται από την Sun Microsystems. Όλα αυτά τα συστατικά πρέπει να
αναμειχθούν με τη σωστή σειρά, να συγκροτηθούν και να μεταγλωττιστούν
από τον τελικό χρήστη. Με μια τέτοια φιλοσοφία διανομής, η γνώμη μου
είναι πως η Java θα παραμένει για πάντα στη χρήση των developers ή των
hackers και μόνο. Οπωσδήποτε, αυτό ανακάλυψα όταν χρειάστηκε να παρέχω
στον web server που έχω κάποιες .jsp σελίδες, για
λογαριασμό κάποιου πελάτη μου και έπρεπε να κάνω τον
www/jakarta-tomcat
να συνεργαστεί με τον
www/apache13
στο FreeBSD σύστημά μου.Το σημείο εγκατάστασης του Tomcat είναι πολύ ξεκάθαρο, αλλά η
δυσκολία που συνάντησα ήταν στο να εγκαταστήσω ένα λειτουργικό Java
Development Kit για το FreeBSD 4.X, καθώς η Sun Microsystems παρέχει
Binaries μόνο για τα λειτουργικά συστήματα: Linux, Solaris, καθώς και
Windows NT. Αυτό σημαίνει πως έπρεπε να μεταγλωττίσω το δικό μου
JDK για το FreeBSD. Ξεκίνησα ψάχνοντας για σχετική τεκμηρίωση στο
Internet. Ανακάλυψα σχετικά γρήγορα ότι θα χρειαστώ επιπλεόν πηγαίο
κώδικα, καθώς και patches για τον κύριο πηγαίο κώδικα. Αφού είχα
συγκεντρώσει ότι χρειαζόμουν όμως, δεν είχα παρά ελάχιστη τεκμηρίωση για
το τι θα έπρεπε να γίνει.Στο άρθρο αυτό, θα ανακαλύψετε πως να εγκαταστήσετε το Java
Development Kit για το FreeBSD, καθώς και πως να εγκαταστήσετε μια
λειτουργική έκδοση του Tomcat. Σας παρέχεται και μια λίστα με
για περαιτέρω ανάγνωση.Το Περιβάλλον JavaΒεβαιωθείτε ότι έχετε μια ενημερωμένη συλλογή από ports καθώς το
make θα αποτύχει αν προσπαθήσει να μεταγλωττίσει
παλαιότερο πηγαίο κώδικα. Μπορείτε να ανανεώσετε ολόκληρη την συλλογή
των ports χρησιμοποιώντας το CVSup.
Διαβάστε το σχετικό
κεφάλαιο του Εγχειριδίου για περισσότερες πληροφορίες.
Μπορείτε επίσης να κατεβάσετε μόνοι σας τα ports που χρειάζεστε
από τη διεύθυνση
πριν ξεκινήσετε την διαδικασία εγκατάστασης.Θα χρειαστείτε υποστήριξη στον πυρήνα σας για Εξομοίωση
Linux (Linux-ABI). Απλά προσθέστε την ακόλουθη επιλογή
στο αρχείο ρύθμισης του πυρήνα σας και μεταγλωττίστε τον ξανά. Οδηγίες
για τη μεταγλώττιση του πυρήνα μπορείτε να βρείτε στο
Εγχειρίδιο του FreeBSD:options COMPAT_LINUXΗ παραπάνω επιλογή θα προσθέσει την υποστήριξη Linux-ABI στον
πυρήνα σας.Η παρακάτω λίστα υποχρεωτικών εξαρτήσεων πρέπει να ικανοποιηθεί από
εσάς χωρίς αυτόματο τρόπο και με τη δοσμένη σειρά. Οι εξαρτήσεις που
ικανοποιούνται με αυτόματο τρόπο δεν περιέχονται εδώ.java/jdk13java/linux-jdk13archivers/gtararchivers/bzip2archivers/unziparchivers/zipΘα χρειαστεί να αποκτήσετε τα ακόλουθα:Κατεβάστε το αρχείο
bsd-jdk131-patches-5.tar.gz
από τη διεύθυνση
και τοποθετήστε το κάτω από το φάκελο
/usr/ports/distfiles.Στη συνέχεια ανοίξτε τον web browser και επισκεφθείτε τη
διεύθυνση
όπου θα βρείτε τα SDK downloads. Πατήστε στο κουμπί
continue κάτω από το GNUZIP Tar Shell
Script. Διαβάστε κάθε λέξη από την άδεια πριν αποφασίσετε να
πατήσετε το κουμπί Accept! Θα μεταφερθείτε σε μια
σελίδα με τίτλο Download Java(TM) 2 SDK, Standard Edition
1.3.1_02. Μεταβείτε στο τέλος της σελίδας και πιέστε το
κουμπί HTTP download. Όταν εμφανιστεί το παράθυρο
Αποθήκευση ως, σιγουρευτείτε ότι θα πιέσετε το κουμπί
Άνοιγμα αντί για το κουμπί Αποθήκευση.
Θα εμφανιστεί ένα ακόμα παράθυρο
Αποθήκευση ως—αυτή τη φορά επιλέξτε
Αποθήκευση και θα είστε σε θέση να αποθηκεύσετε το
αρχείο j2sdk-1_3_1_02-linux-i386.bin.
Αποθηκεύστε κι αυτό το αρχείο στο φάκελο
/usr/ports/distfiles.Πηγαίνετε στη διεύθυνση
.
Στον πίνακα, κάτω από το Produce Description, με
τίτλο Java 2 SDK 1.3.1, πατήστε στο κουμπί
download που βρίσκεται στο δεξί κελί. Θα
μεταφερθείτε σε μια σελίδα με τίτλο Sign On, όπου θα
πρέπει να συνδεθείτε αν έχετε ήδη ένα λογαριασμό ή να εγγραφείτε για
να αποκτήσετε πρόσβαση. Όταν συνδεθείτε, θα μεταφερθείτε σε μια
Legal σελίδα, στην οποία θα πρέπει να αποδεχθείτε
τους όρους άδειας: Μεταβείτε στο κάτω μέρος της σελίδας (διαβάζοντας
ταυτόχρονα την άδεια) και πατήστε στο κουμπί
Continue. Η επόμενη σελίδα είναι η
Receipt. Εδώ είναι το σημείο που θα αποθηκεύσετε τον
αριθμό παραγγελίας σας. Θα σας δοθεί η δυνατότητα να επιλέξετε μια
περιοχή που βρίσκεται σχετικά κοντά σε εσάς. Πατήστε στο κουμπί
Java 2 SDK, Standard Edition, version 1.3.1.
Αποθηκεύστε το αρχείο j2sdk-1_3_1-src.tar.gz
κάτω από το φάκελο
/usr/ports/distfiles/.Βεβαιωθείτε ότι θα διαβάσετε την άδεια χρήσης που έχει εκδοθεί από
την Sun Microsystems Corp. Υπάρχουν αρκετοί περιορισμοί στην χρήση
της Java στους οποίους καλείστε να συμμορφωθείτε. Το FreeBSD project
δεν αναλαμβάνει καμμία ευθύνη για τις πράξεις σας.Μη σβήσετε κανένα από τα αρχεία που έχετε κατεβάσει ως τώρα,
καθώς χρειάζονται για τη μεταγλώττιση μερικών native ports του
FreeBSD, κάτι που θα δούμε στη συνέχεια του κειμένου.Τώρα, αφού έχετε συγκεντρώσει όλο τον πηγαίο κώδικα καθώς και τα
ports μπορείτε να ξεκινήσετε τη μεταγλώττιση του
java/linux-jdk13:&prompt.root; cd /usr/ports/archivers/gtar; make all install clean
&prompt.root; cd /usr/ports/archivers/unzip; make all install clean
&prompt.root; cd /usr/ports/archivers/zip; make all install cleanΚαι τέλος:&prompt.root; cd /usr/ports/java/linux-jdk13
&prompt.root; make all install cleanΌταν τελειώσει η διαδικασία μεταγλώττισης του
java/linux-jdk13,
θα πρέπει να ελέγξετε τη σωστή λειτουργία του. Για να το κάνετε αυτό
δοκιμάστε τα ακόλουθα:&prompt.root; cd /usr/local/linux-jdk1.3.1/bin
&prompt.root; ./java -versionΗ έξοδος της παραπάνω εντολής θα πρέπει να είναι η ακόλουθη:java version "1.3.1_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_02-b02)
Classic VM (build 1.3.1_02-b02, green threads, nojit)Αν δεν πήρατε την σωστή απόκριση, θα πρέπει να κάνετε τα
εξής:&prompt.root; cd /usr/ports/java/linux-jdk13
&prompt.root; make deinstallΚαι ύστερα σιγουρευτείτε ότι ο φάκελος
/usr/local δεν περιέχει τον υποφάκελο
linux-jdk1.3.1. Αν βρείτε τον
υποφάκελο αυτό, σβήστε τον. Επαναλάβετε τη διαδικασία μεταγλώττισης και
εγκατάστασης για το πακέτο
java/linux-jdk13.Για να μεταγλωττίσετε το native Java Development Kit
1.3.1 για το FreeBSD, κάντε τα ακόλουθα:Σιγουρευτείτε ότι το αρχείο
j2sdk-1_3_1-src.tar.gz βρίσκεται στον φάκελο
/usr/ports/distfiles. Το αρχείο αυτό
χρειάζεται για την εφαρμογή των patch-sets που θα
δούμε παρακάτω.Θα χρειαστεί να κατεβάσετε το patch set για
τη μεταγλώττιση του port. Το αρχείο αυτό ονομάζεται
bsd-jdk131-patches-6.tar.gz.
Θα πρέπει επίσης να βεβαιωθείτε για την ακεραιότητα του αρχείου
ταριάζοντας το με το ακόλουθο MD5
checksum.
MD5 (bsd-jdk131-patches-6.tar.gz) = 9cade10b81d6034fdd2176bef32bdbf9Το patch-set είναι διαθέσιμο στη διεύθυνση:
Η τελευταία αυτή διαδικασία που μόλις είδαμε (η μεταγλώττιση του
native jdk) θα πάρει αρκετό χρόνο.Εγκατάσταση του Jakarta TomcatΠερίληψηΗ Java γίνεται σταδιακά όλο και πιο δημοφιλής για τη δημιουργία
ποικίλων και επιδεχόμενων κλιμάκωσης, ανεξαρτήτων από πλατφόρμα
λύσεων. Μια από τις πιο έντονα αυξανόμενες ανάγκες της Java βρίσκεται
στον τομέα του ASP (Application Service Provider).
Η Java προσφέρεται σαν η τέλεια λύση σε τέτοιου είδους αγορές έχοντας
τα ακόλουθα προτερήματα:Ανεξαρτησία πλατφόρμαςΑφοσίωση στα υπάρχοντα πρότυπαΜεγάλη δυνατότητα κλιμάκωσηςΣυνέπεια στην απόδοσηΚατανεμημένες, πολυνηματικές, ασφαλείς κτλ.
εφαρμογέςΜια πολύ σημαντική και αναπτυσσόμενη τεχνολογία που αναδύθηκε μέσα
από την Java είναι η JSP (JavaServer Pages).Οι JSP (JavaServer Pages) είναι μια server-side
τεχνολογία που παρουσιάστηκε από την Sun Microsystems
Corp., και παρέχει ένα γρήγορο και απλό τρόπο για την
παραγωγή δυναμικού περιεχομένου μέσα από HTML
σελίδες. Χρησιμοποιεί XML tags μαζί με Java
scriptlets για να ενσωματώσει και να διαχωρίσει έτσι τη λογική από τον
αισθητικό σχεδιασμό και εμφάνιση. Όταν καλείται μια
JSP σελίδα, μετατρέπεται δυναμικά σε ένα Servlet το
οποίο επεξεργάζεται από τον server για να παραχθεί η τελική
HTML/XML σελίδα που θα δεί ο client. Όταν η
JSP τεχνολογία χρησιμοποιείται σε συνδυασμό με την
τεχνολογία JavaBeans, είναι δυνατό να παραχθούν ποικιλόμορφες και
επιδεχόμενες μεγάλης κλιμάκωσης εφαρμογές, οι οποίες μπορούν να
συνδυαστούν με την δύναμη και την απόδοση του FreeBSD.Ο Tomcat είναι μια open-source εφαρμογή
των προδιαγραφών των τεχνολογιών Java Servlets και JavaServer Pages,
που αναπτύσσεται κάτω από από το Jakarta project στο Apache Software
Foundation. Ο Tomcat εφαρμόζει ένα νέο Servlet framework (ονομαζόμενο
Catalina) που στηρίζεται επάνω σε μια εντελώς νέα αρχιτεκτονική με
βάση τις Servlet 2.3 and JSP 1.2 προδιαγραφές.
Περιλαμβάνει πολλές νέες δυνατότητες που τον ανάγουν σε μια χρήσιμη
πλατφόρμα για την δημιουργία αλλά και ανάπτυξη εφαρμογών αλλά και
υπηρεσιών web. Με λίγα λόγια, ο Tomcat είναι ένας διακομιστής
εφαρμογών γραμμένος σε 100% καθαρή Java.Ο Tomcat χρησιμοποιείται για πολλούς σκοπούς, και δεν περιορίζεται
μόνο στη χρήση του ως διακομιστής εφαρμογών. Παρέχει μια ανοιχτή
πλατφόρμα για την δημιουργία επεκτάσιμων υπηρεσιών web αλλά και
υπηρεσιών content management. Η χρήση του Tomcat σε συνδυασμό με ένα
βελτιστοποιημένο FreeBSD σύστημα, μπορεί να παρέχει πολύ συνεπείς αλλά
και υψηλών ρυθμών εξυπηρέτησης υπηρεσίες.Παρακαλώ ανατρέξτε στη λίστα με τις για
περισσότερες πληροφορίες σχετικά με τον Tomcat και την
JSP τεχνολογία. Παρακάτω θα δούμε πως μπορείτε να
εγκαταστήσετε το Περιβάλλον Tomcat στο FreeBSD. Η
έκδοση του Tomcat που χρησιμοποιείται στον οδηγό αυτό είναι η
4.0.3. Στην έκδοση αυτή περιέχονται μεγάλα bug
fixes, αλλά και οι ακόλουθες ανανεώσεις/αλλαγές:Υλοποίηση προδιαγραφών του JSP 1.2Υλοποίηση προδιαγραφών του Java Servlet 2.3Πλήρης συμβατότητα με τις παλαιότερες Java
Servlet 2.2 και JSP 1.1 προδιαγραφέςΤο περιβάλλον Tomcat για το FreeBSDΗ εγκατάσταση του Tomcat στο FreeBSD είναι πολύ εύκολη εφόσον έχει
στηθεί πρώτα το απαραίτητο περιβάλλον Java, κάτι που έχουμε ήδη
κάνει.Για να εγκαταστήσετε τον Tomcat στο FreeBSD, ακολουθήστε τα
παρακάτω βήματα:Ακολουθήστε τα παρακάτω βήματα για την εγκατάσταση του
απαραίτητου περιβάλλοντος Java.Δηλώστε τη μεταβλητή περιβάλλοντος JAVA_HOME η
οποία, θα πρέπει να δείχνει στο φάκελο όπου έχετε εγκαταστήσει το
JDK (το παρακάτω παράδειγμα δείχνει σε ένα native build του
JDK για C κέλυφος):&prompt.root; setenv JAVA_HOME /usr/local/jdk1.3.1Αυτή η μεταβλητή περιβάλλοντος θα πρέπει να γίνει μόνιμη με
την προσθήκη της παραπάνω εντολής είτε στο
.profile είτε στο
.cshrc, ανάλογα με το ποιό κέλυφος
χρησιμοποιείτε. Η μεταβλητή αυτή είναι πολύ σημαντική για τη
λειτουργία των Java βασισμένων προγραμμάτων, όπως και του ίδιου
του Tomcat.Κατεβάστε την binary διανομή του Tomcat από το
Jakarta website, που θα βρείτε στη διεύθυνση . Το αρχείο που θα πρέπει να κατεβάσετε
λέγεται
jakarta-tomcat-4.0.3.tar.gz.Το συμπιεσμένο και αρχειοθετημένο αρχείο που κατεβάσαμε στο
προηγούμενο βήμα χρησιμοποιεί ειδικές GNU
Extensions. Για να το κάνετε untar και να
το αποσυμπιέσετε θα πρέπει να εγκαταστήσετε το πακέτο GNU Tar
(archivers/gtar), κάνοντας τα
ακόλουθα:&prompt.root; cd /usr/ports/archivers/gtar && make all install cleanΚάντε untar και αποσυμπιέστε το αρχείο
jakarta-tomcat-4.0.3.tar.gz μέσα στο
φάκελο /usr/local και μετονομάστε τον
παραγόμενο υποφάκελο σε tomcat-4.0
για εύκολη αναφορά:&prompt.root; cd /usr/local
&prompt.root; gtar zxvf jakarta-tomcat-4.0.3.tar.gz
&prompt.root; ls jakarta*
jakarta-tomcat-4.0.3
&prompt.root; mv jakarta-tomcat-4.0.3 tomcat-4.0Μπορείτε πλέον να σβήσετε το αρχείο
jakarta-tomcat-4.0.3.tar.gz αν το
επιθυμείτε.Η εγκατάσταση χρησιμοποιώντας τον πηγαίο κώδικα είναι
προς το παρόν εκτός της εμβέλειας του τρέχοντος
κειμένου. Παρακαλώ, ανατρέξτε στα ακόλουθα αρχεία για
περαιτέρω πληροφορίες όσον αφορά την μεταγλώττιση από τον
πηγαίο κώδικα. Τα αρχεία αυτά είναι διαθέσιμα στον φάκελο
διανομής του Tomcat:/usr/local/tomcat-4.0/README.txt/usr/local/tomcat-4.0/BUILDING.txtΛειτουργία του Tomcat - Βασικές ΠληροφορίεςΈχουμε πλέον τελειώσει με την εγκατάσταση του Tomcat. Το ακόλουθο
παράδειγμα δείχνει πως να ξεκινήσετε τον Tomcat server:&prompt.root; cd /usr/local/tomcat-4.0/bin
&prompt.root; ./startup.sh (για να ξεκινήσετε τον Tomcat)Μπορείτε να δοκιμάσετε αν έχει ξεκινήσει ο Tomcat server
επισκεπτόμενοι το ακόλουθο URL:
http://127.0.0.1:8080 ή
http://localhost:8080.
Για να σταματήσετε τον Tomcat κάντε τα ακόλουθα:&prompt.root; cd /usr/local/tomcat-4.0/bin
&prompt.root; ./shutdown.shΤα startup.sh και
shutdown.sh είναι frontends του
catalina.sh εκτελέσιμου script στον ίδιο φάκελο:
Αν θέλετε να ξεκινάει ο Tomcat αυτόματα κατά την εκκίνηση εκτελέστε τα
ακόλουθα:&prompt.root; cd /usr/local/etc/rc.d
&prompt.root; ln -s /usr/local/tomcat-4.0/bin/catalina.shΔιορθώστε το catalina.sh, και προσθέστε τα
ακόλουθα στην αρχή του αρχείου (μετά από το κουτί με τα
σχόλια):JAVA_HOME=/usr/local/jdk1.3.1Αν η θύρα 8080 είναι απασχολημένη από κάποια
άλλη υπηρεσία, μπορείτε να την αλλάξετε διορθώνοντας το αρχείο
server.xml που βρίσκεται στον υποφάκελο
conf/ του Tomcat. Στο παρακάτω παράδειγμα, η θύρα
θα αλλαχθεί στην 80, θεωρώντας ότι δεν υπάρχει κάποια άλλη υπηρεσία
που χρησιμοποιεί τη θύρα αυτή.&prompt.root; cd /usr/local/tomcat-4.0/conf
&prompt.root; fgrep -n 8080 server.xml
~65: By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
~89: port="8080" minProcessors="5" maxProcessors="75"
&prompt.root; cat server.xml | sed s/8080/80/ > server.xml.new
&prompt.root; mv server.xml.new server.xmlΑναφορέςThe FreeBSD Java ProjectJavaSoft. Home of JavaThe
Sun Community Source Licensing for JavaJakarta Tomcat HomepageJ2SE
DocumentationFreeBSD Ports - Java
SectionΣυμπεράσματαΦτάνοντας στο τέλος αυτού του άρθρου έχουμε μια λειτουργική έκδοση
του Tomcat. Ελπίζουμε ότι μάθατε τα βασικά στάδια που χρειάζονται για
τη μεταγλώττιση και εγκατάσταση του Java Development Kit στο FreeBSD,
καθώς και για την εγκατάσταση του Tomcat binary distribution
application server που έχει εκδοθεί από το Apache Software Foundation.
Η λίστα με τις περιέχει δείκτες σε επιπρόσθετες
πηγές πληροφορίας επάνω στα θέματα αυτά, κάποιες από τις οποίες
βρίσκονται σε έντυπη μορφή, άλλες στον παγκόσμιο ιστό ή και στα
δύο.Το πιο σημαντικό θέμα είναι να υπάρχει χώρος στο σύστημα. Προτείνω
να έχετε 700 MB ή περισσότερα ελεύθερο χώρο στο φάκελο
/usr. Ελπίζω το άρθρο αυτό να σας βοήθησε
κατά ένα μικρό τρόπο. Ερωτήσεις, σχόλια ή συγχαρητήρια μπορείτε να
στέλνετε στη διεύθυνση Victoria
Chan.
+
+
diff --git a/el_GR.ISO8859-7/articles/laptop/article.sgml b/el_GR.ISO8859-7/articles/laptop/article.sgml
index 6c5376ddbd..ecb06ee15e 100644
--- a/el_GR.ISO8859-7/articles/laptop/article.sgml
+++ b/el_GR.ISO8859-7/articles/laptop/article.sgml
@@ -1,217 +1,226 @@
%man;
%freebsd;
%authors;
%mailing-lists;
]>
Χρησιμοποιώντας το FreeBSD σε Φορητούς$FreeBSD$Το FreeBSD δουλεύει άψογα στους περισσότερους φορητούς
υπολογιστές, με πολύ λίγα σημεία που χρίζουν προσοχής.
Μερικά πράγματα που αφορούν το FreeBSD και τους φορητούς,
σχετικά με τις διαφορές που υπάρχουν σε απαιτήσεις υλικού
από τους υπολογιστές γραφείου, περιγράφονται παρακάτω.Συχνά το FreeBSD χρησιμοποιείται σαν λειτουργικό σύστημα
σε εξυπηρετητές, αλλά μπορεί το ίδιο καλά να χρησιμοποιηθεί και σε
σταθμούς εργασίας, κι αν σκέφτεστε να το χρησιμοποιήσετε στον
φορητό υπολογιστή σας μπορείτε να απολαμβάνετε όλα τα συνηθισμένα
πλεονεκτήματα που έχει: συστηματική οργάνωση, εύκολη διαχείριση
και αναβάθμιση, τα ports και τα πακέτα για εύκολη εγκατάσταση
λογισμικού, κοκ. (Τα άλλα πλεονεκτήματά του, όπως η σταθερότητα,
η απόδοση σε δικτυακές εφαρμογές, και η απόδοση σε συνθήκες υψηλού
φόρτου, μπορεί να μην γίνονται πολύ φανερά σε ένα φορητό
υπολογιστή, βέβαια.) Όμως, η εγκατάσταση σε φορητούς υπολογιστές
συχνά παρουσιάζει προβλήματα τα οποία δεν εμφανίζονται σε
υπολογιστές γραφείου και δεν αποτελούν συχνά θέμα συζήτησης (οι
φορητοί, ακόμα περισσότερο από τους υπολογιστές γραφείου, είναι
ρυθμισμένοι για να τρέχουν καλά με Microsoft Windows). Αυτό το
άρθρο έχει σαν στόχο να παρουσιάσει κάποια από αυτά τα
θέματα.Το γραφικό περιβάλλον XFree86Οι πρόσφατες εκδόσεις των XFree86 δουλεύουν με τις
περισσότερες μοντέρνες κάρτες οθόνης που χρησιμοποιούνται σε
φορητούς υπολογιστές. Η επιτάχυνση (acceleration) μπορεί να μην
υποστηρίζεται, αλλά μια βασική SVGA κατάσταση θά 'πρεπε να
δουλεύει χωρίς προβλήματα.Ελέγξτε την τεκμηρίωση του φορητού σας για να δείτε ποια
κάρτα οθόνης έχει και μετά συμβουλευτείτε την τεκμηρίωση των
XFree86 (ή το πρόγραμμα εγκατάστασης) για να δείτε αν υπάρχει
υποστήριξη για την συγκεκριμένη κάρτα. Αν όχι, τότε
χρησιμοποιήστε ένα βασικό οδηγό συσκευής (μην προσπαθήσετε να
χρησιμοποιήσετε κάποιο οδηγό που να μοιάζει κάπως στο όνομα).
Στην έκδοση 4 των XFree86, μπορείτε να δοκιμάσετε την τύχη σας
με την εντολή XFree86 -configure που
βρίσκει αυτόματα πολλές από τις σωστές ρυθμίσεις.Το πρόβλημα είναι πολλές φορές να ρυθμιστεί σωστά η οθόνη.
Συχνά η τεκμηρίωση επικεντρώνει στις CRT οθόνες. Το να βρείτε
τις κατάλληλες ρυθμίσεις (modelines) για μια LCD οθόνη μπορεί να
μην είναι και τόσο εύκολο. Μπορεί να είστε τυχεροί και να μην
χρειάζεται να βρείτε κάποια γραμμή ρυθμίσεων για την οθόνη, ή να
αρκεί απλώς να δώσετε τις σωστές τιμές στα HorizSync και
VertRefresh. Αν αυτό δεν δουλέψει, η καλύτερη επιλογή που έχετε
είναι να ψάξετε στο δίκτυο για πηγές σχετικές με ρύθμιση των X
σε φορητούς (συχνά οι οδηγίες που υπάρχουν είναι σχετικές με το
Linux, αλλά δεν έχει σημασία αφού και τα δυο συστήματα
χρησιμοποιούν την ίδια έκδοση των XFree86) και να αντιγράψετε
τις κατάλληλες γραμμές ρυθμίσεων που έχει στείλει κάποιος ο
οποίος έχει το ίδιο υλικό.Οι περισσότεροι φορητοί έρχονται με δυο κουμπιά στις
συσκευές δείκτη που έχουν, που είναι αρκετά ενοχλητικό όταν
κάποιος δουλεύει σε X (αφού το μεσαίο κουμπί είναι αυτό που
συχνά χρησιμοποιείται για επικόλληση κειμένου). Μπορείτε να
αντιστοιχήσετε το ταυτόχρονο πάτημα του δεξιού και αριστερού
κουμπιού στις ρυθμίσεις των X σας να εξομοιώνει το πάτημα του
μεσαίου κουμπιού με την γραμμή
Option "Emulate3Buttons"
στο αρχείο XF86Config, στο τμήμα
InputDevice. (Αυτό ισχύει για την έκδοση 4
των XFree. Για την έκδοση 3, απλά βάλτε την γραμμή
Emulate3Buttons, χωρίς εισαγωγικά, στο
τμήμα Pointer.)ModemsΟι φορητοί έρχονται συνήθως με εσωτερικά (on-board) μόντεμ.
Δυστυχώς, αυτό σημαίνει πως σχεδόν πάντα είναι
win-μόντεμ των οποίων η λειτουργικότητα είναι
υλοποιημένη σε λογισμικό, για το οποίο οδηγοί υπάρχουν μόνο για
Windows (αν και μερικοί οδηγοί έχουν αρχίσει να βγαίνουν και για
άλλα λειτουργικά συστήματα). Αν το μόντεμ που έχει ο φορητός σας
είναι τέτοιο, θα χρειαστεί να αγοράσετε ένα εξωτερικό μόντεμ.
Η πιο καλή λύση από άποψη χώρου είναι να αγοράσετε ένα PC Card
(PCMCIA) μόντεμ, που περιγράφεται παρακάτω, αλλά υπάρχουν και
φτηνά USB ή σειριακά μόντεμ που μπορεί να σας κοστίσουν
λιγότερο. Γενικά, τα κανονικά (όχι win-μόντεμ) μόντεμ πρέπει να
δουλεύουν χωρίς κανένα πρόβλημα.Συσκευές PCMCIA (PC Card)Οι πιο πολλοί φορητοί έρχονται με υποδοχές PCMCIA (γνωστές
και ως PC Card). Αυτές υποστηρίζονται αρκετά καλά από το
FreeBSD. Κοιτάξτε τα μηνύματα της εκκίνησης του υπολογιστή σας
(χρησιμοποιώντας την εντολή dmesg) και δείτε
αν το FreeBSD έχει βρει τις θύρες αυτές (πρέπει να εμφανίζονται
σαν pccard0,
pccard1 κλπ. σε συσκευές όπως ή
pcic0).Μέχρι τώρα το FreeBSD έχει υποστήριξη για 16-bit PCMCIA
κάρτες, αλλά όχι 32-bit (CardBus) κάρτες. Μια
λίστα από κάρτες που υποστηρίζονται υπάρχει το αρχείο
/etc/defaults/pccard.conf. Κοιτάξτε αυτό
το αρχείο, και προτιμήστε να αγοράσετε κάρτες που υπάρχουν σε
αυτή τη λίστα. Οι κάρτες που δεν υπάρχουν στη λίστα, μπορεί να
υποστηρίζονται σαν generic συσκευές: συγκεκριμένα
τα πιο πολλά μόντεμ (16-bit) θα πρέπει να δουλεύουν μια χαρά,
αρκεί να μην είναι win-μόντεμ (τέτοια μόντεμ υπάρχουν ακόμη και
σαν PC Card συσκευές, γι' αυτό να προσέχετε). Αν η κάρτα σας
αναγνωρίζεται σαν generic μόντεμ, σημειώστε πως το αρχείο
pccard.conf ορίζει μια καθυστέρηση 10
δευτερολέπτων (για να αποφύγει τα κολλήματα που παθαίνουν κάποια
μόντεμ). Αυτός ο χρόνος μπορεί να είναι πολύ μεγάλος για το
δικό σας μόντεμ, οπότε αξίζει να πειραματιστείτε, μειώνοντάς
τον ή ακόμα κι αφαιρώντας τον τελείως.Μερικά μέρη του pccard.conf μπορεί να
χρειάζονται διορθώσεις. Ελέγξτε την γραμμή irq, και βεβαιωθείτε
ότι δεν γράφει κάποια irq γραμμή που ήδη χρησιμοποιείται από
κάποια άλλη συσκευή. Πιο συγκεκριμένα, αν έχετε κάποια on-board
κάρτα ήχου, αφαιρέστε την γραμμή irq 5 (αλλιώς μπορεί να
κολλήσει ο φορητός σας μόλις εισάγετε μια PC Card συσκευή).
Επίσης ελέγξτε ότι χρησμοποιούνται ελεύθερες περιοχές μνήμης.
Αν η κάρτα σας δεν αναγνωρίζεται, τότε προσπαθήστε να αλλάξετε
την περιοχή μνήμης σε κάποια άλλη επιτρεπόμενη τιμή (από αυτές
που υπάρχουν στην σελίδα τεκμηρίωσης &man.pccardc.8;).
Αν δεν τρέχει ήδη, ξεκινήστε τον δαίμονα
pccardd. (Για να ξεκινάει όταν ανοίγετε τον
υπολογιστή σας, προσθέστε στο αρχείο
/etc/rc.conf τη γραμμή
pccard_enable="YES".) Τώρα οι
κάρτες σας θα πρέπει να αναγνωρίζονται όταν τις βάζετε σε κάποια
θύρα ή τις αφαιρείτε, και να βλέπετε μηνύματα για νέες συσκευές
που ενεργοποιούνται.Ακριβώς πριν την διανομή της έκδοσης 4.4 του FreeBSD έγιναν
αρκετές αλλαγές στον κώδικα για τις PC Card συσκευές (μέσα σε
αυτές ήταν και αλλαγές στον κώδικα δρομολόγησης των διακοπών
ISA, για εκείνες τις μηχανές που το FreeBSD δεν μπορούσε να
χρησιμοποιήσει το PCIBIOS). Αν έχετε προβλήματα με αυτή την
έκδοση του FreeBSD, δοκιμάστε να την αναβαθμίσετε σε κάποια πιο
καινούρια.Power managementΔυστυχώς, το power management δεν υποστηρίζεται πολύ καλά
από το FreeBSD. Αν είστε τυχεροί, ίσως κάποιες από τις
λειτουργίες να δουλεύουν αξιόπιστα. Συνήθως πάντως, δεν
δουλεύουν καθόλου.Για να ενεργοποιήσετε τέτοια χαρακτηριστικά στο FreeBSD σας,
πρέπει να μεταγλωττίσετε ένα πηρύνα που να περιλαμβάνει υποστήριξη
για power management (device apm0) ή να
προσθέσετε την γραμμή enable apm0 στο αρχείο
/boot/loader.conf, και φυσικά ύστερα να
ενεργοποιήσετε τον δαίμονα apm κατά την
εκκίνηση του συστήματος (προσθέτοντας την γραμμή
apm_enable="YES" στο αρχείο
/etc/rc.conf). Η εντολή apm περιγράφεται
στην manpage &man.apm.8;. Για παράδειγμα, η εντολή
apm -b επιστρέφει πληροφορίες σχετικά με την
κατάσταση της μπαταρίας, η εντολή (ή 255 αν η λειτουργία αυτή δεν
υποστηρίζεται), η εντολή apm -Z βάζει τον
φορητό υπολογιστή σε κατάσταση standby, ενώ η εντολή
apm -z (ή zzz) τον βάζει σε κατάσταση suspend.
Για να κλείσετε το μηχάνημά σας, χρησιμοποιήστε την εντολή
shutdown -p. Και πάλι, κάποιες από αυτές τις
λειτουργίες μπορεί να μην δουλεύουν πολύ καλά ή να μην δουλεύουν
καθόλου. Μπορεί να δείτε ότι η κατάσταση suspend/standby μπορεί
να χρησιμοποιηθεί όταν είστε σε κατάσταση κονσόλας αλλά όχι όταν
τρέχουν τα X (Για παράδειγμα, η οθόνη δεν ανοίγει ξανά). Σε μια
τέτοια περίπτωση, αλλάξτε την τρέχουσα κονσόλα σε κάποια άλλη
εικονική κονσόλα (χρησιμοποιώντας τον συνδυασμό πλήκτρων
Ctrl-Alt-F1 για παράδειγμα) και τότε τρέξτε την εντολή apm.Το γραφικό περιβάλλον X έχει επίσης κάποιου είδους
υποστήριξη για power management (διαβάστε την τεκμηρίωση της
εντολής &man.xset.1;, και ψάξτε για dpms). Είναι
καλή ιδέα να δοκιμάσετε να το χρησιμοποιήσετε, αλλά κι αυτό το
χαρακτηριστικό των X δεν λειτουργεί πάντα σωστά. Μερικές φορές
κλείνει την οθόνη αλλά δεν κλείνει το φως.
+
+
diff --git a/el_GR.ISO8859-7/articles/multi-os/article.sgml b/el_GR.ISO8859-7/articles/multi-os/article.sgml
index cadcf9edc1..7b419682da 100644
--- a/el_GR.ISO8859-7/articles/multi-os/article.sgml
+++ b/el_GR.ISO8859-7/articles/multi-os/article.sgml
@@ -1,793 +1,795 @@
%authors;
]>
Εγκατάσταση και χρήση του FreeBSD μαζί με άλλα λειτουργικά συστήματαJayRichmondjayrich@sysc.com6 August 1996Αυτό το κείμενο περιγράφει πως μπορεί το FreeBSD να συνυπάρξει
αρμονικά με άλλα δημοφιλή λειτουργικά συστήματα, όπως το Linux, το
MS-DOS, το OS/2 και τα Windows 95. Για την βοήθειά τους στη
συγγραφή αυτού του κειμένου, θέλω να ευχαριστήσω τους:
Annelise Anderson andrsn@stanford.edu,
Randall Hopper rhh@ct.picker.com, και &a.jkh;.ΠερίληψηΟι περισσότεροι άνθρωποι δεν μπορούν να στήσουν παραπάνω από ένα
λειτουργικό σύστημα χωρίς μεγάλο δίσκο, γι αυτό παρακάτω θα βρείτε και
πληροφορίες για μεγάλους EIDE δίσκους. Επειδή υπάρχουν πάρα πολλοί
συνδυασμοί από πιθανά λειτουργικά συστήματα και ρυθμίσεις σκληρών
δίσκων, το τμήμα είναι το πιο χρήσιμο.
Περιγράφει συγκεκριμένα παραδείγματα από εγκαταστάσεις, που δουλεύουν
χρησιμοποιώντας περισσότερα από ένα λειτουργικά συστήματα.Αυτό το κείμενο θεωρεί δεδομένο ότι έχετε ήδη κάνει χώρο στο δίσκο
σας για κάποιο πρόσθετο λειτουργικό σύστημα. Κάθε φορά που αλλάζετε
τις κατατμήσεις του δίσκου σας υπάρχει ο κίνδυνος να χάσετε ή να
καταστρέψετε τα δεδομένα στις υπάρχουσες κατατμήσεις. Παρόλ' αυτά, αν ο
δίσκος σας αυτή τη στιγμή περιέχει μόνο DOS κατατμήσεις, μπορεί να σας
φανεί χρήσιμο το εργαλείο FIPS (περιέχεται στα CD-ROM εγκατάστασης του
FreeBSD, στον κατάλογο \TOOLS,
αλλά μπορείτε να το βρείτε και μέσω ftp).
Με το FIPS μπορείτε να αλλάξετε το μέγεθος των κατατμήσεων στο δίσκο
σας, χωρίς να καταστραφούν τα δεδομένα που υπάρχουν ήδη σε αυτόν.
Υπάρχει κι ένα εμπορικό πρόγραμμα, που λέγεται Partition Magic, το οποίο
επιτρέπει να αλλάξετε το μέγεθος που έχουν ή να σβήσετε τις κατατμήσεις
σας χωρίς δυσάρεστες συνέπειες.Σύγκριση Διαχειριστών Εκκίνησης (boot managers)Εδώ περιγράφονται κάποιοι από τους διάφορους διαχειριστές εκκίνησης
που μπορεί να συναντήσετε. Ανάλογα με τις ρυθμίσεις του υπολογιστή σας,
μπορεί να χρειαστεί να χρησιμοποιήσετε ένα ή περισσότερους στο ίδιο
σύστημα.Το Boot EasyΑυτός είναι ο προκαθορισμένος διαχειριστής εκκίνησης που
χρησιμοποιείται με το FreeBSD. Έχει τη δυνατότητα να ξεκινήσει
σχεδόν όλα τα λειτουργικά συστήματα, συμπεριλαμβανομένων των BSD,
OS/2 (HPFS), Windows 95 (FAT ή FAT32), και Linux. Η κατάτμηση που
θα χρησιμοποιηθεί διαλέγεται με τα πλήκτρα F1,
F2, ….Ο διαχειριστής εκκίνησης του OS/2Αυτός ο διαχειριστής εκκίνησης μπορεί να ξεκινήσει κατατμήσεις
τύπου FAT, HPFS, FFS (FreeBSD) και EXT2 (Linux). Μπορεί επίσης να
ξεκινήσει και κατατμήσεις FAT32. Η κατάτμηση που θα ξεκινήσει
επιλέγεται με τα βελάκια. Ο διαχειριστής εκκίνησης του OS/2 είναι
ο μόνος που χρησιμοποιεί το δικό του ξεχωριστό χώρο στο δίσκο για
να κρατάει πληροφορίες, αντίθετα με όλους τους άλλους που
χρησιμοποιούν το master boot record (MBR). Γι αυτό πρέπει να
εγκαθίσταται σε περιοχή κοντά στην αρχή του δίσκου, πριν από τον
κύλινδρο 1024, ώστε να αποφεύγονται προβλήματα κατά την εκκίνηση.
Μπορεί να ξεκινήσει και το Linux με χρήση του LILO, όταν το LILO
δεν έχει εγκατασταθεί στο MBR αλλά στο boot record της Linux
κατάτμησης. Διαβάστε περισσότερα για τη χρήση του διαχειριστή
εκκίνησης OS/2 με Linux στα Linux
HOWTOs.OS-BSΕναλλακτικός διαχειριστής που μπορείτε να χρησιμοποιήσετε αντί
για το Boot Easy. Δίνει μεγαλύτερο έλεγχο της διαδικασίας
εκκίνησης, με δυνατότητα να αλλάξετε την προκαθορισμένη κατάτμηση
και τον χρόνο αναμονής. Οι beta εκδόσεις του προγράμματος
επιλέγουν την επιλογή της κατάτμησης με τα βελάκια. Μπορείτε να
βρείτε τον OS-BS στα CD εγκατάστασης του FreeBSD, στον κατάλογο
\TOOLS ή να τον κατεβάσετε μέσω
ftp.LILO, ή LInux LOaderΑυτός είναι ένας διαχειριστής εκκίνησης με
περιορισμένες δυνατότητες. Μπορεί να ξεκινήσει και το
FreeBSD, αν και χρειάζεται κάποιες αλλαγές στο αρχείο
ρυθμίσεων του LILO.Σχετικά με το FAT32Το FAT32 είναι το σύστημα αρχείων που άρχισε να
χρησιμοποιείται στην έκδοση OEM SR2 των Windows 95 της
Microsoft, περίπου στα τέλη του 1996. Είναι μια εξέλιξη του
FAT συστήματος αρχείων, που επιτρέπει τη χρήση μικρότερου
μεγέθους cluster σε μεγάλους δίσκους. Έχει κάποιες διαφορές
όμως στη μορφή του boot sector και του allocation table, που
το κάνουν ασύμβατο με κάποιους διαχειριστές εκκίνησης.Μια τυπική εγκατάστασηΑς πούμε ότι έχετε δυο μεγάλους EIDE σκληρούς δίσκους, και θέλετε να
εγκαταστήσετε σε αυτούς FreeBSD, Linux και Windows 95.Παρακάτω θα δούμε πως εγώ (ΣΤΜ: ο συγγραφέας του άρθρου, Jay
Richmond) θα χρησιμοποιούσα αυτούς τους δίσκους:/dev/wd0 (πρώτος φυσικός δίσκος)/dev/wd1 (δεύτερος φυσικός δίσκος)Και οι δυο δίσκοι έχουν 1416 κυλίνδρους ο καθένας.Ξεκινάω από μια δισκέττα εκκίνησης MS-DOS ή Windows 95 που
περιέχει το πρόγραμμα FDISK.EXE και δημιουργώ
μια μικρή κατάτμηση των 50 MB (35-40 για τα Windows 95,
και λίγο ελεύθερο χώρο) στον πρώτο δίσκο. Επίσης δημιουργώ μια
μεγαλύτερη κατάτμηση στον δεύτερο δίσκο, για τα υπόλοιπα δεδομένα
και τις εφαρμογές των Windows.Κάνω επανεκκίνηση και στήνω τα Windows 95 στην κατάτμηση
C:.Το επόμενο βήμα είναι να στήσω το Linux. Δεν είμαι σίγουρος για
όλες τις διανομές του Linux, αλλά τουλάχιστον το Slackware
χρησιμοποιεί το LILO (βλ. ). Όταν δημιουργώ
κατατμήσεις στο δίσκο μου με το fdisk πρόγραμμα
του Linux, τοποθετώ όλο το Linux στον πρώτο δίσκο (μια κατάτμηση των
300 MB φτάνει για ένα καλό root partition και λίγο swap).Αφού στήσω το Linux, την ώρα που με ρωτάει για να στήσει το
LILO, προσέχω να στήσω το LILO στο boot sector
της Linux κατάτμησής μου, κι όχι στο MBR (master boot record).Ο υπόλοιπος χώρος του δίσκου μπορεί να χρησιμοποιηθεί από το
FreeBSD. Προσέχω η κατάτμηση στην οποία βρίσκεται το root σύστημα
αρχείων του FreeBSD μου να μην υπερβαίνει τον κύλινδρο 1024. (Ο
κύλινδρος 1024 είναι περίπου στα 528 MB στους υποθετικούς μας
δίσκους των 720 MB.) Θα χρησιμοποιήσω τον υπόλοιπο δίσκο
(περίπου 270 MB) για τα συστήματα αρχείων
/ και
/usr αν χρειαστεί.
Ο υπόλοιπος χώρος του δεύτερου σκληρού δίσκου (το μέγεθος εξαρτάται
από το χώρο που θα αφήσω για τις εφαρμογές των Windows, που
δημιούργησα στο βήμα 1) μπορεί να χρησιμοποιηθεί για το σύστημα
αρχείων /usr/src και σαν
δευτερεύουσα μνήμη (swap space).Όταν βλέπω τους δίσκους με το πρόγραμμα fdisk
των Windows 95, θα πρέπει να φαίνονται όπως παρακάτω:---------------------------------------------------------------------
Display Partition Information
Current fixed disk drive: 1
Partition Status Type Volume_Label Mbytes System Usage
C: 1 A PRI DOS 50 FAT** 7%
2 A Non-DOS (Linux) 300 43%
Total disk space is 696 Mbytes (1 Mbyte = 1048576 bytes)
Press Esc to continue
---------------------------------------------------------------------
Display Partition Information
Current fixed disk drive: 2
Partition Status Type Volume_Label Mbytes System Usage
D: 1 A PRI DOS 420 FAT** 60%
Total disk space is 696 Mbytes (1 Mbyte = 1048576 bytes)
Press Esc to continue
---------------------------------------------------------------------** Εδώ μπορεί ο τύπος κατάτμησης να είναι FAT16 ή FAT32 αν
χρησιμοποιείται η έκδοση OEM SR2 των Windows.
Βλ. ).Εγκαθιστώ το FreeBSD. Πριν την εγκατάσταση βεβαιώνομαι ότι ο
πρώτος δίσκος είναι δηλωμένος σαν NORMAL στο BIOS.
Αν δεν είναι, μπορεί να χρειαστεί να δώσω την κανονική γεωμετρία του
δίσκου όταν ξεκινάει ο υπολογιστής (για να βρείτε τη γεωμετρία του
δίσκου, ξεκινήστε τον υπολογιστή σας με τα Windows 95 και
τρέξτε το πρόγραμμα Microsoft Diagnostics
(MSD.EXE),ή ελέγξτε το BIOS). Τη γεωμετρία
του δίσκου θα την δώσετε με την παράμετρο
hd0=1416,16,63, όπου
1416 είναι ο αριθμός των κυλίνδρων του
σκληρού δίσκου, 16 είναι ο αριθμός των
κεφαλών σε κάθε track και 63 είναι ο
αριθμός των sectors σε κάθε track του δίσκου.Όταν φτιάξω τις κατατμήσεις στο δίσκο μου, προσέχω να
εγκατασταθεί το Boot Easy στον πρώτο δίσκο. Δεν έχει σημασία να
κάνω το ίδιο για τον δεύτερο δίσκο, αφού τίποτα δεν ξεκινάει από
αυτόν.Όταν κάνω επανεκκίνηση, το Boot Easy θα πρέπει να αναγνωρίσει
τις τρεις κατατμήσεις από τις οποίες μπορεί να ξεκινήσει ο
υπολογιστής σαν DOS (Windows 95), Linux, και BSD (FreeBSD).Ειδικές ΠαρατηρήσειςΤα πιο πολλά λειτουργικά συστήματα είναι πολύ αυστηρά σχετικά με τη
θέση και τον τρόπο που τοποθετούνται στον δίσκο. Τα Windows 95 και το
DOS απαιτούν να είναι στην πρώτη κύρια κατάτμηση (primary partition) του
πρώτου σκληρού δίσκου. Το OS/2 αποτελεί εξαίρεση. Μπορεί να
εγκατασταθεί σε οποιοδήποτε δίσκο, σε κύρια ή εκτεταμένη κατάτμηση. Αν
δεν είστε σίγουροι, κρατήστε την αρχή της κατάτμησης εκκίνησης σε
κύλινδρο μικρότερο από τον 1024.Αν εγκαταστήσετε τα Windows 95 σε ένα υπάρχον BSD σύστημα, θα
καταστρέψει το MBR και θα πρέπει να ξαναστήσετε τον
προηγούμενο boot manager σας. Το Boot Easy μπορεί να εγκατασταθεί
χρησιμοποιώντας το πρόγραμμα BOOTINST.EXE που
υπάρχει στον κατάλογο \TOOLS του
CD-ROM κα στηνν διεύθυνση ftp.
Μπορείτε επίσης να ξεκινήσετε πάλι την διαδικασία εγκατάστασης και να
πάτε στον partition editor. Από εκεί, σημειώστε την κατάτμηση του
FreeBSD σαν bootable, επιλέξτε Boot Manager, και τότε δώστε W για να
γράψετε ((W)rite) τις πληροφορίες στο MBR. Μπορείτε τώρα να κάνετε
επανεκκίνηση και το Boot Easy θα πρέπει να αναγνωρίσει τηνν κατάτμηση
των Windows 95 σαν DOS.Σημειώστε εδώ ότι το OS/2 μπορεί να διαβάσει FAT ή HPFS κατατμήσεις,
αλλά όχι κατατμήσεις τύπου FFS (FreeBSD) ή EXT2 (Linux). Αντίστοιχα, τα
Windows 95 μπορούν να διαβάσουν μόνο FAT και FAT32 συστήματα αρχείων
(βλ. ). Το FreeBSD μπορεί να διαβάσει τα
περισσότερα συστήματα αρχείων, αλλά αυτή τη στιγμή δεν μπορεί να
διαβάσει HPFS κατατμήσεις. Το Linux μπορεί να διαβάσει κατατμήσεις
τύπου HPFS, αλλά δεν μπορεί να γράψει σε αυτές. Σχετικά πρόσφατες
εκδόσεις του Linux πηρύνα (2.x) μπορούν να διαβάσουν και να γράψουν από
Windows 95 κατατμήσεις τύπου VFAT (το VFAT είναι περίπου σαν το FAT, με
πιο ουσιαστική διαφορά τα μεγάλα ονόματα αρχείων). Το Linux μπορεί να
διαβάσει και να γράψει στα περισσότερα συστήματα αρχείων. Το καταλάβατε
αυτό; Ελπίζω ναι.Παραδείγματα(Αυτό το τμήμα χρειάζεται βελτιώσεις,
παρακαλώ στείλε τα παραδείγματά σας στην διεύθυνση
jayrich@sysc.com).FreeBSD+Win95: Αν εγκαταστήσετε το FreeBSD μετά από τα Windows 95,
θα πρέπει να δείτε μια κατάτμηση DOS στο μενού
επιλογών του Boot Easy. Αυτή είναι η κατάτμηση των Windows 95.
Αν εγκαταστήσετε τα Windows 95 μετά από το FreeBSD, διαβάστε παραπάνω
. Αν ο δίσκος σας δεν έχει παραπάνω από 102
κυλίνδρους, δεν θα πρέπει να έχετε πρόβλημα να ξεκινήσετε κάποιο από τα
λειτουργικά συστήματα. Αν όμως κάποια από τις κατατμήσεις σας βρίσκεται
σε κύλινδρο μετά από τον 1024ο κύλινδρο του δίσκου, και παίρνετε
μηνύματα όπως invalid system disk κάτω από το DOS
(Windows 95) ή το FreeBSD δεν ξεκινάει, δοκιμάστε να ψάξετε στο BIOS σας
για μια επιλογή με όνομα > 1024 cylinder support ή
NORMAL/LBA mode. Το DOS μπορεί να χρειάζεται να
ενεργοποιήσετε την επιλογή LBA (Logical Block Addressing) για να
ξεκινήσει σωστά. Αν η ιδέα της αλλαγής σε LBA mode κάθε φορά που θέλετε
να ξεκινήσετε το DOS δεν σας αρέσει πολύ, μπορείτε να ξεκινήσετε το
FreeBSD από το DOS χρησιμοποιώντας το πρόγραμμα
FBSDBOOT.EXE από το CD (αυτό πρέπει να βρει μόνο
του και να ξεκινήσει την FreeBSD κατάτμησή σας).FreeBSD+OS/2+Win95: Τίποτα διαφορετικό εδώ. Ο boot manager του
OS/2 μπορεί να ξεκινήσει οποιοδήποτε από αυτά τα λειτουργικά συστήματα,
οπότε δεν θα έχετε πρόβλημα.FreeBSD+Linux: Μπορείτε να χρησιμοποιήσετε το Boot Easy για να
ξεκινήσετε αυτά τα δυο λειτουργικά συστήματα.FreeBSD+Linux+Win95: (βλ. )Διάφορες Πηγές ΒοήθειαςΥπάρχουν πολλά κείμενα HOWTO στην συλλογή των Linux
HOW-TOs που αναφέρονται στο θέμα των πολλαπλών λειτουργικών
στον ίδιο σκληρό δίσκο.Το κείμενο Linux+DOS+Win95+OS2
mini-HOWTO προσφέρει βοήθεια για τις ρυθμίσεις του OS/2 boot
manager, και το κείμενο Linux+FreeBSD
mini-HOWTO μπορεί να σας ενδιαφέρει αρκετά. Ένα άλλο κείμενο
που είναι χρήσιμο είναι το Linux-HOWTO.Ο οδηγός The NTLDR
Hacking Guide περιέχει πολλές πληροφορίες για την
εκκίνηση των Windows NT, '95 και του DOS μαζί με άλλα λειτουργικά
συστήματα.Και η συλλογή οδηγών How It Works του Hale Landis
περιέχει κάποιες χρήσιμες πληροφορίες σχετικά με την γεωμετρία των
δίσκων και την εκκίνηση των υπολογιστών. Μπορείτε να βρείτε αυτή τη
συλλογή στην διεύθυνση
.Τέλος, μην ξεχνάτε την τεκμηρίωση του πηρύνα του FreeBSD για την
διαδικασία εκκίνησης, που διανέμεται μαζί με τον πηγαίο κώδικα
(αποσυυμπιέζεται στο αρχείο .Τεχνικές Λεπτομέρειες(Γράφτηκε από τον Randall Hopper,
rhh@ct.picker.com)Αυτό το τμήμα προσπαθεί να σας δώσει αρκετές από τις βασικές
πληροφορίες για τους σκληρούς δίσκους σας και την διαδικασία εκκίνησης
ώστε να μπορείτε να αντιμετωπίσετε τα πιο πολλά από τα προβλήματα που
μπορεί να συναντήσετε καθώς προσπαθείτε να εγκαταστήσετε ένα ή
περισσότερα λειτουργικά συστήματα. Ξεκινά με πολύ βασικά πράγματα,
οπότε μπορείτε να αγνοήσετε τα πρώτα μέρη και να αρχίσετε να διαβάζετε
αργότερα, όταν φανεί ότι αυτά που γράφονται δεν σας είναι ήδη
γνωστά.Σκληροί ΔίσκοιΤρεις βασικοί όροι χρησιμοποιούνται για να περιγράψουν τη θέση των
δεδομένων στο σκληρό δίσκο σας: οι κύλινδροι (cylinders), οι κεφαλές
(heads) και οι τομείς (sectors). Δεν είναι ιδιαίτερα σημαντικό να
γνωρίζετε τι ακριβώς σημαίνουν αυτοί οι όροι, εκτός από το γεγονός ότι
προσδιορίζουν την φυσική θέση των δεδομένων στο δίσκο σας.Ο δίσκος σας έχει ένα συγκεκριμένο αριθμό από κυλίνδρους, ένα
αριθμό από κεφαλές και κάποιο αριθμό από τομείς σε κάθε ζευγάρι
κυλίνδρου-κεφαλής (το ζευγάρι κυλίνδρου-κεφαλής είναι γνωστό και ως
μονοπάτι—track). Συνολικά αυτές οι πληροφορίες ορίζουν την
φυσική γεωμετρία δίσκου του σκληρού δίσκου. Το τυπικό
μέγεθος ενός τομέα είναι 512 bytes και συνήθως υπάρχουν 63 τομείς σε
κάθε μονοπάτι. Ο αριθμός των κεφαλώ και κυλίδρων διαφέρει αρκετά από
δίσκο σε δίσκο. Έτσι μπορείτε να υπολογίσετε τον αριθμό των bytes που
χωράνε να αποθηκευθούν στο δίσκο σας υπολογίζοντας την τιμή:(κύλινδροι) × (κεφαλές) × (63
τομείς/μονοπάτι) × (512 bytes/τομέα)Για παράδειγμα, στον 1.6 GigWestern Digital AC31600 EIDE σκληρό
δίσκο μου, αυτές οι τιμές είναι:(3148 cyl) × (16 heads) × (63
sectors/track) × (512 bytes/sect)που μας δίνει 1.624.670.208 bytes, ή περίπου 1.6 Gig.Μπορείτε να βρείτε την φυσική γεωμετρία του δίσκου σας (τον αριθμό
των κυλίνδρων, των κεφαλών και το πλήθος των τομέων ανά μονοπάτι)
χρησιμοποιώντας το πρόγραμμα ATAID ή άλλα προγράμματα που είναι
διαθέσιμα μέσω δικτύου. Προσοχή όμως. Αν έχετε ενεργοποιήσει την
πρόσβαση με LBA στο BIOS σας (βλ. ), δεν
μπορείτε να χρησιμοποιήσετε οποιοδήποτε πρόγραμμα για να διαβάσετε την
φυσική γεωμετρία του δίσκου. Αυτό συμβαίνει γιατί πολλά προγράμματα
(π.χ. το MSD.EXE ή το fdisk του FreeBSD) δεν
διαβάζουν την φυσική γεωμετρία του δίσκου, αλλά την
μεταφρασμένη γεωμετρία (εικονικούς αριθμούς που
προκύπτουν από την χρήση LBA πρόσβασης). Δείτε παρακάτω τι σημαίνει
αυτό.Κάτι άλλο που είναι χρήησιμο γι αυτούς τους όρους. Με μια τριάδα
αριθμών—ένα αριθμό κυλίνδρου, ένα αριθμό κεφαλής κι ένα αριθμό
τομέα μέσα στο μονοπάτι—μπορείτε να αναφερθείτε στην φυσική θέση
ενός συγκεκριμένου τομέα του δίσκου σας (ένα μπλοκ δεδομένων, μεγέθους
512 bytes). Οι κύλινδροι και οι κεφαλές έχουν αριθμούς από 0 και
πάνω, ενώ οι τομείς από 1 και πάνω.Για αυτούς που ενδιαφέρονται για περισσότερες τεχνικές
λεπτομέρειες, πληροφορίες για την γεωμετρία των δίσκων, τους τομείς
εκκίνησης (boot sectors), τα BIOS, κλπ. μπορούν να βρεθούν σε πολλά
μέρη στο διαδίκτυο. Ψάξτε στο Lycos, στο Yahoo, κλπ. για
boot sector ή για master boot
record. Ανάμεσα στις χρήσιμες πληροφορίες θα βρείτε και την
σειρά κειμένων How It Works του Hale Landis.
Δείτε το τμήμα για περισσότερες λεπτομέρειες
κι αναφορές σε πηγές.Ok, αρκετά με την ορολογία. Υποτίθεται μιλάμε για την διαδικασίας
εκκίνησης.Η διαδικασία ΕκκίνησηςΣτον πρώτο τομέα του δίσκου (Κυλ. 0, Κεφαλή 0, Τομέας 1) υπάρχει ο
Κύριος Τομέας Εκκίνησης (Master Boot Record ή MBR). Περιέχει ένα
χάρτη του δίσκου. Ορίζει μέχρι 4 κατατμήσεις
(partitions), κάθε μια από τις οποίες είναι ένα συνεχές κομμάτι του
δίσκου. Το FreeBSD ονομάζει τις κατατμήσεις
slices για να αποφύγει την σύγχυση με τα δικά
του partitions, αλλά δεν θα το κάνουμε αυτό εδώ. Κάθε κατάτμηση
μπορεί να περιέχει το δικό της, ξεχωριστό λειτουργικό σύστημα.Κάθε εγγραφή κατάτμησης στο MBR έχει ένα Partition
ID, ένα αρχικό κύλινδρο και ένα
τελικό κύλινδρο/κεφαλή/τομέα. Το Partition ID
ορίζει τι τύπου είναι η κατάτμηση (τι λειτουργικό σύστημα περιέχει)
και η αρχή/τέλος ορίζουν που βρίσκεται. Ο
δείχνει κάποιους από τους πιο κοινούς τύπους κατάτμησης.
Σημειώστε πως δεν είναι δυνατή η εκκίνηση από οποιοδήποτε τύπο
κατάτμησης (π.χ. από εκτεταμένες κατατμήσεις DOS). Από κάποιους
τύπους γίνεται, από άλλους όχι. Αυτό που κάνει δυνατή την εκκίνηση
από μια κατάτμηση είναι οι ρυθμίσεις του Τομέα Εκκίνησης
Κατάτμησης που βρίσκεται στην αρχή κάθε κατάτμησης.Όταν ρυθμίσετε τον boot manager της προτιμήσεώς σας, αυτός ψάχνει
όλες τις εγγραφές κατατμήσεων τον πίνακα MBR όλων των δίσκων σας και
σας δίνει τη δυνατότητα να ονομάσετε εγγραφές από τη λίστα. Έτσι,
μόλις ξεκινάτε τον υπολογιστή σας, ειδικός κώδικας στο Master Boot
Sector του πρώτου δίσκου του συστήματος τρέχει και ξεκινάει τον boot
manager. Ο boot manager βρίσκει στον πίνακα MBR την εγγραφή για την
κατάτμηση που επιλέξατε, βρίσκει την αρχή και το τέλος της κατάτμησης,
φορτώνει στη μνήμη τονν Τομέα Εκκίνησης Κατάτμησης από αυτή την
κατάτμηση και περνάει τον έλεγχο σε αυτόν. Ο Τομέας Εκκίνησης της
κατάτμησης περιέχει αρκετές πληροφορίες για να ξεκινήσει να φορτώνει
το λειτουργικό σύστημα από αυτή την κατάτμηση.Κάτι που δε το αναφέραμε με πολλές λεπτομέρειες είναι σημαντικό
και πρέπει να το ξέρετε. Όλοι οι δίσκοι σας έχουν MBR. Αλλά, ο
τομέας MBR που είναι σημαντικός είναι αυτός που είναι στον πρώτο δίσκο
του συστήματος που αναγνωρίζεται από το BIOS. Αν έχετε μόνο IDE
δίσκους είναι ο πρώτος IDE δίσκος (δηλ. ο κύριος δίσκος του πρώτου
ελεγκτή δίσκων). Αντίστοιχα για τα συστήματα που έχουν μόνο SCSI
δίσκους. Αν έχετε και IDE και SCSI δίσκους όμως, συνήθως είναι οι IDE
δίσκοι που αναγνωρίζονται πρώτα από το BIOS. Τότε ο boot manager
πρέπει να τοποθετηθεί στο MBR αυτού του δίσκου, όπως περιγράψαμε
πριν.Περιορισμοί Εκκίνησης και ΠροειδοποιήσειςΚαι τώρα τα ενδιαφέροντα πράγματα για τα οποία θα πρέπει να
προσέχετε.Το περίφημο όριο του κυλίνδρου 1024 και πως βοηθάει το LBA
BIOSΤο πρώτο κομμάτι της διαδικασίας εκκίνησης γίνεται εξ' ολοκλήρου
μέσω του BIOS (αν αυτός είναι καινούριος όρος για σας, το BIOS είναι
ένα κομμάτι λογισμικού, αποθηκευμένο σε ένα chip της μητρικής
πλακέτας του συστήματός σας, που περιέχει τον κώδικα εκκίνησης του
σύστηματος). Γι αυτό το λόγο το πρώτο κομμάτι της εκκίνησης
υπόκειται στους περιορισμούς του BIOS.Ο τρόπος με τον οποίο το BIOS καλείται να διαβάσει τον σκληρό
δίσκο σε αυτό το στάδιο της εκκίνησης (INT 13H, Συνάρτηση 2)
δεσμεύει 10 bits για τον αριθμό κυλίνδρου, 8 bits για τον αριθμό
κεφαλής και 6 bits για τον αριθμό τομέα. Αυτό περιορίζει κάπως τους
χρήστες αυτής της κλήσης (π.χ. τους boot managers που υπάρχουν στο
MBR του δίσκου σας, καθώς και τους loaders των λειτουργικών
συστημάτων που υπάρχουν στους άλλους τομείς εκκίνησης).
Τα όρια που επιβάλλει αυτή η κλήση είναι:μέγιστος αριθμός κυλίνδρων = 1024μέγιστος αριθμός κεφαλώνν = 256 headsμέγιστος αριθμός τομέων/μονοπάτι = 64 (βασικά 63, ο τομέας
0 δεν είναι διαθέσιμος)Σήμερα οι δίσκοι είναι αρκετά μεγάλοι, και έχουν πάρα πολλούς
κυλίνδρους αλλά όχι πάρα πολλές κεφαλές. Έτσι λοιπόν, χωρίς
εξαίρεση, οι μεγάλοι σκληροί δίσκοι έχουν περισσότερους από 1024
κυλίνδρους. Αυτό σημαίνει πως το BIOS δεν μπορεί να εκκινήσει τον
υπολογιστή σας από οποιοδήποτε σημείο του δίσκου. Ο κώδικας
εκκίνησης (ο boot manager και ο OS loader που έχει εγκατασταθεί σε
όλες τις κατατμήσεις από τις οποίες θέλουμε να είναι δυνατή η
εκκίνηση) πρέπει να είναι κάτω από το όριο του κυλίνδρου 1024.
Γενικά, αν ο δίσκος σας είναι ένας τυπικός δίσκος κι έχει 16
κεφαλές, αυτό σημαίνει:1024 κυλ/δίσκο × 16 κεφαλές/δίσκο ×
63 τομείς/(κυλ-κεφαλή) × 512 bytes/τομέαπου είναι περίπου κοντά στο όριο των 528 MB που συχνά θα
ακούσετε να αναφέρεται.Εδώ είναι που η χρήση του BIOS LBA (Logical Block
Addressing—Λογική Διευθυνσιοδότηση Μπλοκ) έρχεται να μας
βοηθήσει. Η διευθυνσιοδότηση LBA δίνει στον χρήστη των κλήσεων του
BIOS API ένα τρόπο να προσπελάσει κυλίνδρους πάνω από τον κύλινδρο
1024 χρησιμοποιώντας τις ίδιες κλήσεις BIOS ορίζοντας διαφορετικά
τον κύλινδρο. Ορίζει μια διαφορετική οργάνωση των κυλίνδρων και των
κεφαλών, για να δώσει μέσω του BIOS διαφορετική μορφή στο δίσκο, με
λιγότερους κυλίνδρους και περισσότερες κεφαλές από ότι πραγματικά
έχει. Με λίγα λόγια, εκμεταλλεύεται το γεγονός ότι οι δίσκοι έχουν
σχετικά λίγες κεφαλές και πολύ περισσότερους κυλίνδρους αλλάζοντας
λίγο την ισορροπία μεταξύ του αριθμού των κυλίνδρων και του αριθμού
των κεφαλών, έτσι ώστε και οι δυο αριθμοί να φαίνονται κάτω από τα
όρια που αναφέραμε (1024 κύλινδροι, 256 κεφαλές).Με χρήση BIOS LBA, το όριο μεγέθους του δίσκου δεν είναι πλέον
εμπόδιο (τουλάχιστον, όχι μέχρι τα 8 Gigabytes). Αν έχετε LBA BIOS,
μπορείτε να βάλετε το FreeBSD ή οποιοδήποτε άλλο λειτουργικό σύστημα
οπουδήποτε θέλετε και να μην περιορίζεστε από το όριο του κυλίνδρου
1024.Για να χρησιμοποιήσω ξανά τον 1.6 Gig Western Digital δίσκο μου
σαν παράδειγμα, η φυσική γεωμετρία του είναι:(3148 κυλ, 16 κεφ, 63 τομείς/μονοπάτι, 512 bytes/τομέα)Αλλά, η διευθυνσιοδότηση LBA του BIOS τον αλλάζει σε:(787 κυλ, 64 κεφ, 63 τομείς/μονοπάτι, 512 bytes/τομέα)δίνοντας πρακτικά το ίδιο μέγεθος δίσκου, αλλά με τους αριθμούς
κυλίνδρων και κεφαλών μέσα στα όρια των κλήσεων του BIOS API
(Παρεπιπτόντως, έχω στήσει και Linux και FreeBSD σε ένα από τουυς
δίσκους μου, πάνω από το όριο του κυλίνδρου 1024. Και τα δυο
λειτουργικά συστήματα δουλεύουν μια χαρά, χάρη στην διευθυνσιοδότηση
LBA του BIOS).Boot Managers και Κατανομή ΔίσκωνΈνα άλλο σημαντικό σημείο που αξίζει να προσέξετε όταν στήνετε
κάποιο boot manager είναι να κρατήσετε αρκετό χώρο για τον boot
manager. Είναι καλύτερα να τοο ξέρετε αυτό από την αρχή για να
γλιτώσετε από τον κόπο της επανεγκατάστασης ενός η περισσότερων από
τα λειτουργικά συστήματά σας.Αν ακολουθήσατε τις οδηγίες στο σχετικά
με το MBR (που είναι το MBR), τους Τομείς Εκκίνησης, και την
διαδικασία εκκίνησης, μπορεί να αναρωτιέστε ήδη που ακριβώς στον
δίσκο σας υπάρχει αυτός ο καλός boot manager. Ε λοιπόν, κάποιοι
boot managers είναι αρκετά μικροί ώστε να χωρέσουν μέσα στον Κύριο
Τομέα Εκκίνησης (MBR. Κύλινδρος 0, κεφαλή 0, τομέας 1) μαζί με τον
πίνακα κατατμήσεων. Κάποιοι άλλοι χρειάζονται περισσότερο χώρο και
ουσιαστικά καταλαμβάνουν αρκετούς τομείς μετά τον MBR, μέσα στο
μονοπάτι με κύλινδρο 0 και κεφαλή 0, αφού τυπικά αυτός ο χώρος είναι
ελεύθερος—τυπικά.Εδώ είναι κι η παγίδα. Κάποια λειτουργικά συστήματα (ένα από
αυτά είναι και το FreeBSD) σας επιτρέπουν να ξεκινήσετε την
κατάτμησή τους ακριβώς μετά το MBR στον κύλινδρο 0, κεφαλή 0, και
τομέα 2 αν θέλετε. Για παράδειγμα, αν δώσετε το sysinstall
πρόγραμμα εγκατάστασης του FreeBSD ένα δίσκο με άδειο χώρο στην αρχή
του δίσκου ή ένα τελείως άδειο δίσκο, εκεί θα προσπαθήσει να βάλει
την κατάτμηση του FreeBSD (τουλάχιστον αυτό έκανε όταν την πάτησα
εγώ). Έτσι, όταν πάτε να στήσετε τον boot manager σας, αν χρειαστεί
να πιάσει κάποιους τομείς αμέσως μετά το MBR, θα σβηστεί η αρχή της
πρώτης κατάτμησης με δεδομένα. Στην περίπτωση του FreeBSD, αυτό
καταστρέφει την περιοχή του disklabel, κάνοντας αδύνατη την εκκίνηση
από αυτή την κατάτμηση.Η εύκολη λύση για να αποφύγετε τέτοια προβλήματα (και να
κρατήσετε για τον εαυτό σας την δυνατότητα χρήσης κάποιου
διαφορετικού boot manager στο μέλλον) είναι να αφήνετε πάντα
ελεύθερο το πρώτο μονοπάτι όταν φτιάχνετε κάποιες κατατμήσεις στο
δίσκο σας. Με λίγα λόγια, αφήστε ελεύθερο τον χώρο από τον
κύλινδρο 0, κεφαλή 0, τομέα 2 μέχρι και τον
κύλινδροnbsp;0, κεφαλή 1, τομέα 1. Βασικά, όταν φτιάχνετε
κατατμήσεις στην αρχή του δίσκου με το DOS, το DOS αφήνει αυτό τονν
χώρο ελεύθερο (γι αυτό και πολλοί boot manager θεωρούν ότι θα είναι
ελεύθερος). Αν φτιάξετε μια μικρή κατάτμηση DOS στην αρχή του
δίσκου σας δεν θα συναντήσετε αυτό το πρόβλημα. Προσωπικά μ' αρέσει
να δημιουργώ στην αρχή μια μικρή κατάτμηση DOS μεγέθους 1 MB, καθώς
έτσι αποφεύγω και τις αλλαγές στα drive letter των κύριων DOS
κατατμήσεών μου αργότερα αν αλλάξω τις κατατμήσεις του δίσκου.Αναφορικά, οι παρακάτω boot managers χρησιμοποιούν το Master
Boot Sector αποθηκεύσουν δικό τους κώδικα ή/και δεδομένα:OS-BS 1.35Boot EasyLILOΑυτοί οι boot managers χρησιμοποιούν και λίγους ακόμα τομείς
μετά το Master Boot Sector:OS-BS 2.0 Beta 8 (sectors 2-5)OS/2's boot managerΤι γίνεται αν ο υπολογιστής σας δεν ξεκινάει;Κάποια στιγμή, καθώς στήνετε διάφορους boot managers, μπορεί να
αφήσετε το MBR σε τέτοια κατάσταση που να μην είναι δυνατόν να
ξεκινήσετε τον υπολογιστή σας. Αυτό είναι απίθανο, αλλά μπορεί να
γίνει καθώς αλλάζετε κατατμήσεις μετά από την εγκατάσταση ενός boot
manager.Αν έχετε κάποια bootable DOS κατάτμηση στον δίσκο σας, μπορείτε
να ξεκινήσετε με μια δισκέττα εκκίνησης DOS και να τρέξετε:A:\> FDISK /MBRγια να επαναφέρετε τον αρχικό, απλό κώδικα εκκίνησης του DOS στο
σύστημά σας. Μπορείτε τότε να ξεκινήσετε με το DOS (και μόνο με το
DOS) από το σκληρό σας δίσκο. Εναλλακτικά, μπορείτε να ξανατρέξετε
το πρόγραμμα εγκατάστασης του boot manager σας από μια δισκέττα
εκκίνησης.
diff --git a/el_GR.ISO8859-7/articles/new-users/article.sgml b/el_GR.ISO8859-7/articles/new-users/article.sgml
index d9118f3e52..8aa9a8aca4 100644
--- a/el_GR.ISO8859-7/articles/new-users/article.sgml
+++ b/el_GR.ISO8859-7/articles/new-users/article.sgml
@@ -1,1062 +1,1071 @@
Για Χρήστες Νέους τόσο στο FreeBSD όσο και στο UnixAnneliseAndersonandrsn@andrsn.stanford.edu15 Αυγούστου, 1997Συγχαρητήρια που εγκαταστήσατε το FreeBSD! Αυτή η εισαγωγή είναι
για χρήστες νέους τόσο στο FreeBSD όσο και στο
Un*x—γι αυτό ξεκινά με τα βασικά. Υποθέτω ότι χρησιμοποιείτε
την έκδοση 2.0.5 του FreeBSD ή κάποια νεότερη, όπως αυτές διανέμονται
από την BSDi ή το FreeBSD.org, ότι το σύστημά σας (προς το παρόν) έχει
ένα και μόνο χρήστη κι ότι πιθανόν να είστε αρκετά καλός στην χρήση
των DOS/Windows ή του OS/2.Σύνδεση (Login) και Αποσύνδεση (Logout)Συνδεθείτε (όταν δείτε την προτροπή login:) σαν τον
χρήστη που δημιουργήσατε κατά την εγκατάσταση ή σαν
root. (Η εγκατάσταση του FreeBSD ήδη 8α έχει ένα
λογαριασμό για τον root. Ο root μπορεί να πάει παντού και να κάνει τα
πάντα, ακόμη και να σβήσει κάποια απαραίτητα αρχεία, γι αυτό να είστε
προσεκτικοί!) Τα σύμβολα &prompt.user; και &prompt.root; παρακάτω
συμβολίζουν το prompt (το δικό σας μπορεί να διαφέρει), με το
&prompt.user; να είναι ενός απλού χρήστη και το &prompt.root; να είναι
του root.Για να βγείτε (και να δείτε ένα καινούριο login:
prompt) γράψτε&prompt.root; exitόσες φορές χρειαστεί. Ναι, πατήστε enter μετά τις
εντολές, και να θυμάστε ότι στο Unix τα μικρά είναι διαφορετικά από τα
κεφαλαία—exit, κι όχι
EXIT.Για να κλείσετε το μηχάνημά σας γράψτε&prompt.root; /sbin/shutdown -h nowΓια να το επανεκκινήσετε&prompt.root; /sbin/shutdown -r nowή&prompt.root; /sbin/rebootΜπορείτε επίσης να επανεκκινήσετε το μηχάνημα πατώντας
CtrlAltDelete.
Δώστε του λίγο χρόνο για να κάνει τη δουλειά που πρέπει. Αυτό είναι
ισοδύναμο με την εντολή /sbin/reboot σε πρόσφατες
εκδόσεις του FreeBSD και είναι ένας πάρα πολύ πιο ασφαλής τρόπος, σε
σχέση με το πάτημα του reset κουμπιού. Δεν θέλετε να αναγκαστείτε να τα
ξαναστήσετε όλα, σωστά;Προσθέτοντας ένα Λογαριασμό ΧρήστηΑν δεν φτιάξατε κανένα λογαριασμό χρήστη όταν εγκαταστήσατε το
σύστημα, και τώρα έχετε κάνει login σαν root, μάλλον είναι η κατάλληλη
ώρα να φτιάξετε ένα λογαριασμό χρήστη με την εντολή&prompt.root; adduserΤην πρώτη φορά που χρησιμοποιείτε την adduser, μπορεί να σας ρωτήσει
για κάποιες προκαθορισμένες ρυθμίσεις που θα σώσει. Μπορεί για
παράδειγμα να θέλετε να βάλετε τον προκαθορισμένο φλοιό (shell) να είναι
csh αντί για sh, αν σας προτείνει το sh σαν προκαθορισμένο φλοιό.
Αλλιώς πατήστε απλά enter για να δεχτείτε κάθε προεπιλεγμένη τιμή.
Αυτές οι προκαθορισμένες τιμές σώζονται στο αρχείο
/etc/adduser.conf, που μπορείτε να τις αλλάξετε
αργότερα.Έστω οτι δημιουργείτε ένα λογαριασμό χρήστη με όνομα
jack και πλήρες όνομα Jack
Benimble. Ορίστε για τον jack κι ένα κωδικό χρήστη
(password) αν η ασφάλεια σας ενδιαφέρει (ακόμα και παιδιά που παίζουν με
το πληκτρολόγιο μπορεί να είναι επικίνδυνα). Όταν σας ρωτήσει αν θέλετε
να βάλετε τον jack και σε άλλες ομάδες (groups), γράψτε
wheelLogin group is ``jack''. Invite jack into other groups: wheelΑυτό θα σας δώσει τη δυνατότητα όταν έχετε συνδεθεί στο σύστημα σαν
jack και χρησιμοποιείτε την εντολή
su να μπορείτε να γίνετε root. Έτσι, δεν θα σας
πειράξει ποτέ κάποιος επειδή κάνετε login σαν root.Μπορείτε να σταματήσετε την adduser οποιαδήποτε
στιγμή πατώντας
CtrlC, και στο
τέλος θα έχετε μια ευκαιρία να εγκρίνετε την δημιουργία του νέου χρήστη
ή να αρνηθείτε πατώντας n. Μια καλή ιδέα είναι επίσης
να φτιάξετε ένα δεύτερο λογαριασμό χρήστη (jill;) έτσι ώστε όταν κάνετε
αλλαγές σε κάποια αρχεία ρυθμίσεων του jack, να έχετε ένα λογαριασμό που
μπορείτε να τον χρησιμοποιήσετε εύκολα σε περίπτωση που κάτι πάει
στραβά.Αφού το κάνετε αυτό, χρησιμοποιείστε την exit για
να επιστρέψετε στο login prompt και συνδεθείτε σαν
jack. Γενικά, είναι μια καλή ιδέα να κάνετε όσο το
δυνατόν περισσότερες από τις δουλειές σας σαν ένας απλός χρήστης που δεν
έχει την δύναμη—και το ρίσκο—του root.Αν έχετε ήδη δημιουργήσει ένα λογαριασμό χρήστη και θέλετε αυτός ο
χρήστης να μπορεί να κάνει su σε root, μπορείτε να
μπείτε σαν root και να αλλάξετε το αρχείο
/etc/group, προσθέτοντας τον jack στην πρώτη γραμμή
(το group με όνομα wheel). Αλλά πρώτα πρέπει να εξασκηθείτε στην χρήση
του vi, του επεξεργαστή κειμένου—ή να
χρησιμοποιήσετε τον πιο απλό επεξεργαστή κειμένου, τον
ee, που εγκαθίσταται σε πρόσφατες εκδόσεις του
FreeBSD.Για να σβήσετε ένα χρήστη, χρησιμοποιήστε την εντολή
rmuser.Δοκιμάζοντας Διάφορες ΕντολέςΚάποια στιγμή που θα είστε logged in σαν απλός χρήστης, ψάξτε
τριγύρω και δοκιμάστε κάποιες από τις εντολές που θα σας βοηθήσουν να
βρείτε βοήθεια και πληροφορίες μέσα από το ίδιο το FreeBSD.Παρακάτω θα δείτε κάποιες εντολές και τι αυτές κάνουν:idΣας δείχνει ποιος είστε!pwdΣας δείχνει που είστε—τον τρέχοντα κατάλογο.lsΔείχνει τα αρχεία που περιέχονται στον τρέχοντα
κατάλογο.ls Δείχνει τα αρχεία που περιέχει ο τρέχοντας κατάλογος
τυπώνοντας μετά το όνομα * για τα εκτελέσιμα
/ για τους καταλόγους, και @
μετά τα symbolic links.ls Τυπώνει τα αρχεία του τρέχοντος καταλόγου με
λεπτομέρειες—μέγεθος, ημερομηνία, άδειες.ls Δείχνει εκτός από τα κανονικά αρχεία και τα κρυφά
dot αρχεία. Αν είστε root, τα dot
αρχεία τα δείχνει έτσι κι αλλιώς, και χωρίς την επιλογή
.cdΑλλάζει τον τρέχοντα κατάλογο. Η εντολή cd
.. ανεβαίνει στον προηγούμενο
κατάλογο (σημειώστε το κενό μετά την cd). Η
εντολή cd /usr/local
αλλάζει τον τρέχοντα κατάλογο σε αυτόν. Η εντολή cd
~ πηγαίνει στον αρχικό κατάλογο
του χρήστη που έχει κάνει login—π.χ. στον
/usr/home/jack. Δοκιμάστε την εντολή
cd /cdrom, και μετά την
ls, για να δείτε αν το CDROM σας είναι ενεργό
και δουλεύει.view
filenameΑς δούμε τα περιεχόμενα ενός αρχείου (με όνομα
filename) χωρίς να το αλλάξουμε.
Δοκιμάστε την εντολή view
/etc/fstab. Δώστε
:q για να βγείτε.cat
filenameΔείχνει τα περιεχόμενα του filename
στην οθόνη. Αν το αρχείο είναι πολύ μεγάλο, θα μπορείτε να δείτε
μόνο το τέλος του. Πατήστε ScrollLock και
χρησιμοποιείστε up-arrow για να μετακινηθείτε
προς τα πίσω; το ScrollLock μπορεί να
χρησιμοποιηθεί και με τις σελίδες man. Πατήστε
ScrollLock πάλι για να σταματήσετε να
μετακινείστε πάνω/κάτω. Ενδιαφέρον είναι να δοκιμάσετε την εντολή
cat σε κάποια από τα dot αρχεία στον αρχικό σας
κατάλογο— cat
.cshrc, cat
.login, cat
.profile.Θα παρατηρήσετε στο .cshrc συντομεύσεις για
κάποιες από τις επιλογές της εντολής ls (είναι πολύ
βολικές). Μπορείτε να φτιάξετε κι άλλες συντομεύσεις αλλάζοντας το
αρχείο .cshrc. Μπορείτε να κάνετε αυτές τις
συντομεύσεις διαθέσιμες σε όλους τους χρήστες του συστήματος αν τις
βάλετε στο αρχείο με τις ρυθμίσεις συστήματος του csh, το
/etc/csh.cshrc.Αναζητώντας Βοήθεια και ΠληροφορίεςΑς δούμε όμως μερικές χρήσιμες πηγές βοήθειας. Στο παρακάτω η λέξη
κείμενο αντιστοιχεί σε κάτι που εσείς έχετε
επιλέξει να γράψετε—συνήθως το όνομα μιας εντολής ή ενός
αρχείου.apropos
κείμενοΤυπώνει στην οθόνη όλες τις γραμμές που περιέχουν το
κείμενο από την βάση
whatis.man
κείμενοΤυπώνει στην οθόνη την σελίδα man για το
κείμενο. Η κυριότερη πηγή τεκμηρίωσης
για τα Un*x συστήματα. Η εντολή man
ls θα σας δείξει όλους τους
τρόπους να χρησιμοποιήσετε την εντολή ls.
Πατήστε το Enter για να μετακινηθείτε στο
κείμενο,
Ctrlb για
να πάτε μια σελίδα πίσω,
Ctrlf για
να πάτε μπροστά, q ή
Ctrlc για
να τερματίσετε την man.which
κείμενοΣας λέει από ποιον κατάλογο του PATH η εντολή
κείμενο εκτελείται.locate
κείμενοΤυπώνει όλα τα αρχεία του δίσκου που το όνομά τους περιέχει το
κείμενο.whatis
κείμενοΣας λέει τι κάνει η εντολή κείμενο
και ποια είναι η σελίδα man της. Γράφοντας whatis
* θα σας δώσει αντίστοιχες πληροφορίες για όλα τα
εκτελέσιμα του τρέχοντος καταλόγου.whereis
κείμενοΒρίσκει το αρχείο κείμενο, και
τυπώνει το πλήρες όνομα καταλόγου του.Μάλλον θα είναι ενδιαφέρον να δοκιμάσετε την εντολή
whatis για κάποιες κοινές και χρήσιμες εντολές όπως
οι cat, more,
grep, mv, find,
tar, chmod,
chown, date, και
script. Η εντολή more σας δίνει
τη δυνατότητα να διαβάσετε μια σελίδα κάθε φορά όπως και στο DOS,
π.χ. γράφοντας ls -l | more ή more
filename. Ο χαρακτήρας
* δουλεύει σαν μεταχαρακτήρας—π.χ., η εντολή
ls w* θα σας δείξει όλα τα αρχεία που το όνομά τους
ξεκινάει με w.Μήπως κάποια από αυτά που είπαμε δεν δουλεύουν καλά; Τόσο η εντολή
locate όσο και η whatis εξαρτώνται
από μια βάση που ξαναφτιάχνεται μια φορά τη βδομάδα. Αν το μηχάνημά σας
δεν παραμείνει ανοιχτό το σαββατοκύριακο (τρέχοντας το FreeBSD), μπορεί
να θέλετε να τρέξετε εσείς τις εντολές για καθημερινή, εβδομαδιαία και
μηνιαία συντήρηση που και που. Τρέξτε τις σαν root και δώστε τους χρόνο
να τελειώσει η καθεμια πριν ξεκινήσετε την επόμενη.&prompt.root; periodic dailyπαραλείπεται η έξοδος της εντολής
&prompt.root; periodic weeklyπαραλείπεται η έξοδος της εντολής
&prompt.root; periodic monthlyπαραλείπεται η έξοδος της εντολήςΑν βαρεθείτε να περιμένετε, πατήστε
AltF2 για να
βγείτε σε ένα δεύτερο εικονικό τερματικό, και να
κάνετε πάλι login. Έτσι κι αλλιώς, είναι ένα πολυχρηστικό,
πολυδιεργασιακό λειτουργικό σύστημα. Μπορεί πάντως αυτές οι εντολές να
στείλουν κάποια μηνύματα στην οθόνη σας όσο τρέχουν. Μπορείτε να
γράψετε clear στο prompt για να καθαρίσετε την
οθόνη. Μόλις τελειώσουν, μπορεί να θέλετε να κοιτάξετε τα αρχεία
/var/mail/root και
/var/log/messages.Το να τρέχει κανείς τέτοιες εντολές είναι μέρος της διαχείρισης ενός
συστήματος—και σαν ο μοναδικός χρήστης ενός Unix συστήματος, είστε
ο διαχειριστής συστήματος του εαυτού σας. Γενικά οτιδήποτε απαιτεί να
είστε root για να το κάνετε είναι διαχείριση του συστήματος. Τέτοιες
υποχρεώσεις δεν καλύπτονται αρκετά καλά σε εκείνα τα τεράστια βιβλία που
υπόσχονται να σας μάθουν Unix, καθώς αυτά αφιερώνουν συνήθως πολύ χώρο
στο πως θα χρησιμοποιήσετε κάποιο συγκεκριμένο γραφικό περιβάλλον.
Καλύτερα να πάρετε κάποιο από τα δύο πιο σημαντικά βιβλία για διαχείριση
συστημάτων, είτε το UNIX System Administration
Handbook του Evi Nemeth (εκδόσεις Prentice-Hall, 1995, ISBN
0-13-15051-7)—την δεύτερη έκδοση, με το κόκκινο εξώφυλο, ή το
Essential System Administration του Æleen
Frisch's (εκδόσεις O'Reilly & Associates, 1993, ISBN 0-937175-80-3).
Εγώ (ΣΤΜ: η Annelise Anderson) χρησιμοποίησα το βιβλίο του
Nemeth.Επεξεργασία ΚειμένουΓια να ρυθμίσετε το σύστημά σας, πρέπει να κάνετε αλλαγές σε αρχεία
κειμένου. Τα πιο πολλά από αυτά θα είναι στον κατάλογο
/etc. Επίσης θα χρειαστεί να κάνετε
su σε root για να μπορέσετε να τα αλλάξετε. Μπορείτε
να χρησιμοποιήσετε το εύκολο πρόγραμμα ee, αλλά
τελικά θα πρέπει κάποια στιγμή να μάθετε και τον επεξεργαστή κειμένου
vi. Υπάρχει ένας υπέροχος οδηγός για τη χρήση του vi
στο αρχείο /usr/src/contrib/nvi/docs/tutorial αν το
έχετε εγκαταστήσει. Αλλιώς μπορείτε να πάρετε τον ίδιο οδηγό μέσω FTP
από το ftp.cdrom.com. Ο κατάλογος που θα βρείτε τον
οδηγό είναι
FreeBSD/FreeBSD-current/src/contrib/nvi/docs/tutorial.Πριν κάνετε αλλαγές σε αρχεία ρυθμίσεων, μάλλον είναι καλή ιδέα να
πάρετε κάποιο αντίγραφο ασφαλείας. Έστω ότι θέλετε να κάνετε αλλαγές
στο /etc/rc.conf. Μπορείτε να χρησιμοποιήσετε την
εντολή cd /etc για να πάτε στον κατάλογο
/etc και να γράψετε:&prompt.root; cp rc.conf rc.conf.origεπειδή η εντολή mv διατηρεί την αρχική ημερομηνία
και τον ιδιοκτήτη ενός αρχείου. Τώρα μπορείτε να κάνετε ότι αλλαγές
θέλετε στο rc.conf. Αν θέλετε το αρχικό πάλι, τότε
θα εκτελέσετε mv rc.conf rc.conf.myedit
(υποθέτοντας ότι θέλετε να κρατήσετε την αλλαγμένη έκδοση) και
τότε&prompt.root; mv rc.conf.orig rc.confγια να επαναφέρετε τα πράγματα στην προηγούμενη τους
κατάσταση.Για να επεξεργαστείτε ένα αρχείο, δώστε&prompt.root; vi filenameΜετακινηθείτε στο κείμενο με τα βελάκια. Το Esc
(escape πλήκτρο) βάζει το vi σε κατάσταση εντολών.
Ορίστε και μερικές βασικές εντολές:xσβήνει τον χαρακτήρα που πάνω του είναι ο δείκτης
(cursor)ddσβήνει ολόκληρη την γραμμή (ακόμα κι αν αναδιπλώνει στο τέλος
της οθόνης)iεισάγει κείμενο στο σημείο που είναι ο δείκτηςaεισάγει κείμενο μετά τον δείκτηΌταν χρησιμοποιήσετε την εντολή i ή την
a, μπορείτε να εισάγετε κείμενο. Πατήστε
Esc για να επιστρέψετε σε κατάσταση εντολών, όπου
μπορείτε να δώσετε εντολές όπως:wγια να γράψετε τις αλλαγές σας στο δίσκο και να συνεχίσετε να
επεξεργάζεστε το αρχείο:wqγια να γράψετε τις αλλαγές και να βγείτε από το vi:q!για να βγείτε χωρίς να σώσετε τις αλλαγές/κείμενογια να μετακινηθείτε στην πρώτη γραμμή που εμφανίζεται το
κείμενο—μετά μπορείτε να πατήσετε
/Enter (το πλήκτρο enter) για
να βρείτε την επόμενη γραμμή που εμφανίζεται το
κείμενο.Gγια να πάτε στο τέλος του αρχείουnGγια να πάτε στην γραμμή n του
αρχείου, όπου n είναι αριθμόςCtrlLγια να ξαναζωγραφιστεί η οθόνηCtrlb and
Ctrlfγια να μετακινηθείτε μια οθόνη πίσω ή μια οθόνη μπροστά, όπως
και στα προγράμματα more και
view.Εξασκηθείτε με το vi στον αρχικό σας κατάλογο,
δημιουργώντας ένα καινούριο αρχείο με την εντολή vi
filename, προσθέτοντας και
αφαιρώντας κείμενο, σώζοντας το αρχείο, και φορτώνοντάς το πάλι. Το
vi μερικές φορές επιφυλλάσει εκπλήξεις, και κάποια
στιγμή θα κάνετε κάτι που θα κάνει κάτι αναπάντεχο. (Σε κάποιους
πραγματικά αρέσει το vi—είναι πιο ευέλικτο από
το EDIT του DOS—δοκιμάστε να βρείτε βοήθεια π.χ. για την
:r εντολή.) Χρησιμοποιήστε το Esc
μια ή περισσότερες φορές για να είστε σίγουροι ότι είστε σε κατάσταση
εντολών και συνεχίστε από εκεί αν κάτι δεν σας πάει καλά, να σώζετε
συχνά με την :w εντολή, και χρησιμοποιήστε την εντολή
:q! για να βγείτε και να αρχίσετε πάλι από την αρχή
(από εκεί που σας άφησε η τελευταία :w εντολή) όταν
αυτό χρειαστεί.Τώρα μπορείτε να κάνετε cd στον κατάλογο
/etc, να γίνετε root με την su,
να χρησιμοποιήσετε το vi για να αλλάξετε το αρχείο
/etc/group, και να προσθέσετε ένα χρήστη στην ομάδα
wheel έτσι ώστε να έχει δικαιώματα root. Απλά προσθέστε ένα κόμμα και το
όνομα του χρήστη μετά το τέλος της πρώτης γραμμής του αρχείου, πατήστε
Esc, και χρησιμοποιήστε :wq για να
σώσετε το αρχείο στο δίσκο και να βγείτε. Ισχύει αμέσως. (Δεν βάλατε
κάποιο κενό μετά το κόμμα, σωστά;)Εκτυπώνοντας αρχεία από το DOSΣε αυτό το σημείο μάλλον δεν έχετε βάλει κάποιο εκτυπωτή να
δουλεύει, οπότε ας δούμε ένα τρόπο να δημιουργήσετε ένα αρχείο από μια
σελίδα man, να το αντιγράψετε σε μια δισκέττα, και τότε να το τυπώσετε
από το DOS. Έστω ότι θέλετε να διαβάσετε προσεκτικά για το πως αλλάζουν
οι άδειες ενός αρχείου (ένα αρκετά σημαντικό θέμα). Μπορείτε να
χρησιμοποιήσετε την εντολή man chmod για να διαβάσετε
γι αυτό το θέμα. Η εντολή&prompt.user; man chmod | col -b > chmod.txt>θα αφαιρέσει τους κωδικούς μορφοποίησης και θα στείλει την man
σελίδα στο αρχείο chmod.txt αντί να την δείξει στην
οθόνη σας. Τώρα βάλτε μια δισκέττα διαμορφωμένη από DOS στον οδηγό
δισκέττας, χρησιμοποιήστε την su για να γίνετε root,
και δώστε&prompt.root; /sbin/mount -t msdos /dev/fd0 /mnt>για να συνδέσετε (mount) την δισκέττα με τον κατάλογο
/mnt.Τώρα (δεν χρειάζεται πλέον να είστε root, και μπορείτε να δώσετε
exit για να επιστρέψετε στα δικαιώματα του χρήστη
jack) μπορείτε να πάτε στον κατάλογο που δημιουργήσατε το
chmod.txt και να το αντιγράψετε στη δισκέτα
γράφοντας:&prompt.user; cp chmod.txt /mnt>Υστερα, χρησιμοποιώντας την εντολή ls /mnt για να
δείτε τα περιεχόμενα του καταλόγου /mnt, θα πρέπει
να δείτε και το αρχείο chmod.txt.Σίγουρα θα πρέπει να φτιάξετε κι ένα αρχείο από το
/sbin/dmesg γράφοντας&prompt.user; /sbin/dmesg > dmesg.txt>και αντιγράφοντας το dmesg.txt στη δισκέτα. Η
εντολή /sbin/dmesg τυπώνει τα μηνύματα εκκίνησης, και
είναι χρήσιμο να καταλάβετε τι τυπώνει, αφού δείχνει τι αναγνώρισε το
FreeBSD όταν ξεκίνησε. Αν ρωτήσετε κάτι στην
freebsd-questions@FreeBSD.org ή σε κάποια ομάδα συζήτησης
του USENET—όπως για παράδειγμα το FreeBSD δεν βρίσκει το
tape drive μου, τι να κάνω;—θα σας ζητήσουν σίγουρα την
έξοδο της εντολής dmesg.Μπορείτε τώρα να κάνετε umount τον οδηγό δισκέττας (σαν root) για να
βγάλετε τη δισκέττα με την εντολή&prompt.root; /sbin/umount /mnt>και να επανεκκινήσετε το σύστημά σας σε DOS. Αντιγράψτε αυτά τα
αρχεία σε ένα DOS κατάλογο, ανοίξτε τα με το DOS EDIT, το Windows
Notepad ή το Wordpad, ή ένα επεξεργαστή κειμένου, κάντε μια μικρή αλλαγή
έτσι ώστε να πρέπει το αρχείο να σωθεί, και τυπώστε όπως συνήθως από το
DOS ή τα Windows. Ελπίζω να δουλέψει! Οι σελίδες man τυπώνονται πολύ
όμορφα αν χρησιμοποιήσετε την εντολή print του
DOS. (Η αντιγραφή αρχείων από το FreeBSD σε ένα mounted DOS τμήμα δίσκου
είναι σε μερικές περιπτώσεις επικίνδυνο πράγμα.)Το να κάνετε ένα εκτυπωτή στο FreeBSD να τυπώσει απαιτεί να φτιάξετε
μια κατάλληλη εγγραφή στο αρχείο /etc/printcap και
να δημιουργήσετε ένα spool κατάλογο στο
/var/spool/output. Αν ο εκτυπωτής σας είναι στην
θύρα lpt0 (αυτή που το DOS αποκαλεί
LPT1), μπορεί απλά να χρειάζεται να πάτε στον
κατάλογο /var/spool/output και (σαν root) να
δημιουργήσετε ένα υποκατάλογο lpd γράφοντας:
mkdir lpd, αν δεν υπάρχει ήδη. Τότε ο εκτυπωτής θα
πρέπει να απαντάει αν είναι ανοιχτός όταν το σύστημα ξεκινάει, και οι
εντολές lp και lpr θα πρέπει να
στέλνουν ένα αρχείο στον εκτυπωτή. Αν το αρχείο θα τυπωθεί ή όχι,
εξαρτάται από το αν ο εκτυπωτής έχει ρυθμιστεί σωστά, κάτι που καλύπτει
το handbook του
FreeBSD.Άλλες Χρήσιμες ΕντολέςdfΔείχνει ποιες συσκευές έχουν γίνει mount και το χώρο
τους.ps auxΔείχνει τις διεργασίες που τρέχουν.
Η εντολή ps ax τυπώνει πιο συμπαγή
έξοδο.rm αρχείοΣβήνει το αρχείο.rm -R dirΣβήνει τον κατάλογο dir και όλους
τους υποκαταλόγους του—προσοχή!ls -RΔείχνει τη λίστα των αρχείων του τρέχοντος καταλόγου, και όλων
των υποκαταλόγων του. Εγώ παλιότερα χρησιμοποιούσα μια παραλλαγή,
την ls -AFR > where.txt, για να παίρνω μια
λίστα από όλα τα αρχεία στο / και (ξεχωριστά)
στο /usr πριν ανακαλύψω καλύτερους τρόπους να
βρίσκω αρχεία.passwdΑλλάζει τον κωδικό χρήστη σας (ή τον κωδικό χρήστη του
root)man hierΗ σελίδα man για την ιεραρχία αρχείων του Unix.Χρησιμοποιήστε την find για να βρείτε το
filename στο /usr ή σε κάποιο
υποκατάλογό του με την εντολή&prompt.user; find /usr -name "filename>">Μπορείτε να χρησιμοποιήσετε ένα χαρακτήρα * σαν
μεταχαρακτήρα στο
"filename" (το οποίο
θα πρέπει να είναι μέσα σε διπλά εισαγωγικά) Αν πείτε στην
find να ψάξει στο / αντί για το
/usr θα ψάξει για το αρχείο (ή τα αρχεία) σε όλα τα
ενεργά συστήματα αρχείων, συμπεριλαμβανομένου και του CDROM ή του DOS
partition.Ένα πολύ καλό βιβλίο που εξηγεί τις εντολές και τα εργαλεία του Unix
είναι το Unix for the Impatient των Abrahams
& Larson (2nd ed., Addison-Wesley, 1996). Υπάρχουν επίσης πάρα
πολλές πληροφορίες για το Unix στο Διαδίκτυο. Δοκιμάστε να αρχίσετε από
το Unix Reference
Desk.Επόμενα ΒήματαΤώρα πλέον θα πρέπει να έχετε τα εργαλεία για να μπορείτε να τα
βγάζετε πέρα και να αλλάζετε αρχεία κειμένου, ώστε να μπορείτε να
ρυθμίσετε τα πάντα και να δουλεύουν όπως θέλετε. Υπάρχουν πάρα πολλά
χρήσιμα πράγματα στο handbook του FreeBSD (που υπάρχει πιθανόν και στον
δίσκο σας) και στην κεντρική σελίδα
του FreeBSD. Μια μεγάλη πληθώρα πακέτων και ports υπάρχουν στο
CDROM και στην web σελίδα. Το handbook εξηγεί καλύτερα πως μπορείτε να
τα χρησιμοποιήσετε (να πάρετε το πακέτο αν υπάρχει, με την εντολή
pkg_add
/cdrom/packages/All/packagename,
όπου packagename είναι το όνομα αρχείου του
πακέτου). Το CDROM έχει λίστες όλων των πακέτων και των ports με
σύντομες περιγραφές στα αρχεία
cdrom/packages/index,
cdrom/packages/index.txt, και
cdrom/ports/index, με πιο λεπτομερείς περιγραφές
στα αρχεία /cdrom/ports/*/*/pkg/DESCR, όπου οι
χαρακτήρες * αντιπροσωπεύουν υποκαταλόγους από
κατηγορίες προγραμμάτων και ονόματα προγραμμάτων αντίστοιχα.Αν βρίσκετε το handbook κάπως πολύπλοκο (με όλα εκείνα τα
lndir και τα άλλα) για το πως μπορεί κάποιος να
εγκαταστήσει ports από το CDROM, ας δούμε κάτι που δουλεύει:&prompt.root; cp -R /cdrom/ports/comm/kermit /usr/local>Μετά από αυτό θα πρέπει ένας κατάλογος
/usr/local/kermit να έχει τα ίδια αρχεία που έχει ο
κατάλογος kermit στο CDROM.Υστερα, δημιουργήστε ένα κατάλογο
/usr/ports/distfiles αν δεν υπάρχει ήδη,
χρησιμοποιώντας την εντολή mkdir. Μετά ελέγξτε τον
κατάλογο /cdrom/ports/distfiles για ένα αρχείο με
όνομα που να δείχνει ότι είναι το port που θέλετε. Αντιγράψτε αυτό το
αρχείο στον κατάλογο /usr/ports/distfiles (σε
πρόσφατες εκδόσεις μπορείτε να παραλείψετε αυτό το βήμα, αφού το FreeBSD
θα το κάνει για εσάς). Στην περίπτωση του kermit,
δεν υπάρχει κάποιο distfile.Κατόπιν αλλάξτε με cd στον κατάλογο
/usr/local/kermit που έχει το αρχείο
Makefile. Τρέξτε την εντολή&prompt.root; make all install>Κατά τη διάρκεια αυτής της διαδικασίας, το port θα χρησιμοποιήσει
FTP για να πάρει οποιαδήποτε συμπιεσμένα αρχεία του χρειάζονται και δεν
τα βρίσκει στο CDROM ή στον κατάλογο
/usr/ports/distfiles. Αν δεν έχετε ρυθμίσει κάποια
σύνδεση με δίκτυο ακόμα και δεν υπάρχει κάποιο αρχείο που το port
χρειάζεται στο /cdrom/ports/distfiles, θα πρέπει να
πάρετε το αρχείο που λείπει χρησιμοποιώντας κάποιο άλλο μηχάνημα και να
το αντιγράψετε στον κατάλογο /usr/ports/distfiles
με κάποια δισκέττα ή χρησιμοποιώντας το DOS partition σας. Διαβάστε το
Makefile (με την εντολή cat ή την
more ή την view) για να βρείτε που
να πάτε (το κυρίως μέρος διανομής) για να πάρετε το αρχείο και ποιο
όνομα έχει. Το όνομά του θα το αλλάξουν συνήθως τα προγράμματα του DOS,
και μετά θα πρέπει όταν το αντιγράψετε στο
/usr/ports/distfiles να το μετονομάσετε (με την
εντολή mv) στο αρχικό του όνομα ώστε να μπορεί να
βρεθεί. (Χρησιμοποιήστε binary μεταφορές!) Τότε επιστρέψτε στον
κατάλογο /usr/local/kermit, βρείτε τον κατάλογο με
το Makefile, και δώστε make all
install πάλι.Κάτι άλλο που γίνεται με τα ports και τα πακέτα εγκαθίστανται είναι
ότι κάποιο άλλο πρόγραμμα χρειάζεται. Αν η εγκατάσταση σταματήσει με
ένα μήνυμα can't find unzip ή οτιδήποτε, θα
πρέπει να εγκαταστήσετε το πακέτο ή το port του unzip πριν
συνεχίσετε.Αφού εγκατασταθεί, δώστε την εντολή rehash για να
κάνετε το FreeBSD να ξαναψάξει για τα προγράμματα που είναι στο path και
να ξέρει ότι υπάρχει κάπου εκεί. (Αν για πολλά προγράμματα που κάνετε
whereis για να βρείτε σε ποιο κατάλογο του path
είναι, βλέπετε μηνύματα λάθους path not found,
είναι καλή ιδέα να προσθέσετε τους αντίστοιχους καταλόγους στο path που
περιέχει το .cshrc στον αρχικό σας κατάλογο. Το
path στο Unix κάνει την ίδια δουλειά που κάνει και στο DOS, μόνο που ο
τρέχον κατάλογος δεν είναι (συνήθως) στο path για λόγους ασφάλειας. Αν
η εντολή που θέλετε να τρέξετε είναι στον τρέχοντα κατάλογο, πρέπει να
γράψετε ./ για να δουλέψει—χωρίς κενό μετά
την παύλα.)Χρήσιμο επίσης είναι και το Netscape. Μπορείτε να πάρετε την
τελευταία του έκδοση από τον εξυπηρέτη FTP του. (Το Netscape
απαιτεί το X Window Σύστημα.) Υπάρχει πλέον και μια έκδοση για το
FreeBSD, γι αυτό ψάξτε καλά, θα την βρείτε. Απλά χρησιμοποιήστε την
εντολή gunzip filename και
την tar xvf filename στο
αρχείο, μετακινείστε το εκτελέσιμο στον κατάλογο
/usr/local/bin ή κάποιο άλλο μέρος που βάζετε τα
εκτελέσιμά σας, τρέξτε rehash, και τότε βάλτε τις
εξής εντολές στο .cshrc αρχείο στον αρχικό κατάλογο
κάθε χρήστη ή (πιο απλά) στο αρχείο /etc/csh.cshrc,
το αρχείο ρυθμίσεων συστήματος του csh:setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB
setenv XNLSPATH /usr/X11R6/lib/X11/nlsΑυτό υποθέτει ότι το αρχείο XKeysymDB και ο
κατάλογος nls υπάρχουν στο
/usr/X11R6/lib/X11. Αν δεν υπάρχουν, βρείτε τους
και βάλτε τους εκεί.Αν αρχικά εγκαταστήσατε το Netscape σαν port χρησιμοποιώντας το
CDROM (ή πήρατε το πακέτο μέσω FTP), μην αντικαταστήσετε το αρχείο
/usr/local/bin/netscape με το νέο εκτελέσιμο του
Netscape. Το αρχείο αυτό είναι ένα αρχείο φλοιού (shell script) που
ρυθμίζει τις μεταβλητές περιβάλλοντος πριν τρέξει το Netscape. Αντί να
το αντικαταστήσετε, μετονομάστε το νέο εκτελέσιμο σε
netscape.bin και αντικαταστήστε το παλιό
εκτελέσιμο, που βρίσκεται στο
/usr/local/netscape/netscape.Το Περιβάλλον στο Οποίο ΔουλεύετεΟ φλοιός (shell) είναι το πιο σημαντικό μέρος του περιβάλλοντος
εργασίας σας. Στο DOS ο συνηθισμένος φλοιός είναι το command.com. Ο
φλοιός είναι αυτός που μεταφράζει τις εντολές που γράφετε στην γραμμή
εντολών, και επικοινωνεί με το υπόλοιπο λειτουργικό σύστημα. Μπορείτε
να γράψετε αρχεία δέσμης, σαν τα αρχεία δέσμης του DOS: μια σειρά από
εντολές που θα τρέξουν χωρίς την δική σας παρεμβολή.Στο FreeBSD υπάρχουν δύο προεγκατεστημένοι φλοιοί: το csh και το sh.
Το csh είναι καλό για να κάνετε δουλειά στην γραμμή εντολών, αλλά για
αρχεία δέσμης προτιμήστε το sh (ή το bash). Μπορείτε να βρείτε ποιο
φλοιό τρέχετε γράφοντας echo $SHELL.Είναι εύκολο να εγκαταστήσετε ένα καινούριο φλοιό σε τρία
βήματα:Εγκαταστήστε το φλοιό σαν port ή πακέτο, όπως θα κάνατε και για
κάθε άλλο πακέτο. Χρησιμοποιήστε την εντολή
rehash και την which tcsh
(υποθέτοντας ότι στήνετε το tcsh) για να σιγουρευτείτε ότι
εγκαταστήθηκε.Σαν root, αλλάξτε το αρχείο /etc/shells,
προσθέτοντας μια γραμμή στο αρχείο με τον καινούριο φλοιό, σε αυτή
την περίπτωση /usr/local/bin/tcsh, και σώστε το αρχείο. (Κάποια
ports μπορεί να το κάνουν αυτόματα αυτό για σας.)Χρησιμοποιήστε την chsh εντολή για να αλλάξετε
το φλοιό σας στο tcsh μόνιμα, ή γράψτε tcsh στο
prompt για να αλλάξετε προσωρινά το φλοιό σας χωρίς να κάνετε login
ξανά.Μπορεί να είναι επικίνδυνο να αλλάξετε το φλοιό του root σε κάτι
διαφορετικό από sh ή csh σε κάπως παλιότερες εκδόσεις του FreeBSD και
σε πολλές άλλες εκδόσεις του Unix. Μπορεί να μην έχετε ένα φλοιό που
να δουλεύει όταν το σύστημα ξεκινήσει σε κατάσταση ενός χρήστη (single
user mode). Η λύση είναι να χρησιμοποιείτε την εντολή su
-m για να γίνετε root, που θα σας δώσει ένα tcsh φλοιό σαν
root, αφού το ποιος είναι ο φλοιός είναι μέρος του περιβάλλοντος.
Μπορείτε να κάνετε μόνιμη μια τέτοια αλλαγή προσθέτοντας στο
.tcshrc σας μια συντόμευσηalias su su -mΌταν το tcsh ξεκινάει, διαβάζει το αρχείο
/etc/csh.cshrc και ύστερα το
/etc/csh.login, όπως κάνει και το csh. Επίσης
διαβάζει από τον αρχικό σας κατάλογο το αρχείο
.login καθώς και το αρχείο
.cshrc επίσης, εκτός κι αν υπάρχει το αρχείο
.tcshrc. Αυτό μπορείτε να το φτιάξετε,
αντιγράφοντας το αρχείο .cshrc στο
.tcshrc.Τώρα που εγκαταστήσατε το tcsh, μπορείτε να αλλάξετε και το prompt
σας. Μπορείτε να βρείτε πιο πολλές λεπτομέρειες στην man σελίδα του
tcsh, αλλά ας δούμε μια γραμμή που μπορείτε να βάλετε στο
.tcshrc αρχείο σας που θα σας λέει πόσες εντολές
έχετε γράψει, τι ώρα είναι, και σε ποιον κατάλογο είστε. Επίσης
περιέχει ένα χαρακτήρα > αν είστε απλός χρήστης, ή
ένα χαρακτήρα # αν είστε root, κάτι που έτσι κι
αλλιώς το κάνει το tsch.set prompt = "%h %t %~ %# "Αυτό μπορεί να πάει στο ίδιο μέρος που υπάρχει η παλιά set prompt
γραμμή αν υπάρχει, ή κάτω από την "if($?prompt) then" αν δεν υπάρχει.
Μετατρέψτε την παλιά σε σχόλιο, ώστε να μπορείτε να επιστρέψετε στο
παλιό σας prompt αν το προτιμάτε. Μην ξεχάσετε στην καινούρια γραμμή τα
κενά και τα εισαγωγικά. Μπορείτε να κάνετε το tcsh να ξαναδιαβάσει το
.tcshrc γράφοντας source
.tcshrc.Μπορείτε να δείτε μια λίστα με τις μεταβλητές περιβάλλοντος που
υπάρχουν γράφοντας env στο prompt σας. Το αποτέλεσμα
περιέχει τον προκαθορισμένο επεξεργαστή κειμένου σας, τον pager, και τον
τύπο του τερματικού σας, ανάμεσα σε πολλά άλλα πράγματα. Μια χρήσιμη
εντολή αν έχετε συνδεθεί από μακριά και δεν μπορείτε να τρέξετε κάποιο
πρόγραμμα, επειδή ο τύπος τερματικού δεν το επιτρέπει, είναι η εντολή
setenv TERM vt100.ΔιάφοραΣαν root, μπορείτε να αποσυνδέσετε το CDROM με την εντολή
/sbin/umount /cdrom, να βγάλετε το δίσκο από τον
οδηγό, να βάλετε ένα καινούριο και να το συνδέσετε με την εντολή
/sbin/mount_cd9660 /dev/cd0a /cdrom υποθέτοντας ότι
cd0a είναι το όνομα της συσκευής του οδηγού CDROM.
Οι πιο πρόσφατες εκδόσεις του FreeBSD σας αφήνουν να συνδέσετε το CDROM
γράφοντας απλά /sbin/mount /cdrom.Το live σύστημα—το δεύτερο CDROM από τους δίσκους εγκατάστασης
του FreeBSD— μπορεί να φανεί χρήσιμο αν έχετε περιορισμένο χώρο.
Το τι υπάρχει στο live σύστημα διαφέρει από έκδοση σε έκδοση. Μπορείτε
να δοκιμάσετε να παίξετε ακόμα και παιχνίδια από το CDROM. Αυτό απαιτεί
να χρησιμοποιήσετε την εντολή lndir, που εγκαθίσταται
με το σύστημα X Window, για να πείτε στα προγράμματα που να βρουν τα
απαραίτητα αρχεία, γιατί βρίσκονται στο σύστημα αρχείων του
/cdrom αντί για το /usr και
τους υποκαταλόγους του, που συνήθως βρίσκονται. Διαβάστε την man σελίδα
της lndir με man lndir.Τα Σχόλιά ΣαςΑν χρησιμοποιήσετε αυτό τον οδηγό θα με ενδιέφερε να ξέρω που δεν
ήταν αρκετά σαφής και τι παρέλειψα το οποίο πιστεύετε ότι θα έπρεπε να
περιέχει, κι ακόμη πόσο σας βοήθησε. Να ευχαριστήσω τον Eugene W.
Stark, καθηγητή της επιστήμης της πληροφορικής στο SUNY-Stony Brook, και
τον John Fieber για τα σχόλιά τους που με βοήθησαν πολύ.Annelise Anderson,
andrsn@andrsn.stanford.edu
+
+
diff --git a/el_GR.ISO8859-7/articles/problem-reports/article.sgml b/el_GR.ISO8859-7/articles/problem-reports/article.sgml
index c605f60032..f11855236c 100644
--- a/el_GR.ISO8859-7/articles/problem-reports/article.sgml
+++ b/el_GR.ISO8859-7/articles/problem-reports/article.sgml
@@ -1,940 +1,949 @@
%man;
%mailing-lists;
%trademarks;
%freebsd;
]>
Γράφοντας Αναφορές Προβλημάτων για το &os;$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.cvsup;
&tm-attrib.ibm;
&tm-attrib.intel;
&tm-attrib.sparc;
&tm-attrib.sun;
&tm-attrib.general;
Αυτό το άρθρο περιγράφει πως να μορφοποιήσετε και να
στείλετε μια αναφορά προβλήματος στην ομάδα ανάπτυξης του &os;.Dag-ErlingSmørgravΓράφτηκε από αναφορές προβλημάτωνΕισαγωγήΜια από τις πιο αποκαρδιωτικές εμπειρίες που μπορεί κάποιος
να έχει σαν χρήστης ενός προγράμματος είναι να στείλει μια
αναφορά προβλήματος μόνο και μόνο για να δει να την κλείνουν
απότομα με μια σύντομη και απότομη εξήγηση όπως π.χ. αυτό
δεν είναι πρόβλημα ή λάθος PR. Κατά
παρόμοιο τρόπο, μια από τις πιο αποκαρδιωτικές εμπειρίες σαν
προγραμματιστής είναι να κατακλύζεται κανείς από αναφορές
προβλημάτων που δεν είναι πραγματικά προβλήματα αλλά αιτήσεις
για βοήθεια και υποστήριξη ή αναφορές που περιέχουν λίγες έως
καθόλου πληροφορίες σχετικά με το πρόβλημα και πως μπορεί
κάποιος να το αναπαράγει.Αυτό το κείμενο είναι μια προσπάθεια να περιγράψω πως μπορείτε να
γράφετε καλές αναφορές προβλημάτων. Τι είναι, θα με ρωτήσετε, μια καλή
αναφορά προβλήματος; Λοιπόν, για να είμαστε ακριβείς, μια καλή αναφορά
προβλήματος είναι αυτή που μπορεί να αναλυθεί και να την χειριστεί
κάποιος γρήγορα, με αποτέλεσμα την ευχαρίστηση τόσο του αποστολέα όσο
και του προγραμματιστή που την ανέλαβε.Παρόλο που το κυριότερο μέρος αυτού του άρθρου αναφέρεται στις
αναφορές προβλημάτων του &os;, τα πιο πολλά από όσα θα πούμε εδώ
ισχύουν και γενικότερα, για πολλά άλλα πράγματα.Αυτό το άρθρο είναι οργανωμένο θεματικά κι όχι χρονολογικά, οπότε
είναι πιο σωστό να το διαβάσετε ολόκληρο πριν να στείλετε κάποια αναφορά
προβλήματος, και όχι να το χρησιμοποιήσετε σαν κάποιο βήμα προς βήμα
οδηγό.Πότε να στείλετε μια αναφορά προβλήματοςΥπάρχουν πολλοί τύποι προβλημάτων, και δεν αξίζουν όλοι μια αναφορά
προβλήματος. Φυσικά κανείς δεν είναι τέλειος, και θα υπάρξουν φορές που
θα έχετε πειστεί ότι βρήκατε κάποιο πρόβλημα σε ένα πρόγραμμα, όταν στην
πραγματικότητα θα έχετε καταλάβει λάθος τη σύνταξη μιας εντολής ή θα
έχετε κάνει κάποιο τυπογραφικό λάθος σε ένα αρχείο ρυθμίσεων (αν κι αυτό
μερικές φορές είναι ενδεικτικό κακής ή λειψής τεκμηρίωσης ή ακόμα και
κακής διαχείρισης λαθών από κάποια εφαρμογή). Ακόμα, υπάρχουν
περιπτώσεις που το να στείλετε κάποια αναφορά προβλήματος δεν είναι
σωστή κίνηση και το μόνο που μπορεί να πετύχει είναι να ενοχλήσει ή εσάς
ή τους προγραμματιστές. Από την άλλη όμως, υπάρχουν περιπτώσεις που
μπορεί να είναι καλή σκέψη να στείλετε μια αναφορά προβλήματος για κάτι
που δεν είναι bug—μια βελτίωση ή μια αίτηση για κάποιο νέο
χαρακτηριστικό, για παράδειγμα.Τότε λοιπόν, πώς μπορείτε να αποφασίσετε αν κάτι είναι πρόβλημα ή
όχι; Ένας απλός κανόνας είναι ότι το πρόβλημά σας
δεν είναι bug αν μπορεί να εκφραστεί σαν ερώτηση
(συνήθως της μορφής Πώς κάνω το Χ; ή Πού μπορώ να
βρω το Ψ;). Δεν είναι πάντα τόσο άσπρο-μαύρο τα πράγματα
βέβαια, αλλά ο κανόνας της ερώτησης καλύπτει την μεγαλύτερη πλειοψηφία
των περιπτώσεων. Αν αυτό που ψάχνετε είναι κάποια απάντηση, ίσως είναι
καλύτερα να στείλετε την ερώτησή σας στην &a.questions;.Κάποιες περιπτώσεις που πιθανόν να είναι καλή ιδέα να στείλετε μια
αναφορά προβλήματος για κάτι που δεν είναι bug, είναι:Αιτήσεις για μελλοντικές βελτιώσεις. Είναι γενικά καλή ιδέα να
δοκιμάσετε να συζητήσετε πρώτα τέτοιες ιδέες σε κάποια λίστα
ηλεκτρονικού ταχυδρομείου πριν στείλετε μια αναφορά
προβλήματος.Ειδοποίηση για ενημερωμένες εκδόσεις προγραμμάτων (κυρίως ports,
αλλά και μέρη του βασικού συστήματος που συντηρούνται από τρίτους,
όπως το BIND και τα διάφορα GNU εργαλεία).Κάτι άλλο σημαντικό που πρέπει να δώσετε προσοχή είναι αν το σύστημα
στο οποίο εμφανίζεται το πρόβλημα που σας απασχολεί είναι σχετικά
ενημερωμένο. Πρέπει πάντα να δοκιμάζετε να έχετε ένα όσο το δυνατόν πιο
ενημερωμένο σύστημα και να δοκιμάζετε να αναπαράγετε το πρόβλημα σε ένα
τέτοιο σύστημα πριν να στείλετε μια αναφορά προβλήματος. Υπάρχουν πολύ
λίγα πράγματα που μπορούν να ενοχλήσουν ένα προγραμματιστή περισσότερο
από το να παίρνει μια αναφορά προβλήματος για κάποιο bug που έχει ήδη
διορθωθεί.Τέλος, ένα bug που δεν μπορεί κανείς να το αναπαράγει είναι πολύ
δύσκολο να διορθωθεί. Αν το bug εμφανίστηκε μια φορά μόνο και δεν
μπορείτε να το αναπαράγετε εσείς, και φαινομενικά δεν εμφανίζεται σε
κανέναν άλλο, είναι πολύ μικρές οι πιθανότητες να μπορεί κάποιος
προγραμματιστής να το ανακαλύψει και να καταλάβει τί είναι αυτό που
προκαλεί το λάθος. Αυτό δεν σημαίνει πως δεν συμβαίνει, αλλά σημαίνει
πως η πιθανότητα να οδηγήσει η αναφορά σας στην λύση του προβλήματος
είναι πάρα πολύ μικρή, και μάλλον είναι καλύτερο να σταματήσετε να
ασχολείστε με το θέμα. Ακόμα χειρότερα, κάποιες φορές αυτού του είδους
τα προβλήματα οφείλονται σε προβλήματα του υλικού (χαλασμένους σκληρούς
δίσκους ή επεξεργαστές που υπερθερμαίνονται). Πρέπει πάντοτε πριν
στέλνετε μια αναφορά προβλήματος, όταν φυσικά είναι δυνατόν να γίνει
κάτι τέτοιο, να προσπαθείτε να αποκλείσετε τέτοιες περιπτώσεις.ΠροετοιμασίαΕίναι καλή ιδέα να κάνετε πάντα μια μικρή έρευνα πριν να στείλετε
κάποια αναφορά προβλήματος. Μπορεί το πρόβλημά σας να το έχει ήδη
αναφέρει και κάποιος άλλος. Μπορεί να είναι θέμα συζητήσεων σε κάποια
λίστα ηλεκτρονικού ταχυδρομείου ή να ήταν πρόσφατα. Μπορεί ακόμα, να
είναι ήδη διορθωμένο το πρόβλημα σε κάποια έκδοση νεώτερη από αυτή που
τρέχετε. Πρέπει λοιπόν να ελέγχετε όλα τα προφανή σημεία, πριν να
στείλετε μια αναφορά προβλήματος. Για το &os; αυτό σημαίνει:Την
λίστα
με τις πιο συχνές ερωτήσεις (FAQ) για το &os;.
Η λίστα αυτή παρέχει απαντήσεις σε μια μεγάλη ποικιλία ερωτήσεων,
όπως αυτές που αφορούν το
υλικό,
τις εφαρμογές
και τις
ρυθμίσεις του
πυρήνα.Οι
λίστες
ηλεκτρονικού ταχυδρομείου—αν δεν έχετε γραφτεί σε
κάποια από αυτές, μπορείτε να χρησιμοποιήσετε το
αρχείο
στις σελίδες του &os; για να αναζητήσετε πληροφορίες σχετικές με το
πρόβλημα. Αν το πρόβλημά σας δεν έχει συζητηθεί στις λίστες είναι,
γενικά, καλή ιδέα να στείλετε ένα γράμμα στις λίστες ηλεκτρονικού
ταχυδρομείου και να περιμένετε λίγες μέρες μήπως κάποιος βρει κάτι
που εσείς δεν προσέξατε.Προαιρετικά, όλο το δίκτυο. Χρησιμοποιήστε την αγαπημένη σας
μηχανή αναζήτησης για να βρείτε πληροφορίες σχετικά με το πρόβλημα.
Έτσι μπορεί να βρείτε ακόμη και αναφορές από λίστες ηλεκτρονικού
ταχυδρομείου ή ομάδες συζητήσεων που δεν ξέρατε ότι υπάρχουν ή δεν
σκεφτήκατε να ψάξετε.Ύστερα μπορείτε να αναζητήσετε σχετικές αναφορές στην
βάση
αναφορών του &os; (GNATS).
Αν το πρόβλημά σας δεν είναι πρόσφατο ή αρκετά περίεργο, είναι πολύ
πιθανόν να έχει ήδη στείλει κάποιος άλλος μια αναφορά.Το πιο σημαντικό από όλα όμως είναι να δείτε μήπως η τεκμηρίωση
του &os; περιέχει κάποια λύση στο πρόβλημά σας.Για το βασικό σύστημα του &os; πρέπει να μελετήσετε προσεκτικά
τις οδηγίες που περιέχει το αρχείο
/usr/src/UPDATING στο σύστημά σας ή αυτές που
περιέχει η τελευταία έκδοση του αρχείου, η οποία είναι διαθέσιμη στη
διεύθυνση:
.
(Αυτό το αρχείο περιέχει κρίσιμες πληροφορίες για αναβάθμιση από μια
έκδοση του &os; σε κάποια άλλη—ειδικά για τις εκδόσεις του
&os.current;).Αν το πρόβλημα εμφανίζεται σε κάτι που εγκαταστάθηκε ως μέρος
της Συλλογής των Ports του &os;, τα αντίστοιχα αρχεία με πληροφορίες
είναι τα: /usr/ports/UPDATING (για πληροφορίες
σχετικά με συγκεκριμένα πακέτα),
/usr/ports/CHANGES (για αλλαγές που αφορούν όλη
την Συλλογή των Ports).
Κι αυτά τα αρχεία είναι διαθέσιμα μέσω CVSweb, στις διευθύνσεις
και
αντίστοιχα.Αφού έχετε κάνει όλα αυτά θα πρέπει να βεβαιωθείτε ότι η αναφορά σας
θα πάει στα κατάλληλα άτομα.Η πρώτη παγίδα εδώ είναι ότι αν το πρόβλημα αφορά κάποιο πρόγραμμα
που γράφεται από τρίτους κι όχι την ομάδα ανάπτυξης του &os; (είναι
π.χ. για κάποιο port ή πακέτο που στήσατε), πρέπει να αναφέρετε το
πρόβλημα στον αρχικό συγραφέα του προγράμματος, κι όχι στην ομάδα του
&os;. Υπάρχουν δυο εξαιρέσεις σε αυτόν τον κανόνα. Η πρώτη είναι
όταν το πρόβλημα δεν εμφανίζεται σε άλλες πλατφόρμες, οπότε σε αυτήν την
περίπτωση μπορεί το πρόβλημα να σχετίζεται με τον τρόπο που μεταφέρθηκε
το πρόγραμμα στο &os;. Η δεύτερη περίπτωση είναι όταν ο αρχικός
συγγραφέας έχει ήδη διορθώσει το πρόβλημα και έχει διανείμει κάποιο
patch ή μια νέα έκδοση του προγράμματος, αλλά δεν έχει μεταφερθεί ακόμα
η νέα έκδοση στο &os;.Η δεύτερη παγίδα είναι ότι το σύστημα που χρησιμοποιεί η ομάδα του
&os; για να παρακολουθεί και να καταγράφει προβλήματα καταχωρεί τις
αναφορές σε κατηγορίες ανάλογα με τις επιλογές αυτού που στέλνει την
αναφορά. Έτσι, αν διαλέξετε λάθος κατηγορία για την αναφορά σας,
υπάρχει πάντα η πιθανότητα να περάσει απαρατήρητη για κάποιο χρονικό
διάστημα, μέχρι κάποιος να την βάλει στη σωστή κατηγορία
χειροκίνητα.Γράφοντας αναφορές προβλημάτωνΤώρα που έχετε αποφασίσει ότι αξίζει να γράψετε κάποια αναφορά
προβλήματος, και ότι όντως είναι κάποιο πρόβλημα του &os; αυτό που
θέλετε να περιγράψετε, είναι ώρα να γράψετε την αναφορά. Πριν μπούμε σε λεπτομέρειες σχετικά με το πρόγραμμα που χρησιμοποιείται για να γράφονται και να στέλνονται οι αναφορές προβλημάτων, ας δούμε μερικά
κόλπα που θα σας βοηθήσουν να στείλετε χρήσιμες αναφορές.Κόλπα για να γράφετε χρήσιμες αναφορές προβλημάτωνΜην αφήνετε κενή την γραμμή
Synopsis. Οι αναφορές προβλημάτων
στέλνονται σε μια λίστα ηλεκτρονικού ταχυδρομείου, η οποία προωθεί
την αναφορά σας σε ανθρώπους σε όλο τον κόσμο (όπου το κείμενο της
γραμμής Synopsis χρησιμοποιείται ως θέμα του
μηνύματος), αλλά και σε μια βάση δεδομένων. Οποιοσδήποτε
προσπαθήσει αργότερα να δει μια λίστα με τις αναφορές προβλημάτων
μπορεί να αγνοήσει εντελώς την αναφορά σας αν δεν έχει θέμα.
Να έχετε κατα νου σας ότι οι αναφορές μένουν σε αυτή τη βάση μέχρι
κάποιος να ασχοληθεί μαζί τους και να τις κλείσει. Μια ανώνυμη
αναφορά, χωρίς κανένα θέμα, συνήθως, χάνεται στο θόρυβο.Μη χρησιμοποιείτε αταίριαστες περιγραφές στη γραμμή
Synopsis. Μην θεωρείτε ότι οποιοσδήποτε
διαβάσει την αναφορά σας θα έχει και το κατάλληλο υπόβαθρο για να
καταλάβει τι λέτε, οπότε όσο περισσότερες λεπτομέρειες
συμπεριλάβετε τόσο καλύτερα είναι. Για παράδειγμα, η αναφορά και
το πρόβλημα που στέλνετε ποιο μέρος του συστήματός σας αφορά; Το
πρόβλημα εμφανίζεται μόνο κατά τη διάρκεια της εγκατάστασης ή και
μετά; Για παράδειγμα, δείτε πόσο πιο καλά είναι αν αντί να
γράψετε Synopsis: portupgrade is broken γίνετε
πιο περιγραφικοί Synopsis: port sysutils/portupgrade
coredumps on -current. (Ειδικά στην περίπτωση των ports
είναι πολύ χρήσιμο να υπάρχει τόσο η κατηγορία όσο και το όνομα
του port στη γραμμή της σύνοψης).Αν έχετε κάποιο patch, πείτε το.
Είναι πολύ ππιο πιθανό να ασχοληθεί κάποιος με μια αναφορά
προβλήματος που περιλαμβάνει και κάποιο patch από ότι με κάποια
που απλά αναφέρει το πρόβλημα. Αν η αναφορά σας περιλαμβάνει
κάποιο patch τότε είναι καλή ιδέα να προσθέσετε το κείμενο
[patch] στην αρχή της Synopsis
σας. (Παρόλο που δεν είναι υποχρεωτικό να χρησιμοποιήσετε ακριβώς
αυτό το κείμενο, συνήθως αυτό χρησιμοποιούν οι περισσότεροι μέχρι
σήμερα.)Αν είστε εσείς ο υπεύθυνος για τη συντήρηση κάποιου
μέρους του κώδικα, πείτε το. Αν είναι δική σας ευθύνη
η συντήρηση κάποιου μέρους του κώδικα του &os; (για παράδειγμα
είστε ο MAINTAINER κάποιου port), δεν είναι άσχημη ιδέα να
προσθέσετε το κείμενο [maintainer update] στην
αρχή της Synopsis σας. Οπωσδήποτε όμως να
θυμηθείτε να θέσετε την τιμή του Class της αναφοράς
σας σε maintainer-update. Έτσι όποιο μέλος της
ομάδας ανάπτυξης ασχοληθεί με την αναφορά σας δε θα χρειάζεται να
ελέγξει αν όντως εσείς είστε ο maintainer.Να είστε ακριβείς & συγκεκριμένοι.
Όσο περισσότερες πληροφορίες γράψετε σχετικά με το πρόβλημα που
αντιμετωπίζετε, τόσο αυξάνονται οι πιθανότητες να πάρετε μια
χρήσιμη και σωστή απάντηση.Συμπεριλάβετε την έκδοση του &os; που χρησιμοποιείτε
(παρακάτω θα δούμε πως υπάρχει συγκεκριμένο μέρος που μπορείτε
να το γράψετε αυτό) και ποιας αρχιτεκτονικής είναι το μηχάνημά
σας. Είναι ιδιαίτερα χρήσιμο να γράψετε αν τρέχετε κάποια
επίσημη έκδοση (π.χ. από ένα CDROM ή κάποια που κατεβάσατε από
το δίκτυο) ή αν το σύστημα σας το ενημερώνετε με το
&man.cvsup.1; (κι αν ναι, πόσο πρόσφατα το ενημερώσατε).
Αν χρησιμοποιείτε το &os.current;, αυτό είναι και το πρώτο
πράγμα που θα σας ρωτήσει κάποιος, επειδή οι αλλαγές και οι
διορθώσεις (ειδικά για τα σημαντικά προβλήματα) γίνονται,
γενικά, πολύ γρήγορα και συχνά. Οι χρήστες του &os.current;
πρέπει να τις παρακολουθούν με προσοχή και να ενημερώνουν
συχνά το σύστημά τους.Συμπεριλάβετε και τις ρυθμίσεις που περιέχει το αρχείο
make.conf στο σύστημά σας. Σημειώστε πως
η χρήση της επιλογής -O2 του &man.gcc.1;
είναι γνωστή πηγή προβλημάτων. Παρόλο που η ομάδα ανάπτυξης
του &os; δεν θα 'λεγε όχι σε patches που να διορθώνουν αυτά τα
προβλήματα είναι γενικά απρόθυμη στο να αναζητά τις αιτίες
τέτοιων προβλημάτων επειδή δεν έχει το χρόνο ή το ανθρώπινο
δυναμικό να το κάνει. Αν τα προβλήματά σας οφείλονται σε αυτό
το πρόβλημα των optimizations μπορεί να σας απαντήσουν ότι δεν
υποστηρίζεται αυτός ο τρόπος χρήσης του &os;.Αν το πρόβλημά σας αφορά τον πυρήνα, τότε να είστε
προετοιμασμένοι να δώσετε και τις εξής έξτρα πληροφορίες.
(Δεν είναι ανάγκη να τις συμπεριλάβετε έτσι κι αλλιώς, αφού το
μόνο που θα καταφέρετε είναι να αυξήσετε χωρίς λόγο το χώρο
που απαιτεί η βάση προβλημάτων στο δίσκο, αλλά δεν είναι κακή
ιδέα να συμπεριλάβετε μόνο τα μέρη που θεωρείτε σχετικά):τις ρυθμίσεις του πυρήνα σας (και ποιές συσκευές έχετε
εγκατεστημένες στο μηχάνημά σας)αν έχετε ενεργοποιημένες επιλογές debugging στον
πυρήνα σας (όπως π.χ. την επιλογή
WITNESS) κι αν ναι αν το πρόβλημα
συνεχίζει να υπάρχει αφαιρώντας αυτές τις επιλογέςένα backtrace, αν μπορέσατε να καταγράψετε κάποιοαν έχετε διαβάσει προσεκτικά το αρχείο
src/UPDATING κι αν το πρόβλημά σας
αναφέρεται ή όχι σε αυτό (είναι σίγουρο ότι κάποιος θα σας
ρωτήσει γι αυτό)αν μπορείτε να τρέξετε κάποιο άλλο πυρήνα σαν
προσωρινή λύση (έτσι αποκλείονται προβλήματα με το υλικό,
όπως δίσκοι που άρχισαν να χαλάνε ή επεξεργαστές που
υπερθερμαίνονται, που μπορεί να σας μπερδέψουν και να
νομίσετε ότι έχει πρόβλημα ο πυρήνας)Αν έχετε πρόβλημα με κάποιο port, τότε να έχετε διαθέσιμες
τις εξής πληροφορίες.
(Δεν είναι ανάγκη να τις συμπεριλάβετε έτσι κι αλλιώς, αλλά
δεν είναι κακή ιδέα να συμπεριλάβετε μόνο τα μέρη που θεωρείτε
σχετικά):ποια ports έχετε εγκαταστήσειμεταβλητές του περιβάλλοντος που μπορεί να επηρεάζουν
τις προκαθορισμένες ρυθμίσεις του συστήματος στο αρχείο
bsd.port.mk, όπως π.χ. η μεταβλητή
περιβάλλοντος PORTSDIRαν έχετε διαβάσει το αρχείο
ports/UPDATING κι αν το πρόβλημά σας
αναφέρεται ή όχι σε αυτό (είναι σίγουρο ότι κάποιος θα σας
ρωτήσει γι αυτό)Αποφύγετε τις ασαφείς αιτήσεις για νέα
χαρακτηριστικά.
Οι αναφορές της μορφής στ' αλήθεια, κάποιος πρέπει να
υλοποιήσει κάτι που να κάνει το τάδε ή το δείνα δεν
είναι πολύ σίγουρο ότι θα τύχουν καλύτερης αντιμετώπισης από
τις αναφορές που περιγράφουν συγκεκριμένες αλλαγές. Να
θυμάστε ότι ο κώδικας είναι διαθέσιμος σε όλους, οπότε αν
θέλετε κάποιο νέο χαρακτηριστικό ο καλύτερος τρόπος να το
δείτε να υλοποιείται σαν μέρος του &os; είναι να το φτιάξετε
εσείς. Πολλές φορές μάλιστα είναι προτιμότερο να ρωτήσετε
στην freebsd-questions παρά να
δημιουργήσετε μια καινούρια εγγραφή στη βάση αναφορών
προβλημάτων.Σιγουρευτείτε ότι δεν έχει στείλει ήδη κάποιος
άλλος μια παρόμοια αναφορά. Παρόλο που το έχουμε
ξαναπεί αυτό, αξίζει να το αναφέρουμε πάλι εδώ. Χρειάζεται
μόνο ένα λεπτό για να ανοίξετε ένα φυλλομετρητή και να
χρησιμοποιήσετε τη μηχανή αναζήτησης αναφορών προβλημάτων
του &os; στη διεύθυνση
.
(Φυσικά, όλοι έχουμε ξεχάσει κάποιες φορές να το κάνουμε
αυτό.)Αποφύγετε τις επικίνδυνες αιτήσεις.
Αν η αναφορά σας επηρεάζει ένα μέρος του κώδικα για το οποίο
υπήρξαν διαφωνίες στο παρελθόν, μάλλον πρέπει εκτός από τα
patches που θα ετοιμάσετε να είστε προετοιμασμένοι και για
να δικιολογήσετε τις αλλαγές σας, εξηγώντας γιατί είναι
Σωστό να Γίνουν. Όπως είπαμε και πιο πριν,
μια προσεκτική αναζήτηση στα αρχεία των λιστών ηλεκτρονικού
ταχυδρομείου στη διεύθυνση
είναι πάντα καλός τρόπος να προετοιμαστείτε για τέτοιες
καταστάσεις.Να είστε ευγενικοί.
Σχεδόν όλοι όσοι πρόκειται να ασχοληθούν με την αναφορά σας
για κάποιο πρόβλημα είναι εθελοντές. Σε κανέναν δεν αρέσει
να τους λένε τι να κάνουν όταν ήδη κάνουν το ίδιο πράγμα εδώ
και καιρό για λόγους που δεν έχουν σχέση με οικονομικές
απολαβές. Είναι καλό να το έχετε κατά νου αυτό όταν
ασχολείστε με προγράμματα Ανοιχτού Λογισμικού ή Λογισμικού
Ελεύθερου Κώδικα.Πριν αρχίσετεΠριν τρέξετε το πρόγραμμα &man.send-pr.1;, σιγουρευτείτε ότι η
μεταβλητή περιβάλλοντος VISUAL (ή η μεταβλητή
περιβάλλοντος EDITOR αν δεν είναι ορισμένη η
VISUAL) έχει κάποια λογική τιμή.Ελέγξτε επίσης ότι η αποστολή ηλεκτρονικής αλληλογραφίας
λειτουργεί σωστά. Το πρόγραμμα &man.send-pr.1; χρησιμοποιεί μηνύματα
ηλεκτρονικής αλληλογραφίας για την αποστολή και την παρακολούθηση των
αναφορών προβλημάτων. Αν δε μπορείτε να στείλετε μηνύματα
ηλεκτρονικής αλληλογραφίας από το μηχάνημα στο οποίο χρησιμοποιείτε
το πρόγραμμα &man.send-pr.1;, το μήνυμά σας και η αναφορά δε θα φτάσει
ποτέ στη βάση αναφορών προβλημάτων του &os;. Για λεπτομέρειες σχετικά
με τη ρύθμιση της ηλεκτρονικής αλληλογραφίας στο &os; δείτε το
κεφάλαιο περί Ηλεκτρονικής Αλληλογραφίας στο Εγχειρίδιο
του &os; στη διεύθυνση
.Επισυνάπτοντας patches ή αρχείαΤο πρόγραμμα &man.send-pr.1; έχει την δυνατότητα να επισυνάψει
αρχεία σε μια αναφορά προβλήματος. Μπορείτε να επισυνάψετε όσα αρχεία
θέλετε, αρκεί το καθένα να έχει μοναδικό βασικό όνομα (το όνομα του
αρχείου χωρίς την διαδρομή). Απλά χρησιμοποιήστε την παράμετρο
στην γραμμή εντολών για να καταδείξετε τα ονόματα
των αρχείων που θέλετε να επισυνάψετε:&prompt.user; send-pr -a /var/run/dmesg -a /tmp/errorsΔεν χρειάζεται να ανησυχείτε για τα αρχεία που δεν είναι κείμενο.
Θα κωδικοποιηθούν κατάλληλα για να μην τα αλλάξει το πρόγραμμα
αποστολής ηλεκτρονικής αλληλογραφίας που χρησιμοποιείτε.Αν μαζί με την αναφορά στείλετε και κάποιο patch, φροντίστε να
χρησιμοποιήσετε την επιλογή ή την
στην εντολή &man.diff.1; για να δημιουργήσετε ένα
context ή unified αρχείο διαφορών, και μην ξεχάσετε να σημειώσετε τις
ακριβείς εκδόσεις των αρχείων που αλλάξατε έτσι ώστε οι
προγραμματιστές που θα διαβάσουν την αναφορά σας να μπορούν να κάνουν
τις ίδιες αλλαγές εύκολα. Για τα προβλήματα που αφορούν τον πυρήνα ή
τα εργαλεία του βασικού συστήματος είναι προτιμότερο το patch σας να
βασίζεται στο &os.current; (το HEAD branch του CVS) αφού όλες οι
αλλαγές πρέπει πρώτα να γίνονται σε αυτό το branch για να δοκιμαστούν.
Αφού περάσει κάποιος καιρός κι οι αλλαγές δοκιμαστούν αρκετά μόνο τότε
ενσωματώνονται/μεταφέρονται οι αλλαγές στο &os.stable; branch.Αν ενσωματώσετε το patch σας στην αναφορά, αντί να το στείλετε σαν
επισύναψη, προσέξτε αρκετά γιατί ένα αρκετά συχνό πρόβλημα είναι πως
πολλά προγράμματα ηλεκτρονικής αλληλογραφίας έχουν την τάση να
μετατρέπουν τους στηλοθέτες σε κενά, κάτι που καταστρέφει εντελώς
οτιδήποτε αποτελεί μέρος κάποιου Makefile.Γενικά, πάντως, δεν τρέχει τίποτα αν ενσωματώσετε κάποιο μικρό
patch στην αναφορά σας—ειδικά αν είναι φανερό πως διορθώνει το
πρόβλημα που περιγράφεται στην αναφορά. Τα πιο μεγάλα patches, κυρίως
κώδικας που μπορεί να απαιτεί λεπτομερή ανάλυση και δοκιμές πριν γίνει
commit, είναι καλύτερα να τα ανεβάζετε σε κάποιο web ή ftp server και
να περιλαμβάνετε στην αναφορά σας το URL για να τα βρίσκει ο
αναγνώστης της αναφοράς αντί να ενσωματώνετε το ίδιο το patch.
Πολλές φορές τα patches καταστρέφονται όταν είναι μέρος ενός email,
ειδικά όταν περνούν από το πρόγραμμα GNATS, κι όσο πιο μεγάλο είναι το
patch τόσο πιο δύσκολο θα είναι για όποιον ενδιαφέρεται να το
διορθώσει για να το δοκιμάσει. Ένα άλλο καλό που έχει η διανομή ενός
patch μέσω web ή ftp είναι ότι μπορείτε να αλλάξετε το patch χωρίς να
χρειάζεται να το ξαναστείλετε όλο σαν μέρος μιας απάντησης στην αρχική
αναφορά.Μην ξεχνάτε επίσης ότι, αν δεν το δηλώσετε ρητά στην αναφορά που
θα στείλετε ή στο ίδιο το patch, οποιεσδήποτε αλλαγές στείλετε θεωρείται αυτόματα ότι
είναι διαθέσιμες κάτω από τους ίδιους όρους και με την ίδια άδεια που
έχει η έκδοση του κάθε αρχείου που έχετε τροποποιήσει.Συμπληρώνοντας την φόρμα της αναφοράςΌταν τρέξετε το πρόγραμμα &man.send-pr.1; θα δείτε μια φόρμα αναφοράς.
Η φόρμα της αναφοράς αποτελείται από μια σειρά πεδίων. Κάποια από
αυτά είναι είναι προσυμπληρωμένα. Κάποια άλλα έχουν σχόλια που
εξηγούν τον σκοπό τους ή αναφέρουν τις αποδεκτές τιμές. Μην
ανησυχείτε για τα σχόλια, αφού έτσι κι αλλιώς θα αφαιρεθούν αυτόματα
αν δεν τα αλλάξετε ή δεν τα σβήσετε.Στην κορυφή της φόρμας, κάτω από τις γραμμές που αρχίζουν με
SEND-PR: υπάρχουν οι επικεφαλίδες ενός γράμματος.
Συνήθως δεν χρειάζετε να κάνετε κάποια αλλαγή σε αυτές, εκτός κι αν
στέλνετε την αναφορά από κάποιο μηχάνημα το οποίο μπορεί να στείλει
email αλλά δεν μπορεί να λάβει, που θα πρέπει να προσέξετε οι γραμμές
From: και Reply-To: να έχουν την
πραγματική σας email διεύθυνση. Μπορείτε φυσικα να στείλετε στον
εαυτό σας ή κάποιον άλλο ένα αντίγραφο της αναφοράς προβλήματος
προσθέτοντας τις κατάλληλες Cc: γραμμές.Μετά θα δείτε μια σειρά από πεδία μιας γραμμής:Submitter-Id: Μην το αλλάξετε αυτό.
Η προκαθορισμένη τιμή του, current-users,
είναι σωστή ακόμα κι αν χρησιμοποιείτε το &os.stable;.Originator: Αυτό το πεδίο είναι κανονικά
προσυμπληρωμένο με το όνομα του τρέχοντος χρήστη. Αν αυτό δεν
είναι σωστό, παρακαλώ συμπληρώστε την τιμή αυτού του πεδίου με το
πραγματικό σας όνομα και προαιρετικά την email διεύθυνσή σας μέσα
σε < και >.Organization: Αυτό το πεδίο δεν
χρησιμοποιείται για τίποτα σημαντικό.Confidential: Αυτό το πεδίο είναι
προσυμπληρωμένο με no. Δεν έχει νόημα να το
αλλάξετε σε κάτι άλλο, αφού δεν υπάρχουν εμπιστευτικές αναφορές
προβλημάτων στο &os;—η συλλογή των προβλημάτων είναι
ανοιχτή και διαθέσιμη μέσω CVSup για
όλο τον κόσμο.Synopsis: Συμπληρώστε αυτό με μια σύντομη
και ακριβή περιγραφή του προβλήματος. Η synopsis χρησιμοποιείται
σαν το θέμα στα email τα σχετικά με την αναφορά, καθώς και σε
λίστες αναφορών και περιλήψεις. Οι αναφορές προβλήματος με
περίεργες περιγραφές στο πεδίο αυτό συνήθως αγνοούνται.Όπως είπαμε παραπάνω, αν η αναφορά σας περιλαμβάνει κάποιο
patch καλό είναι να ξεκινήσετε την γραμμή της σύνοψης με το
κείμενο [patch]. Αν πάλι είστε ο υπεύθυνος
(maintainer) για κάποιο μέρος του κώδικα, καλό είναι να προσθέσετε
στη σύνοψη το κείμενο [maintainer update] και
να θέσετε την τιμή της επικεφαλίδας Class σε
maintainer-update.Severity: Μπορεί να πάρει τιμή
non-critical,
serious ή
critical. Μην αντιδράτε υπερβολικά. Αποφύγετε
να χαρακτηρίζετε τις αναφορές σας critical
εκτός κι αν είναι όντως μεγάλης σημασίας
(π.χ. root exploit, κάποιο panic που μπορεί
να αναπαραχθεί εύκολα) ή serious εκτός κι αν
είναι κάτι που αφορά πολλούς χρήστες (προβλήματα με συγκεκριμένους
οδηγούς συσκευών ή εργαλεία του συστήματος). Δεν είναι απαραίτητο
πως οι προγραμματιστές του &os; θα ασχοληθούν πιο νωρίς με το
πρόβλημά σας αν υπερβάλλετε για την σημασία του επειδή υπάρχει
πολύς κόσμος που το κάνει αυτό—μάλιστα, υπάρχουν
προγραμματιστές που αγνοούν εντελώς αυτό το πεδίο και το επόμενο,
ακριβώς επειδή αυτοί που στέλνουν τις αναφορές έχουν την τάση να
υπερεκτιμούν τα προβλήματά τους.Priority: Μπορεί να πάρει τιμή
low, medium ή
high. Προτεραιότητα high
πρέπει να δίνεται μόνο σε αναφορές προβλημάτων τα οποία επηρεάζουν
πρακτικά όλους τους χρήστες του &os; και medium
στα προβλήματα που αφορούν ένα μεγάλο αριθμό χρηστών.Category: Επιλέξτε μια από τις ακόλουθες
κατηγορίες (από το αρχείο
/usr/gnats/gnats-adm/categories):advocacy: αναφορές σχετικές με την
δημόσια εικόνα του &os;. Χρησιμοποιείται σπάνια.alpha: αναφορές σχετικές με την
πλατφόρμα Alpha platform.amd64: αναφορές σχετικά με προβλήματα
της πλατφόρμας AMD64.bin: αναφορές σχετικές με προγράμματα
στο βασικό σύστημα.conf: αναφορές σχετικές με αρχεία
ρυθμίσεων, προκαθορισμένες τιμές, κλπ.docs: αναφορές σχετικές με τις manual
pages ή γενικά την τεκμηρίωση.gnu: αναφορές σχετικές με προγράμματα
GNU, όπως π.χ. &man.gcc.1; ή &man.grep.1;.i386: αναφορές σχετικές με την
πλατφόρμα i386 platform.ia64: αναφορές σχετικές με την
πλατφόρμα ia64.java: αναφορές σχετικές με την
Java™.kern: αναφορές για τον πυρήνα.misc: οτιδήποτε δεν ταιριάζει σε κάποια
από τις υπόλοιπες κατηγορίες. (Σημειώστε πως είναι εύκολο να
χαθεί μια αναφορά σε αυτή την κατηγορία.)ports: αναφορές σχετικές με τα
ports.powerpc: αναφορές σχετικές με την
πλατφόρμα PowerPC.sparc64: αναφορές σχετικές με την
πλατφόρμα SPARC.standards: αναφορές σχετικές με την
συμβατότητα με τα διάφορα Πρότυπα.threads: αναφορές σχετικές με την
υλοποίηση των threads στο &os; (ειδικά στο
&os.current;).www: αλλαγές ή βελτιώσεις στην δικτυακή
σελίδα του &os;.Class: Για το πεδίο αυτό, επιλέξτε μια
από τις παρακάτω τιμές:sw-bug: software bugs.doc-bug: λάθη στην τεκμηρίωση.change-request: ιδέες και αιτήσεις για
πρόσθετα χαρακτηριστικά ή αλλαγές σε υπάρχοντα.update: ενημερώσεις των ports ή άλλων
προγραμμάτων που φτιάχνονται από τρίτους.maintainer-update: ενημερώσεις σε ports
για τα οποία συντηρείτε εσείς.Release: Η έκδοση του &os; που
χρησιμοποιείτε. Αυτό το πεδίο συμπληρώνεται αυτόματα από την
&man.send-pr.1; και χρειάζεται να το αλλάξετε μόνο στην περίπτωση
που στέλνετε μια αναφορά προβλήματος από άλλο μηχάννημα, κι όχι
από αυτό που έχει το πρόβλημα.Τέλος, υπάρχει μια σειρά από πεδία με περισσότερες από μια γραμμές
το καθένα:Environment: Εδώ πρέπει να περιγράφεται,
με όσο το δυνατόν μεγαλύτερη ακρίβεια, το περιβάλλον στο οποίο
παρατηρήσατε το πρόβλημα. Αυτό περιλαμβάνει την έκδοση του
λειτουργικού συστήματος, την έκδοση του συγκεκριμένου προγράμματος
ή αρχείου που έχει το πρόβλημα και οποιαδήποτε άλλα χαρακτηριστικά
από το σύστημα και τις ρυθμίσεις του θεωρείτε σημαντικά, άλλα
εγκατεστημένα προγράμματα που πιστεύετε ότι πιθανόν έχουν σχέση με
το πρόβλημα, κλπ—πολύ απλά, οτιδήποτε χρειάζεται να ξέρει
ένας προγραμματιστής για να εξομοιώσει με ακρίβεια το περιβάλλον
στο οποίο εμφανίζεται το πρόβλημα.Description: Μια πλήρης και ακριβής
περιγραφή του προβλήματος που αντιμετωπίζετε. Προσπαθείστε να
αποφύγετε εικασίες σχετικά με την αιτία του προβλήματος εκτός κι
αν είστε σίγουροι ότι βρίσκετε σε σωστό δρόμο, καθώς μπορεί να
οδηγήσετε κάποιο προγραμματιστή να κάνει λάθος υποθέτοντας κάποια
πράγματα που δεν είναι σωστά.How-To-Repeat: Μια περίληψη των ενεργειών
που χρειάζονται για να αναπαράγει κάποιος το πρόβλημα.Fix: Κατά προτίμηση κάποιο patch ή
τουλάχιστον κάτι που ξεπερνά/αποφεύγει το πρόβλημα (κάτι που όχι
μόνο βοηθά όποιον έχει το ίδιο πρόβλημα να το αποφύγει, αλλά
μπορεί ακόμη και να βοηθήσει κάποιον προγραμματιστή να καταλάβει
την πραγματική αιτία του προβλήματος). Αν δεν έχετε βέβαια κάποια
ιδέα, μπορείτε πάντα να αφήσετε αυτό το πεδίο κενό. Είναι πολύ
καλύτερα από το να κάνετε απλώς εικασίες.Στέλνοντας την αναφοράΌταν τελειώσετε με το γράψιμο, την συμπλήρωση της φόρμας, και
σώσετε το κείμενο της αναφοράς σε ένα αρχείο, το πρόγραμμα
&man.send-pr.1; θα σας δείξει μια προτροπή
s)end, e)dit or a)bort?. Μπορείτε τότε να πατήσετε
s για να συνεχίσετε και να σταλεί η αναφορά,
e για να ξεκινήσετε πάλι τον κειμενογράφο σας,
ή a για να εγκαταλείψετε. Αν επιλέξετε το
τελευταίο, το κείμενο της αναφοράς σας θα παραμείνει στο δίσκο (η
&man.send-pr.1; θα γράψει το όνομα του αρχείου πριν τερματίσει), οπότε
μπορείτε να το επεξεργαστείτε με την ησυχία σας αργότερα ή να το
μεταφέρετε σε κάποιο σύστημα με καλύτερη σύνδεση δικτύου, πριν να το
στείλετε με την επιλογή της
&man.send-pr.1;:&prompt.user; send-pr -f ~/my-problem-reportΑυτή η εντολή θα διαβάσει μια αναφορά προβλήματος από το αρχείο,
θα κάνει κάποιους ελέγχους στα περιεχόμενα, θα σβήσει τα σχόλια και
στείλει την αναφορά.ΑπαντήσειςΜόλις η αναφορά σας καταχωρηθεί, θα πάρετε μια απάντηση μέσω email
που θα περιλαμβάνει τον αριθμό που έχει σχετιστεί με την αναφορά σας και
μια διεύθυνση URL όπου μπορείτε να διαβάσετε την αναφορά και την
κατάστασή της. Με λίγη τύχη, κάποιος θα ενδιαφερθεί για την αναφορά σας
και θα προσπαθήσει να λύσει το πρόβλημα ή τουλάχιστον, ανάλογα με την
περίπτωση, να σας εξηγήσει γιατί δεν είναι πρόβλημα. Θα ειδοποιήστε
αυτόματα για κάθε αλλαγή στην κατάσταση της αναφοράς, και θα παίρνετε
αντίγραφα μέσω αλληλογραφίας με οποιαδήποτε σχόλια ή patches στέλνει
κάποιος σαν απάντηση στην αναφορά σας.Αν κάποιος σας ζητήσει επιπλέον πληροφορίες ή θυμηθείτε κάτι ή
ανακαλύψετε κάτι που δεν έχετε αναφέρει στην αρχική σας αναφορά, τότε
χρησιμοποιήστε έναν από τους ακόλουθους τρόπους για να στείλετε
συμπληρωματικές πληροφορίες:Ο πιο εύκολος τρόπος είναι να ακολουθήσετε το σύνδεσμο στην
σελίδα της αναφοράς, την οποία μπορείτε να βρείτε από τη
σελίδα
αναζήτησης των αναφορών. Αν ακολουθήσετε το σύνδεσμο που
έχει στο κάτω μέρος η σελίδα θα ανοίξει το πρόγραμμα αλληλογραφίας
σας με το σωστό αποστολέα και το σωστό θέμα (αρκεί ο φυλλομετρητής
σας υποστηρίζει την εκτέλεση εξωτερικών προγραμμάτων).Εναλλακτικά μπορείτε να στείλετε απλά ένα μήνυμα στη διεύθυνση
bug-followup@FreeBSD.org, προσέχοντας να βάλετε το
σωστό αριθμό αναφοράς στο θέμα έτσι ώστε να τον βρει το σύστημα
παρακολούθησης αναφορών του &os; και να ξέρει σε ποιά αναφορά πρέπει
να επισυνάψει το μήνυμά σας.Αν δεν συμπεριλάβετε το σωστό αριθμό
αναφοράς στο θέμα, το πρόγραμμα GNATS που οργανώνει τις αναφορές σε
κατηγορίες θα μπερδευτεί και θα ανοίξει μια νέα αναφορά την οποία
μετά αναθέτει στον διαχειριστή του συστήματος GNATS. Έτσι η
απάντησή σας θα μείνει αφανής μέχρι να ψάξει κάποιος για αναφορές
που είναι καταχωρημένες λάθος και να τις ξεκαθαρίσει, κάτι που
μπορεί να γίνει μετά από μέρες ή και ολόκληρες εβδομάδες.Λάθος τρόπος:
Subject: that PR I sentΣωστός τρόπος:
Subject: Re: ports/12345: compilation problem with foo/barΑν η αναφορά προβλήματος παραμένει στην κατάσταση
open παρόλο που το πρόβλημα έχει σταματήσει να εμφανίζεται
πλέον, απλώς στείλτε μια απάντηση στην αναφορά (με τον τρόπο που αναφέραμε
παραπάνω), εξηγώντας πως ή πότε διορθώθηκε το πρόβλημα.ΑναφορέςΠαρακάτω θα βρείτε κάποιες πηγές που είναι σχετικές με το θέμα των
αναφορών προβλήματος. Δεν είναι μια πλήρης ή επαρκής λίστα,
φυσικά.
How to Report Bugs Effectively—μια πολύ καλή έκθεση
από τον Simon G. Tatham που περιγράφει πως μπορείτε να γράφετε
χρήσιμες αναφορές προβλήματων (όχι μόνο για το &os;).Problem Report
Handling Guidelines—χρήσιμες πληροφορίες για τον τρόπο
με τον οποίο χειρίζεται τις αναφορές προβλημάτων η ομάδα ανάπτυξης
του &os;
+
+
diff --git a/el_GR.ISO8859-7/articles/releng-packages/article.sgml b/el_GR.ISO8859-7/articles/releng-packages/article.sgml
index 3f4906bf56..d4c89842a2 100644
--- a/el_GR.ISO8859-7/articles/releng-packages/article.sgml
+++ b/el_GR.ISO8859-7/articles/releng-packages/article.sgml
@@ -1,372 +1,381 @@
%man;
%teams;
%freebsd;
%authors;
]>
Η Οργάνωση Έκδοσης των Πακέτων Λογισμικού από Τρίτους του
FreeBSDStevePricesteve@FreeBSD.org$FreeBSD$Αυτό το άρθρο περιγράφει την προσέγγιση της ομάδας οργάνωσης των
επίσημων εκδόσεων του FreeBSD για την παραγωγή μιας υψηλής ποιότητας
συλλογής πακέτων για τα επίσημα μέσα εγκατάστασης του FreeBSD (CD-ROM
αυτή τη στιγμή). Αυτό το κείμενο αποτελεί μέρος μιας δουλειάς που
βρίσκεται σε εξέλιξη, μα όταν τελικά ολοκληρωθεί θα περιγράφει την
διαδικασία που χρησιμοποιείται για την μεταγλώττιση της συλλογής των
πακέτων στο "Ports Cluster" του FreeBSD.org, πως μπορούν να ρυθμιστούν
οποιαδήποτε άλλα μηχανήματα για να χρησιμοποιηθούν με τον ίδιο τρόπο,
πως να χωριστούν τα πακέτα σε ομάδες στα μέσα της εγκατάστασης, καθώς
και πως μπορούν να γίνουν έλεγχοι στο σύνολο των πακέτων.Μεταγλώττιση των πακέτων από την Συλλογή των PortsΗ Συλλογή των Ports του
FreeBSD αποτελείται από περισσότερα από &os.numports;
προγράμματα, γραμμένα από τρίτους, που είναι διαθέσιμα για χρήση στο
FreeBSD. Οι &a.portmgr; είναι υπεύθυνοι για την συντήρηση ενός
ολοκληρωμένου δέντρου πηγαίου κώδικα που μπορεί να χρησιμοποιηθεί για να
δημιουργηθούν μεταγλωττισμένα πακέτα, τα οποία θα συνοδεύουν κάθε
επίσημη έκδοση του FreeBSD.Το Cluster των PortsΓια να είμαστε σίγουροι ότι κάθε πακέτο δεν έχει προβλήματα όταν
δίνεται μαζί με κάποια επίσημη έκδοση του FreeBSD, κάθε port
μεταγλωττίζεται σε ένα ξεχωριστό περιβάλλον chroot, ξεκινώντας με
άδειους τους καταλόγους /usr/local και
/usr/X11R6. Τα προαπαιτούμενα πακέτα
εγκαθίστανται σαν προμεταγλωττισμένα πακέτα πριν ξεκινήσει η
μεταγλώττιση. Αυτές οι προϋποθέσεις είναι που ενισχύουν την
ομοιομορφία στην διαδικασία μεταγλώττισης του
κάθε πακέτου. Ξεκινώντας τη μεταγλώττιση κάθε πακέτου σε ένα καθαρό
περιβάλλον, μπορούμε να ελέγξουμε ότι τα συνοδευτικά δεδομένα κάθε
πακέτου (όπως η λίστα με τα προαπαιτούμενα πακέτα) είναι ακριβή, κι
έτσι δεν θα δημιουργήσουμε ποτέ πακέτα που μπορεί σε κάποια συστήματα
να δουλεύουν και σε άλλα όχι ανάλογα με τα προγράμματα που έχουν
εγκατασταθεί πριν.Το Cluster των Ports για την αρχιτεκτονική x86
αποτελείται αυτή τη στιγμή από ένα κύριο κόμβο (Dual Pentium III
στα 733MHz) και 8 δευτερεύοντες κόμβους (Pentium III στα 800MHz), οι
οποίοι κάνουν την μεταγλώττιση των πακέτων. Με αυτά τα μηχανήματα,
μια μεταγλώττιση όλων των ports παίρνει πάνω από 24 ώρες. Αυτά τα
μηχανήματα είναι co-located μαζί με τα άλλα μηχανήματα της ομάδας του
FreeBSD στον χώρο Exodus του Yahoo, στην Santa Clara, CA.To Cluster των Ports για την αρχιτεκτονική Alpha
αποτελείται από 7 PWS 500A μηχανήματα, τα οποία χάρισε η Compaq.
Είναι κι αυτά co-located στους χώρους του Yahoo.Ο Διαχωρισμός των ΠακέτωνΤο συνολικό μέγεθος των πακέτων ξεπέρασε τα 4.1 gigabytes για την
έκδοση 4.4 του FreeBSD. Αυτό είναι λίγο πρόβλημα όμως για τις διανομές
που είναι βασισμένες σε CDROM, γιατί γενικά θέλουμε να μπορούμε να
διανέμουμε όσο το δυνατόν περισσότερα πακέτα χωρίς όμως να αναγκάζουμε
τον χρήστη να αλλάζει δισκάκια για να ικανοποιήσει τις απαιτήσεις
εγκατάστασης των πακέτων. Η λύση είναι φυσικά να φτιάξουμε
ομάδες από πακέτα με αντίστοιχη λειτουργικότητα που έχουν
παρόμοιες απαιτήσεις, και να βάλουμε όλα τα πακέτα κάθε ομάδας στον ίδιο
δίσκο. Αυτό το τμήμα του άρθρου περιγράφει το λογισμικό και τη
μεθοδολογία που χρησιμοποιείται για να δημιουργηθούν οι συλλογές από
πακέτα που περιέχονται στους δίσκους των επίσημων εκδόσεων του
FreeBSD.Τα script και τα υπόλοιπα αρχεία που χρειάζονται για να χωριστούν τα
πακέτα σε ομάδες μπορείτε να τα βρείτε στο CVS στον κατάλογο
ports/Tools/scripts/release. Αντιγράψτε αυτό τον
κατάλογο σε ένα μηχάνημα που έχει αρκετό χώρο για να κρατήσει
τουλάχιστον 2 ή 3 φορές το σύνολο των πακέτωνν που θέλετε να
χωρίσετε σε ομάδες.Τα παρακάτω scripts υπάρχουν σε αυτό τον κατάλογο:configΑυτό το αρχείο περιέχει το μέγεθος του ελεύθερου χώρου
σε κάθε δίσκο, και αν τα πακέτα, τα distfiles, ή και τα δυο
επιτρέπεται να πάνε σε κάθε συγκεκριμένο δίσκο. Η πρώτη στήλη είναι
το όνομα του δίσκου. Πρέπει να είναι της μορφής
disc[0-9a-z]. Τώρα το αρχείο αυτό έχε ρυθμίσεις
μέσα για 10 δίσκους (4 για το σετ της εγκατάστασης και 6 για το
συμπληρωματικό toolkit). Υπάρχει κι ένας ακόμα δίσκος που λέγεται
scratch, όπου καταλήγουν όλα τα πακέτα και distfiles
που δεν χωράνε πουθενά αλλού. Η δεύτερη στήλη μπορεί να είναι 1 ή
0, όπου η τιμή 1 σημαίνει ότι μπορούν να τοποθετηθούν πακέτα σε αυτό
το δίσκο. Η τρίτη στήλη δουλεύει με παρόμοιο τρόπο, αλλά κανονίζει
αν μπορούν να τοποθετηθούν distfiles σε αυτό το δίσκο. Η τελευταία
στήλη περιέχει τον αριθμό των ελεύθερων bytes στον
δίσκο.doit.shΑυτό κάνει την περισσότερη δουλειά. Μόλις έχετε βάλει
όλα τα αρχεία στη θέση τους και έχετε κάνει τις απαραίτητες
ρυθμίσεις, αυτό το script οδηγεί την διαδικασία διαχωρισμού των
πακέτων. Έχετε το νου σας όσο τρέχει όμως, γιατί είναι interactive.
Περισσότερες λεπτομέρειες σχετικά με αυτό το script υπάρχουν και
παρακάτω.checkdeps.plΕλέγχει αν όλα τα προαπαιτούμενα πακέτα είναι
διαθέσιμα, όταν του δοθεί ένα αρχείο INDEX κι
ένας κατάλογος με πακέτα.oneshot.plΑυτό είναι το πρόγραμμα που κάνει όλα τα μαγικά (και
χρησιμοποιώ τον όρο πολύ χαλαρά, καθώς χρησιμοποιεί μια brute force
προσέγγιση). Με είσοδο μια συλλογή από απαιτούμενα πακέτα για κάθε
δίσκο και ένα σετ από πακέτα/distfiles αυτό είναι το script που
τοποθετεί ένα πακέτο ή distfile σε ένα δίσκο μαζί με όλα τα πακέτα
από τα οποία εξαρτάται.print-cdrom-packages.shΑυτό το αρχείο είναι ένα αντίγραφο του
src/release/scripts/print-cdrom-packages.sh
από την έκδοση στην οποία δουλεύετε.scrubindex.plΑυτό το πρόγραμμα αφαιρεί από ένα
INDEX αρχείο τις γραμμές που είναι σχετικές με
πακέτα που δεν υπάρχουν. Αφαιρεί επίσης και τα πακέτα που απαιτούν
τα XFree86. ΣΗΜΕΙΩΣΗ: θα πρέπει να ρυθμίσετε την τιμή της
μεταβλητής xdep για να βεβαιωθείτε ότι ο αριθμός
έκδοσης είναι σωστός.setup.shΑυτό είναι ένα βοηθητικό script που χρησιμοποιείται
στο bento cluster για να κατεβάσει ένα αντίγραφο του ports tree και
του αντίστοιχου σετ από πακέτα/distfiles.Μια λίστα από ελέγχους που πρέπει να κάνετε και ρυθμίσεις που πρέπει
να ελέγξετε πριν συνεχίσετε είναι:Διορθώστε το config για να περιέχει
πληροφορίες για όλους τους δίσκους που έχετε, τα μεγέθη τους, και αν
θέλετε να περιέχουν πακέτα, distfiles, και τα δύο, ή κανένα από τα
δύο.Βεβαιωθείτε ότι έχετε σβήσει τον κατάλογο
gen αν υπάρχει κάποιος παλιός κατάλογος με αυτό
το όνομα που έχει ξεμείνει από παλιότερα. Αυτός ο κατάλογος περιέχει
διάφορα αρχεία που έχουν νόημα μόνο για το τωρινό τρέξιμο των
προγραμμάτων.Στα πρώτα τρεξίματα που θα κάνετε για να χωριστούν τα
πακέτα είναι καλύτερα να μην κάνετε στα αλήθεια την αντιγραφή των
πακέτων και των distfiles. Αυτό θα σας γλιτώσει και χρόνο και χώρο
στο δίσκο όσο κάνετε δοκιμές μέχρι να σιγουρευτείτε ότι όλα πάνε καλά.
Στο αρχείο oneshot.pl αλλάξτε την τιμή της
μεταβλητής fake σε 1 κι αντί να κάνει αντιγραφή
των αρχείων θα τα κάνει απλώς &man.touch.1;. Βεβαιωθείτε ότι αλλάξατε
την τιμή της fake πάλι σε 0 πριν δώσετε τους
δίσκους σε αυτόν που θα κάνει την μαζική παραγωγή βέβαια, γιατί αλλιώς
οι δίσκοι θα έχουν ένα κατάλογο με πολλά αρχεία μηδενικού
μεγέθους.Βεβαιωθείτε ότι έχετε ένα πρόσφατο αντίγραφο του
print-cdrom-packages.sh και ότι είναι από την
σωστή έκδοση.Ελέγξτε ότι στο αρχείο
scrubindex.pl αναφέρεται η σωστή έκδοση των
XFree86. Η ίδια τιμή πρέπει να υπάρχει και στα
doit.sh.Το επόμενο βήμα είναι να φτιάξετε ένα αντίγραφο από το ports tree,
τα πακέτα και τα distfiles από ένα πρόσφατο τρέξιμο της μεταγλώττισης
των πακέτων από το cluster των ports. Δείτε το αρχείο
setup.sh για ένα παράδειγμα. Τα βασικά βήματα που
πρέπει να κάνετε όμως είναι τα εξής:Αντιγράψτε το ports.tar.gz και
αποσυμπιέστε το στον κατάλογο ports μαζί με το
doit.sh και τον κατάλογο
scripts.Σβήστε τις συντομεύσεις και τους καταλόγους των
πακέτων/distfiles. Το bento τα έχει αυτά σαν συντομεύσεις και θα
πάρετε λάθος αποτελέσματα αν δεν τα σβήσετε πριν
συνεχίσετε.Δημιουργήστε ένα νέο κατάλογο για τα ports/πακέτα και
αντιγράψτε το σετ των πακέτων από το cluster μεταγλώττισης των
πακέτων.Δημιουργήστε ένα νέο κατάλογο για ports/distfiles και
αντιγράψτε τα distfiles από το cluster μεταγλώττισης των πακέτων.
ΣΗΜΕΙΩΣΗ: αν δεν θέλετε κανένα distfile απλά δημιουργήστε τον κατάλογο
και αφήστε τον άδειο. Αυτός ο κατάλογος πρέπει να υπάρχει ακόμα κι αν
δεν περιέχει τίποτα.Τώρα είμαστε πλέον έτοιμοι για το διασκεδαστικό κομμάτι της
ομαδοποίησης των πακέτων. Μπορείτε να ξεκινήσετε την διαδικασία
τρέχοντας το ./doit.sh. Την πρώτη φορά που το
τρέχετε κάνει τα εξής:Δημιουργεί μια λίστα από τα ports που δεν μπορούν να
διανέμονται στο FTP master site.Σας ρωτάει αν θέλετε να σβήσετε αυτά τα ports, αφού δεν
μπορούν να διανέμονται ελεύθερα. Γενικά εδώ καλύτερα να απαντάτε
(y)es.Φτιάχνει μια λίστα από τα πακέτα που δεν μπορούν να
μπουν στους δίσκους.Σας ρωτάει αν θέλετε να σβήσετε τα πακέτα/distfiles που
δεν μπορούν να μπουν σε CD-ROM. Καλύτερα είναι να απαντήσετε (y)es
εδώ.Αντιγράφει το αρχείο INDEX από τον
κατάλογο ports στον κατάλογο
gen. Καθώς το κάνει, αφαιρεί τις γραμμές που
αντιστοιχούν σε ports ή πακέτα που δεν υπάρχουν. Ελέγχει επίσης αν
υπάρχουν όλα τα προαπαιτούμενα πακέτα και ικανοποιούνται οι εξαρτήσεις
των πακέτων/ports.Δημιουργεί μια λίστα από πακέτα που είναι απαραίτητο να
υπάρχουν σε κάθε δίσκο.Σας ρωτάει αν θέλετε να αντιγράψετε τα αρχεία στους
δίσκους. Αφού γίνει η αντιγραφή στους δίσκους θα ελέγξει για
εξαρτήσεις που λείπουν, θα καθαρίσει το αρχείο
INDEX και θα δημιουργήσει ένα αρχείο
CHECKSUM.MD5.Ελέγχει ότι όλα τα απαιτούμενα πακέτα είναι όντως σε
κάθε δίσκο, και τυπώνει ένα συγκεντρωτικό πίνακα με τα μεγέθη των
δίσκων.θα πρέπει να είστε αρκετά τυχεροί για να πετύχει ο διαχωρισμός την
πρώτη φορά, όλα τα πακέτα που χρειάζονται να μεταγλωττιστούν σωστά και
να χωρέσουν και σε κάθε δίσκο. Το μόνο που χρειάζεται μετά είναι να
δώσετε την τιμή 0 στην μεταβλητή fake στο αρχείο
oneshot.pl και να ξανατρέξετε το
./doit.sh. Την δεύτερη φορά που θα τρέξει, καθώς και
όλες τις υπόλοιπες, δεν θα κάνει τα βήματα 1-5 που αναφέραμε παραπάνω.
Αν θέλετε να ξανατρέξετε κάποια από αυτά τα βήματα, κοιτάξτε στο
doit.sh για να δείτε ποια αρχεία πρέπει να σβήσετε
ώστε να μην αποφύγει το doit.sh αυτά τα βήματα.
Αν θέλετε να ξανατρέξουν όλα τα βήματα, ο πιο εύκολος τρόπος είναι με
rm -rf gen.Όταν τελειώσει επιτυχώς η διαδικασία, τα πακέτα/distfiles θα έχουν
αντιγραφεί σε καταλόγους disc* και όσα έχουν
απομείνει θα υπάρχουν στον κατάλογο scratch.Τι να κάνετε αν κάτι δεν πάει καλά; Μερικά από τα πιο συχνά
προβλήματα και συμβουλές γι' αυτά φαίνονται παρακάτω:Απαιτούμενα πακέτα που λείπουνΑυτό συμβαίνει πολύ συχνά. Θα χρειαστεί είτε να
περιμένετε για ένα νέο σετ από πακέτα να ετοιμαστεί, στο οποίο τα
πακέτα που λείπουν θα έχουν μεταγλωττιστεί επιτυχώς, ή να βρείτε
κάποιον που μπορεί να ξεκινήσει πάλι την διαδικασία μεταγλώττισης
των πακέτων για σας. Μην προσπαθήσετε να
μεταγλωττίσετε εσείς τα πακέτα που λείπουν στα δικά σας μηχανήματα
και να τα προσθέσετε στο σωρό. Παρόλο που μπορεί να τα καταφέρετε
κι έτσι αν είστε εξαιρετικά προσεκτικοί, στη μεγαλύτερη πλειοψηφία
των περιπτώσεων θα σας ξεφύγει κάποια λεπτομέρεια και η απλή
προσθήκη ενός μόνο πακέτου μπορεί να προκαλέσει προβλήματα σε
εκατοντάδες άλλα πακέτα.Απαιτούμενα πακέτα που δεν χωράνεΜερικές φορές συμβαίνει κι αυτό, και είναι σχετικά
απλό να διορθωθεί. Απλώς διορθώστε το
print-cdrom-packages.sh και μετακινήστε τα
πακέτα μέχρι να βρείτε μια διάταξη που να βολεύει. Ναι, αυτό είναι
μια χρονοβόρα διαδικασία και ένας από τους σοβαρούς λόγους για τους
οποίους θα πρέπει να ενεργοποιήσετε την μεταβλητή
fake στο αρχείο oneshot.pl
μέχρι να καταφέρετε το αποτέλεσμα που θέλετε. Ξανατρέξτε το
./doit.sh όταν τελειώσετε με τις ρυθμίσεις
σας.Απαιτούμενα πακέτα δεν είναι στον σωστό (ή σε κανένα)
δίσκοΑυτό συνήθως σημαίνει ότι δεν τα προσθέσατε στο
print-cdrom-packages.sh ή τα τοποθετήσατε σε
λάθος δίσκο. Αυτό το script είναι ο κανόνας στον οποίο βασίζεται η
απόφαση για την τοποθεσία ενός πακέτου. Αν θέλετε οπωσδήποτε να
τοποθετηθεί ένα συγκεκριμένο πακέτο σε κάποιο δίσκο, αυτός είναι ο
μόνος τρόπος να το κάνετε με σιγουριά.Αν κολλήσετε σε κάποιο σημείο και δεν μπορείτε να βρείτε γιατί κάτι
δεν πάει καλά ή πως να το διορθώσετε, στείλτε ένα email στον &a.steve;
για βοήθεια.
+
+
diff --git a/el_GR.ISO8859-7/articles/releng/article.sgml b/el_GR.ISO8859-7/articles/releng/article.sgml
index 0e6fe519b5..1b3679eac3 100644
--- a/el_GR.ISO8859-7/articles/releng/article.sgml
+++ b/el_GR.ISO8859-7/articles/releng/article.sgml
@@ -1,984 +1,993 @@
%authors;
%teams;
%mailing-lists;
%man;
%freebsd;
Η Οργάνωση Έκδοσης των Πακέτων Λογισμικού από Τρίτους'>
]>
Η Οργάνωση των Εκδόσεων του FreeBSDΝοέμβρης 2001BSDCon EuropeMurrayStokelyΈχω ασχοληθεί με την ανάπτυξη προϊόντων βασισμένων στο FreeBSD
από το 1997, στην Walnut Creek CDROM, στην BSDi, και τώρα στην
Wind River Systems. Η έκδοση 4.4 του FreeBSD ήταν η πρώτη επίσημη
έκδοση του FreeBSD στην οποία έπαιξα σημαντικό ρόλο.murray@FreeBSD.orghttp://www.FreeBSD.org/~murray$FreeBSD$Αυτό το άρθρο περιγράφει την αντιμετώπιση και οργάνωση της ομάδας
ανάπτυξης του FreeBSD, όσον αφορά στην προετοιμασία ποιοτικών εκδόσεων
του Λειτουργικού Συστήματος FreeBSD. Εξηγεί με λεπτομέρεια την
μεθοδολογία που χρησιμοποιήθηκε στην έκδοση 4.4 του FreeBSD και
περιγράφει τα εργαλεία που είναι διαθέσιμα σε όσους ενδιαφέρονται να
παράγουν παραμετροποιημένες εκδόσεις του FreeBSD για εσωτερική ή
εμπορική χρήση και ανάπτυξη προϊόντων.ΕισαγωγήΗ ανάπτυξη του FreeBSD είναι μια πολύ ανοιχτή διαδικασία. Το FreeBSD
αποτελείται από συνεισφορές χιλιάδων ανθρώπων από όλο τον κόσμο. Η ομάδα
του FreeBSD παρέχει πρόσβαση μέσω ανώνυμου CVS[1] σε
όλους, έτσι ώστε να μπορεί όποιος θέλει να δει μηνύματα log, διαφορές
(patches) που έχουν τα διάφορα development branches, και άλλα
χαρακτηριστικά που βοηθούν την ανάπτυξη, τα οποία προκύπτουν από την χρήση
ενός αυστηρού συστήματος διαχείρισης κώδικα. Αυτό αποτέλεσε και τον πιο
σημαντικό παράγοντα έλξης για ένα μεγάλο αριθμό από ταλαντούχους
προγραμματιστές από όλο τον κόσμο στο FreeBSD. Είναι προφανές, βέβαια,
πως πολύ σύντομα θα είχε γίνει εντελώς χαοτική η κατάσταση αν είχαν όλοι,
από όλο τον κόσμο, πρόσβαση να γράψουν στον κώδικα. Γι' αυτό, μόνο μια
επιλεγμένη ομάδα από περίπου 300 άτομα έχουν πρόσβαση να
γράψουν στο CVS repository. Αυτοί οι
committers[6] είναι υπεύθυνοι για το μεγαλύτερο μέρος
της ανάπτυξηςς που γίνεται στο FreeBSD. Μια
κεντρική-ομάδα[7] (core team) από διακεκριμένους
προγραμματιστές εκλέγεται για να παρέχει κάποιου είδους καθοδήγηση και μια
κατεύθυνση στο σύνολο των committers.Οι ταχύτατοι ρυθμοί ανάπτυξης του FreeBSD δεν αφήνουν και πολύ χρόνο για το
ξεκαθάρισμα του συστήματος ανάπτυξης σε μια έκδοση με ποιότητα που να
αξίζει να χρησιμοποιείται ευρέως. Για να λυθεί αυτό το δίλλημα, η
ανάπτυξη γίνεται ταυτόχρονα σε δυο παράλληλα μονοπάτια. Ο κύριος κορμός
ανάπτυξης είναι ο HEAD ή trunk
στο CVS repository μας, γνωστός και ως FreeBSD-CURRENT, ή
-CURRENT εν συντομία.Ένας πιο σταθερός κορμός συντηρείται, γνωστός με το όνομα
FreeBSD-STABLE ή πιο σύντομα -STABLE.
Και οι δυο κορμοί είναι αποθηκευμένοι στο κύριο CVS repository, στην
Καλιφόρνια, και αντιγράφονται μέσω CVSup[2] σε mirrors παντού στον κόσμο.
Το FreeBSD-CURRENT[8] είναι η πρώτη σειρά της ανάπτυξης του
FreeBSD καθώς σε αυτό γίνονται πρώτα όλες οι καινούριες αλλαγές.
Το FreeBSD-STABLE είναι ο κορμός ανάπτυξης από τον οποίο φτιάχνονται οι
εκδόσεις. Οι αλλαγές εισέρχονται σε αυτόν, τον δεύτερο κορμό ανάπτυξης,
με πιο αργό ρυθμό, αφού πρώτα (σύμφωνα με την πολιτική μας) δοκιμαστούν
στο FreeBSD-CURRENT και έχουν εξεταστεί πολύ καλά.Κατά την περίοδο που μεσολαβεί από τη μια έκδοση στην επόμενη,
φτιάχνονται καθημερινά snapshots από τα μηχανήματα της ομάδας του FreeBSD
και είναι διαθέσιμες από τον εξυπηρετητή ftp://stable.FreeBSD.org/. Η μεγάλη
διαθεσιμότητα των εκτελέσιμων snapshots, καθώς και η τάση της κοινότητας
των χρηστών μας να ενημερώνουν τα μηχανήματά τους με τις πρόσφατες -STABLE
εκδόσεις μέσω CVSup και makeworld[8] βοηθούν να κρατιέται το
FreeBSD-STABLE σε μια πολύ αξιόπιστη κατάσταση ακόμα και πριν αρχίσει ο
κύκλος των ελέγχων ποιότητας ακριβώς πριν από την διάθεση μιας
έκδοσης του FreeBSD.Συνεχώς στέλνονται από τους χρήστες μας αναφορές προβλημάτων και
αιτήσεις για καινούρια χαρακτηριστικά, κατά τη διάρκεια του κύκλου της
κάθε έκδοσης. Οι αναφορές προβλημάτων εισάγονται στην βάση
GNATS[9] μέσω e-mail, με την
εφαρμογή &man.send-pr.1;, ή μέσω του web-interface που παρέχεται στην
διεύθυνση .
Εκτός από τις διάφορες λίστες ηλεκτρονικού ταχυδρομείου με θέμα τα τεχνικά
χαρακτηριστικά του FreeBSD υπάρχει και η λίστα &a.qa;, η οποία παρέχει ένα
φόρουμ για συζητήσεις σχετικά με τις λεπτομέρειες της
οργάνωσης των εκδόσεων.Για να εξυπηρετηθούν οι πιο συντηρητικοί χρήστες μας, με έκδοση του
FreeBSD 4.3 αρχίσαμε να χρησιμοποιούμε ξεχωριστούς κορμούς εκδόσεων.
Αυτοί οι κορμοί δημιουργούνται λίγο πρίν φτιαχτεί η τελική έκδοση. Μετά
την ανακοίνωση της έκδοσης, μόνο πολύ σημαντικές αλλαγές και προσθήκες
σχετικές με την ασφάλεια γίνονται στον κορμό της έκδοσης. Εκτός από την
δυνατότητα αναβάθμισης μέσω CVS, εκτελέσιμα patchkits φτιάχνονται για να
μπορούν να αναβαθμίσουν τα συστήματά τους όσοι χρησιμοποιούν τις εκδόσεις
RELENG_4_3 και RELENG_4_4.Το εξηγεί με λεπτομέρειες τα διάφορα
στάδια της διαδικασίας που βρίσκεται πίσω από κάθε έκδοση, μέχρι και τα
βήματα που οδηγούν στην μεταγλώττιση του συστήματος και το εξηγεί την ίδια τη διαδικασία της μεταγλώττισης.
Το περιγράφει πως μπορεί να επεκταθεί το
βασικό σύστημα από τρίτους και το
περιγράφει κάποια από τα πράγματα που μάθαμε από την διαδικασία έκδοσης
του FreeBSD 4.4. Τέλος, το παρουσιάζει κάποιες
από τις κατευθύνσεις που θέλουμε να πάρει η ανάπτυξη στο μέλλον.Η Διαδικασία Δημιουργίας μιας ΈκδοσηςΟι νέες εκδόσεις του FreeBSD φτιάχνονται από τον -STABLE κορμό
ανάπτυξης περίπου κάθε τέσσερεις μήνες. Η διαδικασία προετοιμασίας μιας
έκδοσης ξεκινάει σχεδόν 45 μέρες πριν την αναμενόμενη ημερομηνία έκδοσης,
όταν ο υπεύθυνος εκδόσεων του FreeBSD στέλνει ένα γράμμα στις λίστες των
προγραμματιστών για να υπενθυμίσει στους προγραμματιστές ότι έχουν 15
μέρες καιρό να κάνουν όποιες αλλαγές θέλουν, πριν το πάγωμα του κώδικα.
Μέσα σε αυτό τον καιρό, πολλοί προγραμματιστές κάνουν μια σειρά από
αλλαγές που έχουν μείνει πλέον γνωστές ως ξεκαθαρίσματα
MFC. Ο όρος MFC σημαίνει Merge From
CURRENT και περιγράφει την διαδικασία προσαρμογής του κώδικα μιας
δοκιμασμένης αλλαγής από τον -CURRENT πειραματικό κορμό ανάπτυξης στον
σταθερό -STABLE κορμό.Έλεγχος ΚώδικαΤριάντα ημέρες πριν την αναμενόμενη ημερομηνία έκδοσης, ο κώδικας
του repository εισέρχεται σε μια περίοδο καθυστέρησης.
Κατά τη διάρκεια αυτής της περιόδου, όλες οι αλλαγές στον -STABLE κορμό
πρέπει να έχουν την έγκριση της &a.re;. Οι αλλαγές που επιτρέπονται σε
αυτή την περίοδο που διαρκεί 15 ημέρες είναι:Διορθώσεις γνωστών προβλημάτων.Ενημερώσεις στην τεκμηρίωση.Αλλαγές σχετικές με την ασφάλεια.Μικρές αλλαγές στους οδηγούς συσκευών, όπως π.χ. η προσθήκη των
IDs νέων συσκευών.Οποιαδήποτε άλλη αλλαγή πιστεύει η ομάδα ανάπτυξης ότι πρέπει να
γίνει, με το αναμενόμενο πάντα ρίσκο.Μετά τις πρώτες 15 μέρες καθυστέρησης, φτιάχνεται μια
δοκιμαστική έκδοση για να χρησιμοποιηθεί σαν δοκιμή
της τελικής έκδοσης και ο κώδικας εισέρχεται σε μια περίοδο
παγώματος. Πλέον είναι πολύ πιο δύσκολο να γίνουν νέες
αλλαγές στο σύστημα, εκτός κι αν διορθώνουν κάποιο πολύ σοβαρό bugή
κάποιο πρόβλημα ασφάλειας. Κατά τη διάρκεια του παγώματος του κώδικα,
τουλάχιστον μία δοκιμαστική έκδοση φτιάχνεται κάθε εβδομάδα, μέχρι να
είναι έτοιμη η τελική έκδοση. Τις ημέρες ακριβώς πριν την τελική
έκδοση, η ομάδα που είναι υπεύθυνη για τις εκδόσεις είναι σε συνεχή
επικοινωνία με την ομάδα ασφάλειας, την ομάδα συντήρησης της
τεκμηρίωσης, και την ομάδα συντήρησης των ports, για να βεβαιωθούν πως
όλα τα απαραίτητα κομμάτια για μια πλήρη έκδοση είναι διαθέσιμα.Λίστα Ελέγχου της Τελικής ΈκδοσηςΌταν αρκετές δοκιμαστικές εκδόσεις έχουν γίνει διαθέσιμες, έχουν
δοκιμαστεί από αρκετό κόσμο και όλα τα σοβαρά θέματα έχουν αναλυθεί, η
τελική έκδοση μπορεί να αρχίσει.Δημιουργία του Κορμού ΈκδοσηςΌπως περιγράψαμε στην εισαγωγή, ο κορμός
RELENG_X_Y είναι μια σχετικά νέα προσθήκη στην
μεθοδολογία των εκδόσεών μας. Το πρώτο βήμα στην δημιουργία αυτού του
κορμού είναι να βεβαιωθείτε ότι δουλεύετε με την τελευταία έκδοση του
πηγαίου κώδικα από τον RELENG_X κορμού
από τον οποίο θα φτιάξετε το νέο κορμό./usr/src&prompt.root; cvs update -rRELENG_4 -P -dΤο επόμενο βήμα είναι να δημιουργήσετε μια
ετικέτα (tag) στο σημείο εκκίνησης του κορμού,
ώστε να μπορείτε να δείτε τις διαφορές με την αρχή του κορμού εύκολα
στο μέλλον με το CVS:/usr/src&prompt.root; cvs rtag -rRELENG_4 RELENG_4_4_BP srcΚαι τότε μπορείτε να δημιουργήσετε το νέο κορμό με:/usr/src&prompt.root; cvs rtag -b -rRELENG_4_4_BP RELENG_4_4 srcΟι ετικέτες RELENG_* είναι
δεσμευμένες για χρήση από τους CVS-meisters και την ομάδα των
εκδόσεων.Ο όρος ετικέτα είναι ορολογία
του CVS. Σημαίνει ένα όνομα που καθορίζει μια συγκεκριμένη έκδοση
του κώδικα στο χρόνο. Χρησιμοποιώντας ετικέτες στον πηγαίο κώδικα
βοηθάμε όποιον φτιάξει στο μέλλον εκδόσεις του FreeBSD να βρίσκει
και να χρησιμοποιεί ακριβώς τον ίδιο κώδικα που χρησιμοποιήθηκε για
τις επίσημες εκδόσεις της Ομάδας του FreeBSD.Αυξάνοντας τον Αριθμό ΈκδοσηςΠριν μπει η ετικέτα, μεταγλωττιστεί και ετοιμαστεί η τελική
έκδοση, πρέπει να γίνουν αλλαγές στα παρακάτω αρχεία για να περιέχουν
τον σωστό αριθμό έκδοσης για το FreeBSD:doc/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml
doc/share/sgml/freebsd.entsrc/Makefile.incsrc/UPDATINGsrc/gnu/usr.bin/groff/tmac/mdoc.localsrc/release/Makefilesrc/release/doc/en_US.ISO8859-1/share/sgml/release.dslsrc/release/doc/share/examples/Makefile.relnotesngsrc/release/doc/share/sgml/release.entsrc/share/examples/cvsup/standard-supfilesrc/share/misc/bsd-family-treesrc/sys/conf/newvers.shsrc/sys/sys/param.hwww/en/releases/*www/en/docs.sgmlwww/en/cgi/ports.cgiΟι σημειώσεις έκδοσης και τα αρχεία με τις διορθώσεις της
τελευταίας στιγμής πρέπει επίσης να προσαρμοστούν στην νέα έκδοση
(στον κορμό της έκδοσης) και να επεξεργαστούν κατάλληλα (στους δύο
κορμούς stable και current):src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml
src/release/doc/en_US.ISO8859-1/errata/article.sgml
Η εφαρμογή sysinstall πρέπει επίσης να
ενημερωθεί με τον σωστό αριθμό των ports και το χώρο του δίσκου που
απαιτείται για την Συλλογή των Ports. Αυτές οι πληροφορίες υπάρχουν
στο αρχείο src/release/sysinstall/dist.c.Δημιουργία των Ετικετών της ΈκδοσηςΌταν η τελική έκδοση είναι έτοιμη, η παρακάτω εντολή θα
δημιουργήσει την ετικέτα
RELENG_4_4_0_RELEASE./usr/src&prompt.root; cvs rtag -rRELENG_4_4 RELENG_4_4_0_RELEASE srcΟι υπεύθυνοι της Τεκμηρίωσης και των Ports είναι αυτοί που πρέπει
να δημιουργήσουν τις ετικέτες RELEASE_4_4_0 στα
κατάλληλα δέντρα πηγαίου κώδικα.Μερικές φορές, μπορεί να χρειαστεί να γίνουν κάποιες αλλαγές
τελευταία στιγμή μετά την τοποθέτηση των
ετικετών. Γενικά, δεν είναι δύσκολο να γίνει κάτι τέτοιο αφού το
CVS επιτρέπει να μετακινήσει κάποιος τις ετικέτες
με εντολές όπως cvs tag -d tagname
filename. Είναι πολύ σημαντικό όμως αυτές οι
αλλαγές της τελευταίας στιγμής να σημειωθούν με τις σωστές ετικέτες
για την συγκεκριμένη έκδοση. Οι επίσημες εκδόσεις του FreeBSD πρέπει
να είναι πάντα εύκολο να αναπαραχθούν. Τοπικές αλλαγές στο περιβάλλον
του μηχανικού των εκδόσεων δεν επιτρέπονται.Μεταγλώττιση της ΈκδοσηςΟι εκδόσεις του FreeBSD μπορούν να μεταγλωττιστούν από
οποιονδήποτε έχει ένα σχετικά γρήγορο μηχάνημα και πρόσβαση στο repository
του πηγαίου κώδικα. (Όλοι έχουν αυτή τη δυνατότητα, αφού παρέχουμε
πρόσβαση μέσω ανώνυμου CVS! Δείτε το Εγχειρίδιο του FreeBSD για
περισσότερες λεπτομέρειες.) Η μόνη ειδική απαίτηση είναι να υπάρχει
υποστήριξη στον πυρήνα σας για την συσκευή &man.vn.4;. (Στο -CURRENT,
αυτή η συσκευή έχει αντικατασταθεί από την νέα συσκευή δίσκου βασισμένου
σε μνήμη &man.md.4;.) Αν η συσκευή δεν είναι ενσωματωμένη στον πυρήνα
σας, τότε ο κατάλληλος οδηγός θα φορτωθεί αυτόματα όταν εκτελεστεί η
εντολή &man.vnconfig.8; κατά τη διάρκεια της φάσης ετοιμασίας του μέσου
εκκίνησης. Όλα τα εργαλεία που χρειάζονται για να μεταγλωττίσετε μια
έκδοση είναι διαθέσιμα σε μορφή πηγαίου κώδικα στον κατάλογο
src/release. Αυτά τα εργαλεία έχουν ως σκοπό να
παρέχουν ότι χρειάζεται για να χτίζονται οι εκδόσεις του FreeBSD με ένα
συνεπή και συγκεκριμένο τρόπο. Μια πλήρης έκδοση μπορεί να μεταγλωττιστεί
χρησιμοποιώντας αυτά τα εργαλεία με μια και μόνο εντολή,
συμπεριλαμβανομένης και της δημιουργίας ενός ISO
αρχείου κατάλληλο για να καεί σε CDROM, οι δισκέττες εκκίνησης, καθώς και
ο κατάλληλος εγκατάστασης μέσω FTP. Αυτή η εντολή είναι φυσική η
make release.Η εντολή make releaseΓια να μεταγλωττίσετε επιτυχώς μια έκδοση, πρέπει πρώτα να υπάρχουν
τα κατάλληλα αρχεία μέσα στον κατάλογο /usr/obj.
Μπορείτε να τα δημιουργήσετε είτε με την εντολή make
world ή απλά make buildworld. Για να
πετύχει επίσης η μεταγλώττιση της έκδοσης πρέπει να δώσετε τις
κατάλληλες τιμές και σε κάποιες μεταβλητές:CHROOTDIR - Ο κατάλογος που θα χρησιμοποιηθεί
σαν περιβάλλον chroot για όλη την μεταγλώττιση της έκδοσης.BUILDNAME - Το όνομα της έκδοσης που θα
μεταγλωττίσετε.CVSROOT - Ο κατάλογος στον οποίο βρίσκεται το
CVS repository.RELEASETAG - Η ετικέτα CVS που αντιστοιχεί
στην έκδοση την οποία θέλετε να μεταγλωττίσετε.Αν δεν έχετε ήδη πρόσβαση σε κάποιο τοπικό CVS repository με τον
κώδικα του FreeBSD, μπορείτε πάντα να φτιάξετε το δικό σας τοπικό CVS
mirror με το CVSup.
Υπάρχει ένα supfile, στο αρχείο
/usr/share/examples/cvsup/cvs-supfile,
το οποίο μπορείτε να χρησιμοποιήσετε για να αντιγράψετε το CVS
repository του FreeBSD στο δικό σας τοπικό mirrror.Αν παραλείψετε την ετικέτα RELEASETAG, τότε θα
μεταγλωττιστεί μια πλήρης έκδοση από την κορυφή του
HEAD (δηλ. του -CURRENT) κορμού. Οι εκδόσεις που
φτιάχνονται από αυτόν τον κορμό, συνήθως αναφέρονται σαν -CURRENT
snapshots.Υπάρχουν και πολλές άλλες μεταβλητές που μπορούν να χρησιμοποιηθούν
για να παραμετροποιήσετε την έκδοσή σας. Οι πιο πολλές από αυτές τις
μεταβλητές περιγράφονται στην κορυφή του αρχείου
src/release/Makefile. Η ακριβής εντολή που
χρησιμοποιήθηκε για να φτιαχτεί η επίσημη έκδοση 4.4 του FreeBSD
(x86 πλατφόρμα) ήταν:make release CHROOTDIR=/local3/release \
BUILDNAME=4.4-RELEASE \
CVSROOT=/host/cvs/usr/home/ncvs \
RELEASETAG=RELENG_4_4_0_RELEASEΤο Makefile που χρησιμοποιείται για να
μεταγλωττίζονται οι εκδόσεις μπορεί να χωριστεί σε αρκετά ξεχωριστά
μεταξύ τους βήματα.Δημιουργία ενός καθαρού περιβάλλοντος σε μια ξεχωριστή ιεραρχία
καταλόγων με την εντολή make
installworld.Εξαγωγή από το CVS μιας καινούριας έκδοσης του πηγαίου κώδικα
του συστήματος, της τεκμηρίωσης και των ports μέσα στην ιεραρχία
καταλόγων μεταγλώττισης της έκδοσης.Ρυθμίσεις των αρχείων στον κατάλογο /etc
και /dev μέσα στο περιβάλλον chroot.Εκτέλεση της εντολής chroot μέσα στην
ιεραρχία καταλόγων που ετοιμάστηκε, για να μην μπορεί το εξωτερικό
περιβάλλον να επηρεάσει τη μεταγλώττιση της έκδοσης.Εκτέλεση της εντολής make world μέσα στο
περιβάλλον chroot.Μεταγλώττιση των εκτελέσιμων που είναι σχετικά με το σύστημα
Kerberos.Μεταγλώττιση του πυρήνα GENERIC.Δημιουργία ενός τελικού καταλόγου στον οποίο θα μεταγλωττιστούν
και θα αποθηκευθούν οι εκτελέσιμες μορφές των τελικών
πακέτων.Μεταγλώττιση και εγκατάσταση των εργαλείων που χρειάζονται για
την προετοιμασία της έκδοσης και τη μετατροπή της τεκμηρίωσης από
τον πηγαίο κώδικα (SGML) σε html και αρχεία κειμένου που θα
συνοδεύουν την έκδοση.Μετατροπή και εγκατάσταση της τεκμηρίωσης (εγχειρίδια χρήστη,
εισαγωγικά κείμενα, σημειώσεις έκδοσης, λίστες συμβατότηταςς υλικού,
κλπ.)Μεταγλώττιση των συμπιεσμένων (crunched)
εκτελέσιμων που θα χρησιμοποιηθούν στις δισκέττες
εγκατάστασης.Δημιουργία των πακέτων της εγκατάστασης και των πακέτων πηγαίου
κώδικα.Δημιουργία των μέσων εκκίνησης και της δισκέττας
fixit.Δημιουργία της ιεραρχίας καταλόγων για την εγκατάσταση μέσω
FTP.(προαιρετικά) Δημιουργία των ISO αρχείων
για μέσα CDROM/DVD media.Για περισσότερες πληροφορίες σχετικά με την διαδικασία δημιουργίας
μιας έκδοσης, δείτε την σελίδα τεκμηρίωσης &man.release.7;.Μεταγλώττιση των XFree86Το γραφικό περιβάλλον XFree86 είναι ένα σημαντικό κομμάτι κάθε
έκδοσης για πολλούς χρήστες που θέλουν το FreeBSD για σταθμούς εργασίας.
Πριν την έκδοση 4.6-RELEASE του FreeBSD, οι επίσημες εκδόσεις του
FreeBSD χρησιμοποιούσαν την έκδοση 3.X των
XFree86.
Ο πιο εύκολος τρόπος να μεταγλωττίσετε αυτές τις εκδόσεις είναι να
χρησιμοποιήσετε το πρόγραμμα
src/release/scripts/X11/build_x.sh.
Αυτό το πρόγραμμα απαιτεί να είναι ήδη στημένα στο σύστημά σας τόσο το
περιβάλλον XFree86 όσο και η γλώσσα Tcl/Tk. Μετά την μεταγλώττιση των
κατάλληλων X servers, το πρόγραμμα θα πακετάρει όλα τα αρχεία σε
συλλογές αρχείων που περιμένει να βρει το &man.sysinstall.8; μέσα στον
κατάλογο XF86336 στο μέσο εγκατάστασης.Ξεκινώντας με την έκδοση 4.6-RELEASE του FreeBSD, το
&man.sysinstall.8; εγκαθιστά την έκδοση 4.X
των XFree86, σαν κανονικά πακέτα. Αυτά μπορεί να είναι είτε τα πακέτα
που δημιούργησε το cluster των ports ή οποιαδήποτε άλλα πακέτα που έχουν
δημιουργηθεί από ένα ports tree με την κατάλληλη ετικέτα.Είναι πολύ σημαντικό να αφαιρέσετε από το αρχείο
/etc/make.conf οποιεσδήποτε τοπικές ρυθμίσεις έχετε
κάνει. Για παράδειγμα, δεν είναι καλή ιδέα να διανέμετε εκτελέσιμα που
έχουν μεταγλωττιστεί σε κάποιο συγκεκριμένο σύστημα με ορισμένη την τιμή
της μεταβλητής CPUTYPE για βελτιστοποίηση των
εκτελέσιμων για κάποιο συγκεκριμένο επεξεργαστή.Προγράμματα Τρίτων (ports)Η Συλλογή των Ports του
FreeBSD είναι μια συλλογή με περισσότερα από &os.numports;
προγράμματα από τρίτους, που είναι διαθέσιμα για FreeBSD. Οι &a.portmgr;
είναι υπεύθυνοι για την συντήρηση ενός δέντρου από πηγαίο κώδικα για τα
ports, που μπορεί να χρησιμοποιηθεί για να δημιουργηθούν τα πακέτα με τα
προγράμματα που συνοδεύουν τις επίσημες εκδόσεις του FreeBSD.Η διαδικασία συντήρησης της συλλογής των ports είναι κάτι που δεν
μπορούμε να καλύψουμε εδώ. Ένα ξεχωριστό άρθρο, με τίτλο &art.re.pkgs;,
καλύπτει αυτό το θέμα.Αρχεία ISO της ΈκδοσηςΞεκινώντας με την έκδοση 4.4 του FreeBSD, η Ομάδα Ανάπτυξης του
FreeBSD αποφάσισε να διανέμει και τα τέσσερα ISO αρχεία που πρώτα
πουλούσαν οι εταιρείες BSDi/Wind River Systems/FreeBSD
Mall στις επίσημες διανομές CDROM που έκαναν.
Κάθε ένα από τα τέσσερα ISO αρχεία πρέπει να περιέχει ένα αρχείο
README.TXT που περιγράφει τα περιεχόμενα του
δίσκου, κι ένα αρχείο CDROM.INF που περιέχει
μετα-πληροφορίες για να μπορεί το πρόγραμμα &man.sysinstall.8; να
ελέγξει και να χρησιμοποιήσει αυτό το δίσκο, καθώς κι ένα αρχείο
filename.txt που παρέχει μια λίστα αρχείων του
CDROM. Αυτή η λίστα μπορεί να δημιουργηθεί πολύ απλά, ως εξής:/stage/cdrom&prompt.root; find . -type f | sed -e 's/^\.\///' | sort > filename.txtΟι συγκεκριμένες απαιτήσεις για κάθε ένα από αυτά τα CD
περιγράφονται παρακάτω:Δίσκος 1Ο πρώτος δίσκος είναι σχεδόν αποκλειστικά αποτέλεσμα της εντολής
make release. Οι μόνες αλλαγές που πρέπει να
γίνουν στον κατάλογο disc1 είναι η προσθήκη του
κατάλογου tools, των XFree86, και όσο το δυνατόν
περισσότερων πακέτων μπορούν να χωρέσουν στο δίσκο. Ο κατάλογος
tools περιέχει εργαλεία που επιτρέπουν σε χρήστες
άλλων λειτουργικών συστημάτων να φτιάξουν τις δισκέττες εκκίνησης.
Αυτός ο πρώτος δίσκος πρέπει να φτιάχνεται bootable έτσι ώστε να
μπορούν οι χρήστες των μοντέρνων υπολογιστών να αποφεύγουν το στάδιο
δημιουργίας των δισκεττών εκκίνησης.Αν μια διαφορετική έκδοση των XFree86 θα διανέμεται με την έκδοση
αυτή, πρέπει να ενημερωθεί το πρόγραμμα &man.sysinstall.8; για την νέα
θέση και οι οδηγίες εγκατάστασης. Ο σχετικός κώδικας υπάρχει στον
κατάλογο src/release/sysinstall στον -STABLE
κορμό ή στον κατάλογο src/usr.sbin/sysinstall
στον -CURRENT κορμό. Συγκεκριμένα, τα αρχεία
dist.c, menus.c, και
config.c θα χρειαστεί να ενημερωθούν.Δίσκος 2Ο δεύτερος δίσκος είναι επίσης αποτέλεσμα της εντολής
make release κατά ένα μεγάλο μέρος. Αυτός ο δίσκος
περιέχει ένα live filesystem που μπορεί να χρησιμοποιηθεί
από το &man.sysinstall.8; για να εξεταστούν προβλήματα σε μια
εγκατάσταση του FreeBSD. Κι αυτός ο δίσκος πρέπει να είναι bootable.
Θα πρέπει επίσης να περιέχει ένα συμπιεσμένο αντίγραφο του CVS
repository στον κατάλογο CVSROOT και δείγματα από
εμπορικά προγράμματα στον κατάλογο commerce.Δίσκοι 3 και 4Οι υπόλοιποι δυο δίσκοι περιέχουν επιπρόσθετα πακέτα λογισμικού
για το FreeBSD. Τα πακέτα θα πρέπει να είναι ομαδοποιημένα, έτσι ώστε
κάθε πακέτο να είναι στον ίδιο δίσκο με όλα τα πακέτα από τα οποία
εξαρτάται για να εγκατασταθεί και να τρέξει. Περισσότερες πληροφορίες
για την δημιουργία αυτών των δίσκων αναφέρονται στο άρθρο
&art.re.pkgs;.Διανομή των ΕκδόσεωνΕξυπηρετητές FTPΌταν η έκδοση είναι έτοιμη, έχει δοκιμαστεί εκτενώς, και έχει
πακεταριστεί για διανομή, ο κύριος FTP εξυπηρετητής πρέπει να
ενημερωθεί. Οι επίσημοι εξυπηρετητές FTP του FreeBSD είναι όλοι mirrors
ενός κύριου εξυπηρετητή στον οποίο έχουν πρόσβαση μόνο άλλοι FTP
εξυπηρετητές. Αυτός ο εξυπηρετητής είναι γνωστός ως
ftp-master. Όταν η έκδοση είναι έτοιμη, πρέπει να
ενημερωθούν τα παρακάτω αρχεία στον ftp-master:/pub/FreeBSD/index.htmlΜια απλή web σελίδα που περιέχει δείκτες σε διάφορους
σημαντικούς FTP καταλόγους για την τρέχουσα έκδοση του
FreeBSD./pub/FreeBSD/releases/arch/X.Y-RELEASE/Ο κατάλογος από τον οποίο μπορούν να γίνουν εγκαταστάσεις μέσω
FTP, όπως τον έχει προετοιμάσει η εντολή make
release./pub/FreeBSD/ports/arch/packages/packages-X.Y-release/Όλα τα προμεταγλωττισμένα πακέτα για την τρέχουσα έκδοση./pub/FreeBSD/releases/arch/X.Y-RELEASE/toolsΜια συμβολική συντόμευση για τον κατάλογο
../../../tools./pub/FreeBSD/releases/arch/X.Y-RELEASE/packagesΜια συμβολική συντόμευση για τον κατάλογο
../../../ports/i386/packages-X.Y-release./pub/FreeBSD/releases/arch/ISO-IMAGES/X.Y/X.Y-*.isoΤα αρχεία ISO.Για περισσότερες πληροφορίες σχετικά με την οργάνωση των mirror
διανομής FTP του FreeBSD, παρακαλώ δείτε το άρθρο Φτιάχνοντας ένα FreeBSD mirror.Μπορεί να πάρει αρκετές ώρες από την στιγμή που θα ενημερωθεί ο
ftp-master μέχρι να ενημερωθούν στην πλειοψηφία τους τα
πρώτου επιπέδου FTP mirror με την νέα έκδοση. Επιβάλλεται οι υπεύθυνοι
έκδοσης να συνεννοηθούν με την &a.hubs; πριν ανακοινώσουν την γενική
διαθεσιμότητα της νέας έκδοσης στους εξυπηρετητές FTP.Μαζική Αναπαραγωγή των CD-ROMΘα συμπληρωθεί σύντομα: Συμβουλές για την αποστολή των ISO αρχείων
του FreeBSD σε κάποιον που μπορεί να κάνει μαζική αναπαραγωγή, και μέτρα
ελέγχου ποιότητας που μπορούν να παρθούν.ΕπεκτασιμότηταΠαρόλο που το FreeBSD είναι ένα πλήρες λειτουργικό σύστημα, δεν
υπάρχει κάτι που να σας αναγκάζει να χρησιμοποιήσετε το σύστημα ακριβώς
όπως το έχουμε πακετάρει εμείς για διανομή. Έχουμε προσπαθήσει να
σχεδιάσουμε το σύστημα έτσι που να είναι όσο το δυνατόν πιο επεκτάσιμο,
για να είναι εύκολο να χρησιμοποιηθεί σαν βάση πάνω στην οποία άλλα
εμπορικά προϊόντα να μπορούν να στηριχθούν. Ο μόνος
κανόνας που έχουμε σχετικά με αυτό είναι πως αν σχεδιάζετε
να διανείμετε το FreeBSD με μεγάλης κλίμακας αλλαγές, σας ενθαρρύνουμε να
τεκμηριώσετε τις αλλαγές σας. Η κοινότητα του FreeBSD μπορεί μόνο να
βοηθήσει στην υποστήριξη αυτών που χρησιμοποιούν το λογισμικό ακριβώς όπως
το διανέμουμε εμείς. Ενθαρρύνουμε και δεχόμαστε κάθε αλλαγή που προωθεί
την ανάπτυξη πιο εξελιγμένων εργαλείων εγκατάστασης και διαχείρισης, για
παράδειγμα, αλλά δεν θα πρέπει να περιμένει κανείς να μπορούμε να
απαντήσουμε και ερωτήσεις σχετικά με κάτι τέτοιο.Δημιουργία Προσαρμοσμένων Δισκεττών Εκκίνησης.Πολλές εγκαταστάσεις έχουν πολύπλοκες απαιτήσεις που μπορεί με τη
σειρά τους να απαιτούν την προσθήκη περισσότερων οδηγών ή εργαλείων
χρήστη στις δισκέττες εγκατάστασης. Ο μπακάλικος τρόπος
να το κάνετε αυτό είναι να κάνετε τις αλλαγές σας στον κατάλογο που έχει
ετοιμάσει μετά το τέλος της η διαδικασία
make release:Περάστε τα patches σας ή προσθέστε τα επιπλέον αρχεία μέσα στον
κατάλογο chroot της έκδοσης.rm ${CHROOTDIR}/usr/obj/usr/src/release/release.[48]Μεταγλωττίστε πάλι το &man.sysinstall.8;, τον πυρήνα, ή όποια
άλλα προγράμματα έχουν επηρεαστεί από τις αλλαγές σας.chroot ${CHROOTDIR} ./mk release.4chroot ${CHROOTDIR} ./mk release.8Οι νέες δισκέττες εγκατάστασης θα δημιουργηθούν στον κατάλογο
${CHROOTDIR}/R/stage/floppies.Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το make target
boot.flp, ή μπορείτε να τρέξετε απευθείας το script
που δημιουργεί τα συστήματα αρχείων
src/release/scripts/doFS.sh.Μπορείτε επίσης να κανονίσετε ώστε δικές σας αλλαγές να περαστούν με
μορφή patch στην έκδοση όπως θα φτιάχνεται, δίνοντας τιμή στην μεταβλητή
LOCAL_PATCH όταν τρέξετε την εντολή make
release.Προγραμματίζοντας το sysinstallΤο εργαλείο εγκατάστασης και ρύθμισης του FreeBSD, το
&man.sysinstall.8;, μπορεί να προγραμματιστεί για να κάνει
πιο εύκολες τις αυτοματοποιημένες εγκαταστάσεις σε πολλά μηχανήματα.
Αυτό το χαρακτηριστικό του προγράμματος μπορεί να χρησιμοποιηθεί σε
συνδυασμό με το PXE[13] της Intel για να ξεκινήσει η εγκατάσταση από το
δίκτυο, ή σε συνδυασμό με προσαρμοσμένες δισκέττες εκκίνησης κι ένα
sysinstall script. Ένα παράδειγμα από τέτοιο sysinstall script μπορείτε
να βρείτε στο αρχείο
src/release/sysinstall/install.cfg.Μαθήματα που Πήραμε από την Έκδοση 4.4 του FreeBSDΗ διαδικασία ετοιμασίας της έκδοσης 4.4 του FreeBSD ξεκίνησε επίσημα
την 1η Αυγούστου 2001. Μετά από αυτή την ημερομηνία, όλες οι αλλαγές στον
κορμό RELENG_4 του FreeBSD έπρεπε να έχουν έγκριση από
την &a.re;. Η πρώτη δοκιμαστική έκδοση για την αρχιτεκτονική x86 έγινε
διαθέσιμη στις 16 Αυγούστου, κι ακολουθήθηκε από 4 ακόμα δοκιμαστικές
εκδόσεις που οδήγησαν στην τελική έκδοση στις 18 του Σεπτέμβρη.
Ο υπεύθυνος ασφάλειας έπαιξε σημαντικό ρόλο κατά την διάρκεια της
τελευταίας εβδομάδας καθώς κάποια προβλήματα ασφάλειας βρέθηκαν σε
προηγούμενες, δοκιμαστικές εκδόσεις. Συνολικά, πάνω από
500 email στάλθηκαν στην &a.re; σε διάστημα μικρότερο
από ένα μήνα.Η κοινότητα των χρηστών μας έκανε σαφές ότι η ασφάλεια και η
σταθερότητα μιας έκδοσης δεν θά 'πρεπε να θυσιάζεται για κανενός είδους
προθεσμίες ή ημερομηνίες που έχουν τεθεί σαν στόχοι από πριν. Το FreeBSD
έχει μεγαλώσει δραματικά κατά τη διάρκεια της ζωής του σαν σύστημα, και η
ανάγκη για συγκεκριμένη πολιτική και οργάνωση για την δημιουργία νέων
εκδόσεων είναι πλέον φανερή περισσότερο από ποτέ. Αυτή η ανάγκη θα γίνει
ακόμα πιο σημαντική καθώς το FreeBSD θα αρχίσει να μεταφέρεται σε νέες
πλατφόρμες.Μελλοντικές ΚατευθύνσειςΕίναι ζωτικής σημασίας οι πρακτικές και η οργάνωση της διαδικασίας
δημιουργίας των εκδόσεών μας να συμβαδίζουν με την συνεχώς αυξανόμενη βάση
των χρηστών μας. Με βάση αυτή τη σκέψη εργαζόμαστε σκληρά για να
τεκμηριώσουμε την διαδικασία παραγωγής των εκδόσεων του FreeBSD.Παράλληλη εκτέλεση - Μερικά μέρη της
μεταγλώττισης μιας εγκατάστασης μπορούν να γίνουν πολύ
παράλληλα. Τα πιο πολλά από τα στάδια είναι
I/O intensive, οπότε η ύπαρξη πολλών υψηλής-ταχύτητας δίσκων
είναι πιο σημαντική από τηνν χρήση πολλών επεξεργαστών για να
επιταχυνθεί κάπως η διαδικασία του make release.
Αν διαφορετικοί δίσκοι χρησιμοποιηθούν για τμήματα της ιεραρχίας του
&man.chroot.2; περιβάλλοντος, τότε το CVS checkout των καταλόγων
ports και doc μπορεί να
γίνει ταυτόχρονα με την εντολή make world στον άλλο
δίσκο. Χρησιμοποιώντας μια RAID λύση (hardware ή
software) μπορεί να μειώσει δραστικά τον συνολικό χρόνο που
χρειάζεται να μεταγλωττιστεί μια πλήρης έκδοση.Μεταγλώττιση εκδόσεων για διαφορετικές
αρχιτεκτονικές - Θέλετε να μεταγλωττίσετε μια έκδοση για
IA-64 ή Alpha σε κάποιον x86 επεξεργαστή? make
TARGET=ia64 release.
Δοκιμές για λάθη - Χρειαζόμαστε καλύτερα
εργαλεία για αυτόματο έλεγχο ορθότητας στο FreeBSD.Εργαλεία Εγκατάστασης - Το πρόγραμμά μας για
την εγκατάσταση του FreeBSD έχει ξεπεράσει προ πολλού τον αναμενόμενο
χρόνο ζωής του. Υπάρχουν διάφορες ομάδες που εργάζονται για να
υλοποιήσουν κάποιον άλλο, πιο μοντέρνο μηχανισμό εγκατάστασης. Μια
από τις πιο υποσχόμενες, είναι η ομάδα libh[5] που στοχεύει στην
υλοποίηση ενός έξυπνου, νέου τρόπου πακεταρίσματος λογισμικού και ενός
GUI προγράμματος εγκατάστασης.ΕυχαριστίεςΘα ήθελα να ευχαριστήσω τον Jordan Hubbard, που μου έδωσε την ευκαιρία
να πάρω κάποια από την ευθύνη της έκδοσης 4.4 του FreeBSD, καθώς και για
όλη την δουλειά που έχει κάνει εδώ και χρόνια για να είναι το FreeBSD αυτό
που είναι σήμερα. Φυσικά, η έκδοση δεν θα ήταν ποτέ δυνατόν να
ολοκληρωθεί χωρίς όλη την σχετική με την έκδοση δουλειά που έκαναν οι
&a.asami;, &a.steve;, &a.bmah;, &a.nik;, &a.obrien;, &a.kris;, &a.jhb; και
όλοι οι υπόλοιποι που ασχολούνται με την ανάπτυξη του FreeBSD. Θέλω
επίσης να ευχαριστήσω τους &a.rgrimes;, &a.phk;, και όλους τους άλλους που
εργάστηκαν για να φτιάξουν τα εργαλεία για τις εκδόσεις στις πρώτες μέρες
της δημιουργίας του FreeBSD. Αυτό το άρθρο έχει επηρεαστεί από κείμενα
σχετικά με την οργάνωση των εκδόσεων από το CSRG[14], την Ομάδα του
NetBSD[11], και την πρόταση για μια διαδικασία οργάνωσης των εκδόσεων του
John Baldwin[12].Αναφορές[1] CVS - Concurrent Versions System
[2] CVSup - The CVS-Optimized General Purpose Network File Distribution
System [3] [4] FreeBSD Ports Collection
[5] The libh Project
[6] FreeBSD Committers [7] FreeBSD Core-Team
[8] FreeBSD Handbook
[9] GNATS: The GNU Bug Tracking System
[10] FreeBSD PR Statistics
[11] NetBSD Developer Documentation: Release Engineering
[12] John Baldwin's FreeBSD Release Engineering Proposal
[13] PXE Jumpstart Guide
[14] Marshall Kirk McKusick, Michael J. Karels, and Keith Bostic:
The Release Engineering of 4.3BSD
+
+
diff --git a/el_GR.ISO8859-7/share/sgml/glossary/freebsd-glossary.sgml b/el_GR.ISO8859-7/share/sgml/glossary/freebsd-glossary.sgml
index ff214ecdb6..e0fd007804 100644
--- a/el_GR.ISO8859-7/share/sgml/glossary/freebsd-glossary.sgml
+++ b/el_GR.ISO8859-7/share/sgml/glossary/freebsd-glossary.sgml
@@ -1,249 +1,257 @@
Λεξικό του &os;Αυτό το λεξικό περιέχει όρους και ακρωνύμια που χρησιμοποιούνται
από την κοινότητα κι από τα κείμενα της τεκμηρίωσης του &os;.BBerkeley Software Distribution
BSD
Αυτό είναι το όνομα που έδωσε το Computer Systems Research
Group (CSRG) στο
Πανεπιστήμιο της
Καλιφόρνια στο Berkeley στις βελτιώσεις και μεταβολές
που έκανε στο &unix; 32V της A&&smp;T. Το &os; είναι ένας
απόγονος της δουλειάς του CSRG.Bikeshed BuildingΈνα φαινόμενο κατά τη διάρκεια του οποίου πολύς κόσμος
λέει τη γνώμη του για ένα αδιάφορο ή ασήμαντο θέμα, ενώ την
ίδια στιγμή ένα πολύπλοκο (αρχικό) θέμα μένει εκτός
ενδιαφέροντος. Δείτε και τη
λίστα FAQ του
&os; για την καταγωγή του όρου.BSDGGiantΤο όνομα ενός μηχανισμού αμοιβαίου αποκλεισμού
(ένα sleep mutex) που προστατεύει ένα μεγάλο
μέρος των πηγών του πυρήνα. Παρόλο που ένας τέτοιος απλός
μηχανισμός ήταν αρκετός σε παλιότερες εποχές, που ένα μηχάνημα
μπορεί να έτρεχε το πολύ μερικές δεκάδες διεργασίες, να είχε μια
κάρτα δικτύου και φυσικά μόνο ένα επεξεργαστή, σήμερα πλέον αποτελεί
πηγή απαράδεκτης καθυστέρησης. Η ομάδα ανάπτυξης του &os; εργάζεται
σκληρά για να αντικαταστήσει το Giant με πιο μοντέρνους, λεπτούς
μηχανισμούς αμοιβαίου αποκλεισμού, οι οποίοι θα επιτρέπουν
μεγαλύτερο βαθμό παραλληλισμού τόσο σε μηχανήματα με ένα όσο και σε
σταθμούς εργασίας με πολλούς επεξεργαστές.KKernel Scheduler Entities
KSE
Ένας μηχανισμός του πυρήνα για υποστήριξη πολυνηματικής
επεξεργασίας. Δείτε τη σελίδα
της ομάδας εργασίας των
KSE για περισσότερες λεπτομέρειες.KSELLock Order Reversal
LOR
Ο πυρήνας του &os; χρησιμοποιεί ένα αριθμό από resource locks
για να διαχειρίζεται την πρόσβαση στις διάφορες πηγές του. Ένας
μηχανισμός διάγνωσης προβλημάτων με αυτά τα locks, ο οποίος λέγεται
&man.witness.4;, περιλαμβάνεται στους πειραματικούς πυρήνες (αλλά
αφαιρείται από τους πυρήνες των σταθερών εκδόσεων) κι ελέγχει κατά
την ώρα λειτουργίας του πυρήνα την πιθανότητα προβλήματων deadlock.
(Ο μηχανισμός &man.witness.4; είναι βασικά αρκετά συντηρητικός στους
ελέγχους που κάνει, οπότε είναι πιθανόν κάποια από τα διαγνωστικά
μηνύματά του να είναι υπερβολικά.) Ένα διαγνωστικό μήνυμα από το
μηχανισμό αυτό σημαίνει ότι αν είστε αρκετά άτυχοι, ένα
deadlock μπορεί να συμβεί στο σημείο αυτό.Τα πραγματικά LOR, συνήθως, διορθώνονται γρήγορα, οπότε να
ελέγχετε τη &a.current.url; και τη σελίδα των
LOR που
είναι γνωστά μέχρι σήμερα πριν στείλετε μήνυμα σε κάποια
από τις λίστες ηλεκτρονικού ταχυδρομείου.LORMMerge From Current
MFC
To merge functionality or a patch from the -CURRENT
branch to another, most often -STABLE.Merge From Stable
MFS
Η φυσιολογική διαδικασία ανάπτυξης του FreeBSD βασίζεται στο ότι
κάθε αλλαγή γίνεται πρώτα στο -CURRENT branch για να δοκιμαστεί πριν
ενσωματωθεί στο -STABLE. Μόνο σε πολύ ειδικές περιπτώσεις γίνεται
κάποια αλλαγή πρώτα στο -STABLE και μετά στο -CURRENT.Ο ίδιος όρος χρησιμοποιείται όταν μια αλλαγή μεταφέρεται από το
-STABLE branch σε κάποιο από τα security branches.MFCMFSNNDISulatorOOvertaken By Events
OBE
Χρησιμοποιείται για να περιγράψει μια προτεινόμενη αλλαγή (όπως
μια Αναφορά Προβλήματος ή μια αίτηση για κάποιο νέο χαρακτηριστικό)
που δεν ισχύει πλέον ή δεν έχει αξία λόγω κάποιας πρόσφατης αλλαγής
στο &os;, αλλαγές σε κάποιο πρότυπο, επειδή το σχετικό υλικό
θεωρείται πλέον ξεπερασμένο, κλπ.OBEPPointy HatΈνα μυθικό σχεδόν καπέλο, που μοιάζει πολύ με ένα dunce
cap, το οποίο χαρίζεται στα μέλη της ομάδας ανάπτυξης του
&os; όταν δημιουργούν προβλήματα με τη μεταγλώττιση του &os;, όταν
κάνουν αλλαγές που δεν χρειάζονται, ή γενικά σε οποιαδήποτε
περίπτωση προκαλούν προβλήματα στον κώδικα. Γενικά, όλα τα μέλη της
ομάδας ανάπτυξης που κάνουν πραγματικά δουλειά μαζεύουν σχετικά
σύντομα μια μεγάλη συλλογή από αυτά τα καπελάκια. Η χρήση του όρου
είναι (σχεδόν πάντοτε) χιουμοριστική.Principle Of Least Astonishment
POLA
Καθώς αναπτύσσεται το &os; οι αλλαγές που είναι ορατές στον
τελικό χρήστη πρέπει να είναι όσο το δυνατόν λιγότερες. Για
παράδειγμα, η άσκοπη μετονομασία μεταβλητών που επηρεάζουν την
έναρξη του συστήματος στο αρχείο
/etc/defaults/rc.conf
θεωρείται παραβίαση του POLA. Τα μέλη της ομάδας ανάπτυξης έχουν
κατά νου τους το POLA όταν κάνουν αλλαγές στο σύστημα οι οποίες
επηρεάζουν τον τελικό χρήστη.POLAProject EvilΟ πραγματικός τίτλος του NDISulator που
έγραψε ο Bill Paul, ο οποίος το ονόμασε έτσι για να δείξει πόσο
απαίσιο είναι (από φιλοσοφικής άποψης) να υπάρχει η ανάγκη για κάτι
τέτοιο. Το NDISulator είναι ένα ειδικό module συμβατότητας το οποίο
επιτρέπει σε οδηγούς συσκευών δικτύου τύπου Microsoft Windows™
NDIS miniport να χρησιμοποιηθούν στο &os;/i386. Αυτός είναι συνήθως
ο μόνος τρόπος να χρησιμοποιηθούν κάρτες δικτύου των οποίων οι
οδηγοί δεν είναι διαθέσιμοι σε μορφή ελεύθερου ή ανοιχτού
λογισμικού. Δείτε και το αρχείο
src/sys/compat/ndis/subr_ndis.c
για περισσότερες λεπτομέρειες.
+
diff --git a/el_GR.ISO8859-7/share/sgml/legalnotice.sgml b/el_GR.ISO8859-7/share/sgml/legalnotice.sgml
index e9de2ec6d5..29fcb27fc3 100644
--- a/el_GR.ISO8859-7/share/sgml/legalnotice.sgml
+++ b/el_GR.ISO8859-7/share/sgml/legalnotice.sgml
@@ -1,47 +1,55 @@
Η διανομή και χρήση σε μορφή πηγαίου κώδικα (SGML DocBook) ή
σε 'μεταγλωττισμένη' μορφή (SGML, HTML, PDF, PostScript, RTF κοκ)
με ή χωρίς αλλαγές, επιτρέπεται εφόσον οι παρακάτω προϋποθέσεις
τηρούνται:Η διανομή σε μορφή πηγαίου κώδικα (SGML DocBook) πρέπει να
διατηρεί την παραπάνω δήλωση πνευματικών δικαιωμάτων, αυτή τη
λίστα με προϋποθέσεις και την επόμενη παράγραφο στις πρώτες
γραμμές του αρχείου, αμετάβλητες.Η διανομή σε μεταγλωττισμένες μορφές (μετάφραση σε άλλα
DTD, μετατροπή σε PDF, PostScript, RTF ή άλλες μορφές) πρέπει
να αναπαράγει την παραπάνω δήλωση πνευματικών δικαιωμάτων,
αυτή τη λίστα με προϋποθέσεις, και την παρακάτω παράγραφο τόσο
στην τεκμηρίωση όσο και σε άλλο υλικό που παρέχεται μαζί με
την διανομή.ΑΥΤΗ Η ΤΕΚΜΗΡΙΩΣΗ ΔΙΝΕΤΑΙ ΑΠΟ ΤΗΝ ΟΜΑΔΑ ΤΕΚΜΗΡΙΩΣΗΣ ΤΟΥ
FREEBSD "ΩΣ ΕΧΕΙ" ΚΑΙ ΔΕΝ ΠΑΡΕΧΕΤΑΙ ΚΑΜΙΑ ΑΜΕΣΗ Η ΕΜΜΕΣΗ
ΕΓΓΥΗΣΗ, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ, ΑΛΛΑ ΧΩΡΙΣ ΝΑ ΠΕΡΙΟΡΙΖΕΤΑΙ ΜΟΝΟ ΣΕ
ΑΥΤΕΣ, ΚΑΙ ΤΩΝ ΕΜΜΕΣΩΝ ΕΓΓΥΗΣΕΩΝ ΓΙΑ ΕΜΠΟΡΕΥΣΙΜΟΤΗΤΑ Η
ΚΑΤΑΛΛΗΛΟΤΗΤΑ ΓΙΑ ΟΠΟΙΟΝΔΗΠΟΤΕ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ. ΣΕ ΚΑΜΙΑ
ΠΕΡΙΠΤΩΣΗ ΔΕΝ ΕΥΘΥΝΕΤΑΙ Η ΟΜΑΔΑ ΤΕΚΜΗΡΙΩΣΗΣ ΤΟΥ FREEBSD ΓΙΑ
ΟΠΟΙΕΣΔΗΠΟΤΕ ΑΜΕΣΕΣ, ΕΜΜΕΣΕΣ, ΤΥΧΑΙΕΣ, ΕΙΔΙΚΕΣ, ΣΗΜΑΝΤΙΚΕΣ, Η
ΚΑΤΑ ΠΕΡΙΠΤΩΣΗ ΒΛΑΒΕΣ (ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ, ΑΛΛΑ ΧΩΡΙΣ ΝΑ
ΠΕΡΙΟΡΙΖΕΤΑΙ ΜΟΝΟ ΣΕ ΑΥΤΕΣ, ΚΑΙ ΤΗΝ ΑΔΥΝΑΜΙΑ ΠΡΟΣΒΑΣΗΣ ΣΕ
ΕΝΑΛΛΑΚΤΙΚΕΣ ΠΗΓΕΣ Η ΥΠΗΡΕΣΙΕΣ, ΤΗΝ ΑΔΥΝΑΜΙΑ ΧΡΗΣΗΣ, ΤΗΝ ΑΠΩΛΕΙΑ
ΔΕΔΟΜΕΝΩΝ Η ΚΕΡΔΟΥΣ, ΚΑΙ ΤΗΝ ΔΙΑΚΟΠΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ
ΛΕΙΤΟΥΡΓΙΩΝ), ΠΟΥ ΠΡΟΚΑΛΟΥΝΤΑΙ ΜΕ ΟΠΟΙΟΔΗΠΟΤΕ ΤΡΟΠΟ ΑΠΟ ΤΗ ΧΡΗΣΗ
ΑΥΤΗΣ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ.
+
diff --git a/el_GR.ISO8859-7/share/sgml/trademarks.sgml b/el_GR.ISO8859-7/share/sgml/trademarks.sgml
index 41fd005df2..ece14b197c 100644
--- a/el_GR.ISO8859-7/share/sgml/trademarks.sgml
+++ b/el_GR.ISO8859-7/share/sgml/trademarks.sgml
@@ -1,42 +1,51 @@
Το FreeBSD είναι ένα κατοχυρωμένο εμπορικό σύμβολο της Wind River
Systems, Inc. Αυτό υπάρχει πιθανότητα να αλλάξει σύντομα.Το UNIX είναι ένα κατοχυρωμένο εμπορικό σύμβολο του The Open Group
στις Η.Π.Α. και σε άλλες χώρες.Οι λέξεις ή φράσεις Sun, Sun Microsystems, SunOS, Solaris, και Java
είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Sun
Microsystems, Inc. στις Ηνωμένες Πολιτείες και σε άλλες χώρες.Οι λέξεις ή φράσεις Apple και QuickTime είναι εμπορικά σύμβολα της
Apple Computer, Inc., κατοχυρωμένα στις Η.Π.Α. και σε άλλες χώρες.Οι λέξεις Macromedia και Flash είναι εμπορικά σύμβολα ή κατοχυρωμένα
εμπορικά σύμβολα της Macromedia, Inc. στις Ηνωμένες Πολιτείες και/ή σε
άλλες χώρες.Οι λέξεις ή φράσεις Microsoft, Windows, και Windows Media είναι
εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Microsoft Corporation
στις Ηνωμένες Πολιτείες και/ή σε άλλες χώρες.Η λέξη PartitionMagic είναι κατοχυρωμένο εμπορικό σύμβολο της
PowerQuest Corporation στις Ηνωμένες Πολιτείες και/ή σε άλλες
χώρες.Πολλές από τις λέξεις ή φράσεις οι οποίες χρησιμοποιούνται από τους
κατασκευαστές ή τους πωλητές τους για να διακρίνουν τα προϊόντα τους
θεωρούνται εμπορικά σύμβολα. Όπου αυτές εμφανίζονται σε αυτό το βιβλίο
και για όσες από αυτές γνωρίζει η Ομάδα Ανάπτυξης του FreeBSD ότι είναι
πιθανόν να είναι εμπορικά σύμβολα, θα δείτε το σύμβολο '™'.
+
+