diff --git a/el_GR.ISO8859-7/articles/compiz-fusion/article.sgml b/el_GR.ISO8859-7/articles/compiz-fusion/article.sgml
index 5893ddedf3..d6b1756911 100644
--- a/el_GR.ISO8859-7/articles/compiz-fusion/article.sgml
+++ b/el_GR.ISO8859-7/articles/compiz-fusion/article.sgml
@@ -1,439 +1,440 @@
%articles.ent;
]>
Εγκατάσταση και χρήση του Compiz FusionΜανώληςΚιαγιάςmanolis@FreeBSD.org2008Μανώλης Κιαγιάς$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.general;
Η πιο πρόσφατη μόδα στον κόσμο του &linux; είναι
αναμφίβολα τα τρισδιάστατα εφέ στο desktop. Αν και η χρησιμότητα τους
έχει αμφισβητηθεί, δεν παύουν να εντυπωσιάζουν και να παραμένουν
συνέχεια στη δημοσιότητα. Τα εφέ αυτά υλοποιούνται με τη βοήθεια
διάφορων προγραμμάτων όπως τα
Compiz,
Beryl,
και το πιο πρόσφατο Compiz Fusion.
Δεν χρειάζεται να στερείστε αυτά τα εφέ όταν χρησιμοποιείτε το &os;.
Οι οδηγίες που ακολουθούν θα σας βοηθήσουν να εγκαταστήσετε και να
ρυθμίσετε στο σύστημα σας τα προγράμματα που απαιτούνται για να
έχετε τα πλέον πρόσφατα τρισδιάστατα εφέ που προσφέρει το
Compiz Fusion χρησιμοποιώντας (αν
χρειάζεται) και την κατάλληλη έκδοση των προγραμμάτων οδήγησης
γραφικών της nVidia.ΕισαγωγήH εγκατάσταση του Compiz Fusion
από την συλλογή των Ports, είναι μια σχετικά απλή διαδικασία.
Χρειάζονται, όμως, και κάποιες επιπλέον ρυθμίσεις, οι οποίες δεν
περιγράφονται στην τεκμηρίωση του port. Το άρθρο αυτό θα σας βοηθήσει
να ρυθμίσετε τον &xorg; server για
τρισδιάστατη λειτουργία, να ρυθμίσετε την nVidia κάρτα γραφικών σας,
και τελικά να εγκαταστήσετε και να εκτελέσετε την εφαρμογή
compiz.Αφού διαβάσετε αυτό το άρθρο, θα ξέρετε:Πως να ρυθμίσετε το πιο πρόσφατο πρόγραμμα οδήγησης της nVidia
(αν απαιτείται) για το σύστημα σας.Πως να ρυθμίσετε το αρχείο xorg.conf για
να μπορέσετε να ενεργοποιήσετε τα τρισδιάστατα εφέ.Πως να εγκαταστήσετε και να ρυθμίσετε το
Compiz Fusion χρησιμοποιώντας την
συλλογή των Ports.Πως να αντιμετωπίσετε συνηθισμένα προβλήματα που αφορούν τα
τρισδιάστατα εφέ.Ρύθμιση των προγραμμάτων οδήγησης της nVidia για το &os;Τα τρισδιάστατα εφέ απαιτούν αρκετή ισχύ επεξεργασίας από την
κάρτα γραφικών σας. Αν χρησιμοποιείτε κάποια κάρτα γραφικών που
βασίζεται σε κυκλώματα της nVidia, θα πρέπει να εγκαταστήσετε και να
ρυθμίσετε το πρόγραμμα οδήγησης που παρέχεται από την εταιρία για το
&os;, χρησιμοποιώντας την έκδοση που είναι κατάλληλη για το σύστημα
σας. Αν χρησιμοποιείτε κάποια άλλη κάρτα, που όμως γνωρίζετε ότι μπορεί
να ανταποκριθεί στις απαιτήσεις των εφέ, μπορείτε να παραλείψετε αυτή
την ενότητα και να συνεχίσετε με την ρύθμιση του
xorg.conf.Προσδιορίστε το σωστό πρόγραμμα οδήγησηςΥπάρχουν διάφορες εκδόσεις των προγραμμάτων οδήγησης της nVidia
στη συλλογή των ports. Η επιλογή του σωστού προγράμματος για το
σύστημα σας, εξαρτάται από το μοντέλο (και την παλαιότητα) της κάρτας
γραφικών σας:Οι τελευταίες εκδόσεις των καρτών nVidia, υποστηρίζονται από
το port x11/nvidia-driver.Κάρτες της nVidia που ανήκουν στις σειρές GeForce 2MX/3/4
υποστηρίζονται από τα προγράμματα οδήγησης της σειράς 96 τα οποία
διατίθενται μέσω του port
x11/nvidia-driver-96xx.Ακόμα πιο παλιές κάρτες, όπως οι GeForce και RIVA TNT
υποστηρίζονται από τη σειρά 71 των προγραμμάτων οδήγησης, τα
οποία διατίθενται μέσω του port
x11/nvidia-driver-71xx.Στην πραγματικότητα, η nVidia παρέχει λεπτομερείς πληροφορίες
σχετικά με το ποια κάρτα υποστηρίζεται από ποιο πρόγραμμα οδήγησης.
Οι πληροφορίες αυτές διατίθενται απευθείας από το δικτυακό τους τόπο:
.Εγκατάσταση του προγράμματος οδήγησης της nVidiaΑφού καθορίσετε το σωστό πρόγραμμα οδήγησης για την κάρτα σας,
η εγκατάσταση είναι το ίδιο απλή με οποιοδήποτε άλλη εφαρμογή της
συλλογής των ports.Βεβαιωθείτε ότι έχετε ανανεώσει τη συλλογή των ports,
χρησιμοποιώντας τη μέθοδο που προτιμάτε (π.χ.
csup, CVSup ή
portsnap) πριν εγκαταστήσετε
οποιαδήποτε εφαρμογή από τα ports. Τα προγράμματα οδήγησης των
καρτών γραφικών, καθώς και τα προγράμματα τρισδιάστατων εφέ, είναι
υπό συνεχή εξέλιξη και εμφανίζονται τακτικά νέες εκδόσεις.Για παράδειγμα, για να εγκαταστήσετε το τελευταίο πρόγραμμα
οδήγησης:&prompt.root; cd /usr/ports/x11/nvidia-driver
&prompt.root; make install cleanΤο πρόγραμμα οδήγησης θα δημιουργήσει ένα άρθρωμα (module) για τον
πυρήνα, το οποίο θα πρέπει να φορτωθεί στην εκκίνηση του συστήματος.
Θα χρειαστεί να προσθέσετε την ακόλουθη γραμμή στο αρχείο
/boot/loader.conf:
nvidia_load="YES"Μπορείτε να φορτώσετε το άρθρωμα απευθείας στον πυρήνα που
εκτελείται τη δεδομένη χρονική στιγμή χρησιμοποιώντας την εντολή
kldload nvidia, αλλά έχει παρατηρηθεί ότι οι
τελευταίες εκδόσεις του &xorg; δεν
λειτουργούν σωστά αν το πρόγραμμα οδήγησης δεν φορτωθεί κατά την
εκκίνηση του συστήματος. Για το λόγο αυτό, σας συνιστούμε να
επανεκκινήσετε το σύστημα σας μετά την προσθήκη της καταχώρησης
στο αρχείο /boot/loader.conf.Έχοντας φορτώσει το άρθρωμα στον πυρήνα, χρειάζεται μόνο μια μικρή
αλλαγή σε μια γραμμή του αρχείου xorg.conf για να
ενεργοποιήσετε το πρόγραμμα οδήγησης.Βρείτε την ακόλουθη γραμμή στο
/etc/X11/xorg.conf:Driver "nv"και αλλάξτε την σε:Driver "nvidia"Όταν ξεκινήσετε το γραφικό περιβάλλον με το συνήθη τρόπο, θα δείτε
την οθόνη χαιρετισμού της nVidia. Όλα θα πρέπει να λειτουργούν
κανονικά. Σημειώστε ωστόσο, ότι στο σημείο αυτό δεν έχει ακόμα
ρυθμιστεί το &xorg; για τρισδιάστατα εφέ.
Η ρύθμιση αυτή περιγράφεται παρακάτω.Αν και δεν είναι οπωσδήποτε απαραίτητο, μπορείτε επίσης να
εγκαταστήσετε τα ports
x11/nvidia-xconfig και
x11/nvidia-settings. Το πρώτο
μπορεί να σας βοηθήσει να ρυθμίσετε το
/etc/X11/xorg.conf μέσω της γραμμής εντολών,
ενώ το δεύτερο θα σας επιτρέψει να αλλάζετε ρυθμίσεις στην οθόνη
μέσα από γραφικό περιβάλλον και ενώ εκτελείται το
&xorg;.Ρύθμιση του xorg.conf για τρισδιάστατα εφέΠριν εγκαταστήσετε και εκτελέσετε το
Compiz Fusion, θα πρέπει να προσθέσετε
μερικές ρυθμίσεις στο /etc/X11/xorg.conf:Προσθέστε τις ακόλουθες γραμμές για να ενεργοποιηθούν τα εφέ τύπου
composite:Section "Extensions"
Option "Composite" "Enable"
EndSectionΕντοπίστε το τμήμα Screen το οποίο θα μοιάζει με το
παρακάτω:Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
...και προσθέστε τις δύο γραμμές που ακολουθούν (μπορείτε να τις
βάλετε μετά την καταχώρηση Monitor):DefaultDepth 24
Option "AddARGBGLXVisuals" "True"Εντοπίστε το Subsection το οποίο αναφέρεται στην
επιθυμητή ανάλυση οθόνης. Για παράδειγμα, αν θέλετε να χρησιμοποιήσετε
ανάλυση 1280x1024, βρείτε την ενότητα που φαίνεται στο παράδειγμα. Αν
δεν υπάρχει ενότητα που να αναφέρεται στην επιθυμητή ανάλυση, μπορείτε
να την προσθέσετε χειροκίνητα:SubSection "Display"
Viewport 0 0
Modes "1280x1024"
EndSubSectionΓια τη λειτουργία των εφέ, απαιτείται βάθος χρώματος 24bits.
Αλλάξτε το παραπάνω ώστε να δείχνει:SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSectionΤέλος, επιβεβαιώστε ότι φορτώνονται τα αρθρώματα glx
και extmod μέσα από το τμήμα
Module:Section "Module"
Load "extmod"
Load "glx"
...Αν έχετε εγκαταστήσει το port
x11/nvidia-xconfig,
μπορείτε να κάνετε τις περισσότερες από τις παραπάνω ρυθμίσεις
δίνοντας τις ακόλουθες εντολές (ως root):&prompt.root; nvidia-xconfig --add-argb-glx-visuals
&prompt.root; nvidia-xconfig --composite
&prompt.root; nvidia-xconfig --depth=24Αν θέλετε να δείτε όλες τις δυνατότητες του παραπάνω
προγράμματος, δώστε την εντολή
nvidia-xconfig -A | more.Εγκατάσταση και ρύθμιση Compiz FusionΗ εγκατάσταση του Compiz Fusion
είναι το ίδιο απλή με οποιοδήποτε άλλο πρόγραμμα:&prompt.root; cd /usr/ports/x11-wm/compiz-fusion
&prompt.root; make install cleanΒεβαιωθείτε ότι επιλέξατε τα EXTRA plugins και το
EMERALD window decorator από τη λίστα επιλογών που θα
εμφανιστεί. Αν χρησιμοποιείτε GNOME, ή έχετε
εγκαταστήσει στο σύστημα σας υποστήριξη gconf,
μπορείτε επίσης να επιλέξετε gconf support. Με τον τρόπο
αυτό, οι ρυθμίσεις των εφέ θα ενσωματωθούν με τις άλλες ρυθμίσεις που
έχετε κάνει στο γραφικό περιβάλλον σας, και θα μπορείτε να τις δείτε
χρησιμοποιώντας το gconf-editor. Ωστόσο, το
Compiz Fusionμπορεί να αποθηκεύσει τις ρυθμίσεις του και σε απλά
αρχεία κειμένου, αν δεν επιθυμείτε τέτοιου είδους ολοκλήρωση. Στην
περίπτωση αυτή, θα δημιουργηθεί ο κατάλογος
.compizconfig μέσα στον προσωπικό σας
κατάλογο.Μετά το τέλος της εγκατάστασης, ξεκινήστε το γραφικό περιβάλλον και
σε ένα τερματικό, δώστε (ως απλός χρήστης) τις ακόλουθες εντολές:&prompt.user; compiz --replace --sm-disable --ignore-desktop-hints ccp &&prompt.user; emerald --replace &Η οθόνη σας θα τρεμοπαίξει για λίγα δευτερόλεπτα, καθώς θα γίνεται
αντικατάσταση του τρέχοντος διαχειριστή παραθύρων σας (π.χ.
Metacity αν χρησιμοποιείτε περιβάλλον
GNOME) από το
Compiz Fusion. Η εφαρμογή
Emerald αναλαμβάνει τις διακοσμήσεις των
παραθύρων (π.χ. τα πλήκτρα για κλείσιμο, μεγιστοποίηση, ελαχιστοποίηση,
τις μπάρες τίτλων κ.ο.κ.).Μπορείτε να μετατρέψετε το παραπάνω σε ένα απλοϊκό script το οποίο
να εκτελείται αυτόματα κατά την εκκίνηση του περιβάλλοντος (π.χ.
προσθέτοντας το στο Sessions στο γραφικό περιβάλλον
GNOME):#! /bin/sh
compiz --replace --sm-disable --ignore-desktop-hints ccp &
emerald --replace &Αποθηκεύστε το στον κατάλογο σας, για παράδειγμα με το όνομα
start-compiz και δώστε του δικαιώματα
εκτέλεσης:&prompt.user; chmod +x ~/start-compizΧρησιμοποιήστε έπειτα τα γραφικά εργαλεία για να το προσθέσετε στα
προγράμματα εκκίνησης,
Startup Programs
(βρίσκεται στο System,
Preferences,
Sessions στο περιβάλλον εργασίας
GNOME).Για να ρυθμίσετε όπως θέλετε τα εφέ, εκτελέστε (πάλι ως κανονικός
χρήστης) την εφαρμογή
Compiz Config Settings Manager:&prompt.user; ccsmΣτο GNOME, μπορείτε να βρείτε την
εφαρμογή αυτή στο μενού System,
Preferences.Αν επιλέξατε gconf support κατά τη μεταγλώττιση,
θα μπορείτε επίσης να δείτε τις ρυθμίσεις σας μέσω του
gconf-editor, στην ενότητα
apps/compiz.Αντιμετώπιση προβλημάτων του Compiz FusionΗ ακόλουθη ενότητα καλύπτει συχνές ερωτήσεις που αφορούν
προβλήματα κατά την εκτέλεση του
Compiz Fusion.Έχω εγκαταστήσει το
Compiz Fusion, και μετά την
εκτέλεση των εντολών που περιγράφετε, τα παράθυρα μου δεν έχουν
πλέον μπάρες τίτλων και πλήκτρα ελέγχου. Που είναι το
λάθος;Το πιθανότερο είναι ότι σας λείπει κάποια ρύθμιση στο
/etc/X11/xorg.conf. Ελέγξτε προσεκτικά το
αρχείο, και ειδικά τις καταχωρήσεις
DefaultDepth
και AddARGBGLXVisuals.Όταν εκτελώ την εντολή για να ξεκινήσει το
Compiz Fusion, ο X server
τερματίζεται απότομα και επιστρέφω στην κονσόλα. Που είναι το
λάθος;Αν ελέγξετε το αρχείο
/var/log/Xorg.0.log, θα δείτε πιθανόν
κάποια σφάλματα κατά την εκκίνηση του Χ. Το πιο κοινό σφάλμα
είναι:(EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
(EE) NVIDIA(0): log file that the GLX module has been loaded in your X
(EE) NVIDIA(0): server, and that the module is the NVIDIA GLX module. If
(EE) NVIDIA(0): you continue to encounter problems, Please try
(EE) NVIDIA(0): reinstalling the NVIDIA driver.Αυτό συνήθως συμβαίνει μετά από κάποια αναβάθμιση της
εφαρμογής &xorg;. Θα πρέπει να
επανεγκαταστήσετε το port
x11/nvidia-driver ώστε να
μεταγλωττιστεί από την αρχή και το άρθρωμα glx.
diff --git a/el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml b/el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml
index af852ea696..e71aec245e 100644
--- a/el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml
+++ b/el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml
@@ -1,814 +1,815 @@
%articles.ent;
]>
Εγκατάσταση ενός CVS Repository — ο τρόπος του &os;StijnHoopstijn@win.tue.nl200120022003Stijn Hoop$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.general;
Το άρθρο αυτό περιγράφει τα βήματα που έκανα για να εγκαταστήσω
ένα CVS repository που χρησιμοποιεί τα ίδια αρχεία δέσμης εντολών
(scripts) με αυτά που χρησιμοποιεί και το &os; project στη δική του
εγκατάσταση. Η συγκεκριμένη προσέγγιση έχει αρκετά πλεονεκτήματα
έναντι μιας τυποποιημένης CVS εγκατάστασης, όπως πιο λεπτομερή έλεγχο
πρόσβασης στο δέντρο του κώδικα καθώς και αυτόματη παραγωγή
ευανάγνωστων email με λεπτομέρειες για κάθε αλλαγή στον πηγαίο κώδικα
(commit).ΕισαγωγήΤα περισσότερα projects ελεύθερου λογισμικού (free software) και
ανοιχτού κώδικα (open source) χρησιμοποιούν το
CVS σαν σύστημα ελέγχου του κώδικά τους.
Παρόλο που το CVS είναι πολύ καλό σε αυτόν
τον τομέα έχει κι αυτό το μερίδιό του σε ελαττώματα και αδυναμίες. Μια
από αυτές τις αδυναμίες είναι το ότι η κοινή χρήση κώδικα μπορεί γρήγορα
να οδηγήσει σε έναν διαχειριστικό εφιάλτη, ειδικά αν υπάρχει η επιθυμία
να προστατευτούν ορισμένα κομμάτια του δέντρου του κώδικα από κοινή
πρόσβαση.Η ομάδα ανάπτυξης του &os; χρησιμοποιεί εκτενώς το
CVS. Διαθέτει επίσης μια μεγάλη βάση από
προγραμματιστές από πολλές διαφορετικές χώρες. Αναπτύχθηκαν λοιπόν
μερικά αρχεία δέσμης εντολών για να κάνουν την διαχείριση του repository
πιο εύκολη. Πρόσφατα τα αρχεία αυτά αναθεωρήθηκαν και κανονικοποιήθηκαν
από τον &a.joe; για να είναι πιο εύκολο να χρησιμοποιηθούν και σε άλλα
έργα. Το άρθρο αυτό περιγράφει μια μέθοδο χρήσης αυτών των νέων αρχείων
δέσμης εντολών.Για να μπορέσετε να χρησιμοποιήσετε με τον καλύτερο τρόπο τις
πληροφορίες αυτού του άρθρου θα πρέπει να γνωρίζετε τις βασικές μεθόδους
λειτουργίας του CVS.Πρώτη ΕγκατάστασηΕίναι καλή ιδέα να εκτελέσετε για πρώτη φορά αυτή τη διαδικασία
χρησιμοποιώντας ένα κενό δοκιμαστικό repository, για να είναι βέβαιο
ότι θα κατανοήσετε όλες τις συνέπειες. Πριν ξεκινήσετε σιγουρευτείτε
ότι έχετε πρόσφατα backups, τα οποία εγγυημένα δουλεύουν!Αρχικοποίηση του repositoryΤο πρώτο πράγμα που θα πρέπει να κάνετε όταν στήνετε ένα νέο
repository είναι να πείτε στο CVS να το
αρχικοποιήσει:&prompt.user; cvs -d path-to-repository initΑυτό λέει στο CVS να δημιουργήσει τον
φάκελο διαχείρισης CVSROOT, όπου
συμβαίνουν όλες οι παραμετροποιήσεις.Η ομάδα του repositoryΤώρα θα δημιουργήσουμε την ομάδα στην οποία θα ανήκει το
repository. Όλοι οι committers θα πρέπει να ανήκουν σε αυτή την
ομάδα, ώστε να μπορούν να γράφουν στο repository. Για το σκοπό αυτό
θα χρησιμοποιήσουμε την ίδια ομάδα που χρησιμοποιεί γι' αυτό το σκοπό
και το &os;, την ομάδα ncvs.&prompt.root; pw groupadd ncvsΜετά, θα πρέπει να εκτελέσετε την εντολή &man.chown.8; στον φάκελο
με παράμετρο την ομάδα που μόλις προσθέσατε, θέτοντας έτσι την ομάδα
στην οποία ανήκει ο κατάλογος:&prompt.root; chown -R :ncvspath-to-your-repositoryΑυτό εξασφαλίζει ότι κανείς δεν θα μπορεί να γράψει στο repository
αν δεν ανήκει στην σωστή ομάδα.Παίρνοντας τον πηγαίο κώδικαΤώρα θα πρέπει να αποκτήσετε τον κατάλογο
CVSROOT από το repository του
&os;. Αυτό γίνεται εύκολα, κάνοντας check out από ένα ανοιχτής
πρόσβασης &os; CVS mirror.
Δείτε το σχετικό
κεφάλαιο στο εγχειρίδιο για περισσότερες πληροφορίες.
Ας υποθέσουμε ότι ο πηγαίος κώδικας θα αποθηκευτεί στον
κατάλογο CVSROOT-freebsd που
βρίσκεται μέσα στον τρέχοντα κατάλογο.Αντιγράφοντας τα scripts του &os;Ύστερα, αντιγράφουμε τον πηγαίο κώδικα από τον
CVSROOT κατάλογο του &os; στο
δικό μας repository. Αν είστε συνηθισμένος με
το CVS, ίσως να σας περάσει από το μυαλό να
προσπαθήσετε να κάνετε import τα scripts, σε μια προσπάθεια να γίνει
ύστερα ο συγχρονισμός με τις κατοπινές εκδόσεις ευκολότερος. Ωστόσο,
αποδεικνύεται ότι το CVS παρουσιάζει μια
δυσλειτουργία στην περιοχή αυτή: Όταν εισάγετε πηγαίο κώδικα μέσα
στο CVSROOT φάκελο, δεν θα
ενημερωθούν τα απαραίτητα αρχεία διαχείρισης. Για να μπορέσετε να το
κάνετε να τα αναγνωρίσει, θα πρέπει να κάνετε checkin ξεχωριστά κάθε
αρχείο αφού έχετε τελειώσει με την εισαγωγή, χάνοντας έτσι την αξία
του cvs import. Επομένως, η προτεινόμενη μέθοδος
είναι απλά να αντιγράψετε τα scripts.Δεν είναι και τόσο σημαντικό το αν η παραπάνω παράγραφος δεν σας
φαίνεται πολύ ξεκάθαρη—το τελικό αποτέλέσμα είναι το ίδιο. Απλά
ελέγξτε τον CVSROOT φάκελο και
αντιγράψτε τα &os; αρχεία πάνω από τα δικά σας τοπικά (απείραχτα)
αντίγραφα:&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 που το ίδιο το &os; project χρησιμοποιεί στο δικό του
repository. Μια περίληψη του σε τι χρησιμεύει το κάθε αρχείο
περιλαμβάνεται παρακάτω.access - το αρχείο αυτό δεν
χρησιμοποιείται στις συνηθισμένες εγκαταστάσεις
του CVS. Χρησιμοποιείται μόνο
στην ειδική εγκατάσταση του &os;
project, για να ελέγχεται η πρόσβαση στο repository.
Μπορείτε να αφαιρέσετε αυτό το αρχείο αν δεν σας ενδιαφέρει να
χρησιμοποιήσετε κάτι τέτοιο στη δική σας εγκατάσταση.avail - το αρχείο αυτό ελέγχει την
πρόσβαση στο repository ανά κατάλογο ή αρχείο. Μέσα σε αυτό,
μπορείτε να καθορίσετε ομάδες χρηστών στους οποίους θέλετε να
δώσετε πρόσβαση στο repository, όπως επίσης και να απαγορέψετε
commits σε επίπεδο καταλόγου ή αρχείου. Θα πρέπει να το
προσαρμόσετε ώστε να περιέχει τις ομάδες χρηστών και τους φακέλους
που θα υπάρχουν στο δικό σας repository.cfg.pm - το αρχείο αυτό ερμηνεύει τις
ρυθμίσεις σας και παρέχει τις εξ' ορισμού ρυθμίσεις.
Δεν πρέπει να αλλάξετε αυτό το αρχείο.
Αντίθετα, θα πρέπει να τοποθετήσετε τις δικές σας αλλαγές στις
ρυθμίσεις στο αρχείο cfg_local.pm.cfg_local.pm - το αρχείο αυτό περιέχει
όλες τις ρυθμιζόμενες παραμέτρους του συστήματος. Θα πρέπει να
κάνετε οποιεσδήποτε ρυθμίσεις σας εδώ, όπως σε ποια διεύθυνση θα
στέλνονται τα email από κάθε commit, σε ποιους hosts θα
επιτρέπεται να γίνονται commit, κλπ. Περισσότερες πληροφορίες
σχετικά με αυτό θα βρείτε παρακάτω.checkoutlist - το αρχείο αυτό
περιλαμβάνει όλα τα αρχεία που βρίσκονται κάτω από τον έλεγχο του
CVS στον κατάλογο αυτό—όλα εκτός
από τα προκαθορισμένα αρχεία που δημιουργεί η εντολή
cvs init. Θα πρέπει να
το αλλάξετε για να αφαιρέσετε μερικά, σχετικά μόνο με το &os;,
αρχεία.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. Το &os; δεν χρησιμοποιεί αυτή την
λειτουργικότητα γιατί η ερμηνεία του log μηνύματος γίνεται από τα
verifymsg και logcheck
αρχεία. Επιλέξαμε να γίνεται έτσι αυτό επειδή η χρήση του
editinfo έχει κάποια προβλήματα με τα commits
από μακριά και με τα commits που χρησιμοποιούν τις επιλογές
-F ή -F. Δεν θα χρειαστεί να
πειράξετε αυτό το αρχείο.exclude - το αρχείο αυτό περιέχει κανονικές
εκφράσεις (regular expressions) που χρησιμοποιούνται από το πρόγραμμα
commit_prep.pl για να προσδιοριστούν τα
αρχεία που δεν είναι απαραίτητο να περιέχουν επικεφαλίδα
επισκόπησης (revision header). Στην εγκατάσταση του &os;, όλα τα
αρχεία κάτω από έλεγχο επισκόπησης (revision control) είναι
απαραίτητο να περιέχουν μια επικεφαλίδα επισκόπησης (όπως
$FreeBSD$). Όλα τα ονόματα αρχείων που ταιριάζουν
με τουλάχιστον μια από τις γραμμές του αρχείου αυτού εξαιρούνται
από τον συγκεκριμένο έλεγχο. Θα πρέπει να προσθέσετε τις ανάλογες
κανονικές εκφράσεις στο αρχείο αυτό όταν κάνετε checkin αρχεία που
δεν είναι απαραίτητο να περιέχουν επικεφαλίδα επισκόπησης. Κατά
τη διάρκεια της εγκατάστασης των νέων scripts ελέγχου, ίσως να
είναι καλύτερα να εξαιρείται ο
κατάλογος CVSROOT/ από τον
έλεγχο των headers.log_accum.pl - πρόκειται για ένα script
που παίρνει το log μήνυμα όπως αυτό δίνεται από το
logcheck script, και το προσθέτει στο τέλος
ενός αρχείου log στο repository, έτσι ώστε να υπάρχουν αντίγραφα
ασφαλείας από τα commit logs. Επίσης, αναλαμβάνει να στείλει ένα
mail στην email διεύθυνση που έχετε δηλώσει (στο
cfg_local.pm). Συνεργάζεται με το
CVS μέσω του αρχείου
loginfo. Δεν θα χρειαστεί να πειράξετε το
αρχείο αυτό.logcheck - το αρχείο αυτό ερμηνεύει το
commit log μήνυμα που παρέχουν οι committers, και προσπαθεί κατά
κάποιο τρόπο να το κανονικοποιήσει. Συνεργάζεται με το
CVS μέσω του αρχείου
verifymsg. Δεν θα χρειαστεί να πειράξετε το
αρχείο αυτό.Το script εξαρτάται από μια τοπική αλλαγή του &os; στο
CVS: Η αλλαγή αυτή ξαναδιαβάζει το
log μήνυμα αφού αυτό έχει τροποποιηθεί από το script. Η
κανονική έκδοση του CVS προφανώς δεν
κάνει κάτι τέτοιο, οπότε το logcheck δε
μπορεί να κάνει μικροδιορθώσεις στο log μήνυμα, αλλά μπορεί να
ελέγξει ότι το μήνυμα δεν έχει συντακτικά λάθη. Απο την έκδοση
1.11.2 και μετά το ίδιο το CVS μπορεί
να ρυθμιστεί να έχει την ίδια συμπεριφορά με αυτή που έχει η
έκδοση του &os; με την επιλογή
RereadLogAfterVerify=always στο αρχείο
config.loginfo - το αρχείο αυτό χρησιμοποιείται
από το CVS για τον έλεγχο του που θα
στέλνονται οι πληροφορίες των logs. Εδώ ενεργοποιείται το
πρόγραμμα log_accum.pl. Δεν θα χρειαστεί να
πειράξετε αυτό το αρχείο.modules - το αρχείο αυτό διατηρεί την
παραδοσιακή του σημασία στο CVS. Θα
πρέπει να αφαιρέσετε τα &os; modules από την κανονική έκδοση.
Μπορείτε να επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες
σας. Περισσότερες πληροφορίες για το αρχείο αυτό είναι διαθέσιμες
στο εγχειρίδιο του CVS.notify - το αρχείο αυτό χρησιμοποιείται
από το CVS στην περίπτωση που κάποιος
τοποθετήσει εντολή παρακολούθησης σε κάποιο αρχείο. Δεν
χρησιμοποιείται στο repository του &os;. Μπορείτε να
επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες σας.
Περισσότερες πληροφορίες για το αρχείο αυτό είναι διαθέσιμες στο
εγχειρίδιο του CVS.options - το αρχείο αυτό σχετίζεται άμεσα
με την &os; έκδοση του CVS και
υποστηρίζεται μόνο από αυτή και την έκδοση του Debian. Περιέχει
το keyword που θα γίνεται expand στα revision headers. Θα πρέπει
να τροποποιήσετε το αρχείο αυτό για να είναι ίδιο με την έκδοση
που έχετε εισάγει στο αρχείο cfg_local.pm (αν
αποφασίσετε να χρησιμοποιήσετε αυτή την λειτουργία, που προς το
παρόν δουλεύει σωστά μόνο με την έκδοση του
CVS που έχει το &os;).rcsinfo - το αρχείο αυτό αντιστοιχεί
φακέλους του repository σε αρχεία template, όπως π.χ. το
rcstemplate. Εξ' ορισμού, το
&os; χρησιμοποιεί ένα template για ολόκληρο το repository.
Μπορείτε να προσθέσετε και άλλα στο αρχείο αυτό αν το
επιθυμείτε.rcstemplate - το αρχείο αυτό είναι το
template που θα δούν τελικά οι committers όταν θα κάνουν checkin.
Θα πρέπει να επεξεργαστείτε αυτό το αρχείο ώστε να περιγράφει τις
διάφορες επιπλέον παραμέτρους που ορίσατε στο αρχείο
cfg_local.pm.tagcheck - το αρχείο αυτό ελέγχει την
πρόσβαση στην χρήση των tags στο repository. Η κανονική έκδοση
του &os; δεν επιτρέπει tags με ονόματα όπως RELENG*, λόγω της
διαδικασίας δημιουργίας των επίσημων εκδόσεων. Θα πρέπει να
επεξεργαστείτε το αρχείο αυτό ανάλογα με τις δικές σας ανάλογες
προτιμήσεις.taginfo - το αρχείο αυτό αντιστοιχεί
λειτουργίες των tags σε φακέλους του repository με προγράμματα
ελέγχου, όπως το tagcheck. Δεν θα χρειαστεί
να τροποποιήσετε αυτό το αρχείο.unwrap - το αρχείο αυτό μπορεί να
χρησιμοποιηθεί για το αυτόματο unwrap των binary
αρχείων (δείτε cvswrappers) στο checkout.
Δεν χρησιμοποιείται στην τρέχουσα εγκατάσταση του CVS για το &os;
επειδή δεν λειτουργεί σωστά με τα απομακρυσμένα commits. Δεν θα
χρειαστεί να τροποποιήσετε το αρχείο αυτό.verifymsg - το αρχείο αυτό αντιστοιχεί
υποκαταλόγους του repository σε προγράμματα επεξεργασίας των
μηνυμάτων του log, όπως π.χ. το logcheck.
Δεν θα χρειαστεί να τροποποιήσετε το αρχείο αυτό.wrap - το script αυτό χρειάζεται για το
αυτόματο wrap των binary αρχείων (δείτε
cvswrappers) κατά το checkin. Δεν
χρησιμοποιείται στην τρέχουσα εγκατάσταση του &os; επειδή δεν
λειτουργεί σωστά με τα απομακρυσμένα commits. Δεν θα
χρειαστεί να τροποποιήσετε το αρχείο αυτό.Τροποποιώντας τα scriptsΤο επόμενο βήμα είναι η αλλαγή των scripts ώστε να μπορούν να
χρησιμοποιηθούν στο δικό σας περιβάλλον. Θα πρέπει να ελέγξετε όλα τα
αρχεία μέσα στον φάκελο και να κάνετε τις τροποποιήσεις σας. Πιο
συγκεκριμένα, θα θέλετε κατά πάσα πιθανότητα να τροποποιήσετε τα
παρακάτω αρχεία:Αν δεν θέλετε να χρησιμοποιήσετε τις λειτουργίες των scripts
οι οποίες χρησιμοποιούνται
αποκλειστικά από το &os;,
μπορείτε να αφαιρέσετε με ασφάλεια το αρχείο
access:
&prompt.user; cvs rm -f accessΔιορθώστε το αρχείο avail ώστε να
περιέχει τους διάφορους φακέλους του repository στους οποίους
θέλετε να ελέγξετε την πρόσβαση. Σιγουρευτείτε ότι θα διατηρήσετε
ανέπαφη την avail||CVSROOT γραμμή, ειδάλλως θα
αποκλείσετε ακόμα και τον εαυτό σας με το επόμενο βημα.Εκτός αυτού στο συγκεκριμένο αρχείο μπορείτε να εισάγετε και
ομάδες από committers. Εξ' ορισμού, το &os; χρησιμοποιεί το
αρχείο access για την τοποθέτηση όλων των
committers, αλλά μπορείτε να χρησιμοποιήσετε όποιο άλλο
επιθυμείτε. Μπορείτε επίσης να προσθέσετε και ομάδες αν το
επιθυμείτε (η σύνταξη καθορίζεται στην κορυφή του αρχείου
cvs_acls.pl).Διορθώστε το αρχείο cfg_local.pm ώστε να
περιέχει τις επιλογές που επιθυμείτε. Πιο συγκεκριμένα, θα πρέπει
να ελέγξετε τις παρακάτω τροποποιήσιμες επιλογές:%TEMPLATE_HEADERS - Αυτές οι
επικεφαλίδες επεξεργάζονται από τα log scripts, και
τοποθετούνται κάτω από το mail του κάθε commit αν υπάρχουν και
δεν είναι κενές στο μήνυμα του commit. Γενικά, μπορείτε να
αφαιρέσετε τις καταχωρήσεις PR και
MFC after—αφού αυτές σχετίζονται με
το bug tracking σύστημα του &os; και τον τρόπο που
διαχειρίζεται το &os; τα branches του repository του. Και
φυσικά μπορείτε να προσθέσετε τις δικές σας.$MAIL_BRANCH_HDR - Αν θέλετε να
προστίθεται αυτόματα μια επικεφαλίδα σε κάθε commit μήνυμα
mail, η οποία θα περιγράφει το branch στο οποίο έγινε το
συγκεκριμένο commit, ορίστε την τιμή αυτή να ταιριάζει με την
δική σας εγκατάσταση. Αφήστε την κενή αν δεν επιθυμείτε να
προστίθεται αυτόματα μια τέτοια επικεφαλίδα.@COMMIT_HOSTS - Ορίστε την τιμή αυτή σε
μια λίστα από συστήματα (hosts), από τα οποία επιτρέπεται να
γίνονται commits.$MAILADDRS - Ρυθμίστε αυτή την τιμή στο
email του διαχειριστή ή σε μια διεύθυνση λίστας στην οποία
θέλετε να πηγαίνουν τα mail των commit μηνυμάτων.@LOG_FILE_MAP - Αλλάξτε αυτό το array
όπως επιθυμείτε. Κάθε regexp αντιστοιχεί στο συγκεκριμένο
φάκελο στον οποίο γίνεται το commit, και το log μήνυμα του
commit αποθηκεύεται κάτω από τον κατάλογο
CVSROOT, στον υποκατάλογο
commitlogs, στο αρχείο
που αναφέρεται στην αντίστοιχη εγγραφή του
πίνακα @LOG_FILE_MAP.$COMMITCHECK_EXTRA - Αν δεν θέλετε να
χρησιμοποιήσετε τους ίδιους
ελέγχους πρόσβασης με το &os;, θα πρέπει να αφαιρέσετε
τον ορισμό της τιμής $COMMITCHECK_EXTRA από
το αρχείο αυτό.Η αλλαγή της παραμέτρου $IDHEADER είναι
εγγυημένο ότι θα δουλέψει μόνο σε πλατφόρμες &os;.
Εξαρτάται από ειδικές μετατροπές του &os; στο
CVS.Μπορείτε να ελέγξετε το αρχείο cfg.pm για
να δείτε ποιές άλλες παραμέτρους μπορείτε να αλλάξετε, αλλά οι
παραπάνω είναι οι πιο συνήθεις επιλογές.Επεξεργαστείτε το αρχείο exclude για να
αφαιρέσετε τις ειδικές καταχωρήσεις του &os; (όπως όλες τις
γραμμές που ξεκινούν με ^ports/ κτλ.). Εκτός
αυτού, βάλτε σε σχόλια τις γραμμές που ξεκινούν με
^CVSROOT/, και προσθέστε μια γραμμή που θα
περιέχει μόνο το ^CVSROOT/. Αφού εγκατασταθεί
ο wrapper, μπορείτε να προσθέσετε το δικό σας header στα αρχεία
που βρίσκονται μέσα στον κατάλογο
CVSROOT και να επαναφέρετε
τις γραμμές αυτές, αλλά προς το παρόν απλά θα σας δημιουργήσουν
προβλήματα όταν θα προσπαθήσετε να κάνετε commit αργότερα.Ανοίξτε το αρχείο modules, και αφαιρέστε
όλες τις σχετικές με το &os; καταχωρήσεις. Προσθέστε τα δικά
σας modules αν το επιθυμείτε.Το βήμα αυτό είναι απαραίτητο μόνο αν έχετε ορίσει
κάποια τιμή στην παράμετρο $IDHEADER του
αρχείου cfg_local.pm (η οποία δουλεύει μόνο
εφόσον χρησιμοποιείτε την τροποποιημένη έκδοση του
CVS που έχει το &os;).Διορθώστε το αρχείο options ώστε να
ταιριάζει με το tag που ορίσατε στο αρχείο
cfg_local.pm. Μια αναζήτηση και
αντικατάσταση του FreeBSD σε όλο το αρχείο
είναι αρκετή.Επεξεργαστείτε το αρχείο rcstemplate ώστε
να περιέχει τα ίδια keywords με αυτά που έχετε ορίσει στο
cfg_local.pm.Προαιρετικά, αφαιρέστε τους ελέγχους του &os; από το αρχείο
tagcheck. Μπορείτε απλά να προσθέσετε
exit 0 στην αρχή του αρχείου για να
απενεργοποιήσετε όλους τους ελέγχους στο tagging.Το τελευταίο πράγμα που πρέπει να γίνει, είναι να
σιγουρευτείτε ότι τα commitlogs μπορούν να αποθηκευτούν.
Τα CVS scripts του &os;
αποθηκεύουν αυτά τα logs στον υποκατάλογο 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Άν όλα πάνε καλά, συγχαρητήρια! Έχετε καταφέρει να στήσετε μια
πλήρως λειτουργική εγκατάσταση των &os; scripts για το repository σας.
Στην περίπτωση που το CVS εξακολουθεί να
παραπονιέται για κάτι, επιστρέψτε στις προηγούμενες ενότητες και
ελέγξτε ξανά ότι έχετε εκτελέσει σωστά όλα τα προηγούμενα
βήματα.Ειδική Εγκατάσταση του &os; ProjectΤο ίδιο το &os; project χρησιμοποιεί μια ελαφρώς διαφορετική
εγκατάσταση, η οποία χρησιμοποιεί επίσης αρχεία από τον υποφάκελο
freebsd του
CVSROOT που χρησιμοποιείται στο
&os;. Το project χρειάζεται κάτι τέτοιο λόγω του μεγάλου αριθμού των
committers, που διαφορετικά θα έπρεπε να ανήκουν όλοι στο ίδιο group.
Έτσι, δημιουργήθηκε ένας απλός wrapper ο οποίος αφού πρώτα εξασφαλίζει
τα σωστά διαπιστευτήρια των committers, αλλάζει μετέπειτα το group id σε
αυτό του repository.Αν και το δικό σας repository χρειάζεται κάτι ανάλογο, τα βήματα που
θα πρέπει να ακολουθήσετε ακολουθούν παρακάτω. Αλλά πρώτα ας κάνουμε
μια σύντομη επισκόπηση των σχετικών αρχείων.Αρχεία που χρησιμοποιούνται στην ειδική εγκατάσταση του
&os;access - το αρχείο αυτό ελέγχει τις
πληροφορίες για τα δικαιώματα πρόσβασης. Θα πρέπει να το
επεξεργαστείτε ανάλογα έτσι ώστε να περιλαμβάνει όλα τα μέλη του
project σας.freebsd/commitmail.pl - το αρχείο αυτό
δεν χρησιμοποιείται πια, αλλά παραμένει για ιστορικούς λόγους.
Δεν θα χρειαστεί να επεξεργαστείτε αυτό το αρχείο.freebsd/cvswrap.c - πρόκειται για τον
πηγαίο κώδικα του CVS wrapper που θα πρέπει να εγκαταστήσετε για
να μπορέσουν όλοι οι έλεγχοι πρόσβασης τελικά να δουλέψουν.
Περισσότερες πληροφορίες για τη διαδικασία αυτή θα βρείτε
παρακάτω. Θα πρέπει να διορθώσετε τα paths στις
ACCESS και REALCVS
μακροεντολές ώστε να ταιριάζουν με τη δική σας
εγκατάσταση.freebsd/mailsend.c - το αρχείο αυτό
χρειάζεται για την σχετική με τις λίστες ταχυδρομείου
εγκατάσταση του &os;. Δεν θα χρειαστεί να πειράξετε το αρχείο
αυτό.Η διαδικασίαΔιορθώστε το αρχείο access ώστε να
περιέχει μόνο το δικό σας username.Διορθώστε το αρχείο cvswrap.c ώστε να
περιέχει το σωστό path για τη δική σας εγκατάσταση. Αυτό ορίζεται
ως μια μακροεντολή που ονομάζεται ACCESS. Θα
πρέπει επίσης να αλλάξετε και το όνομα αρχείου του πραγματικού
cvs binary αν αυτή που υπάρχει δεν είναι η
σωστή για τη δική σας περίπτωση. Το κανονικό
cvswrap.c θεωρεί πως θα αντικαταστήσετε την
εντολή cvs σε επίπεδο συστήματος με το cvwrap, κι η αρχική εντολή
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Στη συνέχεια εγκαταστήστε το νέο cvs εκτελέσιμο ακολουθώντας
τα ακόλουθα βήματα (θα πρέπει να είστε 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 026e6e319b..98991fa8c8 100644
--- a/el_GR.ISO8859-7/articles/dialup-firewall/article.sgml
+++ b/el_GR.ISO8859-7/articles/dialup-firewall/article.sgml
@@ -1,362 +1,363 @@
%articles.ent;
]>
Σύνδεση Μέσω Τηλεφώνου και Τείχος Προστασίας στο FreeBSDMarcSilvermarcs@draenor.org$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.general;
Αυτό το άρθρο περιγράφει πως μπορείτε να ρυθμίσετε ένα τείχος προστασίας (firewall)
χρησιμοποιώντας μια PPP σύνδεση μέσω τηλεφώνου στο FreeBSD με το IPFW.
Πιο συγκεκριμένα, περιγράφει τη ρύθμιση ενός τείχους προστασίας σε μια σύνδεση μέσω τηλεφώνου που
έχει δυναμική IP διεύθυνση. Αυτό το κείμενο δεν ασχολείται με το πως
θα ρυθμίσετε την αρχική σας σύνδεση μέσω PPP. Για περισσότερες
πληροφορίες σχετικά με τις ρυθμίσεις μιας σύνδεσης μέσω PPP δείτε τη
σελίδα βοήθειας &man.ppp.8;.ΠρόλογοςΑυτό το κείμενο περιγράφει την διαδικασία που χρειάζεται για να
ρυθμίσετε ένα τείχος προστασίας στο FreeBSD όταν η IP διεύθυνση δίνεται δυναμικά
από τον ISP σας. Παρόλο που έχω προσπαθήσει να κάνω αυτό το κείμενο
όσο το δυνατόν πιο πλήρες και σωστό, είστε ευπρόσδεκτοι να στείλετε τις
διορθώσεις, τα σχόλια ή τις προτάσεις σας στη διεύθυνση του συγγραφέα:
marcs@draenor.org.Παράμετροι του πυρήναΓια να μπορέσετε να χρησιμοποιήσετε το IPFW, πρέπει να ενσωματώσετε
την σχετική υποστήριξη στον πυρήνα σας. Για περισσότερες πληροφορίες
σχετικά με τη μεταγλώττιση του πυρήνα, δείτε το τμήμα
ρυθμίσεων του πυρήνα στο Εγχειρίδιο. Θα πρέπει να προσθέσετε
τις παρακάτω επιλογές στις ρυθμίσεις του πυρήνα σας για να
ενεργοποιήσετε την υποστήριξη για το IPFW:options IPFIREWALLΕνεργοποιεί τον κώδικα τείχους προστασίας του πυρήνα.Αυτό το κείμενο θεωρεί ότι έχετε εγκαταστήσει την έκδοση 5.X
του FreeBSD ή μια πιο πρόσφατη. Αν χρησιμοποιείτε την έκδοση 4.X,
τότε θα πρέπει να ενεργοποιήσετε την επιλογή
IPFW2 και να διαβάσετε τη σελίδα βοήθειας
&man.ipfw.8; για περισσότερες πληροφορίες σχετικά με την επιλογή
IPFW2. Προσέξτε ιδιαίτερα το
τμήμα USING IPFW2 IN FreeBSD-STABLE.options IPFIREWALL_VERBOSEΣτέλνει τα μηνύματα για τα κατάλληλα πακέτα στο log του
συστήματος.options
IPFIREWALL_VERBOSE_LIMIT=500Βάζει κάποιο όριο στις φορές που κάποια εγγραφή θα
καταγράφεται. Έτσι μπορείτε να καταγράφετε τα μηνύματα από το
τείχος προστασίας χωρίς τον κίνδυνο να γεμίσουν τα αρχεία
καταγραφής του συστήματός σας αν δεχτείτε κάποια επίθεση.
Το όριο 500 μηνυμάτων είναι μια αρκετά
λογική τιμή, αλλά μπορείτε να προσαρμόσετε αυτή την τιμή ανάλογα
με τις απαιτήσεις του δικού σας δικτύου.options IPDIVERTΕνεργοποιεί τα divert sockets, που θα
δούμε αργότερα τι κάνουν.Μόλις τελειώσετε με τις ρυθμίσεις και την μεταγλώττιση του πυρήνα
σας μην κάνετε επανεκκίνηση! Αν κάνετε
επανεκκίνηση σε αυτό το σημείο μπορεί να κλειδωθείτε απέξω από το
σύστημά σας. Πρέπει να περιμένετε μέχρι να εγκατασταθούν οι κανόνες
του τείχους προστασίας και να ενημερωθούν όλα τα σχετικά αρχεία
ρυθμίσεων.Αλλαγές στο /etc/rc.conf για να φορτώνεται
το τείχος προστασίαςΓια να ενεργοποιείται το τείχος προστασίας κατά την εκκίνηση του
συστήματος και για να ορίσετε το αρχείο με τους κανόνες του τείχους
προστασίας, πρέπει να ενημερώσετε το
αρχείο /etc/rc.conf. Απλά προσθέστε τις παρακάτω
γραμμές:firewall_enable="YES"
firewall_script="/etc/firewall/fwrules"Για περισσότερες πληροφορίες σχετικά με τη σημασίας καθεμιάς από
αυτές τις γραμμές, ρίξτε μια ματιά στο
/etc/defaults/rc.conf και διαβάστε την man σελίδα
&man.rc.conf.5;Ενεργοποιήστε την Ενσωματωμένη Μετάφραση Διευθύνσεων του PPPΓια να επιτρέψετε σε άλλα μηχανήματα του δικτύου σας να συνδέονται
με τον έξω κόσμο μέσω του FreeBSD, χρησιμοποιώντας το
ως πύλη, θα πρέπει να ενεργοποιήσετε την ενσωματωμένη
μετάφραση διευθύνσεων του PPP (NAT). Για να γίνει αυτό, προσθέστε στο
αρχείο /etc/rc.conf τις παρακάτω γραμμές:ppp_enable="YES"
ppp_mode="auto"
ppp_nat="YES"
ppp_profile="προφίλ_της_σύνδεσης"Στη θέση του προφίλ_της_σύνδεσης πρέπει να βάλετε
το όνομα της σύνδεσής σας, όπως το έχετε αποθηκεύσει στο
αρχείο /etc/ppp/ppp.conf.Οι κανόνες του firewallΤο μόνο που απομένει τώρα είναι να ορίσουμε τους κανόνες του
firewall. Οι κανόνες τους οποίους περιγράφουμε εδώ είναι αρκετά καλοί
για τους περισσότερους χρήστες με dialup σύνδεση, αλλά ούτε υποχρεωτικοί
είναι, ούτε είναι δυνατόν να ταιριάζουν με τις ανάγκες όλων των χρηστών
dialup. Μπορούν, όμως, να χρησιμεύσουν ως ένα καλό παράδειγμα ρυθμίσεων
του IPFW και είναι σχετικά εύκολο να τους προσαρμόσετε στις δικές σας
ανάγκες.Ας αρχίσουμε όμως με τις βασικές αρχές ενός κλειστού τείχους
προστασίας. Ένα κλειστό τείχος προστασίας απαγορεύει κατ' αρχήν κάθε
σύνδεση. Ο διαχειριστής μπορεί ύστερα να προσθέσει κανόνες για να
επιτρέψει μόνο συγκεκριμένες συνδέσεις να περνάνε από το τείχος
προστασίας. Η πιο συνηθισμένη σειρά των κανόνων σε ένα κλειστό τείχος
είναι: πρώτα οι κανόνες που επιτρέπουν μερικές συνδέσεις, και τέλος οι
κανόνες που απαγορεύουν οποιαδήποτε άλλη σύνδεση. Η λογική πίσω από
αυτό είναι ότι πρώτα βάζετε τους κανόνες που επιτρέπουν πράγματα να
περάσουν και ύστερα όλα τα άλλα απαγορεύονται αυτόματα.Φτιάξτε, λοιπόν, ένα κατάλογο στον οποίο θα αποθηκεύονται οι κανόνες
του τείχους προστασίας. Σε αυτό το άρθρο χρησιμοποιούμε ως παράδειγμα
τον κατάλογο /etc/firewall. Αλλάξτε κατάλογο μέσα σε
αυτόν και δημιουργήστε το αρχείο fwrules που το
όνομά του είχαμε γράψει στο rc.conf. Σημειώστε πως
μπορείτε να αλλάξετε το όνομα του αρχείου αυτού σε ότι θέλετε. Αυτός ο
οδηγός δίνει αυτό το όνομα σαν παράδειγμα και μόνο.Ας δούμε τώρα ένα παράδειγμα τείχους προστασίας με αρκετά
επεξηγηματικά σχόλια.# Define the firewall command (as in /etc/rc.firewall) for easy
# reference. Helps to make it easier to read.
fwcmd="/sbin/ipfw"
# Define our outside interface. With userland-ppp this
# defaults to tun0.
oif="tun0"
# Define our inside interface. This is usually your network
# card. Be sure to change this to match your own network
# interface.
iif="fxp0"
# 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
# Check the state of all packets.
$fwcmd add check-state
# Stop spoofing on the outside interface.
$fwcmd add deny ip from any to any in via $oif not verrevpath
# Allow all connections that we initiate, and keep their state,
# but deny established connections that don't have a dynamic rule.
$fwcmd add allow ip from me to any out via $oif keep-state
$fwcmd add deny tcp from any to any established in via $oif
# Allow all connections within our network.
$fwcmd add allow ip from any to any via $iif
# Allow all local traffic.
$fwcmd add allow all from any to any via lo0
$fwcmd add deny all from any to 127.0.0.0/8
$fwcmd add deny ip from 127.0.0.0/8 to any
# Allow internet users to connect to the port 22 and 80.
# This example specifically allows connections to the sshd and a
# webserver.
$fwcmd add allow tcp from any to me dst-port 22,80 in via $oif setup keep-state
# Allow ICMP packets: remove type 8 if you don't want your host
# to be pingable.
$fwcmd add allow icmp from any to any via $oif icmptypes 0,3,8,11,12
# Deny and log all the rest.
$fwcmd add deny log ip from any to anyΤώρα έχετε ένα ολοκληρωμένο τείχος προστασίας, το οποίο συνδέσεις στις
θύρες 22 και 80 και καταγράφει όλες τις άλλες συνδέσεις στο αρχείο καταγραφής του
συστήματος. Πλέον είστε έτοιμοι για επανεκκίνηση. Το τείχος προστασίας θα
ενεργοποιηθεί αυτόματα και θα φορτώσει τους κανόνες που προσθέσατε. Αν δε γίνει αυτό ή έχετε
οποιαδήποτε προβλήματα, ή αν έχετε κάποιες προτάσεις για να
διορθωθεί αυτό το άρθρο, επικοινωνήστε μαζί μου με email.ΕρωτήσειςΒλέπω μηνύματα όπως limit 500 reached on entry
2800 και μετά από αυτό το σύστημά μου σταματάει να
καταγράφει τα πακέτα που εμποδίζονται από το τείχος προστασίας.
Δουλεύει ακόμα το firewall μου;Αυτό απλά σημαίνει πως έχει χρησιμοποιηθεί το μέγιστο όριο
καταγραφής (logging) για αυτό τον κανόνα. Ο κανόνας ο ίδιος
εξακολουθεί να δουλεύει, αλλά δεν θα στέλνει πια μηνύματα στο αρχείο καταγραφής
του συστήματος μέχρι να μηδενίσετε πάλι τους μετρητές. Μπορείτε
να μηδενίσετε τους μετρητές με την εντολή&prompt.root; ipfw resetlogΕναλλακτικά, μπορείτε να αυξήσετε το όριο
καταγραφής στις ρυθμίσεις του πυρήνα σας με την επιλογή
όπως περιγράψαμε
παραπάνω. Μπορείτε να αλλάξετε αυτό το όριο (χωρίς να
μεταγλωττίσετε πάλι τον πυρήνα σας και να κάνετε reboot)
χρησιμοποιώντας την &man.sysctl.8; τιμή
net.inet.ip.fw.verbose_limit.Κάποιο λάθος πρέπει να έγινε. Ακολούθησα τις εντολές κατά
γράμμα και τώρα κλειδώθηκα απέξω.Αυτός ο οδηγός υποθέτει ότι χρησιμοποιείτε το
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/explaining-bsd/article.sgml b/el_GR.ISO8859-7/articles/explaining-bsd/article.sgml
index 17f86eb190..0e23dbb428 100644
--- a/el_GR.ISO8859-7/articles/explaining-bsd/article.sgml
+++ b/el_GR.ISO8859-7/articles/explaining-bsd/article.sgml
@@ -1,649 +1,650 @@
%articles.ent;
]>
Explaining BSDGregLeheygrog@FreeBSD.org
&tm-attrib.freebsd;
&tm-attrib.amd;
&tm-attrib.apple;
&tm-attrib.linux;
&tm-attrib.opengroup;
&tm-attrib.sun;
&tm-attrib.xfree86;
&tm-attrib.general;
Στον κόσμο του open source, η λέξη Linux είναι
σχεδόν συνώνυμη με την έννοια Λειτουργικό Σύστημα, αλλά
δεν είναι το μόνο open source &unix; λειτουργικό
σύστημα. Σύμφωνα με τον Μετρητή
Λειτουργικών Συστημάτων του Internet, από τον Απρίλιο του 1999
το 31.3% των υπολογιστών του κόσμου που είναι συνδεδεμένοι στο δίκτυο
τρέχουν Linux. Το 14.6% τρέχουν BSD &unix;. Κάποιες από τις μεγαλύτερες
εφαρμογές του παγκόσμιου ιστού, όπως το Yahoo!, τρέχουν BSD. Ο πιο μεγάλος
σε φόρτο FTP εξυπηρέτης του κόσμου το 1999 (που δεν υπάρχει πλέον), το ftp.cdrom.com, χρησιμοποιούσε BSD
για να μεταφέρει πάνω από 1.4 TB δεδομένων τη μέρα. Είναι προφανές
ότι αυτή δεν είναι μια περιορισμένη αγορά: το BSD είναι ένα καλά
κρατημένο μυστικό.Λοιπόν, ποιο είναι το μυστικό; Γιατί το BSD δεν είναι πιο ευρέως
γνωστό; Αυτό το άρθρο είναι μια προσπάθεια να απαντηθούν αυτές και
άλλες ερωτήσεις.Τί είναι το BSD;BSD σημαίνει Berkeley Software Distribution. Είναι
το όνομα από τις διανομές πηγαίου κώδικα που έκανε το Πανεπιστήμιο της
Καλιφόρνια, Berkeley (University of California, Berkeley), οι οποίες
ήταν αρχικά επεκτάσεις στο UΝΙΧ ερευνητικό λειτουργικό σύστημα της
AT&T. Διάφορα open source λειτουργικά συστήματα είναι βασισμένα σε
μια έκδοση αυτού του πηγαίου κώδικα γνωστή ως 4.4BSD-Lite. Εκτός από
αυτό, περιέχουν και μια ποικιλία από πακέτα από άλλες Open Source πηγές,
με την ομάδα GNU να είναι μια από τις πιο σημαντικές. Συνολικά, το
λειτουργικό σύστημα περιλαμβάνει:Τον BSD πυρήνα, που διαχειρίζεται την δρομολόγηση των
διεργασιών, την μνήμη, την συμμετρική πολυ-επεξεργασία (symmetric
multi-processing, SMP) τους οδηγούς συσκευών, κλπ.Σε αντίθεση με τον πυρήνα του Linux, υπάρχουν παραπάνω
από ένα διαφορετικοί BSD πυρήνες με ποικίλες
δυνατότητες.Η βιβλιοθήκη της C, το βασικό API του συστήματος.Η C βιβλιοθήκη του BSD είναι βασισμένη σε κώδικα από
το Berkeley, όχι από την ομάδα GNU.Εργαλεία όπως φλοιοί (shells), προγράμματα διαχείρισης αρχείων,
μεταγλωττιστές (compilers, linkers).Κάποια από τα εργαλεία είναι βασισμένα σε κώδικα GNU,
κάποια άλλα όχι.Το Σύστημα X Window, που υλοποιεί το γραφικό περιβάλλον.Το σύστημα X Window που χρησιμοποιείται στις πιο πολλές εκδόσεις
του BSD συντηρείται από μια διαφορετική ομάδα προγραμματιστών: είτε
την ομάδα &xfree86;,
είτε την ομάδα X.Org.
Αυτός
είναι ο ίδιος κώδικας που χρησιμοποιεί και το Linux. Το BSD συνήθως
δεν ορίζει ένα συγκεκριμένο γραφικό περιβάλλον, όπως
το GNOME ή το KDE, παρόλο που και τα δυο είναι διαθέσιμα.Πολλά άλλα προγράμματα και εργαλεία.Τί, ένα αληθινό &unix;;Τα BSD λειτουργικά συστήματα δεν είναι κλώνοι, αλλά open source
προϊόντα που έχουν βγει από το Πειραματικό &unix; λειτουργικό σύστημα της
AT&T, που είναι επίσης πρόγονος του μοντέρνου &unix; System V. Αυτό
ίσως σας προκαλέσει έκπληξη. Πώς μπορεί κάτι τέτοιο να γίνει, αφού η
AT&T δεν έχει διανείμει ποτέ τον κώδικά της σαν open source;Είναι αλήθεια ότι το AT&T &unix; δεν είναι open source, και κατά
μια έννοια, αν είμαστε αυστηροί με το θέμα των πνευματικών δικαιωμάτων,
το BSD σίγουρα δεν είναι &unix;, αλλά από την
άλλη, η ίδια η AT&T έχει ενσωματώσει κώδικα από άλλες ομάδες
ανάπτυξης, με μια από τις πιο σημαντικές να είναι η Ομάδα Έρευνας της
Επιστήμης των Υπολογιστών του Πανεπιστημίου της California, Berkeley,
CA (CSRG: Computer Sciences Research Group, University of California,
Berkeley, CA). Ξεκινώντας το 1976, η CSRG ξεκίνησε να διανέμει tapes
με το λογισμικό τους, αποκαλώντας το Berkeley Software
Distribution or BSD.Οι αρχικές εκδόσεις του BSD αποτελούνταν κυρίως από προγράμματα για
χρήστες, αλλά αυτό άλλαξε δραματικά όταν η CSRG έκλεισε ένα συμβόλαιο με
την Defense Advanced Projects Research Agency (DARPA) για να αναβαθμίσει
τα πρωτόκολα επικοινωνίας του δικτύου της DARPA, του ARPANET. Τα νέα
πρωτόκολα ήταν γνωστά ως Internet Protocols,
αργότερα TCP/IP παίρνοντας το όνομά τους από τα δύο
πιο σημαντικά πρωτόκολα. Η πρώτη ευρέως γνωστή υλοποίηση ήταν μέρος του
4.2BSD, που ανακοινώθηκε το 1982.Κατά τη διάρκεια της δεκαετίας του 80 αναπτύχθηκε ένα πλήθος εταιρειών
που διέθεταν σταθμούς εργασίας. Πολλές προτίμησαν να αγοράσουν την
άδεια του &unix; αντί να αναπτύξουν δικά τους λειτουργικά συστήματα.
Συγκεκριμένα, η Sun Microsystems αγόρασε την άδεια του &unix; και ανέπτυξε
μια έκδοση του 4.2BSD την οποία ονόμασε SunOS. Όταν και η ίδια η
AT&T μπόρεσε, άρχισε να πουλά το &unix; με μια έκδοση περιορισμένων
δυνατοτήτων που λεγόταν System III, την οποία γρήγορα ακολούθησε το
System V. Η βάση πηγαίου κώδικα του System V δεν περιείχε κώδικα
δικτύωσης, οπότε όλες οι υλοποιήσεις περιείχαν επιπλέον λογισμικό από το
BSD, συμπεριλαμβανομένου του λογισμικού TCP/IP, αλλά και προγράμματα
όπως τον φλοιό csh και τον επεξεργαστή κειμένου
vi. Συνολικά, αυτές οι βελτιώσεις ήταν γνωστές σαν
οι Επεκτάσεις Berkeley.Τα tapes του BSD περιείχαν πηγαίο κώδικα της AT&T κι έτσι
απαιτούσαν μια άδεια πηγαίου κώδικα του &unix;. Μέχρι το 1990, η
χρηματοδότηση της CSRG τέλειωνε, και πήγαινε για κλείσιμο. Κάποια μέλη
της ομάδας αποφάσισαν να διανείμουν τον BSD κώδικα, που ήταν Open
Source, χωρίς τα κομμάτια του εμπορικού AT&T κώδικα. Αυτό έγινε
τελικά με την Networking Tape 2, γνωστή και ως
Net/2. Η Net/2 δεν ήταν ένα ολοκληρωμένο
λειτουργικό σύστημα. Περίπου 20% από τον κώδικα του πυρήνα έλειπε. Ένα
από τα μέλη της CSRG, ο William F. Jolitz, έγραψε τον υπόλοιπο κώδικα
που έλειπε και τον έδωσε νωρίς το 1992 με όνομα
386BSD. Την ίδια στιγμή, μια άλλη ομάδα από πρώην
μέλη της CSRG ίδρυσε μια εμπορική εταιρεία με όνομα Berkeley Software Design Inc. και
εξέδωσε μια πειραματική έκδοση ενός λειτουργικού συστήματος που λεγόταν
BSD/386, το οποίο ήταν
βασισμένο στον ίδιο πηγαίο κώδικα. Το όνομα του λειτουργικού συστήματος
άλλαξε αργότερα σε BSD/OS.Το 386BSD ποτέ δεν έγινε ένα σταθερό λειτουργικό σύστημα.
Αντί γι αυτό, δύο άλλες ομάδες ξεπήδησαν από αυτό το 1993. Η ομάδα του
NetBSD και η ομάδα του FreeBSD. Οι δυο ομάδες αρχικά
ξεχώρισαν επειδή είχαν διαφορετική υπομονή όσον αφορά σε κάποιες
βελτιώσεις στο 386BSD. Η ομάδα του NetBSD ξεκίνησε στην αρχή της
χρονιάς, και η πρώτη έκδοση του FreeBSD δεν ήταν έτοιμη μέχρι το τέλος
της χρονιάς. Στο μεταξύ η βάση του πηγαίου κώδικα είχε πλέον τόσες
διαφορές που ήταν δύσκολο να ενωθεί η μια με με την άλλη ομάδα.
Επιπλέον, οι δυο ομάδες είχαν και διαφορετικούς στόχους όπως θα δούμε
παρακάτω. Το 1996 δημιουργήθηκε το
OpenBSD
από το NetBSD και το 2003 δημιουργήθηκε το
DragonFlyBSD
από το FreeBSD.Γιατί δεν είναι το BSD πιο γνωστό;Για διάφορους λόγους, το BSD είναι σχετικά άγνωστο:Αυτοί που αναπτύσσουν το BSD ασχολούνται συχνά περισσότερο με το
να διορθώνουν τον κώδικά τους παρά με το να τον διαφημίζουν.Αρκετή από την δημοσιότητα του Linux οφείλεται σε παράγοντες
εξωτερικούς (σε σχέση με αυτούς που αναπτύσσουν το Linux), όπως στα
μέσα ενημέρωσης, και σε εταιρείες που έχουν φτιαχτεί για να παρέχουν
υπηρεσίες βασισμένες σε Linux. Μέχρι πρόσφατα, τα open source BSD
δεν είχαν τέτοιους διαφημιστές.Αυτοί που αναπτύσσουν το BSD τείνουν να είναι πιο έμπειροι από
τους χρήστες του Linux και δεν τους ενδιαφέρει τόσο πολύ να το
κάνουν εύκολο στη χρήση. Οι καινούριοι χρήστες έχουν την τάση να
αισθάνονται πιο άνετα με το Linux.Το 1992, η AT&T έκανε μήνυση στην BSDI, την εταιρεία που ανέπτυσσε
το BSD/386, κατηγορώντας την ότι το προϊόν περιείχε κώδικα του
οποίου τα πνευματικά δικαιώματα ανήκαν στην AT&T. Η υπόθεση
κανονίστηκε εκτός δικαστηρίου το 1994, αλλά το φάντασμα της
μήνυσης ακόμα συνεχίζει να τρομάζει τον κόσμο. Ακόμα και σχετικά
πρόσφατα, τον Μάρτιο του 2000, ένα άρθρο που βγήκε στον παγκόσμιο
ιστό υποστηρίζει ότι η υπόθεση έκλεισε με πρόσφατο
διακανονισμό.Μια λεπτομέρεια που η μήνυση ξεκαθάρισε είναι η κατάσταση των
ονομάτων: κατά τη διάρκεια της δεκαετίας του'80, το BSD ήταν γνωστό
ως BSD &unix;. Με την αφαίρεση ακόμα και του
τελευταίου κομματιού κώδικα από την AT&T, έχασε και το δικαίωμα
στο όνομα &unix;. Έτσι θα δείτε αναφορές σε βιβλία με τίτλους όπως
the 4.3BSD &unix; operating system και the
4.4BSD operating system.Υπάρχει η εντύπωση πως τα BSD λειτουργικά συστήματα είναι
κομματιασμένα και αντιμαχόμενα. Η Wall
Street Journal μιλούσε για balkanization των
ομάδων ανάπτυξης του BSD. Ακριβώς όπως και η μήνυση, αυτή η εντύπωση
βασίζεται κυρίως σε παλιές ιστορίες.Σύγκριση του BSD με το LinuxΤελικά ποια είναι η διαφορά μεταξύ, ας πούμε, του Debian Linux και
του FreeBSD; Για τον μέσο χρήστη, η διαφορά είναι στην πραγματικότητα
μικρή: και τα δυο είναι λειτουργικά συστήματα που μοιάζουν με το &unix;.
Και τα δυο αναπτύσσονται απο μή εμπορικές κοινότητες (αυτό δεν ισχύει για
πολλές άλλες διανομές του Linux φυσικά). Στις επόμενες παραγράφους, θα
πούμε λίγα πράγματα για το BSD και θα το συγκρίνουμε με το Linux. Η
περιγραφή ταιριάζει πιο πολύ στο FreeBSD, το οποίο είναι περίπου το 80%
των εγκατεστημένων BSD, αλλά οι διαφορές από το NetBSD, το OpenBSD και το DragonFlyBSD
είναι μικρές.Σε ποιον ανήκει το BSD;Δεν υπάρχει ένα άτομο ή οργανισμός στον οποίο να ανήκει το BSD.
Αναπτύσσεται και διανέμεται από μια κοινότητα προγραμματιστών από όλο
τον κόσμο που έχουν αρκετές γνώσεις και είναι αφοσιωμένοι στην
ανάπτυξή του. Κάποια από τα κομμάτια του BSD είναι ανεξάρτητα Open
Source projects που συντηρούνται από κάποια διαφορετική ομάδα ή
άτομο.Πως αναπτύσσεται και ενημερώνεται το BSD;Οι BSD πυρήνες αναπτύσσονται ακολουθώντας το Open Source μοντέλο
ανάπτυξης. Κάθε ομάδα διατηρεί ένα δέντρο πηγαίου
κώδικα στο οποίο έχουν όλοι πρόσβαση, χρησιμοποιώντας το
Concurrent Versions
System (CVS). Το δέντρο πηγαίου κώδικα περιέχει όλο τον
πηγαίο κώδικα για τα αρχεία του συστήματος, καθώς και τεκμηρίωση ή
άλλα σχετικά αρχεία. Το CVS επιτρέπει στους χρήστες να
εξάγουν (με άλλα λόγια να πάρουν ένα αντίγραφο)
οποιασδήποτε έκδοσης του συστήματος.Ένας μεγάλος αριθμός προγραμματιστών από όλο τον κόσμο
συνεισφέρουν με βελτιώσεις για το BSD. Χωρίζονται σε τρεις
κατηγορίες:Οι Contributors γράφουν κώδικα ή
τεκμηρίωση. Δεν έχουν δικαίωμα να κάνουν commit (να προσθέσουν
κώδικα) απευθείας στον πηγαίο κώδικα. Για να μπει ο κώδικάς τους
στο σύστημα πρέπει να περάσει από έλεγχο και να δοκιμαστεί από
κάποιον προγραμματιστή που έχει τέτοια δικαιώματα, ο οποίος
λέγεται και committer.Οι Committers είναι προγραμματιστές με
δικαίωμα να προσθέτουν πράγματα απευθείας στον πηγαίο κώδικα. Για
να γίνει κάποιος committer πρέπει να δείξει ότι έχει ικανότητες σε
κάποιο συγκεκριμένο τομέα, στον οποίο είναι ενεργός.Αφήνεται στην διακριτικότητα του committer το αν θα πρέπει να
πάρει άδεια πριν κάνει αλλαγές σε ένα συγκεκριμένο μέρος του
πηγαίου κώδικα. Γενικά, ένας έμπειρος committer μπορεί να κάνει
αλλαγές που είναι προφανώς σωστές χωρίς να ζητήσει άδεια. Για
παράδειγμα, ένας committer από την ομάδα τεκμηρίωσης μπορεί να
διορθώνει ορθογραφικά ή γραμματικά λάθη χωρίς να ζητήσει
επιβεβαίωση. Από την άλλη, προγραμματιστές που κάνουν μεγάλες ή
περίπλοκες αλλαγές θα πρέπει να δίνουν κάπως τις αλλαγές τους
στους άλλους για έλεγχο πριν κάνουν commit. Σε εξαιρετικές
περιπτώσεις, ένα μέλος της βασικής ομάδας (core team) με την
ιδιότητα του Principal Architect μπορεί να απαιτήσει οι αλλαγές να
αφαιρεθούν από τον πηγαίο κώδικα, μια διαδικασία που λέγεται
backing out. Όλοι οι committers παίρνουν
mail που περιγράφουν κάθε ξεχωριστή αλλαγή που γίνεται commit,
οπότε δεν είναι δυνατόν να προστεθεί κάτι κρυφά.Η Core team. Τέλος, το FreeBSD και το
NetBSD έχουν το καθένα μια βασική ομάδα (core team) που έχει την
διαχείριση του συστήματος. Η βασική ομάδα έχει αναπτυχθεί στην
πορεία του project, και ο ρόλος της δεν είναι πάντα σαφώς
καθορισμένος. Δεν είναι απαραίτητο να είναι κάποιος
προγραμματιστής, αν και συνήθως τα μέλη της βασικής ομάδας είναι
από τα άτομα που αναπτύσσουν το BSD. Οι κανόνες για την βασική
ομάδα διαφέρουν από το ένα project στο άλλο, αλλά γενικά η γνώμη
της βασικής ομάδας μετράει περισσότερο στην κατεύθυνση του project
από αυτή των υπόλοιπων.Αυτή η οργάνωση διαφέρει από αυτή του Linux σε διάφορα
σημεία:Δεν υπάρχει ένα μοναδικό άτομο που να ελέγχει τα περιεχόμενα
του συστήματος. Πρακτικά, αυτή η διαφορά υπερεκτιμάται, αφού ο
Principal Architect μπορεί να απαιτήσει κάποιος κώδικας να αφαιρεθεί,
και ακόμα και στο Linux υπάρχουν αρκετά άτομα που τους επιτρέπεται
να κάνουν αλλαγές.Από την άλλη, υπάρχει ένα κεντρικό
repository, ένα μέρος που μπορείτε να βρείτε ολόκληρο το
λειτουργικό σύστημα σε μορφή πηγαίου κώδικα, σε οποιαδήποτε
έκδοση, ακόμα και παλιότερες.Τα BSD project συντηρούν ολόκληρο το Λειτουργικό
Σύστημα, κι όχι μόνο τον πυρήνα. Αυτή η διαφορά είναι
μόνο οριακά χρήσιμη. Ούτε το BSD, ούτε το Linux δεν είναι πολύ
χρήσιμα χωρίς εφαρμογές. Οι εφαρμογές που χρησιμοποιούνται στο
BSD είναι συχνά οι ίδιες εφαρμογές που χρησιμοποιούνται κάτω από
το Linux.Σαν αποτέλεσμα της κεντρικής και σαφώς ορισμένης συντήρησης
ενός CVS δέντρου πηγαίου κώδικα, η ανάπτυξη του BSD είναι
ξεκάθαρη, και είναι έυκολη η πρόσβαση σε οποιαδήποτε έκδοση του
συστήματος είτε με αριθμό έκδοσης, είτε με ημερομηνία. Το CVS
επίσης επιτρέπει αθροιστικές αλλαγές στο σύστημα. Για παράδειγμα,
το repository του FreeBSD ενημερώνεται περίπου 100 φορές τη μέρα.
Οι πιο πολλές από αυτές τις αλλαγές είναι μικρές.Εκδόσεις του BSDΟι ομάδες ανάπτυξης των FreeBSD, NetBSD και OpenBSD διαθέτουν το σύστημα σε τρεις διαφορετικές
εκδόσεις. Όπως και με το Linux, σε κάθε έκδοση δίνεται
ένας αριθμός, π.χ. 1.4.1 ή 3.5. Εκτός από αυτό, ο αριθμός της έκδοσης
έχει ένα επίθεμα, το οποίο υποδηλώνει το σκοπό της έκδοσης:Η πειραματική έκδοση του συστήματος λέγεται
CURRENT. Το FreeBSD ορίζει ένα αριθμό
έκδοσης για το CURRENT, για παράδειγμα FreeBSD 5.0-CURRENT. Το
NetBSD χρησιμοποιεί ένα κάπως διαφορετικό τρόπο ονοματολογίας και
προσθέτει γράμμα στο τέλος του αριθμού έκδοσης το οποίο
αντιστοιχεί σε αλλαγές εσωτερικών λειτουργιών, για παράδειγμα
NetBSD 1.4.3G. Το OpenBSD δεν ορίζει κάποιο αριθμό
("OpenBSD-current"). Η ανάπτυξη καινούριων πραγμάτων πάντα
γίνεται σε αυτόν τον κλάδο.Σε τακτά χρονικά διαστήματα, από δυο μέχρι και τέσσερεις φορές
το χρόνο, τα project ανακοινώνουν μια RELEASE
έκδοση του συστήματος, η οποία διατίθεται σε CD-ROM και μπορεί
κάποιος να την κατεβάσει από FTP εξυπηρέτες, για παράδειγμα
ανακοινώνεται το OpenBSD 2.6-RELEASE ή το NetBSD 1.4-RELEASE. Η
RELEASE έκδοση απευθύνεται σε τελικούς χρήστες, και είναι η
κανονική μορφή του συστήματος. Το NetBSD διαθέτει επίσης και
patch εκδόσεις με ένα τρίτο ψηφίο, όπως για
παράδειγμα την NetBSD 1.4.2.Καθώς προβλήματα βρίσκονται σε κάποια RELEASE έκδοση,
διορθώνονται, και οι αλλαγές προστίθενται στο CVS. Στο FreeBSD,
το αποτέλεσμα ονομάζεται η STABLE έκδοση, ενώ στο NetBSD και στο
OpenBSD συνεχίζει να λέγεται η RELEASE έκδοση. Μικρά καινούρια
χαρακτηριστικά μπορεί να προστεθούν και σε αυτόν τον κλάδο μετά
από μια δοκιμαστική περίοδο στον CURRENT κλάδο.Το Linux, σε αντίθεση, συντηρεί δυο ξεχωριστά δέντρα
πηγαίου κώδικα. Την σταθερή και την πειραματική έκδοση. Οι σταθερές
εκδόσεις έχουν ένα ζυγό αιρθμό έκδοσης, όπως 2.0, 2.2 ή 2.4. Οι
πειραματικές εκδόσεις έχουν περιττό αριθμό έκδοσης, όπως 2.1, 2.3 ή
2.5. Σε κάθε περίπτωση, ο αριθμός ακολουθείται από ένα ακόμα αριθμό
που υποδεικνύει την ακριβή έκδοση. Ακόμα, κάθε διανομέας προσθέτει τα
δικά του προγράμματα χρήστη και εργαλεία, οπότε το όνομα της διανομής
είναι επίσης σημαντικό. Κάθε διανομέας επίσης προσθέτει τον δικό του
αριθμό στην διανομή, οπότε μια πλήρης περιγραφή μπορεί να είναι κάτι
σαν TurboLinux 6.0 με πυρήνα 2.2.14Τι εκδόσεις του BSD είναι διαθέσιμες;Σε αντίθεση με τις διανομές του Linux, υπάρχουν μόνο τέσσερα
διαφορετικά open source BSD. Κάθε BSD ομάδα συντηρεί τον δικό της
πηγαίο κώδικα και τον δικό της πυρήνα. Πρακτικά, φυσικά, υπάρχουν
πολύ λιγότερες διαφορές στα προγράμματα χρήστη των BSD ομάδων από ότι
υπάρχουν στο Linux.Είναι δύσκολο να κατηγοριοποιηθούν οι σκοποί της κάθε BSD ομάδας.
Οι διαφορές είναι πολύ υποκειμενικές. Βασικά,Το FreeBSD έχει ως στόχο την υψηλή απόδοση και την ευκολία
χρήσης από τους τελικούς χρήστες. Είναι επίσης το αγαπημένο των
υπηρεσιών παροχής περιεχομένου στον παγκόσμιο ιστό. Τρέχει σε
αρκετές πλατφόρμες: συστήματα βασισμένα στην i386 αρχιτεκτονική
(PC), συστήματα βασισμένα στους AMD 64-bit
επεξεργαστές, συστήματα βασισμένα στην ααρχιτεκτονική
&ultrasparc;, συστήματα με επεξεργαστές Alpha της Compaq και
συστήματα βασισμένα στο πρότυπο PC-98 της NEC.
Το FreeBSD έχει σημαντικά
περισσότερους χρήστες από τα άλλα projects.Το NetBSD στοχεύει στην μέγιστη μεταφερσιμότητα: μα
φυσικά και τρέχει NetBSD. Τρέχει σε μηχανές από
υπολογιστές χειρός μέχρι μεγάλους εξυπηρέτες, και έχει
χρησιμοποιηθεί ακόμα και σε αποστολές της NASA. Είναι μια πολύ
καλή επιλογή για παλιό μη-Intel hardware.Το OpenBSD δίνει μεγάλη σημασία στην ασφάλεια και στην
καθαρότητα του κώδικα: χρησιμοποιεί ένα συνδυασμό από ιδέες open
source και λεπτομερή έλεγχο του κώδικα για να φτιάξει ένα σύστημα
που είναι ολοφάνερα σωστό, κάτι που το κάνει να είναι η επιλογή
των οργανισμών που δίνουν σημασία στην ασφάλεια, όπως τράπεζες,
χρηματιστήρια και παραρτήματα της κυβέρνησης των ΗΠΑ. Όπως και το
NetBSD τρέχει σε αρκετές πλατφόρμες.Το DragonFlyBSD στοχεύει στην ανάπτυξη ενός συστήματος μεγάλης
απόδοσης και scalability σε οτιδήποτε από ένα απλό σύστημα ενός
επεξεργαστή μέχρι τεράστια clusters συστημάτων. Το DragonFlyBSD
έχει αρκετούς στόχους ευρείας εμβέλειας, αλλά μέχρι τώρα οι
προσπάθειες της ομάδας ανάπτυξής του επικεντρώνονται στην
υλοποίηση μιας SMP πλατφόρμας που είναι εύκολο να κατανοηθεί, να
συντηρηθεί και ευνοεί την περαιτέρω ανάπτυξη.Υπάρχουν ακόμη και δύο BSD λειτουργικά συστήματα που δεν είναι
open source, το BSD/OS και το &macos; X της Apple:Το BSD/OS είναι το πιο παλιό από τα βασισμένα στο 4.4BSD
λειτουργικά συστήματα. Δεν ήταν open source, παρόλο που άδειες
πηγαίου κώδικα ήταν διαθέσιμες με σχετικά χαμηλό κόστος. Έμοιαζε
πολύ με το FreeBSD. Δυό χρόνια μετά την εξαγορά της BSDi από τη
Wind River Systems, το BSD/OS απέτυχε να επιβιώσει σαν ανεξάρτητο
προϊόν. Μπορεί ακόμα να είναι διαθέσιμη υποστήριξη και πηγαίος
κώδικας από την Wind River, αλλά όλη η ανάπτυξη γίνεται πλέον στο
embedded λειτουργικό σύστημα VxWorks.Το &macos;
X είναι η πιο πρόσφατη έκδοση του λειτουργικού συστήματος
για την γραμμή υπολογιστών &macintosh; της Apple Computer Inc.
Ο πυρήνας του λειτουργικού συστήματος, ο οποίος είναι βασισμένος
στο BSD και λέγεται
Darwin,
είναι διαθέσιμος ως ένα πλήρες λειτουργικό σύστημα ανοιχτού κώδικα
για υπολογιστές x86 και PPC. Το σύστημα γραφικών Aqua/Quartz και
πολλά άλλα εμπορικά μέρη του &macos; X δεν είναι διαθέσιμα σε μορφή
πηγαίου κώδικα. Αρκετά μέλη της ομάδας ανάπτυξης του Darwin
συμμετέχουν στην ανάπτυξη του FreeBSD κι ανάποδα.Τι διαφορά έχει η άδεια του BSD από την GNU Public άδεια;Το Linux διατίθεται σύμφωνα με τους όρους της
GNU General Public
License (GPL), η οποία είναι σχεδιασμένη για να αποκλείσει
το μη-ελεύθερο λογισμικό. Ειδικότερα, οποιοδήποτε προϊόν βασισμένο σε
κάποιο προϊόν διαθέσιμο σύμφωνα με τους όρους της GPL πρέπει κι αυτό
να δίνεται σε μορφή πηγαίου κώδικα αν ζητηθεί. Αντίθετα, η BSD
άδεια είναι λιγότερο περιοριστική: διανομές μόνο-εκτελέσιμες
επιτρέπονται. Αυτό είναι πολύ χρήσιμο σε embedded εφαρμογές.Τί άλλο θά 'πρεπε να ξέρω;Επειδή λιγότερες εφαρμογές είναι διαθέσιμες για BSD από ότι για
Linux, οι προγραμματιστές του BSD έγραψαν ένα πακέτο συμβατότητας με
το Linux, που επιτρέπει σε προγράμματα για Linux να τρέξουν κάτω από
BSD. Το πακέτο περιλαμβάνει τόσο αλλαγές στον πυρήνα, έτσι ώστε να
εκτελούνται σωστά οι κλήσεις συστήματος του Linux, όσο και αρχεία
συμβατότητας με το Linux όπως η βιβλιοθήκη της C. Δεν υπάρχει
πρακτικά διαφορά στην ταχύτητα εκτέλεσης μεταξύ μιας εφαρμογής για
Linux που τρέχει σε ένα Linux μηχάνημα και μιας εφαρμογής για Linux
που τρέχει σε ένα BSD μηχάνημα ίδιας ταχύτητας.Η λογική του BSD, όλα από μια πηγή, σημαίνει ότι οι
αναβαθμίσεις είναι πολύ πιο εύκολες να γίνουν από ότι στο Linux. Το
BSD παρέχει επίσης και βιβλιοθήκες συμβατότητας με παλιότερες
εκδόσεις, οπότε μπορείτε να τρέχετε εκτελέσιμα που είναι αρκετά χρόνια
παλιά χωρίς προβλήματα.Τι προτείνετε να χρησιμοποιήσω, BSD ή Linux;Κι αυτό τι υποτίθεται ότι σημαίνει πρακτικά; Ποιος θά 'πρεπε να
χρησιμοποιεί BSD, και ποιος θά 'πρεπε να χρησιμοποιεί Linux;Αυτή είναι μια πολύ δύσκολη ερώτηση να απαντήσει κανείς. Ας δούμε
μερικές γενικές οδηγίες:Αν δεν έχει χαλάσει, μην το φτιάξετε: Αν ήδη
χρησιμοποιείτε κάποιο open source λειτουργικό σύστημα, και είστε
ικανοποιημένοι από αυτό, μάλλον δεν υπάρχει κανένας καλός λόγος να
το αλλάξετε.Τα BSD συστήματα, και ειδικά το FreeBSD, μπορούν να έχουν
αξιοσημείωτα καλύτερη απόδοση από το Linux. Αλλά αυτό δεν ισχύει
πάντα. Σε πολλές περιπτώσεις, δεν υπάρχει διαφορά στην απόδοση ή
είναι πολύ μικρή. Σε μερικές περιπτώσεις μπορεί το Linux να
αποδίδει καλύτερα από το FreeBSD.Γενικά, τα BSD συστήματα έχουν καλύτερη φήμη όσον αφορά στην
αξιοπιστία που έχουν, κυρίως σαν αποτέλεσμα της πιο ώριμης βάσης
κώδικα.Τα BSD συστήματα έχουν τη φήμη ότι έχουν πιο ποιοτική και
ολοκληρωμένη τεκμηρίωση. Οι διάφορες ομάδες τεκμηρίωσης
προσπαθούν να παρέχουν ενημερωμένη τεκμηρίωση σε πολλές γλώσσες,
να κρατούν την τεκμηρίωση ενημερωμένη και να καλύπτουν κάθε
χαρακτηριστικό του συστήματος σε βάθος.Η BSD άδεια μπορεί να σας αρέσει περισσότερο από την
GPL.Το BSD μπορεί να τρέξει ένα μεγάλο ποσοστό από τα εκτελέσιμα
των προγραμμάτων για Linux, ενώ το Linux δε μπορεί να τρέξει BSD
εκτελέσιμα. Πολλές BSD υλοποιήσεις μπορούν να τρέξουν ακόμη κι
εκτελέσιμα από άλλα &unix; συστήματα. Αυτό πιθανόν να έχει ως
αποτέλεσμα η μετάβαση από κάποιο άλλο σύστημα σε BSD να είναι πιο
εύκολη από ότι σε Linux.Το BSD μπορεί να τρέξει εκτελέσιμα του Linux, ενώ το Linux δεν
μπορεί να εκτελέσει προγράμματα για BSD. Σαν αποτέλεσμα,
περισσότερο λογισμικό είναι διαθέσιμο για BSD από ότι για
Linux.Ποιος παρέχει υποστήριξη, service και εκπαίδευση για το
BSD;Η BSDi / FreeBSD Mall, Inc. πάντα παρείχε υποστήριξη για το BSD/OS και πρόσφατα
ανακοίνωσε ότι παρέχει συμβόλαια υποστήριξης και για το
FreeBSD.Επίσης, κάθε ένα από τα BSD έχει μια λίστα με consultants που
μπορείτε να προσλάβετε:
για το
FreeBSD,
το
NetBSD,
και το
OpenBSD.
diff --git a/el_GR.ISO8859-7/articles/formatting-media/article.sgml b/el_GR.ISO8859-7/articles/formatting-media/article.sgml
index 0652c20c11..dc3eae9924 100644
--- a/el_GR.ISO8859-7/articles/formatting-media/article.sgml
+++ b/el_GR.ISO8859-7/articles/formatting-media/article.sgml
@@ -1,674 +1,675 @@
%articles.ent;
]>
Διαμόρφωση Αποθηκευτικών Μέσων για Χρήση με το 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
still want to do this) απαντήστε Yes.Επιλέξτε Write.Θα σας βγάλει μια προειδοποίηση σχετικά με την εγγραφή σε
υπάρχοντα συστήματα απαντήστε Yes.Μόλις σας ρωτήσει αν θέλετε να εγκαταστήσετε ένα boot loader,
επιλέξτε None για να αποφύγετε οποιαδήποτε
αλλαγή στο Master Boot Record. Η εγκατάσταση ενός boot loader
χρειάζεται μόνο σε καινούριες εγκαταστάσεις του &os; ή αν
σχεδιάζετε να τοποθετήσετε το δίσκο σε κάποιο άλλο
μηχάνημα.Πατήστε ENTER στο ενημερωτικό μήνυμα που
λέει Wrote FDISK partition information out
successfully.Επιλέξτε 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 MAKEDEV 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/freebsd-questions/article.sgml b/el_GR.ISO8859-7/articles/freebsd-questions/article.sgml
index a2d0eade97..f3d79df785 100644
--- a/el_GR.ISO8859-7/articles/freebsd-questions/article.sgml
+++ b/el_GR.ISO8859-7/articles/freebsd-questions/article.sgml
@@ -1,691 +1,692 @@
%articles.ent;
]>
Πως να χρησιμοποιείτε με επιτυχία την λίστα ηλεκτρονικού
ταχυδρομείου FreeBSD-questionsGregLeheygrog@FreeBSD.org$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.microsoft;
&tm-attrib.netscape;
&tm-attrib.opengroup;
&tm-attrib.qualcomm;
&tm-attrib.general;
Αυτό το κείμενο παρέχει χρήσιμες πληροφορίες για όσους προσπαθούν
να προετοιμάσουν ένα γράμμα για την λίστα ταχυδρομείου
FreeBSD-questions. Δίνονται συμβουλές και οδηγίες που θα
μεγιστοποιήσουν την πιθανότητα ο αναγνώστης να πάρει χρήσιμες
απαντήσεις.Αυτό το κείμενο (ΣΤΜ: η αγγλική έκδοση) στέλνεται τακτικά στην
ίδια τη λίστα FreeBSD-questions.ΕισαγωγήΗ FreeBSD-questions είναι μια ταχυδρομική λίστα
που συντηρείται από την ομάδα ανάπτυξης του FreeBSD για να βρίσκουν σε
αυτή βοήθεια όσοι έχουν απορίες σχετικά με την χρήση του FreeBSD. Μια
άλλη λίστα, η FreeBSD-hackers, είναι για πιο
προχωρημένες ερωτήσεις, όπως για παράδειγμα συζητήσεις για μελλοντικές
εργασίες ανάπτυξης.Ο όρος hacker δεν έχει καμία απολύτως σχέση με την
εισβολή στους υπολογιστές άλλων ανθρώπων. Ο σωστός όρος για τέτοιου
είδους ενέργειες είναι cracker, αλλά τα δημοφιλή μέσα
ενημέρωσης δεν το έχουν ανακαλύψει ακόμα. Οι FreeBSD hackers δεν
εγκρίνουν την παραβίαση της ασφάλειας των υπολογιστών (cracking), και
δεν έχουν καμία σχέση με τέτοιου είδους ενέργειες. Για να πιο
λεπτομερή περιγραφή των hackers, δείτε το How to Become
A Hacker του Eric Raymond.Αυτό είναι ένα τακτικό μήνυμα του οποίου σκοπός είναι να βοηθήσει
τόσο αυτούς που αναζητούν βοήθεια από την FreeBSD-questions (τους
καινούριους) όσο και αυτούς που απαντάνε τις ερωτήσεις
(τους hackers).Αναπόφευκτα υπάρχει μια κόντρα, που οφείλεται στην διαφορετική
οπτική γωνία που έχει η κάθε ομάδα. Οι καινούριοι κατηγορούν τους
hackers ότι είναι εγωιστές, κολλημένοι, και ότι δεν βοηθάνε, ενώ οι
hackers κατηγορούν τους καινούριους ότι είναι χαζοί, ανίκανοι να
διαβάσουν απλά Αγγλικά, κι ότι περιμένουν τα πάντα να τους δίνονται σε
ένα ασημένιο δίσκο. Γεγονός είναι, βέβαια, ότι μια δόση αλήθειας
υπάρχει και στις δυο αυτές απόψεις, αλλά κατά κύριο λόγο αυτές οι
απόψεις οφείλονται σε αισθήματα οργής.Με αυτό το κείμενο, θα ήθελα να κάνω κάτι να απαλύνω κάπως αυτή την
οργή, και να βοηθήσω όσο μπορώ όλους να χρησιμοποιούν με τα καλύτερα
δυνατά αποτελέσματα τη λίστα FreeBSD-questions. Παρακάτω περιγράφω πως
να στείλει κάποιος μια ερώτηση. Μετά θα δούμε και τρόπους για να
δίνονται απαντήσεις.Πως να γραφτείτε στην FreeBSD-questionsΗ FreeBSD-questions είναι μια λίστα ηλεκτρονικού ταχυδρομείου, οπότε
χρειάζεστε πρόσβαση σε κάποια υπηρεσία ηλεκτρονικού ταχυδρομείου. Για
να γραφτείτε στη λίστα, επισκεφθείτε με το φυλλομετρητή σας
τη Σελίδα Πληροφοριών της FreeBSD-question. Στο
τμήμα Subscribing to freebsd-questions συμπληρώστε το
πεδίο Your email address κι όποια άλλα προαιρετικά πεδία
θέλετε.Τα πεδία κωδικού παρέχουν μέτρια ασφάλεια, αλλά οι κωδικόί αυτός θα
εμποδίσουν τον περισσότερο κόσμο από το να κάνει αλλαγές στη συνδρομή
σας. Μη χρησιμοποιήσετε όμως κάποιο πολύτιμο κωδικό σε αυτό
το πεδίο, γιατί θα σας έρχεται περιοδικά μια υπενθύμιση του κωδικού σε
ένα απλό, μη κρυπτογραφημένο μήνυμα ηλεκτρονικού
ταχυδρομείου.Λίγο μετά θα λάβετε ένα μήνυμα επιβεβαίωσης της εγγραφής από
το mailman. Ακολουθήστε τις οδηγίες του
μηνύματος για να ενεργοποιηθεί η συνδρομή σας.Τέλος, μόλις λάβετε το μήνυμα καλωσορίσματος από
το mailman, που περιγράφει τη λίστα και τον
κωδικό της συνδρομής σας, κρατήστε ένα αντίγραφο.
Αν θελήσετε ποτέ να ακυρώσετε την εγγραφή σας στη λίστα, θα χρειαστείτε
τις πληροφορίες του μηνύματος. Δείτε και τις επόμενες παραγράφους για
περισσότερες λεπτομέρειες.Πως να διαγραφείτε από την FreeBSD-questionsΌταν γραφτήκατε στην FreeBSD-questions, πήρατε ένα μήνυμα
καλωσορίσματος από το mailman. Σε αυτό το
μήνυμα, ανάμεσα σε άλλα πράγματα, εξηγεί και πως μπορείτε να διαγραφείτε
από τη λίστα. Ορίστε ένα τυπικό μήνυμα:Welcome to the freebsd-questions@freebsd.org mailing list!
To post to this list, send your email to:
freebsd-questions@freebsd.org
General information about the mailing list is at:
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
If you ever want to unsubscribe or change your options (eg, switch to
or from digest mode, change your password, etc.), visit your
subscription page at:
http://lists.freebsd.org/mailman/options/freebsd-questions/grog%40lemsi.de
You can also make such adjustments via email by sending a message to:
freebsd-questions-request@freebsd.org
with the word `help' in the subject or body (don't include the
quotes), and you will get back a message with instructions.
You must know your password to change your options (including changing
the password, itself) or to unsubscribe. It is:
12345
Normally, Mailman will remind you of your freebsd.org mailing list
passwords once every month, although you can disable this if you
prefer. This reminder will also include instructions on how to
unsubscribe or change your account options. There is also a button on
your options page that will email your current password to you.Χρησιμοποιώντας τη διεύθυνση URL που περιέχει το μήνυμα
καλωσορίσματος που λάβατε (με τίτλο Welcome) μπορείτε να
επισκεφθείτε τη Σελίδα προσωπικών ρυθμίσεων και να
αιτηθείτε τη διαγραφή σας (Unsubscribe) από τη λίστα
FreeBSD-questions.Μόλις ζητήσετε τη διαγραφή σας το mailman
θα σας στείλει ένα μήνυμα επιβεβαίωσης της διαγραφής. Ακολουθήστε τις
οδηγίες του μηνύματος για να ολοκληρώσετε τη διαδικασία διαγραφής.Αν τα έχετε κάνει όλα αυτά και ακόμα δεν μπορείτε να καταλάβετε τι
συμβαίνει, στείλτε ένα μήνυμα στη διεύθυνση
Postmaster@FreeBSD.org, και αυτός θα σας βοηθήσει να
βρείτε μια άκρη. Μην στείλετε κάποιο μήνυμα στην
FreeBSD-questions: δεν μπορούν να σας βοηθήσουν.Που να στείλω την ερώτησή μου;
Στην -questions ή στην
-hackers;Δύο είναι οι λίστες που μπορεί κάποιος να κάνει ερωτήσεις γενικού
περιεχομένου σχετικά με το FreeBSD, η
FreeBSD-questions και η
FreeBSD-hackers. Σε κάποιες περιπτώσεις, δεν είναι
απολύτως ξεκάθαρο σε ποια λίστα πρέπει να ρωτήσετε. Τα παρακάτω
κριτήρια θα σας βοηθήσουν να αποφασίσετε στο 99% των περιπτώσεων,
όμως:Αν η ερώτηση είναι γενικού περιεχομένου, ρωτήστε στην
FreeBSD-questions. Παραδείγματα μπορεί να είναι
ερωτήσεις σχετικά με την εγκατάσταση του FreeBSD ή την χρήση ενός
συγκεκριμένου &unix; εργαλείου.Αν νομίζετε ότι η ερώτηση έχει σχέση με κάποιο bug, αλλά δεν
είστε σίγουροι, ή δεν ξέρετε πως να το ψάξετε περισσότερο, στείλτε
το μήνυμα στην FreeBSD-questions.Αν η ερώτηση έχει σχέση με κάποιο bug, και είστε
σίγουροι ότι είναι bug (για παράδειγμα,
μπορείτε να δείξετε το μέρος στον πηγαίο κώδικα που εμφανίζεται, ή
ίσως έχετε και κάποια διόρθωση έτοιμη), τότε στείλτε το μήνυμά σας
στην FreeBSD-hackers.Αν η ερώτηση έχει σχέση με βελτιώσεις στο FreeBSD, και μπορείτε
να κάνετε προτάσεις σχετικά με την υλοποίησή τους, στείλτε το μήνυμα
στην FreeBSD-hackers.Υπάρχουν επίσης κι άλλες λίστες ηλεκτρονικού ταχυδρομείου, για
παράδειγμα η FreeBSD-isp, η οποία ασχολείται με τα
ενδιαφέροντα των ISP (Παροχείς Υπηρεσιών Internet—Internet Service
Providers) που τρέχουν FreeBSD. Αν τυχαίνει να παρέχετε υπηρεσίες
Internet, αυτό δεν σημαίνει πως αυτόματα πρέπει να στέλνετε όλες σας τις
ερωτήσεις στην FreeBSD-isp. Τα κριτήρια που
αναφέραμε παραπάνω πάλι ισχύουν, και μάλλον σας συμφέρει να τα
χρησιμοποιήσετε, αφού έτσι είναι πιο πιθανόν να πάρετε καλύτερα
αποτελέσματα.Πριν στείλετε μια ερώτησηΜπορείτε (και πρέπει) να κάνετε κάποια πράγματα από μόνοι σας πριν
στείλετε μια ερώτηση σε κάποια από τις λίστες ηλεκτρονικού
ταχυδρομείου.Προσπαθείστε να λύσετε το πρόβλημα μόνοι σας. Αν στείλετε μια
ερώτηση η οποία δείχνει ότι έχετε προσπαθήσει ήδη να λύσετε το
πρόβλημα, είναι σχεδόν σίγουρο ότι η ερώτησή σας θα κινήσει το
ενδιαφέρον περισσότερο ενδιαφέρον. Η προσπάθεια να λύσετε το
πρόβλημα μόνοι σας έχει κι άλλα καλά αποτελέσματα: θα βελτιώσει την
κατανόηση που έχετε για τον τρόπο που δουλεύει το FreeBSD, οπότε
ύστερα θα μπορείτε ακόμη και να χρησιμοποιήσετε τη γνώση που
αποκτήσατε για να βοηθήσετε άλλους, απαντώντας τις ερωτήσεις τους σε
κάποια από τις λίστες.Διαβάστε τα manual pages, και την τεκμηρίωση του FreeBSD (είτε
το αντίγραφο που διανέμεται μαζί με τις εκδόσεις του FreeBSD κι
εγκαθίσταται στον κατάλογο /usr/doc ή μέσω WWW
στη διεύθυνση ), ειδικά
το Εγχειρίδιο του
&os; και τη λίστα
συχνών ερωτήσεων.Περιηγηθείτε ή αναζητήστε σχετικά θέματα στα αρχεία της λίστας,
για να δείτε αν η ερώτησή σας ή κάποια παρόμοια έχει ήδη εμφανιστεί
ή έχει απαντηθεί στο παρελθόν. Μπορείτε να βρείτε τα αρχεία της
λίστας στη διεύθυνση
και να αναζητήσετε παλιά θέματα στη διεύθυνση
.
Τέτοιες αναζητήσεις μπορούν να γίνουν και σε άλλους εξυπηρετητές που
έχουν το αρχείο της λίστας, π.χ. στη διεύθυνση .Χρησιμοποιήστε μια μηχανή αναζήτησης, όπως το
Google ή το
Yahoo για να βρείτε
απαντήσεις στις ερωτήσεις σας. Το Google έχει ακόμα και ειδικό τμήμα για τα BSD λειτουργικά
συστήματα.Πως να στείλετε μια ερώτησηΌταν στέλνετε μια ερώτηση στην FreeBSD-questions, σκεφτείτε πρώτα τα
παρακάτω πράγματα:Να θυμάστε πως κανείς δεν πληρώνεται για να απαντήσει μια
ερώτηση στην FreeBSD-questions. Απαντούν επειδή οι ίδιοι θέλουν να
απαντήσουν. Μπορείτε να επηρεάσετε την θέληση κάποιου να απαντήσει
θετικά στέλνοντας μια προσεγμένη ερώτηση και δίνοντας όσο το δυνατόν
περισσότερες σχετικές πληροφορίες. Μπορεί να επηρεάσετε αρνητικά
την θέληση κάποιου να απαντήσει, στέλνοντας μια ατελή, δύσκολη να
διαβαστεί, ή αγενή ερώτηση. Είναι επίσης πολύ πιθανόν να στείλετε
ένα μήνυμα στην FreeBSD-questions και να μην πάρετε απάντηση, ακόμα
και αν ακολουθήσετε αυτούς τους κανόνες. Είναι όμως ακόμα
περισσότερο πιθανό να μην πάρετε μια απάντηση, αν δεν τους
ακολουθήσετε. Στο υπόλοιπο αυτού του κειμένου θα δούμε πως θα έχετε
τα καλύτερα δυνατά αποτελέσματα από την FreeBSD-questions.Δεν διαβάζουν όλα τα μηνύματα όσοι απαντούν στην
FreeBSD-questions: κοιτάζουν την γραμμή θέματος (subject) και
αποφασίζουν αν τους ενδιαφέρει ή όχι. Προφανώς, σας συμφέρει να
έχετε ορίσει ένα θέμα. Θέματα όμως όπως FreeBSD problem ή
Help δεν είναι αρκετά. Αν δεν έχετε βάλει κανένα θέμα, πολλοί
ούτε καν που θα κάτσουν να διαβάσουν το μήνυμα. Αν το θέμα είναι
κάπως ασαφές και δεν αναφέρει ακριβώς το πρόβλημα, άνθρωποι που
μπορούν να απαντήσουν ίσως να μην το διαβάσουν καν.Διαμορφώστε το γράμμα σας ώστε να διαβάζεται εύκολα, και ΜΗΝ
ΦΩΝΑΖΕΤΕ ΣΑΣ ΠΑΡΑΚΑΛΩ!!!!! Καταλαβαίνουμε ότι πολύς κόσμος δεν έχει
για μητρική του γλώσσα τα Αγγλικά, και προσπαθούμε να είμαστε αρκετά
ανεκτικοί σε αυτό το θέμα, αλλά είναι πραγματικά ενοχλητικό να
προσπαθεί κανείς να διαβάσει ένα μήνυμα γεμάτο ορθογραφικά λάθη ή
όταν είναι όλο γραμμένο σε μια γραμμή.Μην υποτιμάτε την επίδραση που ένα κακογραμμένο μήνυμα μπορεί να
έχει, κι αυτό όχι μόνο στην FreeBSD-questions λίστα. Το μήνυμα σας
είναι αυτό που θα δουν οι άλλοι, κι αν είναι κακογραμμένο, με το
κείμενο ολόκληρων παραγράφων σε μια γραμμή, ή γεμάτο λάθη, θα δώσει
άσχημη εντύπωση στους άλλους για σας.Πάρα πολλά κακογραμμένα μηνύματα οφείλονται σε ελλατωματικά ή κακορυθμισμένα
προγράμματα ηλεκτρονικής αλληλογραφίας. Τα παρακάτω
προγράμματα είναι γνωστό ότι στέλνουν κακογραμμένα μηνύματα χωρίς
εσείς να το ξέρετε πως κάτι τέτοιο γίνεται:cc:Mail&eudora;exmhµsoft; Exchangeµsoft; Internet Mailµsoft; &outlook;&netscape;Όπως βλέπετε, τα προγράμματα ηλεκτρονικής αλληλογραφίας στον
κόσμο της Microsoft είναι αρκετά συχνά στη λίστα. Όταν είναι
δυνατόν, χρησιμοποιήστε ένα πρόγραμμα ηλεκτρονικής αλληλογραφίας που
τρέχει σε &unix;. Αν είστε υποχρεωμένοι να χρησιμοποιήσετε κάποιο
πρόγραμμα ηλεκτρονικής αλληλογραφίας σε Microsoft περιβάλλον, τότε
σιγουρευτείτε ότι το έχετε ρυθμίσει σωστά. Προσπαθήστε να μην
χρησιμοποιείτε MIME: πολλοί χρησιμοποιούν
προγράμματα να διαβάσουν την αλληλογραφία τους που δεν τα πάνε καλά
με το MIME.Σιγουρευτείτε ότι η ώρα και η ζώνη ώρας είναι σωστά ρυθμισμένες
στο σύστημά σας. Αυτό μπορεί να φαίνεται λίγο χαζό, αφού το μήνυμά
σας έτσι κι αλλιώς θα φτάσει, αλλά πολλοί από τους ανθρώπους που
προσπαθείτε να επικοινωνήσετε μαζί τους παίρνουν αρκετές εκατοντάδες
μηνύματα κάθε μέρα. Πολλές φορές ταξινομούν τα εισερχόμενα μηνύματά
τους ανάλογα με το θέμα και την ημερομηνία, και αν το μήνυμά σας δεν
φτάσει πριν την πρώτη απάντηση, μπορεί να θεωρήσουν ότι δεν το πήραν
καν και να μην ασχοληθούν παραπάνω.Μην συμπεριλαμβάνετε άσχετες ερωτήσεις στο ίδιο μήνυμα.
Πρώτα από όλα, ένα τεράστιο μήνυμα μπορεί να φοβίσει τον κόσμο και
να μην ασχοληθούν, και δεύτερον, είναι δύσκολο να πετύχετε να
διαβάσουν όλες τις ερωτήσεις όλοι όσοι μπορούν να απαντήσουν.Δώστε όσο περισσότερες πληροφορίες γίνεται. Αυτό είναι μια
κάπως περίεργη απαίτηση, και πρέπει να αναλύσουμε κάπως τι
πληροφορίες χρειάζεται να στείλετε, αλλά για αρχή ας πούμε τα
εξής:Σχεδόν σε κάθε περίπτωση, είναι σημαντικό να ξέρει κανείς
ποια έκδοση του FreeBSD τρέχετε. Ειδικά με το FreeBSD-CURRENT,
θα πρέπει να πείτε ακόμα και ποια είναι η ημερομηνία του πηγαίου
κώδικα. Όπως και νά 'χει, δεν πρέπει να στέλνετε όμως ερωτήσεις
για το -CURRENT στην FreeBSD-questions.Για οποιοδήποτε πρόβλημα μπορεί να έχει
σχέση με το υλικό του υπολογιστή σας (hardware), πείτε μας και
για το υλικό που έχει ο υπολογιστής. Αν έχετε αμφιβολίες,
υποθέστε ότι μάλλον έχει σχέση με το υλικό. Τι είδος CPU
χρησιμοποιείτε; Πόσο γρήγορη; Τι μητρική; Πόσο μνήμη; Τι
περιφερειακά;Γενικά πρέπει να χρησιμοποιήσετε και την κρίση σας εδώ, αλλά
συνήθως η έξοδος της εντολής
&man.dmesg.8; μπορεί να αποδειχθεί χρήσιμη, αφού μας λέει όχι
μόνο τι υλικό χρησιμοποιείτε, αλλά και ποια έκδοση του FreeBSD
τρέχετε.Αν βλέπετε κάποια μηνύματα λάθους, μην γράφετε Βλέπω
κάποια μηνύματα λάθους, αλλά γράψτε (για παράδειγμα)
Βλέπω το μήνυμα λάθους 'No route to host'.Αν το σύστημα κάνει panic, μην πείτε Το σύστημά μου
έκανε panic, αλλά (για παράδειγμα) το σύστημά μου
έκανε panic με το μήνυμα 'free vnode isn't'.Αν έχετε κάποια δυσκολία με την εγκατάσταση του FreeBSD,
πείτε μας σίγουρα τι υλικό έχετε. Πιο συγκεκριμένα, είναι
σημαντικό να ξέρουμε τα IRQ και τις διευθύνσεις I/O για όλες τις
κάρτες που έχετε εγκατεστημένες στο μηχάνημά σας.Αν έχετε κάποιο πρόβλημα με το να καταφέρετε το PPP να
δουλέψει, περιγράψτε τις ρυθμίσεις σας. Ποια έκδοση του PPP
τρέχετε; Πως συνδέεστε και με ποιο τρόπο ελέγχεται η ταυτότητά
σας; Έχετε στατική ή δυναμική IP διεύθυνση; Τι μηνύματα παίρνετε
στα log αρχεία σας;Πολλές από τις πληροφορίες που θέλετε συνήθως να στείλετε,
περιλαμβάνονται στην έξοδο προγραμμάτων όπως το &man.dmesg.8;, ή στα
μηνύματα που βλέπετε στην κονσόλα σας, τα οποία τις πιο πολλές φορές
σώζονται και στο αρχείο /var/log/messages. Μην
δοκιμάσετε να αντιγράψετε αυτές τις πληροφορίες ξαναγράφοντάς τες.
Είναι βαρετό και σχεδόν σίγουρα θα κάνετε κάποιο λάθος. Για να
στείλετε τα περιεχόμενα κάποιου log αρχείου, είτε κάντε ένα
αντίγραφο του αρχείου και χρησιμοποιήστε κάποιον επεξεργαστή
κειμένου να κόψετε όσα κομμάτια δεν είναι σχετικά, ή αντιγράψτε και
επικολλήστε ότι έχει σχέση στο μήνυμά σας. Για την έξοδο κάποιου
προγράμματος, όπως π.χ. το &man.dmesg.8;, ανακατευθύνετε την έξοδο
σε κάποιο αρχείο και χρησιμοποιήστε αυτό το αρχείο. Για
παράδειγμα:&prompt.user; dmesg > /tmp/dmesg.outΑυτό θα στείλει την έξοδο της εντολής στο αρχείο
/tmp/dmesg.out.Αν τα κάνετε όλα αυτά, και πάλι δεν πάρετε κάποια απάντηση
μπορεί να υπάρχουν άλλοι λόγοι. Για παράδειγμα, μπορεί το πρόβλημα
να είναι τόσο περίπλοκο που κανείς δεν ξέρει την απάντηση, ή μπορεί
το άτομο που ξέρει να απαντήσει να μην ήταν διαθέσιμο. Αν δεν
πάρετε απάντηση για π.χ. πάνω από μια βδομάδα, μπορεί να βοηθήσει αν
ξαναστείλετε το μήνυμα. Πάντως, αν δεν πάρετε απάντηση ούτε την
δεύτερη φορά, μάλλον δεν θα βρείτε βοήθεια σε αυτή τη λίστα. Το να
στέλνετε το μήνυμα ξανά και ξανά το μόνο που θα έχει σαν αποτέλεσμα
θα είναι να μην θέλει κανείς να ασχοληθεί μαζί του.Για να ανακεφαλαιώσουμε, ας πούμε ότι ξέρετε την απάντηση στην
παρακάτω ερώτηση (ναι είναι η ίδια ερώτηση και στις δυο περιπτώσεις).
Μπορείτε να διαλέξετε ποια από τις δυο αυτές
ερωτήσεις θα προτιμούσατε να απαντήσετε:Message 1Subject: HELP!!?!??
I just can't get hits damn silly FereBSD system to
workd, and Im really good at this tsuff, but I have never seen
anythign sho difficult to install, it jst wont work whatever I try
so why don't y9ou guys tell me what I doing wrong.Message 2Subject: Problems installing FreeBSD
I've just got the FreeBSD 2.1.5 CDROM from Walnut Creek, and I'm having a lot
of difficulty installing it. I have a 66 MHz 486 with 16 MB of
memory and an Adaptec 1540A SCSI board, a 1.2GB Quantum Fireball
disk and a Toshiba 3501XA CDROM drive. The installation works just
fine, but when I try to reboot the system, I get the message
``Missing Operating System''.Πως να συμπληρώσετε μια ερώτησηΣυχνά θα θέλετε να στείλετε κάποιες παραπάνω πληροφορίες για μια
ερώτηση που έχετε κάνει ήδη. Ο καλύτερος τρόπος να το κάνετε αυτό είναι
να απαντήσετε στο ίδιο το αρχικό σας μήνυμα. Αυτό έχει τρία
πλεονεκτήματα:Περιλαμβάνετε και το αρχικό σας μήνυμα, κι έτσι κάποιος που
διαβάζει θα ξέρει σε τι αναφέρεστε. Βεβαίως, μην ξεχάσετε να κόψετε
ότι δεν είναι απαραίτητο.Το κείμενο της γραμμής θέματος παραμένει το ίδιο (θυμηθήκατε να
βάλετε κάποιο θέμα, σωστά;). Πολλά προγράμματα ηλεκτρονικής
αλληλογραφίας ταξινομούν τα μηνύματα ανάλογα με το θέμα τους. Αυτό
βοηθάει τα σχετικά μηνύματα να μένουν μαζί.Οι αριθμοί αναφοράς στην επικεφαλίδα του μηνύματος θα δείχνουν
στο προηγούμενο γράμμα. Κάποια προγράμματα ηλεκτρονικής
αλληλογραφίας, όπως το mutt, μπορούν να
ομαδοποιήσουν τα μηνύματα, δείχνοντας ακριβώς
τι σχέση έχουν το ένα με το άλλο.Πως να απαντήσετε μια ερώτησηΠριν απαντήσετε κάποια ερώτηση στην FreeBSD-questions, σκεφτείτε τα
εξής:Πολλά πράγματα από αυτά που ισχύουν για τις ερωτήσεις, ισχύουν
και για τις απαντήσεις. Διαβάστε τα πρώτα, παραπάνωΜήπως κάποιος άλλος έχει απαντήσει στην ερώτηση; Ο πιο εύκολος
τρόπος να το ελέγξετε αυτό είναι να ταξινομήσετε τα εισερχόμενα
γράμματά σας ανάλογα με το θέμα τους. Έτσι (ας ελπίσουμε) θα δείτε
την ερώτηση να ακολουθείται από τις απαντήσεις (όταν αυτές υπάρχουν)
όλες μαζί.Αν κάποιος άλλος έχει ήδη απαντήσει δεν σημαίνει πως εσείς δεν
πρέπει να απαντήσετε κάπως διαφορετικά. Αλλά έχει νόημα να διαβάστε
πρώτα όλες τις απαντήσεις.Έχετε να προσθέσετε κάτι σε όσα έχουν ήδη γραφτεί; Γενικά,
απαντήσεις του στυλ Ναι, κι εγώ δεν βοηθάνε και πολύ.
Υπάρχουν βέβαια και εξαιρέσεις, όπως όταν, για παράδειγμα, κάποιος
περιγράφει ένα πρόβλημα που έχει και δεν ξέρει αν είναι δικό του
φταίξιμο ή κάτι δεν πάει καλά είτε με το υλικό είτε με το λογισμικό
του. Αν στείλετε ωστόσο ένα κι εγώ μήνυμα, φροντίστε
τουλάχιστον να έχει όλες τις πληροφορίες που χρειάζονται.Είστε σίγουρος ότι καταλαβαίνετε την ερώτηση; Πολύ συχνά, αυτός
που ρωτάει έχει μπερδευτεί ή δεν έχει εκφραστεί με αρκετή σαφήνεια.
Ακόμα και με την καλύτερη δυνατή γνώση του συστήματος, είναι εύκολο
να στείλετε μια απάντηση που δεν απαντά στην ερώτηση. Αυτό δεν
βοηθά και πολύ. Θα αφήσετε αυτόν που ρωτάει πιο θυμωμένο και
μπερδεμένο από πριν. Αν κανείς άλλος δεν απαντήσει, και δεν είστε
ούτε εσείς σίγουρος, μπορείτε πάντα να ζητήσετε πιο πολλές
πληροφορίες.Είστε σίγουρος ότι η απάντηση σας είναι σωστή; Αν όχι περιμένετε
μια μέρα περίπου. Αν κανείς δεν στείλει κάποια καλύτερη απάντηση,
μπορείτε να απαντήσετε εσείς, γράφοντας για παράδειγμα Δεν
ξέρω αν αυτό είναι σωστό, αλλά αφού κανείς άλλος δεν έχει απαντήσει,
γιατί δεν δοκιμάζεις να αντικαταστήσεις το ATAPI CDROM σου με ένα
βάτραχο;.Αν δεν υπάρχει κάποιος καλός λόγος για να κάνετε κάτι
διαφορετικό, απαντήστε και στον αποστολέα και στην
FreeBSD-questions. Πολύς κόσμος στην FreeBSD-questions είναι
παρατηρητές: μαθαίνουν διαβάζοντας τα μηνύματα που
στέλνονται σαν απαντήσεις στους άλλους. Αν μεταφέρετε κάποιο μήνυμα
γενικού ενδιαφέροντος εκτός λίστας, στερείτε αυτούς τους αναγνώστες
από μια πολύτιμη πηγή πληροφοριών. Προσοχή όμως με τις ομαδικές
απαντήσεις. Πολύς κόσμος στέλνει απαντήσεις με εκατοντάδες Cc
αντίγραφα. Σε αυτή την περίπτωση, κόψτε τις κατάλληλες Cc
διευθύνσεις.Συμπεριλάβετε το σχετικό κείμενο από το αρχικό μήνυμα.
Αφαιρέστε ότι δεν χρειάζεται, αλλά μην το παρακάνετε. Θα
πρέπει να μπορεί κάποιος που δεν διάβασε την αρχική
ερώτηση να καταλάβει για τι πράγμα μιλάτε.Χρησιμοποιήστε κάποια τεχνική για να ξεχωρίσετε ποιο κείμενο
προέρχεται από το αρχικό μήνυμα, και ποιο έχετε προσθέσει εσείς.
Προσωπικά βρίσκω ότι βάζοντας στην αρχή κάθε γραμμής του αρχικού
μηνύματος ένα > είναι αρκετά
καλός τρόπος να γίνει κάτι τέτοιο. Το να αφήνετε κενά μετά τις
γραμμές που αρχίζουν με > και
να αφήνετε μια κενή γραμμή μεταξύ του αρχικού κειμένου και του δικού
σας επίσης βοηθά στο να είναι πιο εύκολο να διαβαστεί το
αποτέλεσμα.Βάλτε τις απαντήσεις σας στο σωστό μέρος (μετά το κείμενο στο
οποίο απαντάτε). Είναι πολύ δύσκολο να διαβαστεί μια ομάδα
απαντήσεων όπου κάθε απάντηση έρχεται πριν το κείμενο στο οποίο
απαντάει.Τα πιο πολλά προγράμματα ηλεκτρονικής αλληλογραφίας αλλάζουν το
θέμα προσθέτοντας στην αρχή ένα Re: . Αν το δικό σας
πρόγραμμα δεν το κάνει αυτόματα, θα πρέπει να το κάνετε
εσείς.Αν ο αποστολέας δεν ακολούθησε τις συμβάσεις μορφοποίησης
(γραμμές πολύ μεγάλες, άσχετη ή ασαφής γραμμή θέματος),
προτιμήστε να το διορθώσετε. Στην περίπτωση
ακατάλληλης γραμμής θέματος (όπως π.χ HELP!!??),
αλλάξτε το θέμα σε κάτι όπως Re: Difficulties with sync PPP
(was: HELP!!??). Έτσι όσοι προσπαθούν να παρακολουθήσουν
αυτή την ομάδα μηνυμάτων θα δυσκολευτούν λιγότερο να την
παρακολουθήσουν.Σε τέτοιες περιπτώσεις είναι καλό να λέτε τι κάνατε και γιατί,
αλλά προσπαθήστε να μην είστε αγενείς. Αν δείτε ότι δεν μπορείτε να απαντήσετε χωρίς να είστε αγενείς,
καλύτερα μην απαντάτε.Αν απλά θέλετε να απαντήσετε σε ένα μήνυμα λόγω της κακής του
μορφοποίησης, απαντήστε καλύτερα στον αποστολέα, κι όχι στη λίστα.
Μπορείτε απλώς να του στείλετε αυτό το κείμενο σαν απάντηση, αν
θέλετε.
diff --git a/el_GR.ISO8859-7/articles/gjournal-desktop/article.sgml b/el_GR.ISO8859-7/articles/gjournal-desktop/article.sgml
index cf20d170f9..fcd57b2530 100644
--- a/el_GR.ISO8859-7/articles/gjournal-desktop/article.sgml
+++ b/el_GR.ISO8859-7/articles/gjournal-desktop/article.sgml
@@ -1,779 +1,780 @@
%articles.ent;
]>
Υλοποίηση του UFS Journaling σε ένα Desktop ΥπολογιστήΜανώληςΚιαγιάςmanolis@FreeBSD.org2008Μανώλης Κιαγιάς$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.general;
Ένα σύστημα αρχείων που διαθέτει δυνατότητα journaling,
χρησιμοποιεί ένα αρχείο καταγραφής (journal ή ημερολόγιο) στο οποίο
γίνονται αρχικά οι εγγραφές πριν καταχωρηθούν στο κανονικό σύστημα
αρχείων. Με τον τρόπο αυτό μπορεί να εξασφαλιστεί η ακεραιότητα του
συστήματος αρχείων στην περίπτωση κατάρρευσης ή απότομης διακοπής της
τροφοδοσίας του. Η χρήση του journaling διασφαλίζει την συνολική
ακεραιότητα του συστήματος αρχείων, αλλά δεν μπορεί να διασφαλίσει
ότι δεν θα έχουμε απώλεια δεδομένων σε μεμονωμένα αρχεία τα οποία
ήταν ενδεχομένως σε χρήση την ώρα της κατάρρευσης. Ένα πλεονέκτημα
του journaling είναι η ελαχιστοποίηση του χρόνου που απαιτείται για
τον έλεγχο του συστήματος αρχείων σε περίπτωση κακού τερματισμού. Το
σύστημα αρχείων UFS που χρησιμοποιείται από το &os; δεν διαθέτει δικό
του ενσωματωμένο journaling. Ωστόσο, το πλαίσιο λειτουργιών GEOM στο
&os; 7.X παρέχει ένα νέο journal
class το οποίο δίνει αυτή τη δυνατότητα, και μάλιστα ανεξάρτητα από
το σύστημα αρχείων που χρησιμοποιείται. Στο άρθρο αυτό εξετάζουμε
πως μπορούμε να χρησιμοποιήσουμε το journaling σε ένα τυπικό desktop
μηχάνημα για εργασία γραφείου.ΕισαγωγήΑν και οι περισσότεροι εξυπηρετητές που χρησιμοποιούνται σε
περιβάλλοντα παραγωγής είναι καλά προστατευμένοι από μη-αναμενόμενους
τερματισμούς, δεν συμβαίνει το ίδιο και με το συνηθισμένο desktop
μηχάνημα το οποίο βρίσκεται στα χέρια του τελικού χρήστη. Αυτό συνήθως
δεν προστατεύεται από διακοπές ρεύματος, ενώ δεν είναι και οι λίγες οι
περιπτώσεις που ο κακός τερματισμός οφείλεται σε λανθασμένο χειρισμό
του χρήστη (κατά λάθος πίεση του reset κ.α.). Στις περισσότερες από
αυτές τις περιπτώσεις, τα Soft Updates που χρησιμοποιεί το σύστημα
αρχείων UFS μπορούν να το προστατεύσουν αρκετά καλά, αν και μετά τον
προβληματικό τερματισμό απαιτείται συνήθως έλεγχος του συστήματος
αρχείων, ο οποίος ακόμα και όταν γίνεται στο παρασκήνιο, διαρκεί
αρκετό χρόνο. Σε σπάνιες περιπτώσεις, το σύστημα αρχείων μπορεί να
υποστεί ζημιά η οποία να χρειάζεται χειροκίνητη επέμβαση για να
διορθωθεί, ενώ είναι πιθανή και η απώλεια δεδομένων.Η νέα δυνατότητα για journaling που παρέχεται από το GEOM μπορεί
να βοηθήσει ιδιαίτερα στις παραπάνω περιπτώσεις, ελαχιστοποιώντας το
χρόνο που απαιτείται για τον έλεγχο του συστήματος αρχείων και
εξασφαλίζοντας ότι το σύστημα θα επανέλθει πολύ σύντομα σε σταθερή
κατάσταση.Το άρθρο αυτό περιγράφει μια διαδικασία για την υλοποίηση του UFS
journaling σε ένα τυπικό desktop PC (στο οποίο χρησιμοποιείται ένας
σκληρός δίσκος τόσο για το σύστημα όσο και για τα δεδομένα). Θα πρέπει
να ακολουθήσετε αυτές τις οδηγίες κατά τη διάρκεια μιας νέας
εγκατάστασης του &os;. Τα βήματα είναι αρκετά απλά και δεν απαιτούν
ιδιαίτερα πολύπλοκες εντολές.Αφού διαβάσετε αυτό το άρθρο, θα ξέρετε:Πως να δεσμεύσετε κάποιο χώρο στο δίσκο για το journaling κατά
τη διάρκεια μιας νέας εγκατάστασης του &os;.Πως να φορτώσετε και να ενεργοποιήσετε το άρθρωμα (module)
geom_journal (ή πως να ενσωματώσετε τη
λειτουργία του στον προσαρμοσμένο πυρήνα σας).Πως να μετατρέψετε τα υπάρχοντα συστήματα αρχείων σας ώστε
να χρησιμοποιούν journaling, και τι παραμέτρους θα πρέπει να δώσετε
στο /etc/fstab ώστε να τα προσαρτήσετε.Πως να ενεργοποιήσετε το journaling σε νέες (άδειες)
κατατμήσεις.Πως να αντιμετωπίσετε προβλήματα που σχετίζονται με το
journaling.Πριν διαβάσετε αυτό το άρθρο, θα πρέπει:Να κατανοείτε βασικές έννοιες του &unix; και του &os;.Να είστε εξοικειωμένος με τη διαδικασία εγκατάστασης του &os;
και το βοηθητικό πρόγραμμα
sysinstall.Η διαδικασία που περιγράφεται εδώ, προορίζεται για χρήση σε νέες
εγκαταστάσεις, όπου δεν υπάρχουν ακόμα αποθηκευμένα δεδομένα χρήστη.
Αν και είναι δυνατόν να τροποποιήσετε και να επεκτείνετε τη
διαδικασία αυτή σε μηχανήματα που βρίσκονται ήδη σε κανονική χρήση,
θα πρέπει οπωσδήποτε να
πάρετε αντίγραφα ασφαλείας όλων των σημαντικών
δεδομένων πριν επιχειρήσετε οποιαδήποτε αλλαγή. Όταν κάνετε αλλαγές
στα συστήματα αρχείων και στις κατατμήσεις των δίσκων σε τέτοιο
επίπεδο, είναι πιθανόν να κάνετε λάθη τα οποία θα αποβούν μοιραία για
τα δεδομένα σας.Κατανόηση του Journaling στο &os;Το journaling που παρέχεται από το GEOM στο
&os; 7.X δεν
είναι προσανατολισμένο σε κάποιο συγκεκριμένο σύστημα αρχείων (όπως για
παράδειγμα συμβαίνει με το σύστημα αρχείων ext3 στο &linux;) αλλά
λειτουργεί σε επίπεδο block. Αν και αυτό σημαίνει ότι μπορεί να
χρησιμοποιηθεί σε διαφορετικά συστήματα αρχείων, για το
&os; 7.0-RELEASE, είναι δυνατή η χρήση του μόνο στο UFS2.Οι λειτουργίες journaling παρέχονται φορτώνοντας το άρθρωμα
geom_journal.ko στον πυρήνα (ή ενσωματώνοντας τη
λειτουργία του σε ένα προσαρμοσμένο πυρήνα) και χρησιμοποιώντας την
εντολή gjournal για τη ρύθμιση των συστημάτων
αρχείων. Η χρήση του journaling είναι γενικά θεμιτή σε μεγάλα
συστήματα αρχείων, όπως είναι το /usr. Θα
χρειαστεί ωστόσο να έχετε δεσμεύσει από πριν κάποιο ελεύθερο χώρο στο
δίσκο.Όταν γίνεται χρήση του journaling σε ένα σύστημα αρχείων, απαιτείται
κάποιος ελεύθερος χώρος για να αποθηκεύονται τα δεδομένα του ημερολογίου
καταγραφής (journal). Ο χώρος του δίσκου που αποθηκεύονται τα
πραγματικά δεδομένα αναφέρεται ως παροχέας δεδομένων (data
provider), ενώ ο χώρος στον οποίο αποθηκεύεται το ημερολόγιο
ονομάζεται παροχέας ημερολογίου (journal provider).
Σε περίπτωση που το journaling γίνεται σε σύστημα αρχείων το οποίο έχει
ήδη δεδομένα, οι δύο παροχείς πρέπει να βρίσκονται σε διαφορετικές
κατατμήσεις. Σε περίπτωση χρήσης journaling σε νέα κατάτμηση, έχετε την
επιλογή να χρησιμοποιήσετε τον ίδιο παροχέα και για τα δεδομένα και για
το ημερολόγιο. Σε κάθε περίπτωση, με τη χρήση της εντολής
gjournal, οι δύο παροχείς συνδυάζονται για να
δημιουργήσουν το τελικό σύστημα αρχείων που υποστηρίζει journaling.
Για παράδειγμα:Θέλετε να χρησιμοποιήσετε journaling στο σύστημα αρχείων
/usr, το οποίο βρίσκεται στο
/dev/ad0s1f (το σύστημα
αρχείων περιέχει ήδη δεδομένα).Έχετε κρατήσει κάποιο κενό χώρο στο δίσκο, σε μια κατάτμηση
στο /dev/ad0s1g.Με την χρήση της εντολής gjournal, θα
δημιουργηθεί μια νέα συσκευή, η
/dev/ad0s1f.journal, όπου
το /dev/ad0s1f θα είναι ο
παροχέας δεδομένων και το
/dev/ad0s1g θα είναι ο
παροχέας ημερολογίου. Η νέα αυτή συσκευή θα χρησιμοποιείται πλέον
για όλες τις εργασίες που θα εκτελούνται στο σύστημα αρχείων.Ο χώρος στο δίσκο που απαιτείται για το ημερολόγιο εξαρτάται από
τη χρήση του συστήματος αρχείων, και όχι από το μέγεθος του παροχέα
δεδομένων. Για παράδειγμα, σε ένα τυπικό μηχάνημα γραφείου, θα είναι
αρκετό να χρησιμοποιήσετε 1 GB για τον παροχέα ημερολογίου του
συστήματος αρχείων /usr, ενώ σε ένα μηχάνημα το
οποίο χρησιμοποιείται σε εργασίες όπου οι εγγραφές στο δίσκο είναι πολύ
συχνές και μεγάλες σε μέγεθος (π.χ. επεξεργασία video) θα χρειαστείτε
περισσότερο χώρο. Σε περίπτωση που ο χώρος που έχει δεσμευθεί για το
ημερολόγιο εξαντληθεί πριν γίνει δυνατή η εγγραφή δεδομένων στο
κανονικό σύστημα αρχείων, το σύστημα θα καταρρεύσει με kernel
panic.Τα μεγέθη που προτείνονται εδώ για τον παροχέα ημερολογίου,
είναι απίθανο να προκαλέσουν πρόβλημα σε τυπική χρήση γραφείου
(περιήγηση στο διαδίκτυο, επεξεργασία κειμένου, αναπαραγωγή
πολυμέσων). Αν ωστόσο το είδος της εργασίας σας περιλαμβάνει έντονη
χρήση του σκληρού δίσκου, μπορείτε να χρησιμοποιήσετε τον ακόλουθο
κανόνα για τη μεγαλύτερη δυνατή αξιοπιστία: όλη η μνήμη RAM του
συστήματος σας πρέπει να χωράει στο 30% του χώρου του ημερολογίου.
Για παράδειγμα, αν το σύστημα σας έχει 1 GB RAM, θα πρέπει να
δημιουργήσετε ημερολόγιο μεγέθους περίπου 3.3 GB.
(Πολλαπλασιάστε το μέγεθος της RAM με το 3.3 για να βρείτε το μέγεθος
του ημερολογίου.)Για περισσότερες πληροφορίες σχετικά με το journaling, παρακαλούμε
διαβάστε τη σελίδα manual του &man.gjournal.8;.Βήματα Κατά την Εγκατάσταση του &os;Δέσμευση Χώρου στο Δίσκο για το JournalingΈνα τυπικό desktop μηχάνημα, έχει συνήθως ένα σκληρό δίσκο στον
οποίο αποθηκεύονται τόσο το λειτουργικό όσο και τα δεδομένα του
χρήστη. Συνήθως, οι προεπιλεγμένες κατατμήσεις που δημιουργούνται
από το sysinstall είναι περίπου σωστές:
Ένα desktop μηχάνημα δεν χρειάζεται μεγάλη κατάτμηση
/var, ενώ το μεγαλύτερο μέρος του ελεύθερου
χώρου αποδίδεται στο /usr, αφού στους
υποκαταλόγους του αποθηκεύονται τα δεδομένα του χρήστη και γίνονται
και οι εγκαταστάσεις του λογισμικού.Χρησιμοποιώντας τις προεπιλεγμένες κατατμήσεις (αυτές που
δημιουργεί ο επεξεργαστής Disklabel όταν
πιέσετε το A), δεν μένει καθόλου ελεύθερος χώρος.
Ωστόσο κάθε κατάτμηση στην οποία θέλετε να χρησιμοποιήσετε
journaling, χρειάζεται ακόμα μία για την αποθήκευση του ημερολογίου.
Καθώς η κατάτμηση /usr είναι η μεγαλύτερη, το
πλέον λογικό είναι να την μικρύνουμε ελαφρά ώστε να εξασφαλίσουμε το
χώρο που απαιτείται για το journaling.Στο παράδειγμα μας, χρησιμοποιείται ένας δίσκος μεγέθους
80 GB. Στην ακόλουθη εικόνα φαίνονται οι προεπιλεγμένες
κατατμήσεις όπως δημιουργούνται από τον επεξεργαστή
Disklabel κατά την εγκατάσταση:Αν τα παραπάνω μεγέθη είναι περίπου τα επιθυμητά για την
εγκατάσταση σας, είναι αρκετά εύκολο να ρυθμιστούν ώστε να γίνει
δυνατή η χρήση του journaling. Απλώς χρησιμοποιήστε τα
πλήκτρα με τα βελάκια για να
μετακινήσετε την μπάρα επιλογής στην κατάτμηση
/usr και πιέστε το D για να
την διαγράψετε.Τώρα, μετακινήστε την μπάρα επιλογής στο όνομα του σκληρού δίσκου
στο άνω μέρος της οθόνης, και πιέστε C για να
δημιουργήσετε μια νέα κατάτμηση για το /usr.
Η νέα αυτή κατάτμηση θα πρέπει να είναι μικρότερη κατά 1 GB
(αν έχετε σκοπό να χρησιμοποιήσετε journaling μόνο στο
/usr), ή κατά 2 GB (αν έχετε σκοπό να
χρησιμοποιήσετε journaling τόσο στο /usr όσο και
στο /var). Στο διάλογο που θα εμφανιστεί,
επιλέξτε να δημιουργήσετε σύστημα αρχείων (file system) και γράψτε
/usr ως το σημείο προσάρτησης
(mount point).Είναι αναγκαία η χρήση journaling στην κατάτμηση
/var partition; Φυσιολογικά, το journaling έχει
νόημα μόνο σε αρκετά μεγάλες κατατμήσεις. Δεν πρόκειται ωστόσο να
δημιουργηθεί κάποιο πρόβλημα αν χρησιμοποιήσετε journaling στο
/var. Αν η χρήση του συγκεκριμένου συστήματος
αρχείων είναι μικρή (το οποίο είναι και το πιθανότερο σε ένα
dekstop μηχάνημα) ίσως είναι καλή ιδέα να χρησιμοποιήσετε λιγότερο
χώρο στο δίσκο για το ημερολόγιο του.Στο παράδειγμα μας, θα ενεργοποιήσουμε το journaling τόσο στο
/usr όσο και στο /var.
Μπορείτε φυσικά να προσαρμόσετε αυτή τη διαδικασία σύμφωνα με τις
ανάγκες σας.Για να απλοποιήσουμε, όσο είναι δυνατόν, τη διαδικασία, θα
χρησιμοποιήσουμε το sysinstall για να
δημιουργήσουμε τις κατατμήσεις που απαιτούνται για το journaling.
Ωστόσο, κατά τη διάρκεια της εγκατάστασης, το
sysinstall επιμένει να ρωτάει για σημεία
προσάρτησης σε κάθε κατάτμηση που δημιουργείται. Στο σημείο αυτό,
δεν υπάρχουν σημεία προσάρτησης για τις κατατμήσεις μας, και στην
πραγματικότητα δεν τα χρειαζόμαστε καν. Οι
κατατμήσεις που χρησιμοποιούνται για τα ημερολόγια, δεν προσαρτώνται
κάπου.Για να αποφύγουμε αυτά τα προβλήματα με το
sysinstall, θα δημιουργήσουμε αυτές τις
κατατμήσεις ως χώρο swap. Στο swap δεν γίνεται ποτέ προσάρτηση,
ενώ και το sysinstall δεν έχει κανένα
πρόβλημα να δημιουργήσει όσες τέτοιες κατατμήσεις χρειαζόμαστε. Μετά
την πρώτη εκκίνηση, θα πρέπει ωστόσο να επεξεργαστούμε το αρχείο
/etc/fstab και να αφαιρέσουμε τις έξτρα
καταχωρήσεις swap που δημιουργήθηκαν κατά την εγκατάσταση.Για να δημιουργήσετε τους χώρους swap, χρησιμοποιήστε πάλι τα
πλήκτρα με τα βελάκια για να
μετακινήσετε την μπάρα επιλογής στο άνω μέρος της οθόνης του
επεξεργαστή Disklabel, έτσι ώστε να είναι
επιλεγμένο το όνομα του σκληρού δίσκου. Κατόπιν, πιέστε
N, δώστε το επιθυμητό μέγεθος
(1024M), και επιλέξτε
swap space από το μενού που εμφανίζεται. Επαναλάβετε
για κάθε ημερολόγιο που επιθυμείτε να δημιουργήσετε. Στο παράδειγμα
μας, δημιουργούμε δύο κατατμήσεις στις οποίες θα αποθηκεύονται τα
ημερολόγια των /usr και
/var. Το τελικό αποτέλεσμα φαίνεται στην
παρακάτω εικόνα:Μόλις ολοκληρώσετε τη δημιουργία των κατατμήσεων, σας συνιστούμε
να σημειώσετε τα ονόματα τους και τα σημεία προσάρτησης για να τα
έχετε πρόχειρα κατά τη φάση των ρυθμίσεων. Με τον τρόπο αυτό θα
αποφύγετε τυχόν λάθη που μπορεί να καταστρέψουν την εγκατάσταση σας.
Ο παρακάτω πίνακας δείχνει τις σημειώσεις μας για το παράδειγμα
μας:
Κατατμήσεις και ΗμερολόγιαΚατάτμησηΣημείο ΠροσάρτησηςΗμερολόγιοad0s1d/varad0s1had0s1f/usrad0s1g
Συνεχίστε την εγκατάσταση όπως συνήθως. Σας συνιστούμε ωστόσο να
μην εγκαταστήσετε εφαρμογές (πακέτα) μέχρι να ολοκληρώσετε τη
διαδικασία του journaling.Πρώτη ΕκκίνησηΤο σύστημα σας θα ξεκινήσει φυσιολογικά, αλλά θα χρειαστεί να
επεξεργαστείτε το /etc/fstab και να διαγράψετε
τις καταχωρήσεις για τις κατατμήσεις swap που θα χρησιμοποιηθούν στα
ημερολόγια. Φυσιολογικά, η κατάτμηση που χρησιμοποιείται ως κανονικό
swap τελειώνει με το γράμμα b (π.χ. ad0s1b στο
παράδειγμα μας). Διαγράψτε όλες τις άλλες καταχωρήσεις για το swap
και επανεκκινήστε το σύστημα σας, ώστε να σταματήσει το &os; να τις
χρησιμοποιεί.Μόλις το σύστημα εκκινήσει ξανά, θα είμαστε έτοιμοι να ρυθμίσουμε
το journaling.Ρύθμιση του JournalingΕκτέλεση της Εντολής gjournalΈχοντας προετοιμάσει όλες τις απαραίτητες κατατμήσεις, είναι
σχετικά απλό να ρυθμίσουμε το journaling. Θα πρέπει να μεταβούμε σε
κατάσταση ενός χρήστη, για το λόγο αυτό εισέλθετε στο σύστημα ως
root και γράψτε:&prompt.root; shutdown nowΠιέστε Enter για να βγείτε στο προεπιλεγμένο
κέλυφος. Θα πρέπει να αποπροσαρτήσουμε τις κατατμήσεις στις οποίες
θα γίνει το journaling, στο παράδειγμα μας τις
/usr και /var:&prompt.root; umount /usr /varΦορτώστε το άρθρωμα του πυρήνα που απαιτείται για το
journaling:&prompt.root; gjournal loadΧρησιμοποιήστε τώρα τις σημειώσεις σας για να καθορίσετε
ποια κατάτμηση χρησιμοποιείται για κάθε ημερολόγιο. Στο
παράδειγμα μας, το /usr βρίσκεται στο
ad0s1f και το ημερολόγιο του
θα είναι στο ad0s1g, ενώ το
/var είναι στο
ad0s1d και το ημερολόγιο του
θα είναι στο ad0s1h. Θα
χρειαστείτε τις παρακάτω εντολές:&prompt.root; gjournal label ad0s1f ad0s1g
GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data.
GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal.
&prompt.root; gjournal label ad0s1d ad0s1h
GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data.
GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.Αν ο τελευταίος τομέας κάποιας από τις κατατμήσεις είναι σε
χρήση, η εντολή gjournal θα σας επιστρέψει ένα
μήνυμα λάθους. Θα πρέπει να εκτελέσετε την εντολή χρησιμοποιώντας
την παράμετρο με την οποία θα υποχρεώσετε την
επανεγγραφή του τομέα, π.χ.:&prompt.root; gjournal label -f ad0s1d ad0s1hΜια που πρόκειται για νέα εγκατάσταση, είναι μάλλον απίθανο
να προκαλέσετε κάποιο πρόβλημα.Στο σημείο αυτό δημιουργούνται δύο νέες συσκευές, οι
ad0s1d.journal και
ad0s1f.journal. Αυτές
αντιπροσωπεύουν τις κατατμήσεις
/var και /usr
που θα πρέπει να προσαρτήσουμε. Πριν τις προσαρτήσουμε ωστόσο,
θα πρέπει να θέσουμε την επιλογή journal και να αναιρέσουμε την
επιλογή Soft Updates:&prompt.root; tunefs -J enable -n disable ad0s1d.journal
tunefs: gjournal set
tunefs: soft updates cleared
&prompt.root; tunefs -J enable -n disable ad0s1f.journal
tunefs: gjournal set
tunefs: soft updates clearedΠροσαρτήστε τώρα χειροκίνητα τις νέες συσκευές στα αντίστοιχα
σημεία προσάρτησης (σημειώστε ότι μπορούμε πλέον να χρησιμοποιήσουμε
την επιλογή κατά την προσάρτηση):&prompt.root; mount -o async /dev/ad0s1d.journal /var
&prompt.root; mount -o async /dev/ad0s1f.journal /usrΕπεξεργαστείτε το αρχείο /etc/fstab και
ανανεώστε τις καταχωρήσεις για τις κατατμήσεις
/usr και /var:/dev/ad0s1f.journal /usr ufs rw,async 2 2
/dev/ad0s1d.journal /var ufs rw,async 2 2Βεβαιωθείτε ότι οι παραπάνω καταχωρήσεις είναι σωστές,
διαφορετικά θα έχετε πρόβλημα να εκκινήσετε κανονικά στην επόμενη
επανεκκίνηση του συστήματος σας.Τέλος, επεξεργαστείτε το αρχείο
/boot/loader.conf και προσθέστε την ακόλουθη
γραμμή ώστε να φορτώνεται το άρθρωμα &man.gjournal.8; σε κάθε
εκκίνηση:geom_journal_load="YES"Συγχαρητήρια! Το σύστημα σας είναι τώρα έτοιμο για journaling.
Μπορείτε να γράψετε exit για να επιστρέψετε
στην κανονική λειτουργία (πολλαπλών χρηστών) ή να επανεκκινήσετε το
σύστημα σας (συνίσταται) για να ελέγξετε τις ρυθμίσεις σας. Κατά την
εκκίνηση, θα δείτε μηνύματα όπως το παρακάτω:ad0: 76293MB XEC XE800JD-00HBC0 08.02D08 at ata0-master SATA150
GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal.
GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.
GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data.
GEOM_JOURNAL: Journal ad0s1d clean.
GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data.
GEOM_JOURNAL: Journal ad0s1f clean.Μετά από ένα προβληματικό τερματισμό θα δείτε μηνύματα όπως το
παρακάτω:GEOM_JOURNAL: Journal ad0s1d consistent.Αυτό συνήθως σημαίνει ότι το &man.gjournal.8; χρησιμοποίησε τις
πληροφορίες του ημερολογίου για να επιστρέψει το σύστημα αρχείων
σε σταθερή κατάσταση.Χρήση του Journaling σε Νέες ΚατατμήσειςΑν και η παραπάνω διαδικασία είναι απαραίτητη για να
χρησιμοποιήσετε journaling σε κατατμήσεις που έχουν ήδη δεδομένα, η
αντίστοιχη διαδικασία για νέες κατατμήσεις είναι πιο απλή. Στην
περίπτωση αυτή, μπορεί να χρησιμοποιηθεί ο ίδιος παροχέας τόσο για
τα δεδομένα όσο και για το ημερολόγιο. Για παράδειγμα, υποθέστε ότι
έχετε προσθέσει ένα νέο δίσκο και έχετε δημιουργήσει την κατάτμηση
/dev/ad1s1d. Η δημιουργία του
ημερολογίου είναι αρκετά απλή και φαίνεται παρακάτω:&prompt.root; gjournal label ad1s1dΤο προεπιλεγμένο μέγεθος του ημερολογίου είναι 1 GB.
Μπορείτε ωστόσο να το ρυθμίσετε χρησιμοποιώντας την επιλογή
. Μπορείτε να δώσετε τιμές σε bytes, ή να βάλετε
μετά την τιμή ένα από τα γράμματα K,
M ή G για να δηλώσετε
Kilobytes, Megabytes ή Gigabytes αντίστοιχα. Σημειώστε ότι η εντολή
gjournal, δεν θα σας επιτρέψει να δημιουργήσετε
ημερολόγιο που να είναι ακατάλληλο λόγω μικρού μεγέθους.Για παράδειγμα, για να δημιουργήσετε ένα ημερολόγιο μεγέθους
2 GB, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:&prompt.root; gjournal label -s 2G ad1s1dΜπορείτε έπειτα να δημιουργήσετε ένα σύστημα αρχείων στη νέα σας
κατάτμηση, και ταυτόχρονα να ενεργοποιήσετε το journaling,
χρησιμοποιώντας την επιλογή :&prompt.root; newfs -J /dev/ad1s1d.journalΕνσωμάτωση του Journaling σε Προσαρμοσμένο ΠυρήναΑν δεν θέλετε να φορτώσετε το geom_journal ως
άρθρωμα, μπορείτε να ενσωματώσετε τις λειτουργίες του στον
προσαρμοσμένο πυρήνα σας. Επεξεργαστείτε το αρχείο ρυθμίσεων του
πυρήνα, και βεβαιωθείτε ότι περιλαμβάνει τις ακόλουθες δύο
γραμμές:options UFS_GJOURNAL # Σημείωση: η επιλογή αυτή υπάρχει στο GENERIC
options GEOM_JOURNAL # Θα πρέπει να προσθέσετε αυτή τη γραμμήΜεταγλωττίστε και επανεγκαταστήστε τον πυρήνα σας χρησιμοποιώντας
τις σχετικές
οδηγίες στο Εγχειρίδιο του &os;.Μην ξεχάσετε να αφαιρέσετε την αντίστοιχη καταχώρηση
load από το αρχείο
/boot/loader.conf αν την είχατε χρησιμοποιήσει
προηγουμένως.Αντιμετώπιση ΠροβλημάτωνΤο ακόλουθο τμήμα καλύπτει συχνές ερωτήσεις σχετικά με προβλήματα
που μπορείτε να συναντήσετε στην υλοποίηση του jounaling.Κατά τη διάρκεια έντονης χρήσης του δίσκου, το σύστημα μου
σταματάει με kernel panic. Υπάρχει περίπτωση αυτό να σχετίζεται
με το journaling;Είναι πιθανό το ημερολόγιο να γεμίζει πριν προλάβουν τα
προηγούμενα δεδομένα του να μεταφερθούν στο σύστημα αρχείων. Θα
πρέπει να θυμάστε ότι το μέγεθος του ημερολογίου δεν εξαρτάται
από το μέγεθος του παροχέα δεδομένων, αλλά από το φόρτο εργασίας
του. Αν η δραστηριότητα του δίσκου σας είναι υψηλή, θα
χρειαστείτε μεγαλύτερο μέγεθος για την κατάτμηση του
ημερολογίου. Δείτε τη σχετική σημείωση στην ενότητα Κατανόηση του Journaling.Έκανα κάποιο λάθος στις ρυθμίσεις, και δεν μπορώ πλέον να
ξεκινήσω κανονικά το σύστημα μου. Υπάρχει τρόπος να το
διορθώσω;Πιθανόν ξεχάσατε να προσθέσετε (ή έχετε κάνει λάθος) την
καταχώρηση στο /boot/loader.conf, ή ίσως
υπάρχει λάθος στο αρχείο /etc/fstab. Τα
λάθη αυτά συνήθως διορθώνονται εύκολα.
Πιέστε Enter για να ξεκινήσετε το προεπιλεγμένο
κέλυφος λειτουργίας ενός χρήστη. Μετά εντοπίστε την πηγή του
προβλήματος:&prompt.root; cat /boot/loader.confΑν λείπει ή υπάρχει λάθος στην καταχώρηση
geom_journal_load, οι αντίστοιχες συσκευές
δεν δημιουργούνται καν. Μπορείτε να φορτώσετε το άρθρωμα
χειροκίνητα, να προσαρτήσετε όλες τις κατατμήσεις, και να
συνεχίσετε με την κανονική εκκίνηση:&prompt.root; gjournal load
GEOM_JOURNAL: Journal 2948326772: ad0s1g contains journal.
GEOM_JOURNAL: Journal 3193218002: ad0s1h contains journal.
GEOM_JOURNAL: Journal 3193218002: ad0s1d contains data.
GEOM_JOURNAL: Journal ad0s1d clean.
GEOM_JOURNAL: Journal 2948326772: ad0s1f contains data.
GEOM_JOURNAL: Journal ad0s1f clean.
&prompt.root; mount -a
&prompt.root; exit(η εκκίνηση συνεχίζεται)Αν ωστόσο η καταχώρηση αυτή είναι σωστή, ρίξτε μια ματιά
στο αρχείο /etc/fstab. Το πιο πιθανό είναι
να βρείτε ότι κάποια καταχώρηση λείπει, ή είναι λάθος.
Στην περίπτωση αυτή, προσαρτήστε χειροκίνητα όλες τις κατατμήσεις
και συνεχίστε την εκκίνηση κανονικά.Μπορώ να καταργήσω το journaling και να επιστρέψω στο
κανονικό σύστημα αρχείων με τα Soft Updates;Βέβαια. Χρησιμοποιήστε την ακόλουθη διαδικασία η οποία
αναιρεί τις αλλαγές. Μπορείτε έπειτα να χρησιμοποιήσετε τις
κατατμήσεις των ημερολογίων για άλλο σκοπό, εφόσον το
επιθυμείτε.Εισέλθετε ως root και μεταβείτε σε
κατάσταση ενός χρήστη:&prompt.root; shutdown nowΣυγχρονίστε τα ημερολόγια:&prompt.root; gjournal syncΑποπροσαρτήστε τις κατατμήσεις που χρησιμοποιούν
journaling:&prompt.root; umount /usr /varΣταματήστε τους παροχείς ημερολογίου:&prompt.root; gjournal stop ad0s1d.journal
&prompt.root; gjournal stop ad0s1f.journalΔιαγράψτε τα metadata του journaling από όλες τις συσκευές
που χρησιμοποιήσατε:&prompt.root; gjournal clear ad0s1d
&prompt.root; gjournal clear ad0s1f
&prompt.root; gjournal clear ad0s1g
&prompt.root; gjournal clear ad0s1hΑναιρέστε την επιλογή του journaling, και θέστε ξανά την
επιλογή για Soft Updates:&prompt.root; tunefs -J disable -n enable ad0s1d
tunefs: gjournal cleared
tunefs: soft updates set
&prompt.root; tunefs-J disable -n enable ad0s1f
tunefs: gjournal cleared
tunefs: soft updates setΠροσαρτήστε χειροκίνητα τις κανονικές κατατμήσεις:&prompt.root; mount -o rw /dev/ad0s1d /var
&prompt.root; mount -o rw /dev/ad0s1f /usrΕπεξεργαστείτε το /etc/fstab και
επαναφέρατε τις προηγούμενες ρυθμίσεις:/dev/ad0s1f /usr ufs rw 2 2
/dev/ad0s1d /var ufs rw 2 2Τέλος, επεξεργαστείτε το αρχείο
/boot/loader.conf, αφαιρέστε την καταχώρηση
που φορτώνει το άρθρωμα geom_journal και
επανεκκινήστε το σύστημα σας.Επιπλέον ΠληροφορίεςΤο journaling είναι μια σχετικά νέα δυνατότητα του &os;, και έτσι
δεν είναι ακόμα καλά τεκμηριωμένη. Ίσως όμως να βρείτε χρήσιμες
πληροφορίες στις παρακάτω αναφορές:Υπάρχει ένα νέο τμήμα για το journaling
στο Εγχειρίδιο του &os;.Αυτή η δημοσίευση στη λίστα
&a.current.name; από τον δημιουργό του &man.gjournal.8;, &a.pjd;.Αυτή η δημοσίευση στη λίστα
&a.questions.name; από τον &a.ivoras;.Οι σελίδες manual του &man.gjournal.8; και &man.geom.8;.
diff --git a/el_GR.ISO8859-7/articles/greek-language-support/article.sgml b/el_GR.ISO8859-7/articles/greek-language-support/article.sgml
index 3f9cd77acc..8471d57f94 100644
--- a/el_GR.ISO8859-7/articles/greek-language-support/article.sgml
+++ b/el_GR.ISO8859-7/articles/greek-language-support/article.sgml
@@ -1,425 +1,426 @@
%articles.ent;
]>
Υποστήριξη της Ελληνικής Γλώσσας στο &os;ΝικόλαοςΚόκκαληςnickkokkalis@yahoo.co.uk200620072008Νικόλαος Κόκκαλης$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.general;
Αυτό το κείμενο δίνει οδηγίες για τις ρυθμίσεις που χρειάζονται,
ώστε να μπορούμε να διαβάσουμε και να γράψουμε Ελληνικά στο &os;, τόσο
σε κατάσταση κονσόλας όσο και χρησιμοποιώντας το γραφικό
περιβάλλον &xorg;.ΕισαγωγήΗ ρύθμιση της υποστήριξης του &os; για την Ελληνική γλώσσα είναι
αρκετά εύκολη, σε κάθε επίπεδο. Με σχετικά λίγες ρυθμίσεις, μπορεί να
γράψει και να διαβάσει κανείς σωστά Ελληνικά με την επίσημη κωδικοποίηση
&iso-greek;, τόσο σε κατάσταση κονσόλας όσο και μέσα από το γραφικό
περιβάλλον &xorg;. Αν και οι ρυθμίσεις που
αφορούν αποκλειστικά στο &os; είναι αυτές της κονσόλας, εδώ θα
αναφερθούν και αυτές που αφορούν και
τα &xorg; αλλά και τις επιμέρους
εφαρμογές.Αφού διαβάσετε αυτό το άρθρο θα ξέρετε:Που θα βρείτε Ελληνικές γραμματοσειρές, τόσο για την κονσόλα του
&os; όσο και για &xorg;.Πώς να ορίσετε μια αντιστοιχία πληκτρολογίου
(keymap) σε κατάσταση κονσόλας, η οποία να επιτρέπει
την εισαγωγή Ελληνικού κειμένου, με την κωδικοποίηση &iso-greek;.Πώς να ορίσετε ότι η προκαθορισμένη γραμματοσειρά σε κατάσταση
κονσόλας θα είναι κάποια που έχει Ελληνικούς χαρακτήρες.Πώς να ορίσετε μια αντιστοιχία πληκτρολογίου
(keymap) σε κατάσταση γραφικών, η οποία να επιτρέπει
την εισαγωγή Ελληνικού κειμένου, με την κωδικοποίηση &iso-greek;.Πώς να στήσετε γραμματοσειρές για το γραφικό περιβάλλον του
&os;, οι οποίες θα έχουν υποστήριξη τόσο για UTF-8 όσο και για
&iso-greek; Ελληνικά.Ρυθμίσεις για Ελληνικά στην κονσόλα του &os;Στην κονσόλα οι ρυθμίσεις αφορούν δύο στάδια. Το πρώτο στάδιο
γίνεται κατά τον ίδιο τρόπο πάντα, ενώ το δεύτερο διαφοροποιείται
ανάλογα με το κέλυφος (shell).Ρυθμίσεις για την προκαθορισμένη γραμματοσειρά της κονσόλας και
μια αντιστοιχία πληκτρολογίου με υποστήριξη για Ελληνικά.Ρυθμίσεις έτσι ώστε το περιβάλλον του κελύφους να υποστηρίζει
την Ελληνική γλώσσα.Ελληνική γραμματοσειρά και αντιστοιχία πληκτρολογίου για την
κονσόλαΓια να μπορέσουμε να διαβάσουμε και να γράψουμε Ελληνικά με την
κωδικοποίηση &iso-greek; στην κονσόλα του &os; χρειαζόμαστε
τουλάχιστον δύο αρχεία: μια γραμματοσειρά και μια αντιστοιχία
πληκτρολογίου.Ο &a.keramida; έχει φτιάξει μια τέτοια γραμματοσειρά και μια
αντιστοιχία πληκτρολογίου. Αυτά τα δύο αρχεία δεν είναι μέρος του
βασικού συστήματος του &os; τη στιγμή που γράφονται αυτές οι γραμμές,
οπότε θα χρειαστεί να τα κατεβάσετε από το δίκτυο. Για να κατεβάσετε
τα δύο αρχεία που χρειάζονται και να τα τοποθετήσετε στον κατάλληλο
κατάλογο για τον τύπο του κάθε αρχείου, μπορείτε να τρέξετε τις
παρακάτω εντολές:&prompt.root; cd /usr/share/syscons/fonts
&prompt.root; fetch 'http://people.freebsd.org/~keramida/files/grfixed-8x16.fnt'
&prompt.root; cd /usr/share/syscons/keymaps
&prompt.root; fetch 'http://people.freebsd.org/~keramida/files/keramida.el-iso.kbd'Ενεργοποίηση της Ελληνικής υποστήριξης στην κονσόλαΓια να ορίσουμε ως προκαθορισμένη γραμματοσειρά και αντιστοιχία
πληκτρολογίου αυτές που κατεβάσαμε, αρκεί να βάλουμε στο
αρχείο /etc/rc.conf τις παρακάτω
ρυθμίσεις:font8x16="grfixed-8x16"
keymap="keramida.el-iso"Με αυτές τις ρυθμίσεις, το σύστημά μας θα χρησιμοποιεί τα αρχεία
που μόλις κατεβάσαμε από την επόμενη φορά που θα ξεκινήσει. Στο &os;
δε χρειάζεται όμως να κάνουμε επανεκκίνηση για μια τέτοια μικρή
αλλαγή. Μπορούμε απλά να τρέξουμε σε μια κονσόλα τις εντολές:&prompt.user; vidcontrol -f 8x16 grfixed-8x16 < /dev/ttyv0
&prompt.user; kbdcontrol -l keramida.el-iso < /dev/ttyv0Αυτές οι εντολές θα φορτώσουν εκείνη τη στιγμή τη νέα
γραμματοσειρά κονσόλας, και τη νέα αντιστοιχία πληκτρολογίου.Ρυθμίσεις για το κέλυφος χρήστηΜε τις ρυθμίσεις που έχουμε κάνει ως τώρα δεν έχει ενεργοποιηθεί
πλήρως η Ελληνική υποστήριξη. Κάθε πρόγραμμα που τρέχει στο &os;,
ακόμα και το κέλυφος χρήστη που χρησιμοποιούμε, εξαρτάται από τις
τρέχουσες ρυθμίσεις locale, για να ξέρει σε τι γλώσσα
δουλεύουμε.Οι προκαθορισμένες ρυθμίσεις locale υποστηρίζουν μόνο την εισαγωγή
και ανάγνωση κειμένου σε Αγγλικά, οπότε πρέπει να αλλάζουμε τις
ρυθμίσεις αυτές για να μπορεί το κέλυφος μας να δουλέψει σωστά με την
Ελληνική γλώσσα.Ρυθμίσεις για το κέλυφος &man.sh.1;Αν το κέλυφος που χρησιμοποιούμε είναι το &man.sh.1;, πρέπει να
βάλουμε στο αρχείο .profile του λογαριασμού μας
τις εξής ρυθμίσεις:export LANG="el_GR.ISO8859-7"
export LC_CTYPE="el_GR.ISO8859-7"
export LC_COLLATE="el_GR.ISO8859-7"
unset LC_ALL LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIMEΡυθμίσεις για το κέλυφος &man.csh.1;Αν το κέλυφος που χρησιμοποιούμε είναι το &man.csh.1;, πρέπει να
βάλουμε στο αρχείο .cshrc του λογαριασμού μας
τις εξής ρυθμίσεις:setenv LANG "C"
setenv LC_CTYPE "el_GR.ISO8859-7"
setenv LC_COLLATE "el_GR.ISO8859-7"
unsetenv LC_ALL LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIMEΡυθμίσεις για το κέλυφος bashΑν το κέλυφος που χρησιμοποιούμε είναι
το bash, πρέπει να βάλουμε στο
αρχείο .bashrc του λογαριασμού μας τις εξής
ρυθμίσεις:export LANG="el_GR.ISO8859-7"
export LC_CTYPE="el_GR.ISO8859-7"
export LC_COLLATE="el_GR.ISO8859-7"
unset LC_ALL LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIMEΕπίσης, ειδικά για το bash, πρέπει να
βάλουμε και τις εξής ρυθμίσεις στο
αρχείο .inputrc του λογαριασμού μας:set convert-meta Off
set input-meta On
set output-meta OnΡυθμίσεις για Ελληνικά στο γραφικό περιβάλλον &xorg;Τα πιο συνηθισμένα γραφικό περιβάλλον εργασίας σε &os; βασίζονται
στην πλατφόρμα &xorg;. Οι ρυθμίσεις για
υποστήριξη Ελληνικών σε &xorg; είναι εντελώς ίδιες με αυτές που
χρησιμοποιεί το περιβάλλον &xorg; και σε άλλα UNIX συστήματα (π.χ. σε
GNU/Linux).Αρχικά, πρέπει να ρυθμίσετε το περιβάλλον &xorg; έτσι ώστε να ξεκινά
σωστά—ακόμη και χωρίς Ελληνικά. Για πληροφορίες σχετικά με τις
πρώτες αυτές ρυθμίσεις,
δείτε το αντίστοιχο κεφάλαιο
στο Εγχειρίδιο του &os;.Αφού καταφέρετε να ρυθμίσετε τα πάντα για να ξεκινά το γραφικό
περιβάλλον &xorg;, πρέπει να τοποθετήσετε τις παρακάτω γραμμές στο
αρχείο /etc/x11/xorg.conf:Section "InputDevice"
Identifier "Keyboard1"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,el"
Option "XkbOptions" "grp:alt_shift_toggle"
EndSectionΑν στο αρχείο /etc/x11/xorg.conf υπάρχει ήδη
ένα τέτοιο τμήμα, μπορείτε να τροποποιήσετε το υπάρχον τμήμα.
Χρησιμοποιήστε τον χαρακτήρα # για να
σχολιάσετε όποιες γραμμές δε θέλετε να κρατήσετε από το αρχικό
InputDevice.Γενικά, υπάρχουν τουλάχιστον δύο
διαφορετικά InputDevice τμήματα σε
ένα συνηθισμένο αρχείο /etc/x11/xorg.conf:
ένα για το προκαθορισμένο πληκτρολόγιο κι ένα για το προκαθορισμένο
ποντίκι. Προσοχή να κάνετε όποιες τροποποιήσεις έχετε κατά νου στο
τμήμα το οποίο αναφέρει το πληκτρολόγιο (αυτό σημαίνει
το Identifier "Keyboard1"
παραπάνω).Με τις ρυθμίσεις που έχουμε κάνει ως τώρα δεν έχει ενεργοποιηθεί
πλήρως η Ελληνική υποστήριξη. Στο &os; κάθε πρόγραμμα, ακόμα και το
περιβάλλον &xorg; που χρησιμοποιούμε, εξαρτάται από τις τρέχουσες
ρυθμίσεις locale, για να ξέρει σε τι γλώσσα δουλεύουμε.Οι προκαθορισμένες ρυθμίσεις locale υποστηρίζουν μόνο την εισαγωγή
και ανάγνωση κειμένου σε Αγγλικά, οπότε πρέπει να αλλάζουμε τις
ρυθμίσεις αυτές για να μπορεί το περιβάλλον &xorg; να δουλέψει σωστά με
την Ελληνική γλώσσα.Για αυτόν τον λόγο παραμετροποιούμε το
αρχείο .xinitrc στο λογαριασμό μας. Πιο
συγκεκριμένα θα πρέπει να προσθέσουμε τις παρακάτω γραμμές σε αυτό:export LANG="el_GR.ISO8859-7"
export LC_CTYPE="el_GR.ISO8859-7"
export LC_COLLATE="el_GR.ISO8859-7"Πριν ξεκινήσετε να χρησιμοποιείτε τα Χ, βεβαιωθείτε επίσης ότι έχετε
τις σωστές ρυθμίσεις locale στο κέλυφος σας. Έτσι θα αποφύγετε πιθανά
προβλήματα απεικόνισης Ελληνικών σε κάποιες εφαρμογές. Δείτε την ενότητα
Ρυθμίσεις για το κέλυφος χρήστη.Με αυτές τις ρυθμίσεις, το περιβάλλον &xorg; θα ξεκινά με το
σωστό process environment για να υποστηρίζει την Ελληνική
γλώσσα.Πολλές εφαρμογές που τρέχουν σε περιβάλλον &xorg; μπορούν να
ρυθμιστούν ορίζοντας μια σειρά από X11 resources. Αυτά
τα resources είναι, γενικά, ζευγάρια από τιμές της
μορφής:ΌνομαResource: Τιμή του resourceΟι τιμές αυτές ορίζονται στο
αρχείο .Xresources του λογαριασμού μας.Για το XTerm και αντίστοιχες εφαρμογές
τερματικού, μπορεί να ρυθμιστεί η γραμματοσειρά έτσι ώστε να
χρησιμοποιείται μια με Ελληνική υποστήριξη, ορίζοντας τις παρακάτω τιμές
στο αρχείο .Xresources:XTerm*font: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-7Μετά από αλλαγές στο αρχείο .Xresources, δε
χρειάζεται επανεκκίνηση του περιβάλλοντος &xorg;. Αρκεί απλά να
τρέξουμε την εντολή:&prompt.user; xrdb -merge ~/.XresourcesΕλληνικές γραμματοσειρές για το περιβάλλον &xorg;Το περιβάλλον &xorg; έρχεται με ένα βασικό σύνολο γραμματοσειρών σε
μορφή bitmap. Μερικές από αυτές έχουν υποστήριξη
ελληνικών, είτε για την κωδικοποίηση &iso-greek;, είτε για την
κωδικοποίηση &iso-ucs; (Universal Character Set). Οι βασικές bitmap
γραμματοσειρές που διανέμονται με το &xorg; έχουν στο τέλος από το όνομά
τους την κωδικοποίηση, οπότε μπορείτε να τις βρείτε εύκολα με το
εργαλείο &man.xlsfonts.1;. Για να δείτε, για παράδειγμα, ποιές βασικές
γραμματοσειρές υποστηρίζουν την κωδικοποίηση &iso-greek; μπορείτε να
χρησιμοποιήσετε την εντολή:&prompt.user; xlsfonts | fgrep -i iso8859-7Αντίστοιχα, για να βρείτε ποιές γραμματοσειρές υποστηρίζουν την
κωδικοποίηση &iso-ucs;, οπότε μπορούν να χρησιμοποιηθούν για την
απεικόνιση κειμένων με κωδικοποίηση UTF-8, μπορείτε να χρησιμοποιήσετε
την εντολή:&prompt.user; xlsfonts | fgrep -i iso10646Ακόμη περισσότερες γραμματοσειρές με υποστήριξη για απεικόνιση
Ελληνικών χαρακτήρων μπορείτε να βρείτε στη συλλογή των Ports. Η
κατηγορία x11-fonts περιέχει συλλογές γραμματοσειρών
όπως οι παρακάτω:x11-fonts/bitstream-verax11-fonts/dejavux11-fonts/liberation-fonts-ttfx11-fonts/urwfonts-ttfx11-fonts/webfontsΌλες αυτές οι γραμματοσειρές είναι σε μορφή &truetype;. Έτσι δεν
έχουν τους περιορισμούς μεγέθους που έχουν οι βασικές, bitmap
γραμματοσειρές, και μπορούν να απεικονίσουν Ελληνικούς χαρακτήρες σχεδόν
σε οποιοδήποτε μέγεθος, με αρκετά ικανοποιητικά αποτελέσματα.Αν χρησιμοποιείτε κάποιο από τα δημοφιλή περιβάλλοντα εργασίας για
&xorg;, όπως το GNOME ή
το KDE, οι &truetype; γραμματοσειρές από
αυτές τις συλλογές βελτιώνουν πάρα πολύ την ποιότητα απεικόνισης σε όλες
τις εφαρμογές του περιβάλλοντος εργασίας. Οπότε σίγουρα αξίζει τον κόπο
να τις δοκιμάσετε.Ρυθμίσεις για Ελληνικά σε διάφορες εφαρμογές.Για να διαβάζουμε και να γράφουμε &iso-greek; Ελληνικά με τον
επεξεργαστή κειμένου editors/emacs
θα πρέπει να προσθέσουμε στο .emacs του
λογαριασμού μας τις εξής ρυθμίσεις:(setq unibyte-display-via-language-environment t)
(if (< emacs-major-version 22)
(set-language-environment "Greek"))
(set-terminal-coding-system 'greek-iso-8bit)
(set-input-mode (car (current-input-mode))
(nth 1 (current-input-mode))
0)Για να διαβάζουμε και να γράφουμε ελληνικά με τον επεξεργαστή
κειμένου editors/vim σε γραφικό
περιβάλλον, θα πρέπει να προσθέσουμε στο αρχείο
.vimrc του λογαριασμού μας τις εξής ρυθμίσεις:set gfs=fixedgrΓια να διαβάζουμε και να γράφουμε ελληνικά με το πρόγραμμα
ηλεκτρονικής αλληλογραφίας mutt θα πρέπει να
προσθέσουμε στο .muttrc το παρακάτω κομμάτι:set charset="greek"
set send_charset="US-ASCII:ISO-8859-1:ISO-8859-7:UTF-8"
diff --git a/el_GR.ISO8859-7/articles/laptop/article.sgml b/el_GR.ISO8859-7/articles/laptop/article.sgml
index ccea48a5b7..bd71c9c9e7 100644
--- a/el_GR.ISO8859-7/articles/laptop/article.sgml
+++ b/el_GR.ISO8859-7/articles/laptop/article.sgml
@@ -1,362 +1,363 @@
%articles.ent;
]>
Χρησιμοποιώντας το FreeBSD σε Φορητούς$FreeBSD$Το FreeBSD δουλεύει άψογα στους περισσότερους φορητούς
υπολογιστές, με πολύ λίγα σημεία που χρίζουν προσοχής.
Μερικά πράγματα που αφορούν το FreeBSD και τους φορητούς,
σχετικά με τις διαφορές που υπάρχουν σε απαιτήσεις υλικού
από τους υπολογιστές γραφείου, περιγράφονται παρακάτω.
&tm-attrib.freebsd;
&tm-attrib.linux;
&tm-attrib.microsoft;
&tm-attrib.general;
Συχνά το FreeBSD χρησιμοποιείται σαν λειτουργικό σύστημα
σε εξυπηρετητές, αλλά μπορεί το ίδιο καλά να χρησιμοποιηθεί και σε
σταθμούς εργασίας, κι αν σκέφτεστε να το χρησιμοποιήσετε στον
φορητό υπολογιστή σας μπορείτε να απολαμβάνετε όλα τα συνηθισμένα
πλεονεκτήματα που έχει: συστηματική οργάνωση, εύκολη διαχείριση
και αναβάθμιση, τα ports και τα πακέτα για εύκολη εγκατάσταση
λογισμικού, κοκ. (Τα άλλα πλεονεκτήματά του, όπως η σταθερότητα,
η απόδοση σε δικτυακές εφαρμογές, και η απόδοση σε συνθήκες υψηλού
φόρτου, μπορεί να μην γίνονται πολύ φανερά σε ένα φορητό
υπολογιστή, βέβαια.) Όμως, η εγκατάσταση σε φορητούς υπολογιστές
συχνά παρουσιάζει προβλήματα τα οποία δεν εμφανίζονται σε
υπολογιστές γραφείου και δεν αποτελούν συχνά θέμα συζήτησης (οι
φορητοί, ακόμα περισσότερο από τους υπολογιστές γραφείου, είναι
ρυθμισμένοι για να τρέχουν καλά με µsoft.windows;). Αυτό το
άρθρο έχει σαν στόχο να παρουσιάσει κάποια από αυτά τα
θέματα. Στο διαδίκτυο μπορείτε να βρείτε πολλές σελίδες στις οποίες
περιγράφουν τις εμπειρίες τους με ένα συγκεκριμένο μοντέλο φορητού
υπολογιστή και το &os; οι συγγραφείς τους. Αυτές οι σελίδες δεν είναι
διαθέσιμες ως μέρος της επίσημης τεκμηρίωσης του &os;, αλλά μπορεί να
περιέχουν χρήσιμες πληροφορίες. Είναι καλή ιδέα να ψάξετε για τέτοιες
σελίδες, γράφοντας το μοντέλο του φορητού σας και τη
λέξη &os; σε μερικές μηχανές αναζήτησης. Υπάρχει επίσης
και μια βάση πληροφοριών με αναλυτικές περιγραφές από πολλούς φορητούς
υπολογιστές στη διεύθυνση The &os;
Laptop Compatibility List.Αν θέλετε να επικοινωνήσετε με άλλους χρήστες που τρέχουν &os; στο
φορητό τους, μπορείτε να γραφτείτε και στην λίστα &a.mobile.name;.
Περισσότερες πληροφορίες για τη συμβατότητα του &os; με φορητύς
υπολογιστές θα βρείτε και στη
σελίδα .Το γραφικό περιβάλλον &xorg;Οι πρόσφατες εκδόσεις των &xorg; δουλεύουν με τις
περισσότερες μοντέρνες κάρτες οθόνης που χρησιμοποιούνται σε
φορητούς υπολογιστές. Η επιτάχυνση (acceleration) μπορεί να μην
υποστηρίζεται, αλλά μια βασική SVGA κατάσταση θά 'πρεπε να
δουλεύει χωρίς προβλήματα.Ελέγξτε την τεκμηρίωση του φορητού σας για να δείτε ποια
κάρτα οθόνης έχει και μετά συμβουλευτείτε την τεκμηρίωση του
&xorg; για να δείτε αν υπάρχει
υποστήριξη για την συγκεκριμένη κάρτα. Αν όχι, τότε
χρησιμοποιήστε ένα βασικό οδηγό συσκευής (μην προσπαθήσετε να
χρησιμοποιήσετε κάποιο οδηγό που να μοιάζει κάπως στο όνομα).
Μπορείτε να δοκιμάσετε την τύχη σας
με την εντολή Xorg -configure που
βρίσκει αυτόματα πολλές από τις σωστές ρυθμίσεις.Το πρόβλημα είναι πολλές φορές να ρυθμιστεί σωστά η οθόνη.
Συχνά η τεκμηρίωση επικεντρώνει στις CRT οθόνες. Το να βρείτε
τις κατάλληλες ρυθμίσεις (modelines) για μια LCD οθόνη μπορεί να
μην είναι και τόσο εύκολο. Μπορεί να είστε τυχεροί και να μην
χρειάζεται να βρείτε κάποια γραμμή ρυθμίσεων για την οθόνη, ή να
αρκεί απλώς να δώσετε τις σωστές τιμές στα HorizSync και
VertRefresh. Αν αυτό δεν δουλέψει, η καλύτερη επιλογή που έχετε
είναι να ψάξετε στο δίκτυο για πηγές σχετικές με ρύθμιση των X
σε φορητούς (συχνά οι οδηγίες που υπάρχουν είναι σχετικές με το
Linux, αλλά δεν έχει σημασία αφού και τα δυο συστήματα
χρησιμοποιούν την ίδια έκδοση των &xorg;) και να αντιγράψετε
τις κατάλληλες γραμμές ρυθμίσεων που έχει στείλει κάποιος ο
οποίος έχει το ίδιο υλικό.Οι περισσότεροι φορητοί έρχονται με δυο κουμπιά στις
συσκευές δείκτη που έχουν, που είναι αρκετά ενοχλητικό όταν
κάποιος δουλεύει σε X (αφού το μεσαίο κουμπί είναι αυτό που
συχνά χρησιμοποιείται για επικόλληση κειμένου). Μπορείτε να
αντιστοιχήσετε το ταυτόχρονο πάτημα του δεξιού και αριστερού
κουμπιού στις ρυθμίσεις των X σας να εξομοιώνει το πάτημα του
μεσαίου κουμπιού με την γραμμή
Option "Emulate3Buttons"
στο αρχείο xorg.conf, στο
τμήμα InputDevice.ModemsΟι φορητοί έρχονται συνήθως με εσωτερικά (on-board) μόντεμ.
Δυστυχώς, αυτό σημαίνει πως σχεδόν πάντα είναι
win-μόντεμ των οποίων η λειτουργικότητα είναι
υλοποιημένη σε λογισμικό, για το οποίο οδηγοί υπάρχουν μόνο για
&windows;. (Ορισμένοι οδηγοί για τέτοια μόντεμ έχουν αρχίσει να βγαίνουν και για
άλλα λειτουργικά συστήματα. Για παράδειγμα, αν το μόντεμ σας
χρησιμοποιεί chipset τύπου Lucent LT μπορεί να υποστηρίζεται από το
πακέτο comms/ltmdm.)
Αν το μόντεμ που έχει ο φορητός σας δεν υποστηρίζεται,
θα χρειαστεί να αγοράσετε ένα εξωτερικό μόντεμ.
Η πιο καλή λύση από άποψη χώρου είναι να αγοράσετε ένα PC Card
(PCMCIA) μόντεμ, που περιγράφεται παρακάτω, αλλά υπάρχουν και
φτηνά USB ή σειριακά μόντεμ που μπορεί να σας κοστίσουν
λιγότερο. Γενικά, τα κανονικά (όχι win-μόντεμ) μόντεμ πρέπει να
δουλεύουν χωρίς κανένα πρόβλημα.Συσκευές PCMCIA (PC Card)Οι πιο πολλοί φορητοί έρχονται με υποδοχές PCMCIA (γνωστές
και ως PC Card). Αυτές υποστηρίζονται αρκετά καλά από το
FreeBSD. Κοιτάξτε τα μηνύματα της εκκίνησης του υπολογιστή σας
(χρησιμοποιώντας την εντολή &man.dmesg.8;) και δείτε
αν το FreeBSD έχει βρει τις θύρες αυτές (πρέπει να εμφανίζονται
σαν pccard0,
pccard1 κλπ. σε συσκευές όπως ή
pcic0).Οι εκδόσεις 4.X του &os; έχουν υποστήριξη για 16-bit PCMCIA
κάρτες. Οι εκδόσεις 5.Χ και οι νεότερες υποστηρίζουν τόσο 16-bit όσο
και 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;).
Αν δεν τρέχει ήδη, ξεκινήστε τον δαίμονα
&man.pccardd.8;. (Για να ξεκινάει όταν ανοίγετε τον
υπολογιστή σας, προσθέστε στο αρχείο
/etc/rc.conf τη γραμμή
pccard_enable="YES".) Τώρα οι
κάρτες σας θα πρέπει να αναγνωρίζονται όταν τις βάζετε σε κάποια
θύρα ή τις αφαιρείτε, και να βλέπετε μηνύματα για νέες συσκευές
που ενεργοποιούνται.Ακριβώς πριν την διανομή της έκδοσης 4.4 του FreeBSD έγιναν
αρκετές αλλαγές στον κώδικα για τις PC Card συσκευές (μέσα σε
αυτές ήταν και αλλαγές στον κώδικα δρομολόγησης των διακοπών
ISA, για εκείνες τις μηχανές που το &os; δεν μπορούσε να
χρησιμοποιήσει το PCI BIOS). Αν έχετε προβλήματα με αυτή την
έκδοση του &os;, δοκιμάστε να την αναβαθμίσετε σε κάποια πιο
καινούρια.Power managementΔυστυχώς, το power management δεν υποστηρίζεται πολύ καλά
από το FreeBSD. Αν είστε τυχεροί, ίσως κάποιες από τις
λειτουργίες να δουλεύουν αξιόπιστα. Συνήθως πάντως, δεν
δουλεύουν καθόλου.Κάτι που περιπλέκει λίγο τα πράγματα είναι η ύπαρξη δύο διαφορετικών
προτύπων για power management: του APM και του ACPI. Το δεύτερο έχει ως
στόχο να αντικαταστήσει το πρώτο, επεκτείνοντας ταυτόχρονα τα
χαρακτηριστικά του APM. Σε πολλές περιπτώσεις το ACPI το πετυχαίνει
αυτό, αλλά μερικές φορές δημιουργεί και προβλήματα που δεν τα έχει το
APM.Ορισμένοι φορητοί υπολογιστές υποστηρίζουν και το APM και το ACPI.
Κάποιοι άλλοι φορητοί υπολογιστές υποστηρίζουν μόνο το ένα από τα δύο.
Πιθανόν να χρειαστεί να δοκιμάσετε και το APM και το ACPI, για να δείτε
πιο από τα δύο υποστηρίζει καλύτερα και με πιο αξιόπιστο τρόπο τα
χαρακτηριστικά power management του φορητού σας.Δεν έχει νόημα (και πολλές φορές δε γίνεται καν) να ενεργοποιήσετε
ταυτόχρονα και το APM και το ACPI, ακόμη κι αν ο φορητός σας
υποστηρίζει και τα δύο πρότυπα.APMΤο APM (Advanced Power Management) BIOS παρέχει υποστήριξη για
διάφορες λειτουργίες power management, όπως standby, suspend,
hibernation, μείωση της ταχύτητας του επεξεργαστή, κλπ. Οι
λειτουργίες APM υποστηρίζονται από τις εκδόσεις 4.Χ και 5.Χ του
&os;.Για να ενεργοποιήσετε την υποστήριξη APM στον πυρήνα του &os;,
πρέπει να μεταγλωττίσετε τον πυρήνα σας με τις επιλογές για power
management (device apm0 για το &os; 4.X
και device apm για το &os; 5.X). Στο
&os; 5.Χ υπάρχει και ξεχωριστό άρθρωμα πυρήνα για το APM, το
οποίο μπορείτε να φορτώσετε κατά την εκκίνηση του συστήματος
προσθέτοντας στο αρχείο /boot/loader.conf τη
γραμμή apm_load="YES".Στο &os; 5.X πρέπει να προσθέσετε και τη
γραμμή hint.apm.0.disabled="0" στο
αρχείο /boot/device.hints.Για να ενεργοποιούνται αυτόματα οι λειτουργίες APM κατά την
εκκίνηση του συστήματος πρέπει να προσθέσετε και τη
γραμμή apm_enable="YES" στο
αρχείο /etc/rc.conf. Στο βασικό σύστημα του &os;
περιλαμβάνεται και η υπηρεσία &man.apmd.8;, που ξεκινάει αυτόματα αν
προσθέσετε τη γραμμή apmd_enable="YES" στο
αρχείο /etc/rc.conf. Η υπηρεσία αυτή χειρίζεται
τα διάφορα μηνύματα APM που στέλνει το BIOS. Μπορεί, για παράδειγμα,
να βάλει το φορητό σας σε κατάσταση suspend ή να το ενεργοποιήσει πάλι
με το πάτημα ενός πλήκτρου στο πληκτρολόγιο ή όταν ανοιγοκλείνετε την
οθόνη του φορητού σας.Οι εντολές APM περιγράφονται στη σελίδα βοήθειας &man.apm.8;. Για
παράδειγμα, η εντολή apm -b τυπώνει πληροφορίες για
την κατάσταση της μπαταρίας (ή 255 αν δεν υποστηρίζεται), η
εντολή apm -Z θέτει τον φορητό σε κατάσταση
standby, η εντολή apm -z (ή η
εντολή zzz) θέτει τον φορητό σε κατάσταση suspend.
Για να κλείσει εντελώς ο φορητός μπορείτε να δώσετε την
εντολή shutdown -p. Προσοχή όμως: μερικές από
αυτές τις εντολές μπορεί να μη δουλεύουν σωστά ή να μη δουλεύουν
καθόλου.Σε μερικούς φορητούς δουλεύει σωστά η αλλαγή κατάστασης σε standby
ή suspend μόνο από την κονσόλα, κι όχι μέσα από το περιβάλλον X
(μπορεί π.χ. η οθόνη να μην επανέρχεται σωστά). Σε αυτή την περίπτωση
κι αν χρησιμοποιείτε την έκδοση 5.Χ του &os; (ή κάποια νεότερη), ίσως
έχει νόημα να προσθέσετε την επιλογή options
SC_NO_SUSPEND_VTYSWITCH στο αρχείο ρυθμίσεων του πυρήνα σας
και να μεταγλωττίσετε πάλι τον πυρήνα. Κάτι άλλο που μπορείτε να
δοκιμάσετε είναι να γυρίσετε σε κατάσταση κονσόλας πριν τρέξετε το
&man.apm.8; (μπορείτε να γυρίσετε σε κατάσταση κονσόλας από το
περιβάλλον Χ γράφοντας CtrlAltF1). Το εργαλείο &man.vidcontrol.1; μπορεί να αλλάξει
αυτόματα σε κατάσταση κονσόλας. Απλά προσθέστε στο
αρχείο /etc/apmd.conf τις παρακάτω
ρυθμίσεις:apm_event SUSPENDREQ {
exec "vidcontrol -s 1 < /dev/console";
exec "/etc/rc.suspend";
}
apm_event USERSUSPENDREQ {
exec "vidcontrol -s 1 < /dev/console";
exec "sync && sync && sync";
exec "sleep 1";
exec "apm -z";
}
apm_event NORMRESUME, STANDBYRESUME {
exec "/etc/rc.resume";
exec "vidcontrol -s 9 < /dev/console";
}ACPIΤο ACPI (Advanced Configuration and Power Management Interface)
παρέχει λειτουργίες διαχείρισης κατάναλωσης (power management) αλλά
και αναγνώρισης συσκευών συστήματος (αντικαθιστώντας το PnP και το PCI
BIOS). Το &os; έχει υποστήριξη για λειτουργίες ACPI από την έκδοση
5.Χ κι ύστερα, και η υποστήριξη για λειτουργίες ACPI είναι
ενεργοποιημένη εξ' ορισμού. Οπότε δε χρειάζεται να κάνετε κάτι για να
λειτουργήσει το ACPI. Μπορείτε να ρυθμίσετε το ACPI με το εργαλείο
&man.acpiconf.8;.Δυστυχώς, ορισμένοι κατασκευαστές πουλούν φορητούς υπολογιστές με
προβληματικές υλοποιήσεις του προτύπου ACPI, οπότε μπορεί να
παρουσιαστούν προβλήματα αν ενεργοποιήσετε το ACPI. Μπορεί ακόμη και
να μην ξεκινάει καθόλου to &os; με το ACPI ενεργοποιημένο.Αν το ACPI σας δημιουργεί προβλήματα, κοιτάξτε αν ο κατασκευαστής
του φορητού σας έχει βγάλει κάποια καινούρια έκδοση από το BIOS του
φορητού σας. Η υλοποίηση του ACPI στο &os; βελτιώνεται κι αυτή
συνεχώς, οπότε μπορεί να έχει νόημα να αναβαθμίσετε το σύστημά σας σε
πιο καινούρια έκδοση. Μπορεί κάποια από τα προβλήματα να διορθωθούν
έτσι.Αν θέλετε να απενεργοποιήσετε το ACPI, μπορείτε να προσθέσετε τη
γραμμή hint.acpi.0.disabled="1" στο
αρχείο /boot/device.hints. Για λιγότερο μόνιμες
αλλαγές, μπορείτε να απενεργοποιήσετε προσωρινά το ACPI τρέχοντας την
εντολή unset acpi_load στην προτροπή του boot
loader. Στην έκδοση 5.1-RELEASE του &os; και τις νεότερες εκδόσεις
υπάρχει ένα μενού επιλογών εκκίνησης. Μία από τις επιλογές επιτρέπει
την εκκίνηση χωρίς ACPI. Επιλέγοντας 2. Boot &os; with
ACPI disabled μπορείτε να ξεκινήσετε το σύστημά σας με
απενεργοποιημένες όλες τις λειτουργίες ACPI.Διαχείριση Κατανάλωσης Ισχύος της ΟθόνηςΤο γραφικό περιβάλλον X έχει επίσης κάποιου είδους
υποστήριξη για power management (διαβάστε την τεκμηρίωση της
εντολής &man.xset.1;, και ψάξτε για dpms). Είναι
καλή ιδέα να δοκιμάσετε να το χρησιμοποιήσετε, αλλά κι αυτό το
χαρακτηριστικό των X δεν λειτουργεί πάντα σωστά. Μερικές φορές
κλείνει την οθόνη αλλά δεν κλείνει το φως.
diff --git a/el_GR.ISO8859-7/articles/linux-users/article.sgml b/el_GR.ISO8859-7/articles/linux-users/article.sgml
index 5c9eeb9e03..c44b32fe7f 100644
--- a/el_GR.ISO8859-7/articles/linux-users/article.sgml
+++ b/el_GR.ISO8859-7/articles/linux-users/article.sgml
@@ -1,665 +1,666 @@
%articles.ent;
]>
Οδηγός Γρήγορης Εκκίνησης του &os; για Χρήστες &linux;JohnFerrell2008Η Ομάδα Τεκμηρίωσης του &os;$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.linux;
&tm-attrib.intel;
&tm-attrib.redhat;
&tm-attrib.unix;
&tm-attrib.general;
Το κείμενο αυτό έχει σκοπό να βοηθήσει στη γρήγορη εξοικείωση
χρηστών &linux; μέσου / προχωρημένου επιπέδου με τις βασικές έννοιες
του &os;ΕισαγωγήΤο κείμενο αυτό τονίζει τις διαφορές μεταξύ του &os; και του &linux;
ώστε μέσοι ή προχωρημένοι χρήστες του &linux; να μπορούν γρήγορα να
προσαρμοστούν στις βασικές έννοιες του &os;. Πρόκειται για μια τεχνική
εισαγωγή στο &os;, και δεν θα αναφερθούμε σε τυχόν
φιλοσοφικές διαφορές μεταξύ των δύο συστημάτων.Το κείμενο αυτό υποθέτει ότι έχετε ήδη εγκαταστήσει το &os;. Αν δεν
έχετε εγκαταστήσει το &os; ή χρειάζεστε βοήθεια με την διαδικασία
εγκατάστασης του, παρακαλούμε να διαβάσετε το κεφάλαιο Εγκαθιστώντας το FreeBSD στο Εγχειρίδιο του &os;.Κελύφη: Δεν υπάρχει Bash;Όσοι έρχονται από το &linux; συχνά εκπλήσσονται όταν ανακαλύπτουν
ότι το Bash δεν είναι το προεπιλεγμένο
κέλυφος στο &os;. Στην πραγματικότητα, το
Bash δεν υπάρχει καν στην βασική διανομή του
&os;. Αντίθετα, το &os; χρησιμοποιεί το &man.tcsh.1; ως το
προεπιλεγμένο κέλυφος. Το Bash καθώς και
άλλα κελύφη που ίσως θέλετε να εγκαταστήσετε, είναι διαθέσιμα στη Συλλογή Πακέτων και Ports του
&os;.Αν εγκαταστήσετε διαφορετικά κελύφη, μπορείτε να χρησιμοποιήσετε
την εντολή &man.chsh.1; για να αλλάξετε το προεπιλεγμένο κέλυφος
κάποιου χρήστη. Σας συνιστούμε ωστόσο να αφήσετε το κέλυφος του
root στο προεπιλεγμένο. Ο λόγος για αυτό είναι
ότι τα κελύφη που δεν περιλαμβάνονται στην βασική διανομή του &os;,
εγκαθίστανται στην τοποθεσία /usr/local/bin ή
/usr/bin. Σε περίπτωση προβλήματος, είναι πιθανόν
τα συστήματα αρχείων όπου βρίσκονται τα
/usr/local/bin και /usr/bin
να μην μπορούν να προσαρτηθούν. Στην περίπτωση αυτή, ο
root δεν θα είχε πρόσβαση στο προεπιλεγμένο του
κέλυφος, εμποδίζοντας έτσι και την είσοδο του στο σύστημα. Για το λόγο
αυτό, υπάρχει ένας δεύτερος λογαριασμός όμοιος με τον
root, ο toor, ο οποίος
δημιουργήθηκε ειδικά για να χρησιμοποιείται με κάποιο άλλο κέλυφος.
Δείτε τις Συχνές Ερωτήσεις Ασφαλείας σχετικά με τον λογαριασμό toor.Πακέτα και Ports: Προσθέτοντας λογισμικό στο &os;Εκτός από την παραδοσιακή μέθοδο εγκατάστασης λογισμικού του
&unix; (κατέβασμα του πηγαίου κώδικα, αποσυμπίεση του αρχείου,
επεξεργασία και μεταγλώττιση), το &os; προσφέρει δύο ακόμα μεθόδους για
την εγκατάσταση εφαρμογών: τα πακέτα και τα ports. Για μια πλήρη λίστα
όλων των διαθέσιμων πακέτων και ports, δείτε εδώ.ΠακέταΤα πακέτα είναι προ-μεταγλωττισμένες εφαρμογές, θα λέγαμε το
αντίστοιχο για το &os; των αρχείων .deb σε
συστήματα Debian/Ubuntu και των αρχείων .rpm σε
συστήματα Red Hat/Fedora. Τα πακέτα εγκαθίστανται
χρησιμοποιώντας την εντολή &man.pkg.add.1;. Για παράδειγμα, η
ακόλουθη εντολή εγκαθιστά τον
Apache 2.2:&prompt.root; pkg_add /tmp/apache-2.2.6_2.tbzΗ χρήση της παραμέτρου οδηγεί την
&man.pkg.add.1; να κατεβάσει αυτόματα τόσο το πακέτο, όσο και τις
εξαρτήσεις του, και να το εγκαταστήσει:&prompt.root; pkg_add -r apache22
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/apache22.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/All/expat-2.0.0_1.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/All/perl-5.8.8_1.tbz... Done.
[snip]
To run apache www server from startup, add apache22_enable="YES"
in your /etc/rc.conf. Extra options can be found in startup script.Αν χρησιμοποιείτε μια επίσημη έκδοση του &os;
(6.2, 6.3, 7.0, κλπ. που γενικά μπορείτε να εγκαταστήσετε από
CD-ROM) η εντολή pkg_add -r θα κατεβάσει τα
πακέτα που φτιάχτηκαν για αυτή τη συγκεκριμένη έκδοση. Τα πακέτα
αυτά ίσως δεν περιέχουν τις πλέον τελευταίες
εκδόσεις των εφαρμογών. Μπορείτε να χρησιμοποιήσετε την μεταβλητή
περιβάλλοντος PACKAGESITE για να παρακάμψετε αυτή
την προεπιλεγμένη συμπεριφορά. Για παράδειγμα, θέτοντας την
PACKAGESITE στην τιμή
θα κατεβάσετε τα πιο πρόσφατα πακέτα που υπάρχουν για τη σειρά
6.X.Μπορείτε να διαβάσετε περισσότερα για τις εκδόσεις του &os;
στο άρθρο Επιλέγοντας τη Σωστή για Εσάς Έκδοση του &os;.Για περισσότερες πληροφορίες σχετικά με τα πακέτα, παρακαλούμε
διαβάστε την ενότητα 4.4 στο Εγχειρίδιο του &os;: Χρησιμοποιώντας το Σύστημα Packages.PortsΗ δεύτερη μέθοδος για την εγκατάσταση εφαρμογών στο &os; είναι η
Συλλογή των Ports. Η Συλλογή των Ports είναι ένα πλαίσιο λειτουργιών
που αποτελείται από Makefiles και αρχεία διαφορών
(patches) τα οποία έχουν δημιουργηθεί ειδικά, ώστε να είναι δυνατή η
εγκατάσταση διάφορων εφαρμογών στο &os; από τον πηγαίο κώδικα τους.
Όταν εγκαθιστάτε ένα port, το σύστημα θα κατεβάσει τον πηγαίο κώδικα,
θα εφαρμόσει όλες τις απαιτούμενες αλλαγές χρησιμοποιώντας τα patches,
θα μεταγλωττίσει τον κώδικα, και τέλος θα εγκαταστήσει την εφαρμογή.
Θα ακολουθήσει την ίδια διαδικασία και για οποιαδήποτε τυχόν
εξαρτώμενα προγράμματα.Μπορείτε να βρείτε την Συλλογή των Ports (η οποία μερικές φορές
αναφέρεται και ως δέντρο των ports), στον κατάλογο
/usr/ports. Αυτό βέβαια προϋποθέτει ότι
εγκαταστήσατε την Συλλογή των Ports κατά τη διάρκεια της εγκατάστασης
του &os;. Αν δεν το έχετε κάνει, μπορείτε να την προσθέσετε από το
CD εγκατάστασης με την βοήθεια του &man.sysinstall.8; ή να την
κατεβάσετε από τους εξυπηρετητές του &os; χρησιμοποιώντας την εντολή
&man.csup.1; ή την εντολή &man.portsnap.8;. Μπορείτε να βρείτε
λεπτομερείς οδηγίες για την εγκατάσταση της Συλλογής των Ports στην
ενότητα 4.5.1
του εγχειριδίου.Η εγκατάσταση ενός port είναι γενικά τόσο απλή όσο το να εισέλθετε
στον κατάλογο του και να ξεκινήσετε την διαδικασία μεταγλώττισης. Στο
ακόλουθο παράδειγμα γίνεται εγκατάσταση του
Apache 2.2 από την Συλλογή των
Ports:&prompt.root; cd /usr/ports/www/apache22
&prompt.root; make install cleanΈνα σημαντικό πλεονέκτημα της χρήσης ports στην εγκατάσταση
λογισμικού είναι η ικανότητα προσαρμογής των επιλογών εγκατάστασης.
Για παράδειγμα, όταν εγκαθιστάτε τον
Apache 2.2 από τα ports μπορείτε να
ενεργοποιήσετε την επιλογή mod_ldap
θέτοντας απλώς τιμή στη μεταβλητή WITH_LDAP του
&man.make.1;:&prompt.root; cd /usr/ports/www/apache22
&prompt.root; make WITH_LDAP="YES" install cleanΔιαβάστε την ενότητα 4.5 του Εγχειριδίου του &os;, Χρησιμοποιώντας την Ports Collection, για περισσότερες πληροφορίες
σχετικά με τη Συλλογή των Ports.Ports ή πακέτα, τι πρέπει να χρησιμοποιήσω;Τα πακέτα είναι στην πραγματικότητα απλώς προ-μεταγλωττισμένα
ports, άρα είναι περισσότερο θέμα επιλογής αν είναι επιθυμητή η
εγκατάσταση από τον πηγαίο κώδικα ή από έτοιμα εκτελέσιμα. Κάθε
μέθοδος έχει τα πλεονεκτήματα της:Πακέτα (έτοιμα εκτελέσιμα)Πιο γρήγορη εγκατάσταση (η μεταγλώττιση μεγάλων
εφαρμογών μπορεί να διαρκέσει αρκετή ώρα).Δεν χρειάζεται να κατανοείτε πως γίνεται η
μεταγλώττιση του λογισμικού.Δεν χρειάζεται να εγκαταστήσετε μεταγλωττιστές στο
σύστημα σας.Ports (πηγαίος κώδικας)Ικανότητα προσαρμογής των επιλογών εγκατάστασης.
(Τα πακέτα συνήθως μεταγλωττίζονται με τις προεπιλεγμένες επιλογές).
Με τα ports μπορείτε να προσαρμόσετε διάφορες επιλογές, όπως την
μεταγλώττιση πρόσθετων αρθρωμάτων, ή αλλαγή της προεπιλεγμένης
θέσης εγκατάστασης.Μπορείτε να βάλετε τις δικές σας αλλαγές (patches)
αν το επιθυμείτε.Αν δεν έχετε ειδικές απαιτήσεις, τα πακέτα πιθανόν θα σας
καλύψουν μια χαρά. Αν ωστόσο χρειάζεται να προσαρμόσετε κάποιες
επιλογές, τότε η μέθοδος των ports είναι η καλύτερη. (Και θυμηθείτε,
αν χρειάζεστε προσαρμογή αλλά προτιμάτε τα πακέτα, μπορείτε μέσω της
συλλογής των ports να φτιάξετε τα δικά σας προσαρμοσμένα πακέτα
χρησιμοποιώντας την εντολή makepackage και αντιγράφοντας τα πακέτα που
δημιουργήσατε σε άλλα μηχανήματα.)Εκκίνηση του Συστήματος: Που είναι τα run-levels;Το &linux; χρησιμοποιεί το σύστημα εκκίνησης SysV, ενώ το &os;
χρησιμοποιεί το παραδοσιακό σύστημα εκκίνησης BSD. Στο σύστημα
&man.init.8; τύπου BSD, δεν υπάρχουν run-levels, ούτε το αρχείο
/etc/inittab. Αντί για αυτά, η εκκίνηση ελέγχεται
από ένα script εκκίνησης, το &man.rc.8;. To script
/etc/rc διαβάζει το αρχείο
/etc/defaults/rc.conf και το αρχείο
/etc/rc.conf για να καθορίσει ποιες υπηρεσίες
πρόκειται να ξεκινήσουν. Οι υπηρεσίες αυτές ξεκινάνε με την εκτέλεση
των αντίστοιχων script εκκίνησης που βρίσκονται στους καταλόγους
/etc/rc.d/ και
/usr/local/etc/rc.d/. Τα scripts αυτά είναι
παρόμοια με τα scripts που βρίσκονται στον κατάλογο
/etc/init.d/ σε συστήματα &linux;.Γιατί υπάρχουν δύο τοποθεσίες για τα scripts εκκίνησης
των υπηρεσιών; Τα scripts που βρίσκονται στον κατάλογο
/etc/rc.d/ είναι για εφαρμογές που ανήκουν στο
βασικό σύστημα. (Για παράδειγμα, τις
&man.cron.8;, &man.sshd.8;, &man.syslog.3;, και άλλες.) Τα scripts
που βρίσκονται στον κατάλογο /usr/local/etc/rc.d/
είναι για εφαρμογές που έχουν εγκατασταθεί από τους χρήστες, όπως για
παράδειγμα ο Apache, το
Squid, κ.λ.π.Ποια είναι η διαφορά μεταξύ του βασικού
συστήματος και των εφαρμογών χρήστη; Το &os; αναπτύσσεται
ως ένα πλήρες λειτουργικό σύστημα. Με άλλα λόγια, ο πυρήνας, οι
βιβλιοθήκες του συστήματος, οι βασικές εντολές (userland, τα
προγράμματα όπως το &man.ls.1;, &man.cat.1;, &man.cp.1; κλπ.),
αναπτύσσονται και δημοσιεύονται μαζί, ως σύνολο. Αυτό αναφέρεται και
ως βασικό σύστημα. Οι εφαρμογές που εγκαθίστανται από
τους χρήστες, δεν ανήκουν στο βασικό σύστημα, και
τέτοιες είναι για παράδειγμα ο Apache,
το X11, ο
Mozilla Firefox, κλπ. Αυτού του
είδους οι εφαρμογές, γενικά εγκαθίστανται με τη χρήση της Συλλογής Πακέτων και Ports του
&os;. Για να ξεχωρίζουν από το υπόλοιπο βασικό
σύστημα, οι εφαρμογές χρήστη συνήθως εγκαθίστανται σε υποκαταλόγους
του /usr/local/. Έτσι τα εκτελέσιμα προγράμματα
των χρηστών βρίσκονται συνήθως στον κατάλογο
/usr/local/bin/, τα αντίστοιχα αρχεία ρυθμίσεων
τους στον κατάλογο /usr/local/etc/,
κ.ο.κ.Οι υπηρεσίες ενεργοποιούνται με την προσθήκη μιας εγγραφής τύπου
ΌνομαΥπηρεσίας_enable="YES" στο αρχείο
/etc/rc.conf (&man.rc.conf.5;). Ρίξτε μια ματιά
στο αρχείο /etc/defaults/rc.conf για να δείτε τις
προεπιλογές του συστήματος. Οι ρυθμίσεις που κάνουμε στο αρχείο
/etc/rc.conf υπερισχύουν έναντι των προεπιλογών
αυτών. Επίσης, κατά την εγκατάσταση πρόσθετων εφαρμογών, βεβαιωθείτε
ότι διαβάσατε την αντίστοιχη τεκμηρίωση για να βρείτε πως να
ενεργοποιήσετε τυχόν σχετικές υπηρεσίες.Το ακόλουθο απόσπασμα από το αρχείο
/etc/rc.conf ενεργοποιεί την υπηρεσία
&man.sshd.8; και τον Apache 2.2. Επίσης
καθορίζει ότι ο Apache θα ξεκινήσει με
ενεργοποιημένη τη δυνατότητα SSL.# enable SSHD
sshd_enable="YES"
# enable Apache with SSL
apache22_enable="YES"
apache22_flags="-DSSL"Από τη στιγμή που μια υπηρεσία ενεργοποιηθεί στο αρχείο
/etc/rc.conf, μπορείτε να την ξεκινήσετε απευθείας
από τη γραμμή εντολών (χωρίς να χρειάζεται να επανεκκινήσετε το σύστημα
σας):&prompt.root; /etc/rc.d/sshd startΑν μια υπηρεσία δεν έχει ενεργοποιηθεί στο αρχείο αυτό, μπορείτε
να εξαναγκάσετε την εκκίνηση της από την γραμμή εντολών με την επιλογή
:&prompt.root; /etc/rc.d/sshd forcestartΡύθμιση ΔικτύουΔιεπαφές ΔικτύουΑντί για το γενικό αναγνωριστικό τύπου ethX
που χρησιμοποιεί το &linux; για την αναγνώριση μιας διεπαφής δικτύου,
το &os; χρησιμοποιεί ως αναγνωριστικό το όνομα του προγράμματος
οδήγησης ακολουθούμενο από ένα αριθμό. Η ακόλουθη έξοδος από την
εντολή &man.ifconfig.8; δείχνει δύο κάρτες δικτύου
&intel Pro 1000 (με αναγνωριστικά em0 and em1):&prompt.user; ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
inet 10.10.10.100 netmask 0xffffff00 broadcast 10.10.10.255
ether 00:50:56:a7:70:b2
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
inet 192.168.10.222 netmask 0xffffff00 broadcast 192.168.10.255
ether 00:50:56:a7:03:2b
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: activeΡυθμίσεις Διευθύνσεων IPΜπορείτε να αναθέσετε μια διεύθυνση IP σε μια διεπαφή δικτύου με
τη χρήση της εντολής &man.ifconfig.8;. Για να γίνει μόνιμη ωστόσο
αυτή η αλλαγή, και να μην χάνεται σε κάθε επανεκκίνηση, θα πρέπει να
την περιλάβετε στο αρχείο /etc/rc.conf. Στο
ακόλουθο παράδειγμα φαίνεται η καταχώρηση που περιλαμβάνει το όνομα
του υπολογιστή (hostname), την διεύθυνση IP, καθώς και την
προεπιλεγμένη πύλη (defaultrouter):hostname="server1.example.com"
ifconfig_em0="inet 10.10.10.100 netmask 255.255.255.0"
defaultrouter="10.10.10.1"Χρησιμοποιήστε την ακόλουθη καταχώρηση για να καθορίσετε ότι
μια διεπαφή θα λαμβάνει ρυθμίσεις μέσω DHCP:hostname="server1.example.com"
ifconfig_em0="DHCP"FirewallΣτο &linux; χρησιμοποιείται το IPTABLES
το οποίο παρέχει υπηρεσίες firewall σε επίπεδο πυρήνα. Το &os; παρέχει
επίσης firewall μέσω του πυρήνα. Για την ακρίβεια, το &os; παρέχει
τρία firewalls:IPFIREWALLIPFILTERPFΤο IPFIREWALL ή
IPFW (η εντολή χειρισμού των κανόνων του
IPFW είναι η &man.ipfw.8;) είναι το
firewall που έχει αναπτυχθεί και συντηρείται από την ομάδα ανάπτυξης του
&os;. Το IPFW μπορεί να συνδυαστεί με το
&man.dummynet.4; για να παρέχει δυνατότητες διαμόρφωσης της κίνησης
πακέτων (traffic shaping) και να εξομοιώνει διαφορετικούς τύπους
συνδέσεων δικτύου.Παράδειγμα ενός κανόνα του IPFW που
επιτρέπει εισερχόμενα δεδομένα προς την υπηρεσία
SSH:ipfw add allow tcp from any to me 22 in via $ext_ifΤο IPFILTER είναι μια εφαρμογή firewall
που αναπτύσσεται από τον Darren Reed. Δεν έχει φτιαχτεί ειδικά
για το &os;, και έχει μεταφερθεί και σε άλλα λειτουργικά,
συμπεριλαμβανομένων των NetBSD, OpenBSD, SunOS, HP/UX, και
Solaris.Παράδειγμα ενός κανόνα για το IPFILTER
που επιτρέπει εισερχόμενα δεδομένα προς την υπηρεσία
SSH:pass in on $ext_if proto tcp from any to any port = 22Η τελευταία εφαρμογή firewall, το PF,
αναπτύσσεται από το OpenBSD project. Το PF
δημιουργήθηκε ως αντικαταστάτης του IPFILTER,
και έτσι η σύνταξη του PF είναι αρκετά
παρόμοια με αυτή του IPFILTER. Το
PF μπορεί να συνδυαστεί με το &man.altq.4;
για να παρέχει υπηρεσίες τύπου QoS.Παράδειγμα κανόνα του PF που επιτρέπει
εισερχόμενα δεδομένα προς την υπηρεσία
SSH:pass in on $ext_if inet proto tcp from any to ($ext_if) port 22Αναβαθμίζοντας το &os;Υπάρχουν τρεις μέθοδοι για την αναβάθμιση ενός συστήματος &os;: Μέσω
του πηγαίου κώδικα, μέσω έτοιμων (binary) αναβαθμίσεων, και μέσω των
CD εγκατάστασης.Η εγκατάσταση μέσω του πηγαίου κώδικα είναι η πιο πολύπλοκη, αλλά
προσφέρει και τη μεγαλύτερη δυνατή ευελιξία. Η διαδικασία αυτή
περιλαμβάνει το συγχρονισμό του τοπικού αντιγράφου του πηγαίου κώδικα
του &os; με τον κώδικα του &os; που βρίσκεται στους εξυπηρετητές
CVS (Concurrent Versioning System). Από
τη στιγμή που το τοπικό αντίγραφο πηγαίου κώδικα είναι ανανεωμένο,
μπορείτε να μεταγλωττίσετε νέες εκδόσεις του πυρήνα και των βασικών
προγραμμάτων. Για περισσότερες πληροφορίες σχετικά με το σύστημα
αναβάθμισης μέσω πηγαίου κώδικα, δείτε το
κεφάλαιο 23
στο Εγχειρίδιο του &os;.Οι έτοιμες (binary) αναβαθμίσεις, είναι παρόμοιες με τη χρήση της
εντολής yum ή apt-get για την
αναβάθμιση ενός συστήματος &linux;. Η εντολή &man.freebsd-update.8;
θα κατεβάσει τις αναβαθμίσεις και θα τις εγκαταστήσει. Μπορείτε να
καθορίσετε την αυτόματη, ανά τακτά διαστήματα εκτέλεση της, με τη χρήση
του &man.cron.8;.Αν πρόκειται να χρησιμοποιήσετε το &man.cron.8; για
προγραμματισμένες αναβαθμίσεις, βεβαιωθείτε ότι χρησιμοποιείτε την
εντολή freebsd-update cron στο αρχείο
&man.crontab.1; για να ελαχιστοποιηθεί η πιθανότητα να γίνεται
ανανέωση την ίδια στιγμή από ένα μεγάλο αριθμό μηχανημάτων.0 3 * * * root /usr/sbin/freebsd-update cronΗ τελευταία επιλογή αναβάθμισης, μέσω των CD εγκατάστασης, είναι
αρκετά ξεκάθαρη. Απλώς εκκινήστε από το CD εγκατάστασης και επιλέξτε
την αντίστοιχη επιλογή αναβάθμισης (upgrade).procfs: Περασμένο αλλά όχι ΞεχασμένοΣτο &linux;, θα χρειαστεί να δείτε το
/proc/sys/net/ipv4/ip_forward για να καθορίσετε αν
είναι ενεργοποιημένη η προώθηση IP (IP forwarding). Στο &os; θα πρέπει
να χρησιμοποιήσετε το &man.sysctl.8; για να δείτε αυτή και άλλες
ρυθμίσεις του συστήματος, καθώς το &man.procfs.5; θεωρείται παρωχημένο
σε πρόσφατες εκδόσεις του λειτουργικού. (Αν και η εντολή
sysctl είναι επίσης διαθέσιμη και στο
&linux;).Στο παράδειγμα της προώθησης IP, θα χρησιμοποιούσαμε την ακόλουθη
εντολή για να καθορίσουμε αν η δυνατότητα αυτή είναι ενεργοποιημένη σε
ένα &os; σύστημα:&prompt.user; sysctl net.inet.ip.forwarding
net.inet.ip.forwarding: 0Η επιλογή χρησιμοποιείται για να πάρουμε μια
λίστα με όλες τις ρυθμίσεις του συστήματος:&prompt.user; sysctl -a
kern.ostype: FreeBSD
kern.osrelease: 6.2-RELEASE-p9
kern.osrevision: 199506
kern.version: FreeBSD 6.2-RELEASE-p9 #0: Thu Nov 29 04:07:33 UTC 2007
root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
kern.maxvnodes: 17517
kern.maxproc: 1988
kern.maxfiles: 3976
kern.argmax: 262144
kern.securelevel: -1
kern.hostname: server1
kern.hostid: 0
kern.clockrate: { hz = 1000, tick = 1000, profhz = 666, stathz = 133 }
kern.posix1version: 200112
...Κάποιες από τις τιμές που δείχνει η εντολή
sysctl είναι μόνο για ανάγνωση.Υπάρχουν περιπτώσεις όπου απαιτείται το procfs, όπως για παράδειγμα
όταν εκτελείτε παλιότερο λογισμικό, το οποίο κάνει χρήση της εντολής
&man.truss.1; για την ανίχνευση των κλήσεων συστήματος, και για την
Συμβατότητα με Εκτελέσιμα του &linux;.
(Αν και η Συμβατότητα με Εκτελέσιμα του &linux; χρησιμοποιεί το δικό
της procfs, το &man.linprocfs.5;). Αν χρειάζεται να προσαρτήσετε το
procfs, μπορείτε να προσθέσετε την ακόλουθη εγγραφή στο αρχείο
/etc/fstab:proc /proc procfs rw,noauto 0 0Η επιλογή θα εμποδίσει την αυτόματη
προσάρτηση του /proc κατά την εκκίνηση του
συστήματος.Προσαρτήστε κατόπιν την procfs χρησιμοποιώντας την ακόλουθη
εντολή:&prompt.root; mount /procΣυνηθισμένες ΕντολέςΔιαχείριση ΠακέτωνΕντολή του &linux; (Red Hat/Debian)Αντίστοιχη εντολή &os;Σκοπόςyum install package / apt-get install packagepkg_add -r packageΕγκατάσταση πακέτου από απομακρυσμένο εξυπηρετητήrpm -ivh package / dpkg -i packagepkg_add -v packageΕγκατάσταση πακέτουrpm -qa / dpkg -lpkg_infoΛίστα εγκατεστημένων πακέτωνΔιαχείριση ΣυστήματοςΕντολή &linux;Αντίστοιχη εντολή &os;ΣκοπόςlspcipciconfΛίστα συσκευών PCIlsmodkldstatΛίστα φορτωμένων αρθρωμάτων πυρήναmodprobekldload / kldunloadΦόρτωση/Αποφόρτωση αρθρωμάτων πυρήναstracetrussΑνίχνευση κλήσεων συστήματοςΣυμπεράσματαΕυελπιστούμε ότι αυτό το κείμενο σας παρείχε αρκετές πληροφορίες
για να ξεκινήσετε με το &os;. Για περισσότερες και πιο λεπτομερείς
πληροφορίες, παρακαλούμε να διαβάσετε το Εγχειρίδιο του &os;
το οποίο επίσης περιέχει και πολλά θέματα που δεν καλύφθηκαν καθόλου στο
παρόν κείμενο.
diff --git a/el_GR.ISO8859-7/articles/problem-reports/article.sgml b/el_GR.ISO8859-7/articles/problem-reports/article.sgml
index d901294aec..c4e3ac4e52 100644
--- a/el_GR.ISO8859-7/articles/problem-reports/article.sgml
+++ b/el_GR.ISO8859-7/articles/problem-reports/article.sgml
@@ -1,958 +1,959 @@
%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 7d0fa8116d..5476a45f83 100644
--- a/el_GR.ISO8859-7/articles/releng-packages/article.sgml
+++ b/el_GR.ISO8859-7/articles/releng-packages/article.sgml
@@ -1,386 +1,387 @@
%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 9e47bb5727..085f736244 100644
--- a/el_GR.ISO8859-7/articles/releng/article.sgml
+++ b/el_GR.ISO8859-7/articles/releng/article.sgml
@@ -1,1026 +1,1027 @@
%authors;
%teams;
%mailing-lists;
%man;
%freebsd;
Η Οργάνωση Έκδοσης των Πακέτων Λογισμικού από Τρίτους'>
]>
Η Οργάνωση των Εκδόσεων του FreeBSDΝοέμβρης 2001BSDCon EuropeMurrayStokelyΈχω ασχοληθεί με την ανάπτυξη προϊόντων βασισμένων στο FreeBSD
από το 1997, στην Walnut Creek CDROM, στην BSDi, και τώρα στην
Wind River Systems. Η έκδοση 4.4 του FreeBSD ήταν η πρώτη επίσημη
έκδοση του FreeBSD στην οποία έπαιξα σημαντικό ρόλο.murray@FreeBSD.org$FreeBSD$Αυτό το άρθρο περιγράφει την αντιμετώπιση και οργάνωση της ομάδας
ανάπτυξης του FreeBSD, όσον αφορά στην προετοιμασία ποιοτικών εκδόσεων
του Λειτουργικού Συστήματος FreeBSD. Εξηγεί με λεπτομέρεια την
μεθοδολογία που χρησιμοποιείται για τις επίσημες εκδόσεις του 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_X_Y.Το εξηγεί με λεπτομέρειες τα διάφορα
στάδια της διαδικασίας που βρίσκεται πίσω από κάθε έκδοση, μέχρι και τα
βήματα που οδηγούν στην μεταγλώττιση του συστήματος και το εξηγεί την ίδια τη διαδικασία της μεταγλώττισης.
Το περιγράφει πως μπορεί να επεκταθεί το
βασικό σύστημα από τρίτους και το
περιγράφει κάποια από τα πράγματα που μάθαμε από την διαδικασία έκδοσης
του 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_8_BP srcΚαι τότε μπορείτε να δημιουργήσετε το νέο κορμό με:/usr/src&prompt.root; cvs rtag -b -rRELENG_4_8_BP RELENG_4_8 srcΟι ετικέτες RELENG_* είναι
δεσμευμένες για χρήση από τους CVS-meisters και την ομάδα των
εκδόσεων.Ο όρος ετικέτα είναι ορολογία
του CVS. Σημαίνει ένα όνομα που καθορίζει μια συγκεκριμένη έκδοση
του κώδικα στο χρόνο. Χρησιμοποιώντας ετικέτες στον πηγαίο κώδικα
βοηθάμε όποιον φτιάξει στο μέλλον εκδόσεις του FreeBSD να βρίσκει
και να χρησιμοποιεί ακριβώς τον ίδιο κώδικα που χρησιμοποιήθηκε για
τις επίσημες εκδόσεις της Ομάδας του FreeBSD.Αυξάνοντας τον Αριθμό ΈκδοσηςΠριν μπει η ετικέτα, μεταγλωττιστεί και ετοιμαστεί η τελική
έκδοση, πρέπει να γίνουν αλλαγές στα παρακάτω αρχεία για να περιέχουν
τον σωστό αριθμό έκδοσης για το FreeBSD:doc/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml
doc/en_US.ISO8859-1/books/porters-handbook/book.sgml
doc/share/sgml/freebsd.entsrc/Makefile.inc1src/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/sys/conf/newvers.shsrc/sys/sys/param.hsrc/usr.sbin/pkg_install/add/main.cwww/en/docs.sgmlwww/en/cgi/ports.cgiports/Tools/scripts/release/configΟι σημειώσεις έκδοσης και τα αρχεία με τις διορθώσεις της
τελευταίας στιγμής πρέπει επίσης να προσαρμοστούν στην νέα έκδοση
(στον κορμό της έκδοσης) και να επεξεργαστούν κατάλληλα (στους δύο
κορμούς 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.Αφού ολοκληρωθεί η προετοιμασία της νέας επίσημης έκδοσης, πρέπει
να ενημερώσετε μερικά αρχεία για να ενημερώσετε τον κόσμο για τη νέα
έκδοση του &os;.www/en/includes.xslwww/en/includes.sgmlwww/es/includes.sgmlwww/en/releases/*src/share/misc/bsd-family-treeΔημιουργία των Ετικετών της ΈκδοσηςΌταν η τελική έκδοση είναι έτοιμη, η παρακάτω εντολή θα
δημιουργήσει την ετικέτα
RELENG_4_8_0_RELEASE./usr/src&prompt.root; cvs rtag -rRELENG_4_8 RELENG_4_8_0_RELEASE srcΟι υπεύθυνοι της Τεκμηρίωσης και των Ports είναι αυτοί που πρέπει
να δημιουργήσουν τις ετικέτες RELEASE_4_8_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.7 του FreeBSD
(x86 πλατφόρμα) ήταν:make release CHROOTDIR=/local3/release \
BUILDNAME=4.7-RELEASE \
CVSROOT=/host/cvs/usr/home/ncvs \
RELEASETAG=RELENG_4_7_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.[59]Μεταγλωττίστε πάλι το &man.sysinstall.8;, τον πυρήνα, ή όποια
άλλα προγράμματα έχουν επηρεαστεί από τις αλλαγές σας.chroot ${CHROOTDIR} ./mk floppiesΟι νέες δισκέττες εγκατάστασης θα δημιουργηθούν στον κατάλογο
${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/books/faq/book.sgml b/el_GR.ISO8859-7/books/faq/book.sgml
index 751ed9ca57..79707dfc8d 100644
--- a/el_GR.ISO8859-7/books/faq/book.sgml
+++ b/el_GR.ISO8859-7/books/faq/book.sgml
@@ -1,11908 +1,11918 @@
%books.ent;
]>
Συχνές Ερωτήσεις για το &os; 5.X και 6.XΗ Ομάδα Τεκμηρίωσης του &os;$FreeBSD$19951996199719981999200020012002200320042005200620072008Η Ομάδα Τεκμηρίωσης του &os;
&bookinfo.legalnotice;
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.adobe;
&tm-attrib.creative;
&tm-attrib.cvsup;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.iomega;
&tm-attrib.linux;
&tm-attrib.microsoft;
&tm-attrib.mips;
&tm-attrib.netscape;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.sgi;
&tm-attrib.sparc;
&tm-attrib.sun;
&tm-attrib.usrobotics;
&tm-attrib.xfree86;
&tm-attrib.general;
Το κείμενο αυτό αποτελεί τις Συχνές Ερωτήσεις (FAQ) για τις
εκδόσεις 5.Χ και 6.Χ του &os;. Όλες οι καταχωρήσεις θεωρείται ότι
σχετίζονται με την έκδοση &os; 5.X και μεταγενέστερες, εκτός
αν αναφέρεται διαφορετικά. Αν ενδιαφέρεστε να μας βοηθήσετε σε αυτό
το έργο, στείλτε ένα email στην &a.doc;. Η τελευταία έκδοση αυτού
του κειμένου είναι πάντοτε διαθέσιμη στην δικτυακή τοποθεσία του &os;. Μπορείτε επίσης να την κατεβάσετε ως
ένα μεγάλο HTML αρχείο μέσω HTTP ή
ακόμα και ως απλό κείμενο, &postscript;, PDF, κλπ. από τον εξυπηρετητή FTP του &os;. Μπορείτε ακόμα να ψάξετε στις Συχνές Ερωτήσεις
.ΕισαγωγήΚαλώς ήλθατε στις Συχνές Ερωτήσεις (FAQ) του &os; 5.X-6.X!Όπως συνηθίζεται στα FAQs του Usenet, το κείμενο αυτό έχει σκοπό
να καλύψει τις πιο συνηθισμένες ερωτήσεις που αφορούν το λειτουργικό
σύστημα &os; (και φυσικά να τις απαντήσει!). Αν και ο αρχικός σκοπός
των FAQs ήταν η εξοικονόμηση εύρους ζώνης του διαδικτύου από την
επαναλαμβανόμενη απάντηση των ίδιων ερωτήσεων, τα FAQs αναγνωρίστηκαν
τελικά ως πολύτιμες πηγές πληροφοριών.Έχει καταβληθεί κάθε προσπάθεια ώστε αυτό το FAQ να γίνει όσο πιο
πληροφοριακό γίνεται. Αν θέλετε να κάνετε κάποιες υποδείξεις σχετικά
με τρόπους βελτίωσης του, σας παρακαλούμε στείλτε μας ένα email στη
&a.doc;.Τι είναι το &os;;Εν συντομία, το &os; είναι ένα λειτουργικό σύστημα τύπου
&unix; για τις αρχιτεκτονικές Alpha/AXP, AMD64 και &intel;
EM64T, &i386; IA-64, PC-98, και &ultrasparc; και βασίζεται στην
έκδοση 4.4BSD-Lite του Πανεπιστημίου του Berkeley,
με κάποιες βελτιώσεις από το 4.4BSD-Lite2.
Βασίζεται επίσης έμμεσα στην εργασία μεταφοράς (port) του
Net/2 (επίσης από το Berkeley) που έγινε από τον
William Jolitz, αν και δεν έχει μείνει σχεδόν τίποτα από τον
αρχικό κώδικα του 386BSD. Πληρέστερη περιγραφή για το τι είναι
το &os; και πως μπορεί να λειτουργήσει για εσάς, μπορείτε να
βρείτε στην δικτυακή τοποθεσία του &os;.Το &os; χρησιμοποιείται από εταιρίες, παροχείς υπηρεσιών
Internet (ISPs), φοιτητές και οικιακούς χρήστες, ερευνητές,
και επαγγελματίες των υπολογιστών σε όλο τον κόσμο, στη δουλειά
τους, στην εκπαίδευση και για αναψυχή.Για περισσότερες λεπτομέρειες σχετικά με το &os;, παρακαλούμε
διαβάστε το Εγχειρίδιο του &os;.Ποιος είναι ο σκοπός του &os; Project;Ο σκοπός του &os; Project είναι να παρέχει λογισμικό το οποίο
να μπορεί να χρησιμοποιηθεί για οποιουσδήποτε σκοπούς και χωρίς
περιορισμούς. Πολλοί από εμάς έχουμε επενδύσει σημαντικά στον
κώδικα (και στο ίδιο το έργο) και σίγουρα δεν θα μας πείραζε
και κάποια χρηματική αποζημίωση που και που, αλλά σίγουρα δεν
επιμένουμε σε αυτό. Πιστεύουμε ότι η πρώτη και βασικότερη
αποστολή μας είναι να παρέχουμε κώδικα σε όλους,
για οποιοδήποτε πιθανό σκοπό, έτσι ώστε ο κώδικας μας να έχει
την ευρύτερη δυνατή χρήση και επιτυγχάνει το μεγαλύτερο δυνατό
όφελος. Πιστεύουμε ότι αυτός είναι ένας από τους σημαντικότερους
σκοπούς του Ελεύθερου Λογισμικού και τον υποστηρίζουμε
θερμά.Ο κώδικας, στο δέντρο του πηγαίου μας κώδικα, ο οποίος
εμπίπτει στη άδεια χρήσης
GNU General Public License (GPL) ή GNU Library General Public License (LGPL) έχει περισσότερους περιορισμούς, αλλά
τουλάχιστον όσο αφορά την υποχρέωση ελεύθερης πρόσβασης αντί για
το αντίθετο που είναι και το πλέον συνηθισμένο. Λόγω της
αυξημένης πολυπλοκότητας που μπορεί να προκύψει από την εμπορική
χρήση λογισμικού GPL, προσπαθούμε γενικά να αντικαταστήσουμε αυτό
το λογισμικό με αντίστοιχο υπό την πιο χαλαρή άδεια &os;, όπου αυτό είναι δυνατό.Υπάρχουν κάποιοι περιορισμοί στην άδεια του &os;;Ναι. Οι περιορισμοί αυτοί δεν ελέγχουν πως χρησιμοποιείτε τον
κώδικα, αλλά μόνο πως μεταχειρίζεστε το ίδιο το &os; Project. Αν
σας ενδιαφέρει σοβαρά η άδεια, διαβάστε την εδώ. Για τους απλώς περίεργους, η άδεια περιληπτικά γράφει:Μην ισχυρισθείτε ότι γράψατε αυτό το λογισμικό.Μη μας μηνύσετε αν χαλάσει.Μπορεί το &os; να αντικαταστήσει το τρέχον λειτουργικό
μου σύστημα;Για τους περισσότερους ανθρώπους, ναι. Αλλά αυτή η απάντηση
δεν μπορεί να δοθεί τόσο ξερά.Οι περισσότεροι άνθρωποι δεν χρησιμοποιούν στην πραγματικότητα
κάποιο λειτουργικό. Χρησιμοποιούν εφαρμογές. Το &os; είναι
σχεδιασμένο να παρέχει ένα στιβαρό και πλήρων δυνατοτήτων
περιβάλλον για εφαρμογές. Υποστηρίζει μεγάλη ποικιλία από
φυλλομετρητές, σουίτες γραφείου, προγράμματα ηλεκτρονικού
ταχυδρομείου, προγράμματα γραφικών, γλώσσες προγραμματισμού,
εξυπηρετητές δικτύου, και ουσιαστικά οτιδήποτε άλλο μπορεί να
θελήσετε. Μπορείτε να διαχειριστείτε τις περισσότερες από αυτές
τις εφαρμογές μέσω της Συλλογής των Ports.Αν χρειάζεται να χρησιμοποιήσετε μια εφαρμογή που είναι
διαθέσιμη σε ένα μόνο λειτουργικό σύστημα, τότε απλά δεν μπορείτε
να αντικαταστήσετε το σύστημα αυτό. Υπάρχουν ωστόσο καλές
πιθανότητες να βρείτε μια αντίστοιχη εφαρμογή στο &os;. Αν
θέλετε ένα εξυπηρετητή για το γραφείο σας ή για το Internet,
ένα αξιόπιστο σταθμό εργασίας, ή απλώς την ικανότητα να κάνετε
την εργασίας σας χωρίς διακοπές, το &os; είναι σχεδόν σίγουρο ότι
θα κάνει ότι χρειάζεστε. Πολλοί χρήστες υπολογιστών σε όλο τον
κόσμο, περιλαμβανομένων τόσο αρχάριων όσο και προχωρημένων
διαχειριστών συστημάτων &unix;, χρησιμοποιούν το &os; ως το
μοναδικό τους desktop σύστημα.Αν έρχεστε στο &os; από κάποιο άλλο &unix; περιβάλλον, ξέρετε
ήδη τα περισσότερα από αυτά που χρειάζεστε. Αν ωστόσο η εμπειρία
σας προέρχεται από λειτουργικά συστήματα με γραφικό περιβάλλον,
όπως τα &windows; και οι παλιότερες εκδόσεις του &macos;,
θα πρέπει να επενδύσετε, όπως είναι αναμενόμενο, επιπλέον χρόνο
για να εξοικειωθείτε με τον &unix; τρόπο εκτέλεσης των εργασιών.
Αυτό το FAQ, καθώς και το Εγχειρίδιο του &os; αποτελούν εξαιρετικά αναγνώσματα για να ξεκινήσετε.Γιατί ονομάζεται &os;;Μπορεί να χρησιμοποιηθεί χωρίς χρέωση, ακόμα και για
εμπορικούς σκοπούς.Διατίθεται ο πλήρης πηγαίος κώδικας για το λειτουργικό
σύστημα, και με τους ελάχιστους δυνατούς περιορισμούς σχετικά
με τη χρήση του, τη διανομή του και την ενσωμάτωση του σε άλλα
έργα (εμπορικά ή μη).Οποιοσδήποτε έχει να προτείνει μια βελτίωση ή διόρθωση,
είναι ελεύθερος να υποβάλλει τον κώδικα του, ο οποίος και
θα προστεθεί στο δέντρο πηγαίου κώδικα (υπό μια-δυο βασικές
προφανείς προϋποθέσεις).Αξίζει να αναφέρουμε ότι η λέξη ελεύθερο
χρησιμοποιείται εδώ με δύο τρόπους, ο ένας σημαίνει
δωρεάν, και ο άλλος σημαίνει
μπορείτε να το κάνετε ότι θέλετε. Εκτός από
ένα-δύο πράγματα που δεν μπορείτε να κάνετε
με τον κώδικα του &os;, για παράδειγμα να ισχυρισθείτε ότι τον
γράψατε, μπορείτε στα αλήθεια να τον κάνετε ότι θέλετε.Ποιες είναι οι διαφορές μεταξύ του &os; και του NetBSD,
OpenBSD και των άλλων BSD συστημάτων ανοικτού κώδικα;Ο James Howard έχει γράψει μια καλή εξήγηση της ιστορίας
και των διαφορών μεταξύ των διάφορων έργων για το
DaemonNews,
στο άρθρο που ονομάζεται Η Οικογένεια Λειτουργικών BSD
και το οποίο εμβαθύνει ιδιαίτερα σε αυτή την ερώτηση.Ποια είναι η τελευταία έκδοση του &os;;Αυτή τη στιγμή στην ανάπτυξη του &os;, υπάρχουν δύο παράλληλοι
κλάδοι. Και από τους δύο αυτούς κλάδους, προκύπτουν νέες
εκδόσεις. Η σειρά των εκδόσεων 5.Χ δημιουργείται από τον κλάδο
5-STABLE ενώ η σειρά των εκδόσεων 6.Χ
από τον 6-STABLE.Μέχρι και την έκδοση της 5.3, η σειρά 4.Χ ήταν γνωστή ως
-STABLE. Ωστόσο από την 5.3 και μετά, η
σειρά 4.Χ θεωρείται ότι εισέρχεται στη φάση της
εκτεταμένης υποστήριξης και θα λαμβάνει μόνο
διορθώσεις για σοβαρά προβλήματα, όπως π.χ. αυτά που αναφέρονται
σε κενά ασφαλείας. Θα υπάρξουν περισσότερες εκδόσεις από την
σειρά 5-STABLE, αλλά και αυτή θεωρείται
παρωχημένη και η περισσότερη τρέχουσα εργασία θα
αποτελεί τμήμα μόνο της σειράς 6-STABLE.
Η έκδοση &rel.current;
είναι η πλέον τελευταία της σειράς
6-STABLE και έγινε στις
&rel.current.date;. Η έκδοση &rel2.current;
είναι η πλέον τελευταία της σειράς
5-STABLE και έγινε στις
&rel2.current.date;.Εν συντομία, η σειρά -STABLE προορίζεται
για τους ISPs, τους εταιρικούς χρήστες καθώς και οποιοδήποτε
χρήστη θέλει σταθερότητα και μίνιμουμ αριθμό αλλαγών σε σχέση με
τα νέα (και πιθανόν ασταθή) χαρακτηριστικά που εμφανίζονται στη
σειρά -CURRENT. Εκδόσεις μπορεί να γίνονται
από οποιοδήποτε κλάδο, αλλά η έκδοση -CURRENT
θα πρέπει να χρησιμοποιείται μόνο αν είστε προετοιμασμένοι να
χειριστείτε τα ενδεχομένως πιο ασταθή χαρακτηριστικά της (σε σχέση
πάντα με την αντίστοιχη -STABLE).Νέες εκδόσεις εμφανίζονται κάθε
μερικούς μήνες. Αν και πολλοί επιλέγουν να διατηρούνται
ενημερωμένοι και πιο συχνά μέσω του πηγαίου κώδικα του &os;
(δείτε τις ερωτήσεις στο
&os.current; και &os.stable;), οι εκδόσεις είναι κάτι
παραπάνω από υποχρέωση, καθώς ο πηγαίος κώδικας είναι περισσότερο
ένας κινούμενος στόχος.Περισσότερες πληροφορίες για τις εκδόσεις του &os; μπορείτε
να βρείτε στην Σελίδα Προετοιμασίας Εκδόσεων
στην δικτυακή τοποθεσία του &os;.Τι είναι το &os;-CURRENT;Το &os.current;
είναι η υπό εξέλιξη έκδοση του λειτουργικού συστήματος, το οποίο
με τον καιρό θα εξελιχθεί στο νέο κλάδο &os.stable;. Για το λόγο
αυτό, παρουσιάζει συνήθως ενδιαφέρον μόνο σε όσους ασχολούνται με
την ανάπτυξη κώδικα του συστήματος και σε σκληροπυρηνικούς
χομπίστες. Δείτε το σχετικό τμήμα στο εγχειρίδιο
για λεπτομέρειες σχετικά με το -CURRENT.Αν δεν είστε εξοικειωμένος με το λειτουργικό σύστημα, ή δεν
είστε ικανός να αναγνωρίσετε τη διαφορά μεταξύ ενός πραγματικού
και ενός προσωρινού προβλήματος, μάλλον δεν θα πρέπει να
χρησιμοποιήσετε το &os.current;. Ο κλάδος αυτός ορισμένες φορές
εξελίσσεται πολύ γρήγορα, και μπορεί ακόμα και η μεταγλώττιση του
να μην είναι δυνατή για ολόκληρες μέρες κάθε φορά. Όσοι
χρησιμοποιούν το &os.current; αναμένεται να είναι ικανοί να
αναλύουν τα όποια προβλήματα και να τα αναφέρουν, μόνο αν θεωρούν
ότι πρόκειται για λάθη και όχι για
μικροπροβλήματα. Ερωτήσεις του τύπου
το make world παράγει κάποια σφάλματα σχετικά με τα
groups στη λίστα ταχυδρομείου -CURRENT, μπορεί να
αντιμετωπιστούν περιφρονητικά.Κάθε μέρα, παράγονται στιγμιότυπα
εκδόσεων που βασίζονται στην τρέχουσα κατάσταση των κλάδων
-CURRENT και -STABLE. Γίνονται κατά καιρούς διαθέσιμες οι
εκδόσεις κάποιων στιγμιότυπων. Οι στόχοι πίσω από κάθε έκδοση
στιγμιότυπου είναι:Ο έλεγχος της τελευταίας έκδοσης του λογισμικού
εγκατάστασης.Να δώσει τη δυνατότητα εύκολης εγκατάστασης σε όσους
επιθυμούν να εκτελούν το -CURRENT ή το -STABLE αλλά δεν έχουν
το χρόνο ή το εύρος ζώνης να το παρακολουθούν μέρα με τη
μέρα.Η διατήρηση ενός σταθερού σημείου αναφοράς σχετικά με τον
πηγαίο κώδικα, σε περίπτωση που χαλάσουμε κάτι πολύ άσχημα
αργότερα. (Αν και λόγω της χρήσης του CVS είναι δύσκολο να
συμβεί κάτι πραγματικά τόσο φρικτό :)Να εξασφαλιστεί ότι κάθε νέο χαρακτηριστικό και διόρθωση
που χρειάζεται έλεγχο, θα έχει το μεγαλύτερο δυνατό κοινό
πιθανών δοκιμαστών.Δεν υπάρχει ποτέ ο ισχυρισμός ότι κάποιο στιγμιότυπο -CURRENT
μπορεί να θεωρηθεί τελικής ποιότητας για
οποιοδήποτε σκοπό. Αν θέλετε να εκτελείτε ένα πλήρως σταθερό και
δοκιμασμένο σύστημα, θα πρέπει να μείνετε στις πλήρεις εκδόσεις ή
να χρησιμοποιείτε τα στιγμιότυπα -STABLE.Εκδόσεις στιγμιοτύπων είναι άμεσα διαθέσιμες από εδώ.Κατά μέσο όρο, για κάθε κλάδο που βρίσκεται σε ενεργή
ανάπτυξη, παράγεται στιγμιότυπο καθημερινά.Ποια είναι η έννοια του &os;-STABLE;Όταν κυκλοφόρησε το &os; 2.0.5, η ανάπτυξη του &os; χωρίστηκε
σε δύο κλάδους. Ο ένας κλάδος ονομάστηκε -STABLE, και ο άλλος -CURRENT.
Το &os;-STABLE προορίζεται για Παροχείς Υπηρεσιών Internet (ISPs)
και γενικά εμπορικές χρήσεις, όπου οι απότομες αλλαγές και τα
τυχόν πειραματικά χαρακτηριστικά είναι γενικά ανεπιθύμητα. Στον
κλάδο αυτό ενσωματώνονται μόνο καλά δοκιμασμένες διορθώσεις και
άλλες μικρές πρόσθετες αλλαγές. Από την άλλη μεριά, το
&os;-CURRENT βρίσκεται σε μια μοναδική αδιάκοπη γραμμή ανάπτυξης
από την εποχή της κυκλοφορίας της έκδοσης 2.0, οδηγώντας προς
την έκδοση 6.2-RELEASE αλλά και μετά από αυτή. Λίγο πριν τη
κυκλοφορία της έκδοσης 6.0-RELEASE, δημιουργήθηκε ο κλάδος
6-STABLE και το &os.current; έγινε 7-CURRENT. Για περισσότερες
πληροφορίες δείτε
Προετοιμασία Εκδόσεων του &os;: Δημιουργία του Κλάδου Έκδοσης.Ο κλάδος 2.2-STABLE εγκαταλείφθηκε με την κυκλοφορία της
έκδοσης 2.2.8. Ο κλάδος 3-STABLE τελείωσε με την κυκλοφορία της
έκδοσης 3.5.1, που ήταν και η τελευταία της σειράς εκδόσεων 3.X.
Ο κλάδος 4-STABLE τελείωσε με την κυκλοφορία της έκδοσης 4.11, της
τελευταίας της σειράς 4.X. Οι μόνες αλλαγές που γίνονται κατά
βάση σε κάθε ένα από αυτούς τους κλάδους, έχουν σχέση με
διορθώσεις σε κενά ασφαλείας. Η υποστήριξη των κλάδων 5-STABLE θα
συνεχιστεί για κάποιο διάστημα, ωστόσο θα επικεντρωθεί
περισσότερο σε διορθώσεις κενών ασφαλείας και άλλων σοβαρών
προβλημάτων.Το &rel.current;-STABLE είναι ο κλάδος που βρίσκεται υπό
ενεργή ανάπτυξη. Η τελευταία κυκλοφορία που βασίζεται στον κλάδο
&rel.current;-STABLE είναι η &rel.current;-RELEASE, και έγινε
στις &rel.current.date;.Ο κλάδος 7-CURRENT είναι ο κλάδος -CURRENT που αναπτύσσεται
αυτή τη στιγμή ενεργά ώστε να δημιουργηθεί η νέα γενιά του &os;.
Δείτε Τι είναι το &os;-CURRENT;
για περισσότερες πληροφορίες σχετικά με αυτό τον κλάδο.Κάθε πότε γίνονται επίσημες κυκλοφορίες του &os;;H &a.re; δίνει στην κυκλοφορία μια καινούρια έκδοση του &os;
κάθε περίπου τέσσερις μήνες, κατά μέσο όρο. Οι ημερομηνίες
κυκλοφορίας ανακοινώνονται αρκετό καιρό πριν, ώστε όσοι δουλεύουν
πάνω στο σύστημα να ξέρουν πότε οι εργασίες τους πρέπει να έχουν
ολοκληρωθεί και δοκιμαστεί. Πριν από κάθε κυκλοφορία, προηγείται
μια περίοδος δοκιμών, ώστε να εξασφαλιστεί ότι η προσθήκη νέων
χαρακτηριστικών δεν έχει αρνητικές επιπτώσεις στη σταθερότητα
της έκδοσης. Πολλοί χρήστες θεωρούν αυτό το είδος της προσοχής
ένα από τα καλύτερα πράγματα σχετικά με το &os;, αν και η αναμονή
ως ότου φτάσουν όλα τα ωραία νέα χαρακτηριστικά το -STABLE μπορεί
να γίνει λίγο εκνευριστική.Περισσότερες πληροφορίες σχετικά με τη διαδικασία κυκλοφορίας
(περιλαμβανομένου και ενός χρονοδιαγράμματος επικείμενων
κυκλοφοριών) μπορούν να βρεθούν στις σελίδες προετοιμασίας εκδόσεων στη δικτυακή τοποθεσία του &os;.Για τους πιο ενθουσιώδεις, υπάρχουν καθημερινά στιγμιότυπα
(binary snapshots) όπως αναφέρθηκε πιο πάνω.Ποιος είναι υπεύθυνος για το &os;Οι βασικές αποφάσεις που αφορούν το &os; Project, όπως η
συνολική κατεύθυνση του έργου και ποιος επιτρέπεται να προσθέσει
πηγαίο κώδικα στο δέντρο, παίρνονται από την βασική ομάδα (core team) που αποτελείται από 9 άτομα. Υπάρχει μια ακόμα μεγαλύτερη ομάδα
με περισσότερα από 350 άτομα που ονομάζονται διαπράκτες (committers)
και οι οποίοι έχουν την έγκριση να κάνουν απευθείας αλλαγές στο
δέντρο πηγαίου κώδικα του &os;.Ωστόσο οι περισσότερες σημαντικές αλλαγές συζητούνται από
πριν στις λίστες ηλεκτρονικού
ταχυδρομείου, και δεν υπάρχουν περιορισμοί σχετικά με το
ποιοι λαμβάνουν μέρος σε αυτές τις συζητήσεις.Που μπορώ να προμηθευτώ το &os;;Κάθε σημαντική έκδοση του &os; είναι διαθέσιμη μέσω ανώνυμου
FTP από τον διακομιστή FTP του &os;:Η τελευταία κυκλοφορία που βασίζεται στο 6-STABLE,
&rel.current;-RELEASE μπορεί να βρεθεί στον κατάλογο
&rel.current;-RELEASE.Εκδόσεις που βασίζονται σεΣτιγμιότυπα γίνονται καθημερινά από τους κλάδους
-CURRENT και
-STABLE, και εξυπηρετούν κατά
βάση όσους ασχολούνται με την ανάπτυξη και τον έλεγχο των
τελευταίας γενιάς προγραμμάτων.Η τελευταία κυκλοφορία που βασίζεται στον κλάδο 5-STABLE,
η &rel2.current;-RELEASE, μπορεί να βρεθεί στον κατάλογο
&rel2.current;-RELEASE.Πληροφορίες σχετικά με τη διάθεση του &os; σε CD, DVD και άλλα
μέσα μπορούν να βρεθούν
στο Εγχειρίδιο.Πως μπορώ να έχω πρόσβαση στη Βάση Δεδομένων με τις
Αναφορές Προβλημάτων;Μπορείτε να κάνετε αναζητήσεις στη βάση δεδομένων με τις
αναφορές προβλημάτων μέσω της διεπαφής αναζητήσεων στο Web.Η εντολή &man.send-pr.1; μπορεί να χρησιμοποιηθεί για την
υποβολή αναφορών προβλημάτων, καθώς και αιτήσεων για αλλαγές,
μέσω ηλεκτρονικού ταχυδρομείου. Εναλλακτικά, μπορείτε να
χρησιμοποιήσετε την αντίστοιχη δυνατότητα
υποβολής αναφορών προβλημάτων μέσω της διεπαφής web με τη βοήθεια ενός προγράμματος
φυλλομετρητή.Πριν υποβάλετε μια αναφορά προβλήματος, παρακαλούμε διαβάστε
το Γράφοντας Αναφορές Προβλημάτων για το &os;,
ένα άρθρο για το πως να γράφετε καλές αναφορές προβλημάτων.Τι άλλες πηγές πληροφοριών υπάρχουν;Παρακαλούμε ελέγξτε τη λίστα της Τεκμηρίωσης
στην κύρια δικτυακή τοποθεσία του &os;.Τεκμηρίωση και ΥποστήριξηΠοια καλά βιβλία υπάρχουν σχετικά με το &os;;Το Project παράγει μια μεγάλη γκάμα τεκμηρίωσης που διατίθεται
online από τον παρακάτω σύνδεσμο:
. Τα ίδια
αυτά έγγραφα είναι διαθέσιμα και ως πακέτα τα οποία μπορείτε να
εγκαταστήσετε εύκολα στο &os; σύστημα σας. Περισσότερες
λεπτομέρειες σχετικά με τα πακέτα τεκμηρίωσης, θα βρείτε στις
ακόλουθες παραγράφους.Επιπρόσθετα, θα βρείτε και άλλα συνιστώμενα βιβλία στην
Βιβλιογραφία στο τέλος αυτού του FAQ, και του Εγχειριδίου.Είναι διαθέσιμη η τεκμηρίωση και σε άλλες μορφές, όπως απλό
κείμενο (ASCII) ή &postscript;;Ναι. Η τεκμηρίωση είναι διαθέσιμη σε πλήθος διαφορετικών
μορφών και τρόπων συμπίεσης, στο διακομιστή FTP του &os;, στον
κατάλογο /pub/FreeBSD/doc/.Η τεκμηρίωση είναι κατηγοριοποιημένη με διάφορους τρόπους.
Αυτοί περιλαμβάνουν:Το όνομα του εγγράφου, όπως π.χ. faq, ή
handbook.H γλώσσα και η κωδικοποίηση του κειμένου. Αυτά βασίζονται
στα ονόματα που έχουν δοθεί στις τοπικές ρυθμίσεις και που
μπορείτε να βρείτε στον κατάλογο
/usr/share/locale στο &os; σύστημά σας.
Οι τρέχουσες γλώσσες και κωδικοποιήσεις που έχουμε διαθέσιμες
αυτή τη στιγμή στην τεκμηρίωση είναι οι παρακάτω:ΌνομαΕρμηνείαen_US.ISO8859-1Αγγλικά ΗΠΑbn_BD.ISO10646-1Bengali (ή Bangla)da_DK.ISO8859-1Δανέζικαde_DE.ISO8859-1Γερμανικάes_ES.ISO8859-1Ισπανικάfr_FR.ISO8859-1Γαλλικάhu_HU.ISO8859-2Ουγγαρέζικαit_IT.ISO8859-15Ιταλικάja_JP.eucJPΓιαπωνέζικα (κωδικοποίηση EUC)mn_MN.UTF-8Μογγολικά (κωδικοποίηση UTF-8)nl_NL.ISO8859-1Ολλανδικάpl_PL.ISO8859-2Πολωνικάpt_BR.ISO8859-1Πορτογαλικά (Βραζιλία)ru_RU.KOI8-RΡώσικα (κωδικοποίηση KOI8-R)sr_YU.ISO8859-2Σέρβικαtr_TR.ISO8859-9Τούρκικαzh_CN.GB2312Απλοποιημένα Κινέζικα (κωδικοποίηση GB2312)
zh_TW.Big5Παραδοσιακά Κινέζικα (κωδικοποίηση Big5)Κάποια έγγραφα μπορεί να μην είναι διαθέσιμα σε όλες
τις γλώσσες.Τη μορφή του εγγράφου. Παράγουμε τεκμηρίωση σε πλήθος
διαφορετικών μορφών εξόδου. Κάθε μορφή έχει τα δικά της
πλεονεκτήματα και μειονεκτήματα. Κάποιες μορφές είναι
περισσότερο κατάλληλες για ανάγνωση online, ενώ άλλες
δίνουν πιο καλαίσθητο αποτέλεσμα όταν εκτυπωθούν. Η διάθεση
της τεκμηρίωσης σε όλες αυτές τις μορφές εξασφαλίζει ότι οι
αναγνώστες μας θα μπορούν να διαβάσουν τα τμήματα που τους
ενδιαφέρουν, είτε στην οθόνη τους, είτε αφού τα εκτυπώσουν.
Οι διαθέσιμες αυτή τη στιγμή μορφές είναι:ΜορφήΕρμηνείαhtml-splitΣυλλογή μικρών, συνδεμένων μεταξύ τους, αρχείων
HTML.htmlΈνα μεγάλο HTML αρχείο που περιέχει ολόκληρο το
έγγραφο.pdbΜορφή βάσης δεδομένων για το Palm Pilot, για
χρήση με το πρόγραμμα ανάγνωσης
iSilo.
pdfΜορφή κειμένου PDF της Adobe.ps&postscript;rtfΜορφή Εμπλουτισμένου Κειμένου της Microsoft
Οι αριθμοί σελίδων δεν ανανεώνονται
αυτόματα όταν φορτώνετε αυτή τη μορφή εγγράφου στο
Word. Πιέστε
CTRLA,
CTRLEND,
F9 μετά τη φόρτωση του κειμένου για
την ανανέωση των αριθμών σελίδων.txtΑπλό κείμενοΟ τρόπος συμπίεσης και πακεταρίσματος. Υπάρχουν τρεις
τρόποι που χρησιμοποιούνται αυτή τη στιγμή.Όταν η μορφή είναι
html-split, τα αρχεία συμπιέζονται
με χρήση της &man.tar.1;. Το αρχείο
.tar που προκύπτει, συμπιέζεται
έπειτα με τους τρόπους συμπίεσης που περιγράφονται
παρακάτω.Όλες οι άλλες μορφές δημιουργούν ένα αρχείο που
ονομάζεται
book.μορφή
(π.χ., book.pdb,
book.html, κ.ο.κ.).Τα αρχεία αυτά συμπιέζονται κατόπιν με δύο τρόπους
συμπίεσης.ΤρόποςΠεριγραφήzipΜορφή συμπίεσης Zip. Αν θέλετε να
το αποσυμπιέσετε στο &os; θα πρέπει να
εγκαταστήσετε πρώτα το port
archivers/unzip.
bz2Η μορφή BZip2. Είναι λιγότερο διαδεδομένη
από το Zip, αλλά γενικά δημιουργεί μικρότερα
αρχεία. Εγκαταστήστε το port archivers/bzip2
για να αποσυμπιέσετε αρχεία αυτού του τύπου.
Με τον τρόπο αυτό, η μορφή &postscript; του
Εγχειριδίου, συμπιεσμένη με χρήση του BZip2 θα
αποθηκευτεί σε ένα αρχείο με όνομα
book.ps.bz2 στον
κατάλογο handbook/.Αφού επιλέξετε τη μορφή και το μηχανισμό συμπίεσης που
επιθυμείτε να κατεβάσετε, θα πρέπει έπειτα να αποφασίσετε αν
θέλετε ή όχι να κατεβάσετε το έγγραφο με τη μορφή
πακέτου του &os;.Το πλεονέκτημα στο να κατεβάσετε και να εγκαταστήσετε το
πακέτο είναι ότι έπειτα μπορείτε να διαχειριστείτε την
τεκμηρίωση χρησιμοποιώντας τα συνηθισμένα εργαλεία διαχείρισης
πακέτων του &os; όπως την &man.pkg.add.1; και την
&man.pkg.delete.1;.Αν αποφασίσετε να κατεβάσετε και να εγκαταστήσετε την
τεκμηρίωση ως πακέτο, θα πρέπει να ξέρετε το ακριβές όνομα αρχείου
που θα κατεβάσετε. Τα αρχεία τεκμηρίωσης-ως-πακέτο αποθηκεύονται
σε ένα κατάλογο με το όνομα packages. Κάθε
πακέτο μοιάζει με
όνομα-κειμένου.γλώσσα.κωδικοποίηση.μορφή.tgz.Για παράδειγμα, το FAQ, στα Αγγλικά, σε μορφή PDF, είναι στο
πακέτο με όνομα
faq.en_US.ISO8859-1.pdf.tgz.Αν το ξέρετε αυτό μπορείτε να χρησιμοποιήσετε την ακόλουθη
εντολή για να εγκαταστήσετε το πακέτο του Αγγλικού PDF FAQ:&prompt.root; pkg_add ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/packages/faq.en_US.ISO8859-1.pdf.tgzΑφού το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε την εντολή
&man.pkg.info.1; για να βρείτε που έχει εγκατασταθεί το αρχείο.&prompt.root; pkg_info -f faq.en_US.ISO8859-1.pdf
Information for faq.en_US.ISO8859-1.pdf:
Packing list:
Package name: faq.en_US.ISO8859-1.pdf
CWD to /usr/share/doc/en_US.ISO8859-1/books/faq
File: book.pdf
CWD to .
File: +COMMENT (ignored)
File: +DESC (ignored)Όπως μπορείτε να δείτε, το book.pdf θα
έχει εγκατασταθεί στον κατάλογο
/usr/share/doc/en_US.ISO8859-1/books/faq.Αν δεν θέλετε να χρησιμοποιήσετε τα πακέτα, θα πρέπει να
κατεβάσετε μόνοι σας τα συμπιεσμένα αρχεία, να τα αποσυμπιέσετε
και έπειτα να αντιγράψετε τα αντίστοιχα έγγραφα στη θέση τους.Για παράδειγμα, η έκδοση του FAQ σε συνδεδεμένα αρχεία HTML,
συμπιεσμένη με χρήση του &man.bzip2.1;, μπορεί να βρεθεί στο
αρχείο
doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2
. Για να κατεβάσετε και να αποσυμπιέσετε αυτό το
αρχείο θα πρέπει να κάνετε το παρακάτω:&prompt.root; fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2
&prompt.root; bzip2 -d book.html-split.tar.bz2
&prompt.root; tar xvf book.html-split.tarΘα καταλήξετε με μια συλλογή από αρχεία
.html. Το βασικό ονομάζεται
index.html, και θα περιέχει τον πίνακα
περιεχομένων, εισαγωγικό υλικό, και δεσμούς προς τα άλλα τμήματα
του εγγράφου. Μπορείτε έπειτα να αντιγράψετε ή να μετακινήσετε
τα αρχεία αυτά στις τελικές τους θέσεις, όπως απαιτείται.Που μπορώ να βρω πληροφορίες για λίστες ηλεκτρονικού
ταχυδρομείου του &os;;Μπορείτε να βρείτε πλήρεις πληροφορίες στην αντίστοιχη καταχώρηση του Εγχειριδίου για τις λίστες ηλεκτρονικού ταχυδρομείου.Τι ομάδες συζήτησης είναι διαθέσιμες για το &os;;Μπορείτε να βρείτε πλήρεις πληροφορίες στην καταχώρηση του Εγχειριδίου για τις ομάδες συζητήσεων.Υπάρχουν κανάλια στο IRC (Internet Relay Chat) για το &os;;Ναι, τα περισσότερα IRC δίκτυα διαθέτουν κανάλι συζήτησης για
το &os;:Το κανάλι #FreeBSD στο
EFNet
ασχολείται με το &os;, αλλά μην πάτε εκεί για τεχνική
υποστήριξη ή για να προσπαθήσετε να πείσετε τους θαμώνες να
σας βοηθήσουν για να απαλλαγείτε από τον κόπο να διαβάσετε τις
σελίδες βοήθειας ή να ερευνήσετε μόνος σας. Είναι απλώς ένα
κανάλι συζήτησης, πρώτα από όλα, και τα θέματα εκεί μπορεί
να κυμαίνονται ανάμεσα στο σεξ, τον αθλητισμό, τα πυρηνικά
όπλα ως και το &os;. Σας έχουμε προειδοποιήσει! Είναι
διαθέσιμο στον εξυπηρετητή irc.chat.org.Το κανάλι #FreeBSDhelp στο
EFNet
είναι αφιερωμένο στη βοήθεια των χρηστών του &os;. Έχετε
πολύ μεγαλύτερη πιθανότητα να βρείτε απαντήσεις στις ερωτήσεις
σας σε αυτό, παρά στο #FreeBSD.Το κανάλι ##FreeBSD στο
Freenode
είναι ένα γενικό κανάλι βοήθειας με περίπου 300 χρήστες κάθε
φορά. Οι συζητήσεις μερικές φορές ξεφεύγουν από το θέμα,
αλλά δίνεται προτεραιότητα στους χρήστες με ερωτήσεις για το
&os;. Είμαστε καλοί στο να σας βοηθήσουμε να καταλάβετε τα
βασικά, να σας δείξουμε που να ανατρέξετε στο Εγχειρίδιο όποτε
χρειάζεται, και να σας κατευθύνουμε εκεί όπου μπορείτε να
μάθετε περισσότερα για θέμα που σας απασχολεί. Είμαστε κατά
βάση Αγγλόφωνο κανάλι, αν και έχουμε χρήστες από όλο τον
κόσμο. Αν θέλετε να ρωτήσετε στη μητρική σας γλώσσα,
προσπαθήστε να κάνετε την ερώτηση στα Αγγλικά και έπειτα
μετακινηθείτε σε κάποιο άλλο κανάλι
##freebsd-lang αν χρειάζεται.Το κανάλι #FreeBSD στο
DALNET
είναι διαθέσιμο στο irc.dal.net στις ΗΠΑ
και στο irc.eu.dal.net στην Ευρώπη.Το κανάλι #FreeBSDHelp στο
DALNET
είναι διαθέσιμο στο irc.dal.net στις ΗΠΑ
και στο irc.eu.dal.net στην Ευρώπη.Το κανάλι #FreeBSD στο
UNDERNET
είναι διαθέσιμο στο us.undernet.org
στις ΗΠΑ και στο eu.undernet.org στην
Ευρώπη. Καθώς είναι κανάλι βοήθειας, θα πρέπει να είστε
προετοιμασμένοι να διαβάσετε τα έγγραφα στα οποία θα σας
παραπέμψουν.Το κανάλι #FreeBSD στο
RUSNET
είναι προσανατολισμένο στη βοήθεια χρηστών του &os; που
μιλούν τη Ρωσική γλώσσα. Είναι επίσης ένα καλό μέρος για
μη-τεχνικές συζητήσεις.Το κανάλι #BSDChat στο
IRCNET
είναι ένα κανάλι σε παραδοσιακή Κινεζική γλώσσα, αφιερωμένο
στη βοήθεια χρηστών του &os;. Είναι επίσης ένα καλό μέρος για
μη-τεχνικές συζητήσεις.Κάθε ένα από αυτά τα κανάλια, είναι χωριστό, και δεν
διασυνδέεται με τα υπόλοιπα. Τα στυλ της συζήτησης διαφέρουν,
και ίσως θα θέλετε να δοκιμάσετε καθένα για να βρείτε κάποιο
που να ταιριάζει στο δικό σας. Όπως με κάθε
τύπο συζήτησης στο IRC, αν είστε από αυτούς που προσβάλλονται
εύκολα, ή δεν μπορείτε να αντιμετωπίσετε πολλούς νέους ανθρώπους
(και αρκετούς πιο μεγάλους) να επιδίδονται στο λεκτικό αντίστοιχο
της πυγμαχίας, μην ασχοληθείτε καθόλου.Που μπορώ να βρω επί πληρωμή υποστήριξη και εκπαίδευση για
το &os;;Το DaemonNews παρέχει επί πληρωμή εκπαίδευση και υποστήριξη
για το &os;. Περισσότερες πληροφορίες μπορείτε να βρείτε στην
δικτυακή τους τοποθεσία BSD Mall.Το &os; Mall παρέχει επίσης επί πληρωμή υποστήριξη για το
&os;. Μπορείτε να βρείτε περισσότερες πληροφορίες στην δικτυακή τους τοποθεσία.Οποιοσδήποτε άλλος οργανισμός παρέχει εκπαίδευση και
υποστήριξη, θα πρέπει να επικοινωνήσει με το Project για να
καταχωρηθεί σε αυτή τη λίστα.NikClaytonnik@FreeBSD.orgΕγκατάστασηΠοιο αρχείο πρέπει να κατεβάσω για να πάρω το &os;;Χρειάζεστε τρία images δισκετών:
floppies/boot.flp,
floppies/kern1.flp, και
floppies/kern2.flp. Τα images αυτά πρέπει να
να τα γράψετε σε δισκέτες χρησιμοποιώντας κάποιο εργαλείο όπως το
fdimage ή το &man.dd.1;.Αν πρέπει να κατεβάσετε μόνοι σας τα σετ διανομών
(distributions — για παράδειγμα για μια εγκατάσταση μέσω
συστήματος αρχείων DOS), θα βρείτε παρακάτω μερικές συστάσεις
σχετικά με το ποιες διανομές να κατεβάσετε:base/manpages/compat*/doc/src/ssys.*Πλήρεις οδηγίες σχετικά με τη διαδικασία καθώς και
περισσότερες πληροφορίες σχετικά με γενικά προβλήματα κατά την
εγκατάσταση μπορείτε να βρείτε στο Κεφάλαιο του Εγχειριδίου σχετικά με την εγκατάσταση του &os;.Τι μπορώ να κάνω αν το image της δισκέτας δεν χωράει σε μια
μόνο δισκέτα;Μια δισκέτα των 3.5 ιντσών (1.44MB) μπορεί να χωρέσει ως
1474560 bytes δεδομένων. Το αρχείο image της δισκέτας εκκίνησης
είναι ακριβώς αυτό το μέγεθος.Συνηθισμένα λάθη κατά την προετοιμασία της δισκέτας
εκκίνησης:Κατέβασμα της δισκέτας χωρίς τη χρήση του
δυαδικού (binary) τρόπου όταν
χρησιμοποιείται εξυπηρετητής FTP.Κάποια προγράμματα-πελάτες για FTP, χρησιμοποιούν από
προεπιλογή τον ascii (κειμένου) τρόπο
μεταφοράς δεδομένων και προσπαθούν να αλλάξουν τους χαρακτήρες
τέλους γραμμής ώστε να ταιριάζουν με τις συμβάσεις που
χρησιμοποιούνται από το σύστημα στο οποίο γίνεται η λήψη.
Αυτό σχεδόν σίγουρα θα καταστρέψει το image εκκίνησης.
Ελέγξτε το μέγεθος του image εκκίνησης που κατεβάσατε: Αν δεν
είναι ακριβώς αυτό που φαίνεται στον
εξυπηρετητή, η διαδικασία του κατεβάσματος θα πρέπει να
θεωρηθεί ύποπτη.Για να παρακάμψετε το πρόβλημα: γράψτε
binary στην γραμμή εντολών του FTP, μετά
που θα συνδεθείτε στον εξυπηρετητή, και πριν ξεκινήσετε να
κατεβάζετε το image.Χρήση της εντολής copy του DOS (η
αντίστοιχου γραφικού εργαλείου) για τη μεταφορά του αρχείου
image στη δισκέτα.Προγράμματα όπως το copy, δεν θα
λειτουργήσουν σωστά καθώς το image εκκίνησης έχει φτιαχτεί
ώστε να εκκινεί άμεσα. Το image έχει τα πλήρη περιεχόμενα
της δισκέτας, τροχιά προς τροχιά, και δεν πρέπει να γραφεί
στη δισκέτα ως κανονικό αρχείο. Θα πρέπει να το μεταφέρετε
στη δισκέτα με ωμό τρόπο, χρησιμοποιώντας
εργαλεία χαμηλού επιπέδου (low-level) (όπως π.χ. το
fdimage ή το rawrite)
που περιγράφονται στον οδηγό εγκατάστασης του &os;.Που βρίσκονται οι οδηγίες για την εγκατάσταση του &os;;Μπορείτε να βρείτε τις οδηγίες στην
καταχώρηση του Εγχειριδίου σχετικά με την εγκατάσταση του &os;.Τι χρειάζομαι για να εκτελέσω το &os;;Για εκδόσεις του &os; από το 5.X και μετά χρειάζεστε ένα PC
με επεξεργαστή 486 ή καλύτερο, με 24 MB ή περισσότερη RAM, και
τουλάχιστον 150 MB χώρου στο σκληρό σας δίσκο.Μπορείτε να εκτελέσετε όλες τις εκδόσεις του &os; με μια
χαμηλών προδιαγραφών, μονόχρωμη (MDA) κάρτα γραφικών, αλλά για
να χρησιμοποιήσετε το &xorg;, θα χρειαστείτε κάρτα VGA ή
καλύτερη.Δείτε επίσης και το .Πως μπορώ να δημιουργήσω τη δική μου, προσαρμοσμένη
δισκέτα εγκατάστασης;Τη δεδομένη στιγμή, δεν υπάρχει τρόπος να φτιάξετε
απλώς μια προσαρμοσμένη δισκέτα εγκατάστασης.
Θα πρέπει να δημιουργήσετε ολόκληρη νέα έκδοση, η οποία θα
περιλαμβάνει και την προσαρμοσμένη δισκέτα εγκατάστασης
σας.Για να δημιουργήσετε μια προσαρμοσμένη έκδοση, ακολουθήστε τις
οδηγίες στο άρθρο σχετικά με την Οργάνωση Εκδόσεων.Μπορώ να έχω περισσότερα από ένα λειτουργικά συστήματα στον
υπολογιστή μου;Ρίξτε μια ματιά στην σελίδα πολλαπλών λειτουργικών.Μπορούν να συνυπάρξουν τα &windows; με το &os;;Εγκαταστήστε πρώτα τα &windows;, και μετά το &os;.
Ο διαχειριστής εκκίνησης του &os; θα σας επιτρέπει έπειτα να
επιλέξετε την εκκίνηση είτε των &windows; είτε του &os;. Αν
εγκαταστήσετε τα &windows; μετά το &os;, θα σας σβήσουν τον
διαχειριστή εκκίνησης, χωρίς καν να σας ρωτήσουν. Αν σας συμβεί,
αυτό δείτε το επόμενο τμήμα.Τα &windows; κατέστρεψαν το διαχειριστή εκκίνησης μου!
Πως θα τον επαναφέρω;Μπορείτε να επανεγκαταστήσετε το διαχειριστή εκκίνησης του
&os; χρησιμοποιώντας έναν από τους τρεις παρακάτω τρόπους:Εκτελώντας το DOS, μετακινηθείτε στον κατάλογο tools/ της
&os; διανομής σας, και ψάξτε για το αρχείο
bootinst.exe. Εκτελέστε το όπως φαίνεται
παρακάτω:...\TOOLS>bootinst.exe boot.binκαι ο διαχειριστής εκκίνησης θα επανεγκατασταθεί.Ξεκινήστε ξανά χρησιμοποιώντας τη δισκέτα εκκίνησης του
&os; και πηγαίνετε στην επιλογή Custom Installation του
μενού. Επιλέξτε Partition. Επιλέξτε τον οδηγό που κανονικά
θα περιείχε τον διαχειριστή εκκίνησης σας (φυσιολογικά τον
πρώτο) και όταν φτάσετε στον επεξεργαστή κατατμήσεων
(partition editor) για τον οδηγό αυτό, το πρώτο πράγμα
που θα κάνετε (χωρίς άλλες αλλαγές), είναι να επιλέξετε
(W)rite. Επιλέξτε yes στην επιβεβαίωση που θα εμφανιστεί και
όταν φτάσετε στην προτροπή επιλογής Διαχειριστή Εκκίνησης,
επιλέξτε Boot Manager. Με τον τρόπο αυτό
ο διαχειριστής εκκίνησης θα γραφεί ξανά στο δίσκο. Μπορείτε
τώρα να βγείτε από το μενού της εγκατάστασης και να
επανεκκινήσετε από το σκληρό δίσκο, όπως συνήθως.Ξεκινήστε με τη βοήθεια της δισκέτας εκκίνησης (ή του
CD) του &os; και επιλέξτε Fixit από το μενού.
Επιλέξτε είτε τη δισκέτα Fixit είτε το CD #2 (το
live σύστημα αρχείων) και θα εισέλθετε στο
κέλυφος fixit. Εκτελέστε έπειτα την ακόλουθη εντολή:Fixit#fdisk -B -b /boot/boot0 bootdeviceαντικαθιστώντας το bootdevice
με τον πραγματικό σας δίσκο εκκίνησης, όπως π.χ.
ad0 (πρώτος δίσκος IDE),
ad4 (πρώτος δίσκος IDE στον βοηθητικό
ελεγκτή), da0 (πρώτος δίσκος SCSI),
κ.λ.π.Ο φορητός μου υπολογιστής σειράς IBM Thinkpad, σειράς Α, Τ ή
Χ, σταματάει να αποκρίνεται όταν προσπαθώ να εκκινήσω το &os;
μετά την εγκατάσταση. Πως μπορώ να επιλύσω αυτό το
πρόβλημα;Πρόκειται για ένα πρόβλημα στις αρχικές εκδόσεις του BIOS της
ΙΒΜ στα συγκεκριμένα μηχανήματα, το οποίο αναγνωρίζει την
κατάτμηση του &os; ως πιθανό διαμέρισμα FAT για τη λειτουργία
αδρανοποίησης στο δίσκο (suspend-to-disk). Το BIOS σταματάει να
αποκρίνεται καθώς προσπαθεί να αναλύσει το διαμέρισμα του
&os;.Σύμφωνα με την IBMΣε ένα e-mail από τον Keith
Frechette
kfrechet@us.ibm.com., τα
ακόλουθα μοντέλα και εκδόσεις BIOS περιλαμβάνουν τις απαραίτητες
διορθώσεις.ΜοντέλοΈκδοση BIOST20IYET49WW ή μεταγενέστεροT21KZET22WW ή μεταγενέστεροA20pIVET62WW ή μεταγενέστεροA20mIWET54WW ή μεταγενέστεροA21pKYET27WW ή μεταγενέστεροA21mKXET24WW ή μεταγενέστεροA21eKUET30WWΈχει αναφερθεί ότι μεταγενέστερες εκδόσεις του BIOS της ΙΒΜ,
ίσως παρουσιάζουν ξανά το πρόβλημα. To μήνυμα αυτό από τον Jacques Vidrine στην
&a.mobile; περιγράφει μια διαδικασία η οποία ίσως δουλέψει σε
νεότερα μοντέλα φορητών της IBM τα οποία δεν εκκινούν κανονικά
το &os;, και στα οποία μπορείτε να αναβαθμίσετε το BIOS ή και να
επιστρέψετε σε προηγούμενη έκδοση του.Αν έχετε παλιότερο BIOS, αλλά δεν έχετε την επιλογή να το
αναβαθμίσετε, ένας τρόπος να ξεπεράσετε το πρόβλημα είναι να
εγκαταστήσετε το &os;, να αλλάξετε τον αναγνωριστικό αριθμό
(partition id) της κατάτμησης, και να εγκαταστήσετε νέα boot
blocks τα οποία να μπορούν να χειριστούν το διαφορετικό
αναγνωριστικό της κατάτμησης.Αρχικά, θα πρέπει να επαναφέρετε το μηχάνημα σε μια κατάσταση
ώστε να περνάει από την αρχική διαγνωστική οθόνη. Αυτό απαιτεί
να ενεργοποιήσετε το μηχάνημα χωρίς να το αφήσετε να βρει
την κατάτμηση του &os; στον κύριο δίσκο του. Ένας τρόπος είναι
να απομακρύνετε τον σκληρό δίσκο και να τον μετακινήσετε προσωρινά
σε ένα παλιότερο ThinkPad (όπως το ThinkPad 600) ή κάποιο
επιτραπέζιο μηχάνημα, χρησιμοποιώντας το κατάλληλο καλώδιο
μετατροπής. Στο μηχάνημα αυτό μπορείτε πλέον να διαγράψετε την
κατάτμηση του &os; και έπειτα να μετακινήσετε τον δίσκο στο
αρχικό μηχάνημα. Το ThinkPad θα πρέπει τώρα να εκκινεί
κανονικά.Με το μηχάνημα σε λειτουργική κατάσταση, μπορείτε τώρα να
χρησιμοποιήσετε την διαδικασία που περιγράφεται εδώ ώστε να
έχετε τελικά μια εγκατάσταση του &os; που να λειτουργεί.Κατεβάστε τις δισκέτες boot1 και
boot2 από .
Αποθηκεύστε τα αρχεία αυτά κάπου που θα μπορείτε να τα
ξαναβρείτε αργότερα.Εγκαταστήστε κανονικά το &os; στο ThinkPad.
Μην χρησιμοποιήσετε την κατάσταση
Dangerously Dedicated.
Μην κάνετε επανεκκίνηση όταν τελειώσει
η εγκατάσταση.Χρησιμοποιήστε είτε το Emergency Holographic
Shell (ALTF4) είτε το κέλυφος
fixit.Χρησιμοποιήστε την &man.fdisk.8; για να αλλάξετε τον
αναγνωριστικό αριθμό της κατάτμησης του &os; από
165 σε 166 (αυτός είναι
ο τύπος που χρησιμοποιείται από το OpenBSD).Γράψτε τα αρχεία boot1 και
boot2 στο τοπικό σύστημα αρχείων.Χρησιμοποιήστε το &man.disklabel.8; για να γράψετε τα
boot1 και boot2 στο
slice του &os;.&prompt.root; disklabel -B -b boot1 -s boot2 ad0snΤο n είναι ο αριθμός του slice
που έχετε εγκαταστήσει το &os;.Κάντε επανεκκίνηση. Στην προτροπή εκκίνησης θα δείτε την
επιλογή να ξεκινήσετε το OpenBSD. Στην
πραγματικότητα, με αυτό τον τρόπο θα ξεκινήσετε το &os;.Το να κάνετε το παραπάνω να λειτουργήσει στην περίπτωση που
θέλετε να έχετε διπλή εκκίνηση OpenBSD και &os; στον ίδιο φορητό
υπολογιστή, το αφήνουμε ως άσκηση στον αναγνώστη.Μπορώ να κάνω εγκατάσταση σε ένα δίσκο με χαλασμένους
τομείς;Μπορείτε, αλλά είναι κακή ιδέα.Αν δείτε χαλασμένους τομείς σε ένα σύγχρονο οδηγό IDE, υπάρχει
μεγάλη πιθανότητα ο οδηγός αυτός, πολύ σύντομα, να σταματήσει να
λειτουργεί εντελώς (ο οδηγός δεν έχει άλλους εναλλακτικούς
κυλίνδρους που να μπορούν να αντικαταστήσουν τους χαλασμένους μέσω
της εσωτερικής λειτουργίας επανατοποθέτησης των δεδομένων, κάτι το
οποίο σημαίνει ότι ο δίσκος έχει σημαντική φθορά). Σας συνιστούμε
να αγοράσετε καινούριο δίσκο.Αν έχετε οδηγό SCSI με χαλασμένους τομείς δείτε
αυτή την απάντηση.Διάφορα περίεργα πράγματα συμβαίνουν όταν εκκινώ με τη
δισκέτα εκκίνησης! Τι συμβαίνει;Αν βλέπετε καταστάσεις όπως το μηχάνημα να μην αποκρίνεται ή
να κάνει επανεκκίνηση μόνο του όταν προσπαθείτε να εκκινήσετε με
την δισκέτα εκκίνησης, θα πρέπει να κάνετε στον εαυτό σας τρεις
ερωτήσεις:Χρησιμοποιήσατε καινούριες, φρεσκο-διαμορφωμένες, και
χωρίς λάθη δισκέτες (κατά προτίμηση καλής εταιρίας τις οποίες
μόλις βγάλατε καινούριες από το κουτί τους, σε αντίθεση με τη
δισκέτα που πήρατε μαζί με κάποιο περιοδικό και η οποία
βρίσκονταν κάτω από το κρεβάτι τα τρία τελευταία
χρόνια);Κατεβάσατε το image της δισκέτας με δυαδικό (binary ή
image) τρόπο μεταφοράς; (μη ντρέπεστε, ακόμα και οι καλύτεροι
από μας έχουν κατά λάθος κατεβάσει κάποιο δυαδικό αρχείο σε
κατάσταση ASCII (κειμένου), τουλάχιστον μια φορά!)Αν χρησιμοποιείτε &windows; 95 ή 98, εκτελέστε το
fdimage ή το
rawrite σε καθαρή κατάσταση DOS; Τα
λειτουργικά αυτά μπορεί να παρεμβληθούν σε προγράμματα τα
οποία γράφουν απευθείας στο υλικό, κάτι το οποίο συμβαίνει και
με τα προγράμματα δημιουργίας των δισκετών. Μπορεί να
δημιουργηθεί πρόβλημα, ακόμα και αν τα εκτελείτε σε παράθυρο
DOS μέσα από το γραφικό περιβάλλον.Έχουν επίσης αναφερθεί περιπτώσεις όπου το &netscape;
δημιουργεί προβλήματα στο κατέβασμα της δισκέτας εκκίνησης, έτσι
είναι καλύτερα να χρησιμοποιήσετε κάποιο άλλο πρόγραμμα FTP, αν
αυτό είναι δυνατόν.Ξεκίνησα από το ATAPI CDROM μου, αλλά το πρόγραμμα
εγκατάστασης λέει ότι δεν βρίσκει CDROM. Που πήγε;Η συνήθης αιτία αυτού του προβλήματος είναι ένας
κακορυθμισμένος οδηγός CDROM. Πολλά PC έρχονται πλέον με το CDROM
ως slave συσκευή στο δευτερεύοντα ελεγκτή, χωρίς να υπάρχει στο
ίδιο κανάλι συσκευή master. Αυτό, σύμφωνα με τις προδιαγραφές του
ATAPI, δεν είναι έγκυρο, αλλά τα &windows; τηρούν τις
προδιαγραφές χαλαρά, ενώ το BIOS το αγνοεί κατά την εκκίνηση.
Αυτός είναι και ο λόγος που το BIOS κατάφερε να δει το CDROM και
να το χρησιμοποιήσει, αλλά και ο λόγος που το &os; δεν μπόρεσε να
το δει για να συνεχίσει την εγκατάσταση.Ρυθμίστε ξανά το σύστημα σας, ώστε το CDROM είτε να είναι η
master συσκευή στον ελεγκτή που είναι συνδεμένη, ή βεβαιωθείτε ότι
είναι slave σε ένα ελεγκτή IDE ο οποίος όμως έχει άλλη συσκευή
συνδεμένη ως master.Μπορώ να εγκαταστήσω το &os; στο φορητό μου χρησιμοποιώντας
PLIP (Parallel Line IP, IP μέσω Παράλληλης Θύρας);Ναι. Χρησιμοποιήστε τυποποιημένο καλώδιο τύπου Laplink. Αν
χρειάζεται, διαβάστε το
τμήμα PLIP του Εγχειριδίου για λεπτομέρειες σχετικές με δικτύωση μέσω
παράλληλης θύρας.Τι γεωμετρία να χρησιμοποιήσω για το σκληρό μου δίσκο;Με τον όρο γεωμετρία, εννοούμε τον αριθμό
των κυλίνδρων, κεφαλών και τομέων ανά τροχιά ενός δίσκου. Για
ευκολία, θα αναφερόμαστε στον όρο αυτό ως C/H/S (Cylinders /
Heads / Sectors). Αυτός είναι και ο τρόπος με τον οποίο το
BIOS βρίσκει σε ποια περιοχή του δίσκου να γράψει.Το παραπάνω προκαλεί σύγχυση στου νέους διαχειριστές
συστημάτων. Καταρχήν, η φυσική γεωμετρία
ενός οδηγού SCSI είναι συνολικά άσχετη, αφού το &os; λειτουργεί
με βάση τα μπλοκ δίσκου. Στην πραγματικότητα, δεν υπάρχει καν
αληθινή φυσική γεωμετρία, καθώς η πυκνότητα των
τομέων μεταβάλλεται από περιοχή σε περιοχή του δίσκου. Αυτό που
οι κατασκευαστές αναφέρουν συχνά ως
φυσική γεωμετρία είναι συνήθως η γεωμετρία με την
όποια έχουν ανακαλύψει ότι γίνεται η μικρότερη σπατάλη ελεύθερου
χώρου. Για δίσκους IDE, το &os; χρησιμοποιεί πράγματι το C/H/S,
αλλά όλοι οι μοντέρνοι οδηγοί μετατρέπουν εσωτερικά αυτές τις
αναφορές σε αντίστοιχα μπλοκ.Το μόνο που έχει πραγματική σημασία είναι η
λογική γεωμετρία. Αυτή είναι και η απάντηση
που δέχεται το BIOS όταν ρωτάει το δίσκο
ποια είναι η γεωμετρία σου; Έπειτα, χρησιμοποιεί
αυτή τη γεωμετρία για να αποκτήσει πρόσβαση στο δίσκο. Καθώς το
&os; χρησιμοποιεί το BIOS κατά την εκκίνηση, είναι πολύ σημαντικό
η γεωμετρία αυτή να είναι σωστή. Ειδικότερα, αν έχετε περισσότερα
από ένα λειτουργικά συστήματα στο δίσκο, πρέπει όλα να συμφωνούν
όσο αφορά τη γεωμετρία. Διαφορετικά θα έχετε σοβαρά προβλήματα
κατά την εκκίνηση!Για δίσκους SCSI, η γεωμετρία που πρέπει να χρησιμοποιηθεί,
εξαρτάται από το αν είναι ενεργοποιημένη η υποστήριξη εκτεταμένης
μετάφρασης (αυτό συχνά αναφέρεται ως υποστήριξη για δίσκους
DOS >1GB ή κάτι αντίστοιχο). Αν είναι
απενεργοποιημένη, χρησιμοποιήστε N
κυλίνδρους, 64 κεφαλές και 32 τομείς/τροχιά, όπου το
N είναι η χωρητικότητα του δίσκου σε
ΜΒ. Για παράδειγμα, για ένα δίσκο 2GB, θα πρέπει να έχετε 2048
κυλίνδρους, 64 κεφαλές, και 32 τομείς/τροχιά.Αν είναι ενεργοποιημένη (και συχνά
παρέχεται έτσι ώστε να ξεπερνιούνται κάποιοι περιορισμοί στο
&ms-dos;) και η χωρητικότητα του δίσκου είναι μεγαλύτερη από 1GB,
χρησιμοποιήστε M κυλίνδρους, 63 τομείς ανά τροχιά (όχι
64) και 255 κεφαλές, όπου M είναι
η χωρητικότητα του δίσκου σε MB, διαιρεμένη με το 7.844238 (!).
Έτσι, στο παράδειγμα μας, ο δίσκος των 2GB θα είχε 261 κυλίνδρους,
63 τομείς ανά τροχιά και 255 κεφαλές.Αν δεν είστε σίγουρος για το παραπάνω, ή αν το &os; αποτύχει
στην ανίχνευση της σωστής γεωμετρίας κατά την εγκατάσταση, ο
απλούστερος τρόπος για να το παρακάμψετε, είναι συνήθως να
δημιουργήσετε ένα μικρό διαμέρισμα DOS στο δίσκο. Το BIOS έπειτα
θα ανιχνεύσει τη σωστή γεωμετρία, και μπορείτε πάντα να διαγράψετε
το διαμέρισμα DOS μέσα από τον επεξεργαστή κατατμήσεων, αν
δε θέλετε να το κρατήσετε. Μπορεί ωστόσο να θελήσετε να το
αφήσετε, για να προγραμματίζετε κάρτες δικτύου και για άλλες,
αντίστοιχες, εργασίες.Εναλλακτικά, υπάρχει ένα ελεύθερα διαθέσιμο βοηθητικό
πρόγραμμα το οποίο διανέμεται με το &os; και λέγεται
pfdisk.exe. Μπορείτε να το βρείτε στον
υποκατάλογο tools στο CDROM του &os; ή στις
δικτυακές τοποθεσίες FTP του &os;. Το πρόγραμμα αυτό μπορεί να
χρησιμοποιηθεί για να ανακαλύψει τι γεωμετρία χρησιμοποιείται από
τα άλλα λειτουργικά συστήματα στο δίσκο που χρησιμοποιείται.
Μπορείτε να εισάγετε απευθείας αυτή τη γεωμετρία στον επεξεργαστή
κατατμήσεων.Υπάρχουν κάποιοι περιορισμοί στο πως πρέπει να χωρίσω
το δίσκο;Ναι. Πρέπει να βεβαιωθείτε ότι η ριζική (root) κατάτμηση
βρίσκεται κάτω από τους 1024 κυλίνδρους, ώστε το BIOS να μπορεί
να εκκινήσει τον πυρήνα από αυτή. (Σημειώστε ότι αυτός είναι ένας
περιορισμός στο BIOS του PC, και όχι στο &os;).Για ένα δίσκο SCSI, συνήθως αυτό σημαίνει ότι η ριζική
κατάτμηση θα βρίσκεται στα πρώτα 1024MB (ή στα πρώτα 4096ΜΒ αν
χρησιμοποιείται η εκτεταμένη μετάφραση - δείτε την προηγούμενη
ερώτηση). Για δίσκους IDE, το αντίστοιχο όριο είναι τα
504MB.Είναι συμβατό το &os; με προγράμματα διαχείρισης δίσκων
(disk managers);To &os; αναγνωρίζει και επιτρέπει τη χρήση του Ontrack Disk
Manager. Δεν υποστηρίζονται άλλοι διαχειριστές δίσκων.Αν θέλετε απλώς να χρησιμοποιήσετε το δίσκο με το &os;, δεν
χρειάζεστε διαχειριστή δίσκου. Απλώς ρυθμίστε το δίσκο για όσο
περισσότερο χώρο μπορεί να δει το BIOS (συνήθως 504ΜΒ), και το
&os; θα ανακαλύψει πόσο ελεύθερο χώρο έχετε στην πραγματικότητα.
Αν χρησιμοποιείτε κάποιο παλιό δίσκο σε ελεγκτή MFM, ίσως να
πρέπει να πείτε στο &os; πόσους κυλίνδρους να χρησιμοποιήσει.Αν θέλετε να χρησιμοποιήσετε το δίσκο τόσο με το &os; όσο και
με κάποιο άλλο λειτουργικό σύστημα, θα πρέπει να μπορείτε να το
κάνετε χωρίς διαχειριστή δίσκου: απλώς βεβαιωθείτε ότι το
διαμέρισμα εκκίνησης του &os; καθώς και η κατάτμηση του άλλου
λειτουργικού συστήματος βρίσκονται μέσα στους πρώτους 1024
κυλίνδρους. Αν είστε αρκετά προσεκτικός, ένα διαμέρισμα εκκίνησης
(boot) μεγέθους 20MB θα είναι αρκετό.Όταν εκκινώ το &os; για πρώτη φορά, παίρνω το μήνυμα
Missing Operating System. Τι
συμβαίνει;Αυτή είναι μια κλασική περίπτωση διένεξης μεταξύ του &os; και
του DOS ή κάποιου άλλου λειτουργικού σχετικά με την ιδέα που έχει
το καθένα για την γεωμετρία του
δίσκου. Θα πρέπει να επανεγκαταστήσετε το &os; αλλά τηρώντας
προσεκτικά τις οδηγίες που δώσαμε πιο πάνω, είναι σχεδόν σίγουρο
ότι θα τα καταφέρετε.Γιατί δεν μπορώ να συνεχίσω πέρα από την προτροπή
F? του διαχειριστή εκκίνησης;Αυτό είναι άλλο ένα σύμπτωμα του προβλήματος που περιγράφεται
στην προηγούμενη ερώτηση. Δεν συμπίπτει η γεωμετρία του BIOS με
αυτή του &os;! Αν ο ελεγκτής ή το BIOS σας υποστηρίζει μετάφραση
κυλίνδρων (συχνά αναφέρεται ως >1GB drive
support), δοκιμάστε να αλλάξετε αυτή τη τιμή και να
επανεγκαταστήσετε το &os;.Πρέπει να εγκαταστήσω όλο τον πηγαίο κώδικα;Γενικά, όχι. Ωστόσο σας συνιστούμε να εγκαταστήσετε, ως
ελάχιστο, τον πηγαίο κώδικα της διανομής base,
ο οποίος περιλαμβάνει αρκετά από τα αρχεία που αναφέρονται εδώ,
καθώς και τον πηγαίο κώδικα της διανομής sys,
η οποία περιλαμβάνει τον πηγαίο κώδικα του πυρήνα. Δεν υπάρχει
ωστόσο κάτι στο σύστημα το οποίο να απαιτεί την ύπαρξη του
πηγαίου κώδικα για να λειτουργήσει, εκτός από το πρόγραμμα
ρύθμισης πυρήνα &man.config.8;. Με εξαίρεση τον πηγαίο κώδικα
του πυρήνα, η δομή του συστήματος μεταγλώττισης μας είναι τέτοια,
ώστε μπορείτε πάντα να προσαρτήσετε το δέντρο πηγαίου κώδικα
μέσω NFS (και με δικαιώματα μόνο ανάγνωσης) και πάλι να μπορείτε
να δημιουργήσετε νέα εκτελέσιμα (λόγω του περιορισμού που υπάρχει
στον πηγαίο κώδικα του πυρήνα, σας συνιστούμε να μην κάνετε την
προσάρτηση απευθείας στον κατάλογο /usr/src,
αλλά να χρησιμοποιήσετε κάποια άλλη τοποθεσία και να δημιουργήσετε
τους κατάλληλους συμβολικούς δεσμούς που να αντιγράφουν τη δομή
της κεντρικής ιεραρχίας του δέντρου πηγαίου κώδικα).Αν έχετε άμεσα διαθέσιμο τον πηγαίο κώδικα, και γνωρίζετε πως
να μεταγλωττίσετε ένα ολόκληρο σύστημα από αυτόν, θα
διευκολυνθείτε πάρα πολύ όταν αναβαθμίζετε το σύστημα σας σε
μελλοντικές εκδόσεις του &os;.Για να επιλέξετε ένα υποσύνολο του πηγαίου κώδικα,
από την επιλογή Distributions του εργαλείου εγκατάστασης
συστήματος, επιλέξτε το μενού Custom.Χρειάζεται να φτιάξω προσαρμοσμένο πυρήνα;Η δημιουργία ενός νέου πυρήνα ήταν αρχικά σχεδόν υποχρεωτικό
βήμα σε μια εγκατάσταση &os;, αλλά οι πιο πρόσφατες εκδόσεις έχουν
ωφεληθεί από την εισαγωγή αισθητά φιλικότερων προγραμμάτων
ρύθμισης του πυρήνα. Από το &os; 5.X και μετά, είναι αρκετά
εύκολο να ρυθμίσετε τον πυρήνα χρησιμοποιώντας το πολύ πιο
ευέλικτο σύστημα των "hints" τα οποία μπορείτε να ρυθμίσετε στην
προτροπή του loader.Ενδεχομένως να αξίζει ακόμα να δημιουργήσετε ένα νέο πυρήνα
ο οποίος να περιέχει μόνο τα προγράμματα οδήγησης που χρειάζεστε,
για να γλυτώσετε κάποια μικρή ποσότητα μνήμης RAM, αλλά αυτό δεν
είναι πλέον απαραίτητο για τα περισσότερα συστήματα.Για τους κωδικούς πρόσβασης των χρηστών, να χρησιμοποιήσω
DES, Blowfish, ή MD5 κωδικοποίηση, και πως θα καθορίσω τι θα
χρησιμοποιούν οι χρήστες μου;Η προεπιλεγμένη μορφή κρυπτογράφησης για κωδικούς στο &os;
είναι το MD5. Η γενική αντίληψη είναι ότι
παρέχουν καλύτερη ασφάλεια σε σχέση με την παραδοσιακή μορφή του
&unix; που βασίζεται στον αλγόριθμο DES.
Οι κωδικοί DES είναι ακόμα διαθέσιμοι, αν χρειάζεται να
διαμοιράσετε το αρχείο των κωδικών σας με παλιότερα λειτουργικά
συστήματα, τα οποία χρησιμοποιούν ακόμα το παλιότερο και λιγότερο
ασφαλές σύστημα (είναι διαθέσιμα αν εγκαταστήσετε τη διανομή
crypto μέσω του sysinstall ή εγκαθιστώντας τον
αντίστοιχο πηγαίο κώδικα αν κάνετε εγκατάσταση μέσω πηγαίου
κώδικα). Αν εγκαταστήσετε τις βιβλιοθήκες crypto θα μπορέσετε
επίσης να χρησιμοποιήσετε κρυπτογράφηση Blowfish η οποία είναι
ακόμα πιο ασφαλής. Το ποια μορφή κωδικών χρησιμοποιείται για
τους νέους κωδικούς, ελέγχεται από την δυνατότητα εισόδου
passwd_format στο
/etc/login.conf, το οποίο παίρνει τις τιμές
des, blf (αν είναι διαθέσιμη)
ή md5. Δείτε τη σελίδα manual του
&man.login.conf.5; για περισσότερες πληροφορίες σχετικά με τις
δυνατότητες εισόδου.Γιατί ενώ η δισκέτα εκκίνησης ξεκινάει κανονικά, κρεμάει στην
οθόνη Probing Devices...;Αν έχετε εγκατεστημένο οδηγό IDE &iomegazip; ή &jaz;,
αφαιρέστε τον και ξαναπροσπαθήστε. Η δισκέτα εκκίνησης μπορεί
να μπερδευτεί από αυτούς τους οδηγούς. Μετά την εγκατάσταση του
συστήματος, μπορείτε να ξανασυνδέσετε τον οδηγό. Ευελπιστούμε ότι
το πρόβλημα αυτό θα διορθωθεί σε επόμενη έκδοση.Γιατί παίρνω το μήνυμα λάθους
panic: can't mount root όταν εκκινώ το
σύστημα για πρώτη φορά μετά την εγκατάσταση;Το σφάλμα αυτό προέρχεται από την σύγχυση που προκαλείται
εξαιτίας του διαφορετικού τρόπου με τον οποίο το BIOS και το
boot block αντιλαμβάνονται τους σκληρούς δίσκους. Το πρόβλημα
συνήθως εμφανίζεται σε συστήματα με δύο δίσκους IDE, ειδικά όταν
οι δίσκοι είναι master (ή μόνοι τους) ο καθένας στο δικό του
ελεγκτή IDE και με το &os; να είναι εγκαταστημένος στο δίσκο
που βρίσκεται στο δευτερεύοντα ελεγκτή. Το boot block νομίζει
ότι το σύστημα είναι εγκατεστημένο στον ad0 (το δεύτερο δίσκο
του BIOS) ενώ ο πυρήνας αναθέτει τον πρώτο δίσκο στο δευτερεύοντα
ελεγκτή, ad2. Μετά την ανίχνευση των συσκευών, ο πυρήνας
προσπαθεί να προσαρτήσει αυτό που το boot block πιστεύει ότι είναι
ο δίσκος εκκίνησης, ad0 ενώ στην πραγματικότητα είναι ο ad2 και
φυσικά αποτυγχάνει.Για να διορθώσετε το πρόβλημα, κάντε ένα από τα
παρακάτω:Επανεκκινήστε το σύστημα και πιέστε
Enter στην προτροπή
Booting kernel in 10 seconds; hit
[Enter] to interrupt. Με τον τρόπο αυτό θα βγείτε
στο πρόγραμμα του φορτωτή εκκίνησης.Κατόπιν γράψτε
set
root_disk_unit="disk_number"
. Το disk_number
θα είναι 0 αν το &os; είναι εγκατεστημένο
στο master δίσκο του πρώτου ελεγκτή IDE,
1 αν είναι εγκατεστημένο στο slave δίσκο
του πρώτου ελεγκτή, 2 αν είναι
εγκατεστημένος στον master δίσκο του δευτερεύοντος IDE
καναλιού και τέλος, 3 αν είναι
εγκατεστημένο στο slave δίσκο του δευτερεύοντος IDE
καναλιού.Έπειτα γράψτε boot, και το σύστημα
σας θα πρέπει να εκκινήσει κανονικά.Για να κάνετε μόνιμη αυτή την αλλαγή (ώστε να μην
χρειάζεται να κάνετε το παραπάνω κάθε φορά που επανεκκινείτε
ή ενεργοποιείτε το &os; μηχάνημα σας), βάλτε τη γραμμή
root_disk_unit="disk_number
" στο αρχείο
/boot/loader.conf.local.Μετακινήστε το δίσκο του &os; στον πρωτεύοντα
ελεγκτή IDE, ώστε οι σκληροί δίσκοι να είναι
συνεχόμενοι.Ποια είναι τα όρια της μνήμης;Το όριο είναι τα 4 gigabytes σε μια συνηθισμένη εγκατάσταση
σε αρχιτεκτονική &i386;. Ξεκινώντας από τις εκδόσεις &os; 4.9 και
5.1, υποστηρίζεται και περισσότερη μνήμη μέσω του
&man.pae.4;. Χρειάζεται ωστόσο να μεταγλωττιστεί ξανά ο πυρήνας
περιλαμβάνοντας και μια έξτρα επιλογή για την ενεργοποίηση του
PAE:options PAEΤο &os;/pc98 έχει όριο τα 4 GB μνήμης, και δεν μπορεί να
χρησιμοποιηθεί PAE σε αυτή την αρχιτεκτονική. Στο &os;/alpha,
το όριο της μνήμης εξαρτάται από τον τύπο του υλικού που
χρησιμοποιείται - για λεπτομέρειες δείτε τις Σημειώσεις Έκδοσης
Υλικού για Alpha. Άλλες αρχιτεκτονικές που υποστηρίζονται από
το &os;, έχουν αρκετά μεγαλύτερα θεωρητικά όρια σχετικά
με τη μέγιστη ποσότητα μνήμης (πολλά terabytes).Ποια είναι τα όρια του συστήματος αρχείων ffs;Για συστήματα αρχείων ffs, το μέγιστο θεωρητικό όριο είναι
τα 8 terabytes (2G blocks), ή 16ΤΒ για προεπιλεγμένο μέγεθος
block των 8Κ. Στην πραγματικότητα, υπάρχει ένα αρχικό όριο
1 terabyte, αλλά με κάποιες μετατροπές, είναι δυνατόν να
δημιουργηθούν (και υπάρχουν) συστήματα αρχείων μεγέθους
4 terabytes.Το μέγιστο μέγεθος ενός αρχείου σε ένα σύστημα ffs είναι
περίπου 1G blocks, ή 4TB με μέγεθος block των 4K.
Μέγιστα μεγέθη αρχείωνΜέγεθος block fsλειτουργείπρέπει να λειτουργεί4K4T-1>4T8K>32G32T-116K>128G32T-132K>512G64T-164K>2048G128T-1
Όταν το μέγεθος block του fs είναι 4K, λειτουργούν τα τριπλά
έμμεσα blocks (triple indirect blocks) και τα πάντα θα έπρεπε
να περιορίζονται μόνο από το μέγιστο αριθμό block που μπορεί να
αναπαρασταθεί με τη χρήση τριπλών έμμεσων blocks
(περίπου 1K^3 + 1K^2 + 1K), αλλά τελικά ο περιορισμός οφείλεται
σε ένα (λάθος) όριο 1G-1 στους αριθμούς των blocks. Το όριο
στους αριθμούς των block θα έπρεπε να είναι 2G-1. Υπάρχουν
κάποια προβλήματα όταν οι αριθμοί των block του fs πλησιάζουν
το 2G-1, αλλά τέτοιοι αριθμοί block δεν μπορούν να προσεγγιστούν
όταν το μέγεθος block fs είναι 4Κ.Για μεγέθη block 8Κ και μεγαλύτερα, τα πάντα θα έπρεπε να
περιορίζονται από το όριο 2G-1 στους αριθμούς των block του fs,
αλλά στην πραγματικότητα ο περιορισμός οφείλεται στο λάθος όριο
1G-1 στους αριθμούς των block του fs. H χρήση του σωστού ορίου
των 2G-1 blocks, δημιουργεί πράγματι προβλήματα.Γιατί παίρνω το μήνυμα λάθος,
archsw.readin.failed μετά την μεταγλώττιση
και εκκίνηση νέου πυρήνα;Γιατί ο πυρήνας σας και το υπόλοιπο του βασικού συστήματος
(world) είναι εκτός συγχρονισμού. Η λειτουργία σε αυτή την
κατάσταση δεν υποστηρίζεται. Βεβαιωθείτε ότι χρησιμοποιείτε τις
εντολές make buildworld και make
buildkernel για να αναβαθμίσετε τον πυρήνα σας.Μπορείτε να εκκινήσετε ορίζοντας τον πυρήνα απευθείας από
το δεύτερο στάδιο, πιέζοντας οποιοδήποτε πλήκτρο μόλις δείτε το
| και πριν ξεκινήσει ο loader.Η εγκατάσταση καταρρέει κατά την εκκίνηση. Τι μπορώ να
κάνω;Δοκιμάστε να απενεργοποιήσετε την υποστήριξη ACPI. Μόλις
ξεκινήσει ο φορτωτής εκκίνησης, πιέστε το πλήκτρο space.
To σύστημα σας θα εμφανίσει OK. Γράψτε
unset acpi_load και
κατόπιν boot.Συμβατότητα ΥλικούΓενικάΘέλω να αγοράσω υλικό για το &os; σύστημα μου. Ποιο
μοντέλο / μάρκα / τύπος είναι το καλύτερο;Υπάρχουν συνέχεια συζητήσεις για το θέμα αυτό στις λίστες
ηλεκτρονικού ταχυδρομείου του &os;. Αυτό ωστόσο είναι
αναμενόμενο, καθώς το υλικό των υπολογιστών αλλάζει πολύ
γρήγορα. Εμείς εξακολουθούμε να
συνιστούμε με έμφαση, να διαβάσετε τις Σημειώσεις Υλικού του
&os; &rel.current; ή
&rel2.current; και
να ψάξετε στα αρχεία
των λιστών ηλεκτρονικού ταχυδρομείου, πριν αρχίσετε να ρωτάτε
σχετικά με το τελευταίο και καλύτερο υλικό. Είναι αρκετά
πιθανό να διαπιστώσετε, ότι για το υλικό που αναζητάτε, υπήρξε
σχετική συζήτηση μόλις πριν μια εβδομάδα.Αν ψάχνετε για φορητό υπολογιστή, ελέγξτε τα αρχεία τής
λίστας ηλεκτρονικού ταχυδρομείου &a.mobile.name;. Διαφορετικά,
μάλλον θα θέλετε να δείτε τα αρχεία της &a.questions.name; ή
πιθανόν μια λίστα που να εξειδικεύεται στον τύπο του υλικού που
ψάχνετε.Αρχιτεκτονικές και ΕπεξεργαστέςΥποστηρίζει το &os; αρχιτεκτονικές διαφορετικές από την
x86;Ναι. Αυτή τη στιγμή το &os; μπορεί να εκτελεστεί σε
αρχιτεκτονικές x86 και DEC (τώρα πλέον Compaq) Alpha. Από το
&os; 5.0 και μετά, υποστηρίζονται επίσης οι αρχιτεκτονικές
AMD64 και Intel EM64T, η IA-64 καθώς και η &sparc64;.
Αρχιτεκτονικές που θα υποστηρίζονται μελλοντικά, περιλαμβάνουν
την &mips; και &powerpc;. Μπορείτε να εγγραφείτε στις λίστες
ταχυδρομείου &a.ppc.name; και &a.mips.name; αντίστοιχα για
πληροφορίες σχετικά με την πρόοδο των εργασιών σε αυτές τις
αρχιτεκτονικές. Για γενικές πληροφορίες σχετικά με νέες
αρχιτεκτονικές, εγγραφείτε στην &a.platforms;.Αν το μηχάνημα σας είναι διαφορετικής αρχιτεκτονικής και
χρειάζεστε λειτουργικό άμεσα, σας συνιστούμε να ρίξετε μια ματιά
στα NetBSD ή
OpenBSD.Υποστηρίζει το &os; Συμμετρική Πολυεπεξεργασία (SMP);Ναι. Το SMP ήταν ενεργοποιημένο από προεπιλογή στον πυρήνα
GENERIC ήδη από το &os; 5.2.Η αρχική πρόθεση ήταν να είναι ενεργοποιημένο επίσης από
προεπιλογή και στον πυρήνα τής έκδοσης 5.3 του &os;, αλλά λόγω
κάποιων προβλημάτων στην εκτέλεση του πυρήνα SMP σε μηχανήματα
χωρίς πολλαπλούς επεξεργαστές, αποφασίστηκε να μείνει ανενεργό
μέχρι την αντιμετώπιση τους. Αυτό ωστόσο αποτελεί προτεραιότητα
για την έκδοση 5.4 του &os;.Σκληροί δίσκοι, μονάδες ταινίας, οδηγοί CD και DVDΠοια είδη σκληρών δίσκων υποστηρίζονται από το &os;;Το &os; υποστηρίζει μονάδες δίσκου των τύπων EIDE, SATA,
SCSI, και SAS (με τον κατάλληλο συμβατό ελεγκτή —
δείτε την επόμενη ενότητα), καθώς και όλους τους οδηγούς που
χρησιμοποιούν το αρχικό interface της
Western Digital (δηλ. MFM, RLL, ESDI και φυσικά
IDE). Ίσως να μη λειτουργήσουν κάποιοι ελεγκτές ESDI που
χρησιμοποιούν μη-τυποποιημένο interface. Καλύτερα να
παραμείνετε σε interfaces τύπου WD1002/3/6/7 και αντίστοιχα
τους.Ποιοι ελεγκτές SCSI ή SAS υποστηρίζονται;Δείτε την πλήρη λίστα στις Σημειώσεις Υλικού του &os;
&rel.current; ή
&rel2.current;.Τι τύποι οδηγών ταινίας υποστηρίζονται;Το &os; υποστηρίζει οδηγούς SCSI και QIC-36 (με interface
QIC-02). Περιλαμβάνονται οδηγοί 8-mm (γνωστοί ως Exabyte) καθώς
και οδηγοί DAT.Ορισμένοι από τους πρώτους οδηγούς 8-mm δεν είναι ιδιαίτερα
συμβατοί με SCSI-2, και μπορεί να μην λειτουργούν ικανοποιητικά
με το &os;.Υποστηρίζει το &os; μονάδες εναλλαγής ταινιών (tape
changers);Το &os; υποστηρίζει μονάδες εναλλαγής τύπου SCSI με την
χρήση της συσκευής &man.ch.4; και της εντολής &man.chio.1;.
Μπορείτε να βρείτε τις λεπτομέρειες σχετικά με τον τρόπο ελέγχου
της μονάδας εναλλαγής στη σελίδα manual του &man.chio.1;.Αν δεν χρησιμοποιείτε το AMANDA ή
κάποιο άλλο προϊόν που να γνωρίζει πως να χειριστεί την μονάδα
εναλλαγής ταινιών, θα πρέπει να θυμάστε ότι γενικά τα
προγράμματα γνωρίζουν μόνο πως να κινήσουν μια ταινία από ένα
σημείο σε ένα άλλο, και θα πρέπει εσείς να σημειώσετε σε ποια
θέση (slot) βρίσκεται η ταινία, και σε ποια θέση πρέπει να πάει
η ταινία που βρίσκεται αυτή τη στιγμή μέσα στον οδηγό.Ποιοι οδηγοί CDROM υποστηρίζονται από το &os;;Υποστηρίζεται οποιοσδήποτε οδηγός SCSI που είναι συνδεμένος
σε αντίστοιχα υποστηριζόμενο ελεγκτή.Υποστηρίζονται ακόμα τα ακόλουθα μη-τυποποιημένα
CDROM interfaces:Mitsumi LU002 (8bit), LU005 (16bit) and FX001D
(16bit ταχύτητας 2x ).Sony CDU 31/33ASound Blaster μη-SCSI CDROMMatsushita/Panasonic CDROMIDE CDROM συμβατά με ATAPIΌλες οι κάρτες που δεν είναι SCSI είναι γενικά εξαιρετικά
πιο αργές όταν συγκρίνονται με αντίστοιχους SCSI οδηγούς, και
κάποιοι οδηγοί τύπου ATAPI ίσως να μη λειτουργήσουν.Τα επίσημα &os; CDROM ISO, καθώς και τα CDROM από το Daemon
News και το FreeBSD Mall, υποστηρίζουν εκκίνηση απευθείας από το
CD.Ποιοι οδηγοί CD-RW υποστηρίζονται από το &os;;Το &os; υποστηρίζει οποιοδήποτε οδηγό IDE CD-R ή CD-RW
συμβατό με ATAPI. Δείτε το &man.burncd.8; για
λεπτομέρειες.Το &os; υποστηρίζει επίσης οποιοδήποτε οδηγό SCSI CD-R ή
CD-RW. Εγκαταστήστε και χρησιμοποιήστε την εντολή
cdrecord από την συλλογή των ports ή από
πακέτο, και βεβαιωθείτε ότι έχετε ενσωματώσει στον πυρήνα σας
τη συσκευή pass.Υποστηρίζει το &os; οδηγούς &iomegazip;;Το &os; υποστηρίζει εγγενώς οδηγούς &iomegazip; SCSI και
ATAPI. Οι οδηγοί SCSI ZIP μπορούν να λειτουργήσουν μόνο αν
έχουν ρυθμιστεί σε SCSI IDs 5 ή 6, αλλά αν το υποστηρίζει ο
ελεγκτής SCSI που χρησιμοποιείτε, μπορείτε ακόμα και να
εκκινήσετε από αυτούς. Δεν είναι ξεκάθαρο ποιοι ελεγκτές SCSI
υποστηρίζουν εκκίνηση από συσκευές με ID διαφορετικό από 0 ή 1,
έτσι θα πρέπει να συμβουλευθείτε την τεκμηρίωση του ελεγκτή
σας, αν θέλετε να χρησιμοποιήσετε αυτή τη δυνατότητα.Το &os; υποστηρίζει επίσης οδηγούς Zip παράλληλης θύρας.
Βεβαιωθείτε ότι ο πυρήνας σας περιέχει τα προγράμματα οδήγησης
για τις συσκευές
scbus0,
da0,
ppbus0, και
vp0 (ο πυρήνας GENERIC περιέχει τα
πάντα εκτός από το vp0). Με χρήση
αυτών των προγραμμάτων οδήγησης, ο οδηγός της παράλληλης θύρας
θα πρέπει να είναι διαθέσιμος ως συσκευή
/dev/da0s4. Μπορείτε να προσαρτήσετε
δίσκους χρησιμοποιώντας την εντολή
mount /dev/da0s4 /mnt ή (για δίσκους που
έχουν διαμορφωθεί μέσω dos) την
mount_msdos /dev/da0s4 /mnt.Διαβάστε επίσης το FAQ σχετικά
με αφαιρούμενους οδηγούς σε επόμενο σημείο αυτού του
κεφαλαίου, καθώς και τις
σημειώσεις σχετικά με την διαμόρφωση στο
κεφάλαιο Διαχείρισης.Υποστηρίζει το &os; &jaz;, EZ και άλλους αφαιρούμενους
οδηγούς;Απλώς λειτουργούν. Οι περισσότερες από τις συσκευές αυτές
είναι SCSI, και έτσι δείχνουν σαν SCSI δίσκοι στο &os;. Το IDE
EZ εμφανίζεται σαν οδηγός IDE.Βεβαιωθείτε ότι έχετε ενεργοποιήσει τυχόν εξωτερικές
συσκευές πριν εκκινήσετε το σύστημα σας.Για να αλλάξετε μέσο αποθήκευσης
εν ώρα λειτουργίας, ελέγξτε τις &man.mount.8;, &man.umount.8;,
και την &man.camcontrol.8; (για συσκευές SCSI) ή
&man.atacontrol.8; (για συσκευές IDE), και επίσης τις συζητήσεις σχετικά με τη χρήση
αφαιρούμενων οδηγών σε επόμενο τμήμα του FAQ.Πληκτρολόγια και ποντίκιαΥποστηρίζει το &os; το USB πληκτρολόγιο μου;Το &os; υποστηρίζει εγγενώς USB πληκτρολόγια. Ενεργοποιήστε
την υποστήριξη USB στο /etc/rc.conf.Μόλις ενεργοποιηθεί η υποστήριξη USB πληκτρολογίου στο
σύστημα σας, το πληκτρολόγιο τύπου AT αναγνωρίζεται ως
/dev/kbd0 και το USB πληκτρολόγιο
γίνεται /dev/kbd1, αν είναι και τα δύο
συνδεμένα στο σύστημα. Αν υπάρχει μόνο το USB πληκτρολόγιο, θα
αναγνωριστεί ως /dev/ukbd0.Αν θέλετε να χρησιμοποιήσετε το USB πληκτρολόγιο στην
κονσόλα, θα πρέπει να δηλώσετε συγκεκριμένα στον οδηγό της
κονσόλας να χρησιμοποιήσει το υπάρχον USB πληκτρολόγιο. Αυτό
μπορεί να γίνει εκτελώντας την ακόλουθη εντολή ως μέρος της
διαδικασίας αρχικοποίησης του συστήματος:&prompt.root; kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/nullΠαρατηρήστε ότι αν το πληκτρολόγιο USB είναι το μοναδικό
πληκτρολόγιο, θα είναι διαθέσιμο ως
/dev/ukbd0, και η εντολή θα δείχνει
όπως παρακάτω:&prompt.root; kbdcontrol -k /dev/ukbd0 < /dev/ttyv0 > /dev/nullΈνα καλό μέρος για να προσθέσετε την παραπάνω εντολή, είναι
το αρχείο /etc/rc.i386.Μόλις γίνει αυτό, το USB πληκτρολόγιο θα πρέπει να
λειτουργεί και στο Χ περιβάλλον, χωρίς ανάγκη ειδικών
ρυθμίσεων.Η εν θερμώ σύνδεση και αποσύνδεση USB πληκτρολογίου, ίσως
να μη λειτουργεί ακόμα σωστά. Σας συνιστούμε να συνδέσετε το
πληκτρολόγιο πριν την εκκίνηση του συστήματος, και να το αφήσετε
συνδεμένο μέχρι τον τερματισμό, για να αποφύγετε τυχόν
προβλήματα.Δείτε τη σελίδα manual &man.ukbd.4; για περισσότερες
πληροφορίες.Έχω ένα μη-τυπικό ποντίκι τύπου bus. Πως θα το
ρυθμίσω;Το &os; υποστηρίζει ποντίκια τύπου bus και τον τύπο InPort
bus από κατασκευαστές όπως Microsoft, Logitech και ATI.
Ο πυρήνας GENERIC δεν περιέχει τον απαραίτητο οδηγό συσκευής.
Για να περιλάβετε το πρόγραμμα οδήγησης στο δικό σας
προσαρμοσμένο πυρήνα, προσθέστε την ακόλουθη γραμμή στο αρχείο
ρυθμίσεων πυρήνα:device mse0 at isa? port 0x23c irq5Τα ποντίκια τύπου bus συνήθως έρχονται με δικές τους κάρτες
επέκτασης. Ενδεχομένως να έχετε δυνατότητα να ρυθμίσετε την
κάρτα σε διαφορετική διεύθυνση θύρας και IRQ από αυτά που
φαίνονται παραπάνω. Συμβουλευθείτε το εγχειρίδιο του ποντικιού
σας και τη σελίδα manual &man.mse.4; για περισσότερες
πληροφορίες.Πως μπορώ να χρησιμοποιήσω το ποντίκι μου τύπου PS/2
(πόρτας ποντικιού ή πληκτρολογίου);Το ποντίκι τύπου PS/2 υποστηρίζεται εγγενώς. Το απαραίτητο
πρόγραμμα οδήγησης, psm, περιλαμβάνεται
στον πυρήνα.Αν ο προσαρμοσμένος πυρήνας σας δεν τον περιέχει, προσθέστε
την ακόλουθη γραμμή στο αρχείο ρυθμίσεων πυρήνα, και
μεταγλωττίστε ξανά τον πυρήνα σας.device psm0 at atkbdc? irq 12Μόλις ο πυρήνας ανιχνεύσει σωστά τη συσκευή
psm0 κατά την εκκίνηση, βεβαιωθείτε ότι
υπάρχει η αντίστοιχη καταχώρηση για το
psm0 στον κατάλογο
/dev. Μπορείτε να το δημιουργήσετε
γράφοντας:&prompt.root; cd /dev; sh MAKEDEV psm0όταν έχετε εισέλθει ως χρήστης root.Μπορείτε να παραλείψετε αυτό το βήμα αν χρησιμοποιείτε
&os; 5.0-RELEASE ή νεώτερο με ενεργοποιημένο το
&man.devfs.5;, καθώς τα απαραίτητα αρχεία συσκευών θα
δημιουργηθούν αυτόματα κάτω από τον κατάλογο
/dev.Είναι δυνατόν να χρησιμοποιηθεί το ποντίκι με κάποιο τρόπο
έξω από το περιβάλλον του συστήματος X Window;Αν χρησιμοποιείτε το προεπιλεγμένο πρόγραμμα οδήγησης
κονσόλας, &man.syscons.4;, μπορείτε να χρησιμοποιήσετε το δείκτη
του ποντικιού σας σε κονσόλες κειμένου για να κάνετε αποκοπή και
επικόλληση κειμένου. Εκτελέστε τον δαίμονα του ποντικιού,
&man.moused.8;, και ενεργοποιήστε το δείκτη του ποντικιού στην
εικονική κονσόλα:&prompt.root; moused -p /dev/xxxx -t yyyy
&prompt.root; vidcontrol -m onΌπου το xxxx είναι το όνομα
συσκευής του ποντικιού και το yyyy
είναι ο τύπος του πρωτοκόλλου του. Ο δαίμονας του ποντικιού
μπορεί να αναγνωρίσει αυτόματα το είδος του πρωτοκόλλου για τα
περισσότερα ποντίκια, εκτός από παλιά σειριακά μοντέλα.
Καθορίστε το πρωτόκολλο auto για να
χρησιμοποιήσετε την αυτόματη ανίχνευση. Αν αυτή δεν δουλέψει,
δείτε τη σελίδα manual &man.moused.8; για μια λίστα με
υποστηριζόμενους τύπους πρωτοκόλλων.Αν έχετε ποντίκι τύπου PS/2, απλώς προσθέστε
moused_enable="YES" στο αρχείο
/etc/rc.conf για να εκκινεί ο δαίμονας του
ποντικιού κατά την εκκίνηση. Επιπρόσθετα, αν επιθυμείτε να
χρησιμοποιείτε το δαίμονα του ποντικιού σε όλες τις εικονικές
κονσόλες, και όχι μόνο στην κονσόλα συστήματος, προσθέστε τη
γραμμή allscreens_flags="-m on" στο
/etc/rc.conf.Όταν εκτελείται ο δαίμονας του ποντικιού, η πρόσβαση στο
ποντίκι πρέπει να συντονίζεται μεταξύ του δαίμονα και άλλων
προγραμμάτων, όπως τα X Windows. Κοιτάξτε στο FAQ την ερώτηση
Γιατί το ποντίκι μου δεν δουλεύει
στα Χ; για περισσότερες πληροφορίες σχετικά με αυτό το
πρόβλημα.Πως μπορώ να κάνω αποκοπή και επικόλληση κειμένου με το
ποντίκι σε μια κονσόλα κειμένου;Μόλις ενεργοποιήσετε το δαίμονα του ποντικιού (δείτε την
προηγούμενη ενότητα), κρατήστε
πιεσμένο το πλήκτρο 1 (το αριστερό πλήκτρο) και κινήστε το
ποντίκι για να επιλέξετε μια περιοχή κειμένου. Κατόπιν, πιέστε
το πλήκτρο 2 (το μεσαίο πλήκτρο) για να το επικολλήσετε στην
περιοχή του δρομέα. Με την πίεση του πλήκτρου 3 (δεξιού
πλήκτρου) μπορείτε να επεκτείνετε την επιλεγμένη
περιοχή κειμένου.Αν το ποντίκι σας δεν έχει μεσαίο πλήκτρο, μπορεί να θέλετε
να το εξομοιώσετε ή να αλλάξετε τις λειτουργίες των πλήκτρων
χρησιμοποιώντας τις επιλογές που παρέχονται από τον δαίμονα του
ποντικιού Δείτε τη σελίδα manual &man.moused.8; για τις
λεπτομέρειες.Το ποντίκι μου έχει διάφορα έξυπνα πλήκτρα και ροδέλα
κύλισης. Μπορώ να τα χρησιμοποιήσω στο &os;;Η απάντηση, δυστυχώς, είναι εξαρτάται.
Τα ποντίκια με έξτρα δυνατότητες συνήθως απαιτούν εξειδικευμένα
προγράμματα οδήγησης. Αν το πρόγραμμα οδήγησης του ποντικιού ή
το αντίστοιχο πρόγραμμα του χρήστη δεν παρέχουν συγκεκριμένη
υποστήριξη για το ποντίκι, θα λειτουργεί ως ένα απλό ποντίκι δύο
ή τριών πλήκτρων.Για πιθανή χρήση της ροδέλας σε περιβάλλον X Window, δείτε
την αντίστοιχη ενότητα.Πως μπορώ να χρησιμοποιήσω το ποντίκι / trackball / touchpad
στον φορητό μου υπολογιστή;Δείτε την απάντηση στην προηγούμενη
ερώτηση.Πως μπορώ να χρησιμοποιήσω το πλήκτρο delete στο
sh και csh;Για το Κέλυφος Bourne, προσθέστε
τις ακόλουθες γραμμές στο αρχείο σας .shrc.
Δείτε επίσης τις σελίδες manual &man.sh.1; και &man.editrc.5;.bind ^? ed-delete-next-char # for console
bind ^[[3~ ed-delete-next-char # for xtermΓια το Κέλυφος C, προσθέστε τις
ακόλουθες γραμμές στο αρχείο σας .cshrc.
Δείτε επίσης τη σελίδα manual του &man.csh.1;.bindkey ^? delete-char # for console
bindkey ^[[3~ delete-char # for xtermΓια περισσότερες πληροφορίες, δείτε αυτή τη σελίδα.Συσκευές σειριακής επικοινωνίας και ΔικτύωσηςΠοιες κάρτες δικτύου υποστηρίζει το &os;;Για την πλήρη λίστα, δείτε τις Σημειώσεις Υλικού που
παρέχονται με κάθε έκδοση του &os;.Υποστηρίζει το &os; modems που λειτουργούν με τη βοήθεια
λογισμικού όπως τα Winmodems;To &os; υποστηρίζει αρκετά software modems με την βοήθεια
επιπρόσθετου λογισμικού. Το port
comms/ltmdm προσθέτει
υποστήριξη για modems που βασίζονται στο δημοφιλές κύκλωμα
Lucent LT. Το port
comms/mwavem υποστηρίζει το
modem που διαθέτουν οι φορητοί υπολογιστές Thinkpad 600 και 700
της IBM.Δεν μπορείτε να εγκαταστήσετε το &os; μέσω software modem.
Το λογισμικό αυτό πρέπει να εγκατασταθεί μετά την εγκατάσταση
του &os;.Υπάρχει εγγενές πρόγραμμα οδήγησης για τις κάρτες Broadcom
43xx;Όχι, και μάλλον δεν θα υπάρξει.Η Broadcom αρνείται να δώσει δημόσια πληροφορίες σχετικά με
τον προγραμματισμό των ολοκληρωμένων της που χρησιμοποιούνται σε
εφαρμογές ασύρματων δικτύων, πιθανόν επειδή και το τμήμα του
πομποδέκτη της κάρτας ελέγχεται με τη βοήθεια λογισμικού. Για
να αποκτήσουν έγκριση για τις κάρτες τους από το FCC, πρέπει να
εξασφαλίσουν ότι οι τελικοί χρήστες δεν θα είναι σε θέση να
κάνουν ρυθμίσεις όπως αλλαγή της συχνότητας λειτουργίας, των
παραμέτρων διαμόρφωσης και της ισχύος εκπομπής. Αλλά χωρίς τις
πληροφορίες προγραμματισμού, είναι σχεδόν αδύνατο να γραφεί
πρόγραμμα οδήγησης.Ποιες κάρτες πολλαπλών σειριακών θυρών υποστηρίζονται από
το &os;;Υπάρχει μια λίστα για αυτές στην ενότητα διάφορων συσκευών του Εγχειριδίου.Ακόμα φαίνεται ότι λειτουργούν και κάποιες κάρτες που
είναι αντιγραφές επώνυμων μοντέλων, ειδικά όσες υποστηρίζουν ότι
είναι συμβατές με τις αντίστοιχες τις AST.Δείτε τη σελίδα manual &man.sio.4; για περισσότερες
πληροφορίες σχετικά με τη ρύθμιση τέτοιων καρτών.Πως μπορώ να εμφανίσω την προτροπή boot: σε μια σειριακή
κονσόλα;Δημιουργήστε πυρήνα που να περιέχει την επιλογή
options COMCONSOLE.Δημιουργήστε το /boot.config και
γράψτε μέσα σε αυτό μόνο την επιλογή .Αποσυνδέστε το πληκτρολόγιο από το σύστημα.Δείτε το αρχείο
/usr/src/sys/i386/boot/biosboot/README.serial
για περισσότερες πληροφορίες.Συσκευές ήχουΠοιες κάρτες ήχου υποστηρίζονται από το &os;;Το &os; υποστηρίζει διάφορες κάρτες ήχου,
συμπεριλαμβανομένων των &soundblaster;, &soundblaster; Pro, &soundblaster; 16, Pro Audio Spectrum 16, AdLib, και Gravis
UltraSound (για περισσότερες πληροφορίες, δείτε τις
Πληροφορίες Έκδοσης του &os;
και τη σελίδα manual &man.snd.4;). Υπάρχει επίσης περιορισμένη
υποστήριξη για κάρτες MIDI που είναι συμβατές με το πρότυπο
MPU-401. Επίσης υποστηρίζονται οι κάρτες που είναι συμβατές με
το πρότυπο µsoft; Sound System.Το παραπάνω ισχύει μόνο για τον ήχο! Το πρόγραμμα οδήγησης
δεν υποστηρίζει τυχόν CDROM, SCSI ή joysticks που συνδέονται
πάνω σε αυτές τις κάρτες, εκτός από την &soundblaster;. Αν
και η διεπαφή SCSI της &soundblaster; καθώς και κάποια
μη-SCSI CDROM υποστηρίζονται, δεν μπορούν ωστόσο να
χρησιμοποιηθούν για τη διαδικασία εκκίνησης.Υπάρχει κάποια λύση για το πρόβλημα του ήχου στην κάρτα μου
που υποστηρίζεται από το &man.pcm.4;;Κάποιες κάρτες ήχου, όπως η es1370, μηδενίζουν την ένταση
του ήχου σε κάθε εκκίνηση. Πρέπει να εκτελείτε την ακόλουθη
εντολή κάθε φορά που ξεκινά το μηχάνημα:&prompt.root; mixer pcm 100 vol 100 cd 100Άλλο υλικόΠοιες άλλες συσκευές υποστηρίζονται από το &os;;Δείτε το Εγχειρίδιο για τη λίστα των υπόλοιπων συσκευών που υποστηρίζονται.Υποστηρίζει το &os; διαχείριση ενέργειας για το φορητό μου
υπολογιστή;Από το &os; 4.X και μετά, υποστηρίζεται το
APM σε συγκεκριμένα μηχανήματα. Περισσότερες
πληροφορίες μπορείτε να βρείτε στο &man.apm.4;.Από το &os; 5.X και μετά, υποστηρίζεται η δυνατότητα
ACPI η οποία υπάρχει σε όλους τους σύγχρονους
υπολογιστές. Μπορείτε να βρείτε περισσότερες πληροφορίες στο
&man.acpi.4;. Αν ένα σύστημα υποστηρίζει τόσο
APM όσο και ACPI, μπορείτε
να χρησιμοποιήσετε όποιο θέλετε. Σας συνιστούμε να δοκιμάσετε
και τα δύο και να επιλέξετε αυτό που καλύπτει καλύτερα τις
ανάγκες σας.Πως μπορώ να απενεργοποιήσω το ACPI;Προσθέστε τη γραμμή
hint.acpi.0.disabled="1" στο αρχείο
/boot/device.hints.Γιατί το Micron σύστημα μου κρεμάει κατά την εκκίνηση;Ορισμένες μητρικές Micron υλοποιούν το PCI BIOS με μη
τυποποιημένο τρόπο, προκαλώντας προβλήματα στην εκκίνηση του
&os;, καθώς οι PCI συσκευές δεν ρυθμίζονται στις διευθύνσεις που
αναφέρονται.Για να παρακάμψετε το πρόβλημα, απενεργοποιήστε την επιλογή
Plug and Play Operating System από το BIOS.Η δισκέτα εκκίνησης κρεμάει στη μητρική ASUS K7V. Πως μπορώ
να το διορθώσω αυτό;Στις ρυθμίσεις του BIOS, απενεργοποιήστε την επιλογή
boot virus protection.Γιατί η PCI κάρτα δικτύου μου της &tm.3com; δεν λειτουργεί
με το Micron υπολογιστή μου;Ορισμένες μητρικές της Micron έχουν μη-τυποποιημένο PCI BIOS
το οποίο δεν ρυθμίζει τις συσκευές PCI στις διευθύνσεις που
αναφέρονται. Αυτό δημιουργεί προβλήματα κατά την εκκίνηση του
&os;.Για να παρακάμψετε το πρόβλημα, απενεργοποιήστε την επιλογή
Plug and Play Operating System από το
BIOS.Η PCMCIA κάρτα μου δεν λειτουργεί. Βλέπω το εξής μήνυμα:
cbb0: unsupported card type detected.
Τι μπορώ να κάνω;Μπορείτε να δοκιμάσετε να χρησιμοποιήσετε την αρχική
υλοποίηση OLDCARD. Τροποποιήστε το αρχείο ρύθμισης του πυρήνα
σας, και αφαιρέστε τις ακόλουθες γραμμές:
device cbb
device pccard
device cardbus
Μετά προσθέστε:
device pcic
device card 1
Μεταγλωττίστε ξανά και εγκαταστήστε το νέο πυρήνα όπως
περιγράφεται στην Ρύθμιση Πυρήνα του &os;.Αντιμετώπιση ΠροβλημάτωνΓιατί το &os; βρίσκει λάθος ποσότητα μνήμης;Αυτό οφείλεται στη διαφορά μεταξύ φυσικών και εικονικών
διευθύνσεων μνήμης.Η σύμβαση που κατά βάση ακολουθείται στο υλικό του PC, είναι
να χρησιμοποιείται η μνήμη μεταξύ 3.5G και 4G για ειδικό σκοπό,
συνήθως για την πρόσβαση σε κάρτες PCI. Αυτό έχει ως αποτέλεσμα
να μην μπορεί να αντιστοιχηθεί φυσική μνήμη σε αυτή την περιοχή
διευθύνσεων.Το υλικό του υπολογιστή σας θα καθορίσει τι γίνεται με την
μνήμη που κανονικά εμφανίζεται σε αυτή τη θέση. Δυστυχώς,
σε κάποιες περιπτώσεις το υλικό δεν κάνει τίποτα, και χάνεται η
δυνατότητα χρήσης των τελευταίων 500Μ μνήμης RAM.Ευτυχώς, στις περισσότερες περιπτώσεις το υλικό ανακατευθύνει
τη μνήμη σε υψηλότερη θέση, ώστε να είναι ακόμα δυνατή η χρήση
της. Αυτό μπορεί ωστόσο να σας προκαλέσει κάποια σύγχυση αν
παρακολουθείτε τα μηνύματα εκκίνησης.Στην 32 bit έκδοση του &os;, η μνήμη φαίνεται να έχει χαθεί
καθώς ανακατευθύνεται πάνω από τα 4G, τα οποία δεν είναι
προσβάσιμα από 32 bit πυρήνα. Στην περίπτωση αυτή η λύση είναι
να φτιάξετε ένα πυρήνα τύπου PAE. Δείτε
αυτήν την καταχώρηση στο FAQ
για περισσότερες πληροφορίες.Στην 64 bit έκδοση του &os;, ή όταν χρησιμοποιείται πυρήνας
τύπου PAE, το &os; θα ανιχνεύσει και θα ανακατευθύνει σωστά τη
μνήμη ώστε να είναι χρησιμοποιήσιμη. Κατά την εκκίνηση ωστόσο,
μπορεί να φαίνεται ότι το &os; ανιχνεύει περισσότερη μνήμη από
αυτή που έχει στην πραγματικότητα το σύστημα. Αυτό είναι
φυσιολογικό και η διαθέσιμη μνήμη θα διορθωθεί καθώς
ολοκληρώνεται η διαδικασία της εκκίνησης.Ο σκληρός μου δίσκος έχει χαλασμένους τομείς. Τι μπορώ να
κάνω;Στους δίσκους SCSI, ο οδηγός μπορεί συνήθως να
επανατοποθετήσει αυτόματα τα δεδομένα σε εναλλακτικούς τομείς.
Ωστόσο οι περισσότεροι δίσκοι έρχονται με την δυνατότητα αυτή
απενεργοποιημένη.Για να ενεργοποιήσετε την επανατοποθέτηση χαλασμένων τομέων,
επεξεργαστείτε την πρώτη σελίδα κατάστασης της συσκευής
(modepage), δίνοντας την παρακάτω εντολή
(ως root):&prompt.root; camcontrol modepage sd0 -m 1 -e -P 3και αλλάξτε τις τιμές των AWRE και ARRE από 0 σε 1:AWRE (Auto Write Reallocation Enbld): 1
ARRE (Auto Read Reallocation Enbld): 1Οι σύγχρονοι οδηγοί τύπου IDE έχουν επίσης ενεργοποιημένη από
το εργοστάσιο τη δυνατότητα επανατοποθέτησης χαλασμένων
τομέων.Αν δείτε προειδοποιήσεις σχετικά με χαλασμένους τομείς
(σε οποιοδήποτε είδος δίσκου), είναι ώρα να σκεφτείτε να αλλάξετε
τον οδηγό. Ίσως μπορέσετε να χρησιμοποιήσετε το διαγνωστικό
πρόγραμμα που δίνει ο κατασκευαστής του δίσκου για να
απομονώσετε τους χαλασμένους τομείς, αλλά στην καλύτερη περίπτωση
απλώς θα κερδίσετε λίγο περισσότερο χρόνο.Γιατι το &os; δεν ανιχνεύει τον ελεγκτή SCSI στον HP Netserver;Το πρόβλημα αυτό είναι γνωστό. Ο ενσωματωμένος στη μητρική
ελεγκτής SCSI του HP Netserver, χρησιμοποιεί σύνδεση τύπου EISA
και καταλαμβάνει τη θέση EISA με αριθμό 11. Με τον τρόπο αυτό,
όλες οι πραγματικές υποδοχές τύπου EISA βρίσκονται
πριν από αυτή. Ωστόσο, η περιοχή διευθύνσεων των υποδοχών EISA με
αριθμό >= 10, συγκρούεται με την περιοχή διευθύνσεων του PCI,
και το &os; στη σημερινή του μορφή, δεν μπορεί να χειριστεί σωστά
αυτή την κατάσταση.Έτσι, για την ώρα, το καλύτερο που μπορείτε να κάνετε είναι
να παριστάνετε ότι δεν υπάρχει σύγκρουση διευθύνσεων :) και να
ανεβάσετε την επιλογή EISA_SLOTS του πυρήνα
στην τιμή 12. Μεταγλωττίστε έπειτα ξανά τον πυρήνα, όπως
περιγράφεται στην σχετική καταχώρηση του Εγχειριδίου.Φυσικά αυτό είναι ένα πρόβλημα αντίστοιχο με το αυγό και την
κότα, όσο αφορά την εγκατάσταση ενός τέτοιου μηχανήματος. Για
να προσπεράσετε το πρόβλημα, υπάρχει ειδική πρόβλεψη στο
UserConfig. Μη χρησιμοποιήσετε το
visual interface, αλλά την γραμμή εντολών.
Απλώς γράψτε:eisa 12
quitστην προτροπή, και εγκαταστήστε το σύστημα σας όπως συνήθως.
Σας συνιστούμε ωστόσο να μεταγλωττίσετε και να εγκαταστήσετε
το δικό σας προσαρμοσμένο πυρήνα.Ευελπιστούμε ότι σε μελλοντικές εκδόσεις, θα υπάρχει καλύτερη
διόρθωση για το πρόβλημα αυτό.Δεν μπορείτε να χρησιμοποιήσετε δίσκο σε κατάσταση
dangerously dedicated (επικίνδυνα αφοσιωμένη)
με τον HP Netserver. Δείτε
αυτή τη σημείωση για
περισσότερες πληροφορίες.Βλέπω συνέχεια μηνύματα του τύπου
ed1: timeout. Τι σημαίνουν;Τα μηνύματα αυτά προκαλούνται συνήθως από διενέξεις στα
interrupts (π.χ. δύο κάρτες που χρησιμοποιούν το ίδιο IRQ).
Εκκινήστε με την επιλογή -c και αλλάξτε την καταχώρηση
ed0/de0/... ώστε να συμβαδίζει με το υλικό σας.Αν χρησιμοποιείτε την σύνδεση BNC της κάρτας δικτύου σας,
ίσως να δείτε επίσης αντίστοιχα μηνύματα σε περίπτωση
προβληματικού τερματισμού. Για να ελέγξετε την περίπτωση αυτή,
συνδέστε ένα τερματιστή απευθείας στην κάρτα (χωρίς καλώδιο) και
δείτε αν σταματήσουν τα μηνύματα.Κάποιες κάρτες συμβατές με NE2000, δίνουν αυτό το μήνυμα αν
δεν υπάρχει σύνδεση στη θύρα UTP ή αν το καλώδιο είναι
αποσυνδεμένο.Γιατί σταμάτησε να λειτουργεί η κάρτα μου &tm.3com; 3C509
χωρίς να υπάρχει εμφανής λόγος;Η κάρτα αυτή έχει την κακή συνήθεια να χάνει τις ρυθμίσεις
της. Ανανεώστε τις, χρησιμοποιώντας το βοηθητικό πρόγραμμα DOS
3c5x9.exe.Ο εκτυπωτής μου στην παράλληλη θύρα είναι απελπιστικά αργός.
Τι μπορώ να κάνω;Αν το μόνο πρόβλημα είναι ο υπερβολικά αργός εκτυπωτής,
μπορείτε να δοκιμάσετε να αλλάξετε την κατάσταση λειτουργίας της παράλληλης θύρας
όπως περιγράφεται στο κεφάλαιο του Εγχειριδίου σχετικά με
την Εγκατάσταση Εκτυπωτή.Γιατί τα προγράμματα μου περιστασιακά τερματίζουν με σφάλμα
Signal 11;Τα σφάλματα τύπου Signal 11 δημιουργούνται όταν μια διεργασία
προσπαθεί να προσπελάσει περιοχή μνήμης για την οποία δεν έχει
πάρει άδεια από το λειτουργικό σύστημα. Αν συμβαίνει κάτι τέτοιο
σε φαινομενικά τυχαία χρονικά διαστήματα, θα πρέπει να αρχίσετε να
το ερευνάτε πολύ προσεκτικά.Τα προβλήματα αυτά συνήθως οφείλονται σε κάποιον από τους
παρακάτω λόγους:Αν το πρόβλημα εμφανίζεται μόνο σε μια συγκεκριμένη
εφαρμογή την οποία αναπτύσσετε εσείς, είναι πιθανώς
λάθος στον δικό σας κώδικα.Αν το πρόβλημα βρίσκεται σε τμήμα του βασικού συστήματος
του &os;, μπορεί επίσης να είναι προβληματικός κώδικας, αλλά
τις περισσότερες φορές, τα προβλήματα αυτά βρίσκονται και
διορθώνονται πριν διανεμηθούν στους περισσότερους από εσάς
που διαβάζετε το FAQ (για το λόγο αυτό άλλωστε υπάρχει και η
γραμμή ανάπτυξης -current).Για παράδειγμα, ένας γρήγορος τρόπος να διαπιστώσετε ότι
δεν πρόκειται για πρόβλημα του &os;, είναι
αν το πρόβλημα εμφανίζεται κατά τη μεταγλώττιση κάποιου
προγράμματος, αλλά κάθε φορά και σε διαφορετικό σημείο.Για παράδειγμα, υποθέστε ότι εκτελείτε ένα make
buildworld, και η μεταγλώττιση αποτυγχάνει κατά την
επεξεργασία του αρχείου ls.c σε
ls.o. Αν εκτελέσετε ξανά make
buildworld, και η μεταγλώττιση σταματήσει στο ίδιο σημείο,
πρόκειται πράγματι για πρόβλημα στα αρχεία του build -- δοκιμάστε
να ανανεώσετε τον πηγαίο κώδικα και να ξαναπροσπαθήσετε. Αν η
μεταγλώττιση αποτυγχάνει αλλού, αυτό σχεδόν σίγουρα οφείλεται σε
προβληματικό υλικό.Τι πρέπει να κάνετε:Στην πρώτη περίπτωση μπορείτε να χρησιμοποιήσετε κάποιο
debugger όπως το gdb για να βρείτε το σημείο στο πρόγραμμα με την
προβληματική διεύθυνση και να το διορθώσετε.Στη δεύτερη περίπτωση, θα πρέπει να επαληθεύσετε ότι δεν
φταίει το υλικό σας.Στις συνηθισμένες αιτίες αυτού του προβλήματος,
περιλαμβάνονται:Οι σκληροί σας δίσκοι μπορεί να υπερθερμαίνονται. Ελέγξτε
ότι λειτουργούν οι ανεμιστήρες στο κουτί σας. Αν δεν
λειτουργούν, είναι πιθανό οι δίσκοι σας (και ίσως και άλλα
εξαρτήματα) να υπερθερμαίνονται.Ο επεξεργαστής σας έχει υπερθερμανθεί: Αυτό μπορεί να
συμβεί σε περίπτωση που τον λειτουργείτε σε μεγαλύτερη
συχνότητα από την κανονική (overclocking) ή αν το ανεμιστηράκι
του επεξεργαστή έχει σταματήσει να λειτουργεί. Σε κάθε
περίπτωση, θα πρέπει να εξασφαλίσετε ότι χρησιμοποιείτε το
υλικό σας σύμφωνα με τις προδιαγραφές του, τουλάχιστον για
όσο διάστημα χρειάζεται για να επιλύσετε το πρόβλημα. Για
παράδειγμα, αν έχετε κάνει overclocking, επιστρέψτε τον
επεξεργαστή στην κανονική του συχνότητα.Σχετικά με το overclocking, σημειώστε επίσης ότι είναι
φτηνότερο να έχετε ένα πιο αργό σύστημα από ένα κατεστραμμένο
που χρειάζεται αντικατάσταση! Επίσης η κοινότητα γενικά δεν
θα σας αντιμετωπίσει με κατανόηση αν αναφέρετε προβλήματα που
παρουσιάζονται σε συστήματα που λειτουργούν εκτός
προδιαγραφών, είτε εσείς πιστεύετε ότι η λειτουργία τους
είναι ασφαλής, είτε όχι.Προβληματική μνήμη: Αν έχετε εγκατεστημένα περισσότερα
από ένα SIMMS / DIMMS, αφαιρέστε τα και προσπαθήστε να
λειτουργήσετε το μηχάνημα με ένα-ένα χωριστά ώστε να
εντοπίσετε το πρόβλημα σε επίπεδο ενός SIMM / DIMM, ή ίσως σε
ένα συνδυασμό τους.Υπερ-αισιόδοξες ρυθμίσεις μητρικής: Στις ρυθμίσεις του
BIOS, και σε κάποιες περιπτώσεις σε ρυθμίσεις στη μητρική
μέσω βραχυκυκλωτήρων (jumpers), υπάρχει η δυνατότητα μεταβολής
διάφορων χρονισμών. Στις περισσότερες περιπτώσεις οι
προεπιλεγμένες ρυθμίσεις είναι επαρκείς, και ίσως
δημιουργήσετε προβλήματα αν ρυθμίσετε πολύ χαμηλά τις
καταστάσεις αναμονής (wait states) της RAM ή θέσετε στο BIOS
την επιλογή RAM Speed: Turbo. Μια καλή ιδέα
είναι να επιστρέψετε τις ρυθμίσεις του BIOS στις
προεπιλεγμένες, αλλά πριν το κάνετε, σημειώστε κάπου τις
δικές σας.Ανεπαρκής ή κακής ποιότητας τροφοδοσία στη μητρική. Αν
έχετε κάρτες I/O, σκληρούς δίσκους ή CDROM στο σύστημα σας
που δεν χρησιμοποιείτε, δοκιμάστε να τα αφαιρέσετε ή να
αποσυνδέσετε προσωρινά την παροχή τροφοδοσίας τους, για να
διαπιστώσετε αν το τροφοδοτικό σας μπορεί να διαχειριστεί
μικρότερο φορτίο. Ή απλώς δοκιμάστε ένα άλλο τροφοδοτικό,
κατά προτίμηση ένα με λίγο μεγαλύτερη ισχύ (για παράδειγμα
αν το τρέχον σας τροφοδοτικό είναι ονομαστικής ισχύος 250W,
δοκιμάστε ένα ισχύος 300W).Θα πρέπει επίσης να διαβάσετε το SIG11 FAQ (το οποίο φαίνεται
παρακάτω) το οποίο περιλαμβάνει εξαιρετικές επεξηγήσεις για όλα
αυτά τα προβλήματα, αν και πολλές από αυτές είναι γραμμένες από
την σκοπιά του &linux;. Ένα ενδιαφέρον τμήμα του SIG11 FAQ είναι
και αυτό που αναφέρεται στην πιθανότητα να μην ανιχνεύεται
προβληματική μνήμη από διαγνωστικά προγράμματα ή συσκευές
ελέγχου.Τέλος, αν τίποτα από τα παραπάνω δεν βοηθήσει, είναι πιθανόν
να έχετε εντοπίσει ένα πρόβλημα (bug) στο &os; και θα πρέπει να
ακολουθήσετε τις οδηγίες για να στείλετε αναφορά
προβλήματος.Μπορείτε να βρείτε εκτεταμένη ανάλυση στο FAQ σχετικά με το πρόβλημα SIG11.Το σύστημα μου σταματάει είτε με Fatal
trap 12: page fault in kernel mode, ή με
panic:, δείχνοντας και μια σειρά από
πληροφορίες. Τι πρέπει να κάνω;Η ομάδα ανάπτυξης του &os; ενδιαφέρεται ιδιαίτερα για αυτά
τα λάθη, αλλά χρειάζεται περισσότερες πληροφορίες εκτός από το
μήνυμα λάθους που βλέπετε. Αντιγράψτε το πλήρες μήνυμα και
έπειτα συμβουλευθείτε την ενότητα του FAQ σχετικά με τα
kernel
panics, δημιουργήστε ένα πυρήνα με δυνατότητα
εκσφαλμάτωσης (debugging kernel) και εκτελέστε ένα backtrace.
Αυτό μπορεί να ακούγεται δύσκολο, αλλά δεν χρειάζεστε στην
πραγματικότητα γνώσεις προγραμματισμού. Αρκεί να ακολουθήσετε
τις οδηγίες.Γιατί η οθόνη μου μαυρίζει και χάνει το συγχρονισμό της κατά
την εκκίνηση;Πρόκειται για γνωστό πρόβλημα με την κάρτα γραφικών ATI
Mach64. Το πρόβλημα είναι ότι η κάρτα αυτή χρησιμοποιεί την
διεύθυνση 2e8, η οποία χρησιμοποιείται επίσης
και από την τέταρτη σειριακή θύρα. Λόγω κάποιου προβλήματος
(ή της σχεδίασης) του προγράμματος οδήγησης &man.sio.4;, το
πρόγραμμα όχι μόνο θα προσπαθήσει να ανιχνεύσει αυτή τη
διεύθυνση ακόμα και αν δεν έχετε τέταρτη σειριακή θύρα, αλλά
ακόμα και στην περίπτωση που έχετε
απενεργοποιήσει τη σειριακή θύρα sio3 (δηλ. την τέταρτη) η
οποία φυσιολογικά χρησιμοποιεί αυτή τη διεύθυνση.Μέχρι να διορθωθεί το πρόβλημα αυτό, μπορείτε να
χρησιμοποιήσετε το παρακάτω τέχνασμα για να το παρακάμψετε:Γράψτε στην προτροπή εκκίνησης.
(Με τον τρόπο αυτό θα βάλετε τον πυρήνα σε κατάσταση
ρύθμισης).Απενεργοποιήστε τις sio0,
sio1,
sio2 και
sio3 (όλες). Με τον τρόπο αυτό
το πρόγραμμα οδήγησης δεν ενεργοποιείται καν, άρα δεν
δημιουργείται πρόβλημα.Γράψτε exit για να συνεχίσετε την εκκίνηση.Αν θέλετε να χρησιμοποιήσετε τις σειριακές θύρες, θα πρέπει να
δημιουργήσετε νέο πυρήνα, με την ακόλουθη μετατροπή: Στο αρχείο
/usr/src/sys/i386/isa/sio.c βρείτε το πρώτο
σημείο που εμφανίζεται το αλφαριθμητικό 0x2e8
και αφαιρέστε αυτό το αλφαριθμητικό και το κόμμα που βρίσκεται
πριν από αυτό (κρατήστε το κόμμα που βρίσκεται μετά). Ακολουθήστε
τώρα τη συνηθισμένη διαδικασία δημιουργίας νέου πυρήνα.Ακόμα και μετά την εφαρμογή αυτών των διορθώσεων, ίσως
ανακαλύψετε ότι το σύστημα X Window δεν λειτουργεί σωστά. Αν
συμβαίνει αυτό, βεβαιωθείτε ότι χρησιμοποιείτε έκδοση 3.3.3 ή
μεγαλύτερη του &xfree86;. Από την έκδοση αυτή και μετά, υπάρχει
ενσωματωμένη υποστήριξη για κάρτες Mach64 και επίσης διατίθεται
εξειδικευμένος εξυπηρετητής X για την κάρτα αυτή.Γιατί το &os; σύστημα μου χρησιμοποιεί μόνο 64MB RAM, ενώ ο
υπολογιστής μου έχει εγκατεστημένα 128MB;Εξαιτίας του τρόπου με τον οποίο το &os; διαβάζει το μέγεθος
της μνήμης από το BIOS, μπορεί να ανιχνεύσει μόνο 16 bits μέγεθος
σε Kbytes (65536 Kbytes = 64MB) (ή και λιγότερο... ορισμένα BIOS
δίνουν προκαθορισμένο μέγεθος μνήμης 16Μ). Αν έχετε περισσότερα
από 64MB, το &os; θα προσπαθήσει να τα ανιχνεύσει. Η ανίχνευση
ωστόσο μπορεί να αποτύχει.Για να παρακάμψετε το πρόβλημα, θα πρέπει να χρησιμοποιήσετε
την επιλογή του πυρήνα που φαίνεται παρακάτω. Υπάρχει τρόπος να
ληφθούν πλήρεις πληροφορίες σχετικά με τη μνήμη από το BIOS, αλλά
στο bootblock δεν υπάρχει αρκετός χώρος για να γίνει αυτό. Κάποια
μέρα, όταν διορθωθεί το πρόβλημα της έλλειψης χώρου στα
bootblocks, θα χρησιμοποιήσουμε τις εκτεταμένες λειτουργίες του
BIOS για να ανακτήσουμε πλήρεις πληροφορίες σχετικά με τη μνήμη.
Για την ώρα, πρέπει να περιοριστούμε στην ρύθμιση της αντίστοιχης
επιλογής του πυρήνα.options "MAXMEM=n"Όπου το n είναι το μέγεθος της
μνήμης σε kilobytes. Για μηχάνημα με 128 MB, θα πρέπει να
χρησιμοποιήσετε το 131072.Το σύστημα μου έχει περισσότερο από 1 GB RAM, και παίρνω
panics με μηνύματα kmem_map too small. Που είναι
το πρόβλημα;Φυσιολογικά, το &os; χρησιμοποιεί το μέγεθος της
εγκατεστημένης μνήμης για να καθορίσει μια σειρά από παραμέτρους
του πυρήνα, όπως το μέγιστο αριθμό αρχείων που μπορεί να είναι
ταυτόχρονα ανοιχτά. Σε συστήματα με περισσότερη από 1GB μνήμη,
αυτός ο μηχανισμός αυτόματης ρύθμισης μεγεθών ίσως
επιλέξει τιμές οι οποίες να είναι πολύ υψηλές. Κατά την εκκίνηση,
ο πυρήνας εκχωρεί διάφορους πίνακες και άλλες δομές, οι οποίες
καταλαμβάνουν τον περισσότερο διαθέσιμο χώρο του. Αργότερα,
καθώς το σύστημα λειτουργεί, ο πυρήνας δεν έχει άλλο χώρο για
δυναμικές εκχωρήσεις μνήμης, και δημιουργείται panic.Δημιουργήστε το δικό σας πυρήνα, και προσθέστε την επιλογή
στο αρχείο ρυθμίσεων του, ώστε
να αυξήσετε το μέγιστο μέγεθος σε 400 MB
().
Τα 400 MB φαίνεται να επαρκούν για μηχανήματα με μέγεθος
μνήμης ως 6 GB.Το σύστημα μου δεν έχει 1GB RAM, και πάλι όμως το &os;
δημιουργεί panic με το μήνυμα
kmem_map too small!Το panic δείχνει ότι το σύστημα έχει μείνει από εικονική μνήμη
για προσωρινή αποθήκευση δεδομένων δικτύου (network
buffers, και ειδικότερα mbuf clusters). Μπορείτε να αυξήσετε το
μέγεθος της εικονικής μνήμης που διατίθεται για mbuf clusters,
ακολουθώντας τις οδηγίες στην ενότητα Όρια Δικτύου του Εγχειριδίου.Γιατί παίρνω το μήνυμα λάθους /kernel: proc: table
is full;Ο πυρήνας του &os; επιτρέπει κάθε χρονική στιγμή την ύπαρξη
ενός συγκεκριμένου αριθμού διεργασιών. Ο αριθμός αυτός βασίζεται
στην επιλογή MAXUSERS του πυρήνα. Το
MAXUSERS επηρεάζει επίσης και άλλα όρια μέσα
στον πυρήνα, όπως η προσωρινή μνήμη του δικτύου (network buffers)
(δείτε την
προηγούμενη ερώτηση). Αν το μηχάνημα σας λειτουργεί σε
υψηλό φορτίο, ίσως έχει νόημα να αυξήσετε την επιλογή
MAXUSERS. Με τον τρόπο αυτό, μαζί με το
μέγιστο αριθμό διεργασιών, θα αυξηθούν και άλλα όρια του
συστήματος.Για να ρυθμίσετε την τιμή του MAXUSERS,
δείτε την ενότητα Όρια Αρχείων/Διεργασιών του Εγχειριδίου. (Αν και η ενότητα
αυτή αναφέρεται σε ανοιχτά αρχεία, τα ίδια όρια ισχύουν και για
τις διεργασίες.)Αν το μηχάνημα σας λειτουργεί σε χαμηλό φορτίο, αλλά εκτελεί
μεγάλο αριθμό διεργασιών, μπορείτε απλώς να ρυθμίσετε τον αριθμό
τους αλλάζοντας την τιμή της μεταβλητής
kern.maxproc. Αν πρέπει να ρυθμίσετε αυτή τη
μεταβλητή, θα πρέπει να την ορίσετε στο αρχείο
/boot/loader.conf. Η ρύθμιση δεν θα ισχύσει
μέχρι να επανεκκινήσετε το σύστημα. Για περισσότερες πληροφορίες
σχετικά με τις μεταβλητές του πυρήνα, δείτε τις σελίδες manual
&man.loader.conf.5; και &man.sysctl.conf.5;. Αν όλες αυτές οι
διεργασίες εκτελούνται από ένα μόνο χρήστη, θα πρέπει επίσης να
ρυθμίσετε την τιμή της μεταβλητής
kern.maxprocperuid ώστε να είναι κατά ένα
μικρότερη από την νέα τιμή της kern.maxproc.
(Πρέπει να είναι κατά ένα μικρότερη, γιατί υπάρχει πάντα ένα
πρόγραμμα συστήματος, το &man.init.8;, που πρέπει να εκτελείται
συνέχεια.).Για να γίνει μόνιμη μια αλλαγή ενός sysctl, τοποθετήστε την
κατάλληλη τιμή στο αρχείο /etc/sysctl.conf.
Περισσότερες πληροφορίες για τη ρύθμιση του συστήματος με την
χρήση του &man.sysctl.8;, μπορείτε να βρείτε στην ενότητα Ρυθμίσεις μέσω sysctl του Εγχειριδίου.Γιατί παίρνω το μήνυμα λάθους CMAP
busy όταν επανεκκινώ με νέο πυρήνα;Η λογική του συστήματος που προσπαθεί να ανιχνεύσει τυχόν
παλιές εκδόσεις των αρχείων /var/db/kvm_*.db
κάποιες φορές αποτυγχάνει, και η χρήση ανόμοιων εκδόσεων μπορεί
σε ορισμένες περιπτώσεις να οδηγήσει σε panic.Αν σας συμβεί αυτό, επανεκκινήστε σε κατάσταση ενός χρήστη
(single user) και γράψτε:&prompt.root; rm /var/db/kvm_*.dbΤι σημαίνει το μήνυμα ahc0: brkadrint,
Illegal Host Access at seqaddr 0x0;Υπάρχει μια διένεξη με την κάρτα
Ultrastor SCSI Host Adapter.Κατά τη διάρκεια της διαδικασίας εκκίνησης, εισέλθετε στο
μενού ρυθμίσεων του πυρήνα και απενεργοποιήστε τη συσκευή
uha0, η οποία είναι αυτή που προκαλεί το
πρόβλημα.Όταν ξεκινώ το σύστημα μου παίρνω το λάθος
ahc0: illegal cable configuration.
Η καλωδίωση μου είναι σωστή. Τι συμβαίνει;Η μητρική πλακέτα σας δεν έχει τα απαιτούμενα εξωτερικά
κυκλώματα ώστε να υποστηρίζει αυτόματο τερματισμό του διαύλου
SCSI. Αντί να βασίζεστε στον αυτόματο τερματισμό, δηλώστε στο
SCSI BIOS τον σωστό τερματισμό για τη διάταξη συσκευών που
έχετε. Το πρόγραμμα οδήγησης του AIC7XXX δεν μπορεί να καθορίσει
αν είναι διαθέσιμο το κύκλωμα που χρησιμοποιείται για την
ανίχνευση του καλωδίου (άρα και του αυτόματου τερματισμού).
Το πρόγραμμα οδήγησης υποθέτει ότι υπάρχει υποστήριξη, εφόσον οι
ρυθμίσεις που περιέχονται στη σειριακή EEPROM αναφέρουν "αυτόματο
τερματισμό". Συχνά, χωρίς το εξωτερικό κύκλωμα ανίχνευσης του
καλωδίου, το πρόγραμμα οδήγησης θα ρυθμίζει λανθασμένα τον
τερματισμό, κάτι που μπορεί να δημιουργήσει πρόβλημα στην
αξιοπιστία του διαύλου SCSI.Γιατί το Sendmail δίνει το μήνυμα λάθους
mail loops back to
myself;Αυτό περιγράφεται στο sendmail FAQ όπως φαίνεται
παρακάτω: * Παίρνω μηνύματα λάθους "Local configuration error" όπως το:
553 relay.domain.net config error: mail loops back to myself
554 <user@domain.net>... Local configuration error
Πως μπορώ να επιλύσω το πρόβλημα;
Έχετε ζητήσει να κατευθύνετε το mail προς το domain (π.χ. domain.net)
προς κάποιο συγκεκριμένο μηχάνημα (στην περίπτωση αυτή, το
relay.domain.net) χρησιμοποιώντας μια εγγραφή MX, αλλά το μηχάνημα
που κάνει την ανακατεύθυνση δεν αναγνωρίζει τον εαυτό του ως
domain.net. Προσθέστε το domain.net στο /etc/mail/local-host-names
(αν χρησιμοποιείτε το FEATURE(use_cw_file)) ή προσθέστε
"Cw domain.net" στο /etc/mail/sendmail.cf.Η τρέχουσα έκδοση του sendmail FAQ δεν συντηρείται πλέον με κάθε έκδοση του sendmail.
Ωστόσο, δημοσιεύεται ανά τακτά διαστήματα στις λίστες comp.mail.sendmail,
comp.mail.misc, comp.mail.smail, comp.answers, και news.answers. Μπορείτε επίσης
να λάβετε αντίγραφο μέσω email, στέλνοντας ένα μήνυμα στο
mail-server@rtfm.mit.edu με την εντολή
send usenet/news.answers/mail/sendmail-faq
στο κύριο μέρος του μηνύματος.Γιατί δεν συμπεριφέρονται σωστά οι εφαρμογές πλήρους οθόνης
σε απομακρυσμένα μηχανήματα;Είναι πιθανόν το απομακρυσμένο μηχάνημα να ρυθμίζει τον τύπο
του τερματικού σας σε κάτι διαφορετικό από τον τύπο
cons25 που απαιτείται από την κονσόλα του
&os;.Υπάρχουν διάφοροι τρόποι για να παρακάμψετε αυτό το
πρόβλημα:Μετά την είσοδο σας στο απομακρυσμένο μηχάνημα, ορίστε
την μεταβλητή TERM του κελύφους σε ansi
ή sco, εφόσον το απομακρυσμένο μηχάνημα
μπορεί να λειτουργήσει με αυτά τα είδη τερματικών.Στην κονσόλα του &os;, χρησιμοποιήστε κάποιο εξομοιωτή
τερματικού VT100, όπως το
screen. Το
screen σας δίνει τη δυνατότητα
να έχετε πολλαπλές συνεδρίες από ένα μόνο τερματικό, και
είναι έτσι και αλλιώς χρήσιμο πρόγραμμα. Κάθε παράθυρο του
screen συμπεριφέρεται ως
τερματικό του VT100, έτσι η μεταβλητή TERM στον
απομακρυσμένο υπολογιστή θα πρέπει να ρυθμιστεί σε
vt100.Εγκαταστήστε την καταχώρηση cons25
στη βάση δεδομένων τερματικών του απομακρυσμένου υπολογιστή.
Ο τρόπος για να γίνει αυτό, εξαρτάται από το λειτουργικό
σύστημα του απομακρυσμένου υπολογιστή. Φυσιολογικά, θα
βρείτε αυτές τις πληροφορίες στα εγχειρίδια διαχείρισης
συστήματος του απομακρυσμένου μηχανήματος.Στο τοπικό σας &os; μηχάνημα, χρησιμοποιήστε τον X
server και κάντε login στο απομακρυσμένο μηχάνημα
χρησιμοποιώντας κάποιο εξομοιωτή τερματικού όπως το
xterm ή το rxvt. Στην
περίπτωση αυτή, θα πρέπει στο απομακρυσμένο μηχάνημα να
ρυθμίσετε την μεταβλητή TERM σε xterm ή
vt100.Γιατί το μηχάνημα μου δείχνει το μήνυμα
calcru: negative time...;Αυτό μπορεί να συμβεί από διάφορες αιτίες που σχετίζονται με
interrupts, τόσο στο υλικό όσο και στο λογισμικό. Μπορεί να
οφείλεται σε προβλήματα (bugs) αλλά μπορεί επίσης να προκληθεί
εξαιτίας της φύσης κάποιων συσκευών. Ένας συνηθισμένος τρόπος
πρόκλησης του προβλήματος, είναι η εκτέλεση εφαρμογών TCP/IP
με μεγάλο MTU μέσω της παράλληλης θύρας. Μπορεί επίσης να
προκληθεί από κάποιους επιταχυντές γραφικών, και στην περίπτωση
αυτή το πρώτο πράγμα που θα πρέπει να ελέγξετε είναι η ρύθμιση
interrupt της αντίστοιχης κάρτας.Παρενέργεια αυτού του προβλήματος είναι ο απότομος τερματισμός
διεργασιών με το μήνυμα SIGXCPU exceeded cpu time
limit.Αν το πρόβλημα δεν μπορεί να λυθεί με διαφορετικό τρόπο, η
λύση είναι να ορίσετε την παρακάτω μεταβλητή του sysctl:&prompt.root; sysctl -w kern.timecounter.method=1Η επιλογή του &man.sysctl.8; θεωρείται
παρωχημένη και αγνοείται σιωπηλά από το &os; 4.4-RELEASE και
μετά. Μπορείτε με ασφάλεια να το παραλείψετε κατά τη ρύθμιση
των επιλογών με την sysctl όπως φαίνεται
παραπάνω.Το παραπάνω θα έχει επίδραση στην απόδοση, αλλά σε σχέση με
την αιτία του προβλήματος, μάλλον δεν θα το παρατηρήσετε. Αν το
πρόβλημα επιμένει, διατηρήστε την τιμή του sysctl στο ένα, και
ρυθμίστε την επιλογή NTIMECOUNTER στον πυρήνα
σας, σε ολοένα αυξανόμενες τιμές. Αν φτάσετε την τιμή
NTIMECOUNTER=20 και το πρόβλημα δεν έχει λυθεί,
τα interrupts στο μηχάνημα σας είναι πολύ προβληματικά και
ακατάλληλα για ακριβή ρύθμιση της ώρας.Γιατί η PnP κάρτα μου δεν ανιχνεύεται πλέον (ή ανιχνεύεται ως
unknown) μετά την αναβάθμιση σε &os; 4.X;Το &os; 4.X ακολουθεί πλέον αρκετά πιο πιστά το πρότυπο
PnP και αυτό δημιουργεί ορισμένες φορές
την παρενέργεια να μη λειτουργούν κάποιες συσκευές PnP (π.χ.
κάρτες ήχου και εσωτερικά modems) οι οποίες ωστόσο λειτουργούσαν
στο &os; 3.Χ.Οι λόγοι για την συμπεριφορά αυτή, εξηγούνται στο ακόλουθο
e-mail, το οποίο στάλθηκε στη λίστα &a.questions.name; από τον
Peter Wemm, ως απάντηση σε ερώτηση σχετικά με ένα εσωτερικό
modem το οποίο δεν ήταν ανιχνεύσιμο από το σύστημα μετά από
αναβάθμιση σε &os; 4.X (τα σχόλια μέσα σε []
έχουν προστεθεί για να γίνει πιο κατανοητό το αντικείμενο της
συζήτησης).Το περιεχόμενο αυτής της παράθεσης έχει ανανεωθεί σε σχέση
με το αρχικό κείμενο.
Το PNP bios το προ-ρύθμισε [το modem] και το άφησε στην
περιοχή διευθύνσεων των θυρών, και έτσι [στην έκδοση 3.Χ] η
παλαιού τύπου ανίχνευση ISA το βρήκε εκεί.Στην έκδοση 4.0, ο κώδικας διαχείρισης του ISA, είναι πολύ
περισσότερο προσανατολισμένος στο PnP μοντέλο. Στο 3.Χ ήταν
δυνατόν η ανίχνευση ISA να εντοπίσει μια χαμένη
συσκευή και έπειτα η PNP συσκευή να ταιριάξει και να αποτύχει
η ρύθμιση της λόγω διένεξης πόρων. Έτσι, απενεργοποιούνται
αρχικά οι προγραμματιζόμενες κάρτες, ώστε να μη συμβεί αυτή
η διπλή ανίχνευση. Αυτό επίσης σημαίνει ότι η ανίχνευση πρέπει
να γνωρίζει τα PnP ids των υποστηριζόμενων συσκευών. Είναι στις
προθέσεις μας να κάνουμε τη διαδικασία αυτή περισσότερη
προσβάσιμη στους χρήστες.
Για να λειτουργήσει ξανά η συσκευή, πρέπει να βρεθεί το PNP
id της και να προστεθεί στη λίστα των ανιχνεύσεων ISA που
χρησιμοποιούνται για την αναγνώριση PnP συσκευών. Αυτό μπορεί να
γίνει με τη χρήση της &man.pnpinfo.8; για την ανίχνευση της
συσκευής, για παράδειγμα αυτή είναι η έξοδος της &man.pnpinfo.8;
για ένα εσωτερικό modem:&prompt.root; pnpinfo
Checking for Plug-n-Play devices...
Card assigned CSN #1
Vendor ID PMC2430 (0x3024a341), Serial Number 0xffffffff
PnP Version 1.0, Vendor Version 0
Device Description: Pace 56 Voice Internal Plug & Play Modem
Logical Device ID: PMC2430 0x3024a341 #0
Device supports I/O Range Check
TAG Start DF
I/O Range 0x3f8 .. 0x3f8, alignment 0x8, len 0x8
[16-bit addr]
IRQ: 4 - only one type (true/edge)[παραλείπονται οι υπόλοιπες γραμμές TAG]TAG End DF
End Tag
Successfully got 31 resources, 1 logical fdevs
-- card select # 0x0001
CSN PMC2430 (0x3024a341), Serial Number 0xffffffff
Logical device #0
IO: 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8
IRQ 5 0
DMA 4 0
IO range check 0x00 activate 0x01Οι πληροφορίες που απαιτούνται, βρίσκονται στη γραμμή
Vendor ID, στην αρχή της εξόδου. Ο δεκαεξαδικός
αριθμός στις παρενθέσεις (στο παράδειγμα μας 0x3024a341) είναι
το PnP id ενώ το αλφαριθμητικό που βρίσκεται ακριβώς πριν από
αυτόν είναι ένα μοναδικό ASCII αναγνωριστικό.Εναλλακτικά, αν το &man.pnpinfo.8; δεν δείχνει την ζητούμενη
κάρτα, μπορείτε να χρησιμοποιήσετε το &man.pciconf.8;. Παρακάτω
φαίνεται ένα μέρος της εξόδου της pciconf -vl
για ένα κύκλωμα ήχου ενσωματωμένου στη μητρική:&prompt.root; pciconf -vl
chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02 hdr=0x00
vendor = 'Intel Corporation'
device = '82801AA 8xx Chipset AC'97 Audio Controller'
class = multimedia
subclass = audioΕδώ, θα χρησιμοποιούσαμε την τιμή του chip,
0x24158086.Η πληροφορία αυτή (Vendor ID ή τιμή chip) θα πρέπει να
προστεθεί στο αρχείο /usr/src/sys/isa/sio.c.Θα πρέπει πρώτα να κρατήσετε ένα αντίγραφο ασφαλείας του
sio.c, για την περίπτωση που κάτι πάει
στραβά. Επίσης, θα χρειαστείτε το αντίγραφο για να δημιουργήσετε
ένα patch το οποίο θα καταθέσετε με την αναφορά προβλήματος (PR)
που θα μας στείλετε (και θα μας στείλετε PR, έτσι;). Κατόπιν
επεξεργαστείτε το sio.c και ψάξτε για τη
γραμμήstatic struct isa_pnp_id sio_ids[] = {έπειτα μετακινηθείτε προς τα κάτω για να βρείτε το σωστό μέρος
να προσθέσετε την καταχώρηση της συσκευής σας. Οι καταχωρήσεις
φαίνονται όπως παρακάτω και είναι ταξινομημένες κατά το
αλφαριθμητικό ASCII Vendor ID το οποίο θα πρέπει να περιληφθεί
στο σχόλιο στο δεξιό μέρος της γραμμής μαζί με όλη την περιγραφή
Device Description (αν χωράει, αλλιώς μέρος
της) από την έξοδο της &man.pnpinfo.8;:{0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */
{0x39804f3f, NULL}, /* OZO8039 - Zoom 56k flex */
{0x3024a341, NULL}, /* PMC2430 - Pace 56 Voice Internal Modem */
{0x1000eb49, NULL}, /* ROK0010 - Rockwell ? */
{0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */Προσθέστε το δεκαεξαδικό Vendor ID για τη συσκευή σας στο
σωστό μέρος, αποθηκεύστε το αρχείο, αναδημιουργήστε τον πυρήνα
σας, και επανεκκινήστε. Θα πρέπει τώρα η συσκευή σας να βρεθεί ως
συσκευή sio όπως συνέβαινε και με το &os; 3.XΓιατί παίρνω το λάθος nlist failed όταν
εκτελώ, για παράδειγμα, το top ή το
systat;Το πρόβλημα είναι ότι η εφαρμογή που προσπαθείτε να εκτελέσετε
ψάχνει για ένα συγκεκριμένο σύμβολο στον πυρήνα, αλλά για κάποιο
λόγο δεν μπορεί να το εντοπίσει. Το σφάλμα αυτό μπορεί να
οφείλεται σε δύο προβλήματα:Ο πυρήνας σας και τα υπόλοιπα βασικά προγράμματα
(userland) δεν είναι σε συγχρονισμό (π.χ. έχετε δημιουργήσει
νέο πυρήνα, αλλά δεν εκτελέσατε
installworld, ή αντίστροφα), με
αποτέλεσμα ο πίνακας συμβόλων να είναι διαφορετικός από
αυτόν που πιστεύει η εφαρμογή. Αν πρόκειται για αυτή την
περίπτωση, απλώς ολοκληρώστε τη διαδικασία αναβάθμισης
(δείτε το /usr/src/UPDATING για τη σωστή
ακολουθία εντολών).Δεν χρησιμοποιείτε το
/boot/loader για να φορτώσετε τον πυρήνα
σας, αλλά τον φορτώνετε απευθείας από το boot2 (δείτε το
&man.boot.8;). Αν και δεν είναι λάθος να παρακάμψετε τον
/boot/loader, σε γενικές γραμμές το
πρόγραμμα αυτό τα καταφέρνει καλύτερα στο να διαθέτει τα
σύμβολα του πυρήνα στις εφαρμογές χρήστη.Γιατί παίρνει τόσο χρόνο να συνδεθώ με τον υπολογιστή μου μέσω
ssh ή telnet;Το σύμπτωμα: Υπάρχει μεγάλη καθυστέρηση μεταξύ της στιγμής
που αποκαθίσταται η TCP σύνδεση και της στιγμής που το πρόγραμμα
στη μεριά του πελάτη ζητάει τον κωδικό πρόσβασης (ή στην περίπτωση
του &man.telnet.1;, της στιγμής που εμφανίζεται η προτροπή
login).Το πρόβλημα: Το πιο πιθανό είναι ότι η καθυστέρηση οφείλεται
στην προσπάθεια που καταβάλλει το λογισμικό στη μεριά του
εξυπηρετητή να βρει το όνομα του μηχανήματος - πελάτη από την
IP διεύθυνση του. Οι περισσότεροι εξυπηρετητές,
συμπεριλαμβανομένων του Telnet και SSH που έρχονται με το &os;,
λειτουργούν με αυτό τον τρόπο, ώστε μεταξύ άλλων, να αποθηκεύσουν
το όνομα του μηχανήματος σε ένα αρχείο καταγραφής για μελλοντική
αναφορά από τον διαχειριστή.Η θεραπεία: Αν το πρόβλημα προκύπτει κάθε φορά που συνδέεστε
από τον υπολογιστή σας (τον πελάτη) σε οποιοδήποτε εξυπηρετητή,
το πρόβλημα βρίσκεται στον πελάτη. Με τον ίδιο τρόπο, αν το
πρόβλημα συμβαίνει μόνο όταν κάποιος συνδέεται στον υπολογιστή
σας (τον εξυπηρετητή), το πρόβλημα βρίσκεται στον
εξυπηρετητή.Αν το πρόβλημα είναι στον πελάτη, η μόνη θεραπεία είναι να
διορθώσετε το DNS, ώστε ο εξυπηρετητής να μπορεί να το βρει. Αν
το πρόβλημα εμφανίζεται στο τοπικό σας δίκτυο, θεωρείστε το
πρόβλημα στον εξυπηρετητή και συνεχίστε την ανάγνωση. Αντίθετα,
αν το πρόβλημα εμφανίζεται σε συνδέσεις μέσω Internet, κατά πάσα
πιθανότητα θα χρειαστεί να επικοινωνήσετε με τον ISP σας και να
ζητήσετε να σας το διορθώσει.Αν το πρόβλημα είναι με τον εξυπηρετητή, και εμφανίζεται στο
τοπικό σας δίκτυο, θα πρέπει να τον ρυθμίσετε ώστε να μπορεί να
εκτελεί αναζητήσεις τύπου διεύθυνση σε όνομα, για την τοπική
περιοχή διευθύνσεων σας. Δείτε τις σελίδες manual των
&man.hosts.5; και &man.named.8; για περισσότερες πληροφορίες. Αν
το πρόβλημα εμφανίζεται στις συνδέσεις μέσω Internet, μπορεί να
οφείλεται σε κακή λειτουργία του resolver στον εξυπηρετητή σας.
Για να το ελέγξετε, δοκιμάστε να βρείτε κάποιο άλλο μηχάνημα, για
παράδειγμα το www.yahoo.com. Αν ούτε αυτό
δουλεύει, εκεί βρίσκεται το πρόβλημα σας.Μετά από μια νέα εγκατάσταση του &os; είναι επίσης πιθανό
να λείπουν οι πληροφορίες για τον τομέα (domain) και τον
εξυπηρετητή ονομάτων (nameserver) από το αρχείο
/etc/resolv.conf. Αυτό επίσης θα προκαλέσει
καθυστέρηση στο SSH, καθώς η επιλογή
UseDNS έχει ως προεπιλεγμένη την τιμή
yes στο αρχείο ρυθμίσεων
sshd_config στον κατάλογο
/etc/ssh. Αν είναι αυτή η αιτία του
προβλήματος, θα πρέπει είτε να συμπληρώσετε τις απαιτούμενες
πληροφορίες στο /etc/resolv.conf ή να θέσετε
το UseDNS στο no στο αρχείο
sshd_config ως προσωρινή λύση.Ποια είναι η έννοια του stray (περιπλανώμενου)
IRQ;Τα stray IRQs είναι σημάδια προβλημάτων υλικού που
χρησιμοποιεί IRQs, ειδικότερα σχετίζεται με υλικό που κατά τη
μέση του κύκλου αναγνώρισης (acknowledge cycle) του
interrupt, σταματάει να μεταδίδει την αντίστοιχη αίτηση
διακοπής.Έχετε τρεις επιλογές για να αντιμετωπίσετε αυτό το
πρόβλημα:Ανεχθείτε τις προειδοποιήσεις. Έτσι και αλλιώς, μετά τις
5 πρώτες, δεν θα δείτε άλλες.Σταματήστε εντελώς τις προειδοποιήσεις, αλλάζοντας το 5
σε 0 στην isa_strayintr().Σταματήστε τις προειδοποιήσεις εγκαθιστώντας υλικό για την
παράλληλη πόρτα που να χρησιμοποιεί το IRQ 7 και το
αντίστοιχο για αυτό πρόγραμμα οδήγησης PPP (αυτό συμβαίνει στα
περισσότερα συστήματα) και εγκαταστήστε ένα οδηγό IDE ή άλλο
υλικό που να χρησιμοποιεί το irq 15 μαζί με το κατάλληλο
πρόγραμμα οδήγησης του.Γιατί βλέπω συνέχεια το μήνυμα
file: table is full στο dmesg;
Το μήνυμα αυτό σημαίνει ότι έχετε εξαντλήσει τον αριθμό των
διαθέσιμων περιγραφέων αρχείων (file descriptors) στο σύστημα σας.
Παρακαλούμε δείτε το kern.maxfiles τμήμα στο κεφάλαιο Ρύθμιση Ορίων Πυρήνα του Εγχειριδίου, για ερμηνεία και επίλυση του
προβλήματος.Γιατί το ρολόι στο φορητό μου υπολογιστή δεν κρατάει την
σωστή ώρα;Ο φορητός υπολογιστής σας έχει δύο ή περισσότερα ρολόγια, και
το &os; έχει επιλέξει να χρησιμοποιήσει το λάθος.Εκτελέστε την &man.dmesg.8;, και ελέγξτε για γραμμές που
περιέχουν την λέξη Timecounter. Η τελευταία
από τις γραμμές που θα εκτυπωθεί δείχνει το ρολόι που επιλέχθηκε
από το &os; και σχεδόν σίγουρα θα είναι το
TSC.&prompt.root; dmesg | grep Timecounter
Timecounter "i8254" frequency 1193182 Hz
Timecounter "TSC" frequency 595573479 HzΜπορείτε να το επιβεβαιώσετε αυτό, ελέγχοντας την τιμή του
kern.timecounter.hardware
&man.sysctl.3;.&prompt.root; sysctl kern.timecounter.hardware
kern.timecounter.hardware: TSCΤο BIOS ίσως να τροποποιεί την τιμή του ρολογιού TSC—
ενδεχομένως για να αλλάξει την ταχύτητα του επεξεργαστή όταν
λειτουργεί με μπαταρίες, ή όταν εισέρχεται σε κατάσταση χαμηλής
κατανάλωσης, αλλά το &os; δεν γνωρίζει για αυτές τις αλλαγές και
φαίνεται να κερδίζει ή να χάνει χρόνο.Στο παράδειγμα μας, είναι επίσης διαθέσιμο το ρολόι
i8254 και μπορείτε να το επιλέξετε γράφοντας
το όνομα του στο &man.sysctl.3;
kern.timecounter.hardware.&prompt.root; sysctl -w kern.timecounter.hardware=i8254
kern.timecounter.hardware: TSC -> i8254Ο φορητός υπολογιστής σας θα πρέπει τώρα να είναι πιο ακριβής
στην τήρηση του χρόνου.Για να παραμείνει η αλλαγή αυτή σε κάθε εκκίνηση, προσθέστε
την παρακάτω γραμμή στο /etc/sysctl.conf.kern.timecounter.hardware=i8254Γιατί ο φορητός μου υπολογιστής δεν αναγνωρίζει σωστά τις
κάρτες τύπου PC card;Το πρόβλημα είναι κοινό σε φορητά που εκκινούν περισσότερα από
ένα λειτουργικά συστήματα. Ορισμένα μη-BSD λειτουργικά συστήματα
αφήνουν τις PC cards σε μη-προβλέψιμη κατάσταση. Η εντολή
pccardd σε αυτή την περίπτωση, ανιχνεύει την
κάρτα ως "(null)""(null)" αντί για το
πραγματικό της μοντέλο.Πρέπει να αποσυνδέσετε εντελώς την τροφοδοσία από την θύρα PC
card ώστε το υλικό να επανέλθει στην αρχική του κατάσταση.
Απενεργοποιήστε πλήρως τον φορητό υπολογιστή σας. (Μην τον βάλετε
σε κατάσταση αναμονής ή ύπνου, θα πρέπει να απενεργοποιηθεί
εντελώς.) Περιμένετε για λίγα λεπτά και επανεκκινήστε. Θα πρέπει
τώρα η PC card να λειτουργεί κανονικά.Το υλικό κάποιων φορητών υπολογιστών στην πραγματικότητα
παραμένει ενεργό, ακόμα και όταν υποτίθεται ότι ο υπολογιστής
είναι ανενεργός. Αν το παραπάνω δεν έχει το επιθυμητό αποτέλεσμα,
τερματίστε τη λειτουργία του υπολογιστή σας, αφαιρέστε την
μπαταρία, περιμένετε λίγο, τοποθετήστε ξανά την μπαταρία και
επανεκκινήστε.Γιατί ο φορτωτής εκκίνησης του &os; δείχνει το μήνυμα
λάθους Read error και σταματάει μετά την
οθόνη του BIOS;Ο φορτωτής εκκίνησης του &os; δεν αναγνωρίζει σωστά την
γεωμετρία του σκληρού δίσκου. Μπορείτε να την ρυθμίσετε
χειροκίνητα μέσα από την fdisk κατά την δημιουργία ή τροποποίηση
του slice του &os;.Μπορείτε να βρείτε τις σωστές τιμές για την γεωμετρία του
οδηγού στο BIOS του μηχανήματος. Ψάξτε για τον αριθμό των
κυλίνδρων, κεφαλών και τομέων για τον οδηγό που θέλετε.Μέσα από την fdisk του &man.sysinstall.8;, πιέστε το
G για να ορίσετε την γεωμετρία του οδηγού.Θα εμφανιστεί ένας διάλογος που θα ζητάει τον αριθμό των
κυλίνδρων, κεφαλών και τομέων. Πληκτρολογήστε τους αριθμούς που
βρήκατε από το BIOS, χωρίζοντας τους με κανονικές καθέτους. Για
παράδειγμα, για 5000 κυλίνδρους, 250 κεφαλές και 60 τομείς, θα
γράφαμε 5000/250/60.Πιέστε enter για να ορίσετε τις τιμές, και έπειτα το
W για να γράψετε το νέο πίνακα κατατμήσεων στον
οδηγό.Ένα άλλο λειτουργικό σύστημα κατέστρεψε τον διαχειριστή
εκκίνησης μου. Πως μπορώ να τον αποκαταστήσω;Θα πρέπει να εισέλθετε στο &man.sysinstall.8; και να
επιλέξετε Configure και κατόπιν Fdisk. Επιλέξτε το δίσκο στον
οποίο βρίσκεται κανονικά ο Φορτωτής Εκκίνησης χρησιμοποιώντας το
πλήκτρο space. Πιέστε το W για
να γράψετε τις αλλαγές στον οδηγό. Θα εμφανιστεί μια προτροπή που
θα σας ρωτάει ποιο φορτωτή εκκίνησης να εγκαταστήσει. Κάντε την
αντίστοιχη επιλογή και ο φορτωτής εκκίνησης θα
αποκατασταθεί.Τι σημαίνει το μήνυμα λάθους
swap_pager: indefinite wait buffer:;Σημαίνει ότι μια διαδικασία προσπαθεί να γράψει μια
σελίδα μνήμης στο δίσκο, και η απόπειρα αυτή έχει κολλήσει
προσπαθώντας να αποκτήσει πρόσβαση στο δίσκο για περισσότερο
από 20 δευτερόλεπτα. Αυτό μπορεί να συμβεί από χαλασμένους τομείς
στο σκληρό δίσκο, προβληματικά καλώδια, ή άλλο υλικό το οποίο να
σχετίζεται με I/O. Αν πρόκειται για προβληματικό δίσκο, θα
δείτε επίσης και αντίστοιχα μηνύματα στο
/var/log/messages και στην έξοδο της εντολής
dmesg. Διαφορετικά, ελέγξτε τις συνδέσεις και
τα καλώδια σας.Τι είναι τα σφάλματα UDMA ICRC, και πως μπορώ
να τα διορθώσω;Το πρόγραμμα οδήγησης &man.ata.4; αναφέρει σφάλματα τύπου
UDMA ICRC όταν εντοπίσει πρόβλημα στην ορθότητα των
δεδομένων σε μια μεταφορά DMA από ή προς τον οδηγό. Το πρόγραμμα
οδήγησης θα προσπαθήσει να επαναλάβει τη μεταφορά μερικές φορές.
Αν όλες οι απόπειρες αποτύχουν, θα αλλάξει την κατάσταση
επικοινωνίας της συσκευής από DMA σε PIO, η οποία είναι πιο
αργή.Το πρόβλημα μπορεί να προκληθεί από πολλούς παράγοντες, αν
και ο πιο συνηθισμένος είναι η προβληματική ή λανθασμένη
καλωδίωση. Ελέγξτε ότι τα καλώδια ΑΤΑ δεν έχουν υποστεί ζημιά,
και ότι είναι κατάλληλων προδιαγραφών για την κατάσταση
λειτουργίας Ultra DMA που χρησιμοποιείτε. Αν χρησιμοποιείτε
αφαιρούμενα συρτάρια δίσκων, θα πρέπει επίσης να είναι συμβατά.
Βεβαιωθείτε ότι υπάρχει καλή επαφή σε όλες τις συνδέσεις. Έχουν
επίσης αναφερθεί προβλήματα όταν γίνεται εγκατάσταση ενός παλιού
οδηγού στο ίδιο κανάλι DMA με ένα δίσκο Ultra DMA 66 (ή πιο
γρήγορο). Τέλος, τα λάθη αυτά μπορεί να σημαίνουν ότι ο δίσκος
πρόκειται σύντομα να χαλάσει. Οι περισσότεροι κατασκευαστές
δίσκων παρέχουν λογισμικό ελέγχου για τους οδηγούς τους, ελέγξτε
λοιπόν το δίσκο σας, και αν χρειάζεται, πάρτε αντίγραφο των
δεδομένων σας και αντικαταστήστε τον.Μπορείτε να χρησιμοποιήσετε το βοηθητικό πρόγραμμα
&man.atacontrol.8; για να δείτε και να επιλέξετε την κατάσταση
λειτουργίας DMA ή PIO που χρησιμοποιείται από κάθε συσκευή ATA.
Πιο συγκεκριμένα, η εντολή
atacontrol mode channel θα σας δείξει την κατάσταση λειτουργίας των συσκευών
ενός συγκεκριμένου καναλιού ΑΤΑ, όπου το πρωτεύον κανάλι έχει την
αρίθμηση 0 κ.ο.κ.Τι είναι το lock order reversal;Ο &a.rwatson; απάντησε με σαφήνεια αυτή την ερώτηση στην
λίστα &a.current.name;, σε μια συζήτηση με τίτλο
lock order reversals - τι σημαίνουν;
Από τον &a.rwatson; στη λίστα &a.current.name;, στις
14 Δεκεμβρίου 2003Οι προειδοποιήσεις αυτές προέρχονται από το Witness, ένα
διαγνωστικό σύστημα για κλειδώματα κατά τη λειτουργία (run-time
lock) το οποίο βρίσκεται στους πυρήνες -CURRENT του &os; (αλλά
αφαιρείται στις επίσημες εκδόσεις). Μπορείτε να διαβάσετε
περισσότερα για το Witness και τις δυνατότητες του, στη σελίδα
manual &man.witness.4;. Μεταξύ άλλων το Witness επαληθεύει τη
σειρά των run-time locks χρησιμοποιώντας ένα συνδυασμό από
ενσωματωμένες σειρές κλειδωμάτων καθώς και από τη σειρά που
ανιχνεύεται κατά την εκτέλεση, και παράγει προειδοποιήσεις στην
κονσόλα όταν παραβιάζονται. Σκοπός αυτής της λειτουργίας είναι
να ανιχνεύονται πιθανά deadlocks τα οποία μπορεί να οφείλονται
σε παραβιάσεις της σειράς των κλειδωμάτων. Είναι αξιοσημείωτο
ότι το Witness είναι κάπως συντηρητικό, και είναι πιθανόν να
δώσει λάθος προειδοποιήσεις. Στην περίπτωση που το Witness
αναφέρει ένα πραγματικό πρόβλημα με την σειρά των κλειδωμάτων,
είναι σαν να λέει "αν ήσασταν άτυχος, θα σας είχε συμβεί
deadlock σε αυτό το σημείο". Υπάρχουν κάποιες γνωστές
περιπτώσεις "λανθασμένης διάγνωσης" για τις οποίες χρειάζεται
να δημιουργήσουμε καλύτερη τεκμηρίωση ώστε να αποφύγουμε και
τις περιττές αναφορές σφαλμάτων. Οι λιγότερο γνωστές
περιπτώσεις οφείλονται περισσότερο σε νέα κλειδώματα, καθώς οι
αντιστροφές στη σειρά των κλειδωμάτων διορθώνονται γρήγορα
επειδή το Witness είναι πάντα απασχολημένο και δημιουργεί
συνέχεια νέες προειδοποιήσεις :-).
Αυτό που αποκαλούμε "λανθασμένη διάγνωση" δημιουργείται στην
πραγματικότητα όταν το Witness βρίσκει κάποιο πολύ πιο σοβαρό
λάθος. Τέτοια λάθη είναι τυπικά το σφάλμα σελίδας (page
fault) ή λανθασμένα δεδομένα στη μνήμη μέσα στον πυρήνα, ή τέλος
σύγκρουση ονομασίας με κάποια mutexes.Δείτε την σελίδα του Bjoern Zeeb σχετικά με τις αντιστροφές κλειδωμάτων για την κατάσταση των γνωστών
αντιστροφών.Τι σημαίνει το μήνυμα Called ... with the following
non-sleepable locks held;Σημαίνει ότι κλήθηκε μια συνάρτηση με δυνατότητα sleep ενώ
την ίδια στιγμή ήταν ενεργό κάποιο κλείδωμα mutex (ή αντίστοιχο
χωρίς δυνατότητα sleep).Ο λόγος για τον οποίο αυτό είναι λάθος είναι επειδή τα mutexes
δεν προορίζονται να κρατούνται για μεγάλα χρονικά διαστήματα.
Είναι μόνο για τη συντήρηση μικρών περιόδων συγχρονισμού. Αυτή
η προγραμματιστική συμφωνία επιτρέπει στους οδηγούς συσκευών να
χρησιμοποιούν mutexes για να συγχρονίζονται με τα υπόλοιπα
προγράμματα του πυρήνα κατά την διάρκεια των interrupts. Τα
interrupts (στο &os;) δεν μπορούν να περιέλθουν σε κατάσταση
sleep. Για το λόγο αυτό είναι απαραίτητο να μην μπλοκάρεται ο
πυρήνας για μεγάλο διάστημα από κάποιο υποσύστημα που κρατάει
ένα mutex.Για να εντοπιστούν αυτά τα λάθη, μπορούν να προστεθούν
υποθέσεις (assertions) στον πυρήνα οι οποίες αλληλεπιδρούν με
το υποσύστημα witness για να δώσουν ένα προειδοποιητικό μήνυμα
(ή μήνυμα λάθους, ανάλογα με τις ρυθμίσεις του συστήματος) όταν
γίνεται μια κλήση η οποία πιθανώς να δημιουργεί μπλοκάρισμα την
στιγμή που κρατιέται ένα mutex.Εν συντομία, αυτού του είδους οι προειδοποιήσεις δεν είναι
συνήθως μοιραίες, αλλά υπό ορισμένες ατυχείς προϋποθέσεις,
μπορεί να προκαλέσουν ανεπιθύμητα φαινόμενα τα οποία κυμαίνονται
από μια στιγμιαία πτώση στην απόκριση του συστήματος, μέχρι
πλήρης κατάρρευση.Γιατί η διαδικασία buildworld/installworld σταματάει με το
μήνυμα touch: not found;Το μήνυμα αυτό δεν σημαίνει ότι σας λείπει το βοηθητικό
πρόγραμμα &man.touch.1;. Το λάθος αυτό προκαλείται συνήθως από
λανθασμένη, μελλοντική, σήμανση ημερομηνίας των αρχείων. Αν το
ρολόι CMOS του υπολογιστή σας είναι ρυθμισμένο για τοπική ώρα,
πρέπει να εκτελέσετε την εντολή
adjkerntz -i για να ρυθμίσετε το ρολόι
του πυρήνα όταν εκκινείτε σε κατάσταση λειτουργίας ενός
χρήστη.Εμπορικές ΕφαρμογέςThis section is still very sparse, though we are hoping, of
course, that companies will add to it! :) The FreeBSD group has
no financial interest in any of the companies listed here but
simply lists them as a public service (and feels that commercial
interest in FreeBSD can have very positive effects on FreeBSD's
long-term viability). We encourage commercial software vendors to
send their entries here for inclusion. See the
Vendors page for a longer list.Where can I get an Office Suite for FreeBSD?The open-source OpenOffice.org office
suite works natively on FreeBSD. The &linux; version of
StarOffice,
the value-added closed-source version of OpenOffice.org, also
works on FreeBSD.FreeBSD also includes a variety of text editors,
spreadsheets, and drawing programs in the Ports
Collection.Where can I get &motif; for FreeBSD?The Open Group has released the source code to &motif; 2.2.2.
You can install the open-motif package, or
compile it from ports. Refer to
the ports section of the
Handbook for more information on how to do this.The Open &motif; distribution only allows redistribution
if it is running on an
open source operating system.In addition, there are commercial distributions of the &motif;
software available. These, however, are not for free, but their
license allows them to be used in closed-source software.
Contact Apps2go for the
least expensive ELF &motif; 2.1.20 distribution for FreeBSD
(either &i386; or Alpha).There are two distributions, the development
edition and the runtime edition (for
much less). These distributions includes:OSF/&motif; manager, xmbind, panner, wsm.Development kit with uil, mrm, xm, xmcxx, include
and Imake files.Static and dynamic ELF libraries.Demonstration applets.Be sure to specify that you want the FreeBSD version of
&motif; when ordering (do not forget to mention the architecture
you want too)! Versions for NetBSD and OpenBSD are also sold by
Apps2go. This is currently a FTP only
download.More info
Apps2go WWW pageorsales@apps2go.com or
support@apps2go.comorphone (817) 431 8775 or +1 817 431-8775Contact Xi Graphics for an
a.out &motif; 2.0 distribution for FreeBSD.This distribution includes:OSF/&motif; manager, xmbind, panner, wsm.Development kit with uil, mrm, xm, xmcxx, include
and Imake files.Static and dynamic libraries (for use with FreeBSD
2.2.8 and earlier).Demonstration applets.Preformatted manual pages.Be sure to specify that you want the FreeBSD version
of &motif; when ordering! Versions for BSDI and &linux; are also
sold by Xi Graphics. This is currently a 4
diskette set... in the future this will change to a unified CD
distribution like their CDE.Where can I get CDE for FreeBSD?Xi Graphics used to sell CDE
for FreeBSD, but no longer do.KDE is an open
source X11 desktop which is similar to CDE in many respects.
You might also like the look and feel of xfce. KDE and xfce are both
in the ports
system.Are there any commercial high-performance X servers?Yes, Xi Graphics
sells Accelerated-X products for FreeBSD and other Intel based
systems.The Xi Graphics offering is a high performance X Server
that offers easy configuration, support for multiple concurrent
video boards and is distributed in binary form only, in a
unified diskette distribution for FreeBSD and &linux;. Xi
Graphics also offers a high performance X Server tailored for
laptop support.There is a free compatibility demo of
version 5.0 available.Xi Graphics also sells &motif; and CDE for FreeBSD (see
above).More info
Xi Graphics WWW pageorsales@xig.com
or support@xig.comorphone (800) 946 7433 or +1 303 298-7478.Are there any Database systems for FreeBSD?Yes! See the
Commercial Vendors section of FreeBSD's Web site.Also see the
Databases section of the Ports collection.Can I run &oracle; on FreeBSD?Yes. The following pages tell you exactly how to set up
&linux;-&oracle; on FreeBSD:
http://www.unixcities.com/oracle/index.html
http://www.shadowcom.net/freebsd-oracle9i/Εφαρμογές Τελικού ΧρήστηSo, where are all the user applications?Please take a look at the ports page
for info on software packages ported to FreeBSD. The list
currently tops &os.numports; and is growing daily, so come
back to check often or subscribe to the
freebsd-announce mailing list for periodic updates
on new entries.Most ports should work on the 4.X, 5.X, and 6.X branches.
Each time a FreeBSD release is made, a snapshot of the
ports tree at the time of release in also included in the
ports/ directory.We also support the concept of a
package, essentially no more than a compressed
binary distribution with a little extra intelligence
embedded in it for doing whatever custom installation work
is required. A package can be installed and uninstalled
again easily without having to know the gory details of
which files it includes.Use the package installation menu in
/stand/sysinstall (under the
post-configuration menu item) or invoke the
&man.pkg.add.1; command on the specific package files you
are interested in installing. Package files can usually be
identified by their .tgz or .tbz suffix and
CDROM distribution people will have a
packages/All directory on their CD
which contains such files. They can also be downloaded
over the net for various versions of FreeBSD at the
following locations:for 4.X-RELEASE/4-STABLE
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/for 5.X-RELEASE/5-STABLE
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-stablefor 6.X-RELEASE/6-STABLE
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stablefor 7-CURRENT
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-currentor your nearest local mirror site.Note that all ports may not be available as packages since
new ones are constantly being added. It is always a good idea
to check back periodically to see which packages are available
at the ftp.FreeBSD.org
master site.How do I configure INN (Internet News) for my machine?After installing the news/inn package or port, an
excellent place to start is Dave
Barr's INN Page where you will find the INN
FAQ.Does FreeBSD support &java;?Yes. Please see
http://www.FreeBSD.org/java/.Why can I not build this port on my 4.X-STABLE machine?If you are running a FreeBSD version that lags
significantly behind -CURRENT or -STABLE, you may need to
update your ports collection; see the
Keeping Up section of the Porter's Handbook for further
information on how to do this.
If you are up to date,
then someone might have committed a change to the port which
works for -CURRENT but which broke the port for -STABLE. Please
submit a bug report on this with the
&man.send-pr.1; command, since the ports
collection is supposed to work for both the -CURRENT and
-STABLE branches.I just tried to build INDEX
using make index, and it failed.
Why?First, always make sure that you have a completely
up-to-date Ports Collection. Errors that affect building
INDEX from an up-to-date copy of the
Ports Collection are high-visibility and are thus almost
always fixed immediately.However, if you are up-to-date, perhaps you are seeing
another problem. make index has a
known bug in dealing with incomplete copies of the Ports
Collection. It assumes that you have a local copy of every
single port that every other port that you have a local copy
of depends on. To explain, if you have a copy of
foo/bar on your disk, and
foo/bar depends on
baz/quux, then you must also have
a copy of baz/quux on your disk, and
the ports baz/quux depends on, and
so on. Otherwise, make index has
insufficient information to create its dependency tree.This is particularly a problem for &os; users who
utilize &man.cvsup.1; to track the Ports Collection but
choose not to install certain categories by specifying
them in refuse. In theory, one
should be able to refuse categories, but in practice
there are too many ports that depend on ports in other
categories. Until someone comes up with a solution for
this problem, the general rule is is that if you want to
build INDEX, you must have a complete
copy of the Ports Collection.There are rare cases where INDEX
will not build due to odd cases involving
WITH_* or
WITHOUT_*
variables being set in make.conf. If
you suspect that this is the case, please try to make
INDEX with those Makevars turned off
before reporting it to &a.ports;.Why is CVSup not integrated in the main FreeBSD tree?The FreeBSD base system is designed as self-hosting - it
should be possible to build the whole operating system starting
with a very limited set of tools. Thus, the actual build tools
needed to compile the FreeBSD sources are bundled with the
sources themselves. This includes a C compiler (&man.gcc.1;),
&man.make.1;, &man.awk.1;, and similar tools.Since CVSup is written in Modula-3, adding it to the FreeBSD
base system would also require adding and maintaining a Modula-3
compiler. This would lead to both an increase in the disk space
consumed by the FreeBSD sources and additional maintenance work.
Thus, it is much easier for both the developers and users to
keep CVSup as a separate port, which can be easily installed as
a package bundled on the FreeBSD installation CDs.I updated the sources, now how do I update my installed
ports?FreeBSD does not include a port upgrading tool, but it
does have some tools to make the upgrade process somewhat
easier. You can also install additional tools to simplify
port handling.The &man.pkg.version.1; command can generate a script
that will update installed ports to the latest version in
the ports tree.&prompt.root; pkg_version -c > /tmp/myscriptThe output script must be edited by
hand before you use it. Recent versions of
&man.pkg.version.1; force this by inserting an
&man.exit.1; at the beginning of the script.You should save the output of the script, as it will note
packages that depend on the one that has been updated. These
may or may not need to be updated as well. The usual case where
they need to be updated is that a shared library has changed
version numbers, so the ports that used that library need to be
rebuilt to use the new version.Beginning with FreeBSD 5.0 (and higher revisions),
&man.pkg.version.1; no longer supports the
option.If you have the disk space, you can use the
portupgrade tool to automate all of
this. portupgrade includes various
tools to simplify package handling. It is available under
ports-mgmt/portupgrade.
Since it is written in Ruby,
portupgrade is an unlikely candidate for
integration with the main FreeBSD tree. That should not
stop anyone from using it, however.If your system is up full time, the &man.periodic.8; system
can be used to generate a weekly list of ports that might need
updating by setting
weekly_status_pkg_enable="YES" in
/etc/periodic.conf.Why is /bin/sh so minimal? Why does
FreeBSD not use bash or another shell?Because &posix; says that there shall be such a shell.The more complicated answer: many people need to write shell
scripts which will be portable across many systems. That is why
&posix; specifies the shell and utility commands in great detail.
Most scripts are written in Bourne shell, and because several
important programming interfaces (&man.make.1;, &man.system.3;,
&man.popen.3;, and analogues in higher-level scripting
languages like Perl and Tcl) are specified to use the Bourne
shell to interpret commands. Because the Bourne shell is so
often and widely used, it is important for it to be quick to
start, be deterministic in its behavior, and have a small
memory footprint.The existing implementation is our best effort at meeting as
many of these requirements simultaneously as we can. In order to
keep /bin/sh small, we have not provided many
of the convenience features that other shells have. That is why the
Ports Collection includes more featureful shells like bash, scsh,
tcsh, and zsh. (You can compare for yourself the memory
utilization of all these shells by looking at the
VSZ and RSS columns in a ps
-u listing.)Why do &netscape; and Opera take so long to
start?The usual answer is that DNS on your system is
misconfigured. Both &netscape; and Opera perform DNS checks
when starting up. The browser will not appear on your
desktop until the program either gets a response or
determines that the system has no network
connection.I updated parts of the Ports Collection using CVSup, and
now many ports fail to build with mysterious error messages!
What happened? Is the Ports Collection broken in some major
way?If you only update parts of the Ports Collection, using
one of its CVSup subcollections and not the
ports-all CVSup collection, you should
always update the
ports-base subcollection too! The reasons
are described in the
Handbook.How do I create audio CDs from my MIDI files?To create audio CDs from MIDI files, first
install audio/timidity++
from ports then install manually the GUS patches set by Eric
A. Welsh, available at .
After timidity++ has been installed properly, midi files may
be converted to wav files with the following command
line:&prompt.user; timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.midThe wav files can then be converted to other formats
or burned onto audio CDs, as described in the FreeBSD
Handbook.Ρύθμιση ΠυρήναI would like to customize my kernel. Is it difficult?Not at all! Check out the
kernel config section of the Handbook.We recommend that you make a dated snapshot of
your new /kernel called
/kernel.YYMMDD after you get it
working properly. Also back up your new
/modules directory to
/modules.YYMMDD. That way, if
you make a mistake the next time you play with your
configuration you can boot the backup kernel instead
of having to fall back to
kernel.GENERIC. This is
particularly important if you are now booting from a
controller that GENERIC does not support.My kernel compiles fail because
_hw_float is missing. How do I solve
this problem?You probably removed npx0
(see &man.npx.4;) from your kernel configuration file
because you do not have a math co-processor. The
npx0 device is
MANDATORY. Somewhere inside your
hardware lies a device that provides hardware
floating-point support, even if it is no longer a separate
device as used in the good old 386 days. You
must include the
npx0 device. Even if you manage
to build a kernel without npx0
support, it will not boot anyway. Why is my kernel so big (over 10MB)?Chances are, you compiled your kernel in
debug mode. Kernels built in debug
mode contain many symbols that are used for debugging,
thus greatly increasing the size of the kernel. Note that
there will be little or no performance decrease from
running a debug kernel, and it is useful to keep one
around in case of a system panic.However, if you are running low on disk space, or
you simply do not want to run a debug kernel, make sure
that both of the following are true:You do not have a line in your kernel
configuration file that reads:makeoptions DEBUG=-gYou are not running &man.config.8; with
the option.Either of the above settings will cause your kernel to
be built in debug mode. As long as you make sure you
follow the steps above, you can build your kernel
normally, and you should notice a fairly large size
decrease; most kernels tend to be around 1.5MB to
2MB.Why do I get interrupt conflicts with multi-port serial
code?When I compile a kernel
with multi-port serial code, it tells me that only the first
port is probed and the rest skipped due to interrupt conflicts.
How do I fix this?The problem here is that
FreeBSD has code built-in to keep the kernel from getting
trashed due to hardware or software conflicts. The way to fix
this is to leave out the IRQ settings on all but one port. Here
is an example:#
# Multiport high-speed serial line - 16550 UARTS
#
device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointrWhy does every kernel I try to build fail to compile, even
GENERIC?There are a number of possible causes for this problem.
They are, in no particular order:You are not using the new make
buildkernel and make
installkernel targets, and your source tree is
different from the one used to build the currently running
system (e.g., you are compiling 4.3-RELEASE on a 4.0-RELEASE
system). If you are attempting an upgrade, please read the
/usr/src/UPDATING file, paying
particular attention to the COMMON ITEMS
section at the end.You are using the new make
buildkernel and make
installkernel targets, but you failed to assert
the completion of the make buildworld
target. The make buildkernel target
relies on files generated by the make
buildworld target to complete its job
correctly.Even if you are trying to build FreeBSD-STABLE, it is possible that
you fetched the source tree at a time when it was either
being modified, or broken for other reasons; only releases
are absolutely guaranteed to be buildable, although FreeBSD-STABLE builds fine the
majority of the time. If you have not already done so, try
re-fetching the source tree and see if the problem goes
away. Try using a different server in case the one you are
using is having problems.How can I verify which scheduler is in use on a
running system?If you are running &os; version 5.2.1 or earlier, check for
the existence of the kern.quantum sysctl.
If you have it, you should see something like this:&prompt.user; sysctl kern.quantum
kern.sched.quantum: 99960If the kern.quantum sysctl exists, you are
using the 4BSD scheduler. If not, you will get an error printed
by &man.sysctl.8; (which you can safely ignore):&prompt.user; sysctl kern.sched.quantum
sysctl: unknown oid 'kern.sched.quantum'In &os; version 5.3-RELEASE and later, the name of the
scheduler currently being used is directly available as the value
of the kern.sched.name sysctl:&prompt.user; sysctl kern.sched.name
kern.sched.name: 4BSDWhat is kern.quantum?kern.quantum is the maximum number of
ticks a process can run without being preempted. It is
specific to the 4BSD scheduler, so you can use its
presence or absence to determine which scheduler is in
use. In &os; 5.X or later kern.quantum has
been renamed to kern.sched.quantum.What is kern.sched.quantum?See Δίσκοι, Συστήματα Αρχείων και Φορτωτές ΕκκίνησηςHow can I add my new hard disk to my FreeBSD system?See the Disk Formatting Tutorial at
www.FreeBSD.org.How do I move my system over to my huge new disk?The best way is to reinstall the OS on the new
disk, then move the user data over. This is highly
recommended if you have been tracking -STABLE for more
than one release, or have updated a release instead of
installing a new one. You can install booteasy on both
disks with &man.boot0cfg.8;, and dual boot them until
you are happy with the new configuration. Skip the
next paragraph to find out how to move the data after
doing this.Should you decide not to do a fresh install, you
need to partition and label the new disk with either
/stand/sysinstall, or &man.fdisk.8;
and &man.disklabel.8;. You should also install booteasy
on both disks with &man.boot0cfg.8;, so that you can
dual boot to the old or new system after the copying
is done. See the
formatting-media article for details on this
process.Now you have the new disk set up, and are ready
to move the data. Unfortunately, you cannot just blindly
copy the data. Things like device files (in
/dev), flags, and links tend to
screw that up. You need to use tools that understand
these things, which means &man.dump.8;.
Although it is suggested that you move the data in single user
mode, it is not required.You should never use anything but &man.dump.8; and
&man.restore.8; to move the root filesystem. The
&man.tar.1; command may work - then again, it may not.
You should also use &man.dump.8; and &man.restore.8;
if you are moving a single partition to another empty
partition. The sequence of steps to use dump to move
a partitions data to a new partition is:newfs the new partition.mount it on a temporary mount point.cd to that directory.dump the old partition, piping output to the
new one.For example, if you are going to move root to
/dev/ad1s1a, with
/mnt as the temporary mount point,
it is:&prompt.root; newfs /dev/ad1s1a
&prompt.root; mount /dev/ad1s1a /mnt
&prompt.root; cd /mnt
&prompt.root; dump 0af - / | restore xf -Rearranging your partitions with dump takes a bit more
work. To merge a partition like /var
into its parent, create the new partition large enough
for both, move the parent partition as described above,
then move the child partition into the empty directory
that the first move created:&prompt.root; newfs /dev/ad1s1a
&prompt.root; mount /dev/ad1s1a /mnt
&prompt.root; cd /mnt
&prompt.root; dump 0af - / | restore xf -
&prompt.root; cd var
&prompt.root; dump 0af - /var | restore xf -To split a directory from its parent, say putting
/var on its own partition when it was not
before, create both partitions, then mount the child partition
on the appropriate directory in the temporary mount point, then
move the old single partition:&prompt.root; newfs /dev/ad1s1a
&prompt.root; newfs /dev/ad1s1d
&prompt.root; mount /dev/ad1s1a /mnt
&prompt.root; mkdir /mnt/var
&prompt.root; mount /dev/ad1s1d /mnt/var
&prompt.root; cd /mnt
&prompt.root; dump 0af - / | restore xf -You might prefer &man.cpio.1;, &man.pax.1;,
&man.tar.1; to &man.dump.8; for user data. At the time of
this writing, these are known to lose file flag information,
so use them with caution.Will a dangerously dedicated disk endanger
my health?The installation procedure allows
you to chose two different methods in partitioning your
hard disk(s). The default way makes it compatible with other
operating systems on the same machine, by using fdisk table
entries (called slices in FreeBSD), with a
FreeBSD slice that employs partitions of its own. Optionally,
one can chose to install a boot-selector to switch between the
possible operating systems on the disk(s). The alternative uses
the entire disk for FreeBSD, and makes no attempt to be
compatible with other operating systems.So why it is called dangerous? A disk
in this mode does not contain what normal PC utilities
would consider a valid fdisk table. Depending on how well
they have been designed, they might complain at you once
they are getting in contact with such a disk, or even
worse, they might damage the BSD bootstrap without even
asking or notifying you. In addition, the
dangerously dedicated disk's layout is
known to confuse many BIOSes, including those from AWARD
(e.g. as found in HP Netserver and Micronics systems as
well as many others) and Symbios/NCR (for the popular
53C8xx range of SCSI controllers). This is not a complete
list, there are more. Symptoms of this confusion include
the read error message printed by
the FreeBSD bootstrap when it cannot find itself, as well
as system lockups when booting.Why have this mode at all then? It only saves a few kbytes
of disk space, and it can cause real problems for a new
installation. Dangerously dedicated mode's
origins lie in a desire to avoid one of the most common
problems plaguing new FreeBSD installers - matching the BIOS
geometry numbers for a disk to the disk
itself.Geometry is an outdated concept, but one
still at the heart of the PC's BIOS and its interaction with
disks. When the FreeBSD installer creates slices, it has to
record the location of these slices on the disk in a fashion
that corresponds with the way the BIOS expects to find them. If
it gets it wrong, you will not be able to boot.Dangerously dedicated mode tries to work
around this by making the problem simpler. In some cases, it
gets it right. But it is meant to be used as a last-ditch
alternative - there are better ways to solve the problem 99
times out of 100.So, how do you avoid the need for DD mode
when you are installing? Start by making a note of the geometry
that your BIOS claims to be using for your disks. You can
arrange to have the kernel print this as it boots by specifying
at the boot: prompt, or
using boot -v in the loader. Just before the
installer starts, the kernel will print a list of BIOS
geometries. Do not panic - wait for the installer to start and
then use scrollback to read the numbers. Typically the BIOS
disk units will be in the same order that FreeBSD lists your
disks, first IDE, then SCSI.When you are slicing up your disk, check that the disk
geometry displayed in the FDISK screen is correct (ie. it
matches the BIOS numbers); if it is wrong, use the
g key to fix it. You may have to do this if
there is absolutely nothing on the disk, or if the disk has been
moved from another system. Note that this is only an issue with
the disk that you are going to boot from; FreeBSD will sort
itself out just fine with any other disks you may have.Once you have got the BIOS and FreeBSD agreeing about the
geometry of the disk, your problems are almost guaranteed to be
over, and with no need for DD mode at all. If,
however, you are still greeted with the dreaded read
error message when you try to boot, it is time to cross
your fingers and go for it - there is nothing left to
lose.To return a dangerously dedicated disk
for normal PC use, there are basically two options. The first
is, you write enough NULL bytes over the MBR to make any
subsequent installation believe this to be a blank disk. You
can do this for example with&prompt.root; dd if=/dev/zero of=/dev/rda0 count=15Alternatively, the undocumented DOS
featureC:\>fdisk /mbrwill to install a new master boot record as well, thus
clobbering the BSD bootstrap.Which partitions can safely use Soft Updates? I have
heard that Soft Updates on / can cause
problems.Short answer: you can usually use Soft Updates safely
on all partitions.Long answer: There used to be some concern over using
Soft Updates on the root partition. Soft Updates has two
characteristics that caused this. First, a Soft Updates
partition has a small chance of losing data during a
system crash. (The partition will not be corrupted; the
data will simply be lost.) Also, Soft Updates can cause
temporary space shortages.When using Soft Updates, the kernel can take up to
thirty seconds to actually write changes to the physical
disk. If you delete a large file, the file still resides
on disk until the kernel actually performs the deletion.
This can cause a very simple race condition. Suppose you
delete one large file and immediately create another large
file. The first large file is not yet actually removed
from the physical disk, so the disk might not have enough
room for the second large file. You get an error that the
partition does not have enough space, although you know
perfectly well that you just released a large chunk of
space! When you try again mere seconds later, the file
creation works as you expect. This has left more than one
user scratching his head and doubting his sanity, the
FreeBSD filesystem, or both.If a system should crash after the kernel accepts a
chunk of data for writing to disk, but before that data is
actually written out, data could be lost or corrupted.
This risk is extremely small, but generally manageable.
Use of IDE write caching greatly increases this risk; it
is strongly recommended that you disable IDE write caching
when using Soft Updates.These issues affect all partitions using Soft Updates.
So, what does this mean for the root partition?Vital information on the root partition changes very
rarely. Files such as /kernel and
the contents of /etc only change
during system maintenance, or when users change their
passwords. If the system crashed during the
thirty-second window after such a change is made, it is
possible that data could be lost. This risk is negligible
for most applications, but you should be aware that it
exists. If your system cannot tolerate this much risk,
do not use Soft Updates on the root filesystem!/ is traditionally one of the
smallest partitions. By default, FreeBSD puts the
/tmp directory on
/. If you have a busy
/tmp, you might see intermittent
space problems. Symlinking /tmp to
/var/tmp will solve this
problem.What is inappropriate about my ccd?The symptom of this is:&prompt.root; ccdconfig -C
ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or formatThis usually happens when you are trying to concatenate
the c partitions, which default to type
unused. The ccd driver requires the
underlying partition type to be FS_BSDFFS. Edit the disklabel
of the disks you are trying to concatenate and change the types
of partitions to 4.2BSD.Why can I not edit the disklabel on my ccd?The symptom of this is:&prompt.root; disklabel ccd0
(it prints something sensible here, so let us try to edit it)
&prompt.root; disklabel -e ccd0
(edit, save, quit)
disklabel: ioctl DIOCWDINFO: No disk label on disk;
use "disklabel -r" to install initial labelThis is because the disklabel returned by ccd is actually
a fake one that is not really on the disk.
You can solve this problem by writing it back explicitly,
as in:&prompt.root; disklabel ccd0 > /tmp/disklabel.tmp
&prompt.root; disklabel -Rr ccd0 /tmp/disklabel.tmp
&prompt.root; disklabel -e ccd0
(this will work now)Can I mount other foreign filesystems under FreeBSD?FreeBSD supports a variety of other
filesystems.Digital UNIXUFS CDROMs can be mounted directly on FreeBSD.
Mounting disk partitions from Digital UNIX and other
systems that support UFS may be more complex, depending
on the details of the disk partitioning for the operating
system in question.&linux;FreeBSD supports ext2fs
partitions. See &man.mount.ext2fs.8; for more
information.&windowsnt;FreeBSD includes a read-only NTFS driver. For
more information, see &man.mount.ntfs.8;.FATFreeBSD includes a read-write FAT driver. For
more information, see &man.mount.msdosfs.8;.ReiserFSFreeBSD includes a read-only ReiserFS driver. For
more information, see &man.mount.reiserfs.8;.FreeBSD also supports network filesystems such as NFS
(see &man.mount.nfs.8;), NetWare (see &man.mount.nwfs.8;),
and Microsoft-style SMB filesystems (see
&man.mount.smbfs.8;).
How do I mount a secondary DOS partition?The secondary DOS partitions are found after ALL the
primary partitions. For example, if you have an
E partition as the second DOS partition on
the second SCSI drive, you need to create the special files
for slice 5 in /dev,
then mount /dev/da1s5:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV da1s5
&prompt.root; mount -t msdos /dev/da1s5 /dos/eYou can omit this step if you are running FreeBSD
5.0-RELEASE or newer with &man.devfs.5;
enabled.Is there a cryptographic filesystem for &os;?Yes. FreeBSD 5.0 includes &man.gbde.8;, and FreeBSD 6.0
added &man.geli.8;. For earlier releases, see the security/cfs port.How can I use the &windowsnt; loader to boot FreeBSD?The general idea is that you copy the first sector of your
native root FreeBSD partition into a file in the DOS/&windowsnt;
partition. Assuming you name that file something like
c:\bootsect.bsd (inspired by
c:\bootsect.dos), you can then edit the
c:\boot.ini file to come up with something
like this:[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
C:\BOOTSECT.BSD="FreeBSD"
C:\="DOS"If FreeBSD is installed on the same disk as the &windowsnt; boot
partition simply copy /boot/boot1 to
C:\BOOTSECT.BSD. However, if FreeBSD is
installed on a different disk /boot/boot1
will not work, /boot/boot0 is needed./boot/boot0 needs to be installed
using sysinstall by selecting the FreeBSD boot manager on
the screen which asks if you wish to use a boot
manager. This is because /boot/boot0
has the partition table area filled with NULL characters
but sysinstall copies the partition table before copying
/boot/boot0 to the MBR.Do not simply copy /boot/boot0
instead of /boot/boot1; you will
overwrite your partition table and render your computer
un-bootable!When the FreeBSD boot manager runs it records the last
OS booted by setting the active flag on the partition table
entry for that OS and then writes the whole 512-bytes of itself
back to the MBR so if you just copy
/boot/boot0 to
C:\BOOTSECT.BSD then it writes an empty
partition table, with the active flag set on one entry, to the
MBR.How do I boot FreeBSD and &linux; from LILO?If you have FreeBSD and &linux; on the same disk, just follow
LILO's installation instructions for booting a non-&linux;
operating system. Very briefly, these are:Boot &linux;, and add the following lines to
/etc/lilo.conf:other=/dev/hda2
table=/dev/hda
label=FreeBSD(the above assumes that your FreeBSD slice is known to
&linux; as /dev/hda2; tailor to
suit your setup). Then, run lilo as
root and you should be done.If FreeBSD resides on another disk, you need to add
loader=/boot/chain.b to the LILO entry.
For example:other=/dev/dab4
table=/dev/dab
loader=/boot/chain.b
label=FreeBSDIn some cases you may need to specify the BIOS drive number
to the FreeBSD boot loader to successfully boot off the second
disk. For example, if your FreeBSD SCSI disk is probed by BIOS
as BIOS disk 1, at the FreeBSD boot loader prompt you need to
specify:Boot: 1:da(0,a)/kernelYou can configure
&man.boot.8;
to automatically do this for you at boot time.The
&linux;+FreeBSD mini-HOWTO is a good reference for
FreeBSD and &linux; interoperability issues.How do I boot &os; and &linux; using GRUBBooting &os; using GRUB is very simple. Just
add the following to your configuration file
/boot/grub/grub.conf.title FreeBSD 6.1
root (hd0,a)
kernel /boot/loader
Where hd0,a points to your root partition
on the first disk. If you need to specify which slice number
should be used, use something like this (hd0,2,a).
By default, if the slice number is omitted, GRUB searches the
first slice which has 'a' partition.How do I boot FreeBSD and &linux; using BootEasy?Install LILO at the start of your &linux; boot partition
instead of in the Master Boot Record. You can then boot LILO
from BootEasy.If you are running &windows; 95 and &linux; this is recommended
anyway, to make it simpler to get &linux; booting again if you
should need to reinstall &windows; 95 (which is a Jealous
Operating System, and will bear no other Operating Systems in
the Master Boot Record).How do I change the boot prompt from ??? to
something more meaningful?You can not do that with the standard boot manager without
rewriting it. There are a number of other boot managers
in the sysutils ports category that
provide this functionality.I have a new removable drive, how do I use it?Whether it is a removable drive like a &iomegazip; or an EZ drive
(or even a floppy, if you want to use it that way), or a new
hard disk, once it is installed and recognized by the system,
and you have your cartridge/floppy/whatever slotted in, things
are pretty much the same for all devices.(this section is based on
Mark Mayo's ZIP FAQ)If it is a ZIP drive or a floppy, you have already got a DOS
filesystem on it, you can use a command like this:&prompt.root; mount -t msdos /dev/fd0c /floppyif it is a floppy, or this:&prompt.root; mount -t msdos /dev/da2s4 /zipfor a ZIP disk with the factory configuration.For other disks, see how they are laid out using
&man.fdisk.8; or
&man.sysinstall.8;.The rest of the examples will be for a ZIP drive on da2,
the third SCSI disk.Unless it is a floppy, or a removable you plan on sharing
with other people, it is probably a better idea to stick a BSD
filesystem on it. You will get long filename support, at least a
2X improvement in performance, and a lot more stability. First,
you need to redo the DOS-level partitions/filesystems. You can
either use &man.fdisk.8; or
/stand/sysinstall, or for a small drive
that you do not want to bother with multiple operating system
support on, just blow away the whole FAT partition table
(slices) and just use the BSD partitioning:&prompt.root; dd if=/dev/zero of=/dev/rda2 count=2
&prompt.root; disklabel -Brw da2 autoYou can use disklabel or
/stand/sysinstall to create multiple BSD
partitions. You will certainly want to do this if you are adding
swap space on a fixed disk, but it is probably irrelevant on a
removable drive like a ZIP.Finally, create a new filesystem, this one is on our ZIP
drive using the whole disk:&prompt.root; newfs /dev/rda2cand mount it:&prompt.root; mount /dev/da2c /zipand it is probably a good idea to add a line like this
to /etc/fstab (see &man.fstab.5;) so
you can just type mount /zip in the
future:/dev/da2c /zip ffs rw,noauto 0 0Why do I get Incorrect super block when
mounting a CDROM?You have to tell &man.mount.8; the type of the device
that you want to mount. This is described in the Handbook section on
optical media, specifically the section Using Data
CDs.Why do I get Device not
configured when mounting a CDROM?This generally means that there is no CDROM in the
CDROM drive, or the drive is not visible on the
bus. Please see the Using Data
CDs section of the Handbook for a detailed
discussion of this issue.Why do all non-English characters in filenames show up as
? on my CDs when mounted in FreeBSD?Your CDROM probably uses the Joliet
extension for storing information about files and
directories. This is discussed in the Handbook chapter on
creating and
using CDROMs, specifically the section on Using Data
CDROMs.I burned a CD under FreeBSD and now I can not read it
under any other operating system. Why?You most likely burned a raw file to your CD, rather
than creating an ISO 9660 filesystem. Take a look at the
Handbook
chapter on creating CDROMs, particularly the
section on burning raw
data CDs.How can I create an image of a data CD?This is discussed in the Handbook section on duplicating
data CDs. For more on working with CDROMs, see the
Creating CDs
Section in the Storage chapter in the
Handbook.Why can I not mount an audio
CD?If you try to mount an audio CD, you will get an error
like cd9660: /dev/acd0c: Invalid
argument. This is because
mount only works on filesystems. Audio
CDs do not have filesystems; they just have data. You
need a program that reads audio CDs, such as the
audio/xmcd port.How do I mount a multi-session CD?By default, &man.mount.8; will attempt to mount the
last data track (session) of a CD. If you would like to
load an earlier session, you must use the
command line argument. Please see
&man.mount.cd9660.8; for specific examples.How do I let ordinary users mount floppies, CDROMs and
other removable media?Ordinary users can be permitted to mount devices. Here is
how:As root set the sysctl variable
vfs.usermount to
1.&prompt.root; sysctl -w vfs.usermount=1As root assign the appropriate
permissions to the block device associated with the
removable media.For example, to allow users to mount the first floppy
drive, use:&prompt.root; chmod 666 /dev/fd0To allow users in the group
operator to mount the CDROM drive,
use:&prompt.root; chgrp operator /dev/acd0c
&prompt.root; chmod 640 /dev/acd0cIf you are running &os; 5.X or later, you will need to alter
/etc/devfs.conf to make these changes
permanent across reboots.As root, add the necessary lines to
/etc/devfs.conf. For example, to allow
users to mount the first floppy drive add:# Allow all users to mount the floppy disk.
own /dev/fd0 root:operator
perm /dev/fd0 0666To allow users in the group operator
to mount the CD-ROM drive add:# Allow members of the group operator to mount CD-ROMs.
own /dev/acd0 root:operator
perm /dev/acd0 0660Finally, add the line
vfs.usermount=1
to the file /etc/sysctl.conf so
that it is reset at system boot time.All users can now mount the floppy
/dev/fd0 onto a directory that they
own:&prompt.user; mkdir ~/my-mount-point
&prompt.user; mount -t msdos /dev/fd0 ~/my-mount-pointUsers in group operator can now
mount the CDROM /dev/acd0c onto a
directory that they own:&prompt.user; mkdir ~/my-mount-point
&prompt.user; mount -t cd9660 /dev/acd0c ~/my-mount-pointUnmounting the device is simple:&prompt.user; umount ~/my-mount-pointEnabling vfs.usermount, however,
has negative security implications. A better way to
access &ms-dos; formatted media is to use the
emulators/mtools
package in the ports collection.The device name used in the previous examples must be
changed according to your configuration.The du and df
commands show different amounts of disk space available.
What is going on?You need to understand what du and
df really do. du
goes through the directory tree, measures how large each
file is, and presents the totals. df
just asks the filesystem how much space it has left. They
seem to be the same thing, but a file without a directory
entry will affect df but not
du.When a program is using a file, and you delete the
file, the file is not really removed from the filesystem
until the program stops using it. The file is immediately
deleted from the directory listing, however. You can see
this easily enough with a program such as
more. Assume you have a file large
enough that its presence affects the output of
du and df. (Since
disks can be so large today, this might be a
very large file!) If you delete this
file while using more on it,
more does not immediately choke and
complain that it cannot view the file. The entry is
simply removed from the directory so no other program or
user can access it. du shows that it
is gone — it has walked the directory tree and the file
is not listed. df shows that it is
still there, as the filesystem knows that
more is still using that space. Once
you end the more session,
du and df will
agree.Note that Soft Updates can delay the freeing of disk
space; you might need to wait up to 30 seconds for the
change to be visible!This situation is common on web servers. Many people
set up a FreeBSD web server and forget to rotate the log
files. The access log fills up /var.
The new administrator deletes the file, but the system
still complains that the partition is full. Stopping and
restarting the web server program would free the file,
allowing the system to release the disk space. To prevent
this from happening, set up &man.newsyslog.8;.How can I add more swap space?In the Configuration and
Tuning section of the Handbook, you will find a
section
describing how to do this.Why does &os; see my disk as smaller than the
manufacturer says it is?Disk manufacturers calculate gigabytes as a billion bytes
each, whereas &os; calculates them as 1,073,741,824 bytes
each. This explains why, for example, &os;'s boot messages
will report a disk that supposedly has 80GB as holding
76319MB.Also note that &os; will (by default)
reserve 8% of the disk
space.How is it possible for a partition to be more than 100%
full?A portion of each UFS partition (8%, by default) is
reserved for use by the operating system and the
root user.
&man.df.1; does not count that space when
calculating the Capacity column, so it can
exceed 100%. Also, you will notice that the
Blocks column is always greater than the
sum of the Used and
Avail columns, usually by a factor of
8%.For more details, look up the option
in &man.tunefs.8;.Διαχείριση ΣυστήματοςWhere are the system start-up configuration files?The primary configuration file is
/etc/defaults/rc.conf (see
&man.rc.conf.5;) System startup scripts such as
/etc/rc and
/etc/rc.d (see &man.rc.8;) just
include this file. Do not edit this
file! Instead, if there is any entry in
/etc/defaults/rc.conf that you want
to change, you should copy the line into
/etc/rc.conf and change it
there.For example, if you wish to start named, the included
DNS server, all you need to do is:&prompt.root; echo named_enable="YES" >> /etc/rc.confTo start up local services, place shell scripts in the
/usr/local/etc/rc.d directory. These
shell scripts should be set executable, and end with a
.sh.How do I add a user easily?Use the &man.adduser.8; command, or the &man.pw.8;
command for more complicated situations.To remove the user, use the &man.rmuser.8; command or,
if necessary, &man.pw.8;.Why do I keep getting messages like root: not
found after editing my crontab file?This is normally caused by editing the system crontab
(/etc/crontab) and then using
&man.crontab.1; to install it:&prompt.root; crontab /etc/crontabThis is not the correct way to do things. The system
crontab has a different format to the per-user crontabs
which &man.crontab.1; updates (the &man.crontab.5; manual
page explains the differences in more detail).If this is what you did, the extra crontab is simply a
copy of /etc/crontab in the wrong
format it. Delete it with the command:&prompt.root; crontab -rNext time, when you edit
/etc/crontab, you should not do
anything to inform &man.cron.8; of the changes, since it
will notice them automatically.If you want something to be run once per day, week, or
month, it is probably better to add shell scripts
/usr/local/etc/periodic, and let the
&man.periodic.8; command run from the system cron schedule
it with the other periodic system tasks.The actual reason for the error is that the system
crontab has an extra field, specifying which user to run the
command as. In the default system crontab provided with
FreeBSD, this is root for all entries.
When this crontab is used as the root
user's crontab (which is not the
same as the system crontab), &man.cron.8; assumes the string
root is the first word of the command to
execute, but no such command exists.Why do I get the error, you are not in the correct
group to su root when I try to su to
root?This is a security feature. In order to su to
root (or any other account with superuser
privileges), you must be in the wheel
group. If this feature were not there, anybody with an account
on a system who also found out root's
password would be able to gain superuser level access to the
system. With this feature, this is not strictly true;
&man.su.1; will prevent them from even trying to enter the
password if they are not in wheel.To allow someone to su to root, simply
put them in the wheel group.I made a mistake in rc.conf,
or another startup file, and
now I cannot edit it because the filesystem is read-only.
What should I do?When you get the prompt to enter the shell
pathname, simply press ENTER, and run
mount / to re-mount the root filesystem in
read/write mode. You may also need to run mount -a -t
ufs to mount the filesystem where your favorite
editor is defined. If your favorite editor is on a network
filesystem, you will need to either configure the network
manually before you can mount network filesystems, or use an
editor which resides on a local filesystem, such as
&man.ed.1;.If you intend to use a full screen editor such
as &man.vi.1; or &man.emacs.1;, you may also need to
run export TERM=cons25 so that these
editors can load the correct data from the &man.termcap.5;
database.Once you have performed these steps, you can edit
/etc/rc.conf as you usually would
to fix the syntax error. The error message displayed
immediately after the kernel boot messages should tell you
the number of the line in the file which is at fault.Why am I having trouble setting up my printer?Please have a look at the Handbook entry on printing. It
should cover most of your problem. See the
Handbook entry on printing.Some printers require a host-based driver to do any
kind of printing. These so-called
WinPrinters are not natively supported by
FreeBSD. If your printer does not work in DOS or &windowsnt;
4.0, it is probably a WinPrinter. Your only hope of
getting one of these to work is to check if the print/pnm2ppa port supports
it.How can I correct the keyboard mappings for my system?Please see the Handbook section on using
localization, specifically the section on console
setup.Why do I get messages like: unknown: <PNP0303>
can't assign resources on boot?The following is an excerpt from a post to the
freebsd-current mailing list.
&a.wollman;, 24 April 2001The can't assign resources messages
indicate that the devices are legacy ISA devices for which a
non-PnP-aware driver is compiled into the kernel. These
include devices such as keyboard controllers, the
programmable interrupt controller chip, and several other
bits of standard infrastructure. The resources cannot be
assigned because there is already a driver using those
addresses.
Why can I not get user quotas to work properly?It is possible that your kernel is not configured to use
quotas. If this is the case, you will need to add the following
line to your kernel configuration file and recompile:options QUOTAPlease read the Handbook
entry on quotas for full details.Do not turn on quotas on /.Put the quota file on the filesystem that the quotas
are to be enforced on, i.e.:FilesystemQuota file/usr/usr/admin/quotas/home/home/admin/quotas……Does FreeBSD support System V IPC primitives?Yes, FreeBSD supports System V-style IPC, including
shared memory, messages and semaphores, in the GENERIC
kernel. In a custom kernel, enable this support by adding
the following lines to your kernel config.options SYSVSHM # enable shared memory
options SYSVSEM # enable for semaphores
options SYSVMSG # enable for messagingRecompile and install your kernel.What other mail-server software can I use instead of
Sendmail?Sendmail is
the default mail-server software for FreeBSD, but you can
easily replace it with one of the other MTA (for instance,
an MTA installed from the ports).There are various alternative MTAs in the ports tree
already, with mail/exim, mail/postfix, mail/qmail, and mail/zmailer being some of the
most popular choices.Diversity is nice, and the fact that you have many
different mail-servers to chose from is considered a
good thing; therefore try to avoid
asking questions like Is Sendmail better than
Qmail? in the mailing lists. If you do feel like
asking, first check the mailing list archives. The
advantages and disadvantages of each and every one of the
available MTAs have already been discussed a few
times.I have forgotten the root password! What
do I do?Do not panic! Restart the system, type
boot -s at the Boot: prompt to
enter Single User mode. At the question about the shell to
use, hit ENTER. You will be dropped to a &prompt.root;
prompt. Enter mount -u / to remount
your root filesystem read/write, then run mount
-a to remount all the filesystems. Run
passwd root to change the
root password then run &man.exit.1;
to continue booting.How do I keep ControlAltDelete
from rebooting the system?If you are using syscons (the default console driver)
build and install a new kernel with the
line:options SC_DISABLE_REBOOTin the configuration file. If you use the PCVT console
driver, use the following kernel configuration line
instead.This can also be done by setting the following sysctl
which does not require a reboot or kernel recompile:&prompt.root; sysctl hw.syscons.kbd_reboot=0options PCVT_CTRL_ALT_DELHow do I reformat DOS text files to &unix; ones?Use this perl command:&prompt.user; perl -i.bak -npe 's/\r\n/\n/g' file ...file is the file(s) to process. The modification is done
in-place, with the original file stored with a .bak
extension.Alternatively you can use the
&man.tr.1;
command:&prompt.user; tr -d '\r' < dos-text-file > unix-filedos-text-file is the file
containing DOS text while unix-file
will contain the converted output. This can be quite a bit
faster than using perl.How do I kill processes by name?Use &man.killall.1;.Why is su bugging me about not being in
root's ACL?The error comes from the Kerberos distributed
authentication system. The problem is not fatal but annoying.
You can either run su with the -K option, or uninstall
Kerberos as described in the next question.How do I uninstall Kerberos?To remove Kerberos from the system, reinstall the bin
distribution for the release you are running. If you have
the CDROM, you can mount the cd (we will assume on /cdrom)
and run&prompt.root; cd /cdrom/bin
&prompt.root; ./install.shAlternately, you can remove all
MAKE_KERBEROS options from
/etc/make.conf and rebuild
world.What happened to
/dev/MAKEDEV?FreeBSD 5.X and beyond use the &man.devfs.8; device-on-demand
system. Device drivers automatically create new device
nodes as they are needed, obsoleting
/dev/MAKEDEV.If you are running FreeBSD 4.X or earlier and
/dev/MAKEDEV is missing, then you
really do have a problem. Grab a copy from the system
source code, probably in
/usr/src/etc/MAKEDEV.How do I add pseudoterminals to the system?If you have lots of telnet, ssh, X, or screen users,
you will probably run out of pseudoterminals. Here is how to
add more:Build and install a new kernel with the linepseudo-device pty 256in the configuration file.Run the commands&prompt.root; cd /dev
&prompt.root; sh MAKEDEV pty{1,2,3,4,5,6,7}to make 256 device nodes for the new terminals.Edit /etc/ttys and add lines
for each of the 256 terminals. They should match the form
of the existing entries, i.e. they look likettyqc none networkThe order of the letter designations is
tty[pqrsPQRS][0-9a-v], using a
regular expression. Reboot the system with the new kernel and you are
ready to go.Why can I not create the snd0 device?There is no snd device. The name
is used as a shorthand for the various devices that make up the
FreeBSD sound driver, such as mixer,
sequencer, and
dsp.To create these devices you should&prompt.root; cd /dev
&prompt.root; sh MAKEDEV snd0You can omit this step if you are running FreeBSD
5.0-RELEASE or newer with &man.devfs.5;
enabled.How do I re-read /etc/rc.conf and
re-start /etc/rc without a
reboot?Go into single user mode and then back to multi user
mode.On the console do:&prompt.root; shutdown now
(Note: without -r or -h)
&prompt.root; return
&prompt.root; exitI tried to update my system to the latest -STABLE, but
got -BETAx, -RC or -PRERELEASE! What is going on?Short answer: it is just a name. RC stands for
Release Candidate. It signifies that a
release is imminent. In FreeBSD, -PRERELEASE is typically
synonymous with the code freeze before a release. (For
some releases, the -BETA label was used in the same way as
-PRERELEASE.)Long answer: FreeBSD derives its releases from one of
two places. Major, dot-zero, releases, such as
4.0-RELEASE and 5.0-RELEASE, are branched from the head of
the development stream, commonly referred to as -CURRENT. Minor releases, such
as 4.1-RELEASE or 5.2-RELEASE, have been snapshots of the
active -STABLE branch.
Starting with 4.3-RELEASE, each release also now has its
own branch which can be tracked by people requiring an
extremely conservative rate of development (typically only
security advisories).When a release is about to be made, the branch from
which it will be derived from has to undergo a certain
process. Part of this process is a code freeze. When a
code freeze is initiated, the name of the branch is
changed to reflect that it is about to become a release.
For example, if the branch used to be called 4.5-STABLE,
its name will be changed to 4.6-PRERELEASE to signify the
code freeze and signify that extra pre-release testing
should be happening. Bug fixes can still be committed to
be part of the release. When the source code is in shape
for the release the name will be changed to 4.6-RC to
signify that a release is about to be made from it. Once
in the RC stage, only the most critical bugs found can be
fixed. Once the release (4.6-RELEASE in this example) and
release branch have been made, the branch will be renamed
to 4.6-STABLE.For more information on version numbers and the
various CVS branches, refer to the
Release
Engineering article.I tried to install a new kernel, and the chflags
failed. How do I get around this?Short answer: You are probably at security level
greater than 0. Reboot directly to single user mode to
install the kernel.Long answer: FreeBSD disallows changing system flags
at security levels greater than 0. You can check your
security level with the command:&prompt.root; sysctl kern.securelevelYou cannot lower the security level; you have to boot to
single mode to install the kernel, or change the security
level in /etc/rc.conf then reboot. See
the &man.init.8; manual page for details on securelevel, and see
/etc/defaults/rc.conf and the
&man.rc.conf.5; manual page for more information on
rc.conf.I cannot change the time on my system by more than one second!
How do I get around this?Short answer: You are probably at security level
greater than 1. Reboot directly to single user mode to
change the date.Long answer: FreeBSD disallows changing the time by
more that one second at security levels greater than 1. You
can check your security level with the command:&prompt.root; sysctl kern.securelevelYou cannot lower the security level; you have to boot
to single mode to change the date, or change the security
level in /etc/rc.conf then
reboot. See the &man.init.8; manual page for details on
securelevel, and see
/etc/defaults/rc.conf and the
&man.rc.conf.5; manual page for more information on
rc.conf.Why is rpc.statd using 256 megabytes of
memory?No, there is no memory leak, and it is not using 256 Mbytes
of memory. For convenience, rpc.statd maps an
obscene amount of memory into its address space.
There is nothing terribly wrong with this from a technical
standpoint; it just throws off things like &man.top.1; and
&man.ps.1;.&man.rpc.statd.8; maps its status file (resident on
/var) into its address space; to save
worrying about remapping it later when it needs to grow, it maps
it with a generous size. This is very evident from the source
code, where one can see that the length argument to &man.mmap.2;
is 0x10000000, or one sixteenth of the
address space on an IA32, or exactly 256MB.Why can I not unset the schg file
flag?You are running at an elevated (i.e., greater than 0)
securelevel. Lower the securelevel and try again. For more
information, see the FAQ entry on
securelevel and the &man.init.8; manual page.Why does SSH authentication through
.shosts not work by default in recent
versions of FreeBSD?The reason why .shosts
authentication does not work by default in more recent
versions of FreeBSD is because &man.ssh.1;
is not installed suid root by default. To
fix this, you can do one of the
following:As a permanent fix, set
ENABLE_SUID_SSH to true
in /etc/make.conf and rebuild ssh
(or run make world).As a temporary fix, change the mode on
/usr/bin/ssh to 4555
by running chmod 4555 /usr/bin/ssh as
root. Then add
ENABLE_SUID_SSH= true to
/etc/make.conf so the change takes
effect the next time make world is
run.What is vnlru?vnlru flushes and frees vnodes when
the system hits the kern.maxvnodes
limit. This kernel thread sits mostly idle, and only
activates if you have a huge amount of RAM and are
accessing tens of thousands of tiny files.What do the various memory states displayed by
top mean?Active: pages recently
statistically used.Inactive: pages
recently statistically unused.Cache: (most often)
pages that have percolated from inactive to a status
where they maintain their data, but can often be
immediately reused (either with their old association,
or reused with a new association.) There can be certain
immediate transitions from active to cache state if the
page is known to be clean (unmodified), but that
transition is a matter of policy, depending upon the
algorithm choice of the VM system
maintainer.Free: pages without
data content, and can be immediately used in certain
circumstances where cache pages might be ineligible.
Free pages can be reused at interrupt or process
state.Wired: pages that are
fixed into memory, usually for kernel purposes, but also
sometimes for special use in
processes.Pages are most often written to disk (sort of a VM
sync) when they are in the inactive state, but active
pages can also be synced (but requires the
availability of certain CPU features.) This depends upon
the CPU tracking of the modified bit being available,
and in certain situations there can be an advantage for a
block of VM pages to be synced, whether they are active or
inactive. In most common cases, it is best to think of
the inactive queue to be a queue of relatively unused
pages that might or might not be in the process of being
written to disk. Cached pages are already synced, not
mapped, but available for immediate process use with their
old association or with a new association. Free pages are
available at interrupt level, but cached or free pages can
be used at process state for reuse. Cache pages are not
adequately locked to be available at interrupt
level.There are some other flags (e.g., busy flag or busy
count) that might modify some of the rules that I
described.How much free memory is available?There are a couple of kinds of free
memory. One kind is the amount of memory
immediately available without paging anything else out.
That is approximately the size of cache queue + size of
free queue (with a derating factor, depending upon system
tuning.) Another kind of free memory is
the total amount of VM space. That can
be complex, but is dependent upon the amount of swap space
and memory. Other kinds of free memory
descriptions are also possible, but it is relatively
useless to define these, but rather it is important to
make sure that the paging rate is kept low, and to avoid
running out of swap space.What is /var/empty? I can not
delete it!/var/empty is a directory that the
&man.sshd.8; program uses when performing privilege separation.
The /var/empty directory is empty, owned by
root and has the schg
flag set.Although it is not recommended to delete this directory, to
do so you will need to unset the schg flag
first. See the &man.chflags.1; manual page for more information
(and bear in mind the answer to
the question on unsetting the schg flag).Το Σύστημα X Windows και οι Εικονικές ΚονσόλεςWhat is the X Window System?The X Window System (commonly X11) is the
most widely available windowing system capable of running on
&unix; or &unix; like systems, including
&os;. The X.Org
Foundation administers the
X protocol standards, with the current reference
implementation, version 11 release &xorg.version;,
so you will often see references shortened to
X11.Many implementations are available for different
architectures and operating systems. An
implementation of the server-side code is properly known
as an X server.Which X implementations are available for &os;?Historically, the default implementation of X on
&os; has been
&xfree86; which is maintained by
The XFree86 Project,
Inc. This software was installed by default on
&os; versions up until 4.10 and 5.2. Although &xorg;
itself maintained an implementation during that time
period, it was basically only provided as a reference
platform, as it had suffered greatly from bitrot over
the years.However, early in 2004, some XFree86 developers left
that project
over issues including the pace of code changes, future
directions, and interpersonal conflicts, and are now contributing
code directly to &xorg; instead. At that time, &xorg; updated its
source tree to the last &xfree86; release before its subsequent
licensing change (XFree86 version 4.3.99.903), incorporated
many changes that had previously been maintained separately,
and has released that software as X11R6.7.0. A separate but
related project,
freedesktop.org (or fd.o for short),
is working on rearchitecting the original &xfree86; code to
offload more work onto the graphics cards (with the goal of
increased performance) and make it more modular
(with the goal of increased maintainability, and thus faster
releases as well as easier configuration). &xorg; intends to
incorporate the freedesktop.org changes in its future releases.As of July 2004, in &os.current;,
&xfree86; has been replaced with &xorg; as the default
implementation. The &xfree86; ports
(x11/XFree86-4 and
subports) remain in the ports collection. But &xorg; is
the default X11 implementation for &os; 5.3 and later.For further information, read the X11 section of the
FreeBSD Handbook.The above describes the default X implementation installed.
It is still possible to install either implementation by
following the instructions in the entry for 20040723 in
/usr/ports/UPDATING.It is not currently
possible to mix-and-match pieces of each implementation;
one must choose one or the other.Will my existing applications run with the &xorg; suite?The &xorg; software is written to the same X11R6 specification
that &xfree86; is, so basic applications should work
unchanged. A few lesser-used protocols have been deprecated
(XIE, PEX, and
lbxproxy), but in the first two cases, the
&os; port of &xfree86; did not support them either.Why did the X projects split, anyway?The answer to this question is outside the scope of
this FAQ. Note that there are voluminous postings in various
mailing list archives on the Internet; please use your favorite
search engine to investigate the history instead of asking this
question on the &os; mailing lists. It may even be the case
that only the participants will ever know for certain.Why did &os; choose to go with the &xorg; ports by default?The &xorg; developers claim that their goal is to release
more often and incorporate new features more quickly. If they
are able to do so, this will be very attractive. Also, their
software still uses the traditional X license, while &xfree86;
is now using their modified one.This decision is still controversial. Only time will
tell which implementation proves technically superior. Each
&os; user should decide which they prefer.I want to run X, how do I go about it?If you would like to add X to an existing installation, you
should use the x11/xorg
meta-port, which will build and install all the necessary
components.Then read and follow the documentation on the
&man.xorgconfig.1; tool, which assists you in
configuring &xorg; for your particular graphics
card/mouse/etc. You may also wish to examine the
&man.xorgcfg.1; tool, which provides a graphical interface
to the X configuration process.For further information, read the X11 section of the
FreeBSD Handbook.You may also wish to investigate the Xaccel server.
See the section on Xi Graphics
for more details.I tried to run X, but I get an
KDENABIO failed (Operation not permitted)
error when I type startx. What do I do
now?Your system is probably running at a raised securelevel.
It is not possible to start X at a raised securelevel because
X requires write access to /dev/io.
For more information, see at the &man.init.8; manual
page.So the question is what else you should do instead,
and you basically have two choices: set your securelevel
back down to zero (usually from /etc/rc.conf),
or run &man.xdm.1; at boot time (before the securelevel is
raised).See for more information about
running &man.xdm.1; at boot time.Why does my mouse not work with X?If you are using syscons (the default console driver),
you can configure FreeBSD to support a mouse pointer on each
virtual screen. In order to avoid conflicting with X, syscons
supports a virtual device called
/dev/sysmouse. All mouse events received
from the real mouse device are written to the sysmouse device
via moused. If you wish to use your mouse on one or more
virtual consoles, and use X, see
and set up
moused.Then edit /etc/X11/xorg.conf and make
sure you have the following lines:Section "InputDevice"
Option "Protocol" "SysMouse"
Option "Device" "/dev/sysmouse"
.....Some people prefer to use
/dev/mouse under X. To make this
work, /dev/mouse should be linked
to /dev/sysmouse (see
&man.sysmouse.4;):&prompt.root; cd /dev
&prompt.root; rm -f mouse
&prompt.root; ln -s sysmouse mouseMy mouse has a fancy wheel. Can I use it in X?Yes.You need to tell X that you have a 5 button mouse.
To do this, simply add the lines
Buttons 5 and
ZAxisMapping 4 5 to the
InputDevice section of
/etc/X11/xorg.conf. For example, you
might have the following InputDevice section
in /etc/X11/xorg.conf.InputDevice Section for Wheeled Mouse
in &xorg; configuration fileSection "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
EndSection.emacs example for naive page
scrolling with Wheeled Mouse (optional);; wheel mouse
(global-set-key [mouse-4] 'scroll-down)
(global-set-key [mouse-5] 'scroll-up)How do I use remote X displays?For security reasons, the default setting is to not allow a
machine to remotely open a window.To enable this feature, simply start
X with the optional
argument:&prompt.user; startx -listen_tcpWhy do X Window menus and dialog boxes not work
right?Try turning off the Num Lock key.If your Num Lock key is on by default
at boot-time, you may add the following line in the
Keyboard section of the
/etc/X11/xorg.conf file.# Let the server do the NumLock processing. This should only be
# required when using pre-R6 clients
ServerNumLockWhat is a virtual console and how do I make more?Virtual consoles, put simply, enable you to have several
simultaneous sessions on the same machine without doing anything
complicated like setting up a network or running X.When the system starts, it will display a login prompt on
the monitor after displaying all the boot messages. You can
then type in your login name and password and start working (or
playing!) on the first virtual console.At some point, you will probably wish to start another
session, perhaps to look at documentation for a program
you are running or to read your mail while waiting for an
FTP transfer to finish. Just do AltF2
(hold down the Alt key and press the
F2 key), and you will find a login prompt
waiting for you on the second virtual
console! When you want to go back to the original
session, do AltF1.The default FreeBSD installation has eight virtual
consoles enabled. AltF1,
AltF2,
AltF3,
and so on will switch between these virtual
consoles.To enable more of them, edit
/etc/ttys (see &man.ttys.5;)
and add entries for ttyv4
to ttyvc after the comment on
Virtual terminals:# Edit the existing entry for ttyv3 in /etc/ttys and change
# "off" to "on".
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
ttyv8 "/usr/libexec/getty Pc" cons25 on secure
ttyv9 "/usr/libexec/getty Pc" cons25 on secure
ttyva "/usr/libexec/getty Pc" cons25 on secure
ttyvb "/usr/libexec/getty Pc" cons25 on secureUse as many or as few as you want. The more virtual
terminals you have, the more resources that are used; this
can be important if you have 8MB RAM or less. You may also
want to change the secure
to insecure.If you want to run an X server you
must leave at least one virtual
terminal unused (or turned off) for it to use. That is to
say that if you want to have a login prompt pop up for all
twelve of your Alt-function keys, you are out of luck - you
can only do this for eleven of them if you also want to run
an X server on the same machine.The easiest way to disable a console is by turning it off.
For example, if you had the full 12 terminal allocation
mentioned above and you wanted to run X, you would change
settings for virtual terminal 12 from:ttyvb "/usr/libexec/getty Pc" cons25 on secureto:ttyvb "/usr/libexec/getty Pc" cons25 off secureIf your keyboard has only ten function keys, you would
end up with:ttyv9 "/usr/libexec/getty Pc" cons25 off secure
ttyva "/usr/libexec/getty Pc" cons25 off secure
ttyvb "/usr/libexec/getty Pc" cons25 off secure(You could also just delete these lines.)Next, the easiest (and cleanest) way to activate the
virtual consoles is to reboot. However, if you really do not
want to reboot, you can just shut down the X Window system
and execute (as root):&prompt.root; kill -HUP 1It is imperative that you completely shut down X Window if
it is running, before running this command. If you do not,
your system will probably appear to hang/lock up after
executing the kill command.How do I access the virtual consoles from X?Use CtrlAltFn to switch back to a virtual console.
CtrlAltF1 would return you to the first virtual console.Once you are back to a text console, you can then use
AltFn as normal to move between them.To return to the X session, you must switch to the
virtual console running X. If you invoked X from the
command line, (e.g., using startx) then
the X session will attach to the next unused virtual
console, not the text console from which it was invoked.
If you have eight active virtual terminals then X will be
running on the ninth, and you would use
AltF9 to return.How do I start XDM on boot?There are two schools of thought on how to start
&man.xdm.1;. One school starts xdm from
/etc/ttys (see &man.ttys.5;) using
the supplied example, while the other simply runs xdm from
rc.local (see &man.rc.8;) or from a
X.sh script in
/usr/local/etc/rc.d. Both are equally
valid, and one may work in situations where the other does
not. In both cases the result is the same: X will pop up
a graphical login: prompt.The ttys method has the advantage of documenting which
vty X will start on and passing the responsibility of
restarting the X server on logout to init. The rc.local
method makes it easy to kill xdm if there is a problem
starting the X server.If loaded from rc.local, xdm should
be started without any arguments (i.e., as a daemon). xdm must
start AFTER getty runs, or else getty and xdm will conflict,
locking out the console. The best way around this is to have
the script sleep 10 seconds or so then launch xdm.If you are to start xdm from
/etc/ttys, there still is a chance of
conflict between xdm and
&man.getty.8;. One way to avoid this is to add the
vt number in the
/usr/local/lib/X11/xdm/Xservers
file.:0 local /usr/local/bin/X vt4The above example will direct the X server to run in
/dev/ttyv3. Note the number is offset by
one. The X server counts the vty from one, whereas the FreeBSD
kernel numbers the vty from zero.Why do I get Couldn't open console
when I run xconsole?If you start X
with
startx, the permissions on
/dev/console will
not get changed, resulting in
things like
xterm -C and
xconsole not working.This is because of the way console permissions are set
by default. On a multi-user system, one does not necessarily
want just any user to be able to write on the system console.
For users who are logging directly onto a machine with a VTY,
the &man.fbtab.5;
file exists to solve such problems.In a nutshell, make sure an uncommented line of the
form/dev/ttyv0 0600 /dev/consoleis in /etc/fbtab (see
&man.fbtab.5;) and it will ensure that whomever logs in on
/dev/ttyv0 will own the
console.Before, I was able to run &xfree86; as a regular user. Why does
it now say that I must be root?All X servers need to be run as
root in order to get direct access to
your video hardware. Older versions of &xfree86; (<=
3.3.6) installed all bundled servers to be automatically
run as root (setuid to
root). This is obviously a security
hazard because X servers are large, complicated programs.
Newer versions of &xfree86; do not install the servers
setuid to root for just this
reason.Obviously, running an X server as the
root user is not acceptable, nor a
good idea security-wise. There are two ways to be able to
use X as a regular user. The first is to use
xdm or another display manager (e.g.,
kdm); the second is to use the
Xwrapper.xdm is a daemon that handles graphical
logins. It is usually started at boot time, and is responsible
for authenticating users and starting their sessions; it is
essentially the graphical counterpart of
&man.getty.8; and &man.login.1;. For
more information on xdm see
the &xfree86;
documentation, and the the FAQ
entry on it.Xwrapper is the X server wrapper; it is
a small utility to enable one to manually run an X server while
maintaining reasonable safety. It performs some sanity checks
on the command line arguments given, and if they pass, runs the
appropriate X server. If you do not want to run a display
manager for whatever reason, this is for you. If you have
installed the complete ports collection, you can find the port in
/usr/ports/x11/wrapper.Why does my PS/2 mouse misbehave under X?Your mouse and the mouse driver may have somewhat become
out of synchronization.
In rare cases the driver may erroneously report
synchronization problem and you may see the kernel
message:psmintr: out of sync (xxxx != yyyy)and notice that your mouse does not work properly.If this happens, disable the synchronization check code
by setting the driver flags for the PS/2 mouse driver to 0x100.
Enter UserConfig by giving the
option at the boot prompt:boot: -cThen, in the UserConfig command
line, type:UserConfig> flags psm0 0x100
UserConfig> quitWhy does my PS/2 mouse from MouseSystems not
work?There have been some reports that certain model of PS/2
mouse from MouseSystems works only if it is put into the
high resolution mode. Otherwise, the mouse
cursor may jump to the upper-left corner of the screen every
so often.Specify the flags 0x04 to the PS/2 mouse driver to put
the mouse into the high resolution mode. Enter
UserConfig by giving the
option at the boot prompt:boot: -cThen, in the UserConfig command line,
type:UserConfig> flags psm0 0x04
UserConfig> quitSee the previous section for another possible cause of mouse
problems.I want to install different X server.&os; versions prior 5.3 will use the default
&xfree86; 4.X,
while latter versions will default to
&xorg;.
If you want to run a different X11 implementation
than the default one, add the following line to
/etc/make.conf, (if you
do not have this file, create it):X_WINDOW_SYSTEM= xorgThis variable may be set to xorg,
xfree86-4, or
xfree86-3.How do I reverse the mouse buttons?Run the command
xmodmap -e "pointer = 3 2 1" from your
.xinitrc or .xsession.How do I install a splash screen and where do I find
them?&os; have a feature to allow the display of
splash screens during the boot
messages. The splash screens currently must be a 256 color
bitmap (*.BMP) or ZSoft PCX
(*.PCX) file. In addition, they must
have a resolution of 320x200 or less to work on standard
VGA adapters. If you compile VESA support into your
kernel, then you can use larger bitmaps up to 1024x768.
The actual VESA support can either be compiled directly
into the kernel with the VESA kernel
config option or by loading the VESA kld module during
bootup.To use a splash screen, you need to modify the startup
files that control the boot process for &os;.You need to create
a /boot/loader.rc file that contains
the following lines:include /boot/loader.4th
startand a /boot/loader.conf that
contains the following:splash_bmp_load="YES"
bitmap_load="YES"This assumes you are using
/boot/splash.bmp for your splash
screen. If you would rather use a PCX file, copy it to
/boot/splash.pcx, create a
/boot/loader.rc as instructed above,
and create a /boot/loader.conf that
contains:splash_pcx_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.pcx"Now all you need is a splash screen. For that you can
surf on over to the gallery at
.Can I use the &windows;
keys on my keyboard in X?Yes. All you need to do is use &man.xmodmap.1; to define
what function you wish them to perform.Assuming all &windows; keyboards
are standard then the keycodes for the 3 keys are115 - &windows; key, between
the left-hand Ctrl and Alt keys116 - &windows; key, to the
right of the AltGr key117 - Menu key, to the left of
the right-hand Ctrl keyTo have the left &windows; key print a comma,
try this.&prompt.root; xmodmap -e "keycode 115 = comma"You will probably have to re-start your window manager
to see the result.To have the &windows;
key-mappings enabled automatically every time you start X either
put the xmodmap commands in your
~/.xinitrc file or, preferably, create a file
~/.xmodmaprc and include the
xmodmap options, one per line, then add the
linexmodmap $HOME/.xmodmaprcto your ~/.xinitrc.For example, you could map the 3 keys to be
F13, F14, and
F15, respectively. This would make it
easy to map them to useful functions within applications
or your window manager, as demonstrated further
down.To do this put the following in
~/.xmodmaprc.keycode 115 = F13
keycode 116 = F14
keycode 117 = F15If you use fvwm2, for example, you
could map the keys so that F13 iconifies
(or de-iconifies) the window the cursor is in,
F14 brings the window the cursor is in to
the front or, if it is already at the front, pushes it to
the back, and F15 pops up the main
Workplace (application) menu even if the cursor is not on
the desktop, which is useful if you do not have any part
of the desktop visible (and the logo on the key matches
its functionality).The following entries in
~/.fvwmrc implement the
aforementioned setup:Key F13 FTIWS A Iconify
Key F14 FTIWS A RaiseLower
Key F15 A A Menu Workplace NopHow can I get 3D hardware acceleration for
&opengl;?The availability of 3D acceleration depends on the
version of &xfree86; or &xorg; that you are using and the type of video chip
you have. If you have an NVIDIA chip, you can use the binary
drivers provided for FreeBSD on the
Drivers section of their website. For other cards
with &xfree86;-4 or &xorg;, including the Matrox G200/G400, ATI Rage
128/Radeon, and 3dfx Voodoo 3, 4, 5, and Banshee,
information on hardware acceleration is available on the
XFree86-4
Direct Rendering on FreeBSD page.ΔικτύωσηWhere can I get information on
diskless booting?Diskless booting means that the FreeBSD
box is booted over a network, and reads the necessary files
from a server instead of its hard disk. For full details,
please read the
Handbook entry on diskless bootingCan a FreeBSD box be used as a dedicated network
router?Yes. Please see the Handbook entry on advanced
networking, specifically the section on routing
and gateways.Can I connect my &windows; box to the Internet via
FreeBSD?Typically, people who ask this question have two PCs
at home, one with FreeBSD and one with some version of
&windows; the idea is to use the FreeBSD box to connect to
the Internet and then be able to access the Internet from
the &windows; box through the FreeBSD box. This is really
just a special case of the previous question and works
perfectly well.If you are using dialup to connect to the Internet
user-mode &man.ppp.8; contains a
option. If you run &man.ppp.8; with the
option, set
gateway_enable to
YES in
/etc/rc.conf, and configure your
&windows; machine correctly, this should work fine. For more
information, please see the &man.ppp.8; manual page or the
Handbook entry on
user PPP.If you are using kernel-mode PPP or have an Ethernet
connection to the Internet, you need to use
&man.natd.8;. Please look at the natd section
of the Handbook for a tutorial.Does FreeBSD support SLIP and PPP?Yes. See the manual pages for &man.slattach.8;,
&man.sliplogin.8;, &man.ppp.8;, and &man.pppd.8;. &man.ppp.8;
and &man.pppd.8; provide support for both incoming and outgoing
connections, while &man.sliplogin.8; deals exclusively with
incoming connections, and &man.slattach.8; deals exclusively
with outgoing connections.For more information on how to use these, please see the
Handbook chapter on
PPP and SLIP.If you only have access to the Internet through a
shell account, you may want to have a look
at the net/slirp
package. It can provide you with (limited) access to
services such as ftp and http direct from your local
machine.Does FreeBSD support NAT or Masquerading?Yes. If you want to use NAT over a user PPP
connection, please see the Handbook entry on user
PPP. If you want to use NAT over some other sort
of network connection, please look at the natd section
of the Handbook.How do I connect two FreeBSD systems over a parallel line
using PLIP?Please see the PLIP
section of the Handbook.Why can I not create a /dev/ed0
device?Because they are not necessary. In the Berkeley
networking framework, network interfaces are only directly
accessible by kernel code. Please see the
/etc/rc.network file and the manual
pages for the various network programs mentioned there for
more information. If this leaves you totally confused,
then you should pick up a book describing network
administration on another BSD-related operating system;
with few significant exceptions, administering networking
on FreeBSD is basically the same as on &sunos; 4.0 or
Ultrix.How can I set up Ethernet aliases?If the alias is on the same subnet as an address
already configured on the interface, then add
netmask 0xffffffff to your
&man.ifconfig.8; command-line, as in the following:&prompt.root; ifconfig ed0 alias 192.0.2.2 netmask 0xffffffffOtherwise, just specify the network address and
netmask as usual:&prompt.root; ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00How do I get my 3C503 to use the other network
port?If you want to use the other ports, you will have to specify
an additional parameter on the
&man.ifconfig.8; command line. The default port is
link0. To use the AUI port instead of the
BNC one, use link2. These flags should be
specified using the ifconfig_* variables in
/etc/rc.conf (see &man.rc.conf.5;).Why am I having trouble with NFS and FreeBSD?Certain PC network cards are better than others (to put
it mildly) and can sometimes cause problems with network
intensive applications like NFS.See
the Handbook entry on NFS for more information on
this topic.Why can I not NFS-mount from a &linux; box?Some versions of the &linux; NFS code only accept mount
requests from a privileged port; try&prompt.root; mount -o -P linuxbox:/blah /mntWhy can I not NFS-mount from a Sun box?&sun; workstations running &sunos; 4.X only accept mount
requests from a privileged port; try&prompt.root; mount -o -P sunbox:/blah /mntWhy does mountd keep telling me it
can't change attributes and that I have a
bad exports list on my FreeBSD NFS
server?The most frequent problem is not understanding the
correct format of /etc/exports.
Please review &man.exports.5; and the NFS entry in the
Handbook, especially the section on configuring
NFS.Why am I having problems talking PPP to NeXTStep
machines?Try disabling the TCP extensions in
/etc/rc.conf (see &man.rc.conf.5;) by
changing the following variable to NO:tcp_extensions=NOXylogic's Annex boxes are also broken in this regard
and you must use the above change to connect through
them.How do I enable IP multicast support?FreeBSD supports multicast host operations by
default. If you want your box to run as a multicast
router, you need to recompile your kernel with the
MROUTING option and run
&man.mrouted.8;. FreeBSD will start &man.mrouted.8; at
boot time if the flag mrouted_enable is
set to "YES" in
/etc/rc.conf.MBONE tools are available in their own ports category,
mbone.
If you are looking for the conference tools
vic and vat, look
there!Which network cards are based on the DEC PCI
chipset?Here is a list compiled by Glen Foster
gfoster@driver.nsta.org,
with some more modern additions:
Network cards based on the DEC PCI chipsetVendorModelASUSPCI-L101-TBAcctonENI1203CogentEM960PCICompexENET32-PCID-LinkDE-530DaynaDP1203, DP2100DECDE435, DE450DanpexEN-9400P3JCISCondor JC1260LinksysEtherPCIMylexLNP101SMCEtherPower 10/100 (Model 9332)SMCEtherPower (Model 8432)TopWareTE-3500PZnyx (2.2.x)ZX312, ZX314, ZX342, ZX345, ZX346, ZX348Znyx (3.x)ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, ZX444,
ZX474, ZX478, ZX212, ZX214 (10mbps/hd)
Why do I have to use the FQDN for hosts on my
site?You will probably find that the host is actually in a
different domain; for example, if you are in foo.example.org and
you wish to reach a host called mumble in the
example.org domain, you will
have to refer to it by the fully-qualified domain name, mumble.example.org, instead of just
mumble.Traditionally, this was allowed by BSD BIND resolvers.
However the current version of
bind (see &man.named.8;)
that ships with FreeBSD no longer provides default
abbreviations for non-fully qualified domain names other than
the domain you are in. So an unqualified host
mumble must either be found as mumble.foo.example.org, or it will be searched
for in the root domain.This is different from the previous behavior, where the
search continued across
mumble.example.org, and
mumble.edu. Have a look at
RFC 1535 for why this was considered bad practice, or even a
security hole.As a good workaround, you can place the linesearch foo.example.org example.orginstead of the previousdomain foo.example.orginto your /etc/resolv.conf file
(see &man.resolv.conf.5;). However, make sure that the
search order does not go beyond the boundary
between local and public administration, as RFC
1535 calls it.Why do I get an error, Permission
denied, for all networking operations?If you have compiled your kernel with the
IPFIREWALL option, you need to be aware
that the default policy is to deny all packets that are
not explicitly allowed.If you had unintentionally misconfigured your system
for firewalling, you can restore network operability by
typing the following while logged in as
root:&prompt.root; ipfw add 65534 allow all from any to anyYou can also set
firewall_type="open" in
/etc/rc.conf.For further information on configuring a FreeBSD
firewall, see the
Handbook chapter.How much overhead does IPFW incur?Please see the Handbook's Firewalls
section, specifically the section on IPFW
Overhead & Optimization.Why is my ipfwfwd rule
to redirect a service to another machine not working?Possibly because you want to do network address translation
(NAT) and not just forward packets. A fwd rule
does exactly what it says; it forwards packets. It does not
actually change the data inside the packet. Say we have a rule
like:01000 fwd 10.0.0.1 from any to foo 21When a packet with a destination address of
foo arrives at the machine with this
rule, the packet is forwarded to
10.0.0.1, but it still has the
destination address of foo! The
destination address of the packet is not
changed to 10.0.0.1. Most machines
would probably drop a packet that they receive with a
destination address that is not their own. Therefore, using a
fwd rule does not often work the way the user
expects. This behavior is a feature and not a bug.See the FAQ about
redirecting services, the &man.natd.8; manual, or one of
the several port redirecting utilities in the ports collection for a correct way to do
this.How can I redirect service requests from one machine to
another?You can redirect FTP (and other service) request with
the socket package, available in the ports
tree in category sysutils. Simply replace the
service's command line to call socket instead, like so:ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.example.comftpwhere ftp.example.com and
ftp are the host and port to
redirect to, respectively.Where can I get a bandwidth management tool?There are three bandwidth management tools available
for FreeBSD. &man.dummynet.4; is integrated into FreeBSD
as part of &man.ipfw.4;. ALTQ
is available for free on FreeBSD 4.X and has been
integrated into FreeBSD 5.X as part of &man.pf.4;.
Bandwidth Manager from Emerging Technologies
is a commercial product.Why do I get /dev/bpf0: device not
configured?You are running a program that requires the Berkeley
Packet Filter (&man.bpf.4;), but it is not in your kernel.
Add this to your kernel config file and build a new
kernel:pseudo-device bpf # Berkeley Packet FilterOn FreeBSD 4.X and earlier, you must also create the
device node. After rebooting, go to the
/dev directory and run:&prompt.root; sh MAKEDEV bpf0Please see the Handbook entry
on device nodes for more information on managing
devices.How do I mount a disk from a &windows; machine that is on my
network, like smbmount in &linux;?Use the SMBFS toolset. It
includes a set of kernel modifications and a set of
userland programs. The programs and information are
available as net/smbfs
in the ports collection, or in the base system as of
4.5-RELEASE and later.What are these messages about icmp-response
bandwidth limit 300/200 pps in my log
files?This is the kernel telling you that some activity is
provoking it to send more ICMP or TCP reset (RST)
responses than it thinks it should. ICMP responses are
often generated as a result of attempted connections to
unused UDP ports. TCP resets are generated as a result of
attempted connections to unopened TCP ports. Among
others, these are the kinds of activities which may cause
these messages:Brute-force denial of service (DoS) attacks (as
opposed to single-packet attacks which exploit a
specific vulnerability).Port scans which attempt to connect to a large
number of ports (as opposed to only trying a few
well-known ports).The first number in the message tells you how many
packets the kernel would have sent if the limit was not in
place, and the second number tells you the limit. You can
control the limit using the
net.inet.icmp.icmplim sysctl variable
like this, where 300 is the limit in
packets per second:&prompt.root; sysctl -w net.inet.icmp.icmplim=300If you do not want to see messages about this in your
log files, but you still want the kernel to do response
limiting, you can use the
net.inet.icmp.icmplim_output sysctl
variable to disable the output like this:&prompt.root; sysctl -w net.inet.icmp.icmplim_output=0Finally, if you want to disable response limiting, you
can set the net.inet.icmp.icmplim
sysctl variable (see above for an example) to
0. Disabling response limiting is
discouraged for the reasons listed above.What are these arp: unknown hardware
address format error messages?This means that some device on your local Ethernet is
using a MAC address in a format that FreeBSD does not
recognize. This is probably caused by someone
experimenting with an Ethernet card somewhere else on the
network. You will see this most commonly on cable modem
networks. It is harmless, and should not affect the
performance of your FreeBSD machine.I have just installed CVSup but trying to execute it
produces errors. What is wrong?First, see if the error message you are receiving is
like the one shown below./usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not foundErrors like these are caused by installing the
net/cvsup port on a
machine which does not have the
&xfree86; suite. If you want to
use the GUI included with
CVSup you will need to install
&xfree86; now. Alternatively if
you just wish to use CVSup from
a command line you should delete the package previously
installed. Then install the net/cvsup-without-gui port. This
is covered in more detail in the CVSup
section of the Handbook.ΑσφάλειαWhat is a sandbox?Sandbox is a security term. It can
mean two things:A process which is placed inside a set of virtual
walls that are designed to prevent someone who breaks
into the process from being able to break into the wider
system.The process is said to be able to
play inside the walls. That is,
nothing the process does in regards to executing code is
supposed to be able to breech the walls so you do not
have to do a detailed audit of its code to be able to
say certain things about its security.The walls might be a userid, for example. This is
the definition used in the &man.security.7; and &man.named.8; man
pages.Take the ntalk service, for
example (see /etc/inetd.conf). This service used to run
as userid root. Now it runs as userid
tty. The tty user
is a sandbox designed to make it more difficult for
someone who has successfully hacked into the system via
ntalk from being able to hack beyond that user id.A process which is placed inside a simulation of the
machine. This is more hard-core. Basically it means that
someone who is able to break into the process may believe
that he can break into the wider machine but is, in fact,
only breaking into a simulation of that machine and not
modifying any real data.The most common way to accomplish this is to build a
simulated environment in a subdirectory and then run the
processes in that directory chroot'd (i.e.
/ for that process is this
directory, not the real / of the
system).Another common use is to mount an underlying
filesystem read-only and then create a filesystem layer
on top of it that gives a process a seemingly writeable
view into that filesystem. The process may believe it is
able to write to those files, but only the process sees
the effects - other processes in the system do not,
necessarily.An attempt is made to make this sort of sandbox so
transparent that the user (or hacker) does not realize
that he is sitting in it.&unix; implements two core sandboxes. One is at the
process level, and one is at the userid level.Every &unix; process is completely firewalled off from every
other &unix; process. One process cannot modify the address
space of another. This is unlike &windows; where a process
can easily overwrite the address space of any other, leading
to a crash.A &unix; process is owned by a particular userid. If
the userid is not the root user, it
serves to firewall the process off from processes owned by
other users. The userid is also used to firewall off
on-disk data.What is securelevel?The securelevel is a security mechanism implemented in the
kernel. Basically, when the securelevel is positive, the
kernel restricts certain tasks; not even the superuser (i.e.,
root) is allowed to do them. At the time
of this writing, the securelevel mechanism is capable of, among
other things, limiting the ability to,unset certain file flags, such as
schg (the system immutable flag),write to kernel memory via
/dev/mem and
/dev/kmem,load kernel modules, andalter firewall rules.To check the status of the securelevel on a running system,
simply execute the following command:&prompt.root; sysctl kern.securelevelThe output will contain the name of the &man.sysctl.8;
variable (in this case, kern.securelevel)
and a number. The latter is the current value of the
securelevel. If it is positive (i.e., greater than 0), at
least some of the securelevel's protections are enabled.You cannot lower the securelevel of a running system; being
able to do that would defeat its purpose. If you need to do a
task that requires that the securelevel be non-positive (e.g.,
an installworld or changing the date),
you will have to change the securelevel setting in
/etc/rc.conf (you want to look for the
kern_securelevel and
kern_securelevel_enable variables) and
reboot.For more information on securelevel and the specific things
all the levels do, please consult the &man.init.8; manual
page.Securelevel is not a silver bullet; it has many known
deficiencies. More often than not, it provides a false
sense of security.One of its biggest problems is that in order for it to
be at all effective, all files used in the boot process up
until the securelevel is set must be protected. If an
attacker can get the system to execute their code prior to
the securelevel being set (which happens quite late in the
boot process since some things the system must do at
start-up cannot be done at an elevated securelevel), its
protections are invalidated. While this task of protecting
all files used in the boot process is not technically
impossible, if it is achieved, system maintenance will
become a nightmare since one would have to take the system
down, at least to single-user mode, to modify a
configuration file.This point and others are often discussed on the
mailing lists, particularly the &a.security;. Please search
the archives here for an
extensive discussion. Some people are hopeful that
securelevel will soon go away in favor of a more
fine-grained mechanism, but things are still hazy in this
respect.Consider yourself warned.BIND (named) is listening on port 53 and
some other high-numbered port. What is going on?BIND uses a random high-numbered port for outgoing
queries. If you want to use port 53 for outgoing queries,
either to get past a firewall or to make yourself feel
better, you can try the following in
/etc/namedb/named.conf:options {
query-source address * port 53;
};You can replace the * with a single IP
address if you want to tighten things further.Congratulations, by the way. It is good practice to read
your &man.sockstat.1; output and notice odd
things!Sendmail is listening on port 587 as well as the
standard port 25! What is going on?Recent versions of Sendmail support a
mail submission feature that runs over port 587. This is
not yet widely supported, but is growing in
popularity.What is this UID 0 toor account? Have I
been compromised?Do not worry. toor is an
alternative superuser account (toor is root
spelt backwards). Previously it was created when the
&man.bash.1; shell was installed but now it is created by
default. It is intended to be used with a non-standard shell so
you do not have to change root's default
shell. This is important as shells which are not part of the
base distribution (for example a shell installed from ports or
packages) are likely to be installed in
/usr/local/bin which, by default, resides
on a different filesystem. If root's shell
is located in /usr/local/bin and
/usr (or whatever filesystem contains
/usr/local/bin) is not mounted for some
reason, root will not be able to log in to
fix a problem (although if you reboot into single user mode
you will be prompted for the path to a shell).Some people use toor for
day-to-day root tasks with a
non-standard shell, leaving root,
with a standard shell, for single user mode or
emergencies. By default you cannot log in using
toor as it does not have a password,
so log in as root and set a password
for toor if you want to use
it.Why is suidperl not working
properly?For security reasons, suidperl is
installed without the suid bit by default. The system
administrator can enable suid behavior with the following
command.&prompt.root; chmod u+s /usr/bin/suidperlIf you want suidperl to be built
suid during upgrades from source, edit
/etc/make.conf and add
ENABLE_SUIDPERL=true before you run
make buildworld.PPPI cannot make &man.ppp.8; work. What am I doing wrong?You should first read the &man.ppp.8; manual page and
the
PPP section of the handbook. Enable logging with
the commandset log Phase Chat Connect Carrier lcp ipcp ccp commandThis command may be typed at the &man.ppp.8; command
prompt or it may be entered in the
/etc/ppp/ppp.conf configuration file
(the start of the default section is
the best place to put it). Make sure that
/etc/syslog.conf (see
&man.syslog.conf.5;) contains the lines!ppp
*.* /var/log/ppp.logand that the file /var/log/ppp.log
exists. You can now find out a lot about what is going on
from the log file. Do not worry if it does not all make sense.
If you need to get help from someone, it may make sense to
them.Why does &man.ppp.8; hang when I run it?This is usually because your hostname will not resolve.
The best way to fix this is to make sure that
/etc/hosts is consulted by your
resolver first by editing /etc/host.conf
and putting the hosts line first. Then,
simply put an entry in /etc/hosts for
your local machine. If you have no local network, change your
localhost line:127.0.0.1 foo.example.com foo localhostOtherwise, simply add another entry for your host.
Consult the relevant manual pages for more details.You should be able to successfully ping -c1
`hostname` when you are done.Why will &man.ppp.8; not dial in -auto
mode?First, check that you have got a default route. By
running netstat -rn (see
&man.netstat.1;), you should see two entries like
this:Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.2 UGSc 0 0 tun0
10.0.0.2 10.0.0.1 UH 0 0 tun0This is assuming that you have used the addresses from the
handbook, the manual page or from the ppp.conf.sample file.
If you do not have a default route, it may be because you are
running an old version of &man.ppp.8;
that does not understand the word HISADDR
in the ppp.conf file.Another reason for the default route line being
missing is that you have mistakenly set up a default
router in your /etc/rc.conf (see
&man.rc.conf.5;) file
and you have omitted the line sayingdelete ALLfrom ppp.conf. If this is the
case, go back to the Final
system configuration section of the
handbook.What does No route to host mean?This error is usually due to a missingMYADDR:
delete ALL
add 0 0 HISADDRsection in your /etc/ppp/ppp.linkup
file. This is only necessary if you have a dynamic IP address
or do not know the address of your gateway. If you are using
interactive mode, you can type the following after entering
packet mode (packet mode is
indicated by the capitalized PPP in the
prompt):delete ALL
add 0 0 HISADDRRefer to the
PPP and Dynamic IP addresses section of the handbook
for further details.Why does my connection drop after about 3 minutes?The default PPP timeout is 3 minutes. This can be
adjusted with the lineset timeout NNNwhere NNN is the number of
seconds of inactivity before the connection is closed. If
NNN is zero, the connection is never
closed due to a timeout. It is possible to put this command in
the ppp.conf file, or to type it at the
prompt in interactive mode. It is also possible to adjust it on
the fly while the line is active by connecting to
ppp's server socket using
&man.telnet.1; or &man.pppctl.8;.
Refer to the
&man.ppp.8; man
page for further details.Why does my connection drop under heavy load?If you have Link Quality Reporting (LQR) configured,
it is possible that too many LQR packets are lost between
your machine and the peer. Ppp deduces that the line must
therefore be bad, and disconnects. Prior to FreeBSD version
2.2.5, LQR was enabled by default. It is now disabled by
default. LQR can be disabled with the linedisable lqrWhy does my connection drop after a random amount of
time?Sometimes, on a noisy phone line or even on a line with
call waiting enabled, your modem may hang up because it
thinks (incorrectly) that it lost carrier.There is a setting on most modems for determining how
tolerant it should be to temporary losses of carrier. On a
USR &sportster; for example, this is measured by the S10
register in tenths of a second. To make your modem more
forgiving, you could add the following send-expect sequence
to your dial string:set dial "...... ATS10=10 OK ......"Refer to your modem manual for details.Why does my connection hang after a random amount of
time?Many people experience hung connections with no apparent
explanation. The first thing to establish is which side of
the link is hung.If you are using an external modem, you can simply try
using &man.ping.8; to see if the TD
light is flashing when you transmit data. If it flashes
(and the RD light does not), the
problem is with the remote end. If TD
does not flash, the problem is local. With an internal
modem, you will need to use the set
server command in your
ppp.conf file. When the hang occurs,
connect to &man.ppp.8; using &man.pppctl.8;. If your
network connection suddenly revives (PPP was revived due
to the activity on the diagnostic socket) or if you cannot
connect (assuming the set socket
command succeeded at startup time), the problem is
local. If you can connect and things are still hung,
enable local async logging with set log local
async and use &man.ping.8; from another window
or terminal to make use of the link. The async logging
will show you the data being transmitted and received on
the link. If data is going out and not coming back, the
problem is remote.Having established whether the problem is local or remote,
you now have two possibilities:If the problem is remote, read on entry .If the problem is local, read on entry .The remote end is not responding. What can I do?There is very little you can do about this. Most ISPs
will refuse to help if you are not running a Microsoft OS.
You can enable lqr in your
ppp.conf file, allowing &man.ppp.8; to detect
the remote failure and hang up, but this detection is
relatively slow and therefore not that useful. You may want to
avoid telling your ISP that you are running user-PPP...First, try disabling all local compression by adding the
following to your configuration:disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
deny pred1 deflate deflate24 protocomp acfcomp shortseq vjThen reconnect to ensure that this makes no difference.
If things improve or if the problem is solved completely,
determine which setting makes the difference through trial
and error. This will provide good ammunition when you contact
your ISP (although it may make it apparent that you are not
running a Microsoft product).Before contacting your ISP, enable async logging
locally and wait until the connection hangs again. This
may use up quite a bit of disk space. The last data read
from the port may be of interest. It is usually ascii
data, and may even describe the problem (Memory
fault, core dumped?).If your ISP is helpful, they should be able to enable
logging on their end, then when the next link drop occurs,
they may be able to tell you why their side is having a
problem. Feel free to send the details to &a.brian;, or
even to ask your ISP to contact me directly.&man.ppp.8; has hung. What can I do?Your best bet here is to rebuild &man.ppp.8; by adding
CFLAGS+=-g and
STRIP= to the end of the Makefile, then
doing a make clean && make &&
make install. When &man.ppp.8; hangs, find the
&man.ppp.8; process id with ps ajxww | fgrep
ppp and run gdb ppp
PID. From the gdb
prompt, you can then use bt to get a
stack trace.Send the results to &a.brian;.Why does nothing happen after the Login OK!
message?Prior to FreeBSD version 2.2.5, once the link was
established, &man.ppp.8; would wait for the peer to
initiate the Line Control Protocol (LCP). Many ISPs will
not initiate negotiations and expect the client to do so.
To force &man.ppp.8; to initiate the LCP, use the
following line:set openmode activeIt usually does no harm if both sides initiate
negotiation, so openmode is now active by default.
However, the next section explains when it
does do some harm.I keep seeing errors about magic being the same. What does
it mean?Occasionally, just after connecting, you may see messages
in the log that say magic is the same.
Sometimes, these messages are harmless, and sometimes one side
or the other exits. Most PPP implementations cannot survive
this problem, and even if the link seems to come up, you will see
repeated configure requests and configure acknowledgments in
the log file until &man.ppp.8; eventually gives up and closes the
connection.This normally happens on server machines with slow
disks that are spawning a getty on the port, and executing
&man.ppp.8; from a login script or program after login. I
have also heard reports of it happening consistently when
using slirp. The reason is that in the time taken between
&man.getty.8; exiting and &man.ppp.8; starting, the
client-side &man.ppp.8; starts sending Line Control
Protocol (LCP) packets. Because ECHO is still switched on
for the port on the server, the client &man.ppp.8; sees
these packets reflect back.One part of the LCP negotiation is to establish a
magic number for each side of the link so that
reflections can be detected. The protocol
says that when the peer tries to negotiate the same magic
number, a NAK should be sent and a new magic number should
be chosen. During the period that the server port has
ECHO turned on, the client &man.ppp.8; sends LCP packets,
sees the same magic in the reflected packet and NAKs
it. It also sees the NAK reflect (which also means
&man.ppp.8; must change its magic). This produces a
potentially enormous number of magic number changes, all
of which are happily piling into the server's tty
buffer. As soon as &man.ppp.8; starts on the server, it is
flooded with magic number changes and almost immediately
decides it has tried enough to negotiate LCP and gives
up. Meanwhile, the client, who no longer sees the
reflections, becomes happy just in time to see a hangup
from the server.This can be avoided by allowing the peer to start
negotiating with the following line in your ppp.conf
file:set openmode passiveThis tells &man.ppp.8; to wait for the server to initiate LCP
negotiations. Some servers however may never initiate
negotiations. If this is the case, you can do something
like:set openmode active 3This tells &man.ppp.8; to be passive for 3 seconds, and then to
start sending LCP requests. If the peer starts sending
requests during this period, &man.ppp.8; will immediately respond
rather than waiting for the full 3 second period.LCP negotiations continue until the connection is
closed. What is wrong?There is currently an implementation mis-feature in
&man.ppp.8; where it does not associate
LCP, CCP & IPCP responses with their original requests. As
a result, if one PPP
implementation is more than 6 seconds slower than the other
side, the other side will send two additional LCP configuration
requests. This is fatal.Consider two implementations,
A and
B. A starts
sending LCP requests immediately after connecting and
B takes 7 seconds to start. When
B starts, A
has sent 3 LCP REQs. We are assuming the line has ECHO switched
off, otherwise we would see magic number problems as described in
the previous section. B sends a
REQ, then an ACK to the first of
A's REQs. This results in
A entering the OPENED
state and sending and ACK (the first) back to
B. In the meantime,
B sends back two more ACKs in response to
the two additional REQs sent by A
before B started up.
B then receives the first ACK from
A and enters the
OPENED state.
A receives the second ACK from
B and goes back to the
REQ-SENT state, sending another (forth) REQ
as per the RFC. It then receives the third ACK and enters the
OPENED state. In the meantime,
B receives the forth REQ from
A, resulting in it reverting to the
ACK-SENT state and sending
another (second) REQ and (forth) ACK as per the RFC.
A gets the REQ, goes into
REQ-SENT and sends another REQ. It
immediately receives the following ACK and enters
OPENED.This goes on until one side figures out that they are
getting nowhere and gives up.The best way to avoid this is to configure one side to be
passive - that is, make one side
wait for the other to start negotiating. This can be done
with theset openmode passivecommand. Care should be taken with this option. You
should also use theset stopped Ncommand to limit the amount of time that
&man.ppp.8; waits for the peer to begin
negotiations. Alternatively, theset openmode active Ncommand (where N is the
number of seconds to wait before starting negotiations) can be
used. Check the manual page for details.Why does &man.ppp.8; lock up when I shell out to test
it?When you execute the shell or
! command, &man.ppp.8; executes a
shell (or if you have passed any arguments,
&man.ppp.8; will execute those arguments). Ppp will
wait for the command to complete before continuing. If you
attempt to use the PPP link while running the command, the link
will appear to have frozen. This is because
&man.ppp.8; is waiting for the command to
complete.If you wish to execute commands like this, use the
!bg command instead. This will execute
the given command in the background, and &man.ppp.8; can
continue to service the link.Why does &man.ppp.8; over a null-modem cable never exit?There is no way for &man.ppp.8; to
automatically determine that a direct connection has been
dropped. This is due to the lines that are used in a
null-modem serial cable. When using this sort of connection,
LQR should always be enabled with the lineenable lqrLQR is accepted by default if negotiated by the peer.Why does &man.ppp.8; dial for no reason in -auto mode?If &man.ppp.8; is dialing unexpectedly, you must
determine the cause, and set up Dial filters (dfilters) to
prevent such dialing.To determine the cause, use the following line:set log +tcp/ipThis will log all traffic through the connection. The
next time the line comes up unexpectedly, you will see the
reason logged with a convenient timestamp next to
it.You can now disable dialing under these circumstances.
Usually, this sort of problem arises due to DNS lookups.
To prevent DNS lookups from establishing a connection
(this will not prevent &man.ppp.8;
from passing the packets through an established
connection), use the following:set dfilter 1 deny udp src eq 53
set dfilter 2 deny udp dst eq 53
set dfilter 3 permit 0/0 0/0This is not always suitable, as it will effectively
break your demand-dial capabilities - most programs will
need a DNS lookup before doing any other network related
things.In the DNS case, you should try to determine what is
actually trying to resolve a host name. A lot of the
time, &man.sendmail.8; is the culprit. You should make
sure that you tell sendmail not to do any DNS lookups in
its configuration file. See the section on using email with a
dialup connection in the FreeBSD Handbook for
details on how to create your own configuration file and
what should go into it. You may also want to add the
following line to your .mc
file:define(`confDELIVERY_MODE', `d')dnlThis will make sendmail queue everything until the
queue is run (usually, sendmail is invoked with
, telling it to run the queue
every 30 minutes) or until a sendmail
-q is done (perhaps from your ppp.linkup
file).What do these CCP errors mean?I keep seeing the following errors in my log file:CCP: CcpSendConfigReq
CCP: Received Terminate Ack (1) state = Req-Sent (6)This is because &man.ppp.8; is trying to negotiate Predictor1
compression, and the peer does not want to negotiate any
compression at all. The messages are harmless, but if you
wish to remove them, you can disable Predictor1 compression
locally too:disable pred1Why does &man.ppp.8; not log my connection speed?In order to log all lines of your modem
conversation, you must enable the
following:set log +connectThis will make &man.ppp.8; log
everything up until the last requested expect
string.If you wish to see your connect speed and are using PAP
or CHAP (and therefore do not have anything to
chat after the CONNECT in the dial script - no
set login script), you must make sure that
you instruct &man.ppp.8; to expect the whole CONNECT
line, something like this:set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \
\"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"Here, we get our CONNECT, send nothing, then expect a
line-feed, forcing &man.ppp.8; to read
the whole CONNECT response.Why does &man.ppp.8; ignore the \ character
in my chat script?Ppp parses each line in your config files so that it can
interpret strings such as
set phone "123 456 789" correctly and
realize that the number is actually only
one argument. In order to specify a
" character, you must escape it
using a backslash (\).When the chat interpreter parses each argument, it
re-interprets the argument in order to find any special
escape sequences such as \P or
\T (see the manual page). As a result of this
double-parsing, you must remember to use the correct number of
escapes.If you wish to actually send a \
character to (say) your modem, you would need something
like:set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"resulting in the following sequence:ATZ
OK
AT\X
OKorset phone 1234567
set dial "\"\" ATZ OK ATDT\\T"resulting in the following sequence:ATZ
OK
ATDT1234567Why does &man.ppp.8; get a seg-fault, but I see no
ppp.core file?Ppp (or any other program for that matter) should
never dump core. Because &man.ppp.8; runs with an
effective user id of 0, the operating system will not
write &man.ppp.8;'s core image to disk before terminating
it. If, however &man.ppp.8; is actually terminating due
to a segmentation violation or some other signal that
normally causes core to be dumped,
and you are sure you are using the
latest version (see the start of this section), then you
should do the following:&prompt.user; tar xfz ppp-*.src.tar.gz
&prompt.user; cd ppp*/ppp
&prompt.user; echo STRIP= >>Makefile
&prompt.user; echo CFLAGS+=-g >>Makefile
&prompt.user; make clean all
&prompt.user; su
&prompt.root; make install
&prompt.root; chmod 555 /usr/sbin/pppYou will now have a debuggable version of &man.ppp.8;
installed. You will have to be root
to run &man.ppp.8; as all of its privileges have been
revoked. When you start &man.ppp.8;, take a careful note
of what your current directory was at the time.Now, if and when &man.ppp.8; receives the segmentation
violation, it will dump a core file called
ppp.core. You should then do the
following:&prompt.user; su
&prompt.root; gdb /usr/sbin/ppp ppp.core(gdb)bt
.....
(gdb)f 0
....
(gdb)i args
....
(gdb)l
.....All of this information should be given alongside your
question, making it possible to diagnose the problem.If you are familiar with gdb, you may wish to find out some
other bits and pieces such as what actually caused the dump and
the addresses & values of the relevant variables.Why does the process that forces a dial in auto mode never
connect?This was a known problem with
&man.ppp.8; set up to negotiate a
dynamic local IP number with the peer in auto mode. It is
fixed in the latest version - search the manual page for
iface.The problem was that when that initial program calls
&man.connect.2;, the IP number of the tun interface is assigned
to the socket endpoint. The kernel creates the first outgoing
packet and writes it to the tun device.
&man.ppp.8; then reads the packet and
establishes a connection. If, as a result of
&man.ppp.8;'s dynamic IP assignment, the
interface address is changed, the original socket endpoint will
be invalid. Any subsequent packets sent to the peer will
usually be dropped. Even if they are not, any responses will
not route back to the originating machine as the IP number is
no longer owned by that machine.There are several theoretical ways to approach this
problem. It would be nicest if the peer would re-assign the
same IP number if possible :-)
The current version of &man.ppp.8; does
this, but most other implementations do not.The easiest method from our side would be to never
change the tun interface IP number, but instead to change
all outgoing packets so that the source IP number is
changed from the interface IP to the negotiated IP on the
fly. This is essentially what the
iface-alias option in the latest
version of &man.ppp.8; is doing (with the help of
&man.libalias.3; and &man.ppp.8;'s
switch) - it is maintaining all previous interface
addresses and NATing them to the last negotiated
address.Another alternative (and probably the most reliable) would
be to implement a system call that changes all bound sockets
from one IP to another. &man.ppp.8; would
use this call to modify the sockets of all existing programs
when a new IP number is negotiated. The same system call could
be used by dhcp clients when they are forced to re-bind() their
sockets.Yet another possibility is to allow an interface to be
brought up without an IP number. Outgoing packets would be
given an IP number of 255.255.255.255 up until the first
SIOCAIFADDR ioctl is done. This would result in fully binding
the socket. It would be up to &man.ppp.8;
to change the source IP number, but only if it is set to
255.255.255.255, and only the IP number and IP checksum would
need to change. This, however is a bit of a hack as the kernel
would be sending bad packets to an improperly configured
interface, on the assumption that some other mechanism is
capable of fixing things retrospectively.Why do most games not work with the -nat switch?The reason games and the like do not work when libalias
is in use is that the machine on the outside will try to open a
connection or send (unsolicited) UDP packets to the machine on
the inside. The NAT software does not know that it should send
these packets to the interior machine.To make things work, make sure that the only thing
running is the software that you are having problems with, then
either run tcpdump on the tun interface of the gateway or
enable &man.ppp.8; tcp/ip logging (set log +tcp/ip)
on the gateway.When you start the offending software, you should see
packets passing through the gateway machine. When
something comes back from the outside, it will be dropped
(that is the problem). Note the port number of these
packets then shut down the offending software. Do this a
few times to see if the port numbers are consistent. If
they are, then the following line in the relevant section
of /etc/ppp/ppp.conf will make the
software functional:nat port protointernalmachine:portportwhere proto is either
tcp or udp,
internalmachine is the machine that
you want the packets to be sent to and
port is the destination port number
of the packets.You will not be able to use the software on other machines
without changing the above command, and running the software
on two internal machines at the same time is out of the question
- after all, the outside world is seeing your entire internal
network as being just a single machine.If the port numbers are not consistent, there are three
more options:Submit support in libalias. Examples of
special cases can be found in
/usr/src/lib/libalias/alias_*.c
(alias_ftp.c is a good
prototype). This usually involves reading certain
recognised outgoing packets, identifying the
instruction that tells the outside machine to initiate
a connection back to the internal machine on a
specific (random) port and setting up a
route in the alias table so that the
subsequent packets know where to go.This is the most difficult solution, but it is the
best and will make the software work with multiple
machines.Use a proxy. The application may support socks5
for example, or (as in the cvsup case)
may have a passive option that avoids
ever requesting that the peer open connections back to
the local machine.Redirect everything to the internal machine using
nat addr. This is the
sledge-hammer approach.Has anybody made a list of useful port numbers?Not yet, but this is intended to grow into such a list
(if any interest is shown). In each example,
internal should be replaced with
the IP number of the machine playing the game.Asheron's Callnat port udp
internal
:65000 65000Manually change the port number within the game to
65000. If you have got a number of machines that you wish
to play on assign a unique port number for each (i.e.
65001, 65002, etc) and add a nat port
line for each one.Half Lifenat port udp
internal:27005
27015PCAnywhere 8.0nat port udp
internal:5632
5632nat port tcp
internal:5631
5631Quakenat port udp
internal:6112
6112Quake 2nat port udp
internal:27901
27910nat port udp
internal:60021
60021nat port udp
internal:60040
60040Red Alertnat port udp
internal:8675
8675nat port udp
internal:5009
5009What are FCS errors?FCS stands for Frame
Check Sequence.
Each PPP packet has a checksum attached to ensure that the
data being received is the data being sent. If the FCS of
an incoming packet is incorrect, the packet is dropped and
the HDLC FCS count is increased. The HDLC error values
can be displayed using the show hdlc
command.If your link is bad (or if your serial driver is dropping
packets), you will see the occasional FCS error. This is not
usually worth worrying about although it does slow down the
compression protocols substantially. If you have an external
modem, make sure your cable is properly shielded from
interference - this may eradicate the problem.If your link freezes as soon as you have connected and you
see a large number of FCS errors, this may be because your link
is not 8 bit clean. Make sure your modem is not using software
flow control (XON/XOFF). If your datalink
must use software flow control, use the
command set accmap 0x000a0000 to tell
&man.ppp.8; to escape the ^Q and
^S characters.Another reason for seeing too many FCS errors may be
that the remote end has stopped talking
PPP. You may want to enable
async logging at this point to
determine if the incoming data is actually a login or
shell prompt. If you have a shell prompt at the remote
end, it is possible to terminate &man.ppp.8; without
dropping the line by using the close
lcp command (a following term
command will reconnect you to the shell on the remote
machine.If nothing in your log file indicates why the link might
have been terminated, you should ask the remote administrator
(your ISP?) why the session was terminated.Why do &macos; and &windows; 98 connections freeze when
running PPPoE on the gateway?Thanks to Michael Wozniak
mwozniak@netcom.ca for figuring this out and
Dan Flemming danflemming@mac.com for the Mac
solution:This is due to what is called a Black Hole
router. &macos; and &windows; 98 (and maybe other Microsoft OSs)
send TCP packets with a requested segment size too big to fit
into a PPPoE frame (MTU is 1500 by default for Ethernet)
and have the do not
fragment bit set (default of TCP) and the Telco router
is not sending ICMP must fragment back to the
www site you are trying to load. (Alternatively, the router is
sending the ICMP packet correctly, but the firewall at the www
site is dropping it.) When the www server is sending
you frames that do not fit into the PPPoE pipe the Telco router
drops them on the floor and your page does not load (some
pages/graphics do as they are smaller than a MSS.) This seems
to be the default of most Telco PPPoE configurations (if only
they knew how to program a router... sigh...)One fix is to use regedit on your 95/98 boxes to add the
following registry entry...HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTUIt should be a string with a value
1436, as some ADSL routers are reported to
be unable to deal with packets larger than this. This
registry key has been changed to
Tcpip\Parameters\Interfaces\ID for
adapter\MTU in &windows; 2000 and
becomes a DWORD.Refer to the Microsoft Knowledge Base documents Q158474
- Windows TCPIP Registry Entries and Q120642
- TCPIP & NBT Configuration Parameters for &windowsnt;
for more information on changing &windows; MTU to
work with a NAT router.Another regedit possibility under &windows; 2000 is to
set the
Tcpip\Parameters\Interfaces\ID for
adapter\EnablePMTUBHDetect DWORD
to 1 as mentioned in the Microsoft document 120642
mentioned above.Unfortunately, &macos; does not provide an interface for
changing TCP/IP settings. However, there is commercial software
available, such as OTAdvancedTuner (OT for OpenTransport, the
&macos; TCP/IP stack) by Sustainable Softworks,
that will allow users to customize TCP/IP settings. &macos; NAT
users should select ip_interface_MTU from
the drop-down menu, enter 1450 instead of
1500 in the box, click the box next to
Save as Auto Configure, and click
Make Active.The latest version of &man.ppp.8;
(2.3 or greater) has an enable tcpmssfixup
command that will automatically adjust the MSS to an appropriate
value. This facility is enabled by default. If you are stuck
with an older version of &man.ppp.8;, you
may want to look at the tcpmssd
port.None of this helps - I am desperate! What can I do?If all else fails, send as much information as you can,
including your config files, how you are starting
&man.ppp.8;, the relevant parts of your
log file and the output of the netstat -rn
command (before and after connecting) to the &a.questions; or
the
comp.unix.bsd.freebsd.misc news group, and someone
should point you in the right direction.Σειριακές ΕπικοινωνίεςThis section answers common questions about serial
communications with FreeBSD. PPP and SLIP are covered in the
Networking section.How do I tell if FreeBSD found my serial ports?As the FreeBSD kernel boots, it will probe for the serial
ports in your system for which the kernel was configured.
You can either watch your system closely for the messages it
prints or run the command&prompt.user; dmesg | grep sioafter your system is up and running.Here is some example output from the above command:sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550AThis shows two serial ports. The first is on irq 4, is
using port address 0x3f8, and has a
16550A-type UART chip. The second uses the same kind of chip
but is on irq 3 and is at port address 0x2f8.
Internal modem cards are treated just like serial ports---except
that they always have a modem attached to the
port.The GENERIC kernel includes support
for two serial ports using the same irq and port address
settings in the above example. If these settings are not
right for your system, or if you have added modem cards or have
more serial ports than your kernel is configured for, just
reconfigure your kernel. See section
about building a kernel for
more details.How do I tell if FreeBSD found my modem cards?Refer to the answer to the previous question.How do I access the serial ports on FreeBSD?The third serial port, sio2
(see &man.sio.4;, known as COM3 in DOS), is on
/dev/cuaa2 for dial-out devices,
and on /dev/ttyd2 for dial-in
devices. What is the difference between these two classes
of devices?You use
ttydX
for dial-ins. When opening
/dev/ttydX
in blocking mode, a process will wait for the
corresponding
cuaaX
device to become inactive, and then wait for the carrier
detect line to go active. When you open the
cuaaX
device, it makes sure the serial port is not already in
use by the
ttydX
device. If the port is available, it steals
it from the
ttydX
device. Also, the
cuaaX
device does not care about carrier detect. With this
scheme and an auto-answer modem, you can have remote users
log in and you can still dial out with the same modem and
the system will take care of all the conflicts.How do I enable support for a multiport serial
card?Again, the section on kernel configuration provides
information about configuring your kernel. For a multiport
serial card, place an &man.sio.4; line for each serial
port on the card in the kernel configuration file. But
place the irq and vector specifiers on only one of the
entries. All of the ports on the card should share one
irq. For consistency, use the last serial port to specify
the irq. Also, specify the
COM_MULTIPORT option.The following example is for an AST 4-port serial card on
irq 7:options "COM_MULTIPORT"
device sio4 at isa? port 0x2a0 tty flags 0x781
device sio5 at isa? port 0x2a8 tty flags 0x781
device sio6 at isa? port 0x2b0 tty flags 0x781
device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointrThe flags indicate that the master port has minor number 7
(0x700), diagnostics enabled during probe
(0x080), and all the ports share an irq
(0x001).Can FreeBSD handle multiport serial cards sharing
irqs?Not yet. You will have to use a different irq for each
card.Can I set the default serial parameters for a
port?The
ttydX
(or
cuaaX)
device is the regular device you will want to open for
your applications. When a process opens the device, it
will have a default set of terminal I/O settings. You can
see these settings with the command&prompt.root; stty -a -f /dev/ttyd1When you change the settings to this device, the settings
are in effect until the device is closed. When it is reopened,
it goes back to the default set. To make changes to the
default set, you can open and adjust the settings of the
initial state device. For example, to turn on
CLOCAL mode, 8 bits, and
XON/XOFF flow control by default for
ttyd5, do:&prompt.root; stty -f /dev/ttyid5 clocal cs8 ixon ixoffA good place to do this is in
/etc/rc.serial. Now, an application
will have these settings by default when it opens
ttyd5. It can still change these
settings to its liking, though.You can also prevent certain settings from being
changed by an application by making adjustments to the
lock state device. For example, to lock
the speed of ttyd5 to 57600 bps,
do&prompt.root; stty -f /dev/ttyld5 57600Now, an application that opens
ttyd5 and tries to change the
speed of the port will be stuck with 57600 bps.Naturally, you should make the initial state and lock
state devices writable only by
root. The &man.MAKEDEV.8; script does
NOT do this when it creates the
device entries.How can I enable dialup logins on my modem?So you want to become an Internet service provider, eh?
First, you will need one or more modems that can auto-answer.
Your modem will need to assert carrier-detect when it detects a
carrier and not assert it all the time. It will need to hang up
the phone and reset itself when the data terminal ready
(DTR) line goes from on to off. It should
probably use RTS/CTS flow control or no
local flow control at all. Finally, it must use a constant
speed between the computer and itself, but (to be nice to your
callers) it should negotiate a speed between itself and the
remote modem.For many Hayes command-set--compatible modems, this
command will make these settings and store them in
nonvolatile memory:AT &C1 &D3 &K3 &Q6 S0=1 &WSee the section on sending AT
commands below for information on how to make these
settings without resorting to an &ms-dos; terminal program.Next, make an entry in /etc/ttys
(see &man.ttys.5;) for the modem. This file lists all the
ports on which the operating system will await logins.
Add a line that looks something like this:ttyd1 "/usr/libexec/getty std.57600" dialup on insecureThis line indicates that the second serial port
(/dev/ttyd1) has a modem
connected running at 57600 bps and no parity
(std.57600, which comes from the file
/etc/gettytab, see &man.gettytab.5;).
The terminal type for this port is
dialup. The port is
on and is
insecure---meaning
root logins on the port are not
allowed. For dialin ports like this one, use the
ttydX
entry.It is common practice to use dialup
as the terminal type. Many users set up in their
.profile or
.login files a prompt for the actual
terminal type if the starting type is dialup. The example
shows the port as insecure. To become
root on this port, you have to login
as a regular user, then &man.su.1; to become
root. If you use
secure then root
can login in directly.After making modifications to
/etc/ttys, you need to send a hangup
or HUP signal to the &man.init.8;
process:&prompt.root; kill -HUP 1This forces the &man.init.8; process to reread
/etc/ttys. The init process will
then start getty processes on all on
ports. You can find out if logins are available for your
port by typing&prompt.user; ps -ax | grep '[t]tyd1'You should see something like:747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1How can I connect a dumb terminal to my FreeBSD
box?If you are using another computer as a terminal into your
FreeBSD system, get a null-modem cable to go between the two
serial ports. If you are using an actual terminal, see its
accompanying instructions.Then, modify /etc/ttys (see
&man.ttys.5;), like above. For example, if you are
hooking up a WYSE-50 terminal to the fifth serial port,
use an entry like this:ttyd4 "/usr/libexec/getty std.38400" wyse50 on secureThis example shows that the port on
/dev/ttyd4 has a wyse50 terminal
connected at 38400 bps with no parity
(std.38400 from
/etc/gettytab, see &man.gettytab.5;)
and root logins are allowed
(secure).Why can I not run tip or
cu?On your system, the programs &man.tip.1; and
&man.cu.1; are probably executable only by
uucp and group
dialer. You can use the group
dialer to control who has access to
your modem or remote systems. Just add yourself to group
dialer.Alternatively, you can let everyone on your system run
&man.tip.1; and &man.cu.1; by typing:&prompt.root; chmod 4511 /usr/bin/cu
&prompt.root; chmod 4511 /usr/bin/tipMy stock Hayes modem is not supported---what
can I do?Actually, the manual page for &man.tip.1; is out of
date. There is a generic Hayes dialer already built in.
Just use at=hayes in your
/etc/remote (see &man.remote.5;)
file.The Hayes driver is not smart enough to recognize some of
the advanced features of newer modems---messages like
BUSY, NO DIALTONE, or
CONNECT 115200 will just confuse it. You
should turn those messages off when you use &man.tip.1;
(using ATX0&W).Also, the dial timeout for &man.tip.1; is 60
seconds. Your modem should use something less, or else tip
will think there is a communication problem. Try
ATS7=45&W.Actually, as shipped &man.tip.1; does not yet
support it fully. The solution is to edit the file
tipconf.h in the directory
/usr/src/usr.bin/tip/tip. Obviously you
need the source distribution to do this.Edit the line #define HAYES 0
to #define HAYES 1. Then
make and make install.
Everything works nicely after that.How am I expected to enter these AT commands?Make what is called a direct entry in
your /etc/remote file (see
&man.remote.5;). For example, if your modem is hooked up
to the first serial port,
/dev/cuaa0, then put in the
following line:cuaa0:dv=/dev/cuaa0:br#19200:pa=noneUse the highest bps rate your modem supports in the br
capability. Then, type tip
cuaa0 (see &man.tip.1;)
and you will be connected to your modem.If there is no /dev/cuaa0 on your
system, do this:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV cuaa0Or use cu as root with the
following command:&prompt.root; cu -lline -sspeedwith line being the serial
port (e.g. /dev/cuaa0) and
speed being the speed
(e.g.57600). When you are done
entering the AT commands hit ~. to
exit.Why does the <@> sign for the pn
capability not work?The <@> sign in the phone
number capability tells tip to look in
/etc/phones for a phone number. But
the <@> sign is also a special
character in capability files like
/etc/remote. Escape it with a
backslash:pn=\@How can I dial a phone number on the command
line?Put what is called a generic entry in
your /etc/remote file (see
&man.remote.5;). For example:tip115200|Dial any phone number at 115200 bps:\
:dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
tip57600|Dial any phone number at 57600 bps:\
:dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:Then you can do something like tip -115200
5551234. If you prefer &man.cu.1; over
&man.tip.1;, use a generic cu entry:cu115200|Use cu to dial any number at 115200bps:\
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:and type cu 5551234 -s 115200.Do I have to type in the bps rate every time I do
that?Put in an entry for tip1200 or
cu1200, but go ahead and use whatever
bps rate is appropriate with the br capability.
&man.tip.1; thinks a good default is 1200 bps which is why
it looks for a tip1200 entry. You do
not have to use 1200 bps, though.How can I more easily access a number of hosts through a
terminal server?Rather than waiting until you are connected and typing
CONNECT host
each time, use tip's cm capability. For
example, these entries in
/etc/remote (see &man.remote.5;):pain|pain.deep13.com|Forrester's machine:\
:cm=CONNECT pain\n:tc=deep13:
muffin|muffin.deep13.com|Frank's machine:\
:cm=CONNECT muffin\n:tc=deep13:
deep13:Gizmonics Institute terminal server:\
:dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:will let you type tip pain or
tip muffin to connect to the hosts
pain or muffin; and
tip deep13 to get to the terminal
server.Can tip try more than one line for each site?This is often a problem where a university has several
modem lines and several thousand students trying to use
them...Make an entry for your university in
/etc/remote (see &man.remote.5;) and
use <\@> for the
pn capability:big-university:\
:pn=\@:tc=dialout
dialout:\
:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:Then, list the phone numbers for the university in
/etc/phones (see &man.phones.5;):big-university 5551111
big-university 5551112
big-university 5551113
big-university 5551114&man.tip.1;
will try each one in the listed order, then give
up. If you want to keep retrying, run &man.tip.1;
in a while loop.Why do I have to hit CTRLP
twice to send CTRLP
once?CTRLP
is the default force character, used to
tell &man.tip.1; that the next character is literal data.
You can set the force character to any other character
with the ~s escape, which means
set a variable.Type ~sforce=single-char
followed by a newline.
single-char is any single
character. If you leave out
single-char, then the force
character is the nul character, which you can get by
typing CTRL2
or CTRLSPACE.
A pretty good value for
single-char is SHIFTCTRL6,
which I have seen only used on some terminal
servers.You can have the force character be whatever you want
by specifying the following in your
$HOME/.tiprc file:force=single-charWhy is everything I type suddenly in UPPER CASE?You must have pressed CTRLA,
&man.tip.1; raise character, specially
designed for people with broken Caps Lock
keys. Use ~s as above and set the
variable raisechar to something reasonable.
In fact, you can set it to the same as the force
character, if you never expect to use either of these
features.Here is a sample .tiprc file perfect for Emacs users
who need to type CTRL2
and CTRLA
a lot:force=^^
raisechar=^^The ^^ is SHIFTCTRL6.How can I do file transfers with
tip?If you are talking to another &unix; system, you can
send and receive files with ~p (put)
and ~t (take). These commands run
&man.cat.1; and &man.echo.1; on the remote system to
accept and send files. The syntax is:~p <local-file> [<remote-file>]
~t <remote-file> [<local-file>]There is no error checking, so you probably should use
another protocol, like zmodem.How can I run zmodem with
tip?First, install one of the zmodem programs from the
ports collection (such as one of the two from the comms
category, lrzsz or
rzsz.To receive files, start the sending program on the
remote end. Then, press enter and type ~C
rz (or ~C lrz if you
installed lrzsz) to begin
receiving them locally.To send files, start the receiving program on the
remote end. Then, press enter and type ~C sz
files (or ~C
lsz files) to send
them to the remote system.Διάφορες ΕρωτήσειςFreeBSD uses far more swap space than &linux;. Why?FreeBSD only appears to use more swap than &linux;. In
actual fact, it does not. The main difference between FreeBSD
and &linux; in this regard is that FreeBSD will proactively move
entirely idle, unused pages of main memory into swap in order
to make more main memory available for active use. &linux; tends
to only move pages to swap as a last resort. The perceived
heavier use of swap is balanced by the more efficient use of
main memory.Note that while FreeBSD is proactive in this regard, it
does not arbitrarily decide to swap pages when the system is
truly idle. Thus you will not find your system all paged
out when you get up in the morning after leaving it idle
overnight.Why does top show very little free
memory even when I have very few programs running?The simple answer is that free memory is wasted
memory. Any memory that your programs do not actively
allocate is used within the FreeBSD kernel as disk
cache. The values shown by &man.top.1; labeled as
Inact, Cache, and
Buf are all cached data at different
aging levels. This cached data means the system does
not have to access a slow disk again for data it has
accessed recently, thus increasing overall performance.
In general, a low value shown for Free
memory in &man.top.1; is good, provided it is not
very low.Why will chmod not change the
permissions on symlinks?Symlinks do not have permissions, and by default,
&man.chmod.1; will not follow symlinks to change the
permissions on the target file. So if you have a file,
foo, and a symlink to that file,
bar, then this command will always
succeed.&prompt.user; chmod g-w barHowever, the permissions on foo will
not have changed.You have to use either or
together with the
option to make this work. See the &man.chmod.1; and
&man.symlink.7; manual pages for more info.The option does a
RECURSIVE &man.chmod.1;. Be
careful about specifying directories or symlinks to
directories to &man.chmod.1;. If you want to change
the permissions of a directory referenced by a
symlink, use &man.chmod.1; without any options and
follow the symlink with a trailing slash
(/). For example, if
foo is a symlink to directory
bar, and you want to change the
permissions of foo (actually
bar), you would do something
like:&prompt.user; chmod 555 foo/With the trailing slash, &man.chmod.1; will follow
the symlink, foo, to change the
permissions of the directory,
bar.Can I run DOS binaries under FreeBSD?Yes, you can use emulators/doscmd, a DOS emulation
program, available in the &os; Ports Collection.The doscmd program used to be an
integrated part of &os;, but was removed before the release of
&os; 5.3.If doscmd will not suffice,
the add-on utility emulators/pcemu emulates an 8088 and
enough BIOS services to run many DOS text mode
applications. It requires the X Window System.What do I need to do to translate a FreeBSD document into
my native language?See the
Translation FAQ in the FreeBSD Documentation Project
Primer.Why does my email to any address at FreeBSD.org bounce?The FreeBSD.org mail system implements some of the
stricter Postfix checks on incoming mail and rejects mail that is
either misconfigured or is potential spam. Your mail
might bounce for one of the following reasons:The email is being sent from a known spam
domain or IP block.The FreeBSD mail servers reject email from known
spam sources. If you have service through a company
or domain who generates or relays spam, please switch
to a service provider who does not.The body of the email only contains HTML.Mail should be sent in plain text only. Please
configure your mail user agent to send plain
text.The mailer at FreeBSD.org cannot resolve the IP
address of the connecting host back to a symbolic
name.Working reverse DNS is a standard requirement for
accepting mail from a host. Set up reverse DNS for
your mail server's IP address. Many home services
(DSL, cable, dialup, etc.) will not give you this
option. In this case, relay your email through your
service provider's mail server.The hostname given in the EHLO/HELO part of the SMTP
exchange cannot be resolved to an IP address.A fully qualified, resolvable host name is necessary
in this part of the SMTP dialogue before mail will be
accepted. If you do not have a host name that is registered
in the DNS, then you should use your service provider's mail
server to relay your mail.Your message had a message ID ending with the string
localhost.Some mail user agents generate bad message IDs which will
not be accepted. You will need to persuade your mail user
agent to generate a valid message ID or else configure your
mail transfer agent to rewrite them.Where can I find a free FreeBSD account?While FreeBSD does not provide open access to any of their
servers, others do provide open access &unix; systems. The
charge varies and limited services may be available.Arbornet,
Inc, also known as M-Net, has been providing open
access to &unix; systems since 1983. Starting on an Altos
running System III, the site switched to BSD/OS in 1991. In
June of 2000, the site switched again to FreeBSD. M-Net can be
accessed via telnet and SSH and provides basic access to the
entire FreeBSD software suite. However, network access is
limited to members and patrons who donate to the system, which
is run as a non-profit organization. M-Net also provides an
bulletin board system and interactive chat.Grex provides a
site very similar to M-Net including the same bulletin board
and interactive chat software. However, the machine is a &sun;
4M and is running &sunos;.What is sup, and how do I use
it?
SUP stands for Software Update Protocol, and was
developed by CMU for keeping their development trees in sync.
We used it to keep remote sites in sync with our central
development sources.SUP is not bandwidth friendly, and has been retired.
The current recommended method to keep your sources up to
date is
CVSupWhat is the cute little red guy's name?He does not have one, and is just called the BSD
daemon. If you insist upon using a name, call him
beastie. Note that beastie
is pronounced BSD.You can learn more about the BSD daemon on his home
page.Can I use the BSD daemon image?Perhaps. The BSD daemon is copyrighted by Marshall
Kirk McKusick. You will want to check his Statement
on the Use of the BSD Daemon Figure for detailed
usage terms.In summary, you are free to use the image in a tasteful
manner, for personal use, so long as appropriate credit is
given. If you want to use him commercially, you must
contact Kirk McKusick. More details are available on the
BSD
Daemon's home page.Do you have any BSD daemon images I could use?You will find eps and Xfig drawings under
/usr/share/examples/BSD_daemon/.I have seen an acronym or other term on the mailing
lists and I do not understand what it means. Where should
I look?Please see the
&os Glossary.Why should I care what color the bikeshed is?The really, really short answer is that you should not.
The somewhat longer answer is that just because you are
capable of building a bikeshed does not mean you should stop
others from building one just because you do not like the
color they plan to paint it. This is a metaphor indicating
that you need not argue about every little feature just
because you know enough to do so. Some people have
commented that the amount of noise generated by a change is
inversely proportional to the complexity of the
change.The longer and more complete answer is that after a very
long argument about whether &man.sleep.1; should take
fractional second arguments, &a.phk; posted a long
message entitled A bike
shed (any color will do) on greener grass....
The appropriate portions of that message are quoted
below.
&a.phk; on freebsd-hackers, October
2, 1999What is it about this bike shed? Some
of you have asked me.It is a long story, or rather it is an old story, but
it is quite short actually. C. Northcote Parkinson wrote
a book in the early 1960s, called Parkinson's
Law, which contains a lot of insight into the
dynamics of management.[snip a bit of commentary on the book]In the specific example involving the bike shed, the
other vital component is an atomic power-plant, I guess
that illustrates the age of the book.Parkinson shows how you can go into the board of
directors and get approval for building a multi-million or
even billion dollar atomic power plant, but if you want to
build a bike shed you will be tangled up in endless
discussions.Parkinson explains that this is because an atomic
plant is so vast, so expensive and so complicated that
people cannot grasp it, and rather than try, they fall
back on the assumption that somebody else checked all the
details before it got this far. Richard P. Feynmann
gives a couple of interesting, and very much to the point,
examples relating to Los Alamos in his books.A bike shed on the other hand. Anyone can build one
of those over a weekend, and still have time to watch the
game on TV. So no matter how well prepared, no matter how
reasonable you are with your proposal, somebody will seize
the chance to show that he is doing his job, that he is
paying attention, that he is
here.In Denmark we call it setting your
fingerprint. It is about personal pride and
prestige, it is about being able to point somewhere and
say There! I did that.
It is a strong trait in politicians, but present in most
people given the chance. Just think about footsteps in
wet cement.
Χιούμορ και FreeBSDHow cool is FreeBSD?Q. Has anyone done any temperature testing while
running FreeBSD? I know &linux; runs cooler than DOS, but have
never seen a mention of FreeBSD. It seems to run really
hot.A. No, but we have done numerous taste tests on
blindfolded volunteers who have also had 250 micrograms of
LSD-25 administered beforehand. 35% of the volunteers said that
FreeBSD tasted sort of orange, whereas &linux; tasted like purple
haze. Neither group mentioned any significant variances in
temperature. We eventually had to throw the
results of this survey out entirely anyway when we found that
too many volunteers were wandering out of the room during the
tests, thus skewing the results. We think most of the volunteers
are at Apple now, working on their new scratch and
sniff GUI. It is a funny old business we are in!Seriously, both FreeBSD and &linux; use the
HLT (halt) instruction when the system is
idle thus lowering its energy consumption and therefore the
heat it generates. Also if you have APM (advanced power
management) configured, then FreeBSD can also put the CPU into
a low power mode.Who is scratching in my memory banks??Q. Is there anything odd that FreeBSD
does when compiling the kernel which would cause the memory to
make a scratchy sound? When compiling (and for a brief moment
after recognizing the floppy drive upon startup, as well), a
strange scratchy sound emanates from what appears to be the
memory banks.A. Yes! You will see frequent references to
daemons in the BSD documentation, and what most
people do not know is that this refers to genuine, non-corporeal
entities that now possess your computer. The scratchy sound
coming from your memory is actually high-pitched whispering
exchanged among the daemons as they best decide how to deal
with various system administration tasks.If the noise gets to you, a good
fdisk /mbr from DOS will get rid of them,
but do not be surprised if they react adversely and try to stop
you. In fact, if at any point during the exercise you hear the
satanic voice of Bill Gates coming from the built-in speaker,
take off running and do not ever look back! Freed from the
counterbalancing influence of the BSD daemons, the twin demons
of DOS and &windows; are often able to re-assert total control
over your machine to the eternal damnation of your soul.
Now that you know, given a choice you would probably prefer to get
used to the scratchy noises, no?How many FreeBSD hackers does it take to change a
lightbulb?One thousand, one hundred and sixty-nine:Twenty-three to complain to -CURRENT about the lights
being out;Four to claim that it is a configuration problem, and
that such matters really belong on -questions;Three to submit PRs about it, one of which is misfiled
under doc and consists only of it's dark;One to commit an untested lightbulb which breaks
buildworld, then back it out five minutes later;Eight to flame the PR originators for not including
patches in their PRs;Five to complain about buildworld being broken;Thirty-one to answer that it works for them, and they
must have cvsupped at a bad time;One to post a patch for a new lightbulb to -hackers;One to complain that he had patches for this three years
ago, but when he sent them to -CURRENT they were just ignored,
and he has had bad experiences with the PR system; besides,
the proposed new lightbulb is non-reflexive;Thirty-seven to scream that lightbulbs do not belong in
the base system, that committers have no right to do things
like this without consulting the Community, and WHAT IS
-CORE DOING ABOUT IT!?Two hundred to complain about the color of the bicycle
shed;Three to point out that the patch breaks &man.style.9;;Seventeen to complain that the proposed new lightbulb is
under GPL;Five hundred and eighty-six to engage in a flame war
about the comparative advantages of the GPL, the BSD
license, the MIT license, the NPL, and the personal hygiene
of unnamed FSF founders;Seven to move various portions of the thread to -chat
and -advocacy;One to commit the suggested lightbulb, even though it
shines dimmer than the old one;Two to back it out with a furious flame of a commit
message, arguing that FreeBSD is better off in the dark than
with a dim lightbulb;Forty-six to argue vociferously about the backing out
of the dim lightbulb and demanding a statement from
-core;Eleven to request a smaller lightbulb so it will fit
their Tamagotchi if we ever decide to port FreeBSD to that
platform;Seventy-three to complain about the SNR on -hackers and
-chat and unsubscribe in protest;Thirteen to post unsubscribe,
How do I unsubscribe?, or Please
remove me from the list, followed by the usual
footer;One to commit a working lightbulb while everybody is too
busy flaming everybody else to notice;Thirty-one to point out that the new lightbulb would shine
0.364% brighter if compiled with TenDRA (although it will have
to be reshaped into a cube), and that FreeBSD should therefore
switch to TenDRA instead of GCC;One to complain that the new lightbulb lacks
fairings;Nine (including the PR originators) to ask
what is MFC?;Fifty-seven to complain about the lights being out two
weeks after the bulb has been changed.&a.nik; adds:I was laughing quite hard at
this.And then I thought, Hang on,
shouldn't there be '1 to document it.' in that list
somewhere?And then I was enlightened :-)Where does data written to /dev/null
go?It goes into a special data sink in the CPU where it
is converted to heat which is vented through the heatsink
/ fan assembly. This is why CPU cooling is increasingly
important; as people get used to faster processors, they
become careless with their data and more and more of it
ends up in /dev/null, overheating
their CPUs. If you delete /dev/null
(which effectively disables the CPU data sink) your CPU
may run cooler but your system will quickly become
constipated with all that excess data and start to behave
erratically. If you have a fast network connection you
can cool down your CPU by reading data out of
/dev/random and sending it off
somewhere; however you run the risk of overheating your
network connection and / or angering
your ISP, as most of the data will end up getting
converted to heat by their equipment, but they generally
have good cooling, so if you do not overdo it you should be
OK.Paul Robinson adds:There are other methods. As every good sysadmin knows,
it is part of standard practice to send data to the screen
of interesting variety to keep all the pixies that make up
your picture happy. Screen pixies (commonly mis-typed or
re-named as pixels are categorized by the type of hat
they wear (red, green or blue) and will hide or appear
(thereby showing the color of their hat) whenever they
receive a little piece of food. Video cards turn data into
pixie-food, and then send them to the pixies - the more
expensive the card, the better the food, so the better
behaved the pixies are. They also need constant stimulation
- this is why screen savers exist.To take your suggestions further, you could just throw
the random data to console, thereby letting the pixies
consume it. This causes no heat to be produced at all,
keeps the pixies happy and gets rid of your data quite
quickly, even if it does make things look a bit messy on
your screen.Incidentally, as an ex-admin of a large ISP who
experienced many problems attempting to maintain a stable
temperature in a server room, I would strongly discourage
people sending the data they do not want out to the
network. The fairies who do the packet switching and
routing get annoyed by it as well.Προχωρημένα ΘέματαHow can I learn more about FreeBSD's internals?At this time, there is only one book on FreeBSD-specific OS
internals, namely The Design and Implementation of the
FreeBSD Operating System by Marshall Kirk McKusick and
George V. Neville-Neil, ISBN 0-201-70245-2, which
focuses on version 5.X of FreeBSD.Additionally, much general &unix; knowledge is directly
applicable to FreeBSD.For a list of relevant books, please check the Handbook's Operating
System Internals Bibliography.How can I contribute to FreeBSD?Please see the article on Contributing
to FreeBSD for specific advice on how to do this.
Assistance is more than welcome!What are SNAPs and RELEASEs?There are currently three active/semi-active branches
in the FreeBSD CVS
Repository. (Earlier branches are only changed
very rarely, which is why there are only three active
branches of development):RELENG_5 AKA
5-STABLERELENG_6 AKA
6-STABLEHEAD AKA
-CURRENT AKA
7.X-CURRENTHEAD is not an actual branch tag,
like the other two; it is simply a symbolic constant for
the current, non-branched development
stream which we simply refer to as
-CURRENT.Right now, -CURRENT is the 7.X development
stream; the 5-STABLE branch,
RELENG_5, forked off from
-CURRENT in October 2004, and
the 6-STABLE branch,
RELENG_6, forked off from
-CURRENT in November 2005.How do I make my own custom release?Please see the
Release Engineering article.Why does make world clobber my existing
installed binaries?Yes, this is the general idea; as its name might suggest,
make world rebuilds every system binary from
scratch, so you can be certain of having a clean and consistent
environment at the end (which is why it takes so long).If the environment variable DESTDIR
is defined while running make world or
make install, the newly-created binaries
will be deposited in a directory tree identical to the
installed one, rooted at ${DESTDIR}.
Some random combination of shared libraries modifications and
program rebuilds can cause this to fail in make
world however.Why isn't cvsup.FreeBSD.org a round robin DNS entry to
share the load amongst the various CVSup servers?While CVSup mirrors update from the master CVSup
server hourly, this update might happen at any time during
the hour. This means that some servers have newer code
than others, even though all servers have code that is
less than an hour old. If cvsup.FreeBSD.org was a round
robin DNS entry that simply redirected users to a random
CVSup server, running CVSup twice in a row could download
code older than the code already on the system.Why does my system say (bus speed
defaulted) when it boots?The Adaptec 1542 SCSI host adapters allow the user to
configure their bus access speed in software. Previous versions
of the 1542 driver tried to determine the fastest usable speed
and set the adapter to that. We found that this breaks some
users' systems, so you now have to define the
TUNE_1542 kernel configuration option in order
to have this take place. Using it on those systems where it
works may make your disks run faster, but on those systems
where it does not, your data could be corrupted.Can I follow -CURRENT with limited Internet access?Yes, you can do this without
downloading the whole source tree by using the CTM facility.How did you split the distribution into 240k files?Newer BSD based systems have a
option to &man.split.1; that allows them to split files on arbitrary
byte boundaries.Here is an example from
/usr/src/Makefile.bin-tarball:
(cd ${DISTDIR}; \
tar cf - . \
gzip --no-name -9 -c | \
split -b 240640 - \
${RELEASEDIR}/tarballs/bindist/bin_tgz.)I have written a kernel extension, who do I send it
to?Please take a look at the article on Contributing
to FreeBSD to learn how to submit code.And thanks for the thought!How are Plug N Play ISA cards detected and
initialized?By: Frank Durda IV
uhclem@nemesis.lonestar.orgIn a nutshell, there a few I/O ports that all of the
PnP boards respond to when the host asks if anyone is out
there. So when the PnP probe routine starts, it asks if there
are any PnP boards present, and all the PnP boards respond with
their model # to a I/O read of the same port, so the probe
routine gets a wired-OR yes to that question. At
least one bit will be on in that reply. Then the probe code is
able to cause boards with board model IDs (assigned by
Microsoft/Intel) lower than X to go off-line. It
then looks to see if any boards are still responding to the
query. If the answer was 0, then there are
no boards with IDs above X. Now probe asks if there are any
boards below X. If so, probe knows there are
boards with a model numbers below X. Probe then asks for boards
greater than X-(limit/4) to go off-line. If repeats the query.
By repeating this semi-binary search of IDs-in-range enough
times, the probing code will eventually identify all PnP boards
present in a given machine with a number of iterations that is
much lower than what 2^64 would take.The IDs are two 32-bit fields (hence 2ˆ64) + 8 bit
checksum. The first 32 bits are a vendor identifier. They never
come out and say it, but it appears to be assumed that
different types of boards from the same vendor could have
different 32-bit vendor ids. The idea of needing 32 bits just
for unique manufacturers is a bit excessive.The lower 32 bits are a serial #, Ethernet address,
something that makes this one board unique. The vendor must
never produce a second board that has the same lower 32 bits
unless the upper 32 bits are also different. So you can have
multiple boards of the same type in the machine and the full 64
bits will still be unique.The 32 bit groups can never be all zero. This allows the
wired-OR to show non-zero bits during the initial binary
search.Once the system has identified all the board IDs present,
it will reactivate each board, one at a time (via the same I/O
ports), and find out what resources the given board needs, what
interrupt choices are available, etc. A scan is made over all
the boards to collect this information.This info is then combined with info from any ECU files
on the hard disk or wired into the MLB BIOS. The ECU and BIOS
PnP support for hardware on the MLB is usually synthetic, and
the peripherals do not really do genuine PnP. However by
examining the BIOS info plus the ECU info, the probe routines
can cause the devices that are PnP to avoid those devices the
probe code cannot relocate.Then the PnP devices are visited once more and given
their I/O, DMA, IRQ and Memory-map address assignments. The
devices will then appear at those locations and remain there
until the next reboot, although there is nothing that says you
cannot move them around whenever you want.There is a lot of oversimplification above, but you
should get the general idea.Microsoft took over some of the primary printer status
ports to do PnP, on the logic that no boards decoded those
addresses for the opposing I/O cycles. I found a genuine IBM
printer board that did decode writes of the status port during
the early PnP proposal review period, but MS said
tough. So they do a write to the printer status
port for setting addresses, plus that use that address +
0x800, and a third I/O port for reading that
can be located anywhere between 0x200 and
0x3ff.Can you assign a major number for a device driver I have
written?&os.current; after February 2003 has a facility for
dynamically and automatically allocating major numbers for
device drivers at runtime. This mechanism is highly
preferred to the older procedure of statically allocating
device numbers. Some comments on this subject can be
found in src/sys/conf/majors.If you are forced for some reason to use a static
major number, the procedure for obtaining one depends on
whether or not you plan on making the driver publicly
available. If you do, then please send us a copy of the
driver source code, plus the appropriate modifications to
files.i386, a sample configuration
file entry, and the appropriate &man.MAKEDEV.8; code to
create any special files your device uses. If you do not,
or are unable to because of licensing restrictions, then
character major number 32 and block major number 8 have
been reserved specifically for this purpose; please use
them. In any case, we would appreciate hearing about your
driver on the &a.hackers;.What about alternative layout policies for
directories?In answer to the question of alternative layout policies
for directories, the scheme that is currently in use is
unchanged from what I wrote in 1983. I wrote that policy for
the original fast filesystem, and never revisited it. It works
well at keeping cylinder groups from filling up. As several of
you have noted, it works poorly for find. Most filesystems are
created from archives that were created by a depth first search
(aka ftw). These directories end up being striped across the
cylinder groups thus creating a worst possible scenario for
future depth first searches. If one knew the total number of
directories to be created, the solution would be to create
(total / fs_ncg) per cylinder group before moving on.
Obviously, one would have to create some heuristic to guess at
this number. Even using a small fixed number like say 10 would
make an order of magnitude improvement. To differentiate
restores from normal operation (when the current algorithm is
probably more sensible), you could use the clustering of up to
10 if they were all done within a ten second window. Anyway, my
conclusion is that this is an area ripe for
experimentation.Kirk McKusick, September 1998How can I make the most of the data I see when my kernel
panics?[This section was extracted from a mail
written by &a.wpaul; on the freebsd-current
mailing list by &a.des;, who
fixed a few typos and added the bracketed comments]
From: Bill Paul <wpaul@skynet.ctr.columbia.edu>
Subject: Re: the fs fun never stops
To: Ben Rosengart
Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT)
Cc: current@FreeBSD.orgBen Rosengart posted the following
panic message]> Fatal trap 12: page fault while in kernel mode
> fault virtual address = 0x40
> fault code = supervisor read, page not present
> instruction pointer = 0x8:0xf014a7e5
^^^^^^^^^^
> stack pointer = 0x10:0xf4ed6f24
> frame pointer = 0x10:0xf4ed6f28
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, def32 1, gran 1
> processor eflags = interrupt enabled, resume, IOPL = 0
> current process = 80 (mount)
> interrupt mask =
> trap number = 12
> panic: page fault[When] you see a message like this, it is not enough to just
reproduce it and send it in. The instruction pointer value that
I highlighted up there is important; unfortunately, it is also
configuration dependent. In other words, the value varies
depending on the exact kernel image that you are using. If
you are using a GENERIC kernel image from one of the snapshots,
then it is possible for somebody else to track down the
offending function, but if you are running a custom kernel then
only you can tell us where the fault
occurred.What you should do is this:Write down the instruction pointer value. Note that
the 0x8: part at the beginning is not
significant in this case: it is the
0xf0xxxxxx part that we want.When the system reboots, do the following:
&prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxxx
where f0xxxxxx is the instruction
pointer value. The odds are you will not get an exact
match since the symbols in the kernel symbol table are
for the entry points of functions and the instruction
pointer address will be somewhere inside a function, not
at the start. If you do not get an exact match, omit the
last digit from the instruction pointer value and try
again, i.e.:
&prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxx
If that does not yield any results, chop off another
digit. Repeat until you get some sort of output. The
result will be a possible list of functions which caused
the panic. This is a less than exact mechanism for
tracking down the point of failure, but it is better than
nothing.I see people constantly show panic messages like this
but rarely do I see someone take the time to match up the
instruction pointer with a function in the kernel symbol
table.The best way to track down the cause of a panic is by
capturing a crash dump, then using &man.gdb.1; to generate
a stack trace on the crash dump.In any case, the method I normally use is this:Set up a kernel config file, optionally adding
options DDB if you think you need
the kernel debugger for something. (I use this mainly
for setting breakpoints if I suspect an infinite loop
condition of some kind.)Use config -g
KERNELCONFIG to set
up the build directory.cd /sys/compile/KERNELCONFIG; makeWait for kernel to finish compiling.make installrebootThe &man.make.1; process will have built two kernels.
kernel and
kernel.debug.
kernel was installed as
/kernel, while
kernel.debug can be used as the
source of debugging symbols for &man.gdb.1;.To make sure you capture a crash dump, you need edit
/etc/rc.conf and set
dumpdev to point to your swap
partition. This will cause the &man.rc.8; scripts to use
the &man.dumpon.8; command to enable crash dumps. You can
also run &man.dumpon.8; manually. After a panic, the
crash dump can be recovered using &man.savecore.8;; if
dumpdev is set in
/etc/rc.conf, the &man.rc.8; scripts
will run &man.savecore.8; automatically and put the crash
dump in /var/crash.FreeBSD crash dumps are usually the same size as the
physical RAM size of your machine. That is, if you have
64MB of RAM, you will get a 64MB crash dump. Therefore you
must make sure there is enough space in
/var/crash to hold the dump.
Alternatively, you run &man.savecore.8;
manually and have it recover the crash dump to another
directory where you have more room. It is possible to limit
the size of the crash dump by using options
MAXMEM=(foo) to set the amount of memory the
kernel will use to something a little more sensible. For
example, if you have 128MB of RAM, you can limit the
kernel's memory usage to 16MB so that your crash dump size
will be 16MB instead of 128MB.Once you have recovered the crash dump, you can get a
stack trace with &man.gdb.1; as follows:&prompt.user; gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0(gdb)whereNote that there may be several screens worth of
information; ideally you should use
&man.script.1; to capture all of them. Using the
unstripped kernel image with all the debug symbols should show
the exact line of kernel source code where the panic occurred.
Usually you have to read the stack trace from the bottom up in
order to trace the exact sequence of events that lead to the
crash. You can also use &man.gdb.1; to print out
the contents of various variables or structures in order to
examine the system state at the time of the crash.Now, if you are really insane and have a second computer,
you can also configure &man.gdb.1; to do remote
debugging such that you can use &man.gdb.1; on
one system to debug the kernel on another system, including
setting breakpoints, single-stepping through the kernel code,
just like you can do with a normal user-mode program. I have not
played with this yet as I do not often have the chance to set up
two machines side by side for debugging purposes.[Bill adds: "I forgot to mention one thing: if
you have DDB enabled and the kernel drops into the debugger,
you can force a panic (and a crash dump) just by typing 'panic'
at the ddb prompt. It may stop in the debugger again during the
panic phase. If it does, type 'continue' and it will finish the
crash dump." -ed]Why has dlsym() stopped working for ELF executables?The ELF toolchain does not, by default, make the symbols
defined in an executable visible to the dynamic linker.
Consequently dlsym() searches on handles
obtained from calls to dlopen(NULL,
flags) will fail to find such symbols.If you want to search, using
dlsym(), for symbols present in the
main executable of a process, you need to link the
executable using the
option to the ELF linker (&man.ld.1;).How can I increase or reduce the kernel address space?By default, the kernel address space is 256 MB on
FreeBSD 3.X and 1 GB on FreeBSD 4.X. If you run a
network-intensive server (e.g. a large FTP or HTTP server),
you might find that 256 MB is not enough.So how do you increase the address space? There are two
aspects to this. First, you need to tell the kernel to reserve
a larger portion of the address space for itself. Second, since
the kernel is loaded at the top of the address space, you need
to lower the load address so it does not bump its head against
the ceiling.The first goal is achieved by increasing the value of
NKPDE in
src/sys/i386/include/pmap.h. Here is what
it looks like for a 1 GB address space:#ifndef NKPDE
#ifdef SMP
#define NKPDE 254 /* addressable number of page tables/pde's */
#else
#define NKPDE 255 /* addressable number of page tables/pde's */
#endif /* SMP */
#endifTo find the correct value of NKPDE,
divide the desired address space size (in megabytes) by four,
then subtract one for UP and two for SMP.To achieve the second goal, you need to compute the
correct load address: simply subtract the address space size
(in bytes) from 0x100100000; the result is 0xc0100000 for a 1
GB address space. Set LOAD_ADDRESS in
src/sys/i386/conf/Makefile.i386 to that
value; then set the location counter in the beginning of the
section listing in
src/sys/i386/conf/kernel.script to the
same value, as follows:OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(btext)
SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/obj/elf/home/src/tmp/usr/i386-unknown-freebsdelf/lib);
SECTIONS
{
/* Read-only sections, merged into text segment: */
. = 0xc0100000 + SIZEOF_HEADERS;
.interp : { *(.interp) }Then reconfig and rebuild your kernel. You will
probably have problems with &man.ps.1; &man.top.1; and the
like; make world should take care of it
(or a manual rebuild of libkvm,
&man.ps.1; and &man.top.1; after copying the patched
pmap.h to
/usr/include/vm/.NOTE: the size of the kernel address space must be a
multiple of four megabytes.[&a.dg; adds: I think the kernel address space
needs to be a power of two, but I am not certain about that. The
old(er) boot code used to monkey with the high order address bits
and I think expected at least 256MB
granularity.]ΕυχαριστίεςThis innocent little Frequently Asked Questions document has
been written, rewritten, edited, folded, spindled, mutilated,
eviscerated, contemplated, discombobulated, cogitated,
regurgitated, rebuilt, castigated, and reinvigorated over the
last decade, by a cast of hundreds if not thousands.
Repeatedly.We wish to thank every one of the people responsible, and we
encourage you to to join them
in making this FAQ even better.
&bibliography;
+
+
diff --git a/el_GR.ISO8859-7/books/handbook/Makefile b/el_GR.ISO8859-7/books/handbook/Makefile
index eb4d2fd851..cd8ed8df49 100644
--- a/el_GR.ISO8859-7/books/handbook/Makefile
+++ b/el_GR.ISO8859-7/books/handbook/Makefile
@@ -1,313 +1,318 @@
#
# $FreeBSD$
#
# Μορφοποίηση του Εγχειριδίου του FreeBSD
#
# %SOURCE% en_US.ISO8859-1/books/handbook/Makefile
# %SRCID% 1.111
#
# ------------------------------------------------------------------------
#
# Μεταβλητές σχετικές με το Εγχειρίδιο
#
# WITH_PGPKEYS Η εκτυπώσιμη μορφή του εγχειριδίου περιέχει κανονικά
# μόνο τα fingerprints από τα PGP κλειδιά. Αν θέλετε
# να εκτυπώνονται ολόκληρα τα κλειδιά, τότε αυτή η
# μεταβλητή πρέπει να είναι 'defined'. Αυτή η επιλογή
# δεν επηρεάζει σε τίποτα τις μορφές HTML.
#
# Make targets μόνο για το Εγχειρίδιο
#
# pgpkeyring This target will read the contents of
# pgpkeys/chapter.sgml and will extract all of
# the pgpkeys to standard out. This output can then
# be redirected into a file and distributed as a
# public keyring of FreeBSD developers that can
# easily be imported into PGP/GPG.
#
# ------------------------------------------------------------------------
#
# Για να προσθέσετε ένα νέο κεφάλαιο στο Εγχειρίδιο:
#
# - Ενημερώστε αυτό το Makefile, το chapters.ent και το book.sgml
# - Προσθέστε μια σύντομη περιγραφή του κεφαλαίου στο preface/preface.sgml
#
# ------------------------------------------------------------------------
.PATH: ${.CURDIR}/../../share/sgml/glossary
MAINTAINER= doc@FreeBSD.org
DOC?= book
FORMATS?= html-split
HAS_INDEX= true
USE_PS2PDF= yes
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
IMAGES_EN = advanced-networking/isdn-bus.eps
IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps
IMAGES_EN+= advanced-networking/natd.eps
IMAGES_EN+= advanced-networking/net-routing.pic
IMAGES_EN+= advanced-networking/static-routes.pic
IMAGES_EN+= geom/striping.pic
IMAGES_EN+= install/adduser1.scr
IMAGES_EN+= install/adduser2.scr
IMAGES_EN+= install/adduser3.scr
IMAGES_EN+= install/boot-loader-menu.scr
IMAGES_EN+= install/boot-mgr.scr
IMAGES_EN+= install/config-country.scr
IMAGES_EN+= install/console-saver1.scr
IMAGES_EN+= install/console-saver2.scr
IMAGES_EN+= install/console-saver3.scr
IMAGES_EN+= install/console-saver4.scr
IMAGES_EN+= install/disklabel-auto.scr
IMAGES_EN+= install/disklabel-ed1.scr
IMAGES_EN+= install/disklabel-ed2.scr
IMAGES_EN+= install/disklabel-fs.scr
IMAGES_EN+= install/disklabel-root1.scr
IMAGES_EN+= install/disklabel-root2.scr
IMAGES_EN+= install/disklabel-root3.scr
IMAGES_EN+= install/disk-layout.eps
IMAGES_EN+= install/dist-set.scr
IMAGES_EN+= install/dist-set2.scr
IMAGES_EN+= install/docmenu1.scr
IMAGES_EN+= install/ed0-conf.scr
IMAGES_EN+= install/ed0-conf2.scr
IMAGES_EN+= install/edit-inetd-conf.scr
IMAGES_EN+= install/fdisk-drive1.scr
IMAGES_EN+= install/fdisk-drive2.scr
IMAGES_EN+= install/fdisk-edit1.scr
IMAGES_EN+= install/fdisk-edit2.scr
IMAGES_EN+= install/ftp-anon1.scr
IMAGES_EN+= install/ftp-anon2.scr
IMAGES_EN+= install/hdwrconf.scr
IMAGES_EN+= install/keymap.scr
IMAGES_EN+= install/main1.scr
IMAGES_EN+= install/mainexit.scr
IMAGES_EN+= install/main-std.scr
IMAGES_EN+= install/main-options.scr
IMAGES_EN+= install/main-doc.scr
IMAGES_EN+= install/main-keymap.scr
IMAGES_EN+= install/media.scr
IMAGES_EN+= install/mouse1.scr
IMAGES_EN+= install/mouse2.scr
IMAGES_EN+= install/mouse3.scr
IMAGES_EN+= install/mouse4.scr
IMAGES_EN+= install/mouse5.scr
IMAGES_EN+= install/mouse6.scr
IMAGES_EN+= install/mta-main.scr
IMAGES_EN+= install/net-config-menu1.scr
IMAGES_EN+= install/net-config-menu2.scr
IMAGES_EN+= install/nfs-server-edit.scr
IMAGES_EN+= install/ntp-config.scr
IMAGES_EN+= install/options.scr
IMAGES_EN+= install/pkg-cat.scr
IMAGES_EN+= install/pkg-confirm.scr
IMAGES_EN+= install/pkg-install.scr
IMAGES_EN+= install/pkg-sel.scr
IMAGES_EN+= install/probstart.scr
IMAGES_EN+= install/routed.scr
IMAGES_EN+= install/security.scr
IMAGES_EN+= install/sysinstall-exit.scr
IMAGES_EN+= install/timezone1.scr
IMAGES_EN+= install/timezone2.scr
IMAGES_EN+= install/timezone3.scr
IMAGES_EN+= install/userconfig.scr
IMAGES_EN+= install/userconfig2.scr
IMAGES_EN+= mail/mutt1.scr
IMAGES_EN+= mail/mutt2.scr
IMAGES_EN+= mail/mutt3.scr
IMAGES_EN+= mail/pine1.scr
IMAGES_EN+= mail/pine2.scr
IMAGES_EN+= mail/pine3.scr
IMAGES_EN+= mail/pine4.scr
IMAGES_EN+= mail/pine5.scr
IMAGES_EN+= install/example-dir1.eps
IMAGES_EN+= install/example-dir2.eps
IMAGES_EN+= install/example-dir3.eps
IMAGES_EN+= install/example-dir4.eps
IMAGES_EN+= install/example-dir5.eps
IMAGES_EN+= security/ipsec-network.pic
IMAGES_EN+= security/ipsec-crypt-pkt.pic
IMAGES_EN+= security/ipsec-encap-pkt.pic
IMAGES_EN+= security/ipsec-out-pkt.pic
IMAGES_EN+= vinum/vinum-concat.pic
IMAGES_EN+= vinum/vinum-mirrored-vol.pic
IMAGES_EN+= vinum/vinum-raid10-vol.pic
IMAGES_EN+= vinum/vinum-raid5-org.pic
IMAGES_EN+= vinum/vinum-simple-vol.pic
IMAGES_EN+= vinum/vinum-striped-vol.pic
IMAGES_EN+= vinum/vinum-striped.pic
IMAGES_EN+= virtualization/parallels-freebsd1.png
IMAGES_EN+= virtualization/parallels-freebsd2.png
IMAGES_EN+= virtualization/parallels-freebsd3.png
IMAGES_EN+= virtualization/parallels-freebsd4.png
IMAGES_EN+= virtualization/parallels-freebsd5.png
IMAGES_EN+= virtualization/parallels-freebsd6.png
IMAGES_EN+= virtualization/parallels-freebsd7.png
IMAGES_EN+= virtualization/parallels-freebsd8.png
IMAGES_EN+= virtualization/parallels-freebsd9.png
IMAGES_EN+= virtualization/parallels-freebsd10.png
IMAGES_EN+= virtualization/parallels-freebsd11.png
IMAGES_EN+= virtualization/parallels-freebsd12.png
IMAGES_EN+= virtualization/parallels-freebsd13.png
IMAGES_EN+= virtualization/virtualpc-freebsd1.png
IMAGES_EN+= virtualization/virtualpc-freebsd2.png
IMAGES_EN+= virtualization/virtualpc-freebsd3.png
IMAGES_EN+= virtualization/virtualpc-freebsd4.png
IMAGES_EN+= virtualization/virtualpc-freebsd5.png
IMAGES_EN+= virtualization/virtualpc-freebsd6.png
IMAGES_EN+= virtualization/virtualpc-freebsd7.png
IMAGES_EN+= virtualization/virtualpc-freebsd8.png
IMAGES_EN+= virtualization/virtualpc-freebsd9.png
IMAGES_EN+= virtualization/virtualpc-freebsd10.png
IMAGES_EN+= virtualization/virtualpc-freebsd11.png
IMAGES_EN+= virtualization/virtualpc-freebsd12.png
IMAGES_EN+= virtualization/virtualpc-freebsd13.png
IMAGES_EN+= virtualization/vmware-freebsd01.png
IMAGES_EN+= virtualization/vmware-freebsd02.png
IMAGES_EN+= virtualization/vmware-freebsd03.png
IMAGES_EN+= virtualization/vmware-freebsd04.png
IMAGES_EN+= virtualization/vmware-freebsd05.png
IMAGES_EN+= virtualization/vmware-freebsd06.png
IMAGES_EN+= virtualization/vmware-freebsd07.png
IMAGES_EN+= virtualization/vmware-freebsd08.png
IMAGES_EN+= virtualization/vmware-freebsd09.png
IMAGES_EN+= virtualization/vmware-freebsd10.png
IMAGES_EN+= virtualization/vmware-freebsd11.png
IMAGES_EN+= virtualization/vmware-freebsd12.png
# Images from the cross-document image library
IMAGES_LIB= callouts/1.png
IMAGES_LIB+= callouts/2.png
IMAGES_LIB+= callouts/3.png
IMAGES_LIB+= callouts/4.png
IMAGES_LIB+= callouts/5.png
IMAGES_LIB+= callouts/6.png
IMAGES_LIB+= callouts/7.png
IMAGES_LIB+= callouts/8.png
IMAGES_LIB+= callouts/9.png
IMAGES_LIB+= callouts/10.png
IMAGES_LIB+= callouts/11.png
IMAGES_LIB+= callouts/12.png
IMAGES_LIB+= callouts/13.png
IMAGES_LIB+= callouts/14.png
IMAGES_LIB+= callouts/15.png
#
# Η λίστα SRCS περιέχει όλα τα SGML αρχεία που αποτελούν μέρη του κειμένου.
# Αλλαγές σε οποιοδήποτε από αυτά τα αρχεία προκαλούν rebuild.
#
# SGML content
SRCS+= audit/chapter.sgml
SRCS+= book.sgml
SRCS+= colophon.sgml
SRCS+= dtrace/chapter.sgml
SRCS+= freebsd-glossary.sgml
SRCS+= advanced-networking/chapter.sgml
SRCS+= basics/chapter.sgml
SRCS+= bibliography/chapter.sgml
SRCS+= boot/chapter.sgml
SRCS+= config/chapter.sgml
SRCS+= cutting-edge/chapter.sgml
SRCS+= desktop/chapter.sgml
SRCS+= disks/chapter.sgml
SRCS+= eresources/chapter.sgml
SRCS+= firewalls/chapter.sgml
SRCS+= filesystems/chapter.sgml
SRCS+= geom/chapter.sgml
SRCS+= install/chapter.sgml
SRCS+= introduction/chapter.sgml
SRCS+= jails/chapter.sgml
SRCS+= kernelconfig/chapter.sgml
SRCS+= l10n/chapter.sgml
SRCS+= linuxemu/chapter.sgml
SRCS+= mac/chapter.sgml
SRCS+= mail/chapter.sgml
SRCS+= mirrors/chapter.sgml
SRCS+= multimedia/chapter.sgml
SRCS+= network-servers/chapter.sgml
SRCS+= pgpkeys/chapter.sgml
SRCS+= ports/chapter.sgml
SRCS+= ppp-and-slip/chapter.sgml
SRCS+= preface/preface.sgml
SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
SRCS+= updating/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= vinum/chapter.sgml
SRCS+= virtualization/chapter.sgml
SRCS+= x11/chapter.sgml
# Entities
SRCS+= chapters.ent
SYMLINKS= ${DESTDIR} index.html handbook.html
# Turn on all the chapters.
CHAPTERS?= ${SRCS:M*chapter.sgml}
SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./}
SGMLFLAGS+= -i chap.freebsd-glossary
pgpkeyring: pgpkeys/chapter.sgml
@${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
#
# Handbook-specific variables
#
.if defined(WITH_PGPKEYS)
JADEFLAGS+= -V withpgpkeys
.endif
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
#
# rules generating lists of mirror site from XML database.
#
XMLDOCS= mirrors-ftp:::mirrors.sgml.ftp.inc.tmp \
mirrors-cvsup:::mirrors.sgml.cvsup.inc.tmp \
eresources:::eresources.sgml.www.inc.tmp
DEPENDSET.DEFAULT= transtable mirror
XSLT.DEFAULT= ${XSL_MIRRORS}
XML.DEFAULT= ${XML_MIRRORS}
NO_TIDY.DEFAULT= yes
PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \
--param 'proto' "'ftp'" \
--param 'target' "'handbook/mirrors/chapter.sgml'"
PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \
--param 'proto' "'cvsup'" \
--param 'target' "'handbook/mirrors/chapter.sgml'"
PARAMS.eresources+= --param 'type' "'www'" \
--param 'proto' "'http'" \
--param 'target' "'handbook/eresources/chapter.sgml'"
SRCS+= mirrors.sgml.ftp.inc \
mirrors.sgml.cvsup.inc \
eresources.sgml.www.inc
CLEANFILES+= mirrors.sgml.ftp.inc mirrors.sgml.ftp.inc.tmp \
mirrors.sgml.cvsup.inc mirrors.sgml.cvsup.inc.tmp \
eresources.sgml.www.inc eresources.sgml.www.inc.tmp
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
.for p in ftp cvsup
mirrors.sgml.${p}.inc: mirrors.sgml.${p}.inc.tmp
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
.endfor
eresources.sgml.www.inc: eresources.sgml.www.inc.tmp
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
+
+# Local variables:
+# mode: makefile-bsdmake
+# coding: iso-8859-7
+# End:
diff --git a/el_GR.ISO8859-7/books/handbook/bibliography/chapter.sgml b/el_GR.ISO8859-7/books/handbook/bibliography/chapter.sgml
index 3aa4fdd3bf..7aacabe3ed 100644
--- a/el_GR.ISO8859-7/books/handbook/bibliography/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/bibliography/chapter.sgml
@@ -1,699 +1,700 @@
ΒιβλιογραφίαΑν και τα manual pages παρέχουν μία επίσημη αναφορά για ξεχωριστά
τμήματα του FreeBSD λειτουργικού συστήματος, έχουν κακή φήμη για το ότι δεν
επεξηγούν πως να ενώσεις τα τμήματα μαζί για να κάνεις όλο το λειτουργικό
σύστημα να λειτουργεί ομαλά. Για αυτό, δεν υπάρχει υποκατάστατο από ένα καλό βιβλίο στην
διαχείριση συστημάτων &unix; και ένα καλό εγχειρίδιο χρήστη.Βιβλία & Περιοδικά σχετικά με το FreeBSDΔιεθνή βιβλία &
περιοδικά:Using FreeBSD (σε Παραδοσιακά Κινέζικα).FreeBSD Unleashed (Μετάφραση σε Απλοποιημένα Κινέζικα),
εκδόθηκε από την
China Machine
Press. ISBN 7-111-10201-0.
FreeBSD From Scratch First Edition (σε Απλοποιημένα Κινέζικα),
εκδόθηκε από την China Machine Press. ISBN 7-111-07482-3.
FreeBSD From Scratch Second Edition (σε Απλοποιημένα Κινέζικα),
εκδόθηκε από την China Machine Press. ISBN 7-111-10286-X.
FreeBSD Handbook Second Edition (Μετάφραση σε Απλοποιημένα
Κινέζικα), εκδόθηκε από την
Posts & Telecom
Press. ISBN 7-115-10541-3.
FreeBSD 3.x Internet (σε Απλοποιημένα Κινέζικα),
εκδόθηκε από την
Tsinghua
University Press. ISBN 7-900625-66-6.FreeBSD & Windows (σε Απλοποιημένα Κινέζικα),
εκδόθηκε από την
China Railway Publishing
House. ISBN 7-113-03845-XFreeBSD Internet Services HOWTO (σε Απλοποιημένα Κινέζικα),
εκδόθηκε από την China Railway Publishing House.
ISBN 7-113-03423-3FreeBSD for PC 98'ers (στα Γιαπωνέζικα), εκδόθηκε από την SHUWA System
Co, LTD. ISBN 4-87966-468-5 C3055 P2900E.FreeBSD (στα Γιαπωνέζικα), εκδόθηκε από την CUTT. ISBN 4-906391-22-2
C3055 P2400E.Complete Introduction to FreeBSD
(στα Γιαπωνέζικα), εκδόθηκε από την Shoeisha Co., Ltd.
ISBN 4-88135-473-6 P3600E.Personal UNIX Starter Kit FreeBSD
(στα Γιαπωνέζικα), εκδόθηκε από την ASCII.
ISBN 4-7561-1733-3 P3000E.FreeBSD Handbook (Γιαπωνέζικη μετάφραση), εκδόθηκε από την
ASCII.
ISBN 4-7561-1580-2 P3800E.FreeBSD mit Methode (στα Γερμανικά), εκδόθηκε από την Computer und Literatur Verlag/Vertrieb Hanser, 1998. ISBN 3-932311-31-0.FreeBSD 4 - Installieren,
Konfigurieren, Administrieren
(στα Γερμανικά), εκδόθηκε από την Computer und Literatur Verlag,
2001. ISBN 3-932311-88-4.FreeBSD 5 - Installieren,
Konfigurieren, Administrieren
(στα Γερμανικά), εκδόθηκε από την Computer und Literatur Verlag,
2003. ISBN 3-936546-06-1.
FreeBSD de Luxe (στα Γερμανικά), εκδόθηκε από την
Verlag Modere Industrie,
2003. ISBN 3-8266-1343-0.
FreeBSD Install and Utilization Manual
(στα Γιαπωνέζικα), εκδόθηκε από την Mainichi Communications
Inc..Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo
Building Internet Server with
FreeBSD (στην Ινδονησιακή γλώσσα), εκδόθηκε
από την Elex Media
Komputindo.Absolute BSD: The Ultimate Guide to FreeBSD (Μετάφραση σε
Παραδοσιακά Κινέζικα), εκδόθηκε από την GrandTech Press, 2003.
ISBN 986-7944-92-5.The FreeBSD 6.0 Book
(σε Παραδοσιακά Κινέζικα), εκδόθηκε από την Drmaster, 2006.
ISBN 9-575-27878-X.Βιβλία & περιοδικά στην Αγγλική γλώσσα:Absolute
BSD: The Ultimate Guide to FreeBSD, εκδόθηκε από την
No Starch Press, 2002.
ISBN: 1886411743
The Complete FreeBSD, εκδόθηκε από την
O'Reilly, 2003.
ISBN: 0596005164The
FreeBSD Corporate Networker's Guide, εκδόθηκε από την
Addison-Wesley, 2000.
ISBN: 0201704811
FreeBSD: An Open-Source Operating System for Your Personal
Computer, εκδόθηκε από την The Bit Tree Press, 2001.
ISBN: 0971204500Teach Yourself FreeBSD in 24 Hours, εκδόθηκε από την
Sams, 2002.
ISBN: 0672324245FreeBSD 6 Unleashed, εκδόθηκε από την
Sams, 2006.
ISBN: 0672328755FreeBSD: The Complete Reference, εκδόθηκε από την
McGrawHill, 2003.
ISBN: 0072224096 Οδηγοί χρήστηComputer Systems Research Group, UC Berkeley. 4.4BSD
User's Reference Manual. O'Reilly & Associates,
Inc., 1994. ISBN 1-56592-075-9Computer Systems Research Group, UC Berkeley. 4.4BSD
User's Supplementary Documents. O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-076-7UNIX in a Nutshell. O'Reilly &
Associates, Inc., 1990. ISBN 093717520XMui, Linda. What You Need To Know When You Can't Find
Your UNIX System Administrator. O'Reilly &
Associates, Inc., 1995. ISBN 1-56592-104-6Το Ohio State
University έγραψε τα Εισαγωγικά
μαθήματα UNIX που διατίθενται σε HTML και σε μορφή
PostScript.Μια Ιταλική μετάφραση
αυτού του κειμένου διατίθεται ως μέρος του FreeBSD Italian
Documentation Project.Jpman Project, Japan
FreeBSD Users Group. FreeBSD User's
Reference Manual (Japanese translation). Mainichi Communications
Inc., 1998. ISBN4-8399-0088-4 P3800E.Το Edinburgh
University έγραψε ένα Online οδηγό για
νέους στο περιβάλλον του UNIX.Οδηγοί διαχειριστήAlbitz, Paul and Liu, Cricket. DNS and
BIND, 4th Ed. O'Reilly & Associates, Inc., 2001.
ISBN 1-59600-158-4Computer Systems Research Group, UC Berkeley. 4.4BSD
System Manager's Manual. O'Reilly & Associates,
Inc., 1994. ISBN 1-56592-080-5Costales, Brian, et al. Sendmail, 2nd Ed.
O'Reilly & Associates, Inc., 1997. ISBN 1-56592-222-0Frisch, Æleen. Essential System
Administration, 2nd Ed. O'Reilly & Associates,
Inc., 1995. ISBN 1-56592-127-5Hunt, Craig. TCP/IP Network
Administration, 2nd Ed. O'Reilly & Associates, Inc., 1997.
ISBN 1-56592-322-7Nemeth, Evi. UNIX System Administration
Handbook. 3rd Ed. Prentice Hall, 2000. ISBN
0-13-020601-6Stern, Hal Managing NFS and NIS O'Reilly
& Associates, Inc., 1991. ISBN 0-937175-75-7Jpman Project, Japan
FreeBSD Users Group. FreeBSD System
Administrator's Manual (Γιαπωνέζικη μετάφραση). Mainichi Communications
Inc., 1998. ISBN4-8399-0109-0 P3300E.Dreyfus, Emmanuel. Cahiers
de l'Admin: BSD 2nd Ed. (στα Γαλλικά), Eyrolles, 2004.
ISBN 2-212-11463-XΟδηγοί προγραμματιστώνAsente, Paul, Converse, Diana, and Swick, Ralph.
X Window System Toolkit. Digital Press,
1998. ISBN 1-55558-178-1Computer Systems Research Group, UC Berkeley. 4.4BSD
Programmer's Reference Manual. O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-078-3Computer Systems Research Group, UC Berkeley. 4.4BSD
Programmer's Supplementary Documents. O'Reilly &
Associates, Inc., 1994. ISBN 1-56592-079-1Harbison, Samuel P. and Steele, Guy L. Jr. C: A
Reference Manual. 4th ed. Prentice Hall, 1995.
ISBN 0-13-326224-3Kernighan, Brian and Dennis M. Ritchie. The C
Programming Language. 2nd Ed. PTR Prentice Hall, 1988.
ISBN 0-13-110362-8Lehey, Greg. Porting UNIX Software.
O'Reilly & Associates, Inc., 1995. ISBN 1-56592-126-7Plauger, P. J. The Standard C Library.
Prentice Hall, 1992. ISBN 0-13-131509-9Spinellis, Diomidis. Code
Reading: The Open Source Perspective.
Addison-Wesley, 2003. ISBN 0-201-79940-5Spinellis, Diomidis. Code
Quality: The Open Source Perspective.
Addison-Wesley, 2006. ISBN 0-321-16607-8Stevens, W. Richard and Stephen A. Rago.
Advanced Programming in the UNIX
Environment. 2nd Ed.
Reading, Mass. : Addison-Wesley, 2005.
ISBN 0-201-43307-9Stevens, W. Richard. UNIX Network
Programming. 2nd Ed, PTR Prentice Hall, 1998. ISBN
0-13-490012-XWells, Bill. Writing Serial Drivers for UNIX.
Dr. Dobb's Journal. 19(15), December 1994.
pp68-71, 97-99.Το εσωτερικό του λειτουργικού συστήματοςAndleigh, Prabhat K. UNIX System
Architecture. Prentice-Hall, Inc., 1990. ISBN
0-13-949843-5Jolitz, William. Porting UNIX to the 386.
Dr. Dobb's Journal. January 1991-July
1992.Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and
John Quarterman The Design and Implementation of the
4.3BSD UNIX Operating System. Reading, Mass. :
Addison-Wesley, 1989. ISBN 0-201-06196-1Leffler, Samuel J., Marshall Kirk McKusick, The Design
and Implementation of the 4.3BSD UNIX Operating System: Answer
Book. Reading, Mass. : Addison-Wesley, 1991. ISBN
0-201-54629-9McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and
John Quarterman. The Design and Implementation of the
4.4BSD Operating System. Reading, Mass. :
Addison-Wesley, 1996. ISBN 0-201-54979-4(Το κεφάλαιο 2 από αυτό το βιβλίο διατίθεται online ως μέρος του
FreeBSD Documentation Project, και το κεφάλαιο 9
εδώ.)Marshall Kirk McKusick, George V. Neville-Neil
The Design and Implementation of the FreeBSD Operating
System.
Boston, Mass. : Addison-Wesley, 2004. ISBN 0-201-70245-2Stevens, W. Richard. TCP/IP Illustrated, Volume 1:
The Protocols. Reading, Mass. : Addison-Wesley,
1996. ISBN 0-201-63346-9Schimmel, Curt. Unix Systems for Modern
Architectures. Reading, Mass. : Addison-Wesley, 1994.
ISBN 0-201-63338-8Stevens, W. Richard. TCP/IP Illustrated, Volume 3:
TCP for Transactions, HTTP, NNTP and the UNIX Domain
Protocols. Reading, Mass. : Addison-Wesley, 1996.
ISBN 0-201-63495-3Vahalia, Uresh. UNIX Internals -- The New
Frontiers. Prentice Hall, 1996. ISBN
0-13-101908-2Wright, Gary R. and W. Richard Stevens. TCP/IP
Illustrated, Volume 2: The Implementation. Reading,
Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-XΑναφορές ασφαλείαςCheswick, William R. and Steven M. Bellovin. Firewalls
and Internet Security: Repelling the Wily Hacker.
Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-63357-4Garfinkel, Simson and Gene Spafford.
Practical UNIX & Internet Security.
2nd Ed. O'Reilly & Associates, Inc., 1996. ISBN
1-56592-148-8Garfinkel, Simson. PGP Pretty Good
Privacy O'Reilly & Associates, Inc., 1995. ISBN
1-56592-098-8Αναφορές υλικούAnderson, Don and Tom Shanley. Pentium Processor
System Architecture. 2nd Ed. Reading, Mass. :
Addison-Wesley, 1995. ISBN 0-201-40992-5Ferraro, Richard F. Programmer's Guide to the EGA,
VGA, and Super VGA Cards. 3rd ed. Reading, Mass. :
Addison-Wesley, 1995. ISBN 0-201-62490-7Η Intel Corporation δημοσιεύει τεκμηρίωση για τις CPUs,
τα chipsets και πρότυπα στο developer web site,
συνήθως ως αρχεία PDF.Shanley, Tom. 80486 System Architecture.
3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-40994-1Shanley, Tom. ISA System Architecture.
3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-40996-8Shanley, Tom. PCI System Architecture.
4th ed. Reading, Mass. : Addison-Wesley, 1999. ISBN
0-201-30974-2Van Gilluwe, Frank. The Undocumented PC, 2nd Ed.
Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN
0-201-47950-8Messmer, Hans-Peter. The Indispensable PC Hardware Book, 4th Ed.
Reading, Mass: Addison-Wesley Pub. Co., 2002. ISBN
0-201-59616-4Ιστορία του &unix;Lion, John Lion's Commentary on UNIX, 6th Ed. With
Source Code. ITP Media Group, 1996. ISBN
1573980137Raymond, Eric S. The New Hacker's Dictionary, 3rd
edition. MIT Press, 1996. ISBN
0-262-68092-0. Γνωστό και ως το Jargon
FileSalus, Peter H. A quarter century of UNIX.
Addison-Wesley Publishing Company, Inc., 1994. ISBN
0-201-54777-5Simon Garfinkel, Daniel Weise, Steven Strassmann. The
UNIX-HATERS Handbook. IDG Books Worldwide, Inc.,
1994. ISBN 1-56884-203-1. Εκτός κυκλοφορίας, αλλά διατίθεται
online.Don Libes, Sandy Ressler Life with UNIX
— special edition. Prentice-Hall, Inc., 1989. ISBN
0-13-536657-7The BSD family tree.
η το /usr/share/misc/bsd-family-tree
σε ένα FreeBSD μηχάνημα.The BSD Release Announcements collection.
1997. Networked Computer Science Technical Reports
Library. Παλαιές BSD εκδόσεις από το Computer Systems Research
group (CSRG).
:
Το 4CD set έχει όλες τις BSD εκδόσεις από την 1BSD μέχρι την
4.4BSD και την 4.4BSD-Lite2 (αλλά όχι την 2.11BSD, δυστυχώς).
Το τελευταίο δισκάκι περιέχει επίσης τον τελικό πηγαίο κώδικα συν
τα αρχεία SCCS.Περιοδικά και εφημερίδεςThe C/C++ Users Journal. R&D
Publications Inc. ISSN 1075-2838Sys Admin — The Journal for UNIX System
Administrators Miller Freeman, Inc., ISSN
1061-2688freeX — Das Magazin für Linux - BSD - UNIX
(στα Γερμανικά) Computer- und Literaturverlag GmbH, ISSN 1436-7033
diff --git a/el_GR.ISO8859-7/books/handbook/book.sgml b/el_GR.ISO8859-7/books/handbook/book.sgml
index c645987560..ee07e78eef 100644
--- a/el_GR.ISO8859-7/books/handbook/book.sgml
+++ b/el_GR.ISO8859-7/books/handbook/book.sgml
@@ -1,374 +1,375 @@
%books.ent;
%chapters;
%txtfiles;
%pgpkeys;
]>
Εγχειρίδιο του FreeBSDΟμάδα Τεκμηρίωσης του FreeBSDΦεβρουάριος 199919951996199719981999200020012002200320042005200620072008Ομάδα Τεκμηρίωσης του FreeBSD
&bookinfo.legalnotice;
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.3ware;
&tm-attrib.arm;
&tm-attrib.adaptec;
&tm-attrib.adobe;
&tm-attrib.apple;
&tm-attrib.corel;
&tm-attrib.creative;
&tm-attrib.cvsup;
&tm-attrib.heidelberger;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.intuit;
&tm-attrib.linux;
&tm-attrib.lsilogic;
&tm-attrib.m-systems;
&tm-attrib.macromedia;
&tm-attrib.microsoft;
&tm-attrib.netscape;
&tm-attrib.nexthop;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.powerquest;
&tm-attrib.realnetworks;
&tm-attrib.redhat;
&tm-attrib.sap;
&tm-attrib.sun;
&tm-attrib.symantec;
&tm-attrib.themathworks;
&tm-attrib.thomson;
&tm-attrib.usrobotics;
&tm-attrib.vmware;
&tm-attrib.waterloomaple;
&tm-attrib.wolframresearch;
&tm-attrib.xfree86;
&tm-attrib.xiph;
&tm-attrib.general;
Καλώς ήρθατε στο FreeBSD! Αυτό το εγχειρίδιο καλύπτει την
εγκατάσταση και την καθημερινή χρήση του FreeBSD
&rel2.current;-RELEASE και του FreeBSD
&rel.current;-RELEASE. Το βιβλίο αυτό είναι
μόνιμα υπό βελτίωση και ανάπτυξη και
αποτελεί το αποτέλεσμα της δουλειάς πολλών ατόμων, οπότε κάποια
τμήματα μπορεί να περιέχουν σχετικά ξεπερασμένες πληροφορίες και
να χρειάζονται ανανέωση. Αν ενδιαφέρεστε να μας βοηθήσετε σε
αυτό το έργο, επικοινωνήστε μαζί μας μέσω της διεύθυνσης
&a.doc;. Η τελευταία έκδοση αυτού του κειμένου είναι πάντα
διαθέσιμη από την
ιστοσελίδα του &os;
(παλιότερες εκδόσεις μπορείτε να βρείτε στη διεύθυνση
). Μπορείτε
επίσης να μεταφορτώσετε στον υπολογιστή σας το ίδιο βιβλίο σε
άλλες μορφές αρχείου και με διάφορες μορφές συμπίεσης από
τον εξυπηρετητή
FTP του &os; ή ένα από τα
πολλά mirror sites. Αν
προτιμάτε ένα τυπωμένο αντίτυπο, μπορείτε να αγοράσετε ένα
αντίγραφο του Εγχειριδίου, από το
FreeBSD Mall.
Μπορείτε επίσης
να ψάξετε σε όλο το
βιβλίο.
&chap.preface;
Ξεκινώντας με το FreeBSDΑυτό το μέρος του Εγχειριδίου του &os; είναι για τους χρήστες και
τους διαχειριστές συστημάτων που δεν έχουν ήδη μεγάλη εμπειρία με το
&os;. Τα κεφάλαια που ακολουθούν:Είναι εισαγωγικά για το &os;Σας καθοδηγούν κατά τη διάρκεια της διαδικασίας
εγκατάστασηςΣας εισάγουν στις βασικές έννοιες του &unix;Περιγράφουν τη διαδικασία εγκατάστασης της πληθώρας εφαρμογών
που είναι διαθέσιμες στο &os;Σας εισάγουν στο γραφικό περιβάλλον του &unix;, το σύστημα Χ,
και σας καθοδηγούν σχετικά με τις αρχικές ρυθμίσεις ενός γραφικού
περιβάλλοντος εργασίας, με το οποίο μπορείτε να είστε ακόμα πιο
παραγωγικοίΣε αυτό το τμήμα του βιβλίου, έχουμε προσπαθήσει να μειώσουμε
στο ελάχιστο τις αναφορές σε τμήματα ή κεφάλαια του Εγχειριδίου
τα οποία δεν έχετε ήδη διαβάσει. Αυτό αποσκοπεί στο να γίνει
πιο εύκολη η ανάγνωση του τμήματος αυτού του Εγχειριδίου από την
αρχή μέχρι και το τέλος, χωρίς να απαιτείται να ψάχνετε συνεχώς
τα επόμενα ή προηγούμενα τμήματα.Βασικές ΕργασίεςΤώρα που έχουμε καλύψει πλέον τα βασικά θέματα, αυτό το
τμήμα του Εγχειριδίου του &os; περιγράφει τις πιο βασικές εργασίες
και τα πιο δημοφιλή χαρακτηριστικά του &os;. Τα κεφάλαια αυτού του
τμήματος:Παρουσιάζουν τις πιο δημοφιλείς και χρήσιμες εφαρμογές
και περιβάλλοντα εργασίας: φυλλομετρητές (browsers), γραφικά
περιβάλλοντα εργασίας, εργαλεία προβολής διαφόρων μορφών
αρχείων, κλπ.Παρουσιάζουν ορισμένα από τα εργαλεία πολυμέσων
(multimedia) που είναι διαθέσιμα για το &os;Εξηγούν τη διαδικασία μεταγλώττισης και εγκατάστασης
ενός προσαρμοσμένου πυρήνα για το &os;, έτσι ώστε να
ενεργοποιηθούν έξτρα χαρακτηριστικά για το σύστημά
σας.Περιγράφουν σε βάθος το σύστημα εκτυπώσεων, τόσο για
εκτυπωτές που είναι απευθείας συνδεδεμένοι με το σταθμό
εργασίας σας, όσο και για δικτυακούς εκτυπωτές.Περιγράφουν πώς μπορείτε να τρέξετε εφαρμογές Linux στο
&os; σύστημά σας.Μερικά από αυτά τα κεφάλαια απαιτούν να έχετε μελετήσει πιο
πριν κάποιο άλλο κεφάλαιο. Όπου είναι απαραίτητο κάτι τέτοιο,
αναφέρεται στη σύνοψη του κάθε κεφαλαίου.Διαχείριση ΣυστήματοςΤα κεφάλαια του &os; Handbook που ακολουθούν αναφέρονται σε θέματα
που έχουν σχέση με τη διαχείριση του συστήματος.
Κάθε κεφάλαιο ξεκινά περιγράφοντας τι θα μάθετε διαβάζοντας
το συγκεκριμένο κεφάλαιο, καθώς και τι προαπαιτούμενα έχει το κεφάλαιο
αυτό: τι πρέπει να έχετε ήδη διαβάσει και κατανοήσει πριν ασχοληθείτε
με αυτό το κεφάλαιο.Αυτά τα κεφάλαια έχουν σχεδιαστεί περισσότερο ως οδηγός αναφοράς
παρά ως εισαγωγικό κείμενο. Γι αυτό είναι πιο χρήσιμα ως οδηγοί στους
οποίους μπορείτε να ανατρέξετε όταν χρειάζεστε κάποια πληροφορία για
το &os;. Δε χρειάζεται να τα διαβάσετε με κάποια συγκεκριμένη σειρά,
ούτε χρειάζεται να τα έχετε διαβάσει όλα πριν αρχίσετε να ασχολείστε
με το &os;.Δικτυακές ΕπικοινωνίεςΤο &os; είναι ένα από τα πιο ευρέως διαδεδομένα λειτουργικά
συστήματα για υψηλής απόδοσης δικτυακές εφαρμογές και εξυπηρετητές.
Τα κεφάλαια σε αυτό το τμήμα περιγράφουν:Τις επικοινωνίες με σειραϊκή σύνδεση (serial)Τα πρωτόκολλα PPP και PPP πάνω από EthernetΤην Ηλεκτρονική ΑλληλογραφίαΤην Εγκατάσταση Δικτυακών ΥπηρεσιώνΤη Ρύθμιση και Λειτουργία των FirewallsΆλλα Προχωρημένα Θέματα ΔικτύωνΑυτά τα κεφάλαια έχουν σχεδιαστεί περισσότερο ως οδηγός αναφοράς
παρά ως εισαγωγικό κείμενο. Γι αυτό είναι πιο χρήσιμα ως οδηγοί στους
οποίους μπορείτε να ανατρέξετε όταν χρειάζεστε κάποια πληροφορία για
το &os;. Δε χρειάζεται να τα διαβάσετε με κάποια συγκεκριμένη σειρά,
ούτε χρειάζεται να τα έχετε διαβάσει όλα πριν αρχίσετε να ασχολείστε
με το &os;.Παραρτήματα
&chap.colophon;
diff --git a/el_GR.ISO8859-7/books/handbook/chapters.ent b/el_GR.ISO8859-7/books/handbook/chapters.ent
index 2550145b4b..efa6fcc66c 100644
--- a/el_GR.ISO8859-7/books/handbook/chapters.ent
+++ b/el_GR.ISO8859-7/books/handbook/chapters.ent
@@ -1,71 +1,78 @@
-
+
+
diff --git a/el_GR.ISO8859-7/books/handbook/colophon.sgml b/el_GR.ISO8859-7/books/handbook/colophon.sgml
index ac9bd440e4..05b00d2272 100644
--- a/el_GR.ISO8859-7/books/handbook/colophon.sgml
+++ b/el_GR.ISO8859-7/books/handbook/colophon.sgml
@@ -1,38 +1,39 @@
Αυτό το βιβλίο είναι το αποτέλεσμα της ομαδικής εργασίας εκατοντάδων
εθελοντών της Ομάδας Τεκμηρίωσης του &os;. Αυτό το
κείμενο γράφτηκε σε μορφή SGML, σύμφωνα με το DocBook DTD και έχει
μορφοποιηθεί από την SGML σε πολλές διαφορετικές μορφές παρουσίασης
χρησιμοποιώντας την εφαρμογή Jade, μια μηχανή
DSSSL ανοιχτού κώδικα. Χρησιμοποιήθηκαν τα DSSSL stylesheets του Norm Walsh με ένα
επιπλέον επίπεδο τροποποίησης για να δώσουν τις οδηγίες παρουσίασης στην
Jade. Η έντυπη μορφή αυτού του κειμένου δεν θα
υπήρχε χωρίς την γλώσσα στοιχειοθεσίας &tex;
του Donald Knuth, το LaTeX του Leslie Lamport,
ή το macro package JadeTeX του Sebastian
Rahtz.
diff --git a/el_GR.ISO8859-7/books/handbook/eresources/chapter.sgml b/el_GR.ISO8859-7/books/handbook/eresources/chapter.sgml
index 12ca7fddae..1c91cd6233 100644
--- a/el_GR.ISO8859-7/books/handbook/eresources/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/eresources/chapter.sgml
@@ -1,2052 +1,2053 @@
Πηγές Πληροφόρησης στο ΔιαδίκτυοΗ ραγδαία εξέλιξη του &os; καθιστά τα έντυπα μέσα ανίκανα να
ακολουθήσουν τις τελευταίες εξελίξεις. Οι ηλεκτρονικές πηγές είναι ο
καλύτερος (αν όχι ο μόνος) τρόπος για να παραμείνετε ενήμερος για τις
τελευταίες εξελίξεις. Καθώς το &os; είναι μια εθελοντική προσπάθεια, η
κοινότητα των χρηστών λειτουργεί και ως
τμήμα τεχνικής υποστήριξης, με το ηλεκτρονικό ταχυδρομείο
και τα USENET news να είναι οι πλέον αποτελεσματικοί τρόποι για
να έλθετε σε επαφή με αυτή την κοινότητα.Στις παρακάτω ενότητες, θα βρείτε τα σημαντικότερα σημεία
επικοινωνίας με την κοινότητα χρηστών του &os;. Αν γνωρίζετε και άλλες
πηγές, οι οποίες δεν αναφέρονται εδώ, παρακαλούμε να τις στείλετε στην
&a.doc; ώστε να ενταχθούν και αυτές.Λίστες Ηλεκτρονικού ΤαχυδρομείουΠολλά από τα μέλη της ομάδας ανάπτυξης του &os; διαβάζουν το
USENET. Ωστόσο, αν στέλνετε τις ερωτήσεις σας μόνο σε κάποια από τις
ομάδες comp.unix.bsd.freebsd.*, δεν μπορούμε να
εγγυηθούμε ότι θα απαντηθούν γρήγορα (ή και καθόλου). Στέλνοντας τις
ερωτήσεις σας στην κατάλληλη λίστα θα προσεγγίσετε τόσο εμάς, όσο και
κοινό εξειδικευμένο στο &os;, επιτυγχάνοντας έτσι καλύτερη
(ή τουλάχιστον ταχύτερη) ανταπόκριση.Στο τέλος αυτού του κειμένου θα βρείτε ένα πίνακα με τη θεματολογία
της κάθε λίστας. Παρακαλούμε να τον διαβάσετε πριν αρχίσετε
να συμμετέχετε ή να στέλνετε μηνύματα σε οποιαδήποτε λίστα.
Οι περισσότεροι από τους συνδρομητές μας δέχονται καθημερινά
εκατοντάδες μηνύματα σχετικά με το &os;. Οι κανόνες που έχουμε
καθιερώσει, βοηθάνε να γίνεται σωστή χρήση και να διατηρείται σε υψηλό
επίπεδο η αναλογία σήματος προς θόρυβο της κάθε λίστας. Εάν ήμασταν
πιο χαλαροί, οι λίστες μας θα έχαναν την αποτελεσματικότητα τους ως
μέσο επικοινωνίας για το Project.Αν θέλετε να δοκιμάσετε την ικανότητα σας να στέλνετε
μηνύματα στις λίστες του &os;, στείλτε ένα δοκιμαστικό μήνυμα στην
λίστα &a.test.name;. Παρακαλούμε μη στέλνετε δοκιμαστικά
μηνύματα σε οποιαδήποτε άλλη λίστα.Αν βρίσκεστε σε δίλημμα σχετικά με το ποια λίστα να στείλετε μια
ερώτηση, δείτε το Πως να
χρησιμοποιείτε με επιτυχία την λίστα ηλεκτρονικού ταχυδρομείου
&os;-questions.Πριν στείλετε κάτι σε οποιαδήποτε λίστα, μάθετε πως να
χρησιμοποιείτε καλύτερα τις λίστες ηλεκτρονικού ταχυδρομείου. Για
παράδειγμα, δείτε πως μπορείτε να βοηθήσετε ώστε να αποφεύγονται συχνά
επαναλαμβανόμενες συζητήσεις, διαβάζοντας το κείμενο Συχνές Ερωτήσεις Σχετικά με
τις Λίστες Ταχυδρομείου (FAQ).Για όλες τις λίστες ηλεκτρονικού ταχυδρομείου διατηρείται αρχείο με
τις παλιές δημοσιεύσεις, στο οποίο μπορεί να γίνει αναζήτηση
χρησιμοποιώντας την Δικτυακή
Τοποθεσία του &os;. Είναι δυνατή η αναζήτηση στο αρχείο μέσω
λέξεων-κλειδιών, το οποίο αποτελεί ένα άριστο τρόπο για να βρείτε
απαντήσεις σε συχνές ερωτήσεις. Πριν στείλετε μια ερώτηση, καλό θα
είναι να πραγματοποιήσετε μια τέτοια αναζήτηση.Σύνοψη ΛιστώνΓενικές λίστες: Οι ακόλουθες είναι γενικές
λίστες όπου ο καθένας είναι ελεύθερος (και ενθαρρύνεται) να
συμμετέχει:ΛίσταΣκοπός&a.advocacy.name;Διαφήμιση και προώθηση του &os;&a.announce.name;Σημαντικά γεγονότα και ανακοινώσεις&a.arch.name;Συζητήσεις αρχιτεκτονικής και σχεδιασμού&a.bugbusters.name;Συζητήσεις που αναφέρονται στην συντήρηση της
βάσης δεδομένων αναφοράς προβλημάτων του &os;, και των
σχετικών εργαλείων της&a.bugs.name;Αναφορές σφαλμάτων&a.chat.name;Μη-τεχνικά θέματα που σχετίζονται με την κοινότητα του
&os;&a.current.name;Συζητήσεις που σχετίζονται με τη χρήση
&os.current;&a.isp.name;Θέματα για Παροχείς Υπηρεσιών Διαδικτύου που
χρησιμοποιούν το &os;&a.jobs.name;Συμβουλευτικές υπηρεσίες και θέσεις εργασίας σχετικές
με &os;&a.policy.name;Κατευθυντήριες αποφάσεις (policy) της ομάδας &os; Core.
Λίστα με μικρή κίνηση, και μόνο για ανάγνωση&a.questions.name;Απορίες χρηστών και τεχνική υποστήριξη&a.security-notifications.name;Ειδοποιήσεις ασφαλείας&a.stable.name;Συζητήσεις που σχετίζονται με την χρήση του
&os.stable;&a.test.name;Στείλτε εδώ τα δοκιμαστικά σας μηνύματα αντί για μια
από τις πραγματικές λίστεςΤεχνικές λίστες: Οι ακόλουθες λίστες είναι
για τεχνικές συζητήσεις. Πριν αρχίσετε να συμμετέχετε και να
στέλνετε μηνύματα σε αυτές, θα πρέπει να διαβάσετε προσεκτικά την
περιγραφή τους. Υπάρχουν αυστηρές οδηγίες για τη χρήση και το
περιεχόμενο τους.ΛίσταΣκοπός&a.acpi.name;Ανάπτυξη της διαχείρισης ενέργειας και του ACPI&a.afs.name;Μεταφορά του AFS στο &os;&a.aic7xxx.name;Ανάπτυξη οδηγών για κάρτες &adaptec; AIC 7xxx&a.alpha.name;Μεταφορά του &os; στον Alpha&a.amd64.name;Μεταφορά του &os; σε συστήματα AMD64&a.apache.name;Συζήτηση για ports σχετικά με τον
Apache&a.arm.name;Μεταφορά του &os; σε επεξεργαστές &arm;&a.atm.name;Χρήση δικτύωσης ATM στο &os;&a.audit.name;Project ελέγχου πηγαίου κώδικα&a.binup.name;Σχεδίαση και ανάπτυξη του συστήματος έτοιμων ενημερώσεων
(binary updates)&a.bluetooth.name;Χρήση της τεχνολογίας &bluetooth; στο &os;&a.cluster.name;Χρήση του &os; σε παράλληλα συστήματα&a.cvsweb.name;Συντήρηση του CVSweb&a.database.name;Συζήτηση για την χρήση και ανάπτυξη βάσεων δεδομένων στο
&os;&a.doc.name;Δημιουργία τεκμηρίωσης για το &os;&a.drivers.name;Δημιουργία οδηγών συσκευών για το &os;&a.eclipse.name;Συζήτηση για τη χρήση του Eclipse IDE, των εργαλείων
του, καθώς και rich client εφαρμογών και ports
στο &os;.&a.embedded.name;Χρήση του &os; σε embedded εφαρμογές&a.eol.name;Ομότιμη υποστήριξη για λογισμικό σχετικό με &os;, που
δεν υποστηρίζεται πλέον από το &os; Project.&a.emulation.name;Εξομοίωση άλλων συστημάτων, όπως είναι τα
Linux/&ms-dos;/&windows;&a.firewire.name;Τεχνική συζήτηση για &os; &firewire;
(iLink, IEEE 1394)&a.fs.name;Συστήματα αρχείων&a.geom.name;Συζητήσεις σχετικές με το GEOM και τις υλοποιήσεις
του&a.gnome.name;Μεταφορά του GNOME και των
εφαρμογών του&a.hackers.name;Γενικές τεχνικές συζητήσεις&a.hardware.name;Γενική συζήτηση για συμβατότητα υλικού με το
&os;&a.i18n.name;Διεθνοποίηση του &os;&a.ia32.name;Το &os; στην αρχιτεκτονική IA-32 (&intel; x86)&a.ia64.name;Μεταφορά του &os; στα νέα συστήματα IA64 της
&intel;&a.ipfw.name;Τεχνική συζήτηση που επικεντρώνεται στον επανασχεδιασμό
του κώδικα IP του firewall&a.isdn.name;Ομάδα ανάπτυξης του ISDN&a.jail.name;Συζήτηση σχετικά με τις δυνατότητες του
&man.jail.8;&a.java.name;Ομάδα ανάπτυξης &java; και άτομα που μεταφέρουν τα
&jdk;s στο &os;&a.kde.name;Μεταφορά του KDE και των
εφαρμογών του&a.lfs.name;Μεταφορά του LFS στο &os;&a.libh.name;Το σύστημα εγκατάστασης και διαχείρισης πακέτων
δεύτερης γενιάς&a.mips.name;Μεταφορά του &os; σε επεξεργαστές &mips;&a.mobile.name;Συζητήσεις σχετικές με φορητά υπολογιστικά
συστήματα&a.mozilla.name;Μεταφορά του Mozilla
στο &os;&a.multimedia.name;Εφαρμογές πολυμέσων&a.newbus.name;Τεχνικές συζητήσεις σχετικές με την αρχιτεκτονική
διαύλων&a.net.name;Συζητήσεις δικτύωσης και πηγαίος κώδικας TCP/IP&a.openoffice.name;Μεταφορά του OpenOffice.org
και του &staroffice;
στο &os;&a.performance.name;Ερωτήσεις σχετικές με βελτιστοποίηση απόδοσης για
εγκαταστάσεις υψηλής απόδοσης και μεγάλου φορτίου&a.perl.name;Υποστήριξη ενός αριθμού από ports σχετικά με Perl&a.pf.name;Συζήτηση και ερωτήσεις σχετικές με το σύστημα packet
filter firewall&a.platforms.name;Συζήτηση για μεταφορά σε μη-&intel;
αρχιτεκτονικές&a.ports.name;Συζήτηση για την Συλλογή των Ports&a.ports-bugs.name;Συζήτηση για σφάλματα και αναφορές σφαλμάτων (PRs) που
αφορούν ports&a.ppc.name;Μεταφορά του &os; στο &powerpc;&a.proliant.name;Τεχνική συζήτηση για χρήση του &os; σε διακομιστές HP
ProLiant&a.python.name;Θέματα σχετικά με Python στο &os;&a.qa.name;Συζήτηση σχετικά με Έλεγχο και Διασφάλιση Ποιότητας
(Quality Assurance), συνήθως πριν από μια επίσημη έκδοση
του &os;&a.rc.name;Συζήτηση σχετικά με το σύστημα rc.d
και την ανάπτυξή του&a.realtime.name;Ανάπτυξη επεκτάσεων πραγματικού χρόνου του &os;&a.ruby.name;Συζήτηση σχετικά με τη Ruby στο &os;&a.scsi.name;Το υποσύστημα SCSI&a.security.name;Θέματα ασφαλείας που επηρεάζουν το &os;&a.small.name;Χρήση του &os; σε embedded συστήματα
(Δεν χρησιμοποιείται πλέον: αντί για αυτή τη λίστα,
χρησιμοποιήστε την &a.embedded.name;)&a.smp.name;Συζητήσεις ανάπτυξης για την [α]συμμετρική
πολυεπεξεργασία&a.sparc.name;Μεταφορά του &os; σε &sparc; συστήματα&a.standards.name;Συμμόρφωση του &os; με τα πρότυπα C99
και &posix;&a.sun4v.name;Μεταφορά του &os; σε &ultrasparc; T1 συστήματα&a.threads.name;Πολυνηματική επεξεργασία στο &os;&a.testing.name;Δοκιμές απόδοσης και σταθερότητας του &os;&a.tokenring.name;Υποστήριξη του Token Ring στο &os;&a.usb.name;Συζήτηση υποστήριξης του USB στο &os;&a.virtualization.name;Συζήτηση σχετικά με διάφορες τεχνικές εικονικοποίησης
που υποστηρίζονται από το &os;&a.vuxml.name;Συζήτηση για την υποδομή VuXML&a.x11.name;Συντήρηση και υποστήριξη του X11 στο &os;&a.xen.name;Συζήτηση για τη μεταφορά του &os; στο &xen; —
υλοποίηση και χρήσηΠεριορισμένες λίστες: Οι ακόλουθες λίστες
είναι για πιο ειδικό (και απαιτητικό) κοινό και πιθανώς δεν
ενδιαφέρουν το γενικό κοινό. Πριν αρχίσετε να συμμετέχετε σε κάποια
από αυτές, καλό θα είναι να έχετε παρακολουθήσει τις τεχνικές λίστες,
ώστε να αντιλαμβάνεστε τον κώδικα επικοινωνίας και συμπεριφοράς που
ισχύει σε αυτές.ΛίσταΣκοπός&a.hubs.name;Άτομα που διατηρούν mirror sites (υποστήριξη
υποδομών)&a.usergroups.name;Οργάνωση των συλλόγων χρηστών&a.vendors.name;Οργάνωση μεταπωλητών πριν από επίσημες εκδόσεις&a.wip-status.name;Κατάσταση εργασιών του &os; που βρίσκονται σε εξέλιξη
(Work-in-Progress).&a.www.name;Συντηρητές του www.FreeBSD.orgΛίστες digest: Όλες οι παραπάνω λίστες
διατίθενται και σε μορφή digest (περίληψης). Μόλις εγγραφείτε σε μία
λίστα, μπορείτε να αλλάξετε τις επιλογές digest στο τμήμα ρυθμίσεων
του λογαριασμού σας.Λίστες CVS & SVN: Οι ακόλουθες λίστες
είναι για όσους ενδιαφέρονται να βλέπουν τα μηνύματα (log) που
δείχνουν τις αλλαγές σε διάφορες περιοχές του πηγαίου κώδικα. Είναι
λίστες μόνο για ανάγνωση και δεν πρέπει να
στέλνετε μηνύματα σε αυτές.ΛίσταΠεριοχή πηγαίου κώδικαΠεριγραφή περιοχής (κώδικας για)&a.cvsall.name;/usr/(CVSROOT|doc|ports)Όλες οι αλλαγές σε κάθε μέρος του δέντρου (περιέχει όλες
τις άλλες λίστες CVS)&a.cvs-doc.name;/usr/(doc|www)Όλες οι αλλαγές στα δέντρα doc και www&a.cvs-ports.name;/usr/portsΌλες οι αλλαγές στο δέντρο των ports&a.cvs-projects.name;/usr/projectsΌλες οι αλλαγές στο δέντρο των projects&a.cvs-src.name;/usr/srcΌλες οι αλλαγές στο δέντρο src (δημιουργείται από τα
commit του προγράμματος μετατροπής svn-to-cvs)&a.svn-src-all.name;/usr/srcΌλες οι αλλαγές στο Subversion repository (εκτός από
τις περιοχές user και
projects)&a.svn-src-head.name;/usr/srcΌλες οι αλλαγές στον κλάδο head του
Subversion repository (πρόκειται για τον κλάδο
&os;-CURRENT)&a.svn-src-projects.name;/usr/projectsΌλες οι αλλαγές στην περιοχή πηγαίου κώδικα
projects του Subversion
repository&a.svn-src-release.name;/usr/srcΌλες οι αλλαγές στην περιοχή πηγαίου κώδικα
releases του Subversion
repository&a.svn-src-releng.name;/usr/srcΌλες οι αλλαγές σε όλους τους κλάδους πηγαίου κώδικα
releng του Subversion repository
(πρόκειται για τους κλάδους security / release
engineering)&a.svn-src-stable.name;/usr/srcΌλες οι αλλαγές σε όλους τους κλάδους πηγαίου κώδικα
stable του Subversion repository&a.svn-src-stable-6.name;/usr/srcΌλες οι αλλαγές στον κλάδο πηγαίου κώδικα
stable/6 του Subversion
repository&a.svn-src-stable-7.name;/usr/srcΌλες οι αλλαγές στον κλάδο πηγαίου κώδικα
stable/7 του Subversion
repository&a.svn-src-stable-other.name;/usr/srcΌλες οι αλλαγές στους παλιούς
stable κλάδους πηγαίου κώδικα
του Subversion repository&a.svn-src-svnadmin.name;/usr/srcΌλες οι αλλαγές στα scripts διαχείρισης, τα hooks,
και άλλα δεδομένα που αφορούν τις ρυθμίσεις του
Subversion repository&a.svn-src-user.name;/usr/srcΌλες οι αλλαγές στην πειραματική περιοχή πηγαίου
κώδικα user του Subversion
repository&a.svn-src-vendor.name;/usr/srcΌλες οι αλλαγές στην περιοχή εργασίας πηγαίου κώδικα
vendor του Subversion repositoryΠως να ΕγγραφείτεΓια να εγγραφείτε σε μία λίστα, επιλέξτε το όνομα της από τους
παραπάνω δεσμούς ή πηγαίνετε στο &a.mailman.lists.link;
και επιλέξτε την λίστα για την οποία ενδιαφέρεστε. Η σελίδα της
λίστας πρέπει να περιέχει όλες τις απαραίτητες πληροφορίες
εγγραφής.Για να γράψετε σε μια λίστα, απλώς στείλτε το μήνυμα σας στο
όνομα-λίστας@FreeBSD.org.
Το μήνυμα σας θα διανεμηθεί σε όλα τα μέλη της λίστας, σε οποιοδήποτε
σημείο του κόσμου και αν βρίσκονται.Για να διαγραφείτε από μια λίστα, επιλέξτε το URL που
βρίσκεται στο τέλος κάθε μηνύματος που λαμβάνετε από την λίστα.
Μπορείτε επίσης να στείλετε ένα μήνυμα στο
όνομα-λίστας-unsubscribe@FreeBSD.org
για να διαγραφείτε μόνος σας.Για ακόμα μια φορά, θα θέλαμε να σας ζητήσουμε να διατηρήσετε τη
συζήτηση των τεχνικών λιστών στα αντίστοιχα τεχνικά θέματα. Αν
ενδιαφέρεστε μόνο για σημαντικές ανακοινώσεις, τότε προτείνουμε να
εγγραφείτε στην &a.announce;, η οποία έχει μικρή κίνηση.Πίνακες ΛιστώνΌλες οι &os; λίστες έχουν συγκεκριμένους
βασικούς κανόνες οι οποίοι πρέπει να ακολουθούνται από οποιονδήποτε
τις χρησιμοποιεί. Όποιος αποτύχει να ακολουθήσει αυτούς τους κανόνες
θα λάβει δύο (2) γραπτές προειδοποιήσεις από τον &os; Postmaster
postmaster@FreeBSD.org. Σε περίπτωση τρίτης
παραβίασης, το άτομο αυτό θα απομακρυνθεί από όλες τις λίστες του
&os; και τα μηνύματα του προς αυτές θα φιλτράρονται. Λυπόμαστε που
χρειάζεται να επιβάλλουμε αυτούς τους κανόνες και μέτρα, αλλά το
σημερινό Διαδίκτυο είναι καθώς φαίνεται ένα πολύ σκληρό περιβάλλον,
και πολλοί δεν εκτιμούν πόσο εύθραυστοι είναι μερικοί μηχανισμοί
του.Κανόνες:Το θέμα κάθε μηνύματος πρέπει να είναι σχετικό με τον βασικό
σκοπό της λίστας που στάλθηκε, π.χ. αν η λίστα σχετίζεται με
τεχνικά θέματα τότε το μήνυμα σας πρέπει να περιέχει τεχνικό
περιεχόμενο. Η άσχετη φλυαρία ή το flaming μειώνει την αξία της
λίστας για όλους που την παρακολουθούν και δεν μπορούμε να
ανεχτούμε αυτή τη συμπεριφορά. Για ελεύθερες συζητήσεις χωρίς
κάποιο συγκεκριμένο θέμα, διατίθεται η &a.chat; την οποία και θα
πρέπει να χρησιμοποιείτε.Κανένα μήνυμα δεν θα πρέπει να σταλεί σε περισσότερες από 2
λίστες, και σε 2 μόνο όταν υπάρχει ξεκάθαρος και προφανής λόγος
για κάτι τέτοιο. Πολλοί συνδρομητές είναι έτσι και αλλιώς
γραμμένοι σε περισσότερες από μία λίστες. Έτσι, αν δεν πρόκειται
να κάνετε κάποιο περίεργο συνδυασμό
(π.χ. -stable & -scsi), δεν υπάρχει λόγος να
στείλετε μήνυμα σε περισσότερες από μία λίστα κάθε φορά. Αν
λάβετε κάποιο μήνυμα στο οποίο φαίνονται πολλαπλές λίστες στην
γραμμή Cc, καλό θα είναι να περικόψετε κάποιες
από αυτές πριν στείλετε απάντηση. Θεωρείστε υπεύθυνος
για τα δικά σας cross-postings, ανεξάρτητα ποιος είναι ο
δημιουργός τους.Προσωπικές επιθέσεις και ασέβεια (στο περιεχόμενο μιας
αντιπαράθεσης) δεν επιτρέπονται, και αυτό αφορά τόσο τους χρήστες
όσο και τους developers. Μεγάλες παραβάσεις των κανόνων
(netiquette), όπως χρήση τμημάτων ή ολόκληρων προσωπικών
μηνυμάτων όταν δεν έχει δοθεί άδεια για να γίνει αυτό και δεν
ήταν αναμενόμενο, αποδοκιμάζονται αλλά δεν απαγορεύονται ρητά.
Όμως, υπάρχουν μερικές περιπτώσεις όπου
τέτοιο περιεχόμενο εμπίπτει στους κανονισμούς κάποιας λίστας και
μπορεί να οδηγήσει σε προειδοποίηση (ή ακόμα και αποκλεισμό) από
αυτήν.Διαφήμιση προϊόντων ή υπηρεσιών που δεν σχετίζονται με το &os;
απαγορεύεται αυστηρά και θα οδηγήσει σε άμεσο αποκλεισμό αν είναι
φανερό ότι ο πταίστης διαφημίζεται με spam.Ατομικοί πίνακες λιστών:&a.acpi.name;Ανάπτυξη της διαχείρισης ενέργειας και του
ACPI&a.afs.name;Andrew File SystemΑυτή η λίστα είναι για συζήτηση της μεταφοράς και της
χρήσης του AFS από το CMU/Transarc&a.announce.name;Σημαντικά γεγονότα και
ανακοινώσειςΑυτή η λίστα είναι για άτομα που ενδιαφέρονται μόνο για
περιστασιακές ανακοινώσεις σημαντικών γεγονότων του &os;.
Περιλαμβάνει ανακοινώσεις σχετικά με snapshots και άλλα
releases. Επίσης δημοσιεύονται σε αυτήν ανακοινώσεις για νέες
ικανότητες του &os;. Μπορεί να περιέχει εκκλήσεις για
εθελοντές κτλ. Πρόκειται για μία λίστα με μικρή κίνηση, και οι
δημοσιεύσεις ελέγχονται αυστηρά.&a.arch.name;Συζητήσεις αρχιτεκτονικής και
σχεδιασμούΣε αυτή την λίστα συζητείται η αρχιτεκτονική του &os;.
Τα μηνύματα είναι κατά κύριο λόγο αρκετά τεχνικά. Παραδείγματα
σχετικών θεμάτων είναι:Πως να επανασχεδιαστεί το σύστημα μεταγλώττισης ώστε να
εκτελεί ταυτόχρονα πολλές προσαρμοσμένες
μεταγλωττίσεις.Τι πρέπει να επισκευαστεί στο VFS ώστε να λειτουργούν
τα Heidemann layers.Πώς πρέπει να μετατρέψουμε τη διεπαφή (interface) των
οδηγών συσκευών ώστε να μπορούμε να χρησιμοποιήσουμε τα
ίδια προγράμματα οδήγησης σε πολλούς διαύλους και
αρχιτεκτονικές.Πως να γράψετε ένα οδηγό δικτύου.&a.audit.name;Project ελέγχου πηγαίου κώδικαΑυτή η λίστα χρησιμοποιείται για το project ελέγχου του
πηγαίου κώδικα του &os;. Αν και αρχικά προορίζονταν για
συζητήσεις αλλαγών που σχετίζονταν με την ασφάλεια, διευρύνθηκε
ώστε να ασχολείται με οποιαδήποτε αλλαγή κώδικα.Η λίστα είναι γεμάτη με patches, και
πιθανότατα δεν θα ενδιαφέρει έναν απλό χρήστη του &os;.
Συζητήσεις ασφαλείας που δεν σχετίζονται με συγκεκριμένη
αλλαγή στον κώδικα, γίνονται στην λίστα freebsd-security.
Αντίθετα, όλοι οι developers παροτρύνονται να στέλνουν εδώ τα
patches τους για έλεγχο, ειδικά αν σχετίζονται
με ένα μέρος του συστήματος όπου ένα σφάλμα μπορεί να επηρεάσει
ολόκληρη την ακεραιότητα του.&a.binup.name;Project αναβάθμισης του &os; μέσω έτοιμων
(δυαδικών) αρχείωνΣε αυτή την λίστα συζητείται το σύστημα αναβάθμισης μέσω
έτοιμων (binary) αρχείων, ή binup.
Σε αυτή τη λίστα ανήκουν θέματα σχεδιασμού, λεπτομέρειες
υλοποίησης, patches, αναφορές σφαλμάτων,
αναφορές κατάστασης, αιτήσεις για πρόσθετα χαρακτηριστικά,
commit logs, και ότι άλλο σχετίζεται με το
binup.&a.bluetooth.name;Χρήση της τεχνολογίας &bluetooth;
στο &os;Σε αυτή τη λίστα συναθροίζονται οι χρήστες του &bluetooth;
στο &os;. Η λίστα ασχολείται με θέματα σχεδιασμού,
λεπτομέρειες υλοποίησης, patches, αναφορές
σφαλμάτων, αναφορές κατάστασης, αιτήσεις για πρόσθετα
χαρακτηριστικά, και ότι άλλο σχετίζεται με το
&bluetooth;.&a.bugbusters.name;Προσπάθεια οργάνωσης του χειρισμού των αναφορών
προβλημάτωνΣκοπός αυτής της λίστας είναι να λειτουργεί ως χώρος
οργάνωσης και συζήτησης για τον Bugmeister, τους Bugbusters,
και όσους άλλους ενδιαφέρονται για την βάση δεδομένων PR.
Αυτή ή λίστα δεν είναι για συζητήσεις σχετικά με ιδιαίτερα
σφάλματα, patches ή PRs.&a.bugs.name;Αναφορές σφαλμάτωνΑυτή η λίστα είναι για αναφορές σφαλμάτων του &os;.
Όποτε είναι δυνατό, τα σφάλματα πρέπει να στέλνονται με την
εντολή &man.send-pr.1; ή μέσω της αντίστοιχης διεπαφή WEB.&a.chat.name;Μη τεχνικά θέματα που σχετίζονται με την
κοινότητα του &os;Αυτή η λίστα περιέχει κοινωνικές συζητήσεις, και γενικότερα
ότι δεν σχετίζεται με τεχνικές πληροφορίες με τις οποίες
ασχολούνται οι υπόλοιπες λίστες. Περιέχει συζητήσεις για το αν
ο Jordan μοιάζει με μικρό κουνάβι ή όχι, για το αν πρέπει ή όχι
να γράφουμε με κεφαλαία, ποιος πίνει πολύ καφέ, που φτιάχνεται η
καλύτερη μπύρα, ποιος φτιάχνει μπύρα στο υπόγειο του, και άλλα.
Περιστασιακές ανακοινώσεις σημαντικών γεγονότων (όπως
πάρτυ, γάμοι, γεννήσεις, καινούργιες δουλειές κλπ) μπορούν να
γίνουν στις τεχνικές λίστες, αλλά οι απαντήσεις τους πρέπει να
στέλνονται στην λίστα -chat.&a.core.name;Ομάδα core του &os;Αυτή είναι μία εσωτερική λίστα για χρήση από τα μέλη του
core. Σε αυτή τη λίστα μπορείτε να στείλετε μηνύματα, όταν
προκύψει κάποιο θέμα σχετικό με το &os; το οποίο απαιτεί
διαιτησία ή λεπτομερή εξέταση.&a.current.name;Συζητήσεις σχετικά με την χρήση του
&os.current;Αυτή η λίστα είναι για χρήστες του &os.current;. Περιέχει
προειδοποιήσεις για νέα χαρακτηριστικά που πρόκειται να
προστεθούν στο -CURRENT και τα οποία θα επηρεάσουν τους
χρήστες, και οδηγίες για τις κινήσεις που πρέπει να γίνουν
ώστε να παραμείνετε στο -CURRENT. Όποιος εκτελεί το
CURRENT πρέπει να εγγραφεί σε αυτήν την λίστα.
Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά
θέματα.&a.cvsweb.name;&os; CVSweb ProjectΤεχνικές συζητήσεις για την χρήση, την ανάπτυξη και την
συντήρηση του &os;-CVSweb.&a.doc.name;Project τεκμηρίωσης του &os;Αυτή η λίστα είναι για συζήτηση θεμάτων και
projects που σχετίζονται με την δημιουργία τεκμηρίωσης για το
&os;. Τα μέλη αυτής της λίστας αποκαλούνται συνολικά ως
The &os; Documentation Project. Είναι μια
ανοικτή λίστα και είστε ελεύθερος να συμμετέχετε και να
συνεισφέρετε!&a.drivers.name;Δημιουργία οδηγών συσκευών για
το &os;Αυτή η λίστα προορίζεται για τεχνικές συζητήσεις σχετικές με
οδηγούς συσκευών στο &os;. Χρησιμοποιείται κυρίως από τους
δημιουργούς οδηγών συσκευών για ερωτήσεις σχετικές με τη
συγγραφή οδηγών, χρησιμοποιώντας τα APIs που παρέχει ο πυρήνας
του &os;.&a.eclipse.name;&os; χρήστες του Eclipse IDE, των εργαλείων του,
rich client εφαρμογών, και ports.Πρόθεση της λίστας αυτής είναι να προσφέρει αμοιβαία
υποστήριξη για ότι έχει να κάνει με την επιλογή, εγκατάσταση,
χρήση, ανάπτυξη και συντήρηση του Eclipse IDE, των
εργαλείων του, εφαρμογών rich client στην πλατφόρμα του &os;
και για βοήθεια σχετικά με την μεταφορά του Eclipse IDE και των
πρόσθετων του στο περιβάλλον του &os;.Πρόθεση της είναι επίσης να διευκολύνει την ανταλλαγή
πληροφοριών ανάμεσα στην κοινότητα του Eclipse και στην
κοινότητα του &os;, προς όφελος και των δύο.Αν και η λίστα επικεντρώνεται κυρίως στις ανάγκες των
χρηστών του Eclipse, προσφέρει επίσης ένα χώρο συζήτησης για
όσους θέλουν να αναπτύξουν εφαρμογές σχετικές με το &os;
χρησιμοποιώντας το Eclipse.&a.embedded.name;Χρήση του &os; σε embedded
εφαρμογέςΗ λίστα συζητά θέματα σχετικά με την χρήση του &os; σε
embedded συστήματα. Είναι μια τεχνική λίστα
και συζητούνται μόνο αυστηρά τεχνικά θέματα. Για τον σκοπό της
λίστας αυτής, ορίζουμε ως embedded συστήματα τις υπολογιστικές
συσκευές που δεν προορίζονται για desktop εφαρμογές, και που
συνήθως καλύπτουν μια μόνο ανάγκη, αντίθετα με τα γενικά
υπολογιστικά περιβάλλοντα. Συμπεριλαμβάνονται, εκτός των άλλων,
όλα τα τηλέφωνα, δικτυακός εξοπλισμός όπως routers, switches
και PBXs, εξοπλισμός μετρήσεων από απόσταση, PDAs, συστήματα
Point Of Sale, και πάει λέγοντας.&a.emulation.name;Εξομοίωση άλλων συστημάτων όπως είναι τα
Linux/&ms-dos;/&windows;Είναι μια λίστα για τεχνικές συζητήσεις, σχετικές με την
εκτέλεση στο &os; προγραμμάτων που δημιουργήθηκαν για άλλα
λειτουργικά.&a.eol.name;Ομότιμη υποστήριξη για λογισμικό σχετικό με το
&os; που δεν υποστηρίζεται πλέον από το
&os; Project.Αυτή η λίστα είναι για όσους ενδιαφέρονται να παρέχουν ή να
χρησιμοποιήσουν την ομότιμη υποστήριξη για λογισμικό σχετικό με
το &os; που δεν υποστηρίζεται πλέον από το &os; Project
(π.χ., με την μορφή patches και ανακοινώσεων
ασφαλείας).&a.firewire.name;&firewire; (iLink, IEEE 1394)Αυτή η λίστα είναι για την συζήτηση της σχεδίασης και
υλοποίησης ενός υποσυστήματος &firewire; (γνωστό και ως
IEEE 1394 ή iLink) για το &os;. Σχετικά θέματα
είναι τα πρότυπα, οι συσκευές διαύλου και τα
πρωτόκολλά τους, κάρτες, προσαρμογείς και chipsets, και
η αρχιτεκτονική και η υλοποίηση του κώδικα για την
σωστή υποστήριξη τους.&a.fs.name;Συστήματα αρχείωνΣυζητήσεις σχετικές με τα συστήματα αρχείων του &os;. Είναι
μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά
θέματα.&a.geom.name;GEOMΣυζητήσεις σχετικές με το GEOM και παρόμοιες υλοποιήσεις.
Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά
θέματα.&a.gnome.name;GNOMEΣυζητήσεις σχετικές με το περιβάλλον
GNOME για συστήματα &os;. Είναι μια
τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά
θέματα.&a.ipfw.name;IP FirewallΑυτή η λίστα είναι για τεχνικές συζητήσεις που αφορούν τον
επανασχεδιασμό του κώδικα IP firewall στο &os;. Είναι μια
τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά
θέματα.&a.ia64.name;Μεταφορά του &os; στην αρχιτεκτονική
IA64Πρόκειται για μια τεχνική λίστα, για άτομα που δουλεύουν
ενεργά στην μεταφορά του &os; στην πλατφόρμα IA-64 της &intel;,
για να αναφέρουν προβλήματα ή να συζητήσουν εναλλακτικές
λύσεις. Άτομα που ενδιαφέρονται να παρακολουθήσουν την
τεχνική συζήτηση είναι επίσης ευπρόσδεκτα.&a.isdn.name;Ανάπτυξη του ISDNΑυτή η λίστα είναι για άτομα που συζητούν την
ανάπτυξη της υποστήριξης ISDN στο &os;.&a.java.name;Ανάπτυξη της &java;Αυτή η λίστα είναι για άτομα που συζητούν την
ανάπτυξη σημαντικών εφαρμογών &java; για το &os; και την
μεταφορά και συντήρηση των &jdk;s.&a.jobs.name;Ζήτηση και προσφορά εργασίαςΑυτός είναι ένας χώρος για δημοσίευση ανακοινώσεων για
προσφορά και ζήτηση εργασίας που σχετίζεται με το &os;, καθώς
και βιογραφικών σχετικών με το &os;. Αν για παράδειγμα
αναζητάτε εργασία σχετική με το &os;, ή προσφέρετε μια θέση
εργασίας σχετική με το &os;, αυτό είναι το σωστό μέρος για να
τη διαφημίσετε. Η λίστα αυτή δεν είναι
για γενικά θέματα εργασίας, για τα οποία υπάρχει πληθώρα από
άλλες λίστες στο Διαδίκτυο.Αυτή η λίστα, όπως και οι υπόλοιπες λίστες του
FreeBSD.org, διανέμονται
παγκόσμια. Έτσι, πρέπει να είστε σαφής για την τοποθεσία και
την δυνατότητα τηλεργασίας ή βοήθειας στην μετοίκηση.Το μήνυμα σας θα πρέπει να χρησιμοποιεί μόνο ανοιχτά
πρότυπα — κατά προτίμηση απλό κείμενο, αν και βασικής
μορφής Portable Document Format (PDF), HTML,
και μερικά άλλα είναι αποδεκτά από πολλούς χρήστες. Κλειστά
πρότυπα όπως το µsoft; Word (.doc) θα
απορριφθούν από τον διακομιστή της λίστας.&a.kde.name;KDEΣυζητήσεις που αφορούν το KDE σε
συστήματα &os;. Είναι μια τεχνική λίστα και συζητούνται μόνο
αυστηρά τεχνικά θέματα.&a.hackers.name;Τεχνικές συζητήσειςΕίναι ένας χώρος για τεχνικές συζητήσεις σχετικές με το
&os;. Αυτή είναι η κύρια τεχνική λίστα. Είναι για άτομα
που αναπτύσσουν ενεργά το &os;, για να αναφέρουν προβλήματα ή
να συζητήσουν εναλλακτικές λύσεις. Άτομα που ενδιαφέρονται να
παρακολουθήσουν την τεχνική συζήτηση είναι ευπρόσδεκτα. Είναι
μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά
θέματα.&a.hardware.name;Γενική συζήτηση για υλικό κι εξαρτήματα
υπολογιστών στο &os;Γενικές συζητήσεις για τύπους υλικού που λειτουργούν στο
&os;, διάφορα προβλήματα και προτάσεις σχετικά με το τι να
αγοράσετε ή να αποφύγετε.&a.hubs.name;Mirror sitesΑνακοινώσεις και συζητήσεις για άτομα που συντηρούν
mirror sites του &os;.&a.isp.name;Θέματα για Παροχείς Υπηρεσιών
ΔιαδικτύουΑυτή η λίστα είναι για συζήτηση θεμάτων σχετικών με
Παροχείς Υπηρεσιών Διαδικτύου (ISPs) που χρησιμοποιούν &os;.
Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά
θέματα.&a.openoffice.name;OpenOffice.orgΣυζητήσεις σχετικές με την μεταφορά και συντήρηση
του OpenOffice.org και του
&staroffice;.&a.performance.name;Συζητήσεις για την ρύθμιση και την βελτιστοποίηση
του &os;Αυτή η λίστα υπάρχει για να παρέχει ένα μέρος όπου οι
hackers, οι διαχειριστές, και όσοι άλλοι ενδιαφέρονται, να
συζητούν θέματα σχετικά με την απόδοση του &os;.
Αποδεκτά θέματα είναι οι συζητήσεις που αναφέρονται σε
εγκαταστάσεις &os; που υπόκεινται σε μεγάλο φόρτο,
έχουν προβλήματα απόδοσης, ή φτάνουν το &os; στα όρια του.
Συνιστούμε ανεπιφύλακτα να γραφούν στη λίστα όσοι ενδιαφέρονται
να βελτιώσουν την απόδοση του &os;. Είναι μία τεχνική λίστα
που απευθύνεται σε έμπειρους χρήστες του &os;, hackers, ή
διαχειριστές που ενδιαφέρονται να κάνουν το &os; γρήγορο και
αξιόπιστο. Δεν πρόκειται για μια λίστα ερωτήσεων και απαντήσεων
που μπορεί να αντικαταστήσει την μελέτη της τεκμηρίωσης, αλλά
ένα μέρος για συνεισφορές ή για απαντήσεις σε αναπάντητα θέματα
σχετικά με την απόδοση.&a.pf.name;Συζητήσεις και ερωτήσεις για το σύστημα packet
filter firewallΣυζητήσεις σχετικές με το packet filter (pf) firewall
system στο &os;. Τεχνικές συζητήσεις και ερωτήσεις χρηστών
είναι ευπρόσδεκτες. Η λίστα είναι επίσης ένα μέρος για
συζήτηση του ALTQ QoS framework.&a.platforms.name;Μεταφορά του &os; σε μη-&intel;
πλατφόρμεςΠροβλήματα του &os; που εμφανίζονται σε περισσότερες από
μία πλατφόρμες, καθώς και γενικές συζητήσεις και προτάσεις για
μεταφορά του &os; σε μη-&intel; πλατφόρμες. Είναι μια τεχνική
λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα.&a.policy.name;Κατευθυντήριες αποφάσεις (policy) της ομάδας
Core του &os;Αυτή είναι μία λίστα με μικρή κίνηση, μόνο για ανάγνωση,
για τις αποφάσεις της Core ομάδας του &os; σχετικά με κάποια
θέματα κατεύθυνσης του Project (policies).&a.ports.name;Συζήτηση για τα
portsΣυζητήσεις σχετικές με την Συλλογή των Ports
του &os; (/usr/ports), την υποδομή των
ports, και γενικά τις προσπάθειες συντονισμού των ports. Είναι
μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά
θέματα.&a.ports-bugs.name;Συζήτηση για τα σφάλματα
των portsΣυζητήσεις που σχετίζονται με τις αναφορές προβλημάτων της
Συλλογής των Ports
(/usr/ports) του &os;, προτάσεις για νέα
ports ή για αλλαγές σε υπάρχοντα ports. Είναι μια τεχνική λίστα
και συζητούνται μόνο αυστηρά τεχνικά θέματα.&a.proliant.name;Τεχνική συζήτηση για το &os; σε διακομιστές HP
ProLiantΑυτή η λίστα είναι για τεχνικές συζητήσεις σχετικά με την
χρήση του &os; σε διακομιστές HP ProLiant. Η συζήτηση
περιλαμβάνει θέματα προγραμμάτων οδήγησης για ProLiant,
λογισμικό διαχείρισης, εργαλεία ρυθμίσεων, και ανανεώσεις του
BIOS. Η λίστα αυτή είναι το καταλληλότερο μέρος για συζήτηση
σχετικά με τα αρθρώματα hpasmd, hpasmcli, και hpacucli.&a.python.name;Η Python στο &os;Αυτή η λίστα είναι για συζητήσεις σχετικές με την
βελτιστοποίηση της υποστήριξης της Python στο &os;. Είναι μια
τεχνική λίστα. Προορίζεται για άτομα που ασχολούνται με την
μεταφορά της Python, των αρθρωμάτων της (modules) και του
Zope στο &os;. Όσοι ενδιαφέρονται
να παρακολουθήσουν την τεχνική συζήτηση, είναι
ευπρόσδεκτοι.&a.questions.name;Ερωτήσεις χρηστώνΑυτή η λίστα είναι για ερωτήσεις σχετικές με το &os;. Δεν
πρέπει να στέλνετε ερωτήσεις τύπου how to σε
τεχνικές λίστες εκτός αν πιστεύετε ότι η ερώτηση σας είναι πολύ
εξειδικευμένη.&a.ruby.name;Συζήτηση σχετικά με τη Ruby
στο &os;Η λίστα αυτή είναι για συζητήσεις που σχετίζονται με την
υποστήριξη της Ruby στο &os;. Πρόκειται για μια λίστα τεχνικών
ερωτήσεων. Απευθύνεται σε άτομα που δουλεύουν σε Ports της
Ruby, σε βιβλιοθήκες τρίτων κατασκευαστών, και σε άλλα
πλαίσια λειτουργιών.Είναι επίσης ευπρόσδεκτοι όσοι ενδιαφέρονται για αυτού του
είδους την τεχνική συζήτηση.&a.scsi.name;Το υποσύστημα SCSIΑυτή η λίστα είναι για άτομα που εργάζονται στο SCSI
υποσύστημα του &os;. Είναι μια τεχνική λίστα και συζητούνται
μόνο αυστηρά τεχνικά θέματα.&a.security.name;Θέματα ασφαλείαςΑφορά θέματα ασφαλείας υπολογιστών που εκτελούν &os;
(DES, Kerberos, γνωστά θέματα ασφαλείας και διορθώσεις, κτλ).
Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά
θέματα. Σημειώστε ότι δεν πρόκειται για λίστα ερωτήσεων και
απαντήσεων, αλλά η συνεισφορά (τόσο ερωτήσεων όσο ΚΑΙ
απαντήσεων) στο FAQ είναι ευπρόσδεκτη.&a.security-notifications.name;Ειδοποιήσεις ασφαλείαςΕιδοποιήσεις για προβλήματα ασφαλείας και διορθώσεις στο
&os;. Δεν πρόκειται για λίστα συζητήσεων. Η λίστα συζητήσεων
είναι η &os;-security.&a.small.name;Χρήση του &os; σε embedded
εφαρμογέςΑυτή η λίστα συζητά θέματα σχετικά με ασυνήθιστα μικρές και
embedded εγκαταστάσεις του &os;. Είναι μια τεχνική λίστα
και συζητούνται μόνο αυστηρά τεχνικά θέματα.Η λίστα αυτή έχει αντικατασταθεί από την
&a.embedded.name;.&a.stable.name;Συζητήσεις σχετικές με την χρήση του
&os.stable;Αυτή η λίστα είναι για τους χρήστες του &os.stable;.
Περιέχει προειδοποιήσεις για νέα χαρακτηριστικά που πρόκειται
να ενσωματωθούν στο -STABLE και τα οποία ενδεχομένως να
επηρεάσουν τους χρήστες του. Επίσης περιέχει οδηγίες για τα
βήματα που πρέπει να ακολουθήσετε ώστε να παραμείνετε στο
-STABLE. Θα πρέπει να εγγραφείτε σε αυτή τη λίστα, αν
ακολουθείτε το STABLE. Είναι μια τεχνική λίστα
και συζητούνται μόνο αυστηρά τεχνικά θέματα.&a.standards.name;Συμμόρφωση με τα πρότυπα C99 &
POSIXΑυτή η λίστα είναι για τεχνικές συζητήσεις σχετικά με την
συμμόρφωση του &os; με τα πρότυπα C99 και POSIX.&a.usb.name;Συζήτηση για την υποστήριξη του διαύλου USB
στο &os;Αυτή η λίστα είναι για τεχνικές συζητήσεις σχετικά με την
υποστήριξη του διαύλου USB στο &os;.&a.usergroups.name;Οργάνωση των συλλόγων χρηστώνΑυτή η λίστα είναι για τους συντονιστές των επιμέρους
τοπικών συλλόγων χρηστών για συζήτηση θεμάτων μεταξύ τους
και με κάποιο μέλος της ομάδας Core. Αυτή η λίστα
θα πρέπει να αναφέρει μόνο τις συναντήσεις και την οργάνωση
projects που αναφέρονται σε περισσότερους από ένα συλλόγους
χρηστών.&a.vendors.name;ΠωλητέςΟργάνωση συζητήσεων μεταξύ του &os; Project και των
πωλητών λογισμικού και υλικού σχετικού με το &os;.&a.virtualization.name;Συζήτηση διάφορων τεχνικών εικονικοποίησης που
υποστηρίζονται από το &os;.Μια λίστα για τη συζήτηση των διάφορων τεχνικών
εικονικοποίησης που υποστηρίζονται από το &os;. Από τη μια
μεριά εστιάζει στην υλοποίηση των βασικών λειτουργιών αλλά και
την προσθήκη νέων δυνατοτήτων. Από την άλλη, οι χρήστες θα
έχουν μια ομάδα συζητήσεων όπου μπορούν να ζητούν βοήθεια σε
περίπτωση προβλημάτων, ή να συζητούν τις δικές τους
χρήσεις.&a.wip-status.name;Κατάσταση εργασιών σε εξέλιξη
στο &os;Στη λίστα αυτή μπορείτε να ανακοινώσετε την έναρξη και την
πρόοδο κάποιας εργασίας σας που σχετίζεται με το &os;. Τα
μηνύματα σε αυτή τη λίστα ελέγχονται. Συνίσταται να στείλετε το
μήνυμα σας με παραλήπτη μια πιο τοπική σας λίστα του &os;, και
απλώς να κοινοποιήσετε το μήνυμα σας σε αυτή τη λίστα. Με τον
τρόπο αυτό, μπορείτε επίσης να συζητήσετε για την εργασία σας
στην τοπική λίστα, καθώς η συζήτηση σε αυτή τη λίστα δεν
επιτρέπεται.Δείτε τα αρχεία της λίστας για να πάρετε μια ιδέα της μορφής
των μηνυμάτων που μπορείτε να στείλετε.Μια περίληψη των περιεχομένων της λίστας ενδέχεται να
δημοσιεύεται κατά τακτά διαστήματα στη δικτυακή τοποθεσία του
&os;, ως μέρος των Αναφορών Κατάστασης (Status Reports)
.
Στην ίδια τοποθεσία, μπορείτε επίσης να βρείτε περισσότερα
παραδείγματα και προηγούμενες αναφορές.&a.xen.name;Συζήτηση για τη μεταφορά του &os; στο &xen;
— υλοποίηση και χρήσηΠρόκειται για μια λίστα που εστιάζει στην μεταφορά του &os;
στο &xen;. Η κίνηση σε αυτή τη λίστα αναμένεται να είναι μικρή,
και έτσι θα χρησιμοποιηθεί τόσο για τεχνικές συζητήσεις σχετικά
με το σχεδιασμό και την υλοποίηση, όσο και με προβλήματα
εγκατάστασης και διαχείρισης.Φιλτράρισμα στις Λίστες Ηλεκτρονικού ΤαχυδρομείουΟι λίστες ηλεκτρονικού ταχυδρομείου του &os; φιλτράρονται με
πολλαπλούς τρόπους για να αποφύγουμε την διανομή spam, ιών, και άλλων
ανεπιθύμητων μηνυμάτων. Το φιλτράρισμα που περιγράφεται σε αυτή την
ενότητα, αποτελεί ένα μόνο μέρος των συνολικών μέτρων που λαμβάνουμε
για την προστασία των λιστών ηλεκτρονικού ταχυδρομείου.Στις λίστες επιτρέπονται μόνο συγκεκριμένοι τύποι συνημμένων
αρχείων. Όλα τα συνημμένα αρχεία με τύπο MIME που δεν βρίσκεται
στην παρακάτω λίστα, διαγράφονται πριν διανεμηθεί το μήνυμα στις
λίστες.application/octet-streamapplication/pdfapplication/pgp-signatureapplication/x-pkcs7-signaturemessage/rfc822multipart/alternativemultipart/relatedmultipart/signedtext/htmltext/plaintext/x-difftext/x-patchΜερικές λίστες μπορεί να επιτρέπουν συνημμένα αρχεία
και άλλων τύπων MIME, αλλά οι παραπάνω τύποι ισχύουν
στις περισσότερες λίστες.Εάν το κείμενο ενός μηνύματος περιέχεται τόσο σε μορφή HTML όσο
και απλού κειμένου, το τμήμα HTML θα αφαιρεθεί. Εάν ένα μήνυμα
περιέχει μόνο HTML, θα μετατραπεί σε απλό κείμενο.Usenet NewsgroupsΕκτός από δύο newsgroups που ασχολούνται με το &os;, υπάρχουν πολλά
ακόμα στα οποία γίνεται συζήτηση για το &os; ή άλλα θέματα που
ενδεχομένως ενδιαφέρουν τους χρήστες του. Για κάποια από αυτά τα
newsgroups, μπορείτε να κάνετε αναζήτηση
με λέξεις-κλειδιά στις παλιές δημοσιεύσεις, χάρη στην
υπηρεσία που προσφέρει ο Warren Toomey
wkt@cs.adfa.edu.au.Newsgroups Σχετικά με το BSDcomp.unix.bsd.freebsd.announcecomp.unix.bsd.freebsd.miscde.comp.os.unix.bsd (Στα Γερμανικά)fr.comp.os.bsd (Στα Γαλλικά)it.comp.os.freebsd (Στα Ιταλικά)tw.bbs.comp.386bsd (Σε Παραδοσιακά Κινέζικα)Άλλα Ενδιαφέροντα &unix; Newsgroupscomp.unixcomp.unix.questionscomp.unix.admincomp.unix.programmercomp.unix.shellcomp.unix.user-friendlycomp.security.unixcomp.sources.unixcomp.unix.advocacycomp.unix.misccomp.bugs.4bsdcomp.bugs.4bsd.ucb-fixescomp.unix.bsdΣύστημα X Windowcomp.windows.x.i386unixcomp.windows.xcomp.windows.x.appscomp.windows.x.announcecomp.windows.x.intrinsicscomp.windows.x.motifcomp.windows.x.pexcomp.emulators.ms-windows.wineΔιακομιστές Ιστοσελίδων
&chap.eresources.www.inc;
Διευθύνσεις Ηλεκτρονικού ΤαχυδρομείουΟι ακόλουθες ενώσεις χρηστών παρέχουν στα μέλη τους διευθύνσεις
ηλεκτρονικού ταχυδρομείου που σχετίζονται με το &os;. Ο διαχειριστής
που αναφέρεται παρακάτω, διατηρεί το δικαίωμα να ανακαλέσει την
διεύθυνση, αν γίνει κατάχρηση της με οποιοδήποτε τρόπο.ΤομέαςΥπηρεσίεςΈνωση ΧρηστώνΔιαχειριστήςukug.uk.FreeBSD.orgΜόνο προώθησηukfreebsd@uk.FreeBSD.orgLee Johnston
lee@uk.FreeBSD.org
diff --git a/el_GR.ISO8859-7/books/handbook/install/chapter.sgml b/el_GR.ISO8859-7/books/handbook/install/chapter.sgml
index 2f221ee010..70c287a1b6 100644
--- a/el_GR.ISO8859-7/books/handbook/install/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/install/chapter.sgml
@@ -1,5130 +1,5131 @@
JimMockΑνασχηματισμένο, αναδιοργανωμένο, και μερικώς
ξαναγραμμένο από τον RandyPrattΗ βήμα προς βήμα διαδικασία του sysinstall, οι εικόνες, και
γενικές διορθώσεις κειμένου από τον Εγκαθιστώντας το &os;ΣύνοψηεγκατάστασηΤο &os; διανέμεται με ένα εύχρηστο πρόγραμμα εγκατάστασης, το οποίο
τρέχει σε κατάσταση κειμένου: το sysinstall.
Είναι το προεπιλεγμένο πρόγραμμα εγκατάστασης για το &os;, αλλά όποιος
διανέμει το &os; είναι ελεύθερος να παρέχει δικό του πρόγραμμα
εγκατάστασης. Το κεφάλαιο αυτό περιγράφει πως μπορείτε να
χρησιμοποιήσετε το sysinstall για να
εγκαταστήσετε το &os;.Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε:Πως να δημιουργήσετε δισκέτες εγκατάστασης για το &os;.Πως αναφέρεται στους σκληρούς δίσκους σας το &os; και πως τους
χωρίζει σε κατατμήσεις.Πως να ξεκινήσετε το
sysinstall.Τις ερωτήσεις που θα σας κάνει το
sysinstall, τι σημαίνουν, και πως να τις
απαντήσετε.Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:Να διαβάσετε τη λίστα του υποστηριζόμενου υλικού που έρχεται με
την έκδοση του &os; την οποία θα εγκαταστήσετε, και να επαληθεύσετε
ότι το υλικό που έχετε υποστηρίζεται από το &os;.Σε γενικές γραμμές αυτές οι οδηγίες εγκατάστασης είναι γραμμένες
για τους &i386; (PC συμβατούς) αρχιτεκτονικής
υπολογιστές. Όπου χρειάζεται, θα εμφανίζονται συγκεκριμένες οδηγίες
για άλλες πλατφόρμες (για παράδειγμα, Alpha). Αν και αυτός ο οδηγός
διατηρείται όσο το δυνατόν πιο ενημερωμένος, είναι πιθανόν να βρείτε
μικρές διαφορές μεταξύ του προγράμματος εγκατάστασης και αυτού που
φαίνεται εδώ. Σας προτείνουμε να χρησιμοποιήσετε το κεφάλαιο αυτό
περισσότερο σαν γενικό οδηγό παρά σαν ένα κατά γράμμα εγχειρίδιο
εγκατάστασης.Απαιτήσεις ΥλικούΕλάχιστες ΑπαιτήσειςΟι ελάχιστες απαιτήσεις για την εγκατάσταση του &os; ποικίλουν
ανάλογα με την έκδοση του &os; και την αρχιτεκτονική του
υλικού.Πληροφορίες για τις ελάχιστες απαιτήσεις είναι διαθέσιμες στις
Σημειώσεις Εγκατάστασης, στην σελίδα Πληροφορίες
Έκδοσης στο δικτυακό τόπο του &os;. Στα παρακάτω τμήματα
δίνεται μια περίληψη των πληροφοριών αυτών. Ανάλογα με τον τρόπο που
θα επιλέξετε να εγκαταστήσετε το &os;, μπορεί να χρειαστείτε μονάδα
δισκέτας, ένα υποστηριζόμενο οδηγό CD-ROM, και σε ορισμένες
περιπτώσεις, κάρτα δικτύου. Τα παραπάνω καλύπτονται στο
.Αρχιτεκτονικές &os;/&arch.i386; και &os;/&arch.pc98;Οι εκδόσεις &os;/&i386; και &os;/&arch.pc98; απαιτούν 486 ή
καλύτερο επεξεργαστή και τουλάχιστον 24 MB RAM. Θα χρειαστείτε
τουλάχιστον 150 MB ελεύθερου χώρου στο σκληρό δίσκο για την
πλέον ελάχιστη εγκατάσταση.Σε περιπτώσεις παλιών μηχανημάτων, τις περισσότερες φορές,
η ύπαρξη περισσότερης μνήμης RAM και ελεύθερου χώρου στο δίσκο
είναι πιο σημαντική από ένα ταχύτερο επεξεργαστή.Αρχιτεκτονική &os;/&arch.alpha;Για να εγκαταστήσετε το &os;/&arch.alpha;, θα χρειαστείτε μια
υποστηριζόμενη πλατφόρμα (δείτε ) και ένα δίσκο αποκλειστικά
για χρήση από το &os;. Τη δεδομένη στιγμή, δεν είναι δυνατόν να
μοιράζεται τον ίδιο δίσκο το &os; με ένα άλλο λειτουργικό. Ο δίσκος
αυτός θα πρέπει να είναι προσαρμοσμένος σε ένα ελεγκτή SCSI ο οποίος
να υποστηρίζεται από το SRM firmware, ή ακόμα και ένα ελεγκτή IDE
εφόσον το SRM στο μηχάνημα σας υποστηρίζει εκκίνηση από δίσκους
IDE.Θα χρειαστείτε το firmware της κονσόλας SRM για την πλατφόρμα
σας. Σε κάποιες περιπτώσεις, είναι δυνατή η εναλλαγή μεταξύ
AlphaBIOS (ή ARC) firmware και SRM. Σε άλλες, θα πρέπει να
κατεβάσετε νέο firmware από το δικτυακό τόπο του
κατασκευαστή.Η υποστήριξη της αρχιτεκτονικής Alpha διακόπτεται από την
έκδοση &os; 7.0 και μετά. Η σειρά εκδόσεων
&os; 6.X είναι η τελευταία
που υποστηρίζει την αρχιτεκτονική αυτή.Αρχιτεκτονική &os;/&arch.amd64;Υπάρχουν δύο κλάσεις επεξεργαστών ικανές να εκτελέσουν το
&os;/&arch.amd64;. Η πρώτη, είναι οι επεξεργαστές AMD64,
περιλαμβανομένου του &amd.athlon;64, του
&amd.athlon;64-FX, του &amd.opteron; ή καλύτερων.Η δεύτερη κλάση επεξεργαστών που μπορούν να χρησιμοποιήσουν
&os;/&arch.amd64;, περιλαμβάνει όσους χρησιμοποιούν την
αρχιτεκτονική &intel; EM64T. Παραδείγματα των επεξεργαστών αυτών
περιλαμβάνουν τις οικογένειες &intel; &core; 2 Duo, Quad,
και Extreme καθώς και τη σειρά επεξεργαστών &intel; &xeon;
3000, 5000, και 7000.Αν το μηχάνημα σας είναι βασισμένο σε nVidia nForce3 Pro-150,
θα πρέπει να χρησιμοποιήσετε την κατάλληλη
επιλογή στο BIOS για να απενεργοποιήσετε το IO APIC. Αν η επιλογή
αυτή δεν υπάρχει, θα πρέπει να απενεργοποιήσετε αντί αυτού το ACPI.
Υπάρχουν προβλήματα στο Pro-150 για τα οποία μέχρι στιγμής δεν έχει
βρεθεί λύση που να τα παρακάμπτει.Αρχιτεκτονική &os;/&arch.sparc64;Για να εγκαταστήσετε το &os;/&arch.sparc64;, θα χρειαστείτε μια
υποστηριζόμενη πλατφόρμα (δείτε ).Θα χρειαστείτε ένα δίσκο για αποκλειστική χρήση από το
&os;/&arch.sparc64;. Τη δεδομένη στιγμή, δεν είναι δυνατόν να
μοιράζεται τον ίδιο δίσκο το &os; με ένα άλλο λειτουργικό
σύστημα.Υποστηριζόμενο ΥλικόΗ λίστα με το υποστηριζόμενο υλικό, παρέχεται στις Σημειώσεις
Υλικού (Hardware Notes) με κάθε έκδοση του &os;. Το έγγραφο αυτό
μπορεί συνήθως να βρεθεί με όνομα αρχείου
HARDWARE.TXT, στον ριζικό
κατάλογο μια διανομής CDROM ή FTP, ή και στο μενού documentation του
sysinstall. Για κάθε αρχιτεκτονική,
θα βρείτε μια λίστα συσκευών οι οποίες επιβεβαιωμένα υποστηρίζονται
από το &os;. Αντίγραφα του καταλόγου υποστηριζόμενου υλικού για
διάφορες εκδόσεις και αρχιτεκτονικές μπορούν επίσης να βρεθούν στη
σελίδα Πληροφοριών
Έκδοσης στο δικτυακό τόπο του &os;.Εργασίες πριν την ΕγκατάστασηΑπογραφή Υλικού του Υπολογιστή σαςΠριν εγκαταστήσετε το &os; πρέπει να επιχειρήσετε να απογράψετε
τα εξαρτήματα του υπολογιστή σας. Οι ρουτίνες εγκατάστασης του &os;
θα σας δείξουν τα εξαρτήματα (σκληρούς δίσκους, κάρτες δικτύου,
οδηγούς CDROM κλπ.) με τα ονόματα των μοντέλων και των κατασκευαστών
τους. Το &os; θα επιχειρήσει επίσης να προσδιορίσει τις σωστές
ρυθμίσεις για τις συσκευές αυτές, συμπεριλαμβανομένων και των
πληροφοριών για τη χρήση IRQ και θυρών IO. Λόγω των ιδιομορφιών του
υλικού των PC, η διαδικασία αυτή δεν είναι πάντα επιτυχής, και ίσως
χρειαστεί να διορθώσετε τις ρυθμίσεις που ανίχνευσε το &os;.Αν έχετε ήδη άλλο λειτουργικό σύστημα εγκατεστημένο, όπως
&windows; ή Linux, είναι γενικά καλή ιδέα να χρησιμοποιήσετε τις
δυνατότητες που σας παρέχει για να δείτε τις ρυθμίσεις του υλικού σας.
Αν δεν είστε σίγουροι για τις ρυθμίσεις μιας κάρτας επέκτασης, ίσως
να τις βρείτε τυπωμένες πάνω στην ίδια την κάρτα. Συνηθισμένα IRQ
είναι τα 3, 5 και 7 ενώ οι θύρες IO συνήθως γράφονται ως δεκαεξαδικοί
αριθμοί, π.χ. 0x330.Σας συνιστούμε να γράψετε ή να εκτυπώσετε τις πληροφορίες αυτές
πριν την εγκατάσταση του &os;. Σαν υπόδειγμα, μπορείτε να
χρησιμοποιήσετε ένα πίνακα όπως τον παρακάτω:
Υπόδειγμα Απογραφής ΣυσκευώνΌνομα ΣυσκευήςIRQIO θύρεςΣημειώσειςΠρώτος Σκληρός ΔίσκοςN/AN/A40 GB, της Seagate, master στο πρώτο IDECDROMN/AN/Aslave στο πρώτο IDEΔεύτερος Σκληρός ΔίσκοςN/AN/A20 GB, της IBM, master στο δεύτερο IDEΠρώτος Ελεγκτής IDE140x1f0Κάρτα ΔικτύουN/AN/A&intel; 10/100ModemN/AN/A&tm.3com; 56K faxmodem, στην COM1…
Όταν τελειώσετε την απογραφή εξαρτημάτων του υπολογιστή σας, θα
πρέπει να ελέγξετε αν ταιριάζουν με τις απαιτήσεις υλικού της έκδοσης
&os; που σκοπεύετε να εγκαταστήσετε.Κρατήστε Αντίγραφα Ασφαλείας των Δεδομένων σαςΑν ο υπολογιστής στον οποίο θα εγκαταστήσετε το &os; περιέχει
πολύτιμα δεδομένα, βεβαιωθείτε ότι έχετε κρατήσει αντίγραφα ασφαλείας
τα οποία μάλιστα έχετε ελέγξει ότι δουλεύουν, πριν εγκαταστήσετε το
&os;. Το πρόγραμμα εγκατάστασης του &os; θα σας ρωτήσει πριν γράψει
οτιδήποτε στο δίσκο σας, αλλά από τη στιγμή που η διαδικασία αυτή
ξεκινήσει, δεν υπάρχει δυνατότητα επιστροφής.Αποφασίστε που θα Εγκαταστήσετε το &os;Αν θέλετε το &os; να χρησιμοποιήσει ολόκληρο το σκληρό σας δίσκο,
δεν υπάρχει κάτι άλλο που πρέπει να κάνετε αυτή τη στιγμή —
μπορείτε να παραλείψετε αυτό το τμήμα.Αν ωστόσο θέλετε το &os; να συνυπάρχει με άλλα λειτουργικά
συστήματα, πρέπει να κατανοείτε χονδρικά τον τρόπο διάταξης των
δεδομένων στο δίσκο, και τις επιδράσεις που μπορεί προκαλέσει.Κατατμήσεις Δίσκων για Αρχιτεκτονική &os/&arch.i386;Ένας σκληρός δίσκος PC μπορεί να χωριστεί σε διακριτά τμήματα.
Τα τμήματα αυτά καλούνται
κατατμήσεις (partitions).
Επειδή το &os; έχει επίσης εσωτερικές κατατμήσεις, η ονομασία
γρήγορα μπορεί να οδηγήσει σε σύγχυση, και για το λόγο αυτό οι
εξωτερικές κατατμήσεις αναφέρονται ως disk slices (φέτες) ή απλώς
slices στο &os;. Για παράδειγμα το πρόγραμμα
fdisk του &os;, το οποίο χειρίζεται τις
κατατμήσεις δίσκων του PC, τις αναφέρει ως slices αντί για
partitions. Από τη σχεδίαση του, το PC υποστηρίζει μόνο τέσσερις
κατατμήσεις ανά δίσκο. Οι κατατμήσεις αυτές ονομάζονται
πρωτεύουσες (primary partitions).
Για να ξεπεραστεί αυτός ο περιορισμός και να δημιουργήσουμε
περισσότερες κατατμήσεις, δημιουργήθηκε ένα νέο είδος κατάτμησης, η
εκτεταμένη κατάτμηση (extended partition).
Ένας δίσκος μπορεί να περιέχει μόνο μια εκτεταμένη κατάτμηση. Μέσα
στην εκτεταμένη κατάτμηση μπορούν να δημιουργηθούν ειδικές
λογικές κατατμήσεις.Κάθε κατάτμηση διαθέτει ένα partition ID,
ένα αριθμό που χρησιμοποιείται για να αναγνωρίζει τον τύπο δεδομένων
της κατάτμησης. Οι κατατμήσεις του &os; έχουν για partition ID το
165.Γενικά, κάθε λειτουργικό σύστημα που χρησιμοποιείτε έχει κάποιο
τρόπο για να αναγνωρίζει τις κατατμήσεις. Για παράδειγμα το DOS και
τα παράγωγα του, όπως τα &windows;, αναθέτουν γράμματα
οδηγών σε κάθε πρωτεύουσα και λογική κατάτμηση,
ξεκινώντας από το γράμμα C:.Το &os; πρέπει να εγκατασταθεί σε πρωτεύουσα κατάτμηση. Το &os;
μπορεί να κρατήσει όλα τα δεδομένα του, συμπεριλαμβανομένων και των
αρχείων που θα δημιουργήσετε εσείς, σε αυτή τη μοναδική κατάτμηση.
Παρόλα αυτά, αν έχετε περισσότερους από ένα δίσκους, μπορείτε να
δημιουργήσετε κατατμήσεις &os; σε όλους ή μερικούς από αυτούς. Όταν
εγκαθιστάτε το &os; πρέπει να έχετε μια κατάτμηση διαθέσιμη.
Μπορεί να είναι μια κενή κατάτμηση που έχετε προετοιμάσει από πριν,
ή μια υπάρχουσα που περιέχει δεδομένα που δεν σας ενδιαφέρουν
πλέον.Αν χρησιμοποιείτε ήδη όλες τις κατατμήσεις σε όλους τους δίσκους
σας, τότε πρέπει να ελευθερώσετε μία για το &os; χρησιμοποιώντας τα
εργαλεία που παρέχονται από τα άλλα λειτουργικά συστήματα που
χρησιμοποιείτε (για παράδειγμα, την fdisk στο
DOS ή &windows;).Αν έχετε μια διαθέσιμη κατάτμηση, μπορείτε να την
χρησιμοποιήσετε. Ίσως όμως χρειαστεί να συρρικνώσετε πρώτα μία ή
περισσότερες από τις υπάρχουσες κατατμήσεις σας.Μια ελάχιστη εγκατάσταση του &os; μπορεί να καταλάβει μόλις
100 MB χώρου στο δίσκο. Ωστόσο αυτή είναι μια πολύ
ελάχιστη εγκατάσταση η οποία δεν θα αφήσει καθόλου
σχεδόν χώρο για δικά σας αρχεία. Ένα πιο ρεαλιστικό ελάχιστο
είναι τα 250 MB για χρήση χωρίς γραφικό περιβάλλον και
350 MB ή περισσότερα αν θέλετε γραφικό περιβάλλον εργασίας.
Αν έχετε σκοπό να εγκαταστήσετε αρκετά προγράμματα τρίτων
κατασκευαστών, θα χρειαστείτε ακόμα περισσότερο χώρο.Μπορείτε να χρησιμοποιήσετε κάποιο εμπορικά διαθέσιμο εργαλείο
όπως το &partitionmagic;, ή κάποιο
ελεύθερο εργαλείο όπως το GParted, για
να αλλάξετε μεγέθη στις κατατμήσεις σας και να δημιουργήσετε χώρο
για το &os;. Ο κατάλογος tools στο CDROM
περιέχει δύο τέτοια ελεύθερα εργαλεία, τα οποία μπορούν να
εκτελέσουν αυτή τη λειτουργία, το FIPS
και το PResizer. Η τεκμηρίωση για τις
δύο αυτές εφαρμογές βρίσκεται επίσης στον ίδιο κατάλογο. Το
FIPS, το
PResizer και το
&partitionmagic; μπορούν να αλλάξουν το
μέγεθος σε κατατμήσεις FAT16 και
FAT32 που χρησιμοποιούνται στο &ms-dos; ως και
τα &windows; ME. Τόσο το
&partitionmagic;
όσο και το GParted μπορούν να
χρησιμοποιηθούν σε κατατμήσεις NTFS. Το
GParted είναι διαθέσιμο σε αρκετές
διανομές Linux Live CD, όπως για παράδειγμα το
SystemRescueCD.Έχουν αναφερθεί προβλήματα κατά την αλλαγή μεγέθους κατατμήσεων
των µsoft; Vista. Συνίσταται να έχετε πρόχειρο ένα CDROM
εγκατάστασης των Vista πριν επιχειρήσετε αυτή τη διαδικασία. Όπως
και με όλες τις αντίστοιχες διαδικασίες δίσκων, συνίσταται επίσης
να έχετε ένα ενημερωμένο σετ αντιγράφων ασφαλείας.Λανθασμένη χρήση των εργαλείων αυτών μπορεί να οδηγήσει σε
διαγραφή των δεδομένων του δίσκου σας. Πριν τα χρησιμοποιήσετε,
βεβαιωθείτε ότι έχετε πρόσφατα αντίγραφα ασφαλείας τα οποία
δουλεύουν.Χρησιμοποιώντας μια Υπάρχουσα Κατάτμηση χωρίς να την
ΑλλάξετεΥποθέστε ότι έχετε ένα υπολογιστή με ένα μόνο σκληρό δίσκο
4 GB στον οποίο έχετε ήδη εγκατεστημένη μια έκδοση των
&windows; και τον έχετε χωρίσει σε δύο οδηγούς με γράμματα
C: και D:,
καθένα με μέγεθος 2 GB. Έχετε 1 GB δεδομένων στο
C: και 0.5 GB δεδομένων στο
D:.Αυτό σημαίνει ότι ο δίσκος σας έχει δύο κατατμήσεις, μία ανά
γράμμα οδηγού. Μπορείτε να αντιγράψετε όλα τα υπάρχοντα δεδομένα
σας από τον
D: στο C: και
να ελευθερώσετε έτσι την δεύτερη κατάτμηση, ώστε να είναι έτοιμη
για το &os;.Συρρικνώνοντας μια Υπάρχουσα ΚατάτμησηΥποθέστε ότι έχετε ένα υπολογιστή με ένα μόνο δίσκο 4
GB στον οποίο έχετε ήδη εγκαταστήσει μια έκδοση των &windows;.
Όταν εγκαταστήσατε τα &windows;, δημιουργήσατε μια μεγάλη
κατάτμηση με το γράμμα C: και μέγεθος
4 GB. Αυτή τη στιγμή χρησιμοποιείται 1.5 GB χώρου και
θέλετε να δώσετε στο &os; 2 GB χώρο.Για να εγκαταστήσετε το &os; θα πρέπει είτε:Να πάρετε αντίγραφο ασφαλείας των δεδομένων σας
των &windows; και έπειτα να τα εγκαταστήσετε ξανά,
δημιουργώντας αυτή τη φορά μια κατάτμηση μεγέθους 2 GB
κατά την εγκατάσταση.Να χρησιμοποιήσετε κάποιο από τα εργαλεία όπως το
&partitionmagic; που περιγράψαμε
παραπάνω ώστε να συρρικνώσετε την κατάτμηση των
&windows;.Κατάτμηση Δίσκου για την Αρχιτεκτονική
&os;/&arch.alpha;AlphaΘα χρειαστείτε ένα σκληρό δίσκο αποκλειστικά για χρήση από το
&os; στον Alpha. Δεν είναι δυνατόν αυτή τη στιγμή να
χρησιμοποιήσετε τον ίδιο δίσκο με κάποιο άλλο λειτουργικό σύστημα.
Ανάλογα με το μηχάνημα Alpha που έχετε, ο δίσκος αυτός μπορεί να
είναι είτε SCSI είτε IDE, εφόσον το μηχάνημα σας μπορεί να
εκκινήσει από αυτόν.Σύμφωνα με τις συμβάσεις που ακολουθούνται στα εγχειρίδια της
Digital / Compaq, όλες οι εντολές SRM δείχνονται με κεφαλαία
γράμματα. Ωστόσο το SRM δεν κάνει διάκριση
μικρών / κεφαλαίων.Για να βρείτε τα ονόματα και τους τύπους των δίσκων του
μηχανήματος σας χρησιμοποιήστε την εντολή
SHOW DEVICE στην προτροπή εντολών του SRM:>>>SHOW DEVICE
dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476
dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658
dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015
dva0.0.0.0.1 DVA0
ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01
pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27
pqa0.0.0.4.0 PQA0 PCI EIDE
pqb0.0.1.4.0 PQB0 PCI EIDEΤο παράδειγμα είναι από ένα Digital Personal Workstation 433au
και δείχνει τρεις συσκευές συνδεδεμένες στο μηχάνημα. Η πρώτη είναι
ένα CDROM με όνομα DKA0 και οι άλλες δύο
είναι δίσκοι με ονόματα DKC0 και
DKC100 αντίστοιχα.Δίσκοι με ονόματα της μορφής DKx είναι
τύπου SCSI. Για παράδειγμα, ο DKA100
αναφέρεται σε ένα δίσκο SCSI με SCSI target ID 1 στον πρώτο (Α)
δίαυλο SCSI, ενώ ο DKC300 αναφέρεται σε ένα
δίσκο SCSI με SCSI ID 3 στον τρίτο (C) δίαυλο SCSI. Η συσκευή
PKx αναφέρεται στον ελεγκτή (κάρτα) SCSI.
Όπως φαίνεται από τα αποτελέσματα της εντολής
SHOW DEVICE, οι οδηγοί CDROM αντιμετωπίζονται
όπως και οποιαδήποτε άλλη SCSI συσκευή σκληρού δίσκου.Οι σκληροί δίσκοι τύπου IDE έχουν ονόματα του τύπου
DQx, ενώ οι αντίστοιχοι IDE ελεγκτές του
τύπου PQx.Συλλέξτε Πληροφορίες για τη Ρύθμιση του Δικτύου σαςΑν σκοπεύετε να συνδεθείτε σε ένα δίκτυο κατά τη διάρκεια της
εγκατάστασης του &os; (για παράδειγμα αν πρόκειται να κάνετε
εγκατάσταση μέσω κάποιας τοποθεσίας FTP ή μέσω διακομιστή NFS), τότε
πρέπει να γνωρίζετε τις ρυθμίσεις του δικτύου σας. Κατά τη διάρκεια
της εγκατάστασης, θα ερωτηθείτε για αυτές τις ρυθμίσεις ώστε το &os;
να μπορέσει να συνδεθεί στο δίκτυο και να ολοκληρώσει την
εγκατάσταση.Σύνδεση με Δίκτυο Ethernet ή Modem Cable/DSLΑν συνδέεστε σε δίκτυο Ethernet ή αν έχετε σύνδεση Internet με
χρήση ελεγκτή Ethernet μέσω καλωδιακής ή DSL σύνδεσης, θα
χρειαστείτε τις ακόλουθες πληροφορίες:Διεύθυνση IP (IP Address)Διεύθυνση IP της προεπιλεγμένης πύλης
(default gateway)Όνομα υπολογιστή (hostname)Διευθύνσεις IP του διακομιστή DNS (DNS server IP
addresses)Μάσκα Υποδικτύου (Subnet Mask)Αν δεν γνωρίζετε αυτές τις πληροφορίες, ρωτήστε το διαχειριστή
συστήματος ή τον παροχέα υπηρεσιών Internet που σας εξυπηρετεί.
Η απάντηση μπορεί να είναι ότι οι πληροφορίες αυτές εκχωρούνται
αυτόματα με χρήση DHCP. Σημειώστε την
πληροφορία αυτή.Σύνδεση μέσω ModemΑν χρησιμοποιείτε επιλογική (dial up) σύνδεση με κάποιο παροχέα
Internet (ISP) με χρήση απλού modem, μπορείτε και πάλι να
εγκαταστήσετε το &os; μέσω Internet, αλλά θα χρειαστείτε πάρα πολύ
χρόνο.Θα χρειαστεί να ξέρετε:Τον αριθμό κλήσης του ISP σαςΤη σειριακή θύρα (COM:) στην οποία είναι συνδεμένο το modem
σαςΤο όνομα χρήστη (username) και κωδικό (password) για το
λογαριασμό σας στον ISPΕλέγξτε για Παροράματα (Errata) στο &os;Αν και το &os; project πασχίζει για να εξασφαλίσει ότι κάθε έκδοση
του &os; θα είναι όσο πιο σταθερή γίνεται, ορισμένες φορές στη
διαδικασία αυτή εισέρχονται λάθη. Σε πολύ σπάνιες περιπτώσεις, τα
λάθη αυτά επηρεάζουν τη διαδικασία εγκατάστασης. Καθώς τα προβλήματα
αυτά γίνονται αντιληπτά και επιδιορθώνονται, σημειώνονται στα
Παροράματα &os; (&os; Errata) τα οποία βρίσκονται στην δικτυακή
τοποθεσία του &os;. Πριν ξεκινήσετε την εγκατάσταση, Θα πρέπει να
ελέγξετε τα Παροράματα για να βεβαιωθείτε ότι δεν υπάρχουν προβλήματα
της τελευταίας στιγμής τα οποία θα έπρεπε να γνωρίζετε.Πληροφορίες για όλες τις εκδόσεις, περιλαμβανομένων και των
παροραμάτων για κάθε μία, μπορούν να βρεθούν στη σελίδα πληροφοριών έκδοσης
της δικτυακής τοποθεσίας του &os;.Ανακτήστε τα Αρχεία Εγκατάστασης του &os;Η διαδικασία εγκατάστασης του &os; μπορεί να εγκαταστήσει το
λειτουργικό σύστημα χρησιμοποιώντας αρχεία από τις παρακάτω
τοποθεσίες:Τοπικά ΜέσαCDROM ή DVDΜια κατάτμηση DOS που βρίσκεται στον ίδιο υπολογιστήΜια ταινία SCSI ή QICΔισκέτεςΔίκτυοΜια τοποθεσία FTP, μέσω firewall ή με χρήση διακομιστή
μεσολάβησης (HTTP proxy) αν είναι αναγκαίο.Ένα εξυπηρετητή NFSΜια αποκλειστική παράλληλη ή σειριακή σύνδεσηΑν έχετε αγοράσει το &os; σε CD ή DVD, τότε έχετε ήδη ότι
χρειάζεστε και μπορείτε να πάτε στο επόμενο τμήμα
().Αν δεν έχετε ακόμα ανακτήσει τα αρχεία εγκατάστασης του &os;
θα πρέπει να δείτε το το οποίο
εξηγεί πως να προετοιμαστείτε για την εγκατάσταση του &os; με
οποιοδήποτε από τους παραπάνω τρόπους. Αφού διαβάσετε το τμήμα αυτό,
θα πρέπει να γυρίσετε ξανά εδώ και να διαβάσετε από το
.Ετοιμάστε τα Μέσα ΕκκίνησηςΗ διαδικασία εκκίνησης του &os; ξεκινάει με την εκκίνηση του
υπολογιστή σας στο πρόγραμμα εγκατάστασης του &os;—δεν
πρόκειται για πρόγραμμα το οποίο μπορείτε να εκτελέσετε μέσα από
κάποιο άλλο λειτουργικό σύστημα. Ο υπολογιστής σας φυσιολογικά
εκκινεί χρησιμοποιώντας το λειτουργικό σύστημα που είναι
εγκατεστημένο στο σκληρό δίσκο σας, αλλά μπορεί επίσης να ρυθμιστεί
να χρησιμοποιεί μια δισκέτα εκκίνησης. Οι
περισσότεροι σύγχρονοι υπολογιστές μπορούν επίσης να εκκινήσουν από
ένα CDROM στον αντίστοιχο οδηγό ανάγνωσης.Αν έχετε το &os; σε CDROM ή DVD (είτε που αγοράσατε, είτε που
ετοιμάσατε ο ίδιος), και ο υπολογιστής σας επιτρέπει εκκίνηση από
CDROM ή DVD (τυπικά μέσω της επιλογής Boot Order ή
αντίστοιχης του BIOS), μπορείτε να παραλείψετε αυτό το τμήμα. Τα CD
ή DVD του &os; είναι εκκινήσιμα και μπορούν να χρησιμοποιηθούν για
την εγκατάσταση του &os; χωρίς καμιά άλλη ιδιαίτερη
προετοιμασία.Για να δημιουργήσετε δισκέτες εκκίνησης, ακολουθήστε αυτά
τα βήματα:Ανακτήστε τα Images (Αρχεία Εικόνων) των ΔισκετώνΟι δισκέτες εκκίνησης είναι διαθέσιμες στο μέσο εγκατάστασης
που έχετε, στον κατάλογο floppies/ και
μπορείτε επίσης να τις κατεβάσετε από τον αντίστοιχο κατάλογο
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<arch>/<version>-RELEASE/floppies/.
Αντικαταστήστε τα <arch> και
<version>
με την αρχιτεκτονική και τον αριθμό της έκδοσης που θέλετε να
εγκαταστήσετε αντίστοιχα. Για παράδειγμα τα images των δισκετών
εκκίνησης για &os;/&arch.i386; &rel.current;-RELEASE είναι
διαθέσιμα από την τοποθεσία .Τα images έχουν κατάληξη
.flp. O κατάλογος
floppies/ περιέχει αρκετά διαφορετικά
images, και το ποια θα χρειαστείτε εξαρτάται από την έκδοση του
&os; που θα εγκαταστήσετε, και σε ορισμένες περιπτώσεις, και από
το υλικό (hardware) στο οποίο κάνετε εγκατάσταση. Στις
περισσότερες περιπτώσεις θα χρειαστείτε τέσσερις δισκέτες, τις
boot.flp, kern1.flp,
kern2.flp και kern3.flp.
Ελέγξτε το αρχείο README.TXT που βρίσκεται
στον ίδιο κατάλογο για τις τελευταίες πληροφορίες σχετικά με τα
αρχεία αυτά.Το FTP πρόγραμμα που θα χρησιμοποιήσετε πρέπει να
χρησιμοποιεί δυαδικό τρόπο μεταφοράς (binary mode)
για να κατεβάσετε τα images των δισκετών.
Ορισμένοι φυλλομετρητές είναι γνωστό ότι χρησιμοποιούν
ASCII τρόπο (κειμένου), το οποίο θα το
καταλάβετε αν δεν μπορείτε να κάνετε εκκίνηση από τις
δισκέτες.Προετοιμάστε τις ΔισκέτεςΑπό κάθε αρχείο image που κατεβάσατε, πρέπει να
δημιουργήσετε μια δισκέτα. Είναι επιβεβλημένο, οι δισκέτες αυτές
να μην έχουν ελαττώματα. Ο ευκολότερος τρόπος για να το ελέγξετε
είναι να τις διαμορφώσετε εσείς. Μην εμπιστεύεστε
προ-διαμορφωμένες δισκέτες. Το πρόγραμμα διαμόρφωσης των
&windows; δεν θα σας ειδοποιήσει για την παρουσία χαλασμένων
τομέων, απλώς θα τους μαρκάρει ως χαλασμένους και
θα τους αγνοήσει. Σας συμβουλεύουμε να χρησιμοποιήσετε
καινούριες δισκέτες αν επιλέξετε αυτή τη μέθοδο
εγκατάστασης.Αν προσπαθήσετε να εγκαταστήσετε το &os; και το πρόγραμμα
εγκατάστασης κολλήσει, παγώσει ή με κάποιο τρόπο συμπεριφέρεται
περίεργα, ο πρώτος σας ύποπτος πρέπει να είναι οι δισκέτες.
Δοκιμάστε να γράψετε τα images σε νέες δισκέτες και
προσπαθήστε ξανά.Γράψτε τα Αρχεία Image σε ΔισκέτεςΤα αρχεία .flpδεν είναι κανονικά αρχεία που μπορείτε να
αντιγράψετε σε δισκέτα. Είναι images που έχουν όλο το περιεχόμενο
της δισκέτας σε ένα αρχείο. Αυτό σημαίνει ότι δεν
μπορείτε απλώς να αντιγράψετε τα αρχεία αυτά σε
δισκέτες. Αντίθετα, πρέπει να χρησιμοποιήσετε ειδικά εργαλεία για
να γράψετε τα images αυτά απευθείας στις δισκέτες.DOSΑν πρόκειται να δημιουργήσετε τις δισκέτες σε ένα υπολογιστή
που εκτελεί &ms-dos;/&windows;, σας παρέχουμε ένα εργαλείο για
αυτή την εργασία, το fdimage.Αν χρησιμοποιείτε τα images των δισκετών από το CDROM και
ο οδηγός σας CDROM είναι στο γράμμα E:,
θα εκτελέσετε την εξής εντολή:E:\>tools\fdimage floppies\boot.flp A:Επαναλάβετε την εντολή αυτή για κάθε αρχείο
.flp, αντικαθιστώντας κάθε φορά τη δισκέτα.
Βεβαιωθείτε ότι σημειώνετε στην ετικέτα κάθε δισκέτας το όνομα
του αρχείου που αντιγράψατε. Ρυθμίστε κατάλληλα την εντολή
ανάλογα με την τοποθεσία των image αρχείων
.flp. Αν δεν έχετε το CDROM, μπορείτε να
κατεβάσετε το fdimage από την τοποθεσία FTP
tools directoryτου &os;.Αν γράφετε τις δισκέτες σε ένα σύστημα &unix; (όπως κάποιο
σύστημα &os;) μπορείτε να χρησιμοποιήσετε την εντολή &man.dd.1;
για να γράψετε τα image αρχεία απευθείας στις δισκέτες. Στο &os;
θα γράφατε:&prompt.root; dd if=boot.flp of=/dev/fd0Στο &os; η συσκευή, /dev/fd0
αναφέρεται στην πρώτη μονάδα δισκέτας
(τον οδηγό A:).
Η συσκευή /dev/fd1 θα ήταν ο οδηγός
B:, κ.ο.κ. Άλλες παραλλαγές του &unix;
μπορεί να χρησιμοποιούν διαφορετικά ονόματα για τους οδηγούς
δισκέτας και θα χρειαστεί να ελέγξετε την τεκμηρίωση του
συστήματος σας κατά περίπτωση.Είστε τώρα έτοιμοι να ξεκινήσετε την εγκατάσταση του &os;.Ξεκινώντας την ΕγκατάστασηΤο πρόγραμμα εγκατάστασης δεν θα κάνει καμιά αλλαγή στους δίσκους
σας μέχρι να δείτε το ακόλουθο μήνυμα:Last Chance: Are you SURE you want continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!Η εγκατάσταση μπορεί να ακυρωθεί οποιαδήποτε στιγμή μέχρι να δείτε
την τελική προειδοποίηση χωρίς να γίνει καμιά αλλαγή στα περιεχόμενα
του σκληρού δίσκου. Αν ανησυχείτε ότι έχετε κάνει κάποια λάθος
ρύθμιση μπορείτε απλώς να σβήσετε τον υπολογιστή πριν από το σημείο
αυτό, και δεν θα δημιουργηθεί κανένα πρόβλημα.ΕκκίνησηΕκκίνηση στην Αρχιτεκτονική &i386;Ξεκινήστε με τον υπολογιστή σας απενεργοποιημένο.Εκκινήστε τον υπολογιστή σας. Καθώς ξεκινάει θα πρέπει να
δείχνει κάποια επιλογή για να εισέλθετε στο πρόγραμμα ρυθμίσεων
του BIOS (BIOS setup), συνήθως με την πίεση κάποιου πλήκτρου
όπως το F2, το F10, το
Del ή το συνδυασμό
AltS. Χρησιμοποιήστε το συνδυασμό που φαίνεται στην
οθόνη. Σε κάποιες περιπτώσεις, κατά την εκκίνηση μπορεί στην
οθόνη σας να φαίνεται κάποιο γραφικό λογότυπο. Τυπικά,
πιέζοντας το Esc το γραφικό αυτό εξαφανίζεται
και μπορείτε πλέον να δείτε τα απαραίτητα μηνύματα.Βρείτε τη ρύθμιση που ελέγχει από ποιες συσκευές εκκινεί το
σύστημα. Συνήθως αναφέρεται ως Boot Order και
εμφανίζεται ως λίστα συσκευών, όπως για παράδειγμα
Floppy, CDROM,
First Hard Disk, κ.ο.κ.Αν πρόκειται να χρησιμοποιήσετε δισκέτες εκκίνησης,
βεβαιωθείτε ότι επιλέξατε την μονάδα δισκέτας. Αν θα εκκινήσετε
από το CDROM, βεβαιωθείτε ότι έχετε κάνει την αντίστοιχη
επιλογή. Αν δεν είστε σίγουροι, συμβουλευτείτε το εγχειρίδιο
του υπολογιστή ή / και της μητρικής πλακέτας.Κάντε την αλλαγή, αποθηκεύστε και βγείτε από το πρόγραμμα
ρυθμίσεων. Ο υπολογιστής σας θα επανεκκινήσει.Αν χρειάστηκε να προετοιμάσετε δισκέτες, όπως περιγράφεται
στο , μία από αυτές θα είναι η
πρώτη δισκέτα εκκίνησης, πιθανώς αυτή που περιέχει το
boot.flp. Τοποθετήστε την στον οδηγό
δισκέτας.Αν θα εκκινήσετε από το CDROM, θα χρειαστεί να
ενεργοποιήσετε τον υπολογιστή και να εισάγετε το CDROM στον
οδηγό με την πρώτη δυνατή ευκαιρία.Αν ο υπολογιστής σας ξεκινήσει κανονικά και φορτώσει το
υπάρχον λειτουργικό σας σύστημα, τότε είτε:Δεν βάλατε τη δισκέτα ή το CD αρκετά νωρίς κατά τη
διαδικασία εκκίνησης. Αφήστε την στον οδηγό και δοκιμάστε
να επανεκκινήσετε τον υπολογιστή σας.Οι προηγούμενες αλλαγές που κάνετε στις ρυθμίσεις του
BIOS δεν λειτούργησαν. Θα πρέπει να επαναλάβετε το βήμα
αυτό μέχρι να πετύχετε τη σωστή επιλογή.Το συγκεκριμένο BIOS που διαθέτετε δεν υποστηρίζει
εκκίνηση από το επιλεγμένο μέσο.Θα αρχίσει η εκκίνηση του &os;. Αν ξεκινάτε από το CDROM θα
δείτε μια εικόνα όπως την επόμενη (έχουν παραλειφθεί οι
πληροφορίες έκδοσης):Booting from CD-Rom...
CD Loader 1.2
Building the boot loader arguments
Looking up /BOOT/LOADER... Found
Relocating the loader and the BTX
Starting the BTX loader
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS CD is cd0
BIOS drive C: is disk0
BIOS drive D: is disk1
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
Loading /boot/defaults/loader.conf
/boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+00
x88e9d]
\Αν κάνετε εκκίνηση από μονάδα δισκέτας, θα δείτε μια οθόνη
όμοια με την παρακάτω (έχουν παραλειφθεί οι πληροφορίες
έκδοσης):Booting from Floppy...
Uncompressing ... done
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
Loading /boot/defaults/loader.conf
/kernel text=0x277391 data=0x3268c+0x332a8 |
Insert disk labelled "Kernel floppy 1" and press any key...Ακολουθήστε τις οδηγίες, αφαιρώντας την δισκέτα
boot.flp, εισάγοντας την δισκέτα
kern1.flp και πιέζοντας
Enter. Ξεκινήστε από την πρώτη δισκέτα, και
όταν σας ζητηθεί, βάλτε τις άλλες δισκέτες όπως
απαιτείται.Είτε ξεκινήσατε από δισκέτα, είτε από CDROM, η διαδικασία
εκκίνησης θα φτάσει στο μενού του &os; boot loader:Μενού Εκκίνησης (&os; Boot Loader)Περιμένετε δέκα δευτερόλεπτα, ή απλώς πιέστε
EnterΕκκίνηση στην Αρχιτεκτονική AlphaAlphaΞεκινήστε με τον υπολογιστή σας απενεργοποιημένο.Ξεκινήστε τον υπολογιστή σας και περιμένετε για την
προτροπή του boot monitor.Αν χρειάστηκε να προετοιμάσετε δισκέτες εκκίνησης, όπως
περιγράφεται στο
μία από αυτές θα είναι εκκίνησης, πιθανώς αυτή που περιέχει
το boot.flp. Τοποθετήστε τη δισκέτα αυτή
στον οδηγό και γράψτε την ακόλουθη εντολή για να ξεκινήσετε από
τη δισκέτα (αντικαθιστώντας το όνομα της μονάδας δισκέτας αν
χρειάζεται):>>>BOOT DVA0 -FLAGS '' -FILE ''Αν ξεκινάτε από CDROM, τοποθετήστε το CDROM στον οδηγό και
γράψτε την ακόλουθη εντολή για να ξεκινήσετε την εγκατάσταση
(αντικαθιστώντας το όνομα του οδηγού CDROM αν
χρειάζεται):>>>BOOT DKA0 -FLAGS '' -FILE ''Θα αρχίσει η εκκίνηση του &os;. Αν ξεκινάτε από την
δισκέτα, σε κάποιο σημείο θα δείτε το ακόλουθο μήνυμα:Insert disk labelled "Kernel floppy 1" and press any key...Ακολουθήστε τις οδηγίες αυτές, βγάζοντας τη δισκέτα
boot.flp, βάζοντας τη δισκέτα
kern1.flp και πιέζοντας
Enter.Είτε ξεκινήσατε από δισκέτα, είτε από CDROM, η διαδικασία
εκκίνησης θα φτάσει στο ακόλουθο σημείο:Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Περιμένετε δέκα δευτερόλεπτα, ή απλώς πιέστε
Enter. Έτσι θα ξεκινήσετε το μενού ρύθμισης
πυρήνα.Εκκίνηση στον &sparc64;Τα περισσότερα συστήματα &sparc64; είναι ρυθμισμένα να ξεκινάνε
αυτόματα από το σκληρό δίσκο. Για να εγκαταστήσετε το &os;, θα
πρέπει να ξεκινήσετε είτε από το δίκτυο, είτε από το CDROM, κάτι το
οποίο απαιτεί να εισέλθετε στην PROM (OpenFirmware).Για το σκοπό αυτό, επανεκκινήστε το σύστημα και περιμένετε μέχρι
να εμφανιστεί το μήνυμα εκκίνησης (boot). Αυτό εξαρτάται από το
μοντέλο, αλλά γενικά μοιάζει με:Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.Αν το σύστημα σας συνεχίζει με εκκίνηση από το σκληρό δίσκο,
πρέπει να πιέσετε:
L1A
ή
StopA
στο πληκτρολόγιο, ή να στείλετε BREAK μέσω της
σειριακής κονσόλας (χρησιμοποιώντας για παράδειγμα
~# στο &man.tip.1; ή στο &man.cu.1;) για να
φτάσετε στην προτροπή της PROM. Φαίνεται όπως παρακάτω:ok ok {0} Αυτή είναι η προτροπή που χρησιμοποιείται σε συστήματα με
μία CPU.Αυτή είναι η προτροπή που χρησιμοποιείται σε συστήματα
SMP, το ψηφίο δείχνει τον αριθμό της ενεργής CPU.Στο σημείο αυτό, τοποθετήστε το CDROM στον οδηγό, και από την
προτροπή της PROM, γράψτε boot cdrom.Επισκόπηση των Αποτελεσμάτων Ανίχνευσης ΣυσκευώνΟι τελευταίες εκατοντάδες γραμμές που πέρασαν από την οθόνη σας,
αποθηκεύονται, και μπορείτε να τις ξαναδείτε.Για να δείτε τα περιεχόμενα της προσωρινής μνήμης (buffer) πιέστε
το πλήκτρο Scroll Lock. Με τον τρόπο αυτό
ενεργοποιείται η κύλιση της οθόνης. Μπορείτε να χρησιμοποιήσετε τα
πλήκτρα με τα βελάκια, ή τα PageUp και
PageDown για να δείτε τα αποτελέσματα. Πιέστε ξανά
το πλήκτρο Scroll Lock για να τερματίσετε την
κύλιση.Κάντε το αυτό τώρα για να δείτε το κείμενο που κύλησε εκτός οθόνης
την ώρα που ο πυρήνας ανίχνευε το υλικό του υπολογιστή σας. Θα δείτε
ένα κείμενο αντίστοιχο με το , αν
και το ακριβές κείμενο θα διαφέρει ανάλογα με τις συσκευές που έχετε
στον υπολογιστή σας.Τυπικά Αποτελέσματα Ανίχνευσης Συσκευώνavail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4
md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <iSA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: <VIA 83572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
uhub0: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5” drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33
acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0Ελέγξτε προσεκτικά τα αποτελέσματα της ανίχνευσης για να
βεβαιωθείτε ότι το &os; ανίχνευσε όλες τις συσκευές που αναμένατε. Αν
μια συσκευή δεν βρέθηκε, τότε δεν θα τη δείτε στη λίστα. Με τη
βοήθεια εξειδικευμένου πυρήνα
μπορείτε να προσθέσετε υποστήριξη για συσκευές οι οποίες δεν
περιλαμβάνονται στον πυρήνα GENERIC, όπως τις
κάρτες ήχου.Από το &os; 6.2 και μετά, στο τέλος της διαδικασίας
ανίχνευσης συσκευών, θα δείτε το .
Χρησιμοποιήστε τα βελάκια για να επιλέξετε περιοχή ή χώρα. Έπειτα
πιέστε Enter, για να ρυθμίσετε εύκολα τη χώρα και τη
διάταξη πληκτρολογίου. Είναι επίσης εύκολο να βγείτε από το
sysinstall και να ξεκινήσετε από την
αρχή.Επιλέγοντας το Μενού ΧώραςΕπιλέξτε Έξοδο από το SysinstallΧρησιμοποιήστε τα βελάκια για να επιλέξετε
Exit Install από το μενού Main Install.
Θα δείτε το ακόλουθο μήνυμα: User Confirmation Requested
Are you sure you wish to exit? The system will reboot
(be sure to remove any floppies from the drives).
[ Yes ] NoΤο πρόγραμμα εγκατάστασης θα ξεκινήσει ξανά, αν αφήσετε το CDROM
στον οδηγό και επιλέξετε &gui.yes;.Αν ξεκινάτε από δισκέτες θα χρειαστεί να βγάλετε την δισκέτα
boot.flp πριν την επανεκκίνηση.Εισαγωγή στο SysinstallΤο πρόγραμμα sysinstall είναι η εφαρμογή
εγκατάστασης που παρέχεται από το &os; Project. Βασίζεται σε περιβάλλον
κειμένου και χωρίζεται σε μια σειρά από μενού και οθόνες που μπορείτε να
χρησιμοποιήσετε για να ρυθμίσετε και να ελέγξετε την διαδικασία
εγκατάστασης.Το σύστημα μενού του sysinstall
ελέγχεται με τα βελάκια, το Enter, το
Space και άλλα πλήκτρα. Λεπτομερή περιγραφή των
πλήκτρων αυτών και των λειτουργιών τους περιέχεται στις οδηγίες χρήσης
του sysinstall.Για να δείτε τις πληροφορίες αυτές, βεβαιωθείτε ότι είναι φωτισμένη
η επιλογή Usage και ότι είναι επιλεγμένο το
πλήκτρο [Select] όπως φαίνεται στο
, και πιέστε
Enter.Θα δείτε τις οδηγίες χρήσης του συστήματος μενού. Κατόπιν πιέστε
Enter για να επιστρέψετε στο κύριο μενού
(Main Menu).Επιλέγοντας Usage από το Main Menu του SysInstallΕπιλέγοντας το Μενού Documentation (Τεκμηρίωσης)Από το Main Menu, επιλέξτε Doc με τα
βελάκια και πιέστε Enter.Επιλέγοντας το Μενού DocumentationΑυτό θα δείξει το Μενού Documentation.Το Μενού Documentation του SysinstallΕίναι σημαντικό να διαβάσετε την παρεχόμενη τεκμηρίωση.Για να δείτε ένα έγγραφο, επιλέξτε το με τα βελάκια και πιέστε
Enter. Όταν τελειώσετε την ανάγνωση ενός εγγράφου,
πιέζοντας Enter θα επιστρέψετε στο μενού
Documentation.Για να επιστρέψετε στο Κυρίως Μενού Εγκατάστασης, επιλέξτε
Exit με τα βελάκια και πιέστε
Enter.Επιλέγοντας το Μενού Keymap (Διάταξη Πληκτρολογίου)Για να αλλάξετε τη διάταξη του πληκτρολογίου, χρησιμοποιήστε τα
βελάκια για να επιλέξετε Keymap
από το μενού και πιέστε Enter. Αυτό απαιτείται μόνο
αν χρησιμοποιείτε διάταξη πληκτρολογίου που δεν είναι στάνταρ και
επίσης για διατάξεις εκτός της Αγγλικής ΗΠΑ.Κύριο Μενού Εγκατάστασης (Sysinstall Main Menu)Μπορείτε να επιλέξετε διαφορετική διάταξη πληκτρολογίου
κάνοντας την αντίστοιχη επιλογή από το μενού χρησιμοποιώντας τα
βελάκια, και πιέζοντας Space. Πιέζοντας ξανά
Space θα καταργήσετε την επιλογή. Όταν τελειώσετε,
επιλέξτε &gui.ok; με τα βελάκια και πιέστε
Enter.Στην παρακάτω απεικόνιση της οθόνης φαίνεται μόνο μέρος της
λίστας. Αν επιλέξετε &gui.cancel; πιέζοντας το Tab
θα χρησιμοποιήσετε την προεπιλεγμένη διάταξη πληκτρολογίου και θα
επιστρέψετε στο Κύριο Μενού Εγκατάστασης.Το Μενού Keymap του SysinstallΗ Οθόνη Installation Options (Επιλογών Εγκατάστασης)Επιλέξτε Options και πιέστε
Enter.Το Κύριο Μενού του SysinstallΕπιλογές του Sysinstall (Options)Οι προεπιλεγμένες τιμές είναι συνήθως σωστές για τους
περισσότερους χρήστες και δεν χρειάζεται να αλλαχθούν. Το όνομα της
έκδοσης (Release Name) αλλάζει ανάλογα με την έκδοση που
εγκαθίσταται.Στο κάτω μέρος της οθόνης, εμφανίζεται με τονισμένο μπλε χρώμα
η περιγραφή του επιλεγμένου αντικειμένου. Παρατηρήστε ότι μια από
τις επιλογές είναι η Use Defaults η οποία
επαναφέρει όλες τις τιμές στις αρχικές προεπιλεγμένες τους
ρυθμίσεις.Πιέστε το F1 για να διαβάσετε την οθόνη βοήθειας
σχετικά με τις διάφορες επιλογές.Πιέζοντας το Q θα επιστρέψετε στο Κύριο Μενού
Εγκατάστασης.Ξεκινήστε μια Τυπική Εγκατάσταση (Standard Installation)Η Standard εγκατάσταση είναι η επιλογή
που συνίσταται για τους νέους χρήστες του &unix; ή του &os;.
Χρησιμοποιήστε τα βελάκια για να επιλέξετε
Standard από το μενού, και πιέστε
Enter για να ξεκινήσετε την εγκατάσταση.Εκκίνηση της Τυπικής Εγκατάστασης (Standard
Installation)Εκχώρηση Χώρου στο ΔίσκοΤο πρώτο σας βήμα είναι να εκχωρήσετε χώρο δίσκου για το &os; και
να δημιουργήσετε μια ετικέτα (label) στο χώρο αυτό ώστε να μπορέσει να
τον προετοιμάσει το sysinstall. Για το σκοπό
αυτό πρέπει να γνωρίζετε τον τρόπο με τον οποίο περιμένει το &os; να
βρει τις πληροφορίες στο δίσκο.Αρίθμηση των Δίσκων με βάση το BIOSΠριν εγκαταστήσετε και ρυθμίσετε το &os; στο σύστημα σας, υπάρχει
ένα σημαντικό θέμα το οποίο πρέπει να γνωρίζετε, ειδικά αν έχετε
πολλούς σκληρούς δίσκους.DOSMicrosoft WindowsΣε ένα PC το οποίο χρησιμοποιεί λειτουργικό σύστημα το οποίο
εξαρτάται από το BIOS, όπως είναι το &ms-dos; ή τα
µsoft.windows;, το BIOS είναι σε θέση να συμπεράνει τη σειρά
προτεραιότητας των δίσκων και το λειτουργικό σύστημα απλώς συμβαδίζει
με αυτή. Αυτό επιτρέπει στο χρήστη να εκκινήσει από ένα δίσκο
διαφορετικό από αυτόν που συχνά καλούμε
primary master. Αυτό είναι ιδιαίτερα βολικό για
κάποιους χρήστες που έχουν ανακαλύψει ότι ο ευκολότερος και φτηνότερος
τρόπος να έχουν ένα αντίγραφο ασφαλείας του συστήματος τους, είναι να
αγοράσουν ένα δεύτερο όμοιο σκληρό δίσκο, και να αντιγράφουν ανά τακτά
διαστήματα τον πρώτο τους δίσκο στο δεύτερο χρησιμοποιώντας
προγράμματα όπως το
Ghost ή το XCOPY.
Έτσι, αν ο πρώτος δίσκος χαλάσει, ή δεχθεί επίθεση από ιό, ή
παρουσιάσει πρόβλημα εξαιτίας κάποιου ελαττώματος του λειτουργικού
συστήματος, ο χρήστης μπορεί εύκολα να επαναφέρει το σύστημα
ρυθμίζοντας το BIOS να αντιστρέψει τη λογική σειρά των δίσκων. Είναι
σαν να αντιμεταθέτουμε τη σειρά των καλωδίων στους δίσκους αλλά χωρίς
να χρειάζεται να ανοίξουμε το κουτί.SCSIBIOSΤα πιο ακριβά συστήματα με ελεγκτές SCSI, συχνά περιλαμβάνουν
επεκτάσεις στο BIOS που επιτρέπουν την αλλαγή της αρίθμησης μέχρι επτά
δίσκων SCSI, με παρόμοιο τρόπο.Ένας χρήστης εξοικειωμένος με την παραπάνω δυνατότητα, μπορεί να
βρεθεί προ εκπλήξεως όταν τα αποτελέσματα με το &os; δεν είναι τα
αναμενόμενα. Το &os; δεν χρησιμοποιεί το BIOS και δεν γνωρίζει την
κατά το BIOS λογική διάταξη των οδηγών. Αυτό μπορεί να
οδηγήσει σε ιδιαίτερα περίπλοκες καταστάσεις, ειδικά αν οι δίσκοι
έχουν παρόμοια γεωμετρία και έχουν επίσης τα ίδια δεδομένα (είναι ο
ένας κλώνος του άλλου).Όταν χρησιμοποιείτε το &os; επιστρέψτε την σειρά των οδηγών στο
BIOS στην φυσιολογική τους πριν εγκαταστήσετε το &os; και αφήστε την
έτσι. Αν πρέπει να εναλλάξετε τους δίσκους μεταξύ τους, κάντε το αλλά
με το δύσκολο τρόπο: ανοίξτε το κουτί και αλλάξτε θέσεις στα jumpers
(βραχυκυκλωτήρες) και στα καλώδια.Μια Ιστορία από τα Αρχεία των Εξαιρετικών Περιπετειών του
Bill και Fred:O Bill διαλύει ένα παλιό μηχάνημα Wintel για να φτιάξει
ένα ακόμα &os; μηχάνημα για το Fred. Ο Bill εγκαθιστά ένα σκληρό
δίσκο SCSI ως συσκευή με αριθμό μηδέν και εγκαθιστά σε αυτή το
&os;.Ο Fred ξεκινά να χρησιμοποιεί το σύστημα, αλλά μετά από αρκετές
μέρες παρατηρεί ότι ο παλιός SCSI δίσκος αναφέρει αρκετά μη
καταστροφικά λάθη (soft errors) και αναφέρει το γεγονός αυτό στον
Bill.Μετά από μερικές ακόμα μέρες, ο Bill αποφασίζει ότι έχει έρθει
η ώρα να αντιμετωπίσει το πρόβλημα, και έτσι πιάνει ένα αντίστοιχο
SCSI δίσκο από το αρχείο στο πίσω δωμάτιο. Ένας
αρχικός έλεγχος επιφάνειας δείχνει ότι ο δίσκος λειτουργεί κανονικά,
και έτσι ο Bill εγκαθιστά το δίσκο αυτό ως SCSI μονάδα τέσσερα και
αντιγράφει (μέσω image) πλήρως τα δεδομένα από το δίσκο μηδέν στο
δίσκο τέσσερα. Τώρα που ο νέος δίσκος είναι εγκατεστημένος και
λειτουργεί σωστά, ο Bill αποφασίζει ότι είναι καλή ιδέα να αρχίσει
να τον χρησιμοποιεί, και έτσι βάζει σε εφαρμογή τη δυνατότητα του
BIOS να αλλάζει την αρίθμηση των δίσκων ώστε το σύστημα να ξεκινάει
από το δίσκο τέσσερα. Το &os; ξεκινάει και εκτελείται
κανονικά.Ο Fred συνεχίζει τη δουλειά του για αρκετές ακόμα μέρες, και
σύντομα ο Bill και o Fred αποφασίζουν ότι έχει έρθει η ώρα για μια
ακόμα περιπέτεια — ώρα να αναβαθμίσουν στην νέα έκδοση του
&os;. Ο Bill αφαιρεί το δίσκο μηδέν μια και ήταν ελαφρώς
προβληματικός και τον αντικαθιστά με ένα άλλο όμοιο δίσκο από το
αρχείο. Ο Bill κατόπιν εγκαθιστά τη νέα έκδοση του
&os; στον νέο δίσκο μηδέν χρησιμοποιώντας τις μαγικές Internet FTP
δισκέτες του Fred. Η εγκατάσταση γίνεται χωρίς προβλήματα.Ο Fred χρησιμοποιεί την νέα έκδοση του &os; για μερικές μέρες,
και πιστοποιεί ότι είναι αρκετά καλή για χρήση στο τμήμα
μηχανικής. Έχει έρθει η ώρα να αντιγράψει όλη τη δουλειά του από
την παλιά έκδοση. Έτσι ο Fred προσαρτεί το δίσκο με αριθμό
τέσσερα (το τελευταίο αντίγραφο της παλιάς έκδοσης του &os;).
Ο Fred απογοητεύεται όταν ανακαλύπτει ότι δεν υπάρχει τίποτα από την
πολύτιμη εργασία του στο δίσκο με αριθμό τέσσερα.Που πήγαν τα δεδομένα;Όταν ο Bill έκανε φωτογραφική αντιγραφή του αρχικού SCSI δίσκου
μηδέν στο SCSI δίσκο τέσσερα, ο δίσκος τέσσερα έγινε ο νέος
κλώνος. Όταν ο Bill άλλαξε την αρίθμηση στο SCSI BIOS ώστε
να μπορέσει να ξεκινήσει από τη μονάδα SCSI τέσσερα, απλώς κορόιδευε
τον εαυτό του. To &os; χρησιμοποιούσε ακόμα τη μονάδα SCSI μηδέν.
Ίσως αυτή η αλλαγή στο BIOS να προκαλέσει την μερική ή ολική φόρτωση
του κώδικα Boot ή και του Loader από τον επιλεγμένο από το BIOS
δίσκο, αλλά όταν αναλάβουν τα προγράμματα οδήγησης του πυρήνα του
&os; η αρίθμηση του BIOS θα αγνοηθεί, και το &os; θα επανέλθει στη
φυσιολογική αρίθμηση των δίσκων. Στο παράδειγμα μας, το σύστημα
συνέχισε να λειτουργεί στον αρχικό SCSI δίσκο μηδέν, και όλα τα
δεδομένα του Fred ήταν εκεί, και όχι στον SCSI δίσκο τέσσερα. Το
γεγονός ότι το σύστημα φαινόταν να λειτουργεί από το SCSI δίσκο
τέσσερα ήταν απλώς ένα κατασκεύασμα της ανθρώπινης
προσδοκίας.Είμαστε ευτυχείς να ανακοινώσουμε ότι δεν χάθηκαν καθόλου
δεδομένα κατά την ανακάλυψη του φαινομένου αυτού. Ο παλιός SCSI
δίσκος μηδέν ανακτήθηκε από το σωρό, και όλη η εργασία του Fred
επιστράφηκε σε αυτόν (και τώρα ο Bill ξέρει ότι μπορεί να μετράει
ως το μηδέν).Αν και στην ιστορία αυτή χρησιμοποιήθηκαν οδηγοί SCSI, οι αρχές
ισχύουν εξίσου και για οδηγούς IDE.Δημιουργώντας Slices με Χρήση της FDiskΚαμιά αλλαγή που θα κάνετε σε αυτό το σημείο δεν θα γραφεί στο
δίσκο. Αν νομίζετε ότι κάνατε κάποιο λάθος και θέλετε να ξεκινήσετε
ξανά από την αρχή, μπορείτε να χρησιμοποιήσετε τα μενού για να
βγείτε από το sysinstall και να
δοκιμάσετε ξανά ή πιέστε το U για να
χρησιμοποιήσετε την επιλογή Undo. Αν
μπερδευτείτε και δεν μπορείτε να δείτε πως να βγείτε, μπορείτε πάντα
απλά να απενεργοποιήσετε τον υπολογιστή σας.Αφού επιλέξετε να ξεκινήσετε μια τυπική εγκατάσταση
(standard installation) στο sysinstall θα
δείτε το παρακάτω μήνυμα: Message
In the next menu, you will need to set up a DOS-style ("fdisk")
partitioning scheme for your hard disk. If you simply wish to devote
all disk space to FreeBSD (overwriting anything else that might be on
the disk(s) selected) then use the (A)ll command to select the default
partitioning scheme followed by a (Q)uit. If you wish to allocate only
free space to FreeBSD, move to a partition marked "unused" and use the
(C)reate command.
[ OK ]
[ Press enter or space ]Πιέστε Enter σύμφωνα με τις οδηγίες. Θα δείτε
τότε μια λίστα με όλους τους σκληρούς δίσκους που ανίχνευσε ο πυρήνας
κατά τη διάρκεια της ανίχνευσης συσκευών. Το
δείχνει ένα παράδειγμα από
ένα σύστημα με δύο δίσκους IDE. Έχουν τα ονόματα
ad0 και ad2.Επιλέξτε Δίσκο για την FDiskΊσως να αναρωτιέστε γιατί δεν υπάρχει εδώ συσκευή με όνομα
ad1. Τι είναι αυτό που λείπει;Σκεφτείτε τι θα γινόταν αν είχατε δύο IDE δίσκους, ένα ως master
στο πρώτο IDE ελεγκτή, και ένα ως master στο δεύτερο IDE ελεγκτή. Αν
το &os; τους αριθμούσε όπως τους έβρισκε, δηλ. ως
ad0 και ad1
όλα θα λειτουργούσαν κανονικά.Αν όμως προσθέταμε μετά ένα τρίτο δίσκο, ως συσκευή slave στον
πρώτο IDE ελεγκτή, αυτή θα γινόταν πλέον ad1,
και η προηγούμενη ad1 θα γινόταν
ad2. Επειδή τα ονόματα των συσκευών (όπως
ad1s1a) χρησιμοποιούνται για την εύρεση των
συστημάτων αρχείων, μπορεί να ανακαλύπτατε ξαφνικά ότι κάποια από τα
συστήματα αρχείων σας δεν εμφανίζονται κανονικά και πρέπει να αλλάξετε
την ρύθμιση του &os; σας.Για να ξεπεραστεί το πρόβλημα αυτό, ο πυρήνας μπορεί να ρυθμιστεί
να ονομάζει τους δίσκους IDE ανάλογα με την θέση τους, και όχι με τη
σειρά με την οποία ανιχνεύονται. Με τον τρόπο αυτό, ο master δίσκος
στο δεύτερο IDE ελεγκτή θα είναι πάντα,
ad2, ακόμα και αν δεν υπάρχει συσκευή
ad0 ή ad1.Η ρύθμιση αυτή είναι και η προεπιλεγμένη για τον πυρήνα του &os;,
και για το λόγο αυτό η οθόνη δείχνει ad0 και
ad2. Το μηχάνημα από το οποίο λήφθηκε η
εικόνα είχε δίσκους master και στους δύο ελεγκτές IDE, ενώ δεν είχε
κανένα δίσκο slave.Πρέπει να επιλέξετε το δίσκο στον οποίο θα γίνει η εγκατάσταση του
&os; και να πιέσετε &gui.ok;. Το FDisk θα
ξεκινήσει, με οθόνη αντίστοιχη με αυτή που φαίνεται στο
.Η οθόνη του FDisk είναι χωρισμένη σε
τρία τμήματα.Το πρώτο τμήμα, το οποίο καλύπτει τις δύο πρώτες γραμμές της
οθόνης, δείχνει λεπτομέρειες για τον επιλεγμένο δίσκο, που
περιλαμβάνουν το όνομα του στο &os;, τη γεωμετρία του, και το συνολικό
μέγεθος του.Το δεύτερο τμήμα δείχνει τα slices τα οποία υπάρχουν στο δίσκο τη
δεδομένη στιγμή, τα σημεία στα οποία ξεκινούν και τελειώνουν, πόσο
μεγάλα είναι, την ονομασία που έχουν στο &os; και την περιγραφή τους
και τον τύπο τους. Το παράδειγμα αυτό δείχνει δύο μικρά
αχρησιμοποίητα slices, τα οποία είναι παρενέργειες του τρόπου
διάταξης των δίσκων στα PC. Δείχνει επίσης ένα μεγάλο
FAT slice, το οποίο σίγουρα εμφανίζεται ως
C: στα &ms-dos; και &windows;, καθώς και μια
εκτεταμένη κατάτμηση η οποία μπορεί να περιέχει και άλλα γράμματα
οδηγών για το &ms-dos; ή τα &windows;.Το τρίτο τμήμα, δείχνει τις εντολές που είναι διαθέσιμες στην
FDisk.Τυπικές Fdisk Κατατμήσεις πριν την ΕπεξεργασίαΤο τι θα κάνετε τώρα εξαρτάται από το πως θέλετε να χωρίσετε το
δίσκο σας.Αν θέλετε το &os; να χρησιμοποιήσει όλο το δίσκο σας (σβήνοντας
έτσι όλα τα άλλα δεδομένα από αυτόν, όταν επιβεβαιώσετε αργότερα στην
εγκατάσταση ότι θέλετε το sysinstall να
προχωρήσει) μπορείτε απλώς να πιέσετε A
το οποίο αντιστοιχεί με την επιλογή
Use Entire Disk (Χρήση ολόκληρου του
δίσκου). Οι υπάρχουσες κατατμήσεις θα διαγραφούν, και θα
αντικατασταθούν με μια μικρή περιοχή μαρκαρισμένη ως
unused (αχρησιμοποίητη) (ξανά, μια παρενέργεια
των διατάξεων δίσκου στο PC) και με ένα μεγάλο slice για το &os;.
Αν το κάνετε αυτό, θα πρέπει να επιλέξετε με τα βελάκια το νέο &os;
slice και να το μαρκάρετε ως εκκινήσιμο (bootable) πιέζοντας το
πλήκτρο S. Η οθόνη σας θα είναι αρκετά παρόμοια με
την . Παρατηρήστε το
A στην στήλη Flags, το οποίο
δείχνει ότι το slice είναι active (ενεργό),
και πρόκειται να γίνει εκκίνηση από αυτό.Αν πρόκειται να διαγράψετε ένα υπάρχον slice για να δημιουργήσετε
χώρο για το &os;, θα πρέπει να επιλέξετε το slice με τα βελάκια, και
να πιέσετε D. Μπορείτε κατόπιν να πιέσετε
C, και θα ερωτηθείτε για το μέγεθος του slice που
θέλετε να δημιουργήσετε. Η προεπιλεγμένη τιμή στο διάλογο
αντιπροσωπεύει το μέγιστο δυνατό slice που μπορείτε να δημιουργήσετε,
το οποίο μπορεί να είναι το μέγιστο συνεχόμενο μπλοκ ελεύθερου χώρου ή
το μέγεθος ολόκληρου του δίσκου.Αν έχετε ήδη δημιουργήσει χώρο για το &os; (ίσως με τη χρήση
κάποιου εργαλείου όπως το &partitionmagic;)
μπορείτε να πιέσετε C για να δημιουργήσετε νέο slice.
Θα ερωτηθείτε και πάλι για το μέγεθος του slice που θέλετε να
δημιουργήσετε.Κατάτμηση Fdisk που Χρησιμοποιεί Ολόκληρο το ΔίσκοΌταν τελειώσετε, πιέστε Q. Οι αλλαγές σας θα
αποθηκευτούν στο sysinstall, αλλά δεν θα
γραφτούν ακόμα στο δίσκο.Εγκατάσταση Διαχειριστή Εκκίνησης (Boot Manager)Έχετε τώρα την επιλογή να εγκαταστήσετε διαχειριστή εκκίνησης
(boot manager). Σε γενικές γραμμές θα πρέπει να επιλέξετε να
εγκαταστήσετε το διαχειριστή εκκίνησης του &os; αν:Έχετε περισσότερους από ένα δίσκους, και έχετε επιλέξει να
εγκαταστήσετε το &os; σε δίσκο που δεν είναι ο πρώτος.Έχετε εγκαταστήσει το &os; μαζί με ένα άλλο λειτουργικό
σύστημα στον ίδιο δίσκο, και θέλετε να μπορείτε να επιλέγετε αν
θα ξεκινήσετε το &os; ή το άλλο λειτουργικό, όταν ξεκινάτε τον
υπολογιστή σας.Αν το &os; πρόκειται να είναι το μοναδικό λειτουργικό σύστημα στον
υπολογιστή σας, και είναι εγκατεστημένο στον πρώτο σκληρό δίσκο, τότε
είναι επαρκής ο Standard διαχειριστής
εκκίνησης. Επιλέξτε None αν πρόκειται να
χρησιμοποιήσετε διαχειριστή εκκίνησης τρίτου κατασκευαστή, ο οποίος
είναι ικανός να εκκινήσει το &os;.Κάντε την επιλογή σας και πιέστε Enter.Το μενού Boot Manager του SysinstallΗ οθόνη βοήθειας, στην οποία έχετε πρόσβαση πιέζοντας το
F1, συζητά τα προβλήματα τα οποία ενδεχομένως θα
αντιμετωπίσετε όταν επιχειρήσετε να χρησιμοποιήσετε τον ίδιο δίσκο σε
περισσότερα από ένα λειτουργικά συστήματα.Δημιουργώντας Slices σε Ένα Άλλο ΔίσκοΑν υπάρχουν περισσότεροι από ένας δίσκοι, θα επιστρέψετε στην
οθόνη επιλογής δίσκων (Select Driver) αμέσως μετά την επιλογή του
διαχειριστή εκκίνησης. Αν θέλετε να εγκαταστήσετε το &os; σε
περισσότερους από ένα δίσκους, μπορείτε εδώ να επιλέξετε ένα άλλο
δίσκο και να επαναλάβετε την διαδικασία κατάτμησης με την χρήση του
FDisk.Αν εγκαθιστάτε το &os; σε οποιοδήποτε δίσκο εκτός από τον πρώτο
θα πρέπει να εγκαταστήσετε το διαχειριστή εκκίνησης του &os; και
στους δύο δίσκους.Έξοδος από την Επιλογή Δίσκων (Select Drive)Το πλήκτρο Tab εναλλάσσει μεταξύ του τελευταίου
επιλεγμένου δίσκου, του &gui.ok;, και του &gui.cancel;.Πιέστε μια φορά το Tab για να μεταφερθείτε στο
&gui.ok;, πιέστε Enter για να συνεχίσετε την
εγκατάσταση.Δημιουργώντας Κατατμήσεις (Partitions) με Χρήση του
DisklabelΠρέπει τώρα να δημιουργήσετε κατατμήσεις μέσα σε κάθε slice που
δημιουργήσατε. Θυμηθείτε ότι οι κατατμήσεις χαρακτηρίζονται από
γράμματα από a ως h, και ότι
οι κατατμήσεις b, c, και
d έχουν τυποποιημένη σημασία την οποία πρέπει να
ακολουθήσετε.Κάποιες εφαρμογές μπορεί να ωφεληθούν από συγκεκριμένο τρόπο
κατάτμησης, ειδικά αν πρόκειται να δημιουργήσετε κατατμήσεις σε
περισσότερους από ένα δίσκους. Ωστόσο, για αυτή την πρώτη σας
εγκατάσταση του &os; δεν χρειάζεται να είστε τόσο σχολαστικοί στην
κατάτμηση του δίσκου σας. Είναι πιο σημαντικό να εγκαταστήσετε το
&os; και να μάθετε να το χρησιμοποιείτε. Μπορείτε πάντα να
επανεγκαταστήσετε το &os; αλλάζοντας τον τρόπο κατάτμησης, όταν πλέον
θα είστε πιο εξοικειωμένος με το λειτουργικό σύστημα.Ο τρόπος αυτός χρησιμοποιεί τέσσερις κατατμήσεις—μια για
χώρο swap, και τρεις για συστήματα αρχείων.
Διάταξη Κατατμήσεων για τον Πρώτο ΔίσκοΚατάτμησηΣύστημα ΑρχείωνΜέγεθοςΠεριγραφήa/512 MBΠρόκειται για το root σύστημα αρχείων (root filesystem).
Όλα τα άλλα συστήματα αρχείων προσαρτώνται σε κάποιο σημείο
κάτω από αυτό. Τα 512 MB θεωρούνται μια φυσιολογική τιμή
για αυτό το σύστημα αρχείων. Δεν πρόκειται να βάλετε
ιδιαίτερα δεδομένα σε αυτό, καθώς μια συνηθισμένη εγκατάσταση
&os; θα βάλει εδώ περίπου 128 MB δεδομένων. Ο χώρος που
απομένει προορίζεται για προσωρινά δεδομένα, και επίσης
αφήνει χώρο επέκτασης στην περίπτωση που οι μελλοντικές
εκδόσεις του &os; απαιτούν περισσότερο χώρο στο
/.bN/A2-3 x RAMΣε αυτή την κατάτμηση βρίσκεται ο χώρος swap του
συστήματος. Η επιλογή σωστού μεγέθους swap μπορεί να
θεωρηθεί ένα είδος τέχνης. Ένας καλός γενικός κανόνας είναι
ο χώρος αυτός να είναι δύο ως τρεις φορές το μέγεθος της
διαθέσιμης φυσικής μνήμης (RAM).
Επίσης θα πρέπει να έχετε τουλάχιστον 64 MB swap, έτσι
αν έχετε λιγότερα από 32 MB RAM στον υπολογιστή σας,
ορίστε το swap στα 64 MB.
Αν έχετε περισσότερους από ένα δίσκους μπορείτε να
ορίσετε χώρο swap σε κάθε δίσκο. Το &os; θα χρησιμοποιεί
τότε κάθε δίσκο για swap, το οποίο επιταχύνει τη
διαδικασία. Στην περίπτωση αυτή, υπολογίστε το συνολικό
μέγεθος του swap που χρειάζεστε (π.χ. 128 MB) και
μοιράστε το με το πλήθος των δίσκων που έχετε (π.χ., δύο
δίσκοι) για να βρείτε το μέγεθος του swap που θα
δημιουργήσετε σε κάθε δίσκο, σε αυτό το παράδειγμα,
64 MB ανά δίσκο.e/var256 ως 1024 MBΟ κατάλογος /var περιέχει αρχεία τα
οποία συνεχώς μεταβάλλονται, όπως αρχεία καταγραφής (log
files) και άλλα αρχεία που έχουν να κάνουν με διαχειριστικές
εργασίες. Πολλά από τα αρχεία αυτά διαβάζονται και γράφονται
συνέχεια κατά την καθημερινή χρήση του &os;. Η τοποθέτηση των
αρχείων αυτών σε χωριστό σύστημα αρχείων επιτρέπει στο &os;
να βελτιστοποιεί την πρόσβαση σε αυτά χωρίς να επηρεάζονται
αρχεία σε άλλους καταλόγους που δεν έχουν παρόμοια συχνή
πρόσβαση.f/usrΥπόλοιπος Χώρος Δίσκου (τουλάχιστον 2 GB)Όλα τα υπόλοιπα αρχεία σας θα είναι τυπικά αποθηκευμένα
στο /usr και τους υποκαταλόγους του.
Οι παραπάνω τιμές δίνονται μόνο ως υποδείγματα και προορίζονται
για εγκαταστάσεις από προχωρημένους χρήστες. Σας συνιστούμε να
χρησιμοποιήσετε τη δυνατότητα αυτόματης κατάτμησης, η οποία
αναφέρεται ως Auto Defaults στον επεξεργαστή
κατατμήσεων του &os;.Αν πρόκειται να εγκαταστήσετε το &os; σε περισσότερους από ένα
δίσκους, θα πρέπει να δημιουργήσετε κατατμήσεις και στα άλλα slices
που έχετε δημιουργήσει. Ο ευκολότερος τρόπος είναι να δημιουργήσετε
δύο κατατμήσεις σε κάθε δίσκο, μια για το swap, και μια για ένα
σύστημα αρχείων.
Διάταξη Κατατμήσεων για τους Υπόλοιπους ΔίσκουςΚατάτμησηΣύστημα ΑρχείωνΜέγεθοςΠεριγραφήbN/AΔείτε την περιγραφήΌπως έχει ήδη συζητηθεί, μπορείτε να χωρίσετε το χώρο
swap ανάμεσα σε πολλούς δίσκους. Αν και η κατάτμηση
a είναι ελεύθερη, η σύμβαση επιβάλλει τη
χρήση της κατάτμησης b για το χώρο
swap.e/disknΥπόλοιπο Τμήμα του ΔίσκουΤο υπόλοιπο κομμάτι του δίσκου καταλαμβάνεται από μια
μεγάλη κατάτμηση. Μπορείτε εύκολα να την βάλετε στην
κατάτμηση a αντί για την
e. Ωστόσο, η σύμβαση ορίζει ότι η
κατάτμηση a σε ένα slice δεσμεύεται για το
σύστημα αρχείων root (/). Δεν είστε
υποχρεωμένοι να ακολουθήσετε αυτή τη σύμβαση, αλλά το
sysinstall την ακολουθεί, οπότε
αν την ακολουθήσετε και εσείς η εγκατάσταση θα είναι πιο
καθαρή. Μπορείτε να προσαρτήσετε αυτό το σύστημα αρχείων όπου
θέλετε. Στο παράδειγμα μας, η προσάρτηση γίνεται στους
καταλόγους /diskn, όπου το n είναι ένας
αριθμός που αλλάζει για κάθε δίσκο. Αλλά μπορείτε, αν
προτιμάτε, να ορίσετε δική σας διάταξη.
Έχοντας αποφασίσει την διάταξη των κατατμήσεων σας, μπορείτε τώρα
να την δημιουργήσετε χρησιμοποιώντας το
sysinstall. Θα δείτε το παρακάτω
μήνυμα: Message
Now, you need to create BSD partitions inside of the fdisk
partition(s) just created. If you have a reasonable amount of disk
space (200MB or more) and don't have any special requirements, simply
use the (A)uto command to allocate space automatically. If you have
more specific needs or just don't care for the layout chosen by
(A)uto, press F1 for more information on manual layout.
[ OK ]
[ Press enter or space ]Πιέστε Enter για να ξεκινήσετε τον επεξεργαστή
κατατμήσεων του &os;, που ονομάζεται
Disklabel.Το δείχνει την οθόνη όταν
ξεκινήσετε για πρώτη φορά το Disklabel. Η
οθόνη χωρίζεται σε τρία τμήματα.Οι πρώτες γραμμές δείχνουν το όνομα του δίσκου στον οποίο
δουλεύετε, και το slice που περιέχει τις κατατμήσεις που δημιουργείτε
(στο σημείο αυτό το Disklabel τις ονομάζει
Partition name αντί για το όνομα του slice).
Η οθόνη επίσης δείχνει την ποσότητα ελεύθερου χώρου μέσα στο slice,
δηλ. το χώρο που έχει κρατηθεί μέσα στο slice αλλά δεν έχει αποδοθεί
ακόμα σε κάποια κατάτμηση.Το μέσο της οθόνης δείχνει τις κατατμήσεις που έχουν δημιουργηθεί,
το όνομα του συστήματος αρχείων που περιέχει κάθε κατάτμηση, το
μέγεθος τους, και κάποιες επιλογές που σχετίζονται με τη δημιουργία
του συστήματος αρχείων.Το κάτω μέρος της οθόνης δείχνει τα πλήκτρα που μπορείτε να
χρησιμοποιήσετε στο Disklabel.Επεξεργαστής Disklabel του SysinstallΤο Disklabel μπορεί να δημιουργήσει
αυτόματα κατατμήσεις για εσάς, και να τους αποδώσει προεπιλεγμένες
τιμές. Οι προεπιλεγμένες τιμές υπολογίζονται με την βοήθεια ενός
ενσωματωμένου αλγορίθμου καθορισμού μεγεθών, ο οποίος αποφασίζει με
βάση το μέγεθος του δίσκου.
Δοκιμάστε το τώρα πιέζοντας το A. Θα
δείτε μια οθόνη όμοια με αυτήν στο .
Ανάλογα με το μέγεθος του δίσκου που χρησιμοποιείτε, οι προεπιλεγμένες
τιμές μπορεί να είναι ή και να μην είναι κατάλληλες. Αυτό δεν έχει
σημασία, γιατί δεν χρειάζεται να τις αποδεχθείτε.Ο προεπιλεγμένος τρόπος κατάτμησης αποδίδει στον κατάλογο
/tmp την δική του κατάτμηση αντί να τον
καθιστά μέρος της κατάτμησης /. Αυτό βοηθάει
στην αποφυγή πλήρωσης της κατάτμησης / με
προσωρινά αρχεία.Ο Επεξεργαστής Κατατμήσεων Disklabel του Sysinstall με τις
Αυτόματες ΠροεπιλογέςΑν επιλέξετε να μη χρησιμοποιήσετε τις προεπιλεγμένες κατατμήσεις
και θέλετε να τις αντικαταστήσετε με τις δικές σας, χρησιμοποιήστε τα
βελάκια για να επιλέξετε την πρώτη κατάτμηση και πιέστε
D για να τη σβήσετε. Επαναλάβετε για να σβήσετε όλες
τις προτεινόμενες κατατμήσεις.Για να δημιουργήσετε την πρώτη κατάτμηση (a, (η
οποία προσαρτάται ως / — root), βεβαιωθείτε
ότι έχετε επιλέξει το σωστό slice στο πάνω μέρος της οθόνης, και
πιέστε C. Θα εμφανιστεί ένα πλαίσιο διαλόγου για να
εισάγετε το μέγεθος της νέας κατάτμησης (όπως φαίνεται στο
). Μπορείτε να εισάγετε το
μέγεθος ως τον αριθμό μπλοκ του δίσκου που θέλετε να χρησιμοποιήσετε ή
ως αριθμό ακολουθούμενο από M για megabytes,
G για gigabytes, ή C για
κυλίνδρους.Ελεύθερος Χώρος για την Κατάτμηση RootΤο προεπιλεγμένο μέγεθος που φαίνεται θα δημιουργήσει μια
κατάτμηση που καταλαμβάνει όλο τον υπόλοιπο ελεύθερο χώρο του slice.
Αν χρησιμοποιείτε τα μεγέθη των κατατμήσεων που περιγράψαμε στο
προηγούμενο παράδειγμα, σβήστε τον αριθμό που φαίνεται με το
Backspace, και πληκτρολογήστε
512M, όπως φαίνεται στο
. Κατόπιν πιέστε
&gui.ok;.Επεξεργασία Μεγέθους της Κατάτμησης RootΈχοντας επιλέξει το μέγεθος της κατάτμησης, θα ερωτηθείτε κατόπιν
για το αν η κατάτμηση θα περιέχει κάποιο σύστημα αρχείων, ή θα γίνει
χώρος swap. Ο διάλογος αυτός φαίνεται στο
. Η πρώτη αυτή κατάτμηση θα
περιέχει σύστημα αρχείων, για αυτό ελέγξτε ότι είναι επιλεγμένο το
FS και πιέστε
Enter.Επιλέξτε τον Τύπο της Κατάτμησης RootΤέλος, επειδή δημιουργείτε σύστημα αρχείων, πρέπει να δηλώσετε στο
Disklabel που θέλετε να γίνει η προσάρτηση
του. Ο αντίστοιχος διάλογος φαίνεται στο
. Το σημείο προσάρτησης της
κατάτμησης root είναι το /, για αυτό γράψτε
/, και πιέστε Enter.Επιλέξτε το Σημείο Προσάρτησης του RootΗ οθόνη κατόπιν θα ανανεωθεί για να σας δείξει την κατάτμηση που
μόλις δημιουργήσατε. Θα πρέπει να επαναλάβετε αυτή την διαδικασία για
τις άλλες κατατμήσεις. Όταν δημιουργήσετε την κατάτμηση swap, δεν θα
σας ζητηθεί να επιλέξετε σημείο προσάρτησης, καθώς οι κατατμήσεις
swap δεν προσαρτώνται ποτέ. Όταν δημιουργήσετε την τελευταία
κατάτμηση, την /usr, μπορείτε να αφήσετε το
προτεινόμενο μέγεθος, για να χρησιμοποιήσετε όλο τον υπόλοιπο χώρο του
slice.Η τελευταία οθόνη του &os; Επεξεργαστή DiskLabel, θα δείχνει όμοια
με την , αν και οι δικές σας τιμές
θα είναι διαφορετικές. Πιέστε Q για τέλος.Ο Επεξεργαστής Disklabel του SysinstallΕπιλέγοντας τι θα ΕγκαταστήσετεΕπιλέξτε Distribution Set (Σετ Εγκατάστασης)Η απόφαση για το ποιο distribution set θα χρησιμοποιήσετε,
εξαρτάται κατά κύριο λόγο από το είδος χρήσης του μηχανήματος και
τον διαθέσιμο χώρο στο δίσκο. Οι προκαθορισμένες επιλογές κυμαίνονται
από την ελάχιστη δυνατή διαμόρφωση μέχρι την πλήρη. Όσοι είναι
καινούριοι στο &unix; ή / και &os; θα πρέπει σχεδόν σίγουρα να
επιλέξουν μια από τις τυποποιημένες επιλογές. Η διαμόρφωση
εξειδικευμένου distribution set συνίσταται συνήθως στον πιο έμπειρο
χρήστη.Πιέστε το F1 για περισσότερες πληροφορίες για τις
επιλογές κάθε distribution set καθώς και για τα περιεχόμενα τους.
Όταν τελειώσετε με την ανάγνωση της βοήθειας, με την πίεση του
Enter θα επιστρέψετε στο μενού
Select Distributions.Αν επιθυμείτε γραφικό περιβάλλον εργασίας, θα πρέπει να επιλέξετε
ένα distribution set το οποίο ξεκινάει με X. H
ρύθμιση του X server και η επιλογή γραφικού περιβάλλοντος (desktop)
πρέπει να γίνει μετά την εγκατάσταση του &os;. Περισσότερες
πληροφορίες σχετικά με την ρύθμιση του X server μπορείτε να δείτε στο
.Το &xorg; είναι η προεπιλεγμένη προς
εγκατάσταση έκδοση του X11.Αν αναμένετε ότι θα μεταγλωττίσετε δικό σας εξειδικευμένο πυρήνα,
διαλέξτε κάποια από τις επιλογές που περιέχουν τον πηγαίο κώδικα. Για
περισσότερες πληροφορίες σχετικά με το γιατί να μεταγλωττίσετε δικό
σας πυρήνα ή για το πως γίνεται, δείτε το
.Προφανώς το πιο ευέλικτο σύστημα είναι αυτό που τα περιέχει όλα.
Αν έχετε αρκετό χώρο στο δίσκο, επιλέξτε
All όπως φαίνεται στο
χρησιμοποιώντας τα βελάκια και
πιέστε Enter. Αν σας προβληματίζει ο διαθέσιμος
χώρος στο δίσκο, κάντε μια κατάλληλη επιλογή για την περίπτωση. Μην
προβληματίζεστε ιδιαίτερα σχετικά με την τέλεια επιλογή, καθώς
μπορείτε να εγκαταστήσετε πρόσθετα σετ και μετά το τέλος της βασικής
εγκατάστασης.Επιλέξτε Distributions (Σετ Εγκατάστασης)Εγκατάσταση της Συλλογής PortsΜετά την επιλογή του επιθυμητού distribution set, θα έχετε την
ευκαιρία να εγκαταστήσετε την συλλογή ports του &os;. Η συλλογή ports
είναι μια εύκολη και βολική μέθοδος για να εγκαταστήσετε λογισμικό. Η
συλλογή των ports δεν περιέχει τον πηγαίο κώδικα που απαιτείται για να
μεταγλωττίσετε το λογισμικό. Απλά είναι μια συλλογή αρχείων που
αυτοματοποιεί το κατέβασμα, τη μεταγλώττιση και την εγκατάσταση
πακέτων λογισμικού τρίτου κατασκευαστή. Το
περιγράφει πως να χρησιμοποιήσετε την συλλογή των ports.Το πρόγραμμα εγκατάστασης δεν ελέγχει αν υπάρχει αρκετός ελεύθερος
χώρος. Κάντε την επιλογή αυτή μόνο αν υπάρχει αρκετός χώρος. Από την
έκδοση του &os; &rel.current;, η συλλογή ports του &os; καταλαμβάνει
περίπου &ports.size; χώρο στο δίσκο. Μπορείτε με ασφάλεια να
θεωρήσετε ότι ο χώρος αυτός θα είναι μεγαλύτερος για πιο καινούριες
εκδόσεις του &os;. User Confirmation Requested
Would you like to install the FreeBSD ports collection?
This will give you ready access to over &os.numports; ported software packages,
at a cost of around &ports.size; of disk space when "clean" and possibly much
more than that if a lot of the distribution tarballs are loaded
(unless you have the extra CDs from a FreeBSD CD/DVD distribution
available and can mount it on /cdrom, in which case this is far less
of a problem).
The Ports Collection is a very valuable resource and well worth having
on your /usr partition, so it is advisable to say Yes to this option.
For more information on the Ports Collection & the latest ports,
visit:
http://www.FreeBSD.org/ports
[ Yes ] NoΕπιλέξτε &gui.yes; με τα βελάκια για να εγκαταστήσετε τη συλλογή
των ports ή &gui.no; για να την παραλείψετε. Πιέστε
Enter για να συνεχίσετε. Θα εμφανιστεί ξανά το μενού
Choose Distributions (επιλογής Σετ Εγκατάστασης).Επιβεβαίωση Distribution SetΑν είστε ικανοποιημένοι από τις επιλογές σας, επιλέξτε
Exit με τα βελάκια, επιβεβαιώστε ότι είναι
φωτισμένη η επιλογή &gui.ok; και πιέστε Enter για να
συνεχίσετε.Επιλέγοντας το Μέσο ΕγκατάστασηςΑν εγκαθιστάτε από CDROM ή DVD, χρησιμοποιήστε τα βελάκια για να
φωτίσετε την επιλογή
Install from a FreeBSD CD/DVD. Βεβαιωθείτε
ότι είναι φωτισμένη η επιλογή &gui.ok; και πιέστε
Enter για να προχωρήσετε με την εγκατάσταση.Για άλλες μεθόδους εγκατάστασης, κάντε την κατάλληλη επιλογή και
ακολουθήστε τις οδηγίες.Πιέστε το F1 για να δείτε την ενσωματωμένη βοήθεια
για τα μέσα εγκατάστασης. Πιέστε Enter για να
επιστρέψετε στο μενού επιλογής μέσου εγκατάστασης.Επιλέξτε Μέσο Εγκατάστασης (Installation Media)Τρόποι Εγκατάστασης μέσω FTPinstallationnetworkFTPΥπάρχουν τρεις μέθοδοι εγκατάστασης μέσω FTP για να επιλέξετε:
ενεργό (Active) FTP, παθητικό (Passive) FTP, ή μέσω διακομιστή
μεσολάβησης (proxy) HTTP.Ενεργό FTP: Install from an FTP
serverΜε την επιλογή αυτή οι μεταφορές γίνονται μέσω
Ενεργού (Active) FTP. Η επιλογή αυτή δεν θα
λειτουργήσει μέσω firewalls αλλά συχνά λειτουργεί με παλιότερους
διακομιστές FTP που δεν υποστηρίζουν παθητική μεταφορά. Αν η
σύνδεση σας κολλήσει με παθητικό FTP (το οποίο είναι η
προεπιλογή), δοκιμάστε το ενεργό!Παθητικό FTP: Install from an FTP server
through a firewallFTPpassive modeH επιλογή αυτή οδηγεί το
sysinstall να χρησιμοποιήσει
Παθητική (Passive) μεταφορά για όλες τις FTP
λειτουργίες. Αυτό επιτρέπει στο χρήστη να περνάει μέσω
firewalls τα οποία δεν επιτρέπουν εισερχόμενες συνδέσεις σε
τυχαίες TCP πόρτες.FTP μέσω HTTP μεσολάβησης:
Install from an FTP server
through a http proxyFTPvia a HTTP proxyΗ επιλογή αυτή οδηγεί το
sysinstall στη χρήση HTTP
πρωτοκόλλου (όπως οι φυλλομετρητές) για να συνδεθεί με ένα
διακομιστή μεσολάβησης για όλες τις λειτουργίες του FTP. Ο
διακομιστής μεσολάβησης αναλαμβάνει να μεταφράσει όλες τις
εντολές και να τις στείλει στον διακομιστή FTP. Αυτό επιτρέπει
στο χρήστη να περάσει μέσω firewalls που δεν επιτρέπουν
καθόλου FTP, αλλά προσφέρουν λειτουργία διαμεσολάβησης μέσω
HTTP. Στην περίπτωση αυτή πρέπει να ορίσετε εκτός από τον
διακομιστή FTP, και το διακομιστή μεσολάβησης.Για διακομιστή μεσολάβησης FTP server, πρέπει συνήθως να δώσετε
το όνομα του διακομιστή με τον οποίο θέλετε στην πραγματικότητα να
συνδεθείτε, ως μέρος του username, μετά από το σύμβολο
@. Ο διακομιστής μεσολάβησης μιμείται
τότε τον πραγματικό διακομιστή. Για παράδειγμα, υποθέστε ότι θέλετε
να κάνετε εγκατάσταση από το
ftp.FreeBSD.org, χρησιμοποιώντας FTP
μεσολαβητή τον foo.example.com, ο οποίος
χρησιμοποιεί την πόρτα 1234.Στην περίπτωση αυτή, πηγαίνετε στο μενού επιλογών (options),
θέτετε ως FTP username το ftp@ftp.FreeBSD.org,
και ως κωδικό (password) την διεύθυνση email σας. Σαν μέσο
εγκατάστασης (installation media) ορίζετε FTP (ή παθητικό FTP αν το
υποστηρίζει ο μεσολαβητής) και το URL
ftp://foo.example.com:1234/pub/FreeBSD.Καθώς το /pub/FreeBSD από
ftp.FreeBSD.org γίνεται ορατό μέσω του
foo.example.com, μπορείτε να
εγκαταστήσετε από εκείνο το μηχάνημα (το οποίο θα
φέρει τα αρχεία από το ftp.FreeBSD.org
όπως απαιτούνται από την εγκατάσταση σας.Επιβεβαίωση της ΕγκατάστασηςΗ εγκατάσταση μπορεί τώρα να προχωρήσει, εφόσον το επιθυμείτε. Αυτή
είναι επίσης η τελευταία σας ευκαιρία να την ακυρώσετε εμποδίζοντας
έτσι και τις αλλαγές που πρόκειται να γίνουν στο σκληρό σας
δίσκο. User Confirmation Requested
Last Chance! Are you SURE you want to continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!
[ Yes ] NoΕπιλέξτε &gui.yes; και πιέστε Enter για να
προχωρήσετε.Ο χρόνος εγκατάστασης διαφέρει ανάλογα με το distribution set
που έχετε επιλέξει, το μέσο εγκατάστασης, και την ταχύτητα του
υπολογιστή σας. Θα δείτε μια σειρά από μηνύματα τα οποία δείχνουν την
κατάσταση της εγκατάστασης.Η εγκατάσταση θα έχει ολοκληρωθεί όταν δείτε το ακόλουθο
μήνυμα: Message
Congratulations! You now have FreeBSD installed on your system.
We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.
If you wish to re-enter this utility after the system is up, you may
do so by typing: /usr/sbin/sysinstall.
[ OK ]
[ Press enter or space ]ΠιέστεEnter για να προχωρήσετε με τις ρυθμίσεις
μετά την εγκατάσταση.Αν επιλέξετε &gui.no; και πιέσετε Enter θα
ακυρώσετε την εγκατάσταση και δεν θα γίνει καμιά αλλαγή στο σύστημα
σας. Θα εμφανιστεί το ακόλουθο μήνυμα: Message
Installation complete with some errors. You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.
[ OK ]Το μήνυμα αυτό εμφανίζεται επειδή δεν έγινε καμιά εγκατάσταση.
Πιέζοντας Enter θα επιστρέψετε στο Κυρίως Μενού
Εγκατάστασης (Main Installation Menu) για να βγείτε από την
εγκατάσταση.Μετά την ΕγκατάστασηΜετά από μια επιτυχημένη εγκατάσταση, ακολουθεί η ρύθμιση διάφορων
προαιρετικών επιλογών. Οι ρυθμίσεις μπορούν να γίνουν αν εισέλθετε
ξανά στο αντίστοιχο μενού (configuration options) πριν επανεκκινήσετε
το νέο &os; σύστημα σας ή μετά την εγκατάσταση, χρησιμοποιώντας το
sysinstall και επιλέγοντας
Configure.Ρύθμιση Συσκευών ΔικτύουΑν έχετε ρυθμίσει προηγουμένως το PPP για να κάνετε εγκατάσταση
μέσω FTP, η οθόνη αυτή δεν θα εμφανιστεί, αλλά μπορείτε να την
ρυθμίσετε αργότερα με τον τρόπο που περιγράψαμε παραπάνω.Για λεπτομερείς πληροφορίες σχετικά με Τοπικά Δίκτυα (LAN) και
για ρύθμιση του &os; ως πύλη / δρομολογητή (gateway/router), ανατρέξτε
στο κεφάλαιο
Advanced Networking. User Confirmation Requested
Would you like to configure any Ethernet or SLIP/PPP network devices?
[ Yes ] NoΓια να ρυθμίσετε μια συσκευή δικτύου, επιλέξτε
&gui.yes; και πιέστε Enter.
Διαφορετικά, επιλέξτε &gui.no; για να συνεχίσετε.Επιλέγοντας μια Συσκευή EthernetΕπιλέξτε το interface που θα ρυθμίσετε με τα βελάκια, και πιέστε
Enter. User Confirmation Requested
Do you want to try IPv6 configuration of the interface?
Yes [ No ]Στο συγκεκριμένο ιδιωτικό τοπικό δίκτυο, το τρέχον Internet
πρωτόκολλο (IPv4) ήταν αρκετό. Επιλέξαμε το
&gui.no; με τα βελάκια και πιέσαμε Enter.Αν είστε συνδεμένοι σε ένα υπάρχον IPv6 δίκτυο
με ένα διακομιστή RA, επιλέξτε &gui.yes; και πιέστε
Enter. Θα χρειαστούν αρκετά δευτερόλεπτα για την
ανίχνευση διακομιστών RA. User Confirmation Requested
Do you want to try DHCP configuration of the interface?
Yes [ No ]Αν δεν χρειάζεστε DHCP (Πρωτόκολλο Δυναμικής Απόδοσης Ρυθμίσεων,
Dynamic Host Configuration Protocol) επιλέξτε &gui.no; με τα βελάκια
και πιέστε Enter.Αν επιλέξετε &gui.yes; θα εκτελεστεί η εφαρμογή
dhclient, και αν είναι επιτυχής, θα γίνει
αυτόματη ρύθμιση των παραμέτρων του δικτύου. Ανατρέξτε στο
για περισσότερες πληροφορίες.Η ακόλουθη οθόνη Ρυθμίσεων Δικτύου δείχνει τη ρύθμιση μιας
συσκευής Ethernet για ένα σύστημα το οποίο θα λειτουργεί ως πύλη για
ένα Τοπικό Δίκτυο (LAN).Ρύθμιση Παραμέτρων Συσκευής ed0Χρησιμοποιήστε το Tab για να επιλέξετε ανάμεσα
στα διάφορα πεδία και να συμπληρώσετε τις κατάλληλες
πληροφορίες.Host (Όνομα μηχανήματος)Το πλήρες όνομα του μηχανήματος, π.χ.
k6-2.example.com σε αυτή την
περίπτωση.Domain (Τομέας)Το όνομα του τομέα στον οποίο βρίσκεται το μηχάνημα, όπως
example.com σε αυτή την
περίπτωση.IPv4 Gateway (Πύλη)Πρόκειται για την διεύθυνση IP στην οποία προωθούνται τα
πακέτα τα οποία δεν προορίζονται για τοπικούς προορισμούς. Θα
πρέπει να συμπληρώσετε το πεδίο αυτό αν ο υπολογιστής είναι
κόμβος στο συγκεκριμένο δίκτυο.
Αφήστε αυτό το πεδίο κενό αν ο υπολογιστής
είναι η πύλη για το Internet στο συγκεκριμένο δίκτυο. Η πύλη
IPv4 είναι επίσης γνωστή ως προεπιλεγμένη πύλη ή προεπιλεγμένη
διαδρομή (default gateway / default route).Name server (Διακομιστής Ονομάτων)Είναι η IP διεύθυνση του τοπικού σας διακομιστή DNS. Στο
συγκεκριμένο ιδιωτικό τοπικό δίκτυο, δεν υπάρχει διακομιστής DNS
και έτσι χρησιμοποιήθηκε η IP διεύθυνση του διακομιστή DNS που
δίνει ο παροχέας Internet
(208.163.10.2).IPv4 address (Διεύθυνση)Η IP διεύθυνση που θα χρησιμοποιηθεί σε αυτό το
interface είναι
192.168.0.1Netmask (Μάσκα Υποδικτύου)Το μπλοκ διευθύνσεων που χρησιμοποιούνται σε αυτό το δίκτυο
είναι
192.168.0.0 -
192.168.0.255
με μάσκα υποδικτύου (netmask)
255.255.255.0.Extra options to ifconfig
(Επιπλέον επιλογές για την ifconfig)Προσθέστε εδώ επιπλέον επιλογές για την
ifconfig και το συγκεκριμένο interface. Στην
συγκεκριμένη περίπτωση δεν υπάρχει καμία.Χρησιμοποιήστε το Tab για να επιλέξετε &gui.ok;
όταν τελειώσετε, και πιέστε Enter. User Confirmation Requested
Would you like to Bring Up the ed0 interface right now?
[ Yes ] NoΕπιλέγοντας &gui.yes; και πιέζοντας
Enter θα ενεργοποιήσετε το δίκτυο, έτοιμο προς χρήση
στο μηχάνημα σας. Ωστόσο αυτό δεν επιτυγχάνει και πολλά κατά τη
διάρκεια της εγκατάστασης, ούτως ή άλλως θα χρειαστεί να κάνετε
επανεκκίνηση.Ρύθμισης Πύλης (Gateway) User Confirmation Requested
Do you want this machine to function as a network gateway?
[ Yes ] NoΑν το μηχάνημα πρόκειται να λειτουργεί ως πύλη για ένα τόπικο
δίκτυο και να προωθεί πακέτα μεταξύ άλλων μηχανημάτων, επιλέξτε
&gui.yes; και πιέστε Enter.
Αν το μηχάνημα είναι ένας κόμβος του δικτύου, επιλέξτε &gui.no; και
πιέστε Enter.Ρύθμιση Υπηρεσιών Internet (Internet Services) User Confirmation Requested
Do you want to configure inetd and the network services that it provides?
Yes [ No ]Αν επιλέξετε &gui.no;, κάποιες υπηρεσίες όπως το
telnetd δεν θα ενεργοποιηθούν.
Αυτό σημαίνει ότι απομακρυσμένοι χρήστες δεν θα μπορούν να
χρησιμοποιήσουν το telnet για να εισέλθουν
στο μηχάνημα. Οι τοπικοί χρήστες θα μπορούν ωστόσο να έχουν πρόσβαση
σε απομακρυσμένα μηχανήματα μέσω του
telnet.Οι υπηρεσίες αυτές μπορούν να ενεργοποιηθούν μετά την εγκατάσταση
με την επεξεργασία του αρχείου /etc/inetd.conf
με τον προτιμώμενο σας επεξεργαστή κειμένου.
Δείτε το για περισσότερες
πληροφορίες.Επιλέξτε &gui.yes; αν θέλετε να ρυθμίσετε τις υπηρεσίες αυτές
κατά την εγκατάσταση. Θα ερωτηθείτε για μια ακόμα επιβεβαίωση: User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd. Enabling
these services may increase risk of security problems by increasing
the exposure of your system.
With this in mind, do you wish to enable inetd?
[ Yes ] NoΕπιλέξτε &gui.yes; για να συνεχίσετε. User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available. The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled. Note that services for
IPv6 must be separately enabled from IPv4 services.
Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.
[ Yes ] NoΕπιλέγοντας &gui.yes; θα μπορέσετε να προσθέσετε υπηρεσίες
σβήνοντας το # από την αρχή μιας γραμμής.Επεξεργασία του inetd.confΜετά την προσθήκη των επιθυμητών υπηρεσιών, και με την πίεση του
Esc θα εμφανιστεί ένα μενού το οποίο σας επιτρέπει να
βγείτε από το πρόγραμμα, αποθηκεύοντας και τις αλλαγές σας.Ενεργοποίηση Εισόδου μέσω SSHSSHsshd User Confirmation Requested
Would you like to enable SSH login?
Yes [ No ]Αν επιλέξετε &gui.yes; θα ενεργοποιηθεί ο &man.sshd.8;,
ο δαίμονας του OpenSSH. Με τον τρόπο αυτό
θα επιτρέψετε ασφαλή απομακρυσμένη πρόσβαση στο μηχάνημα σας. Για
περισσότερες πληροφορίες σχετικά με το
OpenSSH δείτε το
.Ανώνυμο FTPFTPanonymous User Confirmation Requested
Do you want to have anonymous FTP access to this machine?
Yes [ No ]Άρνηση Ανώνυμου FTPΕπιλέγοντας το προεπιλεγμένο &gui.no; και πιέζοντας
Enter θα επιτρέπεται μόνος στους χρήστες που έχουν
λογαριασμούς με κωδικούς να έχουν FTP πρόσβαση στο μηχάνημα.Επιτρέποντας το Ανώνυμο FTPΟποιοσδήποτε μπορεί να έχει πρόσβαση στο μηχάνημα σας, αν
επιλέξετε να επιτρέψετε τις ανώνυμες συνδέσεις FTP. Θα πρέπει να
λάβετε υπόψιν σας τις επιπλοκές ασφαλείας που θα επιφέρει μια τέτοια
ρύθμιση. Για περισσότερες πληροφορίες σχετικά με την ασφάλεια,
δείτε το .Για να επιτρέψετε το ανώνυμο FTP, χρησιμοποιήστε τα βελάκια για
να επιλέξετε &gui.yes; και να πιέσετε Enter.
Θα χρειαστεί να επιβεβαιώσετε ξανά την επιλογή σας: User Confirmation Requested
Anonymous FTP permits un-authenticated users to connect to the system
FTP server, if FTP service is enabled. Anonymous users are
restricted to a specific subset of the file system, and the default
configuration provides a drop-box incoming directory to which uploads
are permitted. You must separately enable both inetd(8), and enable
ftpd(8) in inetd.conf(5) for FTP services to be available. If you
did not do so earlier, you will have the opportunity to enable inetd(8)
again later.
If you want the server to be read-only you should leave the upload
directory option empty and add the -r command-line option to ftpd(8)
in inetd.conf(5)
Do you wish to continue configuring anonymous FTP?
[ Yes ] NoΤο μήνυμα αυτό σας ειδοποιεί επίσης ότι η υπηρεσία FTP θα
πρέπει επίσης να ενεργοποιηθεί στο
/etc/inetd.conf σε περίπτωση που θέλετε να
ενεργοποιηθούν οι ανώνυμες συνδέσεις FTP (δείτε το
). Επιλέξτε &gui.yes; και πιέστε
Enter για να συνεχίσετε. Θα δείτε την ακόλουθη
οθόνη:Προεπιλεγμένες Ρυθμίσεις Ανώνυμου FTPΧρησιμοποιήστε το Tab για να επιλέξετε και να
συμπληρώσετε τα απαραίτητα πεδία πληροφοριών:UIDΟ αναγνωριστικός αριθμός (user ID) που θέλετε να
αποδώσετε στον ανώνυμο FTP χρήστη. Όλα τα αρχεία που θα
ανεβαίνουν στον διακομιστή FTP θα ανήκουν σε αυτό
το ID.GroupΣε ποια ομάδα χρηστών (group) θέλετε να ανήκει ο ανώνυμος
FTP χρήστης.CommentΚείμενο που περιέχει περιγραφή του χρήστη στο αρχείο
/etc/passwd.FTP Root DirectoryΗ τοποθεσία που περιέχει τα αρχεία που είναι διαθέσιμα
στο ανώνυμο FTP.Upload SubdirectoryΗ τοποθεσία που θα ανεβαίνουν τα αρχεία από ανώνυμους FTP
χρήστες.Ο ριζικός (root) κατάλογος του FTP, από προεπιλογή,
δημιουργείται στο /var. Αν δεν υπάρχει εκεί
αρκετός χώρος για την αναμενόμενη χρήση του FTP, μπορείτε να
χρησιμοποιήσετε τον κατάλογο /usr αλλάζοντας
τον ριζικό κατάλογο (FTP Root Directory) σε
/usr/ftp.Όταν είστε ικανοποιημένος με τις τιμές, πιέστε
Enter για να συνεχίσετε. User Confirmation Requested
Create a welcome message file for anonymous FTP users?
[ Yes ] NoΑν επιλέξετε &gui.yes; και πιέσετε
Enter, θα ξεκινήσει αυτόματα ένας επεξεργαστής
κειμένου ώστε να μπορέσετε να επεξεργαστείτε το μήνυμα.Επεξεργασία του Μηνύματος Καλοσωρίσματος (Welcome Message)
του FTPΠρόκειται για τον επεξεργαστή κειμένου ee.
Χρησιμοποιήστε τις οδηγίες για να αλλάξετε το μήνυμα ή αν θέλετε
αλλάξτε το μήνυμα αργότερα, χρησιμοποιώντας ένα επεξεργαστή κειμένου
της επιλογής σας. Δείτε το όνομα του αρχείου και τη θέση του στην
τελευταία γραμμή της οθόνης του επεξεργαστή κειμένου.Πιέζοντας Esc θα εμφανιστεί ένα αναδυόμενο
μενού με προεπιλεγμένη την επιλογή
a) leave editor. Πιέστε
Enter για έξοδο και συνέχεια. Πιέστε ξανά
Enter για να αποθηκεύσετε τυχόν αλλαγές που έχετε
κάνει.Ρύθμιση Συστήματος Αρχείων Δικτύου (Network File System)Το Σύστημα Αρχείων Δικτύου (NFS) επιτρέπει το διαμοιρασμό αρχείων
σε ένα δίκτυο. Ένα μηχάνημα μπορεί να ρυθμιστεί ως εξυπηρετητής,
πελάτης ή και τα δύο. Ανατρέξτε στο
για περισσότερες πληροφορίες.Διακομιστής NFS User Confirmation Requested
Do you want to configure this machine as an NFS server?
Yes [ No ]Αν δεν υπάρχει ανάγκη για εξυπηρετητή Συστήματος Αρχείων
Δικτύου, επιλέξτε &gui.no; και πιέστε
Enter.Αν επιλέξετε &gui.yes; θα εμφανιστεί ένα αναδυόμενο μήνυμα το
για να σας πληροφορήσει ότι πρέπει να δημιουργηθεί το αρχείο
exports. Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
[ OK ]Πιέστε Enter για να συνεχίσετε. Θα ανοίξει
ένας επεξεργαστής κειμένου για να μπορέσετε να δημιουργήσετε και να
επεξεργαστείτε το αρχείο exports.Επεξεργασία Αρχείου exportsΧρησιμοποιήστε τις οδηγίες για να προσθέσετε τα συστήματα
αρχείων που θέλετε να διαμοιράσετε, τώρα ή αργότερα χρησιμοποιώντας
ένα επεξεργαστή κειμένου της επιλογής σας. Σημειώστε το όνομα και
την τοποθεσία του αρχείου όπως φαίνονται στο κάτω μέρος
της οθόνης.Πιέζοντας Esc θα εμφανιστεί ένα αναδυόμενο
μενού με προεπιλεγμένη την επιλογή
a) leave editor. Πιέστε
Enter για έξοδο και συνέχεια.Πελάτης NFSΟ πελάτης NFS επιτρέπει στο μηχάνημα σας να έχει πρόσβαση σε
εξυπηρετητές NFS. User Confirmation Requested
Do you want to configure this machine as an NFS client?
Yes [ No ]Με τα βελάκια, επιλέξτε κατά βούληση &gui.yes; ή &gui.no; και
πιέστε Enter.Ρυθμίσεις Κονσόλας (System Console Settings)Υπάρχουν διάφορες διαθέσιμες επιλογές για τη ρύθμιση της κονσόλας
του συστήματος. User Confirmation Requested
Would you like to customize your system console settings?
[ Yes ] NoΓια να δείτε και να ρυθμίσετε τις επιλογές, επιλέξτε &gui.yes; και
πιέστε Enter.Επιλογές Ρύθμισης Κονσόλας ΣυστήματοςΜια συνηθισμένη επιλογή είναι η προστασία οθόνης (screen saver).
Χρησιμοποιήστε τα βελάκια για να επιλέξετε
Saver και πιέστε
Enter.Επιλογές Προστασίας ΟθόνηςΕπιλέξτε την επιθυμητή προστασία οθόνης με τα βελάκια, και πιέστε
Enter. Θα ξαναδείτε το μενού Ρύθμισης Κονσόλας
Συστήματος.Το προεπιλεγμένο χρονικό διάστημα είναι 300 δευτερόλεπτα. Για να
αλλάξετε το διάστημα, επιλέξτε ξανά Saver
και από το μενού Screen Saver Options επιλέξτε
Timeout με τα βελάκια, και πιέστε
Enter. Θα εμφανιστεί ένα αναδυόμενο μενού:Χρονικό Διάστημα Προστασίας ΟθόνηςΑλλάξτε την τιμή, επιλέξτε &gui.ok;
και πιέστε Enter για να επιστρέψετε στο μενού
Ρύθμισης Κονσόλας Συστήματος.Έξοδος από τις Ρυθμίσεις Κονσόλας ΣυστήματοςΕπιλέγοντας Exit και πιέζοντας
Enter θα συνεχίσετε με τις υπόλοιπες ρυθμίσεις που
πρέπει να γίνουν μετά την εγκατάσταση.Ρύθμιση Ζώνης Ώρας (Time Zone)Η σωστή ρύθμιση της ζώνης ώρας, θα επιτρέψει στο μηχάνημα σας να
διορθώνει αυτόματα την ώρα σύμφωνα με τις τοπικές ρυθμίσεις, καθώς και
να εκτελεί άλλες λειτουργίες που σχετίζονται με τις ζώνες ώρας.Το παράδειγμα που φαίνεται είναι για ένα μηχάνημα που βρίσκεται
στις Ανατολικές Ηνωμένες Πολιτείες. Οι επιλογές σας θα διαφέρουν
ανάλογα με τη γεωγραφική σας θέση. User Confirmation Requested
Would you like to set this machine's time zone now?
[ Yes ] NoΕπιλέξτε &gui.yes; και πιέστε
Enter για να ρυθμίσετε τη ζώνη ώρας. User Confirmation Requested
Is this machine's CMOS clock set to UTC? If it is set to local time
or you don't know, please choose NO here!
Yes [ No ]Επιλέξτε &gui.yes; ή &gui.no; ανάλογα με το πως είναι ρυθμισμένο
το ρολόι στο μηχάνημα σας και πιέστε Enter.Επιλογή της Περιοχής σαςΕπιλέξτε την κατάλληλη περιοχή (region) με τα βελάκια και πιέστε
Enter.Επιλογή της Χώρας σαςΕπιλέξτε την κατάλληλη χώρα χρησιμοποιώντας τα βελάκια και πιέστε
Enter.Επιλογή Ζώνης Ώρας (Time Zone)Επιλέξτε την κατάλληλη ζώνη ώρας με τα βελάκια και πιέστε
Enter. Confirmation
Does the abbreviation 'EDT' look reasonable?
[ Yes ] NoΕπιβεβαιώστε ότι είναι σωστή η συντομογραφία για τη ζώνη ώρας που
έχετε επιλέξει. Αν φαίνεται εντάξει, πιέστε Enter
για να συνεχίσετε με τις υπόλοιπες ρυθμίσεις μετά την
εγκατάσταση.Συμβατότητα με το Linux (Linux Compatibility) User Confirmation Requested
Would you like to enable Linux binary compatibility?
[ Yes ] NoΕπιλέγοντας &gui.yes; και πιέζοντας
Enter θα επιτρέψετε την εκτέλεση προγραμμάτων Linux
στο &os;. Η εγκατάσταση θα προσθέσει όλα τα απαραίτητα πακέτα
για τη συμβατότητα με εκτελέσιμα προγράμματα για Linux.Αν κάνετε εγκατάσταση μέσω FTP, το μηχάνημα θα πρέπει να είναι
συνδεμένο στο Internet. Μερικές φορές, μια τοποθεσία FTP δεν έχει
όλες τις απαιτούμενες διανομές, όπως τη συμβατότητα με το Linux.
Μπορείτε ωστόσο να την εγκαταστήσετε αργότερα, αν χρειάζεται.Ρυθμίσεις Ποντικιού (Mouse Settings)Η επιλογή αυτή θα σας επιτρέψει να κάνετε αποκοπή και επικόλληση
κειμένου στην κονσόλα και σε προγράμματα χρησιμοποιώντας ένα ποντίκι
τριών πλήκτρων. Αν χρησιμοποιείτε ποντίκι δύο πλήκτρων, ανατρέξτε στη
σελίδα βοήθειας, &man.moused.8;, μετά την εγκατάσταση για να δείτε πως
μπορείτε να εξομοιώσετε ποντίκι τριών πλήκτρων. Στο παράδειγμα αυτό
φαίνεται η ρύθμιση ενός μη-USB ποντικιού (π.χ. PS/2 η σειριακού - COM
- ποντικιού): User Confirmation Requested
Does this system have a non-USB mouse attached to it?
[ Yes ] No Επιλέξτε &gui.yes; για μη-USB ποντίκι, ή
&gui.no; για USB ποντίκι και πιέστε Enter.Επιλογή Πρωτοκόλλου Ποντικιού (Mouse Protocol Type)Χρησιμοποιήστε τα βελάκια για να επιλέξετε
Type και πιέστε
Enter.Επιλογή Πρωτοκόλλου Ποντικιού (Mouse Protocol)Το ποντίκι που χρησιμοποιείται σε αυτό το παράδειγμα, είναι τύπου
PS/2, και έτσι είναι σωστή η προεπιλεγμένη ρύθμιση
Auto. Για να αλλάξετε πρωτόκολλο,
χρησιμοποιήστε τα βελάκια για να κάνετε κάποια άλλη επιλογή.
Βεβαιωθείτε ότι είναι φωτισμένη η επιλογή &gui.ok; και πιέστε
Enter για έξοδο από αυτό το μενού.Ρύθμιση Πόρτας Ποντικιού (Mouse Port)Χρησιμοποιήστε τα βελάκια για να επιλέξετε
Port και πιέστε
Enter.Ρύθμιση Πόρτας Ποντικιού (Mouse Port)Το σύστημα αυτό είχε ποντίκι PS/2 και έτσι ήταν κατάλληλη η
προεπιλεγμένη ρύθμιση PS/2. Για να
αλλάξετε την πόρτα, χρησιμοποιήστε τα βελάκια και πιέστε
Enter.Ενεργοποίηση του Δαίμονα Ποντικιού (Mouse Daemon)Τέλος, χρησιμοποιήστε τα βελάκια για να επιλέξετε
Enable, και πιέστε
Enter για να ενεργοποιήσετε και να δοκιμάσετε τον
δαίμονα του ποντικιού (mouse daemon).Έλεγχος του Δαίμονα ΠοντικιούΜετακινήστε το ποντίκι στην οθόνη και βεβαιωθείτε ότι ο δρομέας
αντιδρά σωστά. Αν είναι εντάξει, επιλέξτε &gui.yes; και πιέστε
Enter. Αν όχι, το ποντίκι δεν έχει ρυθμιστεί σωστά
— επιλέξτε &gui.no; και ξαναδοκιμάστε χρησιμοποιώντας
διαφορετικές ρυθμίσεις.Επιλέξτε Exit με τα βελάκια και πιέστε
Enter για να επιστρέψετε, ώστε να συνεχίσετε με τις
υπόλοιπες ρυθμίσεις μετά την εγκατάσταση.Εγκατάσταση ΠακέτωνΤα πακέτα είναι προμεταγλωττισμένα εκτελέσιμα, και αποτελούν ένα
βολικό τρόπο για να εγκαταστήσετε λογισμικό.Θα σας δείξουμε την εγκατάσταση ενός πακέτου ως παράδειγμα.
Μπορείτε επίσης να εγκαταστήσετε τώρα και όποια άλλα πρόσθετα πακέτα
επιθυμείτε. Μετά την εγκατάσταση, μπορείτε να χρησιμοποιήσετε το
sysinstall για να εγκαταστήσετε πρόσθετα
πακέτα. User Confirmation Requested
The FreeBSD package collection is a collection of hundreds of
ready-to-run applications, from text editors to games to WEB servers
and more. Would you like to browse the collection now?
[ Yes ] NoΕπιλέγοντας &gui.yes; και πιέζοντας
Enter θα δείτε τις οθόνες επιλογής πακέτων:Επιλογή Κατηγορίας ΠακέτουΜπορείτε κάθε δεδομένη στιγμή να εγκαταστήσετε μόνο τα πακέτα που
είναι διαθέσιμα στο τρέχον μέσο εγκατάστασης.Με την επιλογή All θα δείτε όλα τα
διαθέσιμα πακέτα, ή μπορείτε να επιλέξετε συγκεκριμένη κατηγορία.
Φωτίστε την επιλογή σας με τα βελάκια και πιέστε
Enter.Θα εμφανιστεί ένα μενού το οποίο δείχνει όλα διαθέσιμα πακέτα για
την επιλογή που κάνατε:Επιλογή ΠακέτωνΤο κέλυφος (shell) bash φαίνεται
επιλεγμένο. Επιλέξτε όσα πακέτα επιθυμείτε, φωτίζοντας το πακέτο
και πιέζοντας το πλήκτρο Space. Θα δείτε μια σύντομη
περιγραφή για κάθε πακέτο στο κάτω αριστερό μέρος της οθόνης.Η πίεση του πλήκτρου Tab εναλλάσσει μεταξύ του
τελευταίου επιλεγμένου πακέτου, του &gui.ok;, και του
&gui.cancel;.Όταν έχετε τελειώσει με το μαρκάρισμα των πακέτων προς
εγκατάσταση, πιέστε μια φορά Tab για να
μετακινηθείτε στο &gui.ok; και πιέστε Enter για να
επιστρέψετε στο μενού Επιλογής Πακέτων (Package Selection).Το αριστερό και δεξί βελάκι εναλλάσσει επίσης μεταξύ του &gui.ok;
και του &gui.cancel;. Μπορείτε να χρησιμοποιήσετε αυτή τη μέθοδο για
να επιλέξετε &gui.ok; και πιέστε Enter για να
επιστρέψετε στο μενού Επιλογής Πακέτων.Εγκατάσταση ΠακέτωνΧρησιμοποιήστε το Tab και τα βελάκια για να
επιλέξετε [ Install ] και πιέστε
Enter. Θα χρειαστεί να επιβεβαιώσετε ότι θέλετε να
εγκαταστήσετε τα πακέτα:Επιβεβαίωση Εγκατάστασης ΠακέτωνΕπιλέγοντας &gui.ok; και πιέζοντας Enter θα
ξεκινήσει η εγκατάσταση πακέτων. Θα βλέπετε μηνύματα της εγκατάστασης
μέχρι την ολοκλήρωση της. Σημειώστε τυχόν μηνύματα λάθους που
εμφανίζονται.Η τελική ρύθμιση συνεχίζεται μετά την εγκατάσταση των πακέτων. Αν
καταλήξετε να μην εγκαταστήσετε κανένα πακέτο, και επιθυμείτε να
επιστρέψετε στην τελική ρύθμιση, επιλέξτε
Install ούτως ή άλλως.Προσθήκη Χρηστών / Ομάδων (Users/Groups)Θα πρέπει να προσθέσετε τουλάχιστον ένα χρήστη κατά τη διάρκεια
της εγκατάστασης, ώστε να μπορείτε να χρησιμοποιήσετε το σύστημα χωρίς
να εισέρχεστε ως root. Η root κατάτμηση είναι
γενικά μικρή, και εκτελώντας εφαρμογές ως root
μπορεί γρήγορα να γεμίσει. Παρακάτω φαίνεται και ένας πιο σοβαρός
κίνδυνος: User Confirmation Requested
Would you like to add any initial user accounts to the system? Adding
at least one account for yourself at this stage is suggested since
working as the "root" user is dangerous (it is easy to do things which
adversely affect the entire system).
[ Yes ] NoΕπιλέξτε &gui.yes; και πιέστε Enter για να
συνεχίσετε με την προσθήκη ενός χρήστη.Επιλογή ΧρήστηΕπιλέξτε User με τα βελάκια και πιέστε
Enter.Προσθήκη Πληροφοριών ΧρήστηΚαθώς θα εισάγετε τα στοιχεία πιέζοντας το Tab θα
εμφανίζονται οι παρακάτω περιγραφές στο κάτω μέρος της οθόνης για να
σας βοηθήσουν στην εισαγωγή των απαιτούμενων πληροφοριών:Login IDTo όνομα χρήστη (login name) για το νέο χρήστη
(υποχρεωτικό).UIDΟ αναγνωριστικός αριθμός (numerical ID) για αυτό τον χρήστη
(αφήστε τον κενό για αυτόματη επιλογή).GroupΤο όνομα της ομάδας (group name) για αυτό το χρήστη
(αφήστε τον κενό για αυτόματη επιλογή).PasswordΟ κωδικός (password) για αυτό το χρήστη (δώστε προσοχή στο
πεδίο αυτό!).Full nameΤο πλήρες όνομα του χρήστη (σχόλιο).Member groupsΟι υπόλοιπες ομάδες (groups) στις οποίες ανήκει αυτός ο
χρήστης (έχει δηλ. τα δικαιώματα τους).Home directoryΟ προσωπικός κατάλογος αρχείων (home directory) του χρήστη
(αφήστε κενό για την προεπιλεγμένη επιλογή).Login shellΤο προεπιλεγμένο κέλυφος (login shell) του χρήστη
(αφήστε κενό για την προεπιλογή, π.χ.
/bin/sh).Το κέλυφος εισόδου αλλάχτηκε από /bin/sh σε
/usr/local/bin/bash για να χρησιμοποιηθεί το
κέλυφος bash το οποίο εγκαταστήσαμε
προηγουμένως μέσω πακέτου. Μην προσπαθήσετε να χρησιμοποιήσετε κάποιο
κέλυφος που δεν υπάρχει, διαφορετικά δεν θα μπορείτε να κάνετε login.
Το πλέον συνηθισμένο κέλυφος στον κόσμο του BSD είναι το C shell, το
οποίο μπορείτε να γράψετε ως /bin/tcsh.Ο χρήστης προστέθηκε επίσης στην ομάδα
wheel για να έχει τη δυνατότητα να γίνει
υπερχρήστης (superuser) με δικαιώματα
root.Όταν είστε ικανοποιημένος από τις επιλογές σας, πιέστε &gui.ok;
και θα εμφανιστεί ξανά το μενού User and Group Management:Έξοδος από την Διαχείριση Χρηστών και ΟμάδωνΜπορείτε επίσης τη δεδομένη στιγμή να προσθέσετε ομάδες, αν
υπάρχει συγκεκριμένη ανάγκη. Διαφορετικά, μπορείτε να επανέλθετε στη
ρύθμιση αυτή μετά την εγκατάσταση, μέσω του
sysinstall.Όταν τελειώσετε με την προσθήκη χρηστών, επιλέξτε
Exit με τα βελάκια και πιέστε
Enter για να συνεχίσετε με την εγκατάσταση.Ορισμός του Κωδικού για το Χρήστη
root Message
Now you must set the system manager's password.
This is the password you'll use to log in as "root".
[ OK ]
[ Press enter to continue ]Πιέστε Enter για να ορίσετε τον κωδικό για το
χρήστη root.Θα πρέπει να πληκτρολογήσετε δύο φορές τον κωδικό σωστά. Δεν
χρειάζεται να πούμε ότι πρέπει να έχετε τρόπο να βρείτε τον κωδικό
αν τον ξεχάσετε. Παρατηρήστε ότι ο κωδικός δεν εμφανίζεται καθώς τον
πληκτρολογείτε, ούτε και εμφανίζονται αστεράκια στη θέση του.Changing local password for root.
New password :
Retype new password :Η εγκατάσταση θα συνεχιστεί μετά την επιτυχημένη εισαγωγή του
κωδικού.Έξοδος από την ΕγκατάστασηΑν χρειάζεται να ρυθμίσετε πρόσθετες δικτυακές υπηρεσίες, ή κάποια
άλλη ρύθμιση, μπορείτε να το κάνετε τώρα ή μετά την εγκατάσταση με τη
χρήση της εντολής sysinstall. User Confirmation Requested
Visit the general configuration menu for a chance to set any last
options?
Yes [ No ]Επιλέξτε &gui.no; με τα βελάκια και πιέστε
Enter για να επιστρέψετε στο Κυρίως Μενού
Εγκατάστασης (Main Installation Menu).Έξοδος από την ΕγκατάστασηΕπιλέξτε [X Exit Install] με τα βελάκια και
πιέστε Enter. Θα κληθείτε να επιβεβαιώσετε την έξοδο
από την εγκατάσταση: User Confirmation Requested
Are you sure you wish to exit? The system will reboot (be sure to
remove any floppies from the drives).
[ Yes ] NoΕπιλέξτε &gui.yes; και αν έχετε ξεκινήσει από δισκέτα, βγάλτε την.
Ο οδηγός CDROM θα παραμείνει κλειδωμένος μέχρι να αρχίσει η
επανεκκίνηση του μηχανήματος. Κατόπιν ξεκλειδώνει, και μπορείτε
(γρήγορα) να βγάλετε το CD από τον οδηγό.Το σύστημα θα επανεκκινήσει, και προσέξτε για τυχόν μηνύματα
λάθους που θα εμφανιστούν.TomRhodesΣυνεισφορά από τον Ρύθμιση Πρόσθετων Υπηρεσιών ΔικτύουΗ ρύθμιση υπηρεσιών δικτύου μπορεί να είναι μια δύσκολη διαδικασία
για νέους χρήστες χωρίς εμπειρία στον αντίστοιχο τομέα. Η δικτύωση,
περιλαμβανομένου και του Internet, είναι κρίσιμη σε όλα τα μοντέρνα
λειτουργικά συστήματα, περιλαμβανομένου και του &os;. Για το λόγο
αυτό είναι χρήσιμο να έχετε κάποια κατανόηση των εκτεταμένων
ικανοτήτων δικτύωσης του &os;. Κάνοντας το αυτό κατά τη διάρκεια της
εγκατάστασης επιβεβαιώνεται η δυνατότητα των χρηστών να κατανοήσουν
τις διάφορες υπηρεσίες που τους παρέχονται.Οι δικτυακές υπηρεσίες είναι προγράμματα που δέχονται είσοδο από
οποιοδήποτε σημείο στο δίκτυο. Καταβάλλεται κάθε προσπάθεια για να
είναι σίγουρο ότι τα προγράμματα αυτά δεν θα κάνουν οτιδήποτε
επιζήμιο. Δυστυχώς οι προγραμματιστές δεν είναι
τέλειοι και κατά καιρούς έχουν εμφανιστεί περιπτώσεις που σφάλματα σε
δικτυακές υπηρεσίες έχουν γίνει αντικείμενα εκμετάλλευσης από
εισβολείς για την εκτέλεση κακόβουλων πράξεων. Είναι σημαντικό να μην
ενεργοποιήσετε καμιά δικτυακή υπηρεσία μέχρι να ανακαλύψετε ότι την
χρειάζεστε. Μπορείτε πάντα να την ενεργοποιήσετε αργότερα,
εκτελώντας ξανά την εφαρμογή sysinstall ή
χρησιμοποιώντας τις δυνατότητες που παρέχονται από το αρχείο
/etc/rc.conf.Με την επιλογή Networking θα δείτε ένα μενού
παρόμοιο με το παρακάτω:Ρύθμιση Δικτύου Upper-level (Ανωτέρου Επιπέδου)Η πρώτη επιλογή, Interfaces,
καλύφθηκε προηγουμένως κατά τη διάρκεια του
, και μπορείτε με ασφάλεια να την
αγνοήσετε.Επιλέγοντας AMD προστίθεται υποστήριξη
για το βοηθητικό πρόγραμμα αυτόματης προσάρτησης (automatic mount)
BSD. Αυτό χρησιμοποιείται συνήθως σε συνδυασμό με
το πρωτόκολλο NFS (δείτε παρακάτω) για την αυτόματη
προσάρτηση απομακρυσμένων συστημάτων αρχείων. Δεν απαιτείται εδώ
κάποια ιδιαίτερη ρύθμιση.Αμέσως μετά βρίσκεται η επιλογή
AMD Flags. Όταν την επιλέξετε θα
εμφανιστεί ένα αναδυόμενο μενού για να μπορέσετε να εισάγετε
συγκεκριμένες παραμέτρους (flags) για την υπηρεσία
AMD. Το μενού περιέχει ήδη ένα σύνολο από
προεπιλογές:-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.mapΗ επιλογή θέτει το προεπιλεγμένο σημείο
προσάρτησης (mount point) το οποίο εδώ καθορίζεται ως
/.amd_mnt. Η επιλογή
καθορίζει το προεπιλεγμένο αρχείο καταγραφής
log. Ωστόσο όταν χρησιμοποιείται το
syslogd όλες οι εργασίες καταγραφής στέλνονται στον
δαίμονα καταγραφής συστήματος (system log daemon). Ο κατάλογος
/host χρησιμοποιείται για την
προσάρτηση ενός διαμοιρασμένου συστήματος αρχείων από ένα
απομακρυσμένο κόμβο, ενώ ο κατάλογος
/net χρησιμοποιείται για την
προσάρτηση ενός διαμοιρασμένου συστήματος αρχείων από μια IP
διεύθυνση. Το αρχείο /etc/amd.map καθορίζει τις
προεπιλεγμένες επιλογές για τις προσαρτήσεις μέσω του
AMD.FTPanonymousΗ επιλογή Anon FTP επιτρέπει ανώνυμες
συνδέσεις FTP. Επιλέξτε την για να κάνετε το
μηχάνημα ανώνυμο εξυπηρετητή FTP. Θα πρέπει ωστόσο
να αντιλαμβάνεστε τις επιπλοκές στην ασφάλεια που προκαλεί η επιλογή
αυτή. Θα εμφανιστεί ένα ακόμα μενού για να σας εξηγήσει τις επιπλοκές
ασφαλείας καθώς και τις ρυθμίσεις σε βάθος.Το μενού ρυθμίσεων Gateway
θα ρυθμίσει το μηχάνημα σας να λειτουργεί ως πύλη όπως εξηγήσαμε
προηγουμένως. Από εδώ επίσης μπορείτε να καταργήσετε την επιλογή
Gateway αν την επιλέξατε κατά λάθος κατά
τη διάρκεια της διαδικασίας εγκατάστασης.Η επιλογή Inetd μπορεί να
χρησιμοποιηθεί για να ρυθμίσει ή να απενεργοποιήσει πλήρως το δαίμονα
&man.inetd.8; όπως εξηγήθηκε παραπάνω.Η επιλογή Mail χρησιμοποιείται για την
ρύθμιση του προεπιλεγμένου MTA ή Αντιπροσώπου
Μεταφοράς Ταχυδρομείου (Mail Transfer Agent) του συστήματος.
Με την επιλογή αυτή θα εμφανιστεί το παρακάτω μενού:Επιλογή Προεπιλεγμένου MTAΣτο σημείο αυτό σας δίνεται η δυνατότητα να επιλέξετε ποιο
MTA να εγκαταστήσετε και να ρυθμίσετε ως
προεπιλεγμένο Το MTA δεν είναι τίποτα περισσότερο
από τον διακομιστή ταχυδρομείου ο οποίος παραδίδει τα μηνύματα στους
χρήστες του συστήματος ή το Internet.Αν επιλέξετε Sendmail θα εγκαταστήσετε
την δημοφιλή εφαρμογή διακομιστή sendmail η
οποία είναι και η προεπιλεγμένη για το &os;. Με την επιλογή
Sendmail local θα ρυθμίσετε το
sendmail να είναι το προεπιλεγμένο
MTA, αλλά θα απενεργοποιηθεί η ικανότητα του να
λαμβάνει email από το Internet. Οι άλλες επιλογές εδώ,
Postfix και
Exim δρουν παρόμοια με το
Sendmail. Και οι δύο διανέμουν
email. Ωστόσο κάποιοι χρήστες προτιμούν αυτές τις εναλλακτικές λύσεις
MTA από το
sendmail.Μετά την επιλογή ενός MTA, ή αν αποφασίσετε να
μην επιλέξετε ένα MTA, θα εμφανιστεί το μενού ρύθμισης δικτύου, με την
επόμενη επιλογή που είναι
NFS client.Η επιλογή NFS client θα ρυθμίσει το
σύστημα σας να επικοινωνεί με ένα εξυπηρετητή μέσω
NFS. Ένας εξυπηρετητής NFS
καθιστά συστήματα αρχείων διαθέσιμα προς άλλα μηχανήματα μέσω του
δικτύου, χρησιμοποιώντας το πρωτόκολλο NFS.
Αν το μηχάνημα σας δεν διαθέτει σύνδεση τοπικού δικτύου, μπορείτε να
αφήσετε την λειτουργία αυτή αποεπιλεγμένη. Το σύστημα μπορεί να
χρειαστεί περισσότερες ρυθμίσεις αργότερα. Δείτε
για περισσότερες πληροφορίες ρύθμισης
του πελάτη και του διακομιστή.Κάτω από την επιλογή αυτή υπάρχει η αντίστοιχη
NFS server η οποία επιτρέπει να ρυθμίσετε
το σύστημα σας ως εξυπηρετητή NFS. Προστίθενται με
τον τρόπο αυτό οι απαραίτητες πληροφορίες για την εκκίνηση της
υπηρεσίας RPC (remote procedure call). Το
RPC χρησιμοποιείται για τον συντονισμό των
συνδέσεων μεταξύ των κόμβων και των προγραμμάτων.Στην επόμενη γραμμή βρίσκεται η επιλογή
Ntpdate η οποία χειρίζεται τον συγχρονισμό
ώρας. Όταν επιλεχθεί, εμφανίζεται ένα μενού όπως το παρακάτω:Ρύθμιση NtpdateΑπό το μενού αυτό, επιλέξτε τον διακομιστή που είναι πλησιέστερος
στην τοποθεσία σας. Επιλέγοντας τον πλησιέστερο, ο συγχρονισμός της
ώρας θα είναι πιο ακριβής, καθώς ένας απομακρυσμένος διακομιστής
θα έχει ενδεχομένως μεγαλύτερη καθυστέρηση στη σύνδεση.Η επόμενη επιλογή είναι το PCNFSD. Με αυτήν θα
εγκατασταθεί το πακέτο net/pcnfsd
από τη συλλογή Ports. Πρόκειται για ένα χρήσιμο βοηθητικό πρόγραμμα
το οποίο παρέχει υπηρεσίες πιστοποίησης (authentication) για το
NFS για συστήματα που δεν έχουν δυνατότητα να
παρέχουν τις δικές τους, όπως το λειτουργικό σύστημα &ms-dos; της
Microsoft.Τώρα θα πρέπει να μετακινηθείτε προς τα κάτω για να δείτε τις
άλλες επιλογές:Ρύθμιση Δικτύου Lower-level (Κατώτερου Επιπέδου)Τα προγράμματα &man.rpcbind.8;, &man.rpc.statd.8;, και
&man.rpc.lockd.8; χρησιμοποιούνται όλα για Remote Procedure
Calls (RPC).
Το πρόγραμμα rpcbind κατευθύνει την επικοινωνία
μεταξύ εξυπηρετητών και πελατών NFS και απαιτείται
για τη σωστή λειτουργία των εξυπηρετητών NFS.
Ο δαίμονας rpc.statd αλληλεπιδρά με το
δαίμονα rpc.statd άλλων μηχανημάτων για να
παρέχει πληροφορίες κατάστασης. Η κατάσταση που λαμβάνεται, συνήθως
φυλάσσεται στο αρχείο /var/db/statd.status. Η
επόμενη επιλογή που εμφανίζεται είναι το
rpc.lockd, το οποίο αν επιλεχθεί θα παρέχει
υπηρεσίες κλειδώματος αρχείων (file locking). Συνήθως χρησιμοποιείται
μαζί με το rpc.statd για να παρακολουθεί
ποια μηχανήματα ζητούν κλειδώματα και πόσο συχνά τα απαιτούν. Αν και
οι δυο τελευταίες επιλογές είναι θαυμάσιες για εκσφαλμάτωση και
αντιμετώπιση προβλημάτων, δεν απαιτούνται για τη σωστή λειτουργία
των διακομιστών και πελατών NFS.Καθώς προχωράμε τη λίστα προς τα κάτω, η επόμενη επιλογή είναι το
Routed, που είναι ο δαίμονας δρομολόγησης.
Το πρόγραμμα &man.routed.8; διαχειρίζεται τους πίνακες δρομολόγησης
του δικτύου, ανακαλύπτει δρομολογητές multicast και παρέχει, κατόπιν
απαίτησης, αντίγραφα του πίνακα δρομολόγησης σε κάθε συνδεμένο στο
δίκτυο κόμβο. Η χρήση του προορίζεται κυρίως για μηχανήματα τα οποία
δρουν ως πύλη (gateway) σε ένα τοπικό δίκτυο. Όταν το επιλέξετε, θα
εμφανιστεί ένα μενού το οποίο θα σας ζητήσει την προεπιλεγμένη
τοποθεσία για το πρόγραμμα. Είναι ήδη καθορισμένη για σας, και
μπορείτε να την επιλέξετε πιέζοντας το πλήκτρο
Enter. Θα εμφανιστεί τότε ακόμα ένα μενού, που θα
σας ζητά αυτή τη φορά τυχόν επιπλέον ρυθμίσεις (flags) που θέλετε να
περάσετε στην εφαρμογή routed. Η
προεπιλογή είναι το και πρέπει ήδη να φαίνεται
στην οθόνη σας.Στην επόμενη γραμμή βρίσκεται η επιλογή
Rwhod η οποία, όταν επιλεχθεί, θα ξεκινήσει
τον δαίμονα &man.rwhod.8; κατά την εκκίνηση του συστήματος. Η εντολή
rwhod εκπέμπει περιοδικά μηνύματα του συστήματος
στο δίκτυο, ή και τα συλλέγει όταν είναι σε κατάσταση
καταναλωτή (consumer). Μπορείτε να βρείτε περισσότερες
πληροφορίες στις σελίδες βοήθειας &man.ruptime.1; και
&man.rwho.1;.Η προτελευταία επιλογή στη λίστα είναι για το δαίμονα
&man.sshd.8;. Πρόκειται για τον εξυπηρετητή secure shell ή
OpenSSH ο οποίος συνίσταται ιδιαίτερα σε
σχέση με τους στάνταρ εξυπηρετητές telnet
και FTP. Ο εξυπηρετητής
sshd χρησιμοποιείται για την δημιουργία
ασφαλής σύνδεσης μεταξύ δύο μηχανημάτων, με τη χρήση κρυπτογραφημένων
συνδέσεων.Τέλος, υπάρχει η επιλογή
TCP Extensions. Αυτή επιτρέπει την χρήση
των Επεκτάσεων TCP που ορίζονται στα
RFC 1323 και RFC 1644.
Αν και σε πολλά μηχανήματα, η χρήση τους μπορεί να επιταχύνει τις
συνδέσεις, μπορεί επίσης να προκαλέσει και την κατάρρευση κάποιων από
αυτές. Δεν συνίσταται για εξυπηρετητές, μπορεί όμως να είναι χρήσιμη
σε ανεξάρτητα μηχανήματα.Τώρα που έχετε ρυθμίσει τις δικτυακές υπηρεσίες, μπορείτε να
μετακινηθείτε στο πρώτο στοιχείο της λίστας, το
Exit και να συνεχίσετε με το επόμενο τμήμα
ρυθμίσεων.Εκκίνηση του &os;Εκκίνηση &os;/&arch.i386;Αν όλα πήγαν καλά, θα δείτε μηνύματα να κυλούν στην οθόνη σας
μέχρι να φτάσετε στην προτροπή εισόδου (login prompt). Μπορείτε να
δείτε το περιεχόμενο των μηνυμάτων με την πίεση του πλήκτρου
Scroll-Lock και χρησιμοποιώντας τα πλήκτρα
PgUp και PgDn.
Πιέζοντας ξανά το Scroll-Lock θα επανέλθετε στην
προτροπή.Μπορεί να μην καταφέρετε να δείτε όλα τα μηνύματα (λόγω
περιορισμού της προσωρινής μνήμης buffer) αλλά μπορείτε να τα δείτε
μετά την είσοδο σας, με τη χρήση της εντολής
dmesg στη γραμμή εντολών.Κάντε login με τη χρήση του ονόματος χρήστη και κωδικού που
δημιουργήσατε κατά την εγκατάσταση (στο παράδειγμα μας,
rpratt). Αποφεύγετε να εισέρχεστε ως
root αν δεν είναι απαραίτητο.Τυπικά μηνύματα εκκίνησης (έχουν παραλειφθεί οι πληροφορίες
έκδοσης):Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
Timecounter "i8254" frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x580 Stepping = 0
Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
AMD Features=0x80000800<SYSCALL,3DNow!>
real memory = 268435456 (262144K bytes)
config> di sn0
config> di lnc0
config> di le0
config> di ie0
config> di fe0
config> di cs0
config> di bt0
config> di aic0
config> di aha0
config> di adv0
config> q
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
device 10.0 on pci0
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x1 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s1a
swapon: adding /dev/ad0s1b as swap device
Automatic boot in progress...
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname.
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
ether 52:54:05:de:73:1b
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:.
additional daemons: syslogd.
Doing additional network setup:.
Starting final network daemons: creating ssh RSA host key
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
creating ssh DSA host key
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:.
rc.i386 configuring syscons: blank_time screensaver moused.
Additional ABI support: linux.
Local package initialization:.
Additional TCP options:.
FreeBSD/i386 (k6-2.example.com) (ttyv0)
login: rpratt
Password:Η δημιουργία των κλειδιών RSA και DSA μπορεί να πάρει κάποιο
χρόνο σε αργά μηχανήματα. Αυτό συμβαίνει μόνο στην πρώτη εκκίνηση
ενός νέου συστήματος. Οι επόμενες εκκινήσεις θα είναι πιο
γρήγορες.Αν έχετε ρυθμίσει τον X server και έχετε επιλέξει
γραφικό περιβάλλον εργασίας, μπορείτε να το ξεκινήσετε δίνοντας την
εντολή startx στην γραμμή εντολών.Εκκίνηση &os;/&arch.alpha;AlphaΜε το τέλος της διαδικασίας εγκατάστασης, θα μπορέσετε να
ξεκινήσετε το &os; γράφοντας κάτι παρόμοιο με αυτό που φαίνεται
παρακάτω στην προτροπή SRM:>>>BOOT DKC0Με αυτές τις οδηγίες, το firmware ξεκινάει από τον επιλεγμένο
δίσκο. Για να κάνετε αυτόματη την εκκίνηση του &os; σε μελλοντικές
εκκινήσεις, δώστε αυτές τις εντολές:>>>SET BOOT_OSFLAGS A>>>SET BOOT_FILE ''>>>SET BOOTDEF_DEV DKC0>>>SET AUTO_ACTION BOOTΤα μηνύματα εκκίνησης θα είναι όμοια (αλλά όχι ολόιδια) με τα
αντίστοιχα μηνύματα του &os; στον &i386;.Τερματισμός του &os;Είναι πολύ σημαντικό να τερματίζετε σωστά το λειτουργικό σύστημα.
Μην σβήνετε απλώς τον υπολογιστή από το διακόπτη ρεύματος. Πρώτα από
όλα, γίνετε υπερχρήστης (superuser) χρησιμοποιώντας την εντολή
su στη γραμμή εντολών και δίνοντας τον κωδικό του
root. Αυτό μπορεί να γίνει μόνο αν ο χρήστης
ανήκει στην ομάδα wheel. Διαφορετικά, κάντε
κανονικά login σαν root και χρησιμοποιήστε την
εντολή shutdown -h now.The operating system has halted.
Please press any key to reboot.Είναι ασφαλές να διακόψετε την τροφοδοσία αφού δώσετε την εντολή
shutdown και δείτε το μήνυμα
Please press any key to reboot. Αν πιέσετε οποιοδήποτε
πλήκτρο αντί να διακόψετε την τροφοδοσία, το σύστημα θα
επανεκκινήσει.Μπορείτε επίσης να χρησιμοποιήσετε το συνδυασμό πλήκτρων
CtrlAltDel
για να επανεκκινήσετε το σύστημα, ωστόσο αυτό δεν συνίσταται κατά τη
διάρκεια της κανονικής λειτουργίας.Αντιμετώπιση ΠροβλημάτωνinstallationtroubleshootingΤο επόμενο τμήμα καλύπτει βασική αντιμετώπιση προβλημάτων κατά την
εγκατάσταση, με βάση συνηθισμένα προβλήματα που έχουν αναφερθεί από
χρήστες. Υπάρχουν επίσης μερικές ερωτήσεις και απαντήσεις για όσους
ενδιαφέρονται να δημιουργήσουν σύστημα dual-boot του &os; με το
&ms-dos;.Τι να Κάνετε αν Κάτι Πάει ΣτραβάΛόγω των διάφορων περιορισμών της αρχιτεκτονικής του PC, δεν είναι
δυνατόν η ανίχνευση συσκευών να είναι 100% αξιόπιστη, ωστόσο υπάρχουν
κάποια πράγματα που μπορείτε να κάνετε αν αποτύχει.Ελέγξτε το έγγραφο Σημειώσεων Υλικού
(Hardware Notes) για την έκδοση του &os; που έχετε, για να
σιγουρευτείτε ότι το υλικό σας υποστηρίζεται.Αν το υλικό σας υποστηρίζεται, αλλά πάλι αντιμετωπίζετε
κολλήματα ή άλλα προβλήματα, θα χρειαστεί να δημιουργήσετε εξειδικευμένο πυρήνα. Θα μπορέσετε με
τον τρόπο αυτό να προσθέσετε υποστήριξη για συσκευές που δεν υπάρχουν
στο πυρήνα GENERIC. Ο πυρήνας στις δισκέτες
εκκίνησης είναι ρυθμισμένος υποθέτοντας ότι οι περισσότερες
συσκευές υλικού είναι στις εργοστασιακές τους ρυθμίσεις, όσο αφορά τα
IRQs, τις διευθύνσεις IO και τα DMA κανάλια. Αν έχετε αλλάξει τις
ρυθμίσεις αυτές στο σύστημα σας, θα χρειαστεί κατά πάσα πιθανότητα, να
αλλάξετε το αρχείο ρυθμίσεων και να μεταγλωττίσετε ξανά τον πυρήνα
για να οδηγήσετε το &os; να τις βρει.Είναι επίσης πιθανόν η ανίχνευση για μια συσκευή που δεν υπάρχει,
να οδηγήσει σε αποτυχία μια μεταγενέστερη ανίχνευση για μια άλλη
συσκευή. Στην περίπτωση αυτή, θα πρέπει να απενεργοποιηθεί η
ανίχνευση για την συσκευή που δημιουργεί το πρόβλημα.Κάποια προβλήματα εγκατάστασης μπορεί να αποφευχθούν ή να
εξαλειφθούν αν ανανεώσετε το firmware σε διάφορες συσκευές υλικού,
και κατά κύριο λόγο της μητρικής. Το firmware της μητρικής
αναφέρεται επίσης ως BIOS και οι περισσότεροι
κατασκευαστές μητρικών ή υπολογιστών διαθέτουν δικτυακό τόπο στον
οποίο μπορείτε να βρείτε πληροφορίες για αναβαθμίσεις ή
ανανεώσεις.Οι περισσότεροι κατασκευαστές δεν συνιστούν την αναβάθμιση του
BIOS της μητρικής αν δε συντρέχει σοβαρός λόγος,
καθώς η αναβάθμιση μπορεί να είναι μια κρίσιμη διαδικασία. Η
διαδικασία αναβάθμισης μπορεί να πάει στραβά,
και να προκληθεί μόνιμη ζημιά στο κύκλωμα του
BIOS.Χρησιμοποιώντας Συστήματα Αρχείων &ms-dos; και &windows;Τη δεδομένη στιγμή, το &os; δεν υποστηρίζει συστήματα αρχείων που
είναι συμπιεσμένα με την εφαρμογή
Double Space™. Για το λόγο αυτό θα
πρέπει να τα αποσυμπιέσετε ώστε το &os; να έχει πρόσβαση στα δεδομένα.
Αυτό μπορεί να γίνει εκτελώντας την εφαρμογή
Compression Agent που βρίσκεται στο μενού
Start (Έναρξη)>
Programs (Προγράμματα) >
System Tools (Εργαλεία Συστήματος).Το &os; μπορεί να υποστηρίξει συστήματα αρχείων τύπου &ms-dos;
(ορισμένες φορές αναφέρονται και ως FAT). Η εντολή
&man.mount.msdosfs.8; μπορεί να προσαρτήσει αυτά τα συστήματα αρχείων
σε κάποιο ήδη υπάρχον κατάλογο, επιτρέποντας έτσι την πρόσβαση στα
περιεχόμενα τους. Δεν συνηθίζεται να γίνεται άμεσα κλήση του
προγράμματος &man.mount.msdosfs.8;. Συνήθως, καλείται από το σύστημα
μέσω μιας γραμμής στο αρχείο /etc/fstab ή με
κλήση του βοηθητικού προγράμματος &man.mount.8; με τις απαραίτητες
παραμέτρους. Μια τυπική ρύθμιση στο αρχείο
/etc/fstab είναι η παρακάτω:/dev/ad0sN /dos msdosfs rw 0 0Για να δουλέψει το παραπάνω, ο κατάλογος
/dos θα πρέπει να υπάρχει ήδη. Για λεπτομέρειες
σχετικά με τη μορφή των καταχωρήσεων στο αρχείο
/etc/fstab, δείτε τη σελίδα manual
&man.fstab.5;.Παρακάτω φαίνεται μια τυπική κλήση στην &man.mount.8; για την
προσάρτηση ενός συστήματος αρχείων &ms-dos;:&prompt.root; mount -t msdosfs /dev/ad0s1 /mntΣτο παράδειγμα αυτό, το σύστημα αρχείων του &ms-dos; είναι στην
πρώτη κατάτμηση του σκληρού δίσκου. Η δική σας περίπτωση μπορεί να
είναι διαφορετική, ελέγξτε το αποτέλεσμα των εντολών
dmesg και mount. Οι πληροφορίες
από αυτές τις εντολές πρέπει να είναι αρκετές για να πάρετε μια ιδέα
της διάταξης των κατατμήσεων.Το &os; ίσως να αριθμήσει τα slices του δίσκου (που στο
&ms-dos; καλούνται κατατμήσεις) διαφορετικά από άλλα λειτουργικά
συστήματα. Ειδικότερα, τα εκτεταμένα (extended) διαμερίσματα
&ms-dos; παίρνουν συνήθως μεγαλύτερη αρίθμηση από τα πρωτεύοντα
διαμερίσματα του &ms-dos;. Μπορείτε να χρησιμοποιήσετε το βοηθητικό
πρόγραμμα &man.fdisk.8; για να αναγνωρίσετε ποιες κατατμήσεις ανήκουν
στο &os;, και ποιες σε άλλα λειτουργικά συστήματα.Μπορείτε επίσης να προσαρτήσετε NTFS κατατμήσεις με παρόμοιο
τρόπο, με τη χρήση της εντολής &man.mount.ntfs.8;.Ερωτήσεις και Απαντήσεις Αντιμετώπισης ΠροβλημάτωνΤο σύστημα μου κρεμάει κατά την αναγνώριση υλικού στη
διάρκεια της εκκίνησης ή συμπεριφέρεται περίεργα κατά τη
διάρκεια της εγκατάστασης ή δεν ανιχνεύεται η μονάδα
δισκέτας.Στο &os; γίνεται εκτεταμένη χρήση του
ACPI (εφόσον ανιχνευθεί στην εκκίνηση) στις πλατφόρμες i386,
amd64 και ia64 για διευκόλυνσης της ρύθμισης υλικού. Δυστυχώς
υπάρχουν ακόμα κάποια προβλήματα τόσο στο πρόγραμμα οδήγησης
του ACPI όσο και στα BIOS και τις μητρικές. Μπορείτε να
απενεργοποιήσετε το ACPI, με την ρύθμιση
hint.acpi.0.disabled στο τρίτο στάδιο του
συστήματος εκκίνησης (boot loader):set hint.acpi.0.disabled="1"Η ρύθμιση αυτή χάνεται σε κάθε επανεκκίνηση, και έτσι είναι
απαραίτητο να προσθέσετε
hint.acpi.0.disabled="1" στο αρχείο
/boot/loader.conf. Περισσότερες
πληροφορίες για τον boot loader μπορείτε να βρείτε στο
.Κατάφερα να ξεκινήσω από το σκληρό δίσκο για πρώτη φορά
μετά την εγκατάσταση του &os;, ο πυρήνας φορτώνει και ανιχνεύει
το υλικό μου, αλλά σταματάει με μηνύματα όπως:changing root device to ad1s1a panic: cannot mount rootΤι είναι λάθος; Τι μπορώ να κάνω;Τι είναι το μήνυμα
bios_drive:interface(unit,partition)kernel_name
που εμφανίζεται στη βοήθεια της εκκίνησης;Υπάρχει από παλιά ένα πρόβλημα όταν ο σκληρός δίσκος από
τον οποίο γίνεται η εκκίνηση δεν είναι ο πρώτος δίσκος του
συστήματος. Το BIOS χρησιμοποιεί διαφορετικό σύστημα αρίθμησης
από το &os; και η εύρεση του σωστού αριθμού για κάθε συσκευή
είναι δύσκολη.Στην περίπτωση που ο δίσκος εκκίνησης δεν είναι ο πρώτος
δίσκος του συστήματος, το &os; μπορεί να χρειαστεί κάποια
βοήθεια για να τον βρει. Υπάρχουν δύο συνηθισμένες περιπτώσεις,
αλλά και στις δύο πρέπει να πείτε στο &os; που θα βρει το
ριζικό (root) σύστημα αρχείων. Αυτό γίνεται ορίζοντας τον
αριθμό του δίσκου σύμφωνα με το BIOS, τον τύπο του δίσκου, και
τον αριθμό του δίσκου στο &os; ανάλογα με τον τύπο του.Η πρώτη περίπτωση είναι αν έχετε δύο δίσκους IDE, καθένας
ορισμένος ως master στο αντίστοιχο IDE κανάλι, και θέλετε να
ξεκινήσετε το &os; από το δεύτερο δίσκο. Το BIOS τους βλέπει ως
δίσκους 0 και 1, ενώ το &os; τους βλέπει ως
ad0 και
ad2.Το &os; βρίσκεται στο δίσκο 1 του BIOS, τύπου
ad ενώ στο &os; φαίνεται ως δίσκος 2, άρα
πρέπει να δώσετε:1:ad(2,a)kernelΣημειώστε ότι αν έχετε δίσκο slave στο πρωτεύον κανάλι, το
παραπάνω δεν είναι απαραίτητο (και είναι ουσιαστικά
λάθος).Η δεύτερη περίπτωση περιλαμβάνει την εκκίνηση από δίσκο
SCSI, όταν έχετε επίσης ένα ή περισσότερους IDE δίσκους στο
σύστημα. Στην περίπτωση αυτή ο αριθμός του δίσκου στο &os;
είναι χαμηλότερος από τον αντίστοιχο του BIOS. Αν έχετε δύο
δίσκους IDE και το SCSI δίσκο, ο SCSI δίσκος φαίνεται στο BIOS
ως δίσκος 2, τύπου da και αναγνωρίζεται στο
&os; ως δίσκος 0, θα γράφατε:2:da(0,a)kernelΓια να πείτε στο &os; ότι θέλετε να εκκινήσετε από τον
δίσκο 2 του BIOS που είναι ο πρώτος SCSI δίσκος του συστήματος.
Αν είχατε ένα μόνο IDE δίσκο, θα χρησιμοποιούσατε το
1: αντί για 2:.Μόλις βρείτε τις σωστές τιμές, μπορείτε να βάλετε την
εντολή, ακριβώς όπως θα τη γράφατε, στο αρχείο
/boot.config χρησιμοποιώντας ένα
συνηθισμένο επεξεργαστή κειμένου. Αν δεν ορίσετε διαφορετικά,
το &os; θα χρησιμοποιεί τα περιεχόμενα του αρχείου αυτού ως
προεπιλογή στην προτροπή boot:.Ξεκίνησα από το σκληρό δίσκο για πρώτη φορά μετά την
εγκατάσταση του &os;, αλλά ο Διαχειριστής Εκκίνησης (Boot
Manager) τυπώνει απλώς F? κάθε φορά στο
μενού εκκίνησης και δεν συνεχίζει περισσότερο.Δεν ρυθμίσατε σωστά τη γεωμετρία του σκληρού δίσκου στον
επεξεργαστή κατατμήσεων όταν εγκαταστήσατε το &os;. Πηγαίνετε
ξανά στον επεξεργαστή κατατμήσεων και ορίστε τη σωστή γεωμετρία
του σκληρού σας δίσκου. Πρέπει να επανεγκαταστήσετε το &os; από
την αρχή, με τη σωστή γεωμετρία.Αν δεν μπορείτε να βρείτε με κανένα τρόπο τη σωστή γεωμετρία
για το μηχάνημα σας, δοκιμάστε τον ακόλουθο τρόπο: Δημιουργήστε
μια μικρή κατάτμηση DOS στην αρχή του δίσκου, και εγκαταστήστε
το &os; μετά από αυτό. Το πρόγραμμα εγκατάστασης θα δει την
κατάτμηση του DOS και θα προσπαθήσει να ανιχνεύσει από αυτήν την
σωστή γεωμετρία, κάτι το οποίο συνήθως πετυχαίνει.Δεν σας συνιστούμε να ακολουθήσετε το παρακάτω, αλλά το
αφήσαμε εδώ απλώς ως αναφορά:
Αν φτιάχνετε ένα μηχάνημα desktop ή εξυπηρετητή για
αποκλειστική χρήση από το &os; και δεν σας ενδιαφέρει πιθανή
(μελλοντική) συμβατότητα με DOS, Linux ή άλλο λειτουργικό
σύστημα, έχετε επίσης την επιλογή να χρησιμοποιήσετε ολόκληρο
το δίσκο (πιέζοντας το A στον
επεξεργαστή κατατμήσεων), και
επιλέγοντας τη μη-στάνταρ επιλογή όπου το &os; καταλαμβάνει
ολόκληρο το δίσκο από τον πρώτο ως τον τελευταίο τομέα. Με
τον τρόπο αυτό εξαλείφονται όλα τα προβλήματα που αναφέρονται
στη γεωμετρία, αλλά υπάρχουν κάποιοι περιορισμοί, εκτός αν δεν
πρόκειται ποτέ να χρησιμοποιήσετε οποιοδήποτε άλλο λειτουργικό
εκτός από &os; στο συγκεκριμένο δίσκο.
Το σύστημα ανιχνεύει την κάρτα δικτύου μου &man.ed.4;, αλλά
παίρνω συνέχεια μηνύματα λάθους (device timeout).Η κάρτα σας είναι πιθανώς σε διαφορετικό IRQ από αυτό που
έχει ορισθεί στο αρχείο /boot/device.hints
Το πρόγραμμα οδήγησης &man.ed.4;, από προεπιλογή, δεν
χρησιμοποιεί τις
ρυθμίσεις που ενδεχομένως έχετε κάνει στην κάρτα μέσω του
προγράμματος ρύθμισης που παρέχει ο κατασκευαστής
(soft configuration, τις τιμές που δώσατε
μέσω EZSETUP στο DOS). Ωστόσο θα τις χρησιμοποιήσει αν ορίσετε
την τιμή -1 στα hints της συσκευής.Είτε μετακινήστε το βραχυκυκλωτήρα (jumper) πάνω στην κάρτα
ώστε να δώσετε χειροκίνητες (hard) ρυθμίσεις (αλλάζοντας και
τις ρυθμίσεις του πυρήνα αν αυτό είναι απαραίτητο), ή αλλάξτε
το IRQ στην τιμή -1 ρυθμίζοντας το hint
hint.ed.0.irq="-1". Με τον τρόπο αυτό, ο
πυρήνας θα χρησιμοποιήσει τις ρυθμίσεις που κάνατε μέσω του
προγράμματος EZSETUP.Μια άλλη πιθανότητα είναι η κάρτα σας να χρησιμοποιεί το IRQ
9 το οποίο είναι κοινό με το IRQ 2 και αποτελεί συχνά πηγή
προβλημάτων (ειδικά αν έχετε κάρτα γραφικών που χρησιμοποιεί το
IRQ 2!). Προσπαθήστε, αν είναι δυνατόν, να αποφύγετε εντελώς
τη χρήση των IRQ 2 ή 9.ValentinoVaschettoΣυνεισφορά από τον Οδηγός Εγκατάστασης για ΠροχωρημένουςΤο τμήμα αυτό περιγράφει πως να εγκαταστήσετε το &os; σε ιδιαίτερα
μηχανήματα ή / και με μη συνηθισμένους τρόπους.Εγκαθιστώντας το &os; σε ένα Σύστημα χωρίς Οθόνη ή
Πληκτρολόγιοinstallationheadless (serial console)serial consoleΤο είδος αυτό της εγκατάστασης ονομάζεται headless
install (ακέφαλη εγκατάσταση), επειδή το μηχάνημα στο οποίο
εγκαθίσταται το &os; είτε δεν έχει συνδεμένη οθόνη, είτε δεν έχει καν
έξοδο VGA. Αν αναρωτιέστε πως είναι πιθανό κάτι τέτοιο, γίνεται με
την χρήση σειριακής κονσόλας. Η σειριακή κονσόλα βασικά χρησιμοποιεί
ένα άλλο μηχάνημα το οποίο δρα ως κύρια οθόνη και πληκτρολόγιο για το
σύστημα. Για το σκοπό αυτό, απλώς ακολουθήστε τα βήματα για την
δημιουργία δισκετών εγκατάστασης, όπως εξηγείται στο
.Έπειτα, για να μετατρέψετε τις δισκέτες αυτές ώστε να ξεκινάνε
σε σειριακή κονσόλα, ακολουθήστε τα επόμενα βήματα:Δημιουργία Δισκετών Εκκίνησης για Σειριακή ΚονσόλαmountΑν επρόκειτο να εκκινήσετε από τις δισκέτες που μόλις
φτιάξατε, το &os; θα ξεκίναγε στην κανονική κατάσταση
εγκατάστασης. Θέλουμε το &os; να ξεκινήσει σε σειριακή κονσόλα
για την εγκατάσταση μας. Για να το κάνετε αυτό, θα πρέπει να
προσαρτήσετε (mount) το boot.flp στο &os;
σύστημα σας, χρησιμοποιώντας την εντολή &man.mount.8;.&prompt.root; mount /dev/fd0 /mntΤώρα που έχετε προσαρτήσει τη δισκέτα, πρέπει να πάτε στον
κατάλογο /mnt:&prompt.root; cd /mntΕδώ πρέπει πλέον να ρυθμίσετε την δισκέτα ώστε να ξεκινάει
η σειριακή κονσόλα. Πρέπει να δημιουργήσετε ένα αρχείο που
ονομάζεται boot.config και περιέχει το
/boot/loader -h. Το μόνο που κάνει αυτό,
είναι να περνάει μια παράμετρο (flag) στο boot loader ώστε η
εκκίνηση να γίνεται σε σειριακή κονσόλα.&prompt.root; echo "/boot/loader -h" > boot.configΤώρα που έχετε ρυθμίσει σωστά τη δισκέτα, πρέπει να την
αποπροσαρτήσετε, χρησιμοποιώντας την εντολή
&man.umount.8;:&prompt.root; cd /
&prompt.root; umount /mntΜπορείτε τώρα να αφαιρέσετε τη δισκέτα από τον οδηγό.Συνδέοντας Καλώδιο Τύπου Null-modemnull-modem cableΧρειάζεται τώρα να συνδέσετε ένα καλώδιο τύπου
null-modem μεταξύ των
δύο μηχανημάτων. Απλώς συνδέστε το καλώδιο στις σειριακές πόρτες
των δύο μηχανημάτων. Δεν πρόκειται να δουλέψει
κανονικό σειριακό καλώδιο, χρειάζεται καλώδιο τύπου
null modem, όπου κάποια από τα ζεύγη καλωδίων διασταυρώνονται
εσωτερικά.Εκκίνηση για την ΕγκατάστασηΈχει έρθει η ώρα να προχωρήσουμε στην εγκατάσταση. Βάλτε τη
δισκέτα boot.flp στον οδηγό του μηχανήματος
που θέλετε να εγκαταστήσετε χωρίς οθόνη/πληκτρολόγιο, και
ενεργοποιήστε το.Συνδεθείτε με το Headless ΜηχάνημαcuΘα πρέπει τώρα να συνδεθείτε με το μηχάνημα σας,
χρησιμοποιώντας την &man.cu.1;:&prompt.root; cu -l /dev/cuad0Αυτό είναι! Μπορείτε τώρα να ελέγξετε το headless μηχάνημα μέσω
της σύνδεσης cu. Θα σας ζητήσει να βάλετε την
δισκέτα kern1.flp, και θα σας ζητήσει κατόπιν
να επιλέξετε το είδος του τερματικού που θα χρησιμοποιηθεί. Επιλέξτε
την έγχρωμη κονσόλα (&os; color console) και συνεχίστε με την
εγκατάσταση σας.Προετοιμάζοντας τα Δικά σας Μέσα ΕγκατάστασηςΓια να αποφύγουμε την επανάληψη, λέγοντας
&os; CD-ROM στο τμήμα αυτό, εννοούμε ένα CD-ROM ή DVD
του &os; που έχετε αγοράσει ή δημιουργήσει μόνος σας.Υπάρχουν κάποιες περιπτώσεις στις οποίες χρειάζεται να δημιουργήσετε
τα δικά σας μέσα ή πηγές εγκατάστασης του &os;. Μπορεί να είναι φυσικά
μέσα, όπως για παράδειγμα μια ταινία, ή πηγές που μπορεί να
χρησιμοποιήσει το sysinstall για να ανακτήσει
τα αρχεία, όπως π.χ. μια τοπική τοποθεσία FTP, ή μια κατάτμηση
&ms-dos;Για παράδειγμα:Έχετε πολλά μηχανήματα συνδεμένα στο τοπικό σας δίκτυο, και ένα
μόνο CD-ROM του &os;. Θέλετε να δημιουργήσετε μια τοπική τοποθεσία
FTP χρησιμοποιώντας τα περιεχόμενα του &os; CD-ROM, και έπειτα να
ρυθμίσετε τα μηχανήματα σας να χρησιμοποιούν αυτό το FTP site αντί
για να συνδέονται στο Internet.Έχετε ένα CD-ROM του &os; αλλά το &os; δεν αναγνωρίζει το οδηγό
σας CD/DVD, ενώ το &ms-dos;/&windows; το αναγνωρίζει. Θέλετε να
αντιγράψετε τα αρχεία του &os; σε μια κατάτμηση DOS στο ίδιο
μηχάνημα και να εγκαταστήσετε το &os; χρησιμοποιώντας αυτά τα
αρχεία.Ο υπολογιστής που θέλετε να εγκαταστήσετε δεν έχει οδηγό CD/DVD
ή κάρτα δικτύου, αλλά μπορείτε να συνδέσετε ένα σειριακό ή
παράλληλο καλώδιο τύπου Laplink προς ένα υπολογιστή
που διαθέτει.Θέλετε να δημιουργήσετε μια ταινία, που μπορεί να χρησιμοποιηθεί
για την εγκατάσταση του &os;.Δημιουργώντας ένα CD-ROM ΕγκατάστασηςΩς τμήμα κάθε έκδοσης, το &os; project δημιουργεί δύο εικόνες
CD-ROM (ISO image). Οι εικόνες αυτές μπορούν να
γραφούν σε CD αν έχετε εγγραφέα CD-ROM, και ακολούθως να
χρησιμοποιηθούν για την εγκατάσταση του &os;. Αν έχετε εγγραφέα
CD-ROM και γρήγορη σύνδεση στο Internet, αυτός είναι ο ευκολότερος
τρόπος να εγκαταστήσετε το &os;.Κατεβάστε τα Σωστά ISO ImagesΜπορείτε να κατεβάσετε τα ISO images για κάθε έκδοση από την
τοποθεσία
ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arch/version
ή το πλησιέστερο σε σας mirror.
Υποκαταστήστε το arch και
version όπως απαιτείται.Ο κατάλογος θα περιέχει φυσιολογικά τα ακόλουθα images:
Ονοματολογία και Επεξηγήσεις των ISO Images για FreeBSD 6.X και 7.XΌνομα ΑρχείουΠεριέχειversion-RELEASE-arch-bootonly.isoΤα αρχεία που απαιτούνται για να εκκινήσετε με
πυρήνα &os; και να ξεκινήσετε το πρόγραμμα εγκατάστασης.
Τα υπόλοιπα αρχεία της εγκατάστασης θα πρέπει να τα
πάρετε μέσω FTP ή κάποιας άλλης υποστηριζόμενης πηγής.
version-RELEASE-arch-disc1.isoΤα αρχεία που απαιτούνται για την εγκατάσταση του
&os; και ένα σύστημα αρχείων για λειτουργία από CD-ROM
(live filesystem), το οποίο
χρησιμοποιείται σε συνδυασμό με την δυνατότητα
Repair στην εφαρμογή
sysinstall.version-RELEASE-arch-disc2.isoΌσα πακέτα εφαρμογών τρίτου κατασκευαστή χωράνε στο
CD-ROM.version
-RELEASE-arch-docs.iso
Τεκμηρίωση του &os;.
Θα πρέπει να κατεβάσετε είτε ένα από τα
bootonly ISO (αν είναι διαθέσιμα) είτε το image του πρώτου CD-ROM
(disc one). Μην κατεβάσετε και τα δύο, μια και το image του
πρώτου CD-ROM, περιέχει όλα τα περιεχόμενα του
bootonly ISO.Χρησιμοποιήστε το bootonly ISO αν έχετε φθηνή και γρήγορη
πρόσβαση στο Internet. Μπορείτε έτσι να εγκαταστήσετε το &os; και
να κατεβάσετε εφαρμογές τρίτου κατασκευαστή με τη χρήση του
συστήματος ports/packages (δείτε )
όπως απαιτούνται.Χρησιμοποιήστε το image του πρώτου CD-ROM αν θέλετε να
εγκαταστήσετε μια έκδοση του &os; και θέλετε ταυτόχρονα να έχετε
στο ίδιο CD-ROM και μια σεβαστή συλλογή από πακέτα τρίτου
κατασκευαστή.Τα πρόσθετα CD-ROM είναι χρήσιμα αλλά όχι απαραίτητα,
ειδικά αν έχετε πρόσβαση υψηλής ταχύτητας στο Internet.Γράψτε τα CDΠρέπει κατόπιν να γράψετε τις εικόνες (images) των CD σε
άδεια CD. Αν το κάνετε αυτό σε άλλο &os; σύστημα, δείτε το
για περισσότερες πληροφορίες
(ειδικότερα, και
).Αν πρόκειται να χρησιμοποιήσετε άλλο λειτουργικό για την
εργασία αυτή, θα χρειαστεί να χρησιμοποιήσετε τις δυνατότητες που
παρέχονται από τα αντίστοιχα προγράμματα εγγραφής CD του
λειτουργικού αυτού. Τα images που παρέχονται είναι σε
στάνταρ ISO μορφή και υποστηρίζονται απευθείας από πολλές
εφαρμογές εγγραφής CD.Αν ενδιαφέρεστε να δημιουργήσετε μια εξειδικευμένη έκδοση
του &os;, δείτε το Release Engineering Article.Δημιουργήστε μια Τοπική FTP Τοποθεσία με το CD-ROM
του &os;installationnetworkFTPΤα CD-ROM του &os; έχουν την ίδια δομή με την τοποθεσία FTP. Για
το λόγο αυτό είναι πολύ εύκολο να δημιουργήσετε μια τοπική τοποθεσία
FTP που να μπορεί να χρησιμοποιηθεί από άλλα μηχανήματα του δικτύου
σας κατά την εγκατάσταση του &os;.Στο &os; μηχάνημα που θα φιλοξενήσει την FTP τοποθεσία,
βεβαιωθείτε ότι το CD-ROM είναι μέσα στον οδηγό και έχει γίνει
προσάρτηση του στον κατάλογο /cdrom.&prompt.root; mount /cdromΔημιουργήστε ένα λογαριασμό για ανώνυμο FTP στο
/etc/passwd. Για το σκοπό αυτό,
επεξεργαστείτε το αρχείο
/etc/passwd χρησιμοποιώντας το &man.vipw.8;
και προσθέτοντας την ακόλουθη γραμμή:ftp:*:99:99::0:0:FTP:/cdrom:/nonexistentΒεβαιωθείτε ότι είναι ενεργοποιημένη η υπηρεσία FTP στο
/etc/inetd.conf.Οποιοσδήποτε έχει τώρα δικτυακή σύνδεση με το μηχάνημα σας, μπορεί
τώρα να επιλέξει ως μέσο εγκατάστασης το FTP και να γράψει
ftp://your machine
αφού επιλέξει Other στο μενού FTP sites κατά την
διάρκεια της εγκατάστασης.Αν το μέσο εκκίνησης (συνήθως δισκέτες) για τους πελάτες FTP δεν
είναι ακριβώς η ίδια έκδοση με αυτή που παρέχεται από το τοπικό FTP,
η εφαρμογή sysinstall δεν θα σας
επιτρέψει να ολοκληρώσετε την εγκατάσταση. Αν οι εκδόσεις δεν είναι
όμοιες και επιθυμείτε να προσπεράσετε αυτό τον περιορισμό, θα
πρέπει να πάτε στο μενού Options και να αλλάξετε
το όνομα της διανομής (distribution name) σε
any.Η παραπάνω τακτική είναι κατάλληλη για ένα μηχάνημα που είναι
στο τοπικό σας δίκτυο και προστατεύεται από firewall. Αν προσφέρετε
υπηρεσίες FTP σε άλλα μηχανήματα στο Internet (και όχι στο τοπικό
σας δίκτυο) θα εκθέσετε το μηχάνημα σας σε crackers και άλλους
ανεπιθύμητους. Αν το κάνετε αυτό, σας συνιστούμε οπωσδήποτε να
ακολουθήσετε σωστές τακτικές ασφαλείας.Δημιουργώντας Δισκέτες ΕγκατάστασηςinstallationfloppiesΑν θα πρέπει να εγκαταστήσετε από δισκέτες (το οποίο σας
συνιστούμε να μην κάνετε), είτε λόγω μη
υποστηριζόμενου υλικού, είτε απλώς επειδή επιμένετε να κάνετε τα
πράγματα με το δύσκολο τρόπο, θα πρέπει πρώτα να προετοιμάσετε κάποιες
δισκέτες για την εγκατάσταση.Κατά ελάχιστο, θα χρειαστείτε τόσες δισκέτες 1.44 MB
όσες χρειάζονται για να κρατήσουν όλα τα αρχεία του
καταλόγου base (base distribution). Αν
προετοιμάζετε τις δισκέτες από το DOS, θα
πρέπει να τις διαμορφώσετε με την εντολή του
&ms-dos; FORMAT. Αν χρησιμοποιείτε &windows;,
χρησιμοποιήστε τον Explorer για να διαμορφώσετε τις δισκέτες
(δεξί κλικ στον οδηγό A: και επιλέξτε
Format (Διαμόρφωση)).Να μην εμπιστεύεστε τις προδιαμορφωμένες
από το εργοστάσιο δισκέτες. Να τις διαμορφώσετε ξανά εσείς για να
είστε σίγουρος. Πολλά προβλήματα που έχουν αναφερθεί από χρήστες
στο παρελθόν έχουν προκύψει από τη χρήση ακατάλληλα διαμορφωμένων
μέσων, και για το λόγο αυτό το τονίζουμε ιδιαίτερα τώρα.Αν δημιουργείτε τις δισκέτες σε άλλο μηχάνημα &os; η διαμόρφωση
δεν είναι άσχημη ιδέα, αν και δε χρειάζεται να δημιουργήσετε σύστημα
αρχείων DOS σε κάθε μια. Μπορείτε αντί για αυτό, να
χρησιμοποιήσετε τις εντολές bsdlabel και
newfs για να δημιουργήσετε σύστημα αρχείων UFS
σε αυτές, όπως φαίνεται από την παρακάτω ακολουθία εντολών:&prompt.root; fdformat -f 1440 fd0.1440
&prompt.root; bsdlabel -w fd0.1440 floppy3
&prompt.root; newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0Μπορείτε έπειτα να τις προσαρτήσετε και να τις γράψετε σαν
οποιοδήποτε άλλο σύστημα αρχείων.Αφού διαμορφώσετε τις δισκέτες, θα πρέπει να γράψετε τα αρχεία
σε αυτές. Τα αρχεία της εγκατάστασης είναι κομμένα σε τμήματα με
κατάλληλο μέγεθος ώστε πέντε από αυτά να χωράνε σε μια συνηθισμένη
δισκέτα 1.44 MB. Διατρέξτε όλες τις δισκέτες σας, γράφοντας σε
κάθε μια όσα αρχεία χωράνε, μέχρι να γράψετε όλα τα distribution
sets που επιθυμείτε με τον τρόπο αυτό. Κάθε distribution set θα
πρέπει να αποθηκευτεί σε ένα υποκατάλογο της δισκέτας, π.χ.:
a:\base\base.aa,
a:\base\base.ab, κ.ο.κ.Το αρχείο base.inf πρέπει επίσης να
βρίσκεται στην πρώτη δισκέτα του σετ base
καθώς το πρόγραμμα εγκατάστασης το χρειάζεται για να γνωρίζει πόσα
επιπλέον τμήματα αρχείων πρέπει να διαβάσει και να συνενώσει για
το σχηματισμό της διανομής.Όταν φτάσετε στην οθόνη Media κατά τη διαδικασία εγκατάστασης,
επιλέξτε Floppy και θα ερωτηθείτε για
τα υπόλοιπα.Εγκατάσταση από Κατάτμηση &ms-dos;installationfrom MS-DOSΓια να προετοιμαστείτε για μια εγκατάσταση από κατάτμηση
&ms-dos;, αντιγράψτε τα αρχεία της διανομής σε ένα κατάλογο που θα
ονομάσετε freebsd στο ριζικό κατάλογο της
κατάτμησης. Για παράδειγμα, c:\freebsd. Η
δομή των καταλόγων του CDROM ή της τοποθεσίας FTP θα πρέπει να
αναπαραχθεί μερικώς μέσα σε αυτό τον κατάλογο, για το λόγο αυτό
σας συνιστούμε να χρησιμοποιήσετε την εντολή
xcopy αν κάνετε την αντιγραφή από CD.
Για παράδειγμα, για να προετοιμάσετε μια ελάχιστη εγκατάσταση του
&os;:C:\>md c:\freebsdC:\>xcopy e:\bin c:\freebsd\bin\ /sC:\>xcopy e:\manpages c:\freebsd\manpages\ /sυποθέτοντας ότι ο διαθέσιμος ελεύθερος χώρος σας βρίσκεται στο
C: και η μονάδα σας CDROM είναι στο
E:.Αν δεν έχετε οδηγό CDROM, μπορείτε να κατεβάσετε την διανομή
από την τοποθεσία ftp.FreeBSD.org.
Κάθε distribution set είναι στο δικό του κατάλογο. Για παράδειγμα
το σετ base μπορεί να βρεθεί στον κατάλογο
&rel.current;/base/.Για όσα distribution set θέλετε να εγκαταστήσετε από μια
κατάτμηση &ms-dos; (και για τα οποία έχετε διαθέσιμο ελεύθερο χώρο),
εγκαταστήστε τα κάτω από το c:\freebsd —
To σετ BIN είναι το μόνο που απαιτείται για μια
ελάχιστη εγκατάσταση.Δημιουργώντας Ταινία Εγκατάστασηςinstallationfrom QIC/SCSI TapeΗ εγκατάσταση από ταινία, είναι ίσως η ευκολότερη μέθοδος εκτός
από την εγκατάσταση μέσω FTP ή CDROM. Το πρόγραμμα εγκατάστασης
απλώς αναμένει τα αρχεία να έχουν γραφτεί στην ταινία με μορφή tar.
Αφού επιλέξετε τα σετ εγκατάστασης που σας ενδιαφέρουν, απλώς κάντε
τα tar στην ταινία:&prompt.root; cd /freebsd/distdir
&prompt.root; tar cvf /dev/rwt0 dist1 ... dist2Όταν κάνετε την εγκατάσταση, θα πρέπει να βεβαιωθείτε ότι έχετε
αφήσει αρκετό ελεύθερο χώρο σε κάποιο προσωρινό κατάλογο (τον οποίο
θα μπορέσετε να επιλέξετε) για να χωρέσει τα
πλήρη περιεχόμενα της ταινίας που έχετε
δημιουργήσει. Εξαιτίας της φύσης της ταινίας, που δεν επιτρέπει
τυχαία πρόσβαση, αυτή η μέθοδος εγκατάστασης χρειάζεται αρκετό
προσωρινό χώρο αποθήκευσης.Καθώς ξεκινάτε την εγκατάσταση, η ταινία πρέπει να είναι στον
οδηγό πριν ξεκινήσετε από τη δισκέτα
εκκίνησης. Διαφορετικά, μπορεί να αποτύχει η ανίχνευση της από τη
διαδικασία εγκατάστασης.Πριν Εγκαταστήσετε μέσω Δικτύουinstallationnetworkserial (SLIP or PPP)installationnetworkparallel (PLIP)installationnetworkEthernetΥπάρχουν τρεις διαθέσιμοι τύποι δικτυακής εγκατάστασης.
Ethernet (τυποποιημένος ελεγκτής Ethernet),
Σειριακής Θύρας (SLIP ή PPP), Παράλληλης Θύρας
(PLIP (καλώδιο laplink)).Για την γρηγορότερη δυνατή εγκατάσταση μέσω δικτύου,
ένας ελεγκτής Ethernet είναι πάντα καλή επιλογή! Το &os; υποστηρίζει
τις περισσότερες κοινές κάρτες Ethernet. Μπορείτε να βρείτε ένα
πίνακα των υποστηριζόμενων καρτών (και τις απαιτούμενες ρυθμίσεις
τους) στις Σημειώσεις Υλικού (Hardware Notes) κάθε έκδοσης &os;. Αν
χρησιμοποιείτε κάποια από τις υποστηριζόμενες κάρτες Ethernet PCMCIA
βεβαιωθείτε ότι την έχετε βάλει στην υποδοχή
πριν ενεργοποιήσετε το φορητό υπολογιστή σας!
Το &os; δεν υποστηρίζει δυστυχώς αυτή τη στιγμή την επιτόπου
εισαγωγή καρτών PCMCIA κατά τη διάρκεια της εγκατάστασης.θα πρέπει επίσης να ξέρετε για το δίκτυο σας, τη διεύθυνση IP
σας, την τιμή της μάσκας υποδικτύου (netmask) για τη κλάση του
δικτύου σας, και το όνομα του μηχανήματος σας. Αν κάνετε εγκατάσταση
μέσω σύνδεσης PPP και δεν έχετε στατική διεύθυνση, μην ανησυχείτε
καθώς ο ISP σας μπορεί να σας δώσει διεύθυνση δυναμικά. Ο
διαχειριστής του συστήματος σας, μπορεί να σας δώσει τις τιμές που
πρέπει να χρησιμοποιήσετε για το δίκτυο σας. Αν πρόκειται να
αναφερθείτε σε άλλα μηχανήματα με χρήση του ονόματος τους αντί για
την διεύθυνση IP τους, θα χρειαστείτε επίσης ένα διακομιστή ονομάτων
(DNS) και πιθανόν τη διεύθυνση μιας πύλης (gateway) (αν
χρησιμοποιείτε PPP, πρόκειται για τη διεύθυνση IP του παροχέα σας)
για να επικοινωνήσετε με αυτόν. Αν θέλετε να κάνετε FTP εγκατάσταση
διαμέσου μεσολαβητή HTTP, θα πρέπει να ξέρετε επίσης τη διεύθυνση
του μεσολαβητή (proxy).
Αν δεν ξέρετε τις απαντήσεις σε όλες ή τις περισσότερες από αυτές
τις απαντήσεις, θα πρέπει πράγματι να μιλήσετε στο διαχειριστή του
συστήματος σας ή τον ISP σας πριν επιχειρήσετε
αυτό τον τύπο εγκατάστασης.Η υποστήριξη SLIP είναι κάπως πρωτόγονη, και πρακτικά
περιορίζεται σε φυσικές συνδέσεις, όπως για παράδειγμα ένα σειριακό
καλώδιο ανάμεσα σε ένα φορητό και ένα άλλο υπολογιστή. Η σύνδεση
πρέπει να είναι φυσική και άμεση, καθώς η εγκατάσταση μέσω SLIP δεν
παρέχει αυτή τη στιγμή δυνατότητας επιλογικής (dial up) σύνδεσης. Η
δυνατότητα αυτή παρέχεται από το πρόγραμμα PPP, το οποίο και θα
πρέπει να προτιμηθεί σε σχέση με το SLIP όπου αυτό είναι
δυνατόν.Αν χρησιμοποιείτε modem, τότε το PPP είναι σχεδόν σίγουρα η μόνη
σας επιλογή. Βεβαιωθείτε ότι έχετε άμεσα διαθέσιμες τις πληροφορίες
για τον παροχέα σας, καθώς θα τις χρειαστείτε σχετικά νωρίς στη
διαδικασία εγκατάστασης.Αν χρησιμοποιείτε PAP ή CHAP για να συνδεθείτε με τον ISP σας
(με άλλα λόγια, μπορείτε στα &windows; να συνδεθείτε με τον ISP σας
χωρίς να χρησιμοποιήσετε script), τότε το μόνο που θα χρειαστείτε
είναι να γράψετε την εντολή dial στην προτροπή
της εφαρμογής ppp. Διαφορετικά, θα
πρέπει να ξέρετε πως να καλέσετε τον ISP σας, χρησιμοποιώντας
εντολές AT commands οι οποίες είναι συγκεκριμένες για
το modem σας, καθώς το πρόγραμμα κλήσεων του PPP (dialer) παρέχει
ένα πολύ απλό εξομοιωτή τερματικού. Ανατρέξτε στο user-ppp handbook και FAQ για περισσότερες
πληροφορίες. Αν έχετε προβλήματα, μπορείτε να κατευθύνετε την
καταγραφή (logging) στην οθόνη με την εντολή
set log local ....Αν υπάρχει διαθέσιμη φυσική σύνδεση με άλλο μηχάνημα &os;
(έκδοση 2.0-R ή μεταγενέστερη), μπορείτε επίσης να εγκαταστήσετε
μέσω παράλληλου καλωδίου laplink. Η ταχύτητα
μετάδοσης δεδομένων μέσω της παράλληλης θύρας είναι αρκετά υψηλότερη
συνήθως από ότι της σειριακής (μέχρι 50 kbytes/sec), με
αποτέλεσμα γρηγορότερη εγκατάσταση.Πριν Εγκαταστήσετε μέσω NFSinstallationnetworkNFSΗ εγκατάσταση μέσω NFS είναι αρκετά απλή. Απλώς αντιγράψτε
τα αρχεία της διανομής του &os; σε ένα εξυπηρετητή NFS και δείξτε
προς αυτόν κατά την επιλογή μέσου NFS.Αν ο εξυπηρετητής αυτός υποστηρίζει μόνο προνομιακή θύρα
(privileged port) (αυτή είναι η τυπική ρύθμιση σε
σταθμούς εργασίας της SUN), θα χρειαστεί να θέσετε την επιλογή
NFS Secure στο μενού
Options πριν μπορέσετε να προχωρήσετε με την
εγκατάσταση.Αν η κάρτα σας Ethernet είναι χαμηλής ποιότητας και υποφέρει
από πολύ αργούς ρυθμούς μεταφοράς, ίσως θελήσετε να ενεργοποιήσετε
και την επιλογή NFS Slow.Για να λειτουργήσει η εγκατάσταση NFS, ο εξυπηρετητής θα
πρέπει να υποστηρίζει προσαρτήσεις υποκαταλόγων (subdir mounts),
για παράδειγμα, αν ο κατάλογος της διανομής σας
&os; &rel.current; βρίσκεται στο:
ziggy:/usr/archive/stuff/FreeBSD, τότε ο
ziggy θα πρέπει να επιτρέπει την απευθείας
προσάρτηση του /usr/archive/stuff/FreeBSD,
και όχι μόνο του /usr ή του
/usr/archive/stuff.Στο αρχείο /etc/exports του &os;, αυτό
ελέγχεται από τις επιλογές . Άλλοι
εξυπηρετητές NFS μπορεί να ακολουθούν διαφορετικές συμβάσεις.
Αν λαμβάνετε μηνύματα του τύπου
permission denied από τον εξυπηρετητή,
είναι πιθανόν να μην έχετε ρυθμίσει σωστά το παραπάνω.
diff --git a/el_GR.ISO8859-7/books/handbook/jails/chapter.sgml b/el_GR.ISO8859-7/books/handbook/jails/chapter.sgml
index d436071fc2..ea13046456 100644
--- a/el_GR.ISO8859-7/books/handbook/jails/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/jails/chapter.sgml
@@ -1,1029 +1,1030 @@
MatteoRiondatoΣυνεισφορά από τον JailsjailsΣύνοψηΤο κεφάλαιο αυτό εξηγεί τι είναι τα jails (φυλακές) του &os; και
πως χρησιμοποιούνται. Τα jails, που αναφέρονται ορισμένες φορές σαν
μια ενισχυμένη εναλλακτική λύση για
περιβάλλοντα chroot, είναι ένα ισχυρό εργαλείο για
διαχειριστές συστημάτων, αλλά η βασική τους χρήση μπορεί επίσης να
είναι χρήσιμη σε προχωρημένους χρήστες.Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε:Τι είναι ένα jail και τι σκοπό μπορεί να εξυπηρετήσει σε
εγκαταστάσεις &os;.Πως να φτιάξετε, να εκκινήσετε, και να σταματήσετε ένα
jail.Τα βασικά της διαχείρισης ενός jail, τόσο μέσα, όσο και έξω
από αυτό.Άλλες πηγές χρήσιμων πληροφοριών σχετικά με τα jails είναι:Η σελίδα manual του &man.jail.8;. Περιέχει πλήρη αναφορά
του βοηθητικού προγράμματος jail —
του διαχειριστικού εργαλείου που μπορεί να χρησιμοποιηθεί στο &os;
για την εκκίνηση, διακοπή, και έλεγχο των jails.Οι λίστες ταχυδρομείου και τα αρχεία τους. Τα αρχεία από την
&a.questions; και άλλες λίστες που εξυπηρετούνται από τον
&a.mailman.lists; περιέχουν πλήρη οδηγό για τα jails. Είναι πάντοτε
ενδιαφέρον να ψάχνετε τα αρχεία ή να δημοσιεύετε νέες ερωτήσεις
στη λίστα &a.questions.name;.Όροι των JailsΓια να κατανοήσετε καλύτερα το πως οι εσωτερικές λειτουργίες του
&os; σχετίζονται με τα jails και πως αυτές αλληλεπιδρούν με τα υπόλοιπα
μέρη του &os;, θα χρησιμοποιήσουμε εκτενώς τους παρακάτω όρους:&man.chroot.2; (εντολή)Μια κλήση συστήματος (system call) του &os;, η οποία αλλάζει
τον γονικό κατάλογο (root directory) μιας διεργασίας και όλων των
άλλων διεργασιών που εξαρτώνται από αυτή.&man.chroot.2; (περιβάλλον)Το περιβάλλον μια διεργασίας που τρέχει μέσα σε ένα
chroot. Αυτό περιλαμβάνει πόρους όπως το τμήμα
του συστήματος αρχείων που είναι ορατό, τα ID του χρήστη και της
ομάδας που είναι διαθέσιμα, καθώς και τις διεπαφές δικτύου
(network interfaces), τους μηχανισμούς IPC κλπ.&man.jail.8; (εντολή)Το πρόγραμμα που σας επιτρέπει να διαχειρίζεστε το σύστημα
σας και να ξεκινάτε διεργασίες σε περιβάλλον jail.host (σύστημα (system), διεργασία (process), χρήστης (user),
κλπ.)Το φυσικό σύστημα που φιλοξενεί και ελέγχει ένα περιβάλλον
jail. Το host system έχει πρόσβαση σε όλο το διαθέσιμο υλικό,
και μπορεί να ελέγξει διεργασίες τόσο μέσα όσο και έξω από το
περιβάλλον του jail. Μία από τις σημαντικότερες διαφορές μεταξύ
του host system και του jail είναι ότι οι περιορισμοί που
εφαρμόζονται στις διεργασίες του χρήστη root μέσα στο περιβάλλον
jail, δεν ισχύουν για τις διεργασίες στο host system.hosted (σύστημα (system), διεργασία (process), χρήστης (user),
κλπ.)Μια διεργασία, ένας χρήστης ή κάποια άλλη οντότητα, του
οποίου η πρόσβαση στους πόρους του συστήματος περιορίζεται μέσα
από ένα jail.ΕισαγωγήΜια και η διαχείριση ενός συστήματος μπορεί να είναι δύσκολη και
περίπλοκη, αναπτύχθηκαν αρκετά εργαλεία τα οποία μπορούν να κάνουν τη
ζωή ενός διαχειριστή πολύ πιο εύκολη. Τα εργαλεία αυτά προσφέρουν
κάποιες πρόσθετες δυνατότητες όσο αφορά τον τρόπο εγκατάστασης,
ρύθμισης και συντήρησης ενός συστήματος. Μια από τις εργασίες που
αναμένεται να εκτελέσει κάθε διαχειριστής συστήματος, είναι να ρυθμίσει
σωστά την ασφάλεια του συστήματος, προκειμένου να προσφέρει τις
υπηρεσίες για τις οποίες έχει προγραμματιστεί, χωρίς να επιτρέπει
συμβιβασμούς στην ασφάλεια.Ένα από τα εργαλεία που μπορούν να ενισχύσουν την ασφάλεια ενός
συστήματος &os; είναι τα jails. Τα Jails
πρωτοεμφανίστηκαν στο &os; 4.X από τον &a.phk;, αλλά βελτιώθηκαν
πολύ περισσότερο στην έκδοση &os; 5.X, προκειμένου να προσφέρουν
περισσότερες δυνατότητες και να είναι περισσότερο ευέλικτα. Η ανάπτυξή
τους συνεχίζεται ακόμη, με βελτιώσεις στους τομείς της ευχρηστίας, της
απόδοσης, της αξιοπιστίας και της ασφάλειας που πρέπει να
παρέχουν.Τι Είναι Ένα JailΤα λειτουργικά συστήματα τύπου BSD, παρείχαν το &man.chroot.2; από
την εποχή του 4.2BSD. Η εντολή &man.chroot.8; μπορεί να
χρησιμοποιηθεί για να αλλάξει τον γονικό κατάλογο μιας ομάδας
διεργασιών, δημιουργώντας ένα ασφαλές περιβάλλον, ξεχωριστό από το
υπόλοιπο σύστημα. Όσες διεργασίες δημιουργούνται σε έναν τέτοιο
περιβάλλον, δεν έχουν πρόσβαση σε αρχεία και πόρους έξω από αυτό.
Για αυτό το λόγο, αν μια υπηρεσία τρέχει μέσα σε ένα τέτοιο
περιβάλλον, και κάποιος εισβολέας καταφέρει να διεισδύσει σε αυτή, δε
θα του επιτραπεί η πρόσβαση στο υπόλοιπο σύστημα.
Η εντολή &man.chroot.8; είναι πολύ καλή για απλές εργασίες οι οποίες
δε χρειάζονται να είναι πολύ ευέλικτες ή να διαθέτουν πολύπλοκα και
προηγμένα χαρακτηριστικά. Ωστόσο, από την αρχή της ιδέας του chroot,
βρέθηκαν αρκετοί τρόποι για να μπορέσει κάποιος να ξεφύγει από το
περιβάλλον αυτό. Παρ' όλο που έχουν διορθωθεί πολλά σφάλματα στις
πρόσφατες εκδόσεις του πυρήνα του &os;, ήταν ξεκάθαρο ότι η
&man.chroot.2; δεν ήταν η ιδανική λύση για την ασφάλιση υπηρεσιών.
Έπρεπε να υλοποιηθεί ένα νέο υποσύστημα.Αυτός είναι ένας από τους κύριους λόγους για την ανάπτυξη των
jails.Τα jails βελτίωσαν με διάφορους τρόπους την ιδέα του παραδοσιακού
περιβάλλοντος του &man.chroot.2;. Στο τυπικό περιβάλλον του
&man.chroot.2;, οι διεργασίες περιορίζονται μόνος ως προς το μέρος
του συστήματος αρχείων όπου μπορούν να έχουν πρόσβαση. Οι υπόλοιποι
πόροι του συστήματος (όπως οι χρήστες, οι τρέχοντες διεργασίες, το
υποσύστημα δικτύωσης) είναι κοινόχρηστοι μεταξύ των διεργασιών του
περιβάλλοντος chroot και των διεργασιών του host system. Τα jails
επεκτείνουν αυτό το μοντέλο, με την εικονικοποίηση όχι μόνο της
πρόσβασης στο σύστημα αρχείων, αλλά επίσης των χρηστών, του
υποσυστήματος δικτύωσης του πυρήνα του &os; και μερικών ακόμη
πραγμάτων. Περισσότερα για τις διαθέσιμες εντολές που μπορούν να
χρησιμοποιηθούν για τη ρύθμιση και τον έλεγχο ενός περιβάλλοντος jail
μπορείτε να βρείτε στο .Το Jail έχει τέσσερα κύρια στοιχεία:Έναν κατάλογο με δική του δομή — το αρχικό σημείο
στο οποίο εισέρχεται ένα jail. Από τη στιγμή που μια διεργασία
βρίσκεται μέσα σε ένα jail, δεν επιτρέπεται να βγει έξω από τον
κατάλογο αυτό. Τα προβλήματα που ταλαιπωρούσαν τον σχεδιασμό του
&man.chroot.2; δεν επηρεάζουν τα jails του &os;.Ένα hostname (όνομα συστήματος) — το hostname το οποίο
θα χρησιμοποιηθεί μέσα στο jail. Τα jails χρησιμοποιούνται
κυρίως για την εξυπηρέτηση δικτυακών υπηρεσιών,
επομένως η ύπαρξη ενός χαρακτηριστικού hostname που να
περιγράφει ταυτόχρονα και τη χρήση του, μπορεί να βοηθήσει αρκετά
τον διαχειριστή συστήματος.Μια διεύθυνση IP — αυτή η διεύθυνση
αντιστοιχεί σε ένα jail και δεν μπορεί να αλλάξει κατά τη
διάρκεια της ζωής του. Η διεύθυνση IP ενός jail είναι συνήθως
μία διεύθυνση τύπου alias για μια ήδη υπάρχουσα διεπαφή δικτύου
(network interface), αλλά κάτι τέτοιο δεν είναι απαραίτητο.Μία εντολή — η διαδρομή προς ένα εκτελέσιμο το οποίο θα
εκτελείται μέσα στο jail. Η διαδρομή αυτή είναι σχετική ως προς
τον γονικό κατάλογο του περιβάλλοντος του jail, και μπορεί να
διαφέρει πολύ από jail σε jail ανάλογα με το συγκεκριμένο
περιβάλλον.Εκτός αυτών, τα jails μπορούν να έχουν τις δικές τους ομάδες
χρηστών και τον δικό τους χρήστη root. Φυσικά, ο
έλεγχος που έχει ο χρήστης root του jail,
περιορίζεται μέσα στο περιβάλλον του jail, και από την
οπτική γωνία του host system, ο χρήστης αυτός δεν είναι παντοδύναμος.
Επιπλέον, ο χρήστης root του jail, δεν μπορεί
να εκτελέσει κρίσιμες εργασίες στο σύστημα έξω από το περιβάλλον του
&man.jail.8;. Περισσότερες πληροφορίες σχετικά με τις δυνατότητες και
τους περιορισμούς του root θα βρείτε στο
.Δημιουργώντας και Ελέγχοντας JailsΜερικοί διαχειριστές συστημάτων κατηγοριοποιούν τα jails σε δύο
ενότητες: τα complete (πλήρη) jails, τα οποία μιμούνται
ένα πραγματικό σύστημα &os;, και τα service jails, τα
οποία χρησιμοποιούνται για μια εφαρμογή ή υπηρεσία, που πιθανόν
εκτελείται με ειδικά προνόμια. Αυτός είναι ένας νοητικός διαχωρισμός
και δεν επιδρά στη διαδικασία δημιουργίας ενός jail. Η σελίδα manual
του &man.jail.8; περιέχει κατατοπιστικές πληροφορίες για τη διαδικασία
δημιουργίας ενός jail:&prompt.root; setenv D /here/is/the/jail
&prompt.root; mkdir -p $D
&prompt.root; cd /usr/src
&prompt.root; make world DESTDIR=$D
&prompt.root; cd etc/Το βήμα αυτό δεν
απαιτείται από το &os; 6.0 και μετά.
&prompt.root; make distribution DESTDIR=$D
&prompt.root; mount -t devfs devfs $D/devΟ καλύτερος τρόπος για να ξεκινήσετε είναι με την επιλογή μιας
θέσης (διαδρομής) για το jail σας. Εκεί θα βρίσκονται αποθηκευμένα
τα αρχεία του jail όσο αφορά το σύστημα σας. Μια καλή ιδέα είναι
το /usr/jail/jailname,
όπου jailname το hostname με το οποίο θα
αναγνωρίζεται το jail. Το σύστημα αρχείων
/usr/ έχει συνήθως αρκετό
χώρο για το σύστημα αρχείων του jail, το οποίο, για ένα
complete jail είναι ουσιαστικά
ένας κλώνος κάθε αρχείου του βασικού συστήματος μια προεπιλεγμένης
εγκατάστασης του &os;.Η εντολή αυτή θα εμπλουτίσει τον κατάλογο που επιλέξατε για το
jail με όλα τα απαραίτητα αρχεία, βιβλιοθήκες, σελίδες βοήθειας κλπ.
Όλα γίνονται με τον τυπικό τρόπο του &os; — αρχικά
τα πάντα μεταγλωττίζονται και στη συνέχεια εγκαθίστανται στη
διαδρομή που έχετε επιλέξει.Το distribution target του
make εγκαθιστά όλα τα αρχεία ρυθμίσεων
που απαιτούνται. Με απλά λόγια, εγκαθιστά κάθε αρχείο από το
/usr/src/etc/ στον κατάλογο
/etc του περιβάλλοντος
jail: $D/etc/.Δε χρειάζεται να προσαρτήσετε το &man.devfs.8; στο περιβάλλον
του jail. Από την άλλη όμως, όλες, ή σχεδόν όλες οι εφαρμογές
χρειάζονται πρόσβαση σε τουλάχιστον μία συσκευή, αναλόγως με τον
σκοπό της εφαρμογής. Είναι πολύ σημαντικό να ελέγχεται η πρόσβαση
στις συσκευές μέσα σε ένα jail, καθώς λανθασμένες ρυθμίσεις
μπορεί να επιτρέψουν σε κάποιον εισβολέα να κάνει
άσχημα παιχνίδια μέσα στο jail.
Ο έλεγχος του &man.devfs.8; γίνεται μέσω ενός συνόλου κανόνων οι
οποίοι περιγράφονται στις σελίδες manual του &man.devfs.8; και του
&man.devfs.conf.5;.Από την στιγμή που έχει εγκατασταθεί ένα jail, μπορεί να εκκινηθεί
με τη χρήση της εντολής &man.jail.8;. Η &man.jail.8; δέχεται τέσσερις
υποχρεωτικές παραμέτρους οι οποίες περιγράφονται στο
. Μπορείτε να δώσετε και άλλες παραμέτρους,
π.χ., για να εκτελέσετε μια διεργασία στο περιβάλλον του jail με τις
άδειες ενός συγκεκριμένου χρήστη.
Η παράμετρος
εξαρτάται από τον τύπο του jail. Για ένα
εικονικό σύστημα, το /etc/rc
είναι μια καλή επιλογή, μια και στην ουσία θα κλωνοποιήσει
την διαδικασία εκκίνησης ενός πραγματικού συστήματος &os;. Για ένα
service jail, η παράμετρος εξαρτάται από την
υπηρεσία ή την εφαρμογή που θα τρέχει μέσα στο jail.Τα jails συνήθως ξεκινούν κατά την εκκίνηση και ο μηχανισμός
rc του &os; παρέχει έναν εύκολο τρόπο για να γίνει
κάτι τέτοιο.Η λίστα με τα jails που θέλετε να ξεκινάνε κατά την εκκίνηση θα
πρέπει να προστεθούν στο αρχείο &man.rc.conf.5;:jail_enable="YES" # Set to NO to disable starting of any jails
jail_list="www" # Space separated list of names of jailsΓια κάθε jail που υπάρχει στο jail_list, θα
πρέπει να προστεθεί μια ομάδα από ρυθμίσεις στο &man.rc.conf.5;, οι
οποίες θα το περιγράφουν:jail_www_rootdir="/usr/jail/www" # jail's root directory
jail_www_hostname="www.example.org" # jail's hostname
jail_www_ip="192.168.0.10" # jail's IP address
jail_www_devfs_enable="YES" # mount devfs in the jail
jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jailΗ προεπιλεγμένη εκκίνηση του jail μέσω του
&man.rc.conf.5;, θα ξεκινήσει το script του jail
/etc/rc, το οποίο υποθέτει ότι το jail είναι
ένα ολοκληρωμένο εικονικό σύστημα. Για service jails, η
προεπιλεγμένη εκκίνηση πρέπει να αλλάξει, ορίζοντας κατάλληλα την
επιλογή jail_jailname_exec_start.Για πλήρη λίστα των διαθέσιμων επιλογών, δείτε το
&man.rc.conf.5;.Το script /etc/rc.d/jail μπορεί να
χρησιμοποιηθεί για να ξεκινήσει ή να σταματήσει κάποιο jail
χειροκίνητα. Πρέπει όμως να υπάρχει η αντίστοιχη καταχώρηση στο
rc.conf:&prompt.root; /etc/rc.d/jail start www
&prompt.root; /etc/rc.d/jail stop wwwΓια την ώρα δεν υπάρχει κάποιος απόλυτα σωστός τρόπος για να
τερματίσετε κάποιο &man.jail.8;. Αυτό συμβαίνει, διότι οι εντολές
που χρησιμοποιούνται συνήθως για να τερματίσουν με ασφάλεια ένα
σύστημα, δεν μπορούν να χρησιμοποιηθούν μέσα στο περιβάλλον ενός jail.
Ο καλύτερος τρόπος για να τερματίσετε ένα jail είναι με την εκτέλεση
της ακόλουθης εντολής μέσα από το ίδιο το jail ή με χρήση του
βοηθητικού προγράμματος &man.jexec.8; έξω από αυτό:&prompt.root; sh /etc/rc.shutdownΠερισσότερες πληροφορίες σχετικά με αυτή τη διαδικασία μπορείτε να
βρείτε στη σελίδα βοηθείας του &man.jail.8;Λεπτομερής Ρύθμιση και ΔιαχείρισηΥπάρχουν αρκετές επιλογές που μπορούν να εφαρμοστούν σε ένα jail,
καθώς και διάφοροι τρόποι για να συνδυαστεί ένα σύστημα &os; με jails
προκειμένου να παράγουν εφαρμογές υψηλότερου επιπέδου. Η ενότητα αυτή
παρουσιάζει:Μερικές από τις διαθέσιμες επιλογές για την ρύθμιση της
συμπεριφοράς και των περιορισμών ασφαλείας που υλοποιούνται από την
εγκατάσταση ενός jail.Μερικές εφαρμογές υψηλού επιπέδου για τη διαχείριση jails,
οι οποίες είναι διαθέσιμες μέσω της συλλογής των Ports του &os; και
μπορούν να χρησιμοποιηθούν στην υλοποίηση ολοκληρωμένων λύσεων με
τη χρήση jails.Εργαλεία συστήματος του &os; για τη ρύθμιση jailsΛεπτομερής ρύθμιση ενός jail γίνεται κατά κύριο λόγο μέσω των
μεταβλητών του &man.sysctl.8;. Υπάρχει ένα ειδικό subtree του sysctl
το οποίο αποτελεί τη βάση για την οργάνωση όλων των σχετικών
επιλογών: πρόκειται για την ιεραρχία επιλογών πυρήνα
security.jail.*. Παρακάτω θα βρείτε μια λίστα με
τα κύρια sysctl που σχετίζονται με κάποιο jail καθώς και τις
προεπιλεγμένες τιμές τους. Τα ονόματα μάλλον εξηγούν από μόνα τους
την αντίστοιχη λειτουργία, αλλά για περισσότερες πληροφορίες μπορείτε
να δείτε τις σελίδες βοήθειας των &man.jail.8;
και &man.sysctl.8;.security.jail.set_hostname_allowed: 1security.jail.socket_unixiproute_only: 1security.jail.sysvipc_allowed: 0security.jail.enforce_statfs: 2security.jail.allow_raw_sockets: 0security.jail.chflags_allowed: 0security.jail.jailed: 0Οι μεταβλητές αυτές μπορούν να χρησιμοποιηθούν από τον
διαχειριστή του host system
προκειμένου να προσθέσει ή να αφαιρέσει περιορισμούς οι οποίοι
υπάρχουν αρχικά στον χρήστη root. Υπάρχουν όμως
και κάποιοι περιορισμοί οι οποίοι δεν μπορούν να αφαιρεθούν.
Ο χρήστης root δεν επιτρέπεται να προσαρτά ή να
απο-προσαρτά συστήματα αρχείων μέσα από ένα &man.jail.8;. Ο
root μέσα σε ένα jail δεν επιτρέπεται να
φορτώσει ή να αποφορτώσει τους κανόνες (rulesets) του &man.devfs.8;,
το firewall, και διάφορες άλλες εργασίες διαχείρισης οι οποίες
χρειάζονται τροποποίηση των δεδομένων του πυρήνα, όπως για παράδειγμα
ο ορισμός του securelevel του πυρήνα.Το βασικό σύστημα του &os; περιέχει τα βασικά εργαλεία για τη
προβολή πληροφοριών σχετικά με τα ενεργά jails, και επίσης για την
ανάθεση συγκεκριμένων εντολών διαχείρισης σε κάποιο jail. Οι εντολές
&man.jls.8; και &man.jexec.8; αποτελούν μέρος του βασικού συστήματος
του &os;, και μπορούν να χρησιμοποιηθούν για να τις παρακάτω απλές
εργασίες:Προβολή λίστας των ενεργών jails και τον αντίστοιχων
χαρακτηριστικών τους - jail identifier (JID),
διεύθυνση IP, hostname και path.Προσκόλληση σε κάποιο ενεργό jail, από το host system, και
εκτέλεση κάποιας εντολής μέσα στο jail ή εκτέλεση εργασιών
διαχείρισης μέσα στο jail. Κάτι τέτοιο είναι ιδιαίτερα χρήσιμο
όταν ο χρήστης root επιθυμεί να τερματίσει
με ασφάλεια κάποιο jail. Μπορεί επίσης να χρησιμοποιηθεί η εντολή
&man.jexec.8; για την εκτέλεση κάποιου shell μέσα στο jail
προκειμένου να εκτελεστούν εργασίες διαχείρισης, για
παράδειγμα:&prompt.root; jexec 1 tcshΕργαλεία διαχείρισης υψηλού επιπέδου στη συλλογή Ports
του &os;Ανάμεσα στις διάφορες εφαρμογές τρίτων κατασκευαστών για τη
διαχείριση των jails, ένα από τα ποιο ολοκληρωμένα και χρήσιμα πακέτα
είναι το sysutils/jailutils.
Αποτελεί ένα σύνολο μικρών εφαρμογών
οι οποίες συνεισφέρουν στη διαχείριση του &man.jail.8;. Για
περισσότερες πληροφορίες, δείτε στον δικτυακό του τόπο.Εφαρμογή των JailsDanielGerzoΣυνεισφορά του Service JailsΗ ενότητα αυτή είναι βασισμένη στην ιδέα που παρουσιάστηκε αρχικά
από τον &a.simon; στο , καθώς και
σε ένα ανανεωμένο άρθρο του Ken Tom locals@gmail.com.
Στην ενότητα αυτή θα σας δείξουμε πως να στήσετε ένα σύστημα &os; το
οποίο να διαθέτει ένα επιπλέον επίπεδο ασφάλειας, με τη χρήση του
&man.jail.8;. Υποθέτουμε ότι το σύστημα τρέχει τουλάχιστον RELENG_6_0
και ότι έχετε κατανοήσει όλες τις προηγούμενες πληροφορίες του
κεφαλαίου.ΣχεδιασμόςΈνα από τα σημαντικότερα προβλήματα με τα jails είναι η
διαχείριση της διαδικασίας αναβαθμίσεων. Αυτό τείνει να είναι
πρόβλημα διότι το κάθε jail πρέπει να δημιουργηθεί από την αρχή σε
κάθε αναβάθμιση. Συνήθως δεν είναι πρόβλημα αν έχετε ένα μόνο jail,
μια και πρόκειται για σχετικά απλή διαδικασία, αλλά γίνεται
κουραστική και χρονοβόρα αν έχετε πολλά jails.Οι παρακάτω ρυθμίσεις προϋποθέτουν εμπειρία με το &os; και τη
χρήση των διάφορων χαρακτηριστικών του. Εάν τα παρακάτω βήματα
σας φαίνονται πολύ περίπλοκα, είναι καλύτερα να ρίξετε μια ματιά
σε κάτι ποιο απλό όπως το
sysutils/ezjail, το οποίο
παρέχει έναν ευκολότερο τρόπο διαχείρισης των jails του &os; και
δεν είναι τόσο εξειδικευμένο όσο οι παρακάτω ρυθμίσεις.Η ιδέα αυτή έχει παρουσιαστεί για να λύσει τέτοιου είδους
προβλήματα, με την βοήθεια της κοινής χρήσης όσο το δυνατόν
περισσότερων αρχείων μεταξύ των jails, με έναν ασφαλή
όμως τρόπο — χρησιμοποιώντας προσαρτήσεις τύπου
&man.mount.nullfs.8; και μόνο για ανάγνωση (read only)
έτσι ώστε η αναβάθμιση να είναι ευκολότερη, και η χρήση μεμονωμένων
jails για κάθε υπηρεσία να καθίσταται επιθυμητή. Επιπλέον, παρέχει
έναν απλό τρόπο για να προσθέσετε και να αφαιρέσετε jails όπως
επίσης και να τα αναβαθμίσετε.Παραδείγματα υπηρεσιών τέτοιου τύπου: ένας
HTTP server, ένας DNS
server, ένας SMTP server, κλπ.Οι στόχοι των παρακάτω ρυθμίσεων είναι:Δημιουργία απλών και κατανοητών jails.
Αυτό σημαίνει ότι δεν θα τρέξουμε ένα
πλήρες installworld σε κάθε jail.Εύκολη προσθήκη και διαγραφή jails.Εύκολη αναβάθμιση υπαρχόντων jails.Δυνατότητα δημιουργίας προσαρμοσμένου τμήματος
του &os;.Όσο περισσότερη ασφάλεια είναι δυνατόν, με ελαχιστοποίηση
της πιθανότητας κακόβουλης χρήσης.Εξοικονόμηση χώρου και inodes.Όπως έχουμε ήδη πει, ο σχεδιασμός αυτός εξαρτάται ιδιαίτερα από
την ύπαρξη ενός αρχικού template στο οποίο δεν επιτρέπεται η
εγγραφή δεδομένων (γνωστό ως nullfs) και
το οποίο πρέπει να έχει προσαρτηθεί σε κάθε jail, όπως επίσης και
στην ύπαρξη για κάθε jail μιας συσκευής που να επιτρέπει τόσο την
ανάγνωση όσο και την εγγραφή. Μια τέτοια συσκευή μπορεί να είναι
κάποιος ξεχωριστός φυσικός δίσκος, μια κατάτμηση, ή κάποια συσκευή
vnode &man.md.4;. Στο παρακάτω παράδειγμα, θα χρησιμοποιήσουμε
προσαρτήσεις τύπου nullfs στις οποίες
θα επιτρέπεται εγγραφή και ανάγνωση.Η δομή του συστήματος αρχείων περιγράφεται στην παρακάτω
λίστα:Κάθε jail θα προσαρτάται κάτω από τον κατάλογο /home/j.Το /home/j/mroot
είναι το template για το κάθε jail και η κατάτμηση μόνο
ανάγνωσης για όλα τα jails.Θα δημιουργηθεί ένας κενός κατάλογος για κάθε jail κάτω
από τον κατάλογο
/home/j.Κάθε jail θα έχει έναν κατάλογο
/s, ο οποίος θα είναι
σύνδεσμος προς το εγγράψιμο μέρος του συστήματος.Κάθε jail θα έχει το δικό εγγράψιμο μέρος το οποίο
θα βασίζεται στο
/home/j/skel.Κάθε jailspace (το εγγράψιμο μέρος κάθε jail) θα πρέπει
να δημιουργηθεί στον κατάλογο
/home/js.Όλα αυτά προϋποθέτουν ότι τα jails βρίσκονται κάτω από τον
κατάλογο /home. Αυτό
βέβαια μπορεί να αλλάξει σε οτιδήποτε εσείς θέλετε, αλλά θα
επηρεάσει όλα τα παρακάτω παραδείγματα.Δημιουργώντας το TemplateΗ ενότητα αυτή θα περιγράψει τα βήματα που χρειάζονται
προκειμένου να δημιουργήσετε το πρωταρχικό template το οποίο θα
περιέχει το τμήμα των jails που είναι μόνο για ανάγνωση.Είναι πάντοτε καλή ιδέα να αναβαθμίζετε το &os; στη τελευταία
έκδοση -RELEASE. Για το σκοπό αυτό, διαβάστε το αντίστοιχο
κεφάλαιο
στο Εγχειρίδιο. Στη περίπτωση που η αναβάθμιση
δεν είναι εφικτή, θα χρειαστείτε buildworld για να μπορέσετε να
συνεχίσετε. Επιπλέον θα χρειαστείτε το πακέτο
sysutils/cpdup. Θα
χρησιμοποιήσουμε το βοηθητικό πρόγραμμα &man.portsnap.8; για να
κατεβάσουμε τη συλλογή των Ports. Για τους νεο-εισερχόμενους,
συνίσταται η ανάγνωση του κεφαλαίου για το
Portsnap στο Εγχειρίδιο του &os;.Αρχικά, δημιουργήστε μια δομή καταλόγων για το σύστημα
αρχείων το οποίο θα είναι μόνο για ανάγνωση, και το οποίο θα
περιέχει τα εκτελέσιμα (binaries) του &os; για τα jails.
Στη συνέχεια πηγαίνετε στον κατάλογο όπου βρίσκονται τα αρχεία
πηγαίου κώδικα (source tree) του &os; και
εγκαταστήστε τα αντίστοιχα αρχεία στο jail template:&prompt.root; mkdir /home/j /home/j/mroot
&prompt.root; cd /usr/src
&prompt.root; make installworld DESTDIR=/home/j/mrootΕπόμενο βήμα είναι να προετοιμάσετε τη συλλογή των Ports
του &os; για τα jails όπως επίσης και ένα &os; source tree, το
οποίο θα χρειαστεί για το
mergemaster:&prompt.root; cd /home/j/mroot
&prompt.root; mkdir usr/ports
&prompt.root; portsnap -p /home/j/mroot/usr/ports fetch extract
&prompt.root; cpdup /usr/src /home/j/mroot/usr/srcΔημιουργήστε το σκελετό για το τμήμα του συστήματος όπου
προορίζεται για ανάγνωση και εγγραφή:&prompt.root; mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles
&prompt.root; mv etc /home/j/skel
&prompt.root; mv usr/local /home/j/skel/usr-local
&prompt.root; mv tmp /home/j/skel
&prompt.root; mv var /home/j/skel
&prompt.root; mv root /home/j/skelΧρησιμοποιήστε το mergemaster
για να εγκαταστήσετε τα αρχεία ρυθμίσεων που λείπουν. Στη
συνέχεια διαγράψτε όλους τους έξτρα καταλόγους
που δημιουργεί το mergemaster:&prompt.root; mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i
&prompt.root; cd /home/j/skel
&prompt.root; rm -R bin boot lib libexec mnt proc rescue sbin sys usr devΤώρα, δημιουργήστε συνδέσμους από το σύστημα αρχείων στο
οποίο επιτρέπεται η εγγραφή, προς το σύστημα αρχείων που είναι
μόνο για ανάγνωση. Βεβαιωθείτε ότι οι σύνδεσμοι έχουν
δημιουργηθεί στις σωστές θέσεις s/. Η ύπαρξη πραγματικών
καταλόγων ή η δημιουργία καταλόγων σε λάθος θέσεις θα οδηγήσουν
την εγκατάσταση σε αποτυχία.&prompt.root; cd /home/j/mroot
&prompt.root; mkdir s
&prompt.root; ln -s s/etc etc
&prompt.root; ln -s s/home home
&prompt.root; ln -s s/root root
&prompt.root; ln -s ../s/usr-local usr/local
&prompt.root; ln -s ../s/usr-X11R6 usr/X11R6
&prompt.root; ln -s ../../s/distfiles usr/ports/distfiles
&prompt.root; ln -s s/tmp tmp
&prompt.root; ln -s s/var varΣαν τελευταίο βήμα, δημιουργήστε ένα γενικό αρχείο
/home/j/skel/etc/make.conf με τα παρακάτω
δεδομένα:WRKDIRPREFIX?= /s/portbuildΈχοντας ορίσει το WRKDIRPREFIX με
αυτόν τον τρόπο, θα μπορείτε να μεταγλωττίσετε ports του &os;
μέσα σε κάθε jail. Θυμηθείτε ότι ο κατάλογος των ports είναι
μέρος του συστήματος αρχείων που έχει προσαρτηθεί μόνο για
ανάγνωση. Η προσαρμοσμένη διαδρομή για το
WRKDIRPREFIX επιτρέπει την μεταγλώττιση
των ports στο εγγράψιμο μέρος του κάθε jail.Δημιουργώντας JailsΤώρα που έχουμε ένα ολοκληρωμένο &os; jail template, μπορούμε να
εγκαταστήσουμε και να ρυθμίσουμε τα jails στο
/etc/rc.conf. Το παράδειγμα αυτό δείχνει
τη δημιουργία τριών jails: NS,
MAIL και WWW.Εισάγετε τις παρακάτω γραμμές στο αρχείο
/etc/fstab, ώστε το μόνο για ανάγνωση
template για τα jails και ο εγγράψιμος χώρος
να είναι διαθέσιμα στα αντίστοιχα jails:/home/j/mroot /home/j/ns nullfs ro 0 0
/home/j/mroot /home/j/mail nullfs ro 0 0
/home/j/mroot /home/j/www nullfs ro 0 0
/home/js/ns /home/j/ns/s nullfs rw 0 0
/home/js/mail /home/j/mail/s nullfs rw 0 0
/home/js/www /home/j/www/s nullfs rw 0 0Οι κατατμήσεις που είναι σημειωμένες με 0 pass number δεν
ελέγχονται κατά την εκκίνηση από το &man.fsck.8;, ενώ για τις
κατατμήσεις με 0 dump number, η &man.dump.8; δεν θα
δημιουργεί αντίγραφα ασφαλείας. Προφανώς, δεν θέλουμε το
fsck να ελέγχει τις προσαρτήσεις
τύπου nullfs, ούτε και το
dump να κρατά αντίγραφα από τα
μόνο για ανάγνωση nullfs συστήματα αρχείων των jails. Αυτός
είναι και ο λόγος που βάλαμε 0 0 στις δύο
τελευταίες στήλες κάθε εγγραφής του
fstab.Ρυθμίστε τα jails στο
/etc/rc.conf:jail_enable="YES"
jail_set_hostname_allow="NO"
jail_list="ns mail www"
jail_ns_hostname="ns.example.org"
jail_ns_ip="192.168.3.17"
jail_ns_rootdir="/home/j/ns"
jail_ns_devfs_enable="YES"
jail_mail_hostname="mail.example.org"
jail_mail_ip="192.168.3.18"
jail_mail_rootdir="/home/j/mail"
jail_mail_devfs_enable="YES"
jail_www_hostname="www.example.org"
jail_www_ip="62.123.43.14"
jail_www_rootdir="/home/j/www"
jail_www_devfs_enable="YES"Ο λόγος για τον οποίο θέτουμε τη μεταβλητή
jail_name_rootdir
να δείχνει στο
/usr/home
αντί για το /home
είναι ότι η φυσική διαδρομή για τον κατάλογο
/home σε μια τυπική
εγκατάσταση του &os; είναι το
/usr/home. Η μεταβλητή
jail_name_rootdirδεν δεν πρέπει να δείχνει προς διαδρομή
που περιλαμβάνει συμβολικό δεσμό, διαφορετικά τα jails θα
αρνηθούν να ξεκινήσουν. Χρησιμοποιήστε το βοηθητικό πρόγραμμα
&man.realpath.1; για να προσδιορίσετε την τιμή που θα πρέπει
να λάβει αυτή η μεταβλητή. Δείτε το &os;-SA-07:01.jail
Security Advisory για περισσότερες πληροφορίες.Δημιουργήστε τα απαραίτητα σημεία προσαρτήσεων για το
σύστημα αρχείων μόνο ανάγνωσης του κάθε jail:&prompt.root; mkdir /home/j/ns /home/j/mail /home/j/wwwΕγκαταστήστε το εγγράψιμο template μέσα στο κάθε jail.
Προσέξτε εδώ τη χρήση του
sysutils/cpdup, το οποίο
επιβεβαιώνει ότι δημιουργείται το σωστό αντίγραφο του κάθε
καταλόγου:&prompt.root; mkdir /home/js
&prompt.root; cpdup /home/j/skel /home/js/ns
&prompt.root; cpdup /home/j/skel /home/js/mail
&prompt.root; cpdup /home/j/skel /home/js/wwwΣε αυτή τη φάση, τα jails έχουν δημιουργηθεί και είναι
έτοιμα να ξεκινήσουν. Προσαρτήστε το σωστό σύστημα αρχείων
για το κάθε jail, και στη συνέχεια εκκινήστε τα,
χρησιμοποιώντας το script
/etc/rc.d/jail:&prompt.root; mount -a
&prompt.root; /etc/rc.d/jail startΤα jails θα πρέπει τώρα να εκτελούνται κανονικά. Γα να ελέγξετε
αν έχουν ξεκινήσει σωστά, χρησιμοποιείστε την εντολή &man.jls.8;.
Θα πρέπει να δείτε κάτι αντίστοιχο με το παρακάτω:&prompt.root; jls
JID IP Address Hostname Path
3 192.168.3.17 ns.example.org /home/j/ns
2 192.168.3.18 mail.example.org /home/j/mail
1 62.123.43.14 www.example.org /home/j/wwwΣε αυτό το σημείο, θα πρέπει να μπορείτε να συνδεθείτε σε κάθε
jail, να προσθέσετε νέους χρήστες ή να ρυθμίσετε υπηρεσίες. Η στήλη
JID δηλώνει το χαρακτηριστικό αναγνωριστικό
αριθμό κάθε ενεργού jail. Χρησιμοποιήστε την παρακάτω εντολή
προκειμένου να εκτελέσετε εργασίες διαχείρισης του jail, με
JID 3:&prompt.root; jexec 3 tcshΑναβάθμισηΚάποια στιγμή, θα χρειαστεί να αναβαθμίσετε το σύστημά σας σε
μια νέα έκδοση του &os;, είτε για λόγους ασφάλειας, είτε γιατί
υπάρχουν νέες δυνατότητες στην νεώτερη έκδοση οι οποίες είναι
χρήσιμες για τα jails που ήδη έχετε. Ο τρόπος που χρησιμοποιήσαμε
για την δημιουργία των jails, επιτρέπει την εύκολη αναβάθμιση τους.
Επιπλέον, ελαχιστοποιεί το χρόνο διακοπής της λειτουργίας τους, μια
και θα χρειαστεί να τα σταματήσετε μόνο κατά τα λίγα τελευταία
λεπτά. Επίσης, παρέχει έναν τρόπο να επιστρέψετε σε παλαιότερες
εκδόσεις εάν προκύψουν οποιαδήποτε σφάλματα.Το πρώτο βήμα είναι να αναβαθμίσετε το σύστημα στο οποίο
φιλοξενούνται τα jails, με το συνήθη τρόπο. Στη συνέχεια
δημιουργήστε ένα νέο προσωρινό template κατάλογο, μόνο για
ανάγνωση, στο
/home/j/mroot2.&prompt.root; mkdir /home/j/mroot2
&prompt.root; cd /usr/src
&prompt.root; make installworld DESTDIR=/home/j/mroot2
&prompt.root; cd /home/j/mroot2
&prompt.root; cpdup /usr/src usr/src
&prompt.root; mkdir sΤο installworld δημιουργεί
μερικούς καταλόγους που δε χρειάζονται, και θα πρέπει
να διαγραφούν:&prompt.root; chflags -R 0 var
&prompt.root; rm -R etc var root usr/local tmpΔημιουργήστε ξανά τους συνδέσμους για το σύστημα αρχείων
ανάγνωσης - εγγραφής:&prompt.root; ln -s s/etc etc
&prompt.root; ln -s s/root root
&prompt.root; ln -s s/home home
&prompt.root; ln -s ../s/usr-local usr/local
&prompt.root; ln -s ../s/usr-X11R6 usr/X11R6
&prompt.root; ln -s s/tmp tmp
&prompt.root; ln -s s/var varΤώρα είναι η σωστή στιγμή για να σταματήσετε τα
jails:&prompt.root; /etc/rc.d/jail stopΑποπροσαρτήστε τα αρχικά συστήματα αρχείων:&prompt.root; umount /home/j/ns/s
&prompt.root; umount /home/j/ns
&prompt.root; umount /home/j/mail/s
&prompt.root; umount /home/j/mail
&prompt.root; umount /home/j/www/s
&prompt.root; umount /home/j/wwwΤα συστήματα αρχείων ανάγνωσης - εγγραφής είναι
προσαρτημένα στο σύστημα αρχείων μόνο ανάγνωσης
(/s) και πρέπει να
είναι τα πρώτα που θα αποπροσαρτηθούν.Μετακινήστε τον παλιό μόνο για ανάγνωση κατάλογο, και
αντικαταστήστε τον με τον καινούργιο. Ο παλιός θα παραμείνει ως
αντίγραφο ασφαλείας του παλιού συστήματος σε περίπτωση
προβλήματος. Ο τρόπος ονομασίας που ακολουθήσαμε εδώ
αντιστοιχεί στη χρονική στιγμή δημιουργίας του νέου συστήματος
αρχείων μόνο ανάγνωσης. Μετακινήστε την αρχική συλλογή των
Ports του &os; στο νέο σύστημα, αρχείων προκειμένου να
εξοικονομήσετε χώρο και inodes:&prompt.root; cd /home/j
&prompt.root; mv mroot mroot.20060601
&prompt.root; mv mroot2 mroot
&prompt.root; mv mroot.20060601/usr/ports mroot/usrΣε αυτό το σημείο το μόνο για ανάγνωση template είναι
έτοιμο, οπότε το μόνο που απομένει είναι να προσαρτήσετε ξανά
τα συστήματα αρχείων και να ξεκινήσετε τα jails:&prompt.root; mount -a
&prompt.root; /etc/rc.d/jail startΧρησιμοποιείτε την εντολή &man.jls.8; για να ελέγξετε εάν τα
jails ξεκίνησαν σωστά. Μην ξεχάσετε να εκτελέσετε το mergemaster
για το κάθε jail. Θα χρειαστεί να αναβαθμίσετε τόσο τα αρχεία
ρυθμίσεων, όσο και τα rc.d scripts.
diff --git a/el_GR.ISO8859-7/books/handbook/linuxemu/chapter.sgml b/el_GR.ISO8859-7/books/handbook/linuxemu/chapter.sgml
index 33b1355cee..8590a48cf2 100644
--- a/el_GR.ISO8859-7/books/handbook/linuxemu/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/linuxemu/chapter.sgml
@@ -1,3691 +1,3692 @@
JimMockΑναδομήθηκε και μέρη του ανανεώθηκαν από τον Brian N.HandyΑρχική συνεισφορά από τον RichMurpheyΣυμβατότητα με Εκτελέσιμα του LinuxΣύνοψηΣυμβατότητα με εκτελέσιμα (binary) Linuxbinary συμβατότηταLinuxσυμβατότητα εκτελέσιμων Linuxσυμβατότητα εκτελέσιμωνLinuxΤο &os; παρέχει binary συμβατότητα (εκτελέσιμων) με αρκετά άλλα
λειτουργικά τύπου &unix;, συμπεριλαμβανομένου και του Linux. Σε αυτό
το σημείο, μπορεί να αναρωτιέστε γιατί ακριβώς χρειάζεται το &os; να
μπορεί να τρέξει εκτελέσιμα Linux; H απάντηση σε αυτή την ερώτηση είναι
αρκετά απλή. Πολλές εταιρίες και προγραμματιστές αναπτύσσουν εφαρμογές
μόνο για Linux, μια και είναι πολύ της μόδας στο
κόσμο των υπολογιστών. Αυτό αναγκάζει εμάς τους υπόλοιπους, που
χρησιμοποιούμε το &os;, να πιέζουμε τις ίδιες αυτές εταιρίες και
προγραμματιστές να δημιουργήσουν κανονικές εκδόσεις των εφαρμογών
τους για &os;. Το πρόβλημα είναι, ότι οι περισσότερες από αυτές τις
εταιρίες δεν αντιλαμβάνονται πραγματικά πόσοι περισσότεροι άνθρωποι θα
χρησιμοποιούσαν το προϊόν τους αν είχαν εκδόσεις και για &os;, και οι
περισσότερες συνεχίζουν να αναπτύσσουν μόνο για Linux. Άρα τι μπορεί να
κάνει ένας χρήστης του &os;; Εδώ έρχεται να βοηθήσει η binary
συμβατότητα του &os; με το Linux.Εν συντομία, η συμβατότητα επιτρέπει στους χρήστες του &os; να
εκτελέσουν περίπου το 90% όλων των Linux εφαρμογών χωρίς μετατροπές.
Αυτό περιλαμβάνει εφαρμογές όπως
το &staroffice;, την Linux έκδοση
του &netscape;,
&adobe; &acrobat;,
RealPlayer,
VMware,
&oracle;,
WordPerfect,
Doom,
Quake, και περισσότερα. Έχει επίσης
αναφερθεί ότι σε κάποιες περιπτώσεις, τα εκτελέσιμα του Linux έχουν
καλύτερη απόδοση στο &os; από ότι στο Linux.Υπάρχουν ωστόσο κάποια συγκεκριμένα για το Linux στοιχεία του
λειτουργικού που δεν υποστηρίζονται στο &os;. Τα εκτελέσιμα του Linux
δεν θα δουλέψουν στο &os; αν χρησιμοποιούν πολλές εξειδικευμένες
κλήσεις &i386;, όπως για παράδειγμα την ενεργοποίηση της εικονικής
κατάστασης 8086.Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε:Πως να ενεργοποιήσετε την συμβατότητα εκτελέσιμων με το Linux
στο σύστημα σας.Πως να εγκαταστήσετε πρόσθετες κοινόχρηστες βιβλιοθήκες του
Linux.Πως να εγκαταστήσετε εφαρμογές του Linux στο &os;.Τις λεπτομέρειες της υλοποίησης της συμβατότητας με το Linux στο
&os;.Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:Να γνωρίζετε πως θα εγκαταστήσετε πρόσθετο λογισμικό
τρίτου κατασκευαστή ().ΕγκατάστασηKLD (kernel loadable object)Η συμβατότητα με εκτελέσιμα του Linux δεν είναι ενεργή εξ' αρχής. Ο
ευκολότερος τρόπος για να ενεργοποιήσετε αυτή τη λειτουργία είναι να
φορτώσετε το KLD (άρθρωμα) linux (Kernel
LoaDable object). Μπορείτε να φορτώσετε αυτό το άρθρωμα στον
πυρήνα δίνοντας τη παρακάτω εντολή ως root:&prompt.root; kldload linuxΑν θέλετε να έχετε πάντα ενεργοποιημένη τη συμβατότητα με Linux,
τότε θα χρειαστεί να προσθέσετε τη παρακάτω γραμμή στο
/etc/rc.conf:linux_enable="YES"Η εντολή &man.kldstat.8; μπορεί να χρησιμοποιηθεί για να ελεγχθεί
αν το KLD είναι φορτωμένο:&prompt.user; kldstat
Id Refs Address Size Name
1 2 0xc0100000 16bdb8 kernel
7 1 0xc24db000 d000 linux.kokernel optionsCOMPAT_LINUXΑν για κάποιο λόγο δεν θέλετε ή δε μπορείτε να φορτώσετε το KLD,
τότε μπορείτε να συνδέσετε στατικά την υποστήριξη εκτελέσιμων του Linux
στον πυρήνα με το να προσθέσετε την επιλογή options
COMPAT_LINUX στο αρχείων ρυθμίσεων του πυρήνα. Στη συνέχεια
μπορείτε να εγκαταστήσετε τον νέο πυρήνα όπως περιγράφεται στο
.Εγκατάσταση των Linux Runtime LibrariesLinuxεγκατάσταση βιβλιοθηκών LinuxΑυτό μπορεί να γίνει με δύο τρόπους. Είτε με τη χρήση του
linux_base port, ή
με χειροκίνητη
εγκατάσταση τους.Εγκατάσταση μέσω του linux_base PortPorts CollectionΑυτός είναι κατά γενική ομολογία ο ευκολότερος τρόπος για την
εγκατάσταση των runtime libraries. Είναι η ίδια διαδικασία
εγκατάστασης που ακολουθείται και για οποιοδήποτε άλλο port από
τη Συλλογή των
Ports. Απλά κάντε το παρακάτω:&prompt.root; cd /usr/ports/emulators/linux_base-fc4
&prompt.root; make install distcleanΘα πρέπει τώρα να έχετε κανονική συμβατότητα με εκτελέσιμα του
Linux. Μερικά προγράμματα παραπονιούνται ότι οι βιβλιοθήκες
συστήματος (system libraries) δεν είναι στη τελευταία τους έκδοση.
Γενικά όμως, αυτό δεν αποτελεί κανένα πρόβλημα.Μπορούν να υπάρχουν πολλαπλές εκδόσεις
του emulators/linux_base, που να
αντιστοιχούν στις διαφορετικές εκδόσεις των διανομών Linux. Θα
πρέπει να κάνετε εγκατάσταση των ports που προαπαιτούνται από τις
εφαρμογές Linux τις οποίες θέλετε να εγκαταστήσετε.Χειροκίνητη εγκατάσταση των LibrariesΑν δεν έχετε εγκαταστήσει την συλλογή των ports,
μπορείτε να εγκαταστήσετε τις βιβλιοθήκες χειροκίνητα. Θα
χρειαστείτε τα Linux shared libraries τα οποία απαιτεί το πρόγραμμα.
Επίσης, θα χρειαστεί να δημιουργήσετε και έναν κατάλογο
shadow root, /compat/linux, για
τις βιβλιοθήκες Linux που θα υπάρχουν στο &os;. Οποιαδήποτε κοινές
βιβλιοθήκες (shared libraries) οι οποίες χρησιμοποιούνται από
εφαρμογές Linux και εκτελούνται στο &os; θα κοιτάξουν πρώτα σε
αυτόν τον κατάλογο. Επομένως, αν μια εφαρμογή Linux φορτώσει για
παράδειγμα το /lib/libc.so, το &os; θα
προσπαθήσει να φορτώσει πρώτα το
/compat/linux/lib/libc.so,
και αν αυτό δεν υπάρχει, τότε θα προσπαθήσει να φορτώσει
το /lib/libc.so. Τα shared libraries θα πρέπει
να εγκατασταθούν στο shadow
tree /compat/linux/lib αντί για τις τοποθεσίες
που αναφέρει το ld.so στο Linux.Γενικά, τουλάχιστον στις πρώτες σας εγκαταστάσεις εφαρμογών
Linux, θα χρειαστεί να ψάξετε για τις κοινές βιβλιοθήκες από τα
αντίστοιχα εκτελέσιμα. Μετά από κάποιο διάστημα θα έχετε ένα
ικανοποιητικό αριθμό Linux shared libraries στο σύστημά σας και
πλέον δε θα χρειάζεται επιπλέον εργασία πέρα από την εγκατάσταση της
εφαρμογής.Εγκατάσταση Πρόσθετων Shared Librariesshared librariesΚαι τι γίνεται στη περίπτωση που έχετε εγκαταστήσει
το linux_base port και οι εφαρμογές σας ακόμη
παραπονιούνται για shared libraries που λείπουν; Πώς μπορείτε να
ξέρετε ποια shared libraries χρειάζεται κάποια εφαρμογή, και που
μπορείτε να τα βρείτε; Βασικά, υπάρχουν 2 επιλογές (για να
ακολουθήσετε τις παρακάτω οδηγίες θα πρέπει να είστε
root στο σύστημά σας).Αν έχετε πρόσβαση σε κάποιο μηχάνημα Linux, ρίξτε μια ματιά στα
shared libraries που χρειάζεται μια εφαρμογή, και αντιγράψτε τα στο
&os;. Δείτε το παρακάτω παράδειγμα:Ας υποθέσουμε ότι κατεβάσατε μέσω FTP το εκτελέσιμο του
Doom για το Linux, και το βάλατε
στο Linux σύστημα στο οποίο έχετε πρόσβαση. Μπορείτε στη
συνέχεια να ελέγξετε ποια shared libraries χρειάζεται η εφαρμογή
με την εντολή ldd linuxdoom, όπως:&prompt.user; ldd linuxdoom
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29symbolic linksΘα χρειαστεί να πάρετε όλα τα αρχεία από τη τελευταία στήλη,
και να τα αντιγράψετε στον
κατάλογο /compat/linux, και να δημιουργήσετε
προς αυτά τους αντίστοιχους συμβολικούς δεσμούς (symbolic links)
με τα ονόματα της πρώτης στήλης. Αυτό σημαίνει ότι πρακτικά,
θα έχετε αυτά τα αρχεία στο σύστημα σας:/compat/linux/usr/X11/lib/libXt.so.3.1.0
/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Σημειώστε ότι αν έχετε ήδη κάποιο Linux shared library
που ο αριθμός έκδοσης είναι ο ίδιος με αυτόν της πρώτης στήλης
του ldd, δε θα χρειαστεί να αντιγράψετε το
αρχείο όπως αυτό ονομάζεται στη τελευταία στήλη, τα υπάρχοντα
αρχεία θα πρέπει να κάνουν τη δουλειά τους. Σας συμβουλεύουμε
όμως να αντιγράψετε το shared library αν είναι κάποια νεότερη
έκδοση. Μπορείτε να διαγράψετε τα παλιά αρχεία, αρκεί όμως να
ανανεώσετε τους συμβολικούς δεσμούς ώστε να οδηγούν στα νέα
αρχεία. Επομένως, αν έχετε τις παρακάτω βιβλιοθήκες στο
σύστημά σας:/compat/linux/lib/libc.so.4.6.27
/compat/linux/lib/libc.so.4 -> libc.so.4.6.27και βρείτε μια εφαρμογή η οποία ζητάει μια νεότερη έκδοση
μέσω του ldd:
libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29Αν η διαφορά της έκδοσης στο τελευταία ψηφίο είναι μόνο
μίας ή δύο εκδόσεων, τότε μην σας απασχολεί η αντιγραφή του
/lib/libc.so.4.6.29, γιατί το πρόγραμμα
θα πρέπει να τρέχει κανονικά και με τη λίγο παλαιότερη έκδοση.
Παρ' όλα αυτά, αν θέλετε, μπορείτε να αντικαταστήσετε το
libc.so και έτσι θα έχετε το παρακάτω:
/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Ο μηχανισμός των συμβολικών συνδέσμων χρειάζεται
μόνο για τις εφαρμογές του Linux. Ο
runtime linker του &os; κοιτάει μόνος του για τις πιο
πρόσφατες εκδόσεις των βιβλιοθηκών και έτσι δε χρειάζεται να
σας απασχολεί.
Εγκατάσταση των Linux ELF BinariesLinuxELF binariesΤα ELF binaries χρειάζονται μερικές φορές ένα ακόμα βήμα, το
branding. Αν προσπαθήσετε να τρέξετε ένα
εκτελέσιμο ELF χωρίς branding, τότε θα σας εμφανιστεί το παρακάτω
σφάλμα:&prompt.user; ./my-linux-elf-binary
ELF binary type not known
AbortΓια να βοηθήσετε τον πυρήνα του &os; να ξεχωρίσει ένα ELF του
&os; από ένα του Linux, χρησιμοποιήσετε την εντολή &man.brandelf.1;.
&prompt.user; brandelf -t Linux my-linux-elf-binaryGNU toolchainTo GNU toolchain, ομάδα πρόγραμμα GNU, τοποθετεί πλέον αυτόματα τα
κατάλληλα χαρακτηριστικά στα εκτελέσιμα ELF, επομένως το παραπάνω βήμα
θα χρειάζεται όλο και λιγότερο στο μέλλον.
Ρύθμιση του Hostname ResolverΑν το DNS δε δουλεύει ή αν σας εμφανίζεται το παρακάτω
σφάλμα:resolv+: "bind" is an invalid keyword resolv+:
"hosts" is an invalid keywordΘα χρειαστεί να ρυθμίσετε
το /compat/linux/etc/host.conf ώστε να περιέχει:
order hosts, bind
multi onΗ σειρά εδώ δηλώνει ότι αρχικά ελέγχεται το
αρχείο /etc/hosts και στη συνέχεια ο DNS server.
Όταν το /compat/linux/etc/host.conf δεν είναι
διαθέσιμο, οι εφαρμογές Linux χρησιμοποιούν το
/etc/host.conf του &os; και παραπονιούνται ότι
η σύνταξη του αρχείου δεν είναι σωστή. Θα πρέπει να αφαιρέσετε
την αναφορά στο bind αν δεν έχετε ρυθμίσει ένα
name server μέσω του /etc/resolv.conf.BorisHollasΑνανεώθηκε για το Mathematica 5.X από τον Εγκαθιστώντας το &mathematica;applicationsMathematicaΤο κείμενο αυτό περιγράφει τη διαδικασία εγκατάστασης της έκδοσης
Linux του &mathematica; 5.X σε ένα
σύστημα &os;.Μπορείτε να αγοράσετε την κανονική ή μαθητική έκδοση του
&mathematica; για Linux, απευθείας από τη
Wolfram στο .Το Πρόγραμμα Εγκατάστασης του &mathematica;Αρχικά, θα πρέπει να πείτε στο &os; ότι τα εκτελέσιμα για Linux
του &mathematica; κάνουν χρήση του Linux
ABI. Ο ευκολότερος τρόπος για να το κάνετε αυτό είναι να ορίσετε τον
τύπο του ELF ως Linux σε όλες τις εφαρμογές που δεν είναι ήδη
branded, κάνοντας χρήση της εντολής:&prompt.root; sysctl kern.fallback_elf_brand=3Αυτό θα κάνει το &os; να υποθέσει ότι τα εκτελέσιμα ELF που δεν
είναι branded, κάνουν χρήση του Linux ABI και έτσι θα μπορείτε να
τρέξετε το πρόγραμμα της εγκατάστασης απευθείας από το CDROM.Τώρα, αντιγράψτε το αρχείο MathInstaller
στον σκληρό σας δίσκο:&prompt.root; mount /cdrom
&prompt.root; cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/Ανοίξτε το αρχείο και αντικαταστήστε το /bin/sh
στη πρώτη γραμμή με το /compat/linux/bin/sh. Αυτό
θα σιγουρέψει ότι το πρόγραμμα εγκατάστασης θα τρέχει με την έκδοση
&man.sh.1; για Linux. Στη συνέχεια, αντικαταστήστε όλες τις εγγραφές
Linux) με &os;) χρησιμοποιώντας
έναν συντάκτη κειμένου ή με το παρακάτω script στην επόμενη ενότητα.
Αυτό θα πει στο πρόγραμμα εγκατάστασης του
&mathematica;,
το οποίο τρέχει την εντολή uname -s για να
διαπιστώσει το λειτουργικό σύστημα,
να αντιμετωπίσει το &os; σαν ένα λειτουργικό παρεμφερές με το Linux.
Η εκτέλεση του MathInstaller θα ξεκινήσει τώρα την
εγκατάσταση του &mathematica;.Τροποποιώντας τα Εκτελέσιμα του &mathematica;Τα shell scripts τα οποία δημιουργεί
το &mathematica; κατά τη διαδικασία της
εγκατάστασης πρέπει να τροποποιηθούν πριν χρησιμοποιηθούν. Αν
επιλέξετε το /usr/local/bin ως
τον κατάλογο για τα εκτελέσιμα του
&mathematica;, θα βρείτε εκεί
συμβολικούς δεσμούς (symlinks) προς τα αρχεία
math, mathematica,
Mathematica, και
MathKernel. Σε κάθε περίπτωση από τις παραπάνω,
αντικαταστήστε τις εγγραφές
Linux) με &os;) με κάποιον
συντάκτη κειμένου ή με το παρακάτω shell script:#!/bin/sh
cd /usr/local/bin
for i in math mathematica Mathematica MathKernel
do sed 's/Linux)/&os;)/g' $i > $i.tmp
sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i
rm $i.tmp
chmod a+x $i
doneΑποκτώντας Κωδικό για το &mathematica;EthernetMAC addressΌταν εκκινήσετε το &mathematica; για
πρώτη φορά, θα ερωτηθείτε για έναν κωδικό. Αν δεν έχετε κάποιον
κωδικό σε αυτό το στάδιο, τρέξτε το πρόγραμμα
mathinfo που βρίσκεται στον κατάλογο εγκατάστασης
για να σας δοθεί το machine ID. Το "machine ID" είναι
εξ' ολοκλήρου βασισμένο στη διεύθυνση MAC της κάρτας δικτύου που
έχετε. Αυτό σημαίνει ότι δεν μπορείτε να τρέξετε το
&mathematica; σε άλλους υπολογιστές.
Όταν εγγραφείτε στη Wolfram, με e-mail, τηλέφωνο ή fax, θα
χρειαστεί να δώσετε το machine ID και θα σας απαντήσουν
με έναν αντίστοιχο κωδικό που θα αποτελείται από μια σειρά αριθμών.
Τρέχοντας το &mathematica; Frontend μέσω ΔικτύουΤο &mathematica; κάνει χρήση κάποιων
ειδικών γραμματοσειρών για να εμφανίσει χαρακτήρες οι οποίοι δεν
υπάρχουν στα συνηθισμένα σετ (ολοκληρώματα, αθροίσματα, Ελληνικά
γράμματα, κλπ). To πρωτόκολλο X απαιτεί αυτές οι
γραμματοσειρές να υπάρχουν στο τοπικό σύστημα.
Αυτό σημαίνει ότι θα χρειαστεί να αντιγράψετε τις γραμματοσειρές αυτές
από το CDROM ή από από κάποιον άλλον υπολογιστή που έχει
το &mathematica;. Συνήθως αυτές οι
γραμματοσειρές μπορούν να βρεθούν μέσα στο κατάλογο
/cdrom/Unix/Files/SystemFiles/Fonts του
CDROM, ή στον κατάλογο
/usr/local/mathematica/SystemFiles/Fonts στον
τοπικό σκληρό δίσκο. Οι πραγματικές γραμματοσειρές βρίσκονται σε
υποκαταλόγους όπως Type1 και
X. Υπάρχουν αρκετοί τρόποι
να τις χρησιμοποιήσετε, οι οποίοι περιγράφονται στη συνέχεια.Ο πρώτος τρόπος είναι να τις αντιγράψετε μέσα σε έναν υπάρχοντα
κατάλογο στο /usr/X11R6/lib/X11/fonts. Θα
χρειαστεί όμως να τροποποιήσετε το
αρχείο fonts.dir, ώστε να προσθέσετε τα ονόματα
των γραμματοσειρών μέσα σε αυτό, και να αλλάξετε τον αριθμό των
γραμματοσειρών στη πρώτη γραμμή. Εναλλακτικά, είναι συνήθως αρκετό
να εκτελέσετε απλώς την εντολή &man.mkfontdir.1; μέσα στον κατάλογο
που έχετε αντιγράψει τις γραμματοσειρές.
Ο δεύτερος τρόπος είναι να αντιγράψετε τους παραπάνω καταλόγους
μέσα στο /usr/X11R6/lib/X11/fonts:&prompt.root; cd /usr/X11R6/lib/X11/fonts
&prompt.root; mkdir X
&prompt.root; mkdir MathType1
&prompt.root; cd /cdrom/Unix/Files/SystemFiles/Fonts
&prompt.root; cp X/* /usr/X11R6/lib/X11/fonts/X
&prompt.root; cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1
&prompt.root; cd /usr/X11R6/lib/X11/fonts/X
&prompt.root; mkfontdir
&prompt.root; cd ../MathType1
&prompt.root; mkfontdirΤώρα προσθέστε τους νέους καταλόγους με τις γραμματοσειρές στο
font path:&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/X
&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
&prompt.root; xset fp rehashΑν χρησιμοποιείτε το &xorg;, μπορείτε
να φορτώνετε τις γραμματοσειρές αυτές αυτόματα, προσθέτοντας τους
νέους καταλόγους στο αρχείο xorg.conf.
Για τον εξυπηρετητή &xfree86;,
το αρχείο ρυθμίσεων είναι το XF86Config.fontsΑν δεν έχετε ήδη έναν κατάλογο με το
όνομα /usr/X11R6/lib/X11/fonts/Type1, μπορείτε να
αλλάξετε το όνομα του MathType1 από το παραπάνω
παράδειγμα σε Type1.AaronKaplanΣυνεισφορά του RobertGetschmannΕυχαριστίες στον Εγκαθιστώντας το &maple;applicationsMapleΤο &maple; είναι μία εμπορική εφαρμογή
μαθηματικών παρόμοια με το &mathematica;. Θα
πρέπει να αγοράσετε το λογισμικό από
το και στη συνέχεια να
κάνετε αίτηση για μια άδεια χρήσης. Για να εγκαταστήσετε το λογισμικό
στο &os;, ακολουθήστε τα παρακάτω απλά βήματα.
Εκτελέστε το INSTALL shell script από το
μέσο εγκατάστασης που έχετε. Επιλέξτε RedHat όταν
ερωτηθείτε από το πρόγραμμα εγκατάστασης. Ο τυπικός κατάλογος
είναι ο /usr/local/maple.
Αν δεν έχετε αγοράσει ακόμη κάποια άδεια για
το &maple;, αγοράστε μία από το
Maple Waterloo Software
() και
αντιγράψτε το αρχείο που θα σας δοθεί
στο /usr/local/maple/license/license.dat.
Εγκαταστήσετε το FLEXlm license
manager εκτελώντας το INSTALL_LIC shell
script το οποία παρέχεται μαζί με
το &maple;. Δώστε το βασικό όνομα του
υπολογιστή σας το οποίο απαιτείται από τον
εξυπηρετητή διαχείρισης των αδειών (license server).Χρησιμοποιήστε το παρακάτω patch στο αρχείο
/usr/local/maple/bin/maple.system.type:
----- snip ------------------
*** maple.system.type.orig Sun Jul 8 16:35:33 2001
--- maple.system.type Sun Jul 8 16:35:51 2001
***************
*** 72,77 ****
--- 72,78 ----
# the IBM RS/6000 AIX case
MAPLE_BIN="bin.IBM_RISC_UNIX"
;;
+ "FreeBSD"|\
"Linux")
# the Linux/x86 case
# We have two Linux implementations, one for Red Hat and
----- snip end of patch -----Σημειώστε ότι μετά το "FreeBSD"|\
δεν πρέπει να εμφανίζεται άλλο κενό διάστημα.Το patch αυτό οδηγεί το &maple; να
αναγνωρίσει το &os; σαν ένα σύστημα Linux.
Το bin/maple shell script καλεί το
bin/maple.system.type shell script, το οποίο με
τη σειρά του καλεί την εντολή uname -a
προκειμένου να εντοπιστεί το όνομα του λειτουργικού
συστήματος. Αναλόγως με το ποιο λειτουργικό βρεθεί, θα
χρησιμοποιηθούν και τα αντίστοιχα εκτελέσιμα αρχεία.Εκκινήστε τον license server.Ένας βολικός τρόπος για να εκκινήσετε τοlmgrd
είναι το ακόλουθο script που βρίσκεται στο
/usr/local/etc/rc.d/lmgrd.sh: ----- snip ------------
#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX
export PATH
LICENSE_FILE=/usr/local/maple/license/license.dat
LOG=/var/log/lmgrd.log
case "$1" in
start)
lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2
echo -n " lmgrd"
;;
stop)
lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2
;;
*)
echo "Usage: `basename $0` {start|stop}" 1>&2
exit 64
;;
esac
exit 0
----- snip ------------Δοκιμή του &maple;:&prompt.user; cd /usr/local/maple/bin
&prompt.user; ./xmapleΣε αυτό το σημείο θα πρέπει να είναι όλα έτοιμα και να μην έχετε
κανένα πρόβλημα. Μην ξεχάσετε όμως να στείλετε ένα e-mail στη
Maplesoft και να τους πείτε ότι θέλετε μια έκδοση που να
υποστηρίζεται επίσημα στο &os;.Συνηθισμένα ΠροβλήματαΊσως δυσκολευτείτε με την λειτουργία του
FLEXlm license manager. Επιπλέον
τεκμηρίωση μπορείτε να βρείτε
στο .
Το lmgrd είναι γνωστό ότι θέλει το αρχείο
της άδειας να έχει συγκεκριμένη μορφή αλλιώς η εκτέλεση του θα
αποτύχει. Ένα σωστό αρχείο άδειας χρήσης πρέπει είναι σε γενικές
γραμμές όπως το παρακάτω:# =======================================================
# License File for UNIX Installations ("Pointer File")
# =======================================================
SERVER chillig ANY
#USE_SERVER
VENDOR maplelmg
FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \
PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \
ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \
SN=XXXXXXXXXΟ σειριακός αριθμός και το κλειδί φαίνονται εδώ με
'X'. Το chillig είναι το όνομα του
συστήματος.Μπορείτε να τροποποιήσετε το αρχείο της άδειας χρήσης, αρκεί
να μην αλλάξετε την γραμμή FEATURE (η οποία
προστατεύεται από το κλειδί της άδειας).DanPellegΣυνεισφορά του Εγκαθιστώντας το &matlab;applicationsMATLABΤο κείμενο αυτό περιγράφει τη διαδικασία εγκατάστασης της Linux
έκδοσης του &matlab; 6.5 σε ένα σύστημα &os;.
Δουλεύει αρκετά καλά, με εξαίρεση
το &java.virtual.machine; (δείτε στο
).Η Linux έκδοση του &matlab; μπορεί να
αγοραστεί απευθείας από την εταιρεία The MathWorks
στο . Σιγουρευτείτε ότι
πήρατε και το αρχείο που περιέχει την άδεια χρήσης ή οδηγίες για το πως
να το δημιουργήσετε. Μια και θα επικοινωνήσετε με την εταιρεία, πείτε
τους ότι θα θέλατε να υπάρχει επίσης υποστήριξη για το &os;.
Εγκατάσταση του &matlab;Για να εγκαταστήσετε το &matlab;, κάντε
τα παρακάτω:Εισάγετε το CD και προσαρτήστε το στο σύστημα σας. Συνδεθείτε
ως χρήστης root, όπως συνιστά το script της
εγκατάστασης. Για να ξεκινήσετε το script της εγκατάστασης δώστε
την εντολή:&prompt.root; /compat/linux/bin/sh /cdrom/installΤο πρόγραμμα της εγκατάστασης είναι σε γραφικό
περιβάλλον. Αν λαμβάνετε σφάλματα σχετικά με την οθόνη, δώστε
την εντολή: setenv HOME ~USER,
όπου USER είναι ο χρήστης από όπου
δώσατε την εντολή &man.su.1;.
Όταν ερωτηθείτε για τον κατάλογο
του &matlab;, δώστε:
/compat/linux/usr/local/matlab.Για ευκολότερη διαδικασία εγκατάστασης, ορίστε το παρακάτω:
set MATLAB=/compat/linux/usr/local/matlab
στη γραμμή εντολών του κελύφους σας.Τροποποιήσετε το αρχείο της άδειας (license file) σύμφωνα με
τις οδηγίες που λάβατε με την άδεια
του &matlab;.Μπορείτε να ετοιμάσετε εκ των προτέρων το αρχείο αυτό και να
το αντιγράψετε στο $MATLAB/license.dat,
πριν καν σας πει το πρόγραμμα εγκατάστασης να το
τροποποιήσετε.Ολοκλήρωση της ΕγκατάστασηςΣε αυτό το σημείο, η εγκατάσταση
του &matlab; έχει ολοκληρωθεί. Τα επόμενα
βήματα χρειάζονται για να μπορέσετε να το δουλέψετε σωστά με το
&os;.Εκκίνηση του License ManagerΔημιουργία συμβολικών συνδέσμων για τα scripts του license
manager:&prompt.root; ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
&prompt.root; ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMWΔημιουργήστε το αρχείο
εκκίνησης /usr/local/etc/rc.d/flexlm.sh. Το
παράδειγμα παρακάτω είναι μια τροποποιημένη έκδοση του
$MATLAB/etc/rc.lm.glnx86. Οι αλλαγές
είναι στις τοποθεσίες των αρχείων, και στην εκκίνηση του license
manager στο περιβάλλον εξομοίωσης Linux του &os; .#!/bin/sh
case "$1" in
start)
if [ -f /usr/local/etc/lmboot_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u username && echo 'MATLAB_lmgrd'
fi
;;
stop)
if [ -f /usr/local/etc/lmdown_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmdown_TMW > /dev/null 2>&1
fi
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0Το αρχείο πρέπει να είναι εκτελέσιμο:&prompt.root; chmod +x /usr/local/etc/rc.d/flexlm.shΠρέπει επίσης να αντικαταστήσετε το παραπάνω
username με ένα υπαρκτό όνομα
χρήστη του συστήματος σας (και να μην είναι ο
root).Εκκινήστε τον license manager με την εντολή:&prompt.root; /usr/local/etc/rc.d/flexlm.sh startΣύνδεση με το Περιβάλλον του &java; Runtime EnvironmentΑλλάξτε τον σύνδεσμο του&java; Runtime
Environment (JRE) σε έναν ο οποίος θα δουλεύει στο &os;:&prompt.root; cd $MATLAB/sys/java/jre/glnx86/
&prompt.root; unlink jre; ln -s ./jre1.1.8 ./jreΔημιουργήστε το Script Εκκίνησης του &matlab; Τοποθετήστε το παρακάτω script στο
/usr/local/bin/matlab:#!/bin/sh
/compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"Στη συνέχεια δώστε την εντολή
chmod +x /usr/local/bin/matlab.Ανάλογα με την έκδοση του
emulators/linux_base, που έχετε,
μπορεί να εμφανιστούν μερικά σφάλματα όταν τρέξετε το
script. Για να το αποφύγετε αυτό, τροποποιήστε το αρχείο
/compat/linux/usr/local/matlab/bin/matlab,
και αλλάξτε τη γραμμή που λέει:if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then(στην έκδοση 13.0.1 βρίσκεται στη γραμμή 410) σε αυτή τη
γραμμή:if test -L $newbase; thenΔημιουργία Script Τερματισμού του &matlab; Τα επόμενα βήματα χρειάζονται για να λύσετε ένα πρόβλημα που
υπάρχει με τον τερματισμό του &matlab;.Δημιουργήστε το
αρχείο $MATLAB/toolbox/local/finish.m, και
μέσα σε αυτό προσθέστε μόνο τη γραμμή:! $MATLAB/bin/finish.shTo $MATLAB γράψτε το ακριβώς
όπως το βλέπετε.Στον ίδιο κατάλογο, θα βρείτε τα
αρχεία finishsav.m
και finishdlg.m, τα οποία θα σας δίνουν τη
δυνατότητα να σώζετε την εργασία σας πριν κλείσετε το πρόγραμμα.
Αν πρόκειται να χρησιμοποιήσετε κάποιο από αυτά, προσθέστε του
την παραπάνω γραμμή αμέσως μετά την εντολή
save .Δημιουργήστε το
αρχείο $MATLAB/bin/finish.sh, το οποίο θα
περιέχει τα παρακάτω:#!/usr/compat/linux/bin/sh
(sleep 5; killall -1 matlab_helper) &
exit 0Κάντε το αρχείο εκτελέσιμο:&prompt.root; chmod +x $MATLAB/bin/finish.shΧρησιμοποιώντας το &matlab;Σε αυτό το σημείο θα πρέπει να είστε έτοιμοι να δώσετε την
εντολή matlab και να αρχίσετε να χρησιμοποιείτε την
εφαρμογή.MarcelMoolenaarΣυνεισφορά του Εγκατάσταση της &oracle;applicationsOracleΕισαγωγήΤο κείμενο αυτό περιγράφει τη διαδικασία εγκατάστασης
των &oracle; 8.0.5
και &oracle; 8.0.5.1 Enterprise Edition για
Linux σε ένα σύστημα &os;.Εγκατάσταση του Περιβάλλοντος LinuxΣιγουρευτείτε ότι έχετε εγκαταστήσει
τα emulators/linux_base
και devel/linux_devtools από τη
συλλογή των Ports. Αν αντιμετωπίζετε δυσκολίες με τα παραπάνω, ίσως
χρειαστεί να τα εγκαταστήσετε από πακέτα ή από παλιότερες εκδόσεις της
συλλογής των Ports.Αν θέλετε να τρέξετε τον intelligent agent, θα χρειαστεί να
εγκαταστήσετε και το πακέτο Red Hat
Tcl: tcl-8.0.3-20.i386.rpm. Η εντολή για την
εγκατάσταση μέσω του επίσημου RPM port
(archivers/rpm) είναι:&prompt.root; rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm packageΗ εγκατάσταση του package θα πρέπει να
γίνει ομαλά και χωρίς προβλήματα.Ρυθμίζοντας το Περιβάλλον για την &oracle; Πριν την εγκατάσταση της &oracle;, θα
πρέπει να ρυθμίσετε σωστά το περιβάλλον του συστήματός σας. Το
παρακάτω κείμενο περιγράφει τι ακριβώς πρέπει να
κάνετε για να εκτελέσετε την &oracle; για
Linux στο &os;, και δεν περιγράφει ότι υπάρχει ήδη στον οδηγό
εγκατάστασης της &oracle;.Ρύθμιση του Πυρήναkernel tuningΌπως περιγράφει ο οδηγός εγκατάστασης
της &oracle;, θα πρέπει να ορίσετε τις
τιμές της shared memory στο μέγιστο. Μην χρησιμοποιήσετε
το SHMMAX στο &os;. Το SHMMAX
υπολογίζεται απλώς από το SHMMAXPGS και το
PGSIZE. Επομένως καθορίστε το
SHMMAXPGS. Όλες οι άλλες επιλογές μπορούν να
οριστούν όπως περιγράφεται στον οδηγό. Για παράδειγμα:options SHMMAXPGS=10000
options SHMMNI=100
options SHMSEG=10
options SEMMNS=200
options SEMMNI=70
options SEMMSL=61Ορίστε τις τιμές των επιλογών έτσι ώστε να ταιριάζουν στη χρήση
της &oracle; που θέλετε να κάνετε.Επίσης, επιβεβαιώστε ότι έχετε ενεργοποιήσει τις παρακάτω
επιλογές στις ρυθμίσεις του πυρήνα:options SYSVSHM #SysV shared memory
options SYSVSEM #SysV semaphores
options SYSVMSG #SysV interprocess communicationΟ Χρήστης &oracle;Δημιουργήστε ένα χρήστη συστήματος με
όνομα oracle, με τον ίδιο τρόπο που θα
δημιουργούσατε και οποιονδήποτε άλλον χρήστη. Το μόνο ιδιαίτερο
χαρακτηριστικό του χρήστη oracle είναι ότι
χρειάζεται να του δώσετε ένα κέλυφος Linux. Προσθέστε
το /compat/linux/bin/bash
στο /etc/shells και ορίστε το κέλυφος του
χρήστη oracle
σε /compat/linux/bin/bash.Το ΠεριβάλλονΕκτός των συνηθισμένων μεταβλητών
της &oracle;, όπως
οι ORACLE_HOME και ORACLE_SID θα
πρέπει να ορίσετε και τις ακόλουθες μεταβλητές περιβάλλοντος:ΜεταβλητήΤιμήLD_LIBRARY_PATH$ORACLE_HOME/libCLASSPATH$ORACLE_HOME/jdbc/lib/classes111.zipPATH/compat/linux/bin
/compat/linux/sbin
/compat/linux/usr/bin
/compat/linux/usr/sbin
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
$ORACLE_HOME/binΣας συνιστούμε να ορίσετε όλες τις μεταβλητές περιβάλλοντος στο
αρχείο .profile. Ένα ολοκληρωμένο παράδειγμα
είναι το παρακάτω:ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH
ORACLE_SID=ORCL; export ORACLE_SID
ORACLE_TERM=386x; export ORACLE_TERM
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
export CLASSPATH
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
export PATHΕγκατάσταση της &oracle;Λόγω μια μικρής έλλειψης στον εξομοιωτή του Linux, θα χρειαστεί να
δημιουργήσετε έναν κατάλογο με το όνομα .oracle
μέσα στο /var/tmp, πριν ξεκινήσετε το πρόγραμμα
εγκατάστασης. Ο κατάλογος αυτός θα πρέπει να ανήκει
στον χρήστη oracle. Θα πρέπει τώρα να
πραγματοποιήσετε την εγκατάσταση
της &oracle; δίχως κανένα πρόβλημα. Αν
αντιμετωπίζετε όμως ακόμη προβλήματα, ελέγξτε την έκδοση
της &oracle; που έχετε ή/και τις
ρυθμίσεις σας! Αφότου έχετε πραγματοποιήσει την εγκατάσταση
της &oracle;, εφαρμόστε τα patches που
περιγράφονται στις δύο παρακάτω ενότητες.Ένα συχνό πρόβλημα είναι ότι δεν γίνεται σωστή εγκατάσταση του
προσαρμογέα του πρωτοκόλλου TCP. Αυτό έχει ως αποτέλεσμα να μην
μπορείτε να ξεκινήσετε τους TCP listeners. Οι ακόλουθες οδηγίες θα
σας βοηθήσουν να λύσετε αυτό το πρόβλημα.:&prompt.root; cd $ORACLE_HOME/network/lib
&prompt.root; make -f ins_network.mk ntcontab.o
&prompt.root; cd $ORACLE_HOME/lib
&prompt.root; ar r libnetwork.a ntcontab.o
&prompt.root; cd $ORACLE_HOME/network/lib
&prompt.root; make -f ins_network.mk installΜη ξεχάσετε να τρέξετε ξανά το root.shΔιόρθωση του root.shΌταν εγκαθιστάτε την &oracle;,
κάποιες ενέργειες, οι οποίες χρειάζονται να γίνουν
ως root, καταγράφονται σε ένα shell script που
λέγεται root.sh. Το script αυτό δημιουργείται
στον κατάλογο orainst. Εφαρμόστε το παρακάτω
patch στο root.sh, για να μπορέσει να βρει και
να χρησιμοποιήσει το chown. Εναλλακτικά, τρέξτε
το script μέσα από ένα κέλυφος Linux.*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
--- orainst/root.sh Mon Dec 28 15:58:53 1998
***************
*** 31,37 ****
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/bin/chown
#
# Define variables to be used in this script
--- 31,37 ----
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/usr/sbin/chown
#
# Define variables to be used in this scriptΌταν δεν κάνετε χρήση του CD για την εγκατάσταση, μπορείτε να
περάσετε το patch για το root.sh, στην πηγή
εγκατάστασης. To αρχείο ονομάζεται rthd.sh και
βρίσκεται στον κατάλογο orainst.Διόρθωση του genclntshTo script genclntsh χρησιμοποιείται για να
δημιουργήσει μια shared client library. Τρέξτε το παρακάτω patch για
να σβήσετε το καθορισμένο PATH:*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
--- bin/genclntsh Tue Dec 22 15:36:49 1998
***************
*** 32,38 ****
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst
--- 32,38 ----
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lstΕκτέλεση της &oracle;Αφού έχετε ακολουθήσει αυτές τις οδηγίες, θα πρέπει να μπορείτε
να εκτελέσετε την &oracle; σαν να
βρισκόσασταν σε ένα σύστημα Linux.
HolgerKippΣυνεισφορά του ValentinoVaschettoΑρχική μετατροπή σε SGML από τον Εγκατάσταση του &sap.r3;applicationsSAP R/3Η εγκατάσταση συστημάτων &sap;
χρησιμοποιώντας το &os; δεν υποστηρίζεται από την ομάδα υποστήριξης της
&sap; — υποστήριξη παρέχεται μόνο σε συγκεκριμένες,
υποστηριζόμενες, πλατφόρμες.ΕισαγωγήΤο κείμενο αυτό περιγράφει ένα πιθανό τρόπο για την εγκατάσταση
του &sap.r3; System με μία βάση
δεδομένων &oracle; για Linux σε ένα σύστημα
&os;, περιλαμβάνοντας την εγκατάσταση του &os;
και της &oracle;. Θα περιγράψουμε δύο
διαφορετικά είδη ρυθμίσεων:&sap.r3; 4.6B (IDES)
με &oracle; 8.0.5 σε &os;
4.3-STABLE&sap.r3; 4.6C
με &oracle; 8.1.7 σε &os;
4.5-STABLEΠαρ' όλο που αυτό το κείμενο προσπαθεί να περιγράψει με
λεπτομέρειες όλα τα απαραίτητα βήματα, δεν θα πρέπει να θεωρηθεί ως
αντικαταστάτης των οδηγών εγκατάστασης
της &oracle; και
του &sap.r3;.Δείτε τον οδηγό του &sap.r3; για Linux
για ερωτήσεις σχετικά με το &sap;
και την &oracle;, και για πηγές από
την &oracle; και το &sap;
OSS.ΛογισμικόΤα ακόλουθα CD-ROMs έχουν χρησιμοποιηθεί για την εγκατάσταση
του &sap;:&sap.r3; 4.6B, &oracle; 8.0.5ΌνομαΑρίθμησηΠεριγραφήKERNEL51009113SAP Kernel Oracle / Installation / AIX, Linux,
SolarisRDBMS51007558Oracle / RDBMS 8.0.5.X / LinuxEXPORT151010208IDES / DB-Export / Disc 1 of 6EXPORT251010209IDES / DB-Export / Disc 2 of 6EXPORT351010210IDES / DB-Export / Disc 3 of 6EXPORT451010211IDES / DB-Export / Disc 4 of 6EXPORT551010212IDES / DB-Export / Disc 5 of 6EXPORT651010213IDES / DB-Export / Disc 6 of 6Επιπλέον, χρησιμοποιήσαμε το &oracle; 8
Server (Pre-production version 8.0.5 για Linux, Kernel
Version 2.0.33) CD το οποίο δεν είναι απαραίτητο, και το &os;
4.3-STABLE (ένα στιγμιότυπο λίγες μόνο μέρες μετά την έκδοση
4.3-RELEASE).&sap.r3; 4.6C SR2, &oracle; 8.1.7ΌνομαΑρίθμησηΠεριγραφήKERNEL51014004SAP Kernel Oracle / SAP Kernel Version 4.6D / DEC,
LinuxRDBMS51012930Oracle 8.1.7/ RDBMS / LinuxEXPORT151013953Release 4.6C SR2 / Export / Disc 1 of 4EXPORT151013953Release 4.6C SR2 / Export / Disc 2 of 4EXPORT151013953Release 4.6C SR2 / Export / Disc 3 of 4EXPORT151013953Release 4.6C SR2 / Export / Disc 4 of 4LANG151013954Release 4.6C SR2 / Language / DE, EN, FR / Disc 1 of 3
Αναλόγως με τις γλώσσες που θέλετε να εγκαταστήσετε, θα
χρειαστείτε επιπλέον τα αντίστοιχα CDs. Εμείς χρησιμοποιούμε
Γερμανικά (DE) και Αγγλικά (EN), οπότε χρειαζόμαστε μόνο το πρώτο
CD. Μια μικρή σημείωση, η αρίθμηση των EXPORT CDs είναι ακριβώς η
ίδια. Όλα τα CDs των γλωσσών έχουν την ίδια αρίθμηση (αυτό διαφέρει
σε σχέση με την αρίθμηση της έκδοσης 4.6B IDES). Την ώρα που
γράφονται αυτές οι γραμμές, η εγκατάσταση λειτουργεί σε &os;
4.5-STABLE (20.03.2002).Σημειώσεις &sap;Οι ακόλουθες σημειώσεις θα πρέπει να διαβαστούν πριν την
εγκατάσταση του &sap.r3; μια και είναι
χρήσιμες για τη διαδικασία εγκατάστασης:&sap.r3; 4.6B, &oracle; 8.0.5ΑρίθμησηΤίτλος0171356SAP Software on Linux: Essential Comments0201147INST: 4.6C R/3 Inst. on UNIX - Oracle0373203Update / Migration Oracle 8.0.5 --> 8.0.6/8.1.6
LINUX0072984Release of Digital UNIX 4.0B for Oracle0130581R3SETUP step DIPGNTAB terminates0144978Your system has not been installed correctly0162266Questions and tips for R3SETUP on Windows NT / W2K&sap.r3; 4.6C, &oracle; 8.1.7ΑρίθμησηΤίτλος0015023Initializing table TCPDB (RSXP0004) (EBCDIC)0045619R/3 with several languages or typefaces0171356SAP Software on Linux: Essential Comments0195603RedHat 6.1 Enterprise version:
Known problems0212876The new archiving tool SAPCAR0300900Linux: Released DELL Hardware0377187RedHat 6.2: important remarks0387074INST: R/3 4.6C SR2 Installation on UNIX0387077INST: R/3 4.6C SR2 Inst. on UNIX - Oracle0387078SAP Software on UNIX: OS Dependencies 4.6C SR2Απαιτήσεις ΣυστήματοςΟ ακόλουθος εξοπλισμός είναι αρκετός για μια τυπική εγκατάσταση
του &sap.r3; System. Για μηχανήματα
παραγωγής θα χρειαστείτε φυσικά καλύτερη εκτίμηση των απαιτήσεων
σας:Εξάρτημα4.6B4.6CΕπεξεργαστής2 x 800MHz &pentium; III2 x 800MHz &pentium; IIIΜνήμη1GB ECC2GB ECCΣκληρός Δίσκος50-60GB (IDES)50-60GB (IDES)Για χρήση σε παραγωγή, θα χρειαστείτε επεξεργαστές &xeon; με
μεγάλη μνήμη cache, δίσκους υψηλής ταχύτητας (SCSI, με hardware
ελεγκτή RAID), USV και ECC-RAM. Το μεγάλο μέγεθος του σκληρού δίσκου,
οφείλεται στο προρυθμισμένο σύστημα IDES, που δημιουργεί 27 GB
αρχεία βάσης δεδομένων κατά τη διάρκεια της εγκατάστασης. Ο χώρος
αυτός επαρκεί επίσης για τα δεδομένα της εφαρμογής σε ένα αρχικό
σύστημα παραγωγής.&sap.r3; 4.6B, &oracle; 8.0.5Χρησιμοποιήθηκαν τα ακόλουθα κοινά εξαρτήματα: μητρική για δύο
επεξεργαστές με 2 &pentium; III στα 800 MHZ,
ελεγκτή SCSI &adaptec; 29160 Ultra160 (για πρόσβαση σε οδηγό
ταινίας 40/80 GB DLT και στο CDROM), &mylex; &acceleraid;
(2 καναλιών, firmware 6.00-1-00 με 32 MB RAM). Στο &mylex;
RAID controller είναι συνδεδεμένοι δύο σκληροί δίσκοι των
17 GB (mirrored) και τέσσερις των 36 GB (RAID level 5).
&sap.r3; 4.6C, &oracle; 8.1.7Σε αυτή την εγκατάσταση χρησιμοποιήσαμε έναν &dell; &poweredge;
2500: μητρική με δύο επεξεργαστές &pentium; III στα 1000 MHz
(256 kB Cache), 2 GB PC133 ECC SDRAM, PERC/3 DC PCI RAID
Controller με 128 MB, και οδηγό EIDE DVD-ROM. Στο RAID
controller είναι συνδεδεμένοι δύο σκληροί δίσκοι των 18 GB
(mirrored) και τέσσερις των 36 GB (RAID level 5).Εγκατάσταση του &os;Αρχικά πρέπει να εγκαταστήσετε το &os;. Αυτό μπορεί να γίνει με
διάφορους τρόπους, για περισσότερες πληροφορίες δείτε
στο .Διάταξη ΔίσκουΓια να κρατήσουμε τη διαδικασία απλή, χρησιμοποιήσαμε την ίδια
διάταξη δίσκου, τόσο στο &sap.r3; 46B
όσο και στο &sap.r3; 46C SR2. Μόνο τα
ονόματα των συσκευών άλλαξαν, καθώς η κάθε εγκατάσταση έγινε σε
διαφορετικό μηχάνημα. (/dev/da
και /dev/amr αντίστοιχα, οπότε αν
χρησιμοποιείτε έναν AMI &megaraid;, θα δείτε
το /dev/amr0s1a αντί
του /dev/da0s1a):Σύστημα αρχείωνΜέγεθος (1k-blocks)Μέγεθος (GB)Προσάρτηση στο/dev/da0s1a1.016.3031//dev/da0s1b6swap/dev/da0s1e2.032.6232/var/dev/da0s1f8.205.3398/usr/dev/da1s1e45.734.36145/compat/linux/oracle/dev/da1s1f2.032.6232/compat/linux/sapmnt/dev/da1s1g2.032.6232/compat/linux/usr/sapΡυθμίστε από πριν τους δύο δίσκους με το λογισμικό &mylex; ή
το PERC/3 RAID. Μπορείτε να εισέλθετε σε αυτό κατά τη φάση
εκκίνησης του BIOS. Προσέξτε εδώ ότι η διάταξη του δίσκου διαφέρει λίγο ως προς
τη συνιστώμενη από τη &sap;, καθώς η &sap; προτείνει να
προσαρτήσετε τους υποκαταλόγους της
&oracle; (και κάποιους άλλους) ξεχωριστά
— εμείς προτιμήσαμε, για λόγους απλότητας, να δημιουργήσουμε
κανονικούς καταλόγους.make world και Νέος ΠυρήναςΚατεβάστε τον πηγαίο κώδικα του τελευταίου πυρήνα
-STABLE. Μεταγλωττίστε το world (βασικό σύστημα) και τον πυρήνα σας
αφού δημιουργήσετε πρώτα ένα προσαρμοσμένο αρχείο ρυθμίσεων
πυρήνα. Εδώ θα πρέπει να συμπεριλάβετε και τις
παραμέτρους
πυρήνα (kernel parameters) οι οποίες χρειάζονται τόσο για
το &sap.r3; όσο και
την &oracle;.Εγκατάσταση του Περιβάλλοντος LinuxΕγκατάσταση του Linux Base SystemΑρχικά χρειάζεται να έχετε εγκαταστήσει
το linux_base port (ως
χρήστης root):&prompt.root; cd /usr/ports/emulators/linux_base
&prompt.root; make install distcleanΕγκατάσταση του Περιβάλλοντος Ανάπτυξης LinuxΤο περιβάλλον ανάπτυξης Linux χρειάζεται αν θέλετε να
εγκαταστήσετε την &oracle; στο &os; όπως
περιγράφεται στο :&prompt.root; cd /usr/ports/devel/linux_devtools
&prompt.root; make install distcleanΕγκαταστήσαμε το περιβάλλον ανάπτυξης Linux μόνο για την
εγκατάσταση του &sap.r3; 46B IDES. Αν
έχετε εγκαταστήσει την &oracle; DB από
την &oracle; για συστήματα Linux, τότε
δεν χρειάζεται να σας απασχολεί.Εγκατάσταση των Απαραίτητων RPMsRPMsΓια να ξεκινήσει το πρόγραμμα R3SETUP,
χρειάζεται να υπάρχει υποστήριξη PAM. Κατά τη διάρκεια της
πρώτης εγκατάστασης του &sap; στο &os;
4.3-STABLE, προσπαθήσαμε να εγκαταστήσουμε το PAM με όλα τα
απαραίτητα πακέτα και τελικά εξαναγκάσαμε την εγκατάσταση του
πακέτου PAM, το οποίο και δούλεψε. Για το
&sap.r3; 4.6C SR2 εξαναγκάσαμε άμεσα
την εγκατάσταση του πακέτου PAM, το οποίο επίσης δούλεψε, πράγμα
που σημαίνει ότι τα πακέτα που αναφέρονται ως εξαρτήσεις του, δεν
χρειάζονται:&prompt.root; rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \
pam-0.68-7.i386.rpmΓια τον intelligent agent του &oracle;
8.0.5, έπρεπε να εγκαταστήσουμε το πακέτο Tcl της
RedHat tcl-8.0.5-30.i386.rpm (διαφορετικά η
επανασύνδεση κατά τη διάρκεια της εγκατάστασης
της &oracle; δεν θα ήταν εφικτή).
Υπάρχουν και κάποια άλλα προβλήματα σχετικά με τη επανασύνδεση
της &oracle;, αλλά αυτό είναι θέμα
της &oracle; για Linux, και όχι του
&os;.Επιπλέον ΣυμβουλέςΊσως είναι επίσης καλή ιδέα να προσθέσετε
το linprocfs
στο /etc/fstab. Για περισσότερες πληροφορίες,
δείτε τη σελίδα manual &man.linprocfs.5;. Μια άλλη παράμετρος που
μπορείτε να ορίσετε είναι
η kern.fallback_elf_brand=3 η οποία ορίζεται στο
αρχείο /etc/sysctl.conf.Δημιουργία του Περιβάλλοντος &sap.r3;Δημιουργία των Απαραιτήτων Συστημάτων Αρχείων και
ΠροσαρτήσεωνΓια μια απλή εγκατάσταση, αρκεί να δημιουργήσετε τα παρακάτω
συστήματα αρχείων και προσαρτήσεις:σημείο προσάρτησηςμέγεθος σε GB/compat/linux/oracle45 GB/compat/linux/sapmnt2 GB/compat/linux/usr/sap2 GBΕίναι επίσης απαραίτητο να δημιουργήσετε και μερικούς
συνδέσμους. Διαφορετικά το πρόγραμμα εγκατάστασης
του &sap; θα παραπονεθεί:&prompt.root; ln -s /compat/linux/oracle /oracle
&prompt.root; ln -s /compat/linux/sapmnt /sapmnt
&prompt.root; ln -s /compat/linux/usr/sap /usr/sapΈνα πιθανό μήνυμα σφάλματος κατά τη διάρκεια της εγκατάστασης
(εδώ με System PRD και εγκατάσταση
του &sap.r3; 4.6C SR2):INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200
Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to
/sapmnt/PRD/exe. Creating if it does not exist...
WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400
Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file
/compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The
program cannot go on as long as this link exists at this
location. Move the link to another location.
ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0
can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content
'/sapmnt/PRD/exe'Δημιουργία Χρηστών και ΚαταλόγωνΤο &sap.r3; χρειάζεται δύο χρήστες
και τρεις ομάδες (groups). Τα ονόματα των χρηστών εξαρτώνται από
το &sap; system ID (SID) το οποίο
αποτελείται από τρία γράμματα. Μερικά από αυτά τα SIDs είναι
δεσμευμένα από το &sap; (για παράδειγμα
τα SAP και NIX. Για πλήρη
λίστα δείτε την τεκμηρίωση του &sap;).
Για την εγκατάσταση IDES, χρησιμοποιήσαμε IDS,
για την εγκατάσταση στο σύστημα 4.6C SR2 χρησιμοποιήσαμε
PRD, καθώς αυτό το σύστημα προορίζεται για χρήση
παραγωγής. Επομένως, χρειαστήκαμε τις ακόλουθες ομάδες (τα ID των
ομάδων μπορούν να διαφέρουν, αυτές είναι απλώς οι τιμές που
χρησιμοποιήσαμε στη δική μας εγκατάσταση):ID ομάδαςόνομα ομάδαςπεριγραφή100dbaData Base Administrator (Διαχειριστής Βάσης
Δεδομένων)101sapsys&sap; System102operData Base Operator (Χειριστής Βάσης Δεδομένων)Για τη τυπική εγκατάσταση
της &oracle;, θα χρειαστείτε μόνο την
ομάδα dba (δείτε τη τεκμηρίωση
της &oracle; και
του &sap; για περισσότερες
πληροφορίες).Θα χρειαστούμε επίσης τους ακόλουθους χρήστες:ID χρήστηόνομα χρήστηγενικό όνομααρχική ομάδαεπιπλέον ομάδεςπεριγραφή1000idsadm/prdadmsidadmsapsysoper&sap; Administrator (Διαχειριστής)1002oraids/oraprdorasiddbaoper&oracle; Administrator (Διαχειριστής)Η προσθήκη των χρηστών με την εντολή &man.adduser.8; απαιτεί
τις ακόλουθες καταχωρήσεις για τον
&sap; Administrator (προσέξτε το shell και τον
κατάλογο home):Name: sidadm
Password: ******
Fullname: SAP Administrator SID
Uid: 1000
Gid: 101 (sapsys)
Class:
Groups: sapsys dba
HOME: /home/sidadm
Shell: bash (/compat/linux/bin/bash)και για τον &oracle; Administrator:Name: orasid
Password: ******
Fullname: Oracle Administrator SID
Uid: 1002
Gid: 100 (dba)
Class:
Groups: dba
HOME: /oracle/sid
Shell: bash (/compat/linux/bin/bash)Θα πρέπει να περιλάβετε και την ομάδα
oper σε περίπτωση που χρησιμοποιήσετε
και τις δύο ομάδες dba
και oper.Δημιουργία ΚαταλόγωνΟι παρακάτω κατάλογοι δημιουργούνται συνήθως ως ξεχωριστά
συστήματα αρχείων. Αυτό όμως εξαρτάται από τις απαιτήσεις σας.
Εμείς επιλέξαμε να τους δημιουργήσουμε ως απλούς καταλόγους,
καθώς όλοι τους βρίσκονται στο ίδιο RAID 5:Αρχικά θα χρειαστεί να ορίσουμε ιδιοκτήτες και άδειες σε
κάποιους καταλόγους (ως χρήστης root):&prompt.root; chmod 775 /oracle
&prompt.root; chmod 777 /sapmnt
&prompt.root; chown root:dba /oracle
&prompt.root; chown sidadm:sapsys /compat/linux/usr/sap
&prompt.root; chmod 775 /compat/linux/usr/sapΣε δεύτερη φάση θα δημιουργήσουμε τους καταλόγους ως χρήστης
orasid. Όλοι αυτοί
οι κατάλογοι υπάγονται
στον /oracle/SID:
&prompt.root; su - orasid
&prompt.root; cd /oracle/SID
&prompt.root; mkdir mirrlogA mirrlogB origlogA origlogB
&prompt.root; mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6
&prompt.root; mkdir saparch sapreorg
&prompt.root; exitΓια την εγκατάσταση της &oracle;
8.1.7, θα χρειαστούν μερικοί κατάλογοι ακόμη:&prompt.root; su - orasid
&prompt.root; cd /oracle
&prompt.root; mkdir 805_32
&prompt.root; mkdir client stage
&prompt.root; mkdir client/80x_32
&prompt.root; mkdir stage/817_32
&prompt.root; cd /oracle/SID
&prompt.root; mkdir 817_32Ο κατάλογος client/80x_32
χρησιμοποιείται με αυτό ακριβώς το όνομα. Μην αντικαταστήσετε το
x με κάποιον αριθμό ή κάτι άλλο.Στο τρίτο βήμα δημιουργούμε τους καταλόγους ως χρήστης
sidadm:&prompt.root; su - sidadm
&prompt.root; cd /usr/sap
&prompt.root; mkdir SID
&prompt.root; mkdir trans
&prompt.root; exitΕγγραφές στο /etc/servicesΤο &sap.r3; χρειάζεται μερικές
εγγραφές στο αρχείο /etc/services, οι οποίες
δεν εισάγονται κατά τη διάρκεια της εγκατάστασης του &os;. Προσθέστε
τις παρακάτω εγγραφές (θα χρειαστείτε τουλάχιστον τις εγγραφές που
αντιστοιχούν στο instance της εφαρμογής που τρέχετε —
στη περίπτωση μας, το 00. Δεν θα υπάρξει κανένα
πρόβλημα αν προσθέσετε όλες τις εγγραφές από το
00 ως το 99 για
τα dp, gw,
sp και ms). Αν πρόκειται να
χρησιμοποιήσετε SAProuter ή χρειάζεστε
πρόσβαση στο &sap; OSS, θα χρειαστείτε
και την εγγραφή 99, μια και η θύρα 3299
χρησιμοποιείται συχνά από την διεργασία του
SAProuter:
sapdp00 3200/tcp # SAP Dispatcher. 3200 + Instance-Number
sapgw00 3300/tcp # SAP Gateway. 3300 + Instance-Number
sapsp00 3400/tcp # 3400 + Instance-Number
sapms00 3500/tcp # 3500 + Instance-Number
sapmsSID 3600/tcp # SAP Message Server. 3600 + Instance-Number
sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-NumberΑπαραίτητες Τοπικές ΡυθμίσειςlocaleΤο &sap; απαιτεί τουλάχιστον δύο
τοπικές ρυθμίσεις (locales) που δεν ανήκουν στις προεπιλεγμένες που
εγκαθιστά το RedHat. Το &sap; προσφέρει τα απαιτούμενα RPMs για να
τα κατεβάσετε από τον δικό τους διακομιστή FTP (ο οποίος είναι
διαθέσιμος μόνο αν είστε πελάτης με πρόσβαση OSS). Δείτε τη
σημείωση 0171356 για τη λίστα από πακέτα RPMs που χρειάζεστε.Είναι επίσης εφικτό να δημιουργήσετε απλώς τους κατάλληλους
συνδέσμους (για παράδειγμα από τα de_DE
και en_US), αλλά προτείνουμε να μη κάνετε κάτι
τέτοιο αν πρόκειται για μηχάνημα παραγωγής (ωστόσο αυτό έχει μέχρι
στιγμής δουλέψει χωρίς πρόβλημα σε σύστημα IDES). Θα
χρειαστείτε τις ακόλουθες τοπικές ρυθμίσεις:de_DE.ISO-8859-1
en_US.ISO-8859-1Οι σύνδεσμοι μπορούν να δημιουργηθούν με τον ακόλουθο τρόπο:
&prompt.root; cd /compat/linux/usr/share/locale
&prompt.root; ln -s de_DE de_DE.ISO-8859-1
&prompt.root; ln -s en_US en_US.ISO-8859-1Αν οι σύνδεσμοι δεν υπάρχουν, θα δημιουργηθούν προβλήματα κατά
την εγκατάσταση. Αν αγνοήσετε αυτά τα προβλήματα, (ορίζοντας
το STATUS των προβληματικών βημάτων
σε OK στο
αρχείο CENTRDB.R3S), ίσως είναι αδύνατο να
συνδεθείτε στο &sap; χωρίς κάποια
επιπλέον προσπάθεια και σπατάλη χρόνου.Ρύθμιση του Πυρήναkernel tuningΤο &sap.r3; χρειάζεται αρκετούς
πόρους από το σύστημά σας. Για αυτό το λόγο ορίσαμε τις παρακάτω
παραμέτρους στις ρυθμίσεις του πυρήνα:# Set these for memory pigs (SAP and Oracle):
options MAXDSIZ="(1024*1024*1024)"
options DFLDSIZ="(1024*1024*1024)"
# System V options needed.
options SYSVSHM #SYSV-style shared memory
options SHMMAXPGS=262144 #max amount of shared mem. pages
#options SHMMAXPGS=393216 #use this for the 46C inst.parameters
options SHMMNI=256 #max number of shared memory ident if.
options SHMSEG=100 #max shared mem.segs per process
options SYSVMSG #SYSV-style message queues
options MSGSEG=32767 #max num. of mes.segments in system
options MSGSSZ=32 #size of msg-seg. MUST be power of 2
options MSGMNB=65535 #max char. per message queue
options MSGTQL=2046 #max amount of msgs in system
options SYSVSEM #SYSV-style semaphores
options SEMMNU=256 #number of semaphore UNDO structures
options SEMMNS=1024 #number of semaphores in system
options SEMMNI=520 #number of semaphore identifiers
options SEMUME=100 #number of UNDO keysΟι ελάχιστες τιμές που θέτουμε προέρχονται από τη τεκμηρίωση του
&sap;. Μια και δεν υπάρχουν οδηγίες για Linux, για περισσότερες
πληροφορίες, ρίξτε μια ματιά σε αυτές για το HP-UX (32-bit). Μια
και το σύστημα για την εγκατάσταση του 4.6C SR2 έχει περισσότερη
μνήμη, τα διαμοιραζόμενα τμήματα μπορούν να είναι μεγαλύτερα, τόσο
για το &sap; όσο και για την
&oracle;. Επομένως, επιλέξτε έναν
μεγαλύτερο αριθμό για τα shared memory pages.Με την προεπιλεγμένη εγκατάσταση του &os; σε &i386;, αφήστε
τα MAXDSIZ και DFLDSIZ στο
1 GB το πολύ. Διαφορετικά, μπορεί να δείτε να
εμφανίζονται περίεργα σφάλματα όπως ORA-27102: out of
memory και Linux Error: 12: Cannot allocate
memoryΕγκατάσταση του &sap.r3;Προετοιμάζοντας τα &sap; CDROMsΣτη διαδικασία της εγκατάστασης εμπλέκονται αρκετά CDROMs. Αν
έχετε αρκετούς οδηγούς, θα μπορέσετε να τα προσαρτήσετε όλα με μιας
στο σύστημα σας. Εμείς αποφασίσαμε να αντιγράψουμε το περιεχόμενο
των CDROMs στους αντίστοιχους καταλόγους:/oracle/SID/sapreorg/cd-nameόπου cd-name αντιστοιχεί σε ένα από
τα KERNEL,
RDBMS, EXPORT1,
EXPORT2, EXPORT3,
EXPORT4, EXPORT5 και
EXPORT6 για την εγκατάσταση σε 4.6B/IDES, και
KERNEL, RDBMS,
DISK1, DISK2,
DISK3, DISK4 και
LANG για την εγκατάσταση του 4.6C SR2. Όλα τα
ονόματα των αρχείων στα προσαρτημένα CDs θα πρέπει να είναι με
κεφαλαία, διαφορετικά κάντε χρήση της
επιλογής κατά την προσάρτηση. Χρησιμοποιείστε
λοιπόν τις παρακάτω εντολές:&prompt.root; mount_cd9660 -g /dev/cd0a /mnt
&prompt.root; cp -R /mnt/* /oracle/SID/sapreorg/cd-name
&prompt.root; umount /mntΤρέξτε το Script της ΕγκατάστασηςΑρχικά πρέπει να προετοιμάσετε τον
κατάλογο install:&prompt.root; cd /oracle/SID/sapreorg
&prompt.root; mkdir install
&prompt.root; cd installΣτη συνέχεια ξεκινήστε το script της εγκατάστασης, το οποίο θα
αντιγράψει όλα τα σχετικά αρχεία μέσα στον κατάλογο
install:&prompt.root; /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SHΗ εγκατάσταση του IDES (4.6B) έρχεται με ένα πλήρως
προσαρμοσμένο σύστημα επίδειξης του &sap.r3;, έτσι υπάρχουν έξι
CD EXPORT αντί για τρία. Σε αυτό το σημείο το πρότυπο αρχείο
εγκατάστασης CENTRDB.R3S προορίζεται για την
εγκατάσταση του βασικού συστήματος (το ίδιο
το &r3; και τη βάση δεδομένων), όχι την
κεντρική εφαρμογή IDES, έτσι χρειάζεται να αντιγράψετε και το
αντίστοιχο CENTRDB.R3S από τον
κατάλογο EXPORT1, διαφορετικά
το R3SETUP θα ζητήσει μόνο τα τρία EXPORT CDs.
Η νεότερη έκδοση &sap; 4.6C SR2
περιέχει τέσσερα EXPORT CD. Το αρχείο το οποίο ελέγχει τα βήματα της
εγκατάστασης είναι το CENTRAL.R3S. Σε αντίθεση
με τις προηγούμενες εκδόσεις, δεν υπάρχουν διαφορετικές μορφές
εγκατάστασης, για κεντρική εγκατάσταση με ή χωρίς βάση δεδομένων.
Το &sap; χρησιμοποιεί
πλέον μια διαφορετική διαδικασία για την εγκατάσταση της βάσης
δεδομένων. Αν θέλετε όμως να επανεκκινήσετε την εγκατάσταση
αργότερα, αρκεί να χρησιμοποιήσετε ξανά το αρχικό αρχείο.Τόσο κατά τη διάρκεια όσο και μετά την εγκατάσταση,
το &sap; απαιτεί η εντολή
hostname να επιστρέφει μόνο το όνομα του
συστήματος σας και όχι το πλήρες όνομα (με τον τομέα). Επομένως,
είτε ρυθμίστε το όνομα με αυτό τον τρόπο, ή χρησιμοποιήστε κάποιο
alias δίνοντας alias hostname='hostname -s'
τόσο για τον
χρήστη orasid όσο
και για τον
χρήστη sidadm (και
για τον root τουλάχιστον κατά την εγκατάσταση,
μιας και όλα τα βήματα γίνονται ωςroot). Είναι
επίσης πιθανό να τροποποιήσετε τα
αρχεία .profile και .login
των δύο χρηστών που δημιουργήθηκαν κατά τη διάρκεια εγκατάστασης του
&sap;.Εκκίνηση του R3SETUP 4.6BΒεβαιωθείτε ότι το LD_LIBRARY_PATH έχει οριστεί
σωστά:&prompt.root; export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/libΞεκινήστε το R3SETUP
ως root από τον κατάλογο εγκατάστασης:&prompt.root; cd /oracle/IDS/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRDB.R3SΤο script θα σας κάνει μερικές ερωτήσεις (οι προεπιλογές
φαίνονται σε αγκύλες,και ακολουθούνται από την τιμή που δόθηκε
ως είσοδος):ΕρώτησηΠροεπιλογήΕίσοδος δεδομένωνEnter SAP System ID[C11]IDSEnterEnter SAP Instance Number[00]EnterEnter SAPMOUNT Directory[/sapmnt]EnterEnter name of SAP central host[troubadix.domain.de]EnterEnter name of SAP db host[troubadix]EnterSelect character set[1] (WE8DEC)EnterEnter Oracle server version (1) Oracle 8.0.5, (2)
Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.61EnterExtract Oracle Client archive[1] (Yes, extract)EnterEnter path to KERNEL CD[/sapcd]/oracle/IDS/sapreorg/KERNELEnter path to RDBMS CD[/sapcd]/oracle/IDS/sapreorg/RDBMSEnter path to EXPORT1 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT1Directory to copy EXPORT1 CD[/oracle/IDS/sapreorg/CD4_DIR]EnterEnter path to EXPORT2 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT2Directory to copy EXPORT2 CD[/oracle/IDS/sapreorg/CD5_DIR]EnterEnter path to EXPORT3 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT3Directory to copy EXPORT3 CD[/oracle/IDS/sapreorg/CD6_DIR]EnterEnter path to EXPORT4 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT4Directory to copy EXPORT4 CD[/oracle/IDS/sapreorg/CD7_DIR]EnterEnter path to EXPORT5 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT5Directory to copy EXPORT5 CD[/oracle/IDS/sapreorg/CD8_DIR]EnterEnter path to EXPORT6 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT6Directory to copy EXPORT6 CD[/oracle/IDS/sapreorg/CD9_DIR]EnterEnter amount of RAM for SAP + DB850Enter (in Megabytes)Service Entry Message Server[3600]EnterEnter Group-ID of sapsys[101]EnterEnter Group-ID of oper[102]EnterEnter Group-ID of dba[100]EnterEnter User-ID of sidadm[1000]EnterEnter User-ID of orasid[1002]EnterNumber of parallel procs[2]EnterΑν δεν έχετε αντιγράψει τα CDs σε διαφορετικούς καταλόγους,
τότε το πρόγραμμα εγκατάστασης
του &sap; δε θα μπορέσει να βρει τα CD τα
οποία χρειάζεται (και τα οποία αναγνωρίζονται από το
αρχείο LABEL.ASC που βρίσκεται μέσα σε αυτά)
και θα σας ζητηθεί να εισάγετε και προσαρτήσετε τα CD και να
επιβεβαιώσετε το σημείο προσάρτησης.Το CENTRDB.R3S μπορεί όμως να παράγει
μερικά σφάλματα. Στη περίπτωσή μας, μας ζήτησε ξανά το EXPORT4 CD
αλλά μας έδειξε το σωστό κλειδί (6_LOCATION, μετά 7_LOCATION
κλπ.), και έτσι μπορείτε να συνεχίσετε βάζοντας τις σωστές τιμές.
Εκτός από κάποια προβλήματα που αναφέρονται παρακάτω, η
εγκατάσταση θα πρέπει να κυλίσει ομαλά, μέχρι το σημείο που θα
χρειαστεί να εγκαταστήσετε τη βάση δεδομένων της &oracle;.Εκκίνηση του R3SETUP 4.6C SR2Βεβαιωθείτε ότι έχετε ορίσει σωστά
το LD_LIBRARY_PATH. Η τιμή της μεταβλητής είναι
διαφορετική από την αντίστοιχη της εγκατάστασης του 4.6B με την
&oracle; 8.0.5:&prompt.root; export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/libΞεκινήστε το R3SETUP
ως root από τον κατάλογο εγκατάστασης:&prompt.root; cd /oracle/PRD/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRAL.R3STο script θα σας κάνει μερικές ερωτήσεις (οι προεπιλογές
φαίνονται σε αγκύλες και ακολουθούνται από την πραγματική
είσοδο):ΕρώτησηΠροεπιλογήΕισαγωγή δεδομένωνEnter SAP System ID[C11]PRDEnterEnter SAP Instance Number[00]EnterEnter SAPMOUNT Directory[/sapmnt]EnterEnter name of SAP central host[majestix]EnterEnter Database System ID[PRD]PRDEnterEnter name of SAP db host[majestix]EnterSelect character set[1] (WE8DEC)EnterEnter Oracle server version (2) Oracle 8.1.72EnterExtract Oracle Client archive[1] (Yes, extract)EnterEnter path to KERNEL CD[/sapcd]/oracle/PRD/sapreorg/KERNELEnter amount of RAM for SAP + DB20441800Enter (in Megabytes)Service Entry Message Server[3600]EnterEnter Group-ID of sapsys[100]EnterEnter Group-ID of oper[101]EnterEnter Group-ID of dba[102]EnterEnter User-ID of oraprd[1002]EnterEnter User-ID of prdadm[1000]EnterLDAP support3Enter (no support)Installation step completed[1] (continue)EnterChoose installation service[1] (DB inst,file)EnterΜέχρι στιγμής, η δημιουργία χρηστών εμφανίζει ένα σφάλμα κατά
τη διάρκεια της εγκατάστασης, στις φάσεις των OSUSERDBSID_IND_ORA
(για τη δημιουργία του
χρήστη orasid) και
OSUSERSIDADM_IND_ORA (για τη δημιουργία του
χρήστη sidadm).
Εκτός από μερικά προβλήματα που αναφέρονται παρακάτω, όλα
θα πρέπει να κυλήσουν ήρεμα μέχρι την εγκατάσταση της βάσης
δεδομένων &oracle;.Εγκατάσταση της &oracle; 8.0.5Παρακαλούμε, να δείτε τις αντίστοιχες σημειώσεις των &sap; και
&oracle; Readme σχετικά με τα προβλήματα που
μπορεί να προκύψουν κατά την εγκατάσταση του
&oracle; DB στο Linux. Τα περισσότερα,
αν όχι όλα, έχουν να κάνουν με ασυμβατότητα βιβλιοθηκών.Για περισσότερες πληροφορίες σχετικά με την εγκατάσταση
της &oracle;, δείτε
το κεφάλαιο εγκατάστασης
της &oracle;.Εγκατάσταση του &oracle; 8.0.5 με
το orainstΑν πρόκειται να κάνετε χρήση της &oracle;
8.0.5, θα χρειαστείτε κάποιες επιπλέον βιβλιοθήκες
για επιτυχή επανασύνδεση (relinking), καθώς η
&oracle; 8.0.5 είναι linked
με την παλιά έκδοση του glibc (RedHat 6.0), αλλά ήδη από το
RedHat 6.1 χρησιμοποιείται μια νέα έκδοση. Επομένως χρειάζεται να
εγκαταστήσετε επιπρόσθετα τα επόμενα πακέτα για να βεβαιωθείτε ότι
οι σύνδεσμοι θα δουλέψουν:compat-libs-5.2-2.i386.rpmcompat-glibc-5.2-2.0.7.2.i386.rpmcompat-egcs-5.2-1.0.3a.1.i386.rpmcompat-egcs-c++-5.2-1.0.3a.1.i386.rpmcompat-binutils-5.2-2.9.1.0.23.1.i386.rpmΓια περισσότερες πληροφορίες δείτε τα αντίστοιχα &sap; Notes ή
&oracle; Readme. Αν όμως δεν έχετε αυτή
την επιλογή (κατά τη διάρκεια της εγκατάστασης δεν είχαμε αρκετό
χρόνο να το ελέγξουμε), μπορείτε να χρησιμοποιήσετε τα αρχικά
εκτελέσιμα ή εκτελέσιμα τα οποία έχουν γίνει relink σε ένα κανονικό
σύστημα RedHat.Για να μεταγλωττίσετε τον intelligent agent, πρέπει να έχετε
εγκατεστημένο το πακέτο RedHat Tcl. Αν δεν μπορείτε να
βρείτε το tcl-8.0.3-20.i386.rpm, τότε το
νεότερο tcl-8.0.5-30.i386.rpm για RedHat 6.1 θα
πρέπει επίσης να δουλέψει.Με εξαίρεση το relinking, η διαδικασία εγκατάστασης είναι
σχετικά απλή:&prompt.root; su - oraids
&prompt.root; export TERM=xterm
&prompt.root; export ORACLE_TERM=xterm
&prompt.root; export ORACLE_HOME=/oracle/IDS
&prompt.root; cd $ORACLE_HOME/orainst_sap
&prompt.root; ./orainstΕπιβεβαιώστε όλα τα μηνύματα πατώντας Enter έως
ότου το λογισμικό εγκατασταθεί. Δεν θα πρέπει να επιλέξετε όμως
το &oracle; On-Line Text Viewer, μιας και δεν
είναι διαθέσιμο για Linux. Στην περίπτωση αυτή, η
&oracle; προσπαθεί να κάνει relink με
το i386-glibc20-linux-gcc
αντί του διαθέσιμου gcc, egcs
ή i386-redhat-linux-gcc.Λόγω έλλειψης χρόνου, αποφασίσαμε να χρησιμοποιήσουμε τα
έτοιμα εκτελέσιμα της έκδοσης &oracle; 8.0.5
PreProduction, μετά από μια αποτυχημένη προσπάθεια να
κάνουμε την έκδοση από το RDBMS CD να δουλέψει, και η εύρεση και
πρόσβαση στα σωστά RPMs εκείνη τη στιγμή ήταν σκέτος εφιάλτης.
Εγκατάσταση του &oracle; 8.0.5 Pre-production Release για Linux
(Kernel 2.0.33)Αυτή η εγκατάσταση είναι σχετικά εύκολη. Προσαρτήστε το CD και
ξεκινήστε το πρόγραμμα εγκατάστασης. Θα ερωτηθείτε στη συνέχεια για
τον αρχικό (home) κατάλογο της &oracle;, όπου και θα αντιγραφούν
όλα τα εκτελέσιμα. Ωστόσο δεν διαγράψαμε ότι απέμεινε από τις
προηγούμενες απόπειρες μας εγκατάστασης του RDBMS.Στη συνέχεια, η βάση
δεδομένων &oracle; θα πρέπει να ξεκινήσει
δίχως προβλήματα.Εγκατάσταση &oracle; 8.1.7 για Linux από Συμπιεσμένο Αρχείο
Πάρτε το συμπιεσμένο αρχείο oracle81732.tgz
το οποίο δημιουργήσατε από τον κατάλογο εγκατάστασης ενός συστήματος
Linux, και αποσυμπιέστε το στο
/oracle/SID/817_32/.
Συνέχεια της Εγκατάστασης του &sap.r3;Αρχικά ελέγξτε τις ρυθμίσεις περιβάλλοντος των
χρηστών idsamd
(sidadm) και oraids
(orasid). Θα πρέπει τώρα να έχουν και οι
δύο χρήστες τα
αρχεία .profile, .login
και .cshrc τα οποία όλα χρησιμοποιούν
το hostname. Σε περίπτωση που το όνομα του
συστήματος περιλαμβάνει και το domain, αντικαταστήστε
το hostname με το hostname -s σε
όλα τα αρχεία.Φόρτωση της Βάσης ΔεδομένωνΣτη συνέχεια, ανάλογα με το αν είχατε πριν επιλέξει έξοδο ή όχι,
μπορείτε είτε να ξεκινήσετε το R3SETUP από την
αρχή, ή να συνεχίσετε την εκτέλεση του. Το
R3SETUP θα δημιουργήσει και θα
φορτώσει τα αρχικά δεδομένα της βάσης (για 46B IDES, από τα EXPORT1
σε EXPORT6, για 46C από DISK1 σε DISK4) κάνοντας χρήση
του R3load.Όταν η φόρτωση της βάσης δεδομένων ολοκληρωθεί (μπορεί να
χρειαστούν μερικές ώρες), θα χρειαστεί να ορίσετε μερικούς
κωδικούς. Για δοκιμαστικές εγκαταστάσεις, μπορείτε να
χρησιμοποιήσετε τους γνωστούς προεπιλεγμένους κωδικούς
(αν υπάρχει θέμα ασφάλειας, χρησιμοποιήστε διαφορετικούς!):
ΕρώτησηΕίσοδος δεδομένωνEnter Password for sapr3sapEnterConfirum Password for sapr3sapEnterEnter Password for syschange_on_installEnterConfirm Password for syschange_on_installEnterEnter Password for systemmanagerEnterConfirm Password for systemmanagerEnterΣε αυτό το σημείο είχαμε μερικά προβλήματα με την
εντολή dipgntab κατά την εγκατάσταση του
4.6B.ListenerΞεκινήστε τον &oracle; Listener ως
χρήστης orasid με
τον ακόλουθο τρόπο:&prompt.user; umask 0; lsnrctl startΑν δε το κάνετε, μπορεί να σας εμφανιστεί το
σφάλμα ORA-12546 καθώς στα sockets δεν θα
έχουν οριστεί οι κατάλληλες άδειες. Δείτε την Σημείωση 072984 του
&sap;.Ανανεώνοντας τους Πίνακες MNLSΑν έχετε σκοπό να εισάγετε γλώσσες εκτός των Latin-1
στο &sap;, θα πρέπει να ανανεώσετε τους
πίνακες Multi National Language Support. Ατό περιγράφεται στα &sap;
OSS Notes 15023 και 45619. Μπορείτε όμως αν θέλετε να
παρακάμψετε αυτό το βήμα κατά την εγκατάσταση
του &sap;.Ακόμη και αν δεν χρειάζεστε το MNLS, θα χρειαστεί να ελέγξετε
τον πίνακα TCPDB και να τον αρχικοποιήσετε, αν αυτό δεν έχει ήδη
γίνει. Δείτε στο &sap; τις σημειώσεις 0015023 και 0045619 για
περισσότερες πληροφορίες.Βήματα Μετά την ΕγκατάστασηΆδεια χρήσης για το &sap.r3;Θα πρέπει να ζητήσετε ένα Κλειδί Άδειας - License Key - για
το &sap.r3;. Το χρειάζεστε, μιας και η
προσωρινή άδεια που χρησιμοποιήσατε κατά την εγκατάσταση, έχει
ισχύ μόνο για τέσσερις εβδομάδες. Πρέπει πρώτα να αποκτήσετε το
hardware key. Συνδεθείτε ως χρήστης idsadm
και εκτελέστε το saplicense:&prompt.root; /sapmnt/IDS/exe/saplicense -getΕκτελώντας το saplicense χωρίς παραμέτρους,
σας δίνει μια λίστα επιλογών. Όταν λάβετε το κλειδί άδειας,
μπορείτε να το εγκαταστήσετε με τον παρακάτω τρόπο:&prompt.root; /sapmnt/IDS/exe/saplicense -installΣτη συνέχεια, θα χρειαστεί να εισάγετε τις ακόλουθες τιμές:
SAP SYSTEM ID = SID, 3 chars
CUSTOMER KEY = hardware key, 11 chars
INSTALLATION NO = installation, 10 digits
EXPIRATION DATE = yyyymmdd, usually "99991231"
LICENSE KEY = license key, 24 charsΔημιουργία ΧρηστώνΔημιουργήστε έναν νέο χρήστη στο client 000 (για μερικές
εργασίες που χρειάζεται να γίνουν μέσα στο client 000, αλλά με
χρήστη διαφορετικό από τους sap*
και ddic). Ως όνομα χρήστη συνήθως επιλέγουμε
το wartung (ή service στα
Αγγλικά). Τα προφίλ που χρειάζονται είναι
τα sap_new και sap_all. Για
επιπλέον ασφάλεια, οι κωδικοί των προεπιλεγμένων χρηστών σε όλους
τους clients θα πρέπει να αλλαχθούν (αυτό περιλαμβάνει και τους
χρήστες sap* και ddic).
Ρύθμιση των Transport System, Profile, Operation Modes, κλπ.
Μέσα στο client 000, χρήστες εκτός των ddic
και sap*, μπορούν να κάνουν τουλάχιστον τα
ακόλουθα:ΕργασίαTransaction (Συναλλαγή)Ρύθμιση του Transport System,
π.χ. ως Stand-Alone Transport Domain
EntitySTMSΔημιουργία / τροποποίηση του Profile ΣυστήματοςRZ10Συντήρηση Operation Modes και InstancesRZ04Αυτό και όλα τα υπόλοιπα βήματα σχετικά με τις ρυθμίσεις μετά
την εγκατάσταση περιγράφονται στους οδηγούς εγκατάστασης
του &sap;.Τροποποίηση
του initsid.sap
(initIDS.sap)Το αρχείο /oracle/IDS/dbs/initIDS.sap
περιέχει το αντίγραφο ασφαλείας του προφίλ
του &sap;. Εδώ χρειάζεται να ορίσετε το
μέγεθος της ταινίας που θα χρησιμοποιηθεί, τον τύπο συμπίεσης και
όλα τα σχετικά. Για να μπορέσουμε να το εκτελέσουμε με
το sapdba / brbackup,
αλλάξαμε τις παρακάτω τιμές:compress = hardware
archive_function = copy_delete_save
cpio_flags = "-ov --format=newc --block-size=128 --quiet"
cpio_in_flags = "-iuv --block-size=128 --quiet"
tape_size = 38000M
tape_address = /dev/nsa0
tape_address_rew = /dev/sa0Επεξηγήσεις:compress: Η ταινία που χρησιμοποιούμε είναι
μία HP DLT1 η οποία παρέχει συμπίεση μέσω υλικού.archive_function: Αυτό ορίζει τον
προεπιλεγμένο τρόπο με τον οποίο θα αποθηκεύονται τα αρχειοθετημένα
logs της &oracle;: τα νέα logs αποθηκεύονται στην ταινία, τα ήδη
αποθηκευμένα αποθηκεύονται ξανά και στη συνέχεια διαγράφονται.
Αυτό σας σώζει από τη ταλαιπωρία αν χρειαστεί να ανακτήσετε τη
βάση δεδομένων σε περίπτωση που μια από τις ταινίες έχει
πρόβλημα.cpio_flags: Προεπιλεγμένη είναι η χρήση
του το οποίο ορίζει το μέγεθος κάθε block στα
5120 Bytes. Για ταινίες DLT, η HP προτείνει το λιγότερο
32 K μέγεθος block, οπότε κι εμείς
δώσαμε για
64 K. Το χρειάζεται διότι έχουμε
inode με αρίθμηση μεγαλύτερη από 65535. Η τελευταία
παράμετρος χρειάζεται γιατί διαφορετικά
το brbackup θα παραπονεθεί με
που το cpio εμφανίσει τον αριθμό των blocks που
έχουν αποθηκευτεί.cpio_in_flags: Τα Flags χρειάζονται
προκειμένου να φορτωθούν τα δεδομένα από τη ταινία. Η μορφή
ανιχνεύεται αυτόματα.tape_size: Η παράμερος αυτή δίνει χοντρικά το
μέγεθος χωρητικότητας της ταινίας. Για λόγους ασφάλειας
(χρησιμοποιούμε hardware συμπίεση), η τιμή της
παραμέτρου είναι λίγο μικρότερη από το πραγματικό μέγεθος.tape_address: Το όνομα συσκευής
(χωρίς δυνατότητα επανατύλιξης της ταινίας) που θα χρησιμοποιηθεί
με το cpio.tape_address_rew: Το όνομα συσκευής (με
δυνατότητα επανατύλιξης της ταινίας) που θα χρησιμοποιηθεί με το
cpio.Ρυθμίσεις Μετά την ΕγκατάστασηΟι ακόλουθοι παράμετροι του &sap; θα
πρέπει να ρυθμιστούν μετά την εγκατάσταση (παραδείγματα για IDES
46B, και μνήμη 1 GB):ΌνομαΤιμήztta/roll_extension250000000abap/heap_area_dia300000000abap/heap_area_nondia400000000em/initial_size_MB256em/blocksize_kB1024ipc/shm_psize_4070000000&sap; Σημείωση 0013026:ΌνομαΤιμήztta/dynpro_area2500000&sap; Σημείωση 0157246:ΌνομαΤιμήrdisp/ROLL_MAXFS16000rdisp/PG_MAXFS30000Με τις παραπάνω παραμέτρους σε ένα σύστημα με 1 gigabyte
μνήμης, μπορεί να δείτε κάτι σαν το παρακάτω όσο αφορά την
κατανάλωση μνήμης:Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K FreeΠροβλήματα κατά την ΕγκατάστασηΕπανεκκίνηση του R3SETUP μετά τη Διόρθωση
ΠροβλήματοςΤο R3SETUP θα σταματήσει αν αντιληφθεί
κάποιο σφάλμα. Αν κοιτάξετε καλά τα logfiles και διορθώσετε το
σφάλμα, θα πρέπει να ξεκινήσετε το R3SETUP από
την αρχή, συνήθως επιλέγοντας REPEAT στο τελευταίο βήμα για το
οποίο παραπονέθηκε το R3SEΤUP.Για να επανεκκινήσετε το R3SETUP, απλώς δώστε
τη παρακάτω εντολή με το αντίστοιχο
αρχείο R3S:&prompt.root; ./R3SETUP -f CENTRDB.R3Sγια την έκδοση 4.6B, ή την εντολή&prompt.root; ./R3SETUP -f CENTRAL.R3Sγια την έκδοση 4.6C, χωρίς να έχει σημασία αν το σφάλμα
προκλήθηκε από το CENTRAL.R3S ή
το DATABASE.R3S.Σε κάποια στάδια, το R3SETUP υποθέτει ότι
τόσο η βάση δεδομένων όσο και το &sap;
έχουν ξεκινήσει και εκτελούνται κανονικά (καθώς πρόκειται για
βήματα που έχουν ήδη ολοκληρωθεί). Αν προκύψουν λάθη, και για
παράδειγμα δεν μπόρεσε να ξεκινήσει η βάση, ξεκινήστε τη βάση και
το &sap; με το χέρι, αφού διορθώσετε
τα λάθη και πριν εκτελέσετε ξανά το R3SETUP.
Μη ξεχάσετε επίσης να εκκινήσετε το
&oracle; listener (εκτελέστε το ως
χρήστης orasid
με umask 0; lsnrctl start) αν είχε διακοπεί
και αυτό (για παράδειγμα σε μια αναγκαία επανεκκίνηση του
συστήματος).OSUSERSIDADM_IND_ORA κατά το R3SETUPΑν το R3SETUP παραπονιέται σε αυτό το
σημείο, τροποποιήστε το πρότυπο αρχείο
του R3SETUP που χρησιμοποιείται εκείνη τη στιγμή
(το CENTRDB.R3S (4.6B) ή κάποιο από
τα CENTRAL.R3S ή
το DATABASE.R3S (4.6C)). Βρείτε
το [OSUSERSIDADM_IND_ORA] ή ψάξτε μέσα στο αρχείο
για τη μοναδική εγγραφή STATUS=ERROR και
προσθέστε τα παρακάτω:HOME=/home/sidadm (was empty)
STATUS=OK (had status ERROR)
Στη συνέχεια μπορείτε να ξεκινήσετε και πάλι
το R3SETUP.OSUSERDBSID_IND_ORA κατά το R3SETUPΠιθανό είναι να υπάρχει πρόβλημα και σε αυτό το βήμα με
το R3SETUP. Το πρόβλημα εδώ είναι παρόμοιο με το
προηγούμενο, του OSUSERSIDADM_IND_ORA. Απλά τροποποιήστε το αρχείο
προτύπου που χρησιμοποιείτε με το R3SETUP
(CENTRDB.R3S (4.6B) ή κάποιο από
τα CENTRAL.R3S
ή DATABASE.R3S (4.6C)). Βρείτε
το [OSUSERDBSID_IND_ORA] ή ψάξτε μέσα στο αρχείο
για την μοναδική εγγραφή STATUS=ERROR και
προσθέστε τα παρακάτω:STATUS=OKΤώρα τρέξτε ξανά το R3SETUP.oraview.vrf FILE NOT FOUND κατά τη διάρκεια Εγκατάστασης της &oracle;Το σφάλμα αυτό σημαίνει ότι έχετε επιλέξει
το &oracle; On-Line Text Viewer πριν ξεκινήσετε
την εγκατάσταση. Η επιλογή αυτή είναι προεπιλεγμένη, παρ' όλο που
δεν είναι διαθέσιμη στο Linux. Αφαιρέστε λοιπόν αυτή την επιλογή
από το μενού εγκατάστασης και ξεκινήστε ξανά.TEXTENV_INVALID κατά την Εκτέλεση R3SETUP, του RFC ή του SAPguiΑν βρεθείτε αντιμέτωποι με αυτό το σφάλμα, τότε δεν έχετε τις
σωστές τοπικές ρυθμίσεις. Η σημείωση 0171356 του &sap; αναφέρει
όλα τα RPMs που χρειάζονται να εγκατασταθούν
(π.χ. saplocales-1.0-3,
saposcheck-1.0-1 για RedHat 6.1). Στην
περίπτωση που αγνοήσατε όλα τα σχετικά λάθη, και αν ακόμη έχετε
ορίσει το STATUS από ERROR
σε OK (στο CENTRDB.R3S) κάθε
φορά που παραπονιόταν το R3SETUP και απλώς
το ξεκινούσατε από την αρχή, το &sap;
δεν θα ρυθμιστεί σωστά και δεν θα μπορείτε να συνδεθείτε στο
σύστημα μέσω του SAPgui, ακόμη και αν το
σύστημα σας έχει ξεκινήσει. Προσπαθώντας να συνδεθούμε με το παλιό
SAPgui Linux, εμφανίστηκε το παρακάτω
σφάλμα:Sat May 5 14:23:14 2001
*** ERROR => no valid userarea given [trgmsgo. 0401]
Sat May 5 14:23:22 2001
*** ERROR => ERROR NR 24 occured [trgmsgi. 0410]
*** ERROR => Error when generating text environment. [trgmsgi. 0435]
*** ERROR => function failed [trgmsgi. 0447]
*** ERROR => no socket operation allowed [trxio.c 3363]
SpeicherzugriffsfehlerΗ συμπεριφορά αυτή οφείλεται στο ότι
το &sap.r3; δεν μπορεί να ορίσει σωστά
τις τοπικές ρυθμίσεις και δεν μπορεί στη συνέχεια να ρυθμίσει τον
εαυτό του (ελλειπή δεδομένα στη βάση δεδομένων). Για να μπορέσετε να
συνδεθείτε προσθέστε τις παρακάτω καταχωρήσεις
στο DEFAULT.PFL (δείτε Σημείωση
0043288):abap/set_etct_env_at_new_mode = 0
install/collate/active = 0
rscp/TCP0B = TCP0BΞεκινήστε ξανά το &sap;. Τώρα
μπορείτε να συνδεθείτε ακόμη και αν οι ρυθμίσεις χώρας και γλώσσας
δε δουλεύουν όπως θα έπρεπε. Αφού διορθώσετε τις ρυθμίσεις της
χώρας (και ορίσετε τις σωστές τοπικές ρυθμίσεις), μπορείτε να
αφαιρέσετε τα παραπάνω από το DEFAULT.PFL και
να εκτελέσετε το &sap; από την αρχή.
ORA-00001Το σφάλμα αυτό το συναντήσαμε μόνο με το &oracle;
8.1.7 στο &os;. Ο λόγος ήταν ότι η
βάση &oracle; δεν μπορούσε να ορίσει τις
σωστές παραμέτρους για την εκκίνησή της με αποτέλεσμα να κολλάει,
αφήνοντας σηματοφορείς και κοινόχρηστη μνήμη στο σύστημα. Η επόμενη
προσπάθεια να ξεκινήσουμε τη βάση δεδομένων μας εμφάνισε το
σφάλμα ORA-00001.Βρείτε τους με την εντολή ipcs -a και
αφαιρέστε τους με την ipcrm.ORA-00445 (Background Process PMON Did
Not Start)Το σφάλμα αυτό μπορεί να εμφανιστεί με το &oracle;
8.1.7 όταν η βάση δεδομένων έχει εκκινηθεί με το
script startsap (για
παράδειγμα startsap_majestix_00) και σαν
χρήστης prdadm.Μια πιθανή λύση είναι να ξεκινήσετε τη βάση ως χρήστης
oraprd και μέσω του
svrmgrl:&prompt.user; svrmgrl
SVRMGR> connect internal;
SVRMGR> startup;
SVRMGR> exitORA-12546 (Ξεκινήστε τον Listener με
τις Σωστές Άδειες)Ξεκινήστε τον &oracle; listener ως
χρήστης oraids, με τις ακόλουθες εντολές:
&prompt.root; umask 0; lsnrctl startΔιαφορετικά μπορεί να εμφανιστεί το
σφάλμα ORA-12546 που σημαίνει ότι τα
sockets δεν έχουν σωστές άδειες. Δείτε τη σημείωση 0072984 του
&sap;.ORA-27102 (Έλλειψη μνήμης)Το πρόβλημα αυτό παρουσιάστηκε όταν χρησιμοποιήσαμε τιμές
μεγαλύτερες του 1 GB (1024X1024X1024) στις μεταβλητές
MAXDSIZ και DFLDSIZ.
Επιπλέον, μας εμφανίστηκε το σφάλμα Linux Error 12:
Cannot allocate memory.[DIPGNTAB_IND_IND] κατά την Εκτέλεση του R3SETUPΣε γενικές γραμμές, δείτε τη σημείωση 0130581 του &sap;
(R3SETUP step DIPGNTAB
terminates). Κατά την εγκατάσταση IDES, για κάποιο
λόγο η διαδικασία εγκατάστασης δε χρησιμοποιούσε το σωστό όνομα
συστήματος του &sap;IDS,
αλλά το κενό "". Αυτό οδηγεί σε κάποια
μικρά προβλήματα με τη πρόσβαση στους καταλόγους μια και τα
μονοπάτια δημιουργούνται δυναμικά με τη χρήση
του SID (στη περίπτωσή μας IDS). Πράγμα
που σημαίνει ότι αντί να γίνει η πρόσβαση στο:/usr/sap/IDS/SYS/...
/usr/sap/IDS/DVMGS00θα προσπαθήσει να γίνει στο:/usr/sap//SYS/...
/usr/sap/D00Για να συνεχίσουμε με την εγκατάσταση, δημιουργήσαμε έναν
σύνδεσμο και έναν επιπλέον κατάλογο:&prompt.root; pwd
/compat/linux/usr/sap
&prompt.root; ls -l
total 4
drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00
drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS
lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS
drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp
drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 transΤο πρόβλημα αυτό το είδαμε επίσης στις σημειώσεις 0029227 και
0008401 του &sap;. Δεν αντιμετωπίσαμε όμως κανένα από αυτά τα
προβλήματα με την εγκατάσταση του &sap;
4.6C.[RFCRSWBOINI_IND_IND] κατά την Εκτέλεση του R3SETUPΤο σφάλμα αυτό εμφανίστηκε κατά την εγκατάσταση
του &sap; 4.6C, και ήταν το αποτέλεσμα
ενός άλλου σφάλματος που προέκυψε νωρίτερα στην εγκατάσταση. Σε
τέτοιες περιπτώσεις θα πρέπει να δείτε τα αντίστοιχα logfiles και να
διορθώσετε το αρχικό πρόβλημα.
Αν αφού ελέγξετε τα logfiles διαπιστώσετε ότι το σφάλμα είναι
πράγματι αυτό (κοιτάξτε τις σημειώσεις του &sap;), μπορείτε να
ορίσετε το STATUS σε αυτό το βήμα
από ERROR σε OK (στο
αρχείο CENTRDB.R3S) και να εκτελέσετε ξανά
το R3SETUP. Μετά την εγκατάσταση, πρέπει να
εκτελέσετε το RSWBOINS από τη συναλλαγή
SE38. Δείτε τη σημείωση 0162266 του &sap; για
τα RFCRSWBOINI
και RFCRADDBDIF.[RFCRADDBDIF_IND_IND] κατά την Εκτέλεση R3SETUPΌπως και πριν, και εδώ ισχύει η ίδια λογική: σιγουρευτείτε ποιο
είναι το πρωταρχικό σφάλμα κοιτάζοντας τα logfiles.Αν επιβεβαιώσετε ότι η σημείωση του &sap; 0162266
ανταποκρίνεται στο πρόβλημά σας, απλά
ορίστε το STATUS σε αυτό το βήμα
από ERROR σε OK (στο
αρχείο CENTRDB.R3S) και τρέξτε πάλι
το R3SETUP. Μετά την εγκατάσταση, πρέπει να
εκτελέσετε το RADDBDIF από τη συναλλαγή
SE38.sigaction sig31: File size limit exceededΤο σφάλμα αυτό μπορεί να εμφανιστεί κατά την εκκίνηση των
διεργασιών του &sap;disp+work. Αν ξεκινήσετε
το &sap; με το
script startsap, οι υποδιεργασίες θα αρχίσουν
μόνες τους, ξεκινώντας τις υπόλοιπες διεργασίες που απαιτούνται από
το &sap;. Αυτό έχει ως αποτέλεσμα το
ίδιο το script να μην γνωρίζει αν κάτι πήγε στραβά.Για να ελέγξετε αν όντως ξεκίνησαν σωστά οι διεργασίες
του &sap;, ρίξτε μια ματιά στη λίστα
διεργασιών με την εντολή
ps ax | grep SID, η
οποία θα σας επιστρέψει μιας λίστα με όλες τις διεργασίες από
τα &oracle;
και &sap;. Αν φαίνεται σαν να λείπουν
μερικές διεργασίες, ή αν δεν μπορείτε να συνδεθείτε
στο &sap;, κοιτάξτε τα αντίστοιχα
logfiles τα οποία μπορούν να βρεθούν στον
κατάλογο /usr/sap/SID/DVEBMGSnr/work/.
Τα αρχεία που πρέπει να κοιτάξετε είναι
τα dev_ms
και dev_disp.Το Signal 31 θα εμφανιστεί αν η ποσότητα της κοινής μνήμης που
χρησιμοποιείται από τα &oracle;
και &sap; ξεπεράσει το μέγεθος που έχει
ήδη οριστεί κατά τη ρύθμιση του πυρήνα. Με το να ορίσετε μια
μεγαλύτερη τιμή θα μπορέσετε να προσπεράσετε το πρόβλημα
αυτό:# μεγαλύτερη μνήμη για συστήματα παραγωγής 46C:
options SHMMAXPGS=393216
# μικρότερη μνήμη για συστήματα 46B:
#options SHMMAXPGS=262144Ανεπιτυχής Εκκίνηση του saposcolΥπάρχουν επίσης μερικά προβλήματα με το
πρόγραμμα saposcol (έκδοση 4.6D).
Το &sap; χρησιμοποιεί
το saposcol για να συλλέξει δεδομένα σχετικά με
τις επιδόσεις του συστήματος. Το πρόγραμμα αυτό δεν το χρειάζεστε
για να εκτελέσετε το &sap;, οπότε μπορεί
να θεωρηθεί ως μικρότερη σημασίας. Παλαιότερες εκδόσεις (4.6B)
δουλεύουν, αλλά δε συλλέγουν όλα τα δεδομένα (πολλές κλήσεις
επιστρέφουν 0, για παράδειγμα η χρήση της CPU).Προχωρημένα ΘέματαΑν έχετε την απορία πως λειτουργεί η συμβατότητα με εφαρμογές Linux,
τότε θα πρέπει να διαβάσετε τη παρακάτω ενότητα. Τα περισσότερα από όσα
έχουν γραφτεί είναι βασισμένα στην &a.chat; και έχουν γραφτεί από τον
Terry Lambert tlambert@primenet.com (Message ID:
<199906020108.SAA07001@usr09.primenet.com>).
Πως Λειτουργεί;execution class loaderΤο &os; περιέχει ένα επίπεδο αφαίρεσης (abstraction) που
ονομάζεται execution class loader. Αυτό βασίζεται στο
&man.execve.2;.Αυτό που συμβαίνει είναι ότι το &os; έχει μια λίστα φορτωτών
(loaders), αντί για ένα που να καταφεύγει σε περίπτωση αποτυχίας
στο #! για να τρέξει κάποιο shell interpreter ή
shell script.Ιστορικά, ο μόνος φορτωτής στη πλατφόρμα του &unix; έλεγχε τον
μαγικό αριθμό (γενικά τα πρώτα 4 ή 8 bytes του αρχείου) για να δει αν
είναι κάποιο εκτελέσιμο / εφαρμογή γνωστό στο σύστημα, και στην
περίπτωση αυτή να καλέσει τον αντίστοιχο φορτωτή.Αν το αρχείο δεν ήταν εκτελέσιμο με βάση τον τύπο του συστήματος,
η κλήση στο &man.execve.2; επέστρεφε κάποιο σφάλμα, και το shell
προσπαθούσε να εκτελέσει το αρχείο σαν shell script.Η γενική ιδέα ήταν αν δεν είναι εκτελέσιμο,
προσπάθησε να το τρέξεις ως shell script με βάση το τρέχον shell
.Αργότερα, βρέθηκε ένας έξυπνος τρόπος ώστε το &man.sh.1; να
ελέγχει τους πρώτους δύο χαρακτήρες, και αν ήταν
:\n, τότε καλούσε το shell &man.csh.1;
(πιστεύουμε πως η λύση αυτή βρέθηκε αρχικά από τη SCO).Αυτό που κάνει τώρα το &os; είναι να διατρέχει τη λίστα με όλους
τους φορτωτές, με ένα γενικό φορτωτή #! ο οποίος
αναγνωρίζει ως διερμηνέα (interpreter) τους χαρακτήρες από το επόμενο
κενό μετά το ! και μέχρι το τέλος, ενώ αν δεν
αναγνωριστεί κάποιος, χρησιμοποιείται ως έσχατη λύση το
/bin/sh.ELFΓια την υποστήριξη του Linux ABI, το &os; βλέπει τον μαγικό
αριθμό του ELF binary (δε αναγνωρίζει τη διαφορά ανάμεσα σε
&os;, &solaris;, Linux, ή κάποιο άλλο λειτουργικό σύστημα το οποίο
χρησιμοποιεί αρχεία τύπου ELF).SolarisΟ φορτωτής ELF κοιτάει για ένα ειδικό brand,
το οποίο είναι μια ενότητα σχολίων μέσα στο ELF image, και το οποίο
δεν υπάρχει σε ELF binaries για SVR4/&solaris;Για να λειτουργήσουν τα εκτελέσιμα του Linux, θα πρέπει να
γίνουν branded (μαρκαριστούν) ως
Linux μέσω της &man.brandelf.1;:&prompt.root; brandelf -t Linux fileΌταν γίνει αυτό, ο φορτωτής ELF θα βλέπει το
Linux brand πάνω στο αρχείο.ELFbrandingΌταν ο φορτωτής ELF δει το Linux brand, θα
αντικαταστήσει έναν δείκτη μέσα στη δομή proc.
Όλες οι κλήσεις του συστήματος ταξινομούνται μέσα από αυτόν τον
δείκτη (σε ένα παραδοσιακό σύστημα &unix;, ο δείκτης θα ήταν ο
πίνακας sysent[], που περιέχει τις κλήσεις
του συστήματος (system calls)). Επιπλέον, η διεργασία σημειώνεται για
ειδική μεταχείριση του trap vector και άλλες (μικρές) διορθώσεις,
τις οποίες χειρίζεται το άρθρωμα πυρήνα της συμβατότητας Linux.Το system call vector του Linux περιέχει, μεταξύ άλλων, μια λίστα
με τα δεδομένα του sysent[] των οποίων
οι διευθύνσεις βρίσκονται μέσα στο άρθρωμα του πυρήνα.Όταν γίνεται μια κλήση συστήματος από μια εφαρμογή Linux, ο
κώδικας (trap code) τροποποιεί τον δείκτη της μέσω της δομής που έχει
εγγραφεί στο proc, και αλλάζει την διεύθυνση ώστε
να δείχνει στο σημείο εισόδου της συνάρτησης του Linux, και όχι του
&os;.Επίσης, το σύστημα συμβατότητας με Linux μπορεί και προσαρμόζει
δυναμικά τις τοποθεσίες αναζήτησης. Ουσιαστικά αυτό κάνει και η
επιλογή κατά την προσάρτηση ενός συστήματος
αρχείων (δεν εννοούμε εδώ το σύστημα
αρχείων unionfs!). Αρχικά, γίνεται απόπειρα να
βρεθεί το αρχείο στον κατάλογο
/compat/linux/original-path, και μόνο
αν αυτό αποτύχει, θα γίνει αναζήτηση στον κατάλογο
/original-path. Με
τον τρόπο αυτό σιγουρεύουμε ότι τα εκτελέσιμα που χρειάζονται άλλα
εκτελέσιμα θα τρέξουν (για παράδειγμα, το σύνολο εργαλείων του
Linux μπορεί να εκτελεστεί μέσω της υποστήριξης του Linux ABI). Επίσης
σημαίνει ότι τα εκτελέσιμα του Linux μπορούν να φορτώσουν και να
εκτελέσουν αρχεία του &os; αν δεν μπορούν να εντοπίσουν τα αντίστοιχα
αρχεία στο Linux. Μπορείτε επίσης να τοποθετήσετε μια εντολή
&man.uname.1; μέσα στο /compat/linux προκειμένου
τα αρχεία του Linux να μη μπορούν να αναγνωρίσουν ότι δεν
χρησιμοποιούνται πραγματικά σε Linux.Ουσιαστικά, υπάρχει ένας πυρήνας Linux μέσα στον πυρήνα
του &os;. Οι διάφορες λειτουργίες οι οποίες υλοποιούν όλες τις
υπηρεσίες που παρέχονται από τον πυρήνα είναι ίδιες τόσο στον πίνακα
κλήσεων συστήματος του &os; όσο και στον αντίστοιχο του Linux:
λειτουργίες του συστήματος αρχείων, εικονική μνήμη, διαχείριση
σημάτων, System V IPC κλπ. Η μόνη διαφορά είναι ότι το εκτελέσιμα
του &os; κάνουν χρήση των συναρτήσεων glue του
&os;, ενώ τα εκτελέσιμα του Linux, κάνουν χρήση των συναρτήσεων
glue του Linux (πολλά από τα παλιά λειτουργικά
είχαν τις δικές τους συναρτήσεις glue: οι
διευθύνσεις των συναρτήσεων βρίσκονταν στο στατικό πίνακα
sysent[], αντί να διευκρινίζονται μέσω ενός
δυναμικού δείκτη στη δομή proc της διεργασίας που
πραγματοποιεί την κλήση).Ποιο είναι όμως το εγγενές &os; ABI; Δεν έχει και πολύ σημασία.
Η μόνη βασική διαφορά είναι (κάτι το οποίο μπορεί εύκολα να
αλλάξει σε μελλοντικές εκδόσεις, και πολύ πιθανόν να αλλάξει) ότι
οι συναρτήσεις glue του &os; είναι στατικά
συνδεδεμένες στο πυρήνα, ενώ οι αντίστοιχες του Linux μπορούν είτε να
είναι συνδεδεμένες στατικά, είτε να είναι προσβάσιμες μέσω ενός
αρθρώματος πυρήνα.Είναι αυτό όμως πραγματική εξομοίωση; Όχι. Είναι μια υλοποίηση
του ABI, όχι εξομοίωση. Δεν υπάρχει καμία εξομοίωση (ή προσομοίωση,
για να προλάβουμε την επόμενη σας ερώτηση).Τότε γιατί μερικές φορές μιλάμε για εξομοίωση
Linux; Για να δυσκολευτεί η προώθηση του &os;! Η αρχική
υλοποίηση έγινε την εποχή όπου δεν υπήρχε άλλη λέξη που να μπορούσε
να περιγράψει το τι ακριβώς γινόταν. Το να
λέγαμε ότι το &os; έτρεχε εκτελέσιμα Linux δεν θα ήταν αλήθεια,
μια και χρειαζόταν να ενσωματωθεί κάποιος κώδικας στον πυρήνα, ή να
φορτωθεί κάποιο άρθρωμα. Χρειαζόταν κάποια λέξη που να περιγράφει τι
φορτωνόταν—έτσι προέκυψε ο εξομοιωτής Linux.
diff --git a/el_GR.ISO8859-7/books/handbook/multimedia/chapter.sgml b/el_GR.ISO8859-7/books/handbook/multimedia/chapter.sgml
index 21a3e61eec..23c1f49a62 100644
--- a/el_GR.ISO8859-7/books/handbook/multimedia/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/multimedia/chapter.sgml
@@ -1,1866 +1,1867 @@
RossLippertΕπεξεργασία από τον ΠολυμέσαΣύνοψηΤο &os; υποστηρίζει μεγάλη ποικιλία από κάρτες ήχου, επιτρέποντας
σας έτσι να απολαύσετε υψηλής πιστότητας ήχο από τον υπολογιστή σας.
Περιλαμβάνεται η δυνατότητα να εγγράψετε και να αναπαράγετε ήχο MPEG
Audio Layer 3 (MP3), WAV, και Ogg Vorbis καθώς και πολλά άλλα
formats. Το &os; Ports Collection επίσης περιέχει
εφαρμογές που σας επιτρέπουν να επεξεργαστείτε τον ηχογραφημένο σας ήχο,
να προσθέσετε ηχητικά εφέ, και να ελέγξετε συσκευές MIDI.Με λίγο πειραματισμό, το &os; μπορεί να υποστηρίξει
αναπαραγωγή αρχείων video και DVD. Ο αριθμός των εφαρμογών που
κωδικοποιούν, μετατρέπουν, και αναπαράγουν διάφορους τύπους video είναι
πιο περιορισμένος από τον αριθμό των εφαρμογών ήχου. Για παράδειγμα,
όταν γράφηκε αυτό το κείμενο, δεν υπήρχε καμιά καλή εφαρμογή
επανακωδικοποίησης στη συλλογή των Ports του &os;, που θα μπορούσε
να χρησιμοποιηθεί για μετατροπή μεταξύ formats, όπως το
audio/sox. Παρ' όλα αυτά, το τοπίο
σε αυτό τον τομέα, και όσο αφορά το λογισμικό, αλλάζει ραγδαία.Το κεφάλαιο αυτό θα περιγράψει τα απαραίτητα βήματα για τη ρύθμιση
της κάρτας ήχου σας. Η ρύθμιση και εγκατάσταση του X11
() έχει ήδη φροντίσει για τα πιθανά προβλήματα
υλικού της κάρτας γραφικών σας, αν και μπορεί να χρειάζεται να
εφαρμόσετε κάποιες ακόμα μικρορυθμίσεις για καλύτερη αναπαραγωγή.Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε:Πως να ρυθμίσετε το σύστημα σας ώστε να αναγνωρίζεται η
κάρτα ήχου σας.Μεθόδους για να ελέγξετε τη λειτουργία της κάρτας σας.Πως να επιλύσετε προβλήματα σχετικά με τις ρυθμίσεις ήχου.
Πως να αναπαράγετε και να κωδικοποιήσετε MP3 και άλλους τύπους
αρχείων ήχου.Πως υποστηρίζεται το video από τον X server.Κάποια ports αναπαραγωγής/κωδικοποίησης video που δίνουν καλά
αποτελέσματα.Πως να αναπαράγετε DVD, και αρχεία .mpg και
.avi.Πως να κάνετε rip το περιεχόμενο CD και DVD σε αρχεία.Πως να ρυθμίσετε μια κάρτα τηλεόρασης.Πως να ρυθμίσετε ένα σαρωτή εικόνων.Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:Να ξέρετε πως θα ρυθμίσετε και θα εγκαταστήσετε νέο
πυρήνα ().Αν προσπαθήσετε να προσαρτήσετε μουσικά CD
με την εντολή &man.mount.8; θα προκληθεί κατ' ελάχιστον
σφάλμα, ή στη χειρότερη περίπτωση kernel
panic. Τέτοια μέσα έχουν εξειδικευμένες κωδικοποιήσεις
που διαφέρουν από το συνηθισμένο σύστημα αρχείων ISO.MosesMooreΣυνεισφορά από τον MarcFonvieilleΒελτιώθηκε για το &os; 5.X από τον Ρύθμιση της Κάρτας ΉχουΡυθμίζοντας το ΣύστημαPCIISAsound cardsΠριν ξεκινήσετε, θα πρέπει να ξέρετε το μοντέλο της κάρτας που
έχετε, το ολοκληρωμένο κύκλωμα που χρησιμοποιεί, καθώς και αν είναι PCI
ή ISA. Το &os; υποστηρίζει μεγάλη ποικιλία καρτών ήχου, τόσο PCI όσο
και ISA. Ελέγξτε τις υποστηριζόμενες συσκευές ήχου στις
Σημειώσεις Υλικού για να
δείτε αν η κάρτα σας υποστηρίζεται. Στις Σημειώσεις Υλικού αναφέρεται
επίσης ποιο πρόγραμμα οδήγησης υποστηρίζει την κάρτα σας.kernelconfigurationΓια να χρησιμοποιήσετε την συσκευή ήχου που διαθέτετε, θα πρέπει να
φορτώσετε τον κατάλληλο οδηγό συσκευής. Αυτό μπορεί να επιτευχθεί με δύο
τρόπους. Ο ευκολότερος είναι απλώς να φορτώσετε ένα module (άρθρωμα)
για την κάρτα ήχου στον πυρήνα, χρησιμοποιώντας την εντολή
&man.kldload.8;, με τη βοήθεια της γραμμής εντολών:
&prompt.root; kldload snd_emu10k1ή προσθέτοντας την κατάλληλη γραμμή στο αρχείο
/boot/loader.conf όπως παρακάτω:snd_emu10k1_load="YES"Τα παραπάνω παραδείγματα είναι για μια κάρτα ήχου Creative
&soundblaster; Live!. Υπάρχουν διαθέσιμα και άλλα modules για κάρτες
ήχου και μπορείτε να τα δείτε στο αρχείο
/boot/defaults/loader.conf.
Αν δεν είστε σίγουρος για το πρόγραμμα οδήγησης που πρέπει να
χρησιμοποιήσετε, μπορείτε να προσπαθήσετε να φορτώσετε το module
snd_driver:&prompt.root; kldload snd_driverΠρόκειται για ένα μετα-πρόγραμμα οδήγησης, το οποίο φορτώνει με
μιας όλα τα κοινά προγράμματα οδήγησης για κάρτες ήχου. Με τον τρόπο
αυτό μπορείτε να επιταχύνετε την ανίχνευση για το σωστό οδηγό. Μπορείτε
επίσης να φορτώσετε όλα τα προγράμματα οδήγησης μέσω του αρχείου
/boot/loader.conf.Αν επιθυμείτε να βρείτε το επιλεγμένο πρόγραμμα οδήγησης της κάρτας
σας μετά τη φόρτωση του snd_driver, μπορείτε να
ελέγξετε το αρχείο /dev/sndstat με την βοήθεια της
εντολής cat /dev/sndstat.Μια δεύτερη μέθοδος είναι να μεταγλωττίσετε την υποστήριξη της
κάρτας ήχου σας, στατικά, απευθείας στον πυρήνα. Το παρακάτω τμήμα
παρέχει τις πληροφορίες που χρειάζεστε για να προσθέσετε υποστήριξη για
το υλικό σας με αυτό τον τρόπο. Για περισσότερες πληροφορίες σχετικά με
την μεταγλώττιση του πυρήνα, δείτε το .
Δημιουργώντας Προσαρμοσμένο Πυρήνα με Υποστήριξη ΉχουΑρχικά, πρέπει να προσθέσετε το γενικό πρόγραμμα οδήγησης ήχου
(audio framework driver) &man.sound.4; στον πυρήνα σας. Θα χρειαστεί
να προσθέσετε την ακόλουθη γραμμή στο αρχείο ρυθμίσεων του πυρήνα:
device soundΈπειτα, θα πρέπει να προσθέσετε υποστήριξη για την κάρτα ήχου σας.
Πρέπει να γνωρίζετε από πριν ποιο πρόγραμμα οδήγησης την υποστηρίζει.
Ελέγξτε τη λίστα των υποστηριζόμενων καρτών στις
Σημειώσεις Υλικού,
για να καθορίσετε το σωστό οδηγό για την δική σας. Για παράδειγμα,
ή Creative &soundblaster; Live!, υποστηρίζεται από τον οδηγό
&man.snd.emu10k1.4;. Για να προσθέσετε υποστήριξη για αυτή την κάρτα,
χρησιμοποιήστε την ακόλουθη γραμμή:device snd_emu10k1Βεβαιωθείτε ότι διαβάσατε την σελίδα του manual για το πρόγραμμα
οδήγησης, ώστε να χρησιμοποιήσετε τη σωστή σύνταξη. Η ακριβής σύνταξη
για κάθε υποστηριζόμενη κάρτα ήχου στο αρχείο ρυθμίσεων πυρήνα, μπορεί
να βρεθεί επίσης στο αρχείο
/usr/src/sys/conf/NOTES.Για κάρτα ήχου τύπου ISA που δεν είναι Plug'N'Play μπορεί να
χρειαστεί να δώσετε στον πυρήνα πληροφορίες σχετικά με τις ρυθμίσεις
της (όπως το IRQ, θύρα I/O κλπ), όπως γίνεται τυπικά σε αυτές τις
περιπτώσεις. Αυτό μπορεί να γίνει μέσω του αρχείου
/boot/device.hints. Κατά τη διαδικασία της
εκκίνησης, ο &man.loader.8; θα διαβάσει το αρχείο και θα μεταβιβάσει
τις ρυθμίσεις στον πυρήνα. Για παράδειγμα, μια παλιά Creative
&soundblaster; 16 ISA μη-PnP κάρτα χρησιμοποιεί το πρόγραμμα οδήγησης
&man.snd.sbc.4; σε συνδυασμό με το snd_sb16. Για
την κάρτα αυτή πρέπει να προστεθούν οι παρακάτω γραμμές στο αρχείο
ρυθμίσεων πυρήνα:device snd_sbc
device snd_sb16και οι παρακάτω γραμμές στο αρχείο
/boot/device.hints:hint.sbc.0.at="isa"
hint.sbc.0.port="0x220"
hint.sbc.0.irq="5"
hint.sbc.0.drq="1"
hint.sbc.0.flags="0x15"Στην περίπτωση αυτή, η κάρτα χρησιμοποιεί τη θύρα I/O
0x220 και το IRQ 5.Η σύνταξη που χρησιμοποιείται στο αρχείο
/boot/device.hints εξηγείται στη σελίδα manual
του &man.sound.4; καθώς και στη σελίδα manual του αντίστοιχου
προγράμματος οδήγησης.Οι ρυθμίσεις που φαίνονται παραπάνω είναι οι προεπιλεγμένες. Σε
ορισμένες περιπτώσεις, μπορεί να χρειαστεί να αλλάξετε το IRQ ή άλλες
ρυθμίσεις ώστε να ταιριάζουν με τις ρυθμίσεις της κάρτας σας. Δείτε τη
σελίδα manual της &man.snd.sbc.4; για περισσότερες πληροφορίες σχετικά
με την κάρτα αυτή.Δοκιμάζοντας την Κάρτα ΉχουΑφού κάνετε επανεκκίνηση με τον νέο πυρήνα (ή αφού φορτώσετε το
απαραίτητο module), Θα πρέπει να δείτε μηνύματα σχετικά με την κάρτα
ήχου στην προσωρινή μνήμη (buffer) καταγραφής του συστήματος
(&man.dmesg.8;) αντίστοιχα με τα παρακάτω:pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Cirrus Logic CS4205 AC97 Codec>Η κατάσταση της κάρτας ήχου μπορεί να ελεγχθεί μέσω του αρχείου
/dev/sndstat:&prompt.root; cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)Τα μηνύματα στο σύστημα σας μπορεί να είναι διαφορετικά. Αν δεν
δείτε συσκευές τύπου pcm, επιστρέψτε και
ελέγξτε τα βήματα που κάνατε προηγουμένως. Κοιτάξτε το αρχείο
ρυθμίσεων πυρήνα και βεβαιωθείτε ότι έχετε επιλέξει το σωστό πρόγραμμα
οδήγησης. Για συνήθη προβλήματα και την αντιμετώπιση τους, δείτε το
τμήμα .Αν όλα πάνε καλά, η κάρτα ήχου σας θα λειτουργεί. Αν ο οδηγός CD ή
DVD που διαθέτετε είναι συνδεμένος με την κάρτα ήχου μέσω της αναλογικής
του εξόδου, μπορείτε να βάλετε ένα μουσικό CD και να το αναπαράγετε με
το πρόγραμμα &man.cdcontrol.1;:&prompt.user; cdcontrol -f /dev/acd0 play 1Άλλες εφαρμογές, όπως το audio/workman παρέχουν φιλικότερο περιβάλλον
εργασίας. Ίσως θέλετε να εγκαταστήσετε μια εφαρμογή όπως το
audio/mpg123 για να αναπαράγετε
αρχεία ήχου MP3.Ένας άλλος γρήγορος τρόπος για να ελέγξετε την κάρτα ήχου σας, είναι
να στείλετε δεδομένα στην συσκευή /dev/dsp, όπως
παρακάτω:&prompt.user; cat filename > /dev/dspόπου το filename
μπορεί να είναι οποιοδήποτε αρχείο. Η παραπάνω εντολή θα πρέπει να
παράγει κάποιο ήχο (θόρυβο) επιβεβαιώνοντας τη σωστή λειτουργία της
κάρτας ήχου.Η ένταση ήχου της κάρτας μπορεί να αλλάξει μέσω της εντολής
&man.mixer.8;. Περισσότερες πληροφορίες μπορείτε να βρείτε στην σελίδα
του manual της &man.mixer.8;.Συνηθισμένα Προβλήματαdevice nodesI/O portIRQDSPΠρόβλημαΛύσηsb_dspwr(XX) timed outΔεν είναι σωστά ρυθμισμένη η θύρα I/O.bad irq XXΤο IRQ δεν είναι σωστά ρυθμισμένο. Βεβαιωθείτε ότι
το IRQ που έχετε δηλώσει είναι το ίδιο με αυτό που έχει
ρυθμιστεί στην κάρτα.xxx: gus pcm not attached, out of memoryΔεν υπάρχει αρκετή διαθέσιμη μνήμη για να
γίνει χρήση της συσκευής.xxx: can't open /dev/dsp!Ελέγξτε με την βοήθεια της εντολής
fstat | grep dsp αν κάποια άλλη εφαρμογή
απασχολεί τη συγκεκριμένη συσκευή. Συνήθεις ύποπτοι είναι
η εφαρμογή esound καθώς και το
σύστημα υποστήριξης ήχου του περιβάλλοντος
KDE.MunishChopraΣυνεισφορά από τον Χρησιμοποιώντας Πολλαπλές Πηγές ΉχουΕίναι πολλές φορές επιθυμητό να έχουμε πολλαπλές πηγές ήχου που να
αναπαράγονται ταυτόχρονα, όπως όταν για παράδειγμα το
esound ή το
artsd δεν επιτρέπουν κοινή χρήση της συσκευής
ήχου σε κάποια συγκεκριμένη εφαρμογή.Το &os; επιτρέπει αυτή τη λειτουργία μέσω των Εικονικών
Καναλιών Ήχου (Virtual Sound Channels), τα οποία μπορούν να
ενεργοποιηθούν μέσω των δυνατοτήτων που παρέχονται από το
&man.sysctl.8;. Τα Εικονικά Κανάλια σας επιτρέπουν να πολυπλέξετε τους
ήχους που αναπαράγει η κάρτα σας, αναμιγνύοντας τον ήχο στον πυρήνα.
Για να ρυθμίσετε το πλήθος των εικονικών καναλιών, υπάρχουν δύο
ρυθμίσεις sysctl που μπορούν να γίνουν αν είστε ο χρήστης
root, όπως φαίνεται παρακάτω:&prompt.root; sysctl hw.snd.pcm0.vchans=4
&prompt.root; sysctl hw.snd.maxautovchans=4Το παραπάνω παράδειγμα παραχωρεί τέσσερα εικονικά κανάλια, τα οποία
άνετα επαρκούν για καθημερινή χρήση. Η μεταβλητή
hw.snd.pcm0.vchans είναι ο αριθμός των εικονικών
καναλιών για την συσκευή pcm0, και μπορεί να
ρυθμιστεί εφόσον έχει προσαρτηθεί συσκευή. Η μεταβλητή
hw.snd.maxautovchans είναι ο αριθμός των εικονικών
καναλιών που παραχωρούνται σε μια νέα συσκευή ήχου όταν αυτή
προσαρτάται μέσω της εντολής &man.kldload.8;. Καθώς το module
pcm μπορεί να φορτωθεί ανεξάρτητα από τα
προγράμματα οδήγησης του υλικού, το
hw.snd.maxautovchans μπορεί να αποθηκεύσει το
μέγιστο πλήθος των εικονικών καναλιών που θα παραχωρηθούν σε όσες
συσκευές ήχου προσαρτηθούν αργότερα.Δεν μπορείτε να αλλάξετε τον αριθμό των εικονικών καναλιών μιας
συσκευής όσο αυτή είναι σε χρήση. Πρώτα κλείστε όσα προγράμματα
χρησιμοποιούν τη συσκευή, όπως προγράμματα αναπαραγωγής μουσικής ή
δαίμονες ήχου.Αν δεν χρησιμοποιείτε το &man.devfs.5;, θα πρέπει να κατευθύνετε τις
εφαρμογές σας στο
/dev/dsp0.x,
όπου x είναι από 0 ως 3 αν
το hw.snd.pcm.0.vchans είναι ρυθμισμένο στο 4 όπως
στο παραπάνω παράδειγμα. Σε ένα σύστημα που χρησιμοποιεί την
&man.devfs.5;, η παραπάνω ρύθμιση θα γίνεται αυτόματα και διάφανα σε
κάθε πρόγραμμα που ζητά να χρησιμοποιήσει το
/dev/dsp0.JosefEl-RayesΣυνεισφορά από τον Ρυθμίζοντας Προεπιλεγμένες Τιμές για τα Κανάλια του ΜίκτηΟι προεπιλεγμένες τιμές για τα διάφορα κανάλια του μίκτη, είναι
ενσωματωμένες στον πηγαίο κώδικα του προγράμματος οδήγησης &man.pcm.4;.
Υπάρχουν πολλές διαφορετικές εφαρμογές και δαίμονες που σας επιτρέπουν
να αλλάξετε τιμές στο μίκτη, απομνημονεύοντας τις μεταξύ διαδοχικών
κλήσεων, αλλά ή λύση αυτή δεν είναι και η καλύτερη. Είναι δυνατόν να
ορίσετε προεπιλεγμένες τιμές μίξης σε επίπεδο προγράμματος οδήγησης.
Αυτό μπορεί να επιτευχθεί με την ρύθμιση κατάλληλων τιμών
στο αρχείο /boot/device.hints, π.χ.:hint.pcm.0.vol="50"Το παραπάνω ρυθμίζει την ένταση του ήχου στην προεπιλεγμένη τιμή
50, όταν φορτωθεί το module &man.pcm.4;.ChernLeeΣυνεισφορά από τον Ήχος MP3Τα αρχεία ήχου MP3 (MPEG Layer 3 Audio) επιτυγχάνουν ποιότητα ήχου
πολύ κοντά στο μουσικό CD, και είναι καλό να έχετε δυνατότητα
αναπαραγωγής τους στο &os; σύστημα σας.Προγράμματα Αναπαραγωγής MP3Το πιο δημοφιλές, με μεγάλη διαφορά, πρόγραμμα αναπαραγωγής MP3
για το Χ11, είναι η εφαρμογή XMMS
(X Multimedia System). Μπορείτε να χρησιμοποιήσετε τα skins του
Winamp με το
XMMS καθώς το γραφικό του περιβάλλον είναι
σχεδόν όμοιο με το Winamp της Nullsoft.
Το XMMS έχει επίσης ενσωματωμένη δυνατότητα
χρήσης plug-ins.Το XMMS μπορεί να εγκατασταθεί από το
port multimedia/xmms ή από
πακέτο.Το περιβάλλον του XMMS το καθιστά
εύκολο στη χρήση, καθώς διαθέτει λίστα αναπαραγωγής (playlist),
γραφικό ισοσταθμιστή και άλλες λειτουργίες. Όσοι είναι εξοικειωμένοι
με το Winamp θα βρουν το
XMMS απλό στη χρήση του.Το port audio/mpg123 είναι
ένα εναλλακτικό πρόγραμμα αναπαραγωγής MP3 μέσω της γραμμής εντολών.
Το mpg123 μπορεί να εκτελεστεί
καθορίζοντας τη συσκευή ήχου και το αρχείο MP3 από τη γραμμή εντολών
όπως φαίνεται παρακάτω:&prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Playing MPEG stream from Foobar-GreatestHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
Το /dev/dsp1.0
πρέπει να αντικατασταθεί με το αντίστοιχο αρχείο συσκευής
dsp για το σύστημα σας.Αποθήκευση (Rip) Αρχείων από Μουσικά CDΠριν κωδικοποιήσετε ένα ολόκληρο CD ή ένα κομμάτι από CD σε αρχείο
MP3, θα πρέπει να αντιγράψετε τα μουσικά δεδομένα από το CD στο σκληρό
σας δίσκο. Αυτό γίνεται γράφοντας τα δεδομένα τύπου CDDA (CD Digital
Audio) σε αρχεία WAV.Το εργαλείο cdda2wav, το οποίο ανήκει στη
συλλογή εργαλείων
sysutils/cdrtools μπορεί να
χρησιμοποιηθεί τόσο για την ανάκτηση των δεδομένων ήχου από μουσικά
CD, όσο και πληροφοριών που σχετίζονται με αυτά.Έχοντας το μουσικό CD στον οδηγό, μπορείτε να χρησιμοποιήσετε την
ακόλουθη εντολή (ως root) για να αποθηκεύσετε ένα
ολόκληρο CD σε χωριστά (ανά κομμάτι) αρχεία WAV:&prompt.root; cdda2wav -D 0,1,0 -BΤο cdda2wav υποστηρίζει οδηγούς CDROM
τύπου ATAPI (IDE). Για να διαβάσετε δεδομένα από μια συσκευή IDE,
χρησιμοποιήστε το όνομα συσκευής αντί για τον αριθμό μονάδας SCSI. Για
παράδειγμα, για να αποθηκεύσετε το κομμάτι 7 από ένα οδηγό IDE:&prompt.root; cdda2wav -D /dev/acd0 -t 7Το
δείχνει τη συσκευή SCSI 0,1,0,
που αντιστοιχεί στην έξοδο της εντολής cdrecord
-scanbus.Για να διαβάσετε μεμονωμένα κομμάτια, χρησιμοποιήστε την επιλογή
όπως φαίνεται παρακάτω:&prompt.root; cdda2wav -D 0,1,0 -t 7Το παράδειγμα αυτό διαβάζει το κομμάτι επτά του μουσικού CD. Για
να διαβάσετε μια σειρά από κομμάτια, για παράδειγμα από το ένα ως το
επτά, καθορίστε μια περιοχή:&prompt.root; cdda2wav -D 0,1,0 -t 1+7Μπορείτε επίσης να χρησιμοποιήσετε το βοηθητικό πρόγραμμα
&man.dd.1; για να διαβάσετε μουσικά κομμάτια από οδηγούς ATAPI.
Διαβάστε το για περισσότερες
πληροφορίες σχετικά με αυτή τη δυνατότητα.Κωδικοποιώντας MP3Στις μέρες μας, το προτιμώμενο πρόγραμμα κωδικοποίησης είναι το
Lame.
Μπορείτε να το βρείτε στη συλλογή των ports, στο
audio/lame.Χρησιμοποιώντας τα αρχεία WAV που έχετε αποθηκεύσει, μπορείτε να
μετατρέψετε το αρχείο
audio01.wav σε
audio01.mp3 με την
εντολή:&prompt.root; lame -h -b 128 \
--tt "Foo Song Title" \
--ta "FooBar Artist" \
--tl "FooBar Album" \
--ty "2001" \
--tc "Ripped and encoded by Foo" \
--tg "Genre" \
audio01.wav audio01.mp3Τα 128 kbits είναι η τυπικά χρησιμοποιούμενη ποιότητα για
αρχεία MP3. Ωστόσο, πολλοί προτιμούν μεγαλύτερη ποιότητα όπως 160 ή
192. Όσο μεγαλύτερος είναι ο ρυθμός δεδομένων (bitrate), τόσο
περισσότερο χώρο αποθήκευσης θα χρειάζεται το αρχείο MP3 που θα
προκύψει, ωστόσο και η ποιότητα θα είναι υψηλότερη. Η επιλογή
ενεργοποιεί τη δυνατότητα υψηλότερης
ποιότητας αλλά ελαφρά πιο αργής κωδικοποίησης. Οι επιλογές που
ξεκινούν με δείχνουν ετικέτες (tags) ID3, οι
οποίες συνήθως περιέχουν πληροφορίες σχετικές με το τραγούδι και οι
οποίες μπορούν να ενσωματωθούν μέσα σε αρχεία MP3. Μπορείτε να βρείτε
περισσότερες επιλογές σχετικά με την κωδικοποίηση, αν συμβουλευτείτε
τη σελίδα manual του προγράμματος
lame.Αποκωδικοποιώντας MP3Για να μπορέσετε να γράψετε μουσικό CD από αρχεία MP3, θα πρέπει
να τα μετατρέψετε ξανά σε μορφή ασυμπίεστου αρχείου WAV. Τόσο το
XMMS όσο και το
mpg123 υποστηρίζουν εξαγωγή αρχείου MP3 σε
ασυμπίεστη μορφή αρχείου.Γράφοντας στο Δίσκο μέσω του XMMS:
Ξεκινήστε το XMMS.Κάντε δεξί κλικ στο παράθυρο της εφαρμογής για να ανοίξετε το
μενού του XMMS.Επιλέξτε Preferences από τα
Options.Αλλάξτε το Output Plugin σε Disk Writer
Plugin.Πιέστε Configure.Γράψτε (ή επιλέξτε browse) ένα κατάλογο για να αποθηκεύσετε
τα αποσυμπιεσμένα αρχεία.Φορτώστε το αρχείο MP3 στο XMMS
όπως συνήθως, με την ένταση στο 100% και τις ρυθμίσεις EQ
ανενεργές.Πιέστε το Play. Το
XMMS θα φαίνεται ότι αναπαράγει το
MP3, αλλά δεν θα ακούγεται κανείς ήχος. Στην πραγματικότητα
αναπαράγει το MP3 σε αρχείο.Όταν τελειώσετε, βεβαιωθείτε ότι επαναφέρατε τη ρύθμιση του
προεπιλεγμένου Output Plugin στην προηγούμενη επιλογή της, για να
μπορέσετε να ακούσετε ξανά αρχεία MP3.Γράφοντας στην έξοδο μέσω του mpg123:
Εκτελέστε
mpg123 -s audio01.mp3
> audio01.pcmΤο XMMS γράφει αρχεία σε μορφή WAV,
ενώ το mpg123 μετατρέπει το MP3 σε μη-
επεξεργασμένα (raw) δεδομένα ήχου PCM. Και οι δύο αυτές μορφές μπορούν
να χρησιμοποιηθούν με την εφαρμογή cdrecord
για τη δημιουργία μουσικών CD. Για την εφαρμογή &man.burncd.8; θα
πρέπει να χρησιμοποιήσετε δεδομένα PCM. Αν χρησιμοποιήσετε αρχεία WAV
θα παρατηρήσετε ένα μικρό ήχο (tick) στην αρχή κάθε κομματιού. Ο
ήχος αυτός προέρχεται από την επικεφαλίδα (header) του αρχείου WAV.
Μπορείτε να αφαιρέσετε την επικεφαλίδα με τη βοήθεια του προγράμματος
SoX (μπορείτε να το εγκαταστήσετε από το
port audio/sox ή το αντίστοιχο
πακέτο):&prompt.user; sox -t wav -r 44100 -s -w -c 2 track.wav track.rawΔιαβάστε το για περισσότερες
πληροφορίες σχετικά με τη χρήση CD εγγραφής στο &os;RossLippertΣυνεισφορά από τον Αναπαραγωγή VideoΗ αναπαραγωγή video είναι μια καινούρια και ραγδαία αναπτυσσόμενη
περιοχή εφαρμογών. Θα χρειαστεί να δείξετε υπομονή. Δεν πρόκειται να
λειτουργήσουν όλα τόσο ομαλά όπως στον ήχο.Πριν ξεκινήσετε, θα πρέπει να γνωρίζετε το μοντέλο της κάρτας
γραφικών που έχετε καθώς και το ολοκληρωμένο κύκλωμα που χρησιμοποιεί.
Αν και το &xorg; και το
&xfree86; υποστηρίζουν μεγάλη γκάμα από
κάρτες γραφικών, αυτές που παρέχουν καλή απόδοση είναι λιγότερες.
Για να πάρετε μια λίστα των εκτεταμένων δυνατοτήτων που
υποστηρίζονται από την κάρτα σας, χρησιμοποιήστε την εντολή
&man.xdpyinfo.1; την ώρα που εκτελούνται τα X11.Είναι γενικά καλή ιδέα να έχετε ένα μικρό αρχείο MPEG το οποίο
μπορεί να χρησιμοποιηθεί για δοκιμές διαφορετικών επιλογών και
προγραμμάτων αναπαραγωγής. Κάποια προγράμματα αναπαραγωγής DVD αναζητούν
από προεπιλογή το δίσκο DVD στη συσκευή /dev/dvd.
Σε ορισμένα το όνομα της συσκευής είναι ενσωματωμένο στον κώδικα του
προγράμματος. Για το λόγο αυτό, ίσως είναι χρήσιμο να φτιάξετε
συμβολικές συνδέσεις προς τις πραγματικές συσκευές:&prompt.root; ln -sf /dev/acd0 /dev/dvd
&prompt.root; ln -sf /dev/acd0 /dev/rdvdΣημειώστε ότι λόγω της φύσης του συστήματος &man.devfs.5;,
αυτού του είδους οι συνδέσεις δεν παραμένουν μετά την επανεκκίνηση του
συστήματος σας. Για να δημιουργούνται οι συμβολικές συνδέσεις αυτόματα
σε κάθε εκκίνηση του συστήματος σας, προσθέστε τις ακόλουθες γραμμές
στο αρχείο /etc/devfs.conf:
link acd0 dvd
link acd0 rdvdΕπιπρόσθετα, η αποκωδικοποίηση DVD, η οποία χρειάζεται κλήση ειδικών
λειτουργιών του DVD-ROM, απαιτεί και άδεια εγγραφής (write permission)
στις συσκευές DVD.Για τη βελτίωση της λειτουργίας της κοινόχρηστης μνήμης του
συστήματος X11, συνίσταται να αυξήσετε τις τιμές κάποιων μεταβλητών
&man.sysctl.8;:kern.ipc.shmmax=67108864
kern.ipc.shmall=32768Προσδιορισμός Δυνατοτήτων Κάρτας ΓραφικώνXVideoSDLDGAΥπάρχουν αρκετοί διαφορετικοί τρόποι για την απεικόνιση video στο
X11. Το τι θα δουλέψει τελικά, εξαρτάται σε μεγάλο βαθμό από το υλικό
σας. Κάθε μέθοδος που περιγράφουμε παρακάτω θα δώσει διαφορετική
ποιότητα σε διαφορετικό υλικό. Επίσης, η αναπαραγωγή video στο X11 είναι
ένα θέμα στο οποίο πρόσφατα δίνεται μεγάλη σημασία, και πιθανόν θα
υπάρχουν αρκετές βελτιώσεις σε κάθε νέα έκδοση του
&xorg;, ή του
&xfree86;.Κατάλογος κοινών διεπαφών video:X11: Συνηθισμένη έξοδος του X11 με χρήση κοινόχρηστης μνήμης.
XVideo: μια επέκταση της διεπαφής X11 που υποστηρίζει αναπαραγωγή
video σε οποιαδήποτε σχεδιάσιμη επιφάνεια του X11.SDL: Simple Directmedia Layer.DGA: Direct Graphics Access.SVGAlib: Επίπεδο γραφικών χαμηλού επιπέδου για κονσόλα.XVideoΤο &xorg; και το
&xfree86; 4.X διαθέτουν μια επέκταση που
ονομάζεται XVideo (γνωστή και ως Xvideo, Xv,
xv) και το οποίο επιτρέπει την απευθείας απεικόνιση video σε
σχεδιάσιμα αντικείμενα μέσω ειδικής επιτάχυνσης. Η επέκταση αυτή
παρέχει αναπαραγωγή πολύ καλής ποιότητας, ακόμα και σε μηχανήματα
χαμηλών προδιαγραφών.Για να δείτε αν χρησιμοποιείται η επέκταση, χρησιμοποιήστε την
εντολή xvinfo:&prompt.user; xvinfoΤο XVideo υποστηρίζεται από την κάρτα σας αν το αποτέλεσμα δείχνει
όπως παρακάτω:X-Video Extension version 2.2
screen #0
Adaptor #0: "Savage Streams Engine"
number of ports: 1
port base: 43
operations supported: PutImage
supported visuals:
depth 16, visualID 0x22
depth 16, visualID 0x23
number of attributes: 5
"XV_COLORKEY" (range 0 to 16777215)
client settable attribute
client gettable attribute (current value is 2110)
"XV_BRIGHTNESS" (range -128 to 127)
client settable attribute
client gettable attribute (current value is 0)
"XV_CONTRAST" (range 0 to 255)
client settable attribute
client gettable attribute (current value is 128)
"XV_SATURATION" (range 0 to 255)
client settable attribute
client gettable attribute (current value is 128)
"XV_HUE" (range -180 to 180)
client settable attribute
client gettable attribute (current value is 0)
maximum XvImage size: 1024 x 1024
Number of image formats: 7
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x36315652 (RV16)
guid: 52563135-0000-0000-0000-000000000000
bits per pixel: 16
number of planes: 1
type: RGB (packed)
depth: 0
red, green, blue masks: 0x1f, 0x3e0, 0x7c00
id: 0x35315652 (RV15)
guid: 52563136-0000-0000-0000-000000000000
bits per pixel: 16
number of planes: 1
type: RGB (packed)
depth: 0
red, green, blue masks: 0x1f, 0x7e0, 0xf800
id: 0x31313259 (Y211)
guid: 59323131-0000-0010-8000-00aa00389b71
bits per pixel: 6
number of planes: 3
type: YUV (packed)
id: 0x0
guid: 00000000-0000-0000-0000-000000000000
bits per pixel: 0
number of planes: 0
type: RGB (packed)
depth: 1
red, green, blue masks: 0x0, 0x0, 0x0Παρατηρήστε επίσης ότι τα formats που εμφανίζονται (YUV2, YUV12,
κ.λ.π.) δεν διατίθενται σε όλες τις εκδόσεις του XVideo, και η απουσία
τους μπορεί να επηρεάσει κάποια προγράμματα αναπαραγωγής.Αν το αποτέλεσμα δείχνει κάπως έτσι:X-Video Extension version 2.2
screen #0
no adaptors presentΤότε πιθανώς το XVideo δεν υποστηρίζεται από την κάρτα σας.Αν το XVideo δεν υποστηρίζεται από την κάρτα σας, αυτό σημαίνει απλά
ότι θα είναι πιο δύσκολο ο υπολογιστής σας να ανταποκριθεί στις
υπολογιστικές απαιτήσεις της απεικόνισης video. Ωστόσο, ανάλογα με την
κάρτα γραφικών και τον επεξεργαστή σας, είναι ακόμα πιθανόν να έχετε
ικανοποιητική αναπαραγωγή. Ίσως πρέπει να διαβάσετε μεθόδους για
τη βελτίωση της απόδοσης, στα προχωρημένα θέματα,
.Το Επίπεδο Simple Directmedia LayerΤο Simple Directmedia Layer, SDL, προορίζονταν να γίνει ένα επίπεδο
συμβατότητας μεταξύ των µsoft.windows;, BeOS, και του &unix;,
επιτρέποντας ανάπτυξη εφαρμογών ήχου και εικόνας, κατάλληλες για κάθε
μια από αυτές τις πλατφόρμες (cross-platform). Το επίπεδο SDL παρέχει
χαμηλού επιπέδου πρόσβαση στο υλικό, και σε ορισμένες περιπτώσεις μπορεί
να είναι πιο αποδοτικό από την διεπαφή X11.Το SDL μπορεί να βρεθεί στο
devel/sdl12.Το Επίπεδο Direct Graphics AccessΤο Direct Graphics Access είναι μια επέκταση του X11 που επιτρέπει
σε ένα πρόγραμμα να προσπεράσει τον X server και να αλλάξει απευθείας
τα περιεχόμενα του framebuffer (μνήμης γραφικών). Δεδομένου ότι
βασίζεται σε διαχείριση μνήμης χαμηλού επιπέδου, τα προγράμματα που το
χρησιμοποιούν πρέπει να εκτελούνται ως root.Η επέκταση DGA μπορεί να ελεγχθεί και να μετρηθεί ως προς την
απόδοση της με το πρόγραμμα &man.dga.1;. Όταν εκτελείται η εντολή
dga, αλλάζει τα χρώματα της οθόνης σε κάθε πίεση
ενός πλήκτρου. Για να ακυρώσετε την εκτέλεση, πιέστε q.
Πακέτα και Ports που Σχετίζονται με Videovideo portsvideo packagesΤο τμήμα αυτό περιγράφει το λογισμικό που διατίθεται στη συλλογή
των ports του &os; και το οποίο μπορεί να χρησιμοποιηθεί για αναπαραγωγή
video. Ο τομέας της αναπαραγωγής video είναι ιδιαίτερα ενεργός όσο αφορά
την ανάπτυξη λογισμικού, και έτσι οι δυνατότητες των εφαρμογών πιθανώς
να αποκλίνουν κάπως από αυτές που περιγράφονται εδώ.Είναι αρχικά σημαντικό να γνωρίζετε ότι αρκετές από τις εφαρμογές
video που εκτελούνται στο &os; αναπτύχθηκαν αρχικά ως εφαρμογές Linux.
Πολλές από αυτές τις εφαρμογές είναι ακόμα ποιότητας beta. Κάποια από τα
προβλήματα που μπορεί να συναντήσετε στις εφαρμογές video του &os;
περιλαμβάνουν:Μια εφαρμογή δεν μπορεί να αναπαράγει ένα αρχείο που
δημιουργήθηκε από κάποια άλλη.Μια εφαρμογή δεν μπορεί να αναπαράγει ένα αρχείο που δημιούργησε
η ίδια.Η ίδια εφαρμογή, σε δυο διαφορετικά μηχανήματα, και αφού έχει
μεταγλωττιστεί σε κάθε μηχάνημα ειδικά για αυτό, αναπαράγει το ίδιο
αρχείο με διαφορετικό τρόπο.Κάποιο φαινομενικά απλό φίλτρο, όπως αυτό της αλλαγής μεγέθους
εικόνας (rescaling), έχει ως αποτέλεσμα την δημιουργία κακής
ποιότητας video (τεχνουργημάτων) εξαιτίας προβληματικής ρουτίνας
μεγέθυνσηςΚάποια εφαρμογή τερματίζεται απότομα συχνά.Δεν εγκαθίσταται η τεκμηρίωση του προγράμματος κατά την
εγκατάσταση του port, ενώ μπορεί να βρεθεί είτε στο δικτυακό τόπο
του προγράμματος είτε στον κατάλογο
work του port.Πολλές από τις εφαρμογές αυτές μπορεί επίσης να παρουσιάσουν
συμπτώματα Linux-ισμού. Μπορεί δηλ. να εμφανίζουν
προβλήματα που οφείλονται στον τρόπο με τον οποίο υλοποιούνται κάποιες
στάνταρ βιβλιοθήκες στις διανομές του Linux, ή ίσως οι συγγραφείς να
έχουν θεωρήσει ως δεδομένες κάποιες δυνατότητες του πυρήνα όπως
υπάρχουν στο Linux. Τα προβλήματα αυτά δεν είναι σίγουρο ότι
ανακαλύπτονται και διορθώνονται πάντα από τους συντηρητές του port, το
οποίο μπορεί να οδηγήσει σε προβλήματα όπως τα παρακάτω:Χρήση του αρχείου /proc/cpuinfo για την
ανίχνευση των δυνατοτήτων του επεξεργαστή.Κακή χρήση των threads (νημάτων) το οποίο οδηγεί το πρόγραμμα
σε κόλλημα αντί για κανονικό τερματισμό στο τέλος της εκτέλεσης.
Χρήση λογισμικού που δεν υπάρχει ακόμα στη συλλογή των ports του
&os; σε συνδυασμό με την εφαρμογή.Μέχρι στιγμής οι συγγραφείς των εφαρμογών αυτών έχουν αποδειχθεί
συνεργάσιμοι με τους συντηρητές των ports, ώστε να ελαχιστοποιηθούν οι
επεμβάσεις που χρειάζονται για την μετατροπή (porting) των εφαρμογών.
MPlayerΟ MPlayer είναι μια εφαρμογή
αναπαραγωγής video που αναπτύχθηκε πρόσφατα και εξελίσσεται ταχύτατα.
Οι στόχοι της ομάδας ανάπτυξης του MPlayer
είναι η ταχύτητα και η ευελιξία στο Linux και στα άλλα Unix. Η
δημιουργία του ξεκίνησε όταν ο αρχηγός της ομάδας ανάπτυξης κουράστηκε
να αντιμετωπίζει τα προβλήματα αναπαραγωγής των μέχρι τότε διαθέσιμων
προγραμμάτων. Κάποιοι υποστηρίζουν ότι το γραφικό περιβάλλον
θυσιάστηκε για να δημιουργηθεί μια ομοιόμορφη σχεδίαση. Ωστόσο, μόλις
συνηθίσετε τις επιλογές που δίνονται από τη γραμμή εντολών και τα
αντίστοιχα πλήκτρα, θα μπορέσετε να τον χρησιμοποιήσετε αρκετά καλά.
Μεταγλώττιση του MPlayerMPlayermakingΟ MPlayer βρίσκεται στο multimedia/mplayer.
Ο MPlayer κάνει πλήθος ελέγχων του υλικού
κατά τη διαδικασία της μεταγλώττισης, φτιάχνοντας έτσι ένα
εκτελέσιμο το οποίο δεν έχει φορητότητα από ένα σύστημα σε ένα άλλο.
Για το σκοπό αυτό, είναι σημαντικό να τον εγκαταστήσετε από τα ports
και όχι από έτοιμο πακέτο. Επιπρόσθετα, μπορείτε να καθορίσετε
πλήθος επιλογών στην γραμμή εντολών του make
όπως περιγράφεται στο Makefile και κατά την
έναρξη της διαδικασίας μεταγλώττισης:&prompt.root; cd /usr/ports/multimedia/mplayer
&prompt.root; make
N - O - T - E
Take a careful look into the Makefile in order
to learn how to tune mplayer towards you personal preferences!
For example,
make WITH_GTK1
builds MPlayer with GTK1-GUI support.
If you want to use the GUI, you can either install
/usr/ports/multimedia/mplayer-skins
or download official skin collections from
http://www.mplayerhq.hu/homepage/dload.html
Οι προεπιλεγμένες επιλογές μάλλον είναι κατάλληλες για
τους περισσότερους χρήστες. Αν ωστόσο χρειάζεστε τον αποκωδικοποιητή
XviD, θα πρέπει να καθορίσετε την επιλογή
WITH_XVID στην γραμμή εντολών. Μπορείτε επίσης
να ορίσετε την προεπιλεγμένη συσκευή DVD χρησιμοποιώντας την επιλογή
WITH_DVD_DEVICE, διαφορετικά θα χρησιμοποιηθεί η
προεπιλεγμένη συσκευή /dev/acd0.Όταν γράφονταν αυτό το κείμενο, το port του
MPlayer δημιουργούσε επίσης την
τεκμηρίωση του προγράμματος και δύο εκτελέσιμα, τον
mplayer, και τον
mencoder, το οποίο είναι ένα εργαλείο για
επανακωδικοποίηση video.Η HTML τεκμηρίωση του MPlayer
είναι ιδιαίτερα πληροφοριακή. Αν ο αναγνώστης βρει ότι οι
πληροφορίες αυτού του κεφαλαίου όσο αφορά το υλικό και τις διεπαφές
video είναι ελλιπείς, η τεκμηρίωση του
MPlayer αποτελεί ένα ιδιαίτερα
αναλυτικό συμπλήρωμα. Θα πρέπει σίγουρα να διαθέσετε χρόνο για να
διαβάσετε την τεκμηρίωση του MPlayer
αν αναζητάτε πληροφορίες σχετικά με την υποστήριξη video στο &unix;.
Χρησιμοποιώντας τον MPlayerMPlayeruseΚάθε χρήστης του MPlayer πρέπει να
δημιουργήσει ένα υποκατάλογο .mplayer μέσα στον
προσωπικό του κατάλογο. Για να δημιουργήσετε τον απαραίτητο
υποκατάλογο, μπορείτε να γράψετε το παρακάτω:&prompt.user; cd /usr/ports/multimedia/mplayer
&prompt.user; make install-userΟι επιλογές της γραμμής εντολών του mplayer
περιγράφονται στη σελίδα του manual. Για ακόμα περισσότερες
λεπτομέρειες, υπάρχει τεκμηρίωση σε μορφή HTML. Στο τμήμα αυτό θα
περιγράψουμε μερικές μόνο κοινές χρήσεις.Για να αναπαράγετε ένα αρχείο, όπως το
testfile.avi,
μέσω ενός από τα αρκετά video interfaces χρησιμοποιήστε την επιλογή
:&prompt.user; mplayer -vo xv testfile.avi&prompt.user; mplayer -vo sdl testfile.avi&prompt.user; mplayer -vo x11 testfile.avi&prompt.root; mplayer -vo dga testfile.avi&prompt.root; mplayer -vo 'sdl:dga' testfile.aviΑξίζει τον κόπο να δοκιμάσετε όλες αυτές τις επιλογές, καθώς η
απόδοση τους εξαρτάται από πολλούς παράγοντες και διαφοροποιείται
αρκετά ανάλογα με το υλικό του υπολογιστή σας.Για αναπαραγωγή από DVD, αντικαταστήστε το
testfile.avi με
όπου το
N είναι ο αριθμός του τίτλου
(title number) που επιθυμείτε να αναπαράγετε και
DEVICE είναι το όνομα
συσκευής του DVD-ROM. Για παράδειγμα, για να αναπαράγετε τον τίτλο 3
από τη συσκευή /dev/dvd:&prompt.root; mplayer -vo xv dvd://3 -dvd-device /dev/dvdΗ προεπιλεγμένη συσκευή DVD μπορεί να καθοριστεί κατά τη
διάρκεια της μεταγλώττισης του MPlayer
port μέσω της επιλογής WITH_DVD_DEVICE. Από
προεπιλογή, η συσκευή αυτή είναι η /dev/acd0.
Μπορείτε να βρείτε περισσότερες πληροφορίες στο αρχείο
Makefile του port.Για τα πλήκτρα που χρησιμοποιούνται για παύση, διακοπή,
μετακίνηση κλπ. κατά τη διάρκεια της αναπαραγωγής, συμβουλευτείτε
την βοήθεια που μπορείτε να δείτε εκτελώντας
mplayer -h ή διαβάστε τη σελίδα του manual.
Επιπρόσθετα, σημαντικές επιλογές αναπαραγωγής είναι:
το οποίο ενεργοποιεί απεικόνιση σε πλήρη
οθόνη και το το οποίο βοηθάει στην
αύξηση της απόδοσης.Για να μείνει το μέγεθος της γραμμής εντολών το δυνατόν μικρό,
ο χρήστης μπορεί να δημιουργήσει ένα αρχείο
.mplayer/config και να ορίσει εκεί τις
προεπιλεγμένες επιλογές:vo=xv
fs=yes
zoom=yesΤέλος, ο mplayer μπορεί να χρησιμοποιηθεί για
την εξαγωγή (rip) ενός τίτλου DVD σε ένα αρχείο
.vob file. Για την εξαγωγή του δεύτερου τίτλου
από ένα DVD, γράψτε:&prompt.root; mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvdΤο αρχείο εξόδου, out.vob, θα είναι τύπου
MPEG και μπορείτε να το μεταχειριστείτε μέσω άλλων πακέτων video που
περιγράφονται σε αυτό το τμήμα.mencodermencoderΠριν χρησιμοποιήσετε το mencoder
είναι καλή ιδέα να εξοικειωθείτε με τις επιλογές που αναφέρονται
στην τεκμηρίωση HTML. Υπάρχει σελίδα manual, αλλά δεν είναι πολύ
χρήσιμη χωρίς την HTML τεκμηρίωση. Υπάρχουν πάρα πολλοί τρόποι για
να βελτιώσετε την ποιότητα, να μειώσετε το ρυθμό δεδομένων (bitrate)
να αλλάξετε μορφή αρχείου, και κάποια από αυτά τα κόλπα μπορεί να
κάνουν τη διαφορά μεταξύ καλής και κακής απόδοσης. Εδώ θα δείτε
μερικά παραδείγματα για να ξεκινήσετε. Πρώτα μια απλή αντιγραφή:
&prompt.user; mencoder input.avi -oac copy -ovc copy -o output.aviΛανθασμένοι συνδυασμοί στη γραμμή εντολών, μπορεί να δώσουν
αρχεία εξόδου τα οποία δεν μπορεί να αναπαράγει ούτε ο ίδιος ο
mplayer. Έτσι, αν απλώς θέλετε να κάνετε rip
ένα αρχείο, μείνετε στην επιλογή του
mplayer.Για να μετατρέψετε το
input.avi σε codec
MPEG4 με ήχο MPEG3 (απαιτείται το audio/lame):&prompt.user; mencoder input.avi -oac mp3lame -lameopts br=192 \
-ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.aviΜε τον τρόπο αυτό παράγεται έξοδος που μπορεί να αναπαραχθεί
από τον mplayer και το xine.
Μπορείτε να αντικαταστήσετε το
input.avi
με την επιλογή και
να το εκτελέσετε ως root για να
επανακωδικοποιήσετε απευθείας ένα τίτλο DVD. Μια και πιθανώς
δεν θα μείνετε ικανοποιημένος με το αποτέλεσμα από την πρώτη φορά,
σας συνιστούμε να κατεβάσετε τον τίτλο σε ένα αρχείο
και να δουλέψετε σε αυτό.Το Πρόγραμμα Αναπαραγωγής xineΤο xine είναι ένα project με ευρύ
σκοπό, το οποίο προορίζεται όχι μόνο να γίνει ένα πρόγραμμα όλα
σε ένα όσο αφορά το video, αλλά επίσης στο να παράγει μια
επαναχρησιμοποιήσιμη βασική βιβλιοθήκη και ένα αρθρωτό εκτελέσιμο το
οποίο μπορεί να επεκταθεί με πρόσθετα (plugins). Μπορείτε να το
εγκαταστήσετε τόσο από πακέτο, όσο και από το port, multimedia/xine.Το xine είναι ακόμα κάπως
χοντροκομμένο, αλλά σίγουρα έχει ξεκινήσει καλά. Στην πράξη, το xine
χρειάζεται είτε γρήγορο επεξεργαστή και κάρτα γραφικών, ή υποστήριξη της
επέκτασης XVideo. Το γραφικό περιβάλλον είναι χρησιμοποιήσιμο, αλλά
κάπως αδέξια φτιαγμένο.Την ώρα που γράφονταν αυτές οι γραμμές δεν διανέμονταν module
μαζί με την εφαρμογή xine, ικανό να
αναπαράγει DVD με CSS κωδικοποίηση. Υπάρχουν εκδόσεις από τρίτους
κατασκευαστές οι οποίες έχουν ενσωματωμένο το παραπάνω module αλλά
καμιά από αυτές δεν βρίσκεται στην συλλογή των ports του &os;.Σε σύγκριση με τον MPlayer, το
xine κάνει περισσότερα για το χρήστη, αλλά
την ίδια στιγμή, δεν επιτρέπει τόσο λεπτομερειακό έλεγχο. Το
xine αποδίδει καλύτερα σε λειτουργία XVideo.
Από προεπιλογή, το xine θα ξεκινήσει σε
γραφικό περιβάλλον (GUI). Μπορείτε να χρησιμοποιήσετε το μενού για να
ανοίξετε ένα συγκεκριμένο αρχείο:&prompt.user; xineΕναλλακτικά, μπορείτε να το καλέσετε να αναπαράγει ένα αρχείο
απευθείας από την γραμμή εντολών, χωρίς τη χρήση του GUI:&prompt.user; xine -g -p mymovie.aviΤα Βοηθητικά Προγράμματα transcodeΗ εφαρμογή transcode δεν είναι πρόγραμμα
αναπαραγωγής, αλλά μια σουίτα εργαλείων για επανακωδικοποίηση αρχείων
video και ήχου. Με την εφαρμογή transcode,
έχετε την δυνατότητα να αναμίξετε αρχεία video, να επισκευάσετε
χαλασμένα αρχεία, χρησιμοποιώντας εργαλεία της γραμμής εντολών τα οποία
χειρίζονται δεδομένα από τα κανάλια stdin/stdout.
Μεγάλο πλήθος εφαρμογών μπορούν να καθοριστούν κατά τη διάρκεια της
μεταγλώττισης του port
multimedia/transcode και συνιστούμε
την ακόλουθη γραμμή εντολών για τη μεταγλώττιση του
transcode:&prompt.root; make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \
WITH_MJPEG=yes -DWITH_XVID=yesΟι προτεινόμενες επιλογές είναι κατάλληλες για τους περισσότερους
χρήστες.Για να σας δείξουμε τις ικανότητες του transcode,
δείτε ένα παράδειγμα μετατροπής αρχείου DivX σε PAL MPEG-1 (PAL VCD):
&prompt.user; transcode -i input.avi -V --export_prof vcd-pal -o output_vcd
&prompt.user; mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpaΤο αρχείο MPEG που προκύπτει, το
output_vcd.mpg,
μπορεί να αναπαραχθεί από τον
MPlayer. Μπορείτε επίσης να γράψετε το
αρχείο σε ένα CD-R για να δημιουργήσετε ένα Video CD, και στην περίπτωση
αυτή θα χρειαστεί να εγκαταστήσετε τα προγράμματα
multimedia/vcdimager και
sysutils/cdrdao.Υπάρχει σελίδα manual για το transcode, αλλά
πρέπει επίσης να συμβουλευτείτε το
transcode
wiki για περισσότερες πληροφορίες και παραδείγματα.Επιπλέον ΔιάβασμαΥπάρχει ραγδαία εξέλιξη στα διαθέσιμα πακέτα video για το &os;.
Είναι αρκετά πιθανό ότι στο άμεσο μέλλον πολλά από τα προβλήματα που
αναφέρονται εδώ θα έχουν επιλυθεί. Στο ενδιάμεσο διάστημα, όσοι
ενδιαφέρονται να χρησιμοποιήσουν τις δυνατότητες A/V του &os; στο έπακρο
θα πρέπει να συνδυάσουν γνώσεις από διάφορα FAQ και tutorials και να
χρησιμοποιήσουν αρκετές διαφορετικές εφαρμογές. Το τμήμα αυτό υπάρχει
ακριβώς για να δείξει στον αναγνώστη που μπορεί να βρει τέτοιες
πρόσθετες πληροφορίες.Η
Τεκμηρίωση του Mplayer
είναι αρκετά πληροφοριακή όσο αφορά το τεχνικό επίπεδο.
Αν έχετε σκοπό να αποκτήσετε υψηλό ποσοστό εμπειρίας σε σχέση με το
video στο &unix;, θα πρέπει οπωσδήποτε να την συμβουλευτείτε. Η λίστα
αλληλογραφίας του MPlayer είναι εχθρική σε
όποιον δεν έχει κάνει τον κόπο να διαβάσει την τεκμηρίωση, έτσι αν
σκοπεύετε να κάνετε αναφορές σφαλμάτων, βεβαιωθείτε ότι την έχετε
διαβάσει.Το
xine HOWTO
περιέχει ένα κεφάλαιο σχετικά με την βελτίωση της απόδοσης, το οποίο
είναι κοινό για όλα τα προγράμματα αναπαραγωγής.Τέλος, υπάρχουν κάποιες άλλες πολλά υποσχόμενες εφαρμογές που ίσως
επιθυμείτε να δοκιμάσετε:Το Avifile το οποίο
είναι επίσης port,
multimedia/avifile.Το Ogle
το οποίο είναι επίσης port,
multimedia/ogle.Το XtheaterΤο multimedia/dvdauthor, το οποίο είναι
εφαρμογή DVD authoring ανοικτού κώδικα.JosefEl-RayesΑρχική συνεισφορά από τον MarcFonvieilleΒελτιώθηκε και προσαρμόστηκε από τον Ρύθμιση Κάρτας ΤηλεόρασηςTV cardsΕισαγωγήΟι κάρτες τηλεόρασης σας επιτρέπουν να βλέπετε τηλεόραση, κανονική
ή καλωδιακή, στον υπολογιστή σας. Οι περισσότερες από αυτές δέχονται
επίσης σήμα σύνθετου (composite) video, μέσω εισόδου RCA ή S-video,
και κάποιες από αυτές διαθέτουν και ραδιοφωνικό δέκτη FM.Το &os; παρέχει υποστήριξη για κάρτες TV τύπου PCI που
χρησιμοποιούν τα ολοκληρωμένα κυκλώματα σύλληψης video,
Brooktree Bt848/849/878/879 ή Conexant CN-878/Fusion 878a με το
πρόγραμμα οδήγησης &man.bktr.4;. Θα πρέπει επίσης να βεβαιωθείτε ότι
η κάρτα έρχεται με δέκτη που υποστηρίζεται. Συμβουλευτείτε τη σελίδα
manual του &man.bktr.4; για να δείτε τη λίστα των υποστηριζόμενων
δεκτών.Εγκαθιστώντας το Πρόγραμμα ΟδήγησηςΓια να χρησιμοποιήσετε την κάρτα θα πρέπει να φορτώσετε το
πρόγραμμα οδήγησης &man.bktr.4;, προσθέτοντας την ακόλουθη γραμμή στο
αρχείο /boot/loader.conf:bktr_load="YES"Εναλλακτικά, μπορείτε να προσθέσετε στατική υποστήριξη για την
κάρτα στο πυρήνα σας, και για το σκοπό αυτό προσθέστε τις ακόλουθες
γραμμές στο αρχείο ρυθμίσεων του πυρήνα:device bktr
device iicbus
device iicbb
device smbusΟι επιπρόσθετοι οδηγοί συσκευών είναι απαραίτητοι, επειδή τα
εξαρτήματα της κάρτας επικοινωνούν μεταξύ τους διαμέσου ενός διαύλου
I2C. Αφού κάνετε τις απαραίτητες αλλαγές στο αρχείο, μεταγλωττίστε και
εγκαταστήστε το νέο πυρήνα.Μόλις τελειώσετε με αυτή τη διαδικασία, θα πρέπει να
επανεκκινήσετε το σύστημα σας. Κατά τη διάρκεια της εκκίνησης, θα
πρέπει να δείτε κάποια μηνύματα από την κάρτα σας, όπως τα παρακάτω:
bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: <I2C bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicbus1: <Philips I2C bus> on iicbb0 master-only
smbus0: <System Management Bus> on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.Φυσικά, τα μηνύματα αυτά θα διαφέρουν ανάλογα με το υλικό σας.
Ωστόσο θα πρέπει να ελέγξετε ότι ανιχνεύθηκε σωστά ο δέκτης. Είναι
δυνατόν να αλλάξετε κάποιες από τις παραμέτρους που ανιχνεύθηκαν
χρησιμοποιώντας MIBs του &man.sysctl.8; καθώς και επιλογές στο αρχείο
ρυθμίσεων πυρήνα. Για παράδειγμα, να θέλετε να επιβάλετε ο δέκτης να
είναι τύπου Philips SECAM, θα πρέπει να προσθέσετε την ακόλουθη γραμμή
στο αρχείο ρυθμίσεων του πυρήνα σας:options OVERRIDE_TUNER=6ή μπορείτε να χρησιμοποιήσετε απευθείας το &man.sysctl.8;:&prompt.root; sysctl hw.bt848.tuner=6Δείτε τη σελίδα manual του &man.bktr.4; καθώς και το αρχείο
/usr/src/sys/conf/NOTES για περισσότερες
λεπτομέρειες σχετικά με τις διαθέσιμες επιλογές.Χρήσιμες ΕφαρμογέςΓια να χρησιμοποιήσετε την κάρτα τηλεόρασης, θα πρέπει να
εγκαταστήσετε μια από τις παρακάτω εφαρμογές:Το multimedia/fxtv
παρέχει δυνατότητα να δείτε τηλεόραση σε παράθυρο, καθώς και
την δυνατότητα σύλληψης εικόνας / ήχου / video.Το multimedia/xawtv
είναι επίσης εφαρμογή τηλεόρασης, με δυνατότητες όμοιες με το
fxtv.Το misc/alevt
αποκωδικοποιεί και απεικονίζει Videotext/Teletext.Το audio/xmradio είναι μια
εφαρμογή για να χρησιμοποιήσετε το δέκτη FM που είναι
ενσωματωμένος σε κάποιες κάρτες τηλεόρασης.Το audio/wmtune είναι μια
βολική desktop εφαρμογή για ραδιοφωνικούς δέκτες.Μπορείτε να βρείτε περισσότερες εφαρμογές στη συλλογή των Ports
του &os;.Αντιμετώπιση ΠροβλημάτωνΑν αντιμετωπίσετε κάποιο πρόβλημα με την κάρτα τηλεόρασης, θα
πρέπει πρώτα να ελέγξετε αν το ολοκληρωμένο σύλληψης video καθώς και
ο δέκτης υποστηρίζονται από το πρόγραμμα οδήγησης &man.bktr.4; και
αν έχετε χρησιμοποιήσει τις σωστές ρυθμίσεις στις επιλογές σας. Για
επιπλέον υποστήριξη καθώς και διάφορες ερωτήσεις σχετικά με την κάρτα
σας, ίσως θέλετε να επικοινωνήσετε με τη λίστα &a.multimedia.name; και
να διαβάσετε τις παλιότερες δημοσιεύσεις από τα αρχεία της λίστας.
MarcFonvieilleΓράφηκε από τον Σαρωτές Εικόναςimage scannersΕισαγωγήΣτο &os; η πρόσβαση σε σαρωτές παρέχεται από το
SANE (Scanner Access Now
Easy) API το οποίο διατίθεται μέσα από την συλλογή των
Ports του &os;. Το SANE χρησιμοποιεί επίσης
κάποιους οδηγούς συσκευών του &os; για να αποκτήσει πρόσβαση στο υλικό
του σαρωτή.Το &os; υποστηρίζει σαρωτές SCSI και USB. Βεβαιωθείτε ότι ο
σαρωτής σας υποστηρίζεται από το SANE πριν
ξεκινήσετε οποιαδήποτε εγκατάσταση και ρύθμιση. Το
SANE διαθέτει μια λίστα
υποστηριζόμενων συσκευών η οποία παρέχει πληροφορίες για την
υποστήριξη κάθε σαρωτή και την εξέλιξη της. Επίσης, στη σελίδα manual
του &man.uscanner.4; θα βρείτε λίστα των υποστηριζόμενων USB σαρωτών.
Ρύθμιση του ΠυρήναΌπως είπαμε παραπάνω, υποστηρίζονται σαρωτές τόσο SCSI όσο και
USB. Ανάλογα με το τρόπο διασύνδεσης του σαρωτή σας, θα χρειαστείτε
διαφορετικούς οδηγούς συσκευών.Διασύνδεση USBΟ πυρήνας GENERIC, από προεπιλογή, περιέχει
τους οδηγούς συσκευών που απαιτούνται για την υποστήριξη σαρωτών
USB. Αν αποφασίσετε να χρησιμοποιήσετε εξειδικευμένο πυρήνα,
βεβαιωθείτε ότι έχετε τις ακόλουθες γραμμές στο αρχείο ρυθμίσεων
σας:device usb
device uhci
device ohci
device uscannerΑνάλογα με τα κυκλώματα υποστήριξης USB στη μητρική σας, θα
χρειαστείτε το device uhci ή το
device ohci, ωστόσο δεν υπάρχει πρόβλημα αν
έχετε και τα δύο στο αρχείο ρυθμίσεων.Αν δεν θέλετε να δημιουργήσετε τον πυρήνα από την αρχή, και
δεν χρησιμοποιείτε τον GENERIC μπορείτε να
φορτώσετε απευθείας τον οδηγό συσκευής &man.uscanner.4;
χρησιμοποιώντας την εντολή &man.kldload.8;:&prompt.root; kldload uscannerΓια να φορτώνεται το module σε κάθε εκκίνηση του συστήματος
σας, προσθέστε την ακόλουθη γραμμή στο αρχείο
/boot/loader.conf:uscanner_load="YES"Αφού επανεκκινήσετε με το σωστό πυρήνα, ή αφού φορτώσετε το
απαραίτητο module, συνδέστε το USB σαρωτή σας. Θα πρέπει να δείτε
μια γραμμή σχετική με την ανίχνευση του σαρωτή στην προσωρινή μνήμη
μηνυμάτων του συστήματος (&man.dmesg.8;):uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2Η γραμμή αυτή δείχνει ότι ο σαρωτής μας χρησιμοποιεί το όνομα
συσκευής /dev/uscanner0.Διασύνδεση Τύπου SCSIΑν ο σαρωτής σας έρχεται με διασύνδεση τύπου SCSI, είναι
σημαντικό να γνωρίζετε τι κάρτα ελεγκτή SCSI θα χρησιμοποιήσετε.
Ανάλογα με το ολοκληρωμένο κύκλωμα της κάρτας SCSI που
χρησιμοποιείται, θα πρέπει να ρυθμίσετε κατάλληλα το αρχείο
ρυθμίσεων πυρήνα. Ο πυρήνας GENERIC υποστηρίζει
τους πιο κοινούς ελεγκτές SCSI. Βεβαιωθείτε ότι διαβάσατε το αρχείο
NOTES και προσθέστε τη σωστή γραμμή στο αρχείο
ρυθμίσεων πυρήνα. Εκτός από το πρόγραμμα οδήγησης του ελεγκτή SCSI,
θα πρέπει ακόμα να έχετε τις ακόλουθες γραμμές στο αρχείο ρυθμίσεων
του πυρήνα σας:device scbus
device passΜόλις μεταγλωττίσετε και εγκαταστήσετε τον πυρήνα, θα μπορέσετε
να δείτε τις συσκευές στην προσωρινή μνήμη μηνυμάτων συστήματος,
κατά τη διάρκεια της εκκίνησης:pass2 at aic0 bus 0 target 2 lun 0
pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
pass2: 3.300MB/s transfersΑν ο σαρωτής σας δεν ήταν ενεργοποιημένος κατά την εκκίνηση του
συστήματος σας, είναι ακόμα δυνατόν να εξαναγκάσετε τον εντοπισμό
του, εκτελώντας ανίχνευση του διαύλου SCSI με την βοήθεια της
εντολής &man.camcontrol.8;:&prompt.root; camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successfulΟ σαρωτής θα εμφανιστεί τότε στη λίστα των συσκευών SCSI:&prompt.root; camcontrol devlist
<IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0)
<IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1)
<AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3)
<PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0)Περισσότερες πληροφορίες σχετικά με τις συσκευές SCSI είναι
διαθέσιμες στις σελίδες manual &man.scsi.4; και &man.camcontrol.8;.
Ρύθμιση του SANEΤο σύστημα SANE χωρίζεται σε δύο
κομμάτια: στο backend
(graphics/sane-backends) και στο
frontend
(graphics/sane-frontends). Το
backend παρέχει πρόσβαση στον ίδιο το σαρωτή. Στη λίστα
υποστηριζόμενων συσκευών του SANE
μπορείτε να βρείτε ποιο backend υποστηρίζει τον σαρωτή σας. Είναι
υποχρεωτικό να βρείτε το σωστό backend για να μπορέσετε να
χρησιμοποιήσετε το σαρωτή σας. Το τμήμα του frontend παρέχει το
γραφικό περιβάλλον εργασίας για τη σάρωση
(xscanimage).Το πρώτο βήμα είναι να εγκαταστήσετε το port ή το πακέτο
graphics/sane-backends. Μετά
χρησιμοποιήστε την εντολή sane-find-scanner για να
ελέγξετε την ανίχνευση του σαρωτή σας από το σύστημα
SANE:&prompt.root; sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3Η έξοδος θα σας δείξει το είδος σύνδεσης του σαρωτή καθώς και το
όνομα συσκευής που χρησιμοποιείται για τη σύνδεση με το σύστημα σας.
Το όνομα του κατασκευαστή και του μοντέλου ίσως να μην εμφανιστούν,
αλλά αυτό δεν είναι σημαντικό.Ορισμένοι USB σαρωτές απαιτούν τη φόρτωση firmware. Η διαδικασία
εξηγείται στη σελίδα manual του backend. Θα πρέπει επίσης να
διαβάσετε τις σελίδες manual &man.sane-find-scanner.1; και
&man.sane.7;.Πρέπει τώρα να ελέγξουμε αν ο σαρωτής θα αναγνωριστεί από το
frontend πρόγραμμα σάρωσης. Από προεπιλογή, το
SANE backend έρχεται με ένα εργαλείο
γραμμής εντολών, το &man.scanimage.1;. Η εντολή αυτή σας επιτρέπει
την απαρίθμηση των συσκευών και τη σάρωσης εικόνας από τη γραμμή
εντολών. Η επιλογή χρησιμοποιείται για την
απαρίθμηση των συσκευών σάρωσης:&prompt.root; scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scannerΑν δεν δείτε έξοδο, ή δείτε ένα μήνυμα ότι δεν ανιχνεύθηκε
σαρωτής, σημαίνει ότι το &man.scanimage.1; δεν μπόρεσε να αναγνωρίσει
το σαρωτή. Αν συμβεί αυτό, θα χρειαστεί να επεξεργαστείτε το αρχείο
ρυθμίσεων του backend και να ορίσετε το σαρωτή που θα χρησιμοποιηθεί.
Ο κατάλογος
/usr/local/etc/sane.d/ περιέχει
όλα τα αρχεία ρυθμίσεων του backend. Το πρόβλημα αναγνώρισης
εμφανίζεται σε ορισμένα μοντέλα USB σαρωτών.Για παράδειγμα, με το σαρωτή USB που χρησιμοποιείται στο
, η εντολή
sane-find-scanner δίνει τις ακόλουθες πληροφορίες:
&prompt.root; sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0Ο σαρωτής βρέθηκε, χρησιμοποιεί διασύνδεση USB
και το όνομα συσκευής του είναι /dev/uscanner0.
Τώρα πρέπει να δούμε αν αναγνωρίζεται και σωστά:&prompt.root; scanimage -L
No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).Αφού ο σαρωτής δεν αναγνωρίστηκε, θα χρειαστεί να επεξεργαστούμε
το αρχείο /usr/local/etc/sane.d/epson.conf.
Το μοντέλο σαρωτή που χρησιμοποιήθηκε ήταν το &epson.perfection; 1650,
έτσι ξέρουμε ότι ο σαρωτής θα χρησιμοποιεί το backend
epson. Βεβαιωθείτε ότι διαβάσατε τα βοηθητικά
σχόλια στα αρχεία ρυθμίσεων του backend. Είναι αρκετά απλό να αλλάξετε
γραμμές: Μετατρέψτε σε σχόλια όσες γραμμές δείχνουν λάθος τύπο
διασύνδεσης για το σαρωτή σας (στην περίπτωση μας θα μετατρέψουμε σε
σχόλια όλες τις γραμμές που ξεκινάνε με τη λέξη
scsi καθώς ο σαρωτής μας χρησιμοποιεί διασύνδεση
USB), και προσθέστε στο τέλος του αρχείου μια γραμμή που να ορίζει το
είδος διασύνδεσης και το όνομα συσκευής που χρησιμοποιείτε. Στην
περίπτωση μας προσθέσαμε την ακόλουθη γραμμή:usb /dev/uscanner0Σας παρακαλούμε να βεβαιωθείτε ότι διαβάσατε τα σχόλια που
παρέχονται στο αρχείο ρυθμίσεων του backend καθώς και στις αντίστοιχες
σελίδες manual για περισσότερες λεπτομέρειες καθώς και για τη σύνταξη
που πρέπει να χρησιμοποιήσετε. Μπορούμε τώρα να επιβεβαιώσουμε ότι ο
σαρωτής αναγνωρίζεται:&prompt.root; scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scannerΟ USB σαρωτής μας αναγνωρίστηκε. Δεν είναι σημαντικό ότι η μάρκα
και το μοντέλο δεν ταιριάζουν ακριβώς με το δικό μας. Το βασικό σημείο
είναι το πεδίο `epson:/dev/uscanner0', το οποίο
δείχνει το σωστό backend και όνομα συσκευής.Μόλις η εντολή scanimage -L μπορέσει να δει το
σαρωτή, η ρύθμιση έχει ολοκληρωθεί. Η συσκευή είναι έτοιμη να
χρησιμοποιηθεί.Αν και η &man.scanimage.1; μας επιτρέπει να σαρώσουμε εικόνα από
τη γραμμή εντολών, είναι προτιμότερο να χρησιμοποιήσουμε κάποιο
πρόγραμμα σε γραφικό περιβάλλον για την εργασία αυτή. Το
SANE μας προσφέρει ένα απλό αλλά αποδοτικό
γραφικό περιβάλλον: το xscanimage
(graphics/sane-frontends).Το Xsane (graphics/xsane) είναι επίσης ένα δημοφιλές
frontend πρόγραμμα σάρωσης. To frontend αυτό προσφέρει προχωρημένες
δυνατότητες, όπως διαφορετικούς τρόπους σάρωσης (φωτοτυπία, fax, κλπ)
διόρθωση χρωμάτων, πολλαπλή σάρωση κ.α. Και οι δύο αυτές εφαρμογές
διατίθενται επίσης σαν πρόσθετο (plugin) πρόγραμμα για χρήση με το
GIMP.Δίνοντας σε Άλλους Χρήστες Πρόσβαση στο Σαρωτή σαςΌλες οι παραπάνω λειτουργίες έγιναν με τα προνόμια του χρήστη
root. Μπορεί ωστόσο, να θέλετε να δώσετε πρόσβαση
στο σαρωτή σας και σε άλλους χρήστες. Ο χρήστης χρειάζεται άδεια
ανάγνωσης και εγγραφής στο αρχείο συσκευής που χρησιμοποιείται από το
σαρωτή. Σαν παράδειγμα, ο σαρωτής μας χρησιμοποιεί το αρχείο συσκευής
/dev/uscanner0 το οποίο ανήκει στην ομάδα
operator. Αν προσθέσετε το χρήστη
joe στην ομάδα
operator θα του επιτρέψετε να χρησιμοποιήσει
το σαρωτή:&prompt.root; pw groupmod operator -m joeΓια περισσότερες πληροφορίες διαβάστε τη σελίδα του manual
&man.pw.8;. Θα πρέπει επίσης να ρυθμίσετε τις σωστές άδειες για
εγγραφή (0660 ή 0664) στο αρχείο συσκευής
/dev/uscanner0. Από προεπιλογή, η ομάδα
operator μπορεί μόνο να διαβάσει το αρχείο
συσκευής. Αυτό μπορεί να γίνει προσθέτοντας τις ακόλουθες γραμμές
στο αρχείο /etc/devfs.rules:[system=5]
add path uscanner0 mode 660Έπειτα, προσθέστε την ακόλουθη γραμμή στο αρχείο
/etc/rc.conf και επανεκκινήστε το μηχάνημα:
devfs_system_ruleset="system"Περισσότερες πληροφορίες σχετικά με αυτές τις γραμμές, μπορείτε να
βρείτε στη σελίδα manual του &man.devfs.8;.Φυσικά, για λόγους ασφαλείας, θα πρέπει να σκεφτείτε σοβαρά πριν
προσθέσετε ένα χρήστη σε μια ομάδα, ειδικά αν πρόκειται για την
ομάδα operator.
diff --git a/el_GR.ISO8859-7/books/handbook/pgpkeys/chapter.sgml b/el_GR.ISO8859-7/books/handbook/pgpkeys/chapter.sgml
index 5580006c7a..7c1b2bad29 100644
--- a/el_GR.ISO8859-7/books/handbook/pgpkeys/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/pgpkeys/chapter.sgml
@@ -1,63 +1,64 @@
Κλειδιά PGPpgp keysΣτο παράρτημα αυτό, θα βρείτε τα δημόσια PGP κλειδιά των officers
και των μελών της ομάδας ανάπτυξης του &os;. Μπορείτε να τα
χρησιμοποιήσετε για να ελέγξετε μια ψηφιακή υπογραφή ή για να στείλετε
κρυπτογραφημένο email σε κάποιο μέλος της ομάδας. Μπορείτε να
κατεβάσετε την πλήρη λίστα από κλειδιά χρηστών του FreeBSD.org, από την τοποθεσία
http://www.FreeBSD.org/doc/pgpkeyring.txt.Officers
§ion.pgpkeys-officers;
Μέλη της Ομάδας Core
§ion.pgpkeys-core;
Μέλη της Ομάδας Ανάπτυξης
§ion.pgpkeys-developers;
diff --git a/el_GR.ISO8859-7/books/handbook/printing/chapter.sgml b/el_GR.ISO8859-7/books/handbook/printing/chapter.sgml
index 4e9f087ec5..1d9bc2bd75 100644
--- a/el_GR.ISO8859-7/books/handbook/printing/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/printing/chapter.sgml
@@ -1,5230 +1,5231 @@
SeanKellyΣυνεισφορά από τον JimMockΑναδομήθηκε και ανανεώθηκε από τον ΕκτυπώσειςΣύνοψηLPD σύστημα spoolingεκτυπώσειςΜπορείτε να χρησιμοποιήσετε το &os; για να κάνετε εκτυπώσεις
σε διάφορους τύπους εκτυπωτών, από τον παλαιότερο κρουστικό ως τον πιο
σύγχρονο laser εκτυπωτή, καθώς και οποιασδήποτε άλλης τεχνολογίας
ανάμεσα τους, και να δημιουργήσετε εκτυπώσεις υψηλής ποιότητας με τις
εφαρμογές που εκτελείτε.Το &os; μπορεί επίσης να ρυθμιστεί ώστε να λειτουργεί ως
εξυπηρετητής εκτυπώσεων δικτύου. Με αυτή τη δυνατότητα το &os; μπορεί
να λαμβάνει εργασίες εκτύπωσης από διάφορους άλλους υπολογιστές,
συμπεριλαμβανομένων υπολογιστών &os;, &windows; και &macos;. Το &os;
μπορεί να εξασφαλίζει ότι μόνο μια εργασία θα τυπώνεται κάθε χρονική
στιγμή και μπορεί να τηρεί στατιστικά για τους χρήστες και τα
μηχανήματα που θα κάνουν τις περισσότερες εκτυπώσεις, να παράγει
σελίδες banner που να δείχνουν σε ποιόν ανήκει η κάθε
εκτύπωση, και πολλά άλλα.Αφού διαβάσετε αυτό το κεφάλαιο θα ξέρετε:Πως να ρυθμίσετε την ουρά εκτυπώσεων (print spooler) του
&os;.Πως να εγκαθιστάτε φίλτρα εκτύπωσης, να χειρίζεστε
ειδικές εργασίες εκτύπωσης (π.χ. τη μετατροπή
εισερχόμενων κειμένων σε μορφές εκτύπωσης που είναι κατανοητές από
τους εκτυπωτές σας).Πως να ενεργοποιήσετε σελίδες τύπου κεφαλίδας ή banner στις
εκτυπώσεις σας.Πως να εκτυπώνετε σε εκτυπωτές που είναι συνδεδεμένοι σε άλλους
υπολογιστές.Πως να εκτυπώνετε σε εκτυπωτές που είναι συνδεδεμένοι απευθείας
στο δίκτυο.Πως να ελέγχετε τους περιορισμούς εκτύπωσης, συμπεριλαμβανομένων
των περιορισμών μεγέθους των εργασιών εκτύπωσης, και πως να
παρεμποδίζετε την δυνατότητα εκτύπωσης σε συγκεκριμένους
χρήστες.Πως να κρατήσετε στατιστικά για τον εκτυπωτή, και καταγραφή
για τη χρήση του εκτυπωτή από κάθε χρήστη.Πως να αντιμετωπίσετε προβλήματα στις εκτυπώσεις.Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:Να γνωρίζετε πως να ρυθμίσετε και να εγκαταστήσετε ένα νέο
πυρήνα ().ΕισαγωγήΓια να χρησιμοποιήσετε εκτυπωτές στο &os;, θα χρειαστεί να
ρυθμίσετε τη λειτουργία τους με το σύστημα παροχέτευσης (spooling)
εκτυπωτών γραμμής του Berkeley, γνωστό επίσης και ως σύστημα
παροχέτευσης LPD, ή απλά
LPD. Αυτό είναι το προκαθορισμένο σύστημα
ελέγχου εκτυπωτών στο &os;. Το κεφάλαιο αυτό είναι μια εισαγωγή στο
LPD και θα σας καθοδηγήσει στις ρυθμίσεις
του.Εάν σας είναι οικείο το LPD ή κάποιο άλλο
σύστημα παροχέτευσης εκτυπωτών, τότε μπορείτε να μεταπηδήσετε στην
ενότητα Βασική Εγκατάσταση.Το LPD μπορεί να ελέγχει εξ' ολοκλήρου
όλες τις λειτουργίες των εκτυπωτών ενός υπολογιστή. Είναι κυρίως
υπεύθυνο για ένα πλήθος λειτουργιών:Ελέγχει την πρόσβαση σε απευθείας συνδεμένους εκτυπωτές και
εκτυπωτές προσαρτημένους σε άλλους κόμβους στο δίκτυο.εργασίες εκτύπωσηςΕπιτρέπει σε χρήστες να στέλνουν αρχεία προς εκτύπωση. Οι
αποστολές αυτές είναι γνωστές ως
εργασίες (jobs).Διατηρεί ουρά αναμονής (queue) για κάθε
εκτυπωτή, ώστε να προλαμβάνει την ταυτόχρονη πρόσβαση από πολλούς
χρήστες.Μπορεί να εκτυπώνει σελίδες κεφαλίδας
(γνωστές επίσης ως banner ή
σελίδες burst) ώστε οι χρήστες να μπορούν
εύκολα να ξεχωρίσουν τις εργασίες τους μέσα στην στοίβα
εκτυπώσεων.Φροντίζει για την ορθότητα των παραμέτρων επικοινωνίας των
εκτυπωτών που είναι συνδεδεμένοι σε σειριακές θύρες.Μπορεί μέσω του δικτύου να στείλει εργασίες σε σύστημα
παροχέτευσης LPD διαφορετικού
υπολογιστή.Μπορεί να εκτελέσει διάφορα φίλτρα για να προσαρμόσει εργασίες
ώστε να είναι δυνατή η εκτύπωση τους σε εκτυπωτές που χρησιμοποιούν
διαφορετικές γλώσσες ή έχουν διαφορετικές δυνατότητες.Μπορεί να κάνει καταμέτρηση χρήσης του εκτυπωτή.Μέσω του αρχείου ρύθμισης (/etc/printcap),
και με τη βοήθεια ειδικών προγραμμάτων φίλτρων, μπορείτε να
ενεργοποιήσετε το σύστημα LPD να κάνει όλες
ή κάποιες από τις παραπάνω εργασίες σε μια μεγάλη γκάμα συσκευών
εκτύπωσης.Γιατί θα πρέπει να χρησιμοποιείτε τον SpoolerΑν είστε ο μοναδικός χρήστης του συστήματος, θα αναρωτιέστε
γιατί θα έπρεπε να ενδιαφερθείτε για τον spooler αφού δεν χρειάζεστε
έλεγχο πρόσβασης, σελίδες κεφαλίδας, ή αναφορές εκτύπωσης. Αν και
μπορείτε να ενεργοποιήσετε την άμεση πρόσβαση στον εκτυπωτή, είναι
καλύτερα να χρησιμοποιείτε τον spooler για τους παρακάτω
λόγους:το LPD εκτυπώνει τις εργασίες στο
παρασκήνιο, δεν χρειάζεται να περιμένετε να αντιγραφούν τα
δεδομένα στον εκτυπωτή.&tex;Το LPD μπορεί άνετα να εκτελεί
μια εργασία εκτύπωσης διαμέσου φίλτρων και να προσθέτει κεφαλίδες
ημερομηνίας/ώρας ή να μετατρέπει κάποιο ειδικό τύπο αρχείου
(όπως ένα αρχείο &tex; DVI) σε ένα τύπο κατανοητό από τον
εκτυπωτή σας. Αυτές οι διαδικασίες δεν χρειάζεται να γίνονται
χειροκίνητα.Πολλά από τα ελεύθερα και εμπορικά διαθέσιμα προγράμματα
που παρέχουν διευκολύνσεις στην εκτύπωση, συνήθως επιζητούν
να επικοινωνήσουν με τον spooler του συστήματος σας. Ρυθμίζοντας
το σύστημα παροχέτευσης, θα μπορείτε ευκολότερα να υποστηρίζετε
λογισμικό τρίτων, που μπορεί ήδη να έχετε ή που πρόκειται να
εγκαταστήσετε στο μέλλον.Βασική ΕγκατάστασηΓια να χρησιμοποιήσετε εκτυπωτές με το σύστημα παροχέτευσης
LPD, θα πρέπει να εγκαταστήσετε τόσο το
hardware του εκτυπωτή σας όσο και το λογισμικό
LPD. Αυτό το έγγραφο περιγράφει την
εγκατάσταση σε δύο στάδια:Δείτε την ενότητα Βασικές
Ρυθμίσεις Εκτυπωτών για να μάθετε πως γίνεται η σύνδεση
εκτυπωτών, με ποιο τρόπο επικοινωνεί το
LPD με τους εκτυπωτές, και πως να
εκτυπώνετε απλά αρχεία κειμένου.Δείτε την ενότητα Ρυθμίσεις
Εκτυπωτών για Προχωρημένους για να μάθετε πως να εκτυπώνετε
αρχεία ειδικής μορφής διαφόρων τύπων, πως να εκτυπώνετε σελίδες
κεφαλίδας, πως να εκτυπώνετε σε ένα δίκτυο, πως να ελέγχετε την
πρόσβαση στους εκτυπωτές, και πως να χρησιμοποιείτε την καταγραφή
εκτυπώσεων.Βασικές Ρυθμίσεις ΕκτυπωτώνΑυτή η ενότητα περιγράφει πως να ρυθμίσετε το hardware του
εκτυπωτή και το λογισμικό LPD. Παρέχει
βασικές γνώσεις για τα εξής θέματα:Η Ενότητα Ρυθμίσεις
Hardware υποδεικνύει πως να συνδέσετε τον εκτυπωτή σε
μια θύρα του υπολογιστή σας.Η Ενότητα Ρυθμίσεις
Λογισμικού υποδεικνύει πως να εγκαταστήσετε το αρχείο
ρύθμισης του συστήματος παροχέτευσης
LPD: το αρχείο
/etc/printcap.Αν προσπαθείτε να εγκαταστήσετε έναν εκτυπωτή που δέχεται δεδομένα
μέσω πρωτοκόλλου δικτύου και όχι μέσω διασύνδεσης τοπικής θύρας, τότε
δείτε την ενότητα
Εκτυπωτές Με
Συνδέσεις Δικτύου.Αν και αυτή η ενότητα ονομάζεται Βασικές Ρυθμίσεις
Εκτυπωτών, στην πραγματικότητα είναι αρκετά περίπλοκη. Το
δυσκολότερο στάδιο στην εγκατάσταση είναι η επιτυχής λειτουργία στην
επικοινωνία του εκτυπωτή με τον υπολογιστή σας και το σύστημα
παροχέτευσης LPD. Οι επιλογές για
προχωρημένους, όπως οι σελίδες κεφαλίδας και αναφοράς είναι σχετικά
εύκολες να επιτευχθούν, μετά την επιτυχή ρύθμιση της βασικής
λειτουργίας εκτύπωσης.Ρυθμίσεις HardwareΑυτή η ενότητα εξηγεί τους διάφορους τρόπους σύνδεσης του
εκτυπωτή με τον υπολογιστή σας. Περιγράφει τους διάφορους τύπους
θυρών και καλωδίων, και τις ρυθμίσεις που πρέπει να κάνετε
στον πυρήνα για να ενεργοποιήσετε την επικοινωνία μεταξύ &os; και
εκτυπωτή.Αν ήδη έχετε καταφέρει να συνδέσετε τον εκτυπωτή σας και έχετε
εκτυπώσει επιτυχώς σε άλλο λειτουργικό σύστημα, τότε μπορείτε να
μεταβείτε κατευθείαν στην ενότητα Ρυθμίσεις Λογισμικού.Θύρες και ΚαλώδιαΟι εκτυπωτές που διατίθενται σήμερα για χρήση με Η/Υ
παρέχονται με μία ή περισσότερες εκ των ακολούθων τριών
διασυνδέσεων:εκτυπωτέςσειριακοίΟι Σειριακές διασυνδέσεις, γνωστές
και ως RS-232 ή θύρες COM, χρησιμοποιούν την σειριακή θύρα
του υπολογιστή σας για να στείλουν δεδομένα στον εκτυπωτή.
Οι σειριακές διασυνδέσεις είναι συνήθεις στην βιομηχανία
κατασκευής Η/Υ και τα καλώδια είναι εκτενώς διαδεδομένα και
επίσης εύκολα να κατασκευαστούν. Οι σειριακές διασυνδέσεις
μερικές φορές χρειάζονται ειδικά καλώδια και μπορεί να σας
ζητηθούν πολύπλοκες επικοινωνιακές ρυθμίσεις. Οι περισσότερες
σειριακές θύρες των Η/Υ έχουν μέγιστη ταχύτητα μετάδοσης
115200 bps, κάνοντας δύσκολη την εργασία εκτύπωσης
γραφικών μεγάλων διαστάσεων.εκτυπωτέςπαράλληλοιΟι Παράλληλες διασυνδέσεις
χρησιμοποιούν την παράλληλη θύρα του υπολογιστή σας για να
στέλνουν δεδομένα στον εκτυπωτή. Οι παράλληλες διασυνδέσεις
είναι διαδεδομένες στο εμπόριο και είναι γρηγορότερες από τις
σειριακές RS-232. Τα καλώδια διατίθενται έτοιμα, αλλά είναι
δυσκολότερο να κατασκευαστούν χειρωνακτικά. Με τις παράλληλες
διασυνδέσεις δεν προβλέπονται επιλογές ρύθμισης επικοινωνίας,
κάνοντας την ρύθμιση τους εξαιρετικά απλή.centronicsπαράλληλοι εκτυπωτέςΟι παράλληλες διασυνδέσεις είναι γνωστές και ως
διασυνδέσεις Centronics, ονομασία προερχόμενη
από τον τύπο του ακροδέκτη του εκτυπωτή.εκτυπωτέςUSBΟι διασυνδέσεις USB, συντομογραφία από το Universal
Serial Bus, δουλεύουν σε ακόμη μεγαλύτερες ταχύτητες από την
παράλληλη και την RS-232 σειριακή διασύνδεση. Τα καλώδια τους
είναι απλά και φτηνά. Η USB είναι ανώτερη από την Σειριακή
RS-232 και από την Παράλληλη στην εκτύπωση, αλλά δυστυχώς δεν
υποστηρίζεται καλά από τα συστήματα &unix;. Ένας τρόπος για
να αποφύγετε αυτό το πρόβλημα είναι να αγοράσετε εκτυπωτή
που φέρει διασύνδεση USB και Παράλληλη, όπως συμβαίνει με
πολλούς εκτυπωτές.Γενικά, οι Παράλληλες διασυνδέσεις προσφέρουν συνήθως
μίας κατεύθυνσης επικοινωνία (από τον υπολογιστή στον εκτυπωτή)
ενώ η σειριακή και η USB δίνουν αμφίδρομη. Στο &os; οι πιο
πρόσφατες παράλληλες θύρες (EPP και ECP) καταφέρνουν
αμφίδρομη επικοινωνία με τους εκτυπωτές, όταν χρησιμοποιούνται
καλώδια που συμμορφώνονται με το πρότυπο IEEE-1284.PostScriptΗ αμφίδρομη επικοινωνία με εκτυπωτές διαμέσου παράλληλης
θύρας μπορεί να επιτευχθεί γενικά με δύο τρόπους. Ο πρώτος τρόπος
χρησιμοποιεί ένα προσαρμοσμένο πρόγραμμα οδήγησης εκτυπωτή, ώστε
να μπορεί το &os; να συνομιλεί στην γλώσσα του εκτυπωτή. Αυτό
είναι σύνηθες με εκτυπωτές inkjet και μπορεί επίσης να
χρησιμοποιηθεί για αναφορές διαθέσιμης ποσότητας μελανιού και για
άλλες πληροφορίες λειτουργίας. Η δεύτερη μέθοδος χρησιμοποιείται
όταν ο εκτυπωτής έχει δυνατότητα υποστήριξης &postscript;.Οι εργασίες &postscript; είναι στην πραγματικότητα προγράμματα
που αποστέλλονται στον εκτυπωτή, δεν είναι απαραίτητο να παράγουν
εκτυπώσεις, ενώ μπορούν να επιστρέψουν το αποτέλεσμα τους
απευθείας στον υπολογιστή. Το &postscript; χρησιμοποιεί
αμφίδρομη επικοινωνία για να ενημερώσει τον υπολογιστή για τυχόν
προβλήματα, όπως σφάλματα στο πρόγραμμα &postscript; ή
μπλοκάρισμα τροφοδοσίας χαρτιού. Οι χρήστες σας, θα σας είναι
ευγνώμονες για αυτές τις πληροφορίες. Επιπλέον, ο καλύτερος
τρόπος για να κάνετε σωστή καταμέτρηση με ένα αμφίδρομο εκτυπωτή
&postscript; είναι: να ρωτήσετε τον εκτυπωτή για την συνολική
καταμέτρηση των σελίδων του (πόσες σελίδες εκτύπωσε σε όλη τη
διάρκεια ζωής του), μετά να αποστείλετε την εργασία του χρήστη,
και έπειτα να ξαναρωτήσετε για την καταμέτρηση των σελίδων του.
Αφαιρέστε τις δύο τιμές και θα γνωρίζετε πόσες σελίδες να
χρεώσετε στον χρήστη.Παράλληλες ΘύρεςΓια να συνδέσετε έναν εκτυπωτή σε παράλληλη θύρα, συνδέστε
το καλώδιο Centronics μεταξύ εκτυπωτή και υπολογιστή.
Οι οδηγίες που συνοδεύουν τον εκτυπωτή και τον υπολογιστή θα σας
καθοδηγήσουν να ολοκληρώσετε την σύνδεση.Θυμηθείτε ποια παράλληλη θύρα χρησιμοποιείτε στον υπολογιστή.
Η πρώτη παράλληλη θύρα στο &os; είναι η
ppc0,
η δεύτερη είναι η ppc1,
και ούτω καθεξής. Το όνομα συσκευής του εκτυπωτή χρησιμοποιεί
την ίδια αρίθμηση:
/dev/lpt0 για τον
εκτυπωτή στην πρώτη παράλληλη θύρα κ.τ.λ.Σειριακές ΘύρεςΓια να συνδέσετε έναν εκτυπωτή χρησιμοποιώντας σειριακή
διασύνδεση, συνδέστε το κατάλληλο σειριακό καλώδιο μεταξύ εκτυπωτή
και υπολογιστή. Οι οδηγίες που συνοδεύουν τον εκτυπωτή και τον
υπολογιστή σας, θα σας καθοδηγήσουν να ολοκληρώσετε την
σύνδεση.Αν δεν είστε σίγουροι ποιο είναι το κατάλληλο σειριακό
καλώδιο, μπορείτε να δοκιμάσετε μία από τις ακόλουθες
εναλλακτικές:Ένα καλώδιο modem ενώνει κάθε pin
του ακροδέκτη από τη μια πλευρά του καλωδίου κατευθείαν με
το αντίστοιχο pin του ακροδέκτη στο άλλο άκρο. Αυτός ο τύπος
καλωδίου είναι γνωστός και ως καλώδιο
DTE-to-DCE.null-modem cableΈνα καλώδιο null-modem ενώνει
κατευθείαν μερικά pins, ανταλλάσσει μερικά άλλα (για
παράδειγμα, τα pins αποστολής και λήψης), ενώ
βραχυκυκλώνει μερικά άλλα, εσωτερικά, στο προστατευτικό
κάλυμμα κάθε ακροδέκτη. Αυτός ο τύπος καλωδίου είναι γνωστός
και ως καλώδιο DTE-to-DTE.Ένα καλώδιο σειριακού εκτυπωτή, που
απαιτείται από κάποιους λιγότερο συνηθισμένους εκτυπωτές,
είναι σαν το καλώδιο null-modem, αλλά στέλνει ισοδύναμα
σήματα και στα δύο άκρα αντί να τα βραχυκυκλώνει
εσωτερικά.ρυθμός baudισοδυναμίαπρωτόκολλο ελέγχου ροήςΘα πρέπει επίσης να ρυθμίσετε τις παραμέτρους επικοινωνίας
του εκτυπωτή, συνήθως από τον μπροστινό πίνακα ελέγχου ή από τους
DIP διακόπτες του. Επιλέξτε την μέγιστη τιμή
bps (bits per second = bits ανά δευτερόλεπτο,
αναφέρεται και ως ρυθμός baud) που
υποστηρίζουν ο υπολογιστής και ο εκτυπωτής σας. Επιλέξτε 7 ή 8
data bits, none, even, ή odd parity, και 1 ή 2 stop bits. Επίσης
επιλέξτε ένα πρωτόκολλο ελέγχου ροής: είτε none, ή XON/XOFF
(αναφέρεται και ως έλεγχος ροής in-band ή
software). Να θυμάστε αυτές τις
ρυθμίσεις, για το στάδιο ρύθμισης λογισμικού που ακολουθεί.Ρυθμίσεις ΛογισμικούΑυτή η ενότητα περιγράφει τις αναγκαίες ρυθμίσεις που πρέπει
να γίνουν στο λογισμικό για να μπορείτε να εκτυπώνετε με το σύστημα
παροχέτευσης εκτυπωτών LPD στο
&os;.Μια γενική άποψη των ενεργειών που πρέπει να ακολουθήσετε
είναι:Ρυθμίστε τον πυρήνα σας, αν είναι αναγκαίο, για την θύρα
που χρησιμοποιείτε για τον εκτυπωτή σας. Οι απαραίτητες
ρυθμίσεις περιγράφονται στην ενότητα Ρυθμίσεις Πυρήνα.Ρυθμίστε την κατάσταση επικοινωνίας για την παράλληλη θύρα,
αν πρόκειται να την χρησιμοποιήσετε.
Η ενότητα Ρυθμίσεις
Κατάστασης Επικοινωνίας για την Παράλληλη Θύρα περιέχει
λεπτομέρειες.Ελέγξτε αν το λειτουργικό σύστημα μπορεί να στείλει δεδομένα
στον εκτυπωτή.
Η ενότητα Έλεγχος Επικοινωνίας
του Εκτυπωτή παρέχει μερικές συμβουλές για το πως θα
μπορούσε να γίνει ο έλεγχος.Ρυθμίστε το LPD για τον εκτυπωτή
σας, τροποποιώντας το αρχείο /etc/printcap.
Θα βρείτε οδηγίες για αυτές τις ρυθμίσεις σε επόμενο τμήμα αυτού
του κεφαλαίου.Ρυθμίσεις ΠυρήναΟ πυρήνας του λειτουργικού συστήματος έχει μεταγλωττιστεί έτσι
ώστε να δουλεύει με ένα συγκεκριμένο σύνολο συσκευών. Η σειριακή
και η παράλληλη διασύνδεση του εκτυπωτή είναι μέρος αυτού του
συνόλου. Επομένως, ίσως να είναι αναγκαίο να προσθέσετε
υποστήριξη για κάποια πρόσθετη σειριακή ή παράλληλη θύρα, αν δεν
είναι ήδη ρυθμισμένη στον πυρήνα σας.Για να ελέγξετε αν ο πυρήνας σας μπορεί να υποστηρίξει μια
σειριακή διασύνδεση, πληκτρολογήστε:&prompt.root; grep sioN/var/run/dmesg.bootΌπου N είναι ο αριθμός της
σειριακής θύρας, ξεκινώντας από το μηδέν. Αν δείτε στην έξοδο του
τερματικού σας κάτι παρόμοιο με:sio2 at port 0x3e8-0x3ef irq 5 on isa
sio2: type 16550Aτότε ο πυρήνας υποστηρίζει αυτή τη θύρα.Για να ελέγξετε αν ο πυρήνας σας υποστηρίζει παράλληλες
διασυνδέσεις, πληκτρολογήστε:&prompt.root; grep ppcN/var/run/dmesg.bootΌπου N είναι ο αριθμός της
παράλληλης θύρας, ξεκινώντας από το μηδέν. Αν δείτε στην έξοδο
του τερματικού σας κάτι παρόμοιο με:ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes thresholdτότε ο πυρήνας υποστηρίζει αυτή τη θύρα.Για να μπορεί το λειτουργικό σύστημα να αναγνωρίζει και να
χρησιμοποιεί την θύρα (παράλληλη ή σειριακή) για τον εκτυπωτή σας,
ίσως χρειαστεί να επαναπροσαρμόσετε τον πυρήνα σας.Για την υποστήριξη σειριακής θύρας, δείτε την ενότητα στις
ρυθμίσεις του πυρήνα. Για την υποστήριξη παράλληλης θύρας, δείτε
την ίδια ενότητα και την ενότητα που
ακολουθεί.Ρυθμίσεις Κατάστασης Επικοινωνίας για την Παράλληλη
ΘύραΌταν χρησιμοποιείτε την παράλληλη διασύνδεση, μπορείτε να
επιλέξετε αν η επικοινωνία του &os; με τον εκτυπωτή θα είναι
τύπου interrupt-driven ή polled. Ο γενικός οδηγός συσκευής του
εκτυπωτή (&man.lpt.4;) στο &os; χρησιμοποιεί το σύστημα
&man.ppbus.4;, το οποίο ελέγχει την θύρα του chipset
με τον οδηγό &man.ppc.4;.Η μέθοδος interrupt-driven είναι
προεπιλεγμένη στον πυρήνα GENERIC. Με αυτή τη μέθοδο,
το λειτουργικό σύστημα χρησιμοποιεί ένα σήμα IRQ για να
προσδιορίσει αν ο εκτυπωτής είναι έτοιμος για δεδομένα.Η μέθοδος polled οδηγεί το
λειτουργικό σύστημα να ζητά κατά επανάληψη από τον εκτυπωτή
αν είναι έτοιμος για πρόσθετα δεδομένα. Όταν απαντήσει θετικά,
ο πυρήνας στέλνει πρόσθετα δεδομένα.Η μέθοδος interrupt-driven είναι συνήθως κάπως γρηγορότερη
αλλά χρησιμοποιεί μια πολύτιμη γραμμή IRQ. Έχει παρατηρηθεί πως
κάποιοι σύγχρονοι εκτυπωτές HP δε δουλεύουν σωστά σε κατάσταση
interrupt, πιθανώς λόγω κάποιων (όχι απόλυτα εξακριβωμένων)
προβλημάτων συγχρονισμού. Αυτοί οι εκτυπωτές χρειάζονται την μέθοδο
polled. Θα πρέπει να χρησιμοποιείτε την αποτελεσματικότερη
κατάσταση λειτουργίας. Κάποιοι εκτυπωτές δουλεύουν και στις δυο
καταστάσεις, αλλά είναι οδυνηρά αργοί στην κατάσταση λειτουργίας
interrupt.Μπορείτε να ρυθμίσετε την κατάσταση επικοινωνίας με δύο
τρόπους: ρυθμίζοντας τον πυρήνα ή χρησιμοποιώντας το πρόγραμμα
&man.lptcontrol.8;.Για να θέσετε την κατάσταση επικοινωνίας ρυθμίζοντας
τον πυρήνα:Επεξεργαστείτε το αρχείο ρύθμισης του πυρήνα. Δείτε την
καταχώριση ppc0. Αν εγκαθιστάτε την
δεύτερη παράλληλη θύρα, τότε χρησιμοποιείστε
ppc1. Για την τρίτη θύρα
ppc2 και ούτω καθεξής.Αν επιθυμείτε κατάσταση λειτουργίας interrupt-driven,
επεξεργαστείτε την ακόλουθη γραμμή:hint.ppc.0.irq="N"στο αρχείο /boot/device.hints και
αντικαταστήστε το N με τον
σωστό αριθμό IRQ. Το αρχείο ρύθμισης του πυρήνα πρέπει
επίσης να περιέχει τον οδηγό &man.ppc.4;:device ppcΑν επιθυμείτε κατάσταση λειτουργίας polled, διαγράψτε
από το αρχείο /boot/device.hints, την
ακόλουθη γραμμή:hint.ppc.0.irq="N"Σε μερικές περιπτώσεις, το παραπάνω δεν είναι αρκετό
για να θέσετε την θύρα σε κατάσταση polled. Τις
περισσότερες φορές το πρόβλημα προέρχεται από τον οδηγό
&man.acpi.4;, ο οποίος έχει την ευχέρεια να εξετάζει και
να προσαρτά συσκευές, και επομένως, να ελέγχει τον τρόπο
πρόσβασης στην θύρα του εκτυπωτή. Θα πρέπει να ελέγξετε
τις ρυθμίσεις του &man.acpi.4; για να διορθώσετε αυτό το
πρόβλημα.Αποθηκεύστε το αρχείο. Ρυθμίστε, μεταγλωττίστε, και
εγκαταστήστε τον πυρήνα, και έπειτα κάντε επανεκκίνηση.
Για περισσότερες λεπτομέρειες, δείτε τις ρυθμίσεις του πυρήνα.Για να θέσετε την κατάσταση επικοινωνίας με
το &man.lptcontrol.8;:Πληκτρολογήστε:&prompt.root; lptcontrol /dev/lptNγια να θέσετε την κατάσταση λειτουργίας interrupt-driven
για το lptN.Πληκτρολογήστε:&prompt.root; lptcontrol /dev/lptNγια να θέσετε την κατάσταση λειτουργίας polled για το
lptN.Θα μπορούσατε να καταχωρίσετε αυτές τις εντολές στο
δικό σας αρχείο /etc/rc.local. Έτσι θα
εκτελούνται αυτόματα κατά την εκκίνηση
του συστήματος σας. Για περισσότερες πληροφορίες δείτε το
&man.lptcontrol.8;.Έλεγχος Επικοινωνίας του ΕκτυπωτήΠριν συνεχίσουμε να ρυθμίζουμε το σύστημα παροχέτευσης, θα
πρέπει να βεβαιωθείτε ότι το λειτουργικό σύστημα μπορεί να στείλει
επιτυχώς δεδομένα στον εκτυπωτή σας. Είναι ευκολότερο να κάνουμε
ξεχωριστά την αποσφαλμάτωση επικοινωνίας του εκτυπωτή και την
αποσφαλμάτωση του συστήματος παροχέτευσης.Θα ελέγξουμε τον εκτυπωτή στέλνοντας μερικά δεδομένα κειμένου.
Για εκείνους τους εκτυπωτές που μπορούν να εκτυπώνουν άμεσα
τους χαρακτήρες που έχουν αποσταλεί, το πρόγραμμα &man.lptest.1;
είναι τέλειο: Παράγει όλους τους εκτυπώσιμους χαρακτήρες (96)
ASCII σε 96 γραμμές.PostScriptΓια εκτυπωτές &postscript; (ή που βασίζονται σε άλλη γλώσσα),
θα χρειαστεί να κάνουμε ένα πιο πολύπλοκο τεστ. Ένα μικρό
πρόγραμμα &postscript;, όπως αυτό που ακολουθεί, επαρκεί:%!PS
100 100 moveto 300 300 lineto stroke
310 310 moveto /Helvetica findfont 12 scalefont setfont
(Is this thing working?) show
showpageΟ παραπάνω κώδικας &postscript; μπορεί να τοποθετηθεί σε ένα
αρχείο και να χρησιμοποιηθεί όπως υποδεικνύουν τα παραδείγματα
στις ακόλουθες ενότητες.PCLΌταν αυτό το έγγραφο αναφέρεται σε μια γλώσσα εκτυπωτή,
εννοείται μια γλώσσα όπως η &postscript;, αλλά όχι η PCL της
Hewlett Packard — η PCL είναι μια γλώσσα ευρείας
λειτουργικότητας η οποία επιτρέπει την ανάμιξη απλού κειμένου με
ακολουθίες διαφυγής. Η &postscript; δεν μπορεί να εκτυπώσει
άμεσα απλό κείμενο, και αυτός είναι ακριβώς ο τύπος της
γλώσσας εκτυπωτή που θα πρέπει να διευθετήσουμε
κατάλληλα.Έλεγχος Παράλληλου ΕκτυπωτήεκτυπωτέςπαράλληληΑυτή η ενότητα υποδεικνύει πως να ελέγξετε αν το &os; μπορεί
να επικοινωνήσει με έναν εκτυπωτή συνδεδεμένο σε παράλληλη
θύρα.Για να ελέγξετε έναν εκτυπωτή σε παράλληλη
θύρα:Γίνετε root με &man.su.1;.Στείλτε δεδομένα στον εκτυπωτή.Αν ο εκτυπωτής μπορεί να εκτυπώσει απλό κείμενο,
τότε χρησιμοποιήστε το &man.lptest.1;.
Πληκτρολογήστε:&prompt.root; lptest > /dev/lptNΌπου N είναι ο αριθμός
της παράλληλης θύρας, ξεκινώντας από το μηδέν.Εάν ο εκτυπωτής καταλαβαίνει &postscript; ή κάποια
άλλη γλώσσα εκτυπωτών, τότε στείλτε ένα μικρό πρόγραμμα
στον εκτυπωτή. Πληκτρολογήστε:&prompt.root; cat > /dev/lptNΈπειτα πληκτρολογήστε το πρόγραμμα μία προς μία
γραμμή, προσεκτικά, γιατί δεν
μπορείτε να επεξεργαστείτε μια γραμμή αφότου έχετε
πιέσει το πλήκτρο RETURN ή
ENTER. Αφού τελειώσετε με την
καταχώριση του προγράμματος, πιέστε
CONTROL+D, ή άλλο πλήκτρο
τερματισμού αρχείου.Εναλλακτικά, μπορείτε να τοποθετήσετε το πρόγραμμα
σε ένα αρχείο και να πληκτρολογήσετε:&prompt.root; cat file > /dev/lptNΌπου file είναι το
όνομα του αρχείου που περιέχει το πρόγραμμα που θέλετε
να στείλετε στον εκτυπωτή.Θα δείτε κάτι να εκτυπώνεται. Μην ανησυχείτε αν το κείμενο
δεν φαίνεται σωστό. Θα το διορθώσουμε αργότερα.Έλεγχος Σειριακού ΕκτυπωτήprintersserialΑυτή η ενότητα υποδεικνύει πως να ελέγξετε αν το &os; μπορεί
να επικοινωνήσει με έναν εκτυπωτή συνδεδεμένο σε σειριακή
θύρα.Για να ελέγξετε έναν εκτυπωτή σε σειριακή
θύρα:Γίνετε root με &man.su.1;.Επεξεργαστείτε το αρχείο
/etc/remote. Προσθέστε την ακόλουθη
καταχώριση:printer:dv=/dev/port:br#bps-rate:pa=paritybits-per-secondserial portparityΌπου port είναι η
καταχώριση συσκευής για την σειριακή πόρτα
(ttyd0, ttyd1, κτλ.),
bps-rate είναι η ταχύτητα
bits-per-second επικοινωνίας με τον εκτυπωτή, και
parity η ισοτιμία που
απαιτείται από τον εκτυπωτή (even,
odd, none, ή
zero).Παρακάτω φαίνεται ένα υπόδειγμα καταχώρισης, για έναν
εκτυπωτή συνδεδεμένο μέσω σειριακής γραμμής στην τρίτη
σειριακή θύρα με ταχύτητα 19200 bps και χωρίς
parity:printer:dv=/dev/ttyd2:br#19200:pa=noneΣυνδεθείτε στον εκτυπωτή με &man.tip.1;.
Πληκτρολογήστε:&prompt.root; tip printerΑν αυτό το στάδιο δεν δουλεύει, επεξεργαστείτε πάλι το
αρχείο /etc/remote και προσπαθήστε το
χρησιμοποιώντας
/dev/cuaaN
αντί για
/dev/ttydN.Στείλτε δεδομένα στον εκτυπωτή.Αν ο εκτυπωτής μπορεί να εκτυπώσει απλό κείμενο,
χρησιμοποιήστε &man.lptest.1;. Γράψτε:&prompt.user; $lptestΕάν ο εκτυπωτής καταλαβαίνει &postscript; ή κάποια
άλλη γλώσσα εκτυπωτών, τότε στείλτε ένα μικρό πρόγραμμα
στον εκτυπωτή. Πληκτρολογήστε το πρόγραμμα, μία προς μία
γραμμή, πολύ προσεκτικά, καθώς
ο εκτυπωτής μπορεί να ερμηνεύει διαφορετικά την χρήση
χαρακτήρων όπως το backspace ή άλλων που παράγονται από
διάφορα πλήκτρα επεξεργασίας. Μπορεί επίσης να
χρειαστεί να πληκτρολογήσετε κάποιο ειδικό πλήκτρο
τερματισμού αρχείου για τον εκτυπωτή ώστε να γνωρίζει
πότε ολοκληρώνεται το πρόγραμμα. Για εκτυπωτές
&postscript;, πιέστε
CONTROL+D.Εναλλακτικά, μπορείτε να τοποθετήσετε το πρόγραμμα
σε ένα αρχείο και να πληκτρολογήσετε:&prompt.user; >fileΌπου file είναι το
όνομα του αρχείου που περιέχει το πρόγραμμα. Αφού το
&man.tip.1; στείλει το αρχείο, πιέστε το κατάλληλο
πλήκτρο τερματισμού αρχείου, αν απαιτείται.Θα δείτε κάτι να εκτυπώνεται. Μην ανησυχείτε αν το
κείμενο δεν φαίνεται σωστό. Θα το διορθώσουμε αργότερα.Ενεργοποίηση του Spooler: το Αρχείο
/etc/printcapΣε αυτό το σημείο, ο εκτυπωτής σας θα πρέπει να είναι
συνδεμένος, ο πυρήνας σας ρυθμισμένος να επικοινωνεί μαζί του
(αν χρειάζεται), και έχετε πετύχει να στείλετε κάποια δοκιμαστικά
δεδομένα στον εκτυπωτή. Είστε τώρα έτοιμοι να ρυθμίσετε το
LPD για να ελέγχετε την πρόσβαση
στον εκτυπωτή σας.Μπορείτε να ρυθμίσετε το LPD
με επεξεργασία του αρχείου /etc/printcap.
Το σύστημα παροχέτευσης LPD
διαβάζει αυτό το αρχείο κάθε φορά που χρησιμοποιείται ο spooler,
επομένως πιθανές αναβαθμίσεις του μπαίνουν άμεσα σε εφαρμογή.εκτυπωτέςικανότητεςΕίναι εύκολο να κατανοήσετε την μορφή του αρχείου
&man.printcap.5;. Χρησιμοποιήστε τον κειμενογράφο που προτιμάτε
για να κάνετε αλλαγές στο /etc/printcap. Η
μορφή του είναι παρόμοια με άλλα αρχεία περιγραφής δυνατοτήτων,
όπως τα /usr/share/misc/termcap και
/etc/remote. Δείτε την &man.cgetent.3;
για λεπτομερείς πληροφορίες σχετικά με την μορφή του αρχείου.Η πιο απλή ρύθμιση του spooler αποτελείται από τα ακόλουθα
βήματα:Επιλέξτε ένα όνομα (και λίγα βολικά παρωνύμια) για τον
εκτυπωτή, και τοποθετήστε τα στο αρχείο
/etc/printcap.
Δείτε την ενότητα Ονοματοδότηση Εκτυπωτή για
περισσότερες πληροφορίες σχετικά με την ονομασία των
εκτυπωτών.σελίδες κεφαλίδαςΑπενεργοποιήστε τις σελίδες κεφαλίδας (είναι ενεργές από
προεπιλογή) εισάγοντας την ικανότητα sh.
Για περισσότερες πληροφορίες δείτε την ενότητα Παρεμπόδιση Σελίδων
Κεφαλίδας.Δημιουργήστε ένα κατάλογο παροχέτευσης, και καθορίστε την
τοποθεσία του με την ικανότητα sd. Για
περισσότερες πληροφορίες δείτε την ενότητα Δημιουργία Καταλόγου
Παροχέτευσης.Καθορίστε την κατάλληλη καταχώριση
/dev
για τον εκτυπωτή, και σημειώστε τη στο
/etc/printcap με την ικανότητα
lp. Για περισσότερες πληροφορίες, δείτε την
ενότητα Αναγνώριση της Συσκευής
Εκτύπωσης. Επίσης, αν ο εκτυπωτής είναι σε σειριακή
θύρα, εγκαταστήστε τις παραμέτρους επικοινωνίας με την ικανότητα
ms# η οποία αναλύεται στην ενότητα Ρυθμίσεις Παραμέτρων Επικοινωνίας
του Spooler.Εγκαταστήστε φίλτρα εισόδου απλού κειμένου. Δείτε την
ενότητα Εγκατάσταση Φίλτρου
Κειμένου για περισσότερες πληροφορίες.Ελέγξτε την εγκατάσταση εκτυπώνοντας οτιδήποτε με την
εντολή &man.lpr.1;. Περισσότερες πληροφορίες είναι διαθέσιμες
στις ενότητες Δοκιμή του
Spooler και Εντοπισμός Βλαβών.Εκτυπωτές που βασίζονται σε γλώσσες εκτύπωσης, όπως οι
εκτυπωτές &postscript;, δεν μπορούν να εκτυπώσουν άμεσα απλό
κείμενο. Ο απλός τρόπος ρύθμισης που δείξαμε παραπάνω και
που θα περιγράψουμε εκτενέστερα στις επόμενες ενότητες,
προϋποθέτει πως αν ρυθμίζετε έναν τέτοιο εκτυπωτή θα μπορείτε να
εκτυπώσετε μόνον αρχεία γραμμένα στη γλώσσα του.Οι χρήστες συνήθως νομίζουν πως μπορούν να εκτυπώσουν απλό
κείμενο σε όλους τους εκτυπωτές που είναι εγκατεστημένοι στο
σύστημα τους. Τα προγράμματα που χρησιμοποιούν το
LPD για να εκτυπώσουν, κάνουν ακριβώς
την ίδια υπόθεση. Αν προσπαθείτε να εγκαταστήσετε έναν τέτοιο
εκτυπωτή και θέλετε να μπορείτε να τυπώνετε εργασίες στην γλώσσα
του εκτυπωτή αλλά και σε απλό κείμενο, σας
συνιστούμε να προσθέσετε ένα επιπλέον βήμα στην διαδικασία
εγκατάστασης που περιγράψαμε παραπάνω: Εγκαταστήστε ένα πρόγραμμα
αυτόματης μετατροπής από απλό κείμενο σε PostScript (ή σε άλλη
γλώσσα εκτυπωτή). Η ενότητα Συμβατότητα Εργασιών
Απλού Κειμένου σε εκτυπωτές &postscript; εξηγεί πως να
ενεργήσετε.Ονοματοδότηση ΕκτυπωτήΤο πρώτο (εύκολο) βήμα είναι να επιλέξετε όνομα για τον
εκτυπωτή σας. Δεν έχει σημασία αν θα προτιμήσετε ένα λειτουργικό
ή κάποιο εξωτικό όνομα αφού μπορείτε επίσης να προσθέσετε και
μερικά παρωνύμια (aliases) για τον ίδιο εκτυπωτή.Τουλάχιστον ένας από τους εκτυπωτές που αναφέρονται στο
/etc/printcap θα πρέπει να έχει το
παρωνύμιο lp. Αυτή είναι η ονομασία του
προεπιλεγμένου εκτυπωτή. Εάν οι χρήστες δεν έχουν την μεταβλητή
περιβάλλοντος PRINTER και δεν αναφέρουν κάποιο
όνομα εκτυπωτή στην γραμμή εντολών με οποιαδήποτε εντολή
LPD, τότε ο lp θα
είναι ο προεπιλεγμένος εκτυπωτής για τις εκτυπώσεις τους.Επίσης, είναι κοινή πρακτική το τελευταίο alias του εκτυπωτή
να είναι μια πλήρης περιγραφή του εκτυπωτή, που να περιλαμβάνει
τον κατασκευαστή και το μοντέλο.Αφού επιλέξετε μια ονομασία και μερικά συνήθη παρωνύμια,
καταχωρίστε τα στο αρχείο /etc/printcap.
Το όνομα του εκτυπωτή θα πρέπει να αναφέρεται πρώτο στο αριστερό
άκρο. Διαχωρίστε κάθε παρωνύμιο με μια κάθετη μπάρα και
τοποθετήστε μια άνω-κάτω τελεία μετά το τελευταίο
παρωνύμιο.Στο ακόλουθο παράδειγμα, ξεκινάμε με ένα εντελώς βασικό
/etc/printcap που ορίζει δύο εκτυπωτές (έναν
εκτυπωτή γραμμής Diablo 630 και έναν εκτυπωτή &postscript; laser
Panasonic KX-P4455):#
# /etc/printcap for host rose
#
rattan|line|diablo|lp|Diablo 630 Line Printer:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:Σε αυτό το παράδειγμα, ο πρώτος εκτυπωτής ονομάζεται
rattan και έχει ως παρωνύμια τα
line, diablo,
lp, και Diablo 630 Line
Printer. Από τη στιγμή που έχει το παρωνύμιο
lp, είναι και ο προεπιλεγμένος εκτυπωτής. Ο
δεύτερος ονομάζεται bamboo, και έχει ως
παρωνύμια τα ps, PS,
S, panasonic, και
Panasonic KX-P4455 PostScript v51.4.Παρεμπόδιση Σελίδων Κεφαλίδαςprintingheader pagesΤο σύστημα παροχέτευσης LPD, από
προεπιλογή, εκτυπώνει μια σελίδα κεφαλίδας
για κάθε εργασία. Η σελίδα κεφαλίδας περιλαμβάνει το όνομα
χρήστη που αιτήθηκε την εργασία, τον υπολογιστή από τον οποίον
προήλθε η εργασία, και το όνομα της εργασίας, με μεγάλους όμορφους
χαρακτήρες. Δυστυχώς αυτό το πρόσθετο κείμενο ακολουθεί την
διαδικασία αποσφαλμάτωσης της εγκατάστασης ενός απλού εκτυπωτή,
επομένως θα παρεμποδίσουμε τις σελίδες κεφαλίδας.Για την παρεμπόδιση των σελίδων κεφαλίδας, προσθέστε την
ικανότητα sh στην καταχώριση για τον εκτυπωτή
στο αρχείο /etc/printcap. Εδώ βλέπετε ένα
παράδειγμα του /etc/printcap με προσθήκη της
sh:#
# /etc/printcap for host rose - no header pages anywhere
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:Παρατηρήστε πως χειριστήκαμε σωστά τη μορφή: η πρώτη
γραμμή ξεκινά στην αριστερή στήλη, και οι ακόλουθες γραμμές
είναι στοιχισμένες (indented). Κάθε γραμμή καταχώρισης (εκτός
από την τελευταία) τελειώνει με μια αριστερόστροφη κάθετο.Δημιουργία Καταλόγου Παροχέτευσηςεκτυπωτής spoolεκτύπωση εργασίεςΤο επόμενο βήμα στον απλό τρόπο εγκατάστασης είναι η
δημιουργία ενός
καταλόγου παροχέτευσης (spool),
όπου θα φιλοξενούνται οι εργασίες εκτύπωσης έως ότου
να εκτυπωθούν και όπου επίσης φυλάσσονται και κάποια άλλα
βοηθητικά αρχεία του συστήματος εκτύπωσης.Λόγω της μεταβαλλόμενης φύσης των καταλόγων παροχέτευσης,
συνηθίζεται να τοποθετούνται κάτω από τον κατάλογο
/var/spool. Δεν είναι
αναγκαίο να παίρνετε αντίγραφα ασφαλείας των καταλόγων
παροχέτευσης. Η επαναδημιουργία τους είναι τόσο απλή όσο να
τρέξουμε την εντολή &man.mkdir.1;.Είναι επίσης συνηθισμένο να ονομάζεται ο κατάλογος με το ίδιο
όνομα με τον εκτυπωτή, όπως φαίνεται παρακάτω:&prompt.root; mkdir /var/spool/printer-nameΩστόσο, αν έχετε αρκετούς εκτυπωτές στο δίκτυο, ίσως
επιθυμείτε να τοποθετήσετε τους καταλόγους παροχέτευσης κάτω από
ένα μοναδικό κατάλογο που θα χρησιμοποιείται αποκλειστικά για
εκτυπώσεις με το LPD. Θα κάνουμε
ακριβώς αυτό για τα παραδείγματα μας με τους εκτυπωτές
rattan και bamboo:&prompt.root; mkdir /var/spool/lpd
&prompt.root; mkdir /var/spool/lpd/rattan
&prompt.root; mkdir /var/spool/lpd/bambooΕάν οι εργασίες των χρηστών περιέχουν προσωπικά δεδομένα,
μπορεί να θέλετε να προστατέψετε τον κατάλογο παροχέτευσης με
κάποιο τρόπο, ώστε να μην είναι δημόσια προσβάσιμος. Οι
κατάλογοι παροχέτευσης θα πρέπει να ανήκουν και να είναι
αναγνώσιμοι, εγγράψιμοι και με δυνατότητα αναζήτησης από τον
χρήστη daemon και από την ομάδα daemon, από κανέναν άλλο. Για
τους εκτυπωτές του παραδείγματος:&prompt.root; chown daemon:daemon /var/spool/lpd/rattan
&prompt.root; chown daemon:daemon /var/spool/lpd/bamboo
&prompt.root; chmod 770 /var/spool/lpd/rattan
&prompt.root; chmod 770 /var/spool/lpd/bambooΤέλος, πρέπει να ενημερώσετε το LPD
για αυτούς τους καταλόγους χρησιμοποιώντας το αρχείο
/etc/printcap. Προσδιορίστε την διαδρομή
του καταλόγου παροχέτευσης με την ικανότητα
sd:#
# /etc/printcap for host rose - added spooling directories
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:Σημειώστε πως το όνομα του εκτυπωτή ξεκινά στην πρώτη στήλη,
ενώ όλες οι άλλες καταχωρίσεις που περιγράφουν τον εκτυπωτή θα
πρέπει να είναι στοιχισμένες και κάθε τέλος γραμμής να φέρει
χαρακτήρα διαφυγής με αριστερόστροφη κάθετο.Εάν δεν προσδιορίσετε τον κατάλογο παροχέτευσης μέσω του
sd, τότε το σύστημα παροχέτευσης θα
χρησιμοποιήσει τον προεπιλεγμένο
/var/spool/lpd.Αναγνώριση της Συσκευής ΕκτύπωσηςΣτην ενότητα Ρυθμίσεις
Hardware αναγνωρίσαμε τη θύρα, και κατά συνέπεια την
καταχώριση του καταλόγου
/dev που θα
χρησιμοποιήσει το &os; για να επικοινωνήσει με τον εκτυπωτή.
Τώρα, θα δώσουμε στο LPD αυτή
την πληροφορία. Όταν το σύστημα παροχέτευσης έχει μια εργασία να
εκτυπώσει, θα ανοίξει αυτή την ειδική συσκευή για λογαριασμό του
προγράμματος φίλτρου (που είναι υπεύθυνο για το πέρασμα των
δεδομένων στον εκτυπωτή).Προσδιορίστε την διαδρομή της καταχώρισης
/dev στο αρχείο
/etc/printcap χρησιμοποιώντας την ικανότητα
lp.Στο τρέχον παράδειγμα μας, ας υποθέσουμε ότι ο
rattan είναι στην πρώτη παράλληλη θύρα, και ο
bamboo είναι στην έκτη σειριακή πόρτα. Οι νέες
καταχωρίσεις στο /etc/printcap θα
είναι:#
# /etc/printcap for host rose - identified what devices to use
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyd5:Αν δεν καθορίσετε σε κάποιον εκτυπωτή την ικανότητα
lp στο αρχείο
/etc/printcap, το
LPD χρησιμοποιεί από προεπιλογή
το /dev/lp.
Το /dev/lp
δεν υπάρχει την δεδομένη στιγμή στο &os;.Εάν ο εκτυπωτής που εγκαθιστάτε είναι συνδεδεμένος σε
παράλληλη θύρα, διαβάστε απευθείας την ενότητα με τίτλο
Εγκατάσταση Φίλτρου
Κειμένου. Διαφορετικά, ακολουθήστε προσεκτικά τις
οδηγίες που ακολουθούν στην επόμενη ενότητα.Ρυθμίσεις Παραμέτρων Επικοινωνίας του SpoolerεκτυπωτέςσειριακοίΓια εκτυπωτές σε σειριακή πόρτα, το
LPD μπορεί να ρυθμίσει την
ταχύτητα σε bps, το parity, και άλλες παραμέτρους σειριακής
επικοινωνίας για λογαριασμό του προγράμματος φίλτρου που στέλνει
δεδομένα στον εκτυπωτή. Αυτό είναι πλεονέκτημα γιατί:Σας επιτρέπει να δοκιμάσετε διάφορες παραμέτρους
επικοινωνίας προσθέτοντας τις απλά με επεξεργασία του αρχείου
/etc/printcap. Δεν χρειάζεται να
επαναμεταγλωττίσετε το πρόγραμμα φίλτρου.Επιτρέπει στο σύστημα παροχέτευσης να χρησιμοποιεί το
ίδιο πρόγραμμα για πολλαπλούς εκτυπωτές, οι οποίοι μπορεί να
έχουν διαφορετικές σειριακές ρυθμίσεις επικοινωνίας.Οι ακόλουθες ικανότητες του
/etc/printcap ελέγχουν τις παραμέτρους
σειριακής επικοινωνίας των συσκευών που αναφέρονται στην
ικανότητα lp:br#bps-rateΟρίζει την ταχύτητα επικοινωνίας της συσκευής σε
bps-rate, όπου το
bps-rate μπορεί να είναι 50,
75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800,
9600, 19200, 38400, 57600, ή 115200 bits-per-second.ms#stty-modeΟρίζει τις επιλογές της συσκευής τερματικού μετά το
άνοιγμα της συσκευής. Η &man.stty.1; εξηγεί τις διαθέσιμες
επιλογές.Όταν το LPD ανοίγει την συσκευή
που ορίζεται από την ικανότητα lp, υιοθετεί τα
χαρακτηριστικά της συσκευής με ικανότητα ms#.
Έχουν ιδιαίτερο ενδιαφέρον οι καταστάσεις λειτουργίας
parenb, parodd,
cs5, cs6,
cs7, cs8,
cstopb, crtscts, και
ixon, που εξηγούνται στην σελίδα βοηθείας
&man.stty.1;.Ας προσθέσουμε στο παράδειγμα μας έναν εκτυπωτή στην έκτη
σειριακή θύρα. Θα θέσουμε την ταχύτητα bps σε 38400. Για την
κατάσταση λειτουργίας θα θέσουμε , no parity με
-parenb, χαρακτήρες 8-bit με
cs8, no modem control με
clocal και έλεγχο ροής μέσω hardware με
crtscts:bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:Εγκατάσταση Φίλτρου ΚειμένουεκτύπωσηφίλτραΤώρα είμαστε έτοιμοι να πούμε στο
LPD ποιο φίλτρο κειμένου να
χρησιμοποιήσει για να στείλει εργασίες στον εκτυπωτή. Το φίλτρο
κειμένου, γνωστό και ως φίλτρο εισόδου,
είναι ένα πρόγραμμα που εκτελεί το LPD
όταν υπάρχει εργασία προς εκτύπωση. Όταν το
LPD εκτελεί το φίλτρο κειμένου για
κάποιον εκτυπωτή, θέτει την standard input του φίλτρου στην
εργασία εκτύπωσης, και την standard output στην συσκευή του
εκτυπωτή που ορίζεται με την ικανότητα lp.
Το φίλτρο αναμένεται να αναγνώσει την εργασία από την standard
input, να εκτελέσει όλες τις απαραίτητες μεταγλωττίσεις για τον
εκτυπωτή, και να γράψει το αποτέλεσμα στην standard output, το
οποίο και θα εκτυπωθεί. Για περισσότερες πληροφορίες για τα
φίλτρα κειμένου, δείτε την ενότητα
Φίλτρα.Για την απλή εγκατάσταση των εκτυπωτών μας, το φίλτρο κειμένου
μπορεί να είναι ένα μικρό shell script που απλά θα εκτελεί την
εντολή /bin/cat για να στέλνει εργασίες στον
εκτυπωτή. Το &os; έρχεται με άλλο ένα φίλτρο, το
lpf που χειρίζεται δυνατότητες backspacing
και υπογράμμισης για εκτυπωτές που ίσως να μην χειρίζονται σωστά
αυτές τις λειτουργίες. Και φυσικά, μπορείτε να χρησιμοποιήσετε
οποιοδήποτε άλλο πρόγραμμα φίλτρου επιθυμείτε. Το φίλτρο
lpf περιγράφεται λεπτομερώς στην ενότητα
lpf: ένα Φίλτρο Κειμένου.Θα ξεκινήσουμε δημιουργώντας το shell script
/usr/local/libexec/if-simple σαν ένα απλό
φίλτρο κειμένου. Τοποθετήστε το ακόλουθο κείμενο στο αρχείο
χρησιμοποιώντας τον κειμενογράφο που προτιμάτε:#!/bin/sh
#
# if-simple - Simple text input filter for lpd
# Installed in /usr/local/libexec/if-simple
#
# Simply copies stdin to stdout. Ignores all filter arguments.
/bin/cat && exit 0
exit 2Κάντε το αρχείο εκτελέσιμο:&prompt.root; chmod 555 /usr/local/libexec/if-simpleΚαι ενημερώστε το LPD να το χρησιμοποιήσει, ορίζοντας το με
την ικανότητα if στο αρχείο
/etc/printcap. Θα το προσθέσουμε στους δύο
εκτυπωτές από το προηγούμενο παράδειγμα στο
/etc/printcap:#
# /etc/printcap for host rose - added text filter
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:\
:if=/usr/local/libexec/if-simple:Μπορείτε να βρείτε ένα αντίγραφο του script
if-simple στον κατάλογο
/usr/share/examples/printing.Ενεργοποίηση του LPDΤο &man.lpd.8; εκτελείται από το
/etc/rc, και ελέγχεται από την μεταβλητή
lpd_enable. Η μεταβλητή αυτή έχει
προεπιλεγμένη τιμή NO. Αν δεν το έχετε κάνει
ακόμα, προσθέστε την ακόλουθη γραμμή:lpd_enable="YES"στο αρχείο /etc/rc.conf, και
επανεκκινήστε το σύστημα σας, ή απλά εκτελέστε το
&man.lpd.8;.&prompt.root; lpdΔοκιμή του SpoolerΦτάσατε στο τέλος της απλής εγκατάστασης του
LPD. Θα αφήσουμε για αργότερα τα
συγχαρητήρια, αφού ακόμη θα πρέπει να ελέγξουμε την εγκατάσταση
και να διορθώσουμε οποιοδήποτε πρόβλημα έχει προκύψει. Για να
ελέγξετε την εγκατάσταση προσπαθήστε να εκτυπώσετε κάτι. Για να
εκτυπώσετε με το σύστημα LPD,
χρησιμοποιήστε την εντολή &man.lpr.1;, η οποία αποστέλλει μία
εργασία προς εκτύπωση.Μπορείτε να συνδυάσετε την &man.lpr.1; με το πρόγραμμα
&man.lptest.1;, για το οποίο κάναμε μια εισαγωγή στην ενότητα
Έλεγχος Επικοινωνίας του
Εκτυπωτή, για τον έλεγχο κειμένου.Για τον έλεγχο μιας απλής εγκατάστασης
LPD:Πληκτρολογήστε:&prompt.root; lptest 20 5 | lpr printer-nameΌπου printer-name είναι το όνομα
ενός εκτυπωτή (ή το alias) που αναφέρεται στο
/etc/printcap. Για να ελέγξετε τον
προεπιλεγμένο εκτυπωτή, πληκτρολογήστε &man.lpr.1; χωρίς το
πρόθεμα . Αν ο εκτυπωτής σας χρησιμοποιεί
&postscript;, πρέπει να στείλετε ένα πρόγραμμα &postscript;,
αντί να χρησιμοποιήσετε το &man.lptest.1;. Για να τα καταφέρετε,
τοποθετήστε το πρόγραμμα σε ένα αρχείο και πληκτρολογήστε
lpr file.Σε έναν εκτυπωτή &postscript;, η εκτύπωση θα είναι το
αποτέλεσμα του προγράμματος που στείλατε. Αν χρησιμοποιείτε το
&man.lptest.1;, τότε το αποτέλεσμα θα μοιάζει με το
ακόλουθο:!"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456
$%&'()*+,-./01234567
%&'()*+,-./012345678Για περαιτέρω έλεγχο του εκτυπωτή, δοκιμάστε να κατεβάσετε
μεγαλύτερα προγράμματα (για εκτυπωτές που χρησιμοποιούν γλώσσα
προγραμματισμού) ή τρέξτε το &man.lptest.1; με διαφορετικά
προθέματα. Για παράδειγμα, η εντολή
lptest 80 60 θα παράγει 60 γραμμές των 80
χαρακτήρων η καθεμία.Αν ο εκτυπωτής δεν δουλεύει, δείτε την ενότητα Εντοπισμός Βλαβών.Ρυθμίσεις Εκτυπωτών για ΠροχωρημένουςΑυτή η ενότητα περιγράφει φίλτρα για την εκτύπωση ειδικής μορφής
αρχείων, σελίδων κεφαλίδας, για εκτυπώσεις μέσω δικτύου, καθώς και για
τον έλεγχο πρόσβασης και την καταμέτρηση χρήσης των εκτυπωτών.ΦίλτραεκτύπωσηφίλτραΑν και το LPD μπορεί να χειριστεί
πρωτόκολλα δικτύων, λίστες αναμονής, έλεγχο πρόσβασης, και άλλες
παραμέτρους των εκτυπώσεων, το κύριο μέρος της
πραγματικής εργασίας γίνεται με τα
φίλτρα. Τα φίλτρα είναι προγράμματα που
επικοινωνούν με τον εκτυπωτή και χειρίζονται τις εξαρτήσεις της
συσκευής και άλλες ειδικές απαιτήσεις της. Στην απλή εγκατάσταση
εκτυπωτή, εγκαταστήσαμε ένα φίλτρο απλού κειμένου ιδιαίτερα
απλής μορφής, που θα πρέπει να δουλεύει με τους περισσότερους
εκτυπωτές (ενότητα Εγκατάσταση Φίλτρου Κειμένου).Ωστόσο, για να μπορέσετε να εκμεταλλευτείτε τις δυνατότητες
μετατροπών μορφής, ελέγχου πρόσβασης και καταμέτρησης, και τυχόν
ειδικές δυνατότητες του εκτυπωτή σας, θα πρέπει να καταλάβετε πως
δουλεύουν τα φίλτρα. Σε τελική ανάλυση, θα είναι ευθύνη των φίλτρων
να χειρίζονται όλες αυτές τις παραμέτρους. Τα κακά νέα είναι πως τις
περισσότερες φορές θα πρέπει να παρέχετε
εσείς οι ίδιοι τα φίλτρα σας. Τα καλά νέα είναι
πως γενικώς υπάρχουν αρκετά διαθέσιμα, και αν δεν υπάρχουν, είναι
σχετικά εύκολο να τα γράψετε.Επίσης, το &os; διατίθεται με ένα φίλτρο, το
/usr/libexec/lpr/lpf, που δουλεύει με πολλούς
εκτυπωτές που μπορούν να εκτυπώσουν απλό κείμενο. (Χειρίζεται
backspacing και tabs στο αρχείο, και κάνει καταμέτρηση, αλλά
τίποτα περισσότερο.) Υπάρχουν, επίσης, διάφορα άλλα φίλτρα και
συστατικά τους στην Συλλογή των Ports του &os;.Σε αυτή την ενότητα θα βρείτε: :Η ενότητα Πως
δουλεύουν τα Φίλτρα, προσπαθεί να δώσει μια γενική άποψη
για τις αρμοδιότητες των φίλτρων στις διεργασίες εκτύπωσης. Θα
πρέπει να διαβάσετε αυτή την ενότητα για να μπορείτε να καταλάβετε
τι πραγματικά συμβαίνει όταν το
LPD χρησιμοποιεί φίλτρα. Αυτές οι
γνώσεις θα σας βοηθήσουν να προλαμβάνετε και να αποσφαλματώνετε
προβλήματα που μπορούν να συμβούν καθώς εγκαθιστάτε όλο και
περισσότερα φίλτρα σε κάθε εκτυπωτή σας.Το LPD αναμένει πως κάθε
εκτυπωτής είναι ικανός, από προεπιλογή, να εκτυπώσει απλό
κείμενο. Αυτό όμως είναι πρόβλημα για εκτυπωτές &postscript;
(ή άλλους που βασίζονται σε γλώσσες προγραμματισμού) οι οποίοι
δεν μπορούν να εκτυπώσουν άμεσα απλό κείμενο. Η ενότητα Συμβατότητα Εργασιών
Απλού Κειμένου σε εκτυπωτές &postscript; σας εξηγεί τι θα
πρέπει να κάνετε για να ξεπεράσετε αυτό το πρόβλημα. Θα πρέπει
να διαβάσετε αυτή την ενότητα αν έχετε εκτυπωτή
&postscript;.Το &postscript; είναι δημοφιλής μορφή εξόδου για πολλά
προγράμματα. Μερικοί άνθρωποι προτιμούν και να γράφουν κατευθείαν
σε κώδικα &postscript;. Δυστυχώς, οι εκτυπωτές &postscript;
έχουν μεγάλο κόστος. Η ενότητα Προσομοίωση &postscript; για
εκτυπωτές που δεν το υποστηρίζουν εξηγεί λεπτομερώς πως
να μετατρέψετε ένα φίλτρο κειμένου για εκτυπωτές ώστε να λαμβάνει
και να τυπώνει δεδομένα &postscript; σε εκτυπωτές που
δεν είναι &postscript;. Θα πρέπει να
διαβάσετε αυτήν την ενότητα αν είστε κάτοχος εκτυπωτή που δεν
υποστηρίζει &postscript;.Η ενότητα Φίλτρα Μετατροπής
περιγράφει μια αυτοματοποιημένη διαδικασία για την μετατροπή
αρχείων ειδικής μορφής, όπως δεδομένα γραφικών ή στοιχειοθεσίας,
σε μια μορφή κατανοητή από τον εκτυπωτή σας. Μετά την ανάγνωση
αυτής της ενότητας, θα πρέπει να είστε σε θέση να ρυθμίσετε τους
εκτυπωτές σας με τέτοιο τρόπο ώστε πληκτρολογώντας
lpr οι χρήστες σας να
μπορούν να εκτυπώσουν δεδομένα troff, ή με
lpr δεδομένα &tex;
DVI, ή με lpr να
εκτυπώνουν εικόνες δεδομένων ράστερ, και ούτω καθεξής. Σας
συμβουλεύουμε να διαβάσετε αυτή την ενότητα.Η ενότητα Φίλτρα
Εξόδου περιγράφει ένα χαρακτηριστικό του
LPD που δεν χρησιμοποιείται συχνά: τα
φίλτρα εξόδου. Μπορείτε να προσπεράσετε αυτή την ενότητα, εκτός
αν τυπώνετε σελίδες κεφαλίδας (δείτε τις Σελίδες Κεφαλίδας).Η ενότητα lpf: ένα
Φίλτρο Κειμένου περιγράφει το lpf, ένα
πραγματικά πλήρες, αν και απλό, φίλτρο κειμένου για εκτυπωτές
γραμμής (και εκτυπωτές laser που μπορούν να λειτουργήσουν και ως
εκτυπωτές γραμμής) που περιέχεται στο &os;. Αν χρειάζεστε ένα
γρήγορο τρόπο για να κάνετε την καταμέτρηση σελίδων να δουλεύει
σε απλό κείμενο, ή αν έχετε κάποιον εκτυπωτή που βγάζει καπνούς
όταν βλέπει χαρακτήρες backspace, θα πρέπει οπωσδήποτε να
εξετάσετε την περίπτωση του lpf.Μπορείτε να βρείτε αντίγραφο των διάφορων scripts που
αναφέρονται παρακάτω, στον κατάλογο /usr/share/examples/printing.Πως Δουλεύουν τα ΦίλτραΌπως αναφέραμε προηγουμένως, φίλτρο είναι ένα εκτελέσιμο
πρόγραμμα που ενεργοποιείται από το LPD
για να χειρίζεται το τμήμα της επικοινωνίας με τον εκτυπωτή που
εξαρτάται από τον τύπο της ίδιας της συσκευής.Όταν το LPD θέλει να εκτυπώσει ένα
αρχείο μιας εργασίας, ξεκινά το πρόγραμμα του φίλτρου. Θέτει ως
standard input του φίλτρου το αρχείο που πρέπει να εκτυπωθεί, ως
standard output τον ίδιο τον εκτυπωτή και ως standard error το
αρχείο αναφοράς σφαλμάτων (αναφέρεται στην ικανότητα
lf του /etc/printcap, ή από
προεπιλογή το /dev/console).troffΤο φίλτρο που θα ξεκινήσει το LPD
καθώς και οι παράμετροι του φίλτρου, εξαρτώνται από το τι έχετε
δηλώσει στο αρχείο /etc/printcap και από το τι
παραμέτρους έχει καθορίσει ο ίδιος ο χρήστης για την εργασία με
την γραμμή εντολής &man.lpr.1;. Για παράδειγμα, αν ο χρήστης
πληκτρολογήσει lpr , το
LPD θα ξεκινήσει το φίλτρο troff, που
υποδηλώνεται με την ικανότητα tf για τον
εκτυπωτή προορισμού. Αν ο χρήστης επιθυμεί να εκτυπώσει απλό
κείμενο, θα ξεκινήσει το φίλτρο if
(αυτό πράγματι ισχύει τις περισσότερες φορές: δείτε τα Φίλτρα Εξόδου για
λεπτομέρειες).Υπάρχουν τρεις τύποι φίλτρων που μπορείτε να προσδιορίσετε στο
/etc/printcap:Το φίλτρο κειμένου, επονομαζόμενο και
ως φίλτρο εισόδου στην τεκμηρίωση του
LPD, χειρίζεται εκτυπώσεις κανονικού
κειμένου. Θεωρήστε το ως το προεπιλεγμένο φίλτρο. Το
LPD αναμένει πως όλοι οι εκτυπωτές,
από προεπιλογή, είναι σε θέση να εκτυπώσουν απλό κείμενο, και
είναι δουλειά του φίλτρου κειμένου να βεβαιωθεί ότι τα
backspaces, τα tabs, και όλοι οι άλλοι ειδικοί χαρακτήρες
δεν πρόκειται να προβληματίσουν τον εκτυπωτή. Εάν βρίσκεστε σε
ένα περιβάλλον όπου θα πρέπει να καταμετρήσετε την χρήση των
εκτυπωτών, το φίλτρο κειμένου θα πρέπει επίσης να καταμετρήσει
τις εκτυπωμένες σελίδες, συνήθως μετρώντας τον αριθμό των
εκτυπωμένων γραμμών και συγκρίνοντας τον με τον αριθμό των
γραμμών που υποστηρίζει ο εκτυπωτής ανά σελίδα. Το φίλτρο
κειμένου ξεκινά με την ακόλουθη λίστα παραμέτρων:
filter-name-c-wwidth-llength-iindent-n login-h hostacct-file
όπου
εμφανίζεται αν η εργασία έχει αποσταλεί με
lpr widthείναι η τιμή από την ικανότητα pw
(πλάτος σελίδας - page width) όπως προσδιορίζεται στο
/etc/printcap, με προεπιλεγμένη
τιμή το 132lengthείναι η τιμή από την ικανότητα pl
(μήκος σελίδας - page length), με προεπιλεγμένη τιμή
το 66indentείναι το μέγεθος της εσοχής (indentation) από το
lpr , με
προεπιλεγμένη τιμή 0loginείναι το καταγεγραμμένο όνομα χρήστη που εκτυπώνει
το αρχείοhostείναι το όνομα του υπολογιστή από τον οποίο
στάλθηκε η εργασίαacct-fileείναι το όνομα του αρχείου καταμέτρησης από την
ικανότητα af.εκτυπώσειςφίλτραΈνα φίλτρο μετατροπής μετατρέπει ένα
αρχείο ειδικής μορφής σε ένα τύπο αρχείου κατάλληλο για εκτύπωση
από τον συγκεκριμένο εκτυπωτή. Για παράδειγμα, τα δεδομένα
στοιχειοθεσίας ditroff δεν μπορούν να εκτυπωθούν κατευθείαν,
αλλά μπορείτε να εγκαταστήσετε ένα φίλτρο μετατροπής αρχείων
ditroff, ώστε να μετατρέψετε τα δεδομένα ditroff σε μια
μορφή που ο εκτυπωτής να μπορεί να αφομοιώσει και να τυπώσει.
Θα μάθετε περισσότερα στην ενότητα Φϊλτρα Μετατροπής.
Τα φίλτρα μετατροπής επίσης χρειάζονται για να κάνετε
αρίθμηση/καταμέτρηση, αν χρειάζεστε καταμέτρηση των εκτυπώσεων
σας. Τα φίλτρα μετατροπής ξεκινούν με τις ακόλουθες
παραμέτρους:
filter-name-xpixel-width-ypixel-height-n login-h hostacct-file
όπου pixel-width είναι η τιμή από την
ικανότητα px (προεπιλεγμένη τιμή 0) και
pixel-height είναι η τιμή από την
ικανότητα py (προεπιλεγμένη τιμή 0).Το φίλτρο εξόδου χρησιμοποιείται μόνον
αν δεν υπάρχει φίλτρο κειμένου, ή αν είναι ενεργοποιημένες οι
σελίδες κεφαλίδας. Διαβάστε τη σχετική ενότητα Φίλτρα Εξόδου, αν και
από την εμπειρία μας μπορούμε να σας πούμε ότι χρησιμοποιούνται
σπάνια. Υπάρχουν μόνο δύο παράμετροι για τα φίλτρα εξόδου:
filter-name-wwidth-llength
οι οποίες είναι πανομοιότυπες με τις παραμέτρους
και των φίλτρων
κειμένου.Τα φίλτρα θα πρέπει επίσης να τερματίζουν
με κάποια από τις ακόλουθες καταστάσεις εξόδου:exit 0Αν το φίλτρο τύπωσε επιτυχώς το αρχείο.exit 1Αν το φίλτρο απέτυχε να τυπώσει το αρχείο, αλλά θέλει το
LPD να προσπαθήσει να εκτυπώσει
το αρχείο ξανά. Το LPD θα
ξεκινήσει ξανά το φίλτρο αν γίνει έξοδος με αυτή την
κατάσταση.exit 2Αν το φίλτρο απέτυχε να εκτυπώσει το αρχείο και δεν θέλει
το LPD να προσπαθήσει ξανά. Το
LPD θα απορρίψει το αρχείο.Το φίλτρο κειμένου που έρχεται με την κανονική έκδοση του
&os;, /usr/libexec/lpr/lpf, εκμεταλλεύεται τις
παραμέτρους πλάτους και μήκους σελίδας για να προσδιορίσει πότε να
αποστείλει το form feed και πως να κάνει καταμέτρηση. Χρησιμοποιεί
τις παραμέτρους για login, host, και αρχείου καταμέτρησης για να
δημιουργήσει τις σχετικές εγγραφές καταμέτρησης.Αν είστε στη διαδικασία επιλογής φίλτρων, ελέγξτε αν είναι
συμβατά με το LPD. Αν είναι συμβατά,
τότε πρέπει να υποστηρίζουν την λίστα παραμέτρων που περιγράψαμε
προηγουμένως. Αν σχεδιάζετε να γράψατε τα δικά σας φίλτρα γενικής
χρήσης, τότε πρέπει να τα κάνετε να υποστηρίζουν την ίδια λίστα
παραμέτρων και κωδικών εξόδου.Συμβατότητα Εργασιών Απλού Κειμένου σε Εκτυπωτές
&postscript;εκτύπωση εργασιώνΑν είστε ο μοναδικός χρήστης του Η/Υ σας και του εκτυπωτή
&postscript; (ή άλλης γλώσσας εκτυπωτών), και είστε σίγουροι πως δεν
πρόκειται να στείλετε ποτέ εκτυπώσεις απλού κειμένου στον εκτυπωτή
σας και πως δεν θα χρησιμοποιήσετε τις υπηρεσίες των διαφόρων
προγραμμάτων σας που θα θελήσουν να στείλουν απλό κείμενο στον
εκτυπωτή σας, τότε δεν χρειάζεται να ασχοληθείτε καθόλου με αυτή την
ενότητα.Αλλά, αν επιθυμείτε να στείλετε τόσο εργασίες &postscript; όσο
και απλού κειμένου στον εκτυπωτή σας, τότε σας προτρέπουμε να
προσθέσετε κάποιες ρυθμίσεις στην εγκατάσταση σας. Για να γίνει
αυτό, θα πρέπει το φίλτρο κειμένου να ανιχνεύει αν η τρέχουσα
εργασία είναι απλό κείμενο ή &postscript;. Όλες οι εργασίες
&postscript; πρέπει να ξεκινούν με %!
(αν ο εκτυπωτής σας χρησιμοποιεί άλλη γλώσσα, συμβουλευθείτε
την τεκμηρίωση του). Αν είναι αυτοί οι πρώτοι δύο χαρακτήρες, τότε
έχουμε &postscript;, και η υπόλοιπη εργασία μπορεί να σταλεί
απευθείας στον εκτυπωτή. Αν δεν είναι αυτοί οι πρώτοι δύο
χαρακτήρες, τότε το φίλτρο θα μετατρέψει το κείμενο σε &postscript;
και θα τυπώσει το αποτέλεσμα.Πως γίνεται αυτό;εκτυπωτέςσειριακοίΑν είστε κάτοχος σειριακού εκτυπωτή, ένας καλός τρόπος για
να γίνει αυτό εφικτό είναι να εγκαταστήσετε το
lprps. Το lprps είναι ένα
φίλτρο εκτύπωσης &postscript; που επικοινωνεί αμφίδρομα με τον
εκτυπωτή. Ενημερώνει το αρχείο κατάστασης του εκτυπωτή με
αναλυτικές πληροφορίες, ώστε οι χρήστες και οι διαχειριστές να
μπορούν να δουν επακριβώς ποια είναι η κατάσταση του εκτυπωτή
(όπως χαμηλή στάθμη toner ή
πρόβλημα χαρτιού). Ακόμη πιο σημαντικό
είναι πως περιέχει το πρόγραμμα psif που
ανιχνεύει αν η εισερχόμενη εργασία είναι απλού κειμένου και καλεί το
textps (ένα άλλο πρόγραμμα που περιέχεται στο
lprps) να το μετατρέψει σε &postscript;. Τέλος
χρησιμοποιείται το lprps για να αποστείλει την
εργασία στον εκτυπωτή.Το lprps είναι μέρος της Συλλογής των Ports
του &os; (δείτε Η Συλλογή των Ports).
Φυσικά, μπορείτε να το κατεβάσετε, να το μεταγλωττίσετε και να το
εγκαταστήσετε μόνοι σας. Μετά την εγκατάσταση του
lprps, απλά προσδιορίστε τη διαδρομή προς το
πρόγραμμα psif που είναι μέρος του
lprps. Αν εγκαταστήσατε το
lprps από την Συλλογή των Ports, τότε για τον
σειριακό σας εκτυπωτή &postscript; χρησιμοποιήστε την ακόλουθη
καταχώριση στο αρχείο /etc/printcap::if=/usr/local/libexec/psif:Θα πρέπει επίσης να καθορίσετε την ικανότητα
rw η οποία ορίζει ότι το
LPD θα χειρίζεται τον εκτυπωτή σε
κατάσταση ανάγνωσης και εγγραφής.Αν έχετε παράλληλο εκτυπωτή &postscript; (και για το λόγο αυτό
δεν μπορείτε να χρησιμοποιήσετε αμφίδρομη επικοινωνία με τον
εκτυπωτή, όπως απαιτείται από το lprps), μπορείτε
να χρησιμοποιήσετε το ακόλουθο shell script ως φίλτρο
κειμένου:#!/bin/sh
#
# psif - Print PostScript or plain text on a PostScript printer
# Script version; NOT the version that comes with lprps
# Installed in /usr/local/libexec/psif
#
IFS="" read -r first_line
first_two_chars=`expr "$first_line" : '\(..\)'`
if [ "$first_two_chars" = "%!" ]; then
#
# PostScript job, print it.
#
echo "$first_line" && cat && printf "\004" && exit 0
exit 2
else
#
# Plain text, convert it, then print it.
#
( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0
exit 2
fiΣτο παραπάνω script, το textps είναι ένα
πρόγραμμα που εγκαταστήσαμε ξεχωριστά για να μετατρέπουμε απλό
κείμενο σε &postscript;. Μπορείτε να χρησιμοποιείτε οποιοδήποτε
πρόγραμμα μετατροπής από κείμενο- σε-&postscript;. Η Συλλογή των
Ports (δείτε Η Συλλογή των Ports)
περιέχει επίσης ένα πλήρες πρόγραμμα μετατροπής
από κείμενο σε &postscript;, το a2ps που ίσως
επιθυμείτε να διερευνήσετε.Προσομοίωση &postscript; για Εκτυπωτές που δεν το
ΥποστηρίζουνPostScriptπροσομοίωσηGhostscriptΤο &postscript; είναι το de facto πρότυπο
για στοιχειοθεσία και εκτύπωση υψηλής ποιότητας. Ωστόσο, το
&postscript; είναι κάπως δαπανηρό πρότυπο.
Ευτυχώς, η Aladdin Enterprises παρέχει ένα παρεμφερές ελεύθερο
&postscript; που ονομάζεται Ghostscript
και δουλεύει άψογα στο &os;. Το Ghostscript διαβάζει τα περισσότερα
αρχεία &postscript; και μπορεί να αποδώσει τις σελίδες τους σε
μεγάλη γκάμα συσκευών, συμπεριλαμβάνοντας πολλούς τύπους εκτυπωτών
που δεν υποστηρίζουν &postscript;. Εγκαθιστώντας το
Ghostscript και χρησιμοποιώντας ένα
ειδικό φίλτρο κειμένου για τον εκτυπωτή σας, μπορείτε να κάνετε τον
κοινό εκτυπωτή σας να λειτουργεί σαν ένας πραγματικός εκτυπωτής
&postscript;.Το Ghostscript βρίσκεται στην
Συλλογή των Ports του &os;, και μάλιστα σε πολλές εκδόσεις. Η πιο
διαδεδομένη είναι το print/ghostscript-gpl.Για να κάνετε προσομοίωση &postscript;, πρέπει το φίλτρο
κειμένου να ανιχνεύσει αν εκτυπώνετε αρχείο &postscript;. Εάν όχι,
τότε το φίλτρο θα περάσει το αρχείο κατευθείαν στον εκτυπωτή.
Διαφορετικά, θα χρησιμοποιήσει το
Ghostscript για να μετατρέψει
αρχικά το αρχείο σε ένα τύπο που θα καταλαβαίνει ο εκτυπωτής.Ιδού ένα παράδειγμα: το ακόλουθο script είναι ένα φίλτρο
κειμένου για εκτυπωτές Hewlett Packard DeskJet 500. Για άλλους
εκτυπωτές, αντικαταστήστε το όρισμα στην
εντολή gs
(Ghostscript). (Πληκτρολογήστε
gs για να δείτε την λίστα
συσκευών που υποστηρίζει η τρέχουσα εγκατάσταση του
Ghostscript.)#!/bin/sh
#
# ifhp - Print Ghostscript-simulated PostScript on a DeskJet 500
# Installed in /usr/local/libexec/ifhp
#
# Treat LF as CR+LF (to avoid the "staircase effect" on HP/PCL
# printers):
#
printf "\033&k2G" || exit 2
#
# Read first two characters of the file
#
IFS="" read -r first_line
first_two_chars=`expr "$first_line" : '\(..\)'`
if [ "$first_two_chars" = "%!" ]; then
#
# It is PostScript; use Ghostscript to scan-convert and print it.
#
/usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \
-sOutputFile=- - && exit 0
else
#
# Plain text or HP/PCL, so just print it directly; print a form feed
# at the end to eject the last page.
#
echo "$first_line" && cat && printf "\033&l0H" &&
exit 0
fi
exit 2Τέλος, χρειάζεται να ενημερώσετε το
LPD για το φίλτρο με την ικανότητα
if::if=/usr/local/libexec/ifhp:Αυτό είναι όλο. Μπορείτε να πληκτρολογήσετε
lpr plain.text και
lpr whatever.ps και τα δύο θα εκτυπωθούν επιτυχώς.Φίλτρα ΜετατροπήςΤο επόμενο βήμα μετά την ολοκλήρωση της απλής εγκατάστασης που
περιγράψαμε στις Βασικές Ρυθμίσεις
Εκτυπωτών, είναι συνήθως η εγκατάσταση φίλτρων μετατροπής
για τους τύπους αρχείων που προτιμάτε (εκτός από απλό κείμενο
ASCII).Γιατί να εγκαταστήσετε Φίλτρα Μετατροπής;&tex;εκτύπωση αρχείων DVIΤα φίλτρα μετατροπής κάνουν την εκτύπωση διαφόρων τύπων
αρχείων εύκολη υπόθεση. Για παράδειγμα, ας υποθέσουμε ότι έχουμε
να κάνουμε αρκετή εργασία με το σύστημα στοιχειοθεσίας &tex;, και
ότι έχουμε εκτυπωτή &postscript;. Κάθε φορά που δημιουργούμε ένα
αρχείο DVI με το &tex;, δεν μπορούμε να εκτυπώσουμε κατευθείαν έως
ότου να μετατρέψουμε το αρχείο DVI σε &postscript;. Η ακολουθία
εντολών που πρέπει να ακολουθήσουμε είναι:&prompt.user; dvips seaweed-analysis.dvi
&prompt.user; lpr seaweed-analysis.psΜε την χρήση ενός φίλτρου μετατροπής για αρχεία DVI, μπορούμε
να αποφύγουμε την μετατροπή που πρέπει να κάνουμε κάθε φορά
χειροκίνητα, καλώντας το LPD να κάνει
τη δουλειά για μας. Τώρα, κάθε φορά που έχουμε ένα αρχείο DVI,
για να το τυπώσουμε χρειάζεται μόνο ένα βήμα:&prompt.user; lpr seaweed-analysis.dviΈχουμε αναθέσει στο LPD να κάνει τη
μετατροπή του αρχείου DVI προσθέτοντας του την επιλογή
. Η ενότητα Επιλογές Μορφοποίησης και
Μετατροπής περιέχει τους πίνακες επιλογής
μετατροπών.Για κάθε επιλογή μετατροπής που θέλετε να υποστηρίζετε από
ένα εκτυπωτή, πρέπει να εγκαταστήσετε ένα
φίλτρο μετατροπής και να ορίσετε την
διαδρομή του στο αρχείο /etc/printcap. Ένα
φίλτρο μετατροπής είναι σαν το φίλτρο κειμένου στην απλή
εγκατάσταση εκτυπωτή (δείτε την ενότητα Εγκατάσταση Φίλτρου
Κειμένου) με μόνη διαφορά πως αντί το φίλτρο να
εκτυπώνει απλό κείμενο, μετατρέπει το αρχείο σε μια διαφορετική
μορφή ώστε να είναι κατανοητό από τον εκτυπωτή.Ποιο Φίλτρο Μετατροπής θα Πρέπει να Εγκαταστήσω;Θα πρέπει να εγκαθιστάτε τα φίλτρα μετατροπής που νομίζετε
πως θα χρησιμοποιήσετε. Αν εκτυπώνετε αρκετά δεδομένα DVI, τότε
είναι λογικό να συμπεριλάβετε ένα φίλτρο μετατροπής DVI. Αν
εκτυπώνετε συχνά δεδομένα troff, θα θέλετε να εγκαταστήσετε ένα
φίλτρο troff.Ο ακόλουθος πίνακας συνοψίζει τα φίλτρα με τα οποία
συνεργάζεται το LPD, τις καταχωρίσεις
της αντίστοιχης ικανότητας στο αρχείο
/etc/printcap, και πως να τις καλέσετε μέσω
της εντολής lpr:Τύπος αρχείουΙκανότητα /etc/printcapΠαράμετρος εντολής lprcifplotcfDVIdfplotgfditroffnfFORTRAN textrftrofftfrastervfplain textifnone, , or
Στο παράδειγμα μας, αν χρησιμοποιήσουμε
lpr σημαίνει ότι ο
εκτυπωτής χρειάζεται την ικανότητα df στην
καταχώριση του στο /etc/printcap.FORTRANΑν και κάποιοι μπορεί να ισχυριστούν το αντίθετο, μερικοί
τύποι αρχείων όπως είναι τα κείμενα και γραφικά FORTRAN είναι
ξεπερασμένα. Μπορείτε να δώσετε νέα πνοή σε αρχεία αυτού του
τύπου (ή και οποιασδήποτε άλλης μορφής εξόδου), εγκαθιστώντας
προσαρμοσμένα φίλτρα. Για παράδειγμα, ας υποθέσουμε ότι θα θέλατε
να εκτυπώσετε κατευθείαν αρχεία Printerleaf (αρχεία προερχόμενα
από το πρόγραμμα επιτραπέζιας τυπογραφίας Interleaf), αλλά δεν
θα εκτυπώσετε ποτέ διαγράμματα (plots). Θα μπορούσατε να
εγκαταστήσετε ένα φίλτρο μετατροπής αρχείων Printerleaf υπό την
ικανότητα gf και να εκπαιδεύσετε τους χρήστες
σας ότι η εντολή lpr
σημαίνει τύπωσε αρχεία Printerleaf.Εγκατάσταση Φίλτρων ΜετατροπώνΑπό τη στιγμή που τα φίλτρα μετατροπής είναι προγράμματα που
δεν ανήκουν στο βασικό σύστημα εγκατάστασης του &os;, είναι πιο
σωστό να εγκατασταθούν στον κατάλογο
/usr/local. Ένας συνήθης
προορισμός των προγραμμάτων αυτών είναι ο κατάλογος
/usr/local/libexec, μια
που πρόκειται για εξειδικευμένα προγράμματα που εκτελούνται μόνο
από το LPD. Οι απλοί χρήστες δεν θα
χρειαστεί ποτέ να τα εκτελέσουν.Για να ενεργοποιήσετε ένα φίλτρο μετατροπής, προσδιορίστε τη
διαδρομή του στο αρχείο /etc/printcap,
αλλάζοντας την κατάλληλη ικανότητα στον εκτυπωτή που επιθυμείτε
να το χρησιμοποιήσετε.Στο παράδειγμα μας, θα προσθέσουμε το φίλτρο μετατροπής DVI
στην καταχώριση μας για τον εκτυπωτή με το όνομα
bamboo. Ακολουθεί, λοιπόν, το παράδειγμα
για το αρχείο /etc/printcap, με την νέα
ικανότητα df για τον εκτυπωτή
bamboo:#
# /etc/printcap for host rose - added df filter for bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:\
:lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:Το φίλτρο DVI είναι ένα shell script που ονομάζεται
/usr/local/libexec/psdf, το οποίο και
παραθέτουμε παρακάτω:#!/bin/sh
#
# psdf - DVI to PostScript printer filter
# Installed in /usr/local/libexec/psdf
#
# Invoked by lpd when user runs lpr -d
#
exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"Αυτό το script τρέχει το dvips σε κατάσταση
φίλτρου (με την παράμετρο ) στην standard
input, από όπου και λαμβάνει την εργασία προς εκτύπωση. Αυτό
ξεκινά το φίλτρο εκτύπωσης &postscript; lprps
(δείτε την ενότητα Συμβατότητα Εργασιών
Απλού Κειμένου σε εκτυπωτές &postscript;) δίνοντας του
και τις παραμέτρους που πέρασε το LPD
στο παραπάνω script. Το lprps θα
χρησιμοποιήσει αυτές τις παραμέτρους για την καταμέτρηση των
εκτυπωμένων σελίδων.Ακόμα μερικά Παραδείγματα Φίλτρων ΜετατροπήςΑπό τη στιγμή που δεν υπάρχει αυτοματοποιημένη μέθοδος για την
εγκατάσταση των φίλτρων μετατροπής, ας μας επιτραπεί να παρέχουμε
μερικά ακόμη παραδείγματα. Μπορείτε να τα χρησιμοποιήσετε σαν
οδηγό για την δημιουργία των δικών σας φίλτρων. Αν νομίζετε πως
είναι κατάλληλα για την περίπτωση σας μπορείτε να τα
χρησιμοποιήσετε και κατευθείαν.Αυτό το παράδειγμα script είναι ένα φίλτρο μετατροπής ράστερ
(αρχείου GIF για την ακρίβεια) για έναν εκτυπωτή Hewlett Packard
LaserJet III-Si:#!/bin/sh
#
# hpvf - Convert GIF files into HP/PCL, then print
# Installed in /usr/local/libexec/hpvf
PATH=/usr/X11R6/bin:$PATH; export PATH
giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \
&& exit 0 \
|| exit 2Δουλεύει ως εξής: μετατρέπει το αρχείο GIF σε ένα γενικό
φορητό τύπο anymap, εν συνεχεία το μετατρέπει σε ένα φορητό τύπο
graymap, έπειτα σε ένα φορητό τύπο bitmap, και τέλος το
μετατρέπει σε δεδομένα συμβατά με PCL για τον LaserJet.Εδώ είναι το αρχείο /etc/printcap με μια
καταχώριση για έναν εκτυπωτή που χρησιμοποιεί το παραπάνω
φίλτρο:#
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
:if=/usr/local/libexec/hpif:\
:vf=/usr/local/libexec/hpvf:Το ακόλουθο script είναι ένα φίλτρο μετατροπής δεδομένων troff
από το σύστημα στοιχειοθεσίας groff για τον εκτυπωτή &postscript;
με όνομα bamboo:#!/bin/sh
#
# pstf - Convert groff's troff data into PS, then print.
# Installed in /usr/local/libexec/pstf
#
exec grops | /usr/local/libexec/lprps "$@"Το παραπάνω script χρησιμοποιεί πάλι το
lprps για να χειριστεί την επικοινωνία με τον
εκτυπωτή. Αν ο εκτυπωτής ήταν σε παράλληλη πόρτα τότε θα είχαμε,
αντιθέτως, χρησιμοποιήσει το ακόλουθο script:#!/bin/sh
#
# pstf - Convert groff's troff data into PS, then print.
# Installed in /usr/local/libexec/pstf
#
exec gropsΕδώ είναι η καταχώριση που χρειάζεται να προσθέσουμε στο
/etc/printcap για να ενεργοποιήσουμε το
φίλτρο::tf=/usr/local/libexec/pstf:Εδώ είναι ένα παράδειγμα που μας επιτρέπει να εκτυπώσουμε
παλαιό κώδικα της FORTRAN. Είναι ένα φίλτρο κειμένου για FORTRAN
για οποιονδήποτε εκτυπωτή μπορεί να εκτυπώσει κατευθείαν απλό
κείμενο. Θα το εγκαταστήσουμε για έναν εκτυπωτή που ονομάζεται
teak:#!/bin/sh
#
# hprf - FORTRAN text filter for LaserJet 3si:
# Installed in /usr/local/libexec/hprf
#
printf "\033&k2G" && fpr && printf "\033&l0H" &&
exit 0
exit 2Και θα προσθέσουμε αυτή τη γραμμή στο
/etc/printcap για να ενεργοποιήσουμε το
φίλτρο για τον εκτυπωτή teak::rf=/usr/local/libexec/hprf:Και ένα τελευταίο κάπως περίπλοκο παράδειγμα: Θα
προσθέσουμε ένα φίλτρο DVI στον εκτυπωτή LaserJet
teak που αναφέραμε προηγούμενα. Καταρχήν το
εύκολο μέρος: αναβαθμίζουμε το /etc/printcap
με την τοποθεσία όπου βρίσκεται το φίλτρο DVI::df=/usr/local/libexec/hpdf:Τώρα, το δύσκολο μέρος: η κατασκευή του φίλτρου. Θα
χρειαστούμε ένα πρόγραμμα μετατροπής από DVI-σε-LaserJet/PCL.
Στην Συλλογή των Ports του &os; (δείτε Συλλογή των Ports) υπάρχει ένα τέτοιο
πρόγραμμα: Το όνομα του πακέτου είναι dvi2xx.
Η εγκατάσταση του πακέτου, μας παρέχει ακριβώς το πρόγραμμα
που χρειαζόμαστε, το dvilj2p, το οποίο
μετατρέπει τον κώδικα DVI σε κώδικα συμβατό με LaserJet IIp,
LaserJet III, και LaserJet 2000.Το dvilj2p κάνει το φίλτρο
hpdf αρκετά περίπλοκο από τη στιγμή που το
dvilj2p δε μπορεί να διαβάσει από το standard
input. Χρειάζεται να δουλέψει με κάποιο όνομα αρχείου. Ακόμη
χειρότερα, το όνομα του αρχείου πρέπει να τελειώνει σε
.dvi κι επομένως η χρήση του
/dev/fd/0 ως standard
input είναι προβληματική. Θα μπορούσαμε να αντιμετωπίσουμε το
πρόβλημα δημιουργώντας (συμβολικούς) δεσμούς με κάποιο προσωρινό
όνομα αρχείου (που να τελειώνει σε .dvi)
για το /dev/fd/0, και με
αυτό τον τρόπο να εξαναγκάσουμε το dvilj2p να
διαβάζει από το standard input.Ακόμη ένα πρόβλημα που προκύπτει είναι το γεγονός πως δεν
μπορούμε να χρησιμοποιήσουμε το
/tmp για τον
προσωρινό δεσμό. Οι συμβολικοί δεσμοί ανήκουν στον χρήστη και
στην ομάδα bin, ενώ το φίλτρο τρέχει σαν
χρήστης daemon. Επίσης στον κατάλογο
/tmp είναι ενεργό το
sticky bit. Το φίλτρο μπορεί να δημιουργήσει το δεσμό, αλλά δεν
θα είναι ικανό να τον εξαλείψει και να τον αφαιρέσει από τη
στιγμή που αυτός θα ανήκει σε διαφορετικό χρήστη.Αντίθετα, το φίλτρο θα φτιάξει το συμβολικό link στον τρέχοντα
κατάλογο, που είναι ο κατάλογος παροχέτευσης (spooling) (και που
προσδιορίζεται από την ικανότητα sd στο
/etc/printcap). Αυτό είναι το τέλειο μέρος
για να δουλεύουν τα φίλτρα, ειδικά λόγω του ότι (μερικές φορές)
υπάρχει περισσότερες ελεύθερος χώρος στο δίσκο στον κατάλογο
παροχέτευσης (spool) από ότι στο
/tmp.Και τελικά, ιδού το φίλτρο:#!/bin/sh
#
# hpdf - Print DVI data on HP/PCL printer
# Installed in /usr/local/libexec/hpdf
PATH=/usr/local/bin:$PATH; export PATH
#
# Define a function to clean up our temporary files. These exist
# in the current directory, which will be the spooling directory
# for the printer.
#
cleanup() {
rm -f hpdf$$.dvi
}
#
# Define a function to handle fatal errors: print the given message
# and exit 2. Exiting with 2 tells LPD to do not try to reprint the
# job.
#
fatal() {
echo "$@" 1>&2
cleanup
exit 2
}
#
# If user removes the job, LPD will send SIGINT, so trap SIGINT
# (and a few other signals) to clean up after ourselves.
#
trap cleanup 1 2 15
#
# Make sure we are not colliding with any existing files.
#
cleanup
#
# Link the DVI input file to standard input (the file to print).
#
ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0"
#
# Make LF = CR+LF
#
printf "\033&k2G" || fatal "Cannot initialize printer"
#
# Convert and print. Return value from dvilj2p does not seem to be
# reliable, so we ignore it.
#
dvilj2p -M1 -q -e- dfhp$$.dvi
#
# Clean up and exit
#
cleanup
exit 0Αυτοματοποιημένες Μετατροπές: Μία Εναλλακτική στα Φίλτρα
ΜετατροπήςΌλα τα φίλτρα μετατροπής μπορεί να πληρούν το περιβάλλον
εκτυπώσεων σας, αλλά υποχρεώνουν τον χρήστη να προσδιορίζει
(στην γραμμή εντολών του &man.lpr.1;) ποιό από αυτά θα
χρησιμοποιηθεί. Αν οι χρήστες σας δεν είναι ιδιαίτερα
εξοικειωμένοι με τους Η/Υ, το να πρέπει να αναφέρουν κάθε φορά
ένα φίλτρο πιθανώς να είναι ενοχλητικό. Είναι ακόμα χειρότερο
ωστόσο να γίνει λανθασμένη επιλογή φίλτρου, το οποίο θα
εκτελεστεί σε ακατάλληλο για αυτό τύπο αρχείου, και θα προκαλέσει
την σπατάλη εκατοντάδων σελίδων χαρτιού.Αντί να εγκαταστήσετε οποιοδήποτε φίλτρο μετατροπής, μπορεί να
θέλετε να δοκιμάσετε να έχετε ένα φίλτρο κειμένου (αφού είναι
το προεπιλεγμένο φίλτρο) που να ανιχνεύει τον τύπο του αρχείου
που έχει ζητηθεί να εκτυπωθεί και να εκτελεί αυτόματα το
κατάλληλο φίλτρο μετατροπής. Εργαλεία σαν το
file μπορούν να σας βοηθήσουν. Μπορεί να
είναι δύσκολο να προσδιοριστούν οι διαφορές μεταξύ
κάποιων τύπων αρχείων—αλλά, φυσικά,
μπορείτε πάντα να παρέχετε φίλτρα μετατροπής ειδικά για αυτές τις
περιπτώσεις.apsfilterprintingfiltersapsfilterΗ Συλλογή των Ports του &os; έχει ένα φίλτρο κειμένου που
εκτελεί αυτόματες μετατροπές και ονομάζεται
apsfilter. Μπορεί να ανιχνεύει απλό κείμενο,
&postscript;, DVI και σχεδόν οποιοδήποτε τύπο αρχείου, να εκτελεί
την κατάλληλη μετατροπή, και να εκτυπώνει.Φίλτρα ΕξόδουΤο σύστημα παροχέτευσης LPD
υποστηρίζει έναν ακόμη τύπο φίλτρου που ίσως να μην έχετε
εξερευνήσει ακόμα: το φίλτρο εξόδου. Το φίλτρο εξόδου προορίζεται
μόνο για εκτύπωση απλού κειμένου, όπως το φίλτρο κειμένου, αλλά με
πολλές απλοποιήσεις. Εάν χρησιμοποιείτε φίλτρο εξόδου αλλά όχι
φίλτρο κειμένου, τότε:Το LPD ξεκινά ένα φίλτρο εξόδου
μόνο μια φορά για όλη την εργασία, αντί ένα χωριστό για κάθε
αρχείο της εργασίας.Το LPD δεν φροντίζει να
αναγνωρίσει την αρχή ή το τέλος των αρχείων μέσα στην ίδια την
εργασία όταν χρησιμοποιείται το φίλτρο εξόδου.Το LPD δεν περνάει στο φίλτρο τα
δεδομένα εισόδου του χρήστη ή το όνομα του μηχανήματος, επομένως
δεν προορίζεται για καταμέτρηση εκτυπωμένων σελίδων. Το φίλτρο
εξόδου δέχεται μόνος τις παραμέτρους:filter-name-wwidth-llengthΌπου το width είναι από την
ικανότητα pw και το
length είναι από την ικανότητα
pl για τον συγκεκριμένο εκτυπωτή.Μην παρασύρεστε από την απλότητα του φίλτρου εξόδου. Αν
επιθυμείτε κάθε αρχείο μιας εργασίας να ξεκινά σε μια νέα σελίδα,
το φίλτρο εξόδου δεν κάνει για σας.
Χρησιμοποιήστε ένα φίλτρο κειμένου (γνωστό και ως φίλτρο εισόδου).
Δείτε την ενότητα Εγκατάσταση
Φίλτρου Κειμένου. Επιπλέον, ένα φίλτρο εξόδου είναι στην
πραγματικότητα πιο περίπλοκο αφού πρέπει να
εξετάζει την ροή των byte που αποστέλλεται προς αυτό για ειδικούς
χαρακτήρες flag και πρέπει να στέλνει σήματα στον εαυτό
του για λογαριασμό του LPD.Ωστόσο, ένα φίλτρο εξόδου είναι αναγκαίο
αν θέλετε σελίδες κεφαλίδας και χρειάζεται να στέλνετε ακολουθίες
διαφυγής ή άλλες ακολουθίες αρχικοποίησης προκειμένου να τις
εκτυπώσετε. (Αλλά είναι επίσης μάταιο αν
θέλετε να χρεώνετε σελίδες κεφαλίδας στον λογαριασμό του αντίστοιχου
χρήστη, από τη στιγμή που το LPD δεν
στέλνει καμιά πληροφορία για τον χρήστη ή τον υπολογιστή στο φίλτρο
εξόδου.)Το LPD επιτρέπει την συνύπαρξη
ενός φίλτρου εξόδου και άλλων φίλτρων (κειμένου ή διαφορετικού
τύπου) στον ίδιο εκτυπωτή. Σε αυτές τις περιπτώσεις, το
LPD θα ξεκινά το φίλτρο εξόδου μόνο για
την εκτύπωση της σελίδας κεφαλίδας (δείτε την ενότητα Σελίδες
Κεφαλίδας). Το LPD θα αναμένει
το φίλτρο εξόδου να σταματήσει από μόνο του
όταν του στείλει δύο bytes: ένα ASCII 031 ακολουθούμενο από ένα
ASCII 001. Όταν ένα φίλτρο εξόδου βλέπει αυτά τα δύο bytes (031,
001), θα πρέπει να σταματά στέλνοντας σήμα
SIGSTOP στον εαυτό του. Όταν το
LPD ολοκληρώσει την εκτέλεση και των
υπολοίπων φίλτρων, θα επανεκκινήσει το φίλτρο εξόδου στέλνοντας
του το σήμα SIGCONT.Αν υπάρχει φίλτρο εξόδου, αλλά δεν υπάρχει
φίλτρο κειμένου και το LPD δουλεύει σε
εργασία απλού κειμένου, το LPD
χρησιμοποιεί το φίλτρο εξόδου για την εκτέλεση της εργασίας. Όπως
αναφέραμε και παραπάνω, το φίλτρο εξόδου θα εκτυπώσει κάθε αρχείο
εργασίας στη σειρά, δίχως δυνατότητα παρεμβολής κενής σελίδας ή
άλλων ρυθμίσεων στην τροφοδοσία χαρτιού, και πιθανώς αυτό να
μην είναι επιθυμητό. Σχεδόν σε όλες τις
περιπτώσεις, θα χρειαστείτε ένα φίλτρο κειμένου.Το πρόγραμμα lpf, που αναφέραμε νωρίτερα σαν
φίλτρο κειμένου, μπορεί να τρέξει και σαν φίλτρο εξόδου. Αν
χρειάζεστε ένα γρήγορο φίλτρο εξόδου αλλά δεν θέλετε να γράψετε τον
κώδικα ανίχνευσης των byte και τον κώδικα αποστολής σημάτων,
δοκιμάστε το lpf. Μπορείτε επίσης να
χρησιμοποιήσετε το lpf μέσα από ένα shell script
το οποίο θα χειρίζεται τους κωδικούς αρχικοποίησης που ίσως να
χρειάζεται ο εκτυπωτής.lpf: ένα Φίλτρο ΚειμένουΤο πρόγραμμα /usr/libexec/lpr/lpf που
παρέχεται με τη διανομή εκτελέσιμων του &os; είναι ένα φίλτρο
κειμένου (φίλτρο εισόδου) που μπορεί να παραγραφοποιεί την έξοδο
(εργασίες που έχουν σταλεί με
lpr ), να
επιτρέπει την διέλευση literal χαρακτήρων (εργασίες που έχουν
σταλεί με lpr ), να ρυθμίζει
την θέση εκτύπωσης με τη χρήση χαρακτήρων backspace και tab στην
εργασία, και να κάνει καταμέτρηση των εκτυπωμένων σελίδων. Επίσης
μπορεί να ενεργεί και σαν φίλτρο εξόδου.Το lpf είναι κατάλληλο για διάφορα
περιβάλλοντα εκτύπωσης. Αν και δεν έχει δυνατότητα αποστολής
ακολουθιών αρχικοποίησης στον εκτυπωτή, είναι εύκολο να γράψετε
ένα shell script για να κάνετε την απαραίτητη αρχικοποίηση και
να εκτελέσετε έπειτα το lpf.καταμέτρηση σελίδωνκαταμέτρησηεκτυπωτήςΓια να κάνει σωστά καταμέτρηση σελίδων, το
lpf χρειάζεται κατάλληλες τιμές για τις
ικανότητες pw και pl στο
αρχείο /etc/printcap. Χρησιμοποιεί αυτές τις
τιμές για να προσδιορίσει πόσο κείμενο μπορεί να χωρέσει σε μία
σελίδα και από πόσες σελίδες αποτελείται η εργασία του χρήστη. Για
περισσότερες πληροφορίες σχετικά με την καταμέτρηση σελίδων,
συμβουλευτείτε την Καταμέτρηση Χρήσης Εκτυπωτών.Σελίδες ΚεφαλίδαςΑν έχετε αρκετούς χρήστες, και όλοι τους
χρησιμοποιούν διάφορους εκτυπωτές, τότε πιθανώς να θεωρείτε τις
σελίδες κεφαλίδας ως αναγκαίο κακό.σελίδες bannerσελίδες κεφαλίδαςσελίδες κεφαλίδαςΟι σελίδες κεφαλίδας, γνωστές επίσης και ως
banner ή σελίδες burst
αναγνωρίζουν σε ποιον ανήκουν οι εργασίες μετά την εκτύπωση τους.
Συνήθως τυπώνονται με μεγάλα, έντονα γράμματα, και ίσως με
διακοσμητικά περιγράμματα, ώστε σε μια στοίβα εκτυπώσεων να
ξεχωρίζουν από τα πραγματικά έγγραφα εργασιών των χρηστών.
Επιτρέπουν έτσι στους χρήστες να βρίσκουν γρήγορα τις εργασίες τους.
Το προφανές μειονέκτημα σε μια σελίδα κεφαλίδας είναι πως πρόκειται
να εκτυπωθεί μια ακόμα σελίδα για κάθε μία εργασία. Η εφήμερη
χρησιμότητα τους διαρκεί λίγα λεπτά, και ο προορισμός τους είναι ο
κάδος αχρήστων/ανακύκλωσης. (Παρατηρήστε πως οι σελίδες κεφαλίδας
είναι ανά εργασία, και όχι ανά αρχείο σε μια εργασία, επομένως το
αχρηστευμένο χαρτί ίσως να μην είναι τόσο πολύ).Το σύστημα LPD μπορεί να παρέχει
αυτόματα σελίδες κεφαλίδας για τις εκτυπώσεις σας,
αν ο εκτυπωτής σας μπορεί να εκτυπώσει άμεσα
απλό κείμενο. Αν έχετε εκτυπωτή &postscript;, θα χρειαστείτε ένα
εξωτερικό πρόγραμμα για να δημιουργήσετε την σελίδα κεφαλίδας. Δείτε
το Σελίδες
Κεφαλίδας σε Εκτυπωτές &postscript;.Ενεργοποίηση Σελίδων ΚεφαλίδαςΣτην ενότητα Βασικές Ρυθμίσεις
Εκτυπωτών, απενεργοποιήσαμε τις σελίδες κεφαλίδας
με την καταχώριση sh (σημαίνει suppress
header) στο αρχείο /etc/printcap.
Για να ενεργοποιήσετε τις σελίδες κεφαλίδας για κάποιον εκτυπωτή,
απλά αφαιρέστε την ικανότητα sh.Ακούγεται εύκολο, δεν νομίζετε;Έτσι είναι. Ίσως χρειαστεί να παρέχετε ένα
φίλτρο εξόδου για να στείλετε εντολές αρχικοποίησης στον εκτυπωτή.
Εδώ είναι ένα παράδειγμα φίλτρου εξόδου για εκτυπωτές συμβατούς με
τον τύπο PCL της Hewlett Packard:#!/bin/sh
#
# hpof - Output filter for Hewlett Packard PCL-compatible printers
# Installed in /usr/local/libexec/hpof
printf "\033&k2G" || exit 2
exec /usr/libexec/lpr/lpfΠροσδιορίστε την διαδρομή προς το φίλτρο εξόδου στην ικανότητα
of. Δείτε την ενότητα Φίλτρα Εξόδου για
περισσότερες πληροφορίες.Εδώ είναι ένα παράδειγμα αρχείου
/etc/printcap για τον εκτυπωτή
teak από το προηγούμενο παράδειγμα.
Ενεργοποιήσαμε τις σελίδες κεφαλίδας και προσθέσαμε το παραπάνω
φίλτρο εξόδου:#
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
:if=/usr/local/libexec/hpif:\
:vf=/usr/local/libexec/hpvf:\
:of=/usr/local/libexec/hpof:Τώρα, όταν οι χρήστες εκτυπώνουν εργασίες στον
teak, θα παίρνουν και μία σελίδα κεφαλίδας ανά
εργασία. Αν οι χρήστες θέλουν να ξοδεύουν χρόνο ψάχνοντας για
τις εκτυπώσεις τους, μπορούν να παρεμποδίσουν τις σελίδες κεφαλίδας
αποστέλλοντας τις εργασίες τους με
lpr . Δείτε την ενότητα
Επιλογές Σελίδων
Κεφαλίδας για περισσότερες επιλογές του &man.lpr.1;.Το LPD στέλνει το χαρακτήρα
αλλαγής σελίδας (form feed) αμέσως μετά τη σελίδα κεφαλίδας. Αν
ο εκτυπωτής σας χρησιμοποιεί διαφορετικό χαρακτήρα ή ακολουθία
χαρακτήρων για την αλλαγή σελίδας, προσδιορίστε τα με την
ικανότητα ff στο αρχείο
/etc/printcap.Έλεγχος Σελίδων Κεφαλίδας Μετά την ενεργοποίηση των σελίδων κεφαλίδας, το
LPD θα παράγει μία επιμήκη
κεφαλίδα, μία ολόκληρη σελίδα με μεγάλα γράμματα που
προσδιορίζει τον χρήστη, τον υπολογιστή (host), και την εργασία.
Εδώ είναι ένα παράδειγμα (η kelly εκτύπωσε την
εργασία με όνομα outline από τον υπολογιστή
rose): k ll ll
k l l
k l l
k k eeee l l y y
k k e e l l y y
k k eeeeee l l y y
kk k e l l y y
k k e e l l y yy
k k eeee lll lll yyy y
y
y y
yyyy
ll
t l i
t l
oooo u u ttttt l ii n nnn eeee
o o u u t l i nn n e e
o o u u t l i n n eeeeee
o o u u t l i n n e
o o u uu t t l i n n e e
oooo uuu u tt lll iii n n eeee
r rrr oooo ssss eeee
rr r o o s s e e
r o o ss eeeeee
r o o ss e
r o o s s e e
r oooo ssss eeee
Job: outline
Date: Sun Sep 17 11:04:58 1995Το LPD προσθέτει μια εντολή αλλαγής
σελίδας (form feed) μετά από αυτό το κείμενο έτσι ώστε η
εργασία να ξεκινήσει σε νέα σελίδα (εκτός αν έχετε προσδιορίσει την
ικανότητα sf (suppress form feeds) για τον
εκτυπωτή στο αρχείο /etc/printcap).Αν προτιμάτε, το LPD μπορεί να
φτιάξει μια μικρότερου μήκους κεφαλίδα.
Προσδιορίστε sb (short banner) στο αρχείο
/etc/printcap. Η σελίδα κεφαλίδας θα μοιάζει
σαν αυτή:rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995Το LPD τυπώνει (από προεπιλογή)
πρώτα την σελίδα κεφαλίδας, και μετά την εργασία. Για να
αντιστρέψετε την σειρά, χρησιμοποιήστε την ικανότητα
hl (header last) στο αρχείο
/etc/printcap.Καταμέτρηση με Σελίδες ΚεφαλίδαςΗ χρήση των προεγκατεστημένων σελίδων κεφαλίδας του
LPD ουσιαστικά υποχρεώνουν την τήρηση
του παρακάτω κανόνα όταν κάνουμε καταμέτρηση χρήσης του εκτυπωτή:
Οι σελίδες κεφαλίδας πρέπει να διατίθενται ελεύθερα (δίχως
χρέωση).Γιατί;Διότι το φίλτρο εξόδου είναι το μοναδικό εξωτερικό πρόγραμμα
που έχει τον έλεγχο στην εκτύπωση της κεφαλίδας και θα μπορούσε να
κάνει καταμέτρηση, αλλά ωστόσο δεν παρέχει καμία πληροφορία για
τον χρήστη ή τον υπολογιστή ή κάποιο άλλο
αρχείο καταμέτρησης, επομένως δεν γνωρίζει σε ποιόν να αποδώσει
την χρήση του εκτυπωτή. Δεν αρκεί απλά να προσθέσετε μία
ακόμη σελίδα στην καταμέτρηση τροποποιώντας το φίλτρο
κειμένου ή οποιοδήποτε άλλο φίλτρο μετατροπής (το οποίο διαθέτει τις
πληροφορίες χρήστη και υπολογιστή), από τη στιγμή που οι χρήστες
έχουν την δυνατότητα να παρεμποδίσουν τις σελίδες κεφαλίδας με
lpr . Θα μπορούσαν πάλι να
χρεωθούν για σελίδες κεφαλίδας που δεν εκτύπωσαν. Βασικά, η
lpr θα είναι η προτιμώμενη
επιλογή σε ένα περιβάλλον που οι χρήστες έχουν οικολογική
συνείδηση, αλλά δεν μπορείτε πραγματικά να παροτρύνετε οποιονδήποτε
να τη χρησιμοποιήσει.Δεν είναι αρκετό απλά κάθε φίλτρο σας να
δημιουργεί τη δικιά του σελίδα κεφαλίδας (έτσι ώστε να μπορεί να
χρεώνει με αυτό τον τρόπο). Αν οι χρήστες επιθυμούν την επιλογή
παρεμπόδισης των σελίδων κεφαλίδας με
lpr , θα συνεχίσουν να τις
παραλαμβάνουν - και να χρεώνονται για αυτές - αφού το
LPD δεν έχει δυνατότητα να
περάσει σε οποιοδήποτε φίλτρο την επιλογή
.Επομένως, ποιες επιλογές έχετε;Μπορείτε:Να αποδεχθείτε την υπόδειξη του
LPD και να παρέχετε τις σελίδες
κεφαλίδας ελεύθερα.Να εγκαταστήσετε εναλλακτικές λύσεις αντί του
LPD, όπως το
LPRng. Η ενότητα Εναλλακτικές Λύσεις για
τον Στάνταρ Spooler δίνει περισσότερες πληροφορίες
για άλλες εφαρμογές παροχέτευσης που μπορείτε να
χρησιμοποιήσετε αντί για το
LPD.Να γράψετε ένα έξυπνο φίλτρο εξόδου.
Υπό κανονικές συνθήκες, ένα "φίλτρο εξόδου" δεν κάνει τίποτε
παραπάνω από την αρχικοποίηση ενός εκτυπωτή ή μερικές απλές
μετατροπές χαρακτήρων. Είναι κατάλληλο για σελίδες κεφαλίδας
και για εργασίες απλού κειμένου (όταν δεν υπάρχει φίλτρο
(εισόδου) κειμένου). Αλλά αν υπάρχει φίλτρο κειμένου για
εργασίες απλού κειμένου, τότε το
LPD θα ενεργοποιεί το φίλτρο εξόδου
μόνο για τις σελίδες κεφαλίδας. Και το φίλτρο εξόδου μπορεί να
αναλύει το κείμενο της σελίδας κεφαλίδας που δημιουργεί το
LPD για να προσδιορίζει τον χρήστη
και τον υπολογιστή, ώστε να χρεώνει τις σελίδες κεφαλίδας.
Το μόνο επιπλέον πρόβλημα με αυτή τη μέθοδο είναι πως το φίλτρο
εξόδου εξακολουθεί να μη γνωρίζει ποιό αρχείο καταμέτρησης να
χρησιμοποιήσει (δεν του έχει δοθεί το όνομα του αρχείου από την
ικανότητα af), αλλά αν το όνομα του αρχείου
σας είναι γνωστό, μπορείτε να το ενσωματώσετε απευθείας στον
κώδικα του φίλτρου εξόδου. Για να διευκολύνετε την διαδικασία
ανάλυσης, χρησιμοποιήστε την ικανότητα sh
(short header) στο /etc/printcap. Ίσως
πάλι όλα αυτά να είναι υπερβολικά κοπιαστικά, ενώ είναι σίγουρο
πως οι χρήστες θα εκτιμήσουν τον γενναιόδωρο διαχειριστή
συστήματος που επιτρέπει ελεύθερα τις σελίδες κεφαλίδας.Σελίδες Κεφαλίδας σε Εκτυπωτές &postscript;Όπως περιγράψαμε παραπάνω, το LPD
μπορεί να δημιουργήσει μία σελίδα κεφαλίδας απλού κειμένου,
κατάλληλη για πολλούς εκτυπωτές. Οι εκτυπωτές &postscript;,
φυσικά, δεν μπορούν να τυπώσουν κατευθείαν απλό κείμενο, επομένως
αυτή η δυνατότητα του LPD για τις
σελίδες κεφαλίδας είναι άχρηστη σε αυτή την περίπτωση.Ένας προφανής τρόπος να παρέχονται σελίδες κεφαλίδας είναι να
δημιουργούνται από κάθε φίλτρο μετατροπής και το φίλτρο κειμένου.
Τα φίλτρα θα πρέπει να δέχονται ως παραμέτρους το όνομα του χρήστη
και του υπολογιστή ώστε να δημιουργούν την κατάλληλη σελίδα
κεφαλίδας. Το μειονέκτημα αυτής της μεθόδου είναι πως οι
χρήστες θα εκτυπώνουν πάντα σελίδα κεφαλίδας, ακόμη κι αν
αποστέλλουν την εργασία τους με
lpr .Επιτρέψτε μας να εξερευνήσουμε αυτή τη μέθοδο. Το ακόλουθο
script δέχεται τρεις παραμέτρους (το όνομα χρήστη - login name, το
όνομα του υπολογιστή - host name, και το όνομα εργασίας) και
δημιουργεί μία απλή σελίδα κεφαλίδας &postscript;:#!/bin/sh
#
# make-ps-header - make a PostScript header page on stdout
# Installed in /usr/local/libexec/make-ps-header
#
#
# These are PostScript units (72 to the inch). Modify for A4 or
# whatever size paper you are using:
#
page_width=612
page_height=792
border=72
#
# Check arguments
#
if [ $# -ne 3 ]; then
echo "Usage: `basename $0` <user> <host> <job>" 1>&2
exit 1
fi
#
# Save these, mostly for readability in the PostScript, below.
#
user=$1
host=$2
job=$3
date=`date`
#
# Send the PostScript code to stdout.
#
exec cat <<EOF
%!PS
%
% Make sure we do not interfere with user's job that will follow
%
save
%
% Make a thick, unpleasant border around the edge of the paper.
%
$border $border moveto
$page_width $border 2 mul sub 0 rlineto
0 $page_height $border 2 mul sub rlineto
currentscreen 3 -1 roll pop 100 3 1 roll setscreen
$border 2 mul $page_width sub 0 rlineto closepath
0.8 setgray 10 setlinewidth stroke 0 setgray
%
% Display user's login name, nice and large and prominent
%
/Helvetica-Bold findfont 64 scalefont setfont
$page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto
($user) show
%
% Now show the boring particulars
%
/Helvetica findfont 14 scalefont setfont
/y 200 def
[ (Job:) (Host:) (Date:) ] {
200 y moveto show /y y 18 sub def }
forall
/Helvetica-Bold findfont 14 scalefont setfont
/y 200 def
[ ($job) ($host) ($date) ] {
270 y moveto show /y y 18 sub def
} forall
%
% That is it
%
restore
showpage
EOFΤώρα, καθένα από τα φίλτρα μετατροπής και το φίλτρο κειμένου
μπορούν να καλέσουν το script, πρώτα για να δημιουργήσουν τη σελίδα
κεφαλίδας, και έπειτα για να εκτυπώσουν την εργασία του χρήστη.
Ακολουθεί το φίλτρο μετατροπής DVI που δείξαμε νωρίτερα, ειδικά
διαμορφωμένο για να φτιάξουμε μια σελίδα κεφαλίδας:#!/bin/sh
#
# psdf - DVI to PostScript printer filter
# Installed in /usr/local/libexec/psdf
#
# Invoked by lpd when user runs lpr -d
#
orig_args="$@"
fail() {
echo "$@" 1>&2
exit 2
}
while getopts "x:y:n:h:" option; do
case $option in
x|y) ;; # Ignore
n) login=$OPTARG ;;
h) host=$OPTARG ;;
*) echo "LPD started `basename $0` wrong." 1>&2
exit 2
;;
esac
done
[ "$login" ] || fail "No login name"
[ "$host" ] || fail "No host name"
( /usr/local/libexec/make-ps-header $login $host "DVI File"
/usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_argsΠαρατηρήστε πως το φίλτρο πρέπει να αναλύσει την λίστα
παραμέτρων για να προσδιορίσει το όνομα χρήστη και υπολογιστή. Η
μέθοδος ανάλυσης είναι παρόμοια και για τα υπόλοιπα φίλτρα
μετατροπής. Το φίλτρο κειμένου παίρνει ένα ελαφρώς διαφορετικό
σετ παραμέτρων, (δείτε την ενότητα Πως δουλεύουν τα
Φίλτρα).Όπως αναφέραμε προηγούμενα, ο παραπάνω σχεδιασμός, αν και
πραγματικά απλός, απενεργοποιεί την επιλογή
παρεμπόδισης σελίδων κεφαλίδας (την επιλογή
) του lpr. Αν οι χρήστες
επιθυμούν να σώσουν ένα δέντρο (ή λίγα χρήματα, αν χρεώνετε τις
σελίδες κεφαλίδας), δεν θα υπάρχει τρόπος για να γίνει αυτό, από
τη στιγμή που κάθε εκτύπωση μέσω των φίλτρων θα συνοδεύεται και από
μια σελίδα κεφαλίδας για κάθε εργασία.Για να επιτρέψετε στους χρήστες να απενεργοποιούν τις σελίδες
κεφαλίδας ανά εργασία, θα πρέπει να χρησιμοποιήσετε το τέχνασμα
που παρουσιάσαμε στην ενότητα Καταμέτρηση με
Σελίδες Κεφαλίδας: δηλαδή να γράψετε ένα φίλτρο εξόδου που
να αναλύει την σελίδα κεφαλίδας που δημιουργείται από το
LPD και να κατασκευάζει μια
&postscript; έκδοση. Αν ο χρήστης στείλει μια εργασία με
lpr , τότε ούτε το
LPD, ούτε το φίλτρο εξόδου θα φτιάξουν
σελίδα κεφαλίδας. Σε όλες τις άλλες περιπτώσεις, το φίλτρο εξόδου
θα διαβάζει το κείμενο από το LPD και θα
στέλνει τον κατάλληλο κώδικα &postscript; στον εκτυπωτή ώστε να
εκτυπώνεται η σελίδα κεφαλίδας.Αν έχετε εκτυπωτή &postscript; με σειριακή σύνδεση, μπορείτε να
κάνετε χρήση της lprps, η οποία συνοδεύεται από
ένα φίλτρο εξόδου, το psof, το οποία κάνει τα
παραπάνω. Σημειώστε πως το psof δεν χρεώνει για
τις σελίδες κεφαλίδας.Εκτυπώσεις μέσω Δικτύουεκτυπωτέςδίκτυοεκτυπώσεις μέσω δικτύουΤο &os; υποστηρίζει τις εκτυπώσεις μέσω δικτύου: μπορεί να στείλει
εργασίες σε απομακρυσμένους εκτυπωτές. Η έννοια της δικτυακής
εκτύπωσης αναφέρεται γενικά σε δύο διαφορετικά πράγματα:Πρόσβαση σε εκτυπωτή συνδεδεμένο σε απομακρυσμένο υπολογιστή
(host). Εγκαθιστάτε έναν εκτυπωτή με συμβατική σειριακή ή
παράλληλη σύνδεση σε ένα υπολογιστή. Έπειτα, ρυθμίζετε το
LPD για να ενεργοποιηθεί η πρόσβαση
στον εκτυπωτή από άλλους υπολογιστές του δικτύου. Η ενότητα
Εκτυπωτές
Εγκατεστημένοι σε Απομακρυσμένους Υπολογιστές εξηγεί τις
απαραίτητες ενέργειες.Πρόσβαση σε εκτυπωτή συνδεδεμένο κατευθείαν στο δίκτυο.
Εκτός (ή αντί) της συμβατικής σειριακής ή παράλληλης θύρας, ο
εκτυπωτής πρέπει να έχει επιπρόσθετα μια δικτυακή διασύνδεση.
Ένας τέτοιος εκτυπωτής δουλεύει ως εξής:Μπορεί να καταλαβαίνει το πρωτόκολλο
LPD και να δημιουργεί ουρά
αναμονής για τις εργασίες που προέρχονται από απομακρυσμένους
υπολογιστές. Σε αυτή την περίπτωση, ενεργεί σαν ένας
κανονικός υπολογιστής που εκτελεί το
LPD. Ακολουθήστε την ίδια
διαδικασία με την ενότητα Εκτυπωτές
Εγκατεστημένοι σε Απομακρυσμένους Υπολογιστές για να
εγκαταστήσετε αυτόν τον εκτυπωτή.Μπορεί να υποστηρίζει σύνδεση δικτυακής ροής δεδομένων
(data stream). Σε αυτή την περίπτωση, συνδέετε
τον εκτυπωτή σε έναν υπολογιστή συνδεδεμένο στο δίκτυο, ο
οποίος θα είναι υπεύθυνος για την παροχέτευση των εργασιών
και την αποστολή τους στον εκτυπωτή. Η ενότητα Εκτυπωτές Με
Συνδέσεις Δικτύου δίνει μερικές συμβουλές για την
εγκατάσταση εκτυπωτών αυτού του τύπου.Εκτυπωτές Εγκατεστημένοι σε Απομακρυσμένους ΥπολογιστέςΤο σύστημα παροχέτευσης LPD έχει
ενσωματωμένη υποστήριξη για την αποστολή εργασιών σε άλλους
υπολογιστές που εκτελούν το LPD (ή που
είναι συμβατοί με το LPD). Αυτό το
χαρακτηριστικό σας επιτρέπει να εγκαταστήσετε έναν εκτυπωτή σε ένα
υπολογιστή και να έχετε πρόσβαση σε αυτόν από άλλους. Επίσης
δουλεύει και με εκτυπωτές που έχουν δικτυακές διασυνδέσεις που
καταλαβαίνουν το πρωτόκολλο LPD.Για να ενεργοποιήσετε αυτόν τον τύπο απομακρυσμένης εκτύπωσης,
εγκαταστήστε πρώτα έναν εκτυπωτή σε ένα υπολογιστή, τον
υπολογιστή εκτύπωσης (printer host),
χρησιμοποιώντας την απλή εγκατάσταση εκτυπωτή που περιγράφεται στην
ενότητα Βασικές Ρυθμίσεις Εκτυπωτών.
Κάντε όσες προχωρημένες ρυθμίσεις χρειάζεστε όπως αναφέρεται στις
Ρυθμίσεις Εκτυπωτών για
Προχωρημένους. Ελέγξτε τον εκτυπωτή και δείτε αν δουλεύει
με τα χαρακτηριστικά του LPD που έχετε
ενεργοποιήσει. Επίσης βεβαιωθείτε πως ο
τοπικός υπολογιστής (local host) είναι
εξουσιοδοτημένος να χρησιμοποιεί τις υπηρεσίες του
LPD στον
απομακρυσμένο υπολογιστή (remote host)
(δείτε Παρεμπόδιση
Εργασιών από Απομακρυσμένους Υπολογιστές).εκτυπωτέςδίκτυοδικτυακές εκτυπώσειςΕάν χρησιμοποιείτε εκτυπωτή με δικτυακή διασύνδεση που είναι
συμβατός με το LPD, τότε ο
ο υπολογιστής εκτύπωσης (printer host) είναι ο
εν λόγω εκτυπωτής, και το όνομα του εκτυπωτή
είναι το όνομα που έχετε ορίσει για τον εκτυπωτή. Δείτε την
τεκμηρίωση που συνοδεύει τον εκτυπωτή σας και/ή την κάρτα δικτύου
του.Αν χρησιμοποιείτε Hewlett Packard Laserjet με όνομα εκτυπωτή
text θα γίνονται αυτόματα οι μετατροπές από
LF σε CRLF, επομένως δεν χρειάζεται να τρέξετε το script
hpif.Επομένως, στους υπόλοιπους υπολογιστές όπου επιθυμείτε να έχετε
πρόσβαση στον εκτυπωτή, απλά κάντε μια καταχώριση στο αρχείο
/etc/printcap με τα ακόλουθα στοιχεία:Ονομάστε την καταχώριση όπως επιθυμείτε: Για δική σας
ευκολία πιθανώς να θέλετε να χρησιμοποιήσετε το ίδιο όνομα και
τα ίδια παρωνύμια με αυτά του υπολογιστή εκτύπωσης.Αφήστε την ικανότητα lp κενή, για την
ακρίβεια (:lp=:).Δημιουργήστε ένα κατάλογο spooling και προσδιορίστε την
τοποθεσία του με την ικανότητα sd. Το
LPD θα αποθηκεύει εδώ τις εργασίες
πριν την αποστολή τους στον υπολογιστή εκτύπωσης.Τοποθετήστε το όνομα του υπολογιστή εκτύπωσης στην ικανότητα
rm.Τοποθετήστε το όνομα του εκτυπωτή στην ικανότητα
rp, στον
υπολογιστή εκτύπωσης.Αυτό είναι όλο. Δεν χρειάζεται να δημιουργήσετε λίστα φίλτρων
μετατροπής, διαστάσεις σελίδας, ή οτιδήποτε άλλο στο
αρχείο/etc/printcap.Εδώ είναι ένα παράδειγμα. Ο υπολογιστής rose
έχει δύο εκτυπωτές, τον bamboo και τον
rattan. Θέλουμε να ενεργοποιήσουμε τις
εκτυπώσεις σε αυτούς τους εκτυπωτές για τους χρήστες του
απομακρυσμένου υπολογιστή orchid. Εδώ είναι το
αρχείο /etc/printcap του υπολογιστή
orchid (δείτε πιο πίσω στην ενότητα Ενεργοποίηση
Σελίδων Κεφαλίδας). Ήδη έχει μια καταχώριση για τον
εκτυπωτή teak. Εδώ προσθέσαμε τις απαραίτητες
καταχωρίσεις για τους δύο εκτυπωτές του υπολογιστή
rose:#
# /etc/printcap for host orchid - added (remote) printers on rose
#
#
# teak is local; it is connected directly to orchid:
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\
:if=/usr/local/libexec/ifhp:\
:vf=/usr/local/libexec/vfhp:\
:of=/usr/local/libexec/ofhp:
#
# rattan is connected to rose; send jobs for rattan to rose:
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:
#
# bamboo is connected to rose as well:
#
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:Το μόνο που απομένει είναι να δημιουργήσουμε τους καταλόγους
spooling στον κόμβο orchid:&prompt.root; mkdir /var/spool/lpd/rattan/var/spool/lpd/bamboo
&prompt.root; chmod 770 /var/spool/lpd/rattan/var/spool/lpd/bamboo
&prompt.root; chown daemon:daemon /var/spool/lpd/rattan/var/spool/lpd/bambooΤώρα, οι χρήστες του orchid μπορούν να
εκτυπώνουν στον rattan και στον
bamboo. Αν, για παράδειγμα, ένας χρήστης του
orchid πληκτρολογήσει:
&prompt.user; lpr bamboo sushi-review.dvi
το σύστημα LPD στον
orchid θα αντιγράψει την εργασία στον κατάλογο
spooling
/var/spool/lpd/bamboo και θα
σημειώσει πως πρόκειται για εργασία DVI. Μόλις ο υπολογιστής
rose έχει διαθέσιμο χώρο στον κατάλογο spooling του
bamboo, τα δύο LPDs
θα μεταφέρουν το αρχείο στον rose. Το αρχείο θα
μπει σε ουρά αναμονής στον υπολογιστή rose έως
ότου εκτυπωθεί. Θα μετατραπεί από DVI σε &postscript; (αφού ο
bamboo είναι εκτυπωτής &postscript;) στον
υπολογιστή rose.Εκτυπωτές με Συνδέσεις ΔικτύουΣυχνά, όταν αγοράζετε κάρτα δικτύου για εκτυπωτή, έχετε τη
δυνατότητα επιλογής δύο εκδόσεων: η μία είναι προσομοίωση του
spooler (η πιο ακριβή έκδοση) ενώ η άλλη απλά σας επιτρέπει να
στέλνετε δεδομένα μέσω αυτής σαν να χρησιμοποιούσατε μια σειριακή
ή παράλληλη θύρα (η φτηνή έκδοση). Αυτή η ενότητα περιγράφει πως να
χρησιμοποιείτε την φτηνή έκδοση. Για την πιο ακριβή έκδοση μπορείτε
να βρείτε περισσότερες πληροφορίες στην προηγούμενη ενότητα Εκτυπωτές Εγκατεστημένοι
σε Απομακρυσμένους Υπολογιστές.Η μορφή του αρχείου /etc/printcap σας
επιτρέπει να ορίσετε τη διασύνδεση - σειριακή ή παράλληλη - που θα
χρησιμοποιήσετε, και (αν χρησιμοποιείτε σειριακή διασύνδεση) τον
ρυθμό baud, πιθανούς ελέγχους ροής, καθυστερήσεις για tabs,
μετατροπές για χαρακτήρες νέας γραμμής, και άλλα. Αλλά δεν υπάρχει
τρόπος να ορίσετε μια σύνδεση σε εκτυπωτή που ακούει σε θύρα TCP/IP
ή άλλο τύπο δικτύου.Για να στείλετε δεδομένα σε ένα δικτυακό εκτυπωτή, χρειάζεται
να αναπτύξετε προγράμματα επικοινωνίας που να καλούνται από φίλτρα
κειμένου και φίλτρα μετατροπής. Εδώ έχουμε ένα τέτοιο παράδειγμα:
το script netprint παίρνει όλα τα δεδομένα από
το standard input και τα στέλνει σε έναν εκτυπωτή συνδεδεμένο στο
δίκτυο. Ορίζουμε στο netprint το όνομα
του εκτυπωτή ως πρώτη παράμετρο, και τον αριθμό θύρας στην οποία
συνδέεται ως δεύτερη. Σημειώστε πως αυτός ο τρόπος υποστηρίζει
μόνο επικοινωνία μιας κατεύθυνσης (από το &os; στον εκτυπωτή).
Πολλοί δικτυακοί εκτυπωτές υποστηρίζουν αμφίδρομη επικοινωνία, και
είναι πολύ πιθανό να επιθυμείτε να εκμεταλλευτείτε τα προτερήματα
τους (για να ελέγχετε την κατάσταση του εκτυπωτή, για καταμέτρηση
εκτυπώσεων, κλπ.).#!/usr/bin/perl
#
# netprint - Text filter for printer attached to network
# Installed in /usr/local/libexec/netprint
#
$#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>";
$printer_host = $ARGV[0];
$printer_port = $ARGV[1];
require 'sys/socket.ph';
($ignore, $ignore, $protocol) = getprotobyname('tcp');
($ignore, $ignore, $ignore, $ignore, $address)
= gethostbyname($printer_host);
$sockaddr = pack('S n a4 x8', &AF_INET, $printer_port, $address);
socket(PRINTER, &PF_INET, &SOCK_STREAM, $protocol)
|| die "Can't create TCP/IP stream socket: $!";
connect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!";
while (<STDIN>) { print PRINTER; }
exit 0;Μπορείτε να χρησιμοποιήσετε αυτό το script σε διάφορα φίλτρα.
Ας υποθέσουμε πως έχουμε έναν εκτυπωτή γραμμής Diablo 750-N
συνδεδεμένο στο δίκτυο. Ο εκτυπωτής δέχεται δεδομένα προς εκτύπωση
στην θύρα 5100. Το όνομα του εκτυπωτή στο δίκτυο είναι
scrivener. Εδώ είναι το φίλτρο κειμένου για τον
εκτυπωτή:#!/bin/sh
#
# diablo-if-net - Text filter for Diablo printer `scrivener' listening
# on port 5100. Installed in /usr/local/libexec/diablo-if-net
#
exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100Έλεγχος Πρόσβασης και Περιορισμοί στη Χρήση των Εκτυπωτώνεκτυπωτέςέλεγχος πρόσβασηςΑυτή η ενότητα δίνει πληροφορίες για τον έλεγχο πρόσβασης και τον
περιορισμό χρήσης των εκτυπωτών. Το σύστημα
LPD σας επιτρέπει να ελέγχετε ποιός μπορεί
να έχει πρόσβαση σε κάθε εκτυπωτή, τόσο τοπικά όσο και απομακρυσμένα,
και επίσης αν μπορούν οι χρήστες να εκτυπώνουν πολλαπλά αντίγραφα,
πόσο μεγάλες μπορούν να είναι οι εργασίες τους, και πόσο μεγάλες
μπορούν να γίνουν οι ουρές αναμονής (print queues).Περιορισμός Εκτύπωσης Πολλαπλών ΑντιγράφωνΤο σύστημα LPD διευκολύνει τους
χρήστες να εκτυπώσουν πολλαπλά αντίγραφα ενός αρχείου. Οι χρήστες
μπορούν να εκτυπώνουν εργασίες με
lpr (για
παράδειγμα) και να παίρνουν πέντε αντίγραφα κάθε αρχείου της
εργασίας εκτύπωσης. Το αν αυτό είναι καλό, εξαρτάται από
εσάς.Αν πιστεύετε πως τα πολλαπλά αντίγραφα δημιουργούν άσκοπη
καταπόνηση των εκτυπωτών σας, μπορείτε να απενεργοποιήσετε
την επιλογή στο &man.lpr.1; προσθέτοντας την
ικανότητα sc στο αρχείο
/etc/printcap. Όταν οι χρήστες αποστέλλουν
εργασίες με την επιλογή , θα βλέπουν:lpr: multiple copies are not allowedΣημειώστε πως αν έχετε ρυθμίσει πρόσβαση σε έναν εκτυπωτή
απομακρυσμένα (δείτε την ενότητα Εκτυπωτές Εγκατεστημένοι σε
Απομακρυσμένους Υπολογιστές), θα χρειαστεί να προσθέσετε
την ικανότητα sc σε όλα τα απομακρυσμένα αρχεία
/etc/printcap, διαφορετικά οι χρήστες θα
έχουν ακόμη την δυνατότητα να αποστέλλουν εργασίες πολλαπλών
αντιγράφων χρησιμοποιώντας διαφορετικό κόμβο.Εδώ είναι ένα παράδειγμα. Αυτό είναι το αρχείο
/etc/printcap για τον κόμβο
rose. Ο εκτυπωτής rattan
είναι δυνατό μηχάνημα και επιτρέπει την εκτύπωση πολλαπλών
αντιγράφων, αλλά ο εκτυπωτής laser bamboo είναι
πιο ευαίσθητο, επομένως θα απενεργοποιήσουμε τη δυνατότητα
πολλαπλών αντιγράφων προσθέτοντας την ικανότητα
sc:#
# /etc/printcap for host rose - restrict multiple copies on bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:\
:lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:Τώρα, θα χρειαστεί να προσθέσουμε επίσης την ικανότητα
sc στο αρχείο /etc/printcap
του κόμβου orchid (και ενώ βρισκόμαστε σε αυτό,
επιτρέψτε μας να απενεργοποιήσουμε τα πολλαπλά αντίγραφα για τον
εκτυπωτή teak):#
# /etc/printcap for host orchid - no multiple copies for local
# printer teak or remote printer bamboo
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\
:if=/usr/local/libexec/ifhp:\
:vf=/usr/local/libexec/vfhp:\
:of=/usr/local/libexec/ofhp:
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc:Χρησιμοποιώντας την ικανότητα sc,
προλαμβάνουμε την χρήση των εντολών
lpr ,
αλλά δεν έχουμε ακόμη την δυνατότητα να παρεμποδίσουμε τους χρήστες
να τρέξουν την εντολή &man.lpr.1; πολλές φορές, ή να αποστείλουν
το ίδιο αρχείο πολλές φορές σε μία μοναδική εργασία, όπως
εδώ:&prompt.user; lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.signΥπάρχουν πολλοί τρόποι πρόληψης αυτών των ενεργειών
(συμπεριλαμβάνοντας και την περίπτωση να το αγνοήσετε) που είστε
ελεύθεροι να εξερευνήσετε.Περιορίζοντας την Πρόσβαση σε ΕκτυπωτέςΜπορείτε να ελέγχετε ποιός μπορεί να εκτυπώνει σε ποιόν
εκτυπωτή χρησιμοποιώντας τους μηχανισμούς ομάδων (groups) του &unix;
και την ικανότητα rg στο
/etc/printcap. Απλά τοποθετήστε τους χρήστες
που θέλετε να έχουν πρόσβαση σε κάποιον εκτυπωτή σε μια
συγκεκριμένη ομάδα (χρηστών), και δηλώστε αυτή την ομάδα στην
ικανότητα rg.Όλοι οι χρήστες που δεν ανήκουν στην ομάδα (συμπεριλαμβανομένου
και του root) θα δέχονται το ακόλουθο μήνυμα:
lpr: Not a member of the restricted group
όταν προσπαθούν να εκτυπώσουν στον ελεγχόμενο εκτυπωτή.Όπως και με την ικανότητα sc
(περιορισμού πολλαπλών αντιγράφων), θα χρειαστεί να προσδιορίσετε
την rg στους απομακρυσμένους κόμβους που θα
έχουν πρόσβαση στους εκτυπωτές σας, αν νομίζετε πως αυτό είναι
σωστό (δείτε την ενότητα Εκτυπωτές Εγκατεστημένοι
σε Απομακρυσμένους Υπολογιστές).Για παράδειγμα, θα αφήσουμε για όλους ελεύθερη την πρόσβαση
στον εκτυπωτή rattan, αλλά μόνο οι χρήστες της
ομάδας artists θα μπορούν να χρησιμοποιήσουν τον
bamboo. Εδώ είναι το γνωστό μας
/etc/printcap για τον κόμβο
rose:#
# /etc/printcap for host rose - restricted group for bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\
:lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:Επιτρέψτε μας να μην αλλάξουμε το αρχείο
/etc/printcap από το άλλο παράδειγμα
(για τον υπολογιστή orchid). Φυσικά, οποιοσδήποτε
χρήστης του orchid μπορεί να εκτυπώσει στον
bamboo. Ίσως όμως να επιτρέπουμε μόνον σε
συγκεκριμένους χρήστες την πρόσβαση στον υπολογιστή
orchid, και θέλουμε αυτοί οι χρήστες να έχουν
πρόσβαση στον εκτυπωτή. Ή ίσως πάλι, και όχι.Επιτρέπεται μόνο μια περιορισμένη ομάδα ανά εκτυπωτή.Έλεγχος Μεγέθους των Απεσταλμένων Εργασιώνεργασίες εκτύπωσηςΑν πολλοί χρήστες έχουν πρόσβαση στους εκτυπωτές σας, πιθανώς
να χρειάζεται να θέσετε ένα ανώτατο όριο στο επιτρεπόμενο μέγεθος
αρχείων που μπορούν να αποστείλουν οι χρήστες για εκτύπωση. Ακόμα
και αν υπάρχει αρκετός χώρος στο σύστημα αρχείων που φιλοξενεί τους
καταλόγους spool, θα πρέπει ωστόσο να βεβαιωθείτε ότι επαρκεί για
τις εργασίες όλων των χρηστών.εργασίες εκτύπωσηςέλεγχοςΤο LPD σας επιτρέπει να
οριοθετήσετε το μέγιστο αριθμό bytes που περιέχει μια εργασία, με
την ικανότητα mx. Η μονάδα μέτρησης είναι σε
BUFSIZ blocks, τα οποία είναι 1024 bytes. Αν
θέσετε μηδέν σε αυτή την ικανότητα, δεν θα υπάρχουν όρια στο
μέγεθος των αρχείων. Ωστόσο, αν δεν έχει οριστεί η ικανότητα
mx, τότε θα χρησιμοποιείται η προεπιλεγμένη τιμή
των 1000 blocks.Το όριο εφαρμόζεται στα αρχεία μιας
εργασίας, και όχι στο συνολικό μέγεθος της
εργασίας.Το LPD δεν θα απορρίψει ένα αρχείο
που ξεπερνά το όριο μεγέθους που έχετε θέσει. Αντιθέτως, θα το
τοποθετήσει στην ουρά αναμονής με μέγεθος ίσο με το μέγιστο
επιτρεπτό, το οποίο και θα εκτυπώσει τελικά. Το υπόλοιπο αρχείο
απορρίπτεται. Αν αυτός είναι σωστός ή λανθασμένος τρόπος
αντιμετώπισης για την υπέρβαση του ορίου, είναι θέμα προς
συζήτηση.Ας οριοθετήσουμε στο παράδειγμα μας τους εκτυπωτές
rattan και bamboo. Επειδή
τα αρχεία &postscript; των artists τείνουν
προς μεγάλα μεγέθη, θα θέσουμε ένα όριο πέντε megabytes. Δεν θα
θέσουμε όρια για τον εκτυπωτή γραμμής απλού κειμένου:#
# /etc/printcap for host rose
#
#
# No limit on job size:
#
rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:mx#0:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:
#
# Limit of five megabytes:
#
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
:lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:Και πάλι, τα όρια εφαρμόζονται μόνο για τους τοπικούς χρήστες.
Αν έχετε ενεργοποιήσει απομακρυσμένη πρόσβαση για τους εκτυπωτές
σας, τα όρια αυτά δεν ισχύουν για τους απομακρυσμένους χρήστες. Θα
χρειαστεί να προσδιορίσετε με την ικανότητα mx
και τα απομακρυσμένα αρχεία /etc/printcap.
Δείτε την ενότητα Εκτυπωτές Εγκατεστημένοι σε
Απομακρυσμένους Υπολογιστές για περισσότερες πληροφορίες
σχετικά με τις εκτυπώσεις από απομακρυσμένους υπολογιστές.Υπάρχει και άλλος εξειδικευμένος τρόπος περιορισμού του μεγέθους
εργασιών για απομακρυσμένους εκτυπωτές. Δείτε την ενότητα Περιορισμός
Εργασιών από Απομακρυσμένους Υπολογιστές.Περιορισμός Εργασιών από Απομακρυσμένους ΥπολογιστέςΤο σύστημα παροχέτευσης LPD παρέχει
διάφορους τρόπους περιορισμού των εργασιών από απομακρυσμένους
υπολογιστές:Παρεμπόδιση υπολογιστώνΜπορείτε να ελέγχετε από ποιους απομακρυσμένους
υπολογιστές θα δέχεται αιτήσεις εκτύπωσης το τοπικό
LPD, χρησιμοποιώντας τα αρχεία
/etc/hosts.equiv και
/etc/hosts.lpd. Το
LPD ελέγχει να δει αν η εισερχόμενη
αίτηση προέρχεται από έναν υπολογιστή που αναφέρεται σε κάποιο
από τα δύο αρχεία. Αν όχι, το LPD
απορρίπτει την αίτηση.Η μορφή αυτών των αρχείων είναι απλή: ένα όνομα υπολογιστή
ανά γραμμή. Παρατηρήστε πως το αρχείο
/etc/hosts.equiv χρησιμοποιείται και από
το πρωτόκολλο &man.ruserok.3;, και επηρεάζει προγράμματα όπως
το &man.rsh.1; και το &man.rcp.1;, επομένως να είστε
προσεκτικοί.Για παράδειγμα, εδώ είναι το αρχείο
/etc/hosts.lpd στον υπολογιστή
rose:orchid
violet
madrigal.fishbaum.deΑυτό σημαίνει πως ο rose δέχεται
αιτήσεις από τους υπολογιστές orchid,
violet, και
madrigal.fishbaum.de. Αν
κάποιος άλλος υπολογιστής προσπαθήσει να αποκτήσει πρόσβαση
στο LPD του rose,
η εργασία θα απορριφθεί.Περιορισμοί στο ΜέγεθοςΜπορείτε να ελέγχετε πόσος ελεύθερος χώρος πρέπει να
απομένει στο σύστημα αρχείων όπου βρίσκεται ο κατάλογος
spool. Δημιουργήστε ένα αρχείο με όνομα
minfree στον κατάλογο spool για τον
τοπικό εκτυπωτή. Εισάγετε σε αυτό το αρχείο έναν αριθμό που
αντιπροσωπεύει πόσα blocks δίσκου (512 bytes) ελεύθερου χώρου
πρέπει να υπάρχουν για να είναι δεκτή μια απομακρυσμένη
εργασία.Αυτό σας επιτρέπει να είστε βέβαιοι πως οι απομακρυσμένοι
χρήστες δεν θα γεμίσουν το σύστημα αρχείων σας. Μπορείτε
επίσης να το χρησιμοποιήσετε για να δώσετε μερική
προτεραιότητα στους τοπικούς χρήστες: οι τοπικοί χρήστες θα
μπορούν να στέλνουν εργασίες στην ουρά αναμονής ακόμη και
όταν ο ελεύθερος χώρος του δίσκου έχει πέσει κάτω από τον
αριθμό που αναφέρεται στο αρχείο
minfree.Για παράδειγμα, ας προσθέσουμε ένα αρχείο
minfree για τον εκτυπωτή
bamboo. Εξετάζουμε το
/etc/printcap για να βρούμε τον κατάλογο
spool για αυτόν τον εκτυπωτή. Εδώ είναι η καταχώριση για τον
bamboo:bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
:sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\
:lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\
:if=/usr/local/libexec/psif:\
:df=/usr/local/libexec/psdf:Ο κατάλογος spool καθορίζεται στην ικανότητα
sd. Θα θέσουμε τρία megabytes (ισοδυναμεί
με 6144 disk blocks) ως το μέγεθος του ελεύθερου χώρου που
πρέπει να υπάρχει στο σύστημα αρχείων, ώστε το
LPD να δέχεται απομακρυσμένες
εργασίες:&prompt.root; echo 6144 > /var/spool/lpd/bamboo/minfreeΠεριορισμοί χρηστώνΜπορείτε να ελέγχετε ποιός απομακρυσμένος χρήστης μπορεί
να εκτυπώνει στους τοπικούς εκτυπωτές ορίζοντας την ικανότητα
rs στο /etc/printcap.
Όταν εμφανίζεται η rs σε μια καταχώριση
κάποιου τοπικά συνδεδεμένου εκτυπωτή, το
LPD θα δεχθεί εργασίες από
απομακρυσμένους υπολογιστές αν ο χρήστης
που αποστέλλει την εργασία έχει λογαριασμό στον τοπικό
υπολογιστή και με το ίδιο όνομα χρήστη. Διαφορετικά, το
LPD θα απορρίψει την
εργασία.Αυτή η ικανότητα είναι ιδιαίτερα χρήσιμη σε περιβάλλοντα
όπου υπάρχουν (για παράδειγμα) διαφορετικά επιχειρησιακά
τμήματα που μοιράζονται το δίκτυο, και κάποιοι χρήστες
πρέπει να υπερβαίνουν τα σύνορα του τμήματος. Δημιουργώντας
λογαριασμούς στα συστήματα σας, θα μπορούν να χρησιμοποιούν
τους εκτυπωτές σας από το δικό τους τμήμα της επιχείρησης.
Αν επιθυμείτε να τους επιτρέπετε να χρησιμοποιούν
μόνο τους εκτυπωτές και όχι τα
μηχανήματα σας, τότε μπορείτε να δημιουργήσετε
λογαριασμούς token, δίχως προσωπικούς
καταλόγους και με κέλυφος που δεν μπορεί να χρησιμοποιηθεί,
όπως το /usr/bin/false.Καταμέτρηση Χρήσης ΕκτυπωτώνκαταμέτρησηεκτυπωτήςΑποφασίσατε ότι χρειάζεται να χρεώνετε για τις εκτυπώσεις σας.
Και γιατί όχι; Το χαρτί και το μελάνι κοστίζουν χρήματα. Και
επιπλέον υπάρχει κόστος συντήρησης — οι εκτυπωτές αποτελούνται
από κινητά μέρη και έχουν την τάση να χαλάνε. Έχετε εξετάσει τους
εκτυπωτές σας, τον τρόπο που χρησιμοποιούνται, και το κόστος
συντήρησης και έχετε υπολογίσει μια χρέωση ανά σελίδα (ή ανά μέτρο,
ανά πόδι, ή άλλη μονάδα μέτρησης). Το θέμα είναι τώρα πως μπορείτε
πραγματικά να ξεκινήσετε να καταμετράτε τις εκτυπώσεις σας.Τα άσχημα νέα είναι πως το σύστημα παροχέτευσης του
LPD δεν παρέχει πολύ βοήθεια σε αυτόν τον
τομέα. Η καταμέτρηση εξαρτάται σε μεγάλο βαθμό από τον τύπο του
εκτυπωτή που χρησιμοποιείτε, τους τύπους αρχείων που εκτυπώνετε, και
τις δικές σας απαιτήσεις για την χρέωση των
εκτυπώσεων.Για την καταμέτρηση, θα πρέπει να μετατρέψετε το φίλτρο κειμένου
(για τη χρέωση εργασιών απλού κειμένου) του εκτυπωτή και τα φίλτρα
μετατροπής (για τη χρέωση όλων των άλλων τύπων αρχείων) ώστε να
μετρούν σελίδες ή να ζητούν να μάθουν από τον εκτυπωτή τον αριθμό των
εκτυπωμένων σελίδων. Δεν θα σας βοηθήσει ιδιαίτερα η χρήση φίλτρου
εξόδου, από τη στιγμή που δεν μπορεί να κάνει καταμέτρηση. Δείτε την
ενότητα Φίλτρα.Γενικά, υπάρχουν δύο τρόποι για να κάνετε καταμέτρηση:Η Περιοδική καταμέτρηση είναι ο πιο
συνηθισμένος τρόπος, πιθανώς γιατί είναι ο ευκολότερος. Κάθε φορά
που κάποιος εκτυπώνει μια εργασία, το φίλτρο δημιουργεί ένα
αρχείο καταγραφής όπου αναφέρει τον χρήστη, τον υπολογιστή, και
τον αριθμό των σελίδων. Κάθε μήνα, εξάμηνο, χρόνο, ή άλλη χρονική
περίοδο της αρεσκείας σας, συλλέγετε τα αρχεία καταγραφής για τους
διάφορους εκτυπωτές, λογαριάζετε τις σελίδες που αναλογούν στους
χρήστες, και χρεώνετε αναλόγως. Έπειτα σβήνετε τα στοιχεία από τα
αρχεία καταγραφής, ξεκινώντας από καθαρή κατάσταση για την επόμενη
περίοδο.Η Καταμέτρηση κατά τη χρήση είναι
λιγότερο γνωστή, ίσως επειδή είναι πιο δύσκολος τρόπος. Σε αυτή
τη μέθοδο τα φίλτρα χρεώνουν τους χρήστες για τις εκτυπώσεις τους
αμέσως μόλις αυτές πραγματοποιηθούν. Όπως και με την καταγραφή
χρήσης δίσκου (disk quotas), η καταμέτρηση είναι άμεση. Μπορείτε
να προλαμβάνετε την χρήση εκτυπωτών από χρήστες που έχουν χτυπήσει
κόκκινο, και μπορείτε να παρέχετε στους χρήστες ένα τρόπο για να
ελέγχουν και να ρυθμίζουν τον όγκο εκτυπώσεων (print
quotas). Αλλά αυτή η μέθοδος προϋποθέτει λίγο κώδικα
βάσεων δεδομένων για την καταγραφή χρηστών και των εν λόγω
μεγεθών.Το σύστημα παροχέτευσης LPD
υποστηρίζει εύκολα και τις δύο μεθόδους: από τη στιγμή που πρέπει
εσείς να παρέχετε τα φίλτρα (τις περισσότερες φορές), θα πρέπει
επίσης να παρέχετε και τον κώδικα καταμέτρησης. Αλλά υπάρχει και ένα
καλό σε αυτή την υπόθεση: έχετε απεριόριστη ευελιξία στις μεθόδους
καταμέτρησης. Για παράδειγμα, μπορείτε να επιλέξετε περιοδική ή κατά
τη χρήση καταμέτρηση. Μπορείτε να επιλέξετε τις πληροφορίες που θα
καταγράφονται: ονόματα χρηστών, ονόματα υπολογιστών, τύπους εργασιών,
τυπωμένες σελίδες, τετραγωνικά μέτρα χαρτιού που χρησιμοποιήθηκε,
πόσος χρόνος χρειάστηκε για να γίνει η εκτύπωση, και πολλά ακόμα. Και
όλα αυτά γίνονται μετατρέποντας τα φίλτρα για να αποθηκεύουν αυτές τις
πληροφορίες.Γρήγορη και Πρόχειρη Καταμέτρηση ΕκτυπώσεωνΤο &os; διατίθεται με δύο προγράμματα που μπορούν να παρέχουν
άμεσα απλή περιοδική καταμέτρηση. Είναι το φίλτρο κειμένου
lpf, που περιγράφεται στην ενότητα lpf: ένα Φίλτρο Κειμένου,
και το &man.pac.8;, ένα πρόγραμμα που συλλέγει και αθροίζει
καταχωρίσεις από αρχεία καταμετρήσεων.Όπως αναφέραμε στην ενότητα των φίλτρων (Φίλτρα), το
LPD ξεκινά τα φίλτρα κειμένου και
μετατροπής περνώντας στην γραμμή εντολών του φίλτρου και το όνομα
του αρχείου καταγραφής. Τα φίλτρα μπορούν να χρησιμοποιήσουν αυτή
την παράμετρο για να ξέρουν που να γράφουν τις καταχωρίσεις
καταμέτρησης. Το όνομα του αρχείου καταμέτρησης φαίνεται στην
ικανότητα af στο
/etc/printcap, και αν δεν ορίζεται η πλήρης
διαδρομή του, χρησιμοποιείται η σχετική διαδρομή ως προς τον
κατάλογο spool.Το LPD ξεκινά το
lpf με παραμέτρους πλάτους και μήκους σελίδας
(από τις ικανότητες pw και
pl). Το lpf χρησιμοποιεί
αυτές τις παραμέτρους για να προσδιορίσει την ποσότητα χαρτιού που
χρησιμοποιήθηκε. Μετά την αποστολή του αρχείου στον εκτυπωτή,
γράφει μια καταχώριση καταμέτρησης στο αρχείο καταγραφής. Οι
καταχωρίσεις μοιάζουν με τις παρακάτω:2.00 rose:andy
3.00 rose:kelly
3.00 orchid:mary
5.00 orchid:mary
2.00 orchid:zhangΘα πρέπει να χρησιμοποιείτε ξεχωριστό αρχείο καταγραφής για
κάθε εκτυπωτή, αφού το lpf δεν έχει ενσωματωμένη
δυνατότητα κλειδώματος αρχείου (file locking), και δύο
lpf μπορούν να καταστρέψουν το ένα την
καταχώριση του άλλου αν πρόκειται να γράψουν ταυτόχρονα στο ίδιο
αρχείο. Ένας εύκολος τρόπος για να βεβαιώσετε την μοναδικότητα
αρχείου καταγραφής ανά εκτυπωτή είναι να χρησιμοποιήσετε την
ικανότητα af=acct στο
/etc/printcap. Έτσι, κάθε αρχείο καταγραφής
θα βρίσκεται στον κατάλογο spool του αντίστοιχου εκτυπωτή, σε ένα
αρχείο με όνομα acct.Όταν είστε έτοιμοι να χρεώσετε τους χρήστες για τις εκτυπώσεις,
εκτελέστε το πρόγραμμα &man.pac.8;. Απλά μεταβείτε στον κατάλογο
spool για τον εκτυπωτή που κάνετε καταμέτρηση και πληκτρολογήστε
pac. Θα εμφανιστεί ένας απολογισμός με χρεώσεις
σε δολάρια, όπως βλέπετε στη συνέχεια: Login pages/feet runs price
orchid:kelly 5.00 1 $ 0.10
orchid:mary 31.00 3 $ 0.62
orchid:zhang 9.00 1 $ 0.18
rose:andy 2.00 1 $ 0.04
rose:kelly 177.00 104 $ 3.54
rose:mary 87.00 32 $ 1.74
rose:root 26.00 12 $ 0.52
total 337.00 154 $ 6.74Παρακάτω είναι οι παράμετροι που δέχεται το &man.pac.8;:Για ποιό printer να
κάνει απολογισμό. Αυτή η επιλογή δουλεύει μόνο αν υπάρχει η
πλήρης διαδρομή στην ικανότητα af στο
/etc/printcap.Ταξινομεί το αποτέλεσμα ανά κόστος αντί της αλφαβητικής
ταξινόμησης των χρηστών.Αγνοεί το όνομα του υπολογιστή στα αρχεία καταγραφής. Με
αυτή την επιλογή, ο χρήστης smith στον
υπολογιστή alpha είναι ο ίδιος χρήστης με τον
smith στον υπολογιστή
gamma. Χωρίς την επιλογή αυτή, είναι
διαφορετικοί χρήστες.Υπολογίζει τις χρεώσεις με
price (τιμή) σε δολάρια ανά σελίδα
ή ανά πόδι αντί για την τιμή από την ικανότητα
pc στο /etc/printcap,
ή αλλιώς δύο σεντς (από προεπιλογή). Μπορείτε να ορίσετε
ως price μια τιμή με δεκαδικά
ψηφία (floating point).Αντιστρέφει την σειρά ταξινόμησης.Δημιουργεί ένα αρχείο απολογισμού των καταμετρήσεων και
καθαρίζει τα περιεχόμενα των αρχείων καταγραφής.name…Τυπώνει πληροφορίες αναφοράς μόνο για τα συγκεκριμένα
name (ονόματα) χρηστών.Στον προεπιλεγμένο απολογισμό που παράγει το &man.pac.8;,
βλέπετε των αριθμό των τυπωμένων σελίδων ανά χρήστη από τους
διάφορους υπολογιστές. Αν, στο χώρο σας, ο υπολογιστής δεν έχει
σημασία (γιατί οι χρήστες μπορούν να χρησιμοποιήσουν οποιονδήποτε
θέλουν), εκτελέστε την εντολή
pac , για να
δημιουργήσετε τον ακόλουθο απολογισμό: Login pages/feet runs price
andy 2.00 1 $ 0.04
kelly 182.00 105 $ 3.64
mary 118.00 35 $ 2.36
root 26.00 12 $ 0.52
zhang 9.00 1 $ 0.18
total 337.00 154 $ 6.74Για τον ορισμό ποσοστού χρέωσης σε δολάρια, το &man.pac.8;
χρησιμοποιεί την ικανότητα pc στο αρχείο
/etc/printcap (προεπιλεγμένη τιμή 200, ή 2
σεντς ανά σελίδα). Προσδιορίστε σε αυτήν την ικανότητα, σε
εκατοστά του σεντ, την τιμή ανά σελίδα ή ανά πόδι που θέλετε να
χρεώνετε για τις εκτυπώσεις. Μπορείτε να προσπεράσετε αυτή την
τιμή όταν τρέχετε το &man.pac.8; με την επιλογή
. H μονάδα μέτρησης για την επιλογή
είναι σε δολάρια, όχι σε εκατοστά του σεντ.
Για παράδειγμα,
&prompt.root; pac
ορίζει κόστος κάθε σελίδας ένα δολάριο και πενήντα σεντς.
Μπορείτε πραγματικά να έχετε πολλά έσοδα χρησιμοποιώντας αυτές τις
χρεώσεις.Τέλος, εκτελώντας pac θα
αποθηκεύσετε τις πληροφορίες του απολογισμού σε ένα αρχείο
καταγραφής απολογισμού, που θα έχει το ίδιο όνομα με το αρχείο
καταγραφής του εκτυπωτή, αλλά με κατάληξη _sum.
Έπειτα καθαρίζεται το αρχείο καταγραφής. Όταν εκτελέσετε πάλι το
&man.pac.8;, θα ξαναδιαβάσει το αρχείο απολογισμού, για να πάρει τα
αρχικά σύνολα, και θα προσθέσει τις πληροφορίες από το κανονικό
αρχείο καταγραφής.Πως Μπορείτε να Μετρήσετε τις Τυπωμένες Σελίδες;Για να μετρήσετε τις τυπωμένες σελίδες με έστω στοιχειώδη
λεπτομέρεια, θα πρέπει να προσδιορίσετε πόσο χαρτί χρειάζεται μια
εργασία. Αυτό είναι το ουσιαστικότερο πρόβλημα στην καταμέτρηση
εκτυπώσεων.Για εργασίες απλού κειμένου, το πρόβλημα δεν είναι δύσκολο να
λυθεί: Μετράτε πόσες γραμμές υπάρχουν σε μια εργασία και τις
συγκρίνετε με πόσες γραμμές μπορεί να τυπώσει ο εκτυπωτής σας σε
μια σελίδα. Μην ξεχάσετε να συμπεριλάβετε τα backspaces που
προκαλούν υπερτύπωση, ή επιμήκης λογικές γραμμές που αναδιπλώνονται
σε περισσότερες από μία φυσικές γραμμές.Το φίλτρο κειμένου lpf (που παρουσιάσαμε στο
lpf: ένα Φίλτρο
Κειμένου) λαμβάνει υπόψιν του αυτά τα στοιχεία όταν κάνει
καταμέτρηση. Αν γράφετε κάποιο φίλτρο κειμένου που χρειάζεται να
κάνει καταμέτρηση, ίσως να θέλετε να ελέγξετε τον πηγαίο κώδικα
του lpf.Πως χειρίζεστε όμως τους υπόλοιπους τύπους αρχείων;Για τις μετατροπές από DVI-σε-LaserJet ή από
DVI-σε-&postscript;, μπορείτε να κάνετε το φίλτρο σας να αναλύει
την έξοδο του dvilj ή του
dvips και να ελέγχει πόσες σελίδες
δημιουργήθηκαν από τη μετατροπή. Ίσως μπορέσετε να κάνετε κάτι
παρόμοιο και με διαφορετικούς τύπους αρχείων και προγράμματα
μετατροπήςΩστόσο, όλες αυτές οι μέθοδοι έχουν το μειονέκτημα πως ο
εκτυπωτής πιθανώς στην πραγματικότητα να μην εκτυπώσει όλες τις
σελίδες. Για παράδειγμα, θα μπορούσε να μπλοκαριστεί το χαρτί, ή να
τελειώσει το τόνερ, ή ακόμη να συμβεί και έκρηξη —ενώ ο
χρήστης θα συνεχίσει να χρεώνεται.Τι θα μπορούσατε να κάνετε;Υπάρχει μόνο ένας σίγουρος τρόπος για να
κάνετε καταμέτρηση ακριβείας. Να πάρετε έναν
εκτυπωτή που να μπορεί να σας πει πόσο χαρτί χρησιμοποιεί, και να
τον συνδέσετε μέσω σειριακής θύρας ή μέσω δικτύου. Σχεδόν
όλοι οι εκτυπωτές &postscript; υποστηρίζουν αυτή την δυνατότητα. Θα
βρείτε και άλλους τύπους και κατασκευαστές που κάνουν επίσης το ίδιο
(για παράδειγμα, οι laser εκτυπωτές δικτύου της Imagen).
Μετατρέψτε τα φίλτρα για αυτούς τους εκτυπωτές ώστε να καταγράφουν
τις τυπωμένες σελίδες μετά την ολοκλήρωση της εκάστοτε εργασίας
εκτύπωσης, και ρυθμίστε τους να κρατούν αρχεία καταγραφής με
μόνο αυτή την πληροφορία. Δεν χρειάζεται
καταμέτρηση γραμμών ούτε αναφορά σφαλμάτων.Φυσικά, πάντα έχετε τη δυνατότητα να φανείτε γενναιόδωρος και να
παρέχετε τις εκτυπώσεις σας δωρεάν.Χρήση ΕκτυπωτώνprintersusageΑυτή η ενότητα περιγράφει πως να χρησιμοποιείτε τους εκτυπωτές που
έχετε εγκαταστήσει στο &os;. Οι βασικές εντολές για τον τελικό χρήστη
είναι οι ακόλουθες:&man.lpr.1;Εκτύπωση εργασιών&man.lpq.1;Έλεγχος ουράς αναμονής (print queue) του εκτυπωτή&man.lprm.1;Διαγραφή εργασιών από την ουρά αναμονήςΥπάρχει επίσης μια εντολή για τους διαχειριστές, η &man.lpc.8;,
που περιγράφεται στην ενότητα Διαχείριση Εκτυπωτών, και
χρησιμοποιείται για να ελέγχει τους εκτυπωτές και τις ουρές
αναμονής.Και οι τρεις εντολές &man.lpr.1;, &man.lprm.1;, και &man.lpq.1;
δέχονται την επιλογή
με την
οποία καθορίζεται σε ποιον εκτυπωτή ή ουρά αναμονής θα ενεργήσουν, όπως
αναφέρεται στο αρχείο /etc/printcap. Αυτό σας
επιτρέπει να αποστείλετε, να διαγράψετε, και να ελέγξετε εργασίες σε
διάφορους εκτυπωτές. Αν δεν χρησιμοποιείτε την επιλογή
, τότε οι εντολές χρησιμοποιούν τον εκτυπωτή που
αναφέρεται στη μεταβλητή περιβάλλοντος PRINTER. Τέλος,
αν δεν έχετε θέσει μια μεταβλητή περιβάλλοντος PRINTER,
οι εντολές εκτελούνται με τον προεπιλεγμένο εκτυπωτή που ονομάζεται
lp.Από δω και στο εξής, με την ορολογία προεπιλεγμένος
εκτυπωτής θα εννοούμε τον εκτυπωτή που αναφέρεται στην
μεταβλητή περιβάλλοντος PRINTER, ή αν δεν υπάρχει, τον
εκτυπωτή με το όνομα lp.Εκτύπωση ΕργασιώνΓια να εκτυπώσετε αρχεία, πληκτρολογήστε:&prompt.user; lpr filename...printingΘα εκτυπωθούν όλα τα αναφερόμενα αρχεία στον προεπιλεγμένο
εκτυπωτή. Αν δεν αναφέρετε αρχεία, το &man.lpr.1; διαβάζει
δεδομένα από το standard input. Για παράδειγμα, αυτή η εντολή
θα εκτυπώσει μερικά σημαντικά αρχεία του συστήματος:&prompt.user; lpr /etc/host.conf/etc/hosts.equivΓια να επιλέξετε ένα συγκεκριμένο εκτυπωτή, πληκτρολογήστε:&prompt.user; lpr printer-namefilename...Στο παράδειγμα μας θα εκτυπωθεί μια μεγάλη λίστα αρχείων του
τρέχοντος καταλόγου στον εκτυπωτή που ονομάζεται
rattan:&prompt.user; ls | lpr rattanΑφού δεν αναφέρονται ονόματα αρχείων στην εντολή &man.lpr.1;,
το lpr διαβάζει τα δεδομένα που θα εκτυπώσει από
το standard input, τα οποία είναι η έξοδος της εντολής
ls .Η εντολή &man.lpr.1; μπορεί να δεχθεί ένα μεγάλο αριθμό επιλογών
για να ελέγχει την μορφοποίηση, να μετατρέπει αρχεία, να δημιουργεί
πολλαπλά αντίγραφα, κ.λ.π. Για περισσότερες πληροφορίες, δείτε την
ενότητα Επιλογές Εκτύπωσης.Έλεγχος Εργασιώνεκτύπωση εργασιώνΌταν εκτυπώνετε με το &man.lpr.1;, τα δεδομένα που θέλετε να
εκτυπώσετε τοποθετούνται σε ένα πακέτο (package) που ονομάζεται
εργασία εκτύπωσης (print job), η οποία αποστέλλεται
στο σύστημα παροχέτευσης LPD. Κάθε
εκτυπωτής έχει μια ουρά αναμονής εργασιών, και η εργασία σας
αναμένει μαζί με άλλες δικές σας και άλλων χρηστών. Ο εκτυπωτής τις
εκτυπώνει με την σειρά άφιξης στην ουρά αναμονής.Για να εμφανίσετε την ουρά αναμονής για τον προεπιλεγμένο
εκτυπωτή, πληκτρολογήστε &man.lpq.1;. Για κάποιον συγκεκριμένο
εκτυπωτή, χρησιμοποιήστε την επιλογή . Για
παράδειγμα, η εντολή:
&prompt.user; lpq bamboo
εμφανίζει την ουρά αναμονής για τον εκτυπωτή με το όνομα
bamboo. Ακολουθεί ένα παράδειγμα εξόδου της
εντολής lpq:bamboo is ready and printing
Rank Owner Job Files Total Size
active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes
2nd kelly 10 (standard input) 1635 bytes
3rd mary 11 ... 78519 bytesΕμφανίζονται τρεις εργασίες στη λίστα αναμονής για τον
bamboo. Στην πρώτη εργασία, που έχει σταλεί από
τον χρήστη kelly, έχει αποδοθεί ο
αριθμός εργασίας (job number) 9. Κάθε εργασία ενός
εκτυπωτή χαρακτηρίζεται από ένα μοναδικό τέτοιο αριθμό. Τις
περισσότερες φορές μπορείτε να τον αγνοήσετε, αλλά θα τον χρειαστείτε
αν θέλετε να διαγράψετε κάποια εργασία. Δείτε την ενότητα Διαγραφή Εργασιών για
περισσότερες πληροφορίες.Η εργασία με το νούμερο εννέα αποτελείται από δύο αρχεία. Τα
πολλαπλά αρχεία που δόθηκαν στη γραμμή εντολών του &man.lpr.1;
θεωρούνται μέρος μίας μόνο εργασίας. Αυτή είναι και η τρέχουσα ενεργή
εργασία (παρατηρήστε τη λέξη active της στήλης
Rank), που σημαίνει πως η εργασία εκτυπώνεται αυτή τη
στιγμή. Η δεύτερη εργασία αποτελείται από δεδομένα που έχουν περάσει
στην standard input της εντολής &man.lpr.1;. Η τρίτη εργασία
προέρχεται από τον χρήστη mary, και πρόκειται
για μια πολύ ογκώδη εργασία. Το όνομα διαδρομής του αρχείου που
πρόκειται να εκτυπωθεί είναι πολύ μεγάλο για να χωρέσει στη στήλη,
και για αυτό η εντολή &man.lpq.1; απλά το συμβολίζει με τρεις
τελείες.Η πρώτη γραμμή της εξόδου από την &man.lpq.1; είναι επίσης πολύ
χρήσιμη: μας ενημερώνει για το τι κάνει την παρούσα στιγμή ο
εκτυπωτής (ή τουλάχιστον για το τι πιστεύει το
LPD πως κάνει ο εκτυπωτής αυτή τη
στιγμή).Η εντολή &man.lpq.1; επίσης υποστηρίζει την επιλογή
για να δημιουργήσει μια μεγάλη, λεπτομερή λίστα.
Ακολουθεί ένα παράδειγμα του
lpq :waiting for bamboo to become ready (offline ?)
kelly: 1st [job 009rose]
/etc/host.conf 73 bytes
/etc/hosts.equiv 15 bytes
kelly: 2nd [job 010rose]
(standard input) 1635 bytes
mary: 3rd [job 011rose]
/home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytesΑφαίρεση ΕργασιώνΑν αλλάξετε γνώμη για μια εργασία που είχατε αποστείλει προς
εκτύπωση, μπορείτε να την αφαιρέσετε από την λίστα αναμονής με την
εντολή &man.lprm.1;. Μπορείτε ακόμη να χρησιμοποιήσετε την
&man.lprm.1; για να αφαιρέσετε μια ενεργή εργασία, αλλά πιθανόν
κάποιο μέρος της να εκτυπωθεί έτσι και αλλιώς.Για να αφαιρέσετε μια εργασία από τον προεπιλεγμένο εκτυπωτή,
χρησιμοποιήστε πρώτα την &man.lpq.1; για να βρείτε τον αριθμό της.
Έπειτα πληκτρολογήστε:&prompt.user; lprm job-numberΓια να αφαιρέσετε μια εργασία από κάποιον συγκεκριμένο εκτυπωτή,
προσθέστε την επιλογή . Η ακόλουθη εντολή αφαιρεί
την εργασία με αριθμό 10 από την ουρά αναμονής για τον εκτυπωτή
bamboo:&prompt.user; lprm bamboo 10Η εντολή &man.lprm.1; έχει μερικές συντομεύσεις:lprm -Αφαιρεί όλες τις εργασίες (για τον προεπιλεγμένο εκτυπωτή)
που ανήκουν σε εσάς.lprm userΑφαιρεί όλες τις εργασίες (για τον προεπιλεγμένο εκτυπωτή)
που ανήκουν στον χρήστη (user).
Ο υπερχρήστης (superuser) μπορεί να αφαιρέσει εργασίες άλλων
χρηστών, εσείς μπορείτε να αφαιρέσετε μόνο τις δικές σας.lprmΗ εντολή &man.lprm.1; χωρίς αριθμό εργασίας, όνομα χρήστη,
ή που εμφανίζεται στην γραμμή εντολών,
αφαιρεί την τρέχουσα ενεργή εργασία στον προεπιλεγμένο
εκτυπωτή, αν ανήκει σε σάς. Ο υπερχρήστης (superuser) μπορεί
να αφαιρέσει οποιαδήποτε ενεργή εργασία.Για να δουλέψετε σε κάποιον συγκεκριμένο εκτυπωτή αντί του
προεπιλεγμένου, απλά χρησιμοποιήστε την επιλογή
με τις παραπάνω συντομεύσεις. Για παράδειγμα, η ακόλουθη εντολή
αφαιρεί όλες τις εργασίες του τρέχοντος χρήστη από την ουρά αναμονής
του εκτυπωτή rattan:&prompt.user; lprm rattan -Αν εργάζεστε σε περιβάλλον δικτύου, η &man.lprm.1; θα σας
επιτρέψει να αφαιρέσετε εργασίες μόνο από τον υπολογιστή που
τις έχετε στείλει, ανεξάρτητα αν ο εκτυπωτής είναι προσβάσιμος και
από άλλους υπολογιστές. Η ακόλουθη εντολή επιδεικνύει ακριβώς αυτό
το χαρακτηριστικό:&prompt.user; lpr rattan myfile
&prompt.user; rlogin orchid
&prompt.user; lpq rattan
Rank Owner Job Files Total Size
active seeyan 12 ... 49123 bytes
2nd kelly 13 myfile 12 bytes
&prompt.user; lprm rattan 13
rose: Permission denied
&prompt.user; logout
&prompt.user; lprm rattan 13
dfA013rose dequeued
cfA013rose dequeued
Πέρα από το Απλό Κείμενο: Περισσότερες Επιλογές ΕκτύπωσηςΗ εντολή &man.lpr.1; υποστηρίζει μια γκάμα επιλογών για τον έλεγχο
μορφοποίησης κειμένου, μετατροπής γραφικών και άλλων μορφών αρχείων,
παραγωγής πολλαπλών αντιγράφων, χειρισμού εργασιών, και άλλα. Οι
επιλογές αυτές περιγράφονται στην παρούσα ενότητα.Επιλογές Μορφοποίησης και ΜετατροπήςΟι ακόλουθες επιλογές της &man.lpr.1; ελέγχουν την μορφοποίηση
των αρχείων της εργασίας εκτύπωσης. Χρησιμοποιήστε τις αν η εργασία
σας δεν περιέχει απλό κείμενο ή αν επιθυμείτε να μορφοποιήσετε απλό
κείμενο διαμέσου του εργαλείου &man.pr.1;.&tex;Για παράδειγμα, η ακόλουθη εντολή τυπώνει ένα αρχείο DVI (από το
σύστημα στοιχειοθεσίας &tex;) με όνομα
fish-report.dvi
στον εκτυπωτή με όνομα bamboo:&prompt.user; lpr bamboo fish-report.dviΑυτές οι επιλογές εφαρμόζονται σε κάθε αρχείο της εργασίας, και
έτσι δεν μπορείτε να αναμίξετε (ας πούμε) αρχεία DVI και ditroff
μαζί στην ίδια εργασία. Απλώς στείλτε τα αρχεία σαν διαφορετικές
εργασίες, χρησιμοποιώντας διαφορετικές επιλογές μετατροπής για κάθε
εργασία.Όλες αυτές οι επιλογές εκτός της και της
απαιτούν εγκατεστημένα φίλτρα μετατροπής για
τον εκτυπωτή προορισμού. Για παράδειγμα, η επιλογή
απαιτεί το φίλτρο μετατροπής DVI. Η ενότητα
Φίλτρα
Μετατροπής δίνει περισσότερες λεπτομέρειες.Εκτυπώνει αρχεία cifplot.Εκτυπώνει αρχεία DVI.Εκτυπώνει αρχεία κειμένου FORTRAN.Εκτυπώνει δεδομένα σχεδίασης (plot).Εκτυπώνει την έξοδο με εσοχή
number στηλών. Αν παραλείψετε
το number, η εσοχή θα είναι
8 στήλες. Αυτή η επιλογή δουλεύει μόνο με ορισμένα φίλτρα
μετατροπής.Μην τοποθετείτε κενό διάστημα μεταξύ του
και του αριθμού.Εκτυπώνει δεδομένα κειμένου κατά γράμμα (literal),
συμπεριλαμβάνοντας και τους χαρακτήρες ελέγχου.Εκτυπώνει δεδομένα ditroff (δεδομένα troff ανεξάρτητα από
τη συσκευή).-pΜορφοποιεί το απλό κείμενο με την &man.pr.1; πριν να το
εκτυπώσει. Δείτε την &man.pr.1; για περισσότερες
πληροφορίες.Χρησιμοποιεί το title στην
κεφαλίδα του &man.pr.1; αντί για το όνομα αρχείου. Αυτή η
επιλογή επιδρά μόνο όταν χρησιμοποιείται με την επιλογή
Εκτυπώνει δεδομένα troff.Εκτυπώνει δεδομένα ράστερ.Εδώ είναι ένα παράδειγμα: αυτή η εντολή εκτυπώνει μια κομψά
μορφοποιημένη έκδοση της σελίδας βοηθείας &man.ls.1; στον
προεπιλεγμένο εκτυπωτή:&prompt.user; zcat /usr/share/man/man1/ls.1.gz | troff -man | lpr Η εντολή &man.zcat.1; αποσυμπιέζει τον πηγαίο κώδικα της
σελίδας βοηθείας &man.ls.1; και τον περνάει στην εντολή
&man.troff.1;, η οποία τον μορφοποιεί και δημιουργεί στην έξοδο της
δεδομένα GNU troff, τα αποστέλλει στην &man.lpr.1;, η οποία με
τη σειρά της αποστέλλει την εργασία στο
LPD. Επειδή χρησιμοποιήσαμε την επιλογή
στο &man.lpr.1;, ο spooler, κατά τη διάρκεια της
εκτύπωσης, θα μετατρέψει την έξοδο GNU troff σε ένα τύπο δεδομένων
κατανοητό από τον προεπιλεγμένο εκτυπωτή.Επιλογές Χειρισμού ΕργασιώνΟι ακόλουθες επιλογές του &man.lpr.1; οδηγούν το
LPD να χειριστεί τις εργασίες με ειδικό
τρόπο:-# copiesΔημιουργεί έναν αριθμό copies
(αντιγράφων) για κάθε αρχείο της εργασίας αντί για ένα μόνο
αντίγραφο. Ο διαχειριστής μπορεί να απενεργοποιήσει αυτή την
επιλογή για να μειώσει την καταπόνηση των εκτυπωτών και να
ενθαρρύνει την χρήση φωτοτυπικών μηχανημάτων. Δείτε την
ενότητα Περιορισμός
Εκτύπωσης Πολλαπλών Αντιγράφων.Σε αυτό το παράδειγμα, εκτυπώνουμε στον προεπιλεγμένο
εκτυπωτή τρία αντίγραφα του
parser.c
και τρία αντίγραφα του
parser.h:&prompt.user; lpr parser.c parser.h-mΑποστολή mail μετά την ολοκλήρωση εκτύπωσης της εργασίας.
Με αυτή την επιλογή, το σύστημα
LPD στέλνει mail στο λογαριασμό
σας μόλις ολοκληρωθεί ο χειρισμός εκτύπωσης της εργασίας
σας. Στο μήνυμα του, θα σας ενημερώσει αν η εργασία
ολοκληρώθηκε επιτυχώς ή αν παρουσιάστηκε σφάλμα και (συχνά)
ποιό ήταν το σφάλμα.-sΔεν αντιγράφει τα αρχεία στον κατάλογο spool, αλλά
αντί για αυτό, δημιουργεί συμβολικές συντομεύσεις (symbolic
links) προς αυτά.Αν εκτυπώνετε μια μεγάλη εργασία, ίσως θέλετε να
χρησιμοποιήσετε αυτή την επιλογή. Θα σας γλυτώσει χώρο στον
κατάλογο spool (ίσως η εργασία σας να υπερβαίνει τον ελεύθερο
χώρο του συστήματος αρχείων που περιέχει τον κατάλογο
spool). Επίσης θα κερδίσετε χρόνο αφού το
LPD δεν θα χρειαστεί να αντιγράψει
όλη την εργασία σας στον κατάλογο spool.Αυτό, ωστόσο, έχει και ένα μειονέκτημα: από τη στιγμή που
το LPD θα κάνει αναφορά κατευθείαν
στο πρωτότυπο αρχείο, δεν θα έχετε δυνατότητα να μετατρέψετε
ή να διαγράψετε το αρχείο έως ότου εκτυπωθεί.Αν εκτυπώνετε σε ένα απομακρυσμένο εκτυπωτή, το
LPD πιθανώς θα χρειαστεί τελικά
να αντιγράψει τα αρχεία από τον τοπικό υπολογιστή στον
απομακρυσμένο, επομένως η επιλογή σε
αυτή την περίπτωση εξοικονομεί χώρο στον τοπικό κατάλογο
spool, αλλά όχι στον απομακρυσμένο. Εξακολουθεί ωστόσο να
είναι ιδιαίτερα χρήσιμη.-rΑπομακρύνει τα αρχεία της εργασίας μετά την αντιγραφή
τους στον κατάλογο spool, ή μετά την εκτύπωση τους με την
επιλογή . Να είστε προσεκτικοί με αυτή
την επιλογή!Επιλογές Σελίδων ΚεφαλίδαςΑυτές οι επιλογές του &man.lpr.1; ρυθμίζουν το κείμενο που
κανονικά εμφανίζεται στην σελίδα κεφαλίδας της εργασίας. Αν οι
σελίδες κεφαλίδας παρεμποδίζονται για τον συγκεκριμένο εκτυπωτή,
αυτές οι επιλογές δεν έχουν καμία επίδραση. Δείτε την ενότητα
Σελίδες
Κεφαλίδας για πληροφορίες σχετικά με τις ρυθμίσεις των
σελίδων κεφαλίδας.-C textΑντικαθιστά το όνομα υπολογιστή στη σελίδα κεφαλίδας με
text. Το όνομα υπολογιστή που
εμφανίζεται είναι, από προεπιλογή, το όνομα του υπολογιστή
από τον οποίο έγινε η αποστολή της εργασίας.-J textΑντικαθιστά το όνομα εργασίας στη σελίδα κεφαλίδας με
text. Το όνομα εργασίας που
εμφανίζεται από προεπιλογή, είναι το όνομα του πρώτου αρχείου
της εργασίας, ή stdin αν η εκτύπωση
γίνεται από το standard input.-hΔεν εκτυπώνει σελίδα κεφαλίδας.Ανάλογα με τις ρυθμίσεις, αυτή η επιλογή ίσως να μην
έχει επίδραση λόγω του τρόπου με τον οποίο δημιουργούνται οι
σελίδες κεφαλίδας. Για περισσότερες λεπτομέρειες, δείτε την
ενότητα Σελίδες
Κεφαλίδας.Διαχείριση ΕκτυπωτώνΩς διαχειριστής, χρειάστηκε να εγκαταστήσετε, να ρυθμίσετε και να
δοκιμάσετε τους εκτυπωτές σας. Χρησιμοποιώντας την εντολή
&man.lpc.8;, μπορείτε να επικοινωνήσετε με τους εκτυπωτές σας με ακόμη
περισσότερους τρόπους. Με την &man.lpc.8;, μπορείτε:Να εκκινείτε και να σταματάτε τους εκτυπωτέςΝα ενεργοποιείτε και να απενεργοποιείτε τις ουρές
αναμονήςΝα ανακατατάσσετε την σειρά εργασιών σε κάθε ουρά
αναμονής.Καταρχήν, μία σημείωση σχετικά με την ορολογία: αν ένας
εκτυπωτής είναι σταματημένος (stopped), δεν θα
εκτυπώσει τίποτε από την ουρά αναμονής εργασιών. Οι χρήστες μπορούν
ακόμη να στέλνουν εργασίες, οι οποίες μπαίνουν στην ουρά αναμονής έως
ότου ο εκτυπωτής ξεκινήσει ή καθαριστεί η ουρά
αναμονής.Αν έχει απενεργοποιηθεί η ουρά αναμονής,
κανείς χρήστης (εκτός του root) δεν μπορεί να
αποστείλει εργασίες στον εκτυπωτή. Μια ενεργή
ουρά αναμονής επιτρέπει να αποσταλούν εργασίες στον εκτυπωτή. Ένας
εκτυπωτής μπορεί να ξεκινήσει με ουρά
αναμονής απενεργοποιημένη, και σε αυτή την περίπτωση θα συνεχίσει να
εκτυπώνει τις εργασίες της ουράς έως ότου αυτή αδειάσει.Γενικά, πρέπει να έχετε προνόμια root για να
χρησιμοποιήσετε την εντολή &man.lpc.8;. Οι κανονικοί χρήστες
μπορούν να χρησιμοποιούν την εντολή &man.lpc.8; μόνο για να βλέπουν
την κατάσταση του εκτυπωτή και να επανεκκινούν τον εκτυπωτή σε
περίπτωση μπλοκαρίσματος.Παρακάτω θα βρείτε μια λίστα εντολών του &man.lpc.8;. Οι
περισσότερες από τις εντολές παίρνουν ως παράμετρο το
printer-name για τη ρύθμιση του
συγκεκριμένου εκτυπωτή. Μπορείτε να χρησιμοποιείτε
all στη θέση του
printer-name για να αναφερθείτε σε όλους
τους εκτυπωτές που είναι καταχωρισμένοι στο
/etc/printcap.abort printer-nameΔιαγράφει την τρέχουσα εργασία και σταματάει τον εκτυπωτή.
Οι χρήστες μπορούν ακόμη να αποστείλουν εργασίες αν η ουρά
αναμονής είναι ακόμη ενεργή.clean printer-nameΔιαγράφει τα παλιά αρχεία από τον κατάλογο spool του
εκτυπωτή. Σε κάποιες περιπτώσεις, τα αρχεία από τα οποία
αποτελείται κάποια εργασία δεν αφαιρούνται κανονικά από το
LPD, ειδικά αν υπήρξαν σφάλματα κατά
την εκτύπωση ή κάποιες ενέργειες από τον διαχειριστή. Αυτή η
εντολή βρίσκει αρχεία που δεν ανήκουν στον κατάλογο spool και
τα αφαιρεί.disable printer-nameΑπενεργοποιεί την ουρά αναμονής για νέες εργασίες. Αν ο
εκτυπωτής δουλεύει, θα συνεχίσει να εκτυπώνει τις
εναπομείναντες εργασίες στην ουρά αναμονής. Ο superuser
(root) μπορεί πάντα να στέλνει εργασίες,
ακόμη και σε απενεργοποιημένη σειρά αναμονής.Αυτή η εντολή είναι χρήσιμη, όταν ελέγχετε ένα νέο εκτυπωτή
ή όταν εγκαθιστάτε ένα φίλτρο: απενεργοποιήστε την ουρά
αναμονής και στείλτε εργασίες σαν root.
Οι υπόλοιποι χρήστες δεν θα έχουν δυνατότητα να αποστείλουν
εργασίες έως ότου ολοκληρώσετε τους ελέγχους σας και
επανενεργοποιήσετε την ουρά αναμονής με την εντολή
enable.down printer-namemessageΟδηγεί τον εκτυπωτή σε "κατέβασμα" (down). Είναι ισοδύναμο
με το disable ακολουθούμενο από ένα
stop. Το message
(μήνυμα) εμφανίζεται όταν κάποιος χρήστης ελέγχει την σειρά
αναμονής με &man.lpq.1; ή την κατάσταση του εκτυπωτή με
lpc status.enable
printer-nameΕνεργοποίηση της ουράς αναμονής του εκτυπωτή. Οι χρήστες
μπορούν να αποστείλουν εργασίες αλλά ο εκτυπωτής δεν θα τυπώσει
έως ότου ξεκινήσει.help
command-nameΤυπώνει σελίδες βοηθείας για την εντολή
command-name. Δίχως το
command-name, εκτυπώνει μια περίληψη
όλων των διαθέσιμων εντολών.restart printer-nameΞεκινά τον εκτυπωτή. Οι κανονικοί χρήστες μπορούν να
χρησιμοποιήσουν αυτή την εντολή μόνο σε κάποια ειδική
περίπτωση που το LPD δεν αποκρίνεται,
αλλά δεν μπορούν να ξεκινήσουν ένα εκτυπωτή που έχει σταματήσει
εξαιτίας των εντολών stop ή
down. Η εντολή restart
είναι ισοδύναμη με την abort ακολουθούμενη
από τη start.start printer-nameΞεκινά τον εκτυπωτή. Ο εκτυπωτής θα τυπώσει εργασίες από
την ουρά αναμονής του.stop
printer-nameΣταματάει τον εκτυπωτή. Ο εκτυπωτής θα ολοκληρώσει την
τρέχουσα εργασία του και δεν θα τυπώσει καμία άλλη εργασία από
την ουρά αναμονής του. Ακόμη και αν ο εκτυπωτής είναι
σταματημένος, οι χρήστες μπορούν ακόμη να στέλνουν εργασίες αν
είναι ενεργοποιημένη η ουρά αναμονής.topq printer-namejob-or-usernameΑνακατάταξη της ουράς αναμονής για τον
printer-name. Τοποθετούνται πρώτες
οι εργασίες με αριθμό αναφοράς job ή
αυτές που ανήκουν στο χρήστη
username. Για αυτή την εντολή, δεν
μπορείτε να χρησιμοποιήσετε all στην θέση του
printer-name.up printer-nameΟδηγεί τον εκτυπωτή σε "ανέβασμα" (up). Το αντίθετο της
εντολής down. Ισοδυναμεί με την
start ακολουθούμενη από την εντολή
enable.Το &man.lpc.8; δέχεται τις παραπάνω εντολές στην γραμμή εντολών.
Αν δεν εισάγετε καμία εντολή, το &man.lpc.8; μπαίνει σε κατάσταση
αλληλεπίδρασης (interactive), όπου μπορείτε να πληκτρολογείτε εντολές
μέχρι να δώσετε exit,
quit, ή end-of-file.Εναλλακτικές Λύσεις για τον Στάνταρ SpoolerΑν έχετε μελετήσει πιστά όλο το κεφάλαιο μέχρι εδώ, θα έχετε μάθει
σχεδόν τα πάντα σχετικά με το σύστημα παροχέτευσης
LPD που διατίθεται με το &os;. Θα έχετε
κατανοήσει και πολλές από τις ελλείψεις του, που φυσικά γεννούν το
ερώτημα: Ποια άλλα συστήματα παροχέτευσης (που να λειτουργούν
στο &os;) υπάρχουν διαθέσιμα;LPRngLPRngΤο LPRng, το οποίο σκόπιμα
σημαίνει LPR: the Next Generation (η Επόμενη
Γενιά) είναι μια από την αρχή υλοποίηση του PLP.
Ο Patrick Powell και ο Justin Mason (κύριος συντηρητής του PLP)
συνεργάστηκαν για να φτιάξουν το
LPRng. Η κύρια τοποθεσία του
LPRng είναι η .CUPSCUPSΤο CUPS, ή αλλιώς Common UNIX
Printing System, παρέχει μια φορητή πλατφόρμα εκτυπώσεων για
λειτουργικά συστήματα βασισμένα στο &unix;. Αναπτύχθηκε από την
Easy Software Products για να προωθήσει μια στάνταρ λύση
εκτυπώσεων για όλους τους χρήστες και κατασκευαστές
&unix;.Το CUPS χρησιμοποιεί το πρωτόκολλο
Internet Printing Protocol (IPP) ως βάση του
για τη διαχείριση εργασιών εκτύπωσης και ουρών αναμονής.
Υποστηρίζονται επίσης, αλλά με μειωμένη λειτουργικότητα, τα
πρωτόκολλα Line Printer Daemon (LPD), Server
Message Block (SMB), και AppSocket (γνωστό ως
JetDirect). Το CUPS προσθέτει δυνατότητες ανίχνευσης δικτυακών
εκτυπωτών, ενώ μέσω των επιλογών PostScript Printer Description
(PPD) γίνεται εφικτή η υποστήριξη
σύγχρονων εκτυπωτών στον κόσμο του &unix;.Η κύρια τοποθεσία του CUPS είναι η
.Εντοπισμός ΒλαβώνΜετά την εκτέλεση του απλού τεστ με το &man.lptest.1;, αντί της
κανονικής εκτύπωσης, μπορεί να έχετε λάβει ως αποτέλεσμα μία από τις
ακόλουθες καταστάσεις:Ο εκτυπωτής καθυστέρησε να ξεκινήσει ή δεν εκτύπωσε ολόκληρη τη
σελίδα.Ο εκτυπωτής τύπωσε το τεστ, αλλά δεν ξεκίνησε αμέσως. Ίσως
χρειάστηκε να πιέσετε το πλήκτρο PRINT REMAINING ή το FORM FEED
του εκτυπωτή σας για να εμφανιστεί το επιθυμητό αποτέλεσμα.Εάν είναι όντως αυτή η περίπτωση σας, ο εκτυπωτής πιθανώς
να ήταν σε αναμονή για να εξακριβώσει αν υπήρχαν πρόσθετα δεδομένα
στην εργασία εκτύπωσης πριν ξεκινήσει να εκτυπώνει οτιδήποτε. Για
να διορθώσετε το πρόβλημα, μπορείτε να θέσετε το φίλτρο κειμένου
να στέλνει ένα χαρακτήρα FORM FEED (ή άλλο κατάλληλο) στον
εκτυπωτή. Αυτό συνήθως είναι αρκετό για να μπορείτε να εκτυπώνετε
κατευθείαν οποιοδήποτε κείμενο απομένει σε αναμονή στην εσωτερική
μνήμη (buffer) του εκτυπωτή. Είναι επίσης χρήσιμο να ρυθμίζετε
τις εκτυπώσεις σας ώστε να τελειώνουν με γεμάτη την τελευταία
σελίδα, ώστε η επόμενη εργασία να μην αρχίζει από τα μισά του
προηγούμενου φύλλου.Η ακόλουθη τροποποίηση στο shell script
/usr/local/libexec/if-simple εκτυπώνει ένα
form feed μετά την αποστολή της εργασίας στον εκτυπωτή:#!/bin/sh
#
# if-simple - Simple text input filter for lpd
# Installed in /usr/local/libexec/if-simple
#
# Simply copies stdin to stdout. Ignores all filter arguments.
# Writes a form feed character (\f) after printing job.
/bin/cat && printf "\f" && exit 0
exit 2Η εκτύπωση παρουσιάζει φαινόμενο σκάλας (staircase
effect).Στην εκτύπωση σας φαίνεται το ακόλουθο:!"#$%&'()*+,-./01234
"#$%&'()*+,-./012345
#$%&'()*+,-./0123456MS-DOSOS/2ASCIIΓίνατε ένα ακόμα θύμα του
φαινομένου σκάλας, που προκλήθηκε από
αντιφατικές ερμηνείες των χαρακτήρων με τους οποίους δηλώνεται η
τροφοδοσία νέας γραμμής. Τα λειτουργικά συστήματα τύπου &unix;
χρησιμοποιούν έναν μόνο χαρακτήρα ASCII με κωδικό 10, τον line
feed (τροφοδοσία γραμμής, LF). Το &ms-dos;, το &os2;, και διάφορα
άλλα, χρησιμοποιούν ένα ζεύγος χαρακτήρων ASCII κωδικού 10
και ASCII κωδικού 13 (τον carriage return ή
αλλιώς CR). Πολλοί εκτυπωτές χρησιμοποιούν την σύμβαση του
&ms-dos; για την αλλαγή γραμμής.Όταν εκτυπώνετε με το &os;, το κείμενο σας απλά χρησιμοποιεί
τον χαρακτήρα τροφοδοσίας γραμμής (line feed). Ο εκτυπωτής, μόλις
αντιληφθεί τον χαρακτήρα line feed, προωθεί το χαρτί κατά μία
γραμμή, αλλά κρατάει την ίδια θέση οριζόντια καθώς καλείται να
εκτυπώσει τον επόμενο χαρακτήρα. Σε αυτό το σημείο
χρησιμοποιείται το CR (carriage return): μετακινεί δηλαδή την
θέση εργασίας για τον επόμενο χαρακτήρα που πρόκειται να
εκτυπωθεί στο αριστερό άκρο του χαρτιού.Το &os; επιθυμεί ο εκτυπωτής να μπορεί να ενεργεί ως
εξής:Όταν ο εκτυπωτής λαμβάνει CRΝα εκτυπώνει CRΌταν ο εκτυπωτής λαμβάνει LFΝα εκτυπώνει CR + LFΥπάρχουν διάφοροι τρόποι για να επιτευχθεί αυτό:Χρησιμοποιήστε τα πλήκτρα ρύθμισης του εκτυπωτή ή
τον πίνακα ελέγχου για να αλλάξετε τον τρόπο με τον οποίο
ερμηνεύει αυτούς τους χαρακτήρες ο εκτυπωτής σας.
Συμβουλευτείτε το εγχειρίδιο χρήσης του για να δείτε πως
μπορεί να γίνει αυτό.Αν έχετε και άλλα λειτουργικά στο σύστημα σας εκτός από
το &os;, πιθανόν να χρειαστεί, όταν τα χρησιμοποιείτε, να
επαναρυθμίσετε τον εκτυπωτή σας ώστε
να ερμηνεύει διαφορετικά τους χαρακτήρες CR και LF.
Στην περίπτωση αυτή, ίσως είναι καλύτερο να προτιμήσετε
κάποια από τις λύσεις που ακολουθούν.Ο οδηγός (driver) της σειριακής γραμμής του &os; μπορεί να
μετατρέπει αυτόματα από LF σε CR+LF. Φυσικά, αυτό δουλεύει
μόνο σε σειριακές θύρες.
Για να ενεργοποιήσετε αυτή την λειτουργία, χρησιμοποιήστε την
ικανότητα ms# και ορίστε την κατάσταση
λειτουργίας onlcr στο αρχείο
/etc/printcap για τον εκτυπωτή.Στείλτε ένα
κωδικό διαφυγής (escape code) στον
εκτυπωτή ώστε να χειρίζεται προσωρινά τους χαρακτήρες LF με
διαφορετικό τρόπο. Συμβουλευτείτε το εγχειρίδιο χρήσης του
εκτυπωτή σας για τους κώδικες διαφυγής που υποστηρίζονται.
Όταν ανακαλύψετε τον κατάλληλο, μετατρέψτε το φίλτρο κειμένου
ώστε να στέλνει πρώτα τον κωδικό, και έπειτα την εργασία στον
εκτυπωτή.PCLΕδώ είναι ένα παράδειγμα φίλτρου κειμένου για εκτυπωτές
που καταλαβαίνουν τους κωδικούς διαφυγής PCL της
Hewlett-Packard. Αυτό το φίλτρο κάνει τον εκτυπωτή να
χειρίζεται τους χαρακτήρες LF ως LF και CR. Έπειτα αποστέλλει
την εργασία, στέλνοντας στο τέλος της ένα χαρακτήρα αλλαγής
σελίδας (form feed) ώστε να γίνει σωστή εξαγωγή της τελευταίας
σελίδας. Το φίλτρο αυτό θα πρέπει να δουλεύει με σχεδόν
όλους τους εκτυπωτές της Hewlett Packard.#!/bin/sh
#
# hpif - Simple text input filter for lpd for HP-PCL based printers
# Installed in /usr/local/libexec/hpif
#
# Simply copies stdin to stdout. Ignores all filter arguments.
# Tells printer to treat LF as CR+LF. Ejects the page when done.
printf "\033&k2G" && cat && printf "\033&l0H" && exit 0
exit 2Εδώ είναι ένα παράδειγμα για το
/etc/printcap ενός υπολογιστή με όνομα
orchid. Έχει ένα μόνο εκτυπωτή στην πρώτη
παράλληλη θύρα του, ένα Hewlett Packard LaserJet 3Si με όνομα
teak. Χρησιμοποιεί το παραπάνω script ως
φίλτρο κειμένου:#
# /etc/printcap for host orchid
#
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\
:lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\
:if=/usr/local/libexec/hpif:Εκτυπώνεται η μία γραμμή πάνω στην άλλη.Ο εκτυπωτής δεν προωθεί καθόλου το χαρτί και όλες οι γραμμές
κειμένου τυπώνονται η μία πάνω από την άλλη, σε μία γραμμή.Αυτό το πρόβλημα είναι το αντίστροφο του
φαινόμενου σκάλας, που περιγράψαμε προηγουμένως, και είναι πολύ
σπάνιο. Σε κάποιο σημείο, οι χαρακτήρες LF που χρησιμοποιεί το
&os; για να τερματίσει την γραμμή, ερμηνεύονται ως χαρακτήρες CR
οι οποίοι επιστρέφουν την κεφαλή στο αριστερό άκρο του χαρτιού,
αλλά δίχως να προωθήσουν το χαρτί μία γραμμή προς τα κάτω.Χρησιμοποιήστε τους διακόπτες ρυθμίσεων του εκτυπωτή ή τον
πίνακα ελέγχου για να θέσετε τις ακόλουθες επιλογές για τα LF και
CR characters:Ο εκτυπωτής λαμβάνειΟ εκτυπωτής τυπώνειCRCRLFCR + LFΟ εκτυπωτής δεν εκτυπώνει (χάνει) κάποιους χαρακτήρες.Ο εκτυπωτής, ενώ είναι σε λειτουργία εκτύπωσης, δεν εκτυπώνει
κάποιους χαρακτήρες σε όλες τις γραμμές. Το πρόβλημα πιθανώς να
γίνεται εντονότερο καθώς η εκτύπωση εξελίσσεται, χάνοντας ακόμη
περισσότερους χαρακτήρες.Το πρόβλημα είναι πως ο εκτυπωτής, καθώς εκτυπώνει, δεν
προλαβαίνει να ακολουθήσει την ταχύτητα με την οποία ο
υπολογιστής στέλνει δεδομένα μέσω της σειριακής διασύνδεσης (αυτό
το πρόβλημα δεν πρέπει κανονικά να συμβαίνει σε εκτυπωτές
συνδεμένους σε παράλληλες θύρες). Υπάρχουν δύο τρόποι για να
ξεπεραστεί αυτό το πρόβλημα:Εάν ο εκτυπωτής υποστηρίζει έλεγχο ροής XON/XOFF, ρυθμίστε
το &os; να τον χρησιμοποιήσει ορίζοντας την κατάσταση
λειτουργίας ixon με την ικανότητα
ms#.Εάν ο εκτυπωτής υποστηρίζει έλεγχο ροής τύπου Request to
Send / Clear to Send (hardware handshake, γνωστό και με την
ονομασία RTS/CTS), πρέπει να οριστεί η
κατάσταση λειτουργίας crtscts στην
ικανότητα ms#. Βεβαιωθείτε πως το καλώδιο
που συνδέει τον εκτυπωτή με τον υπολογιστή είναι σωστά
φτιαγμένο για χρήση αυτού του ελέγχου ροής.Ο εκτυπωτής τυπώνει σκουπίδια.Ο εκτυπωτής τύπωσε κάτι που αποκαλούμε τυχαία σκουπίδια,
εννοώντας οτιδήποτε εκτός του επιθυμητού κειμένου.Αυτό είναι συνήθως ένα ακόμα σύμπτωμα λανθασμένων παραμέτρων
σειριακής επικοινωνίας με τον εκτυπωτή. Ελέγξτε ξανά την τιμή bps
rate στην ικανότητα br, και την ρύθμιση parity
στην ικανότητα ms#. Βεβαιωθείτε πως ο
εκτυπωτής χρησιμοποιεί τις ίδιες ρυθμίσεις που έχουν καθοριστεί
στο αρχείο /etc/printcap.Δεν συνέβη τίποτε, ο εκτυπωτής δεν ξεκίνησε καν.Αν δεν συνέβη τίποτε, το πρόβλημα πιθανόν να οφείλεται
στο &os; και όχι στο hardware. Προσθέστε την ικανότητα αρχείου
καταγραφής (log file, lf) στο αρχείο
/etc/printcap, στην καταχώριση του εκτυπωτή
που έχει το πρόβλημα. Για παράδειγμα, εδώ είναι η καταχώριση για
τον rattan, με την ικανότητα
lf:rattan|line|diablo|lp|Diablo 630 Line Printer:\
:sh:sd=/var/spool/lpd/rattan:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/if-simple:\
:lf=/var/log/rattan.logΈπειτα, προσπαθήστε να ξαναεκτυπώσετε. Ελέγξτε το αρχείο
καταγραφής (log) (στο παράδειγμα μας,
/var/log/rattan.log) για να βρείτε πιθανές
αναφορές σφαλμάτων. Με βάση τα μηνύματα που βλέπετε, προσπαθήστε
να διορθώσετε το πρόβλημα.Αν δεν καθορίσετε την ικανότητα lf, το
LPD χρησιμοποιεί από προεπιλογή το
/dev/console.
diff --git a/el_GR.ISO8859-7/books/handbook/security/chapter.sgml b/el_GR.ISO8859-7/books/handbook/security/chapter.sgml
index 4de023e255..5485ca24ca 100644
--- a/el_GR.ISO8859-7/books/handbook/security/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/security/chapter.sgml
@@ -1,4995 +1,4996 @@
MatthewDillonΤο μεγαλύτερο μέρος αυτού του κεφαλαίου προέρχεται από την
σελίδα του manual της security(7) από τον ΑσφάλειαασφάλειαΣύνοψηΤο κεφάλαιο αυτό παρέχει μια βασική εισαγωγή στις έννοιες της
ασφάλειας συστήματος, κάποιους γενικά καλούς κανόνες, και ορισμένα
προχωρημένα θέματα σχετικά με το &os;. Αρκετά από τα θέματα που
καλύπτονται εδώ, μπορούν να εφαρμοστούν το ίδιο καλά τόσο στο ίδιο το
σύστημα, όσο και για ασφάλεια μέσω Internet. Το Internet δεν είναι
πλέον ένα φιλικό μέρος στο οποίο καθένας θέλει να είναι
ο ευγενικός σας γείτονας. Η ανάγκη ασφάλισης του συστήματος σας είναι
επιτακτική για να προστατέψετε τα δεδομένα σας,την πνευματική σας
ιδιοκτησία, το χρόνο σας, και πολλά περισσότερα από τα χέρια των χάκερς
και των ομοίων τους.Το &os; παρέχει μια σειρά από βοηθητικά προγράμματα και μηχανισμούς
για να εξασφαλίσει την ακεραιότητα και την ασφάλεια του συστήματος σας
και του δικτύου.Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε:Βασικές έννοιες για την ασφάλεια, σε σχέση με το &os;.Στοιχεία σχετικά με τους διάφορους μηχανισμούς κρυπτογράφησης
που είναι διαθέσιμοι στο &os;, όπως το DES και
το MD5.Πως να ρυθμίσετε το σύστημα σας για κωδικούς μιας χρήσης.Πως να ρυθμίσετε TCP Wrappers για χρήση με
την inetd.Πως να ρυθμίσετε τον KerberosIV σε
&os; εκδόσεις πριν τη 5.0.Πως να ρυθμίσετε τον Kerberos5 στο
&os;.Πως να ρυθμίσετε το IPsec και να δημιουργήσετε ένα
VPN μεταξύ μηχανημάτων &os;/&windows;.Πως να ρυθμίσετε και να χρησιμοποιήσετε την κατά &os; υλοποίηση
SSH του OpenSSHΤι είναι τα ACLs στο σύστημα αρχείων και πως
να τα χρησιμοποιήσετε.Πως να χρησιμοποιήσετε το βοηθητικό πρόγραμμα
Portaudit για να ελέγξετε λογισμικό
τρίτου κατασκευαστή που έχει εγκατασταθεί μέσω της συλλογής Ports.
Πως να χρησιμοποιήσετε τις δημοσιεύσεις security advisories
του &os;.Θα έχετε μια ιδέα για το τι είναι το Process Accounting και πως
να το ενεργοποιήσετε στο &os;.Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:Να κατανοείτε βασικές έννοιες του &os; και του Internet.Πρόσθετα θέματα σχετικά με την ασφάλεια καλύπτονται σε ολόκληρο το
βιβλίο. Για παράδειγμα, ο Υποχρεωτικός Έλεγχος Πρόσβασης συζητείται
στο και τα Internet Firewalls συζητούνται στο
.IntroductionSecurity is a function that begins and ends with the system
administrator. While all BSD &unix; multi-user systems have some
inherent security, the job of building and maintaining additional
security mechanisms to keep those users honest is
probably one of the single largest undertakings of the sysadmin.
Machines are only as secure as you make them, and security concerns
are ever competing with the human necessity for convenience. &unix;
systems, in general, are capable of running a huge number of
simultaneous processes and many of these processes operate as
servers — meaning that external entities can connect and talk
to them. As yesterday's mini-computers and mainframes become
today's desktops, and as computers become networked and
inter-networked, security becomes an even bigger issue.System security also pertains to dealing with various forms of
attack, including attacks that attempt to crash, or otherwise make a
system unusable, but do not attempt to compromise the
root account (break root).
Security concerns
can be split up into several categories:Denial of service attacks.User account compromises.Root compromise through accessible servers.Root compromise via user accounts.Backdoor creation.DoS attacksDenial of Service (DoS)securityDoS attacksDenial of Service (DoS)Denial of Service (DoS)A denial of service attack is an action that deprives the
machine of needed resources. Typically, DoS attacks are
brute-force mechanisms that attempt to crash or otherwise make a
machine unusable by overwhelming its servers or network stack. Some
DoS attacks try to take advantage of bugs in the networking
stack to crash a machine with a single packet. The latter can only
be fixed by applying a bug fix to the kernel. Attacks on servers
can often be fixed by properly specifying options to limit the load
the servers incur on the system under adverse conditions.
Brute-force network attacks are harder to deal with. A
spoofed-packet attack, for example, is nearly impossible to stop,
short of cutting your system off from the Internet. It may not be
able to take your machine down, but it can saturate your
Internet connection.securityaccount compromisesA user account compromise is even more common than a DoS
attack. Many sysadmins still run standard
telnetd, rlogind,
rshd,
and ftpd servers on their machines.
These servers, by default, do
not operate over encrypted connections. The result is that if you
have any moderate-sized user base, one or more of your users logging
into your system from a remote location (which is the most common
and convenient way to login to a system) will have his or her
password sniffed. The attentive system admin will analyze his
remote access logs looking for suspicious source addresses even for
successful logins.One must always assume that once an attacker has access to a
user account, the attacker can break root.
However, the reality is that in a well secured and maintained system,
access to a user account does not necessarily give the attacker
access to root. The distinction is important
because without access to root the attacker
cannot generally hide his tracks and may, at best, be able to do
nothing more than mess with the user's files, or crash the machine.
User account compromises are very common because users tend not to
take the precautions that sysadmins take.securitybackdoorsSystem administrators must keep in mind that there are
potentially many ways to break root on a machine.
The attacker may know the root password,
the attacker may find a bug in a root-run server and be able
to break root over a network
connection to that server, or the attacker may know of a bug in
a suid-root program that allows the attacker to break
root once he has broken into a user's account.
If an attacker has found a way to break root
on a machine, the attacker may not have a need
to install a backdoor. Many of the root holes
found and closed to date involve a considerable amount of work
by the attacker to cleanup after himself, so most attackers install
backdoors. A backdoor provides the attacker with a way to easily
regain root access to the system, but it
also gives the smart system administrator a convenient way
to detect the intrusion.
Making it impossible for an attacker to install a backdoor may
actually be detrimental to your security, because it will not
close off the hole the attacker found to break in the first
place.Security remedies should always be implemented with a
multi-layered onion peel approach and can be
categorized as follows:Securing root and staff accounts.Securing root–run servers
and suid/sgid binaries.Securing user accounts.Securing the password file.Securing the kernel core, raw devices, and
file systems.Quick detection of inappropriate changes made to the
system.Paranoia.The next section of this chapter will cover the above bullet
items in greater depth.Securing &os;securitysecuring &os;Command vs. ProtocolThroughout this document, we will use
bold text to refer to an
application, and a monospaced font to refer
to specific commands. Protocols will use a normal font. This
typographical distinction is useful for instances such as ssh,
since it is
a protocol as well as command.The sections that follow will cover the methods of securing your
&os; system that were mentioned in the last section of this chapter.Securing the root Account and
Staff AccountssuFirst off, do not bother securing staff accounts if you have
not secured the root account.
Most systems have a password assigned to the root
account. The first thing you do is assume
that the password is always compromised.
This does not mean that you should remove the password. The
password is almost always necessary for console access to the
machine. What it does mean is that you should not make it
possible to use the password outside of the console or possibly
even with the &man.su.1; command. For example, make sure that
your ptys are specified as being insecure in the
/etc/ttys file so that direct
root logins
via telnet or rlogin are
disallowed. If using other login services such as
sshd, make sure that direct
root logins are disabled there as well.
You can do this by editing
your /etc/ssh/sshd_config file, and making
sure that PermitRootLogin is set to
NO. Consider every access method —
services such as FTP often fall through the cracks.
Direct root logins should only be allowed
via the system console.wheelOf course, as a sysadmin you have to be able to get to
root, so we open up a few holes.
But we make sure these holes require additional password
verification to operate. One way to make root
accessible is to add appropriate staff accounts to the
wheel group (in
/etc/group). The staff members placed in the
wheel group are allowed to
su to root.
You should never give staff
members native wheel access by putting them in the
wheel group in their password entry. Staff
accounts should be placed in a staff group, and
then added to the wheel group via the
/etc/group file. Only those staff members
who actually need to have root access
should be placed in the
wheel group. It is also possible, when using
an authentication method such as Kerberos, to use Kerberos'
.k5login file in the root
account to allow a &man.ksu.1; to root
without having to place anyone at all in the
wheel group. This may be the better solution
since the wheel mechanism still allows an
intruder to break root if the intruder
has gotten hold of your
password file and can break into a staff account. While having
the wheel mechanism is better than having
nothing at all, it is not necessarily the safest option.An indirect way to secure staff accounts, and ultimately
root access is to use an alternative
login access method and
do what is known as starring out the encrypted
password for the staff accounts. Using the &man.vipw.8;
command, one can replace each instance of an encrypted password
with a single * character.
This command will update the /etc/master.passwd
file and user/password database to disable password-authenticated
logins.A staff account entry such as:foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcshShould be changed to this:foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcshThis change will prevent normal logins from occurring,
since the encrypted password will never match
*. With this done,
staff members must use
another mechanism to authenticate themselves such as
&man.kerberos.1; or &man.ssh.1; using a public/private key
pair. When using something like Kerberos, one generally must
secure the machines which run the Kerberos servers and your
desktop workstation. When using a public/private key pair
with ssh, one must generally secure
the machine used to login from (typically
one's workstation). An additional layer of protection can be
added to the key pair by password protecting the key pair when
creating it with &man.ssh-keygen.1;. Being able to
star out the passwords for staff accounts also
guarantees that staff members can only login through secure
access methods that you have set up. This forces all staff
members to use secure, encrypted connections for all of their
sessions, which closes an important hole used by many
intruders: sniffing the network from an unrelated,
less secure machine.The more indirect security mechanisms also assume that you are
logging in from a more restrictive server to a less restrictive
server. For example, if your main box is running all sorts of
servers, your workstation should not be running any. In order for
your workstation to be reasonably secure you should run as few
servers as possible, up to and including no servers at all, and
you should run a password-protected screen blanker. Of course,
given physical access to a workstation an attacker can break any
sort of security you put on it. This is definitely a problem that
you should consider, but you should also consider the fact that the
vast majority of break-ins occur remotely, over a network, from
people who do not have physical access to your workstation or
servers.KerberosIVUsing something like Kerberos also gives you the ability to
disable or change the password for a staff account in one place,
and have it immediately affect all the machines on which the staff
member may have an account. If a staff member's account gets
compromised, the ability to instantly change his password on all
machines should not be underrated. With discrete passwords,
changing a password on N machines can be a mess. You can also
impose re-passwording restrictions with Kerberos: not only can a
Kerberos ticket be made to timeout after a while, but the Kerberos
system can require that the user choose a new password after a
certain period of time (say, once a month).Securing Root-run Servers and SUID/SGID BinariesntalkcomsatfingersandboxessshdtelnetdrshdrlogindThe prudent sysadmin only runs the servers he needs to, no
more, no less. Be aware that third party servers are often the
most bug-prone. For example, running an old version of
imapd or
popper is like giving a universal
root ticket out to the entire world.
Never run a server that you have not checked out carefully.
Many servers do not need to be run as root.
For example, the ntalk,
comsat, and
finger daemons can be run in special
user sandboxes. A sandbox is not perfect,
unless you go through a large amount of trouble, but the onion
approach to security still stands: If someone is able to break
in through a server running in a sandbox, they still have to
break out of the sandbox. The more layers the attacker must
break through, the lower the likelihood of his success. Root
holes have historically been found in virtually every server
ever run as root, including basic system servers.
If you are running a machine through which people only login via
sshd and never login via
telnetd or
rshd or
rlogind, then turn off those
services!&os; now defaults to running
ntalkd,
comsat, and
finger in a sandbox. Another program
which may be a candidate for running in a sandbox is &man.named.8;.
/etc/defaults/rc.conf includes the arguments
necessary to run named in a sandbox in a
commented-out form. Depending on whether you are installing a new
system or upgrading an existing system, the special user accounts
used by these sandboxes may not be installed. The prudent
sysadmin would research and implement sandboxes for servers
whenever possible.sendmailThere are a number of other servers that typically do not run
in sandboxes: sendmail,
popper,
imapd, ftpd,
and others. There are alternatives to some of these, but
installing them may require more work than you are willing to
perform (the convenience factor strikes again). You may have to
run these servers as root and rely on other
mechanisms to detect break-ins that might occur through them.The other big potential root holes in a
system are the
suid-root and sgid binaries installed on the system. Most of
these binaries, such as rlogin, reside
in /bin, /sbin,
/usr/bin, or /usr/sbin.
While nothing is 100% safe, the system-default suid and sgid
binaries can be considered reasonably safe. Still,
root holes are occasionally found in these
binaries. A root hole was found in
Xlib in 1998 that made
xterm (which is typically suid)
vulnerable. It is better to be safe than sorry and the prudent
sysadmin will restrict suid binaries, that only staff should run,
to a special group that only staff can access, and get rid of
(chmod 000) any suid binaries that nobody uses.
A server with no display generally does not need an
xterm binary. Sgid binaries can be
almost as dangerous. If an intruder can break an sgid-kmem binary,
the intruder might be able to read /dev/kmem
and thus read the encrypted password file, potentially compromising
any passworded account. Alternatively an intruder who breaks
group kmem can monitor keystrokes sent through
ptys, including ptys used by users who login through secure
methods. An intruder that breaks the tty
group can write to
almost any user's tty. If a user is running a terminal program or
emulator with a keyboard-simulation feature, the intruder can
potentially generate a data stream that causes the user's terminal
to echo a command, which is then run as that user.Securing User AccountsUser accounts are usually the most difficult to secure. While
you can impose draconian access restrictions on your staff and
star out their passwords, you may not be able to
do so with any general user accounts you might have. If you do
have sufficient control, then you may win out and be able to secure
the user accounts properly. If not, you simply have to be more
vigilant in your monitoring of those accounts. Use of
ssh and Kerberos for user accounts is
more problematic, due to the extra administration and technical
support required, but still a very good solution compared to a
encrypted password file.Securing the Password FileThe only sure fire way is to star out as many
passwords as you can and use ssh or
Kerberos for access to those accounts. Even though the encrypted
password file (/etc/spwd.db) can only be read
by root, it may be possible for an intruder
to obtain read access to that file even if the attacker cannot
obtain root-write access.Your security scripts should always check for and report
changes to the password file (see the Checking file integrity section
below).Securing the Kernel Core, Raw Devices, and
File systemsIf an attacker breaks root he can do
just about anything, but
there are certain conveniences. For example, most modern kernels
have a packet sniffing device driver built in. Under &os; it
is called the bpf device. An intruder
will commonly attempt to run a packet sniffer on a compromised
machine. You do not need to give the intruder the capability and
most systems do not have the need for the
bpf device compiled in.sysctlBut even if you turn off the bpf
device, you still have
/dev/mem and
/dev/kmem
to worry about. For that matter, the intruder can still write to
raw disk devices. Also, there is another kernel feature called
the module loader, &man.kldload.8;. An enterprising intruder can
use a KLD module to install his own bpf
device, or other sniffing
device, on a running kernel. To avoid these problems you have to
run the kernel at a higher secure level, at least securelevel 1.
The securelevel can be set with a sysctl on
the kern.securelevel variable. Once you have
set the securelevel to 1, write access to raw devices will be
denied and special chflags flags,
such as schg,
will be enforced. You must also ensure that the
schg flag is set on critical startup binaries,
directories, and script files — everything that gets run up
to the point where the securelevel is set. This might be overdoing
it, and upgrading the system is much more difficult when you
operate at a higher secure level. You may compromise and run the
system at a higher secure level but not set the
schg flag for every system file and directory
under the sun. Another possibility is to simply mount
/ and /usr read-only.
It should be noted that being too draconian in what you attempt to
protect may prevent the all-important detection of an
intrusion.Checking File Integrity: Binaries, Configuration Files,
Etc.When it comes right down to it, you can only protect your core
system configuration and control files so much before the
convenience factor rears its ugly head. For example, using
chflags to set the schg bit
on most of the files in / and
/usr is probably counterproductive, because
while it may protect the files, it also closes a detection window.
The last layer of your security onion is perhaps the most
important — detection. The rest of your security is pretty
much useless (or, worse, presents you with a false sense of
security) if you cannot detect potential intrusions. Half the job
of the onion is to slow down the attacker, rather than stop him, in
order to be able to catch him in the act.The best way to detect an intrusion is to look for modified,
missing, or unexpected files. The best way to look for modified
files is from another (often centralized) limited-access system.
Writing your security scripts on the extra-secure limited-access
system makes them mostly invisible to potential attackers, and this
is important. In order to take maximum advantage you generally
have to give the limited-access box significant access to the
other machines in the business, usually either by doing a
read-only NFS export of the other machines to the limited-access
box, or by setting up ssh key-pairs to
allow the limited-access box to ssh to
the other machines. Except for its network traffic, NFS is the
least visible method — allowing you to monitor the
file systems on each client box virtually undetected. If your
limited-access server is connected to the client boxes through a
switch, the NFS method is often the better choice. If your
limited-access server is connected to the client boxes through a
hub, or through several layers of routing, the NFS method may be
too insecure (network-wise) and using
ssh may be the better choice even with
the audit-trail tracks that ssh
lays.Once you have given a limited-access box at least read access to the
client systems it is supposed to monitor, you must write scripts
to do the actual monitoring. Given an NFS mount, you can write
scripts out of simple system utilities such as &man.find.1; and
&man.md5.1;. It is best to physically md5 the client-box files
at least once a day, and to test control files such as those
found in /etc and
/usr/local/etc even more often. When
mismatches are found, relative to the base md5 information the
limited-access machine knows is valid, it should scream at a
sysadmin to go check it out. A good security script will also
check for inappropriate suid binaries and for new or deleted files
on system partitions such as / and
/usr.When using ssh rather than NFS,
writing the security script is much more difficult. You
essentially have to scp the scripts to the client
box in order to
run them, making them visible, and for safety you also need to
scp the binaries (such as find) that those
scripts use. The ssh client on the
client box may already be compromised. All in all, using
ssh may be necessary when running over
insecure links, but it is also a lot harder to deal with.A good security script will also check for changes to user and
staff members access configuration files:
.rhosts, .shosts,
.ssh/authorized_keys and so forth,
files that might fall outside the purview of the
MD5 check.If you have a huge amount of user disk space, it may take too
long to run through every file on those partitions. In this case,
setting mount flags to disallow suid binaries and devices on those
partitions is a good idea. The nodev and
nosuid options (see &man.mount.8;) are what you
want to look into. You should probably scan them anyway, at least
once a week, since the object of this layer is to detect a break-in
attempt, whether or not the attempt succeeds.Process accounting (see &man.accton.8;) is a relatively
low-overhead feature of the operating system which might help
as a post-break-in evaluation mechanism. It is especially
useful in tracking down how an intruder has actually broken into
a system, assuming the file is still intact after the break-in has
occured.Finally, security scripts should process the log files, and the
logs themselves should be generated in as secure a manner as
possible — remote syslog can be very useful. An intruder
will try to cover his tracks, and log files are critical to the
sysadmin trying to track down the time and method of the initial
break-in. One way to keep a permanent record of the log files is
to run the system console to a serial port and collect the
information to a secure machine monitoring the consoles.ParanoiaA little paranoia never hurts. As a rule, a sysadmin can add
any number of security features, as long as they do not affect
convenience, and can add security features that
do affect convenience with some added thought.
Even more importantly, a security administrator should mix it up a
bit — if you use recommendations such as those given by this
document verbatim, you give away your methodologies to the
prospective attacker who also has access to this document.Denial of Service AttacksDenial of Service (DoS)This section covers Denial of Service attacks. A DoS attack
is typically a packet attack. While there is not much you can do
about modern spoofed packet attacks that saturate your network,
you can generally limit the damage by ensuring that the attacks
cannot take down your servers by:Limiting server forks.Limiting springboard attacks (ICMP response attacks, ping
broadcast, etc.).Overloading the Kernel Route Cache.A common DoS attack scenario is attacking a forking server and
making it spawning so many child processes that the host system
eventually runs out of memory, file descriptors, etc. and then
grinds to a halt. inetd
(see &man.inetd.8;) has several
options to limit this sort of attack. It should be noted that
while it is possible to prevent a machine from going down, it is
not generally possible to prevent a service from being disrupted
by the attack. Read the inetd manual
page carefully and pay
specific attention to the , ,
and options. Note that spoofed-IP attacks
will circumvent the option to
inetd, so
typically a combination of options must be used. Some standalone
servers have self-fork-limitation parameters.Sendmail has its
option, which tends to work
much better than trying to use Sendmail's load limiting options
due to the load lag. You should specify a
MaxDaemonChildren parameter, when you start
sendmail; high enough to handle your
expected load, but not so high that the computer cannot handle that
number of Sendmail instances without falling on
its face. It is also prudent to run Sendmail in queued mode
() and to run the daemon
(sendmail -bd) separate from the queue-runs
(sendmail -q15m). If you still want real-time
delivery you can run the queue at a much lower interval, such as
, but be sure to specify a reasonable
MaxDaemonChildren option for
thatSendmail to prevent cascade failures.Syslogd can be attacked directly
and it is strongly recommended that you use the
option whenever possible, and the option
otherwise.You should also be fairly careful with connect-back services
such as TCP Wrapper's reverse-identd,
which can be attacked directly. You generally do not want to use
the reverse-ident feature of
TCP Wrapper for this reason.It is a very good idea to protect internal services from
external access by firewalling them off at your border routers.
The idea here is to prevent saturation attacks from outside your
LAN, not so much to protect internal services from network-based
root compromise.
Always configure an exclusive firewall, i.e.,
firewall everything except ports A, B,
C, D, and M-Z. This way you can firewall off all of your
low ports except for certain specific services such as
named (if you are primary for a zone),
ntalkd,
sendmail, and other Internet-accessible
services. If you try to configure the firewall the other way
— as an inclusive or permissive firewall, there is a good
chance that you will forget to close a couple of
services, or that you will add a new internal service and forget
to update the firewall. You can still open up the high-numbered
port range on the firewall, to allow permissive-like operation,
without compromising your low ports. Also take note that &os;
allows you to control the range of port numbers used for dynamic
binding, via the various net.inet.ip.portrangesysctl's (sysctl -a | fgrep
portrange), which can also ease the complexity of your
firewall's configuration. For example, you might use a normal
first/last range of 4000 to 5000, and a hiport range of 49152 to
65535, then block off everything under 4000 in your firewall
(except for certain specific Internet-accessible ports, of
course).Another common DoS attack is called a springboard attack
— to attack a server in a manner that causes the server to
generate responses which overloads the server, the local
network, or some other machine. The most common attack of this
nature is the ICMP ping broadcast attack.
The attacker spoofs ping packets sent to your LAN's broadcast
address with the source IP address set to the actual machine they
wish to attack. If your border routers are not configured to
stomp on ping packets to broadcast addresses, your LAN winds up
generating sufficient responses to the spoofed source address to
saturate the victim, especially when the attacker uses the same
trick on several dozen broadcast addresses over several dozen
different networks at once. Broadcast attacks of over a hundred
and twenty megabits have been measured. A second common
springboard attack is against the ICMP error reporting system.
By constructing packets that generate ICMP error responses, an
attacker can saturate a server's incoming network and cause the
server to saturate its outgoing network with ICMP responses. This
type of attack can also crash the server by running it out of
memory, especially if the server cannot drain the ICMP responses
it generates fast enough.
Use the sysctl
variable net.inet.icmp.icmplim to limit these attacks.
The last major class of springboard
attacks is related to certain internal
inetd services such as the
udp echo service. An attacker simply spoofs a UDP packet with the
source address being server A's echo port, and the destination
address being server B's echo port, where server A and B are both
on your LAN. The two servers then bounce this one packet back and
forth between each other. The attacker can overload both servers
and their LANs simply by injecting a few packets in this manner.
Similar problems exist with the internal
chargen port. A
competent sysadmin will turn off all of these inetd-internal test
services.Spoofed packet attacks may also be used to overload the kernel
route cache. Refer to the net.inet.ip.rtexpire,
rtminexpire, and rtmaxcachesysctl parameters. A spoofed packet attack
that uses a random source IP will cause the kernel to generate a
temporary cached route in the route table, viewable with
netstat -rna | fgrep W3. These routes
typically timeout in 1600 seconds or so. If the kernel detects
that the cached route table has gotten too big it will dynamically
reduce the rtexpire but will never decrease it
to less than rtminexpire. There are two
problems:The kernel does not react quickly enough when a lightly
loaded server is suddenly attacked.The rtminexpire is not low enough for
the kernel to survive a sustained attack.If your servers are connected to the Internet via a T3 or
better, it may be prudent to manually override both
rtexpire and rtminexpire
via &man.sysctl.8;. Never set either parameter to zero (unless
you want to crash the machine). Setting both
parameters to 2 seconds should be sufficient to protect the route
table from attack.Access Issues with Kerberos and SSHsshKerberosIVThere are a few issues with both Kerberos and
ssh that need to be addressed if
you intend to use them. Kerberos 5 is an excellent
authentication protocol, but there are bugs in the kerberized
telnet and
rlogin applications that make them
unsuitable for dealing with binary streams. Also, by default
Kerberos does not encrypt a session unless you use the
option. ssh
encrypts everything by default.Ssh works quite well in every
respect except that it forwards encryption keys by default. What
this means is that if you have a secure workstation holding keys
that give you access to the rest of the system, and you
ssh to an insecure machine, your keys
are usable. The actual keys themselves are not exposed, but
ssh installs a forwarding port for the
duration of your login, and if an attacker has broken
root on the
insecure machine he can utilize that port to use your keys to gain
access to any other machine that your keys unlock.We recommend that you use ssh in
combination with Kerberos whenever possible for staff logins.
Ssh can be compiled with Kerberos
support. This reduces your reliance on potentially exposed
ssh keys while at the same time
protecting passwords via Kerberos. Ssh
keys should only be used for automated tasks from secure machines
(something that Kerberos is unsuited to do). We also recommend that
you either turn off key-forwarding in the
ssh configuration, or that you make use
of the from=IP/DOMAIN option that
ssh allows in its
authorized_keys file to make the key only
usable to entities logging in from specific machines.BillSwingleParts rewritten and updated by DES, MD5, and CryptsecuritycryptcryptDESMD5Every user on a &unix; system has a password associated with
their account. It seems obvious that these passwords need to be
known only to the user and the actual operating system. In
order to keep these passwords secret, they are encrypted with
what is known as a one-way hash, that is, they can
only be easily encrypted but not decrypted. In other words, what
we told you a moment ago was obvious is not even true: the
operating system itself does not really know
the password. It only knows the encrypted
form of the password. The only way to get the
plain-text password is by a brute force search of the
space of possible passwords.Unfortunately the only secure way to encrypt passwords when
&unix; came into being was based on DES, the Data Encryption
Standard. This was not such a problem for users resident in
the US, but since the source code for DES could not be exported
outside the US, &os; had to find a way to both comply with
US law and retain compatibility with all the other &unix;
variants that still used DES.The solution was to divide up the encryption libraries
so that US users could install the DES libraries and use
DES but international users still had an encryption method
that could be exported abroad. This is how &os; came to
use MD5 as its default encryption method. MD5 is believed to
be more secure than DES, so installing DES is offered primarily
for compatibility reasons.Recognizing Your Crypt MechanismCurrently the library supports DES, MD5 and Blowfish hash
functions. By default &os; uses MD5 to encrypt
passwords.It is pretty easy to identify which encryption method
&os; is set up to use. Examining the encrypted passwords in
the /etc/master.passwd file is one way.
Passwords encrypted with the MD5 hash are longer than those
encrypted with the DES hash and also begin with the characters
$1$. Passwords starting with
$2a$ are encrypted with the
Blowfish hash function. DES password strings do not
have any particular identifying characteristics, but they are
shorter than MD5 passwords, and are coded in a 64-character
alphabet which does not include the $
character, so a relatively short string which does not begin with
a dollar sign is very likely a DES password.The password format used for new passwords is controlled
by the passwd_format login capability in
/etc/login.conf, which takes values of
des, md5 or
blf. See the &man.login.conf.5; manual page
for more information about login capabilities.One-time Passwordsone-time passwordssecurityone-time passwordsBy default, &os; includes support for OPIE (One-time Passwords
In Everything), which uses the MD5 hash by default.There are three different sorts of passwords which we will discuss
below. The first is your usual &unix; style or
Kerberos password; we will call this a &unix; password.
The second sort is the one-time password which is generated by the OPIE
&man.opiekey.1; program and accepted by the
&man.opiepasswd.1; program
and the login prompt; we will
call this a one-time password. The final sort of
password is the secret password which you give to the
opiekey program (and
sometimes the
opiepasswd programs)
which it uses to generate
one-time passwords; we will call it a secret password
or just unqualified password.The secret password does not have anything to do with your &unix;
password; they can be the same but this is not recommended.
OPIE secret passwords are not limited to 8 characters like old
&unix; passwordsUnder &os; the standard login
password may be up to 128 characters in length.,
they can be as long as you like. Passwords of six or
seven word long phrases are fairly common. For the most part, the
OPIE system operates completely independently of the &unix;
password system.Besides the password, there are two other pieces of data that
are important to OPIE. One is what is known as the
seed or key, consisting of two letters
and five digits. The other is what is called the iteration
count, a number between 1 and 100. OPIE creates the
one-time password by concatenating the seed and the secret password,
then applying the MD5 hash as many times as specified by the
iteration count and turning the result into six short English words.
These six English words are your one-time password. The
authentication system (primarily PAM) keeps
track of the last one-time password used, and the user is
authenticated if the hash of the user-provided password is equal to
the previous password. Because a one-way hash is used it is
impossible to generate future one-time passwords if a successfully
used password is captured; the iteration count is decremented after
each successful login to keep the user and the login program in
sync. When the iteration count gets down to 1, OPIE must be
reinitialized.There are a few programs involved in each system
which we will discuss below. The
opiekey program accepts an iteration
count, a seed, and a secret password, and generates a one-time
password or a consecutive list of one-time passwords. The
opiepasswd
program is used to initialize OPIE,
and to change passwords, iteration counts, or seeds; it
takes either a secret passphrase, or an iteration count,
seed, and a one-time password. The
opieinfo program will examine the
relevant credentials files
(/etc/opiekeys) and print out the invoking user's
current iteration count and seed.There are four different sorts of operations we will cover. The
first is using
opiepasswd over a secure connection to set up
one-time-passwords for the first time, or to change your password
or seed. The second operation is using
opiepasswd over an insecure connection, in
conjunction with opiekey
over a secure connection, to do the same. The third is using
opiekey to log in over
an insecure connection. The fourth is using
opiekey to generate a number of keys which
can be written down or printed out to carry with you when going to
some location without secure connections to anywhere.Secure Connection InitializationTo initialize OPIE for the first time, execute the
opiepasswd command:&prompt.user; opiepasswd -c
[grimreaper] ~ $ opiepasswd -f -c
Adding unfurl:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter new secret pass phrase:
Again new secret pass phrase:
ID unfurl OTP key is 499 to4268
MOS MALL GOAT ARM AVID COED
At the Enter new secret pass phrase: or
Enter secret password: prompts, you
should enter a password or phrase. Remember, this is not the
password that you will use to login with, this is used to generate
your one-time login keys. The ID line gives the
parameters of your particular instance: your login name, the
iteration count, and seed. When logging in the system
will remember these parameters and present them back to you so you
do not have to remember them. The last line gives the particular
one-time password which corresponds to those parameters and your
secret password; if you were to re-login immediately, this
one-time password is the one you would use.Insecure Connection InitializationTo initialize or change your secret password over an
insecure connection, you will need to already have a secure
connection to some place where you can run
opiekey; this might be in the form of a shell
prompt on a machine you
trust. You will also need to make up an iteration count (100 is
probably a good value), and you may make up your own seed or use a
randomly-generated one. Over on the insecure connection (to the
machine you are initializing), use opiepasswd:&prompt.user; opiepasswd
Updating unfurl:
You need the response from an OTP generator.
Old secret pass phrase:
otp-md5 498 to4268 ext
Response: GAME GAG WELT OUT DOWN CHAT
New secret pass phrase:
otp-md5 499 to4269
Response: LINE PAP MILK NELL BUOY TROY
ID mark OTP key is 499 gr4269
LINE PAP MILK NELL BUOY TROY
To accept the default seed press Return.
Then before entering an
access password, move over to your secure connection and give it
the same parameters:&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHAT
Now switch back over to the insecure connection, and copy the
one-time password generated over to the relevant program.Generating a Single One-time PasswordOnce you have initialized OPIE and login, you will be
presented with a prompt like this:&prompt.user; telnet example.com
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: <username>
otp-md5 498 gr4269 ext
Password: As a side note, the OPIE prompts have a useful feature
(not shown here): if you press Return
at the password prompt, the
prompter will turn echo on, so you can see what you are
typing. This can be extremely useful if you are attempting to
type in a password by hand, such as from a printout.MS-DOSWindowsMacOSAt this point you need to generate your one-time password to
answer this login prompt. This must be done on a trusted system
that you can run
opiekey on. (There are versions of these for DOS,
&windows; and &macos; as well.) They need the iteration count and
the seed as command line options. You can cut-and-paste these
right from the login prompt on the machine that you are logging
in to.On the trusted system:&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHATNow that you have your one-time password you can continue
logging in.Generating Multiple One-time PasswordsSometimes you have to go places where you do not have
access to a trusted machine or secure connection. In this case,
it is possible to use the
opiekey command to
generate a number of one-time passwords beforehand to be printed
out and taken with you. For example:&prompt.user; opiekey -n 5 30 zz99999
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: <secret password>
26: JOAN BORE FOSS DES NAY QUIT
27: LATE BIAS SLAY FOLK MUCH TRIG
28: SALT TIN ANTI LOON NEAL USE
29: RIO ODIN GO BYE FURY TIC
30: GREW JIVE SAN GIRD BOIL PHIThe requests five keys in sequence, the
specifies what the last iteration number
should be. Note that these are printed out in
reverse order of eventual use. If you are
really paranoid, you might want to write the results down by hand;
otherwise you can cut-and-paste into lpr. Note
that each line shows both the iteration count and the one-time
password; you may still find it handy to scratch off passwords as
you use them.Restricting Use of &unix; PasswordsOPIE can restrict the use of &unix; passwords based on the IP
address of a login session. The relevant file
is /etc/opieaccess, which is present by default.
Please check &man.opieaccess.5;
for more information on this file and which security considerations
you should be aware of when using it.Here is a sample opieaccess file:permit 192.168.0.0 255.255.0.0This line allows users whose IP source address (which is
vulnerable to spoofing) matches the specified value and mask,
to use &unix; passwords at any time.If no rules in opieaccess are matched,
the default is to deny non-OPIE logins.TomRhodesWritten by: TCP WrappersTCP WrappersAnyone familiar with &man.inetd.8; has probably heard
of TCP Wrappers at some point. But few
individuals seem to fully comprehend its usefulness in a
network environment. It seems that everyone wants to
install a firewall to handle network connections. While a
firewall has a wide variety of uses, there are some things
that a firewall not handle such as sending text back to the
connection originator. The TCP software
does this and much more. In the next few sections many of
the TCP Wrappers features will be discussed,
and, when applicable, example configuration lines will be
provided.The TCP Wrappers software extends the
abilities of inetd to provide support for
every server daemon under its control. Using this method it
is possible to provide logging support, return messages to
connections, permit a daemon to only accept internal connections,
etc. While some of these features can be provided by implementing
a firewall, this will add not only an extra layer of protection
but go beyond the amount of control a firewall can
provide.The added functionality of TCP Wrappers
should not be considered a replacement for a good firewall.
TCP Wrappers can be used in conjunction
with a firewall or other security enhancements though and
it can serve nicely as an extra layer of protection
for the system.Since this is an extension to the configuration of
inetd, the reader is expected have
read the inetd configuration
section.While programs run by &man.inetd.8; are not exactly
daemons, they have traditionally been called
daemons. This is the term we will use in this section too.Initial ConfigurationThe only requirement of using TCP
Wrappers in &os; is to ensure the inetd
server is started from rc.conf with the
option; this is the default setting. Of
course, proper configuration of
/etc/hosts.allow is also expected, but
&man.syslogd.8; will throw messages in the system logs in
these cases.Unlike other implementations of TCP
Wrappers, the use of hosts.deny has
been deprecated. All configuration options should be placed
in /etc/hosts.allow.In the simplest configuration, daemon connection policies
are set to either be permitted or blocked depending on the
options in /etc/hosts.allow. The default
configuration in &os; is to allow a connection to every daemon
started with inetd. Changing this will be
discussed only after the basic configuration is covered.Basic configuration usually takes the form of
daemon : address : action. Where
daemon is the daemon name which
inetd started. The
address can be a valid hostname, an
IP address or an IPv6 address enclosed in
brackets ([ ]). The action field can be either allow
or deny to grant or deny access appropriately. Keep in mind
that configuration works off a first rule match semantic,
meaning that the configuration file is scanned in ascending
order for a matching rule. When a match is found the rule
is applied and the search process will halt.Several other options exist but they will be explained
in a later section. A simple configuration line may easily be
constructed from that information alone. For example, to
allow POP3 connections via the
mail/qpopper daemon,
the following lines should be appended to
hosts.allow:# This line is required for POP3 connections:
qpopper : ALL : allowAfter adding this line, inetd will need
restarted. This can be accomplished by use of the &man.kill.1;
command, or with the restart parameter
with /etc/rc.d/inetd.Advanced ConfigurationTCP Wrappers has advanced
options too; they will allow for more control over the
way connections are handled. In some cases it may be
a good idea to return a comment to certain hosts or
daemon connections. In other cases, perhaps a log file
should be recorded or an email sent to the administrator.
Other situations may require the use of a service for local
connections only. This is all possible through the use of
configuration options known as wildcards,
expansion characters and external command execution. The
next two sections are written to cover these situations.External CommandsSuppose that a situation occurs where a connection
should be denied yet a reason should be sent to the
individual who attempted to establish that connection. How
could it be done? That action can be made possible by
using the option. When a connection
attempt is made, will be called to
execute a shell command or script. An example already exists
in the hosts.allow file:# The rest of the daemons are protected.
ALL : ALL \
: severity auth.info \
: twist /bin/echo "You are not welcome to use %d from %h."This example shows that the message,
You are not allowed to use daemon
from hostname. will be returned
for any daemon not previously configured in the access file.
This is extremely useful for sending a reply back to the
connection initiator right after the established connection
is dropped. Note that any message returned
must be wrapped in quote
" characters; there are no exceptions to
this rule.It may be possible to launch a denial of service attack
on the server if an attacker, or group of attackers could
flood these daemons with connection requests.Another possibility is to use the
option in these cases. Like , the
implicitly denies the connection and
may be used to run external shell commands or scripts.
Unlike , will
not send a reply back to the individual who established the
connection. For an example, consider the following
configuration line:# We do not allow connections from example.com:
ALL : .example.com \
: spawn (/bin/echo %a from %h attempted to access %d >> \
/var/log/connections.log) \
: denyThis will deny all connection attempts from the
*.example.com domain;
simultaneously logging the hostname, IP
address and the daemon which they attempted to access in the
/var/log/connections.log file.Aside from the already explained substitution characters
above, e.g. %a, a few others exist. See the
&man.hosts.access.5; manual page for the complete list.Wildcard OptionsThus far the ALL example has been used
continuously throughout the examples. Other options exist
which could extend the functionality a bit further. For
instance, ALL may be used to match every
instance of either a daemon, domain or an
IP address. Another wildcard available is
PARANOID which may be used to match any
host which provides an IP address that may
be forged. In other words, paranoid may
be used to define an action to be taken whenever a connection
is made from an IP address that differs
from its hostname. The following example may shed some more
light on this discussion:# Block possibly spoofed requests to sendmail:
sendmail : PARANOID : denyIn that example all connection requests to
sendmail which have an
IP address that varies from its hostname
will be denied.Using the PARANOID may severely
cripple servers if the client or server has a broken
DNS setup. Administrator discretion
is advised.To learn more about wildcards and their associated
functionality, see the &man.hosts.access.5; manual
page.Before any of the specific configuration lines above will
work, the first configuration line should be commented out
in hosts.allow. This was noted at the
beginning of this section.MarkMurrayContributed by MarkDapozBased on a contribution by KerberosIVKerberos is a network add-on system/protocol that allows users to
authenticate themselves through the services of a secure server.
Services such as remote login, remote copy, secure inter-system file
copying and other high-risk tasks are made considerably safer and more
controllable.The following instructions can be used as a guide on how to set up
Kerberos as distributed for &os;. However, you should refer to the
relevant manual pages for a complete description.Installing KerberosIVMITKerberosIVinstallingKerberos is an optional component of &os;. The easiest
way to install this software is by selecting the krb4 or
krb5 distribution in sysinstall
during the initial installation of &os;. This will install
the eBones (KerberosIV) or Heimdal (Kerberos5)
implementation of Kerberos. These implementations are
included because they are developed outside the USA/Canada and
were thus available to system owners outside those countries
during the era of restrictive export controls on cryptographic
code from the USA.Alternatively, the MIT implementation of Kerberos is
available from the Ports Collection as
security/krb5.Creating the Initial DatabaseThis is done on the Kerberos server only. First make sure that
you do not have any old Kerberos databases around. You should change
to the directory /etc/kerberosIV and check that
only the following files are present:&prompt.root; cd /etc/kerberosIV
&prompt.root; ls
README krb.conf krb.realmsIf any additional files (such as principal.*
or master_key) exist, then use the
kdb_destroy command to destroy the old Kerberos
database, or if Kerberos is not running, simply delete the extra
files.You should now edit the krb.conf and
krb.realms files to define your Kerberos realm.
In this case the realm will be EXAMPLE.COM and the
server is grunt.example.com. We edit
or create the krb.conf file:&prompt.root; cat krb.conf
EXAMPLE.COM
EXAMPLE.COM grunt.example.com admin server
CS.BERKELEY.EDU okeeffe.berkeley.edu
ATHENA.MIT.EDU kerberos.mit.edu
ATHENA.MIT.EDU kerberos-1.mit.edu
ATHENA.MIT.EDU kerberos-2.mit.edu
ATHENA.MIT.EDU kerberos-3.mit.edu
LCS.MIT.EDU kerberos.lcs.mit.edu
TELECOM.MIT.EDU bitsy.mit.edu
ARC.NASA.GOV trident.arc.nasa.govIn this case, the other realms do not need to be there. They are
here as an example of how a machine may be made aware of multiple
realms. You may wish to not include them for simplicity.The first line names the realm in which this system works. The
other lines contain realm/host entries. The first item on a line is a
realm, and the second is a host in that realm that is acting as a
key distribution center. The words admin
server following a host's name means that host also
provides an administrative database server. For further explanation
of these terms, please consult the Kerberos manual pages.Now we have to add grunt.example.com
to the EXAMPLE.COM realm and also add an entry to
put all hosts in the .example.com
domain in the EXAMPLE.COM realm. The
krb.realms file would be updated as
follows:&prompt.root; cat krb.realms
grunt.example.com EXAMPLE.COM
.example.com EXAMPLE.COM
.berkeley.edu CS.BERKELEY.EDU
.MIT.EDU ATHENA.MIT.EDU
.mit.edu ATHENA.MIT.EDUAgain, the other realms do not need to be there. They are here as
an example of how a machine may be made aware of multiple realms. You
may wish to remove them to simplify things.The first line puts the specific system into
the named realm. The rest of the lines show how to default systems of
a particular subdomain to a named realm.Now we are ready to create the database. This only needs to run
on the Kerberos server (or Key Distribution Center). Issue the
kdb_init command to do this:&prompt.root; kdb_initRealm name [default ATHENA.MIT.EDU ]:EXAMPLE.COM
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter Kerberos master key:Now we have to save the key so that servers on the local machine
can pick it up. Use the kstash command to do
this:&prompt.root; kstashEnter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!This saves the encrypted master password in
/etc/kerberosIV/master_key.Making It All RunKerberosIVinitial startupTwo principals need to be added to the database for
each system that will be secured with Kerberos.
Their names are kpasswd and rcmd.
These two principals are made for each system, with the instance being
the name of the individual system.These daemons, kpasswd and
rcmd allow other systems to change Kerberos
passwords and run commands like &man.rcp.1;,
&man.rlogin.1; and &man.rsh.1;.Now let us add these entries:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:passwdInstance:grunt
<Not found>, Create [y] ?y
Principal: passwd, Instance: grunt, kdc_key_ver: 1
New Password: <---- enter RANDOM here
Verifying password
New Password: <---- enter RANDOM here
Random password [y] ?y
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name:rcmdInstance:grunt
<Not found>, Create [y] ?
Principal: rcmd, Instance: grunt, kdc_key_ver: 1
New Password: <---- enter RANDOM here
Verifying password
New Password: <---- enter RANDOM here
Random password [y] ?
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- null entry here will cause an exitCreating the Server FileWe now have to extract all the instances which define the
services on each machine. For this we use the
ext_srvtab command. This will create a file
which must be copied or moved by secure
means to each Kerberos client's
/etc directory. This file must
be present on each server and client, and is crucial to the
operation of Kerberos.&prompt.root; ext_srvtab gruntEnter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Generating 'grunt-new-srvtab'....Now, this command only generates a temporary file which must be
renamed to srvtab so that all the servers can pick
it up. Use the &man.mv.1; command to move it into place on
the original system:&prompt.root; mv grunt-new-srvtab srvtabIf the file is for a client system, and the network is not deemed
safe, then copy the
client-new-srvtab to
removable media and transport it by secure physical means. Be sure to
rename it to srvtab in the client's
/etc directory, and make sure it is
mode 600:&prompt.root; mv grumble-new-srvtab srvtab
&prompt.root; chmod 600 srvtabPopulating the DatabaseWe now have to add some user entries into the database. First
let us create an entry for the user jane. Use the
kdb_edit command to do this:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:janeInstance:
<Not found>, Create [y] ?y
Principal: jane, Instance: , kdc_key_ver: 1
New Password: <---- enter a secure password here
Verifying password
New Password: <---- re-enter the password here
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- null entry here will cause an exitTesting It All OutFirst we have to start the Kerberos daemons. Note that if you
have correctly edited your /etc/rc.conf then this
will happen automatically when you reboot. This is only necessary on
the Kerberos server. Kerberos clients will automatically get what
they need from the /etc/kerberosIV
directory.&prompt.root; kerberos &
Kerberos server starting
Sleep forever on error
Log file is /var/log/kerberos.log
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Current Kerberos master key version is 1
Local realm: EXAMPLE.COM
&prompt.root; kadmind -n &
KADM Server KADM0.0A initializing
Please do not use 'kill -9' to kill this job, use a
regular kill instead
Current Kerberos master key version is 1.
Master key entered. BEWARE!Now we can try using the kinit command to get a
ticket for the ID jane that we created
above:&prompt.user; kinit jane
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "jane"
Password:Try listing the tokens using klist to see if we
really have them:&prompt.user; klist
Ticket file: /tmp/tkt245
Principal: jane@EXAMPLE.COM
Issued Expires Principal
Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EXAMPLE.COM@EXAMPLE.COMNow try changing the password using &man.passwd.1; to
check if the kpasswd daemon can get
authorization to the Kerberos database:&prompt.user; passwd
realm EXAMPLE.COM
Old password for jane:New Password for jane:
Verifying password
New Password for jane:
Password changed.Adding su PrivilegesKerberos allows us to give each user
who needs root privileges their own
separate &man.su.1; password.
We could now add an ID which is authorized to
&man.su.1; to root. This is
controlled by having an instance of root
associated with a principal. Using kdb_edit
we can create the entry jane.root in the
Kerberos database:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:janeInstance:root
<Not found>, Create [y] ? y
Principal: jane, Instance: root, kdc_key_ver: 1
New Password: <---- enter a SECURE password here
Verifying password
New Password: <---- re-enter the password here
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?12 <--- Keep this short!
Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- null entry here will cause an exitNow try getting tokens for it to make sure it works:&prompt.root; kinit jane.root
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "jane.root"
Password:Now we need to add the user to root's
.klogin file:&prompt.root; cat /root/.klogin
jane.root@EXAMPLE.COMNow try doing the &man.su.1;:&prompt.user; suPassword:and take a look at what tokens we have:&prompt.root; klist
Ticket file: /tmp/tkt_root_245
Principal: jane.root@EXAMPLE.COM
Issued Expires Principal
May 2 20:43:12 May 3 04:43:12 krbtgt.EXAMPLE.COM@EXAMPLE.COMUsing Other CommandsIn an earlier example, we created a principal called
jane with an instance root.
This was based on a user with the same name as the principal, and this
is a Kerberos default; that a
<principal>.<instance> of the form
<username>.root will allow
that <username> to &man.su.1; to
root if the necessary entries are in the
.klogin file in root's
home directory:&prompt.root; cat /root/.klogin
jane.root@EXAMPLE.COMLikewise, if a user has in their own home directory lines of the
form:&prompt.user; cat ~/.klogin
jane@EXAMPLE.COM
jack@EXAMPLE.COMThis allows anyone in the EXAMPLE.COM realm
who has authenticated themselves as jane or
jack (via kinit, see above)
to access to jane's
account or files on this system (grunt) via
&man.rlogin.1;, &man.rsh.1; or
&man.rcp.1;.For example, jane now logs into another system using
Kerberos:&prompt.user; kinit
MIT Project Athena (grunt.example.com)
Password:
&prompt.user; rlogin grunt
Last login: Mon May 1 21:14:47 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995Or jack logs into jane's account on the same machine
(jane having
set up the .klogin file as above, and the person
in charge of Kerberos having set up principal
jack with a null instance):&prompt.user; kinit
&prompt.user; rlogin grunt -l jane
MIT Project Athena (grunt.example.com)
Password:
Last login: Mon May 1 21:16:55 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995TillmanHodgsonContributed by MarkMurrayBased on a contribution by Kerberos5Every &os; release beyond &os;-5.1 includes support
only for Kerberos5. Hence
Kerberos5 is the only version
included, and its configuration is similar in many aspects
to that of KerberosIV. The following
information only applies to
Kerberos5 in post &os;-5.0
releases. Users who wish to use the
KerberosIV package may install the
security/krb4 port.Kerberos is a network add-on
system/protocol that allows users to authenticate themselves
through the services of a secure server. Services such as remote
login, remote copy, secure inter-system file copying and other
high-risk tasks are made considerably safer and more
controllable.Kerberos can be described as an
identity-verifying proxy system. It can also be described as a
trusted third-party authentication system.
Kerberos provides only one
function — the secure authentication of users on the network.
It does not provide authorization functions (what users are
allowed to do) or auditing functions (what those users did).
After a client and server have used
Kerberos to prove their identity, they
can also encrypt all of their communications to assure privacy
and data integrity as they go about their business.Therefore it is highly recommended that
Kerberos be used with other security
methods which provide authorization and audit services.The following instructions can be used as a guide on how to set
up Kerberos as distributed for &os;.
However, you should refer to the relevant manual pages for a complete
description.For purposes of demonstrating a Kerberos
installation, the various name spaces will be handled as follows:The DNS domain (zone)
will be example.org.The Kerberos realm will be
EXAMPLE.ORG.Please use real domain names when setting up
Kerberos even if you intend to run
it internally. This avoids DNS problems
and assures inter-operation with other
Kerberos realms.HistoryKerberos5historyKerberos was created by
MIT as a solution to network security problems.
The Kerberos protocol uses strong
cryptography so that a client can prove its identity to a server
(and vice versa) across an insecure network connection.Kerberos is both the name of a
network authentication protocol and an adjective to describe
programs that implement the program
(Kerberos telnet, for example). The
current version of the protocol is version 5, described in
RFC 1510.Several free implementations of this protocol are available,
covering a wide range of operating systems. The Massachusetts
Institute of Technology (MIT), where
Kerberos was originally developed,
continues to develop their Kerberos
package. It is commonly used in the US
as a cryptography product, as such it
has historically been affected by US export
regulations. The MIT
Kerberos is available as a port
(security/krb5). Heimdal
Kerberos is another version 5
implementation, and was explicitly developed outside of the
US to avoid export
regulations (and is thus often included in non-commercial &unix;
variants). The Heimdal Kerberos
distribution is available as a port
(security/heimdal), and a
minimal installation of it is included in the base &os;
install.In order to reach the widest audience, these instructions assume
the use of the Heimdal distribution included in &os;.Setting up a Heimdal KDCKerberos5Key Distribution CenterThe Key Distribution Center (KDC) is the
centralized authentication service that
Kerberos provides — it is the
computer that issues Kerberos tickets.
The KDC is considered trusted by
all other computers in the Kerberos
realm, and thus has heightened security concerns.Note that while running the Kerberos
server requires very few computing resources, a dedicated machine
acting only as a KDC is recommended for security
reasons.To begin setting up a KDC, ensure that your
/etc/rc.conf file contains the correct
settings to act as a KDC (you may need to adjust
paths to reflect your own system):kerberos5_server_enable="YES"
kadmind5_server_enable="YES"Next we will set up your Kerberos
config file, /etc/krb5.conf:[libdefaults]
default_realm = EXAMPLE.ORG
[realms]
EXAMPLE.ORG = {
kdc = kerberos.example.org
admin_server = kerberos.example.org
}
[domain_realm]
.example.org = EXAMPLE.ORGNote that this /etc/krb5.conf file implies
that your KDC will have the fully-qualified
hostname of kerberos.example.org.
You will need to add a CNAME (alias) entry to your zone file to
accomplish this if your KDC has a different
hostname.For large networks with a properly configured
BIND DNS server, the
above example could be trimmed to:[libdefaults]
default_realm = EXAMPLE.ORGWith the following lines being appended to the
example.org zonefile:_kerberos._udp IN SRV 01 00 88 kerberos.example.org.
_kerberos._tcp IN SRV 01 00 88 kerberos.example.org.
_kpasswd._udp IN SRV 01 00 464 kerberos.example.org.
_kerberos-adm._tcp IN SRV 01 00 749 kerberos.example.org.
_kerberos IN TXT EXAMPLE.ORGFor clients to be able to find the
Kerberos services, you
must have either a fully configured
/etc/krb5.conf or a minimally configured
/etc/krb5.confand a
properly configured DNS server.Next we will create the Kerberos
database. This database contains the keys of all principals encrypted
with a master password. You are not
required to remember this password, it will be stored in a file
(/var/heimdal/m-key). To create the master
key, run kstash and enter a password.Once the master key has been created, you can initialize the
database using the kadmin program with the
-l option (standing for local).
This option instructs kadmin to modify the
database files directly rather than going through the
kadmind network service. This handles the
chicken-and-egg problem of trying to connect to the database
before it is created. Once you have the kadmin
prompt, use the init command to create your
realms initial database.Lastly, while still in kadmin, create your
first principal using the add command. Stick
to the defaults options for the principal for now, you can always
change them later with the modify command.
Note that you can use the ? command at any
prompt to see the available options.A sample database creation session is shown below:&prompt.root; kstash
Master key: xxxxxxxx
Verifying password - Master key: xxxxxxxx
&prompt.root; kadmin -l
kadmin> init EXAMPLE.ORG
Realm max ticket life [unlimited]:
kadmin> add tillman
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Attributes []:
Password: xxxxxxxx
Verifying password - Password: xxxxxxxxNow it is time to start up the KDC services.
Run /etc/rc.d/kerberos start and
/etc/rc.d/kadmind start to bring up the
services. Note that you will not have any kerberized daemons running
at this point but you should be able to confirm the that the
KDC is functioning by obtaining and listing a
ticket for the principal (user) that you just created from the
command-line of the KDC itself:&prompt.user; kinit tillman
tillman@EXAMPLE.ORG's Password:
&prompt.user; klist
Credentials cache: FILE:/tmp/krb5cc_500
Principal: tillman@EXAMPLE.ORG
Issued Expires Principal
Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORGThe ticket can then be revoked when you have
finished:&prompt.user; k5destroyKerberos enabling a server with
Heimdal servicesKerberos5enabling servicesFirst, we need a copy of the Kerberos
configuration file, /etc/krb5.conf. To do
so, simply copy it over to the client computer from the
KDC in a secure fashion (using network utilities,
such as &man.scp.1;, or physically via a
floppy disk).Next you need a /etc/krb5.keytab file.
This is the major difference between a server providing
Kerberos enabled daemons and a
workstation — the server must have a
keytab file. This file
contains the server's host key, which allows it and the
KDC to verify each others identity. It
must be transmitted to the server in a secure fashion, as the
security of the server can be broken if the key is made public.
This explicitly means that transferring it via a clear text
channel, such as FTP, is a very bad idea.Typically, you transfer to the keytab
to the server using the kadmin program.
This is handy because you also need to create the host principal
(the KDC end of the
krb5.keytab) using
kadmin.Note that you must have already obtained a ticket and that this
ticket must be allowed to use the kadmin
interface in the kadmind.acl. See the section
titled Remote administration in the Heimdal info
pages (info heimdal) for details on designing
access control lists. If you do not want to enable remote
kadmin access, you can simply securely connect
to the KDC (via local console,
&man.ssh.1; or Kerberos
&man.telnet.1;) and perform administration locally
using kadmin -l.After installing the /etc/krb5.conf file,
you can use kadmin from the
Kerberos server. The
add --random-key command will let you add the
server's host principal, and the ext command
will allow you to extract the server's host principal to its own
keytab. For example:&prompt.root; kadmin
kadmin> add --random-key host/myserver.example.org
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Attributes []:
kadmin> ext host/myserver.example.org
kadmin> exitNote that the ext command (short for
extract) stores the extracted key in
/etc/krb5.keytab by default.If you do not have kadmind running on the
KDC (possibly for security reasons) and thus
do not have access to kadmin remotely, you
can add the host principal
(host/myserver.EXAMPLE.ORG) directly on the
KDC and then extract it to a temporary file
(to avoid over-writing the /etc/krb5.keytab
on the KDC) using something like this:&prompt.root; kadmin
kadmin> ext --keytab=/tmp/example.keytab host/myserver.example.org
kadmin> exitYou can then securely copy the keytab to the server
computer (using scp or a floppy, for
example). Be sure to specify a non-default keytab name
to avoid over-writing the keytab on the
KDC.At this point your server can communicate with the
KDC (due to its krb5.conf
file) and it can prove its own identity (due to the
krb5.keytab file). It is now ready for
you to enable some Kerberos services.
For this example we will enable the telnet
service by putting a line like this into your
/etc/inetd.conf and then restarting the
&man.inetd.8; service with
/etc/rc.d/inetd restart:telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a userThe critical bit is that the -a
(for authentication) type is set to user. Consult the
&man.telnetd.8; manual page for more details.Kerberos enabling a client with HeimdalKerberos5configure clientsSetting up a client computer is almost trivially easy. As
far as Kerberos configuration goes,
you only need the Kerberos
configuration file, located at /etc/krb5.conf.
Simply securely copy it over to the client computer from the
KDC.Test your client computer by attempting to use
kinit, klist, and
kdestroy from the client to obtain, show, and
then delete a ticket for the principal you created above. You
should also be able to use Kerberos
applications to connect to Kerberos
enabled servers, though if that does not work and obtaining a
ticket does the problem is likely with the server and not with
the client or the KDC.When testing an application like telnet,
try using a packet sniffer (such as &man.tcpdump.1;)
to confirm that your password is not sent in the clear. Try
using telnet with the -x
option, which encrypts the entire data stream (similar to
ssh).Various non-core Kerberos client
applications are also installed by default. This is where the
minimal nature of the base Heimdal installation is
felt: telnet is the only
Kerberos enabled service.The Heimdal port adds some of the missing client applications:
Kerberos enabled versions of
ftp, rsh,
rcp, rlogin, and a few
other less common programs. The MIT port also
contains a full suite of Kerberos
client applications.User configuration files: .k5login and .k5users.k5login.k5usersUsers within a realm typically have their
Kerberos principal (such as
tillman@EXAMPLE.ORG) mapped to a local
user account (such as a local account named
tillman). Client applications such as
telnet usually do not require a user name
or a principal.Occasionally, however, you want to grant access to a local
user account to someone who does not have a matching
Kerberos principal. For example,
tillman@EXAMPLE.ORG may need access to the
local user account webdevelopers. Other
principals may also need access to that local account.The .k5login and
.k5users files, placed in a users home
directory, can be used similar to a powerful combination of
.hosts and .rhosts,
solving this problem. For example, if a
.k5login with the following
contents:tillman@example.org
jdoe@example.orgWere to be placed into the home directory of the local user
webdevelopers then both principals listed
would have access to that account without requiring a shared
password.Reading the manual pages for these commands is recommended.
Note that the ksu manual page covers
.k5users.Kerberos Tips, Tricks, and TroubleshootingKerberos5troubleshootingWhen using either the Heimdal or MIT
Kerberos ports ensure that your
PATH environment variable lists the
Kerberos versions of the client
applications before the system versions.Do all the computers in your realm have synchronized
time settings? If not, authentication may fail.
describes how to synchronize
clocks using NTP.MIT and Heimdal inter-operate nicely.
Except for kadmin, the protocol for
which is not standardized.If you change your hostname, you also need to change your
host/ principal and update your keytab.
This also applies to special keytab entries like the
www/ principal used for Apache's
www/mod_auth_kerb.All hosts in your realm must be resolvable (both forwards
and reverse) in DNS (or
/etc/hosts as a minimum). CNAMEs
will work, but the A and PTR records must be correct and in
place. The error message is not very intuitive:
Kerberos5 refuses authentication because Read req
failed: Key table entry not found.Some operating systems that may being acting as clients
to your KDC do not set the permissions
for ksu to be setuid
root. This means that
ksu does not work, which is a good
security idea but annoying. This is not a
KDC error.With MIT
Kerberos, if you want to allow a
principal to have a ticket life longer than the default ten
hours, you must use modify_principal in
kadmin to change the maxlife of both the
principal in question and the krbtgt
principal. Then the principal can use the
-l option with kinit
to request a ticket with a longer lifetime.If you run a packet sniffer on your
KDC to add in troubleshooting and then
run kinit from a workstation, you will
notice that your TGT is sent
immediately upon running kinit —
even before you type your password! The explanation is
that the Kerberos server freely
transmits a TGT (Ticket Granting
Ticket) to any unauthorized request; however, every
TGT is encrypted in a key derived from
the user's password. Therefore, when a user types their
password it is not being sent to the KDC,
it is being used to decrypt the TGT that
kinit already obtained. If the decryption
process results in a valid ticket with a valid time stamp,
the user has valid Kerberos
credentials. These credentials include a session key for
establishing secure communications with the
Kerberos server in the future, as
well as the actual ticket-granting ticket, which is actually
encrypted with the Kerberos
server's own key. This second layer of encryption is
unknown to the user, but it is what allows the
Kerberos server to verify
the authenticity of each TGT.If you want to use long ticket lifetimes (a week, for
example) and you are using OpenSSH
to connect to the machine where your ticket is stored, make
sure that Kerberos
is set to no
in your sshd_config or else your tickets
will be deleted when you log out.Remember that host principals can have a longer ticket
lifetime as well. If your user principal has a lifetime of a
week but the host you are connecting to has a lifetime of nine
hours, you will have an expired host principal in your cache
and the ticket cache will not work as expected.When setting up a krb5.dict file to
prevent specific bad passwords from being used (the manual page
for kadmind covers this briefly), remember
that it only applies to principals that have a password policy
assigned to them. The krb5.dict files
format is simple: one string per line. Creating a symbolic
link to /usr/share/dict/words might be
useful.Differences with the MIT portThe major difference between the MIT
and Heimdal installs relates to the kadmin
program which has a different (but equivalent) set of commands
and uses a different protocol. This has a large implications
if your KDC is MIT as you
will not be able to use the Heimdal kadmin
program to administer your KDC remotely
(or vice versa, for that matter).The client applications may also take slightly different
command line options to accomplish the same tasks. Following
the instructions on the MIT
Kerberos web site
()
is recommended. Be careful of path issues: the
MIT port installs into
/usr/local/ by default, and the
normal system applications may be run instead
of MIT if your PATH
environment variable lists the system directories first.With the MIT
security/krb5 port
that is provided by &os;, be sure to read the
/usr/local/share/doc/krb5/README.FreeBSD
file installed by the port if you want to understand why logins
via telnetd and klogind
behave somewhat oddly. Most importantly, correcting the
incorrect permissions on cache file behavior
requires that the login.krb5 binary be used
for authentication so that it can properly change ownership for
the forwarded credentials.The rc.conf must also be modified
to contain the following configuration:kerberos5_server="/usr/local/sbin/krb5kdc"
kadmind5_server="/usr/local/sbin/kadmind"
kerberos5_server_enable="YES"
kadmind5_server_enable="YES"This is done because the applications for
MIT kerberos installs binaries in the
/usr/local
hierarchy.Mitigating limitations found in KerberosKerberos5limitations and shortcomingsKerberos is an all-or-nothing approachEvery service enabled on the network must be modified to
work with Kerberos (or be otherwise
secured against network attacks) or else the users credentials
could be stolen and re-used. An example of this would be
Kerberos enabling all remote shells
(via rsh and telnet, for
example) but not converting the POP3 mail
server which sends passwords in plain text.Kerberos is intended for single-user workstationsIn a multi-user environment,
Kerberos is less secure.
This is because it stores the tickets in the
/tmp directory, which is readable by all
users. If a user is sharing a computer with several other
people simultaneously (i.e. multi-user), it is possible that
the user's tickets can be stolen (copied) by another
user.This can be overcome with the -c
filename command-line option or (preferably) the
KRB5CCNAME environment variable, but this
is rarely done. In principal, storing the ticket in the users
home directory and using simple file permissions can mitigate
this problem.The KDC is a single point of failureBy design, the KDC must be as secure as
the master password database is contained on it. The
KDC should have absolutely no other
services running on it and should be physically secured. The
danger is high because Kerberos
stores all passwords encrypted with the same key (the
master key), which in turn is stored as a file
on the KDC.As a side note, a compromised master key is not quite as
bad as one might normally fear. The master key is only used
to encrypt the Kerberos database
and as a seed for the random number generator. As long as
access to your KDC is secure, an attacker
cannot do much with the master key.Additionally, if the KDC is unavailable
(perhaps due to a denial of service attack or network problems)
the network services are unusable as authentication can not be
performed, a recipe for a denial-of-service attack. This can
alleviated with multiple KDCs (a single
master and one or more slaves) and with careful implementation
of secondary or fall-back authentication
(PAM is excellent for this).Kerberos ShortcomingsKerberos allows users, hosts
and services to authenticate between themselves. It does not
have a mechanism to authenticate the KDC
to the users, hosts or services. This means that a trojanned
kinit (for example) could record all user
names and passwords. Something like
security/tripwire or
other file system integrity checking tools can alleviate
this.Resources and further informationKerberos5external resources
The Kerberos FAQDesigning
an Authentication System: a Dialog in Four ScenesRFC 1510,
The Kerberos Network Authentication Service
(V5)MIT
Kerberos home pageHeimdal
Kerberos home pageTomRhodesWritten by: OpenSSLsecurityOpenSSLOne feature that many users overlook is the
OpenSSL toolkit included
in &os;. OpenSSL provides an
encryption transport layer on top of the normal communications
layer; thus allowing it to be intertwined with many network
applications and services.Some uses of OpenSSL may include
encrypted authentication of mail clients, web based transactions
such as credit card payments and more. Many ports such as
www/apache13-ssl, and
mail/sylpheed-claws
will offer compilation support for building with
OpenSSL.In most cases the Ports Collection will attempt to build
the security/openssl port
unless the WITH_OPENSSL_BASE make variable
is explicitly set to yes.The version of OpenSSL included
in &os; supports Secure Sockets Layer v2/v3 (SSLv2/SSLv3),
Transport Layer Security v1 (TLSv1) network security protocols
and can be used as a general cryptographic library.While OpenSSL supports the
IDEA algorithm, it is disabled by default
due to United States patents. To use it, the license should
be reviewed and, if the restrictions are acceptable, the
MAKE_IDEA variable must be set in
make.conf.One of the most common uses of
OpenSSL is to provide certificates for
use with software applications. These certificates ensure
that the credentials of the company or individual are valid
and not fraudulent. If the certificate in question has
not been verified by one of the several Certificate Authorities,
or CAs, a warning is usually produced. A
Certificate Authority is a company, such as VeriSign, which will
sign certificates in order to validate credentials of individuals
or companies. This process has a cost associated with it and
is definitely not a requirement for using certificates; however,
it can put some of the more paranoid users at ease.Generating CertificatesOpenSSLcertificate generationTo generate a certificate, the following command is
available:&prompt.root; openssl req -new -nodes -out req.pem -keyout cert.pem
Generating a 1024 bit RSA private key
................++++++
.......................................++++++
writing new private key to 'cert.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:PA
Locality Name (eg, city) []:Pittsburgh
Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company
Organizational Unit Name (eg, section) []:Systems Administrator
Common Name (eg, YOUR name) []:localhost.example.org
Email Address []:trhodes@FreeBSD.org
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:SOME PASSWORD
An optional company name []:Another NameNotice the response directly after the
Common Name prompt shows a domain name.
This prompt requires a server name to be entered for
verification purposes; placing anything but a domain name
would yield a useless certificate. Other options, for
instance expire time, alternate encryption algorithms, etc.
are available. A complete list may be obtained by viewing
the &man.openssl.1; manual page.Two files should now exist in
the directory in which the aforementioned command was issued.
The certificate request, req.pem, may be
sent to a certificate authority who will validate the credentials
that you entered, sign the request and return the certificate to
you. The second file created will be named cert.pem
and is the private key for the certificate and should be
protected at all costs; if this falls in the hands of others it
can be used to impersonate you (or your server).In cases where a signature from a CA is
not required, a self signed certificate can be created. First,
generate the RSA key:&prompt.root; openssl dsaparam -rand -genkey -out myRSA.key 1024Next, generate the CA key:&prompt.root; openssl gendsa -des3 -out myca.keymyRSA.keyUse this key to create the certificate:&prompt.root; openssl req -new -x509 -days 365 -key myca.key -out new.crtTwo new files should appear in the directory: a certificate
authority signature file, myca.key and the
certificate itself, new.crt. These should
be placed in a directory, preferably under
/etc, which is readable
only by root. Permissions of 0700 should be fine for this and
they can be set with the chmod
utility.Using Certificates, an ExampleSo what can these files do? A good use would be to
encrypt connections to the Sendmail
MTA. This would dissolve the use of clear
text authentication for users who send mail via the local
MTA.This is not the best use in the world as some
MUAs will present the user with an
error if they have not installed the certificate locally.
Refer to the documentation included with the software for
more information on certificate installation.The following lines should be placed inside the
local .mc file:dnl SSL Options
define(`confCACERT_PATH',`/etc/certs')dnl
define(`confCACERT',`/etc/certs/new.crt')dnl
define(`confSERVER_CERT',`/etc/certs/new.crt')dnl
define(`confSERVER_KEY',`/etc/certs/myca.key')dnl
define(`confTLS_SRV_OPTIONS', `V')dnlWhere /etc/certs/
is the directory to be used for storing the certificate
and key files locally. The last few requirements are a rebuild
of the local .cf file. This is easily
achieved by typing makeinstall within the
/etc/mail
directory. Follow that up with makerestart which should start the
Sendmail daemon.If all went well there will be no error messages in the
/var/log/maillog file and
Sendmail will show up in the process
list.For a simple test, simply connect to the mail server
using the &man.telnet.1; utility:&prompt.root; telnet example.com 25
Trying 192.0.34.166...
Connected to example.com.
Escape character is '^]'.
220 example.com ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT)
ehlo example.com
250-example.com Hello example.com [192.0.34.166], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP
quit
221 2.0.0 example.com closing connection
Connection closed by foreign host.If the STARTTLS line appears in the output
then everything is working correctly.NikClaytonnik@FreeBSD.orgWritten by IPsecVPN over IPsecCreating a VPN between two networks, separated by the
Internet, using FreeBSD gateways.Hiten M.Pandyahmp@FreeBSD.orgWritten by Understanding IPsecThis section will guide you through the process of setting
up IPsec, and to use it in an environment which consists of
FreeBSD and µsoft.windows; 2000/XP
machines, to make them communicate securely. In order to set up
IPsec, it is necessary that you are familiar with the concepts
of building a custom kernel (see
).IPsec is a protocol which sits on top
of the Internet Protocol (IP) layer. It allows two or more
hosts to communicate in a secure manner (hence the name). The
FreeBSD IPsec network stack is based on the
KAME implementation,
which has support for both protocol families, IPv4 and
IPv6.FreeBSD contains a hardware
accelerated IPsec stack, known as Fast
IPsec, that was obtained from OpenBSD. It employs
cryptographic hardware (whenever possible) via the
&man.crypto.4; subsystem to optimize the performance of IPsec.
This subsystem is new, and does not support all the features
that are available in the KAME version of IPsec. However, in
order to enable hardware-accelerated IPsec, the following
kernel option has to be added to your kernel configuration
file:kernel optionsFAST_IPSEC
options FAST_IPSEC # new IPsec (cannot define w/ IPSEC)
Note, that it is not currently possible to use the
Fast IPsec subsystem in lieu of the KAME
implementation of IPsec. Consult the &man.fast.ipsec.4;
manual page for more information.To let firewalls properly track state for &man.gif.4;
tunnels too, you have to enable the
in your kernel
configuration:
options IPSEC_FILTERGIF #filter ipsec packets from a tunnel
IPsecESPIPsecAHIPsec consists of two sub-protocols:Encapsulated Security Payload
(ESP), protects the IP packet data from third
party interference, by encrypting the contents using
symmetric cryptography algorithms (like Blowfish,
3DES).Authentication Header (AH),
protects the IP packet header from third party interference
and spoofing, by computing a cryptographic checksum and
hashing the IP packet header fields with a secure hashing
function. This is then followed by an additional header
that contains the hash, to allow the information in the
packet to be authenticated.ESP and AH can
either be used together or separately, depending on the
environment.VPNvirtual private networkVPNIPsec can either be used to directly encrypt the traffic
between two hosts (known as Transport
Mode); or to build virtual tunnels
between two subnets, which could be used for secure
communication between two corporate networks (known as
Tunnel Mode). The latter is more commonly
known as a Virtual Private Network (VPN).
The &man.ipsec.4; manual page should be consulted for detailed
information on the IPsec subsystem in FreeBSD.To add IPsec support to your kernel, add the following
options to your kernel configuration file:kernel optionsIPSECkernel optionsIPSEC_ESP
options IPSEC #IP security
options IPSEC_ESP #IP security (crypto; define w/ IPSEC)
kernel optionsIPSEC_DEBUGIf IPsec debugging support is desired, the following
kernel option should also be added:
options IPSEC_DEBUG #debug for IP security
The ProblemThere is no standard for what constitutes a VPN. VPNs can
be implemented using a number of different technologies, each of
which have their own strengths and weaknesses. This section
presents a scenario, and the strategies used for implementing a
VPN for this scenario.The Scenario: Two networks, connected to the Internet, to
behave as oneVPNcreatingThe premise is as follows:You have at least two sitesBoth sites are using IP internallyBoth sites are connected to the Internet, through a
gateway that is running FreeBSD.The gateway on each network has at least one public IP
address.The internal addresses of the two networks can be
public or private IP addresses, it does not matter. You can
be running NAT on the gateway machine if necessary.The internal IP addresses of the two networks
do not collide. While I expect it is
theoretically possible to use a combination of VPN
technology and NAT to get this to work, I expect it to be a
configuration nightmare.If you find that you are trying to connect two networks,
both of which, internally, use the same private IP address range
(e.g. both of them use 192.168.1.x), then one of the networks will
have to be renumbered.The network topology might look something like this:Network #1 [ Internal Hosts ] Private Net, 192.168.1.2-254
[ Win9x/NT/2K ]
[ UNIX ]
|
|
.---[fxp1]---. Private IP, 192.168.1.1
| FreeBSD |
`---[fxp0]---' Public IP, A.B.C.D
|
|
-=-=- Internet -=-=-
|
|
.---[fxp0]---. Public IP, W.X.Y.Z
| FreeBSD |
`---[fxp1]---' Private IP, 192.168.2.1
|
|
Network #2 [ Internal Hosts ]
[ Win9x/NT/2K ] Private Net, 192.168.2.2-254
[ UNIX ]Notice the two public IP addresses. I will use the letters to
refer to them in the rest of this article. Anywhere you see those
letters in this article, replace them with your own public IP
addresses. Note also that internally, the two gateway
machines have .1 IP addresses, and that the two networks have
different private IP addresses (192.168.1.x and 192.168.2.x respectively). All the
machines on the private networks have been configured to use the
.1 machine as their default
gateway.The intention is that, from a network point of view, each
network should view the machines on the other network as though
they were directly attached the same router -- albeit a slightly
slow router with an occasional tendency to drop packets.This means that (for example), machine 192.168.1.20 should be able to runping 192.168.2.34and have it work, transparently. &windows; machines should
be able to see the machines on the other network, browse file
shares, and so on, in exactly the same way that they can browse
machines on the local network.And the whole thing has to be secure. This means that
traffic between the two networks has to be encrypted.Creating a VPN between these two networks is a multi-step
process. The stages are as follows:Create a virtual network link between the two
networks, across the Internet. Test it, using tools like
&man.ping.8;, to make sure it works.Apply security policies to ensure that traffic between
the two networks is transparently encrypted and decrypted as
necessary. Test this, using tools like &man.tcpdump.1;, to
ensure that traffic is encrypted.Configure additional software on the FreeBSD gateways,
to allow &windows; machines to see one another across the
VPN.Step 1: Creating and testing a virtual
network linkSuppose that you were logged in to the gateway machine on
network #1 (with public IP address A.B.C.D, private IP address 192.168.1.1), and you ran ping
192.168.2.1, which is the private address of the machine
with IP address W.X.Y.Z. What
needs to happen in order for this to work?The gateway machine needs to know how to reach 192.168.2.1. In other words, it needs
to have a route to 192.168.2.1.Private IP addresses, such as those in the 192.168.x range are not supposed to
appear on the Internet at large. Instead, each packet you
send to 192.168.2.1 will need
to be wrapped up inside another packet. This packet will need
to appear to be from A.B.C.D,
and it will have to be sent to W.X.Y.Z. This process is called
encapsulation.Once this packet arrives at W.X.Y.Z it will need to
unencapsulated, and delivered to 192.168.2.1.You can think of this as requiring a tunnel
between the two networks. The two tunnel mouths are the IP
addresses A.B.C.D and W.X.Y.Z, and the tunnel must be told the
addresses of the private IP addresses that will be allowed to pass
through it. The tunnel is used to transfer traffic with private
IP addresses across the public Internet.This tunnel is created by using the generic interface, or
gif devices on FreeBSD. As you can
imagine, the gif interface on each
gateway host must be configured with four IP addresses; two for
the public IP addresses, and two for the private IP
addresses.Support for the gif device must be compiled in to the
&os; kernel on both machines. You can do this by adding the
line:device gifto the kernel configuration files on both machines, and
then compile, install, and reboot as normal.Configuring the tunnel is a two step process. First the
tunnel must be told what the outside (or public) IP addresses
are, using &man.ifconfig.8;. Then the private IP addresses must be
configured using &man.ifconfig.8;.On the gateway machine on network #1 you would run the
following commands to configure the tunnel.&prompt.root; ifconfig gif0 create
&prompt.root; ifconfig gif0 tunnel A.B.C.DW.X.Y.Z
&prompt.root; ifconfig gif0 inet 192.168.1.1192.168.2.1 netmask 0xffffffffOn the other gateway machine you run the same commands,
but with the order of the IP addresses reversed.&prompt.root; ifconfig gif0 create
&prompt.root; ifconfig gif0 tunnel W.X.Y.ZA.B.C.D
&prompt.root; ifconfig gif0 inet 192.168.2.1192.168.1.1 netmask 0xffffffffYou can then run:ifconfig gif0to see the configuration. For example, on the network #1
gateway, you would see this:&prompt.root; ifconfig gif0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
tunnel inet A.B.C.D --> W.X.Y.Z
inet 192.168.1.1 --> 192.168.2.1 netmask 0xffffffff
As you can see, a tunnel has been created between the
physical addresses A.B.C.D and
W.X.Y.Z, and the traffic allowed
through the tunnel is that between 192.168.1.1 and 192.168.2.1.This will also have added an entry to the routing table
on both machines, which you can examine with the command netstat -rn.
This output is from the gateway host on network #1.&prompt.root; netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
...
192.168.2.1 192.168.1.1 UH 0 0 gif0
...
As the Flags value indicates, this is a
host route, which means that each gateway knows how to reach the
other gateway, but they do not know how to reach the rest of
their respective networks. That problem will be fixed
shortly.It is likely that you are running a firewall on both
machines. This will need to be circumvented for your VPN
traffic. You might want to allow all traffic between both
networks, or you might want to include firewall rules that
protect both ends of the VPN from one another.It greatly simplifies testing if you configure the
firewall to allow all traffic through the VPN. You can always
tighten things up later. If you are using &man.ipfw.8; on the
gateway machines then a command likeipfw add 1 allow ip from any to any via gif0will allow all traffic between the two end points of the
VPN, without affecting your other firewall rules. Obviously
you will need to run this command on both gateway hosts.This is sufficient to allow each gateway machine to ping
the other. On 192.168.1.1, you
should be able to runping 192.168.2.1and get a response, and you should be able to do the same
thing on the other gateway machine.However, you will not be able to reach internal machines
on either network yet. This is because of the routing --
although the gateway machines know how to reach one another,
they do not know how to reach the network behind each one.To solve this problem you must add a static route on each
gateway machine. The command to do this on the first gateway
would be:route add 192.168.2.0 192.168.2.1 netmask 0xffffff00
This says In order to reach the hosts on the
network 192.168.2.0, send the
packets to the host 192.168.2.1. You will need to
run a similar command on the other gateway, but with the
192.168.1.x addresses
instead.IP traffic from hosts on one network will now be able to
reach hosts on the other network.That has now created two thirds of a VPN between the two
networks, in as much as it is virtual and it is a
network. It is not private yet. You can test
this using &man.ping.8; and &man.tcpdump.1;. Log in to the
gateway host and runtcpdump dst host 192.168.2.1In another log in session on the same host runping 192.168.2.1You will see output that looks something like this:
16:10:24.018080 192.168.1.1 > 192.168.2.1: icmp: echo request
16:10:24.018109 192.168.1.1 > 192.168.2.1: icmp: echo reply
16:10:25.018814 192.168.1.1 > 192.168.2.1: icmp: echo request
16:10:25.018847 192.168.1.1 > 192.168.2.1: icmp: echo reply
16:10:26.028896 192.168.1.1 > 192.168.2.1: icmp: echo request
16:10:26.029112 192.168.1.1 > 192.168.2.1: icmp: echo reply
As you can see, the ICMP messages are going back and forth
unencrypted. If you had used the parameter to
&man.tcpdump.1; to grab more bytes of data from the packets you
would see more information.Obviously this is unacceptable. The next section will
discuss securing the link between the two networks so that
all traffic is automatically encrypted.Summary:Configure both kernels with device gif.Edit /etc/rc.conf on gateway host
#1 and add the following lines (replacing IP addresses as
necessary).gif_interfaces="gif0"
gifconfig_gif0="A.B.C.D W.X.Y.Z"
ifconfig_gif0="inet 192.168.1.1 192.168.2.1 netmask 0xffffffff"
static_routes="vpn"
route_vpn="192.168.2.0 192.168.2.1 netmask 0xffffff00"
Edit your firewall script
(/etc/rc.firewall, or similar) on both
hosts, and addipfw add 1 allow ip from any to any via gif0Make similar changes to
/etc/rc.conf on gateway host #2,
reversing the order of IP addresses.Step 2: Securing the linkTo secure the link we will be using IPsec. IPsec provides
a mechanism for two hosts to agree on an encryption key, and to
then use this key in order to encrypt data between the two
hosts.The are two areas of configuration to be considered here.There must be a mechanism for two hosts to agree on the
encryption mechanism to use. Once two hosts have agreed on
this mechanism there is said to be a security association
between them.There must be a mechanism for specifying which traffic
should be encrypted. Obviously, you do not want to encrypt
all your outgoing traffic -- you only want to encrypt the
traffic that is part of the VPN. The rules that you put in
place to determine what traffic will be encrypted are called
security policies.Security associations and security policies are both
maintained by the kernel, and can be modified by userland
programs. However, before you can do this you must configure the
kernel to support IPsec and the Encapsulated Security Payload
(ESP) protocol. This is done by configuring a kernel with:kernel optionsIPSECoptions IPSEC
options IPSEC_ESP
and recompiling, reinstalling, and rebooting. As before
you will need to do this to the kernels on both of the gateway
hosts.IKEYou have two choices when it comes to setting up security
associations. You can configure them by hand between two hosts,
which entails choosing the encryption algorithm, encryption keys,
and so forth, or you can use daemons that implement the Internet
Key Exchange protocol (IKE) to do this for you.I recommend the latter. Apart from anything else, it is
easier to set up.IPsecsecurity policiessetkeyEditing and displaying security policies is carried out
using &man.setkey.8;. By analogy, setkey is
to the kernel's security policy tables as &man.route.8; is to
the kernel's routing tables. setkey can
also display the current security associations, and to continue
the analogy further, is akin to netstat -r
in that respect.There are a number of choices for daemons to manage
security associations with FreeBSD. This article will describe
how to use one of these, racoon — which is available from
security/ipsec-tools in the &os; Ports
collection.racoonThe racoon software must be run on both gateway hosts. On each host it
is configured with the IP address of the other end of the VPN,
and a secret key (which you choose, and must be the same on both
gateways).The two daemons then contact one another, confirm that they
are who they say they are (by using the secret key that you
configured). The daemons then generate a new secret key, and use
this to encrypt the traffic over the VPN. They periodically
change this secret, so that even if an attacker were to crack one
of the keys (which is as theoretically close to unfeasible as it
gets) it will not do them much good -- by the time they have cracked
the key the two daemons have chosen another one.The configuration file for racoon is stored in
${PREFIX}/etc/racoon. You should find a
configuration file there, which should not need to be changed
too much. The other component of racoon's configuration,
which you will need to change, is the pre-shared
key.The default racoon configuration expects to find this in
the file ${PREFIX}/etc/racoon/psk.txt. It is important to note
that the pre-shared key is not the key that will be used to
encrypt your traffic across the VPN link, it is simply a token
that allows the key management daemons to trust one another.psk.txt contains a line for each
remote site you are dealing with. In this example, where there
are two sites, each psk.txt file will contain one line (because
each end of the VPN is only dealing with one other end).On gateway host #1 this line should look like this:W.X.Y.Z secretThat is, the public IP address of the remote end,
whitespace, and a text string that provides the secret.
Obviously, you should not use secret as your key -- the normal
rules for choosing a password apply.On gateway host #2 the line would look like thisA.B.C.D secretThat is, the public IP address of the remote end, and the
same secret key. psk.txt must be mode
0600 (i.e., only read/write to
root) before racoon will run.You must run racoon on both gateway machines. You will
also need to add some firewall rules to allow the IKE traffic,
which is carried over UDP to the ISAKMP (Internet Security Association
Key Management Protocol) port. Again, this should be fairly early in
your firewall ruleset.ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
Once racoon is running you can try pinging one gateway host
from the other. The connection is still not encrypted, but
racoon will then set up the security associations between the two
hosts -- this might take a moment, and you may see this as a
short delay before the ping commands start responding.Once the security association has been set up you can
view it using &man.setkey.8;. Runsetkey -Don either host to view the security association information.That's one half of the problem. The other half is setting
your security policies.To create a sensible security policy, let's review what's
been set up so far. This discussions hold for both ends of the
link.Each IP packet that you send out has a header that contains
data about the packet. The header includes the IP addresses of
both the source and destination. As we already know, private IP
addresses, such as the 192.168.x.y
range are not supposed to appear on the public Internet.
Instead, they must first be encapsulated inside another packet.
This packet must have the public source and destination IP
addresses substituted for the private addresses.So if your outgoing packet started looking like this:
.----------------------.
| Src: 192.168.1.1 |
| Dst: 192.168.2.1 |
| <other header info> |
+----------------------+
| <packet data> |
`----------------------'Then it will be encapsulated inside another packet, looking
something like this:
.--------------------------.
| Src: A.B.C.D |
| Dst: W.X.Y.Z |
| <other header info> |
+--------------------------+
| .----------------------. |
| | Src: 192.168.1.1 | |
| | Dst: 192.168.2.1 | |
| | <other header info> | |
| +----------------------+ |
| | <packet data> | |
| `----------------------' |
`--------------------------'This encapsulation is carried out by the
gif device. As
you can see, the packet now has real IP addresses on the outside,
and our original packet has been wrapped up as data inside the
packet that will be put out on the Internet.Obviously, we want all traffic between the VPNs to be
encrypted. You might try putting this in to words, as:If a packet leaves from A.B.C.D, and it is destined for W.X.Y.Z, then encrypt it, using the
necessary security associations.If a packet arrives from W.X.Y.Z, and it is destined for A.B.C.D, then decrypt it, using the
necessary security associations.That's close, but not quite right. If you did this, all
traffic to and from W.X.Y.Z, even
traffic that was not part of the VPN, would be encrypted. That's
not quite what you want. The correct policy is as followsIf a packet leaves from A.B.C.D, and that packet is encapsulating
another packet, and it is destined for W.X.Y.Z, then encrypt it, using the
necessary security associations.If a packet arrives from W.X.Y.Z, and that packet is encapsulating
another packet, and it is destined for A.B.C.D, then decrypt it, using the
necessary security associations.A subtle change, but a necessary one.Security policies are also set using &man.setkey.8;.
&man.setkey.8; features a configuration language for defining the
policy. You can either enter configuration instructions via
stdin, or you can use the option to specify a
filename that contains configuration instructions.The configuration on gateway host #1 (which has the public
IP address A.B.C.D) to force all
outbound traffic to W.X.Y.Z to be
encrypted is:
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;
Put these commands in a file (e.g.
/etc/ipsec.conf) and then run&prompt.root; setkey -f /etc/ipsec.conf tells &man.setkey.8; that we want
to add a rule to the secure policy database. The rest of this
line specifies which packets will match this policy. A.B.C.D/32 and W.X.Y.Z/32 are the IP addresses and
netmasks that identify the network or hosts that this policy will
apply to. In this case, we want it to apply to traffic between
these two hosts. tells the kernel that
this policy should only apply to packets that encapsulate other
packets. says that this policy applies
to outgoing packets, and says that the
packet will be secured.The second line specifies how this packet will be
encrypted. is the protocol that will be
used, while indicates that the packet
will be further encapsulated in an IPsec packet. The repeated
use of A.B.C.D and W.X.Y.Z is used to select the security
association to use, and the final
mandates that packets must be encrypted if they match this
rule.This rule only matches outgoing packets. You will need a
similar rule to match incoming packets.spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;Note the instead of
in this case, and the necessary reversal of
the IP addresses.The other gateway host (which has the public IP address
W.X.Y.Z) will need similar rules.spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;Finally, you need to add firewall rules to allow ESP and
IPENCAP packets back and forth. These rules will need to be
added to both hosts.ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
Because the rules are symmetric you can use the same rules
on each gateway host.Outgoing packets will now look something like this:
.------------------------------. --------------------------.
| Src: A.B.C.D | |
| Dst: W.X.Y.Z | |
| <other header info> | | Encrypted
+------------------------------+ | packet.
| .--------------------------. | -------------. | contents
| | Src: A.B.C.D | | | | are
| | Dst: W.X.Y.Z | | | | completely
| | <other header info> | | | |- secure
| +--------------------------+ | | Encap'd | from third
| | .----------------------. | | -. | packet | party
| | | Src: 192.168.1.1 | | | | Original |- with real | snooping
| | | Dst: 192.168.2.1 | | | | packet, | IP addr |
| | | <other header info> | | | |- private | |
| | +----------------------+ | | | IP addr | |
| | | <packet data> | | | | | |
| | `----------------------' | | -' | |
| `--------------------------' | -------------' |
`------------------------------' --------------------------'
When they are received by the far end of the VPN they will
first be decrypted (using the security associations that have
been negotiated by racoon). Then they will enter the
gif interface, which will unwrap
the second layer, until you are left with the innermost
packet, which can then travel in to the inner network.You can check the security using the same &man.ping.8; test from
earlier. First, log in to the
A.B.C.D gateway machine, and
run:tcpdump dst host 192.168.2.1In another log in session on the same host runping 192.168.2.1This time you should see output like the following:XXX tcpdump outputNow, as you can see, &man.tcpdump.1; shows the ESP packets. If
you try to examine them with the option you will see
(apparently) gibberish, because of the encryption.Congratulations. You have just set up a VPN between two
remote sites.SummaryConfigure both kernels with:options IPSEC
options IPSEC_ESP
Install security/ipsec-tools. Edit
${PREFIX}/etc/racoon/psk.txt on both
gateway hosts, adding an entry for the remote host's IP
address and a secret key that they both know. Make sure
this file is mode 0600.Add the following lines to
/etc/rc.conf on each host:ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
Create an /etc/ipsec.conf on each
host that contains the necessary spdadd lines. On gateway
host #1 this would be:
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec
esp/tunnel/A.B.C.D-W.X.Y.Z/require;
spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec
esp/tunnel/W.X.Y.Z-A.B.C.D/require;
On gateway host #2 this would be:
spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec
esp/tunnel/W.X.Y.Z-A.B.C.D/require;
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec
esp/tunnel/A.B.C.D-W.X.Y.Z/require;
Add firewall rules to allow IKE, ESP, and IPENCAP
traffic to both hosts:
ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
The previous two steps should suffice to get the VPN up and
running. Machines on each network will be able to refer to one
another using IP addresses, and all traffic across the link will
be automatically and securely encrypted.ChernLeeContributed by OpenSSHOpenSSHsecurityOpenSSHOpenSSH is a set of network connectivity tools used to
access remote machines securely. It can be used as a direct
replacement for rlogin,
rsh, rcp, and
telnet. Additionally, TCP/IP
connections can be tunneled/forwarded securely through SSH.
OpenSSH encrypts all traffic to effectively eliminate eavesdropping,
connection hijacking, and other network-level attacks.OpenSSH is maintained by the OpenBSD project, and is based
upon SSH v1.2.12 with all the recent bug fixes and updates. It
is compatible with both SSH protocols 1 and 2.Advantages of Using OpenSSHNormally, when using &man.telnet.1; or &man.rlogin.1;,
data is sent over the network in an clear, un-encrypted form.
Network sniffers anywhere in between the client and server can
steal your user/password information or data transferred in
your session. OpenSSH offers a variety of authentication and
encryption methods to prevent this from happening.Enabling sshdOpenSSHenablingThe
sshd is an option presented during
a Standard install of &os;. To see if
sshd is enabled, check the
rc.conf file for:sshd_enable="YES"This will load &man.sshd.8;, the daemon program for OpenSSH,
the next time your system initializes. Alternatively, it is
possible to use /etc/rc.d/sshd &man.rc.8;
script to start OpenSSH:/etc/rc.d/sshd startSSH ClientOpenSSHclientThe &man.ssh.1; utility works similarly to
&man.rlogin.1;.&prompt.root; ssh user@example.com
Host key not found from the list of known hosts.
Are you sure you want to continue connecting (yes/no)? yes
Host 'example.com' added to the list of known hosts.
user@example.com's password: *******The login will continue just as it would have if a session was
created using rlogin or
telnet. SSH utilizes a key fingerprint
system for verifying the authenticity of the server when the
client connects. The user is prompted to enter
yes only when
connecting for the first time. Future attempts to login are all
verified against the saved fingerprint key. The SSH client
will alert you if the saved fingerprint differs from the
received fingerprint on future login attempts. The fingerprints
are saved in ~/.ssh/known_hosts, or
~/.ssh/known_hosts2 for SSH v2
fingerprints.By default, recent versions of the
OpenSSH servers only accept SSH v2
connections. The client will use version 2 if possible and
will fall back to version 1. The client can also be forced to
use one or the other by passing it the or
for version 1 or version 2, respectively.
The version 1 compatibility is maintained in the client for
backwards compatibility with older versions.Secure CopyOpenSSHsecure copyscpThe &man.scp.1; command works similarly to
&man.rcp.1;; it copies a file to or from a remote machine,
except in a secure fashion.&prompt.root; scp user@example.com:/COPYRIGHT COPYRIGHT
user@example.com's password: *******
COPYRIGHT 100% |*****************************| 4735
00:00
&prompt.root;Since the fingerprint was already saved for this host in the
previous example, it is verified when using &man.scp.1;
here.The arguments passed to &man.scp.1; are similar
to &man.cp.1;, with the file or files in the first
argument, and the destination in the second. Since the file is
fetched over the network, through SSH, one or more of the file
arguments takes on the form
.ConfigurationOpenSSHconfigurationThe system-wide configuration files for both the
OpenSSH daemon and client reside
within the /etc/ssh directory.ssh_config configures the client
settings, while sshd_config configures the
daemon.Additionally, the
(/usr/sbin/sshd by default), and
rc.conf
options can provide more levels of configuration.ssh-keygenInstead of using passwords, &man.ssh-keygen.1; can
be used to generate DSA or RSA keys to authenticate a user:&prompt.user; ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_dsa):
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub.
The key fingerprint is:
bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@host.example.com
&man.ssh-keygen.1; will create a public and private
key pair for use in authentication. The private key is stored in
~/.ssh/id_dsa or
~/.ssh/id_rsa, whereas the public key is
stored in ~/.ssh/id_dsa.pub or
~/.ssh/id_rsa.pub, respectively for DSA and
RSA key types. The public key must be placed in
~/.ssh/authorized_keys of the remote
machine in order for the setup to work. Similarly, RSA version
1 public keys should be placed in
~/.ssh/authorized_keys.This will allow connection to the remote machine based upon
SSH keys instead of passwords.If a passphrase is used in &man.ssh-keygen.1;, the user
will be prompted for a password each time in order to use the
private key. &man.ssh-agent.1; can alleviate the strain of
repeatedly entering long passphrases, and is explored in the
section below.The various options and files can be different
according to the OpenSSH version
you have on your system; to avoid problems you should consult
the &man.ssh-keygen.1; manual page.ssh-agent and ssh-addThe &man.ssh-agent.1; and &man.ssh-add.1; utilities provide
methods for SSH keys to be loaded
into memory for use, without needing to type the passphrase
each time.The &man.ssh-agent.1; utility will handle the authentication
using the private key(s) that are loaded into it.
&man.ssh-agent.1; should be used to launch another application.
At the most basic level, it could spawn a shell or at a more
advanced level, a window manager.To use &man.ssh-agent.1; in a shell, first it will need to
be spawned with a shell as an argument. Secondly, the
identity needs to be added by running &man.ssh-add.1; and
providing it the passphrase for the private key. Once these
steps have been completed the user will be able to &man.ssh.1;
to any host that has the corresponding public key installed.
For example:&prompt.user; ssh-agent csh
&prompt.user; ssh-add
Enter passphrase for /home/user/.ssh/id_dsa:
Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)
&prompt.user;To use &man.ssh-agent.1; in X11, a call to
&man.ssh-agent.1; will need to be placed in
~/.xinitrc. This will provide the
&man.ssh-agent.1; services to all programs launched in X11.
An example ~/.xinitrc file might look
like this:exec ssh-agent startxfce4This would launch &man.ssh-agent.1;, which would in turn
launch XFCE, every time X11 starts.
Then once that is done and X11 has been restarted so that the
changes can take effect, simply run &man.ssh-add.1; to load
all of your SSH keys.SSH TunnelingOpenSSHtunnelingOpenSSH has the ability to create a tunnel to encapsulate
another protocol in an encrypted session.The following command tells &man.ssh.1; to create a tunnel
for telnet:&prompt.user; ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com
&prompt.user;The ssh command is used with the
following options:Forces ssh to use version 2 of
the protocol. (Do not use if you are working with older
SSH servers)Indicates no command, or tunnel only. If omitted,
ssh would initiate a normal
session.Forces ssh to run in the
background.Indicates a local tunnel in
localport:remotehost:remoteport
fashion.The remote SSH server.An SSH tunnel works by creating a listen socket on
localhost on the specified port.
It then forwards any connection received
on the local host/port via the SSH connection to the specified
remote host and port.In the example, port 5023 on
localhost is being forwarded to port
23 on localhost
of the remote machine. Since 23 is telnet,
this would create a secure telnet session through an SSH tunnel.This can be used to wrap any number of insecure TCP
protocols such as SMTP, POP3, FTP, etc.Using SSH to Create a Secure Tunnel for SMTP&prompt.user; ssh -2 -N -f -L 5025:localhost:25 user@mailserver.example.com
user@mailserver.example.com's password: *****
&prompt.user; telnet localhost 5025
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mailserver.example.com ESMTPThis can be used in conjunction with an
&man.ssh-keygen.1; and additional user accounts to create a
more seamless/hassle-free SSH tunneling environment. Keys
can be used in place of typing a password, and the tunnels
can be run as a separate user.Practical SSH Tunneling ExamplesSecure Access of a POP3 ServerAt work, there is an SSH server that accepts
connections from the outside. On the same office network
resides a mail server running a POP3 server. The network,
or network path between your home and office may or may not
be completely trustable. Because of this, you need to check
your e-mail in a secure manner. The solution is to create
an SSH connection to your office's SSH server, and tunnel
through to the mail server.&prompt.user; ssh -2 -N -f -L 2110:mail.example.com:110 user@ssh-server.example.com
user@ssh-server.example.com's password: ******When the tunnel is up and running, you can point your
mail client to send POP3 requests to localhost
port 2110. A connection here will be forwarded securely across
the tunnel to mail.example.com.Bypassing a Draconian FirewallSome network administrators impose extremely draconian
firewall rules, filtering not only incoming connections,
but outgoing connections. You may be only given access
to contact remote machines on ports 22 and 80 for SSH
and web surfing.You may wish to access another (perhaps non-work
related) service, such as an Ogg Vorbis server to stream
music. If this Ogg Vorbis server is streaming on some other
port than 22 or 80, you will not be able to access it.The solution is to create an SSH connection to a machine
outside of your network's firewall, and use it to tunnel to
the Ogg Vorbis server.&prompt.user; ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled-system.example.org
user@unfirewalled-system.example.org's password: *******Your streaming client can now be pointed to
localhost port 8888, which will be
forwarded over to music.example.com port
8000, successfully evading the firewall.The AllowUsers Users OptionIt is often a good idea to limit which users can log in and
from where. The AllowUsers option is a good
way to accomplish this. For example, to only allow the
root user to log in from
192.168.1.32, something like this
would be appropriate in the
/etc/ssh/sshd_config file:AllowUsers root@192.168.1.32To allow the user admin to log in from
anywhere, just list the username by itself:AllowUsers adminMultiple users should be listed on the same line, like so:AllowUsers root@192.168.1.32 adminIt is important that you list each user that needs to
log in to this machine; otherwise they will be locked out.After making changes to
/etc/ssh/sshd_config you must tell
&man.sshd.8; to reload its config files, by running:&prompt.root; /etc/rc.d/sshd reloadFurther ReadingOpenSSH&man.ssh.1; &man.scp.1; &man.ssh-keygen.1;
&man.ssh-agent.1; &man.ssh-add.1; &man.ssh.config.5;&man.sshd.8; &man.sftp-server.8; &man.sshd.config.5;TomRhodesContributed by ACLFile System Access Control ListsIn conjunction with file system enhancements like snapshots, FreeBSD 5.0
and later offers the security of File System Access Control Lists
(ACLs).Access Control Lists extend the standard &unix;
permission model in a highly compatible (&posix;.1e) way. This feature
permits an administrator to make use of and take advantage of a
more sophisticated security model.To enable ACL support for UFS
file systems, the following:options UFS_ACLmust be compiled into the kernel. If this option has
not been compiled in, a warning message will be displayed
when attempting to mount a file system supporting ACLs.
This option is included in the GENERIC kernel.
ACLs rely on extended attributes being enabled on
the file system. Extended attributes are natively supported in the next generation
&unix; file system, UFS2.A higher level of administrative overhead is required to
configure extended attributes on UFS1 than on
UFS2. The performance of extended attributes
on UFS2 is also substantially higher. As a
result, UFS2 is generally recommended in preference
to UFS1 for use with access control lists.ACLs are enabled by the mount-time administrative
flag, , which may be added to /etc/fstab.
The mount-time flag can also be automatically set in a persistent manner using
&man.tunefs.8; to modify a superblock ACLs flag in the
file system header. In general, it is preferred to use the superblock flag
for several reasons:The mount-time ACLs flag cannot be changed by a
remount (&man.mount.8; ), only by means of a complete
&man.umount.8; and fresh &man.mount.8;. This means that
ACLs cannot be enabled on the root file system after boot.
It also means that you cannot change the disposition of a file system once
it is in use.Setting the superblock flag will cause the file system to always be
mounted with ACLs enabled even if there is not an
fstab entry or if the devices re-order. This prevents
accidental mounting of the file system without ACLs
enabled, which can result in ACLs being improperly enforced,
and hence security problems.We may change the ACLs behavior to allow the flag to
be enabled without a complete fresh &man.mount.8;, but we consider it desirable to
discourage accidental mounting without ACLs enabled, because you
can shoot your feet quite nastily if you enable ACLs, then disable
them, then re-enable them without flushing the extended attributes. In general, once
you have enabled ACLs on a file system, they should not be disabled,
as the resulting file protections may not be compatible with those intended by the
users of the system, and re-enabling ACLs may re-attach the previous
ACLs to files that have since had their permissions changed,
resulting in other unpredictable behavior.File systems with ACLs enabled will show a +
(plus) sign in their permission settings when viewed. For example:drwx------ 2 robert robert 512 Dec 27 11:54 private
drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directory1
drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directory2
drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directory3
drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_htmlHere we see that the directory1,
directory2, and directory3
directories are all taking advantage of ACLs. The
public_html directory is not.Making Use of ACLsThe file system ACLs can be viewed by the
&man.getfacl.1; utility. For instance, to view the
ACL settings on the test
file, one would use the command:&prompt.user; getfacl test
#file:test
#owner:1001
#group:1001
user::rw-
group::r--
other::r--To change the ACL settings on this file,
invoke the &man.setfacl.1; utility. Observe:&prompt.user; setfacl -k testThe flag will remove all of the
currently defined ACLs from a file or file
system. The more preferable method would be to use
as it leaves the basic fields required for
ACLs to work.&prompt.user; setfacl -m u:trhodes:rwx,group:web:r--,o::--- testIn the aforementioned command, the
option was used to modify the default ACL
entries. Since there were no pre-defined entries, as they were
removed by the previous command, this will restore the default
options and assign the options listed. Take care to notice that
if you add a user or group which does not exist on the system,
an Invalid argument error will be printed
to stdout.TomRhodesContributed by PortauditMonitoring Third Party Security IssuesIn recent years, the security world has made many improvements
to how vulnerability assessment is handled. The threat of system
intrusion increases as third party utilities are installed and
configured for virtually any operating system available
today.Vulnerability assessment is a key factor in security, and
while &os; releases advisories for the base system, doing so
for every third party utility is beyond the &os; Project's
capability. There is a way to mitigate third party
vulnerabilities and warn administrators of known security
issues. A &os; add on utility known as
Portaudit exists solely for this
purpose.The ports-mgmt/portaudit port
polls a database, updated and maintained by the &os; Security
Team and ports developers, for known security issues.To begin using Portaudit, one
must install it from the Ports Collection:&prompt.root; cd /usr/ports/ports-mgmt/portaudit && make install cleanDuring the install process, the configuration files for
&man.periodic.8; will be updated, permitting
Portaudit output in the daily security
runs. Ensure the daily security run emails, which are sent to
root's email account, are being read. No
more configuration will be required here.After installation, an administrator can update the database
and view known vulnerabilities in installed packages by invoking
the following command:&prompt.root; portaudit -FdaThe database will automatically be updated during the
&man.periodic.8; run; thus, the previous command is completely
optional. It is only required for the following
examples.To audit the third party utilities installed as part of
the Ports Collection at anytime, an administrator need only run
the following command:&prompt.root; portaudit -aPortaudit will produce something
like this for vulnerable packages:Affected package: cups-base-1.1.22.0_1
Type of problem: cups-base -- HPGL buffer overflow vulnerability.
Reference: <http://www.FreeBSD.org/ports/portaudit/40a3bca2-6809-11d9-a9e7-0001020eed82.html>
1 problem(s) in your installed packages found.
You are advised to update or deinstall the affected package(s) immediately.By pointing a web browser to the URL shown,
an administrator may obtain more information about the
vulnerability in question. This will include versions affected,
by &os; Port version, along with other web sites which may contain
security advisories.In short, Portaudit is a powerful
utility and extremely useful when coupled with the
Portupgrade port.TomRhodesContributed by FreeBSD Security Advisories&os; Security AdvisoriesLike many production quality operating systems, &os; publishes
Security Advisories. These advisories are usually
mailed to the security lists and noted in the Errata only
after the appropriate releases have been patched. This section
will work to explain what an advisory is, how to understand it,
and what measures to take in order to patch a system.What does an advisory look like?The &os; security advisories look similar to the one below,
taken from the &a.security-notifications.name; mailing list.=============================================================================
&os;-SA-XX:XX.UTIL Security Advisory
The &os; Project
Topic: denial of service due to some problem
Category: core
Module: sys
Announced: 2003-09-23
Credits: Person@EMAIL-ADDRESS
Affects: All releases of &os;
&os; 4-STABLE prior to the correction date
Corrected: 2003-09-23 16:42:59 UTC (RELENG_4, 4.9-PRERELEASE)
2003-09-23 20:08:42 UTC (RELENG_5_1, 5.1-RELEASE-p6)
2003-09-23 20:07:06 UTC (RELENG_5_0, 5.0-RELEASE-p15)
2003-09-23 16:44:58 UTC (RELENG_4_8, 4.8-RELEASE-p8)
2003-09-23 16:47:34 UTC (RELENG_4_7, 4.7-RELEASE-p18)
2003-09-23 16:49:46 UTC (RELENG_4_6, 4.6-RELEASE-p21)
2003-09-23 16:51:24 UTC (RELENG_4_5, 4.5-RELEASE-p33)
2003-09-23 16:52:45 UTC (RELENG_4_4, 4.4-RELEASE-p43)
2003-09-23 16:54:39 UTC (RELENG_4_3, 4.3-RELEASE-p39)
CVE Name: CVE-XXXX-XXXX
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit
http://www.FreeBSD.org/security/.
I. Background
II. Problem Description
III. Impact
IV. Workaround
V. Solution
VI. Correction details
VII. ReferencesThe Topic field indicates exactly what the problem is.
It is basically an introduction to the current security
advisory and notes the utility with the
vulnerability.The Category refers to the affected part of the system
which may be one of core, contrib, or ports. The core
category means that the vulnerability affects a core
component of the &os; operating system. The contrib
category means that the vulnerability affects software
contributed to the &os; Project, such as
sendmail. Finally the ports
category indicates that the vulnerability affects add on
software available as part of the Ports Collection.The Module field refers to the component location, for
instance sys. In this example, we see that the module,
sys, is affected; therefore, this vulnerability
affects a component used within the kernel.The Announced field reflects the date said security
advisory was published, or announced to the world. This
means that the security team has verified that the problem
does exist and that a patch has been committed to the &os;
source code repository.The Credits field gives credit to the individual or
organization who noticed the vulnerability and reported
it.The Affects field explains which releases of &os; are
affected by this vulnerability. For the kernel, a quick
look over the output from ident on the
affected files will help in determining the revision.
For ports, the version number is listed after the port name
in /var/db/pkg. If the system does not
sync with the &os; CVS repository and rebuild
daily, chances are that it is affected.The Corrected field indicates the date, time, time
offset, and release that was corrected.Reserved for the identification information used to look up
vulnerabilities in the Common Vulnerabilities Database system.The Background field gives information on exactly what
the affected utility is. Most of the time this is why
the utility exists in &os;, what it is used for, and a bit
of information on how the utility came to be.The Problem Description field explains the security hole
in depth. This can include information on flawed code, or
even how the utility could be maliciously used to open
a security hole.The Impact field describes what type of impact the
problem could have on a system. For example, this could
be anything from a denial of service attack, to extra
privileges available to users, or even giving the attacker
superuser access.The Workaround field offers a feasible workaround to
system administrators who may be incapable of upgrading
the system. This may be due to time constraints, network
availability, or a slew of other reasons. Regardless,
security should not be taken lightly, and an affected system
should either be patched or the security hole workaround
should be implemented.The Solution field offers instructions on patching the
affected system. This is a step by step tested and verified
method for getting a system patched and working
securely.The Correction Details field displays the
CVS branch or release name with the
periods changed to underscore characters. It also shows
the revision number of the affected files within each
branch.The References field usually offers sources of other
information. This can include web URLs,
books, mailing lists, and newsgroups.TomRhodesContributed by Process AccountingProcess AccountingProcess accounting is a security method in which an
administrator may keep track of system resources used,
their allocation among users, provide for system monitoring,
and minimally track a user's commands.This indeed has its own positive and negative points. One of
the positives is that an intrusion may be narrowed down
to the point of entry. A negative is the amount of logs
generated by process accounting, and the disk space they may
require. This section will walk an administrator through
the basics of process accounting.Enable and Utilizing Process AccountingBefore making use of process accounting, it
must be enabled. To do this, execute the following
commands:&prompt.root; touch /var/account/acct
&prompt.root; accton /var/account/acct
&prompt.root; echo 'accounting_enable="YES"' >> /etc/rc.confOnce enabled, accounting will begin to track
CPU stats, commands, etc. All accounting
logs are in a non-human readable format and may be viewed
using the &man.sa.8; utility. If issued without any options,
sa will print information relating to the
number of per user calls, the total elapsed time in minutes,
total CPU and user time in minutes, average
number of I/O operations, etc.To view information about commands being issued, one
would use the &man.lastcomm.1; utility. The
lastcomm may be used to print out commands
issued by users on specific &man.ttys.5;, for example:&prompt.root; lastcomm ls
trhodes ttyp1Would print out all known usage of the ls
by trhodes on the ttyp1 terminal.Many other useful options exist and are explained in the
&man.lastcomm.1;, &man.acct.5; and &man.sa.8; manual
pages.
diff --git a/el_GR.ISO8859-7/books/handbook/txtfiles.ent b/el_GR.ISO8859-7/books/handbook/txtfiles.ent
index 292bf40444..33126b4574 100644
--- a/el_GR.ISO8859-7/books/handbook/txtfiles.ent
+++ b/el_GR.ISO8859-7/books/handbook/txtfiles.ent
@@ -1,78 +1,85 @@
+
+
diff --git a/el_GR.ISO8859-7/books/handbook/virtualization/chapter.sgml b/el_GR.ISO8859-7/books/handbook/virtualization/chapter.sgml
index 3733c9d3ea..6c2efc0e15 100644
--- a/el_GR.ISO8859-7/books/handbook/virtualization/chapter.sgml
+++ b/el_GR.ISO8859-7/books/handbook/virtualization/chapter.sgml
@@ -1,802 +1,803 @@
MurrayStokelyΣυνεισφορά από τον ΕικονικοποίησηΣύνοψηΤο λογισμικό εικονικοποίησης επιτρέπει σε πολλαπλά λειτουργικά
συστήματα να εκτελούνται ταυτόχρονα στον ίδιο υπολογιστή. Σε υπολογιστές
PC το λογισμικό αυτό τυπικά χρησιμοποιεί ένα λειτουργικό ως ξενιστή
(host) στο οποίο και εκτελείται, και το οποίο υποστηρίζει ένα
οποιοδήποτε αριθμό από φιλοξενούμενα (guest) λειτουργικά.Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε:Τη διαφορά μεταξύ ενός ξενιστή (host) και ενός φιλοξενούμενου
(guest) λειτουργικού.Πως να εγκαταστήσετε το &os; σε ένα &apple; &macintosh;
υπολογιστή που βασίζεται σε &intel; αρχιτεκτονική.Πως να εγκαταστήσετε το &os; στο Linux με τη βοήθεια του
&xen;.Πώς να εγκαταστήσετε το &os; κάτω από µsoft.windows; με
το Virtual PC.Πως να βελτιστοποιήσετε ένα &os; σύστημα για την καλύτερη
απόδοση σε περιβάλλον εικονικού μηχανήματος.Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:Να έχετε κατανοήσει τις βασικές έννοιες του &unix; και του &os; ().Να γνωρίζετε πως θα εγκαταστήσετε το &os; ().Να γνωρίζετε πως θα ρυθμίσετε τη σύνδεση σας στο δίκτυο
().Να γνωρίζετε πως να εγκαταστήσετε πρόσθετο λογισμικό
τρίτου κατασκευαστή ().Το &os; ως φιλοξενούμενο λειτουργικόΤο Parallels σε MacOSΤο Parallels Desktop για &mac; είναι
ένα εμπορικό λογισμικό το οποίον είναι διαθέσιμο για υπολογιστές
&apple; &mac; με επεξεργαστή &intel; και λειτουργικό &macos; 10.4.6 ή
νεότερο. Το &os; παρέχει πλήρη υποστήριξη ως φιλοξενούμενο
λειτουργικό. Όταν το Parallels έχει
εγκατασταθεί στο &macos; X, ο χρήστης πρέπει να ρυθμίσει ένα εικονικό
σύστημα και στη συνέχεια να εγκαταστήσει το φιλοξενούμενο λειτουργικό
σύστημα που επιθυμεί.Εγκαθιστώντας το &os; στο Parallels/&macos; XΤο πρώτο βήμα για την εγκατάσταση του &os; στο &macos;
X/Parallels είναι να δημιουργήσετε ένα
νέο εικονικό σύστημα για το &os;. Όταν ερωτηθείτε, επιλέξτε
το &os; σαν το φιλοξενούμενο
λειτουργικό (Guest OS) .Ορίστε ένα λογικό μέγεθος δίσκου και μνήμης που να
ανταποκρίνεται στα σχέδια που έχετε για την εικονικοποίηση του
&os;. 4GB δίσκος και 512MB μνήμης δουλεύουν μια χαρά για τους
περισσότερους χρήστες του &os;μέσα από το
Parallels:Επιλέξτε τον τύπο δικτύωσης και τον προσαρμογέα δικτύου:Αποθήκευση και τέλος των ρυθμίσεων:Όταν το εικονικό σύστημα έχει δημιουργηθεί, θα χρειαστεί να
εγκαταστήσετε το ίδιο το &os;. Ο καλύτερος τρόπος για να γίνει
η εγκατάσταση είναι με το επίσημο &os; CD-ROM ή με κάποιο αρχείο
ISO, κατεβασμένο από τον επίσημο FTP τόπο. Όταν έχετε το κατάλληλο
ISO στο σκληρό σας, ή το CD-ROM στον οδηγό CD, ενεργοποιήστε με το ποντίκι το
εικονίδιο του CD στο κάτω δεξί μέρος της οθόνης του
Parallels. Με αυτόν τον τρόπο θα
μπορέσετε να ορίσετε την πηγή της εγκατάστασης. Μπορείτε να
ορίσετε το CDROM ή κάποιο διαθέσιμο ISO αρχείο.Όταν έχετε αντιστοιχήσει τη πηγή εγκατάστασης, επανεκκινήστε το
εικονικό σύστημα πατώντας απλά το κουμπί της επανεκκίνησης (reboot)
του Parallels. To
Parallels θα ξεκινήσει με ένα ειδικό
BIOS το οποίο πρώτα ελέγχει εάν υπάρχει διαθέσιμο κάποιο CD-ROM,
όπως κάνει και ένα φυσιολογικό BIOS.Σε αυτή τη περίπτωση θα βρει το μέσο εγκατάστασης του &os;
και θα ξεκινήσει το sysinstall όπως
περιγράφεται στο . Μπορείτε να
εγκαταστήσετε το X11, αλλά μη δοκιμάσετε να ρυθμίσετε αυτή τη
στιγμή.Όταν τελειώσετε με την εγκατάσταση, κάντε μια επανεκκίνηση στο
φρέσκο εικονικό &os;.Ρυθμίζοντας το &os; στο &macos; X/ParallelsΑφού έχει εγκατασταθεί επιτυχώς το &os; στο &macos; X με το
Parallels, υπάρχουν μερικά βήματα ακόμη
που μπορούν να σας βοηθήσουν να ρυθμίσετε το εικονικό σας
σύστημα.Μεταβλητές του boot loaderΤο ποιο σημαντικό βήμα είναι να μειώσετε το μέγεθος του
προκειμένου να αξιοποιήσετε τη CPU
μέσα από το Parallels. Αυτό μπορεί
να γίνει με το να προσθέσετε την ακόλουθη γραμμή στο
/boot/loader.conf:kern.hz=100Χωρίς αυτή τη ρύθμιση, ένα αδρανές &os; στο
Parallels θα καταναλώνει το 15% της
CPU ενός μονοπύρηνου &imac;. Μετά από την αλλαγή, η
κατανάλωση θα πέσει κοντά στο 5%.Δημιουργία νέου αρχείου ρυθμίσεων του πυρήναΜπορείτε να αφαιρέσετε όλες τους οδηγούς για SCSI,
FireWire, και USB συσκευές.
Το Parallels παρέχει ένα εικονικό
προσαρμογέα δικτύου ο οποίος χρησιμοποιείται από τον οδηγό
&man.ed.4;, οπότε όλοι οι οδηγοί για δικτυακές συσκευές εκτός
των &man.ed.4; και &man.miibus.4; μπορούν να αφαιρεθούν από
τον πυρήνα.Ρύθμιση δικτύουΗ πιο απλή ρύθμιση δικτύου κάνει χρήση του DHCP για να
συνδεθεί το εικονικό σας σύστημα στο ίδιο τοπικό δίκτυο με τον
&mac;. Αυτό μπορεί εύκολα να γίνει με το να προσθέσετε τη
γραμμή ifconfig_ed0="DHCP"
στο /etc/rc.conf. Πολυπλοκότερες
ρυθμίσεις δικτύου περιγράφονται στο
κεφάλαιο .FukangChen (Loader)Συνεισφορά του &os; με &xen; στο LinuxΤο &xen; hypervisor είναι ένα προϊόν
παρα-εικονικοποίησης (paravirtualization) ανοιχτού κώδικα το οποίο
υποστηρίζεται από την εταιρεία XenSource. Τα φιλοξενούμενα
λειτουργικά είναι γνωστά σαν domU domains, και ο ξενιστής σαν dom0.
Το πρώτο βήμα για να τρέξετε ένα εικονικό σύστημα &os; μέσα από
το Linux είναι να εγκαταστήσετε το &xen;
για Linux dom0. Εμείς χρησιμοποιήσαμε ως ξενιστή της διανομή
Slackware Linux.Εγκατάσταση &xen; 3 σε Linux dom0Κατέβασμα &xen; 3.0 από XenSourceΚατεβάστε xen-3.0.4_1-src.tgz
from .Ξεπακετάρετε το tarball&prompt.root; cd xen-3.0.4_1-src
&prompt.root; KERNELS="linux-2.6-xen0 linux-2.6-xenU" make world
&prompt.root; make installΓια να μεταγλωττίσετε ξανά τον πυρήνα για το dom0:&prompt.root; cd xen-3.0.4_1-src/linux-2.6.16.33-xen0
&prompt.root; make menuconfig
&prompt.root; make
&prompt.root; make installΠαλιές εκδόσεις του &xen; ίσως χρειάζονται να οριστεί το
make ARCH=xen menuconfigΠροσθήκη στη λίστα του Grub menu.lstΕπεξεργαστείτε το /boot/grub/menu.lst
και προσθέστε τις παρακάτω γραμμές:title Xen-3.0.4
root (hd0,0)
kernel /boot/xen-3.0.4-1.gz dom0_mem=262144
module /boot/vmlinuz-2.6.16.33-xen0 root=/dev/hda1 roΕπανεκκινήστε το σύστημά σας και φορτώστε το &xen;Αρχικά, επεξεργαστείτε
το /etc/xen/xend-config.sxp, και
προσθέστε τις παρακάτω γραμμές:(network-script 'network-bridge netdev=eth0')Στη συνέχεια, μπορούμε να τρέξουμε το
&xen;:&prompt.root; /etc/init.d/xend start
&prompt.root; /etc/init.d/xendomains startΤο dom0 τρέχει:&prompt.root; xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 256 1 r----- 54452.9&os; 7-CURRENT domUΚατεβάστε το &os; domU kernel για το &xen;
3.0 και την εικόνα δίσκο (disk image)
από http://www.fsmware.com/kernel-currentmdroot-7.0.bz2xmexample1.bsdΤοποθετήστε το αρχείο
ρυθμίσεων xmexample1.bsd μέσα
στο /etc/xen/ και αλλάξτε τα στοιχεία που
σχετίζονται με το που βρίσκεται ο πυρήνας και η εικόνα δίσκου. Θα
πρέπει να μοιάζει με το παρακάτω:kernel = "/opt/kernel-current"
memory = 256
name = "freebsd"
vif = [ '' ]
disk = [ 'file:/opt/mdroot-7.0,hda1,w' ]
#on_crash = 'preserve'
extra = "boot_verbose"
extra += ",boot_single"
extra += ",kern.hz=100"
extra += ",vfs.root.mountfrom=ufs:/dev/xbd769a"Το αρχείο mdroot-7.0.bz2 θα πρέπει να είναι αποσυμπιεσμένοΣτη συνέχεια, το __xen_guest που βρίσκεται
στο kernel-current πρέπει να αλλάξει για να
προστεθεί το VIRT_BASE που απαιτεί το
&xen; 3.0.3:&prompt.root; objcopy kernel-current -R __xen_guest
&prompt.root; perl -e 'print "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xC0000000\x00"' > tmp
&prompt.root; objcopy kernel-current --add-section __xen_guest=tmp&prompt.root; objdump -j __xen_guest -s kernel-current
kernel-current: file format elf32-i386
Contents of section __xen_guest:
0000 4c4f4144 45523d67 656e6572 69632c47 LOADER=generic,G
0010 55455354 5f4f533d 66726565 6273642c UEST_OS=freebsd,
0020 47554553 545f5645 523d372e 302c5845 GUEST_VER=7.0,XE
0030 4e5f5645 523d7865 6e2d332e 302c4253 N_VER=xen-3.0,BS
0040 445f5359 4d544142 2c564952 545f4241 D_SYMTAB,VIRT_BA
0050 53453d30 78433030 30303030 3000 SE=0xC0000000. Τώρα είμαστε έτοιμοι να δημιουργήσουμε και να εκκινήσουμε το
domU:&prompt.root; xm create /etc/xen/xmexample1.bsd -c
Using config file "/etc/xen/xmexample1.bsd".
Started domain freebsd
WARNING: loader(8) metadata is missing!
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006
kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF
WARNING: DIAGNOSTIC option enabled, expect reduced performance.
Xen reported: 1796.927 MHz processor.
Timecounter "ixen" frequency 1796927000 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (1796.93-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf29 Stepping = 9
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,
DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0x4400<CNTX-ID,<b14>>
real memory = 265244672 (252 MB)
avail memory = 255963136 (244 MB)
xc0: <Xen Console> on motherboard
cpu0 on motherboard
Timecounters tick every 10.000 msec
[XEN] Initialising virtual ethernet driver.
xn0: Ethernet address: 00:16:3e:6b:de:3a
[XEN]
Trying to mount root from ufs:/dev/xbd769a
WARNING: / was not properly dismounted
Loading configuration files.
No suitable dump device was found.
Entropy harvesting: interrupts ethernet point_to_point kickstart.
Starting file system checks:
/dev/xbd769a: 18859 files, 140370 used, 113473 free (10769 frags, 12838 blocks, 4.2% fragmentation)
Setting hostname: demo.freebsd.org.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000
Additional routing options:.
Mounting NFS file systems:.
Starting syslogd.
/etc/rc: WARNING: Dump device does not exist. Savecore not run.
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
Starting usbd.
usb: Kernel module not available: No such file or directory
Starting local daemons:.
Updating motd.
Starting sshd.
Initial i386 initialization:.
Additional ABI support: linux.
Starting cron.
Local package initialization:.
Additional TCP options:.
Starting background file system checks in 60 seconds.
Sun Apr 1 02:11:43 UTC 2007
FreeBSD/i386 (demo.freebsd.org) (xc0)
login: Το domU θα πρέπει να τρέχει τον πυρήνα
&os; 7.0-CURRENT:&prompt.root; uname -a
FreeBSD demo.freebsd.org 7.0-CURRENT FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006
kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF i386Τώρα μπορούμε να ρυθμίσουμε και το δίκτυο στο domU. Το &os; domU
θα κάνει χρήση ενός ειδικού προσαρμογέα με όνομα
xn0:&prompt.root; ifconfig xn0 10.10.10.200 netmask 255.0.0.0
&prompt.root; ifconfig
xn0: flags=843<UP,BROADCAST,RUNNING,SIMPLEX> mtu 1500
inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255
ether 00:16:3e:6b:de:3a
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000 Στο dom0 Slackware, κάποιa network interfaces που εξαρτώνται από
το &xen; θα πρέπει τώρα να είναι
διαθέσιμα:&prompt.root; ifconfig
eth0 Link encap:Ethernet HWaddr 00:07:E9:A0:02:C2
inet addr:10.10.10.130 Bcast:0.0.0.0 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:815 errors:0 dropped:0 overruns:0 frame:0
TX packets:1400 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:204857 (200.0 KiB) TX bytes:129915 (126.8 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:99 errors:0 dropped:0 overruns:0 frame:0
TX packets:99 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9744 (9.5 KiB) TX bytes:9744 (9.5 KiB)
peth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:1853349 errors:0 dropped:0 overruns:0 frame:0
TX packets:952923 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2432115831 (2.2 GiB) TX bytes:86528526 (82.5 MiB)
Base address:0xc000 Memory:ef020000-ef040000
vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:1400 errors:0 dropped:0 overruns:0 frame:0
TX packets:815 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:129915 (126.8 KiB) TX bytes:204857 (200.0 KiB)
vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:157 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:140 (140.0 b) TX bytes:158 (158.0 b)
xenbr1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:112 (112.0 b) TX bytes:0 (0.0 b)&prompt.root; brctl show
bridge name bridge id STP enabled interfaces
xenbr1 8000.feffffffffff no vif0.1
peth0
vif1.0Το VMWare σε MacOSΤο VMWare Fusion για &mac; είναι ένα
εμπορικό πρόγραμμα. Υπάρχει διαθέσιμο για υπολογιστές &apple; &mac;
αρχιτεκτονικής &intel; που τρέχουν &macos; 10.4.9 ή κάποια πιο
πρόσφατη έκδοση. Το &os; υποστηρίζεται πλήρως ως φιλοξενούμενο
(guest) λειτουργικό. Μόλις ολοκληρωθεί η εγκατάσταση
του VMWare Fusion στο &macos; X, πρέπει να
ρυθμίσετε μια εικονική μηχανή και να εγκαταστήσετε το φιλοξενούμενο
λειτουργικό σύστημα.Εγκατάσταση του FreeBSD στο VMWare/&macos; XΑρχικά ξεκινήστε το VMWare Fusion, και θα φορτώσει η Συλλογή
Εικονικών Μηχανών. Επιλέξτε "New" για να δημιουργήσετε μια νέα
εικονική μηχανή:Θα δείτε να φορτώνει το New Virtual Machine Assistant, το
βοηθητικό πρόγραμμα δημιουργίας μιας νέας εικονικής μηχανής.
Επιλέξτε Continue για να συνεχίσετε:Στην επιλογή λειτουργικού συστήματος
διαλέξτε Other και ως έκδοση λειτουργικού
συστήματος διαλέξτε FreeBSD
ή FreeBSD 64-bit (ανάλογα με το αν θέλετε
υποστήριξη για 64-bit εφαρμογές ή όχι):Δώστε ένα όνομα για το VM Image και ρυθμίστε τον κατάλογο στον
οποίο θέλετε να αποθηκευθεί:Ρυθμίστε το μέγεθος του Εικονικού Δίσκου για την εικονική
μηχανή:Επιλέξτε μια μέθοδο εγκατάστασης για την εικονική μηχανή: είτε
από ένα ISO image είτε από το CD-ROM:Μόλις επιλέξετε Finish, η εικονική μηχανή θα ξεκινήσει τη
διαδικασία εκκίνησης (boot):Εγκαταστήστε το &os; όπως θα κάνατε και σε οποιοδήποτε άλλο
υπολογιστή, ή ακολουθώντας τις οδηγίες από
το :Μόλις ολοκληρωθεί η εγκατάσταση, μπορείτε να αλλάξετε τις
ρυθμίσεις της εικονικής μηχανής, όπως π.χ. το μέγεθος μνήμης που θα
χρησιμοποιεί:Οι ρυθμίσεις υλικού μιας εικονικής μηχανής δε μπορούν να
αλλάξουν όσο τρέχει αυτή η εικονική μηχανή.Μπορείτε, ακόμη, να ρυθμίσετε τον αριθμό των επεξεργαστών τους
οποίους επιτρέπεται να χρησιμοποιήσει αυτή η εικονική μηχανή:Ίσως έχει νόημα, επίσης, να αλλάξετε το αρχείο ή τη συσκευή που
φαίνεται ως CD-ROM μέσα στην εικονική μηχανή. Συνήθως μπορείτε να
αποσυνδέσετε το CD-ROM ή το ISO image από την εικονική μηχανή, αφού
δε χρειάζεται πλέον όταν έχει ολοκληρωθεί η εγκατάσταση του
&os;:Μια από τις τελευταίες ρυθμίσεις είναι η σύνδεση της εικονικής
μηχανής με το δίκτυο. Για να μπορείτε να συνδεθείτε στην ΕΜ από
άλλα μηχανήματα (εκτός του ξενιστή), ενεργοποιήστε την
επιλογή Connect directly to the physical network
(Bridged). Αλλιώς, για να μπορεί η ΕΜ να συνδεθεί
στο δίκτυο μέσω του ξενιστή, αλλά να μη μπορούν άλλα μηχανήματα να
συνδεθούν σε αυτή, ενεργοποιήστε την επιλογή Share the
host's internet connection (NAT).Μόλις τελειώσετε με αυτές τις ρυθμίσεις, μπορείτε να εκκινήσετε
τη νέα εικονική μηχανή με το φρεσκο-εγκατεστημένο &os; σας.Ρυθμίσεις του &os; μέσα στο &macos; X/VMWareΑφού τελειώσετε με την εγκατάσταση του &os; σε μια εικονική
μηχανή VMWare μέσα σε &macos; X, πρέπει
να κάνετε κάποιες ρυθμίσεις για να βελτιωθεί η απόδοση του &os; ως
φιλοξενούμενου συστήματος.Ρυθμίσεις μεταβλητών του boot loaderΗ πιο σημαντική ρύθμιση είναι να μειώσετε την τιμή της
μεταβλητής , για να μειωθεί κάπως η
χρήση του επεξεργαστή από το &os; καθώς τρέχει μέσα
στο VMWare. Προσθέστε, λοιπόν, την
παρακάτω γραμμή στο
αρχείο /boot/loader.conf:kern.hz=100Χωρίς αυτή τη ρύθμιση ένα φιλοξενούμενο &os; που τρέχει μέσα
σε VMWare μπορεί να χρησιμοποιεί μέχρι και 15% του επεξεργαστή
ενός &imac;. Μετά από αυτή τη ρύθμιση η χρήση του επεξεργαστή
μπορεί να είναι μικρότερη από 5%.Δημιουργήστε ένα νέο αρχείο ρυθμίσεων πυρήναΜπορείτε να αφαιρέσετε όλες τις συσκευές FireWire και USB.
Το VMWare παρέχει μια εικονική κάρτα
δικτύου, η οποία είναι συμβατή με τον οδηγό &man.em.4;, οπότε
μπορείτε να αφαιρέσετε όλες τις υπόλοιπες κάρτες δικτύου από τον
πυρήνα σας.Ρυθμίστε το δίκτυοΟ πιο εύκολος τρόπος να ρυθμίσετε το δίκτυο της εικονικής
μηχανής είναι να συνδεθείτε μέσω DHCP με το τοπικό δίκτυο,
χρησιμοποιώντας τη διεύθυνση MAC του ξενιστή. Αυτό μπορεί να
γίνει προσθέτοντας τη
γραμμή ifconfig_em0="DHCP" στο
αρχείο /etc/rc.conf. Για περισσότερες
πληροφορίες και πιο προχωρημένες ρυθμίσεις δικτύου, δείτε
το .To FreeBSD ως ξενιστήςΤο FreeBSD δεν υποστηρίζεται επίσημα από κάποιο πακέτο εικονικοποίησης
σαν λειτουργικό ξενιστής, αλλά είναι αρκετοί αυτοί που τρέχουν παλιές
εκδόσεις του VMware. Γίνεται επίσης
προσπάθεια προκειμένου να δουλέψει το &xen;
κάτω από το περιβάλλον του FreeBSD.
diff --git a/el_GR.ISO8859-7/share/sgml/articles.ent b/el_GR.ISO8859-7/share/sgml/articles.ent
index 462c53a5cf..4e97290c27 100644
--- a/el_GR.ISO8859-7/share/sgml/articles.ent
+++ b/el_GR.ISO8859-7/share/sgml/articles.ent
@@ -1,43 +1,44 @@
%l10n;
%l10n-common;
%man;
%freebsd;
%authors;
%teams;
%mailing-lists;
%newsgroups;
%trademarks;
%urls;
diff --git a/el_GR.ISO8859-7/share/sgml/bookinfo.ent b/el_GR.ISO8859-7/share/sgml/bookinfo.ent
index 2bd65e85de..e98ce16a58 100644
--- a/el_GR.ISO8859-7/share/sgml/bookinfo.ent
+++ b/el_GR.ISO8859-7/share/sgml/bookinfo.ent
@@ -1,29 +1,30 @@
diff --git a/el_GR.ISO8859-7/share/sgml/books.ent b/el_GR.ISO8859-7/share/sgml/books.ent
index 97496ba0cc..be2d25fd4c 100644
--- a/el_GR.ISO8859-7/share/sgml/books.ent
+++ b/el_GR.ISO8859-7/share/sgml/books.ent
@@ -1,68 +1,69 @@
%l10n;
%l10n-common;
%bookinfo;
%translators;
%mailing-lists;
%teams;
%newsgroups;
%man;
%bookinfo;
%freebsd.el;
%freebsd;
%authors;
%teams;
%mailing-lists;
%newsgroups;
%trademarks;
%urls.el;
%urls;
diff --git a/el_GR.ISO8859-7/share/sgml/freebsd.dsl b/el_GR.ISO8859-7/share/sgml/freebsd.dsl
index 915741e454..307cc350b2 100644
--- a/el_GR.ISO8859-7/share/sgml/freebsd.dsl
+++ b/el_GR.ISO8859-7/share/sgml/freebsd.dsl
@@ -1,268 +1,276 @@
%freebsd.l10n;
]>
(define %refentry-xref-link% #t)
(define ($email-footer$)
(make sequence
(make element gi: "p"
attributes: (list (list "align" "center"))
(make element gi: "small"
(literal "Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ")
(create-link
(list (list "HREF" "ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/"))
(literal "ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/"))
(literal ".")))
(make element gi: "p"
attributes: (list (list "align" "center"))
(make element gi: "small"
(literal "Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την ")
(create-link
(list (list "HREF" "http://www.FreeBSD.org/docs.html"))
(literal "τεκμηρίωση"))
(literal " πριν να επικοινωνήσετε με την <")
(create-link
(list (list "HREF" "mailto:questions@FreeBSD.org"))
(literal "questions@FreeBSD.org"))
(literal ">.")
(make empty-element gi: "br")
(literal "Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην <")
(create-link (list (list "HREF" "mailto:doc@FreeBSD.org"))
(literal "doc@FreeBSD.org"))
(literal ">.")))))
(element quote
(make sequence
(make entity-ref name: "laquo")
(process-children)
(make entity-ref name: "raquo")))
]]>
number ;; then get the apparent level
(substring renderas 4 5)) ;; from "renderas",
(SECTLEVEL))) ;; else use the real level
(hs (HSIZE (- 4 hlevel))))
(make sequence
(make paragraph
font-family-name: %title-font-family%
font-weight: (if (< hlevel 5) 'bold 'medium)
font-posture: (if (< hlevel 5) 'upright 'italic)
font-size: hs
line-spacing: (* hs %line-spacing-factor%)
space-before: (* hs %head-before-factor%)
space-after: (if (node-list-empty? subtitles)
(* hs %head-after-factor%)
0pt)
start-indent: (if (or (>= hlevel 3)
(member (gi) (list (normalize "refsynopsisdiv")
(normalize "refsect1")
(normalize "refsect2")
(normalize "refsect3"))))
%body-start-indent%
0pt)
first-line-start-indent: 0pt
quadding: %section-title-quadding%
keep-with-next?: #t
heading-level: (if %generate-heading-level% (+ hlevel 1) 0)
;; SimpleSects are never AUTO numbered...they aren't hierarchical
(if (> hlevel (- max-section-level-labels 1))
(empty-sosofo)
(if (string=? (element-label (current-node)) "")
(empty-sosofo)
(literal (element-label (current-node))
(gentext-label-title-sep (gi sect)))))
(element-title-sosofo (current-node)))
(with-mode section-title-mode
(process-node-list subtitles))
($section-info$ info))))
]]>
(define (local-el-label-title-sep)
(list
(list (normalize "warning") ": ")
(list (normalize "caution") ": ")
(list (normalize "chapter") " ")
(list (normalize "sect1") " ")
(list (normalize "sect2") " ")
(list (normalize "sect3") " ")
(list (normalize "sect4") " ")
(list (normalize "sect5") " ")
))
+
+
diff --git a/el_GR.ISO8859-7/share/sgml/freebsd.ent b/el_GR.ISO8859-7/share/sgml/freebsd.ent
index c545317104..348de96ee3 100644
--- a/el_GR.ISO8859-7/share/sgml/freebsd.ent
+++ b/el_GR.ISO8859-7/share/sgml/freebsd.ent
@@ -1,36 +1,38 @@
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 e83560f375..a466aec1ad 100644
--- a/el_GR.ISO8859-7/share/sgml/glossary/freebsd-glossary.sgml
+++ b/el_GR.ISO8859-7/share/sgml/glossary/freebsd-glossary.sgml
@@ -1,1980 +1,1990 @@
Λεξικό του &os;Αυτό το λεξικό περιέχει όρους και ακρωνύμια που χρησιμοποιούνται
από την κοινότητα κι από τα κείμενα της τεκμηρίωσης του &os;.AACLACPIAMDAMLAPIAPICAPMAPOPASLATAATMACPI Machine Language
AML
Ψευδοκώδικας, που εκτελείται από ένα virtual machine σε κάθε
λειτουργικό σύστημα συμβατό με το πρότυπο ACPI,
παρέχοντας ένα τρόπο επικοινωνίας του υλικού με το τεκμηριωμένο
interface το οποίο χρησιμοποιεί το ίδιο το λειτουργικό σύστημα.ACPI Source Language
ASL
Η γλώσσα προγραμματισμού με την οποία γράφεται
η AML.Access Control List
ACL
Advanced Configuration and Power Interface
ACPI
Ένα πρότυπο το οποίο καθορίζει τον τρόπο επικοινωνίας του υλικού
με το λειτουργικό σύστημα. Ο σκοπός ύπαρξης
του ACPI είναι να μπορεί το ΛΣ
να επικοινωνήσει με το υλικό ενός υπολογιστή και να εκμεταλλευτεί
όσο το δυνατόν καλύτερα αυτό το υλικό, ακόμη κι αν δεν ξέρει τα
πάντα γι αυτό. Το ACPI αποτελεί μετεξέλιξη
των APM, PNPBIOS και
αντίστοιχων τεχνολογιών, τις οποίες και αντικαθιστά.
Το ACPI παρέχει τη δυνατότητα να ελέγξουμε την
κατανάλωση ισχύος, την αναστολή λειτουργίας του συστήματος, την
ενεργοποίηση και απενεργοποιήση συσκευών, κλπ.Application Programming Interface
API
Ένα σύνολο από διεργασίες, πρωτόκολα και εργαλεία που καθορίζουν
τον αναγνωρισμένο τρόπο επικοινωνίας μεταξύ δύο ή περισσότερων
τμημάτων λογισμικού. Σε αυτά περιλαμβάνονται πληροφορίες για το
πως, πότε, και γιατί τα τμήματα αυτά λογισμικού θα συνεργάζονται,
και τι είδους δεδομένα μπορούν να ανταλλάξουν, να μοιραστούν ή να
επεξεργαστούν.Advanced Power Management
APM
Advanced Programmable Interrupt Controller
APIC
Advanced Technology Attachment
ATA
Asynchronous Transfer Mode
ATM
Authenticated Post Office Protocol
APOP
Automatic Mount Daemon
AMD
Μια υπηρεσία συστήματος η οποία υλοποιεί την αυτόματη προσάρτηση
συστημάτων αρχείων όταν γίνεται προσπάθεια προσπέλασης ενός αρχείου
ή καταλόγου που περιέχεται σε αυτά.BBARBINDBIOSBSDBase Address Register
BAR
Οι καταχωρητές που καθορίζουν την αρχική διεύθυνση μνήμης στην
οποία απαντά μια συσκευή PCI.Basic Input/Output System
BIOS
Ο ακριβής ορισμός του BIOS εξαρτάται λίγο και
από τα συμφραζόμενα. Κάποιοι αναφέρονται σε αυτό ως
το ROM chip που υλοποιεί βασικές λειτουργίες
επικοινωνίας μεταξύ υλικού και λογισμικού. Άλλοι αναφέρονται σε
αυτό ως ένα βασικό σετ από ρουτίνες για την εκκίνηση του συστήματος.
Άλλες φορές ο όρος BIOS αναφέρεται στην οθόνη και
το μενού με το οποίο ρυθμίζεται η διαδικασία εκκίνησης του
συστήματος. Ο όρος BIOS αναφέρεται συνήθως για
συστήματα PC, αλλά η λειτουργικότητα που υλοποιεί υπάρχει με
παρόμοιο τρόπο και σε σχεδόν όλα τα άλλα συστήματα.Berkeley Internet Name Domain
BIND
Μια υλοποίηση του πρωτοκόλου DNS.Berkeley Software Distribution
BSD
Αυτό είναι το όνομα που έδωσε το Computer Systems Research
Group (CSRG)
στο Πανεπιστήμιο της
Καλιφόρνια στο Berkeley στις βελτιώσεις και μεταβολές
που έκανε στο &unix; 32V της A&T. Το &os; είναι ένας
απόγονος της δουλειάς του CSRG.Bikeshed BuildingΈνα φαινόμενο κατά τη διάρκεια του οποίου πολύς κόσμος
λέει τη γνώμη του για ένα αδιάφορο ή ασήμαντο θέμα, ενώ την
ίδια στιγμή ένα πολύπλοκο (αρχικό) θέμα μένει εκτός
ενδιαφέροντος. Δείτε και
τη λίστα FAQ
του &os; για την καταγωγή του όρου.CCDCHAPCLIPCOFFCPUCTSCVSCarrier Detect
CD
Ένα σήμα RS232C που υποδεικνύει ότι
ανιχνεύθηκε φέρον σήμα (carrier).Central Processing Unit
CPU
Η μονάδα που είναι γνωστή και ως επεξεργαστής.
Αυτή είναι ο εγκέφαλος ενός υπολογιστή, στον οποίο γίνονται όλοι οι
υπολογισμοί. Υπάρχουν πολλές αρχιτεκτονικές σχεδίασης επεξεργαστών,
με διάφορα σύνολο εντολών. Οι πιο γνωστές είναι οι αρχιτεκτονικές
Intel-x86 και οι παράγωγές της, η Sun SPARC, η PowerPC και η
Alpha.Challenge Handshake Authentication Protocol
CHAP
Classical IP over ATM
CLIP
Clear To Send
CTS
Ένα σήμα RS232C που δίνει άδεια στο
απομακρυσμένο σύστημα να στείλει δεδομένα.Common Object File Format
COFF
Concurrent Versions System
CVS
Ένα σύστημα διαχείρισης εκδόσεων αρχείων (version control
system). Παρέχει τη δυνατότητα να επεξεργαζόμαστε και να κρατάμε
ιστορικό αλλαγών για πολλές εκδόσεις ενός συνόλου αρχείων. Το CVS
παρέχει τη δυνατότητα να εξάγουμε, να συγχωνεύσουμε (merge) και να
αναιρέσουμε (revert) οποιαδήποτε αλλαγή ή ομάδα αλλαγών. Επίσης μας
δίνει τη δυνατότητα να κρατάμε ιστορικό κάθε αλλαγής, με πληροφορίες
όπως ποιές αλλαγές έχουν γίνει, από ποιόν, πότε και γιατί.DDACDDBDESDHCPDNSDSDTDSRDTRDVMRPDiscretionary Access Control
DAC
Data Encryption Standard
DES
Μια μέθοδος κρυπτογράφησης πληροφορίας, η οποία παλιότερα
αποτελούσε τη βασική μέθοδο κρυπτογράφησης των κωδικών (passwords)
στο &unix; και από την συνάρτηση &man.crypt.3;.Data Set Ready
DSR
Ένα σήμα RS232C το οποίο στέλνεται από το
modem στον υπολογιστή ή το τερματικό, ως ένδειξη της ετοιμότητας για
λήψη ή αποστολή δεδομένων.Data Terminal Ready
DTR
Ένα σήμα RS232C το οποίο στέλνεται από τον
υπολογιστή ή το τερματικό στο modem, ως ένδειξη της ετοιμότητα για
λήψη ή αποστολή δεδομένων.Debugger
DDB
Ένα διαδραστικό (interactive) υποσύστημα του πυρήνα, το οποίο
παρέχει εργαλεία για εξέταση της κατάστασης του συστήματος. Συχνά
χρησιμοποιείται αφού το σύστημα έχει σταματήσει να λειτουργεί
κανονικά, για να καταλάβουμε όσο περισσότερα πράγματα μπορούμε
σχετικά με τις αιτίες του προβλήματος.Differentiated System Description Table
DSDT
Distance-Vector Multicast Routing Protocol
DVMRP
Domain Name System
DNS
Το σύστημα που μετατρέπει το ευανάγνωστο, συμβολικό όνομα κάθε
μηχανήματος (hostname), όπως
π.χ. το mail.example.net, στην αριθμητική διεύθυνση
Internet που του αντιστοιχεί και το ανάποδο.Dynamic Host Configuration Protocol
DHCP
Ένα σύστημα δυναμικής ανάθεσης διευθύνσεων IP. Κάθε
υπολογιστής (host) μπορεί να ζητήσει μια διεύθυνση IP από έναν
εξυπηρετητή DHCP. Η ανάθεση της διεύθυνσης λέγεται
και lease.EECOFFELFESPEncapsulated Security Payload
ESP
Executable and Linking Format
ELF
Extended COFF
ECOFF
FFADTFATFAT16FTPFile Allocation Table
FAT
File Allocation Table (16-bit)
FAT16
File Transfer Protocol
FTP
Ένα μέλος της οικογένειας πρωτοκόλων υψηλού επιπέδου, τα οποία
έχουν υλοποιηθεί με βάση το TCP για τη μεταφορά
αρχείων σε ένα δίκτυο TCP/IP.Fixed ACPI Description Table
FADT
GGUIGiantΤο όνομα ενός μηχανισμού αμοιβαίου αποκλεισμού
(ένα sleep mutex) που προστατεύει ένα μεγάλο
μέρος των πηγών του πυρήνα. Παρόλο που ένας τέτοιος απλός
μηχανισμός ήταν αρκετός σε παλιότερες εποχές, που ένα μηχάνημα
μπορεί να έτρεχε το πολύ μερικές δεκάδες διεργασίες, να είχε μια
κάρτα δικτύου και φυσικά μόνο ένα επεξεργαστή, σήμερα πλέον αποτελεί
πηγή απαράδεκτης καθυστέρησης. Η ομάδα ανάπτυξης του &os; εργάζεται
σκληρά για να αντικαταστήσει το Giant με πιο μοντέρνους, λεπτούς
μηχανισμούς αμοιβαίου αποκλεισμού, οι οποίοι θα επιτρέπουν
μεγαλύτερο βαθμό παραλληλισμού τόσο σε μηχανήματα με ένα όσο και σε
σταθμούς εργασίας με πολλούς επεξεργαστές.Graphical User Interface
GUI
Ένα διαδραστικό σύστημα επικοινωνίας μεταξύ ανθρώπου και
μηχανής, βασισμένο σε εικόνες (graphics).HHTMLHUPHangUp
HUP
HyperText Markup Language
HTML
Η γλώσσα περιγραφής κειμένου (markup language) που
χρησιμοποιείται για τη δημιουργία ιστοσελίδων (web pages).II/OIASLIMAPIPIPFWIPPIPv4IPv6ISPIP Firewall
IPFW
IP Version 4
IPv4
The IP protocol version 4, which uses 32 bits
for addressing. This version is still the most widely used, but it
is slowly being replaced with IPv6.IP Version 6
IPv6
The new IP protocol. Invented because the
address space in IPv4 is running out. Uses 128
bits for addressing.Input/Output
I/O
Intel’s ASL compiler
IASL
Intel’s compiler for converting ASL into
AML.Internet Message Access Protocol
IMAP
A protocol for accessing email messages on a mail server,
characterised by the messages usually being kept on the server as
opposed to being downloaded to the mail reader client.Internet Printing Protocol
IPP
Internet Protocol
IP
The packet transmitting protocol that is the basic protocol on
the Internet. Originally developed at the U.S. Department of
Defense and an extremly important part of the TCP/IP
stack. Without the Internet Protocol, the Internet
would not have become what it is today. For more information, see
RFC 791.Internet Service Provider
ISP
A company that provides access to the Internet.KKAMEJapanese for turtle, the term KAME is used
in computing circles to refer to the KAME Project, who work on
an implementation of IPv6.KDCKLDKSEKVAKbpsKernel &man.ld.1;
KLD
A method of dynamically loading functionality into a &os; kernel
without rebooting the system.Kernel Scheduler Entities
KSE
Ένας μηχανισμός του πυρήνα για υποστήριξη πολυνηματικής
επεξεργασίας. Δείτε τη σελίδα
της ομάδας εργασίας των
KSE για περισσότερες λεπτομέρειες.Kernel Virtual Address
KVA
Key Distribution Center
KDC
Kilo Bits Per Second
Kbps
Used to measure bandwith (how much data can pass a given
point at a specified amount of time). Alternates to the Kilo
prefix include Mega, Giga, Tera, and so forth.LLANLORLPDLine Printer Daemon
LPD
Local Area Network
LAN
A network used on a local area, e.g. office, home, or so forth.
Lock Order Reversal
LOR
Ο πυρήνας του &os; χρησιμοποιεί ένα αριθμό από resource locks
για να διαχειρίζεται την πρόσβαση στις διάφορες πηγές του. Ένας
μηχανισμός διάγνωσης προβλημάτων με αυτά τα locks, ο οποίος λέγεται
&man.witness.4;, περιλαμβάνεται στους πειραματικούς πυρήνες (αλλά
αφαιρείται από τους πυρήνες των σταθερών εκδόσεων) κι ελέγχει κατά
την ώρα λειτουργίας του πυρήνα την πιθανότητα προβλήματων
deadlock. (Ο μηχανισμός &man.witness.4; είναι βασικά αρκετά
συντηρητικός στους ελέγχους που κάνει, οπότε είναι πιθανόν κάποια
από τα διαγνωστικά μηνύματά του να είναι υπερβολικά.) Ένα
διαγνωστικό μήνυμα από το μηχανισμό αυτό σημαίνει ότι αν
είστε αρκετά άτυχοι, ένα deadlock μπορεί να συμβεί στο σημείο
αυτό.Τα πραγματικά LOR, συνήθως, διορθώνονται γρήγορα, οπότε να
ελέγχετε τη &a.current.url; και τη σελίδα
των LOR
που είναι γνωστά μέχρι σήμερα πριν στείλετε μήνυμα σε κάποια
από τις λίστες ηλεκτρονικού ταχυδρομείου.MMACMADTMFCMFP4MFSMITMLSMOTDMTAMUAMail Transfer Agent
MTA
An application used to transfer email. An
MTA has traditionally been part of the BSD
base system. Today Sendmail is included in the base system, but
there are many other MTAs, such as postfix,
qmail and Exim.Mail User Agent
MUA
An application used by users to display and write email.Mandatory Access Control
MAC
Massachusetts Institute of Technology
MIT
Merge From Current
MFC
To merge functionality or a patch from the -CURRENT
branch to another, most often -STABLE.Merge From Perforce
MFP4
To merge functionality or a patch from the Perforce
repository to the -CURRENT branch.Merge From Stable
MFS
Η φυσιολογική διαδικασία ανάπτυξης του FreeBSD βασίζεται στο ότι
κάθε αλλαγή γίνεται πρώτα στο -CURRENT branch για να δοκιμαστεί πριν
ενσωματωθεί στο -STABLE. Μόνο σε πολύ ειδικές περιπτώσεις γίνεται
κάποια αλλαγή πρώτα στο -STABLE και μετά στο -CURRENT.Ο ίδιος όρος χρησιμοποιείται όταν μια αλλαγή μεταφέρεται από το
-STABLE branch σε κάποιο από τα security branches.Message Of The Day
MOTD
A message, usually shown on login, often used to
distribute information to users of the system.Multi-Level Security
MLS
Multiple APIC Description Table
MADT
NNATNDISulatorNFSNTFSNTPNetwork Address Translation
NAT
Network File System
NFS
New Technology File System
NTFS
A filesystem developed by Microsoft and available in its
New Technology operating systems, such as
&windows2k;, &windowsnt; and &windowsxp;.Network Time Protocol
NTP
OOBEODMROSOn-Demand Mail Relay
ODMR
Operating System
OS
A set of programs, libraries and tools that provide access to
the hardware resources of a computer. Operating systems range
today from simplistic designs that support only one program
running at a time, accessing only one device to fully
multi-user, multi-tasking and multi-process systems that can
serve thousands of users simultaneously, each of them running
dozens of different applications.Overtaken By Events
OBE
Χρησιμοποιείται για να περιγράψει μια προτεινόμενη αλλαγή (όπως
μια Αναφορά Προβλήματος ή μια αίτηση για κάποιο νέο χαρακτηριστικό)
που δεν ισχύει πλέον ή δεν έχει αξία λόγω κάποιας πρόσφατης αλλαγής
στο &os;, αλλαγές σε κάποιο πρότυπο, επειδή το σχετικό υλικό
θεωρείται πλέον ξεπερασμένο, κλπ.Pp4PAEPAMPAPPCPCNSFDPDFPIDPOLAPOPPOP3PPDPPPPPPoAPPPoEPPP over ATM
PPPoA
PPP over Ethernet
PPPoE
PRPXEPassword Authentication Protocol
PAP
PerforceA source code control product made by
Perforce Software
which is more advanced than CVS. Although not open source, its use
is free of charge to open-source projects such as &os;.Some &os; developers use a Perforce repository as a staging
area for code that is considered too experimental for the
-CURRENT branch.Personal Computer
PC
Personal Computer Network File System Daemon
PCNFSD
Physical Address Extensions
PAE
A method of enabling access to up to 64 GB of RAM on
systems which only physically have a 32-bit wide address space
(and would therefore be limited to 4 GB without PAE).Pluggable Authentication Modules
PAM
Point-to-Point Protocol
PPP
Pointy HatΈνα μυθικό σχεδόν καπέλο, που μοιάζει πολύ με ένα dunce
cap, το οποίο χαρίζεται στα μέλη της ομάδας ανάπτυξης
του &os; όταν δημιουργούν προβλήματα με τη μεταγλώττιση του &os;,
όταν κάνουν αλλαγές που δεν χρειάζονται, ή γενικά σε οποιαδήποτε
περίπτωση προκαλούν προβλήματα στον κώδικα. Γενικά, όλα τα μέλη της
ομάδας ανάπτυξης που κάνουν πραγματικά δουλειά μαζεύουν σχετικά
σύντομα μια μεγάλη συλλογή από αυτά τα καπελάκια. Η χρήση του όρου
είναι (σχεδόν πάντοτε) χιουμοριστική.Portable Document Format
PDF
Post Office Protocol
POP
Post Office Protocol Version 3
POP3
A protocol for accessing email messages on a mail server,
characterised by the messages usually being downloaded from the
server to the client, as opposed to remaining on the server.PostScript Printer Description
PPD
Preboot eXecution Environment
PXE
Principle Of Least Astonishment
POLA
Καθώς αναπτύσσεται το &os; οι αλλαγές που είναι ορατές στον
τελικό χρήστη πρέπει να προκαλούν όσο το δυνατόν μικρότερες και
λιγότερες εκπλήξεις. Για παράδειγμα, η άσκοπη μετονομασία
μεταβλητών που επηρεάζουν την έναρξη του συστήματος στο αρχείο
/etc/defaults/rc.conf
θεωρείται παραβίαση του POLA. Τα μέλη της ομάδας ανάπτυξης έχουν
κατά νου τους το POLA όταν κάνουν αλλαγές στο σύστημα οι οποίες
επηρεάζουν τον τελικό χρήστη.Problem Report
PR
A description of some kind of problem that has been
found in either the &os; source or documentation. See
Writing &os; Problem Reports.Process ID
PID
A number, unique to a particular process on a system,
which identifies it and allows actions to be taken against it.Project EvilΟ πραγματικός τίτλος του NDISulator που
έγραψε ο Bill Paul, ο οποίος το ονόμασε έτσι για να δείξει πόσο
απαίσιο είναι (από φιλοσοφικής άποψης) να υπάρχει η ανάγκη για κάτι
τέτοιο. Το NDISulator είναι ένα ειδικό module συμβατότητας το οποίο
επιτρέπει σε οδηγούς συσκευών δικτύου τύπου Microsoft Windows™
NDIS miniport να χρησιμοποιηθούν στο &os;/i386. Αυτός είναι συνήθως
ο μόνος τρόπος να χρησιμοποιηθούν κάρτες δικτύου των οποίων οι
οδηγοί δεν είναι διαθέσιμοι σε μορφή ελεύθερου ή ανοιχτού
λογισμικού. Δείτε και το αρχείο
src/sys/compat/ndis/subr_ndis.c για
περισσότερες λεπτομέρειες.RRARAIDRAMRDRFCRISCRPCRS232CRTSRandom Access Memory
RAM
Received Data
RD
An RS232C pin or wire that data is
recieved on.Recommended Standard 232C
RS232C
A standard for communications between serial devices.Reduced Instruction Set Computer
RISC
An approach to processor design where the operations the hardware
can perform are simplified but made as general purpose as possible.
This can lead to lower power consumption, fewer transistors and in
some cases, better performance and increased code density. Examples
of RISC processors include the Alpha, &sparc;, &arm; and
&powerpc;.Redundant Array of Inexpensive Disks
RAID
Remote Procedure Call
RPC
repocopyRepository CopyA direct copying of files within the CVS repository.Without a repocopy, if a file needed to be copied or
moved to another place in the repository, the committer would
run cvs add to put the file in its new
location, and then cvs rm on the old file
if the old copy was being removed.The disadvantage of this method is that the history
(i.e. the entries in the CVS logs) of the file would not be
copied to the new location. As the &os; Project considers
this history very useful, a repository copy is often used
instead. This is a process where one of the repository meisters
will copy the files directly within the repository, rather than
using the &man.cvs.1; program.Request For Comments
RFC
A set of documents defining Internet standards, protocols, and
so forth. See
www.rfc-editor.org.
Also used as a general term when someone has a suggested change
and wants feedback.Request To Send
RTS
An RS232C signal requesting that the remote
system commences transmission of data.Router Advertisement
RA
SSCISCSISGSMBSMPSMTPSMTP AUTHSSHSTRSMTP Authentication
SMTP AUTH
Server Message Block
SMB
Signal Ground
SG
An RS232 pin or wire that is the ground
reference for the signal.Simple Mail Transfer Protocol
SMTP
Secure Shell
SSH
Small Computer System Interface
SCSI
Suspend To RAM
STR
Symmetric MultiProcessor
SMP
System Control Interrupt
SCI
TTCPTCP/IPTDTFTPTGTTSCTicket-Granting Ticket
TGT
Time Stamp Counter
TSC
A profiling counter internal to modern &pentium; processors
that counts core frequency clock ticks.Transmission Control Protocol
TCP
A protocol that sits on top of (e.g.) the IP
protocol and guarantees that packets are delivered in a reliable,
ordered, fashion.Transmission Control Protocol/Internet Protocol
TCP/IP
The term for the combination of the TCP
protocol running over the IP protocol. Much of
the Internet runs over TCP/IP.Transmitted Data
TD
An RS232C pin or wire that data is transmitted
on.Trivial FTP
TFTP
UUDPUFS1UFS2UIDURLUSBUniform Resource Locator
URL
Unix File System Version 1
UFS1
Unix File System Version 2
UFS2
Universal Serial Bus
USB
User ID
UID
A unique number assigned to each user of a computer,
by which the resources and permissions assigned to that
user can be identified.User Datagram Protocol
UDP
VVPNVirtual Private Network
VPN
+
+
diff --git a/el_GR.ISO8859-7/share/sgml/l10n.ent b/el_GR.ISO8859-7/share/sgml/l10n.ent
index d339f4919d..38cc76ec61 100644
--- a/el_GR.ISO8859-7/share/sgml/l10n.ent
+++ b/el_GR.ISO8859-7/share/sgml/l10n.ent
@@ -1,30 +1,31 @@
diff --git a/el_GR.ISO8859-7/share/sgml/legalnotice.sgml b/el_GR.ISO8859-7/share/sgml/legalnotice.sgml
index 070d92e7e1..6f2e2f582b 100644
--- a/el_GR.ISO8859-7/share/sgml/legalnotice.sgml
+++ b/el_GR.ISO8859-7/share/sgml/legalnotice.sgml
@@ -1,62 +1,63 @@
Η διανομή και χρήση σε μορφή πηγαίου κώδικα (SGML DocBook) ή
σε 'μεταγλωττισμένη' μορφή (SGML, HTML, PDF, PostScript, RTF κοκ)
με ή χωρίς αλλαγές, επιτρέπεται εφόσον οι παρακάτω προϋποθέσεις
τηρούνται:Η διανομή σε μορφή πηγαίου κώδικα (SGML DocBook) πρέπει να
διατηρεί την παραπάνω δήλωση πνευματικών δικαιωμάτων, αυτή τη
λίστα με προϋποθέσεις και την επόμενη παράγραφο στις πρώτες
γραμμές του αρχείου, αμετάβλητες.Η διανομή σε μεταγλωττισμένες μορφές (μετάφραση σε άλλα
DTD, μετατροπή σε PDF, PostScript, RTF ή άλλες μορφές) πρέπει
να αναπαράγει την παραπάνω δήλωση πνευματικών δικαιωμάτων,
αυτή τη λίστα με προϋποθέσεις, και την παρακάτω παράγραφο τόσο
στην τεκμηρίωση όσο και σε άλλο υλικό που παρέχεται μαζί με
την διανομή.ΑΥΤΗ Η ΤΕΚΜΗΡΙΩΣΗ ΔΙΝΕΤΑΙ ΑΠΟ ΤΗΝ ΟΜΑΔΑ ΤΕΚΜΗΡΙΩΣΗΣ ΤΟΥ
FREEBSD "ΩΣ ΕΧΕΙ" ΚΑΙ ΔΕΝ ΠΑΡΕΧΕΤΑΙ ΚΑΜΙΑ ΑΜΕΣΗ Η ΕΜΜΕΣΗ
ΕΓΓΥΗΣΗ, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ, ΑΛΛΑ ΧΩΡΙΣ ΝΑ ΠΕΡΙΟΡΙΖΕΤΑΙ ΜΟΝΟ ΣΕ
ΑΥΤΕΣ, ΚΑΙ ΤΩΝ ΕΜΜΕΣΩΝ ΕΓΓΥΗΣΕΩΝ ΓΙΑ ΕΜΠΟΡΕΥΣΙΜΟΤΗΤΑ Η
ΚΑΤΑΛΛΗΛΟΤΗΤΑ ΓΙΑ ΟΠΟΙΟΝΔΗΠΟΤΕ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ. ΣΕ ΚΑΜΙΑ
ΠΕΡΙΠΤΩΣΗ ΔΕΝ ΕΥΘΥΝΕΤΑΙ Η ΟΜΑΔΑ ΤΕΚΜΗΡΙΩΣΗΣ ΤΟΥ FREEBSD ΓΙΑ
ΟΠΟΙΕΣΔΗΠΟΤΕ ΑΜΕΣΕΣ, ΕΜΜΕΣΕΣ, ΤΥΧΑΙΕΣ, ΕΙΔΙΚΕΣ, ΣΗΜΑΝΤΙΚΕΣ, Η
ΚΑΤΑ ΠΕΡΙΠΤΩΣΗ ΒΛΑΒΕΣ (ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ, ΑΛΛΑ ΧΩΡΙΣ ΝΑ
ΠΕΡΙΟΡΙΖΕΤΑΙ ΜΟΝΟ ΣΕ ΑΥΤΕΣ, ΚΑΙ ΤΗΝ ΑΔΥΝΑΜΙΑ ΠΡΟΣΒΑΣΗΣ ΣΕ
ΕΝΑΛΛΑΚΤΙΚΕΣ ΠΗΓΕΣ Η ΥΠΗΡΕΣΙΕΣ, ΤΗΝ ΑΔΥΝΑΜΙΑ ΧΡΗΣΗΣ, ΤΗΝ ΑΠΩΛΕΙΑ
ΔΕΔΟΜΕΝΩΝ Η ΚΕΡΔΟΥΣ, ΚΑΙ ΤΗΝ ΔΙΑΚΟΠΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ
ΛΕΙΤΟΥΡΓΙΩΝ), ΠΟΥ ΠΡΟΚΑΛΟΥΝΤΑΙ ΜΕ ΟΠΟΙΟΔΗΠΟΤΕ ΤΡΟΠΟ ΑΠΟ ΤΗ ΧΡΗΣΗ
ΑΥΤΗΣ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ.
diff --git a/el_GR.ISO8859-7/share/sgml/mailing-lists.ent b/el_GR.ISO8859-7/share/sgml/mailing-lists.ent
index d251f57bad..7a1803ba0c 100644
--- a/el_GR.ISO8859-7/share/sgml/mailing-lists.ent
+++ b/el_GR.ISO8859-7/share/sgml/mailing-lists.ent
@@ -1,518 +1,519 @@
εξυπηρετητής για ηλεκτρονικές λίστες του FreeBSD">
&a.mailman.listinfo;">
ηλεκτρονική λίστα για ACPI του FreeBSD">
freebsd-acpi">
ηλεκτρονική λίστα διαφήμισης και προώθησης του FreeBSD">
freebsd-advocacy">
ηλεκτρονική λίστα υλοποίησης του AFS στο FreeBSD">
freebsd-afs">
ηλεκτρονική λίστα του FreeBSD για ελεγκτές Adaptec AIC7xxx">
freebsd-aic7xxx">
ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα Alpha">
freebsd-alpha">
ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα AMD64">
freebsd-amd64">
ηλεκτρονική λίστα ανακοινώσεων του FreeBSD">
freebsd-announce">
ηλεκτρονική λίστα του FreeBSD για το Apache">
freebsd-apache">
ηλεκτρονική λίστα αρχιτεκτονικής και σχεδιασμού του FreeBSD">
freebsd-arch">
ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα ARM">
freebsd-arm">
ηλεκτρονική λίστα του FreeBSD για δίκτυα ATM">
freebsd-atm">
ηλεκτρονική λίστα ελέγχου πηγαίου κώδικα του FreeBSD">
freebsd-audit">
ηλεκτρονική λίστα αναβάθμισης του FreeBSD με εκτελέσιμα αρχεία">
freebsd-binup">
ηλεκτρονική λίστα του FreeBSD για Bluetooth">
freebsd-bluetooth">
ηλεκτρονική λίστα της ομάδας bugbusters του FreeBSD">
freebsd-bugbusters">
ηλεκτρονική λίστα αναφορών προβλημάτων του FreeBSD">
freebsd-bugs">
ηλεκτρονική λίστα γενικών συζητήσεων του FreeBSD">
freebsd-chat">
ηλεκτρονική λίστα παράλληλων συστημάτων του FreeBSD">
freebsd-cluster">
ηλεκτρονική λίστα της έκδοσης &os.current;">
freebsd-current">
ανακοινώσεις CTM">
ctm-announce">
διανομή μέσω CTM των αρχείων του CVS">
ctm-cvs-cur">
ηλεκτρονική λίστα διανομής του 4-STABLE μέσω CTM">
ctm-src-4">
ηλεκτρονική λίστα διανομής του -CURRENT μέσω CTM">
ctm-src-cur">
ηλεκτρονική λίστα γενικών συζητήσεων των χρηστών του CTM">
ctm-users">
ηλεκτρονική λίστα μηνυμάτων CVS commit του FreeBSD CVS">
cvs-all">
ηλεκτρονική λίστα μηνυμάτων CVS commit τεκμηρίωσης του FreeBSD">
cvs-doc">
ηλεκτρονική λίστα μηνυμάτων CVS commit των FreeBSD ports">
cvs-ports">
ηλεκτρονική λίστα μηνυμάτων CVS commit των projects του FreeBSD">
cvs-projects">
ηλεκτρονική λίστα μηνυμάτων CVS commit πηγαίου κώδικα του FreeBSD">
cvs-src">
ηλεκτρονική λίστα συντήρησης του CVSweb του FreeBSD">
freebsd-cvsweb">
ηλεκτρονική λίστα βάσεων δεδομένων βασισμένων στο FreeBSD">
freebsd-database">
ηλεκτρονική λίστα ομάδας τεκμηρίωσης του FreeBSD">
freebsd-doc">
ηλεκτρονική λίστα για την ανάπτυξη οδηγών συσκευών του FreeBSD">
freebsd-drivers">
ηλεκτρονική λίστα του FreeBSD για τους χρήστες του Eclipse IDE">
freebsd-eclipse">
ηλεκτρονική λίστα του FreeBSD για τις embedded πλατφόρμες">
freebsd-embedded">
ηλεκτρονική λίστα του FreeBSD για εξομοίωση-εξομοιωτές">
freebsd-emulation">
ηλεκτρονική λίστα FreeBSD-eol">
freebsd-eol">
ηλεκτρονική λίστα συζητήσεων για FireWire (IEEE 1394) του FreeBSD">
freebsd-firewire">
ηλεκτρονική λίστα του FreeBSD για συστήματα αρχείων">
freebsd-fs">
ηλεκτρονική λίστα του FreeBSD για το GEOM">
freebsd-geom">
ηλεκτρονική λίστα του FreeBSD για το GNOME και τις εφαρμογές του">
freebsd-gnome">
ηλεκτρονική λίστα τεχνικών συζητήσεων του FreeBSD">
freebsd-hackers">
ηλεκτρονική λίστα του FreeBSD για υλικό κι εξαρτήματα υπολογιστών">
freebsd-hardware">
ηλεκτρονική λίστα των mirror sites του FreeBSD">
freebsd-hubs">
ηλεκτρονική λίστα διεθνοποίησης του FreeBSD">
freebsd-i18n">
ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα i386">
freebsd-i386">
ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα IA32">
freebsd-ia32">
ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα IA64">
freebsd-ia64">
ηλεκτρονική λίστα του FreeBSD για το IPFW">
freebsd-ipfw">
ηλεκτρονική λίστα του FreeBSD για το υποσύστημα ISDN">
freebsd-isdn">
ηλεκτρονική λίστα του FreeBSD για τους παροχείς υπηρεσιών Internet">
freebsd-isp">
ηλεκτρονική λίστα του FreeBSD για τα jails">
freebsd-jail">
ηλεκτρονική λίστα του FreeBSD για τη γλώσσα Java">
freebsd-java">
ηλεκτρονική λίστα του FreeBSD σχετικά με εργασίες-επαγγέλματα">
freebsd-jobs">
ηλεκτρονική λίστα του FreeBSD για το KDE/Qt και τις εφαρμογές του">
freebsd-kde">
ηλεκτρονική λίστα του FreeBSD για το υποσύστημα LFS">
freebsd-lfs">
ηλεκτρονική λίστα του FreeBSD για το σύστημα εγκατάστασης και διαχείρισης πακέτων libh">
freebsd-libh">
ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα MIPS">
freebsd-mips">
διαχειριστές των mirror sites του FreeBSD">
mirror-announce">
ηλεκτρονική λίστα του FreeBSD για φορητούς υπολογιστές">
freebsd-mobile">
ηλεκτρονική λίστα του FreeBSD για τον φυλλομετρητή Mozilla">
freebsd-mozilla">
ηλεκτρονική λίστα του FreeBSD για τα πολυμέσα">
freebsd-multimedia">
ηλεκτρονική λίστα του FreeBSD για την υποστήριξη δικτύου">
freebsd-net">
ηλεκτρονική λίστα του FreeBSD για τους νέους χρήστες">
freebsd-newbies">
ηλεκτρονική λίστα του FreeBSD για το υποσύστημα new-bus">
freebsd-new-bus">
ηλεκτρονική λίστα του FreeBSD για το OpenOffice">
freebsd-openoffice">
ηλεκτρονική λίστα του FreeBSD για υψηλές αποδόσεις">
freebsd-performance">
ηλεκτρονική λίστα του FreeBSD για τη γλώσσα Perl">
freebsd-perl">
ηλεκτρονική λίστα του FreeBSD για το packet filter firewall">
freebsd-pf">
ηλεκτρονική λίστα του FreeBSD για τις μη-Intel πλατφόρμες">
freebsd-platforms">
ηλεκτρονική λίστα αποφάσεων πολιτικής της FreeBSD core ομάδας">
freebsd-policy">
ηλεκτρονική λίστα των FreeBSD ports">
freebsd-ports">
ηλεκτρονική λίστα αναφορών προβλημάτων των FreeBSD ports">
freebsd-ports-bugs">
ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα PowerPC">
freebsd-ppc">
ηλεκτρονική λίστα του FreeBSD για τις πλατφόρμες εξυπηρετητών HP ProLiant">
freebsd-proliant">
ηλεκτρονική λίστα του FreeBSD για τη γλώσσα Python">
freebsd-python">
ηλεκτρονική λίστα Ελέγχου και Εξασφάλισης Ποιότητας του FreeBSD">
freebsd-qa">
ηλεκτρονική λίστα γενικών ερωτήσεων του FreeBSD">
freebsd-questions">
ηλεκτρονική λίστα του FreeBSD για το σύστημα των boot script">
freebsd-rc">
ηλεκτρονική λίστα επεκτάσεων πραγματικού χρόνου του FreeBSD">
freebsd-realtime">
ηλεκτρονική λίστα του FreeBSD για τη γλώσσα Ruby">
freebsd-ruby">
ηλεκτρονική λίστα του FreeBSD για το υποσύστημα SCSI">
freebsd-scsi">
ηλεκτρονική λίστα του FreeBSD για θέματα ασφάλειας">
freebsd-security">
ηλεκτρονική λίστα Ανακοινώσεων για Θέματα Ασφάλειας του FreeBSD">
freebsd-security-notifications">
ηλεκτρονική λίστα του FreeBSD για μικρά συστήματα">
freebsd-small">
ηλεκτρονική λίστα του FreeBSD για την συμμετρική πολυεπεξεργασία">
freebsd-smp">
ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα SPARC">
freebsd-sparc64">
ηλεκτρονική λίστα του &os.stable;">
freebsd-stable">
ηλεκτρονική λίστα του FreeBSD για τη συμβατότητα με τα πρότυπα C99 και POSIX">
freebsd-standards">
ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα sun4v">
freebsd-sun4v">
ηλεκτρονική λίστα μηνυμάτων SVN commit πηγαίου κώδικα του FreeBSD (εξαιρούνται τα δέντρα user και projects)">
svn-src-all">
ηλεκτρονική λίστα μηνυμάτων SVN commit πηγαίου κώδικα για τον κλάδο head/-current">
svn-src-head">
ηλεκτρονική λίστα μηνυμάτων SVN commit για τον πηγαίο κώδικα του δέντρου projects">
svn-src-projects">
ηλεκτρονική λίστα μηνυμάτων SVN commit για εκδόσεις (releases) πηγαίου κώδικα">
svn-src-release">
ηλεκτρονική λίστα μηνυμάτων SVN commit για διορθώσεις ασφάλειας της ομάδας release engineering στο δέντρο πηγαίου κώδικα">
svn-src-releng">
ηλεκτρονική λίστα μηνυμάτων SVN commit για όλους τους κλάδους -stable του δέντρου πηγαίου κώδικα">
svn-src-stable">
ηλεκτρονική λίστα μηνυμάτων SVN commit μόνο για το δέντρο πηγαίου κώδικα 6-stable">
svn-src-stable-6">
ηλεκτρονική λίστα μηνυμάτων SVN commit μόνο για το δέντρο πηγαίου κώδικα 7-stable">
svn-src-stable-7">
ηλεκτρονική λίστα μηνυμάτων SVN commit για τα παλιά stable δέντρα πηγαίου κώδικα">
svn-src-stable-other">
ηλεκτρονική λίστα μηνυμάτων SVN commit για το δέντρο admin / configuration">
svn-src-svnadmin">
ηλεκτρονική λίστα μηνυμάτων SVN commit για το πειραματικό δέντρο πηγαίου κώδικα user">
svn-src-user">
ηλεκτρονική λίστα μηνυμάτων SVN commit για το δέντρο εργασίας vendor">
svn-src-vendor">
ηλεκτρονική λίστα του FreeBSD για δοκιμαστικά μηνύματα">
freebsd-test">
ηλεκτρονική λίστα δοκιμών απόδοσης και σταθερότητας του FreeBSD">
freebsd-testing">
ηλεκτρονική λίστα του FreeBSD για την πολυνηματική επεξεργασία">
freebsd-threads">
ηλεκτρονική λίστα του FreeBSD για το υποσύστημα tokenring">
freebsd-tokenring">
ηλεκτρονική λίστα του FreeBSD για τη διασύνδεση με συσκευές USB">
freebsd-usb">
ηλεκτρονική λίστα οργάνωσης των ομάδων χρηστών του FreeBSD">
freebsd-user-groups">
ηλεκτρονική λίστα προσυνεννόησης των προμηθευτών του FreeBSD">
freebsd-vendors">
ηλεκτρονική λίστα του FreeBSD για τεχνικές virtualization">
freebsd-virtualization">
ηλεκτρονική λίστα για την πλατφόρμα VuXML">
freebsd-vuxml">
ηλεκτρονική λίστα για τις Αναφορές Προόδου του FreeBSD">
freebsd-wip-status">
ηλεκτρονική λίστα του Webmaster του FreeBSD">
freebsd-www">
ηλεκτρονική λίστα του FreeBSD για το γραφικό περιβάλλον X11">
freebsd-x11">
ηλεκτρονική λίστα συζητήσεων για τη μεταφορά του FreeBSD στο Xen">
freebsd-xen">
bug-followup@FreeBSD.org">
majordomo@FreeBSD.org">
diff --git a/el_GR.ISO8859-7/share/sgml/newsgroups.ent b/el_GR.ISO8859-7/share/sgml/newsgroups.ent
index ae07fbf41a..ffc0e2fea0 100644
--- a/el_GR.ISO8859-7/share/sgml/newsgroups.ent
+++ b/el_GR.ISO8859-7/share/sgml/newsgroups.ent
@@ -1,20 +1,21 @@
comp.unix.bsd.freebsd.misc">
diff --git a/el_GR.ISO8859-7/share/sgml/teams.ent b/el_GR.ISO8859-7/share/sgml/teams.ent
index 2681254c07..95df195480 100644
--- a/el_GR.ISO8859-7/share/sgml/teams.ent
+++ b/el_GR.ISO8859-7/share/sgml/teams.ent
@@ -1,71 +1,72 @@
admins@FreeBSD.org">
bugmeister@FreeBSD.org">
core-secretary@FreeBSD.org">
cvsadm@FreeBSD.org">
cvs@FreeBSD.org">
dcvs@FreeBSD.org">
doceng@FreeBSD.org">
donations@FreeBSD.org">
faq@FreeBSD.org">
ftp-master@FreeBSD.org">
mirror-admin@FreeBSD.org">
ncvs@FreeBSD.org">
perforce-admin@FreeBSD.org">
pcvs@FreeBSD.org">
portmgr@FreeBSD.org">
portmgr-secretary@FreeBSD.org">
projcvs@FreeBSD.org">
re@FreeBSD.org">
security-officer@FreeBSD.org">
diff --git a/el_GR.ISO8859-7/share/sgml/trademarks.ent b/el_GR.ISO8859-7/share/sgml/trademarks.ent
index 98ba9b9875..99312c6c6c 100644
--- a/el_GR.ISO8859-7/share/sgml/trademarks.ent
+++ b/el_GR.ISO8859-7/share/sgml/trademarks.ent
@@ -1,431 +1,432 @@
Οι λέξεις 3Com και HomeConnect είναι
κατοχυρωμένα εμπορικά σύμβολα της 3Com Corporation.">
3Com">
Οι λέξεις 3ware και Escalade είναι
κατοχυρωμένα εμπορικά σύμβολα της 3ware Inc.">
3ware">
Escalade">
Η λέξη Adaptec είναι κατοχυρωμένο εμπορικό
σύμβολο της Adaptec, Inc.">
Adaptec">
Οι λέξεις ή φράσεις Adobe, Acrobat, Acrobat
Reader, και PostScript είναι είτε κατοχυρωμένα εμπορικά σύμβολα ή εμπορικά
σύμβολα της Adobe Systems Incorporated στις Ηνωμένες Πολιτείες ή/και σε
άλλες χώρες.">
Acrobat">
Acrobat Reader">
Adobe">
PostScript">
Οι λέξεις ή φράσεις AMD, Am486, Am5X86, AMD
Athlon, AMD Duron, AMD Opteron, AMD-K6, Élan, και PCnet είναι
εμπορικά σύμβολα της Advanced Micro Devices, Inc.">
Am486">
Am5x86">
AMD Athlon">
AMD Duron">
AMD-K6">
AMD Opteron">
AMD Sempron">
AMD Turion">
Athlon">
Élan">
Opteron">
Οι λέξεις ή φράσεις Apple, AirPort, FireWire, Mac,
Macintosh, Mac OS, Quicktime, και TrueType είναι εμπορικά σύμβολα της Apple
Computer, Inc., κατοχυρωμένα στις Ηνωμένες Πολιτείες και σε άλλες
χώρες.">
AirPort">
Apple">
FireWire">
iMac">
Mac">
Macintosh">
Mac OS">
Quicktime">
TrueType">
Η λέξη ARM είναι κατοχυρωμένο εμπορικό σύμβολο
της ARM Limited.">
ARM">
Η λέξη Bluetooth ανήκει στην
Bluetooth SIG, Inc.">
Bluetooth">
Η λέξη Broadcom είναι ένα κατοχυρωμένο
εμπορικό σύμβολο της Broadcom Corporation και των θυγατρικών της.">
Broadcom">
Οι λέξεις ή φράσεις Check Point,
Firewall-1, και VPN-1 είναι εμπορικά σύμβολα της Check Point Software
Technologies Ltd.">
Οι λέξεις ή φράσεις Cisco, Catalyst, και IOS
είναι κατοχυρωμένα εμπορικά σύμβολα της Cisco Systems, Inc. ή/και των
συνεργατών της στις Ηνωμένες Πολιτείες και σε ορισμένες άλλες χώρες.">
Catalyst">
IOS">
Οι λέξεις Corel και WordPerfect είναι εμπορικά
σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Corel Corporation ή/και των
θυγατρικών της στον Καναδά, τις Ηνωμένες Πολιτείες ή/και σε άλλες
χώρες.">
Η λέξη Coverity είναι ένα
κατοχυρωμένο εμπορικό σύμβολο. Οι λέξεις ή φράσεις Coverity Extend,
Coverity Prevent και Coverity Prevent SQS είναι εμπορικά σύμβολα της
Coverity, Inc.">
Coverity">
Coverity Prevent">
Η φράση Sound Blaster είναι εμπορικό
σύμβολο της Creative Technology Ltd. στις Ηνωμένες Πολιτείες ή/και σε άλλες
χώρες.">
SoundBlaster">
Η λέξη CVSup είναι κατοχυρωμένο εμπορικό
σύμβολο του John D. Polstra.">
Οι λέξεις ή φράσεις Dell, Dell Precision,
Latitude, Optiplex, και PowerEdge είναι εμπορικά σύμβολα ή κατοχυρωμένα
εμπορικά σύμβολα της Dell Computer Corporation">
Dell">
PowerEdge">
Οι λέξεις ή φράσεις EPSON και EPSON Perfection
είναι κατοχυρωμένα εμπορικά σύμβολα της Seiko Epson Corporation.">
EPSON">
EPSON
Perfection">
Το FreeBSD είναι ένα κατοχυρωμένο εμπορικό
σύμβολο του FreeBSD Foundation.">
Οι λέξεις ή φράσεις Heidelberg,
Helvetica, Palatino, και Times Roman είναι είτε κατοχυρωμένα εμπορικά
σύμβολα ή εμπορικά σύμβολα της Heidelberger Druckmaschinen AG στις ΗΠΑ και
σε άλλες χώρες.">
Οι λέξεις ή φράσεις IBM, AIX, EtherJet,
Netfinity, OS/2, PowerPC, PS/2, S/390, και ThinkPad είναι εμπορικά σύμβολα
της International Business Machines Corporation στις Ηνωμένες Πολιτείες,
άλλες χώρες, ή και στα δύο ταυτόχρονα.">
AIX">
EtherJet">
Netfinity">
OS/2">
PowerPC">
PS/2">
S/390">
ThinkPad">
Οι λέξεις IEEE, POSIX, και 802 είναι
κατοχυρωμένα εμπορικά σύμβολα του Institute of Electrical and Electronics
Engineers, Inc. στις Ηνωμένες Πολιτείες.">
POSIX">
Οι λέξεις Intel, Celeron, EtherExpress,
i386, i486, Itanium, Pentium, και Xeon είναι εμπορικά σύμβολα ή
κατοχυρωμένα εμπορικά σύμβολα της Intel Corporation και των θυγατρικών
της στις Ηνωμένες Πολιτείες και σε άλλες χώρες.">
Celeron">
EtherExpress">
i386">
i486">
Intel">
Itanium">
Pentium">
Core">
Xeon">
Οι λέξεις Intuit και Quicken είναι
κατοχυρωμένα εμπορικά σύμβολα ή κατοχυρωμένα σύμβολα υπηρεσιών της
Intuit Inc., ή κάποιων από τις θυγατρικές της, στις Ηνωμένες Πολιτείες
και σε άλλες χώρες.">
Οι λέξεις Iomega, Zip, και Jaz είναι
είτε κατοχυρωμένα εμπορικά σύμβολα ή εμπορικά σύμβολα της Iomega
Corporation στις Ηνωμένες Πολιτείες ή/και σε άλλες χώρες.">
Zip">
Jaz">
Οι λέξεις Lantronix και EasyIO είναι
εμπορικά σύμβολα της Lantronix Corporation.">
EasyIO">
Το Linux είναι ένα κατοχυρωμένα εμπορικό
σύμβολο του Linus Torvalds στις Ηνωμένες Πολιτείες.">
Linux">
Οι λέξεις LSI Logic, AcceleRAID,
eXtremeRAID, MegaRAID και Mylex είναι εμπορικά σύμβολα ή κατοχυρωμένα
εμπορικά σύμβολα της LSI Logic Corp.">
AcceleRAID">
MegaRAID">
Mylex">
Οι λέξεις Macromedia, Flash, και
Shockwave είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της
Macromedia, Inc. στις Ηνωμένες Πολιτείες και/ή σε άλλες χώρες.">
Flash">
Macromedia">
Shockwave">
Οι λέξεις Microsoft, IntelliMouse, MS-DOS,
Outlook, Windows, Windows Media, και Windows NT είναι είτε κατοχυρωμένα
εμπορικά σύμβολα ή εμπορικά σύμβολα της Microsoft Corporation στις Ηνωμένες
Πολιτείες και/ή σε άλλες χώρες.">
IntelliMouse">
Microsoft">
MS-DOS">
Outlook">
Windows">
Windows Media">
Windows NT">
Οι λέξεις MIPS και R4000 είναι κατοχυρωμένα
εμπορικά σύμβολα της MIPS Technologies, Inc. στις Ηνωμένες Πολιτείες και σε
άλλες χώρες.">
MIPS">
Η λέξη MySQL είναι κατοχυρωμένο εμπορικό
σύμβολο της MySQL AB στις Ηνωμένες Πολιτείες, στην Ευρωπαϊκή Ένωση και σε
άλλες χώρες.">
MySQL">
Οι λέξεις M-Systems και DiskOnChip είναι
εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της M-Systems Flash Disk
Pioneers, Ltd.">
DiskOnChip">
Η λέξη NetBSD είναι ένα κατοχυρωμένο εμπορικό
σύμβολο του NetBSD Foundation.">
Οι λέξεις Netscape και Netscape Navigator
είναι κατοχυρωμένα εμπορικά σύμβολα της Netscape Communications Corporation
στις Η.Π.Α και άλλες χώρες.">
Netscape">
Netscape Navigator">
Οι λέξεις GateD και NextHop είναι
κατοχυρωμένα εμπορικά σύμβολα και εμπορικά σύμβολα της NextHop στις
Η.Π.Α. και άλλες χώρες.">
GateD">
Οι λέξεις NetWare, NetWare Loadable Module,
και NLM είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά της Novell, Inc. στις
Ηνωμένες Πολιτείες και σε άλλες χώρες.">
Οι λέξεις Motif, OSF/1, και UNIX
είναι κατοχυρωμένα εμπορικά σύμβολα και οι λέξεις ή φράσεις IT
DialTone και The Open Group είναι εμπορικά σύμβολα του The Open Group
στις Ηνωμένες Πολιτείες και σε άλλες χώρες.">
Η λέξη UNIX είναι κατοχυρωμένο εμπορικό
σύμβολο του Open Group στις Ηνωμένες Πολιτείες και σε άλλες
χώρες.">
Motif">
UNIX">
Η λέξη Oracle είναι κατοχυρωμένο
εμπορικό σύμβολο της Oracle Corporation.">
Oracle">
Η λέξη Parallels είναι ένα κατοχυρωμένο
εμπορικό σύμβολο της Parallels Software International Inc.">
Οι λέξεις PowerQuest και PartitionMagic
είναι κατοχυρωμένα εμπορικά σύμβολα της PowerQuest Corporation στις Ηνωμένες
Πολιτείες και/ή σε άλλες χώρες.">
PartitionMagic">
Οι λέξεις QUALCOMM και Eudora είναι
κατοχυρωμένα εμπορικά σύμβολα της QUALCOMM Incorporated.">
Eudora">
Οι λέξεις RealNetworks, RealPlayer και
RealAudio είναι κατοχυρωμένα εμπορικά σύμβολα της RealNetworks,
Inc.">
RealPlayer">
Οι λέξεις ή φράσεις Red Hat, και RPM είναι
εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Red Hat, Inc. στις
Ηνωμένες Πολιτείες και σε άλλες χώρες.">
Οι λέξεις SAP, R/3, και mySAP είναι εμπορικά
σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της SAP AG στη Γερμανία και σε
πολλές άλλες χώρες του κόσμου.">
R/3">
SAP">
Οι λέξεις οι φράσεις Silicon Graphics, SGI, και
OpenGL είναι κατοχυρωμένα εμπορικά σύμβολα της Silicon Graphics, Inc. στις
Ηνωμένες Πολιτείες και/ή σε άλλες χώρες στον κόσμο.">
OpenGL">
Η λέξη Slackware είναι ένα κατοχυρωμένο
εμπορικό σύμβολο του Patrick Volkerding και της Slackware Linux, Inc.">
Οι λέξεις ή φράσεις Sparc, Sparc64,
SPARCEngine, και UltraSPARC είναι εμπορικά σύμβολα της SPARC International,
Inc. στις Ηνωμένες Πολιτείες και σε άλλες χώρες. Τα προϊόντα που φέρουν τα
εμπορικά σύμβολα SPARC είναι βασισμένα στην αρχιτεκτονική που ανέπτυξε η Sun
Microsystems, Inc.">
Sparc">
Sparc64">
SPARCEngine">
UltraSPARC">
Οι λέξεις ή φράσεις Sun, Sun Microsystems, Java,
Java Virtual Machine, JavaServer Pages, JDK, JRE, JSP, JVM, Netra, Solaris,
StarOffice, Sun Blade, Sun Enterprise, Sun Fire, SunOS, και Ultra είναι
εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Sun Microsystems, Inc.
στις Ηνωμένες Πολιτείες και σε άλλες χώρες.">
Java">
Java Virtual Machine">
JavaServer Pages">
JDK">
JRE">
JSP">
JVM">
Netra">
Solaris">
StarOffice">
Sun">
Sun Blade">
Sun Enterprise">
Sun Fire">
Ultra">
SunOS">
Οι λέξεις Symantec και Ghost είναι
κατοχυρωμένα εμπορικά σύμβολα της Symantec Corporation στις Ηνωμένες
Πολιτείες και σε άλλες χώρες.">
Η λέξη MATLAB είναι ένα κατοχυρωμένο
εμπορικό σύμβολο της The MathWorks, Inc.">
MATLAB">
Η λέξη SpeedTouch είναι ένα εμπορικό σύμβολο
της Thomson">
SpeedTouch">
Οι λέξεις Transmeta και Crusoe είναι
εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Transmeta Corporation
στις Ηνωμένες Πολιτείες και σε άλλες χώρες.">
Crusoe">
Transmeta">
Οι λέξεις ή φράσεις U.S. Robotics και
Sportster είναι κατοχυρωμένα εμπορικά σύμβολα της U.S. Robotics
Corporation.">
Sportster">
U.S. Robotics">
Οι λέξεις ή φράσεις Waterloo Maple και
Maple είναι εμπορικά ή κατοχυρωμένα εμπορικά σύμβολα της Waterloo Maple Inc.">
Maple">
Η λέξη Mathematica είναι
κατοχυρωμένο εμπορικό σύμβολο της Wolfram Research, Inc.">
Mathematica">
Η λέξη VMware είναι εμπορικό σύμβολο της
VMware, Inc.">
Η λέξη Xen είναι ένα κατοχυρωμένο εμπορικό
σύμβολο της XenSource, Inc. sτις ΗΠΑ και άλλες χώρες.">
Xen">
Η λέξη XFree86 είναι ένα εμπορικό σύμβολο
του The XFree86 Project, Inc.">
XFree86">
Οι λέξεις ή φράσεις Ogg Vorbis και Xiph.Org
είναι εμπορικά σύμβολα τουXiph.Org.">
Πολλές από τις λέξεις ή φράσεις οι οποίες
χρησιμοποιούνται από τους κατασκευαστές ή τους πωλητές τους για να
διακρίνουν τα προϊόντα τους θεωρούνται εμπορικά σύμβολα. Όπου αυτές
εμφανίζονται σε αυτό το κείμενο και για όσες από αυτές γνωρίζει η Ομάδα
Ανάπτυξης του FreeBSD ότι είναι πιθανόν να είναι εμπορικά σύμβολα, θα δείτε
ένα από τα σύμβολα: ™ ή ®.">
diff --git a/el_GR.ISO8859-7/share/sgml/translators.ent b/el_GR.ISO8859-7/share/sgml/translators.ent
index 1ce56473fe..b4265fbbad 100644
--- a/el_GR.ISO8859-7/share/sgml/translators.ent
+++ b/el_GR.ISO8859-7/share/sgml/translators.ent
@@ -1,26 +1,27 @@
george@iordanou.org">
keramida@FreeBSD.org">
sonicy@otenet.gr">
nickkokkalis@gmail.com">
ltsampros@upnet.gr">
vtypal@gmail.com">
panoskrt@googlemail.com">
aristotelis.stamatopoulos@gmail.com">