Update of the doc/el_GR.ISO8859-7 documentation, to catch up with

the latest developments in the Greek translation team.  This one
brings in many resync/MFen changes for articles, and a new book:

        The Greek Handbook

We still have a lot of work to do in the Handbook tree, but the
work of the following people has been instrumental in getting us
so far already:

        Giorgos Iordanou
        Manolis Kiagias
        Nikos Kokkalis
        Leonidas Tsampros
        Baggelis Typaldos
This commit is contained in:
Giorgos Keramidas 2007-11-02 16:14:25 +00:00
parent 1ab7e7b806
commit eb2c85db96
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=30998
68 changed files with 77165 additions and 18 deletions

View file

@ -2,6 +2,7 @@
# Original version: 1.7
SUBDIR = articles
SUBDIR+= books
COMPAT_SYMLINK = el

View file

@ -7,6 +7,7 @@ SUBDIR+= dialup-firewall
SUBDIR+= explaining-bsd
SUBDIR+= formatting-media
SUBDIR+= freebsd-questions
SUBDIR+= greek-language-support
SUBDIR+= laptop
SUBDIR+= multi-os
SUBDIR+= new-users

View file

@ -0,0 +1,13 @@
# $FreeBSD$
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
SRCS= article.sgml
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -0,0 +1,346 @@
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EL">
%articles.ent;
<!ENTITY iso-greek "ISO/IEC&nbsp;8859-7">
]>
<article lang="el">
<articleinfo>
<title>Υποστήριξη της Ελληνικής Γλώσσας στο FreeBSD</title>
<author>
<firstname>Νικόλαος</firstname>
<surname>Κόκκαλης</surname>
<affiliation>
<address><email>nickkokkalis@yahoo.co.uk</email></address>
</affiliation>
</author>
<copyright>
<year>2006</year>
<year>2007</year>
<holder role="mailto:nickkokkalis@yahoo.co.uk">Νικόλαος Κόκκαλης</holder>
</copyright>
<releaseinfo>$FreeBSD$</releaseinfo>
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.general;
</legalnotice>
<abstract>
<para>Αυτό το κείμενο δίνει οδηγίες για τις ρυθμίσεις που χρειάζονται,
ώστε να μπορούμε να διαβάσουμε και να γράψουμε Ελληνικά στο &os;, τόσο
σε κατάσταση κονσόλας όσο και χρησιμοποιώντας το γραφικό
περιβάλλον <application>&xorg;</application>.</para>
</abstract>
</articleinfo>
<sect1 id="introduction">
<title>Εισαγωγή</title>
<para>Η ρύθμιση της υποστήριξης του &os; για την Ελληνική γλώσσα είναι
αρκετά εύκολη, σε κάθε επίπεδο. Με σχετικά λίγες ρυθμίσεις, μπορεί να
γράψει και να διαβάσει κανείς σωστά Ελληνικά με την επίσημη κωδικοποίηση
&iso-greek;, τόσο σε κατάσταση κονσόλας όσο και μέσα από το γραφικό
περιβάλλον <application>&xorg;</application>. Αν και οι ρυθμίσεις που
αφορούν αποκλειστικά στο FreeBSD είναι αυτές της κονσόλας, εδώ θα
αναφερθούν και αυτές που αφορούν και
τα <application>&xorg;</application> αλλά και τις επιμέρους
εφαρμογές.</para>
<para>Αφού διαβάσετε αυτό το άρθρο θα ξέρετε:</para>
<itemizedlist>
<listitem>
<para>Που θα βρείτε Ελληνικές γραμματοσειρές, τόσο για την κονσόλα του
&os; όσο και για <application>&xorg;</application>.</para>
</listitem>
<listitem>
<para>Πώς να ορίσετε μια αντιστοιχία πληκτρολογίου
(<quote>keymap</quote>) σε κατάσταση κονσόλας, η οποία να επιτρέπει
την εισαγωγή Ελληνικού κειμένου, με την κωδικοποίηση &iso-greek;.</para>
</listitem>
<listitem>
<para>Πώς να ορίσετε ότι η προκαθορισμένη γραμματοσειρά σε κατάσταση
κονσόλας θα είναι κάποια που έχει Ελληνικούς χαρακτήρες.</para>
</listitem>
<listitem>
<para>Πώς να ορίσετε μια αντιστοιχία πληκτρολογίου
(<quote>keymap</quote>) σε κατάσταση γραφικών, η οποία να επιτρέπει
την εισαγωγή Ελληνικού κειμένου, με την κωδικοποίηση &iso-greek;.</para>
</listitem>
<listitem>
<para>Πώς να στήσετε γραμματοσειρές για το γραφικό περιβάλλον του
&os;, οι οποίες θα έχουν υποστήριξη τόσο για UTF-8 όσο και για
&iso-greek; Ελληνικά.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="console-setup">
<title>Ρυθμίσεις για Ελληνικά στην κονσόλα του &os;</title>
<para>Στην κονσόλα οι ρυθμίσεις αφορούν δύο στάδια. Το πρώτο στάδιο
γίνεται κατά τον ίδιο τρόπο πάντα, ενώ το δεύτερο διαφοροποιείται
ανάλογα με το κέλυφος (<quote>shell</quote>).</para>
<itemizedlist>
<listitem>
<para>Ρυθμίσεις για την προκαθορισμένη γραμματοσειρά της κονσόλας και
μια αντιστοιχία πληκτρολογίου με υποστήριξη για Ελληνικά.</para>
</listitem>
<listitem>
<para>Ρυθμίσεις έτσι ώστε το περιβάλλον του κελύφους να υποστηρίζει
την Ελληνική γλώσσα.</para>
</listitem>
</itemizedlist>
<sect2 id="console-files">
<title>Ελληνική γραμματοσειρά και αντιστοιχία πληκτρολογίου για την κονσόλα</title>
<para>Για να μπορέσουμε να διαβάσουμε και να γράψουμε Ελληνικά με την
κωδικοποίηση &iso-greek; στην κονσόλα του &os; χρειαζόμαστε
τουλάχιστον δύο αρχεία: μια γραμματοσειρά και μια αντιστοιχία
πληκτρολογίου.</para>
<para>Ο &a.keramida; έχει φτιάξει μια τέτοια γραμματοσειρά και μια
αντιστοιχία πληκτρολογίου. Αυτά τα δύο αρχεία δεν είναι μέρος του
βασικού συστήματος του &os; τη στιγμή που γράφονται αυτές οι γραμμές,
οπότε θα χρειαστεί να τα κατεβάσετε από το δίκτυο. Για να κατεβάσετε
τα δύο αρχεία που χρειάζονται και να τα τοποθετήσετε στον κατάλληλο
κατάλογο για τον τύπο του κάθε αρχείου, μπορείτε να τρέξετε τις
παρακάτω εντολές:</para>
<screen>&prompt.root; <userinput>cd /usr/share/syscons/fonts</userinput>
&prompt.root; <userinput>fetch 'http://people.freebsd.org/~keramida/files/grfixed-8x16.fnt'</userinput>
&prompt.root; <userinput>cd /usr/share/syscons/keymaps</userinput>
&prompt.root; <userinput>fetch 'http://people.freebsd.org/~keramida/files/keramida.el-iso.kbd'</userinput></screen>
<sect2 id="console-rc-conf">
<title>Ενεργοποίηση της Ελληνικής υποστήριξης στην κονσόλα</title>
<para>Για να ορίσουμε ως προκαθορισμένη γραμματοσειρά και αντιστοιχία
πληκτρολογίου αυτές που κατεβάσαμε, αρκεί να βάλουμε στο
αρχείο <filename>/etc/rc.conf</filename> τις παρακάτω
ρυθμίσεις:</para>
<programlisting>font8x16="grfixed8x16"
keymap="keramida.el-iso"</programlisting>
<para>Με αυτές τις ρυθμίσεις, το σύστημά μας θα χρησιμοποιεί τα αρχεία
που μόλις κατεβάσαμε από την επόμενη φορά που θα ξεκινήσει. Στο &os;
δε χρειάζεται όμως να κάνουμε επανεκκίνηση για μια τέτοια μικρή
αλλαγή. Μπορούμε απλά να τρέξουμε σε μια κονσόλα τις εντολές:</para>
<screen>&prompt.user; <userinput>vidcontrol -f 8x16 grfixed-8x16 &lt; /dev/ttyv0</userinput>
&prompt.user; <userinput>kbdcontrol -l keramida.el-iso &lt; /dev/ttyv0</userinput></screen>
<para>Αυτές οι εντολές θα φορτώσουν εκείνη τη στιγμή τη νέα
γραμματοσειρά κονσόλας, και τη νέα αντιστοιχία πληκτρολογίου.</para>
</sect2>
<sect2 id="shell-locale">
<title>Ρυθμίσεις για το κέλυφος χρήστη</title>
<para>Με τις ρυθμίσεις που έχουμε κάνει ως τώρα δεν έχει ενεργοποιηθεί
πλήρως η Ελληνική υποστήριξη. Κάθε πρόγραμμα που τρέχει στο &os;, ακόμα και το
κέλυφος χρήστη που χρησιμοποιούμε, εξαρτάται από τις τρέχουσες
ρυθμίσεις <quote>locale</quote>, για να ξέρει σε τι γλώσσα
δουλεύουμε.</para>
<para>Οι προκαθορισμένες ρυθμίσεις locale υποστηρίζουν μόνο την εισαγωγή
και ανάγνωση κειμένου σε Αγγλικά, οπότε πρέπει να αλλάζουμε τις
ρυθμίσεις αυτές για να μπορεί το κέλυφος μας να δουλέψει σωστά με την
Ελληνική γλώσσα.</para>
<sect3 id="shell-sh">
<title>Ρυθμίσεις για το κέλυφος &man.sh.1;</title>
<para>Αν το κέλυφος που χρησιμοποιούμε είναι το &man.sh.1;, πρέπει να
βάλουμε στο αρχείο <filename>.profile</filename> του λογαριασμού μας
τις εξής ρυθμίσεις:</para>
<programlisting>export LANG="C"
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</programlisting>
</sect3>
<sect3 id="shell-csh">
<title>Ρυθμίσεις για το κέλυφος &man.csh.1;</title>
<para>Αν το κέλυφος που χρησιμοποιούμε είναι το &man.csh.1;, πρέπει να
βάλουμε στο αρχείο <filename>.cshrc</filename> του λογαριασμού μας
τις εξής ρυθμίσεις:</para>
<programlisting>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</programlisting>
</sect3>
<sect3 id="shell-bash">
<title>Ρυθμίσεις για το κέλυφος bash</title>
<para>Αν το κέλυφος που χρησιμοποιούμε είναι
το <application>bash</application>, πρέπει να βάλουμε στο
αρχείο <filename>.bashrc</filename> του λογαριασμού μας τις εξής
ρυθμίσεις:</para>
<programlisting>export LANG="C"
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</programlisting>
<para>Επίσης, ειδικά για το <application>bash</application>, πρέπει να
βάλουμε και τις εξής ρυθμίσεις στο
αρχείο <filename>.inputrc</filename> του λογαριασμού μας:</para>
<programlisting>set convert-meta Off
set input-meta On
set output-meta On</programlisting>
</sect3>
</sect2>
</sect1>
<sect1 id="xorg-setup">
<title>Ρυθμίσεις για Ελληνικά στο γραφικό περιβάλλον &xorg;</title>
<para>Τα πιο συνηθισμένα γραφικό περιβάλλον εργασίας σε &os; βασίζονται
στην πλατφόρμα <application>&xorg;</application>. Οι ρυθμίσεις για
υποστήριξη Ελληνικών σε &xorg; είναι εντελώς ίδιες με αυτές που
χρησιμοποιεί το περιβάλλον &xorg; και σε άλλα UNIX συστήματα (π.χ. σε
GNU/Linux).</para>
<para>Αρχικά, πρέπει να ρυθμίσετε το περιβάλλον &xorg; έτσι ώστε να ξεκινά
σωστά&mdash;ακόμη και χωρίς Ελληνικά. Για πληροφορίες σχετικά με τις
πρώτες αυτές ρυθμίσεις,
δείτε <ulink url="&url.books.handbook;/x11.html">το αντίστοιχο κεφάλαιο
στο Εγχειρίδιο του &os;</ulink>.</para>
<para>Αφού καταφέρετε να ρυθμίσετε τα πάντα για να ξεκινά το γραφικό
περιβάλλον &xorg;, πρέπει να τοποθετήσετε τις παρακάτω γραμμές στο
αρχείο <filename>/etc/x11/xorg.conf</filename>:</para>
<programlisting>Section "InputDevice"
Identifier "Keyboard1"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,el"
Option "XkbOptions" "grp:alt_shift_toggle"
EndSection</programlisting>
<para>Αν στο αρχείο <filename>/etc/x11/xorg.conf</filename> υπάρχει ήδη
ένα τέτοιο τμήμα, μπορείτε να τροποποιήσετε το υπάρχον τμήμα.
Χρησιμοποιήστε τον χαρακτήρα <quote><literal>#</literal></quote> για να
σχολιάσετε όποιες γραμμές δε θέλετε να κρατήσετε από το αρχικό
<quote><literal>InputDevice</literal></quote>.</para>
<note>
<para>Γενικά, υπάρχουν τουλάχιστον δύο
διαφορετικά <quote><literal>InputDevice</literal></quote> τμήματα σε
ένα συνηθισμένο αρχείο <filename>/etc/x11/xorg.conf</filename>:
ένα για το προκαθορισμένο πληκτρολόγιο κι ένα για το προκαθορισμένο ποντίκι.
Προσοχή να κάνετε όποιες τροποποιήσεις έχετε κατά νου στο τμήμα το
οποίο αναφέρει το πληκτρολόγιο (αυτό σημαίνει
το <quote><literal>Identifier "Keyboard1"</literal></quote>
παραπάνω).</para>
</note>
<para>Με τις ρυθμίσεις που έχουμε κάνει ως τώρα δεν έχει ενεργοποιηθεί
πλήρως η Ελληνική υποστήριξη. Στο FreeBSD κάθε πρόγραμμα, ακόμα και το
περιβάλλον &xorg; που χρησιμοποιούμε, εξαρτάται από τις τρέχουσες
ρυθμίσεις <quote>locale</quote>, για να ξέρει σε τι γλώσσα δουλεύουμε.</para>
<para>Οι προκαθορισμένες ρυθμίσεις locale υποστηρίζουν μόνο την εισαγωγή
και ανάγνωση κειμένου σε Αγγλικά, οπότε πρέπει να αλλάζουμε τις
ρυθμίσεις αυτές για να μπορεί το περιβάλλον &xorg; να δουλέψει σωστά με
την Ελληνική γλώσσα.</para>
<para>Για αυτόν τον λόγο παραμετροποιούμε το
αρχείο <filename>.xinitrc</filename> στο λογαριασμό μας. Πιο
συγκεκριμένα θα πρέπει να προσθέσουμε τις παρακάτω γραμμές σε αυτό:</para>
<programlisting>export LANG="el_GR"
export LC_CTYPE="el_GR.ISO8859-7"
export LC_COLLATE="el_GR.ISO8859-7"</programlisting>
<para>Με αυτές τις ρυθμίσεις, το περιβάλλον &xorg; θα ξεκινά με το
σωστό <quote>process environment</quote> για να υποστηρίζει την Ελληνική
γλώσσα.</para>
<para>Πολλές εφαρμογές που τρέχουν σε περιβάλλον &xorg; μπορούν να
ρυθμιστούν ορίζοντας μια σειρά από <quote>X11 resources</quote>. Αυτά
τα <quote>resources</quote> είναι, γενικά, ζευγάρια από τιμές της
μορφής:</para>
<programlisting>ΌνομαResource: Τιμή του resource</programlisting>
<para>Οι τιμές αυτές ορίζονται στο
αρχείο <filename>.Xresources</filename> του λογαριασμού μας.</para>
<para>Για το <application>XTerm</application> και αντίστοιχες εφαρμογές
τερματικού, μπορεί να ρυθμιστεί η γραμματοσειρά έτσι ώστε να
χρησιμοποιείται μια με Ελληνική υποστήριξη, ορίζοντας τις παρακάτω τιμές
στο αρχείο <filename>.Xresources</filename>:</para>
<programlisting>XTerm*font: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-7</programlisting>
<note>
<para>Μετά από αλλαγές στο αρχείο <filename>.Xresources</filename>, δε
χρειάζεται επανεκκίνηση του περιβάλλοντος &xorg;. Αρκεί απλά να
τρέξουμε την εντολή:</para>
<screen>&prompt.user; <userinput>xrdb -merge ~/.Xresources</userinput></screen>
</note>
</sect1>
<sect1 id="various-apps">
<title>Ρυθμίσεις για Ελληνικά σε διάφορες εφαρμογές.</title>
<para>Για να διαβάζουμε και να γράφουμε &iso-greek; Ελληνικά με τον
επεξεργαστή κειμένου <filename role="package">editors/emacs</filename> θα πρέπει να
προσθέσουμε στο <filename>.emacs</filename> του λογαριασμού μας τις
εξής ρυθμίσεις:</para>
<programlisting>(setq unibyte-display-via-language-environment t)
(set-language-environment "Greek")
(set-terminal-coding-system 'greek-iso-8bit)
(set-input-mode (car (current-input-mode))
(nth 1 (current-input-mode))
0)</programlisting>
<para>Για να διαβάζουμε και να γράφουμε ελληνικά με τον επεξεργαστή κειμένου
<filename role="package">editors/vim</filename> σε γραφικό περιβάλλον,
θα πρέπει να προσθέσουμε στο αρχείο <filename>.vimrc</filename> του
λογαριασμού μας τις εξής ρυθμίσεις:</para>
<programlisting>set gfs=fixedgr</programlisting>
<para>Για να διαβάζουμε και να γράφουμε ελληνικά με το πρόγραμμα
ηλεκτρονικής αλληλογραφίας <application>mutt</application> θα πρέπει να
προσθέσουμε στο <filename>.muttrc</filename> το παρακάτω κομμάτι:</para>
<programlisting>set charset="greek"
set send_charset="US-ASCII:ISO-8859-1:ISO-8859-7:UTF-8"</programlisting>
</sect1>
</article>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
fill-column: 78
indent-tabs-mode: nil
End:
-->

View file

@ -0,0 +1,8 @@
# $FreeBSD$
SUBDIR = handbook
ROOT_SYMLINKS= handbook
DOC_PREFIX?= ${.CURDIR}/../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -0,0 +1,5 @@
#
# $FreeBSD$
#
DESTDIR?= ${DOCDIR}/el_GR.ISO8859-7/books/${.CURDIR:T}

View file

@ -0,0 +1,166 @@
#
# $FreeBSD$
#
# Ìïñöïðïßçóç ôïõ Åã÷åéñéäßïõ ôïõ FreeBSD
#
# ------------------------------------------------------------------------
#
# ÌåôáâëçôÝò ó÷åôéêÝò ìå ôï Åã÷åéñßäéï
#
# 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.
#
# ------------------------------------------------------------------------
.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 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+= 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+= 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+= 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,</anchor>,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
.endfor
eresources.sgml.www.inc: eresources.sgml.www.inc.tmp
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2></\1>,;s,</anchor>,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,2 @@
<!DOCTYPE appendix PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN">
<!-- $FreeBSD$ -->

View file

@ -0,0 +1,719 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<!-- Need more documentation on praudit, auditreduce, etc. Plus more info
on the triggers from the kernel (log rotation, out of space, etc).
And the /dev/audit special file if we choose to support that. Could use
some coverage of integrating MAC with Event auditing and perhaps discussion
on how some companies or organizations handle auditing and auditing
requirements. -->
<chapter id="audit">
<chapterinfo>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>ÃñÜöôçêå áðü ôïí </contrib>
</author>
<author>
<firstname>Robert</firstname>
<surname>Watson</surname>
</author>
</authorgroup>
</chapterinfo>
<title>¸ëåã÷ïò ÓõìâÜíôùí Áóöáëåßáò</title>
<sect1 id="audit-synopsis">
<title>Óýíïøç</title>
<indexterm><primary>AUDIT</primary></indexterm>
<indexterm>
<primary>¸ëåã÷ïò ÓõìâÜíôùí Áóöáëåßáò</primary>
<see>MAC</see>
</indexterm>
<para>Ïé åêäüóåéò ôïõ &os; áðü ôçí 6.2-RELEASE êáé ìåôÜ ðåñéëáìâÜíïõí
õðïóôÞñéîç ãéá ëåðôïìåñÞ Ýëåã÷ï óõìâÜíôùí áóöáëåßáò. Ï Ýëåã÷ïò óõìâÜíôùí
åðéôñÝðåé áîéüðéóôç, ëåðôïìåñÞ êáé ðáñáìåôñïðïéÞóéìç êáôáãñáöÞ ðëÞèïõò
óõìâÜíôùí ó÷åôéêþí ìå ôçí áóöÜëåéá, óõìðåñéëáìâáíïìÝíùí ôùí logins,
ôùí áëëáãþí ñõèìßóåùí, êáèþò êáé ôçò ðñüóâáóçò óå áñ÷åßá êáé óôï äßêôõï.
Ïé êáôáãñáöÝò áõôÝò åßíáé ðïëýôéìåò ãéá áðåõèåßáò ðáñáêïëïýèçóç ôïõ
óõóôÞìáôïò, áíß÷íåõóç åéóâïëÝùí, êáèþò êáé ãéá áíÜëõóç ìåôÜ áðü êÜðïéá
åðßèåóç.
Ôï &os; õëïðïéåß ôç ìïñöÞ áñ÷åßùí êáé ôï <acronym>BSM</acronym> API üðùò
Ý÷ïõí äçìïóéåõôåß áðü ôçí &sun;, êáé åðéôñÝðåé äéáëåéôïõñãéêüôçôá ìå ôéò
õëïðïéÞóåéò åëÝã÷ïõ ôüóï ôïõ &solaris; ôçò &sun; üóï ôïõ &macos;
ôçò &apple;.</para>
<para>Ôï êåöÜëáéï áõôü åóôéÜæåé óôçí åãêáôÜóôáóç êáé ñýèìéóç ôïõ ÅëÝã÷ïõ
ÓõìâÜíôùí. Åîçãåß ôéò ðïëéôéêÝò åëÝã÷ïõ, êáé ðáñÝ÷åé Ýíá ðáñÜäåéãìá
ñõèìßóåùí åëÝã÷ïõ. </para>
<para>Áöïý äéáâÜóåôå áõôü ôï êåöÜëáéï, èá îÝñåôå:</para>
<itemizedlist>
<listitem>
<para>Ôé åßíáé ï Ýëåã÷ïò óõìâÜíôùí êáé ðùò ëåéôïõñãåß.</para>
</listitem>
<listitem>
<para>Ðùò íá ñõèìßóåôå ôïí Ýëåã÷ï óõìâÜíôùí óôï &os; ãéá ÷ñÞóôåò
êáé ðñïãñÜììáôá (processes).</para>
</listitem>
<listitem>
<para>Ðùò íá áíáëýóåôå ôá ß÷íç ôïõ åëÝã÷ïõ ÷ñçóéìïðïéþíôáò ôá
åñãáëåßá ìåßùóçò üãêïõ äåäïìÝíùí êáé áíÜëõóçò.</para>
</itemizedlist>
<para>Ðñéí äéáâÜóåôå áõôü ôï êåöÜëáéï, èá ðñÝðåé:</para>
<itemizedlist>
<listitem>
<para>Íá êáôáíïåßôå ôéò âáóéêÝò Ýííïéåò ôïõ &unix; êáé ôïõ &os;
(<xref linkend="basics">).</para>
</listitem>
<listitem>
<para>Íá åßóôå åîïéêåéùìÝíïò ìå ôéò âáóéêÝò Ýííïéåò ôçò ñýèìéóçò êáé
ìåôáãëþôôéóçò ôïõ ðõñÞíá. (<xref linkend="kernelconfig">).</para>
</listitem>
<listitem>
<para>Íá Ý÷åôå êÜðïéá åîïéêåßùóç ìå ôçí áóöÜëåéá êáé ðùò áõôÞ
ó÷åôßæåôáé ìå ôï &os; (<xref linkend="security">).</para>
</listitem>
</itemizedlist>
<warning>
<para>Ïé ëåéôïõñãßåò åëÝã÷ïõ óôï &os; 6.2 åßíáé óå ðåéñáìáôéêü óôÜäéï
êáé ç åãêáôÜóôáóç ôïõò óå ìç÷áíÞìáôá ðáñáãùãÞò èá ðñÝðåé íá ãßíåôáé
ìüíï áöïý ëçöèïýí óïâáñÜ õðüøéí ïé êßíäõíïé áðü ôçí åãêáôÜóôáóç
ðåéñáìáôéêïý ëïãéóìéêïý. Ïé ãíùóôïß áõôÞ ôç óôéãìÞ ôñÝ÷ïíôåò
ðåñéïñéóìïß ðåñéëáìâÜíïõí ôçí áäõíáìßá åëÝã÷ïõ üëùí ôùí óõìâÜíôùí ðïõ
ó÷åôßæïíôáé ìå ôçí áóöÜëåéá. Åðßóçò êÜðïéïé ìç÷áíéóìïß åéóüäïõ
(logins), üðùò ïé ãñáöéêïß (X11-âáóéóìÝíïé) display managers, êáèþò
êáé ïñéóìÝíåò õðçñåóßåò ôñßôùí êáôáóêåõáóôþí äåí åßíáé óùóôÜ
ñõèìéóìÝíåò ãéá ôïí Ýëåã÷ï åéóüäïõ ÷ñçóôþí. </para>
</warning>
<warning>
<para>Ï Ýëåã÷ïò óõìâÜíôùí áóöáëåßáò ìðïñåß íá äçìéïõñãÞóåé ðïëý
ëåðôïìåñåßò êáôáãñáöÝò ôçò äñáóôçñéüôçôáò ôïõ óõóôÞìáôïò: óå Ýíá
óýóôçìá ìå õøçëü öüñôï, ôá áñ÷åßá êáôáãñáöÞò ìðïñåß íá ãßíïõí ðïëý
ìåãÜëá, áí Ý÷ïõí ñõèìéóôåß ãéá ëåðôïìåñÞ êáôáãñáöÞ, êáé íá îåðåñÜóïõí
ôá áñêåôÜ gigabytes ôçí åâäïìÜäá óå êÜðïéåò ðåñéðôþóåéò. Ïé
äéá÷åéñéóôÝò èá ðñÝðåé íá ëáìâÜíïõí õðüøéí ôïõò ôéò ðéèáíÝò áðáéôÞóåéò
óå ÷þñï äßóêïõ óå ðåñßðôùóç ñõèìßóåùí ëåðôïìåñïýò êáôáãñáöÞò. Ãéá
ðáñÜäåéãìá, ßóùò åßíáé èåìéôü íá áöéåñùèåß Ýíá óýóôçìá áñ÷åßùí óôï
<filename>/var/audit</filename> þóôå ôá õðüëïéðá óõóôÞìáôá áñ÷åßùí íá
ìçí åðçñåáóôïýí áí ï ÷þñïò áõôüò åîáíôëçèåß. </para>
</warning>
</sect1>
<sect1 id="audit-inline-glossary">
<title>Key Terms in this Chapter</title>
<para>Before reading this chapter, a few key audit-related terms must be
explained:</para>
<itemizedlist>
<listitem>
<para><emphasis>event</emphasis>: An auditable event is any event
that can be logged using the audit subsystem.
Examples of security-relevant events include the creation of
a file, the building of a network connection, or a user logging in.
Events are either <quote>attributable</quote>,
meaning that they can be traced to an authenticated user, or
<quote>non-attributable</quote> if they cannot be.
Examples of non-attributable events are any events that occur
before authentication in the login process, such as bad password
attempts.</para>
</listitem>
<listitem>
<para><emphasis>class</emphasis>: Event classes are named sets of
related events, and are used in selection expressions. Commonly
used classes of events include <quote>file creation</quote> (fc),
<quote>exec</quote> (ex) and <quote>login_logout</quote>
(lo).</para>
</listitem>
<listitem>
<para><emphasis>record</emphasis>: A record is an audit log entry
describing a security event. Records contain a record event type,
information on the subject (user) performing the action,
date and time information, information on any objects or
arguments, and a success or failure condition.</para>
</listitem>
<listitem>
<para><emphasis>trail</emphasis>: An audit trail, or log file,
consists of a series of audit records describing security
events. Typically, trails are in roughly chronological
order with respect to the time events completed. Only
authorized processes are allowed to commit records to the
audit trail.</para>
</listitem>
<listitem>
<para><emphasis>selection expression</emphasis>: A selection
expression is a string containing a list of prefixes and audit
event class names used to match events.</para>
</listitem>
<listitem>
<para><emphasis>preselection</emphasis>: The process by which the
system identifies which events are of interest to the administrator
in order to avoid generating audit records describing events that
are not of interest. The preselection configuration
uses a series of selection expressions to identify which classes
of events to audit for which users, as well as global settings
that apply to both authenticated and unauthenticated
processes.</para>
</listitem>
<listitem>
<para><emphasis>reduction</emphasis>: The process by which records
from existing audit trails are selected for preservation, printing,
or analysis. Likewise, the process by which undesired audit
records are removed from the audit trail. Using reduction,
administrators can implement policies for the preservation of audit
data. For example, detailed audit trails might be kept for one
month, but after that, trails might be reduced in order to preserve
only login information for archival purposes.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="audit-install">
<title>Installing Audit Support</title>
<para>User space support for Event Auditing is installed as part of the
base &os; operating system as of 6.2-RELEASE. However, Event Auditing
support must be explicitly compiled into the kernel by adding the
following lines to the kernel configuration file:</para>
<programlisting>options AUDIT</programlisting>
<para>Rebuild and reinstall
the kernel via the normal process explained in
<xref linkend="kernelconfig">.</para>
<para>Once the kernel is built, installed, and the system has been
rebooted, enable the audit daemon by adding the following line to
&man.rc.conf.5;:</para>
<programlisting>auditd_enable="YES"</programlisting>
<para>Audit support must then be started by a reboot, or by manually
starting the audit daemon:</para>
<programlisting>/etc/rc.d/auditd start</programlisting>
</sect1>
<sect1 id="audit-config">
<title>Audit Configuration</title>
<para>All configuration files for security audit are found in
<filename role="directory">/etc/security</filename>. The following
files must be present before the audit daemon is started:</para>
<itemizedlist>
<listitem>
<para><filename>audit_class</filename> - Contains the
definitions of the audit classes.</para>
</listitem>
<listitem>
<para><filename>audit_control</filename> - Controls aspects
of the audit subsystem, such as default audit classes,
minimum disk space to leave on the audit log volume,
maximum audit trail size, etc.</para>
</listitem>
<listitem>
<para><filename>audit_event</filename> - Textual names and
descriptions of system audit events, as well as a list of which
classes each event in in.</para>
</listitem>
<listitem>
<para><filename>audit_user</filename> - User-specific audit
requirements, which are combined with the global defaults at
login.</para>
</listitem>
<listitem>
<para><filename>audit_warn</filename> - A customizable shell script
used by auditd to generate warning messages in exceptional
situations, such as when space for audit records is running low or
when the audit trail file has been rotated.</para>
</listitem>
</itemizedlist>
<warning>
<para>Audit configuration files should be edited and maintained
carefully, as errors in configuration may result in improper
logging of events.</para>
</warning>
<sect2>
<title>Event Selection Expressions</title>
<para>Selection expressions are used in a number of places in the
audit configuration to determine which events should be audited.
Expressions contain a list of event classes to match, each with
a prefix indicating whether matching records should be accepted
or ignored, and optionally to indicate if the entry is intended
to match successful or failed operations. Selection expressions
are evaluated from left to right, and two expressions are
combined by appending one onto the other.</para>
<para>The following list contains the default audit event classes
present in <filename>audit_class</filename>:</para>
<itemizedlist>
<listitem>
<para><option>all</option> - <literal>all</literal> - Match all
event classes.</para>
</listitem>
<listitem>
<para><option>ad</option> - <literal>administrative</literal>
- Administrative actions performed on the system as a
whole.</para>
</listitem>
<listitem>
<para><option>ap</option> - <literal>application</literal> -
Application defined action.</para>
</listitem>
<listitem>
<para><option>cl</option> - <literal>file_close</literal> -
Audit calls to the <function>close</function> system
call.</para>
</listitem>
<listitem>
<para><option>ex</option> - <literal>exec</literal> - Audit
program execution. Auditing of command line arguments and
environmental variables is controlled via &man.audit.control.5;
using the <literal>argv</literal> and <literal>envv</literal>
parameters to the <literal>policy</literal> setting.</para>
</listitem>
<listitem>
<para><option>fa</option> - <literal>file_attr_acc</literal>
- Audit the access of object attributes such as
&man.stat.1;, &man.pathconf.2; and similar events.</para>
</listitem>
<listitem>
<para><option>fc</option> - <literal>file_creation</literal>
- Audit events where a file is created as a result.</para>
</listitem>
<listitem>
<para><option>fd</option> - <literal>file_deletion</literal>
- Audit events where file deletion occurs.</para>
</listitem>
<listitem>
<para><option>fm</option> - <literal>file_attr_mod</literal>
- Audit events where file attribute modification occurs,
such as &man.chown.8;, &man.chflags.1;, &man.flock.2;,
etc.</para>
</listitem>
<listitem>
<para><option>fr</option> - <literal>file_read</literal>
- Audit events in which data is read, files are opened for
reading, etc.</para>
</listitem>
<listitem>
<para><option>fw</option> - <literal>file_write</literal> -
Audit events in which data is written, files are written
or modified, etc.</para>
</listitem>
<listitem>
<para><option>io</option> - <literal>ioctl</literal> - Audit
use of the &man.ioctl.2; system call.</para>
</listitem>
<listitem>
<para><option>ip</option> - <literal>ipc</literal> - Audit
various forms of Inter-Process Communication, including POSIX
pipes and System V <acronym>IPC</acronym> operations.</para>
</listitem>
<listitem>
<para><option>lo</option> - <literal>login_logout</literal> -
Audit &man.login.1; and &man.logout.1; events occurring
on the system.</para>
</listitem>
<listitem>
<para><option>na</option> - <literal>non_attrib</literal> -
Audit non-attributable events.</para>
</listitem>
<listitem>
<para><option>no</option> - <literal>no_class</literal> -
Match no audit events.</para>
</listitem>
<listitem>
<para><option>nt</option> - <literal>network</literal> -
Audit events related to network actions, such as
&man.connect.2; and &man.accept.2;.</para>
</listitem>
<listitem>
<para><option>ot</option> - <literal>other</literal> -
Audit miscellaneous events.</para>
</listitem>
<listitem>
<para><option>pc</option> - <literal>process</literal> -
Audit process operations, such as &man.exec.3; and
&man.exit.3;.</para>
</listitem>
</itemizedlist>
<para>These audit event classes may be customized by modifying the
<filename>audit_class</filename> and
<filename>audit_event</filename> configuration files.</para>
<para>Each audit class in the list is combined with a prefix
indicating whether successful/failed operations are matched, and
whether the entry is adding or removing matching for the class
and type.</para>
<itemizedlist>
<listitem>
<para>(none) Audit both successful and failed instances of the
event.</para>
</listitem>
<listitem>
<para><literal>+</literal> Audit successful events in this
class.</para>
</listitem>
<listitem>
<para><literal>-</literal> Audit failed events in this
class.</para>
</listitem>
<listitem>
<para><literal>^</literal> Audit neither successful nor failed
events in this class.</para>
</listitem>
<listitem>
<para><literal>^+</literal> Don't audit successful events in this
class.</para>
</listitem>
<listitem>
<para><literal>^-</literal> Don't audit failed events in this
class.</para>
</listitem>
</itemizedlist>
<para>The following example selection string selects both successful
and failed login/logout events, but only successful execution
events:</para>
<programlisting>lo,+ex</programlisting>
</sect2>
<sect2>
<title>Configuration Files</title>
<para>In most cases, administrators will need to modify only two files
when configuring the audit system: <filename>audit_control</filename>
and <filename>audit_user</filename>. The first controls system-wide
audit properties and policies; the second may be used to fine-tune
auditing by user.</para>
<sect3 id="audit-auditcontrol">
<title>The <filename>audit_control</filename> File</title>
<para>The <filename>audit_control</filename> file specifies a number
of defaults for the audit subsystem. Viewing the contents of this
file, we see the following:</para>
<programlisting>dir:/var/audit
flags:lo
minfree:20
naflags:lo
policy:cnt
filesz:0</programlisting>
<para>The <option>dir</option> option is used to set one or more
directories where audit logs will be stored. If more than one
directory entry appears, they will be used in order as they fill.
It is common to configure audit so that audit logs are stored on
a dedicated file system, in order to prevent interference between
the audit subsystem and other subsystems if the file system fills.
</para>
<para>The <option>flags</option> field sets the system-wide default
preselection mask for attributable events. In the example above,
successful and failed login and logout events are audited for all
users.</para>
<para>The <option>minfree</option> option defines the minimum
percentage of free space for the file system where the audit trail
is stored. When this threshold is exceeded, a warning will be
generated. The above example sets the minimum free space to
twenty percent.</para>
<para>The <option>naflags</option> option specifies audit classes to
be audited for non-attributed events, such as the login process
and system daemons.</para>
<para>The <option>policy</option> option specifies a comma-separated
list of policy flags controlling various aspects of audit
behavior. The default <literal>cnt</literal> flag indicates that
the system should continue running despite an auditing failure
(this flag is highly recommended). Another commonly used flag is
<literal>argv</literal>, which causes command line arguments to
the &man.execve.2; system call to audited as part of command
execution.</para>
<para>The <option>filesz</option> option specifies the maximum size
in bytes to allow an audit trail file to grow to before
automatically terminating and rotating the trail file. The
default, 0, disables automatic log rotation. If the requested
file size is non-zero and below the minimum 512k, it will be
ignored and a log message will be generated.</para>
</sect3>
<sect3 id="audit-audituser">
<title>The <filename>audit_user</filename> File</title>
<para>The <filename>audit_user</filename> file permits the
administrator to specify further audit requirements for specific
users.
Each line configures auditing for a user via two fields: the
first is the <literal>alwaysaudit</literal> field, which specifies
a set of events that should always be audited for the user, and
the second is the <literal>neveraudit</literal> field, which
specifies a set of events that should never be audited for the
user.</para>
<para>The following example <filename>audit_user</filename> file
audits login/logout events and successful command execution for
the root user, and audits file creation and successful command
execution for the www user.
If used with the example <filename>audit_control</filename> file
above, the <literal>lo</literal> entry for <literal>root</literal>
is redundant, and login/logout events will also be audited for the
<literal>www</literal> user.</para>
<programlisting>root:lo,+ex:no
www:fc,+ex:no</programlisting>
</sect3>
</sect2>
</sect1>
<sect1 id="audit-administration">
<title>Administering the Audit Subsystem</title>
<sect2>
<title>Viewing Audit Trails</title>
<para>Audit trails are stored in the BSM binary format, so tools must
be used to modify or convert to text. The <command>praudit</command>
command convert trail files to a simple text format; the
<command>auditreduce</command> command may be used to reduce the
audit trail file for analysis, archiving, or printing purposes.
<command>auditreduce</command> supports a variety of selection
parameters, including event type, event class, user, date or time of
the event, and the file path or object acted on.</para>
<para>For example, the <command>praudit</command> utility will dump
the entire contents of a specified audit log in plain text:</para>
<screen>&prompt.root; <userinput>praudit /var/audit/AUDITFILE</userinput></screen>
<para>Where <replaceable>AUDITFILE</replaceable> is the audit log to
dump.</para>
<para>Audit trails consist of a series of audit records made up of
tokens, which <command>praudit</command> prints sequentially one per
line. Each token is of a specific type, such as
<literal>header</literal> holding an audit record header, or
<literal>path</literal> holding a file path from a name
lookup. The following is an example of an
<literal>execve</literal> event:</para>
<programlisting>header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
exec arg,finger,doug
path,/usr/bin/finger
attribute,555,root,wheel,90,24918,104944
subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100
return,success,0
trailer,133</programlisting>
<para>This audit represents a successful <literal>execve</literal>
call, in which the command <literal>finger doug</literal> has been run. The
arguments token contains both the processed command line presented
by the shell to the kernel. The path token holds the path to the
executable as looked up by the kernel. The attribute token
describes the binary, and in particular, includes the file mode
which can be used to determine if the application was setuid.
The subject token describes the subject process, and stores in
sequence the audit user ID, effective user ID and group ID, real
user ID and group ID, process ID, session ID, port ID, and login
address. Notice that the audit user ID and real user ID differ:
the user <literal>robert</literal> has switched to the
<literal>root</literal> account before running this command, but
it is audited using the original authenticated user. Finally, the
return token indicates the successful execution, and the trailer
concludes the record.</para>
</sect2>
<sect2>
<title>Reducing Audit Trails</title>
<para>Since audit logs may be very large, an administrator will
likely want to select a subset of records for using, such as records
associated with a specific user:</para>
<screen>&prompt.root; <userinput>auditreduce -u trhodes /var/audit/AUDITFILE | praudit</userinput></screen>
<para>This will select all audit records produced for the user
<username>trhodes</username> stored in the
<filename><replaceable>AUDITFILE</replaceable></filename> file.</para>
</sect2>
<sect2>
<title>Delegating Audit Review Rights</title>
<para>Members of the <groupname>audit</groupname> group are given
permission to read audit trails in <filename>/var/audit</filename>;
by default, this group is empty, so only the <username>root</username> user may read
audit trails. Users may be added to the <groupname>audit</groupname>
group in order to delegate audit review rights to the user. As
the ability to track audit log contents provides significant insight
into the behavior of users and processes, it is recommended that the
delegation of audit review rights be performed with caution.</para>
</sect2>
<sect2>
<title>Live Monitoring Using Audit Pipes</title>
<para>Audit pipes are cloning pseudo-devices in the device file system
which allow applications to tap the live audit record stream. This
is primarily of interest to authors of intrusion detection and
system monitoring applications. However, for the administrator the
audit pipe device is a convenient way to allow live monitoring
without running into problems with audit trail file ownership or
log rotation interrupting the event stream. To track the live audit
event stream, use the following command line</para>
<screen>&prompt.root; <userinput>praudit /dev/auditpipe</userinput></screen>
<para>By default, audit pipe device nodes are accessible only to the
<username>root</username> user. To make them accessible to the members of the
<groupname>audit</groupname> group, add a <literal>devfs</literal> rule
to <filename>devfs.rules</filename>:</para>
<programlisting>add path 'auditpipe*' mode 0440 group audit</programlisting>
<para>See &man.devfs.rules.5; for more information on configuring
the devfs file system.</para>
<warning>
<para>It is easy to produce audit event feedback cycles, in which
the viewing of each audit event results in the generation of more
audit events. For example, if all network I/O is audited, and
praudit is run from an SSH session, then a continuous stream of
audit events will be generated at a high rate, as each event
being printed will generate another event. It is advisable to run
praudit on an audit pipe device from sessions without fine-grained
I/O auditing in order to avoid this happening.</para>
</warning>
</sect2>
<sect2>
<title>Rotating Audit Trail Files</title>
<para>Audit trails are written to only by the kernel, and managed only
by the audit daemon, <application>auditd</application>. Administrators
should not attempt to use &man.newsyslog.conf.5; or other tools to
directly rotate audit logs. Instead, the <command>audit</command>
management tool may be used to shut down auditing, reconfigure the
audit system, and perform log rotation. The following command causes
the audit daemon to create a new audit log and signal the kernel to
switch to using the new log. The old log will be terminated and
renamed, at which point it may then be manipulated by the
administrator.</para>
<screen>&prompt.root; <userinput>audit -n</userinput></screen>
<warning>
<para>If the <application>auditd</application> daemon is not currently
running, this command will fail and an error message will be
produced.</para>
</warning>
<para>Adding the following line to
<filename>/etc/crontab</filename> will force the rotation
every twelve hours from &man.cron.8;:</para>
<programlisting>0 */12 * * * root /usr/sbin/audit -n</programlisting>
<para>The change will take effect once you have saved the
new <filename>/etc/crontab</filename>.</para>
<para>Automatic rotation of the audit trail file based on file size is
possible via the <option>filesz</option> option in
&man.audit.control.5;, and is described in the configuration files
section of this chapter.</para>
</sect2>
<sect2>
<title>Compressing Audit Trails</title>
<para>As audit trail files can become very large, it is often desirable
to compress or otherwise archive trails once they have been closed by
the audit daemon. The <filename>audit_warn</filename> script can be
used to perform customized operations for a variety of audit-related
events, including the clean termination of audit trails when they are
rotated. For example, the following may be added to the
<filename>audit_warn</filename> script to compress audit trails on
close:</para>
<programlisting>#
# Compress audit trail files on close.
#
if [ "$1" = closefile ]; then
gzip -9 $2
fi</programlisting>
<para>Other archiving activities might include copying trail files to
a centralized server, deleting old trail files, or reducing the audit
trail to remove unneeded records. The script will be run only when
audit trail files are cleanly terminated, so will not be run on
trails left unterminated following an improper shutdown.</para>
</sect2>
</sect1>
</chapter>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,7 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/";
root -> "A2/";
}

View file

@ -0,0 +1,8 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/" -> "B1/";
"A1/" -> "B2/";
root -> "A2/";
}

View file

@ -0,0 +1,8 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/";
root -> "A2/" -> "B1/";
"A2/" -> "B2/";
}

View file

@ -0,0 +1,9 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/";
root -> "A2/" -> "B1/" -> "C1/";
"B1/" -> "C2/";
"A2/" -> "B2/";
}

View file

@ -0,0 +1,9 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/" -> "C1/";
"A1/" -> "C2/";
root -> "A2/" -> "B1/";
"A2/" -> "B2/";
}

View file

@ -0,0 +1,657 @@
<!--
FreeBSD Greek Documentation Project
ÅëëçíéêÞ ÏìÜäá Ôåêìçñßùóçò ôïõ FreeBSD
Original revision: ??
$FreeBSD$
-->
<appendix id="bibliography">
<title>Âéâëéïãñáößá</title>
<para>Áí êáé ôá manual pages ðáñÝ÷ïõí ìßá åðßóçìç áíáöïñÜ ãéá îå÷ùñéóôÜ
ôìÞìáôá ôïõ FreeBSD ëåéôïõñãéêïý óõóôÞìáôïò, Ý÷ïõí êáêÞ öÞìç ãéá ôï üôé äåí
åðåîçãïýí ðùò íá åíþóåéò ôá ôìÞìáôá ìáæß ãéá íá êÜíåéò üëï ôï ëåéôïõñãéêü
óýóôçìá íá ëåéôïõñãåß ïìáëÜ. Ãéá áõôü, äåí õðÜñ÷åé õðïêáôÜóôáôï áðü Ýíá êáëü âéâëßï óôçí
äéá÷åßñéóç óõóôçìÜôùí &unix; êáé Ýíá êáëü åã÷åéñßäéï ÷ñÞóôç.</para>
<sect1 id="bibliography-freebsd">
<title>Âéâëßá &amp; ÐåñéïäéêÜ ó÷åôéêÜ ìå ôï FreeBSD</title>
<para><emphasis>ÄéåèíÞ âéâëßá &amp;
ðåñéïäéêÜ:</emphasis></para>
<itemizedlist>
<listitem>
<para><ulink
url="http://jdli.tw.FreeBSD.org/publication/book/freebsd2/index.htm">Using FreeBSD</ulink> (óôá ÊéíÝæéêá).</para>
</listitem>
<listitem>
<para>FreeBSD Unleashed (ÊéíÝæéêç ìåôÜöñáóç), åêäüèçêå áðü ôçí
<ulink url="http://www.hzbook.com/">China Machine
Press</ulink>. ISBN 7-111-10201-0.
</para>
</listitem>
<listitem>
<para>FreeBSD From Scratch First Edition (óôá ÊéíÝæéêá),
åêäüèçêå áðü ôçí China Machine Press. ISBN 7-111-07482-3.
</para>
</listitem>
<listitem>
<para>FreeBSD From Scratch Second Edition (óôá ÊéíÝæéêá),
åêäüèçêå áðü ôçí China Machine Press. ISBN 7-111-10286-X.
</para>
</listitem>
<listitem>
<para>FreeBSD Handbook (ÊéíÝæéêç ìåôÜöñáóç), åêäüèçêå áðü ôçí
<ulink url="http://www.ptpress.com.cn/">Posts &amp; Telecom
Press</ulink>. ISBN 7-115-10541-3.
</para>
</listitem>
<listitem>
<para>FreeBSD 3.x Internet (óôá ÊéíÝæéêá), åêäüèçêå áðü ôçí
<ulink url="http://www.tup.tsinghua.edu.cn/">Tsinghua
University Press</ulink>. ISBN 7-900625-66-6.</para>
</listitem>
<listitem>
<para>FreeBSD &amp; Windows (óôá ÊéíÝæéêá), ISBN 7-113-03845-X</para>
</listitem>
<listitem>
<para>FreeBSD Internet Services HOWTO (óôá êéíÝæéêá), ISBN 7-113-03423-3</para>
</listitem>
<listitem>
<para>FreeBSD for PC 98'ers (óôá ÃéáðùíÝæéêá), åêäüèçêå áðü ôçí SHUWA System
Co, LTD. ISBN 4-87966-468-5 C3055 P2900E.</para>
</listitem>
<listitem>
<para>FreeBSD (óôá ÃéáðùíÝæéêá), åêäüèçêå áðü ôçí CUTT. ISBN 4-906391-22-2
C3055 P2400E.</para>
</listitem>
<listitem>
<para><ulink
url="http://www.shoeisha.com/book/Detail.asp?bid=650">Complete Introduction to FreeBSD</ulink> (óôá ÃéáðùíÝæéêá), åêäüèçêå áðü ôçí <ulink url="http://www.shoeisha.co.jp/">Shoeisha Co., Ltd</ulink>. ISBN 4-88135-473-6 P3600E.</para>
</listitem>
<listitem>
<para><ulink
url="http://www.ascii.co.jp/pb/book1/shinkan/detail/1322785.html">Personal UNIX Starter Kit FreeBSD</ulink> (óôá ÃéáðùíÝæéêá), åêäüèçêå áðü ôçí <ulink url="http://www.ascii.co.jp/">ASCII</ulink>. ISBN 4-7561-1733-3 P3000E.</para>
</listitem>
<listitem>
<para>FreeBSD Handbook (ÃéáðùíÝæéêç ìåôÜöñáóç), åêäüèçêå áðü ôçí <ulink
url="http://www.ascii.co.jp/">ASCII</ulink>. ISBN 4-7561-1580-2
P3800E.</para>
</listitem>
<listitem>
<para>FreeBSD mit Methode (óôá ÃåñìáíéêÜ), åêäüèçêå áðü ôçí <ulink url="http://www.cul.de">Computer und
Literatur Verlag</ulink>/Vertrieb Hanser, 1998. ISBN 3-932311-31-0.</para>
</listitem>
<listitem>
<para><ulink
url="http://www.cul.de/freebsd.html">FreeBSD 4 - Installieren, Konfigurieren, Administrieren</ulink>
(óôá ÃåñìáíéêÜ), åêäüèçêå áðü ôçí <ulink url="http://www.cul.de">Computer und Literatur Verlag</ulink>, 2001.
ISBN 3-932311-88-4.</para>
</listitem>
<listitem>
<para><ulink
url="http://www.cul.de/freebsd.html">FreeBSD 5 - Installieren, Konfigurieren, Administrieren</ulink>
(óôá ÃåñìáíéêÜ), åêäüèçêå áðü ôçí <ulink url="http://www.cul.de">Computer und Literatur Verlag</ulink>, 2003.
ISBN 3-936546-06-1.</para>
</listitem>
<listitem>
<para><ulink url="http://www.mitp.de/vmi/mitp/detail/pWert/1343/">
FreeBSD de Luxe</ulink> (óôá ÃåñìáíéêÜ), åêäüèçêå áðü ôçí
<ulink url="http://www.mitp.de">Verlag Modere Industrie</ulink>,
2003. ISBN 3-8266-1343-0.
</para>
</listitem>
<listitem>
<para><ulink
url="http://www.pc.mycom.co.jp/FreeBSD/install-manual.html">FreeBSD Install and Utilization Manual</ulink> (óôá ÃéáðùíÝæéêá), åêäüèçêå áðü ôçí <ulink url="http://www.pc.mycom.co.jp/">Mainichi Communications Inc.</ulink>.</para>
</listitem>
<listitem>
<para>Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo
<emphasis><ulink url="http://maxwell.itb.ac.id/">
Building Internet Server with
FreeBSD</ulink></emphasis> (óôçí ÉíäïíçóéáêÞ ãëþóóá), åêäüèçêå áðü
ôçí <ulink url="http://www.elexmedia.co.id/">Elex Media Komputindo</ulink>.</para>
</listitem>
</itemizedlist>
<para><emphasis>Âéâëßá &amp; ðåñéïäéêÜ óôçí ÁããëéêÞ ãëþóóá:</emphasis></para>
<itemizedlist>
<listitem>
<para><ulink url="http://www.AbsoluteBSD.com/">Absolute
BSD: The Ultimate Guide to FreeBSD</ulink>, åêäüèçêå áðü ôçí
<ulink url="http://www.nostarch.com/">No Starch Press</ulink>, 2002.
ISBN: 1886411743</para>
</listitem>
<listitem>
<para><ulink
url="http://www.freebsdmall.com/cgi-bin/fm/bsdcomp">
The Complete FreeBSD</ulink>, åêäüèçêå áðü ôçí
<ulink url="http://www.oreilly.com/">O'Reilly</ulink>, 2003.
ISBN: 0596005164</para>
</listitem>
<listitem>
<para><ulink url="http://www.freebsd-corp-net-guide.com/">The
FreeBSD Corporate Networker's Guide</ulink>, åêäüèçêå áðü ôçí
<ulink url="http://www.awl.com/aw/">Addison-Wesley</ulink>, 2000.
ISBN: 0201704811</para>
</listitem>
<listitem>
<para><ulink url="http://andrsn.stanford.edu/FreeBSD/introbook/">
FreeBSD: An Open-Source Operating System for Your Personal
Computer</ulink>, åêäüèçêå áðü ôçí The Bit Tree Press, 2001.
ISBN: 0971204500</para>
</listitem>
<listitem>
<para>Teach Yourself FreeBSD in 24 Hours, åêäüèçêå áðü ôçí
<ulink url="http://www.samspublishing.com/">Sams</ulink>, 2002.
ISBN: 0672324245</para>
</listitem>
<listitem>
<para>FreeBSD 6 Unleashed, åêäüèçêå áðü ôçí
<ulink url="http://www.samspublishing.com/">Sams</ulink>, 2006.
ISBN: 0672328755</para>
</listitem>
<listitem>
<para>FreeBSD: The Complete Reference, åêäüèçêå áðü ôçí
<ulink url="http://books.mcgraw-hill.com">McGrawHill</ulink>, 2003.
ISBN: 0072224096 </para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-userguides">
<title>Ïäçãïß ÷ñÞóôç</title>
<itemizedlist>
<listitem>
<para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
User's Reference Manual</emphasis>. O'Reilly &amp; Associates,
Inc., 1994. ISBN 1-56592-075-9</para>
</listitem>
<listitem>
<para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
User's Supplementary Documents</emphasis>. O'Reilly &amp;
Associates, Inc., 1994. ISBN 1-56592-076-7</para>
</listitem>
<listitem>
<para><emphasis>UNIX in a Nutshell</emphasis>. O'Reilly &amp;
Associates, Inc., 1990. ISBN 093717520X</para>
</listitem>
<listitem>
<para>Mui, Linda. <emphasis>What You Need To Know When You Can't Find
Your UNIX System Administrator</emphasis>. O'Reilly &amp;
Associates, Inc., 1995. ISBN 1-56592-104-6</para>
</listitem>
<listitem>
<para>Ôï <ulink url="http://www-wks.acs.ohio-state.edu/">Ohio State
University</ulink> Ýãñáøå <ulink
url="http://www-wks.acs.ohio-state.edu/unix_course/unix.html">ÅéóáãùãéêÜ ìáèÞìáôá UNIX
</ulink> ðïõ äéáôßèåíôáé óå HTML êáé óå ìïñöÞ
PostScript.</para>
<para>Ìéá ÉôáëéêÞ <ulink
url="&url.doc.base;/it_IT.ISO8859-15/books/unix-introduction/index.html">ìåôÜöñáóç</ulink>
áõôïý ôïõ êåéìÝíïõ äéáôßèåôáé ùò ìÝñïò ôïõ FreeBSD Italian
Documentation Project.</para>
</listitem>
<listitem>
<para><ulink url="http://www.jp.FreeBSD.org/">Jpman Project, Japan
FreeBSD Users Group</ulink>. <ulink
url="http://www.pc.mycom.co.jp/FreeBSD/urm.html">FreeBSD User's
Reference Manual</ulink> (Japanese translation). <ulink
url="http://www.pc.mycom.co.jp/">Mainichi Communications
Inc.</ulink>, 1998. ISBN4-8399-0088-4 P3800E.</para>
</listitem>
<listitem>
<para>Ôï <ulink url="http://www.ed.ac.uk/">Edinburgh
University</ulink> Ýãñáøå Ýíá <ulink
url="http://unixhelp.ed.ac.uk/">Online ïäçãü</ulink> ãéá
íÝïõò óôï ðåñéâÜëëïí ôïõ UNIX.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-adminguides">
<title>Ïäçãïß äéá÷åéñéóôÞ</title>
<itemizedlist>
<listitem>
<para>Albitz, Paul and Liu, Cricket. <emphasis>DNS and
BIND</emphasis>, 4th Ed. O'Reilly &amp; Associates, Inc., 2001.
ISBN 1-59600-158-4</para>
</listitem>
<listitem>
<para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
System Manager's Manual</emphasis>. O'Reilly &amp; Associates,
Inc., 1994. ISBN 1-56592-080-5</para>
</listitem>
<listitem>
<para>Costales, Brian, et al. <emphasis>Sendmail</emphasis>, 2nd Ed.
O'Reilly &amp; Associates, Inc., 1997. ISBN 1-56592-222-0</para>
</listitem>
<listitem>
<para>Frisch, &AElig;leen. <emphasis>Essential System
Administration</emphasis>, 2nd Ed. O'Reilly &amp; Associates,
Inc., 1995. ISBN 1-56592-127-5</para>
</listitem>
<listitem>
<para>Hunt, Craig. <emphasis>TCP/IP Network
Administration</emphasis>, 2nd Ed. O'Reilly &amp; Associates, Inc., 1997.
ISBN 1-56592-322-7</para>
</listitem>
<listitem>
<para>Nemeth, Evi. <emphasis>UNIX System Administration
Handbook</emphasis>. 3rd Ed. Prentice Hall, 2000. ISBN
0-13-020601-6</para>
</listitem>
<listitem>
<para>Stern, Hal <emphasis>Managing NFS and NIS</emphasis> O'Reilly
&amp; Associates, Inc., 1991. ISBN 0-937175-75-7</para>
</listitem>
<listitem>
<para><ulink url="http://www.jp.FreeBSD.org/">Jpman Project, Japan
FreeBSD Users Group</ulink>. <ulink
url="http://www.pc.mycom.co.jp/FreeBSD/sam.html">FreeBSD System
Administrator's Manual</ulink> (ÃéáðùíÝæéêç ìåôÜöñáóç). <ulink
url="http://www.pc.mycom.co.jp/">Mainichi Communications
Inc.</ulink>, 1998. ISBN4-8399-0109-0 P3300E.</para>
</listitem>
<listitem>
<para>Dreyfus, Emmanuel. <ulink
url="http://www.eyrolles.com/Informatique/Livre/9782212114638/">Cahiers
de l'Admin: BSD</ulink> 2nd Ed. (óôá ÃáëëéêÜ), Eyrolles, 2004.
ISBN 2-212-11463-X</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-programmers">
<title>Ïäçãïß ðñïãñáììáôéóôþí</title>
<itemizedlist>
<listitem>
<para>Asente, Paul, Converse, Diana, and Swick, Ralph.
<emphasis>X Window System Toolkit</emphasis>. Digital Press,
1998. ISBN 1-55558-178-1</para>
</listitem>
<listitem>
<para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
Programmer's Reference Manual</emphasis>. O'Reilly &amp;
Associates, Inc., 1994. ISBN 1-56592-078-3</para>
</listitem>
<listitem>
<para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD
Programmer's Supplementary Documents</emphasis>. O'Reilly &amp;
Associates, Inc., 1994. ISBN 1-56592-079-1</para>
</listitem>
<listitem>
<para>Harbison, Samuel P. and Steele, Guy L. Jr. <emphasis>C: A
Reference Manual</emphasis>. 4th ed. Prentice Hall, 1995.
ISBN 0-13-326224-3</para>
</listitem>
<listitem>
<para>Kernighan, Brian and Dennis M. Ritchie. <emphasis>The C
Programming Language</emphasis>. 2nd Ed. PTR Prentice Hall, 1988.
ISBN 0-13-110362-8</para>
</listitem>
<listitem>
<para>Lehey, Greg. <emphasis>Porting UNIX Software</emphasis>.
O'Reilly &amp; Associates, Inc., 1995. ISBN 1-56592-126-7</para>
</listitem>
<listitem>
<para>Plauger, P. J. <emphasis>The Standard C Library</emphasis>.
Prentice Hall, 1992. ISBN 0-13-131509-9</para>
</listitem>
<listitem>
<para>Spinellis, Diomidis. <ulink
url="http://www.spinellis.gr/codereading/"><emphasis>Code
Reading: The Open Source Perspective</emphasis></ulink>.
Addison-Wesley, 2003. ISBN 0-201-79940-5</para>
</listitem>
<listitem>
<para>Spinellis, Diomidis. <ulink
url="http://www.spinellis.gr/codequality/"><emphasis>Code
Quality: The Open Source Perspective</emphasis></ulink>.
Addison-Wesley, 2006. ISBN 0-321-16607-8</para>
</listitem>
<listitem>
<para>Stevens, W. Richard and Stephen A. Rago.
<emphasis>Advanced Programming in the UNIX
Environment</emphasis>. 2nd Ed.
Reading, Mass. : Addison-Wesley, 2005.
ISBN 0-201-43307-9</para>
</listitem>
<listitem>
<para>Stevens, W. Richard. <emphasis>UNIX Network
Programming</emphasis>. 2nd Ed, PTR Prentice Hall, 1998. ISBN
0-13-490012-X</para>
</listitem>
<listitem>
<para>Wells, Bill. <quote>Writing Serial Drivers for UNIX</quote>.
<emphasis>Dr. Dobb's Journal</emphasis>. 19(15), December 1994.
pp68-71, 97-99.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-osinternals">
<title>Ôï åóùôåñéêü ôïõ ëåéôïõñãéêïý óõóôÞìáôïò</title>
<itemizedlist>
<listitem>
<para>Andleigh, Prabhat K. <emphasis>UNIX System
Architecture</emphasis>. Prentice-Hall, Inc., 1990. ISBN
0-13-949843-5</para>
</listitem>
<listitem>
<para>Jolitz, William. <quote>Porting UNIX to the 386</quote>.
<emphasis>Dr. Dobb's Journal</emphasis>. January 1991-July
1992.</para>
</listitem>
<listitem>
<para>Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and
John Quarterman <emphasis>The Design and Implementation of the
4.3BSD UNIX Operating System</emphasis>. Reading, Mass. :
Addison-Wesley, 1989. ISBN 0-201-06196-1</para>
</listitem>
<listitem>
<para>Leffler, Samuel J., Marshall Kirk McKusick, <emphasis>The Design
and Implementation of the 4.3BSD UNIX Operating System: Answer
Book</emphasis>. Reading, Mass. : Addison-Wesley, 1991. ISBN
0-201-54629-9</para>
</listitem>
<listitem>
<para>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and
John Quarterman. <emphasis>The Design and Implementation of the
4.4BSD Operating System</emphasis>. Reading, Mass. :
Addison-Wesley, 1996. ISBN 0-201-54979-4</para>
<para>(Ôï êåöÜëáéï 2 áðü áõôü ôï âéâëßï äéáôßèåôáé <ulink
url="&url.books.design-44bsd;/book.html">online</ulink> ùò ìÝñïò ôïõ
FreeBSD Documentation Project, êáé ôï êåöÜëáéï 9 <ulink
url="http://www.netapp.com/tech_library/nfsbook.html">
åêåß</ulink>.)</para>
</listitem>
<listitem>
<para>Marshall Kirk McKusick, George V. Neville-Neil <emphasis>The Design
and Implementation of the FreeBSD Operating System</emphasis>.
Boston, Mass. : Addison-Wesley, 2004. ISBN 0-201-70245-2</para>
</listitem>
<listitem>
<para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 1:
The Protocols</emphasis>. Reading, Mass. : Addison-Wesley,
1996. ISBN 0-201-63346-9</para>
</listitem>
<listitem>
<para>Schimmel, Curt. <emphasis>Unix Systems for Modern
Architectures</emphasis>. Reading, Mass. : Addison-Wesley, 1994.
ISBN 0-201-63338-8</para>
</listitem>
<listitem>
<para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 3:
TCP for Transactions, HTTP, NNTP and the UNIX Domain
Protocols</emphasis>. Reading, Mass. : Addison-Wesley, 1996.
ISBN 0-201-63495-3</para>
</listitem>
<listitem>
<para>Vahalia, Uresh. <emphasis>UNIX Internals -- The New
Frontiers</emphasis>. Prentice Hall, 1996. ISBN
0-13-101908-2</para>
</listitem>
<listitem>
<para>Wright, Gary R. and W. Richard Stevens. <emphasis>TCP/IP
Illustrated, Volume 2: The Implementation</emphasis>. Reading,
Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-security">
<title>ÁíáöïñÝò áóöáëåßáò</title>
<itemizedlist>
<listitem>
<para>Cheswick, William R. and Steven M. Bellovin. <emphasis>Firewalls
and Internet Security: Repelling the Wily Hacker</emphasis>.
Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-63357-4</para>
</listitem>
<listitem>
<para>Garfinkel, Simson and Gene Spafford.
<emphasis>Practical UNIX &amp; Internet Security</emphasis>.
2nd Ed. O'Reilly &amp; Associates, Inc., 1996. ISBN
1-56592-148-8</para>
</listitem>
<listitem>
<para>Garfinkel, Simson. <emphasis>PGP Pretty Good
Privacy</emphasis> O'Reilly &amp; Associates, Inc., 1995. ISBN
1-56592-098-8</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-hardware">
<title>ÁíáöïñÝò õëéêïý</title>
<itemizedlist>
<listitem>
<para>Anderson, Don and Tom Shanley. <emphasis>Pentium Processor
System Architecture</emphasis>. 2nd Ed. Reading, Mass. :
Addison-Wesley, 1995. ISBN 0-201-40992-5</para>
</listitem>
<listitem>
<para>Ferraro, Richard F. <emphasis>Programmer's Guide to the EGA,
VGA, and Super VGA Cards</emphasis>. 3rd ed. Reading, Mass. :
Addison-Wesley, 1995. ISBN 0-201-62490-7</para>
</listitem>
<listitem>
<para>Ç Intel Corporation äçìïóéåýåé ôåêìçñßùóç ãéá ôéò CPUs,
ôá chipsets êáé ðñüôõðá óôï <ulink
url="http://developer.intel.com/">developer web site</ulink>,
óõíÞèùò ùò áñ÷åßá PDF.</para>
</listitem>
<listitem>
<para>Shanley, Tom. <emphasis>80486 System Architecture</emphasis>.
3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-40994-1</para>
</listitem>
<listitem>
<para>Shanley, Tom. <emphasis>ISA System Architecture</emphasis>.
3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN
0-201-40996-8</para>
</listitem>
<listitem>
<para>Shanley, Tom. <emphasis>PCI System Architecture</emphasis>.
4th ed. Reading, Mass. : Addison-Wesley, 1999. ISBN
0-201-30974-2</para>
</listitem>
<listitem>
<para>Van Gilluwe, Frank. <emphasis>The Undocumented PC</emphasis>, 2nd Ed.
Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN
0-201-47950-8</para>
</listitem>
<listitem>
<para>Messmer, Hans-Peter. <emphasis>The Indispensable PC Hardware Book</emphasis>, 4th Ed.
Reading, Mass: Addison-Wesley Pub. Co., 2002. ISBN
0-201-59616-4</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-history">
<title>Éóôïñßá ôïõ &unix;</title>
<itemizedlist>
<listitem>
<para>Lion, John <emphasis>Lion's Commentary on UNIX, 6th Ed. With
Source Code</emphasis>. ITP Media Group, 1996. ISBN
1573980137</para>
</listitem>
<listitem>
<para>Raymond, Eric S. <emphasis>The New Hacker's Dictionary, 3rd
edition</emphasis>. MIT Press, 1996. ISBN
0-262-68092-0. Ãíùóôü êáé ùò ôï <ulink
url="http://www.catb.org/~esr/jargon/html/index.html">Jargon
File</ulink></para>
</listitem>
<listitem>
<para>Salus, Peter H. <emphasis>A quarter century of UNIX</emphasis>.
Addison-Wesley Publishing Company, Inc., 1994. ISBN
0-201-54777-5</para>
</listitem>
<listitem>
<para>Simon Garfinkel, Daniel Weise, Steven Strassmann. <emphasis>The
UNIX-HATERS Handbook</emphasis>. IDG Books Worldwide, Inc.,
1994. ISBN 1-56884-203-1. Åêôüò êõêëïöïñßáò, áëëÜ äéáôßèåôáé <ulink
url="http://research.microsoft.com/~daniel/unix-haters.html">
online</ulink>.</para>
</listitem>
<listitem>
<para>Don Libes, Sandy Ressler <emphasis>Life with UNIX</emphasis>
&mdash; special edition. Prentice-Hall, Inc., 1989. ISBN
0-13-536657-7</para>
</listitem>
<listitem>
<para><emphasis>The BSD family tree</emphasis>.
<ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/share/misc/bsd-family-tree"></ulink>
ç ôï <ulink type="html" url="file://localhost/usr/share/misc/bsd-family-tree"><filename>/usr/share/misc/bsd-family-tree</filename></ulink>
óå Ýíá FreeBSD ìç÷Üíçìá.</para>
</listitem>
<listitem>
<para><emphasis>The BSD Release Announcements collection</emphasis>.
1997. <ulink url="http://www.de.FreeBSD.org/de/ftp/releases/"></ulink></para>
</listitem>
<listitem>
<para><emphasis>Networked Computer Science Technical Reports
Library</emphasis>. <ulink url="http://www.ncstrl.org/"></ulink></para>
</listitem>
<listitem>
<para><emphasis>ÐáëáéÝò BSD åêäüóåéò áðü ôï Computer Systems Research
group (CSRG)</emphasis>.
<ulink url="http://www.mckusick.com/csrg/"></ulink>:
Ôï 4CD set Ý÷åé üëåò ôéò BSD åêäüóåéò áðü ôçí 1BSD ìÝ÷ñé ôçí 4.4BSD êáé ôçí
4.4BSD-Lite2 (áëëÜ ü÷é ôçí 2.11BSD, äõóôõ÷þò). Ôï ôåëåõôáßï
äéóêÜêé ðåñéÝ÷åé åðßóçò ôïí ôåëéêü ðçãáßï êþäéêá óõí ôá áñ÷åßá SCCS.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="bibliography-journals">
<title>ÐåñéïäéêÜ êáé åöçìåñßäåò</title>
<itemizedlist>
<listitem>
<para><emphasis>The C/C++ Users Journal</emphasis>. R&amp;D
Publications Inc. ISSN 1075-2838</para>
</listitem>
<listitem>
<para><emphasis>Sys Admin &mdash; The Journal for UNIX System
Administrators</emphasis> Miller Freeman, Inc., ISSN
1061-2688</para>
</listitem>
<listitem>
<para><emphasis>freeX &mdash; Das Magazin f&uuml;r Linux - BSD - UNIX</emphasis>
(óôá ÃåñìáíéêÜ) Computer- und Literaturverlag GmbH, ISSN 1436-7033</para>
</listitem>
</itemizedlist>
</sect1>
</appendix>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../appendix.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "appendix")
End:
-->

View file

@ -0,0 +1,365 @@
<!--
Ομάδα Τεκμηρίωσης του FreeBSD
Original version: 1.171
$FreeBSD$
-->
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % books.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Books Entity Set//EL">
%books.ent;
<!ENTITY % chapters SYSTEM "chapters.ent">
%chapters;
<!ENTITY % txtfiles SYSTEM "txtfiles.ent">
%txtfiles;
<!ENTITY % not.published "INCLUDE">
<!ENTITY % chap.introduction "IGNORE">
<!ENTITY % chap.install "IGNORE">
<!ENTITY % chap.basics "IGNORE">
<!ENTITY % chap.ports "IGNORE">
<!ENTITY % chap.config "IGNORE">
<!ENTITY % chap.boot "IGNORE">
<!ENTITY % chap.users "IGNORE">
<!ENTITY % chap.kernelconfig "IGNORE">
<!ENTITY % chap.security "IGNORE">
<!ENTITY % chap.jails "IGNORE">
<!ENTITY % chap.printing "IGNORE">
<!ENTITY % chap.disks "IGNORE">
<!ENTITY % chap.geom "IGNORE">
<!ENTITY % chap.vinum "IGNORE">
<!ENTITY % chap.x11 "IGNORE">
<!ENTITY % chap.l10n "IGNORE">
<!ENTITY % chap.multimedia "IGNORE">
<!ENTITY % chap.desktop "IGNORE">
<!ENTITY % chap.serialcomms "IGNORE">
<!ENTITY % chap.ppp-and-slip "IGNORE">
<!ENTITY % chap.advanced-networking "IGNORE">
<!ENTITY % chap.firewalls "IGNORE">
<!ENTITY % chap.network-servers "IGNORE">
<!ENTITY % chap.mail "IGNORE">
<!ENTITY % chap.cutting-edge "IGNORE">
<!ENTITY % chap.linuxemu "IGNORE">
<!ENTITY % chap.mirrors "IGNORE">
<!ENTITY % chap.bibliography "IGNORE">
<!ENTITY % chap.eresources "IGNORE">
<!ENTITY % chap.pgpkeys "IGNORE">
<!ENTITY % chap.index "IGNORE">
<!ENTITY % chap.freebsd-glossary "IGNORE">
<!ENTITY % chap.mac "IGNORE">
<!ENTITY % chap.audit "IGNORE">
<!ENTITY % pgpkeys SYSTEM "../../../share/pgpkeys/pgpkeys.ent"> %pgpkeys;
]>
<book>
<bookinfo>
<title>Εγχειρίδιο του FreeBSD</title>
<corpauthor>Ομάδα Τεκμηρίωσης του FreeBSD</corpauthor>
<pubdate>Φεβρουάριος 1999</pubdate>
<copyright>
<year>1995</year>
<year>1996</year>
<year>1997</year>
<year>1998</year>
<year>1999</year>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<year>2007</year>
<holder>Ομάδα Τεκμηρίωσης του FreeBSD</holder>
</copyright>
&bookinfo.legalnotice;
<legalnotice id="trademarks" role="trademarks">
&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;
</legalnotice>
<abstract>
<para>Καλώς ήρθατε στο FreeBSD! Αυτό το εγχειρίδιο καλύπτει την
εγκατάσταση και την καθημερινή χρήση του <emphasis>FreeBSD
&rel2.current;-RELEASE</emphasis> και του <emphasis>FreeBSD
&rel.current;-RELEASE</emphasis>. Το βιβλίο αυτό είναι
<emphasis>μόνιμα υπό βελτίωση και ανάπτυξη</emphasis> και
αποτελεί το αποτέλεσμα της δουλειάς πολλών ατόμων, οπότε κάποια
τμήματα μπορεί να περιέχουν σχετικά ξεπερασμένες πληροφορίες και
να χρειάζονται ανανέωση. Αν ενδιαφέρεστε να μας βοηθήσετε σε
αυτό το έργο, επικοινωνήστε μαζί μας μέσω της διεύθυνσης
&a.doc;. Η τελευταία έκδοση αυτού του κειμένου είναι πάντα
διαθέσιμη από την
<ulink url="http://www.FreeBSD.org/">ιστοσελίδα του &os;</ulink>
(παλιότερες εκδόσεις μπορείτε να βρείτε στη διεύθυνση
<ulink url="http://docs.FreeBSD.org/doc/"></ulink>). Μπορείτε
επίσης να μεταφορτώσετε στον υπολογιστή σας το ίδιο βιβλίο σε
άλλες μορφές αρχείου και με διάφορες μορφές συμπίεσης από
τον <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">εξυπηρετητή
FTP του &os;</ulink> ή ένα από τα
πολλά <link linkend="mirrors-ftp">mirror sites</link>. Αν είναι
προτιμότερη μια τυπωμένη μορφή, μπορείτε να αγοράσετε ένα
αντίγραφο του Εγχειριδίου, από το
<ulink url="http://www.freebsdmall.com/">FreeBSD Mall</ulink>.
Μπορείτε επίσης
να <ulink url="&url.base;/search/index.html">ψάξετε σε όλο το
βιβλίο</ulink>.</para>
</abstract>
</bookinfo>
&chap.preface;
<part id="getting-started">
<title>Ξεκινώντας με το FreeBSD</title>
<partintro>
<para>Αυτό το μέρος του Εγχειριδίου του &os; είναι για τους χρήστες και
τους διαχειριστές συστημάτων που δεν έχουν ήδη μεγάλη εμπειρία με το
&os;. Τα κεφάλαια που ακολουθούν:</para>
<itemizedlist>
<listitem>
<para>Είναι εισαγωγικά για το &os;</para>
</listitem>
<listitem>
<para>Σας καθοδηγούν κατά τη διάρκεια της διαδικασίας εγκατάστασης</para>
</listitem>
<listitem>
<para>Σας εισάγουν στις βασικές έννοιες του &unix;</para>
</listitem>
<listitem>
<para>Περιγράφουν τη διαδικασία εγκατάστασης της πληθώρας εφαρμογών
που είναι διαθέσιμες στο &os;</para>
</listitem>
<listitem>
<para>Σας εισάγουν στο γραφικό περιβάλλον του &unix;, το σύστημα Χ,
και σας καθοδηγούν σχετικά με τις αρχικές ρυθμίσεις ενός γραφικού
περιβάλλοντος εργασίας, με το οποίο μπορείτε να είστε ακόμα πιο
παραγωγικοί</para>
</listitem>
</itemizedlist>
<para>Σε αυτό το τμήμα του βιβλίου, έχουμε προσπαθήσει να μειώσουμε
στο ελάχιστο τις αναφορές σε τμήματα ή κεφάλαια του Εγχειριδίου
τα οποία δεν έχετε ήδη διαβάσει. Αυτό αποσκοπεί στο να γίνει
πιο εύκολη η ανάγνωση του τμήματος αυτού του Εγχειριδίου από την
αρχή μέχρι και το τέλος, χωρίς να απαιτείται να ψάχνετε συνεχώς
τα επόμενα ή προηγούμενα τμήματα.</para>
</partintro>
<![ %chap.introduction; [ &chap.introduction; ]]>
<![ %chap.install; [ &chap.install; ]]>
<![ %chap.basics; [ &chap.basics; ]]>
<![ %chap.ports; [ &chap.ports; ]]>
<![ %chap.x11; [ &chap.x11; ]]>
</part>
<part id="common-tasks">
<title>Βασικές Εργασίες</title>
<partintro>
<para>Τώρα που έχουμε καλύψει πλέον τα βασικά θέματα, αυτό το
τμήμα του Εγχειριδίου του &os; περιγράφει τις πιο βασικές εργασίες
και τα πιο δημοφιλή χαρακτηριστικά του &os;. Τα κεφάλαια αυτού του
τμήματος:</para>
<itemizedlist>
<listitem>
<para>Παρουσιάζουν τις πιο δημοφιλείς και χρήσιμες εφαρμογές
και περιβάλλοντα εργασίας: φυλλομετρητές (browsers), γραφικά
περιβάλλοντα εργασίας, εργαλεία προβολής διαφόρων μορφών
αρχείων, κλπ.</para>
</listitem>
<listitem>
<para>Παρουσιάζουν ορισμένα από τα εργαλεία πολυμέσων
(multimedia) που είναι διαθέσιμα για το &os;</para>
</listitem>
<listitem>
<para>Εξηγούν τη διαδικασία μεταγλώττισης και εγκατάστασης
ενός προσαρμοσμένου πυρήνα για το &os;, έτσι ώστε να
ενεργοποιηθούν έξτρα χαρακτηριστικά για το σύστημά
σας.</para>
</listitem>
<listitem>
<para>Περιγράφουν σε βάθος το σύστημα εκτυπώσεων, τόσο για
εκτυπωτές που είναι απευθείας συνδεδεμένοι με το σταθμό
εργασίας σας, όσο και για δικτυακούς εκτυπωτές.</para>
</listitem>
<listitem>
<para>Περιγράφουν πώς μπορείτε να τρέξετε εφαρμογές Linux στο
&os; σύστημά σας.</para>
</listitem>
</itemizedlist>
<para>Μερικά από αυτά τα κεφάλαια απαιτούν να έχετε μελετήσει πιο
πριν κάποιο άλλο κεφάλαιο. Όπου είναι απαραίτητο κάτι τέτοιο,
αναφέρεται στη σύνοψη του κάθε κεφαλαίου.</para>
</partintro>
<![ %chap.desktop; [ &chap.desktop; ]]>
<![ %chap.multimedia; [ &chap.multimedia; ]]>
<![ %chap.kernelconfig; [ &chap.kernelconfig; ]]>
<![ %chap.printing; [ &chap.printing; ]]>
<![ %chap.linuxemu; [ &chap.linuxemu; ]]>
</part>
<part id="system-administration">
<title>Διαχείριση Συστήματος</title>
<partintro>
<para>Τα κεφάλαια του &os; Handbook που ακολουθούν αναφέρονται σε θέματα
που έχουν σχέση με τη <emphasis>διαχείριση</emphasis> του συστήματος.
Κάθε κεφάλαιο ξεκινά περιγράφοντας τι θα μάθετε διαβάζοντας
το συγκεκριμένο κεφάλαιο, καθώς και τι προαπαιτούμενα έχει το κεφάλαιο
αυτό: τι πρέπει να έχετε ήδη διαβάσει και κατανοήσει πριν ασχοληθείτε
με αυτό το κεφάλαιο.</para>
<para>Αυτά τα κεφάλαια έχουν σχεδιαστεί περισσότερο ως οδηγός αναφοράς
παρά ως εισαγωγικό κείμενο. Γι αυτό είναι πιο χρήσιμα ως οδηγοί στους
οποίους μπορείτε να ανατρέξετε όταν χρειάζεστε κάποια πληροφορία για
το &os;. Δε χρειάζεται να τα διαβάσετε με κάποια συγκεκριμένη σειρά,
ούτε χρειάζετε να τα έχετε διαβάσει όλα πριν αρχίσετε να ασχολείστε με
το &os;.</para>
</partintro>
<![ %chap.config; [ &chap.config; ]]>
<![ %chap.boot; [ &chap.boot; ]]>
<![ %chap.users; [ &chap.users; ]]>
<![ %chap.security; [ &chap.security; ]]>
<![ %chap.jails; [ &chap.jails; ]]>
<![ %chap.mac; [ &chap.mac; ]]>
<![ %chap.audit; [ &chap.audit; ]]>
<![ %chap.disks; [ &chap.disks; ]]>
<![ %chap.geom; [ &chap.geom; ]]>
<![ %chap.vinum; [ &chap.vinum; ]]>
<![ %chap.virtualization; [ &chap.virtualization; ]]>
<![ %chap.l10n; [ &chap.l10n; ]]>
<![ %chap.cutting-edge; [ &chap.cutting-edge; ]]>
</part>
<part id="network-communication">
<title>Δικτυακές Επικοινωνίες</title>
<partintro>
<para>Το &os; είναι ένα από τα πιο ευρέως διαδεδομένα λειτουργικά
συστήματα για υψηλής απόδοσης δικτυακές εφαρμοφές και εξυπηρετητές.
Τα κεφάλαια σε αυτό το τμήμα περιγράφουν:</para>
<itemizedlist>
<listitem>
<para>Τις επικοινωνίες με σειραϊκή σύνδεση (serial)</para>
</listitem>
<listitem>
<para>Τα πρωτόκολα PPP και PPP πάνω από Ethernet</para>
</listitem>
<listitem>
<para>Την Ηλεκτρονική Αλληλογραφία</para>
</listitem>
<listitem>
<para>Την Εγκατάσταση Δικτυακών Υπηρεσιών</para>
</listitem>
<listitem>
<para>Τη Ρύθμιση και Λειτουργία των Firewalls</para>
</listitem>
<listitem>
<para>Άλλα Προχωρημένα Θέματα Δικτύων</para>
</listitem>
</itemizedlist>
<para>Αυτά τα κεφάλαια έχουν σχεδιαστεί περισσότερο ως οδηγός αναφοράς
παρά ως εισαγωγικό κείμενο. Γι αυτό είναι πιο χρήσιμα ως οδηγοί στους
οποίους μπορείτε να ανατρέξετε όταν χρειάζεστε κάποια πληροφορία για
το &os;. Δε χρειάζεται να τα διαβάσετε με κάποια συγκεκριμένη σειρά,
ούτε χρειάζετε να τα έχετε διαβάσει όλα πριν αρχίσετε να ασχολείστε με
το &os;.</para>
</partintro>
<![ %chap.serialcomms; [ &chap.serialcomms; ]]>
<![ %chap.ppp-and-slip; [ &chap.ppp-and-slip; ]]>
<![ %chap.mail; [ &chap.mail; ]]>
<![ %chap.network-servers; [ &chap.network-servers; ]]>
<![ %chap.firewalls; [ &chap.firewalls; ]]>
<![ %chap.advanced-networking; [ &chap.advanced-networking; ]]>
</part>
<part id="appendices">
<title>Παραρτήματα</title>
<![ %chap.mirrors; [ &chap.mirrors; ]]>
<![ %chap.bibliography; [ &chap.bibliography; ]]>
<![ %chap.eresources; [ &chap.eresources; ]]>
<![ %chap.pgpkeys; [ &chap.pgpkeys; ]]>
</part>
<![ %chap.freebsd-glossary; [ &bookinfo.freebsd-glossary; ]]>
<![ %chap.index; [ &chap.index; ]]>
&chap.colophon;
</book>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
End:
-->

View file

@ -0,0 +1,825 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="boot">
<title>Ç Äéáäéêáóßá Åêêßíçóçò ôïõ &os;</title>
<sect1 id="boot-synopsis">
<title>Óýíïøç</title>
<indexterm><primary>åêêßíçóç</primary></indexterm>
<indexterm><primary>åêêßíçóç óõóôÞìáôïò</primary></indexterm>
<indexterm><primary>booting</primary></indexterm>
<indexterm><primary>bootstrap</primary></indexterm>
<para>Ç äéáäéêáóßá ôçò åêêßíçóçò åíüò õðïëïãéóôÞ êáé öüñôùóçò ôïõ
ëåéôïõñãéêïý óõóôÞìáôïò áíáöÝñåôáé ùò <quote>äéáäéêáóßá
bootstrap</quote>, Þ áðëþò <quote>booting</quote>. Ç äéáäéêáóßá åêêßíçóçò
ôïõ FreeBSD ðáñÝ÷åé ìåãÜëç åõåëéîßá ðñïóáñìïãÞò ôçò äéáäéêáóßáò åêêßíçóçò,
åðéôñÝðïíôáò óáò íá åðéëÝîåôå åßôå äéáöïñåôéêÜ ëåéôïõñãéêÜ óõóôÞìáôá ðïõ
åßíáé åãêáôåóôçìÝíá óôïí ßäéï õðïëïãéóôÞ, Þ áêüìá êáé äéáöïñåôéêÝò
åêäüóåéò ôïõ ßäéïõ ëåéôïõñãéêïý óõóôÞìáôüò Þ ôïõ åãêáôåóôçìÝíïõ
ðõñÞíá.</para>
<para>Ôï êåöÜëáéï áõôü ðåñéãñÜöåé ëåðôïìåñþò ôéò åðéëïãÝò ñõèìßóåùí ðïõ
ìðïñåßôå íá êÜíåôå êáé ðùò íá öÝñåôå óôá ìÝôñá óáò ôç äéáäéêáóßá åêêßíçóçò
ôïõ &os;. ÁõôÞ ðåñéëáìâÜíåé ïôéäÞðïôå óõìâáßíåé áðü ôçí åêêßíçóç ôïõ
ðõñÞíá ôïõ &os;, ôçí áíß÷íåõóç ôùí óõóêåõþí, ìÝ÷ñé êáé ôçí åêêßíçóç
ôçò &man.init.8;. Áí äåí åßóôå áðüëõôá óßãïõñïò ãéá ôï ðüôå óõìâáßíåé
áõôü, ãßíåôáé üôáí ôï ÷ñþìá ôïõ êåéìÝíïõ áëëÜîåé áðü öùôåéíü ëåõêü óå
ãêñé.</para>
<para>Áöïý äéáâÜóåôå áõôü ôï êåöÜëáéï, èá îÝñåôå:</para>
<itemizedlist>
<listitem>
<para>ÐïéÜ åßíáé ôá ôìÞìáôá ôïõ óõóôÞìáôïò åêêßíçóçò ôïõ &os;, êáé
ðùò áëëçëåðéäñïýí ìåôáîý ôïõò.</para>
</listitem>
<listitem>
<para>Ôéò åðéëïãÝò ðïõ ìðïñåßôå íá äþóåôå óôá ôìÞìáôá ôçò åêêßíçóçò
ôïõ &os; ãéá íá åëÝãîåôå ôç äéáäéêáóßá åêêßíçóçò.</para>
</listitem>
<listitem>
<para>Ôá âáóéêÜ ôïõ &man.device.hints.5;.</para>
</listitem>
</itemizedlist>
<note>
<title>Ìüíï ãéá õðïëïãéóôÝò áñ÷éôåêôïíéêÞò x86</title>
<para>Ôï êåöÜëáéï áõôü ðåñéãñÜöåé ôç äéáäéêáóßá åêêßíçóçò ôïõ &os; ìüíï óå
óõóôÞìáôá áñ÷éôåêôïíéêÞò Intel x86.</para>
</note>
</sect1>
<sect1 id="boot-introduction">
<title>The Booting Problem</title>
<para>Turning on a computer and starting the operating system poses an
interesting dilemma. By definition, the computer does not know how to
do anything until the operating system is started. This includes
running programs from the disk. So if the computer can not run a
program from the disk without the operating system, and the operating
system programs are on the disk, how is the operating system
started?</para>
<para>This problem parallels one in the book <citetitle>The Adventures of
Baron Munchausen</citetitle>. A character had fallen part way down a
manhole, and pulled himself out by grabbing his bootstraps, and
lifting. In the early days of computing the term
<firstterm>bootstrap</firstterm> was applied to the mechanism used to
load the operating system, which has become shortened to
<quote>booting</quote>.</para>
<indexterm><primary>BIOS</primary></indexterm>
<indexterm><primary>Basic Input/Output System</primary><see>BIOS</see></indexterm>
<para>On x86 hardware the Basic Input/Output System (BIOS) is responsible
for loading the operating system. To do this, the BIOS looks on the
hard disk for the Master Boot Record (MBR), which must be located on a
specific place on the disk. The BIOS has enough knowledge to load and
run the MBR, and assumes that the MBR can then carry out the rest of the
tasks involved in loading the operating system,
possibly with the help of the BIOS.</para>
<indexterm><primary>Master Boot Record (MBR)</primary></indexterm>
<indexterm><primary>Boot Manager</primary></indexterm>
<indexterm><primary>Boot Loader</primary></indexterm>
<para>The code within the MBR is usually referred to as a <emphasis>boot
manager</emphasis>, especially when it interacts with the user. In this case
the boot manager usually has more code in the first
<emphasis>track</emphasis> of the disk or within some OS's file system. (A
boot manager is sometimes also called a <emphasis>boot loader</emphasis>,
but FreeBSD uses that term for a later stage of booting.) Popular boot
managers include <application>boot0</application> (a.k.a. <application>Boot
Easy</application>, the standard &os; boot manager),
<application>Grub</application>, <application>GAG</application>, and
<application>LILO</application>.
(Only <application>boot0</application> fits within the MBR.)</para>
<para>If you have only one operating system installed on your disks then
a standard PC MBR will suffice. This MBR searches for the first bootable
(a.k.a. active) slice on the disk, and then runs the code on that slice to
load the remainder of the operating system. The MBR installed by
&man.fdisk.8;, by default, is such an MBR. It is based on
<filename>/boot/mbr</filename>.</para>
<para>If you have installed multiple operating systems on your disks then
you can install a different boot manager, one that can display a list of
different operating systems, and allows you to choose the one to boot
from. Two of these are discussed in the next subsection.</para>
<para>The remainder of the FreeBSD bootstrap system is divided into three
stages. The first stage is run by the MBR, which knows just enough to
get the computer into a specific state and run the second stage. The
second stage can do a little bit more, before running the third stage.
The third stage finishes the task of loading the operating system. The
work is split into these three stages because the PC standards put
limits on the size of the programs that can be run at stages one and
two. Chaining the tasks together allows FreeBSD to provide a more
flexible loader.</para>
<indexterm><primary>kernel</primary></indexterm>
<indexterm><primary><command>init</command></primary></indexterm>
<para>The kernel is then started and it begins to probe for devices
and initialize them for use. Once the kernel boot
process is finished, the kernel passes control to the user process
&man.init.8;, which then makes sure the disks are in a usable state.
&man.init.8; then starts the user-level resource configuration which
mounts file systems, sets up network cards to communicate on the
network, and generally starts all the processes that usually
are run on a FreeBSD system at startup.</para>
</sect1>
<sect1 id="boot-blocks">
<title>The Boot Manager and Boot Stages</title>
<indexterm><primary>Boot Manager</primary></indexterm>
<sect2 id="boot-boot0">
<title>The Boot Manager</title>
<indexterm><primary>Master Boot Record (MBR)</primary></indexterm>
<para>The code in the MBR or boot manager is sometimes referred to as
<emphasis>stage zero</emphasis> of the boot process. This subsection
discusses two of the boot managers previously mentioned:
<application>boot0</application> and <application>LILO</application>.</para>
<formalpara><title>The <application>boot0</application> Boot Manager:</title>
<para>The MBR installed by FreeBSD's installer or &man.boot0cfg.8;, by
default, is based on <filename>/boot/boot0</filename>.
(The <application>boot0</application> program is very simple, since the
program in the <abbrev>MBR</abbrev> can only be 446 bytes long because of the slice
table and <literal>0x55AA</literal> identifier at the end of the MBR.)
If you have installed <application>boot0</application> and
multiple operating systems on your hard disks, then you will see a
display similar to this one at boot time:</para></formalpara>
<example id="boot-boot0-example">
<title><filename>boot0</filename> Screenshot</title>
<screen>F1 DOS
F2 FreeBSD
F3 Linux
F4 ??
F5 Drive 1
Default: F2</screen>
</example>
<para>Other operating systems, in particular &windows;, have been known
to overwrite an existing MBR with their own. If this happens to you,
or you want to replace your existing MBR with the FreeBSD MBR then use
the following command:</para>
<screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 <replaceable>device</replaceable></userinput></screen>
<para>where <replaceable>device</replaceable> is the device that you
boot from, such as <devicename>ad0</devicename> for the first IDE
disk, <devicename>ad2</devicename> for the first IDE disk on a second
IDE controller, <devicename>da0</devicename> for the first SCSI disk,
and so on. Or, if you want a custom configuration of the MBR,
use &man.boot0cfg.8;.</para>
<formalpara><title>The LILO Boot Manager:</title>
<para>To install this boot manager so it will also boot FreeBSD, first
start Linux and add the following to your existing
<filename>/etc/lilo.conf</filename> configuration file:</para></formalpara>
<programlisting>other=/dev/hdXY
table=/dev/hdX
loader=/boot/chain.b
label=FreeBSD</programlisting>
<para>In the above, specify FreeBSD's primary partition and drive using
Linux specifiers, replacing <replaceable>X</replaceable> with the Linux
drive letter and <replaceable>Y</replaceable> with the Linux primary
partition number. If you are using a <acronym>SCSI</acronym> drive, you
will need to change <replaceable>/dev/hd</replaceable> to read something
similar to <replaceable>/dev/sd</replaceable>. The
<option>loader=/boot/chain.b</option> line can be omitted if you have
both operating systems on the same drive. Now run
<command>/sbin/lilo&nbsp;-v</command> to commit your new changes to the
system; this should be verified by checking its screen messages.</para>
</sect2>
<sect2 id="boot-boot1">
<title>Stage One, <filename>/boot/boot1</filename>, and Stage Two,
<filename>/boot/boot2</filename></title>
<para>Conceptually the first and second stages are part of the same
program, on the same area of the disk. Because of space constraints
they have been split into two, but you would always install them
together. They are copied from the combined file
<filename>/boot/boot</filename> by the installer or
<application>bsdlabel</application> (see below).</para>
<para>They are located outside file systems, in the first track of
the boot slice, starting with the first sector. This is where <link
linkend="boot-boot0">boot0</link>, or any other boot manager,
expects to find a program to run which will
continue the boot process. The number of sectors used is easily
determined from the size of <filename>/boot/boot</filename>.</para>
<para><filename>boot1</filename> is very simple, since it
can only be 512 bytes
in size, and knows just enough about the FreeBSD
<firstterm>bsdlabel</firstterm>, which stores information
about the slice, to find and execute <filename>boot2</filename>.</para>
<para><filename>boot2</filename> is slightly more sophisticated, and understands
the FreeBSD file system enough to find files on it, and can
provide a simple interface to choose the kernel or loader to
run.</para>
<para>Since the <link linkend="boot-loader">loader</link> is
much more sophisticated, and provides a nice easy-to-use
boot configuration, <filename>boot2</filename> usually runs
it, but previously it
was tasked to run the kernel directly.</para>
<example id="boot-boot2-example">
<title><filename>boot2</filename> Screenshot</title>
<screen>&gt;&gt; FreeBSD/i386 BOOT
Default: 0:ad(0,a)/boot/loader
boot:</screen>
</example>
<para>If you ever need to replace the installed
<filename>boot1</filename> and <filename>boot2</filename> use
&man.bsdlabel.8;:</para>
<screen>&prompt.root; <userinput>bsdlabel -B <replaceable>diskslice</replaceable></userinput></screen>
<para>where <replaceable>diskslice</replaceable> is the disk and slice
you boot from, such as <devicename>ad0s1</devicename> for the first
slice on the first IDE disk.</para>
<warning>
<title>Dangerously Dedicated Mode</title>
<para>If you use just the disk name, such as
<devicename>ad0</devicename>, in the &man.bsdlabel.8; command you
will create a dangerously dedicated disk, without slices. This is
almost certainly not what you want to do, so make sure you double
check the &man.bsdlabel.8; command before you press
<keycap>Return</keycap>.</para>
</warning>
</sect2>
<sect2 id="boot-loader">
<title>Stage Three, <filename>/boot/loader</filename></title>
<indexterm><primary>boot-loader</primary></indexterm>
<para>The loader is the final stage of the three-stage
bootstrap, and is located on the file system, usually as
<filename>/boot/loader</filename>.</para>
<para>The loader is intended as a user-friendly method for
configuration, using an easy-to-use built-in command set,
backed up by a more powerful interpreter, with a more complex
command set.</para>
<sect3 id="boot-loader-flow">
<title>Loader Program Flow</title>
<para>During initialization, the loader will probe for a
console and for disks, and figure out what disk it is
booting from. It will set variables accordingly, and an
interpreter is started where user commands can be passed from
a script or interactively.</para>
<indexterm><primary>loader</primary></indexterm>
<indexterm><primary>loader configuration</primary></indexterm>
<para>The loader will then read
<filename>/boot/loader.rc</filename>, which by default reads
in <filename>/boot/defaults/loader.conf</filename> which
sets reasonable defaults for variables and reads
<filename>/boot/loader.conf</filename> for local changes to
those variables. <filename>loader.rc</filename> then acts
on these variables, loading whichever modules and kernel are
selected.</para>
<para>Finally, by default, the loader issues a 10 second wait
for key presses, and boots the kernel if it is not interrupted.
If interrupted, the user is presented with a prompt which
understands the easy-to-use command set, where the user may
adjust variables, unload all modules, load modules, and then
finally boot or reboot.</para>
</sect3>
<sect3 id="boot-loader-commands">
<title>Loader Built-In Commands</title>
<para>These are the most commonly used loader commands. For a
complete discussion of all available commands, please see
&man.loader.8;.</para>
<variablelist>
<varlistentry>
<term>autoboot <replaceable>seconds</replaceable></term>
<listitem>
<para>Proceeds to boot the kernel if not interrupted
within the time span given, in seconds. It displays a
countdown, and the default time span is 10
seconds.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>boot
<optional><replaceable>-options</replaceable></optional>
<optional><replaceable>kernelname</replaceable></optional></term>
<listitem>
<para>Immediately proceeds to boot the kernel, with the
given options, if any, and with the kernel name given,
if it is.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>boot-conf</term>
<listitem>
<para>Goes through the same automatic configuration of
modules based on variables as what happens at boot.
This only makes sense if you use
<command>unload</command> first, and change some
variables, most commonly <envar>kernel</envar>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>help
<optional><replaceable>topic</replaceable></optional></term>
<listitem>
<para>Shows help messages read from
<filename>/boot/loader.help</filename>. If the topic
given is <literal>index</literal>, then the list of
available topics is given.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>include <replaceable>filename</replaceable>
&hellip;</term>
<listitem>
<para>Processes the file with the given filename. The
file is read in, and interpreted line by line. An
error immediately stops the include command.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>load <optional><option>-t</option>
<replaceable>type</replaceable></optional>
<replaceable>filename</replaceable></term>
<listitem>
<para>Loads the kernel, kernel module, or file of the
type given, with the filename given. Any arguments
after filename are passed to the file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ls <optional><option>-l</option></optional>
<optional><replaceable>path</replaceable></optional></term>
<listitem>
<para>Displays a listing of files in the given path, or
the root directory, if the path is not specified. If
<option>-l</option> is specified, file sizes will be
shown too.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>lsdev <optional><option>-v</option></optional></term>
<listitem>
<para>Lists all of the devices from which it may be
possible to load modules. If <option>-v</option> is
specified, more details are printed.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>lsmod <optional><option>-v</option></optional></term>
<listitem>
<para>Displays loaded modules. If <option>-v</option> is
specified, more details are shown.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>more <replaceable>filename</replaceable></term>
<listitem>
<para>Displays the files specified, with a pause at each
<varname>LINES</varname> displayed.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>reboot</term>
<listitem>
<para>Immediately reboots the system.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>set <replaceable>variable</replaceable></term>
<term>set
<replaceable>variable</replaceable>=<replaceable>value</replaceable></term>
<listitem>
<para>Sets the loader's environment variables.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>unload</term>
<listitem>
<para>Removes all loaded modules.</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="boot-loader-examples">
<title>Loader Examples</title>
<para>Here are some practical examples of loader usage:</para>
<itemizedlist>
<indexterm><primary>single-user mode</primary></indexterm>
<listitem>
<para>To simply boot your usual kernel, but in single-user
mode:</para>
<screen><userinput>boot -s</userinput></screen>
</listitem>
<listitem>
<para>To unload your usual kernel and modules, and then
load just your old (or another) kernel:</para>
<indexterm>
<primary><filename>kernel.old</filename></primary>
</indexterm>
<screen><userinput>unload</userinput>
<userinput>load <replaceable>kernel.old</replaceable></userinput></screen>
<para>You can use <filename>kernel.GENERIC</filename> to
refer to the generic kernel that comes on the install
disk, or <filename>kernel.old</filename> to refer to
your previously installed kernel (when you have upgraded
or configured your own kernel, for example).</para>
<note>
<para>Use the following to load your usual modules with
another kernel:</para>
<screen><userinput>unload</userinput>
<userinput>set kernel="<replaceable>kernel.old</replaceable>"</userinput>
<userinput>boot-conf</userinput></screen></note>
</listitem>
<listitem>
<para>To load a kernel configuration script (an automated
script which does the things you would normally do in the
kernel boot-time configurator):</para>
<screen><userinput>load -t userconfig_script <replaceable>/boot/kernel.conf</replaceable></userinput></screen>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>
<sect1 id="boot-kernel">
<title>Kernel Interaction During Boot</title>
<indexterm>
<primary>kernel</primary>
<secondary>boot interaction</secondary>
</indexterm>
<para>Once the kernel is loaded by either <link
linkend="boot-loader">loader</link> (as usual) or <link
linkend="boot-boot1">boot2</link> (bypassing the loader), it
examines its boot flags, if any, and adjusts its behavior as
necessary.</para>
<sect2 id="boot-kernel-bootflags">
<indexterm>
<primary>kernel</primary>
<secondary>bootflags</secondary>
</indexterm>
<title>Kernel Boot Flags</title>
<para>Here are the more common boot flags:</para>
<variablelist id="boot-kernel-bootflags-list">
<varlistentry>
<term><option>-a</option></term>
<listitem>
<para>during kernel initialization, ask for the device
to mount as the root file system.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-C</option></term>
<listitem>
<para>boot from CDROM.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-c</option></term>
<listitem>
<para>run UserConfig, the boot-time kernel
configurator</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-s</option></term>
<listitem>
<para>boot into single-user mode</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<listitem>
<para>be more verbose during kernel startup</para>
</listitem>
</varlistentry>
</variablelist>
<note>
<para>There are other boot flags, read &man.boot.8; for more
information on them.</para></note>
</sect2>
<!-- <sect2 id="boot-kernel-userconfig">
<title>UserConfig: the Boot-time Kernel Configurator</title>
<para> </para>
</sect2> -->
</sect1>
<sect1 id="device-hints">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
<!-- 18 OCT 2002 -->
</sect1info>
<indexterm>
<primary>device.hints</primary>
</indexterm>
<title>Device Hints</title>
<note><para>This is a FreeBSD&nbsp;5.0 and later feature which does not
exist in earlier versions.</para></note>
<para>During initial system startup, the boot &man.loader.8; will read the
&man.device.hints.5; file. This file stores kernel boot information
known as variables, sometimes referred to as <quote>device hints</quote>.
These <quote>device hints</quote> are used by device drivers for device
configuration.</para>
<para>Device hints may also be specified at the <link linkend="boot-loader">
Stage 3 boot loader</link> prompt. Variables can be added using
<command>set</command>, removed with <command>unset</command>, and viewed
with the <command>show</command> commands. Variables set in the
<filename>/boot/device.hints</filename> file can be overridden here also. Device hints entered at
the boot loader are not permanent and will be forgotten on the next
reboot.</para>
<para>Once the system is booted, the &man.kenv.1; command can be used to
dump all of the variables.</para>
<para>The syntax for the <filename>/boot/device.hints</filename> file is one variable per line, using
the standard hash <quote>#</quote> as comment markers. Lines are
constructed as follows:</para>
<screen><userinput>hint.driver.unit.keyword="<replaceable>value</replaceable>"</userinput></screen>
<para>The syntax for the Stage 3 boot loader is:</para>
<screen><userinput>set hint.driver.unit.keyword=<replaceable>value</replaceable></userinput></screen>
<para><literal>driver</literal> is the device driver name, <literal>unit</literal>
is the device driver unit number, and <literal>keyword</literal> is the hint
keyword. The keyword may consist of the following options:</para>
<itemizedlist>
<listitem>
<para><literal>at</literal>: specifies the bus which the device is attached to.</para>
</listitem>
<listitem>
<para><literal>port</literal>: specifies the start address of the <acronym>I/O</acronym>
to be used.</para>
</listitem>
<listitem>
<para><literal>irq</literal>: specifies the interrupt request number to be used.</para>
</listitem>
<listitem>
<para><literal>drq</literal>: specifies the DMA channel number.</para>
</listitem>
<listitem>
<para><literal>maddr</literal>: specifies the physical memory address occupied by the
device.</para>
</listitem>
<listitem>
<para><literal>flags</literal>: sets various flag bits for the device.</para>
</listitem>
<listitem>
<para><literal>disabled</literal>: if set to <literal>1</literal> the device is disabled.</para>
</listitem>
</itemizedlist>
<para>Device drivers may accept (or require) more hints not listed here, viewing
their manual page is recommended. For more information, consult the
&man.device.hints.5;, &man.kenv.1;, &man.loader.conf.5;, and &man.loader.8;
manual pages.</para>
</sect1>
<sect1 id="boot-init">
<indexterm>
<primary><command>init</command></primary>
</indexterm>
<title>Init: Process Control Initialization</title>
<para>Once the kernel has finished booting, it passes control to
the user process &man.init.8;, which is located at
<filename>/sbin/init</filename>, or the program path specified
in the <envar>init_path</envar> variable in
<command>loader</command>.</para>
<sect2 id="boot-autoreboot">
<title>Automatic Reboot Sequence</title>
<para>The automatic reboot sequence makes sure that the
file systems available on the system are consistent. If they
are not, and &man.fsck.8; cannot fix the
inconsistencies, &man.init.8; drops the system
into <link linkend="boot-singleuser">single-user mode</link>
for the system administrator to take care of the problems
directly.</para>
</sect2>
<sect2 id="boot-singleuser">
<title>Single-User Mode</title>
<indexterm><primary>single-user mode</primary></indexterm>
<indexterm><primary>console</primary></indexterm>
<para>This mode can be reached through the <link
linkend="boot-autoreboot">automatic reboot
sequence</link>, or by the user booting with the
<option>-s</option> option or setting the
<envar>boot_single</envar> variable in
<command>loader</command>.</para>
<para>It can also be reached by calling
&man.shutdown.8; without the reboot
(<option>-r</option>) or halt (<option>-h</option>) options,
from <link linkend="boot-multiuser">multi-user
mode</link>.</para>
<para>If the system <literal>console</literal> is set
to <literal>insecure</literal> in <filename>/etc/ttys</filename>,
then the system prompts for the <username>root</username> password
before initiating single-user mode.</para>
<example id="boot-insecure-console">
<title>An Insecure Console in <filename>/etc/ttys</filename></title>
<programlisting># name getty type status comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none unknown off insecure</programlisting>
</example>
<note>
<para>An <literal>insecure</literal> console means that you
consider your physical security to the console to be
insecure, and want to make sure only someone who knows the
<username>root</username> password may use single-user mode, and it
does not mean that you want to run your console insecurely. Thus,
if you want security, choose <literal>insecure</literal>,
not <literal>secure</literal>.</para>
</note>
</sect2>
<sect2 id="boot-multiuser">
<title>Multi-User Mode</title>
<indexterm><primary>multi-user mode</primary></indexterm>
<para>If &man.init.8; finds your file systems to be
in order, or once the user has finished in <link
linkend="boot-singleuser">single-user mode</link>, the
system enters multi-user mode, in which it starts the
resource configuration of the system.</para>
<sect3 id="boot-rc">
<indexterm><primary>rc files</primary></indexterm>
<title>Resource Configuration (rc)</title>
<para>The resource configuration system reads in
configuration defaults from
<filename>/etc/defaults/rc.conf</filename>, and
system-specific details from
<filename>/etc/rc.conf</filename>, and then proceeds to
mount the system file systems mentioned in
<filename>/etc/fstab</filename>, start up networking
services, start up miscellaneous system daemons, and
finally runs the startup scripts of locally installed
packages.</para>
<para>The &man.rc.8; manual page is a good reference to the resource
configuration system, as is examining the scripts
themselves.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="boot-shutdown">
<title>Shutdown Sequence</title>
<indexterm>
<primary><command>shutdown</command></primary>
</indexterm>
<para>Upon controlled shutdown, via &man.shutdown.8;,
&man.init.8; will attempt to run the script
<filename>/etc/rc.shutdown</filename>, and then proceed to send
all processes the <literal>TERM</literal> signal, and subsequently
the <literal>KILL</literal> signal to any that do not terminate
timely.</para>
<para>To power down a FreeBSD machine on architectures and systems
that support power management, simply use the command
<command>shutdown -p now</command> to turn the power off
immediately. To just reboot a FreeBSD system, just use
<command>shutdown -r now</command>. You need to be
<username>root</username> or a member of
<groupname>operator</groupname> group to run &man.shutdown.8;.
The &man.halt.8; and &man.reboot.8; commands can also be used,
please refer to their manual pages and to &man.shutdown.8;'s one
for more information.</para>
<note>
<para>Power management requires &man.acpi.4; support in the kernel
or loaded as module for.</para>
</note>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->

View file

@ -0,0 +1,2 @@
<!DOCTYPE chapter PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN">
<!-- $FreeBSD$ -->

View file

@ -0,0 +1,62 @@
<!--
Ïñéóìüò ôùí entiries ãéá êÜèå êåöÜëáéï ôïõ Åã÷åéñéäßïõ ôïõ FreeBSD.
ÊÜèå entity ïíïìÜæåôáé chap.foo, üðïõ foo åßíáé ç ôéìÞ ôïõ id attribute
ðïõ Ý÷åé ôï áíôßóôïé÷ï êåöÜëáéï (óõíÞèùò áõôü åßíáé ßäéï êáé ìå ôï üíïìá
ôïõ êáôáëüãïõ óôïí ïðïßï åßíáé áðïèçêåõìÝíï ôï êåöÜëáéï óå SGML ìïñöÞ).
Ôá êåöÜëáéá åäþ åßíáé êáëü íá Ý÷ïõí ôçí ßäéá óåéñÜ ìå ôçí ïðïßá
åìöáíßæïíôáé óôï ôåëéêü âéâëßï.
$FreeBSD$
-->
<!ENTITY chap.preface SYSTEM "preface/preface.sgml">
<!-- Part one -->
<!ENTITY chap.introduction SYSTEM "introduction/chapter.sgml">
<!ENTITY chap.install SYSTEM "install/chapter.sgml">
<!ENTITY chap.basics SYSTEM "basics/chapter.sgml">
<!ENTITY chap.ports SYSTEM "ports/chapter.sgml">
<!ENTITY chap.x11 SYSTEM "x11/chapter.sgml">
<!-- Part two -->
<!ENTITY chap.desktop SYSTEM "desktop/chapter.sgml">
<!ENTITY chap.multimedia SYSTEM "multimedia/chapter.sgml">
<!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.sgml">
<!ENTITY chap.printing SYSTEM "printing/chapter.sgml">
<!ENTITY chap.linuxemu SYSTEM "linuxemu/chapter.sgml">
<!-- Part three -->
<!ENTITY chap.config SYSTEM "config/chapter.sgml">
<!ENTITY chap.boot SYSTEM "boot/chapter.sgml">
<!ENTITY chap.users SYSTEM "users/chapter.sgml">
<!ENTITY chap.security SYSTEM "security/chapter.sgml">
<!ENTITY chap.jails SYSTEM "jails/chapter.sgml">
<!ENTITY chap.mac SYSTEM "mac/chapter.sgml">
<!ENTITY chap.audit SYSTEM "audit/chapter.sgml">
<!ENTITY chap.disks SYSTEM "disks/chapter.sgml">
<!ENTITY chap.geom SYSTEM "geom/chapter.sgml">
<!ENTITY chap.vinum SYSTEM "vinum/chapter.sgml">
<!ENTITY chap.virtualization SYSTEM "virtualization/chapter.sgml">
<!ENTITY chap.l10n SYSTEM "l10n/chapter.sgml">
<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml">
<!-- Part four -->
<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml">
<!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.sgml">
<!ENTITY chap.mail SYSTEM "mail/chapter.sgml">
<!ENTITY chap.network-servers SYSTEM "network-servers/chapter.sgml">
<!ENTITY chap.firewalls SYSTEM "firewalls/chapter.sgml">
<!ENTITY chap.advanced-networking SYSTEM "advanced-networking/chapter.sgml">
<!-- Part five (appendices) -->
<!ENTITY chap.mirrors SYSTEM "mirrors/chapter.sgml">
<!ENTITY chap.mirrors.ftp.inc SYSTEM "mirrors.sgml.ftp.inc">
<!ENTITY chap.mirrors.cvsup.inc SYSTEM "mirrors.sgml.cvsup.inc">
<!ENTITY chap.bibliography SYSTEM "bibliography/chapter.sgml">
<!ENTITY chap.eresources SYSTEM "eresources/chapter.sgml">
<!ENTITY chap.eresources.www.inc SYSTEM "eresources.sgml.www.inc">
<!ENTITY chap.pgpkeys SYSTEM "pgpkeys/chapter.sgml">
<!ENTITY chap.index SYSTEM "index.sgml">
<!ENTITY chap.colophon SYSTEM "colophon.sgml">

View file

@ -0,0 +1,31 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<colophon id='colophon'>
<para>Αυτό το βιβλίο είναι το αποτέλεσμα της ομαδικής εργασίας εκατοντάδων
εθελοντών της <quote>Ομάδας Τεκμηρίωσης του &os;</quote>. Αυτό το
κείμενο γράφτηκε σε μορφή SGML, σύμφωνα με το DocBook DTD και έχει
μορφοποιηθεί από την SGML σε πολλές διαφορετικές μορφές παρουσίασης
χρησιμοποιώντας την εφαρμογή <application>Jade</application>, μια μηχανή
DSSSL ανοιχτού κώδικα. Χρησιμοποιήθηκαν τα DSSSL stylesheets του Norm Walsh με ένα
επιπλέον επίπεδο τροποποίησης για να δώσουν τις οδηγίες παρουσίασης στην
<application>Jade</application>. Η έντυπη μορφή αυτού του κειμένου δεν θα
υπήρχε χωρίς την γλώσσα στοιχειοθεσίας <application>&tex;</application>
του Donald Knuth, το <application>LaTeX</application> του Leslie Lamport,
ή το macro package <application>JadeTeX</application> του Sebastian
Rahtz.</para>
</colophon>
<!--
Local Variables:
mode: sgml
sgml-declaration: "chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("book.sgml" "part" "chapter")
End:
-->

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,677 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="GEOM">
<chapterinfo>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>ÃñÜöôçêå áðü ôïí </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>GEOM: Äéá÷åßñéóç Óõóôïé÷éþí Äßóêùí</title>
<sect1 id="GEOM-synopsis">
<title>Óýíïøç</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>GEOM Disk Framework</primary>
<see>GEOM</see>
</indexterm>
<para>Ôï êåöÜëáéï áõôü êáëýðôåé ôç ÷ñÞóç ôùí äßóêùí êÜôù áðü ôï ðëáßóéï
ëåéôïõñãéþí GEOM óôï &os;. ÐåñéëáìâÜíåé ôá êõñéüôåñá ðñïãñÜììáôá åëÝã÷ïõ
<acronym role="Redundant Array of Inexpensive Disks">RAID</acronym>
ôùí ïðïßùí ïé ñõèìßóåéò âáóßæïíôáé óôï ðëáßóéï GEOM. Ôï êåöÜëáéï áõôü
äåí áíáëýåé óå âÜèïò ôïí ôñüðï ìå ôïí ïðïßï ôï GEOM ÷åéñßæåôáé Þ åëÝã÷åé
ëåéôïõñãßåò Åéóüäïõ / Åîüäïõ (IO), ôï õðïóýóôçìá ðïõ âñßóêåôáé êÜôù áðü
áõôü, Þ ôïí êþäéêá ôïõ. Ïé ðëçñïöïñßåò áõôÝò ðáñÝ÷ïíôáé áðü ôç óåëßäá
manual ôïõ &man.geom.4; êáèþò êáé áðü ôéò áíáöïñÝò ðïõ ðåñéÝ÷åé óå Üëëåò
ó÷åôéêÝò óåëßäåò. Åðßóçò ôï êåöÜëáéï áõôü äåí áðïôåëåß êáèïñéóôéêü ïäçãü
ãéá üëåò ôéò ñõèìßóåéò ôïõ <acronym>RAID</acronym>. Èá óõæçôçèïýí ìüíï
ïé êáôáóôÜóåéò ëåéôïõñãßáò ôïõ <acronym>RAID</acronym> ðïõ
õðïóôçñßæïíôáé áðü ôï GEOM.</para>
<para>Áöïý äéáâÜóåôå áõôü ôï êåöÜëáéï, èá îÝñåôå:</para>
<itemizedlist>
<listitem>
<para>Ôï åßäïò ôçò õðïóôÞñéîçò <acronym>RAID</acronym> ðïõ åßíáé
äéáèÝóéìï ìÝóù ôïõ GEOM.</para>
</listitem>
<listitem>
<para>Ðùò íá ÷ñçóéìïðïéÞóåôå ôá âáóéêÜ âïçèçôéêÜ ðñïãñÜììáôá ãéá ôçí
ñýèìéóç, óõíôÞñçóç êáé äéá÷åßñéóç ôùí äéáöüñùí åðéðÝäùí <acronym>
RAID</acronym>.</para>
</listitem>
<listitem>
<para>Ðùò íá äçìéïõñãÞóåôå mirror Þ stripe, íá êñõðôïãñáöÞóåôå, êáé íá
óõíäÝóåôå äßóêïõò ìå ôï GEOM, ìÝóù ìéáò áðïìáêñõóìÝíçò óýíäåóçò.
</para>
</listitem>
<listitem>
<para>Ðùò íá áíôéìåôùðßóåôå ðñïâëÞìáôá äßóêùí ðïõ ÷ñçóéìïðïéïýí ôï
ðëáßóéï ëåéôïõñãéþí GEOM.</para>
</listitem>
</itemizedlist>
<para>Ðñéí äéáâÜóåôå áõôü ôï êåöÜëáéï, èá ðñÝðåé:</para>
<itemizedlist>
<listitem>
<para>Íá êáôáíïåßôå ðùò ìåôá÷åéñßæåôáé ôï &os; ôéò óõóêåõÝò äßóêùí
(<xref linkend="disks">).</para>
<listitem>
<para>Íá ãíùñßæåôå ðùò èá ñõèìßóåôå êáé èá åãêáôáóôÞóåôå Ýíá íÝï
ðõñÞíá óôï &os;
(<xref linkend="kernelconfig">).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="GEOM-intro">
<title>GEOM Introduction</title>
<para>GEOM permits access and control to classes &mdash; Master Boot
Records, <acronym>BSD</acronym> labels, etc &mdash; through the
use of providers, or the special files in
<filename role="directory">/dev</filename>. Supporting various
software <acronym>RAID</acronym> configurations, GEOM will
transparently provide access to the operating system and
operating system utilities.</para>
</sect1>
<sect1 id="GEOM-striping">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Written by </contrib>
</author>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
</author>
</authorgroup>
</sect1info>
<title>RAID0 - Striping</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Striping</primary>
</indexterm>
<para>Striping is a method used to combine several disk drives into
a single volume. In many cases, this is done through the use of
hardware controllers. The GEOM disk subsystem provides
software support for <acronym>RAID</acronym>0, also known as
disk striping.</para>
<para>In a <acronym>RAID</acronym>0 system, data are split up in
blocks that get written across all the drives in the array.
Instead of having to wait on the system to write 256k to one
disk, a <acronym>RAID</acronym>0 system can simultaneously write
64k to each of four different disks, offering superior I/O
performance. This performance can be enhanced further by using
multiple disk controllers.</para>
<para>Each disk in a <acronym>RAID</acronym>0 stripe must be of
the same size, since I/O requests are interleaved to read or
write to multiple disks in parallel.</para>
<mediaobject>
<imageobject>
<imagedata fileref="geom/striping" align="center">
</imageobject>
<textobject>
<phrase>Disk Striping Illustration</phrase>
</textobject>
</mediaobject>
<procedure>
<title>Creating a stripe of unformatted ATA disks</title>
<step><para>Load the <filename>geom_stripe</filename>
module:</para>
<screen>&prompt.root; <userinput>kldload geom_stripe</userinput></screen>
</step>
<step><para>Ensure that a suitable mount point exists. If this
volume will become a root partition, then temporarily use
another mount point such as <filename
role="directory">/mnt</filename>:</para>
<screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
</step>
<step><para>Determine the device names for the disks which will
be striped, and create the new stripe device. For example,
to stripe two unused and unpartitioned <acronym>ATA</acronym> disks,
for example <filename>/dev/ad2</filename> and
<filename>/dev/ad3</filename>:</para>
<screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput></screen>
<!--
<para>A message should be returned explaining that meta data has
been stored on the devices.
XXX: What message? Put it inside the screen output above.
-->
</step>
<step><para>Write a standard label, also known as a partition
table, on the new volume and install the default
bootstrap code:</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>
</step>
<step><para>This process should have created two other devices
in the <filename role="directory">/dev/stripe</filename>
directory in addition to the <devicename>st0</devicename> device.
Those include <devicename>st0a</devicename> and
<devicename>st0c</devicename>. At this point a file system may be created
on the <devicename>st0a</devicename> device with the
<command>newfs</command> utility:</para>
<screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen>
<para>Many numbers will glide across the screen, and after a few
seconds, the process will be complete. The volume has been
created and is ready to be mounted.</para>
</step>
</procedure>
<para>To manually mount the created disk stripe:</para>
<screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>
<para>To mount this striped file system automatically during the boot
process, place the volume information in
<filename>/etc/fstab</filename> file:</para>
<screen>&prompt.root; <userinput>echo "/dev/stripe/st0a /mnt ufs rw 2 2" \</userinput>
<userinput>&gt;&gt; /etc/fstab</userinput></screen>
<para>The <filename>geom_stripe</filename> module must also be automatically loaded during
system initialization, by adding a line to
<filename>/boot/loader.conf</filename>:</para>
<screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
</sect1>
<sect1 id="GEOM-mirror">
<title>RAID1 - Mirroring</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Disk Mirroring</primary>
</indexterm>
<para>Mirroring is a technology used by many corporations and home
users to back up data without interruption. When a mirror exists,
it simply means that diskB replicates diskA. Or, perhaps diskC+D
replicates diskA+B. Regardless of the disk configuration, the
important aspect is that information on one disk or partition is
being replicated. Later, that information could be more easily
restored, backed up without causing service or access
interruption, and even be physically stored in a data
safe.</para>
<para>To begin, ensure the system has two disk drives of equal size,
this exercise assumes they are direct access (&man.da.4;)
<acronym>SCSI</acronym> disks.</para>
<para>Begin by installing &os; on the first disk with only two
partitions. One should be a swap partition, double the
<acronym>RAM</acronym> size and all remaining space devoted to
the root (<filename role="directory">/</filename>) file system.
It is possible to have separate partitions for other mount points;
however, this will increase the difficulty level ten fold due to
manual alteration of the &man.bsdlabel.8; and &man.fdisk.8;
settings.</para>
<para>Reboot and wait for the system to fully initialize. Once this
process has completed, log in as the <username>root</username>
user.</para>
<para>Create the <filename>/dev/mirror/gm</filename> device and link
it with <filename>/dev/da1</filename>:</para>
<screen>&prompt.root; <userinput>gmirror label -vnb round-robin gm0 /dev/da1</userinput></screen>
<para>The system should respond with:</para>
<screen>
Metadata value stored on /dev/da1.
Done.</screen>
<para>Initialize GEOM, this will load the
<filename>/boot/kernel/geom_mirror.ko</filename> kernel
module:</para>
<screen>&prompt.root; <userinput>gmirror load</userinput></screen>
<note>
<para>This command should have created the
<devicename>gm0</devicename>, device node under the
<filename role="directory">/dev/mirror</filename>
directory.</para>
</note>
<para>Install a generic <command>fdisk</command> label and boot code
to new <devicename>gm0</devicename> device:</para>
<screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen>
<para>Now install generic <command>bsdlabel</command>
information:</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/mirror/gm0s1</userinput></screen>
<note>
<para>If multiple slices and partitions exist, the flags for the
previous two commands will require alteration. They must match
the slice and partition size of the other disk.</para>
</note>
<para>Use the &man.newfs.8; utility to construct a default <acronym>UFS</acronym>
file system on the <devicename>gm0s1a</devicename> device node:</para>
<screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen>
<para>This should have caused the system to spit out some
information and a bunch of numbers. This is good. Examine the
screen for any error messages and mount the device to the
<filename role="directory">/mnt</filename> mount point:</para>
<screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>
<para>Now move all data from the boot disk over to this new file
system. This example uses the &man.dump.8; and &man.restore.8;
commands; however, &man.dd.1; would also work with this
scenario.</para>
<screen>&prompt.root; <userinput>dump -L -0 -f- / |(cd /mnt &amp;&amp; restore -r -v -f-)</userinput></screen>
<para>This must be done for each file system. Simply place the
appropriate file system in the correct location when running the
aforementioned command.</para>
<para>Now edit the replicated <filename>/mnt/etc/fstab</filename>
file and remove or comment out the swap file
<footnote>
<para>It should be noted that commenting out the swap file entry
in <filename>fstab</filename> will most likely require you to
re-establish a different way of enabling swap space. Please
refer to <xref linkend="adding-swap-space"> for more
information.</para>
</footnote>. Change the other file system information to use the
new disk as shown in the following example:</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
#/dev/da0s2b none swap sw 0 0
/dev/mirror/gm0s1a / ufs rw 1 1</programlisting>
<para>Now create a <filename>boot.config</filename> file on both the
current and new root partitions. This file will
<quote>help</quote> the system <acronym>BIOS</acronym>
boot the correct drive:</para>
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /boot.config</userinput></screen>
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /mnt/boot.config</userinput></screen>
<note>
<para>We have placed it on both root partitions to ensure proper
boot up. If for some reason the system cannot read from the
new root partition, a failsafe is available.</para>
</note>
<para>Ensure the <filename>geom_mirror.ko</filename> module will load
on boot by running the following command:</para>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /mnt/boot/loader.conf</userinput></screen>
<para>Reboot the system:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>If all has gone well, the system should have booted from the
<devicename>gm0s1a</devicename> device and a <command>login</command>
prompt should be waiting. If something went wrong, see review
the forthcoming troubleshooting section. Now add the
<devicename>da0</devicename> disk to <devicename>gm0</devicename>
device:</para>
<screen>&prompt.root; <userinput>gmirror configure -a gm0</userinput>
&prompt.root; <userinput>gmirror insert gm0 /dev/da0</userinput></screen>
<para>The <option>-a</option> flag tells &man.gmirror.8; to use
automatic synchronization; i.e., mirror the disk writes
automatically. The manual page explains how to rebuild and
replace disks, although it uses <devicename>data</devicename>
in place of <devicename>gm0</devicename>.</para>
<sect2>
<title>Troubleshooting</title>
<sect3>
<title>System refuses to boot</title>
<para>If the system boots up to a prompt similar to:</para>
<programlisting>ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot></programlisting>
<para>Reboot the machine using the power or reset button. At
the boot menu, select option six (6). This will drop the
system to a &man.loader.8; prompt. Load the kernel module
manually:</para>
<screen>OK? <userinput>load geom_mirror</userinput>
OK? <userinput>boot</userinput></screen>
<para>If this works then for whatever reason the module was not
being loaded properly. Place:</para>
<programlisting>options GEOM_MIRROR</programlisting>
<para>in the kernel configuration file, rebuild and reinstall.
That should remedy this issue.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="geom-ggate">
<title>GEOM Gate Network Devices</title>
<para>GEOM supports the remote use of devices, such as disks,
CD-ROMs, files, etc. through the use of the gate utilities.
This is similar to <acronym>NFS</acronym>.</para>
<para>To begin, an exports file must be created. This file
specifies who is permitted to access the exported resources and
what level of access they are offered. For example, to export
the fourth slice on the first <acronym>SCSI</acronym> disk, the
following <filename>/etc/gg.exports</filename> is more than
adequate:</para>
<programlisting>192.168.1.0/24 RW /dev/da0s4d</programlisting>
<para>It will allow all hosts inside the private network access
the file system on the <devicename>da0s4d</devicename>
partition.</para>
<para>To export this device, ensure it is not currently mounted,
and start the &man.ggated.8; server daemon:</para>
<screen>&prompt.root; <userinput>ggated</userinput></screen>
<para>Now to <command>mount</command> the device on the client
machine, issue the following commands:</para>
<screen>&prompt.root; <userinput>ggatec create -o rw 192.168.1.1 /dev/da0s4d</userinput></screen>
<screen>ggate0</screen>
<screen>&prompt.root; <userinput>mount /dev/ggate0 /mnt</userinput></screen>
<para>From here on, the device may be accessed through the
<filename role="directory">/mnt</filename> mount point.</para>
<note>
<para>It should be pointed out that this will fail if the device
is currently mounted on either the server machine or any other
machine on the network.</para>
</note>
<para>When the device is no longer needed, it may be safely
unmounted with the &man.umount.8; command, similar to any other
disk device.</para>
</sect1>
<sect1 id="geom-glabel">
<title>Labeling Disk Devices</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Disk Labels</primary>
</indexterm>
<para>During system initialization, the &os; kernel will create
device nodes as devices are found. This method of probing for
devices raises some issues, for instance what if a new disk
device is added via <acronym>USB</acronym>? It is very likely
that a flash device may be handed the device name of
<devicename>da0</devicename> and the original
<devicename>da0</devicename> shifted to
<devicename>da1</devicename>. This will cause issues mounting
file systems if they are listed in
<filename>/etc/fstab</filename>, effectively, this may also
prevent the system from booting.</para>
<para>One solution to this issue is to chain the
<acronym>SCSI</acronym> devices in order so a new device added to
the <acronym>SCSI</acronym> card will be issued unused device
numbers. But what about <acronym>USB</acronym> devices which may
replace the primary <acronym>SCSI</acronym> disk? This happens
because <acronym>USB</acronym> devices are usually
probed before the <acronym>SCSI</acronym> card. One solution
is to only insert these devices after the system has been
booted. Another method could be to use only a single
<acronym>ATA</acronym> drive and never list the
<acronym>SCSI</acronym> devices in
<filename>/etc/fstab</filename>.</para>
<para>A better solution is available. By using the
<command>glabel</command> utility, an administrator or user may
label their disk devices and use these labels in
<filename>/etc/fstab</filename>. Because
<command>glabel</command> stores the label in the last sector of
a given provider, the label will remain persistent across reboots.
By using this label as a device, the file system may always be
mounted regardless of what device node it is accessed
through.</para>
<note>
<para>This goes without saying that a label be permanent. The
<command>glabel</command> utility may be used to create both a
transient and permanent label. Only the permanent label will
remain consistent across reboots. See the &man.glabel.8;
manual page for more information on the differences between
labels.</para>
</note>
<sect2>
<title>Label Types and Examples</title>
<para>There are two types of labels, a generic label and a
file system label. The difference between the labels is
the auto detection associated with permanent labels, and the
fact that this type of label will be persistent across reboots.
These labels are given a special directory in
<filename role="directory">/dev</filename>, which will be named
based on their file system type. For example,
<acronym>UFS</acronym>2 file system labels will be created in
the <filename role="directory">/dev/ufs2</filename>
directory.</para>
<para>A generic label will go away with the next reboot. These
labels will be created in the
<filename role="directory">/dev/label</filename> directory and
are perfect for experimentation.</para>
<!-- XXXTR: How do you create a file system label without running newfs
or when there is no newfs (e.g.: cd9660)? -->
<para>Permanent labels may be placed on the file system using the
<command>tunefs</command> or <command>newfs</command>
utilities. To create a permanent label for a
<acronym>UFS</acronym>2 file system without destroying any
data, issue the following commands:</para>
<screen>&prompt.root; <userinput>tunefs -L home /dev/da3</userinput></screen>
<warning>
<para>If the file system is full, this may cause data
corruption; however, if the file system is full then the
main goal should be removing stale files and not adding
labels.</para>
</warning>
<para>A label should now exist in
<filename role="directory">/dev/ufs2</filename> which may be
added to <filename>/etc/fstab</filename>:</para>
<programlisting>/dev/ufs2/home /home ufs rw 2 2</programlisting>
<note>
<para>The file system must not be mounted while attempting
to run <command>tunefs</command>.</para>
</note>
<para>Now the file system may be mounted like normal:</para>
<screen>&prompt.root; <userinput>mount /home</userinput></screen>
<para>The following command can be used to destroy the
label:</para>
<screen>&prompt.root; <userinput>glabel destroy home</userinput></screen>
<para>From this point on, so long as the
<filename>geom_label.ko</filename> kernel module is loaded at
boot with <filename>/boot/loader.conf</filename> or the
<devicename>GEOM_LABEL</devicename> kernel option is present,
the device node may change without any ill effect on the
system.</para>
<para>File systems may also be created with a default label
by using the <option>-L</option> flag with
<command>newfs</command>. See the &man.newfs.8; manual page
for more information.</para>
</sect2>
</sect1>
<!--
<sect1 id="geom-gjournal">
<title>UFS Journaling Through GEOM</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Journaling</primary>
</indexterm>
<para>With the release of &os;&nbsp;7.0, the long awaited feature
of <acronym>UFS</acronym> journals has been implemented. The
implementation itself is provided through the
<acronym>GEOM</acronym> subsystem and is easily configured
via the &man.gjournal.8; utility.</para>
<para>What is journaling? Journaling capability stores a log of
file system transactions, i.e.: changes that make up a complete
disk write operation, before meta-data and file writes are
committed to the disk proper. This transaction log can later
be replayed to redo file system transactions, preventing file
system inconsistencies.</para>
<para>This method is yet another mechanism to protect against data
loss and inconsistencies of the file system. Unlike Soft Updates
which tracks and enforces meta-data updates and Snapshots which
is an image of the file system, an actual log is stored at the
end sector and, in some cases, may be stored on another disk
entirely.</para>
<para>Unlike other file system journaling implementations, the
<command>gjournal</command> method is block based and not
implemented as part of the file system - only as a
<acronym>GEOM</acronym> extension.</para>
<para>To enable support for <command>gjournal</command>, the
&os; kernel must have the following option - which is the
default on 7.X systems:</para>
<programlisting>options UFS_GJOURNAL</programlisting>
<para>Creating a journal on a free file system may now be done
using the following steps, considering that the
<devicename>da4</devicename> is a new <acronym>SCSI</acronym>
disk:</para>
<screen>&prompt.root; <userinput>gjournal label /dev/da4</userinput>
<userinput>gjournal load</userinput></screen>
<para>At this point, there should be a
<devicename>/dev/da4</devicename> device node and a
<devicename>/dev/da4.journal</devicename> device node. A
file system may now be created on this device:</para>
<screen>&prompt.root; <userinput>newfs -O 2 -J /dev/da4.journal</userinput></screen>
<para>The previously issued command will create a
<acronym>UFS</acronym>2 file system with journaling being made
active.
<para>Effectively <command>mount</command> the device at the
desired point with:</para>
<screen>&prompt.root <userinput>mount /dev/da4.journal /mnt</userinput></screen>
<note>
<para>In the case of several slices, a journal will be created
for each individual slice. For instance, if ad4s1 and ad4s2
are both slices, then <command>gjournal</command> will create
ad4s1.journal and ad4s2.journal. In the case of the command
being run twice, the result will be
<quote>journals</quote>.</para>
</note>
<para>Under some circumstances, keeping the journal on another disk
may be desired. For these cases, the journal provider or storage
device should be listed after the device to enable journaling
on. Journaling may also be enabled on current file systems by
using <command>tunefs</command>; however, always make a backup
before attempting to alter a file system. In most cases, the
<command>gjournal</command> will fail if it is unable to create
the actual journal but this does not protect against data loss
incurred as a result of misusing
<command>tunefs</command>.</para>
</sect1>
-->
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,7 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/";
root -> "A2/";
}

View file

@ -0,0 +1,8 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/" -> "B1/";
"A1/" -> "B2/";
root -> "A2/";
}

View file

@ -0,0 +1,8 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/";
root -> "A2/" -> "B1/";
"A2/" -> "B2/";
}

View file

@ -0,0 +1,9 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/";
root -> "A2/" -> "B1/" -> "C1/";
"B1/" -> "C2/";
"A2/" -> "B2/";
}

View file

@ -0,0 +1,9 @@
// $FreeBSD$
digraph directory {
root [label="Root\n/"];
root -> "A1/" -> "C1/";
"A1/" -> "C2/";
root -> "A2/" -> "B1/";
"A2/" -> "B2/";
}

View file

@ -0,0 +1,956 @@
<!--
The FreeBSD Greek Documentation Project
$FreeBSD$
-->
<chapter id="introduction">
<chapterinfo>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
<contrib>Ανασχηματισμένο, αναδιοργανωμένο, και μερικώς
ξαναγραμμένο από τον </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>Εισαγωγή</title>
<sect1 id="introduction-synopsis">
<title>Σύνοψη</title>
<para>Ευχαριστούμε για το ενδιαφέρον σας για το &os;! Το ακόλουθο
κεφάλαιο καλύπτει διάφορες πτυχές του &os; Project, όπως την ιστορία
του, τους στόχους του, το μοντέλο ανάπτυξης, κ.τ.λ.</para>
<para>Μετά την ανάγνωση αυτού του κεφαλαίου, θα γνωρίζετε:</para>
<itemizedlist>
<listitem>
<para>Πως συσχετίζεται το &os; με άλλα λειτουργικά συστήματα Η/Υ.</para>
</listitem>
<listitem>
<para>Την ιστορία του &os; Project.</para>
</listitem>
<listitem>
<para>Τους στόχους του &os; Project.</para>
</listitem>
<listitem>
<para>Τις βάσεις του μοντέλου ανάπτυξης open source στο &os;.</para>
</listitem>
<listitem>
<para>Και φυσικά: από που προέρχεται το όνομα <quote>&os;</quote>.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="nutshell">
<title>Καλώς ήρθες στο &os;!</title>
<indexterm><primary>4.4BSD-Lite</primary></indexterm>
<para>Το &os; είναι ένα λειτουργικό σύστημα βασισμένο πάνω στο 4.4BSD-Lite
για Η/Υ Intel (x86 και &itanium;), AMD64, <trademark>Alpha</trademark>, και Sun
&ultrasparc;. Η μεταφορά του &os; σε άλλες
αρχιτεκτονικές είναι σε εξέλιξη.
Μπορείς επίσης
να διαβάσεις για <link linkend="history">την ιστορία του &os;</link>,
ή για την <link linkend="relnotes">πιο πρόσφατη επίσημη έκδοση</link>. Εάν
ενδιαφέρεσαι να συμβάλλεις με κάποιο τρόπο στο Project (κώδικας,
hardware, χαρτονομίσματα όχι προσημειωμένα), διάβασε το άρθρο <ulink
url="&url.articles.contributing;/index.html">Συνεισφέροντας στην Ανάπτυξη του
&os;</ulink>.</para>
<sect2 id="os-overview">
<title>Τι μπορεί να κάνει το &os;;</title>
<para>Το &os; έχει πολλά αξιόλογα χαρακτηριστικά. Μερικά απ'αυτά
είναι:</para>
<itemizedlist>
<indexterm><primary>preemptive multitasking</primary></indexterm>
<indexterm><primary>preemptive πολυεπεξεργασία</primary></indexterm>
<listitem>
<para><emphasis>Preemptive πολυεπεξεργασία</emphasis> (preemptive multitasking) με
δυναμικό έλεγχο προτεραιότητος για να εξασφαλίσει ομαλό και δίκαιο
μοίρασμα των πόρων του Η/Υ μεταξύ εφαρμογών και χρηστών, ακόμη
και στις πιο αντίξοες συνθήκες.</para>
</listitem>
<indexterm><primary>multi-user facilities</primary></indexterm>
<indexterm><primary>πολυχρηστικές δυνατότητες</primary></indexterm>
<listitem>
<para><emphasis>Πολυχρηστικές δυνατότητες</emphasis> (multi-user facilities) οι οποίες επιτρέπουν σε
πολλά άτομα ταυτόχρονα να χρησιμοποιήσουν ένα σύστημα &os; για
διαφορετικά πράγματα. Αυτό σημαίνει, για παράδειγμα, ότι τα περιφερειακά
του συστήματος όπως εκτυπωτές και οδηγοί ταινιών είναι σωστά μοιρασμένα μεταξύ
των χρηστών του συστήματος ή του δικτύου και πως μπορούν να τεθούν
συγκεκριμένες οριοθετήσεις σε χρήστες ή γκρουπ χρηστών,
προστατεύοντας τους αδύναμους πόρους του συστήματος από υπερβολική χρήση.</para>
</listitem>
<indexterm><primary>TCP/IP networking</primary></indexterm>
<indexterm><primary>δικτυακές δυνατότητες TCP/IP</primary></indexterm>
<listitem>
<para>Σταθερές δυνατότητες δικτύωσης <emphasis>TCP/IP</emphasis> (TCP/IP networking) με
υποστήριξη για τα βιομηχανικά πρότυπα όπως SLIP, PPP, NFS, DHCP,
και NIS. Αυτό σημαίνει πως ένα &os; μηχάνημα μπορεί να
αλληλεπιδρά εύκολα με άλλα συστήματα και να εργάζεται σαν
εταιρικός εξυπηρετητής, υποστηρίζοντας λειτουργίες ζωτικής σημασίας, όπως NFS
(απομακρυσμένη πρόσβαση σε αρχεία) και υπηρεσίες ηλεκτρονικής
αλληλογραφίας (e-mail), τη διασύνδεση του οργανισμού σας στο διαδίκτυο
ή υπηρεσίες WWW, FTP, routing και firewall(ασφαλείας).</para>
</listitem>
<indexterm><primary>memory protection</primary></indexterm>
<indexterm><primary>προστασία μνήμης</primary></indexterm>
<listitem>
<para>Η <emphasis>προστασία της μνήμης</emphasis> (memory protection) εξασφαλίζει ότι
οι διάφορες εφαρμογές (ή οι χρήστες) δεν αλληλεπιδρούν μεταξύ τους. Μια
εφαρμογή που παρουσιάζει κάποιο πρόβλημα δε μπορεί να επηρεάσει άλλες με κανέναν τρόπο.</para>
</listitem>
<listitem>
<para>Το &os; είναι <emphasis>32-bit</emphasis> λειτουργικό
σύστημα (<emphasis>64-bit</emphasis> σε Alpha, &itanium;, AMD64, και &ultrasparc;) και
σχεδιάστηκε με αυτόν τον τρόπο εξαρχής.</para>
</listitem>
<indexterm>
<primary>X Window System</primary>
<seealso>XFree86</seealso>
</indexterm>
<listitem>
<para>Το βιομηχανικό στάνταρ <emphasis>X Window System</emphasis>
(X11R6) προσφέρει ένα γραφικό περιβάλλον χρήσης (GUI) στο κόστος
μιας κοινής κάρτας VGA και ενός μόνιτορ και δίδεται πλήρης με όλες
τις πηγές.</para>
</listitem>
<indexterm>
<primary>συμβατότητα εκτελέσιμων</primary>
<secondary>Linux</secondary>
</indexterm>
<indexterm>
<primary>συμβατότητα εκτελέσιμων</primary>
<secondary>SCO</secondary>
</indexterm>
<indexterm>
<primary>συμβατότητα εκτελέσιμων</primary>
<secondary>SVR4</secondary>
</indexterm>
<indexterm>
<primary>συμβατότητα εκτελέσιμων</primary>
<secondary>BSD/OS</secondary>
</indexterm>
<indexterm>
<primary>συμβατότητα εκτελέσιμων</primary>
<secondary>NetBSD</secondary>
</indexterm>
<listitem>
<para><emphasis>Συμβατότητα εκτελέσιμων</emphasis> με πολλά
προγράμματα προσχεδιασμένα για Linux, SCO, SVR4, BSDI και NetBSD.</para>
</listitem>
<listitem>
<para>Χιλιάδες <emphasis>έτοιμες-προς-εκτέλεση</emphasis>
εφαρμογές είναι διαθέσιμες από την συλλογή
<emphasis>Ports</emphasis> και <emphasis>packages</emphasis>
για το &os;. Γιατί να ψάχνετε στο διαδίκτυο όταν μπορείτε να τα βρείτε
όλα εδώ;</para>
</listitem>
<listitem>
<para>Χιλιάδες επιπρόσθετες και
<emphasis>ευκόλως-μεταφερόμενες</emphasis> εφαρμογές είναι διαθέσιμες
στο διαδίκτυο. Το &os; έχει πηγαίο κώδικα συμβατό με τα πιο
διάσημα εμπορικά συστήματα &unix; και επομένως οι περισσότερες εφαρμογές
χρειάζονται λίγες, έως καθόλου, μετατροπές για να μεταγλωττιστούν (compile).</para>
</listitem>
<indexterm><primary>virtual memory</primary></indexterm>
<listitem>
<para>Δυναμική σελιδοποίηση <emphasis>εικονικής μνήμης</emphasis> και
<quote>ολοκληρωμένο VM/buffer cache</quote> δυναμικά σχεδιασμένο
ικανοποιεί τις εφαρμογές με αυξημένες ανάγκες σε μνήμη μνήμη, χωρίς
αυτό να καθυστερεί την απόκριση σε άλλους χρήστες.</para>
</listitem>
<indexterm>
<primary>Symmetric Multi-Processing (SMP)</primary>
</indexterm>
<indexterm>
<primary>Συμμετρική Πολυ-Επεξεργασία (SMP)</primary>
</indexterm>
<listitem>
<para>Υποστήριξη μηχανών <emphasis>SMP</emphasis> με
πολλαπλές CPU.</para>
</listitem>
<indexterm>
<primary>compilers</primary>
<secondary>C</secondary>
</indexterm>
<indexterm>
<primary>compilers</primary>
<secondary>C++</secondary>
</indexterm>
<indexterm>
<primary>compilers</primary>
<secondary>FORTRAN</secondary>
</indexterm>
<listitem>
<para>Ολοκληρωμένο συμπλήρωμα εργαλειών ανάπτυξης για
<emphasis>C</emphasis>, <emphasis>C++</emphasis>,
και <emphasis>Fortran</emphasis>.
Είναι επίσης διαθέσιμες πολλές επιπρόσθετες γλώσσες για
έρευνα και ανάπτυξη λογισμικού, μέσω της συλλογής των Ports και προμεταγλωττισμένων
πακέτων.</para>
</listitem>
<indexterm><primary>πηγαίος κώδικας</primary></indexterm>
<listitem>
<para><emphasis>Η διαθεσιμότητα του πηγαίου κώδικα</emphasis> ολόκληρου
του συστήματος σημαίνει ότι έχετε τον υψηλότερο βαθμό ελέγχου στο
περιβάλλον σας. Γιατί να είστε κλειδωμένοι σε ένα αδειοδοτημένο σύστημα και
να είστε εξαρτημένοι από τον οίκτο του προμηθευτή σας όταν μπορείτε να έχετε ένα πραγματικά ανοιχτό
σύστημα;</para>
</listitem>
<listitem>
<para>Εκτεταμένη <emphasis>τεκμηρίωση
online</emphasis>.</para>
</listitem>
<listitem>
<para><emphasis>Και πολλά άλλα!</emphasis></para>
</listitem>
</itemizedlist>
<indexterm><primary>4.4BSD-Lite</primary></indexterm>
<indexterm>
<primary>Computer Systems Research Group (CSRG)</primary>
</indexterm>
<indexterm><primary>U.C. Berkeley</primary></indexterm>
<para>Το &os; βασίζεται στην έκδοση 4.4BSD-Lite του Computer
Systems Research Group (CSRG) του Πανεπιστημίου της Καλιφόρνιας του
Berkeley, και φέρει την διακεκριμένη παράδοση στην ανάπτυξη
συστημάτων BSD. Επιπρόσθετα στο εξαίρετο έργο που παρείχε το CSRG, το
&os; Project ξόδεψε πολλές χιλιάδες ώρες στο να ρυθμίσει τέλεια
το σύστημα για μέγιστες επιδόσεις και αξιοπιστία για καθημερινές
καταστάσεις πραγματικού φόρτου εργασίας. Αν και πολλοί εμπορικοί κολοσσοί
δυσκολεύονται να προσφέρουν λειτουργικά συστήματα με τέτοια χαρακτηριστικά,
επιδόσεις και αξιοπιστία, το &os; μπορεί να τα προσφέρει
<emphasis>τώρα</emphasis>!</para>
<para>Οι εφαρμογές στις οποίες μπορεί να χρησιμοποιηθεί το &os;
είναι πραγματικά οριοθετημένες μόνο απ'την φαντασία σας. Από ανάπτυξη
λογισμικού μέχρι αυτοματισμούς εργοστασίων, από ελέγχους απογραφής
μέχρι την διόρθωση του αζιμούθιου απομακρυσμένων δορυφορικών κεραιών' εάν μπορεί να γίνει με ένα εμπορικό
προϊόν &unix; τότε είναι περισσότερο από πιθανό ότι μπορείτε να το κάνετε
και με το &os;! Το &os; επίσης οφελείται σημαντικά από
κυριολεκτικά χιλιάδες εφαρμογές υψηλής ποιότητος ανεπτυγμένες από
κέντρα ερευνών και πανεπιστήμια απ'όλο τον κόσμο, συχνά
διαθέσιμες σε χαμηλό ή δίχως κόστος. Διατίθονται επίσης εμπορικές
εφαρμογές σε νούμερο ολοένα αυξανόμενο καθημερινά.</para>
<para>Αφού ο πηγαίος κώδικας του ίδιου του &os; είναι
κανονικά διαθέσιμος, το σύστημα μπορεί επίσης να προσαρμοστεί
σε αφάνταστα υψηλό επίπεδο για ειδικές εφαρμογές ή projects,
και με τρόπους γενικά μη πραγματοποιήσιμους σε άλλα λειτουργικά
εμπορικών προμηθευτών. Εδώ είναι μόνο μερικά παραδείγματα από
εφαρμογές που υποστηρίζονται επί του παρόντος από το &os;:</para>
<itemizedlist>
<listitem>
<para><emphasis>Υπηρεσίες Ίντερνετ:</emphasis> Το ρωμαλέο σύστημα
δικτύου TCP/IP του &os; το αναδεικνύει σε ιδεώδη πλατφόρμα για
μια μεγάλη γκάμα υπηρεσιών Ίντερνετ όπως:</para>
<itemizedlist>
<indexterm><primary>FTP servers</primary></indexterm>
<listitem>
<para>FTP servers</para>
</listitem>
<indexterm><primary>web servers</primary></indexterm>
<listitem>
<para>World Wide Web servers (στάνταρ ή ασφαλείας
[SSL])</para>
</listitem>
<indexterm><primary>firewall</primary></indexterm>
<indexterm><primary>NAT</primary></indexterm>
<listitem>
<para>Firewalls και NAT (<quote>IP masquerading</quote>)
gateways</para>
</listitem>
<indexterm>
<primary>ηλεκτρονικό ταχυδρομείο</primary>
<see>email</see>
</indexterm>
<indexterm>
<primary>email</primary>
</indexterm>
<listitem>
<para>Servers ηλεκτρονικού ταχυδρομείου</para>
</listitem>
<indexterm><primary>USENET</primary></indexterm>
<listitem>
<para>USENET News ή Bulletin Board Systems</para>
</listitem>
<listitem>
<para>Και άλλα...</para>
</listitem>
</itemizedlist>
<para>Με το &os;, μπορείτε εύκολα να ξεκινήσετε από χαμηλά με
ένα ανέξοδο PC της οικογένειας 386 και καθώς η επιχείρηση σας μεγαλώνει
να αναβαθμίσετε σε ένα τετραπύρηνο επεξεργαστή Xeon με
δίσκους RAID.</para>
</listitem>
<listitem>
<para><emphasis>Εκπαίδευση:</emphasis> Είστε φοιτητής
πληροφορικής ή μηχανικός σε σχετικό τομέα; Δεν υπάρχει
καλύτερος τρόπος να μάθετε για λειτουργικά συστήματα,
αρχιτεκτονικές Η/Υ και συστήματα δικτύων απ'την πρακτική εμπειρία και την
εκ βάθους γνώση που το &os; μπορεί να παρέχει. Επίσης μεγάλο νούμερο
δωρεάν διαθέσιμων πακέτων CAD εφαρμογών, γραφικής σχεδίασης και μαθηματικών
το κάνουν αναγκαστικά χρήσιμο για όσους η κύρια ασχολία στους Η/Υ
είναι να παίρνουν την δουλειά <emphasis>άλλων</emphasis> και
να γίνεται!</para>
</listitem>
<listitem>
<para><emphasis>Έρευνα:</emphasis> Με διαθέσιμο τον πηγαίο
κώδικα ολόκληρου του συστήματος, το &os; είναι μία
εξαίρετη πλατφόρμα για την έρευνα στα λειτουργικά συστήματα
όπως επίσης για άλλους κλάδους της πληροφορικής. Η φύση της
ελεύθερης διάθεσης του &os; επιτρέπει επίσης σε απομακρυσμένες
ομάδες να συνεργάζονται σε ιδέες ή να μοιράζονται την ανάπτυξη
δίχως ειδικές άδειες ή οριοθετήσεις για οιοδήποτε μπορεί να είναι το υπό
συζήτηση θέμα σε ανοιχτά forums.</para>
</listitem>
<indexterm><primary>router</primary></indexterm>
<indexterm><primary>DNS Server</primary></indexterm>
<listitem>
<para><emphasis>Networking:</emphasis> Χρειάζεσαι ένα καινούργιο router;
Ένα DNS server; Ένα firewall για να κρατάς τον κόσμο έξω
από το εσωτερικό σου δίκτυο; Το &os; μπορεί εύκολα να μετατρέψει
εκείνο τον άχρηστο 386 ή εκείνο το PC 486 που κάθεται στην γωνία σε ένα
προηγμένο router με εξεζητημένες δυνατότητες φιλτραρίσματος πακέτων.</para>
</listitem>
<indexterm>
<primary>Σύστημα X Window</primary>
<secondary>XFree86</secondary>
</indexterm>
<indexterm>
<primary>Σύστημα X Window</primary>
<secondary>Accelerated-X</secondary>
</indexterm>
<listitem>
<para><emphasis>Σταθμός εργασίας με X Window:</emphasis> Το &os;
είναι μια εξαίρετη επιλογή για οικονομική λύση τερματικού X
χρησιμοποιώντας τον ελεύθερα διαθέσιμο server X11.
Αντί ενός
τερματικού X, το FreeBSD επιτρέπει να εκτελούνται τοπικά
πολλές εφαρμογές εάν το επιθυμείτε, και έτσι να αφαιρείται φορτίο
από τον κεντρικό server. To FreeBSD μπορεί να τεθεί σε εκκίνηση <quote>χωρίς δίσκο</quote>,
κάνοντας τους προσωπικούς σταθμούς εργασίας ακόμη πιο φτηνούς και ευκολότερα
διαχειρίσιμους.</para>
</listitem>
<indexterm><primary>GNU Compiler Collection</primary></indexterm>
<listitem>
<para><emphasis>Ανάπτυξη Λογισμικού:</emphasis> Το βασικό
σύστημα του &os; διατίθεται ολοκληρωμένα με συμπληρώματα εργαλειών
ανάπτυξης περιλαμβάνοντας το ονομαστό GNU C/C++ compiler και
debugger.</para>
</listitem>
</itemizedlist>
<para>Το &os; είναι διαθέσιμο σε πηγαία και σε δυαδική φόρμα σε CDROM,
DVD,
και μέσω ανώνυμου FTP. Παρακαλώ δείτε τους <xref linkend="mirrors">
για περισσότερες πληροφορίες για το πως ν'αποκτήσετε το &os;.</para>
</sect2>
<sect2>
<title>Ποιός χρησιμοποιεί &os;</title>
<indexterm>
<primary>χρήστες</primary>
<secondary>μεγάλες τοποθεσίες που τρέχουν &os;</secondary>
</indexterm>
<para>Το &os; χρησιμοποιείται για να τροφοδοτεί μερικές απ'τις μεγαλύτερες τοποθεσίες στο
Ίντερνετ, συμπεριλαμβάνοντας:</para>
<itemizedlist>
<indexterm><primary>Yahoo!</primary></indexterm>
<listitem>
<para><ulink url="http://www.yahoo.com/">Yahoo!</ulink></para>
</listitem>
<indexterm><primary>Apache</primary></indexterm>
<listitem>
<para><ulink url="http://www.apache.org/">Apache</ulink></para>
</listitem>
<indexterm><primary>Blue Mountain Arts</primary></indexterm>
<listitem>
<para><ulink url="http://www.bluemountain.com/">Blue Mountain
Arts</ulink></para>
</listitem>
<indexterm><primary>Pair Networks</primary></indexterm>
<listitem>
<para><ulink url="http://www.pair.com/">Pair
Networks</ulink></para>
</listitem>
<indexterm><primary>Sony Japan</primary></indexterm>
<listitem>
<para><ulink url="http://www.sony.co.jp/">Sony
Japan</ulink></para>
</listitem>
<indexterm><primary>Netcraft</primary></indexterm>
<listitem>
<para><ulink url="http://www.netcraft.com/">Netcraft</ulink>
</para>
</listitem>
<indexterm><primary>Weathernews</primary></indexterm>
<listitem>
<para><ulink url="http://www.wni.com/">Weathernews</ulink>
</para></listitem>
<indexterm><primary>Supervalu</primary></indexterm>
<listitem>
<para><ulink
url="http://www.supervalu.com/">Supervalu</ulink></para>
</listitem>
<indexterm><primary>TELEHOUSE America</primary></indexterm>
<listitem>
<para><ulink url="http://www.telehouse.com/">TELEHOUSE
America</ulink></para>
</listitem>
<indexterm><primary>Sophos Anti-Virus</primary></indexterm>
<listitem>
<para><ulink url="http://www.sophos.com/">Sophos
Anti-Virus</ulink></para>
</listitem>
<indexterm><primary>JMA Wired</primary></indexterm>
<listitem>
<para><ulink
url="http://www.jmawired.com/">JMA Wired</ulink></para>
</listitem>
</itemizedlist>
<para>και πολλές ακόμη.</para>
</sect2>
</sect1>
<sect1 id="history">
<title>Πληροφορίες για το &os; Project</title>
<para>Το ακόλουθο τμήμα παρέχει μερικές πληροφορίες σχετικές με
το project, συμπεριλαμβάνοντας μια σύντομη ιστορία του FreeBSD, τους στόχους, και
το μοντέλο ανάπτυξης του project.</para>
<sect2 id="intro-history">
<sect2info role="firstperson">
<authorgroup>
<author>
<firstname>Jordan</firstname>
<surname>Hubbard</surname>
<contrib>Συνεισφορά του </contrib>
</author>
</authorgroup>
</sect2info>
<title>Μια σύντομη ιστορία του &os;</title>
<indexterm><primary>386BSD Patchkit</primary></indexterm>
<indexterm><primary>Hubbard, Jordan</primary></indexterm>
<indexterm><primary>Williams, Nate</primary></indexterm>
<indexterm><primary>Grimes, Rod</primary></indexterm>
<indexterm>
<primary>&os; Project</primary>
<secondary>history</secondary>
</indexterm>
<para>To &os; project γεννήθηκε στις αρχές του 1993,
μερικώς σαν εξέλιξη του <quote>Unofficial 386BSD
Patchkit</quote> από τους 3 τελευταίους συντονιστές του patchkit: Nate
Williams, Rod Grimes και από μένα.</para>
<indexterm><primary>386BSD</primary></indexterm>
<para>Ο πρωταρχικός στόχος μας ήταν να παράγουμε μία μέτρια αντιγραφή του
386BSD ώστε να διορθώσουμε μερικά προβλήματα που ο μηχανισμός του
patchkit δεν ήταν ικανός να τα λύσει. Μερικοί από σας
ίσως να θυμούνται πως ο αρχικός τίτλος εργασίας για το project ήταν
<quote>386BSD 0.5</quote> ή <quote>386BSD Interim</quote> με
αναφορά σε αυτό το γεγονός.</para>
<indexterm><primary>Jolitz, Bill</primary></indexterm>
<para>Το 386BSD ήταν το λειτουργικό σύστημα του Bill Jolitz, το οποίο είχε
φτάσει σε τέτοιο σημείο υποφέροντας βαρέως την σχεδόν ενός έτους
αδιαφορία. Καθώς το patchkit φούσκωνε ολοένα και περισσότερο
με το πέρασμα των ημερών, είμασταν σε ομόθυμη συμφωνία πως κάτι
θα έπρεπε να γίνει και αποφασίσαμε να συμπαρασταθούμε στον Bill παρέχοντας του
αυτό το interim <quote>cleanup</quote> snapshot. Αυτά τα σχέδια είχαν
ένα απότομο σταμάτημα όταν ξαφνικά ο Bill Jolitz αποφάσισε να αναιρέσει την
έγκρυση του στο project δίχως μια ξεκάθαρη ένδειξη του τι θα έπρεπε να
γίνει.</para>
<indexterm><primary>Greenman, David</primary></indexterm>
<indexterm><primary>Walnut Creek CDROM</primary></indexterm>
<para>Δεν μας πήρε πολύ να αποφασίσουμε πως ο στόχος παρέμενε
αξιόλογος, ακόμη και χωρίς την βοήθεια του Bill, και έτσι υιοθετήσαμε το
όνομα <quote>&os;</quote>, επινοημένο από τον David Greenman. Οι αρχικοί
στόχοι μας τέθηκαν αφού συμβουλευτήκαμε τους χρήστες του συστήματος εκείνης
της εποχής και, όταν έγινε ξεκάθαρο πως το project είχε πάρει σωστή πορεία και
ίσως έτεινε να γίνει πραγματικότητα, ήρθα σε επαφή με την Walnut Creek CDROM
μ'ένα βλέμμα βελτίωσης των καναλιών διανομής του &os; για εκείνους τους
πολλούς άτυχους δίχως εύκολη πρόσβαση στο Ίντερνετ.
Η Walnut Creek CDROM όχι μόνο υποστήριξε την ιδέα διανομής του
&os; σε CD αλλά επίσης πήγε τόσο μακριά ώστε να παρέχει στο project μια
μηχανή εργασίας και μια γρήγορη σύνδεση στο Ίντερνετ. Δίχως τον βαθμό πίστης
της Walnut Creek CDROM σε αυτό που ήταν, εκείνο τον καιρό, ένα εντελώς άγνωστο
project, είναι πολύ απίθανο το &os; να είχε φτάσει τόσο μακριά,
και τόσο γρήγορα, όπως σήμερα.</para>
<indexterm><primary>4.3BSD-Lite</primary></indexterm>
<indexterm><primary>Net/2</primary></indexterm>
<indexterm><primary>U.C. Berkeley</primary></indexterm>
<indexterm><primary>386BSD</primary></indexterm>
<indexterm><primary>Free Software Foundation</primary></indexterm>
<para>Η πρώτη διανομή CDROM (και γενικά ευρείας διαδόσεως στο δίκτυο) ήταν
η &os;&nbsp;1.0, που κυκλοφόρησε τον Δεκέμβρη του 1993. Αυτή βασιζόταν σε μια
ταινία της 4.3BSD-Lite (<quote>Net/2</quote>)του U.C. Berkeley, με
πολλά στοιχεία προσφερόμενα από την 386BSD και την Free Software
Foundation. Ήταν μια αξίως δίκαιη επιτυχία για πρώτη
προσπάθεια , και την συνεχίσαμε με την υψηλότερα επιτυχημένη έκδοση &os;
1.1 που κυκλοφόρησε τον Μάϊο του 1994.</para>
<indexterm><primary>Novell</primary></indexterm>
<indexterm><primary>U.C. Berkeley</primary></indexterm>
<indexterm><primary>Net/2</primary></indexterm>
<indexterm><primary>AT&amp;T</primary></indexterm>
<para>Περίπου εκείνη την περίοδο, σχηματίστηκαν απρόσμενα στον ορίζοντα
σύννεφα καταιγίδας καθώς η Novell και το U.C. Berkeley τακτοποίησαν
την μακράς διαρκείας δικαστική διαμάχη νομικού δικαίου για την ταινία
Net/2. Μία πλευρά αυτής της συμφωνίας ήταν η παραχώριση του U.C. Berkeley
ότι μεγάλο μέρος του Net/2 ήταν <quote>επιβαρυμένος</quote>
κώδικας και ιδιοκτησία της Novell, η οποία με την σειρά της το απέκτησε από
AT&amp;T λίγο καιρό πριν. Το Berkeley αυτό που πήρε ως αντάλλαγμα ήταν τις
<quote>ευλογίες</quote> της Novell ότι η έκδοση 4.4BSD-Lite, όταν τελικά
θα ολοκληρωνόταν, θα δηλωνόταν ως μη επιβαρυμένος και όλοι οι υπαρκτοί
χρήστες Net/2 ένθερμα θα ενθαρρύνονταν να μετατοπιστούν. Αυτό
συμπεριλάμβανε το &os;, και στο project δώθηκε χρόνος μέχρι τον Ιούλιο
του 1994 να σταματήσει τις παραδόσεις των προϊόντων βασισμένες στο Net/2. Υπό
τους όρους αυτής της συμφωνίας, στο project επετράπη μια τελευταία έκδοση
πριν την λήξη προθεσμίας, και αυτή ήταν η έκδοση &os;&nbsp;1.1.5.1.</para>
<para>Το &os; τότε τέθηκε στη δυσχερή θέση κυριολεκτικά να
ξανα-ανακαλύψει τον εαυτό του από ένα σύνολο από bit του 4.4BSD-Lite εντελώς
καινούργιο και κυρίως ατελές. Οι εκδόσεις <quote>Lite</quote> ήταν
light(ελαφρύς) κατά μέρους επειδή το CSRG του Berkeley είχε αφαιρέσει μεγάλο όγκο
ζητούμενου κώδικα για να κατασκευάσει πραγματικά ένα εκκινήσιμο λειτουργικά σύστημα
(λόγω διαφόρων νομικών ζητημάτων) και επί μέρους λόγω του ότι το port για Intel
της 4.4 ήταν σε υψηλό βαθμό ατελές. Πήρε καιρό στο project μέχρι τον Νοέμβριο του
1994 για να γίνει η μετάβαση, και σε αυτό το σημείο
κυκλοφόρησε η &os;&nbsp;2.0 στο δίκτυο και σε CDROM (τέλη Δεκέμβρη).
Παρά το γεγονός ότι ήταν ακόμη αρκετά πρόχειρη μέσες άκρες,
η έκδοση ήταν μια σημαντική επιτυχία και την ακολούθησε η
πιο ισχυρή και ευκολότερη προς την εγκατάσταση έκδοση &os;&nbsp;2.0.5 τον Ιούνιο
του 1995.</para>
<para>Κυκλοφορήσαμε την &os;&nbsp;2.1.5 τον Αύγουστο του 1996, και φάνηκε
να είναι αρκετά δημοφιλής στους ISP και στις εμπορικές κοινότητες τόσο που
άξιζε άλλο ένα παρακλάδι στον κορμό της 2.1-STABLE. Αυτή ήταν η
&os;&nbsp;2.1.7.1, κυκλοφόρησε τον Φεβρουάριο του 1997 και ήταν η αποκορύφωση
της κύριας ανάπτυξης στην 2.1-STABLE. Τώρα μόνο σε κατάσταση συντήρησης,
θα γίνονται μόνο βελτιώσεις ασφαλείας και άλλες κριτικές διορθώσεις bug
σε αυτό τον κορμό (RELENG_2_1_0).</para>
<para>Η &os;&nbsp;2.2 διακλαδώθηκε από την ανάπτυξη της κύριας γραμμής
(<quote>-CURRENT</quote>) τον Νοέμβριο του 1996 σαν παρακλάδι της RELENG_2_2,
και η πρώτη πλήρη release (2.2.1) κυκλοφόρησε τον Απρίλιο του
1997. Πρόσθετες releases κατά μήκος του κορμού 2.2 δώθηκαν το
καλοκαίρι και το φθινόπωρο του '97, η τελευταία των οποίων (η 2.2.8) εμφανίστηκε
τον Νοέμβρη του 1998. Η πρώτη επίσημη 3.0 release εμφανίστηκε τον
Οκτώβριο του 1998 και στιγμάτισε την αρχή του τέλους για το
παρακλάδι 2.2.</para>
<para>Ο κορμός διακλαδώθηκε πάλι τον Ιανουάριο 20, 1999, οδηγώντας στην
4.0-CURRENT και στο παρακλάδι 3.X-STABLE. Από την 3.X-STABLE, η 3.1
κυκλοφόρησε τον 15 Φεβρουαρίου 1999, η 3.2 στις 15 Μαΐου 1999, η 3.3 στις
16 Σεπτεμβρίου 1999, η 3.4 στις 20 Δεκεμβρίου του, 1999, και η 3.5 στις
24 Ιουνίου 2000, την οποία ακολούθησε λίγες μέρες μετά μία αναβάθμιση
χαμηλότερου σημείου απ'την 3.5.1, για να συμπεριληφθούν τελευταία στιγμή
κάποια λάθη ασφαλείας στο Kerberos. Αυτή θα ήταν και η τελική release στον κορμό
της 3.X .</para>
<para>Υπήρξε άλλο παρακλάδι στις 13 Μαρτίου 2000, που είδε την
ανάγκη για ένα νέο κορμό 4.X-STABLE. Υπήρξαν διάφορες releases
από τότε: Η 4.0-RELEASE κυκλοφόρησε τον Μάρτιο του 2000, και
η τελευταία 4.11-RELEASE βγήκε τον Ιανουάριο του 2005.</para>
<para>Μετά από μεγάλο χρονικό διάστημα αναμονής η 5.0-RELEASE ανακοινώθηκε στις 19 Ιανουαρίου
του 2003. Με το αποκορύφωμα σχεδόν τριών χρόνων εργασίας, με αυτή την
release ξεκίνησε το &os; στο μονοπάτι των εξελιγμένων πολυεπεξεργαστών
και την υποστήριξη των εφαρμογών thread και εισήγαγε υποστήριξη για τις
πλατφόρμες &ultrasparc; και <literal>ia64</literal>. Αυτήν την release
ακολούθησε η 5.1 τον Ιούνιο του 2003. Η τελευταία 5.X release από τον
κορμό της -CURRENT ήταν η 5.2.1-RELEASE, που προστέθηκε τον Φεβρουάριο του 2004.</para>
<para>Ο κορμός της RELENG_5, δημιουργήθηκε τον Αύγουστο του 2004, ακολούθησε η
5.3-RELEASE, η οποία σημάδεψε την αρχή του κορμού των 5-STABLE releases.
Η πιο πρόσφατη &rel2.current;-RELEASE εισήχθη την &rel2.current.date;.
Θα υπάρχουν πρόσθετες releases από τον κορμό της RELENG_5.</para>
<para>Ο κορμός διακλαδώθηκε πάλι τον Ιούλιο του 2005, αυτή τη φορά για την RELENG_6.
6.0-RELEASE, την πρώτη release της σειράς 6.X, που κυκλοφόρησε τον
Νοέμβριο του 2005. Η πιο πρόσφατη &rel.current;-RELEASE βγήκε την
&rel.current.date;. Θα υπάρχουν πρόσθετες releases από τον κορμό
της RELENG_6.</para>
<para>Για την ώρα, μακροπρόθεσμα σχέδια ανάπτυξης συνεχίζουν να υφίστανται στον
κορμό της 7.X-CURRENT, και στις SNAPshot releases της 7.X σε
CDROM (και, φυσικά, στο δίκτυο) είναι συνεχώς διαθέσιμα από
τον <ulink url="ftp://current.&os;.org/pub/&os;/snapshots/">
snapshot server</ulink> ενώ οι εργασίες είναι σε εξέλιξη.</para>
</sect2>
<sect2 id="goals">
<sect2info>
<authorgroup>
<author>
<firstname>Jordan</firstname>
<surname>Hubbard</surname>
<contrib>Συνεισφορά του </contrib>
</author>
</authorgroup>
</sect2info>
<title>&os; Project Goals</title>
<indexterm>
<primary>&os; Project</primary>
<secondary>goals</secondary>
</indexterm>
<para>Οι στόχοι του &os; Project είναι να παρέχει λογισμικό που
θα μπορεί να χρησιμοποιηθεί για οποιαδήποτε περίσταση και δίχως δεσμεύσεις.
Πολλοί από μας έχουν κάνει σημαντική επένδυση στον κώδικα (και το project) και
σίγουρα δε θα πείραζε πότε πότε μια μικρή οικονομική συνεισφορά,
αλλά σίγουρα δεν είμαστε έτοιμοι για να επιμείνουμε σ'αυτό. Εμείς πιστεύουμε
ότι η πρωταρχική και σπουδαιότερη <quote>αποστολή</quote> μας είναι να
παρέχουμε κώδικα σε υπάρχοντες και μελλοντικούς χρήστες, και για οποιοδήποτε σκοπό
ώστε ο κώδικας να έχει ευρεία διάδοση και να είναι το περισσότερο
δυνατόν ωφέλιμος . Αυτό είναι, πιστεύω, ένας απ'τους σημαντικότερους
στόχους του Ελεύθερου Λογισμικού και ένας απ'τους οποίους με ενθουσιασμό
υποστηρίζουμε.</para>
<indexterm>
<primary>GNU General Public License (GPL)</primary>
</indexterm>
<indexterm>
<primary>GNU Lesser General Public License (LGPL)</primary>
</indexterm>
<indexterm><primary>BSD Copyright</primary></indexterm>
<para>Εκείνος ο κώδικας του πηγαίου κορμού μας που έγκυται υπό την GNU
General Public License (GPL) ή την Library General Public License
(LGPL) έρχεται με ελαφρώς περισσότερες επισυναπτόμενες γραμμές, αν και
τουλάχιστον από πλευράς ενδυνάμωσης της πρόσβασης παρά για το
αντίθετο. Λόγω των επιπρόσθετων επιπλοκών που μπορούν να εξελιχθούν
στην εμπορή χρήση GPL λογισμικού, ωστόσο, προτιμούμε
το λογισμικό να υποβάλλεται υπό το χαλαρότερο BSD copyright όταν
είναι η πιο λογική επιλογή να γίνει έτσι.</para>
</sect2>
<sect2 id="development">
<sect2info>
<authorgroup>
<author>
<firstname>Satoshi</firstname>
<surname>Asami</surname>
<contrib>Συνεισφορά του </contrib>
</author>
</authorgroup>
</sect2info>
<title>Το Μοντέλο ΑΝάπτυξης του &os;</title>
<indexterm>
<primary>&os; Project</primary>
<secondary>μοντέλο ανάπτυξης</secondary>
</indexterm>
<para>Η ανάπτυξη του &os; είναι μία πολύ ανοιχτή και ευέλικτη
διαδικασία, αφού είναι κυριολεκτικά θεμελιωμένη από την συνεισφορά
εκατοντάδων ανθρώπων απ'όλο τον κόσμο, όπως μπορείτε να δείτε από
την <ulink
url="&url.articles.contributors;/article.html">λίστα των
συνεργατών</ulink> μας. Η υποδομή ανάπτυξης του &os; επιτρέπει
στα εκατοντάδες μέλη της ομάδας ανάπτυξης να συνεργάζονται μέσω του Ίντερνετ.
Εϊμαστε σταθερά σε αναζήτηση για νέα μέλη στην ομάδα ανάπτυξης και
για ιδέες, και όσοι ενδιαφέρονται να ασχοληθούν ακόμη περισσότερο
με το project χρειάζεται απλά να επικοινωνήσουν μαζί μας στο &a.hackers;.
Επίσης το &a.announce; είναι διαθέσιμο για όσους επιθυμούν
να ενημερώνουν άλλους χρήστες του &os; για τους κύριους
τομείς εργασίας.</para>
<para>Χρήσιμα πράγματα που πρέπει να γνωρίζετε για το &os; project και
την διαδικασία ανάπτυξης του, είτε δουλεύετε ανεξάρτητοι είτε ως στενοί
συνεργάτες:</para>
<variablelist>
<varlistentry>
<term>Το CVS repository<anchor
id="development-cvs-repository"></term>
<indexterm>
<primary>CVS</primary>
<secondary>repository</secondary>
</indexterm>
<indexterm>
<primary>Concurrent Versions System</primary>
<see>CVS</see>
</indexterm>
<listitem>
<para>Ο κεντρικός κορμός κώδικα του &os; συντηρείται από το
<ulink url="http://ximbiot.com/cvs/wiki/">CVS</ulink>
(Concurrent Versions System), ένα ελεύθερα διαθέσιμο εργαλείο ελέγχου
πηγαίου κώδικα που προσφέρεται ενσωματωμένο στο &os;. Το κύριο
<ulink url="http://www.&os;.org/cgi/cvsweb.cgi">CVS
repository</ulink> βρίσκεται σε μία μηχανή στην Santa Clara CA, USA
απ'όπου αντιγράφεται σε μεγάλο αριθμό μηχανών mirror
σε όλο τον κόσμο. Ο κορμός CVS, ο οποίος περιέχει τους κορμούς <link
linkend="current">-CURRENT</link> και <link
linkend="stable">-STABLE</link>,
μπορεί επίσης εύκολα να αντιγραφεί και στην δικιά σας μηχανή.
Παρακούμε για περισσότερες πληροφορίες στο πως να το κάνετε σας παραπέμπουμε
στον τομέα <link linkend="synching">Συγχρονίζοντας τον κορμό του
κώδικα σας</link>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Η λίστα των committers<anchor
id="development-committers"></term>
<indexterm><primary>committers</primary></indexterm>
<listitem>
<para>Οι <firstterm>committers</firstterm>
είναι άτομα που έχουν άδεια <emphasis>εγγραφής(write)</emphasis> στον
κορμό του CVS, και είναι εξουσιοδοτημένοι να κάνουν μετατροπές
στον κώδικα του &os; (ο όρος <quote>committer</quote>
προέρχεται από την εντολή &man.cvs.1; <command>commit</command>
, η οποία χρησιμοποιείται για να γίνουν νέες αλλαγές στο CVS
repository). Ο καλύτερος τρόπος για να τεθούν αλλαγές προς αναθεώρηση
εκ μέρους της λίστας των committers είναι να χρησιμοποιείται η εντολή
&man.send-pr.1;. Εάν κάτι φαίνεται μπλοκαρισμένο στο
σύστημα, τότε μπορείτε να τους προσεγγίσετε στέλνοντας email
στην &a.committers;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>The &os; core team<anchor id="development-core"></term>
<indexterm><primary>core team</primary></indexterm>
<listitem>
<para>Η <firstterm>&os; core team</firstterm>
θα ήταν ισοδύναμη με το διοικητικό συμβούλιο αν το &os;
Project ήταν μια ανώνυμη εταιρεία. Ο πρωταρχικός στόχος της
core team είναι να εξασφαλίσει ότι το project, στο σύνολο του,
είναι σε καλή κατάσταση και να το οδηγεί προς την σωστή κατεύθυνση.
Μια απ'τις λειτουργίες της core team είναι να προσκαλεί νέα μέλη
στην ομάδα ανάπτυξης να ενσωματωθούν υπεύθυνα και αφοσιωμένα
στην ομάδα των committers ώστε να προχωρούν με τους υπολοίπους.
Η παρούσα core team εκλέχτηκε από ένα σύνολο από υποψηφίους committer
τον Ιούλιο του 2006. Εκλογές διεξάγονται κάθε 2 χρόνια.
</para>
<para>Μερικά μέλη της core team έχουν επίσης ειδικούς τομείς
ευθύνης, και αυτό σημαίνει πως είναι εντεταλμένοι να
εξασφαλίσουν ότι για μεγάλο μέρος του συστήματος θα δουλεύει όπως
έχει εξαγγελθεί. Για μια ολοκληρωμένη λίστα της ομάδας ανάπτυξης του &os;
και των τομέων ευθύνης τους, παρακαλούμε δείτε την <ulink
url="&url.articles.contributors;/article.html">Contributors
List</ulink></para>
<note>
<para>Τα περισσότερα μέλη του core team είναι εθελοντές όσον
αφορά την ανάπτυξη του &os; και δεν έχουν προνόμια
οικονομικής φύσεως από το project, επομένως η <quote>δέσμευση</quote> δεν θα
έπρεπε να παρερμηνεύεται ως <quote>εγγυημένη υποστήριξη</quote>.
Η παραπάνω παρομοίωση με το <quote>διοικητικό συμβούλιο</quote>
δεν είναι πολύ ακριβής, και ίσως να έπρεπε πιο κατάλληλα να πούμε
είναι εκείνοι οι άνθρωποι που θυσίασαν τις ζωές τους για χάρη
του &os; ενάντια στην καλύτερη τους
κρίση!</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>Εξωτερικοί συνεργάτες</term>
<indexterm><primary>συνεργάτες</primary></indexterm>
<listitem>
<para>Τελευταίο, αλλά οπωσδήποτε όχι μικρότερης σημασίας, η μεγαλύτερη ομάδα
ανάπτυξης είναι οι ίδιοι οι χρήστες που μας παρέχουν feedback και
διορθώσεις των bug σε σχεδόν σταθερή βάση. Ο κύριος
τρόπος για να κρατάμε επαφή με την μη συγκεντρωτική ομάδα ανάπτυξης του &os;
είναι να γινόμαστε συνδρομητές στο &a.hackers; όπου κάποια πράγματα
συζητιούνται. Δείτε <xref
linkend="eresources"> για περισσότερες πληροφορίες περί
των διαφόρων mailing lists του &os;.</para>
<para><citetitle><ulink
url="&url.articles.contributors;/article.html">Η
Λίστα Συνεργατών του &os;</ulink></citetitle> είναι μεγάλη
και συνεχώς αυξανόμενη, επομένως γιατί να μην γίνετε μέλος της και να
συμβάλλετε σήμερα σε κάτι στο &os;;</para>
<para>Το να παρέχετε κώδικα δεν είναι ο μόνος τρόπος για να συμβάλλετε
στο project' για μια πιο ολοκληρωμένη λίστα από πράγματα που μπορείτε
να κάνετε, ακολουθήστε παρακαλώ την παραπομπή στο<ulink
url="&url.base;/index.html">&os; Project web
site</ulink>.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Συνοψίζοντας, το μοντέλο ανάπτυξης μας είναι οργανωμένο σαν ένα λυτό σύνολο
ομόκεντρων κύκλων. Το συγκεντρωτικό μοντέλο είναι σχεδιασμένο για να
διευκολύνει τους <emphasis>χρήστες</emphasis> του &os;, στους οποίους
παρέχεται με εύκολο τρόπο ώστε να ακολουθούν τα ίχνη ενός βασικού κώδικα,
και όχι για να αποκλείουμε πιθανούς συνεργάτες! Επιθυμία μας είναι να
παρουσιάσουμε ένα σταθερό λειτουργικό σύστημα σε συνάρτηση με μια μεγάλη
γκάμα από <link linkend="ports">προγράμματα εφαρμογών</link> που οι χρήστες να
μπορούν εύκολα να εγκαθιστούν και να χρησιμοποιούν &mdash; για την εκπλήρωση
αυτών, το μοντέλο αυτό δουλεύει πολύ καλά.</para>
<para>Το μόνο που ζητάμε απ'όσους ενδιαφέρονται να ενωθούν μαζί μας στην ομάδα
ανάπτυξης του &os; είναι λίγη απ'την ίδια αφοσίωση της τωρινή ομάδας
για μια συνεχή πορεία στην επιτυχία του.</para>
</sect2>
<sect2 id="relnotes">
<title>Η &os; Current Release</title>
<indexterm><primary>NetBSD</primary></indexterm>
<indexterm><primary>OpenBSD</primary></indexterm>
<indexterm><primary>386BSD</primary></indexterm>
<indexterm><primary>Free Software Foundation</primary></indexterm>
<indexterm><primary>U.C. Berkeley</primary></indexterm>
<indexterm>
<primary>Computer Systems Research Group (CSRG)</primary>
</indexterm>
<para>Το &os; είναι ελεύθερα διαθέσιμο, βασίζεται ολόκληρο στους πηγαίους κώδικες του 4.4BSD-Lite
ανεπτυγμένο για Intel &i386;, &i486;, &pentium;,
&pentium;&nbsp;Pro,
&celeron;,
&pentium;&nbsp;II,
&pentium;&nbsp;III,
&pentium;&nbsp;4 (or compatible),
&xeon;, DEC <trademark>Alpha</trademark>
και Sun &ultrasparc; συστήματα ηλεκτρονικών υπολογιστών.
Πρωταρχικά βασίστηκε στο software της ομάδας U.C. Berkeley
CSRG, με κάποιες βελτιώσεις από τα NetBSD, OpenBSD, 386BSD, και
το Free Software Foundation.</para>
<para>Από την release του &os;&nbsp;2.0 στα τέλη του 1994, η απόδοση,
το σύνολο των χαρακτηριστικών, και η σταθερότητα του &os; καλυτέρεψε σημαντικά.
<!-- XXX το υπόλοιπο αυτής της παραγράφου είναι ακόμη αληθινό ? -->
Η μεγαλύτερη αλλαγή είναι η διόρθωση του συστήματος εικονικής μνήμης(virtual memory)
με ένα ολοκληρωμένο VM/file buffer cache το οποίο όχι μόνο αυξάνει την απόδοση, αλλά
επίσης μειώνεται η ζήτηση για μνήμη απ'το &os;, κάνοντας μια ρύθμιση 5&nbsp;MB το
περισσότερο αποδεκτό ελάχιστο. Άλλες βελτιώσεις περιέχονται όπως πλήρης υποστήριξη
σε NIS client και server, υποστήριξη συναλλαγών TCP, dial-on-demand PPP,
ενσωματωμένη υποστήριξη DHCP, ένα βελτιωμένο υποσύστημα SCSI, υποστήριξη ISDN,
υποστήριξη για ATM, FDDI, Fast και Gigabit Ethernet (1000&nbsp;Mbit)
αντάπτορες, βελτιωμένη υποστήριξη για τους τελευταίους Adaptec controllers, και
πολλές χιλιάδες διορθώσεις λαθών(bug).</para>
<para>Επιπρόσθετα στις βασικές διανομές, το &os; προσφέρει μια
συλλογή software που φέρει χιλιάδες προγράμματα καθημερινών
χρήσεων. Την παρούσα στιγμή που γράφουμε, υπάρχουν
πάνω από &os.numports; πόρτες(ports)! Η λίστα των ports ξεκινάει από
http (WWW) servers, μέχρι παιχνίδια, γλώσσες προγραμματισμού, κειμενογράφους,
και ενδιάμεσα εμπεριέχονται σχεδόν τα πάντα. Η συνολική Συλλογή Ports απαιτεί
προσεγγιστικά &ports.size; αποθηκευτικό χώρο, αφού όλες οι ports εκφράζονται
με <quote>deltas</quote> των αυθεντικών πηγών τους. Το γεγονός αυτό μας επιτρέπει
να αναβαθμίσουμε τις ports πολύ ευκολότερα, και μειώνει δραστικά τις
απαιτήσεις σε σκληρό δίσκο που υπήρχαν από την παλαιότερη Συλλογή Ports 1.0 . Για
να μεταγλωττιστεί (compile) μια port, απλά μεταβείτε στην directory του
προγράμματος που επιθυμείτε να εγκαταστήσετε, πληκτρολογήστε <command>make
install</command>, και αφήστε το σύστημα να κάνει τα υπόλοιπα. Ολόκληρη
η αυθεντική διανομή για κάθε port που χτίζετε (build) παρέχεται δυναμικά
από το CDROM ή από μία τοπική FTP τοποθεσία, επομένως χρειάζεστε μόνο
αρκετό σκληρό δίσκο για να χτίσετε (build) τις ports που θέλετε. Σχεδόν
κάθε port επίσης παρέχεται και σαν προ-μεταγλωττισμένο(pre-compiled)
<quote>package</quote>, το οποίο μπορεί να εγκατασταθεί με μια
απλή εντολή (<command>pkg_add</command>) για εκείνους που δεν επιθυμούν να
να μεταγλωττίζουν(compile) τις ports τους από τον πηγαίο. Περισσότερες πληροφορίες
για τα packages και τις ports μπορείτε να βρείτε στο <xref linkend="ports">.</para>
<para>Μεγάλο νούμερο από επιπλέον τεκμηρίωση την οποία μπορεί να βρείτε πολύ χρήσιμη
για την διαδικασία εγκατάστασης και χρήσης του &os; μπορεί επίσης να βρεθεί
στην directory <filename>/usr/share/doc</filename> οποιασδήποτε σύγχρονης
μηχανής &os;. Μπορείτε να δείτε τα εγχειρίδια εγκατεστημένα τοπικά
με κάθε κατάλληλο HTML browser χρησιμοποιώντας τις ακόλουθες
URLs:</para>
<variablelist>
<varlistentry>
<term>Το Εγκειρίδιο Χρήσης &os;</term>
<listitem>
<para><ulink type="html"
url="file://localhost/usr/share/doc/handbook/index.html"><filename>/usr/share/doc/handbook/index.html</filename></ulink></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Συνήθεις ερωτήσεις στο &os; (FAQ)</term>
<listitem>
<para><ulink type="html"
url="file://localhost/usr/share/doc/faq/index.html"><filename>/usr/share/doc/faq/index.html</filename></ulink></para>
</listitem>
</varlistentry>
</variablelist>
<para>Μπορείτε επίσης να δείτε τα αυθεντικά (και πιο συχνά αναβαθμισμένα)
αντίγραφα στο <ulink
url="http://www.&os;.org/"></ulink>.</para>
</sect2>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->

View file

@ -0,0 +1,943 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="jails">
<chapterinfo>
<authorgroup>
<author>
<firstname>Matteo</firstname>
<surname>Riondato</surname>
<contrib>ÓõíåéóöïñÜ áðü ôïí </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>Jails</title>
<indexterm><primary>jails</primary></indexterm>
<sect1 id="jails-synopsis">
<title>Óýíïøç</title>
<para>Ôï êåöÜëáéï áõôü åîçãåß ôé åßíáé ôá jails (öõëáêÝò) óôï &os; êáé
ðùò ÷ñçóéìïðïéïýíôáé. Ôá jails, ðïõ ïñéóìÝíåò öïñÝò áíáöÝñïíôáé óáí
ìéá åíéó÷õìÝíç åíáëëáêôéêÞ ëýóç ãéá <emphasis>ðåñéâÜëëïíôá chroot
</emphasis>, åßíáé Ýíá éó÷õñü åñãáëåßï ãéá äéá÷åéñéóôÝò óõóôçìÜôùí, áëëÜ
ç âáóéêÞ ôïõò ÷ñÞóç ìðïñåß íá åðßóçò íá åßíáé ÷ñÞóéìç óå ðñï÷ùñçìÝíïõò
÷ñÞóôåò.</para>
<para>Áöïý äéáâÜóåôå áõôü ôï êåöÜëáéï, èá îÝñåôå:</para>
<itemizedlist>
<listitem>
<para>Ôé åßíáé ôï jail êáé ôé óêïðü ìðïñåß íá åîõðçñåôÞóåé óå
åãêáôáóôÜóåéò &os;.</para>
</listitem>
<listitem>
<para>Ðùò íá öôéÜîåôå, íá åêêéíÞóåôå, êáé íá óôáìáôÞóåôå Ýíá jail.
</para>
</listitem>
<listitem>
<para>Ôá âáóéêÜ ôçò äéá÷åßñéóçò ôïõ jail, ôüóï ìÝóá, üóï êáé Ýîù
áðü áõôü.</para>
</listitem>
</itemizedlist>
<para>¶ëëåò ðçãÝò ÷ñÞóéìùí ðëçñïöïñéþí ó÷åôéêÜ ìå ôá jails åßíáé:</para>
<itemizedlist>
<listitem>
<para>Ç óåëßäá manual ôïõ &man.jail.8;. ÐåñéÝ÷åé ðëÞñç áíáöïñÜ
ôïõ âïçèçôéêïý ðñïãñÜììáôïò <command>jail</command> &mdash;
ôïõ äéá÷åéñéóôéêïý åñãáëåßïõ ðïõ ìðïñåß íá ÷ñçóéìïðïéçèåß óôï &os;
ãéá ôçí åêêßíçóç, äéáêïðÞ êáé Ýëåã÷ï ôùí jails.</para>
</listitem>
<listitem>
<para>Ïé ëßóôåò ôá÷õäñïìåßïõ êáé ôá áñ÷åßá ôïõò. Ôá áñ÷åßá áðü ôçí
&a.questions.name; êáé Üëëåò ëßóôåò ðïõ åîõðçñåôïýíôáé áðü ôïí
&a.mailman.lists; ðåñéÝ÷ïõí ðëÞñç ïäçãü ãéá ôá jails. Åßíáé ðÜíôïôå
åíäéáöÝñïí íá øÜ÷íåôå ôá áñ÷åßá Þ íá äçìïóéåýåôå íÝåò åñùôÞóåéò
óôç ëßóôá &a.questions.name;.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="jails-terms">
<title>Terms Related to Jails</title>
<para>To facilitate better understanding of parts of the &os; system
related to jails, their internals and the way they interact with
the rest of &os;, the following terms are used further in this
chapter:</para>
<variablelist>
<varlistentry>
<term>&man.chroot.2; (command)</term>
<listitem>
<para>A system call of &os;, which changes the root directory of a
process and all its descendants.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&man.chroot.2; (environment)</term>
<listitem>
<para>The environment of processes running in
a <quote>chroot</quote>. This includes resources such as the part
of the file system which is visible, user and group IDs which are
available, network interfaces and other IPC mechanisms,
etc.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&man.jail.8; (command)</term>
<listitem>
<para>The system administration utility which allows launching of
processes within a jail environment.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>host (system, process, user, etc.)</term>
<listitem>
<para>The controlling system of a jail environment. The host system
has access to all the hardware resources available, and can
control processes both outside of and inside a jail environment.
One of the important differences of the host system from a jail is
that the limitations which apply to superuser processes inside a
jail are not enforced for processes of the host system.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>hosted (system, process, user, etc.)</term>
<listitem>
<para>A process, user or other entity, whose access to resources is
restricted by an &os; jail.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="jails-intro">
<title>Introduction</title>
<para>Since system administration is a difficult and perplexing
task, many powerful tools were developed to make life easier for
the administrator. These tools mostly provide enhancements of some sort
to the way systems are installed, configured and maintained.
Part of the tasks which an administrator is
expected to do is to properly configure the security of a system,
so that it can continue serving its real purpose, without allowing
security violations.</para>
<para>One of the tools which can be used to enhance the security of
a &os; system are <emphasis>jails</emphasis>. Jails were
introduced in &os;&nbsp;4.X by &a.phk;, but were greatly improved in
&os;&nbsp;5.X to make them a powerful and flexible subsystem. Their
development still goes on, enhancing their usefulness, performance, reliability,
and security.</para>
<sect2 id="jails-what">
<title>What is a Jail</title>
<para>BSD-like operating systems have had &man.chroot.2; since the
time of 4.2BSD. The &man.chroot.8; utility can be used to
change the root directory
of a set of processes, creating a safe environment, separate
from the rest of the system. Processes created in the chrooted
environment can not access files or resources outside of it.
For that reason, compromising a service running in a chrooted
environment should not allow the attacker to compromise the
entire system. The &man.chroot.8; utility is good for easy
tasks, which do not require a lot of flexibility or complex and
advanced features. Since the inception of the
chroot concept, however, many ways have been found to escape from a
chrooted environment and, although they have been fixed in
modern versions of the &os; kernel, it was clear that
&man.chroot.2; was not the ideal solution for securing services.
A new subsystem had to be implemented.</para>
<para>This is one of the main reasons why
<emphasis>jails</emphasis> were developed.</para>
<para>Jails improve on the concept of the traditional
&man.chroot.2; environment, in several ways. In a traditional
&man.chroot.2; environment, processes are only limited in the
part of the file system they can access. The rest of the system
resources (like the set of system users, the running processes,
or the networking subsystem) are shared by the chrooted
processes and the processes of the host system. Jails expand
this model by virtualizing not only access to the file system,
but also the set of users, the networking subsystem of the &os;
kernel and a few other things. A more complete set of
fine-grained controls available for tuning the access of a
jailed environment is described in <xref
linkend="jails-tuning">.</para>
<para>A jail is characterized by four elements:</para>
<itemizedlist>
<listitem>
<para>A directory subtree &mdash; the starting point from
which a jail is entered. Once inside the jail, a process
is not permitted to escape outside of this subtree.
Traditional security issues which plagued the original
&man.chroot.2; design will not affect &os; jails.</para>
</listitem>
<listitem>
<para>A hostname &mdash; the hostname which will be used
within the jail. Jails are mainly used for hosting network
services, therefore having a descriptive hostname for each
jail can really help the system administrator.</para>
</listitem>
<listitem>
<para>An <acronym>IP</acronym> address &mdash; this will be
assigned to the jail and cannot be changed in any way during
the jail's life span. The IP address of a jail is usually an alias address
for an existing network interface, but this is not strictly necessary.</para>
</listitem>
<listitem>
<para>A command &mdash; the path name of an executable to run
inside the jail. This is relative to the root directory of
the jail environment, and may vary a lot, depending on the
type of the specific jail environment.</para>
</listitem>
</itemizedlist>
<para>Apart from these, jails can have their own set of users and
their own <username>root</username> user. Naturally, the powers
of the <username>root</username> user are limited within the
jail environment and, from the point of view of the host system,
the jail <username>root</username> user is not an omnipotent user.
In addition, the <username>root</username> user of a jail is not
allowed to perform critical operations to the system outside of
the associated &man.jail.8; environment. More information
about capabilities and restrictions of the
<username>root</username> user will be discussed in <xref
linkend="jails-tuning"> below.</para>
</sect2>
</sect1>
<sect1 id="jails-build">
<title>Creating and Controlling Jails</title>
<para>Some administrators divide jails into the following two types:
<quote>complete</quote> jails, which resemble a real &os; system,
and <quote>service</quote> jails, dedicated to one application or
service, possibly running with privileges. This is only a
conceptual division and the process of building a jail is not
affected by it. The &man.jail.8; manual page is quite clear about
the procedure for building a jail:</para>
<screen>&prompt.root; <userinput>setenv D <replaceable>/here/is/the/jail</replaceable></userinput>
&prompt.root; <userinput>mkdir -p $D</userinput> <co id="jailpath">
&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make world DESTDIR=$D</userinput> <co id="jailworld">
&prompt.root; <userinput>cd etc/</userinput> <footnote><para>This step
is not required on &os; 6.0 and later.</para></footnote>
&prompt.root; <userinput>make distribution DESTDIR=$D</userinput> <co id="jaildistrib">
&prompt.root; <userinput>mount_devfs devfs $D/dev</userinput> <co id="jaildevfs"></screen>
<calloutlist>
<callout arearefs="jailpath">
<para>Selecting a location for a jail is the best starting point.
This is where the jail will physically reside within the file system of the jail's host.
A good choice can be <filename
role="directory">/usr/jail/<replaceable>jailname</replaceable></filename>,
where <replaceable>jailname</replaceable> is the hostname
identifying the jail. The <filename
role="directory">/usr/</filename> file system usually has
enough space for the jail file system, which for <quote>complete</quote> jails is, essentially,
a replication of every file present in a default installation
of the &os; base system.</para>
</callout>
<callout arearefs="jailworld">
<para>This command will populate the directory subtree chosen
as jail's physical location on the file system with the
necessary binaries, libraries, manual pages and so on.
Everything is done in the typical &os; style &mdash; first
everything is built/compiled, then installed to the
destination path.</para>
</callout>
<callout arearefs="jaildistrib">
<para>The <maketarget>distribution</maketarget> target for
<application>make</application> installs every needed
configuration file. In simple words, it installs every installable file of
<filename role="directory">/usr/src/etc/</filename> to the
<filename role="directory">/etc</filename> directory of the jail
environment:
<filename role="directory">$D/etc/</filename>.</para>
</callout>
<callout arearefs="jaildevfs">
<para>Mounting the &man.devfs.8; file system inside a jail is
not required. On the other hand, any, or almost any
application requires access to at least one device, depending
on the purpose of the given application. It is very important
to control access to devices from inside a jail, as improper
settings could permit an attacker to do nasty things in the
jail. Control over &man.devfs.8; is managed through rulesets
which are described in the &man.devfs.8; and
&man.devfs.conf.5; manual pages.</para>
</callout>
</calloutlist>
<para>Once a jail is installed, it can be started by using the
&man.jail.8; utility. The &man.jail.8; utility takes four
mandatory arguments which are described in the <xref
linkend="jails-what">. Other arguments may be
specified too, e.g., to run the jailed process with the credentials of a specific
user. The <option><replaceable>command</replaceable></option> argument depends on
the type of the jail; for a <emphasis>virtual system</emphasis>,
<filename>/etc/rc</filename> is a good choice, since it will
replicate the startup sequence of a real &os; system. For a
<emphasis>service</emphasis> jail, it depends on the service or
application that will run within the jail.</para>
<para>Jails are often started at boot time and the &os;
<filename>rc</filename> mechanism provides an easy way to do
this.</para>
<procedure>
<step>
<para>A list of the jails which are enabled to start at boot
time should be added to the &man.rc.conf.5; file:</para>
<programlisting>jail_enable="YES" # Set to NO to disable starting of any jails
jail_list="<replaceable>www</replaceable>" # Space separated list of names of jails</programlisting>
</step>
<step>
<para>For each jail listed in <varname>jail_list</varname>, a
group of &man.rc.conf.5; settings, which describe the
particular jail, should be added:</para>
<programlisting>jail_<replaceable>www</replaceable>_rootdir="/usr/jail/www" # jail's root directory
jail_<replaceable>www</replaceable>_hostname="<replaceable>www</replaceable>.example.org" # jail's hostname
jail_<replaceable>www</replaceable>_ip="192.168.0.10" # jail's IP address
jail_<replaceable>www</replaceable>_devfs_enable="YES" # mount devfs in the jail
jail_<replaceable>www</replaceable>_devfs_ruleset="<replaceable>www_ruleset</replaceable>" # devfs ruleset to apply to jail</programlisting>
<para>The default startup of jails configured in
&man.rc.conf.5;, will run the <filename>/etc/rc</filename>
script of the jail, which assumes the jail is a complete
virtual system. For service jails, the default startup
command of the jail should be changed, by setting the
<varname>jail_<replaceable>jailname</replaceable>_exec_start</varname>
option appropriately.</para>
<note>
<para>For a full list of available options, please see the
&man.rc.conf.5; manual page.</para>
</note>
</procedure>
<para>The <filename>/etc/rc.d/jail</filename> script can be used to
start or stop a jail by hand, if an entry for it exists in
<filename>rc.conf</filename>:</para>
<screen>&prompt.root; <userinput>/etc/rc.d/jail start <replaceable>www</replaceable></userinput>
&prompt.root; <userinput>/etc/rc.d/jail stop <replaceable>www</replaceable></userinput></screen>
<para>A clean way to shut down a &man.jail.8; is not available at
the moment. This is because commands normally used to accomplish
a clean system shutdown cannot be used inside a jail. The best
way to shut down a jail is to run the following command from
within the jail itself or using the &man.jexec.8; utility from
outside the jail:</para>
<screen>&prompt.root; <userinput>sh /etc/rc.shutdown</userinput></screen>
<para>More information about this can be found in the &man.jail.8;
manual page.</para>
</sect1>
<sect1 id="jails-tuning">
<title>Fine Tuning and Administration</title>
<para>There are several options which can be set for any jail, and
various ways of combining a host &os; system with jails, to produce
higher level applications. This section presents:</para>
<itemizedlist>
<listitem>
<para>Some of the options available for tuning the behavior and
security restrictions implemented by a jail
installation.</para>
</listitem>
<listitem>
<para>Some of the high-level applications for jail management,
which are available through the &os; Ports Collection, and can
be used to implement overall jail-based solutions.</para>
</itemizedlist>
<sect2 id="jails-tuning-utilities">
<title>System tools for jail tuning in &os;</title>
<para>Fine tuning of a jail's configuration is mostly done by
setting &man.sysctl.8; variables. A special subtree of sysctl
exists as a basis for organizing all the relevant options: the
<varname>security.jail.*</varname> hierarchy of &os; kernel
options. Here is a list of the main jail-related sysctls,
complete with their default value. Names should be
self-explanatory, but for more information about them, please
refer to the &man.jail.8; and &man.sysctl.8; manual
pages.</para>
<itemizedlist>
<listitem>
<para><varname>security.jail.set_hostname_allowed:
1</varname></para>
</listitem>
<listitem>
<para><varname>security.jail.socket_unixiproute_only:
1</varname></para>
</listitem>
<listitem>
<para><varname>security.jail.sysvipc_allowed:
0</varname></para>
</listitem>
<listitem>
<para><varname>security.jail.enforce_statfs:
2</varname></para>
</listitem>
<listitem>
<para><varname>security.jail.allow_raw_sockets:
0</varname></para>
</listitem>
<listitem>
<para><varname>security.jail.chflags_allowed:
0</varname></para>
</listitem>
<listitem>
<para><varname>security.jail.jailed: 0</varname></para>
</listitem>
</itemizedlist>
<para>These variables can be used by the system administrator of
the <emphasis>host system</emphasis> to add or remove some of
the limitations imposed by default on the
<username>root</username> user. Note that there are some
limitations which cannot be removed. The
<username>root</username> user is not allowed to mount or
unmount file systems from within a &man.jail.8;. The
<username>root</username> inside a jail may not load or unload
&man.devfs.8; rulesets, set firewall rules, or do many other
administrative tasks which require modifications of in-kernel
data, such as setting the <varname>securelevel</varname> of the
kernel.</para>
<para>The base system of &os; contains a basic set of tools for
viewing information about the active jails, and attaching to a
jail to run administrative commands. The &man.jls.8; and
&man.jexec.8; commands are part of the base &os; system, and can be used
to perform the following simple tasks:</para>
<itemizedlist>
<listitem>
<para>Print a list of active jails and their corresponding
jail identifier (<acronym>JID</acronym>),
<acronym>IP</acronym> address, hostname and path.</para>
</listitem>
<listitem>
<para>Attach to a running jail, from its host system, and run
a command inside the jail or perform administrative tasks inside the
jail itself. This is especially useful when the
<username>root</username> user wants to cleanly shut down a
jail. The &man.jexec.8; utility can also be used to start a
shell in a jail to do administration in it; for
example:</para>
<screen>&prompt.root; <userinput>jexec <replaceable>1</replaceable> tcsh</userinput></screen>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="jails-tuning-admintools">
<title>High-level administrative tools in &os; Ports
Collection</title>
<para>Among the many third-party utilities for jail administration,
one of the most complete and useful is <filename
role="package">sysutils/jailutils</filename>. It is a set of
small applications that contribute to &man.jail.8; management.
Please refer to its web page for more information.</para>
</sect2>
</sect1>
<sect1 id="jails-application">
<title>Application of Jails</title>
<sect2 id="jails-service-jails">
<sect2info>
<authorgroup>
<author>
<firstname>Daniel</firstname>
<surname>Gerzo</surname>
<contrib>Contributed by </contrib>
<!-- 15. May 2007 -->
</author>
</authorgroup>
</sect2info>
<title>Service Jails</title>
<para>This section is based upon an idea originally presented by
&a.simon; at <ulink
url="http://simon.nitro.dk/service-jails.html"></ulink>, and an
updated article written by Ken Tom
<email>locals@gmail.com</email>. This section illustrates how
to set up a &os; system that adds an additional layer of
security, using the &man.jail.8; feature. It is also assumed
that the given system is at least running RELENG_6_0 and the
information provided earlier in this chapter has been well
understood.</para>
<sect3 id="jails-service-jails-design">
<title>Design</title>
<para>One of the major problems with jails is the management of
their upgrade process. This tends to be a problem because
every jail has to be rebuilt from scratch whenever it is
updated. This is usually not a problem for a single jail,
since the update process is fairly simple, but can be quite
time consuming and tedious if a lot of jails are
created.</para>
<warning>
<para>This setup requires advanced experience with &os; and
usage of its features. If the presented steps below look
too complicated, it is advised to take a look at a simpler
system such as <filename
role="package">sysutils/ezjail</filename>, which provides
an easier method of administering &os; jails and is not as
sophisticated as this setup.</para>
</warning>
<para>This idea has been presented to resolve such issues by
sharing as much as is possible between jails, in a safe way
&mdash; using read-only &man.mount.nullfs.8; mounts, so that
updating will be be simpler, and putting single services into
individual jails will become more attractive. Additionally,
it provides a simple way to add or remove jails as well as a
way to upgrade them.</para>
<note>
<para>Examples of services in this context are: an
<acronym>HTTP</acronym> server, a <acronym>DNS</acronym>
server, a <acronym>SMTP</acronym> server, and so forth.</para>
</note>
<para>The goals of the setup described in this section
are:</para>
<itemizedlist>
<listitem>
<para>Create a simple and easy to understand jail structure.
This implies <emphasis>not</emphasis> having to run a full
installworld on each and every jail.</para>
</listitem>
<listitem>
<para>Make it easy to add new jails or remove existing
ones.</para>
</listitem>
<listitem>
<para>Make it easy to update or upgrade existing
jails.</para>
</listitem>
<listitem>
<para>Make it possible to run a customized &os;
branch.</para>
</listitem>
<listitem>
<para>Be paranoid about security, reducing as much as
possible the possibility of compromise.</para>
</listitem>
<listitem>
<para>Save space and inodes, as much as possible.</para>
</listitem>
</itemizedlist>
<para>As it has been already mentioned, this design relies
heavily on having a single master template which is read-only
(known as <application>nullfs</application>) mounted into each
jail and one read-write device per jail. A device can be a
separate physical disc, a partition, or a vnode backed
&man.md.4; device. In this example, we will use read-write
<application>nullfs</application> mounts.</para>
<para>The file system layout is described in the following
list:</para>
<itemizedlist>
<listitem>
<para>Each jail will be mounted under the <filename
role="directory">/home/j</filename> directory.</para>
</listitem>
<listitem>
<para><filename role="directory">/home/j/mroot</filename> is
the template for each jail and the read-only partition for
all of the jails.</para>
</listitem>
<listitem>
<para>A blank directory will be created for each jail under
the <filename role="directory">/home/j</filename>
directory.</para>
</listitem>
<listitem>
<para>Each jail will have a <filename
role="directory">/s</filename> directory, that will be
linked to the read-write portion of the system.</para>
</listitem>
<listitem>
<para>Each jail shall have its own read-write system that is
based upon <filename
role="directory">/home/j/skel</filename>.</para>
</listitem>
<listitem>
<para>Each jailspace (read-write portion of each jail) shall
be created in <filename
role="directory">/home/js</filename>.<para>
</listitem>
</itemizedlist>
<note>
<para>This assumes that the jails are based under the
<filename role="directory">/home</filename> partition. This
can, of course, be changed to anything else, but this change
will have to be reflected in each of the examples
below.</para>
</note>
<!-- Insert an image or drawing here to illustrate the example. -->
</sect3>
<sect3 id="jails-service-jails-template">
<title>Creating the Template</title>
<para>This section will describe the steps needed to create the
master template that will be the read-only portion for the
jails to use.<para>
<para>It is always a good idea to update the &os; system to the
latest -RELEASE branch. Check the corresponding Handbook
<ulink url="&url.books.handbook;/makeworld.html">Chapter</ulink>
to accomplish this task. In the case the update is not
feasible, the buildworld will be required in order to be able
to proceed. Additionally, the <filename
role="package">sysutils/cpdup</filename> package will be
required. We will use the &man.portsnap.8; utility to
download the &os; Ports Collection. The Handbook <ulink
url="&url.books.handbook;/portsnap.html">Portsnap Chapter</ulink>
is always good reading for newcomers.</para>
<procedure>
<step>
<para>First, create a directory structure for the read-only
file system which will contain the &os; binaries for our
jails, then change directory to the &os; source tree and
install the read-only file system to the jail
template:</para>
<screen>&prompt.root; <userinput>mkdir /home/j /home/j/mroot</userinput>
&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make installworld DESTDIR=/home/j/mroot</userinput></screen>
</step>
<step>
<para>Next, prepare a &os; Ports Collection for the jails as
well as a &os; source tree, which is required for
<application>mergemaster</application>:</para>
<screen>&prompt.root; <userinput>cd /home/j/mroot</userinput>
&prompt.root; <userinput>mkdir usr/ports</userinput>
&prompt.root; <userinput>portsnap -p /home/j/mroot/usr/ports fetch extract</userinput>
&prompt.root; <userinput>cpdup /usr/src /home/j/mroot/usr/src</userinput></screen>
</step>
<step>
<para>Create a skeleton for the read-write portion of the
system:</para>
<screen>&prompt.root; <userinput>mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles</userinput>
&prompt.root; <userinput>mv etc /home/j/skel</userinput>
&prompt.root; <userinput>mv usr/local /home/j/skel/usr-local</userinput>
&prompt.root; <userinput>mv tmp /home/j/skel</userinput>
&prompt.root; <userinput>mv var /home/j/skel</userinput>
&prompt.root; <userinput>mv root /home/j/skel</userinput></screen>
</step>
<step>
<para>Use <application>mergemaster</application> to install
missing configuration files. Then get rid of the extra
directories that <application>mergemaster</application>
creates:</para>
<screen>&prompt.root; <userinput>mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i</userinput>
&prompt.root; <userinput>cd /home/j/skel</userinput>
&prompt.root; <userinput>rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev</userinput></screen>
</step>
<step>
<para>Now, symlink the read-write file system to the
read-only file system. Please make sure that the symlinks
are created in the correct <filename
role="directory">s/</filename> locations. Real
directories or the creation of directories in the wrong
locations will cause the installation to fail.</para>
<screen>&prompt.root; <userinput>cd /home/j/mroot</userinput>
&prompt.root; <userinput>mkdir s</userinput>
&prompt.root; <userinput>ln -s s/etc etc</userinput>
&prompt.root; <userinput>ln -s s/home home</userinput>
&prompt.root; <userinput>ln -s s/root root</userinput>
&prompt.root; <userinput>ln -s ../s/usr-local usr/local</userinput>
&prompt.root; <userinput>ln -s ../s/usr-X11R6 usr/X11R6</userinput>
&prompt.root; <userinput>ln -s ../../s/distfiles usr/ports/distfiles</userinput>
&prompt.root; <userinput>ln -s s/tmp tmp</userinput>
&prompt.root; <userinput>ln -s s/var var</userinput></screen>
</step>
<step>
<para>As a last step, create a generic
<filename>/home/j/skel/etc/make.conf</filename> with its
contents as shown below:</para>
<programlisting>WRKDIRPREFIX?= /s/portbuild</programlisting>
<para>Having <literal>WRKDIRPREFIX</literal> set up this
way will make it possible to compile &os; ports inside
each jail. Remember that the ports directory is part of
the read-only system. The custom path for
<literal>WRKDIRPREFIX</literal> allows builds to be done
in the read-write portion of every jail.</para>
</step>
</procedure>
</sect3>
<sect3 id="jails-service-jails-creating">
<title>Creating Jails</title>
<para>Now that we have a complete &os; jail template, we can
setup and configure the jails in
<filename>/etc/rc.conf</filename>. This example demonstrates
the creation of 3 jails: <quote>NS</quote>,
<quote>MAIL</quote> and <quote>WWW</quote>.<para>
<procedure>
<step>
<para>Put the following lines into the
<filename>/etc/fstab</filename> file, so that the
read-only template for the jails and the read-write space
will be available in the respective jails:</para>
<programlisting>/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</programlisting>
<note>
<para>Partitions marked with a 0 pass number are not
checked by &man.fsck.8; during boot, and partitions
marked with a 0 dump number are not backed up by
&man.dump.8;. We do not want
<application>fsck</application> to check
<application>nullfs</application> mounts or
<application>dump</application> to back up the read-only
nullfs mounts of the jails. This is why they are marked
with <quote>0&nbsp;0</quote> in the last two columns of
each <filename>fstab</filename> entry above.</para>
</note>
</step>
<step>
<para>Configure the jails in
<filename>/etc/rc.conf</filename>:</para>
<programlisting>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"</programlisting>
</step>
<step>
<para>Create the required mount points for the read-only
file system of each jail:</para>
<screen>&prompt.root; <userinput>mkdir /home/j/ns /home/j/mail /home/j/www</userinput></screen>
</step>
<step>
<para>Install the read-write template into each jail. Note
the use of <filename
role="package">sysutils/cpdup</filename>, which helps to
ensure that a correct copy is done of each
directory:</para>
<!-- keramida: Why is cpdup required here? Doesn't cpio(1)
already include adequate functionality for performing this
job *and* have the advantage of being part of the base
system of FreeBSD? -->
<screen>&prompt.root; <userinput>mkdir /home/js</userinput>
&prompt.root; <userinput>cpdup /home/j/skel /home/js/ns</userinput>
&prompt.root; <userinput>cpdup /home/j/skel /home/js/mail</userinput>
&prompt.root; <userinput>cpdup /home/j/skel /home/js/www</userinput></screen>
</step>
<step>
<para>In this phase, the jails are built and prepared to
run. First, mount the required file systems for each
jail, and then start them using the
<filename>/etc/rc.d/jail</filename> script:</para>
<screen>&prompt.root; <userinput>mount -a</userinput>
&prompt.root; <userinput>/etc/rc.d/jail start</userinput></screen>
</step>
</procedure>
<para>The jails should be running now. To check if they have
started correctly, use the &man.jls.8; command. Its output
should be similar to the following:</para>
<screen>&prompt.root; <userinput>jls</userinput>
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</screen>
<para>At this point, it should be possible to log onto each
jail, add new users or configure daemons. The
<literal>JID</literal> column indicates the jail
identification number of each running jail. Use the
following command in order to perform administrative tasks in
the jail whose <literal>JID</literal> is 3:</para>
<screen>&prompt.root; <userinput>jexec 3 tcsh</userinput></screen>
</sect3>
<sect3 id="jails-service-jails-upgrading">
<title>Upgrading</title>
<para>In time, there will be a need to upgrade the system to a
newer version of &os;, either because of a security issue, or
because new features have been implemented which are useful
for the existing jails. The design of this setup provides an
easy way to upgrade existing jails. Additionally, it
minimizes their downtime, as the jails will be brought down
only in the very last minute. Also, it provides a way to roll
back to the older versions should any problems occur.</para>
<procedure>
<step>
<para>The first step is to upgrade the host system in the
usual manner. Then create a new temporary read-only
template in <filename
role="directory">/home/j/mroot2</filename>.</para>
<screen>&prompt.root; <userinput>mkdir /home/j/mroot2</userinput>
&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make installworld DESTDIR=/home/j/mroot2</userinput>
&prompt.root; <userinput>cd /home/j/mroot2</userinput>
&prompt.root; <userinput>cpdup /usr/src usr/src</userinput>
&prompt.root; <userinput>mkdir s</userinput></screen>
<para>The <maketarget>installworld</maketarget> run creates
a few unnecessary directories, which should be
removed:</para>
<screen>&prompt.root; <userinput>chflags -R 0 var</userinput>
&prompt.root; <userinput>rm -R etc var root usr/local tmp</userinput></screen>
</step>
<step>
<para>Recreate the read-write symlinks for the master file
system:</para>
<screen>&prompt.root; <userinput>ln -s s/etc etc</userinput>
&prompt.root; <userinput>ln -s s/root root</userinput>
&prompt.root; <userinput>ln -s s/home home</userinput>
&prompt.root; <userinput>ln -s ../s/usr-local usr/local</userinput>
&prompt.root; <userinput>ln -s ../s/usr-X11R6 usr/X11R6</userinput>
&prompt.root; <userinput>ln -s s/tmp tmp</userinput>
&prompt.root; <userinput>ln -s s/var var</userinput></screen>
</step>
<step>
<para>The right time to stop the jails is now:</para>
<screen>&prompt.root; <userinput>/etc/rc.d/jail stop</userinput></screen>
</step>
<step>
<para>Unmount the original file systems:</para>
<!-- keramida: Shouldn't we suggest a short script-based
loop here, instead of tediously copying the same commands
multiple times? -->
<screen>&prompt.root; <userinput>umount /home/j/ns/s</userinput>
&prompt.root; <userinput>umount /home/j/ns</userinput>
&prompt.root; <userinput>umount /home/j/mail/s</userinput>
&prompt.root; <userinput>umount /home/j/mail</userinput>
&prompt.root; <userinput>umount /home/j/www/s</userinput>
&prompt.root; <userinput>umount /home/j/www</userinput></screen>
<note>
<para>The read-write systems are attached to the read-only
system (<filename role="directory">/s</filename>) and
must be unmounted first.</para>
</note>
</step>
<step>
<para>Move the old read-only file system and replace it with
the new one. This will serve as a backup and archive of the
old read-only file system should something go wrong. The
naming convention used here corresponds to when a new
read-only file system has been created. Move the original
&os; Ports Collection over to the new file system to save
some space and inodes:</para>
<screen>&prompt.root; <userinput>cd /home/j</userinput>
&prompt.root; <userinput>mv mroot mroot.20060601</userinput>
&prompt.root; <userinput>mv mroot2 mroot</userinput>
&prompt.root; <userinput>mv mroot.20060601/usr/ports mroot/usr</userinput></screen>
</step>
<step>
<para>At this point the new read-only template is ready, so
the only remaining task is to remount the file systems and
start the jails:</para>
<screen>&prompt.root; <userinput>mount -a</userinput>
&prompt.root; <userinput>/etc/rc.d/jail start</userinput></screen>
</step>
</procedure>
<para>Use &man.jls.8; to check if the jails started correctly.
Do not forget to run mergemaster in each jail. The
configuration files will need to be updated as well as the
rc.d scripts.</para>
</sect3>
</sect2>
</sect1>
</chapter>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,946 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="l10n">
<chapterinfo>
<authorgroup>
<author>
<firstname>Andrey</firstname>
<surname>Chernov</surname>
<contrib>ÓõíåéóöïñÜ áðü ôïí </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Michael C.</firstname>
<surname>Wu</surname>
<contrib>ÃñÜöôçêå îáíÜ áðü ôïí </contrib>
</author>
<!-- 30 Nv 2000 -->
</authorgroup>
</chapterinfo>
<title>ÔïðéêÝò Ñõèìßóåéò - ×ñÞóç êáé ñýèìéóç I18N/L10N</title>
<sect1 id="l10n-synopsis">
<title>Óýíïøç</title>
<para>Ôï &os; åßíáé Ýíá éäéáßôåñá áðïêåíôñùìÝíï Ýñãï ìå ÷ñÞóôåò êáé
åèåëïíôÝò óå ïëüêëçñï ôïí êüóìï. Ôï êåöÜëáéï áõôü óõæçôÜåé
ôéò äõíáôüôçôåò ôïðéêþí êáé äéåèíþí ñõèìßóåùí ôïõ &os; ïé ïðïßåò
åðéôñÝðïõí óå ÷ñÞóôåò ãëùóóþí åêôüò ôçò ÁããëéêÞò íá åêôåëÝóïõí
ðñáãìáôéêÞ åñãáóßá. ÕðÜñ÷ïõí ðïëëïß ðáñÜãïíôåò óôçí õëïðïßçóç ôïõ
ðëáéóßïõ i18n, ôüóï óå åðßðåäï óõóôÞìáôïò, üóï êáé åöáñìïãþí, êáé ãéá ôï
ëüãï áõôü, üðïõ ÷ñåéÜæåôáé, ðáñáðÝìðïõìå ôïí áíáãíþóôç óå ðéï
óõãêåêñéìÝíåò ðçãÝò ôåêìçñßùóçò.</para>
<para>Áöïý äéáâÜóåôå áõôü ôï êåöÜëáéï, èá îÝñåôå:</para>
<itemizedlist>
<listitem><para>Ðùò êùäéêïðïéïýíôáé ïé ãëþóóåò êáé ïé ôïðéêÝò ñõèìßóåéò
óôá óýã÷ñïíá ëåéôïõñãéêÜ óõóôÞìáôá.</para></listitem>
<listitem><para>Ðùò íá âÜëåôå ôïðéêÝò ñõèìßóåéò óôï êÝëõöïò óáò (login
shell).</para></listitem>
<listitem><para>Ðùò íá ñõèìßóåôå ôçí êïíóüëá ãéá ãëþóóåò åêôüò ôçò
ÁããëéêÞò.</para></listitem>
<listitem><para>Ðùò íá ÷ñçóéìïðïéÞóåôå áðïôåëåóìáôéêÜ ôï óýóôçìá X
Windows ìå äéáöïñåôéêÝò ãëþóóåò.</para></listitem>
<listitem><para>Ðïõ íá âñåßôå ðåñéóóüôåñåò ðëçñïöïñßåò ãéá ôç óõããñáöÞ
åöáñìïãþí óõìâáôþí ìå ôï ðñüôõðï i18n.</para></listitem>
</itemizedlist>
<para>Ðñéí äéáâÜóåôå áõôü ôï êåöÜëáéï, èá ðñÝðåé:</para>
<itemizedlist>
<listitem><para>Íá ãíùñßæåôå ðùò íá åãêáôáóôÞóåôå ðñüóèåôï ëïãéóìéêü
ôñßôïõ êáôáóêåõáóôÞ (<xref linkend="ports">).</para></listitem>
</itemizedlist>
</sect1>
<sect1 id="l10n-basics">
<title>The Basics</title>
<sect2>
<title>What Is I18N/L10N?</title>
<indexterm>
<primary>internationalization</primary>
<see>localization</see>
</indexterm>
<indexterm><primary>localization</primary></indexterm>
<para>Developers shortened internationalization into the term I18N,
counting the number of letters between the first and the last
letters of internationalization. L10N uses the same naming
scheme, coming from <quote>localization</quote>. Combined
together, I18N/L10N methods, protocols, and applications allow
users to use languages of their choice.</para>
<para>I18N applications are programmed using I18N kits under
libraries. It allows for developers to write a simple file and
translate displayed menus and texts to each language. We strongly
encourage programmers to follow this convention.</para>
</sect2>
<sect2>
<title>Why Should I Use I18N/L10N?</title>
<para>I18N/L10N is used whenever you wish to either view, input, or
process data in non-English languages.</para>
</sect2>
<sect2>
<title>What Languages Are Supported in the I18N Effort?</title>
<para>I18N and L10N are not FreeBSD specific. Currently, one can
choose from most of the major languages of the World, including
but not limited to: Chinese, German, Japanese, Korean, French,
Russian, Vietnamese and others.</para>
</sect2>
</sect1>
<sect1 id="using-localization">
<title>Using Localization</title>
<para>In all its splendor, I18N is not FreeBSD-specific and is a
convention. We encourage you to help FreeBSD in following this
convention.</para>
<indexterm><primary>locale</primary></indexterm>
<para>Localization settings are based on three main terms:
Language Code, Country Code, and Encoding. Locale names are
constructed from these parts as follows:</para>
<programlisting><replaceable>LanguageCode</replaceable>_<replaceable>CountryCode</replaceable>.<replaceable>Encoding</replaceable></programlisting>
<sect2>
<title>Language and Country Codes</title>
<indexterm><primary>language codes</primary></indexterm>
<indexterm><primary>country codes</primary></indexterm>
<para>In order to localize a FreeBSD system to a specific language
(or any other I18N-supporting &unix; like systems), the user needs to find out
the codes for the specify country and language (country
codes tell applications what variation of given
language to use). In addition, web
browsers, SMTP/POP servers, web servers, etc. make decisions based on
them. The following are examples of language/country codes:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Language/Country Code</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>en_US</entry>
<entry>English - United States</entry>
</row>
<row>
<entry>ru_RU</entry>
<entry>Russian for Russia</entry>
</row>
<row>
<entry>zh_TW</entry>
<entry>Traditional Chinese for Taiwan</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2>
<title>Encodings</title>
<indexterm><primary>encodings</primary></indexterm>
<indexterm><primary>ASCII</primary></indexterm>
<para>Some languages use non-ASCII encodings that are 8-bit, wide
or multibyte characters, see &man.multibyte.3; for more
details. Older applications do not recognize them
and mistake them for control characters. Newer applications
usually do recognize 8-bit characters. Depending on the
implementation, users may be required to compile an application
with wide or multibyte characters support, or configure it correctly.
To be able to input and process wide or multibyte characters, the <ulink
url="&url.base;/ports/index.html">FreeBSD Ports Collection</ulink> has provided
each language with different programs. Refer to the I18N
documentation in the respective FreeBSD Port.</para>
<para>Specifically, the user needs to look at the application
documentation to decide on how to configure it correctly or to
pass correct values into the configure/Makefile/compiler.</para>
<para>Some things to keep in mind are:</para>
<itemizedlist>
<listitem>
<para>Language specific single C chars character sets
(see &man.multibyte.3;), e.g.
ISO8859-1, ISO8859-15, KOI8-R, CP437.</para>
</listitem>
<listitem>
<para>Wide or multibyte encodings, e.g. EUC, Big5.</para>
</listitem>
</itemizedlist>
<para>You can check the active list of character sets at the
<ulink
url="http://www.iana.org/assignments/character-sets">IANA Registry</ulink>.</para>
<note>
<para>&os; use X11-compatible locale encodings instead.</para>
</note>
</sect2>
<sect2>
<title>I18N Applications</title>
<para>In the FreeBSD Ports and Package system, I18N applications
have been named with <literal>I18N</literal> in their names for
easy identification. However, they do not always support the
language needed.</para>
</sect2>
<sect2 id="setting-locale">
<title>Setting Locale</title>
<para>Usually it is sufficient to export the value of the locale name
as <envar>LANG</envar> in the login shell. This could be done in
the user's <filename>~/.login_conf</filename> file or in the
startup file of the user's shell (<filename>~/.profile</filename>,
<filename>~/.bashrc</filename>, <filename>~/.cshrc</filename>).
There is no need to set the locale subsets such as
<envar>LC_CTYPE</envar>, <envar>LC_CTIME</envar>. Please
refer to language-specific FreeBSD documentation for more
information.</para>
<para>You should set the following two environment variables in your configuration
files:</para>
<itemizedlist>
<indexterm><primary>POSIX</primary></indexterm>
<listitem>
<para><envar>LANG</envar> for &posix; &man.setlocale.3; family
functions</para>
</listitem>
<indexterm><primary>MIME</primary></indexterm>
<listitem>
<para><envar>MM_CHARSET</envar> for applications' MIME character
set</para>
</listitem>
</itemizedlist>
<para>This includes the user shell configuration, the specific application
configuration, and the X11 configuration.</para>
<sect3>
<title>Setting Locale Methods</title>
<indexterm><primary>locale</primary></indexterm>
<indexterm><primary>login class</primary></indexterm>
<para>There are two methods for setting locale, and both are
described below. The first (recommended one) is by assigning
the environment variables in <link linkend="login-class">login
class</link>, and the second is by adding the environment
variable assignments to the system's shell <link
linkend="startup-file">startup file</link>.</para>
<sect4 id="login-class">
<title>Login Classes Method</title>
<para>This method allows environment variables needed for locale
name and MIME character sets to be assigned once for every
possible shell instead of adding specific shell assignments to
each shell's startup file. <link linkend="usr-setup">User
Level Setup</link> can be done by an user himself and <link
linkend="adm-setup">Administrator Level Setup</link> require
superuser privileges.</para>
<sect5 id="usr-setup">
<title>User Level Setup</title>
<para>Here is a minimal example of a
<filename>.login_conf</filename> file in user's home
directory which has both variables set for Latin-1
encoding:</para>
<programlisting>me:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:</programlisting>
<indexterm><primary>Traditional Chinese</primary><secondary>BIG-5 encoding</secondary></indexterm>
<para>Here is an example of a
<filename>.login_conf</filename> that sets the variables
for Traditional Chinese in BIG-5 encoding. Notice the many
more variables set because some software does not respect
locale variables correctly for Chinese, Japanese, and Korean.</para>
<programlisting>#Users who do not wish to use monetary units or time formats
#of Taiwan can manually change each variable
me:\
:lang=zh_TW.Big5:\
:setenv=LC_ALL=zh_TW.Big:\
:setenv=LC_COLLATE=zh_TW.Big5:\
:setenv=LC_CTYPE=zh_TW.Big5:\
:setenv=LC_MESSAGES=zh_TW.Big5:\
:setenv=LC_MONETARY=zh_TW.Big5:\
:setenv=LC_NUMERIC=zh_TW.Big5:\
:setenv=LC_TIME=zh_TW.Big5:\
:charset=big5:\
:xmodifiers="@im=gcin": #Set gcin as the XIM Input Server</programlisting>
<para>See <link linkend="adm-setup">Administrator Level
Setup</link> and &man.login.conf.5; for more details.</para>
</sect5>
<sect5 id="adm-setup">
<title>Administrator Level Setup</title>
<para>Verify that the user's login class in
<filename>/etc/login.conf</filename> sets the correct
language. Make sure these settings
appear in <filename>/etc/login.conf</filename>:</para>
<programlisting><replaceable>language_name</replaceable>:<replaceable>accounts_title</replaceable>:\
:charset=<replaceable>MIME_charset</replaceable>:\
:lang=<replaceable>locale_name</replaceable>:\
:tc=default:</programlisting>
<para>So sticking with our previous example using Latin-1, it
would look like this:</para>
<programlisting>german:German Users Accounts:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:\
:tc=default:</programlisting>
<para>Before changing users Login Classes execute
the following command:</para>
<screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen>
<para>to make new configuration in
<filename>/etc/login.conf</filename> visible to the system.</para>
<bridgehead renderas=sect4>Changing Login Classes with &man.vipw.8;</bridgehead>
<indexterm>
<primary><command>vipw</command></primary>
</indexterm>
<para>Use <command>vipw</command> to add new users, and make
the entry look like this:</para>
<programlisting>user:password:1111:11:<replaceable>language</replaceable>:0:0:User Name:/home/user:/bin/sh</programlisting>
<bridgehead renderas=sect4>Changing Login Classes with &man.adduser.8;</bridgehead>
<indexterm>
<primary><command>adduser</command></primary>
</indexterm>
<indexterm><primary>login class</primary></indexterm>
<para>Use <command>adduser</command> to add new users, and do
the following:</para>
<itemizedlist>
<listitem>
<para>Set <literal>defaultclass =
<replaceable>language</replaceable></literal> in
<filename>/etc/adduser.conf</filename>. Keep in mind
you must enter a <literal>default</literal> class for
all users of other languages in this case.</para>
</listitem>
<listitem>
<para>An alternative variant is answering the specified
language each time that
<screen><prompt>Enter login class: default []: </prompt></screen>
appears from &man.adduser.8;.</para>
</listitem>
<listitem>
<para>Another alternative is to use the following for each
user of a different language that you wish to
add:</para>
<screen>&prompt.root; <userinput>adduser -class <replaceable>language</replaceable></userinput></screen>
</listitem>
</itemizedlist>
<bridgehead renderas=sect4>Changing Login Classes with &man.pw.8;</bridgehead>
<indexterm>
<primary><command>pw</command></primary>
</indexterm>
<para>If you use &man.pw.8; for adding new users, call it in
this form:</para>
<screen>&prompt.root; <userinput>pw useradd <replaceable>user_name</replaceable> -L <replaceable>language</replaceable></userinput></screen>
</sect5>
</sect4>
<sect4 id="startup-file">
<title>Shell Startup File Method</title>
<note>
<para>This method is not recommended because it requires a
different setup for each possible shell program chosen. Use
the <link linkend="login-class">Login Class Method</link>
instead.</para>
</note>
<indexterm><primary>MIME</primary></indexterm>
<indexterm><primary>locale</primary></indexterm>
<para>To add the locale name and MIME character set, just set
the two environment variables shown below in the
<filename>/etc/profile</filename> and/or
<filename>/etc/csh.login</filename> shell startup files. We
will use the German language as an example below:</para>
<para>In <filename>/etc/profile</filename>:</para>
<programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar>
<envar>MM_CHARSET=ISO-8859-1; export MM_CHARSET</envar></programlisting>
<para>Or in <filename>/etc/csh.login</filename>:</para>
<programlisting><envar>setenv LANG de_DE.ISO8859-1</envar>
<envar>setenv MM_CHARSET ISO-8859-1</envar></programlisting>
<para>Alternatively, you can add the above instructions to
<filename>/usr/share/skel/dot.profile</filename> (similar to
what was used in <filename>/etc/profile</filename> above), or
<filename>/usr/share/skel/dot.login</filename> (similar to
what was used in <filename>/etc/csh.login</filename>
above).</para>
<para>For X11:</para>
<para>In <filename>$HOME/.xinitrc</filename>:</para>
<programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar></programlisting>
<para>Or:</para>
<programlisting><envar>setenv LANG de_DE.ISO8859-1</envar></programlisting>
<para>Depending on your shell (see above).</para>
</sect4>
</sect3>
</sect2>
<sect2 id="setting-console">
<title>Console Setup</title>
<para>For all single C chars character sets, set the correct
console fonts in <filename>/etc/rc.conf</filename> for the
language in question with:</para>
<programlisting>font8x16=<replaceable>font_name</replaceable>
font8x14=<replaceable>font_name</replaceable>
font8x8=<replaceable>font_name</replaceable></programlisting>
<para>The <replaceable>font_name</replaceable> here is taken from
the <filename>/usr/share/syscons/fonts</filename> directory,
without the <filename>.fnt</filename> suffix.</para>
<indexterm>
<primary><application>sysinstall</application></primary>
</indexterm>
<indexterm><primary>keymap</primary></indexterm>
<indexterm><primary>screenmap</primary></indexterm>
<para>Also be sure to set the correct keymap and screenmap for your
single C chars character set through
<command>sysinstall</command> (<command>/stand/sysinstall</command>
in &os; versions older than 5.2).
Once inside <application>sysinstall</application>, choose <guimenuitem>Configure</guimenuitem>, then
<guimenuitem>Console</guimenuitem>. Alternatively, you can add the
following to <filename>/etc/rc.conf</filename>:</para>
<programlisting>scrnmap=<replaceable>screenmap_name</replaceable>
keymap=<replaceable>keymap_name</replaceable>
keychange="<replaceable>fkey_number sequence</replaceable>"</programlisting>
<para>The <replaceable>screenmap_name</replaceable> here is taken
from the <filename>/usr/share/syscons/scrnmaps</filename>
directory, without the <filename>.scm</filename> suffix. A
screenmap with a corresponding mapped font is usually needed as a
workaround for expanding bit 8 to bit 9 on a VGA adapter's font
character matrix in pseudographics area, i.e., to move letters out
of that area if screen font uses a bit 8 column.</para>
<para>If you have the <application>moused</application> daemon
enabled by setting the following
in your <filename>/etc/rc.conf</filename>:</para>
<programlisting>moused_enable="YES"</programlisting>
<para>then examine the mouse cursor information in the next
paragraph.</para>
<indexterm>
<primary><application>moused</application></primary>
</indexterm>
<para>By default the mouse cursor of the &man.syscons.4; driver occupies the
0xd0-0xd3 range in the character set. If your language uses this
range, you need to move the cursor's range outside of it. To enable
the workaround for &os;, add the following line to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>mousechar_start=3</programlisting>
<para>The <replaceable>keymap_name</replaceable> here is taken from
the <filename>/usr/share/syscons/keymaps</filename> directory,
without the <filename>.kbd</filename> suffix. If you are
uncertain which keymap to use, you use can &man.kbdmap.1; to test
keymaps without rebooting.</para>
<para>The <literal>keychange</literal> is usually needed to program
function keys to match the selected terminal type because
function key sequences cannot be defined in the key map.</para>
<para>Also be sure to set the correct console terminal type in
<filename>/etc/ttys</filename> for all <literal>ttyv*</literal>
entries. Current pre-defined correspondences are:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Character Set</entry>
<entry>Terminal Type</entry>
</row>
</thead>
<tbody>
<row>
<entry>ISO8859-1 or ISO8859-15</entry>
<entry><literal>cons25l1</literal></entry>
</row>
<row>
<entry>ISO8859-2</entry>
<entry><literal>cons25l2</literal></entry>
</row>
<row>
<entry>ISO8859-7</entry>
<entry><literal>cons25l7</literal></entry>
</row>
<row>
<entry>KOI8-R</entry>
<entry><literal>cons25r</literal></entry>
</row>
<row>
<entry>KOI8-U</entry>
<entry><literal>cons25u</literal></entry>
</row>
<row>
<entry>CP437 (VGA default)</entry>
<entry><literal>cons25</literal></entry>
</row>
<row>
<entry>US-ASCII</entry>
<entry><literal>cons25w</literal></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>For wide or multibyte characters languages, use the correct
FreeBSD port in your
<filename>/usr/ports/<replaceable>language</replaceable></filename>
directory. Some ports appear as console while the system sees it
as serial vtty's, hence you must reserve enough vtty's for both
X11 and the pseudo-serial console. Here is a partial list of
applications for using other languages in console:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Language</entry>
<entry>Location</entry>
</row>
</thead>
<tbody>
<row>
<entry>Traditional Chinese (BIG-5)</entry>
<entry><filename role="package">chinese/big5con</filename></entry>
</row>
<row>
<entry>Japanese</entry>
<entry><filename role="package">japanese/kon2-16dot</filename> or
<filename role="package">japanese/mule-freewnn</filename></entry>
</row>
<row>
<entry>Korean</entry>
<entry><filename role="package">korean/han</filename></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2>
<title>X11 Setup</title>
<para>Although X11 is not part of the FreeBSD Project, we have
included some information here for FreeBSD users. For more
details, refer to the <ulink
url="http://www.x.org/">&xorg;
web site</ulink> or whichever X11 Server you use.</para>
<para>In <filename>~/.Xresources</filename>, you can additionally
tune application specific I18N settings (e.g., fonts, menus,
etc.).</para>
<sect3>
<title>Displaying Fonts</title>
<indexterm><primary>X11 True Type font server</primary></indexterm>
<para>Install <application>&xorg;</application> server
(<filename role="package">x11-servers/xorg-server</filename>)
or <application>&xfree86;</application> server
(<filename role="package">x11-servers/XFree86-4-Server</filename>),
then install the language &truetype; fonts. Setting the correct
locale should allow you to view your selected language in menus
and such.</para>
</sect3>
<sect3>
<title>Inputting Non-English Characters</title>
<indexterm><primary>X11 Input Method (XIM)</primary></indexterm>
<para>The X11 Input Method (XIM) Protocol is a new standard for
all X11 clients. All X11 applications should be written as XIM
clients that take input from XIM Input servers. There are
several XIM servers available for different languages.</para>
</sect3>
</sect2>
<sect2>
<title>Printer Setup</title>
<para>Some single C chars character sets are usually hardware
coded into printers. Wide or multibyte
character sets require special setup and we recommend using
<application>apsfilter</application>. You may also convert the
document to &postscript; or PDF formats using language specific
converters.</para>
</sect2>
<sect2>
<title>Kernel and File Systems</title>
<para>The FreeBSD fast filesystem (FFS) is 8-bit clean, so it can be used
with any single C chars character set (see &man.multibyte.3;),
but there is no character set
name stored in the filesystem; i.e., it is raw 8-bit and does not
know anything about encoding order. Officially, FFS does not
support any form of wide or multibyte character sets yet. However, some
wide or multibyte character sets have independent patches for FFS
enabling such support. They are only temporary unportable
solutions or hacks and we have decided to not include them in the
source tree. Refer to respective languages' web sites for more
information and the patch files.</para>
<indexterm><primary>DOS</primary></indexterm>
<indexterm><primary>Unicode</primary></indexterm>
<para>The FreeBSD &ms-dos; filesystem has the configurable ability to
convert between &ms-dos;, Unicode character sets and chosen
FreeBSD filesystem character sets. See &man.mount.msdosfs.8; for
details.</para>
</sect2>
</sect1>
<sect1 id="l10n-compiling">
<title>Compiling I18N Programs</title>
<para>Many FreeBSD Ports have been ported with I18N support. Some
of them are marked with -I18N in the port name. These and many
other programs have built in support for I18N and need no special
consideration.</para>
<indexterm>
<primary><application>MySQL</application></primary>
</indexterm>
<para>However, some applications such as
<application>MySQL</application> need to be have the
<filename>Makefile</filename> configured with the specific
charset. This is usually done in the
<filename>Makefile</filename> or done by passing a value to
<application>configure</application> in the source.</para>
</sect1>
<sect1 id="lang-setup">
<title>Localizing FreeBSD to Specific Languages</title>
<sect2 id="ru-localize">
<sect2info>
<authorgroup>
<author>
<firstname>Andrey</firstname>
<surname>Chernov</surname>
<contrib>Originally contributed by </contrib>
</author>
</authorgroup>
</sect2info>
<title>Russian Language (KOI8-R Encoding)</title>
<indexterm>
<primary>localization</primary>
<secondary>Russian</secondary>
</indexterm>
<para>For more information about KOI8-R encoding, see the <ulink
url="http://koi8.pp.ru/">KOI8-R References
(Russian Net Character Set)</ulink>.</para>
<sect3>
<title>Locale Setup</title>
<para>Put the following lines into your
<filename>~/.login_conf</filename> file:</para>
<programlisting>me:My Account:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:</programlisting>
<para>See earlier in this chapter for examples of setting up the
<link linkend="setting-locale">locale</link>.</para>
</sect3>
<sect3>
<title>Console Setup</title>
<itemizedlist>
<listitem>
<para>Add the following line
to your <filename>/etc/rc.conf</filename> file:</para>
<programlisting>mousechar_start=3</programlisting>
</listitem>
<listitem>
<para>Also, use following settings in
<filename>/etc/rc.conf</filename>:</para>
<programlisting>keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"</programlisting>
</listitem>
<listitem>
<para>For each <literal>ttyv*</literal> entry in
<filename>/etc/ttys</filename>, use
<literal>cons25r</literal> as the terminal type.</para>
</listitem>
</itemizedlist>
<para>See earlier in this chapter for examples of setting up the
<link linkend="setting-console">console</link>.</para>
</sect3>
<sect3>
<title>Printer Setup</title>
<indexterm><primary>printers</primary></indexterm>
<para>Since most printers with Russian characters come with
hardware code page CP866, a special output filter is needed
to convert from KOI8-R to CP866. Such a filter is installed by
default as <filename>/usr/libexec/lpr/ru/koi2alt</filename>.
A Russian printer <filename>/etc/printcap</filename> entry
should look like:</para>
<programlisting>lp|Russian local line printer:\
:sh:of=/usr/libexec/lpr/ru/koi2alt:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:</programlisting>
<para>See &man.printcap.5; for a detailed description.</para>
</sect3>
<sect3>
<title>&ms-dos; FS and Russian Filenames</title>
<para>The following example &man.fstab.5; entry enables support
for Russian filenames in mounted &ms-dos; filesystems:</para>
<programlisting>/dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0</programlisting>
<para>The option <option>-L</option> selects the locale name
used, and <option>-W</option> sets the character conversion
table. To use the <option>-W</option> option, be sure to
mount <filename>/usr</filename> before the &ms-dos; partition
because the conversion tables are located in
<filename>/usr/libdata/msdosfs</filename>. For more
information, see the &man.mount.msdosfs.8; manual
page.</para>
</sect3>
<sect3>
<title>X11 Setup</title>
<orderedlist>
<listitem>
<para>Do <link linkend="setting-locale">non-X locale
setup</link> first as described.</para>
</listitem>
<listitem>
<para>If you use <application>&xorg;</application>,
install
<filename role="package">x11-fonts/xorg-fonts-cyrillic</filename>
package.</para>
<para>Check the <literal>"Files"</literal> section
in your <filename>/etc/X11/xorg.conf</filename> file.
The following
lines must be added <emphasis>before</emphasis> any other
<literal>FontPath</literal> entries:</para>
<programlisting>FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"</programlisting>
<para>If you use a high resolution video mode, swap the 75 dpi
and 100 dpi lines.</para>
<note>
<para>See ports for more cyrillic fonts.</para></note>
</listitem>
<listitem>
<para>To activate a Russian keyboard, add the following to the
<literal>"Keyboard"</literal> section of your
<filename>xorg.conf</filename> file:</para>
<programlisting>Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:toggle"</programlisting>
<para>Also make sure that <literal>XkbDisable</literal> is
turned off (commented out) there.</para>
<para>For <literal>grp:caps_toggle</literal>
the RUS/LAT switch will be <keycap>Right Alt</keycap>,
for <literal>grp:ctrl_shift_toggle</literal> switch will be
<keycombo action="simul"><keycap>Ctrl</keycap><keycap>Shift</keycap></keycombo>.
The old <keycap>CapsLock</keycap> function is still
available via <keycombo action="simul"><keycap>Shift</keycap><keycap>CapsLock</keycap></keycombo> (in LAT mode
only). For <literal>grp:toggle</literal>
the RUS/LAT switch will be <keycap>Right Alt</keycap>.
<literal>grp:caps_toggle</literal> does not work in
<application>&xorg;</application> for unknown reason.</para>
<para>If you have <quote>&windows;</quote> keys on your keyboard,
and notice that some non-alphabetical keys are mapped
incorrectly in RUS mode, add the following line in your
<filename>xorg.conf</filename> file:</para>
<programlisting>Option "XkbVariant" ",winkeys"</programlisting>
<note>
<para>The Russian XKB keyboard may not work with non-localized
applications.</para>
</note>
</listitem>
</orderedlist>
<note>
<para>Minimally localized applications
should call a <function>XtSetLanguageProc (NULL, NULL,
NULL);</function> function early in the program.</para>
<para>See <ulink
url="http://koi8.pp.ru/xwin.html">
KOI8-R for X Window</ulink> for more instructions on
localizing X11 applications.</para>
</note>
</sect3>
</sect2>
<sect2>
<title>Traditional Chinese Localization for Taiwan</title>
<indexterm>
<primary>localization</primary>
<secondary>Traditional Chinese</secondary>
</indexterm>
<para>The FreeBSD-Taiwan Project has an Chinese HOWTO for
FreeBSD at <ulink url="http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/"></ulink>
using many Chinese ports.
Current editor for the <literal>FreeBSD Chinese HOWTO</literal> is
Shen Chuan-Hsing <email>statue@freebsd.sinica.edu.tw</email>.
</para>
<para>Chuan-Hsing Shen <email>statue@freebsd.sinica.edu.tw</email> has
created the <ulink url="http://netlab.cse.yzu.edu.tw/~statue/cfc/">
Chinese FreeBSD Collection (CFC)</ulink> using FreeBSD-Taiwan's
<literal>zh-L10N-tut</literal>. The packages and the script files
are available at <ulink url="ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/"></ulink>.</para>
</sect2>
<sect2>
<title>German Language Localization (for All ISO 8859-1
Languages)</title>
<indexterm>
<primary>localization</primary>
<secondary>German</secondary>
</indexterm>
<para>Slaven Rezic <email>eserte@cs.tu-berlin.de</email> wrote a
tutorial how to use umlauts on a FreeBSD machine. The tutorial
is written in German and available at
<ulink url="http://user.cs.tu-berlin.de/~eserte/FreeBSD/doc/umlaute/umlaute.html"></ulink>.</para>
</sect2>
<sect2>
<title>Japanese and Korean Language Localization</title>
<indexterm>
<primary>localization</primary>
<secondary>Japanese</secondary>
</indexterm>
<indexterm>
<primary>localization</primary>
<secondary>Korean</secondary>
</indexterm>
<para>For Japanese, refer to
<ulink url="http://www.jp.FreeBSD.org/"></ulink>,
and for Korean, refer to
<ulink url="http://www.kr.FreeBSD.org/"></ulink>.</para>
</sect2>
<sect2>
<title>Non-English FreeBSD Documentation</title>
<para>Some FreeBSD contributors have translated parts of FreeBSD to
other languages. They are available through links on the <ulink
url="&url.base;/index.html">main site</ulink> or in
<filename>/usr/share/doc</filename>.</para>
</sect2>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,57 @@
<!--
FreeBSD Greek Documentation Project
Ελληνική Ομάδα Τεκμηρίωσης του FreeBSD
Original revision: 1.286
$FreeBSD$
-->
<!--
Μην κάνετε αλλαγές σε αυτό το αρχείο, εκτός από αυτές που
περιγράφονται στο script addkey.sh.
See the README file in doc/share/pgpkeys for instructions.
-->
<appendix id="pgpkeys">
<title>PGP Keys</title>
<indexterm><primary>pgp keys</primary></indexterm>
<para>Μια ομάδα PGP κλειδιών διατίθεται από την ομάδα ανάπτυξης του
&os;, για να μπορείτε να επιβεβαιώσετε μια ηλεκτρονική υπογραφή ή να
στείλετε ένα κρυπτογραφημένο μήνυμα ηλεκτρονικής αλληλογραφίας, είτε
σε κάποιον από τους officers του &os; ή σε κάποιο άλλο μέλος της
ομάδας ανάπτυξης. Μια πιο ολοκληρωμένη λίστα από κλειδιά χρηστών
του <hostid role="domainname">FreeBSD.org</hostid> διατίθεται
για <quote>κατέβασμα</quote> στη διεύθυνση
<ulink url="&url.base;/doc/pgpkeyring.txt">http://www.FreeBSD.org/doc/pgpkeyring.txt</ulink>.</para>
<sect1 id="pgpkeys-officers">
<title>Officers</title>
&section.pgpkeys-officers;
</sect1>
<sect1 id="pgpkeys-core">
<title>Μέλη της Core Ομάδας</title>
&section.pgpkeys-core;
</sect1>
<sect1 id="pgpkeys-developers">
<title>Μέλη της Ομάδας Ανάπτυξης</title>
&section.pgpkeys-developers;
</sect1>
</appendix>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../appendix.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "appendix")
End:
-->

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,690 @@
<!--
FreeBSD Greek Documentation Project
Ελληνική Ομάδα Τεκμηρίωσης του FreeBSD
Original revision: 1.39
$FreeBSD$
-->
<preface id="book-preface">
<title>Πρόλογος</title>
<bridgehead id="preface-audience" renderas="sect1">Σε Ποιούς Απευθύνεται Αυτό
το Βιβλίο</bridgehead>
<para>Όσοι δεν είχαν ήδη από πριν κάποια επαφή με το &os; μπορούν να
διαβάσουν το πρώτο τμήμα αυτού του βιβλίου, το οποίο αποτελείται από ένα
οδηγό εγκατάστασης του &os; και εισάγει ομαλά τον αναγνώστη στη φιλοσοφία
και τον σχεδιασμό του &unix;. Αυτό το τμήμα δεν έχει ιδιαίτερες
απαιτήσεις. Αρκεί μόνο η διάθεση για εξερεύνηση ενός νέου συστήματος, και
η δυνατότητα αφομοίωσης των γνώσεων για το &os; καθώς αυτές εισάγονται
σταδιακά.</para>
<para>Αφού διαβάσετε το πρώτο τμήμα, το δεύτερο, κατά πολύ μεγαλύτερο τμήμα,
περιλαμβάνει μια εκτενή αναφορά σε διάφορα θέματα που ενδιαφέρουν
τους διαχειριστές συστημάτων &os;. Μερικά από αυτά τα κεφάλαια είναι
ευκολότερο να τα κατανοήσετε αν έχετε ήδη μελετήσει συγκεκριμένα τμήματα
του βιβλίου. Όπου χρειάζεται κάτι τέτοιο, θα αναφέρεται στη σύνοψη του
κεφαλαίου που μόλις ξεκινήσατε να διαβάζετε.</para>
<para>Για περισσότερες πηγές πληροφοριών, δείτε την
<xref linkend="bibliography">.</para>
<bridgehead id="preface-changes-from2" renderas="sect1">Αλλαγές από τη Δεύτερη
Έκδοση</bridgehead>
<para>Η τρίτη έκδοση αυτού του βιβλίου είναι το αποτέλεσμα της προσπάθειας
περισσότερων από δύο χρόνων από τα μέλη της Ομάδας Τεκμηρίωσης του &os;.
Οι πιο σημαντικές αλλαγές σε αυτή τη νέα έκδοση είναι οι παρακάτω:</para>
<itemizedlist>
<listitem>
<para><xref linkend="config-tuning">, Το κεφάλαιο Ρύθμισης και
Παραμετροποίησης του &os; έχει επεκταθεί με νέες πληροφορίες για τη
διαχείριση ενέργειας και πηγών συστήματος μέσω ACPI, με περισσότερες
πληροφορίες για το σύστημα <command>cron</command> και με περισσότερες
επιλογές παραμετροποίησης του πυρήνα του &os;.</para>
</listitem>
<listitem>
<para><xref linkend="security">, Το κεφάλαιο Ασφάλειας, έχει επεκταθεί
με νέες πληροφορίες για Δίκτυα VPN, για λίστες ελέγχου της πρόσβασης
αρχείων (ACLs), και περισσότερες συμβουλές σχετικά με την ασφάλεια του
&os;.</para>
</listitem>
<listitem>
<para><xref linkend="mac">, Ο Υποχρεωτικός Έλεγχος Πρόσβασης (MAC),
είναι ένα νέο κεφάλαιο σε αυτή την έκδοση. Εξηγεί τι είναι ο
μηχανισμός MAC, και πώς μπορεί να χρησιμοποιηθεί για να ενισχυθεί η
ασφάλεια ενός συστήματος &os;.</para>
</listitem>
<listitem>
<para><xref linkend="disks">, Το κεφάλαιο για Αποθηκευτικά Μέσα, έχει
επεκταθεί με νέες πληροφορίες για συσκευές αποθήκευσης USB, στιγμιαίες
εικόνες συστήματος αρχείων (snapshots), περιορισμούς στη χρήση των
συστημάτων αρχείων (quotas), για συστήματα αρχείων βασισμένα σε
υπάρχοντα αρχεία και δικτυακά συστήματα αρχείων, καθώς και για
κρυπτογραφημένες κατατμήσεις δίσκων.</para>
</listitem>
<listitem>
<para><xref linkend="vinum-vinum">, Το Vinum, είναι ένα νέο κεφάλαιο σε
αυτή την έκδοση. Περιγράφει τον τρόπο χρήσης του Vinum, ενός
συστήματος διαχείρισης αποθηκευτικών μέσων που υλοποιεί την οργάνωση
φυσικών δίσκων του συστήματος σε διάταξη RAID-0, RAID-1 και
RAID-5.</para>
</listitem>
<listitem>
<para>Ένας τμήμα σχετικό με την επίλυση προβλημάτων έχει προστεθεί στο
κεφάλαιο <xref linkend="ppp-and-slip">, για τις συνδέσεις μέσω PPP και
SLIP.</para>
</listitem>
<listitem>
<para><xref linkend="mail">, Το κεφάλαιο για την Ηλεκτρονική
Αλληλογραφία έχει επεκταθεί με νέες πληροφορίες για την χρήση
εναλλακτικών MTA, την πιστοποίηση ταυτότητος SMTP, το πρωτόκολο UUCP,
τα εργαλεία <application>fetchmail</application> και
<application>procmail</application>, και με άλλα θέματα για
προχωρημένους.</para>
</listitem>
<listitem>
<para><xref linkend="network-servers">, Το κεφάλαιο Διακομιστών Δικτύων,
περιλαμβάνεται για πρώτη φορά σε αυτή την έκδοση. Αυτό το κεφάλαιο
περιγράφει πως να εγκαταστήσετε τον <application>Διακομιστή HTTP
Apache</application>, τον εξυπηρετητή <application>ftpd</application>
του &os;, και πως να εγκαταστήσετε έναν διακομιστή για πελάτες
&microsoft; &windows; με το <application>Samba</application>.
Κάποιες ενότητες από την <xref linkend="advanced-networking">,
Δικτύωση για Προχωρημένους, μεταφέρθηκαν για να βελτιωθεί η οργάνωση
του κεφαλαίου.</para>
</listitem>
<listitem>
<para><xref linkend="advanced-networking">, Το κεφάλαιο Δικτύωση για
Προχωρημένους έχει επεκταθεί με νέες πληροφορίες για τη χρήση συσκευών
&bluetooth; στο &os;, την εγκατάσταση ασύρματων δικτύων, και την
Μέθοδο Δικτύωσης Ασύγχρονης Μεταφοράς (ATM).</para>
</listitem>
<listitem>
<para>Έχει προστεθεί ένα γλωσσάρι, για να συγκεντρώσει όλους τους
τεχνικούς όρους και τους διάφορους ορισμούς που περιέχονται σε
ολόκληρο το βιβλίο.</para>
</listitem>
<listitem>
<para>Έγιναν αισθητικές βελτιώσεις στους πίνακες και στα γραφήματα σε
ολόκληρο το βιβλίο.</para>
</listitem>
</itemizedlist>
<bridgehead id="preface-changes" renderas="sect1">Αλλαγές από την Πρώτη
Έκδοση</bridgehead>
<para> Η δεύτερη έκδοση ήταν το αποτέλεσμα τουλάχιστον δύο χρόνων εργασίας
από τα μέλη της Ομάδας Τεκμηρίωσης του &os;. Οι πιο σημαντικές αλλαγές σε
αυτή την έκδοση ήταν οι παρακάτω:</para>
<!-- Talk a little about justification and other stylesheet changes? -->
<itemizedlist>
<listitem>
<para>Προστέθηκε ένα ολοκληρωμένο Ευρετήριο.</para>
</listitem>
<listitem>
<para>Όλα τα γραφήματα σε ASCII αντικαταστάθηκαν από γραφικά
διαγράμματα.</para>
</listitem>
<listitem>
<para>Προστέθηκε μια στάνταρ σύνοψη σε κάθε κεφάλαιο, η οποία περιέχει
μια σύντομη ανακεφαλαίωση των πληροφοριών που περιέχει το κεφάλαιο,
και τι περιμένει να μάθει ο αναγνώστης.</para>
</listitem>
<listitem>
<para>Το περιεχόμενο ανασχηματίστηκε λογικά τρία μέρη:
<quote>Ξεκινώντας</quote>,
<quote>Η Διαχείριση του Συστήματος</quote>, και
<quote>Παραρτήματα</quote>.</para>
</listitem>
<listitem>
<para><xref linkend="install"> (<quote>Εγκαθιστώντας το &os;</quote>)
ξαναγράφτηκε από την αρχή με πολλές εικόνες ώστε να διευκολύνει τους
χρήστες να κατανοήσουν το κείμενο.</para>
</listitem>
<listitem>
<para><xref linkend="basics"> (<quote>Οι βασικές έννοιες στο
&unix;</quote>) έχει επεκταθεί ώστε να συμπεριλαμβάνει πρόσθετες
πληροφορίες για τις διεργασίες (processes), τους δαίμονες (daemons),
και τις σημάνσεις (signals).</para>
</listitem>
<listitem>
<para><xref linkend="ports"> (<quote>Εγκαθιστώντας Εφαρμογές</quote>)
έχει επεκταθεί ώστε να συμπεριλαμβάνει πρόσθετες πληροφορίες για την
διαχείριση προμεταγλωττισμένων πακέτων (packages).</para>
</listitem>
<listitem>
<para><xref linkend="x11"> (<quote>Το σύστημα X Window</quote>)
ξαναγράφτηκε από την αρχή με έμφαση στην χρήση μοντέρνων τεχνολογιών,
όπως τα περιβάλλοντα εργασίας <application>KDE</application> και
<application>GNOME</application> σε &xfree86; 4.X.</para>
</listitem>
<listitem>
<para><xref linkend="boot"> (<quote>Οι Διεργασίες Εκκίνησης του
Συστήματος &os;</quote>) έχει επεκταθεί.</para>
</listitem>
<listitem>
<para><xref linkend="disks"> (<quote>Αποθηκευτικοί Χώροι</quote>)
ξαναγράφτηκε με βάση τα παλαιότερα δύο κεφάλαια <quote>Δίσκοι</quote>
και <quote>Αντίγραφα Ασφαλείας</quote>. Αισθανόμαστε ότι τα θέματα
είναι πιο ευκολονόητα όταν παρουσιάζονται μαζί σαν ένα κεφάλαιο.
Προστέθηκε επίσης ένας τομέας για RAID (υλοποίηση είτε μέσω υλικού ή
λογισμικού).</para>
</listitem>
<listitem>
<para><xref linkend="serialcomms"> (<quote>Σειριακές
Επικοινωνίες</quote>) αναδιογανώθηκε από την αρχή και ενημερώθηκε για
τις εκδόσεις FreeBSD 4.X/5.X.</para>
</listitem>
<listitem>
<para><xref linkend="ppp-and-slip"> (<quote>PPP και SLIP</quote>)
ενημερώθηκε σε σημαντικό βαθμό.</para>
</listitem>
<listitem>
<para>Πολλοί νέοι τομείς προστέθηκαν στην <xref
linkend="advanced-networking">
(<quote>Δικτύωση για Προχωρημένους</quote>).</para>
</listitem>
<listitem>
<para><xref linkend="mail"> (<quote>Ηλεκτρονική Αλληλογραφία</quote>)
έχει επεκταθεί για να συμπεριλαμβάνει περισσότερες πληροφορίες για τις
ρυθμίσεις του <application>Sendmail</application>.</para>
</listitem>
<listitem>
<para><xref linkend="linuxemu"> (<quote>Συμβατότητα &linux;</quote>)
έχει επεκταθεί για να συμπεριλαμβάνει πληροφορίες για την εγκατάσταση
της βάσης δεδομένων <application>&oracle;</application> και του
<application>&sap.r3;</application>.</para>
</listitem>
<listitem>
<para>Τα νέα θέματα που ακολουθούν καλύπτονται στην δεύτερη
έκδοση:</para>
<itemizedlist>
<listitem>
<para>Ρύθμιση και Βελτιστοποίηση
(<xref linkend="config-tuning">).</para>
</listitem>
<listitem>
<para>Πολυμέσα (<xref linkend="multimedia">)</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead id="preface-overview" renderas="sect1">Οργάνωση Αυτού του
Βιβλίου</bridgehead>
<para>Αυτό το βιβλίο είναι διαχωρισμένο σε πέντε ξεχωριστά λογικά τμήματα.
Το πρώτο τμήμα, <emphasis>Ξεκινώντας</emphasis>, περιγράφει την
εγκατάσταση και την βασική χρήση του &os;. Ο προτεινόμενος τρόπος
ανάγνωσης αυτού του τμήματος είναι ένα-ένα κεφάλαιο, με τη σειρά,
προσπερνώντας κεφάλαια με γνωστά θέματα. Το δεύτερο τμήμα, <emphasis>Συνήθεις
Εργασίες</emphasis>, περιγράφει μερικά χαρακτηριστικά του &os; τα οποία
χρησιμοποιούνται συχνά. Αυτό το τμήμα, καθώς και όλα τα τμήματα του
βιβλίου που ακολουθούν, μπορεί να διαβαστεί εκτός σειράς. Κάθε κεφάλαιο
ξεκινά με μια σαφή και σύντομη σύνοψη, η οποία περιγράφει τα περιεχόμενα
του κεφαλαίου καθώς και τι χρειάζεται να κατέχει ήδη ο αναγνώστης. Αυτό
επιτρέπει στον περιστασιακό αναγνώστη να προσπερνά γρήγορα ενότητες, για
να βρει κεφάλαια τα οποία τον ενδιαφέρουν περισσότερο. Το τρίτο τμήμα,
<emphasis>Διαχείριση Συστήματος</emphasis>, περιέχει θέματα σχετικά με τη
διαχείριση συστημάτων &os;. Το τέταρτο τμήμα, <emphasis>Επικοινωνία
Δικτύου</emphasis>, καλύπτει θέματα δικτύωσης και διακομιστών.
Το πέμπτο τμήμα περιέχει παραρτήματα με διάφορες πληροφορίες.</para>
<variablelist>
<!-- Μέρος I - Εισαγωγή -->
<varlistentry>
<term><emphasis><xref linkend="introduction">, Εισαγωγή</emphasis></term>
<listitem>
<para>Παρουσιάζει το &os; στο νέο χρήστη. Περιγράφει την
ιστορία του &os; Project, τους στόχους του και το μοντέλο ανάπτυξης.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="install">, Εγκατάσταση</emphasis></term>
<listitem>
<para>Οδηγεί τον χρήστη στην διαδικασία της πλήρης εγκατάστασης.
Επίσης συμπεριλαμβάνονται μερικά θέματα εγκατάστασης για προχωρημένους, όπως
εγκατάσταση μέσω σειριακής κονσόλας.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="basics">, Βασικές Έννοιες ατο &unix;</emphasis></term>
<listitem>
<para>Περιέχει τις βασικές εντολές και λειτουργίες του λειτουργικού
συστήματος &os; Εάν είστε εξοικειωμένος με &linux; ή με
άλλο Λ.Σ. τύπου &unix; τότε πιθανώς να μπορείτε να προσπεράσετε
αυτό το κεφάλαιο.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="ports">, Εγκαθιστώντας Εφαρμογές</emphasis></term>
<listitem>
<para>Περιγράφει τον τρόπο εγκατάστασης λογισμικού τρίτων με την
καινοτόμο <quote>Συλλογή Πορτών (Ports Collection)</quote> του &os;
και με τα στάνταρ προμεταγλωττισμένα πακέτα (packages).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="x11">, Το σύστημα X Window </emphasis></term>
<listitem>
<para>Περιγράφει γενικά το σύστημα X&nbsp;Window και ειδικότερα το
X11 του &os;. Επίσης περιγράφει το περιβάλλον επιφάνειας εργασίας
όπως το <application>KDE</application> και το <application>GNOME</application>.</para>
</listitem>
</varlistentry>
<!-- Μέρος II Συνήθεις Εργασίες -->
<varlistentry>
<term><emphasis><xref linkend="desktop">, Εφαρμογές Επιφάνειας Εργασίας</emphasis></term>
<listitem>
<para>Ταξινομεί σε λίστες μερικές απ'τις πιο συνήθεις εφαρμογές
επιφάνειας εργασίας, όπως προγράμματα πλοήγησης ιστού και
παραγωγικές πλατφόρμες, και περιγράφει πως να τις εγκαταστήσετε στο
&os;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="multimedia">, Πολυμέσα</emphasis></term>
<listitem>
<para>Υποδεικνύει πως να εγκαταστήσετε δυνατότητες αναπαραγωγήε ήχου και
βίντεο για το σύστημα σας. Επίσης περιλαμβάνει κάποια δείγματα από
εφαρμογές ήχου και βίντεο.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="kernelconfig">, Ρυθμίζοντας τον πυρήνα
του &os;</emphasis></term>
<listitem>
<para>Εξηγεί τους λόγους για τους οποίους θα πρέπει να ρυθμίσετε ένα
νέο πυρήνα και παρέχει λεπτομερείς οδηγίες για την ρύθμιση,
δημιουργία εκτελέσιμου, και εγκατάσταση του νέου προσαρμοσμένου σας
πυρήνα.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="printing">, Εκτύπωση</emphasis></term>
<listitem>
<para>Περιγράφει πως να διαχειρίζεστε εκτυπωτές στο &os;,
συμπεριλαμβάνοντας πληροφορίες για σελίδες λογότυπων, λογαριασμούς
εκτυπωτών, και αρχικές ρυθμίσεις.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="linuxemu">, Συμβατότητα εκτελέσιμων &linux; </emphasis></term>
<listitem>
<para>Περιγράφει τις δυνατότητες συμβατότητος με εφαρμογές &linux; του
&os;. Επίσης παρέχει λεπτομερείς οδηγίες εγκατάστασης για πολλές
γνωστές εφαρμογές για &linux;
όπως <application>&oracle;</application>, <application>&sap.r3;</application>,
και <application>&mathematica;</application>.</para>
</listitem>
</varlistentry>
<!-- Μέρος III - Διαχείριση Συστήματος -->
<varlistentry>
<term><emphasis><xref linkend="config-tuning">, Ρύθμιση και Συντονισμός</emphasis></term>
<listitem>
<para>Περιγράφει τις παραμέτρους εκείνες που έχουν στη διάθεση τους οι
διαχειριστές του συστήματος, ώστε να συντονίσουν το σύστημα &os; για
βέλτιστη απόδοση. Επίσης περιγράφει τα διάφορα ρυθμιστικά αρχεία
που χρησιμοποιούνται στο &os; και που να τα βρείτε.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="boot">, Διαδικασία Εκκίνησης του Συστήματος</emphasis></term>
<listitem>
<para>Περιγράφει την διαδικασία εκκίνησης του &os; και εξηγεί πως να
ελέγχουμε αυτήν την διαδικασία με ειδικές επιλογές ρύθμισης.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="users">, Χρήστες και Βασική Διαχείριση
Λογαριασμών</emphasis></term>
<listitem>
<para>Περιγράφει την δημιουργία και την διαχείριση των λογαριασμών
χρηστών. Επίσης περιέχει τους τρόπους οριοθέτησης των πόρων που θα
πρέπει να τεθούν στους χρήστες και σε άλλες λειτουργίες διαχείρισης
λογαριασμών.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="security">, Ασφάλεια</emphasis></term>
<listitem>
<para>Περιγράφει διάφορα διαθέσιμα εργαλεία που θα σας βοηθήσουνε να
κρατήσετε το &os; σύστημα σας ασφαλές, περιλαμβάνονται Kerberos,
IPsec και OpenSSH.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="jails">, Jails</emphasis></term>
<listitem>
<para>Περιγράφει το πλαίσιο εργασίας των jails, και τις βελτιώσεις των
jails πέρα απ'την παραδοσιακή chroot υποστήριξη του &os;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="mac">, Υποχρεωτικός Έλεγχος στην Πρόσβαση</emphasis></term>
<listitem>
<para>Εξηγεί τι είναι ο Υποχρεωτικός Έλεγχος στην Πρόσβαση (MAC) και
πως ο μηχανισμός αυτός μπορεί να χρησιμοποιηθεί ώστε να ασφαλίσουμε
το &os; σύστημα μας.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="audit">, Κριτικός Έλεγχος Συμβάντων Ασφαλείας</emphasis></term>
<listitem>
<para>Περιγράφει τι είναι ο Κριτικός Έλεγχος Συμβάντων, πως μπορεί να
εγκατασταθεί, να ρυθμιστεί, και πως τα ίχνη του ελέγχου μπορούν να
διερευνούνται και να παρατηρούνται.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="disks">, Αποθήκευση</emphasis></term>
<listitem>
<para>Περιγράφει πως να διαχειρίζεστε μέσα αποθήκευσης και συστήματα
αρχείων με το &os;. Συμπεριλαμβάνονται φυσικοί δίσκοι, συστοιχίες
RAID, οπτικά και μαγνητικά μέσα, εικονικοί δίσκοι μνήμης και
δικτυακά συστήματα αρχείων.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="geom">, GEOM</emphasis></term>
<listitem>
<para>Περιγράφει τι είναι το πλαίσιο εργασίας GEOM στο &os; και πως να
ρυθμίσετε διάφορα υποστηριζόμενα επίπεδα RAID.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="vinum-vinum">, Vinum</emphasis></term>
<listitem>
<para>Περιγράφει πως να χρησιμοποιήσετε το Vinum, ένα λογικό
διαχειριστή χώρου που παρέχει λογικούς δίσκους ανεξαρτήτως συσκευής,
και RAID-0, RAID-1 και RAID-5 λογισμικό.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="virtualization">, Εικονικότητα</emphasis></term>
<listitem>
<para>Περιγράφει τι προσφέρουν τα συστήματα εικονικότητος, και πως
μπορεί να χρησιμποιηθεί με το &os;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="l10n">, Τοπικότητα</emphasis></term>
<listitem>
<para>Περιγράφει πως να χρησιμοποιήσετε το &os; σε γλώσσες εκτός της
Αγγλικής. Καλύπτει την τοπικότητα σε επίπεδο συστήματος όπως και σε
επίπεδο εφαρμογών.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="cutting-edge">, Στη κόψη του ξυραφιού</emphasis></term>
<listitem>
<para>Εξηγεί τις διαφορές μεταξύ των εκδόσεων FreeBSD-STABLE,
FreeBSD-CURRENT, και FreeBSD. Περιγράφει ποιοι χρήστες θα
επωφελούντο από την ιχνηλάτευση ενός συστήματος ανάπτυξης και
σκιαγραφεί αυτή τη διεργασία.</para>
</listitem>
</varlistentry>
<!-- Part IV - Επικοινωνίες Δικτύων -->
<varlistentry>
<term><emphasis><xref linkend="serialcomms">, Σειριακές Επικοινωνίες</emphasis></term>
<listitem>
<para>Εξηγεί πως να συνδέσετε τερματικά και μόντεμ στο &os; σύστημα
σας για εισερχόμενες και εξερχόμενες συνδέσεις.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="ppp-and-slip">, PPP και SLIP</emphasis></term>
<listitem>
<para>Περιγράφει πως να χρησιμοποιήσετε τις τεχνολογίες PPP, SLIP, ή
PPP over Ethernet για να συνδεθείτε σε απομακρυσμένα συστήματα με το
&os;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="mail">, Ηλεκτρονική Αλληλογραφία</emphasis></term>
<listitem>
<para>Εξηγεί τα διαφορετικά στοιχεία ενός διακομιστή ηλεκτρονικής
αλληλογραφίας και εμβαθύνει σε θέματα απλών ρυθμίσεων για τα πιο
δημοφιλή λογισμικά διακομιστών ηλεκτρονικής αλληλογραφίας:
<application>sendmail</application>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="network-servers">, Διακομιστές Δικτύων</emphasis></term>
<listitem>
<para>Παρέχει λεπτομερείς οδηγίες και παραδείγματα από ρυθμιστικά
αρχεία για να εγκαταστήσετε στην &os; μηχανή σας ένα διακομιστή
δικτυακού συστήματος αρχείων, ένα διακομιστή ονομάτων χώρου, ένα
διακομιστή δικτυακού συστήματος πληροφοριών, ή ένα διακομιστή
συγχρονισμού ώρας.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="firewalls">, Δικτυακό φίλτρο ασφαλείας</emphasis></term>
<listitem>
<para>Εξηγεί την φιλοσοφία που κρύβεται πίσω απ'τα δικτυακά φίλτρα
ασφαλείας βασισμένα σε λογισμικό και παρέχει λεπτομερείς πληροφορίες
για τις ρυθμίσεις των διαφόρων δικτυακών φίλτρων που είναι διαθέσιμα
για το &os;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="advanced-networking">, Δίκτυα για Προχωρημένους</emphasis></term>
<listitem>
<para>Περιγράφει πολλά θέματα δικτύωσης, συμπεριλαμβάνοντας
διαμοιρασμό της σύνδεσης σας στο Ίντερνετ με άλλους υπολογιστές στο
τοπικό σας δίκτυο LAN, θέματα δρομολόγησης για προχωρημένους,
ασύρματη δικτύωση, &bluetooth;, ATM, IPv6, και πολλά ακόμη.</para>
</listitem>
</varlistentry>
<!-- Μέρος V - Παραρτήματα -->
<varlistentry>
<term><emphasis><xref linkend="mirrors">, Πως ν'αποκτήσετε το &os; </emphasis></term>
<listitem>
<para>Ταξινομεί σε λίστες διάφορες πηγές για ν'αποκτήσετε το &os; σε
CDROM ή DVD όπως επίσης διάφορες τοποθεσίες στο Ίντερνετ απ'όπου
μπορείτε να κατεβάσετε και να εγκαταστήσετε το &os;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="bibliography">, Βιβλιογραφία </emphasis></term>
<listitem>
<para>Αυτό το βιβλίο αγγίζει πολλά διαφορετικά θέματα που μπορεί να
σας κεντρίσει το ενδιαφέρον για μια πιο λεπτομερή εξερεύνηση. Η
βιβλιογραφία ταξινομεί σε κατηγορίες πολλά άριστα βιβλία οποία
αναφέρεται το κείμενο.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="eresources">, Πηγές στο Ίντερνετ </emphasis></term>
<listitem>
<para>Περιγράφει πολλά διαθέσιμα φόρουμ για χρήστες &os; για να θέσετε
ερωτήματα και να ενασχοληθείτε σε τεχνικές συζητήσεις για το
&os;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis><xref linkend="pgpkeys">, Κλειδιά PGP</emphasis></term>
<listitem>
<para>Καταγράφει τα δακτυλικά αποτυπώματα PGP αρκετών μελών της ομάδας
Ανάπτυξης του &os;.</para>
</listitem>
</varlistentry>
</variablelist>
<bridgehead id="preface-conv" renderas="sect1">Συμβάσεις που χρησιμοποιούνται
σε αυτό το βιβλίο</bridgehead>
<para>Στο να παρέχεται με συνέπεια και ευκολία η ανάγνωση του κειμένου, μερικές
συμβάσεις ακολουθούνται σε ολόκληρο το βιβλίο.</para>
<bridgehead id="preface-conv-typographic" renderas="sect2">Τυπογραφικές
Συμβάσεις</bridgehead>
<variablelist>
<varlistentry>
<term><emphasis>Πλάγια γραφή</emphasis></term>
<listitem>
<para> Η <emphasis>πλάγια</emphasis> γραμματοσειρά χρησιμοποιείται για ονόματα αρχείων, URLs,
κείμενο με έμφαση, και για χρήση πρωτοεμφανιζόμενων τεχνικών όρων.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>Γραφή σταθερού πλάτους</literal></term>
<listitem>
<para> Η <literal>σταθερού πλάτους</literal> γραμματοσειρά
χρησιμοποιείται για μηνύματα λάθους, εντολές, μεταβλητές περιβάλλοντος,
ονομασίες των ports, ονόματα κεντρικών υπολογιστών, ονόματα χρηστών, ονόματα ομάδων, ονόματα
συσκευών, μεταβλητών, και αποσπάσματα κώδικα.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><application>Έντονη γραφή</application></term>
<listitem>
<para>Η <application>έντονη</application> γραμματοσειρά χρησιμοποιείται για
εφαρμογές, εντολές, και πλήκτρα.</para>
</listitem>
</varlistentry>
</variablelist>
<!-- Var list -->
<bridgehead id="preface-conv-commands" renderas="sect2">Εισαγωγή στοιχείων
Χρήστη</bridgehead>
<para>Η πληκτρολόγηση σημειώνεται με <keycap>έντονη</keycap> γραφή ώστε να ξεχωρίζει
από το υπόλοιπο κείμενο. Συνδυασμοί πλήκτρων που πρέπει να πατηθούν ταυτόχρονα
σημειώνονται με `<literal>+</literal>' μεταξύ των πλήκτρων, όπως:</para>
<para>
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>Alt</keycap>
<keycap>Del</keycap>
</keycombo>
</para>
<para>Το οποίο σημαίνει πως ο χρήστης θα πρέπει να πληκτρολογήσει τα πλήκτρα <keycap>Ctrl</keycap>,
<keycap>Alt</keycap>, και το πλήκτρο <keycap>Del</keycap> ταυτόχρονα.</para>
<para>Πλήκτρα που πρέπει να πληκτρολογηθούν σε ακολουθία θα πρέπει να είναι χωρισμένα με
κόμμα, για παράδειγμα:</para>
<para>
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>X</keycap>
</keycombo>,
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>S</keycap>
</keycombo>
</para>
<para>Το οποίο σημαίνει πως ο χρήστης αναμένεται να πληκτρολογήσει τα
πλήκτρα <keycap>Ctrl</keycap> και <keycap>X</keycap> ταυτόχρονα
και έπειτα να πληκτρολογήσει τα πλήκτρα <keycap>Ctrl</keycap> και <keycap>S</keycap>
ταυτόχρονα.</para>
<!-- How to type in key stokes, etc.. -->
<bridgehead id="preface-conv-examples" renderas="sect2">Παραδείγματα</bridgehead>
<para>Τα παραδείγματα που ξεκινούν με <devicename>E:\&gt;</devicename>
υποδηλώνουν μια εντολή σε &ms-dos;. Αυτές οι εντολές μπορούν να εκτελούνται
από το παράθυρο <quote>Προτροπής Εντολών</quote> σε σύγχρονο περιβάλλον
&microsoft.windows; εκτός αν αναφέρεται κάτι διαφορετικό.</para>
<screen><prompt>E:\&gt;</prompt> <userinput>tools\fdimage floppies\kern.flp A:</userinput></screen>
<para>Τα παραδείγματα που ξεκινούν με &prompt.root; υποδηλώνουν μια εντολή που
θα πρέπει να εκτελεστεί από τον υπερχρήστη (superuser) του συστήματος &os;. Μπορείτε
να συνδεθείτε σαν χρήστης <username>root</username> για να πληκτρολογήσετε την εντολή, ή
να συνδεθείτε σαν κανονικός χρήστης κσι να χρησιμοποιήσετε την εντολή &man.su.1;
ώστε να αποκτήσετε προνόμια υπερχρήστη (superuser).</para>
<screen>&prompt.root; <userinput>dd if=kern.flp of=/dev/fd0</userinput></screen>
<para>Τα παραδείγματα που ξεκινούν με &prompt.user; υποδηλώνουν μια εντολή που
μπορεί να εκτελεστεί από ένα κανονικό χρήστη. Η σύνταξη C-shell χρησιμοποιείται
για να θέσουμε μεταβλητές περιβάλλοντος και άλλες εντολές κέλυφους, εκτός αν
αναφέρεται κάτι διαφορετικό.</para>
<screen>&prompt.user; <userinput>top</userinput></screen>
<bridgehead id="preface-acknowledgements" renderas="sect1">Αναγνωρισημότητα</bridgehead>
<para>Το βιβλίο που κρατάτε παρουσιάζει τις προσπάθειες πολλών εκατοντάδων ανθρώπων
απ'όλο τον κόσμο. Είτε αν επρόκειτο για τυπογραφικά λάθη, ή για υποβολή
ολόκληρων κεφαλαίων, η συμβολή όλων ήταν χρήσιμη.</para>
<para>Μερικές εταιρείες υποστήριξαν την ανάπτυξη αυτού του
εγγράφου μισθώνοντας συντάκτες να εργάζονται σε πλήρη απασχόληση, πληρώνοντας για
την έκδοση, κτλ. Ειδικότερα η , BSDi ( αργότερα αποκτήθηκε από την
<ulink url="http://www.windriver.com">Wind River Systems</ulink>)
μίσθωσε μέλη του FreeBSD Documentation Project να εργάζονται σε πλήρη απασχόληση
για την βελτίωση του βιβλίου οδηγώντας στην πρώτη έντυπη έκδοση στα αγγλικά
τον Μάρτιο του 2000 (ISBN 1-57176-241-8). Η εταιρεία Wind
River Systems τότε μίσθωσε μερικούς επιπρόσθετους συντάκτες ώστε
να κάνει βελτιώσεις στην δομή της έντυπης έκδοσης και να προσθέσει
πρόσθετα κεφάλαια. Η αποκορύφωση αυτής της εργασίας ήταν η παρουσίαση
της δεύτερης έντυπης έκδοσης τον Νοέμβριο του 2001 (ISBN 1-57176-303-1).
1-57176-303-1). Το 2003-2004, η <ulink
url="http://www.freebsdmall.com">FreeBSD Mall, Inc</ulink>, μίσθωσε
μερικούς συνεργάτες να βελτιώσουν το Εγχειρίδιο Χρήσης προς ετοιμασία
της τρίτης έντυπης έκδοσης.</para>
</preface>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "book" "preface")
End:
-->

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,72 @@
<!--
Ëßóôá ìå entities ãéá üëá ôá .txt screenshots ðïõ ðåñéÝ÷ïíôáé
óôï Åã÷åéñßäéï.
ÊÜèå entity ïíïìÜæåôáé «txt.dir.foo», üðïõ «dir» åßíáé ôï directory óôï
ïðïßï áðïèçêåýåôáé êáé «foo» åßíáé ôï üíïìá ôïõ áñ÷åßïõ, ÷ùñßò ôçí
åðÝêôáóç «.txt».
Ôá entities êáëü åßíáé íá äéáôçñïýíôáé óå áëöáâçôéêÞ óåéñÜ
(ãéá íá ìðïñïýìå åýêïëá íá åëÝãîïõìå áí õðÜñ÷ïõí äéðëÝò åìöáíßóåéò).
$FreeBSD$
-->
<!ENTITY txt.install.adduser1 SYSTEM "install/adduser1.txt">
<!ENTITY txt.install.adduser2 SYSTEM "install/adduser2.txt">
<!ENTITY txt.install.adduser3 SYSTEM "install/adduser3.txt">
<!ENTITY txt.install.boot-mgr SYSTEM "install/boot-mgr.txt">
<!ENTITY txt.install.console-saver1 SYSTEM "install/console-saver1.txt">
<!ENTITY txt.install.console-saver2 SYSTEM "install/console-saver2.txt">
<!ENTITY txt.install.console-saver3 SYSTEM "install/console-saver3.txt">
<!ENTITY txt.install.console-saver4 SYSTEM "install/console-saver4.txt">
<!ENTITY txt.install.desktop SYSTEM "install/desktop.txt">
<!ENTITY txt.install.disklabel-auto SYSTEM "install/disklabel-auto.txt">
<!ENTITY txt.install.disklabel-ed1 SYSTEM "install/disklabel-ed1.txt">
<!ENTITY txt.install.disklabel-ed2 SYSTEM "install/disklabel-ed2.txt">
<!ENTITY txt.install.disklabel-fs SYSTEM "install/disklabel-fs.txt">
<!ENTITY txt.install.disklabel-root1 SYSTEM "install/disklabel-root1.txt">
<!ENTITY txt.install.disklabel-root2 SYSTEM "install/disklabel-root2.txt">
<!ENTITY txt.install.disklabel-root3 SYSTEM "install/disklabel-root3.txt">
<!ENTITY txt.install.dist-set SYSTEM "install/dist-set.txt">
<!ENTITY txt.install.dist-set2 SYSTEM "install/dist-set2.txt">
<!ENTITY txt.install.docmenu1 SYSTEM "install/docmenu1.txt">
<!ENTITY txt.install.ed0-conf SYSTEM "install/ed0-conf.txt">
<!ENTITY txt.install.ed0-conf2 SYSTEM "install/ed0-conf2.txt">
<!ENTITY txt.install.edit-inetd-conf SYSTEM "install/edit-inetd-conf.txt">
<!ENTITY txt.install.fdisk-drive1 SYSTEM "install/fdisk-drive1.txt">
<!ENTITY txt.install.fdisk-drive2 SYSTEM "install/fdisk-drive2.txt">
<!ENTITY txt.install.fdisk-edit1 SYSTEM "install/fdisk-edit1.txt">
<!ENTITY txt.install.fdisk-edit2 SYSTEM "install/fdisk-edit2.txt">
<!ENTITY txt.install.ftp-anon1 SYSTEM "install/ftp-anon1.txt">
<!ENTITY txt.install.ftp-anon2 SYSTEM "install/ftp-anon2.txt">
<!ENTITY txt.install.hdwrconf SYSTEM "install/hdwrconf.txt">
<!ENTITY txt.install.keymap SYSTEM "install/keymap.txt">
<!ENTITY txt.install.main-doc SYSTEM "install/main-doc.txt">
<!ENTITY txt.install.main-keymap SYSTEM "install/main-keymap.txt">
<!ENTITY txt.install.main-options SYSTEM "install/main-options.txt">
<!ENTITY txt.install.main-std SYSTEM "install/main-std.txt">
<!ENTITY txt.install.main1 SYSTEM "install/main1.txt">
<!ENTITY txt.install.mainexit SYSTEM "install/mainexit.txt">
<!ENTITY txt.install.media SYSTEM "install/media.txt">
<!ENTITY txt.install.mouse1 SYSTEM "install/mouse1.txt">
<!ENTITY txt.install.mouse2 SYSTEM "install/mouse2.txt">
<!ENTITY txt.install.mouse3 SYSTEM "install/mouse3.txt">
<!ENTITY txt.install.mouse4 SYSTEM "install/mouse4.txt">
<!ENTITY txt.install.mouse5 SYSTEM "install/mouse5.txt">
<!ENTITY txt.install.mouse6 SYSTEM "install/mouse6.txt">
<!ENTITY txt.install.nfs-server-edit SYSTEM "install/nfs-server-edit.txt">
<!ENTITY txt.install.options SYSTEM "install/options.txt">
<!ENTITY txt.install.pkg-cat SYSTEM "install/pkg-cat.txt">
<!ENTITY txt.install.pkg-confirm SYSTEM "install/pkg-confirm.txt">
<!ENTITY txt.install.pkg-install SYSTEM "install/pkg-install.txt">
<!ENTITY txt.install.pkg-sel SYSTEM "install/pkg-sel.txt">
<!ENTITY txt.install.probstart SYSTEM "install/probstart.txt">
<!ENTITY txt.install.security SYSTEM "install/security.txt">
<!ENTITY txt.install.sysinstall-exit SYSTEM "install/sysinstall-exit.txt">
<!ENTITY txt.install.timezone1 SYSTEM "install/timezone1.txt">
<!ENTITY txt.install.timezone2 SYSTEM "install/timezone2.txt">
<!ENTITY txt.install.timezone3 SYSTEM "install/timezone3.txt">
<!ENTITY txt.install.userconfig SYSTEM "../../../share/images/books/handbook/install/userconfig.txt">
<!ENTITY txt.install.userconfig2 SYSTEM "../../../share/images/books/handbook/install/userconfig2.txt">
<!ENTITY txt.install.xf86setup SYSTEM "install/xf86setup.txt">

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,598 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="virtualization">
<chapterinfo>
<authorgroup>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
<contrib>ÓõíåéóöïñÜ áðü ôïí </contrib>
</author>
</authorgroup>
<!-- Mar 2007 -->
</chapterinfo>
<title>Åéêïíéêïðïßçóç</title>
<sect1 id="virtualization-synopsis">
<title>Óýíïøç</title>
<para>Ôï ëïãéóìéêü åéêïíéêïðïßçóçò åðéôñÝðåé óå ðïëëáðëÜ ëåéôïõñãéêÜ
óõóôÞìáôá íá åêôåëïýíôáé ôáõôü÷ñïíá óôïí ßäéï õðïëïãéóôÞ. Óå
õðïëïãéóôÝò PC ôï ëïãéóìéêü áõôü ôõðéêÜ ÷ñçóéìïðïéåß Ýíá ëåéôïõñãéêü
ùò îåíéóôÞ (host) óôï ïðïßï êáé åêôåëåßôáé, êáé ôï ïðïßï õðïóôçñßæåé
Ýíá ïðïéïäÞðïôå áñéèìü áðü öéëïîåíïýìåíá (guest) ëåéôïõñãéêÜ.</para>
<para>Áöïý äéáâÜóåôå áõôü ôï êåöÜëáéï, èá îÝñåôå:</para>
<itemizedlist>
<listitem>
<para>Ôç äéáöïñÜ ìåôáîý åíüò îåíéóôÞ (host) êáé åíüò öéëïîåíïýìåíïõ
(guest) ëåéôïõñãéêïý.</para>
</listitem>
<listitem>
<para>Ðùò íá åãêáôáóôÞóåôå ôï &os; óôï Linux ìå ôç âïÞèåéá ôïõ
<application>&xen;</application>.</para>
</listitem>
<listitem>
<para>Ðùò íá åãêáôáóôÞóåôå ôï &os; óå Ýíá &apple; &macintosh;
õðïëïãéóôÞ ðïõ âáóßæåôáé óå &intel; áñ÷éôåêôïíéêÞ.</para>
</listitem>
<listitem>
<para>Ðùò íá âåëôéóôïðïéÞóåôå Ýíá &os; óýóôçìá ãéá ôçí êáëýôåñç
áðüäïóç óå ðåñéâÜëëïí åéêïíéêïý ìç÷áíÞìáôïò.</para>
</listitem>
</itemizedlist>
<para>Ðñéí äéáâÜóåôå áõôü ôï êåöÜëáéï, èá ðñÝðåé:</para>
<itemizedlist>
<listitem>
<para>Íá êáôáíïåßôå ôéò âáóéêÝò Ýííïéåò ôïõ &unix; êáé ôïõ &os; (<xref
linkend="basics">).</para>
</listitem>
<listitem><para>Íá ãíùñßæåôå ðùò èá åãêáôáóôÞóåôå ôï &os; (<xref
linkend="install">).</para></listitem>
<listitem><para>Íá ãíùñßæåôå ðùò èá ñõèìßóåôå ôç óýíäåóç óáò óôï äßêôõï
(<xref linkend="advanced-networking">).</para></listitem>
<listitem><para>Íá ãíùñßæåôå ðùò íá åãêáôáóôÞóåôå ðñüóèåôï ëïãéóìéêü
ôñßôïõ êáôáóêåõáóôÞ (<xref linkend="ports">).</para></listitem>
</itemizedlist>
</sect1>
<sect1 id="virtualization-guest">
<title>FreeBSD as a Guest OS</title>
<sect2 id="virtualization-guest-parallels">
<title>Parallels on MacOS</title>
<para><application>Parallels Desktop</application> for &mac; is a
commercial software product available for &intel; based &apple;
&mac; computers running &macos; 10.4.6 or higher. FreeBSD is a
fully supported guest operating system.
Once <application>Parallels</application> has been installed on &macos;
X, the user must configure a virtual machine and then install
the desired guest operating system.</para>
<sect3 id="virtualization-guest-parallels-install">
<title>Installing FreeBSD on Parallels/&macos; X</title>
<para>The first step in installing FreeBSD on &macos;
X/<application>Parallels</application> is to create a new virtual
machine for installing FreeBSD. Select <guimenuitem>FreeBSD</guimenuitem>
as the <guimenu>Guest OS Type</guimenu> when prompted:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd1">
</imageobject>
</mediaobject>
<para>And choose a reasonable amount of disk and
memory depending on your plans for this virtual FreeBSD
instance. 4GB and 512MB of RAM work well for most uses of
FreeBSD under <application>Parallels</application>:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd2">
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd3">
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd4">
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd5">
</imageobject>
</mediaobject>
<para>Select the type of networking and a network
interface:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd6">
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd7">
</imageobject>
</mediaobject>
<para>Save and finish the configuration:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd8">
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd9">
</imageobject>
</mediaobject>
<para>After your FreeBSD virtual machine has been created,
you will need to install FreeBSD on it. This is best done
with an official FreeBSD CDROM or with an ISO image
downloaded from an official FTP site. When you have the
appropriate ISO image on your local &mac; filesystem or a
CDROM in your &mac;'s CD drive, click on the disc icon in the
bottom right corner of your FreeBSD
<application>Parallels</application> window. This
will bring up a window that allows you to associate the
CDROM drive in your virtual machine with an ISO file on
disk or with your real CDROM drive.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd11">
</imageobject>
</mediaobject>
<para>Once you have made this association with your CDROM
source, reboot your FreeBSD virtual machine as normal by
clicking the reboot icon.
<application>Parallels</application> will reboot with a
special BIOS that first checks if you have a CDROM just as a
normal BIOS would do.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd10">
</imageobject>
</mediaobject>
<para>In this case it will find the FreeBSD installation media
and begin a normal <application>sysinstall</application> based
installation as described in <xref linkend="install">. You
may install, but do not attempt to configure X11 at
this time.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd12">
</imageobject>
</mediaobject>
<para>When you have finished the installation, reboot
into your newly installed FreeBSD virtual machine.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd13">
</imageobject>
</mediaobject>
</sect3>
<sect3 id="virtualization-guest-parallels-configure">
<title>Configuring FreeBSD on &macos; X/Parallels</title>
<para>After FreeBSD has been successfully installed on &macos;
X with <application>Parallels</application>, there are a number
of configuration steps that can be taken to optimize the system
for virtualized operation.</para>
<procedure>
<step>
<title>Set boot loader variables</title>
<para>The most important step is to reduce the
<option>kern.hz</option> tunable to reduce the CPU utilization
of FreeBSD under the <application>Parallels</application>
environment. This is accomplished by adding the following
line to <filename>/boot/loader.conf</filename>:</para>
<programlisting>kern.hz=100</programlisting>
<para>Without this setting, an idle FreeBSD
<application>Parallels</application> guest
OS will use roughly 15% of the CPU of a single
processor &imac;. After this change the usage will be
closer to a mere 5%.</para>
</step>
<step>
<title>Create a new kernel configuration file</title>
<para>You can remove all of the SCSI, FireWire, and USB
device drivers. <application>Parallels</application>
provides a virtual network
adapter used by the &man.ed.4; driver, so
all other network devices except for
&man.ed.4; and &man.miibus.4; can be
removed from the kernel.</para>
</step>
<step>
<title>Setup networking</title>
<para>The most basic networking setup involves simply
using DHCP to connect your virtual machine to the same
local area network as your host &mac;. This can be
accomplished by adding
<literal>ifconfig_ed0="DHCP"</literal> to
<filename>/etc/rc.conf</filename>. More advanced
networking setups are described in <xref
linkend="advanced-networking">.</para>
</step>
</procedure>
</sect3>
</sect2>
<sect2 id="virtualization-guest-xen">
<sect2info>
<authorgroup>
<author>
<firstname>Fukang</firstname>
<surname>Chen (Loader)</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
<!-- Mar/Apr 2007 -->
</sect2info>
<title>FreeBSD with &xen; on Linux</title>
<para>The <application>&xen;</application> hypervisor is an open
source paravirtualization product which is now supported by the
commercial XenSource company. Guest operating systems are known
as domU domains, and the host operating system is known as dom0.
The first step in running a virtual FreeBSD instance under Linux
is to install <application>&xen;</application> for Linux dom0.
The host operating system will be a Slackware Linux
distribution.</para>
<sect3 id="xen-slackware-dom0">
<title>Setup &xen; 3 on Linux dom0</title>
<procedure>
<step>
<title>Download &xen; 3.0 from XenSource</title>
<para>Download <ulink
url="http://bits.xensource.com/oss-xen/release/3.0.4-1/src.tgz/xen-3.0.4_1-src.tgz">xen-3.0.4_1-src.tgz</ulink>
from <ulink url="http://www.xensource.com/"></ulink>.</para>
</step>
<step>
<title>Unpack the tarball</title>
<screen>&prompt.root; <userinput>cd xen-3.0.4_1-src</userinput>
&prompt.root; <userinput>KERNELS="linux-2.6-xen0 linux-2.6-xenU" make world</userinput>
&prompt.root; <userinput>make install</userinput></screen>
<note>
<para>To re-compile the kernel for dom0:</para>
<screen>&prompt.root; <userinput>cd xen-3.0.4_1-src/linux-2.6.16.33-xen0</userinput>
&prompt.root; <userinput>make menuconfig</userinput>
&prompt.root; <userinput>make</userinput>
&prompt.root; <userinput>make install</userinput></screen>
<para>Older version of <application>&xen;</application> may need to specify
<command>make ARCH=xen menuconfig</command></para>
</note>
</step>
<step>
<title>Add a menu entry into Grub menu.lst</title>
<para>Edit <filename>/boot/grub/menu.lst</filename> and
add the following lines:</para>
<programlisting>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</programlisting>
</step>
<step>
<title>Reboot your computer into &xen;</title>
<para>First, edit
<filename>/etc/xen/xend-config.sxp</filename>, and add
the following line:</para>
<programlisting>(network-script 'network-bridge netdev=eth0')</programlisting>
<para>Then, we can launch
<application>&xen;</application>:</para>
<screen>&prompt.root; <userinput>/etc/init.d/xend start</userinput>
&prompt.root; <userinput>/etc/init.d/xendomains start</userinput></screen>
<para>Our dom0 is running:</para>
<screen>&prompt.root; <userinput>xm list</userinput>
Name ID Mem VCPUs State Time(s)
Domain-0 0 256 1 r----- 54452.9</screen>
</step>
</procedure>
</sect3>
<sect3>
<title>FreeBSD 7-CURRENT domU</title>
<para>Download the FreeBSD domU kernel for <application>&xen; 3.0</application> and
disk image from <ulink
url="http://www.fsmware.com/">http://www.fsmware.com/</ulink></para>
<itemizedlist>
<listitem>
<para><ulink url="http://www.fsmware.com/xenofreebsd/7.0/download/kernel-current">kernel-current</ulink></para>
</listitem>
<listitem>
<para><ulink url="http://www.fsmware.com/xenofreebsd/7.0/download/mdroot-7.0.bz2">mdroot-7.0.bz2</ulink></para>
</listitem>
<listitem>
<para><ulink url="http://www.fsmware.com/xenofreebsd/7.0/download/config/xmexample1.bsd">xmexample1.bsd</ulink></para>
</listitem>
</itemizedlist>
<para>Put the configuration file <filename>xmexample1.bsd</filename>
into <filename>/etc/xen/</filename> and modify the related
entries about where the kernel and the disk image are stored.
It should look like the following:</para>
<programlisting>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"</programlisting>
<para>The <filename>mdroot-7.0.bz2</filename> file should be
uncompressed.</para>
<para>Next, the __xen_guest section in <filename>kernel-current</filename>
needs to be altered to add the VIRT_BASE that
<application>&xen; 3.0.3</application> requires:</para>
<screen>&prompt.root; <userinput>objcopy kernel-current -R __xen_guest</userinput>
&prompt.root; <userinput>perl -e 'print "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xC0000000\x00"' &gt; tmp</userinput>
&prompt.root; <userinput>objcopy kernel-current --add-section __xen_guest=tmp</userinput></screen>
<screen>&prompt.root; <userinput>objdump -j __xen_guest -s kernel-current</userinput>
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. </screen>
<para>We are, now, ready to create and launch our domU:</para>
<screen>&prompt.root; <userinput>xm create /etc/xen/xmexample1.bsd -c</userinput>
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&lt;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&gt;
Features2=0x4400&lt;CNTX-ID,&lt;b14&gt;&gt;
real memory = 265244672 (252 MB)
avail memory = 255963136 (244 MB)
xc0: &lt;Xen Console&gt; 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&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; 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: </screen>
<para>The domU should run the &os;&nbsp;7.0-CURRENT
kernel:</para>
<screen>&prompt.root; <userinput>uname -a</userinput>
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</screen>
<para>The network can now be configured on the domU. The &os;
domU will use a specific interface called
<devicename>xn0</devicename>:</para>
<screen>&prompt.root; <userinput>ifconfig xn0 10.10.10.200 netmask 255.0.0.0</userinput>
&prompt.root; <userinput>ifconfig</userinput>
xn0: flags=843&lt;UP,BROADCAST,RUNNING,SIMPLEX&gt; mtu 1500
inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255
ether 00:16:3e:6b:de:3a
lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000 </screen>
<para>On dom0 Slackware, some <application>&xen;</application>
dependant network interfaces should show up:</para>
<screen>&prompt.root; <userinput>ifconfig</userinput>
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)</screen>
<screen>&prompt.root; <userinput>brctl show</userinput>
bridge name bridge id STP enabled interfaces
xenbr1 8000.feffffffffff no vif0.1
peth0
vif1.0</screen>
</sect3>
</sect2>
<sect2 id="virtualization-guest-vmware">
<title>VMware on &windows;/&mac;/&linux;</title>
<para>This section has yet to be written.</para>
</sect2>
</sect1>
<sect1 id="virtualization-host">
<title>FreeBSD as a Host OS</title>
<para>FreeBSD is not officially supported by any virtualization
package as a host operating system at this time, but many people
use older versions of <application>VMware</application> in this capacity.
Work is also ongoing in getting <application>&xen;</application> to
work as a host environment on FreeBSD.</para>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,58 @@
<!--
Ïñéóìïß áðü entities ðïõ åßíáé ÷ñÞóéìïé óå üëá ôá âéâëßá ôïõ êáôáëüãïõ
doc/el_GR.ISO8859-7/...
Original revision: 1.2
$FreeBSD$
-->
<!ENTITY % l10n PUBLIC "-//FreeBSD//ENTITIES DocBook Language Specific Entities//EN">
%l10n;
<!ENTITY % l10n-common PUBLIC "-//FreeBSD//ENTITIES DocBook Language Neutral Entities//EN">
%l10n-common;
<!ENTITY % bookinfo PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//EL">
%bookinfo;
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//EL">
%translators;
<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//EL">
%mailing-lists;
<!ENTITY % teams PUBLIC "-//FreeBSD//ENTITIES DocBook Team Entities//EL">
%teams;
<!ENTITY % newsgroups PUBLIC "-//FreeBSD//ENTITIES DocBook Newsgroup Entities//EL">
%newsgroups;
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % bookinfo PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//EL">
%bookinfo;
<!-- Ç óåéñÜ ôùí %freebsd; êáé %freebsd.el; åßíáé óçìáíôéêÞ.
Ðñþôá áöÞíïõìå ôçí ÁããëéêÞ Ýêäïóç íá ïñßóåé üôé ÷ñåéÜæåôáé êáé ÌÏÍÏ
ÌÅÔÁ êÜíïõìå åìåßò override êÜðïéá entities (ü÷é üëá) ìå ôçí
áíôßóôïé÷ç ÅëëçíéêÞ Ýêäïóç. -->
<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
%freebsd;
<!ENTITY % freebsd.el PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EL">
%freebsd.el;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % teams PUBLIC "-//FreeBSD//ENTITIES DocBook Team Entities//EL">
%teams;
<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//EL">
%mailing-lists;
<!ENTITY % newsgroups PUBLIC "-//FreeBSD//ENTITIES DocBook Newsgroup Entities//EL">
%newsgroups;
<!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EL">
%trademarks;
<!-- Ç óåéñÜ ôùí %urls; êáé %urls.el; åßíáé óçìáíôéêÞ.
Ðñþôá áöÞíïõìå ôçí ÁããëéêÞ Ýêäïóç íá ïñßóåé üôé ÷ñåéÜæåôáé êáé ÌÏÍÏ
ÌÅÔÁ êÜíïõìå åìåßò override êÜðïéá entities (ü÷é üëá) ìå ôçí
áíôßóôïé÷ç ÅëëçíéêÞ Ýêäïóç. -->
<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
%urls;
<!ENTITY % urls.el PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EL">
%urls.el;

View file

@ -11,20 +11,38 @@
PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EL"
"articles.ent"
PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Books Entity Set//EL"
"books.ent"
PUBLIC "-//FreeBSD//DOCUMENT DocBook Stylesheet//EN"
"freebsd.dsl"
PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN"
"../../../share/sgml/freebsd.ent"
PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EL"
"freebsd.ent"
PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//EL"
"mailing-lists.ent"
PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//EL"
PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//EL"
"bookinfo.ent"
PUBLIC "-//FreeBSD//ENTITIES DocBook Newsgroup Entities//EL"
"newsgroups.ent"
PUBLIC "-//FreeBSD//ENTITIES DocBook Team Entities//EL"
"teams.ent"
PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EL"
"trademarks.ent"
PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//EL"
"translators.ent"
PUBLIC "-//FreeBSD//ENTITIES DocBook Language Specific Entities//EN"
"l10n.ent"
PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EL"
"urls.ent"

View file

@ -0,0 +1,23 @@
<!-- -*- sgml -*-
Διάφορα DocBook Entities για το FreeBSD Project.
$FreeBSD$
Αυτό το αρχείο είναι έγκυρο και ως XML και ως SGML. Σας παρακαλώ μη
χρησιμοποιείτε CDATA attributes ή οτιδήποτε άλλο μπορεί να εμποδίσει
τη χρήση του σε οποιοδήποτε από τα δύο περιβάλλοντα.
-->
<!-- Παρακάτω ορίζονται ΜΟΝΟ τα entities που χρειάζονται οπωσδήποτε ως
αντικατάσταση των αντίστοιχων Αγγλικών entities (π.χ. επειδή το κείμενό
τους πρέπει να μεταφραστεί στα Ελληνικά).
Αν δεν υπάρχει κάποιος ΚΑΛΟΣ λόγος, μην αντιγράφετε τυφλά σε αυτό το
αρχείο όλα τα entities της Αγγλικής έκδοσης του 'freebsd.ent' -->
<!-- Η ημερομηνία της τελευταίας επίσημης έκδοσης -->
<!ENTITY rel.current.date "Ιαν 2007">
<!-- Entities για διάφορες επίσημες εκδόσεις -->
<!ENTITY rel2.current.date "Μαϊ 2006">

View file

@ -23,7 +23,7 @@
Group (CSRG) στο
<ulink url="http://www.berkeley.edu">Πανεπιστήμιο της
Καλιφόρνια στο Berkeley</ulink> στις βελτιώσεις και μεταβολές
που έκανε στο &unix; 32V της A&&smp;T. Το &os; είναι ένας
που έκανε στο &unix; 32V της A&amp;T. Το &os; είναι ένας
απόγονος της δουλειάς του CSRG.</para>
</glossdef>
</glossentry>

View file

@ -1,4 +1,11 @@
<!-- $FreeBSD$ -->
<!-- docformat navi -->
<!ENTITY docnavi.single-html "HTML óå Ýíá ôìÞìá">
<!ENTITY docnavi.split-html "HTML óå ôìÞìáôá">
<!ENTITY doc.langcode.el "el_GR.ISO8859-7">
<!ENTITY doc.langcode "&doc.langcode.el;">
<!-- charset for HTML output -->
<!ENTITY doc.html.charset "iso-8859-7">

View file

@ -39,6 +39,10 @@
<!ENTITY a.announce "<ulink url='&a.announce.url;'>çëåêôñïíéêÞ ëßóôá áíáêïéíþóåùí ôïõ FreeBSD</ulink>">
<!ENTITY a.announce.name "<ulink url='&a.announce.url;'>freebsd-announce</ulink>">
<!ENTITY a.apache.url "&a.mailman.listinfo;/freebsd-apache">
<!ENTITY a.apache "<ulink url='&a.apache.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôï Apache</ulink>">
<!ENTITY a.apache.name "<ulink url='&a.apache.url;'>freebsd-apache</ulink>">
<!ENTITY a.arch.url "&a.mailman.listinfo;/freebsd-arch">
<!ENTITY a.arch "<ulink url='&a.arch.url;'>çëåêôñïíéêÞ ëßóôá áñ÷éôåêôïíéêÞò êáé ó÷åäéáóìïý ôïõ FreeBSD</ulink>">
<!ENTITY a.arch.name "<ulink url='&a.arch.url;'>freebsd-arch</ulink>">
@ -59,6 +63,10 @@
<!ENTITY a.binup "<ulink url='&a.binup.url;'>çëåêôñïíéêÞ ëßóôá áíáâÜèìéóçò ôïõ FreeBSD ìå åêôåëÝóéìá áñ÷åßá</ulink>">
<!ENTITY a.binup.name "<ulink url='&a.binup.url;'>freebsd-binup</ulink>">
<!ENTITY a.bluetooth.url "&a.mailman.listinfo;/freebsd-bluetooth">
<!ENTITY a.bluetooth "<ulink url='&a.bluetooth.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá Bluetooth</ulink>">
<!ENTITY a.bluetooth.name "<ulink url='&a.bluetooth.url;'>freebsd-bluetooth</ulink>">
<!ENTITY a.bugbusters.url "&a.mailman.listinfo;/freebsd-bugbusters">
<!ENTITY a.bugbusters "<ulink url='&a.bugbusters.url;'>çëåêôñïíéêÞ ëßóôá ôçò ïìÜäáò bugbusters ôïõ FreeBSD</ulink>">
<!ENTITY a.bugbusters.name "<ulink url='&a.bugbusters.url;'>freebsd-bugbusters</ulink>">
@ -78,13 +86,8 @@
<!ENTITY a.committers "çëåêôñïíéêÞ ëßóôá ôùí committers ôïõ FreeBSD">
<!ENTITY a.committers.name "cvs-committers">
<!ENTITY a.config.url "&a.mailman.listinfo;/freebsd-config">
<!ENTITY a.config "<ulink url='&a.config.url;'>çëåêôñïíéêÞ ëßóôá åñãáëåßùí åãêáôÜóôáóçò êáé ñýèìéóçò ôïõ FreeBSD</ulink>">
<!ENTITY a.config.name "<ulink url='&a.config.url;'>freebsd-config</ulink>">
<!ENTITY a.core "ïìÜäá core ôïõ FreeBSD">
<!ENTITY a.core.name
"freebsd-core">
<!ENTITY a.core.name "freebsd-core">
<!ENTITY a.current.url "&a.mailman.listinfo;/freebsd-current">
<!ENTITY a.current "<ulink url='&a.current.url;'>çëåêôñïíéêÞ ëßóôá ôçò Ýêäïóçò &os.current;</ulink>">
@ -151,10 +154,26 @@
<!ENTITY a.doc-developers "çëåêôñïíéêÞ ëßóôá ôçò ïìÜäáò ôåêìçñßùóçò ôïõ FreeBSD">
<!ENTITY a.doc-developers.name "doc-developers">
<!ENTITY a.drivers.url "&a.mailman.listinfo;/freebsd-drivers">
<!ENTITY a.drivers "<ulink url='&a.drivers.url;'>çëåêôñïíéêÞ ëßóôá ãéá ôçí áíÜðôõîç ïäçãþí óõóêåõþí ôïõ FreeBSD</ulink>">
<!ENTITY a.drivers.name "<ulink url='&a.drivers.url;'>freebsd-drivers</ulink>">
<!ENTITY a.eclipse.url "&a.mailman.listinfo;/freebsd-eclipse">
<!ENTITY a.eclipse "<ulink url='&a.eclipse.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôïõò ÷ñÞóôåò ôïõ Eclipse IDE</ulink>">
<!ENTITY a.eclipse.name "<ulink url='&a.eclipse.url;'>freebsd-eclipse</ulink>">
<!ENTITY a.embedded.url "&a.mailman.listinfo;/freebsd-embedded">
<!ENTITY a.embedded "<ulink url='&a.embedded.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôéò embedded ðëáôöüñìåò</ulink>">
<!ENTITY a.embedded.name "<ulink url='&a.embedded.url;'>freebsd-embedded</ulink>">
<!ENTITY a.emulation.url "&a.mailman.listinfo;/freebsd-emulation">
<!ENTITY a.emulation "<ulink url='&a.emulation.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá åîïìïßùóç-åîïìïéùôÝò</ulink>">
<!ENTITY a.emulation.name "<ulink url='&a.emulation.url;'>freebsd-emulation</ulink>">
<!ENTITY a.eol.url "&a.mailman.listinfo;/freebsd-eol">
<!ENTITY a.eol "<ulink url='&a.eol.url;'>çëåêôñïíéêÞ ëßóôá FreeBSD-eol</ulink>">
<!ENTITY a.eol.name "<ulink url='&a.eol.url;'>freebsd-eol</ulink>">
<!ENTITY a.firewire.url "&a.mailman.listinfo;/freebsd-firewire">
<!ENTITY a.firewire "<ulink url='&a.firewire.url;'>çëåêôñïíéêÞ ëßóôá óõæçôÞóåùí ãéá FireWire (IEEE 1394) ôïõ FreeBSD</ulink>">
<!ENTITY a.firewire.name "<ulink url='&a.firewire.url;'>freebsd-firewire</ulink>">
@ -211,6 +230,10 @@
<!ENTITY a.isp "<ulink url='&a.isp.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôïõò ðáñï÷åßò õðçñåóéþí Internet</ulink>">
<!ENTITY a.isp.name "<ulink url='&a.isp.url;'>freebsd-isp</ulink>">
<!ENTITY a.jail.url "&a.mailman.listinfo;/freebsd-jail">
<!ENTITY a.jail "<ulink url='&a.jail.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôá jails</ulink>">
<!ENTITY a.jail.name "<ulink url='&a.jail.url;'>freebsd-jail</ulink>">
<!ENTITY a.java.url "&a.mailman.listinfo;/freebsd-java">
<!ENTITY a.java "<ulink url='&a.java.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôç ãëþóóá Java</ulink>">
<!ENTITY a.java.name "<ulink url='&a.java.url;'>freebsd-java</ulink>">
@ -275,6 +298,10 @@
<!ENTITY a.perl "<ulink url='&a.perl.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôç ãëþóóá Perl</ulink>">
<!ENTITY a.perl.name "<ulink url='&a.perl.url;'>freebsd-perl</ulink>">
<!ENTITY a.pf.url "&a.mailman.listinfo;/freebsd-pf">
<!ENTITY a.pf "<ulink url='&a.pf.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôï packet filter firewall</ulink>">
<!ENTITY a.pf.name "<ulink url='&a.pf.url;'>freebsd-pf</ulink>">
<!ENTITY a.platforms.url "&a.mailman.listinfo;/freebsd-platforms">
<!ENTITY a.platforms "<ulink url='&a.platforms.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôéò ìç-Intel ðëáôöüñìåò</ulink>">
<!ENTITY a.platforms.name "<ulink url='&a.platforms.url;'>freebsd-platforms</ulink>">
@ -301,6 +328,14 @@
<!ENTITY a.ppc "<ulink url='&a.ppc.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôçí ðëáôöüñìá PowerPC</ulink>">
<!ENTITY a.ppc.name "<ulink url='&a.ppc.url;'>freebsd-ppc</ulink>">
<!ENTITY a.proliant.url "&a.mailman.listinfo;/freebsd-proliant">
<!ENTITY a.proliant "<ulink url='&a.proliant.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôéò ðëáôöüñìåò åîõðçñåôçôþí HP ProLiant</ulink>">
<!ENTITY a.proliant.name "<ulink url='&a.proliant.url;'>freebsd-proliant</ulink>">
<!ENTITY a.python.url "&a.mailman.listinfo;/freebsd-python">
<!ENTITY a.python "<ulink url='&a.python.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôç ãëþóóá Python</ulink>">
<!ENTITY a.python.name "<ulink url='&a.python.url;'>freebsd-python</ulink>">
<!ENTITY a.qa.url "&a.mailman.listinfo;/freebsd-qa">
<!ENTITY a.qa "<ulink url='&a.qa.url;'>çëåêôñïíéêÞ ëßóôá ÅëÝã÷ïõ êáé ÅîáóöÜëéóçò Ðïéüôçôáò ôïõ FreeBSD</ulink>">
<!ENTITY a.qa.name "<ulink url='&a.qa.url;'>freebsd-qa</ulink>">
@ -309,6 +344,10 @@
<!ENTITY a.questions "<ulink url='&a.questions.url;'>çëåêôñïíéêÞ ëßóôá ãåíéêþí åñùôÞóåùí ôïõ FreeBSD</ulink>">
<!ENTITY a.questions.name "<ulink url='&a.questions.url;'>freebsd-questions</ulink>">
<!ENTITY a.rc.url "&a.mailman.listinfo;/freebsd-rc">
<!ENTITY a.rc "<ulink url='&a.rc.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôï óýóôçìá ôùí boot script</ulink>">
<!ENTITY a.rc.name "<ulink url='&a.rc.url;'>freebsd-rc</ulink>">
<!ENTITY a.realtime.url "&a.mailman.listinfo;/freebsd-realtime">
<!ENTITY a.realtime "<ulink url='&a.realtime.url;'>çëåêôñïíéêÞ ëßóôá åðåêôÜóåùí ðñáãìáôéêïý-÷ñüíïõ ôïõ FreeBSD</ulink>">
<!ENTITY a.realtime.name "<ulink url='&a.realtime.url;'>freebsd-realtime</ulink>">
@ -351,6 +390,10 @@
<!ENTITY a.standards "<ulink url='&a.standards.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôç óõìâáôüôçôá ìå ôá ðñüôõðá C99 êáé POSIX</ulink>">
<!ENTITY a.standards.name "<ulink url='&a.standards.url;'>freebsd-standards</ulink>">
<!ENTITY a.sun4v.url "&a.mailman.listinfo;/freebsd-sun4v">
<!ENTITY a.sun4v "<ulink url='&a.sun4v.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôçí ðëáôöüñìá sun4v</ulink>">
<!ENTITY a.sun4v.name "<ulink url='&a.sun4v.url;'>freebsd-sun4v</ulink>">
<!ENTITY a.test.url "&a.mailman.listinfo;/freebsd-test">
<!ENTITY a.test "<ulink url='&a.test.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá äïêéìáóôéêÜ ìçíýìáôá</ulink>">
<!ENTITY a.test.name "<ulink url='&a.test.url;'>freebsd-test</ulink>">
@ -367,6 +410,10 @@
<!ENTITY a.tokenring "<ulink url='&a.tokenring.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôï õðïóýóôçìá tokenring</ulink>">
<!ENTITY a.tokenring.name "<ulink url='&a.tokenring.url;'>freebsd-tokenring</ulink>">
<!ENTITY a.usb.url "&a.mailman.listinfo;/freebsd-usb">
<!ENTITY a.usb "<ulink url='&a.usb.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôç äéáóýíäåóç ìå óõóêåõÝò USB</ulink>">
<!ENTITY a.usb.name "<ulink url='&a.usb.url;'>freebsd-usb</ulink>">
<!ENTITY a.usergroups.url "&a.mailman.listinfo;/freebsd-user-groups">
<!ENTITY a.usergroups "<ulink url='&a.usergroups.url;'>çëåêôñïíéêÞ ëßóôá ïñãÜíùóçò ôùí ïìÜäùí ÷ñçóôþí ôïõ FreeBSD</ulink>">
<!ENTITY a.usergroups.name "<ulink url='&a.usergroups.url;'>freebsd-user-groups</ulink>">
@ -375,6 +422,10 @@
<!ENTITY a.vendors "<ulink url='&a.vendors.url;'>çëåêôñïíéêÞ ëßóôá ðñïóõííåíüçóçò ôùí ðñïìçèåõôþí ôïõ FreeBSD</ulink>">
<!ENTITY a.vendors.name "<ulink url='&a.vendors.url;'>freebsd-vendors</ulink>">
<!ENTITY a.vuxml.url "&a.mailman.listinfo;/freebsd-vuxml">
<!ENTITY a.vuxml "<unlink url='&a.vuxml.url;'>çëåêôñïíéêÞ ëßóôá ãéá ôçí ðëáôöüñìá VuXML</ulink>">
<!ENTITY a.vuxml.name "<ulink url='&a.vuxml.url;'>freebsd-vuxml</ulink>">
<!ENTITY a.www.url "&a.mailman.listinfo;/freebsd-www">
<!ENTITY a.www "<ulink url='&a.www.url;'>çëåêôñïíéêÞ ëßóôá ôïõ Webmaster ôïõ FreeBSD</ulink>">
<!ENTITY a.www.name "<ulink url='&a.www.url;'>freebsd-www</ulink>">
@ -383,4 +434,9 @@
<!ENTITY a.x11 "<ulink url='&a.x11.url;'>çëåêôñïíéêÞ ëßóôá ôïõ FreeBSD ãéá ôï ãñáöéêü ðåñéâÜëëïí X11</ulink>">
<!ENTITY a.x11.name "<ulink url='&a.x11.url;'>freebsd-x11</ulink>">
<!-- Ôá ðáñáêÜôù entities äåí åßíáé ðñáãìáôéêÝò mailing lists -->
<!ENTITY a.bugfollowup "<email>bug-followup@FreeBSD.org</email>">
<!ENTITY a.bugsubmit "&a.bugfollowup;">
<!ENTITY a.majordomo "<email>majordomo@FreeBSD.org</email>">

View file

@ -0,0 +1,10 @@
<!--
Ονόματα Ομάδων Συζητήσεων για το FreeBSD
Original revision: 1.2
$FreeBSD$
-->
<!ENTITY ng.misc "ομάδα συζητήσεων
<ulink url='news:comp.unix.bsd.freebsd.misc'>comp.unix.bsd.freebsd.misc</ulink>">

View file

@ -16,14 +16,20 @@
ευκαιρία να σας κάνω ρόμπα δημοσίως.
$FreeBSD$
Original version: 1.12
Original version: 1.18
-->
<!ENTITY a.admins "Διαχειριστές Συστημάτων του FreeBSD <email>admins@FreeBSD.org</email>">
<!ENTITY a.core-secretary "ÃñáììáôÝáò ôçò ÊåíôñéêÞò ÏìÜäáò <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.bugmeister "Äéá÷åéñéóôÝò ôçò ÂÜóçò Áíáöïñþí ÐñïâëçìÜôùí <email>bugmeister@FreeBSD.org</email>">
<!ENTITY a.cvs "Äéá÷åéñéóôÝò ôïõ CVS <email>cvs@FreeBSD.org</email>">
<!ENTITY a.core-secretary "ÃñáììáôÝáò ôçò ÏìÜäáò Core <email>core-secretary@FreeBSD.org</email>">
<!ENTITY a.cvsadm "Äéá÷åéñéóôÝò ôïõ CVS Repository <email>cvsadm@FreeBSD.org</email>">
<!ENTITY a.cvsup-master "ÓõíôïíéóôÞò Åîõðçñåôçôþí CVSup <email>cvs@FreeBSD.org</email>">
<!ENTITY a.dcvs "Äéá÷åéñéóôÝò ôïõ CVS doc Repository <email>dcvs@FreeBSD.org</email>">
<!ENTITY a.cvsup-master "Συντονιστής Εξυπηρετητών CVSup <email>cvs@FreeBSD.org</email>">
@ -37,10 +43,18 @@
<!ENTITY a.mirror-admin "Συντονιστής Εξυπηρετητών FTP/WWW <email>mirror-admin@FreeBSD.org</email>">
<!ENTITY a.ncvs "Äéá÷åéñéóôÝò ôïõ CVS src Repository <email>ncvs@FreeBSD.org</email>">
<!ENTITY a.perforce-admin "Äéá÷åéñéóôÝò ôïõ Perforce Repository <email>perforce-admin@FreeBSD.org</email>">
<!ENTITY a.pcvs "Äéá÷åéñéóôÝò ôïõ CVS ports Repository <email>pcvs@FreeBSD.org</email>">
<!ENTITY a.portmgr "Ομάδα Διαχείρισης των Ports <email>portmgr@FreeBSD.org</email>">
<!ENTITY a.portmgr-secretary "ÃñáììáôÝáò ÏìÜäáò Äéá÷åßñéóçò ôùí Ports <email>portmgr-secretary@FreeBSD.org</email>">
<!ENTITY a.projcvs "Äéá÷åéñéóôÝò ôïõ CVS Third-Party Projects Repository <email>projcvs@FreeBSD.org</email>">
<!ENTITY a.re "Ομάδα Οργάνωσης των Εκδόσεων <email>re@FreeBSD.org</email>">
<!ENTITY a.security-officer "Ομάδα Ασφάλειας <email>security-officer@FreeBSD.org</email>">
<!ENTITY a.www "ëßóôá çëåêôñïíéêïý ôá÷õäñïìåßïõ ôùí FreeBSD Webmasters <email>www@FreeBSD.org</email>">

View file

@ -8,7 +8,7 @@
Please keep this file sorted.
Original version: 1.19
Original version: 1.40
$FreeBSD$
-->
@ -46,14 +46,21 @@
<!ENTITY amd.athlon "<trademark>AMD&nbsp;Athlon</trademark>">
<!ENTITY amd.duron "<trademark>AMD&nbsp;Duron</trademark>">
<!ENTITY amd.k6 "<trademark class='registered'>AMD-K6</trademark>">
<!ENTITY amd.opteron "<trademark>AMD&nbsp;Operon</trademark>">
<!ENTITY amd.opteron "<trademark>AMD&nbsp;Opteron</trademark>">
<!ENTITY amd.sempron "<trademark>AMD&nbsp;Sempron</trademark>">
<!ENTITY amd.turion "<trademark>AMD&nbsp;Turion</trademark>">
<!ENTITY athlon "<trademark>Athlon</trademark>">
<!ENTITY elan "<trademark>&Eacute;lan</trademark>">
<!ENTITY opteron "<trademark>Opteron</trademark>">
<!ENTITY tm-attrib.apple "<para>Ïé ëÝîåéò Þ öñÜóåéò Apple, FireWire, Mac,
Macintosh, Mac OS, Quicktime, êáé TrueType åßíáé åìðïñéêÜ óýìâïëá ôçò Apple
Computer, Inc., êáôï÷õñùìÝíá óôéò ÇíùìÝíåò Ðïëéôåßåò êáé óå Üëëåò
÷þñåò.</para>">
<!ENTITY airport "<trademark class='registered'>AirPort</trademark>">
<!ENTITY apple "<trademark class='registered'>Apple</trademark>">
<!ENTITY firewire "<trademark class='registered'>FireWire</trademark>">
<!ENTITY imac "<trademark class='registered'>iMac</trademark>">
<!ENTITY mac "<trademark class='registered'>Mac</trademark>">
<!ENTITY macintosh "<trademark class='registered'>Macintosh</trademark>">
<!ENTITY macos "<trademark class='registered'>Mac&nbsp;OS</trademark>">
@ -106,9 +113,15 @@
<!ENTITY dell "<trademark>Dell</trademark>">
<!ENTITY poweredge "<trademark>PowerEdge</trademark>">
<!-- http://www.epson.com/cgi-bin/Store/AboutTrademarkInfo.jsp -->
<!ENTITY tm-attrib.epson "<para>Ïé ëÝîåéò Þ öñÜóåéò EPSON, EPSON Perfection
åßíáé êáôï÷õñùìÝíá åìðïñéêÜ óýìâïëá ôçò Seiko Epson Corporation.</para>">
<!ENTITY epson "<trademark class='registered'>EPSON</trademark>">
<!ENTITY epson.perfection "<trademark class='registered'>EPSON
Perfection</trademark>">
<!ENTITY tm-attrib.freebsd "<para>Ôï FreeBSD åßíáé Ýíá êáôï÷õñùìÝíï åìðïñéêü
óýìâïëï ôçò Wind River Systems, Inc. Áõôü åßíáé ðéèáíü íá áëëÜîåé
óýíôïìá.</para>">
óýìâïëï ôïõ FreeBSD Foundation.</para>">
<!-- http://www.heidelberg.com/hq/eng/small_print/trademarks.asp -->
<!ENTITY tm-attrib.heidelberger "<para>Ïé ëÝîåéò Þ öñÜóåéò Heidelberg,
@ -145,6 +158,7 @@
<!ENTITY intel "<trademark class='registered'>Intel</trademark>">
<!ENTITY itanium "<trademark class='registered'>Itanium</trademark>">
<!ENTITY pentium "<trademark class='registered'>Pentium</trademark>">
<!ENTITY core "<trademark>Core</trademark>">
<!ENTITY xeon "<trademark>Xeon</trademark>">
<!-- http://www.quicken.com/support/trademark/ -->
@ -163,11 +177,12 @@
åìðïñéêÜ óýìâïëá ôçò Lantronix Corporation.</para>">
<!ENTITY easyio "<trademark>EasyIO</trademark>">
<!-- http://www.linuxmark.org/ -->
<!ENTITY tm-attrib.linux "<para>Ôï Linux åßíáé Ýíá êáôï÷õñùìÝíá åìðïñéêü
óýìâïëï ôïõ Linus Torvalds óôéò ÇíùìÝíåò Ðïëéôåßåò.</para>">
<!ENTITY linux "<trademark class='registered'>Linux</trademark>">
<!-- http://www.lsilogic.com/trademrk.html -->
<!ENTITY tm-attrib.lsilogic "<para>Ïé ëÝîåéò LSI Logic, AcceleRAID,
eXtremeRAID, MegaRAID êáé Mylex åßíáé åìðïñéêÜ óýìâïëá Þ êáôï÷õñùìÝíá
åìðïñéêÜ óýìâïëá ôçò LSI Logic Corp.</para>">
@ -186,13 +201,16 @@
Outlook, Windows, Windows Media, êáé Windows NT åßíáé åßôå êáôï÷õñùìÝíá
åìðïñéêÜ óýìâïëá Þ åìðïñéêÜ óýìâïëá ôçò Microsoft Corporation óôéò ÇíùìÝíåò
Ðïëéôåßåò êáé/Þ óå Üëëåò ÷þñåò.</para>">
<!ENTITY intellimouse "<trademark class='registered'>IntelliMouse</trademark>">
<!ENTITY microsoft "<trademark class='registered'>Microsoft</trademark>">
<!ENTITY microsoft.windows "&microsoft;&nbsp;&windows;">
<!ENTITY ms-dos "<trademark class='registered'>MS-DOS</trademark>">
<!ENTITY outlook "<trademark class='registered'>Outlook</trademark>">
<!ENTITY windows "<trademark class='registered'>Windows</trademark>">
<!ENTITY windows.media "<trademark class='registered'>Windows Media</trademark>">
<!ENTITY windows2k "&windows;&nbsp;2000">
<!ENTITY windowsnt "<trademark class='registered'>Windows&nbsp;NT</trademark>">
<!ENTITY windowsxp "&windows;&nbsp;XP">
<!ENTITY tm-attrib.mips "<para>Ïé ëÝîåéò MIPS êáé R4000 åßíáé êáôï÷õñùìÝíá
åìðïñéêÜ óýìâïëá ôçò MIPS Technologies, Inc. óôéò ÇíùìÝíåò Ðïëéôåßåò êáé óå
@ -211,6 +229,10 @@
Pioneers, Ltd.</para>">
<!ENTITY diskonchip "<trademark class='registered'>DiskOnChip</trademark>">
<!-- http://www.netbsd.org/Misc/about.html, ack'd by http://www.uspto.gov/ -->
<!ENTITY tm-attrib.netbsd "<para>Ç ëÝîç NetBSD åßíáé Ýíá êáôï÷õñùìÝíï åìðïñéêü
óýìâïëï ôïõ NetBSD Foundation.</para>">
<!ENTITY tm-attrib.netscape "<para>Ïé ëÝîåéò Netscape êáé Netscape Navigator
åßíáé êáôï÷õñùìÝíá åìðïñéêÜ óýìâïëá ôçò Netscape Communications Corporation
óôéò Ç.Ð.Á êáé Üëëåò ÷þñåò.</para>">
@ -241,6 +263,9 @@
åìðïñéêü óýìâïëï ôçò Oracle Corporation.</para>">
<!ENTITY oracle "<trademark class='registered'>Oracle</trademark>">
<!ENTITY tm-attrib.parallels "<para>Ç ëÝîç Parallels åßíáé Ýíá êáôï÷õñùìÝíï
åìðïñéêü óýìâïëï ôçò Parallels Software International Inc.</para>">
<!-- http://www.powerquest.com/legal/ -->
<!ENTITY tm-attrib.powerquest "<para>Ïé ëÝîåéò PowerQuest êáé PartitionMagic
åßíáé êáôï÷õñùìÝíá åìðïñéêÜ óýìâïëá ôçò PowerQuest Corporation óôéò ÇíùìÝíåò
@ -275,6 +300,10 @@
ÇíùìÝíåò Ðïëéôåßåò êáé/Þ óå Üëëåò ÷þñåò óôïí êüóìï.</para>">
<!ENTITY opengl "<trademark class='registered'>OpenGL</trademark>">
<!-- http://slackware.com/trademark/trademark.php -->
<!ENTITY tm-attrib.slackware "<para>Ç ëÝîç Slackware åßíáé Ýíá êáôï÷õñùìÝíï
åìðïñéêü óýìâïëï ôïõ Patrick Volkerding êáé ôçò Slackware Linux, Inc.</para>">
<!ENTITY tm-attrib.sparc "<para>Ïé ëÝîåéò Þ öñÜóåéò Sparc, Sparc64,
SPARCEngine, êáé UltraSPARC åßíáé åìðïñéêÜ óýìâïëá ôçò SPARC International,
Inc. óôéò ÇíùìÝíåò Ðïëéôåßåò êáé óå Üëëåò ÷þñåò. Ôá ðñïúüíôá ðïõ öÝñïõí ôá
@ -285,6 +314,8 @@
<!ENTITY sparcengine "<trademark class='registered'>SPARCEngine</trademark>">
<!ENTITY ultrasparc "<trademark class='registered'>UltraSPARC</trademark>">
<!-- http://www.sun.com/suntrademarks/ -->
<!ENTITY tm-attrib.sun "<para>Ïé ëÝîåéò Þ öñÜóåéò Sun, Sun Microsystems, Java,
Java Virtual Machine, JavaServer Pages, JDK, JSP, JVM, Netra, Solaris,
StarOffice, Sun Blade, Sun Enterprise, Sun Fire, SunOS, êáé Ultra åßíáé
@ -294,6 +325,7 @@
<!ENTITY java.virtual.machine "<trademark>Java Virtual Machine</trademark>">
<!ENTITY javaserver.pages "<trademark>JavaServer Pages</trademark>">
<!ENTITY jdk "<trademark>JDK</trademark>">
<!ENTITY jre "<trademark>JRE</trademark>">
<!ENTITY jsp "<trademark>JSP</trademark>">
<!ENTITY jvm "<trademark>JVM</trademark>">
<!ENTITY netra "<trademark>Netra</trademark>">
@ -349,6 +381,11 @@
<!ENTITY tm-attrib.vmware "<para>Ç ëÝîç VMware åßíáé åìðïñéêü óýìâïëï ôçò
VMware, Inc.</para>">
<!-- http://www.xensource.com/xen-tm-faq.html -->
<!ENTITY tm-attrib.xen "<para>Ç ëÝîç Xen åßíáé Ýíá êáôï÷õñùìÝíï åìðïñéêü
óýìâïëï ôçò XenSource, Inc. sôéò ÇÐÁ êáé Üëëåò ÷þñåò.</para>">
<!ENTITY xen "<trademark>Xen</trademark>">
<!ENTITY tm-attrib.xfree86 "<para>Ç ëÝîç XFree86 åßíáé Ýíá åìðïñéêü óýìâïëï
ôïõ The XFree86 Project, Inc.</para>">
<!ENTITY xfree86 "<trademark>XFree86</trademark>">

View file

@ -0,0 +1,16 @@
<!--
The FreeBSD Documentation Project
The FreeBSD Greek Documentation Project
Ïíüìáôá êáé äéåõèýíóåéò çëåêôñïíéêÞò áëëçëïãñáößáò ôùí ìåëþí
ôçò ÅëëçíéêÞò ÏìÜäáò ÌåôÜöñáóçò.
$FreeBSD$
-->
<!ENTITY a.el.iordanou "Ãéþñãïò ÉïñäÜíïõ <email>george@iordanou.org</email>">
<!ENTITY a.el.keramida "Ãéþñãïò Êåñáìßäáò <email>keramida@FreeBSD.org</email>">
<!ENTITY a.el.kiagias "Ìáíþëçò ÊéáãéÜò <email>sonicy@otenet.gr</email>">
<!ENTITY a.el.kokkalis "Nikos Kokkalis <email>nickkokkalis@gmail.com</email>">
<!ENTITY a.el.tsampros "Ëåùíßäáò Ôóáìðñüò <email>ltsampros@upnet.gr</email>">
<!ENTITY a.el.typaldos "ÂáããÝëçò ÔõðÜëäïò <email>frances@mylannet.gr</email>">

View file

@ -0,0 +1,14 @@
<!--
Ελληνική Ομάδα Τεκμηρίωσης του FreeBSD
URLs που έχουν σχέση μόνο με την Ελληνική Τεκμηρίωση.
Σε αυτό το αρχείο ορίζονται ΜΟΝΟ τα εντελώς απαραίτητα URL entities για να
δουλεύει σωστά η Ελληνική μετάφραση της τεκμηρίωσης του FreeBSD.
Όσα entities είναι ήδη ορισμένα σωστά στην 'κοινή' λίστα από urls.ent στο
toplevel doc/share/sgml/... directory δεν χρειάζεται να ξαναοριστούν εδώ.
$FreeBSD$
-->
<!ENTITY doc.langcode.default "el_GR.ISO8859-7">